aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2017-10-21 17:04:34 +0900
committerKazuki Yamaguchi <k@rhe.jp>2017-10-21 17:04:34 +0900
commit5ac6ace581471dd0747aff57d976b993d43a6938 (patch)
tree8bccac26f75bbaa8552e7862562bcafb9b6615cc
parent6d21ef69a3420987d1f683128a59fd4c200fc1ed (diff)
downloadSmileEssence-5ac6ace581471dd0747aff57d976b993d43a6938.tar.gz
uauawip
-rw-r--r--app/build.gradle1
-rw-r--r--app/licenses.yml5
-rw-r--r--app/src/main/AndroidManifest.xml2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/ManagePagesActivity.kt2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/Partials.kt27
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/TweetRelativeLayout.kt52
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt3
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/page/ComposePageFragment.kt6
-rw-r--r--app/src/main/res/drawable/tweet_background.xml6
-rw-r--r--app/src/main/res/drawable/tweet_background_light.xml6
-rw-r--r--app/src/main/res/layout/dialog_send_message.xml10
-rw-r--r--app/src/main/res/layout/list_item_status.xml12
-rw-r--r--app/src/main/res/layout/page_fragment_compose.xml171
-rw-r--r--app/src/main/res/layout/page_fragment_list.xml72
-rw-r--r--app/src/main/res/layout/page_fragment_search.xml111
-rw-r--r--app/src/main/res/values/attrs.xml10
-rw-r--r--app/src/main/res/values/styles.xml24
18 files changed, 293 insertions, 229 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 0e9d112a..959809d7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -51,6 +51,7 @@ dependencies {
implementation 'com.android.support:palette-v7:26.1.0'
implementation 'com.android.support:support-v13:26.1.0'
implementation 'com.android.support:design:26.1.0'
+ implementation 'com.android.support.constraint:constraint-layout:1.0.2'
// Volley
implementation 'com.android.volley:volley:1.0.0@aar'
diff --git a/app/licenses.yml b/app/licenses.yml
index 394900a2..89518ec6 100644
--- a/app/licenses.yml
+++ b/app/licenses.yml
@@ -23,6 +23,11 @@
license: The Apache Software License, Version 2.0
licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
url: http://developer.android.com/tools/extras/support-library.html
+- artifact: com.android.support.constraint:+:+
+ name: ConstraintLayout
+ copyrightHolder: The Android Open Source Project
+ license: The Apache Software License, Version 2.0
+ licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt
- artifact: android.arch.core:+:+
name: Android Architecture Components
copyrightHolder: The Android Open Source Project
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 311fcf20..1e41fa5d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,7 +12,7 @@
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="false"
- android:theme="@style/theme_light">
+ android:theme="@style/AppTheme.Light">
<activity
android:name=".activity.ManageProfilesActivity"
android:configChanges="keyboardHidden|orientation"
diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt
index e0fcda19..aef46b64 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt
@@ -236,7 +236,7 @@ class MainActivity : AppCompatActivity() {
world.setMainActivity(this)
- setTheme(if (world.useDarkTheme) R.style.theme_dark else R.style.theme_light)
+ setTheme(if (world.useDarkTheme) R.style.AppTheme_Dark else R.style.AppTheme_Light)
setContentView(R.layout.layout_main)
setSupportActionBar(toolbar)
diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/ManagePagesActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/ManagePagesActivity.kt
index 21b6462e..75560f40 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/ManagePagesActivity.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/ManagePagesActivity.kt
@@ -24,7 +24,7 @@ class ManagePagesActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- setTheme(if (world.useDarkTheme) R.style.theme_dark else R.style.theme_light)
+ setTheme(if (world.useDarkTheme) R.style.AppTheme_Dark else R.style.AppTheme_Light)
setContentView(R.layout.activity_page_manage)
setSupportActionBar(toolbar)
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/Partials.kt b/app/src/main/java/net/lacolaco/smileessence/view/Partials.kt
index 2fd7b2a1..45e5b4f0 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/Partials.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/view/Partials.kt
@@ -28,7 +28,7 @@ object Partials {
DialogHelper.showDialog(activity, StatusDetailDialogFragment.newInstance(tweet))
}
- (view as ColoredRelativeLayout).setAccentVisibility(tweet.user === world.user)
+ //FIXME: (view as ColoredRelativeLayout).setAccentVisibility(tweet.user === world.user)
updateViewUser(tweet.originalTweet.user, activity, view)
updateViewBody(tweet, world, activity, view)
@@ -82,12 +82,9 @@ object Partials {
footerText += " (RT by ${tweet.user.screenName})"
view.textview_status_footer.text = footerText
- val typedView = view as ColoredRelativeLayout
- when {
- tweet.isRetweet -> typedView.setHighlight(2)
- tweet.mentions.contains(world.user.screenName) -> typedView.setHighlight(1)
- else -> typedView.setHighlight(0)
- }
+ (view as TweetRelativeLayout).isMention = tweet.mentions.contains(world.user.screenName)
+ view.isRetweet = tweet.isRetweet
+ view.isDirectMessage = false
}
private fun updateTweetReactionsViews(tweet: Tweet, world: World, view: View) {
@@ -123,9 +120,9 @@ object Partials {
view.imageview_status_retweeted.visibility = View.GONE
view.tweet_retweet_count.visibility = View.GONE
//view.textview_status_header.setTextColor(getStyledColor(activity, world, R.attr.color_message_text_header))
- view.setBackgroundColor(getStyledColor(activity, world, R.attr.color_message_bg_normal))
+ (view as TweetRelativeLayout).isDirectMessage = true
- (view as ColoredRelativeLayout).setAccentVisibility(directMessage.sender === world.user)
+ //FIXME: (view as ColoredRelativeLayout).setAccentVisibility(directMessage.sender === world.user)
updateViewUser(directMessage.sender, activity, view)
@@ -138,16 +135,4 @@ object Partials {
return view
}
-
- private fun getStyledColor(context: Context, world: World, resId: Int): Int {
- val themeresid = if (world.useDarkTheme) R.style.theme_dark else R.style.theme_light
- val array = context.obtainStyledAttributes(themeresid, arrayOf(resId).toIntArray())
- val color = array.getColor(0, 0)
- array.recycle()
- if (color == 0) {
- throw RuntimeException("[BUG] can't get styled color from attr ID: " + resId)
- } else {
- return color
- }
- }
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/TweetRelativeLayout.kt b/app/src/main/java/net/lacolaco/smileessence/view/TweetRelativeLayout.kt
new file mode 100644
index 00000000..5eab63a4
--- /dev/null
+++ b/app/src/main/java/net/lacolaco/smileessence/view/TweetRelativeLayout.kt
@@ -0,0 +1,52 @@
+package net.lacolaco.smileessence.view
+
+import android.annotation.TargetApi
+import android.content.Context
+import android.os.Build
+import android.util.AttributeSet
+import android.widget.RelativeLayout
+import net.lacolaco.smileessence.R
+
+class TweetRelativeLayout : RelativeLayout {
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) :
+ super(context, attrs, defStyleAttr, defStyleRes)
+
+ @JvmOverloads
+ constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) :
+ super(context, attrs, defStyleAttr)
+
+ var isDirectMessage = false
+ set(value) {
+ val current = field
+ field = value
+ if (current != value)
+ refreshDrawableState()
+ }
+ var isMention = false
+ set(value) {
+ val current = field
+ field = value
+ if (current != value)
+ refreshDrawableState()
+ }
+ var isRetweet = false
+ set(value) {
+ val current = field
+ field = value
+ if (current != value)
+ refreshDrawableState()
+ }
+
+ override fun onCreateDrawableState(extraSpace: Int): IntArray {
+ val add = mutableListOf<Int>()
+ if (isDirectMessage)
+ add += R.attr.state_tweet_direct_message
+ if (isRetweet)
+ add += R.attr.state_tweet_retweet
+ if (isMention)
+ add += R.attr.state_tweet_mention
+ val state = super.onCreateDrawableState(extraSpace + add.size)
+ return mergeDrawableStates(state, add.toIntArray())
+ }
+}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt
index c7c5dbd1..0d00bef7 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.kt
@@ -46,7 +46,8 @@ class StatusDetailDialogFragment : StackableDialogFragment() {
val statusHeader = Partials.getTweetView(tweet, world, activity, view.layout_status_header)
statusHeader.isClickable = false
- view.setBackgroundColor((statusHeader.background as ColorDrawable).color)
+ // XXX
+ view.background = statusHeader.background
view.button_status_detail_favorite.isActivated = tweet.isFavoritedBy(world.id)
view.button_status_detail_retweet.isActivated = tweet.isRetweetedBy(world.id)
updateViewButtons(view)
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/ComposePageFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/ComposePageFragment.kt
index e8a4e259..10f63566 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/page/ComposePageFragment.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/view/page/ComposePageFragment.kt
@@ -89,13 +89,15 @@ class ComposePageFragment : PageFragment<PageInfo.ComposePageInfo>(), TextWatche
}
if (postState.inReplyTo != null) {
- post_inreplyto_parent.visibility = View.VISIBLE
+ layout_post_reply_status.visibility = View.VISIBLE
+ button_post_reply_delete.visibility = View.VISIBLE
val header = Partials.getTweetView(postState.inReplyTo!!, world, activity,
layout_post_reply_status)
header.setBackgroundColor(ContextCompat.getColor(activity, R.color.transparent))
header.isClickable = false
} else {
- post_inreplyto_parent.visibility = View.GONE
+ layout_post_reply_status.visibility = View.GONE
+ button_post_reply_delete.visibility = View.GONE
}
if (TextUtils.isEmpty(postState.mediaFilePath)) {
post_media_parent.visibility = View.GONE
diff --git a/app/src/main/res/drawable/tweet_background.xml b/app/src/main/res/drawable/tweet_background.xml
new file mode 100644
index 00000000..93a8d884
--- /dev/null
+++ b/app/src/main/res/drawable/tweet_background.xml
@@ -0,0 +1,6 @@
+<selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
+ <item app:state_tweet_direct_message="true" android:drawable="@color/md_blue_grey_900" />
+ <item app:state_tweet_mention="true" android:drawable="@color/md_brown_850" />
+ <item app:state_tweet_retweet="true" android:drawable="@color/md_grey_850" />
+ <item android:drawable="@color/md_grey_900" />
+</selector>
diff --git a/app/src/main/res/drawable/tweet_background_light.xml b/app/src/main/res/drawable/tweet_background_light.xml
new file mode 100644
index 00000000..725e4620
--- /dev/null
+++ b/app/src/main/res/drawable/tweet_background_light.xml
@@ -0,0 +1,6 @@
+<selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
+ <item app:state_tweet_direct_message="true" android:drawable="@color/orange_light" />
+ <item app:state_tweet_mention="true" android:drawable="@color/light_red" />
+ <item app:state_tweet_retweet="true" android:drawable="@color/light_blue" />
+ <item android:drawable="@color/md_white_1000" />
+</selector>
diff --git a/app/src/main/res/layout/dialog_send_message.xml b/app/src/main/res/layout/dialog_send_message.xml
index 924fd695..20df5d99 100644
--- a/app/src/main/res/layout/dialog_send_message.xml
+++ b/app/src/main/res/layout/dialog_send_message.xml
@@ -68,9 +68,9 @@
</LinearLayout>
<Button
- android:id="@+id/button_send_message"
- android:layout_width="match_parent"
- android:layout_height="40dp"
- android:gravity="center"
- android:text="@string/post_button_send_message" />
+ android:id="@+id/button_send_message"
+ android:layout_width="match_parent"
+ android:layout_height="40dp"
+ android:gravity="center"
+ android:text="@string/post_button_send_message" />
</LinearLayout>
diff --git a/app/src/main/res/layout/list_item_status.xml b/app/src/main/res/layout/list_item_status.xml
index b5b5c0a2..33f41c7f 100644
--- a/app/src/main/res/layout/list_item_status.xml
+++ b/app/src/main/res/layout/list_item_status.xml
@@ -1,14 +1,12 @@
-<net.lacolaco.smileessence.view.ColoredRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<net.lacolaco.smileessence.view.TweetRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
+ android:background="?status_item_background"
android:foreground="?android:attr/selectableItemBackground"
- android:padding="5dp"
- app:accent_color="?attr/color_status_text_mine"
- app:highlight_none="?attr/color_status_bg_normal"
- app:highlight_type1="?attr/color_status_bg_mention"
- app:highlight_type2="?attr/color_status_bg_retweet">
+ android:padding="5dp">
+ <!-- app:accent_color="?attr/color_status_text_mine" -->
<com.android.volley.toolbox.NetworkImageView
android:id="@+id/imageview_status_icon"
@@ -99,4 +97,4 @@
android:layout_alignLeft="@id/textview_status_header"
android:layout_below="@id/textview_status_footer"
android:layout_marginTop="3dp" />
-</net.lacolaco.smileessence.view.ColoredRelativeLayout>
+</net.lacolaco.smileessence.view.TweetRelativeLayout>
diff --git a/app/src/main/res/layout/page_fragment_compose.xml b/app/src/main/res/layout/page_fragment_compose.xml
index 4cf4d8be..97f8c8e5 100644
--- a/app/src/main/res/layout/page_fragment_compose.xml
+++ b/app/src/main/res/layout/page_fragment_compose.xml
@@ -1,78 +1,83 @@
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:padding="15dp"
- android:scrollbars="vertical">
+ android:layout_height="match_parent">
- <FrameLayout
- android:id="@+id/post_inreplyto_parent"
- android:layout_width="match_parent"
+ <include
+ android:id="@+id/layout_post_reply_status"
+ layout="@layout/list_item_status"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginBottom="10dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
android:background="?colorBackgroundFloating"
- android:elevation="2dp">
-
- <include
- android:id="@+id/layout_post_reply_status"
- layout="@layout/list_item_status"
- android:layout_width="match_parent"
- android:layout_height="wrap_content" />
+ android:elevation="2dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
- <ImageButton
- android:id="@+id/button_post_reply_delete"
- android:layout_width="20dp"
- android:layout_height="20dp"
- android:layout_gravity="right|top"
- android:background="?selectableItemBackgroundBorderless"
- android:scaleType="fitCenter"
- android:src="@drawable/ic_clear_black_24dp"
- android:tint="?color_nonactivatable" />
- </FrameLayout>
+ <ImageButton
+ android:id="@+id/button_post_reply_delete"
+ android:layout_width="20dp"
+ android:layout_height="20dp"
+ android:background="?selectableItemBackgroundBorderless"
+ android:scaleType="fitCenter"
+ android:src="@drawable/ic_clear_black_24dp"
+ android:tint="?color_nonactivatable"
+ app:layout_constraintEnd_toEndOf="@+id/layout_post_reply_status"
+ app:layout_constraintTop_toTopOf="@+id/layout_post_reply_status" />
- <FrameLayout
- android:layout_width="match_parent"
+ <EditText
+ android:id="@+id/post_edit_text"
+ android:layout_width="0dp"
android:layout_height="0dp"
- android:layout_weight="1"
- android:baselineAligned="false"
- android:orientation="horizontal">
+ android:layout_marginBottom="8dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:gravity="top"
+ android:inputType="text|textMultiLine"
+ android:minHeight="60dp"
+ android:textAppearance="@style/TextAppearance.AppCompat.Large"
+ app:layout_constraintBottom_toTopOf="@+id/post_media_parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/layout_post_reply_status">
- <EditText
- android:id="@+id/post_edit_text"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:gravity="top"
- android:inputType="text|textMultiLine"
- android:minHeight="60dp"
- android:textAppearance="@style/TextAppearance.AppCompat.Large">
+ <requestFocus />
+ </EditText>
- <requestFocus />
- </EditText>
+ <ImageButton
+ android:id="@+id/button_post_delete"
+ android:layout_width="30dp"
+ android:layout_height="30dp"
+ android:background="?selectableItemBackgroundBorderless"
+ android:scaleType="fitCenter"
+ android:src="@drawable/ic_clear_black_24dp"
+ android:tint="?color_nonactivatable"
+ app:layout_constraintEnd_toEndOf="@id/post_edit_text"
+ app:layout_constraintTop_toTopOf="@id/post_edit_text" />
- <ImageButton
- android:id="@+id/button_post_delete"
- android:layout_width="30dp"
- android:layout_height="30dp"
- android:layout_gravity="right|top"
- android:background="?selectableItemBackgroundBorderless"
- android:scaleType="fitCenter"
- android:src="@drawable/ic_clear_black_24dp"
- android:tint="?color_nonactivatable" />
-
- <TextView
- android:id="@+id/post_text_count"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="right|bottom"
- android:layout_margin="10dp"
- android:text="000" />
- </FrameLayout>
+ <TextView
+ android:id="@+id/post_text_count"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="10dp"
+ android:text="000"
+ app:layout_constraintBottom_toBottomOf="@id/post_edit_text"
+ app:layout_constraintEnd_toEndOf="@id/post_edit_text" />
<LinearLayout
android:id="@+id/post_media_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="10dp">
+ android:layout_marginBottom="8dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginStart="8dp"
+ app:layout_constraintBottom_toTopOf="@+id/button_post_media"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent">
<ImageView
android:id="@+id/image_post_media"
@@ -84,33 +89,35 @@
android:id="@+id/button_post_media_delete"
android:layout_width="30dp"
android:layout_height="30dp"
- android:layout_marginLeft="10dp"
+ android:layout_marginStart="10dp"
android:background="?selectableItemBackgroundBorderless"
android:scaleType="fitStart"
android:src="@drawable/ic_clear_black_24dp"
android:tint="?color_nonactivatable" />
</LinearLayout>
- <LinearLayout
- android:layout_width="match_parent"
+ <ImageButton
+ android:id="@+id/button_post_media"
+ android:layout_width="40dp"
android:layout_height="40dp"
- android:layout_marginTop="10dp"
- android:alignmentMode="alignBounds"
- android:orientation="horizontal">
+ android:layout_marginBottom="8dp"
+ android:layout_marginStart="8dp"
+ android:background="?selectableItemBackgroundBorderless"
+ android:src="@drawable/ic_image_black_24dp"
+ android:tint="?color_nonactivatable"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
- <ImageButton
- android:id="@+id/button_post_media"
- android:layout_width="40dp"
- android:layout_height="match_parent"
- android:background="?selectableItemBackgroundBorderless"
- android:src="@drawable/ic_image_black_24dp"
- android:tint="?color_nonactivatable" />
-
- <Button
- android:id="@+id/button_post_tweet"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:gravity="center"
- android:text="@string/post_button_tweet" />
- </LinearLayout>
-</LinearLayout>
+ <Button
+ android:id="@+id/button_post_tweet"
+ android:layout_width="0dp"
+ android:layout_height="40dp"
+ android:layout_marginBottom="8dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginStart="8dp"
+ android:gravity="center"
+ android:text="@string/post_button_tweet"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/button_post_media" />
+</android.support.constraint.ConstraintLayout>
diff --git a/app/src/main/res/layout/page_fragment_list.xml b/app/src/main/res/layout/page_fragment_list.xml
index ea26f90a..35059b22 100644
--- a/app/src/main/res/layout/page_fragment_list.xml
+++ b/app/src/main/res/layout/page_fragment_list.xml
@@ -1,43 +1,43 @@
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
+ android:layout_height="match_parent">
- <RelativeLayout
- android:id="@+id/layout_search_config"
- android:layout_width="match_parent"
+ <ImageButton
+ android:id="@+id/button_userlist_lists"
+ android:layout_width="40dp"
android:layout_height="40dp"
- android:layout_marginBottom="5dp"
- android:layout_marginLeft="5dp"
- android:layout_marginRight="5dp"
- android:layout_marginTop="10dp">
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:background="?selectableItemBackgroundBorderless"
+ android:src="@drawable/ic_view_list_black_24dp"
+ android:tint="?color_nonactivatable"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
- <ImageButton
- android:id="@+id/button_userlist_lists"
- android:layout_width="40dp"
- android:layout_height="match_parent"
- android:layout_alignParentLeft="true"
- android:layout_gravity="fill"
- android:background="?selectableItemBackgroundBorderless"
- android:src="@drawable/ic_view_list_black_24dp"
- android:tint="?color_nonactivatable" />
-
- <TextView
- android:id="@+id/textview_userlist_name"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_alignParentRight="true"
- android:layout_toRightOf="@+id/button_userlist_lists"
- android:gravity="center_vertical"
- android:textAppearance="@android:style/TextAppearance.DeviceDefault" />
- </RelativeLayout>
+ <TextView
+ android:id="@+id/textview_userlist_name"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:gravity="center_vertical"
+ app:layout_constraintBottom_toBottomOf="@+id/button_userlist_lists"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/button_userlist_lists"
+ app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="?attr/color_list_divider"
- android:paddingBottom="2dp"
- android:paddingTop="2dp" />
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_marginTop="8dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintHorizontal_bias="0.603"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/button_userlist_lists">
- <include layout="@layout/page_fragment_refreshable_timeline" />
-</LinearLayout>
+ <include layout="@layout/page_fragment_refreshable_timeline" />
+ </FrameLayout>
+</android.support.constraint.ConstraintLayout>
diff --git a/app/src/main/res/layout/page_fragment_search.xml b/app/src/main/res/layout/page_fragment_search.xml
index e5cac1d7..b4dd128b 100644
--- a/app/src/main/res/layout/page_fragment_search.xml
+++ b/app/src/main/res/layout/page_fragment_search.xml
@@ -1,63 +1,66 @@
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
+ android:layout_height="match_parent">
- <RelativeLayout
- android:id="@+id/layout_search_config"
- android:layout_width="match_parent"
+ <ImageButton
+ android:id="@+id/button_search_queries"
+ android:layout_width="40dp"
android:layout_height="40dp"
- android:layout_marginBottom="5dp"
- android:layout_marginLeft="5dp"
- android:layout_marginRight="5dp"
- android:layout_marginTop="10dp">
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:background="?selectableItemBackgroundBorderless"
+ android:src="@drawable/ic_view_list_black_24dp"
+ android:tint="?color_nonactivatable"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
- <ImageButton
- android:id="@+id/button_search_queries"
- android:layout_width="40dp"
- android:layout_height="match_parent"
- android:layout_alignParentLeft="true"
- android:layout_gravity="fill"
- android:background="?selectableItemBackgroundBorderless"
- android:src="@drawable/ic_view_list_black_24dp"
- android:tint="?color_nonactivatable" />
-
- <EditText
- android:id="@+id/edittext_search"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:layout_toLeftOf="@+id/button_search_execute"
- android:layout_toRightOf="@+id/button_search_queries"
- android:imeOptions="actionSearch"
- android:inputType="text" />
+ <EditText
+ android:id="@+id/edittext_search"
+ android:layout_width="0dp"
+ android:layout_height="40dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginStart="8dp"
+ android:layout_marginTop="8dp"
+ android:imeOptions="actionSearch"
+ android:inputType="text"
+ app:layout_constraintEnd_toStartOf="@+id/button_search_execute"
+ app:layout_constraintStart_toEndOf="@+id/button_search_queries"
+ app:layout_constraintTop_toTopOf="parent" />
- <ImageButton
- android:id="@+id/button_search_execute"
- android:layout_width="40dp"
- android:layout_height="match_parent"
- android:layout_gravity="fill"
- android:layout_toLeftOf="@+id/button_search_save"
- android:background="?selectableItemBackgroundBorderless"
- android:src="@drawable/ic_search_black_24dp"
- android:tint="?color_nonactivatable" />
+ <ImageButton
+ android:id="@+id/button_search_execute"
+ android:layout_width="40dp"
+ android:layout_height="40dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginTop="8dp"
+ android:background="?selectableItemBackgroundBorderless"
+ android:src="@drawable/ic_search_black_24dp"
+ android:tint="?color_nonactivatable"
+ app:layout_constraintEnd_toStartOf="@+id/button_search_save"
+ app:layout_constraintTop_toTopOf="parent" />
- <ImageButton
- android:id="@+id/button_search_save"
- android:layout_width="40dp"
- android:layout_height="match_parent"
- android:layout_alignParentRight="true"
- android:layout_gravity="fill"
- android:background="?selectableItemBackgroundBorderless"
- android:src="@drawable/ic_save_black_24dp"
- android:tint="?color_nonactivatable" />
- </RelativeLayout>
+ <ImageButton
+ android:id="@+id/button_search_save"
+ android:layout_width="40dp"
+ android:layout_height="40dp"
+ android:layout_marginEnd="8dp"
+ android:layout_marginTop="8dp"
+ android:background="?selectableItemBackgroundBorderless"
+ android:src="@drawable/ic_save_black_24dp"
+ android:tint="?color_nonactivatable"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="?attr/color_list_divider"
- android:paddingBottom="2dp"
- android:paddingTop="2dp" />
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:layout_marginTop="8dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/edittext_search">
- <include layout="@layout/page_fragment_refreshable_timeline" />
-</LinearLayout>
+ <include layout="@layout/page_fragment_refreshable_timeline" />
+ </FrameLayout>
+</android.support.constraint.ConstraintLayout>
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index a086ccff..e6101a4c 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -1,14 +1,11 @@
<resources>
+ <attr name="status_item_background" format="reference" />
<attr name="color_status_text_header" format="color" />
<attr name="color_status_text_normal" format="color" />
<attr name="color_status_text_footer" format="color" />
<attr name="color_status_text_mine" format="color" />
- <attr name="color_status_bg_retweet" format="color" />
- <attr name="color_status_bg_mention" format="color" />
- <attr name="color_status_bg_normal" format="color" />
<attr name="color_list_divider" format="color" />
<attr name="color_message_text_header" format="color" />
- <attr name="color_message_bg_normal" format="color" />
<declare-styleable name="ColoredRelativeLayout">
<attr name="accent_color" format="reference" />
<attr name="highlight_none" format="reference" />
@@ -19,4 +16,9 @@
<attr name="color_nonactivatable" format="reference" />
<attr name="color_orange_activatable" format="reference" />
<attr name="color_green_activatable" format="reference" />
+ <declare-styleable name="TweetRelativeLayout">
+ <attr name="state_tweet_direct_message" format="boolean" />
+ <attr name="state_tweet_mention" format="boolean" />
+ <attr name="state_tweet_retweet" format="boolean" />
+ </declare-styleable>
</resources>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index a9aae0a9..e7d6a50d 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,50 +1,46 @@
<resources>
- <style name="theme_dark" parent="Theme.AppCompat.NoActionBar">
+ <style name="AppTheme.Dark" parent="Theme.AppCompat.NoActionBar">
+ <item name="dialogTheme">@style/AppTheme.Dialog</item>
+
<item name="android:colorBackground">@color/md_grey_900</item>
<item name="android:windowBackground">@color/md_grey_900</item>
<item name="colorBackgroundFloating">@color/md_grey_850</item>
<item name="colorAccent">@color/md_blue_A200</item>
<item name="colorPrimary">@color/md_purple_400</item>
- <item name="dialogTheme">@style/SE.DialogTheme</item>
-
<item name="color_status_text_header">@color/md_green_700</item>
<item name="color_status_text_normal">#ffffffff</item>
<item name="color_status_text_footer">#7fffffff</item>
<item name="color_status_text_mine">@color/md_amber_700</item>
- <item name="color_status_bg_normal">@color/md_grey_900</item>
- <item name="color_status_bg_retweet">@color/md_grey_850</item>
- <item name="color_status_bg_mention">@color/md_brown_850</item>
<item name="color_list_divider">#1fffffff</item>
<item name="color_message_text_header">#ff9800</item>
- <item name="color_message_bg_normal">@color/md_blue_grey_900</item>
<item name="color_nonactivatable">@color/color_nonactivatable</item>
<item name="color_orange_activatable">@color/color_orange_activatable</item>
<item name="color_green_activatable">@color/color_green_activatable</item>
+
+ <item name="status_item_background">@drawable/tweet_background</item>
</style>
- <style name="theme_light" parent="Theme.AppCompat.Light.NoActionBar">
- <item name="dialogTheme">@style/SE.DialogTheme</item>
+ <style name="AppTheme.Light" parent="Theme.AppCompat.Light.NoActionBar">
+ <item name="dialogTheme">@style/AppTheme.Dialog</item>
<item name="color_status_text_header">@color/dark_green</item>
<item name="color_status_text_normal">@color/gray_dark</item>
<item name="color_status_text_footer">@color/gray_dark_light</item>
<item name="color_status_text_mine">@color/dark_blue</item>
- <item name="color_status_bg_normal">@color/white</item>
- <item name="color_status_bg_retweet">@color/light_blue</item>
- <item name="color_status_bg_mention">@color/light_red</item>
<item name="color_list_divider">@color/gray_light_light</item>
<item name="color_message_text_header">@color/orange</item>
- <item name="color_message_bg_normal">@color/orange_light</item>
<item name="color_nonactivatable">@color/color_nonactivatable_light</item>
<item name="color_orange_activatable">@color/color_orange_activatable_light</item>
<item name="color_green_activatable">@color/color_green_activatable_light</item>
+
+ <item name="status_item_background">@drawable/tweet_background_light</item>
</style>
- <style name="SE.DialogTheme" parent="ThemeOverlay.AppCompat.Dialog">
+ <style name="AppTheme.Dialog" parent="ThemeOverlay.AppCompat.Dialog">
<item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
<item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>
</style>