diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2017-10-21 17:04:34 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2017-10-21 17:04:34 +0900 |
commit | 5ac6ace581471dd0747aff57d976b993d43a6938 (patch) | |
tree | 8bccac26f75bbaa8552e7862562bcafb9b6615cc | |
parent | 6d21ef69a3420987d1f683128a59fd4c200fc1ed (diff) | |
download | SmileEssence-5ac6ace581471dd0747aff57d976b993d43a6938.tar.gz |
uauawip
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> |