diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 5a95de62c6..a65c1bdfb0 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -68,8 +68,9 @@ android:label="@string/app_name" android:largeHeap="true" android:networkSecurityConfig="@xml/network_security_configuration" + android:requestLegacyExternalStorage="true" android:supportsRtl="true" - android:theme="@style/Session.DarkTheme" + android:theme="@style/Theme.Session.DayNight" tools:replace="android:allowBackup"> <!-- Disable analytics --> @@ -92,43 +93,51 @@ <!-- Session --> <activity android:name="org.thoughtcrime.securesms.loki.activities.LandingActivity" - android:screenOrientation="portrait" /> + android:screenOrientation="portrait" + android:theme="@style/Theme.Session.DayNight.FlatActionBar"/> <activity android:name="org.thoughtcrime.securesms.loki.activities.RegisterActivity" - android:screenOrientation="portrait" /> + android:screenOrientation="portrait" + android:theme="@style/Theme.Session.DayNight.FlatActionBar"/> <activity android:name="org.thoughtcrime.securesms.loki.activities.RestoreActivity" android:screenOrientation="portrait" - android:windowSoftInputMode="adjustResize" /> + android:windowSoftInputMode="adjustResize" + android:theme="@style/Theme.Session.DayNight.FlatActionBar" /> <activity android:name="org.thoughtcrime.securesms.loki.activities.LinkDeviceActivity" android:screenOrientation="portrait" - android:windowSoftInputMode="adjustResize" /> + android:windowSoftInputMode="adjustResize" + android:theme="@style/Theme.Session.DayNight.FlatActionBar" /> <activity android:name="org.thoughtcrime.securesms.loki.activities.DisplayNameActivity" android:screenOrientation="portrait" - android:windowSoftInputMode="adjustResize" /> + android:windowSoftInputMode="adjustResize" + android:theme="@style/Theme.Session.DayNight.FlatActionBar"/> <activity android:name="org.thoughtcrime.securesms.loki.activities.PNModeActivity" - android:screenOrientation="portrait" /> + android:screenOrientation="portrait" + android:theme="@style/Theme.Session.DayNight.FlatActionBar" /> <activity android:name="org.thoughtcrime.securesms.loki.activities.HomeActivity" android:screenOrientation="portrait" android:launchMode="singleTask" - android:theme="@style/Session.DarkTheme.NoActionBar" /> + android:theme="@style/Theme.Session.DayNight.NoActionBar" /> <activity android:name="org.thoughtcrime.securesms.loki.activities.SettingsActivity" android:screenOrientation="portrait" - android:theme="@style/Session.DarkTheme.NoActionBar" /> + android:label="@string/activity_settings_title"/> <activity android:name="org.thoughtcrime.securesms.loki.activities.PathActivity" android:screenOrientation="portrait" /> <activity android:name="org.thoughtcrime.securesms.loki.activities.QRCodeActivity" - android:screenOrientation="portrait" /> + android:screenOrientation="portrait" + android:theme="@style/Theme.Session.DayNight.FlatActionBar"/> <activity android:name="org.thoughtcrime.securesms.loki.activities.CreatePrivateChatActivity" - android:screenOrientation="portrait" /> + android:screenOrientation="portrait" + android:theme="@style/Theme.Session.DayNight.FlatActionBar"/> <activity android:name="org.thoughtcrime.securesms.loki.activities.CreateClosedGroupActivity" android:screenOrientation="portrait" /> @@ -138,7 +147,8 @@ <activity android:name="org.thoughtcrime.securesms.loki.activities.JoinPublicChatActivity" android:screenOrientation="portrait" - android:windowSoftInputMode="adjustResize" /> + android:windowSoftInputMode="adjustResize" + android:theme="@style/Theme.Session.DayNight.FlatActionBar" /> <activity android:name="org.thoughtcrime.securesms.loki.activities.SeedActivity" android:screenOrientation="portrait" /> @@ -147,7 +157,8 @@ android:screenOrientation="portrait" /> <activity android:name="org.thoughtcrime.securesms.loki.activities.PrivacySettingsActivity" - android:screenOrientation="portrait" /> + android:label="@string/activity_privacy_settings_title" + android:screenOrientation="portrait"/> <activity android:name="org.thoughtcrime.securesms.loki.activities.NotificationSettingsActivity" android:screenOrientation="portrait" /> @@ -171,7 +182,6 @@ android:name="org.thoughtcrime.securesms.InviteActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:parentActivityName="org.thoughtcrime.securesms.loki.activities.HomeActivity" - android:theme="@style/TextSecure.HighlightTheme" android:windowSoftInputMode="stateHidden"> <meta-data android:name="android.support.PARENT_ACTIVITY" @@ -205,7 +215,7 @@ android:screenOrientation="portrait" android:noHistory="true" android:taskAffinity="" - android:theme="@style/TextSecure.LightNoActionBar" + android:theme="@style/Theme.TextSecure.DayNight.NoActionBar" android:windowSoftInputMode="stateHidden"> <intent-filter> <action android:name="android.intent.action.SEND" /> @@ -250,7 +260,7 @@ android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:launchMode="singleTask" android:noHistory="true" - android:theme="@style/TextSecure.LightNoActionBar" + android:theme="@style/Theme.Session.DayNight.NoActionBar" android:windowSoftInputMode="stateHidden"> <intent-filter> <action android:name="android.intent.action.VIEW" /> @@ -278,7 +288,7 @@ android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:launchMode="singleTask" android:screenOrientation="portrait" - android:theme="@style/Session.DarkTheme.NoActionBar" + android:theme="@style/Theme.TextSecure.DayNight.NoActionBar" android:parentActivityName="org.thoughtcrime.securesms.loki.activities.HomeActivity" android:windowSoftInputMode="stateUnchanged"> <meta-data @@ -294,14 +304,13 @@ android:excludeFromRecents="true" android:launchMode="singleTask" android:taskAffinity="" - android:theme="@style/TextSecure.LightTheme.Popup" android:windowSoftInputMode="stateVisible" /> <activity android:name="org.thoughtcrime.securesms.MessageDetailsActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:label="Message Details" android:screenOrientation="portrait" - android:theme="@style/Session.DarkTheme" + android:theme="@style/Theme.Session.DayNight" android:launchMode="singleTask" android:windowSoftInputMode="stateHidden" /> <activity @@ -328,17 +337,16 @@ android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:label="@string/AndroidManifest__create_passphrase" android:launchMode="singleTask" - android:theme="@style/TextSecure.LightNoActionBar" + android:theme="@style/Theme.Session.DayNight.NoActionBar" android:windowSoftInputMode="stateUnchanged" /> <activity android:name="org.thoughtcrime.securesms.PassphrasePromptActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" - android:launchMode="singleTask" - android:theme="@style/TextSecure.DarkIntroTheme" /> + android:launchMode="singleTask" /> <activity android:name="org.thoughtcrime.securesms.NewConversationActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" - android:theme="@style/TextSecure.LightNoActionBar" + android:theme="@style/Theme.Session.DayNight.NoActionBar" android:windowSoftInputMode="stateAlwaysVisible" /> <activity android:name="org.thoughtcrime.securesms.PushContactSelectionActivity" @@ -348,14 +356,14 @@ <activity android:name="org.thoughtcrime.securesms.giph.ui.GiphyActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" - android:theme="@style/TextSecure.LightNoActionBar" + android:theme="@style/Theme.TextSecure.DayNight.NoActionBar" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden" /> <activity android:name="org.thoughtcrime.securesms.mediasend.MediaSendActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:screenOrientation="portrait" - android:theme="@style/Session.DarkTheme.NoActionBar" + android:theme="@style/Theme.TextSecure.DayNight.NoActionBar" android:windowSoftInputMode="stateHidden" /> <activity android:name="org.thoughtcrime.securesms.PassphraseChangeActivity" @@ -377,19 +385,17 @@ android:name="org.thoughtcrime.securesms.registration.WelcomeActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:launchMode="singleTask" - android:theme="@style/TextSecure.DarkRegistrationTheme" android:windowSoftInputMode="stateUnchanged" /> <activity android:name="org.thoughtcrime.securesms.RegistrationActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:launchMode="singleTask" - android:theme="@style/TextSecure.DarkRegistrationTheme" android:windowSoftInputMode="stateUnchanged" /> <activity android:name="org.thoughtcrime.securesms.registration.CaptchaActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:launchMode="singleTask" - android:theme="@style/TextSecure.DarkNoActionBar" + android:theme="@style/Theme.TextSecure.DayNight.NoActionBar" android:windowSoftInputMode="stateUnchanged" /> <activity android:name="org.thoughtcrime.securesms.DeviceActivity" @@ -399,7 +405,6 @@ android:name="org.thoughtcrime.securesms.stickers.StickerManagementActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:launchMode="singleTask" - android:theme="@style/TextSecure.LightTheme" android:windowSoftInputMode="stateUnchanged" /> <activity android:name="org.thoughtcrime.securesms.LogSubmitActivity" @@ -411,7 +416,7 @@ android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:label="@string/AndroidManifest__media_preview" android:screenOrientation="portrait" - android:theme="@style/Session.DarkTheme.SubtitleActionBar" + android:theme="@style/Theme.Session.DayNight.NoActionBar" android:launchMode="singleTask" android:windowSoftInputMode="stateHidden" /> <activity @@ -419,7 +424,7 @@ android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:launchMode="singleTask" android:screenOrientation="portrait" - android:theme="@style/Session.DarkTheme.NoActionBar" + android:theme="@style/Theme.Session.DayNight.NoActionBar" android:windowSoftInputMode="stateHidden" /> <activity android:name="org.thoughtcrime.securesms.DummyActivity" @@ -470,23 +475,21 @@ <activity android:name="org.thoughtcrime.securesms.RecipientPreferenceActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" - android:theme="@style/TextSecure.LightNoActionBar" /> + android:theme="@style/Theme.Session.DayNight.NoActionBar" /> <activity android:name="org.thoughtcrime.securesms.BlockedContactsActivity" - android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" - android:theme="@style/TextSecure.LightTheme" /> + android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" /> <activity android:name="org.thoughtcrime.securesms.scribbles.StickerSelectActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" - android:theme="@style/TextSecure.DarkTheme" /> + android:theme="@style/Theme.Session.ForceDark"/> <activity android:name="com.theartofdev.edmodo.cropper.CropImageActivity" android:screenOrientation="portrait" - android:theme="@style/Session.DarkTheme" /> + android:theme="@style/Theme.AppCompat" /> <activity android:name="org.thoughtcrime.securesms.CreateProfileActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" - android:theme="@style/TextSecure.LightRegistrationTheme" android:windowSoftInputMode="stateVisible" /> <activity android:name="org.thoughtcrime.securesms.ClearProfileAvatarActivity" @@ -502,21 +505,20 @@ </activity> <activity android:name="org.thoughtcrime.securesms.contactshare.ContactShareEditActivity" - android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" - android:theme="@style/TextSecure.LightTheme" /> + android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" /> <activity android:name="org.thoughtcrime.securesms.contactshare.ContactNameEditActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" - android:theme="@style/TextSecure.LightNoActionBar" /> + android:theme="@style/Theme.Session.DayNight.NoActionBar" /> <activity android:name="org.thoughtcrime.securesms.contactshare.SharedContactDetailsActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" - android:theme="@style/TextSecure.LightNoActionBar" /> + android:theme="@style/Theme.Session.DayNight.NoActionBar" /> <activity android:name="org.thoughtcrime.securesms.ShortcutLauncherActivity" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:exported="true" - android:theme="@style/TextSecure.LightNoActionBar" /> + android:theme="@style/Theme.Session.DayNight.NoActionBar" /> <service android:name="org.thoughtcrime.securesms.loki.api.PushNotificationService" android:enabled="true" diff --git a/build.gradle b/build.gradle index c5a1e0d937..7cc758288b 100644 --- a/build.gradle +++ b/build.gradle @@ -81,7 +81,6 @@ dependencies { implementation 'androidx.gridlayout:gridlayout:1.0.0' implementation 'androidx.exifinterface:exifinterface:1.2.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0' @@ -108,7 +107,7 @@ dependencies { implementation 'com.pnikosis:materialish-progress:1.5' implementation 'org.greenrobot:eventbus:3.0.0' implementation 'pl.tajchert:waitingdots:0.1.0' - implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0' + implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0' implementation 'com.melnykov:floatingactionbutton:1.3.0' implementation 'com.google.zxing:android-integration:3.1.0' implementation 'com.squareup.dagger:dagger:1.2.2' @@ -152,8 +151,6 @@ dependencies { testImplementation 'org.powermock:powermock-classloading-xstream:1.6.1' testImplementation 'androidx.test:core:1.3.0-rc03' - androidTestImplementation 'androidx.multidex:multidex:2.0.1' - androidTestImplementation 'androidx.multidex:multidex-instrumentation:2.0.0' androidTestImplementation 'com.google.dexmaker:dexmaker:1.2' androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2' androidTestImplementation ('org.assertj:assertj-core:1.7.1') { @@ -185,8 +182,8 @@ dependencies { implementation "com.opencsv:opencsv:4.6" } -def canonicalVersionCode = 81 -def canonicalVersionName = "1.4.7" +def canonicalVersionCode = 83 +def canonicalVersionName = "1.5.0" def postFixSize = 10 def abiPostFix = ['armeabi-v7a' : 1, @@ -211,7 +208,6 @@ android { minSdkVersion 21 targetSdkVersion 29 - multiDexEnabled true vectorDrawables.useSupportLibrary = true project.ext.set("archivesBaseName", "Signal") diff --git a/res/animator/appbar_elevation.xml b/res/animator/appbar_elevation.xml new file mode 100644 index 0000000000..7a7f123d25 --- /dev/null +++ b/res/animator/appbar_elevation.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- This seems to be the dirties and the only way to set AppBar's elevation property. + God help Android and us all. + https://stackoverflow.com/a/45703684/3802890 --> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item> + <objectAnimator + android:duration="1" + android:propertyName="elevation" + android:valueTo="1dp" + android:valueType="floatType" /> + </item> +</selector> \ No newline at end of file diff --git a/res/drawable-hdpi-v11/icon_cached.png b/res/drawable-hdpi-v11/icon_cached.png deleted file mode 100644 index 777153ba4d..0000000000 Binary files a/res/drawable-hdpi-v11/icon_cached.png and /dev/null differ diff --git a/res/drawable-hdpi/ic_forward_white_24dp.png b/res/drawable-hdpi/ic_forward_white_24dp.png deleted file mode 100644 index ee62c532c3..0000000000 Binary files a/res/drawable-hdpi/ic_forward_white_24dp.png and /dev/null differ diff --git a/res/drawable-hdpi/ic_keyboard_arrow_down_white_24dp.png b/res/drawable-hdpi/ic_keyboard_arrow_down_white_24dp.png deleted file mode 100644 index bbb4fb4dc0..0000000000 Binary files a/res/drawable-hdpi/ic_keyboard_arrow_down_white_24dp.png and /dev/null differ diff --git a/res/drawable-hdpi/ic_keyboard_arrow_up_white_36dp.png b/res/drawable-hdpi/ic_keyboard_arrow_up_white_36dp.png deleted file mode 100644 index ddd0078f3f..0000000000 Binary files a/res/drawable-hdpi/ic_keyboard_arrow_up_white_36dp.png and /dev/null differ diff --git a/res/drawable-hdpi/ic_save_white_24dp.png b/res/drawable-hdpi/ic_save_white_24dp.png deleted file mode 100644 index 8e4fdd006e..0000000000 Binary files a/res/drawable-hdpi/ic_save_white_24dp.png and /dev/null differ diff --git a/res/drawable-hdpi/icon_cached.png b/res/drawable-hdpi/icon_cached.png index d319ca5216..777153ba4d 100644 Binary files a/res/drawable-hdpi/icon_cached.png and b/res/drawable-hdpi/icon_cached.png differ diff --git a/res/drawable-mdpi-v11/icon_cached.png b/res/drawable-mdpi-v11/icon_cached.png deleted file mode 100644 index 5654c49147..0000000000 Binary files a/res/drawable-mdpi-v11/icon_cached.png and /dev/null differ diff --git a/res/drawable-mdpi/ic_forward_white_24dp.png b/res/drawable-mdpi/ic_forward_white_24dp.png deleted file mode 100644 index 0b9869ae84..0000000000 Binary files a/res/drawable-mdpi/ic_forward_white_24dp.png and /dev/null differ diff --git a/res/drawable-mdpi/ic_keyboard_arrow_down_white_24dp.png b/res/drawable-mdpi/ic_keyboard_arrow_down_white_24dp.png deleted file mode 100644 index ef8a4b6a4c..0000000000 Binary files a/res/drawable-mdpi/ic_keyboard_arrow_down_white_24dp.png and /dev/null differ diff --git a/res/drawable-mdpi/ic_keyboard_arrow_up_white_36dp.png b/res/drawable-mdpi/ic_keyboard_arrow_up_white_36dp.png deleted file mode 100644 index dea8988386..0000000000 Binary files a/res/drawable-mdpi/ic_keyboard_arrow_up_white_36dp.png and /dev/null differ diff --git a/res/drawable-mdpi/ic_save_white_24dp.png b/res/drawable-mdpi/ic_save_white_24dp.png deleted file mode 100644 index 2aee517ccb..0000000000 Binary files a/res/drawable-mdpi/ic_save_white_24dp.png and /dev/null differ diff --git a/res/drawable-mdpi/icon_cached.png b/res/drawable-mdpi/icon_cached.png index 07d3a7e9d5..5654c49147 100644 Binary files a/res/drawable-mdpi/icon_cached.png and b/res/drawable-mdpi/icon_cached.png differ diff --git a/res/drawable-notnight/prominent_filled_button_medium_background.xml b/res/drawable-notnight/prominent_filled_button_medium_background.xml new file mode 100644 index 0000000000..6f6bd22a51 --- /dev/null +++ b/res/drawable-notnight/prominent_filled_button_medium_background.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape + xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + + <solid android:color="?android:colorControlNormal" /> + + <corners android:radius="@dimen/medium_button_corner_radius" /> + + <stroke android:width="@dimen/border_thickness" android:color="?android:colorControlNormal" /> +</shape> \ No newline at end of file diff --git a/res/drawable-notnight/prominent_outline_button_medium_background.xml b/res/drawable-notnight/prominent_outline_button_medium_background.xml new file mode 100644 index 0000000000..6e0de35a5b --- /dev/null +++ b/res/drawable-notnight/prominent_outline_button_medium_background.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape + xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + + <solid android:color="@color/transparent" /> + + <corners android:radius="@dimen/medium_button_corner_radius" /> + + <stroke android:width="@dimen/border_thickness" android:color="?android:textColorPrimary" /> +</shape> \ No newline at end of file diff --git a/res/drawable-notnight/unimportant_filled_button_medium_background.xml b/res/drawable-notnight/unimportant_filled_button_medium_background.xml new file mode 100644 index 0000000000..f6ea907be5 --- /dev/null +++ b/res/drawable-notnight/unimportant_filled_button_medium_background.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape + xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle"> + + <solid android:color="@color/unimportant_button_background" /> + + <corners android:radius="@dimen/medium_button_corner_radius" /> + + <stroke android:width="@dimen/border_thickness" android:color="?android:textColorPrimary" /> +</shape> \ No newline at end of file diff --git a/res/drawable-v12/recycler_view_fast_scroller_bubble.xml b/res/drawable-v12/recycler_view_fast_scroller_bubble.xml deleted file mode 100644 index f135c5c6d6..0000000000 --- a/res/drawable-v12/recycler_view_fast_scroller_bubble.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> - <corners android:topLeftRadius="44dp" - android:topRightRadius="44dp" - android:bottomLeftRadius="44dp" - android:bottomRightRadius="0dp"/> - <solid android:color="#FF0288D1" /> - <size android:height="88dp" android:width="88dp" /> -</shape> \ No newline at end of file diff --git a/res/drawable-v21/circle_touch_highlight_background.xml b/res/drawable-v21/circle_touch_highlight_background.xml deleted file mode 100644 index fe392b45e6..0000000000 --- a/res/drawable-v21/circle_touch_highlight_background.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/touch_highlight"> - <item android:id="@android:id/mask"> - <shape android:shape="oval"> - <solid android:color="@color/black" /> - </shape> - </item> -</ripple> \ No newline at end of file diff --git a/res/drawable-v21/conversation_list_item_background.xml b/res/drawable-v21/conversation_list_item_background.xml deleted file mode 100644 index 642879178e..0000000000 --- a/res/drawable-v21/conversation_list_item_background.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/textsecure_primary"> - <item android:id="@android:id/mask" android:drawable="@android:color/black" /> - <item> - <selector> - <item android:drawable="@color/textsecure_primary_alpha33" android:state_selected="true" /> - </selector> - </item> -</ripple> diff --git a/res/drawable-v21/conversation_list_item_background_dark.xml b/res/drawable-v21/conversation_list_item_background_dark.xml deleted file mode 100644 index 642879178e..0000000000 --- a/res/drawable-v21/conversation_list_item_background_dark.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/textsecure_primary"> - <item android:id="@android:id/mask" android:drawable="@android:color/black" /> - <item> - <selector> - <item android:drawable="@color/textsecure_primary_alpha33" android:state_selected="true" /> - </selector> - </item> -</ripple> diff --git a/res/drawable-v21/dialog_background.xml b/res/drawable-v21/dialog_background.xml deleted file mode 100644 index d607bfc022..0000000000 --- a/res/drawable-v21/dialog_background.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<inset xmlns:android="http://schemas.android.com/apk/res/android" - android:insetLeft="0dp" - android:insetTop="16dp" - android:insetRight="0dp" - android:insetBottom="16dp"> - <shape android:shape="rectangle"> - <corners android:radius="2dp" /> - <solid android:color="?dialog_background_color" /> - </shape> -</inset> \ No newline at end of file diff --git a/res/drawable-v21/media_camera_button_background.xml b/res/drawable-v21/media_camera_button_background.xml deleted file mode 100644 index e129933aea..0000000000 --- a/res/drawable-v21/media_camera_button_background.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ripple - xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/core_grey_45"> - <item android:id="@+id/mask"> - <shape> - <corners android:radius="1000dp" /> - <solid android:color="@color/white" /> - </shape> - </item> - <item> - <shape android:shape="oval"> - <solid android:color="@color/core_white" /> - </shape> - </item> -</ripple> \ No newline at end of file diff --git a/res/drawable-v21/media_count_button_background.xml b/res/drawable-v21/media_count_button_background.xml deleted file mode 100644 index a5fdc45a06..0000000000 --- a/res/drawable-v21/media_count_button_background.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ripple - xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/transparent_white_40"> - <item android:id="@+id/mask"> - <shape> - <corners android:radius="1000dp" /> - <solid android:color="@color/white" /> - </shape> - </item> - <item android:drawable="@drawable/pill" /> -</ripple> \ No newline at end of file diff --git a/res/drawable-v21/mediarail_button_background.xml b/res/drawable-v21/mediarail_button_background.xml deleted file mode 100644 index 035512fbff..0000000000 --- a/res/drawable-v21/mediarail_button_background.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ripple - xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/transparent_white_40"> - - <item android:id="@+id/mask"> - <shape> - <corners android:radius="5dp" /> - <solid android:color="@color/transparent_black" /> - </shape> - </item> - - <item> - <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > - <corners android:radius="5dp" /> - <solid android:color="@color/transparent_black_70"/> - </shape> - </item> -</ripple> diff --git a/res/drawable-v21/sticker_button_dark.xml b/res/drawable-v21/sticker_button_dark.xml deleted file mode 100644 index bbd18b7e9f..0000000000 --- a/res/drawable-v21/sticker_button_dark.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ripple - xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/transparent_white_40"> - - <item android:id="@+id/mask"> - <shape android:shape="oval"> - <solid android:color="@color/transparent_black" /> - </shape> - </item> - - <item> - <shape android:shape="oval" > - <solid android:color="@color/core_grey_75"/> - </shape> - </item> -</ripple> diff --git a/res/drawable-v21/sticker_button_light.xml b/res/drawable-v21/sticker_button_light.xml deleted file mode 100644 index f20b4e89d1..0000000000 --- a/res/drawable-v21/sticker_button_light.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ripple - xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/transparent_black_40"> - - <item android:id="@+id/mask"> - <shape android:shape="oval"> - <solid android:color="@color/transparent_black" /> - </shape> - </item> - - <item> - <shape android:shape="oval" > - <solid android:color="@color/core_grey_05"/> - </shape> - </item> -</ripple> diff --git a/res/drawable-v21/touch_highlight_background.xml b/res/drawable-v21/touch_highlight_background.xml deleted file mode 100644 index 80e27edf3d..0000000000 --- a/res/drawable-v21/touch_highlight_background.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:color="@color/touch_highlight"> - <item - android:id="@android:id/mask" - android:drawable="@android:color/white" /> -</ripple> \ No newline at end of file diff --git a/res/drawable-xhdpi-v11/icon_cached.png b/res/drawable-xhdpi-v11/icon_cached.png deleted file mode 100644 index 66a4b60dd3..0000000000 Binary files a/res/drawable-xhdpi-v11/icon_cached.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_forward_white_24dp.png b/res/drawable-xhdpi/ic_forward_white_24dp.png deleted file mode 100644 index 80841b1329..0000000000 Binary files a/res/drawable-xhdpi/ic_forward_white_24dp.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_keyboard_arrow_down_white_24dp.png b/res/drawable-xhdpi/ic_keyboard_arrow_down_white_24dp.png deleted file mode 100644 index 058cebb7f9..0000000000 Binary files a/res/drawable-xhdpi/ic_keyboard_arrow_down_white_24dp.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_keyboard_arrow_up_white_36dp.png b/res/drawable-xhdpi/ic_keyboard_arrow_up_white_36dp.png deleted file mode 100644 index ce4aa5602a..0000000000 Binary files a/res/drawable-xhdpi/ic_keyboard_arrow_up_white_36dp.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_save_white_24dp.png b/res/drawable-xhdpi/ic_save_white_24dp.png deleted file mode 100644 index 273f33ac65..0000000000 Binary files a/res/drawable-xhdpi/ic_save_white_24dp.png and /dev/null differ diff --git a/res/drawable-xhdpi/icon_cached.png b/res/drawable-xhdpi/icon_cached.png index b34b69604c..66a4b60dd3 100644 Binary files a/res/drawable-xhdpi/icon_cached.png and b/res/drawable-xhdpi/icon_cached.png differ diff --git a/res/drawable-xxhdpi-v11/icon_cached.png b/res/drawable-xxhdpi-v11/icon_cached.png deleted file mode 100644 index d17e250790..0000000000 Binary files a/res/drawable-xxhdpi-v11/icon_cached.png and /dev/null differ diff --git a/res/drawable-xxhdpi/ic_forward_white_24dp.png b/res/drawable-xxhdpi/ic_forward_white_24dp.png deleted file mode 100644 index 26294e574d..0000000000 Binary files a/res/drawable-xxhdpi/ic_forward_white_24dp.png and /dev/null differ diff --git a/res/drawable-xxhdpi/ic_keyboard_arrow_down_white_24dp.png b/res/drawable-xxhdpi/ic_keyboard_arrow_down_white_24dp.png deleted file mode 100644 index f9622b7bee..0000000000 Binary files a/res/drawable-xxhdpi/ic_keyboard_arrow_down_white_24dp.png and /dev/null differ diff --git a/res/drawable-xxhdpi/ic_keyboard_arrow_up_white_36dp.png b/res/drawable-xxhdpi/ic_keyboard_arrow_up_white_36dp.png deleted file mode 100644 index f91589d8bd..0000000000 Binary files a/res/drawable-xxhdpi/ic_keyboard_arrow_up_white_36dp.png and /dev/null differ diff --git a/res/drawable-xxhdpi/ic_save_white_24dp.png b/res/drawable-xxhdpi/ic_save_white_24dp.png deleted file mode 100644 index 6c87e13588..0000000000 Binary files a/res/drawable-xxhdpi/ic_save_white_24dp.png and /dev/null differ diff --git a/res/drawable-xxhdpi/icon_cached.png b/res/drawable-xxhdpi/icon_cached.png index ac8c295810..d17e250790 100644 Binary files a/res/drawable-xxhdpi/icon_cached.png and b/res/drawable-xxhdpi/icon_cached.png differ diff --git a/res/drawable-xxxhdpi-v11/icon_cached.png b/res/drawable-xxxhdpi-v11/icon_cached.png deleted file mode 100644 index fc6a833547..0000000000 Binary files a/res/drawable-xxxhdpi-v11/icon_cached.png and /dev/null differ diff --git a/res/drawable-xxxhdpi/ic_keyboard_arrow_down_white_24dp.png b/res/drawable-xxxhdpi/ic_keyboard_arrow_down_white_24dp.png deleted file mode 100644 index 30948d9833..0000000000 Binary files a/res/drawable-xxxhdpi/ic_keyboard_arrow_down_white_24dp.png and /dev/null differ diff --git a/res/drawable-xxxhdpi/ic_keyboard_arrow_up_white_36dp.png b/res/drawable-xxxhdpi/ic_keyboard_arrow_up_white_36dp.png deleted file mode 100644 index 62467ced43..0000000000 Binary files a/res/drawable-xxxhdpi/ic_keyboard_arrow_up_white_36dp.png and /dev/null differ diff --git a/res/drawable-xxxhdpi/icon_cached.png b/res/drawable-xxxhdpi/icon_cached.png index 07c7bd5382..fc6a833547 100644 Binary files a/res/drawable-xxxhdpi/icon_cached.png and b/res/drawable-xxxhdpi/icon_cached.png differ diff --git a/res/drawable/attachment_selector_shadow.xml b/res/drawable/attachment_selector_shadow.xml deleted file mode 100644 index 34e2aa8cd4..0000000000 --- a/res/drawable/attachment_selector_shadow.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape - xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - - <gradient - android:startColor="@color/transparent_black_30" - android:endColor="@color/transparent_black" - android:angle="90"/> - -</shape> \ No newline at end of file diff --git a/res/drawable/circle_touch_highlight_background.xml b/res/drawable/circle_touch_highlight_background.xml index 96f6b341a6..8f1c2885be 100644 --- a/res/drawable/circle_touch_highlight_background.xml +++ b/res/drawable/circle_touch_highlight_background.xml @@ -1,8 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_pressed="true"> +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="?attr/colorControlHighlight"> + <item android:id="@android:id/mask"> <shape android:shape="oval"> - <solid android:color="@color/touch_highlight" /> + <solid android:color="@color/black" /> </shape> </item> -</selector> \ No newline at end of file +</ripple> \ No newline at end of file diff --git a/res/drawable/compose_background_light.xml b/res/drawable/compose_background_light.xml index dc2e5b16b1..d6e191fe01 100644 --- a/res/drawable/compose_background_light.xml +++ b/res/drawable/compose_background_light.xml @@ -5,10 +5,10 @@ <stroke android:width="1dp" - android:color="@color/core_grey_05" /> + android:color="@color/core_grey_15" /> <solid - android:color="@color/core_grey_02" /> + android:color="@color/core_grey_05" /> <corners android:radius="20dp" /> diff --git a/res/drawable/conversation_item_background.xml b/res/drawable/conversation_item_background.xml index d4cbc9d842..dfae25e4f8 100644 --- a/res/drawable/conversation_item_background.xml +++ b/res/drawable/conversation_item_background.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:drawable="@color/textsecure_primary_alpha33" android:state_selected="true" /> + <item android:drawable="@color/accent_alpha50" android:state_selected="true" /> <item android:drawable="@color/signal_primary_alpha_focus" android:state_focused="true" /> </selector> diff --git a/res/drawable/conversation_item_background_animated.xml b/res/drawable/conversation_item_background_animated.xml index 3664c2a1d7..4206e6a57f 100644 --- a/res/drawable/conversation_item_background_animated.xml +++ b/res/drawable/conversation_item_background_animated.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" android:exitFadeDuration="1000"> - <item android:drawable="@color/textsecure_primary_alpha33" android:state_selected="true" /> + <item android:drawable="@color/accent_alpha50" android:state_selected="true" /> <item android:drawable="@color/signal_primary_alpha_focus" android:state_focused="true" /> </selector> diff --git a/res/drawable/conversation_list_item_background.xml b/res/drawable/conversation_list_item_background.xml index 92908acc6a..bcc1673828 100644 --- a/res/drawable/conversation_list_item_background.xml +++ b/res/drawable/conversation_list_item_background.xml @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:drawable="@color/textsecure_primary_alpha33" android:state_selected="true" /> - <item android:drawable="@color/textsecure_primary_alpha33" android:state_pressed="true" /> - <item android:drawable="@color/signal_primary_alpha_focus" android:state_focused="true" /> -</selector> +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="@color/textsecure_primary"> + <item android:id="@android:id/mask" android:drawable="@android:color/black" /> + <item> + <selector> + <item android:drawable="@color/accent_alpha50" android:state_selected="true" /> + </selector> + </item> +</ripple> diff --git a/res/drawable/conversation_list_item_background_dark.xml b/res/drawable/conversation_list_item_background_dark.xml index 92908acc6a..bcc1673828 100644 --- a/res/drawable/conversation_list_item_background_dark.xml +++ b/res/drawable/conversation_list_item_background_dark.xml @@ -1,6 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:drawable="@color/textsecure_primary_alpha33" android:state_selected="true" /> - <item android:drawable="@color/textsecure_primary_alpha33" android:state_pressed="true" /> - <item android:drawable="@color/signal_primary_alpha_focus" android:state_focused="true" /> -</selector> +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="@color/textsecure_primary"> + <item android:id="@android:id/mask" android:drawable="@android:color/black" /> + <item> + <selector> + <item android:drawable="@color/accent_alpha50" android:state_selected="true" /> + </selector> + </item> +</ripple> diff --git a/res/drawable/default_bottom_sheet_background.xml b/res/drawable/default_bottom_sheet_background.xml index 127fdb9645..4b8cb781e3 100644 --- a/res/drawable/default_bottom_sheet_background.xml +++ b/res/drawable/default_bottom_sheet_background.xml @@ -3,9 +3,11 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> - <solid android:color="@color/dialog_background" /> + <solid android:color="?attr/dialog_background_color" /> - <corners android:topLeftRadius="24dp" android:topRightRadius="24dp" /> + <corners + android:topLeftRadius="@dimen/dialog_corner_radius" + android:topRightRadius="@dimen/dialog_corner_radius" /> - <stroke android:width="@dimen/border_thickness" android:color="@color/dialog_border" /> +<!-- <stroke android:width="@dimen/border_thickness" android:color="@color/dialog_border" />--> </shape> \ No newline at end of file diff --git a/res/drawable/default_dialog_background.xml b/res/drawable/default_dialog_background.xml index b97c837b83..fff764ebd5 100644 --- a/res/drawable/default_dialog_background.xml +++ b/res/drawable/default_dialog_background.xml @@ -3,9 +3,9 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> - <solid android:color="@color/dialog_background" /> + <solid android:color="?attr/dialog_background_color" /> <corners android:radius="@dimen/dialog_corner_radius" /> - <stroke android:width="@dimen/border_thickness" android:color="@color/dialog_border" /> +<!-- <stroke android:width="@dimen/border_thickness" android:color="@color/dialog_border" />--> </shape> \ No newline at end of file diff --git a/res/drawable/default_session_background.xml b/res/drawable/default_session_background.xml index c6e75f86e6..d397981ab5 100644 --- a/res/drawable/default_session_background.xml +++ b/res/drawable/default_session_background.xml @@ -5,8 +5,8 @@ <gradient android:angle="90" - android:startColor="#121212" - android:endColor="#171717" + android:startColor="@color/default_background_start" + android:endColor="@color/default_background_end" android:type="linear" /> </shape> \ No newline at end of file diff --git a/res/drawable/dialog_background.xml b/res/drawable/dialog_background.xml index 1c3a6cfb02..d607bfc022 100644 --- a/res/drawable/dialog_background.xml +++ b/res/drawable/dialog_background.xml @@ -1,5 +1,11 @@ <?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid android:color="@color/transparent" /> -</shape> \ No newline at end of file +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:insetLeft="0dp" + android:insetTop="16dp" + android:insetRight="0dp" + android:insetBottom="16dp"> + <shape android:shape="rectangle"> + <corners android:radius="2dp" /> + <solid android:color="?dialog_background_color" /> + </shape> +</inset> \ No newline at end of file diff --git a/res/drawable/dismiss_background.xml b/res/drawable/dismiss_background.xml index fed2698e78..06554646a2 100644 --- a/res/drawable/dismiss_background.xml +++ b/res/drawable/dismiss_background.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > - <solid android:color="#99ffffff" /> + <solid android:color="?android:colorBackground" /> </shape> diff --git a/res/drawable/fake_chat_view_incoming_message_background.xml b/res/drawable/fake_chat_view_incoming_message_background.xml index 69acee1173..0641570512 100644 --- a/res/drawable/fake_chat_view_incoming_message_background.xml +++ b/res/drawable/fake_chat_view_incoming_message_background.xml @@ -3,7 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> - <solid android:color="@color/accent" /> + <solid android:color="?message_received_background_color" /> <corners android:radius="@dimen/fake_chat_view_bubble_corner_radius" /> </shape> \ No newline at end of file diff --git a/res/drawable/fake_chat_view_outgoing_message_background.xml b/res/drawable/fake_chat_view_outgoing_message_background.xml index fe79c4b40f..1ab140a0d5 100644 --- a/res/drawable/fake_chat_view_outgoing_message_background.xml +++ b/res/drawable/fake_chat_view_outgoing_message_background.xml @@ -3,7 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> - <solid android:color="@color/fake_chat_bubble_background" /> + <solid android:color="?message_sent_background_color" /> <corners android:radius="@dimen/fake_chat_view_bubble_corner_radius" /> </shape> \ No newline at end of file diff --git a/res/drawable/home_activity_gradient.xml b/res/drawable/home_activity_gradient.xml index 3392368a5c..b160d68fee 100644 --- a/res/drawable/home_activity_gradient.xml +++ b/res/drawable/home_activity_gradient.xml @@ -4,8 +4,8 @@ android:shape="rectangle"> <gradient - android:startColor="@android:color/transparent" - android:endColor="#CC000000" + android:centerColor="?attr/home_gradient_start" + android:endColor="?attr/home_gradient_end" android:angle="270" /> </shape> \ No newline at end of file diff --git a/res/drawable/ic_advanced_24dp.xml b/res/drawable/ic_advanced_24dp.xml index 4fb9e1ab03..7f05df0360 100644 --- a/res/drawable/ic_advanced_24dp.xml +++ b/res/drawable/ic_advanced_24dp.xml @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/ic_advanced_white_24dp" - android:tint="?attr/pref_icon_tint"/> + android:tint="?attr/pref_icon_tint"/> \ No newline at end of file diff --git a/res/drawable/ic_arrow_up_circle_24.xml b/res/drawable/ic_arrow_up_circle_24.xml new file mode 100644 index 0000000000..a13b7c5b40 --- /dev/null +++ b/res/drawable/ic_arrow_up_circle_24.xml @@ -0,0 +1,11 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="m12,2.4355c-5.2796,0 -9.5645,4.2848 -9.5645,9.5645 0,5.2796 4.2848,9.5645 9.5645,9.5645 5.2796,0 9.5645,-4.2848 9.5645,-9.5645 0,-5.2796 -4.2848,-9.5645 -9.5645,-9.5645zM12.123,7.9375 L15.6777,11.4922 14.9707,12.1992 12.623,9.8515v6.1797h-1v-6.1797l-1.9961,1.9941 -0.3535,0.3535 -0.707,-0.707 0.3535,-0.3535 3.2031,-3.2012z" + android:strokeWidth=".95645"/> +</vector> diff --git a/res/drawable/ic_baseline_block_24.xml b/res/drawable/ic_baseline_block_24.xml new file mode 100644 index 0000000000..9fefeec67e --- /dev/null +++ b/res/drawable/ic_baseline_block_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM4,12c0,-4.42 3.58,-8 8,-8 1.85,0 3.55,0.63 4.9,1.69L5.69,16.9C4.63,15.55 4,13.85 4,12zM12,20c-1.85,0 -3.55,-0.63 -4.9,-1.69L18.31,7.1C19.37,8.45 20,10.15 20,12c0,4.42 -3.58,8 -8,8z"/> +</vector> diff --git a/res/drawable/ic_baseline_call_split_24.xml b/res/drawable/ic_baseline_call_split_24.xml new file mode 100644 index 0000000000..ada5e609da --- /dev/null +++ b/res/drawable/ic_baseline_call_split_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M14,4l2.29,2.29 -2.88,2.88 1.42,1.42 2.88,-2.88L20,10L20,4zM10,4L4,4v6l2.29,-2.29 4.71,4.7L11,20h2v-8.41l-5.29,-5.3z"/> +</vector> diff --git a/res/drawable/ic_baseline_clear_24.xml b/res/drawable/ic_baseline_clear_24.xml new file mode 100644 index 0000000000..16d6d37dd9 --- /dev/null +++ b/res/drawable/ic_baseline_clear_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/> +</vector> diff --git a/res/drawable/ic_baseline_dashboard_24.xml b/res/drawable/ic_baseline_dashboard_24.xml new file mode 100644 index 0000000000..a882fd8334 --- /dev/null +++ b/res/drawable/ic_baseline_dashboard_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M3,13h8L11,3L3,3v10zM3,21h8v-6L3,15v6zM13,21h8L21,11h-8v10zM13,3v6h8L21,3h-8z"/> +</vector> diff --git a/res/drawable/ic_baseline_delete_24.xml b/res/drawable/ic_baseline_delete_24.xml new file mode 100644 index 0000000000..3c4030b03e --- /dev/null +++ b/res/drawable/ic_baseline_delete_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/> +</vector> diff --git a/res/drawable/ic_baseline_done_24.xml b/res/drawable/ic_baseline_done_24.xml new file mode 100644 index 0000000000..899cbb6840 --- /dev/null +++ b/res/drawable/ic_baseline_done_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z"/> +</vector> diff --git a/res/drawable/ic_baseline_edit_24.xml b/res/drawable/ic_baseline_edit_24.xml new file mode 100644 index 0000000000..2844bafebe --- /dev/null +++ b/res/drawable/ic_baseline_edit_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/> +</vector> diff --git a/res/drawable/ic_baseline_file_copy_24.xml b/res/drawable/ic_baseline_file_copy_24.xml new file mode 100644 index 0000000000..0cd5895478 --- /dev/null +++ b/res/drawable/ic_baseline_file_copy_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5l6,6v10c0,1.1 -0.9,2 -2,2L7.99,23C6.89,23 6,22.1 6,21l0.01,-14c0,-1.1 0.89,-2 1.99,-2h7zM14,12h5.5L14,6.5L14,12z"/> +</vector> diff --git a/res/drawable/ic_baseline_folder_48.xml b/res/drawable/ic_baseline_folder_48.xml new file mode 100644 index 0000000000..f22a0be81e --- /dev/null +++ b/res/drawable/ic_baseline_folder_48.xml @@ -0,0 +1,5 @@ +<vector android:height="48dp" android:tint="?attr/colorControlNormal" + android:viewportHeight="24" android:viewportWidth="24" + android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="@android:color/white" android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/> +</vector> diff --git a/res/drawable/ic_baseline_forward_24.xml b/res/drawable/ic_baseline_forward_24.xml new file mode 100644 index 0000000000..3f0ba0b613 --- /dev/null +++ b/res/drawable/ic_baseline_forward_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M12,8V4l8,8 -8,8v-4H4V8z"/> +</vector> diff --git a/res/drawable/ic_baseline_key_24.xml b/res/drawable/ic_baseline_key_24.xml new file mode 100644 index 0000000000..2316df207c --- /dev/null +++ b/res/drawable/ic_baseline_key_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M12.65,10C11.83,7.67 9.61,6 7,6c-3.31,0 -6,2.69 -6,6s2.69,6 6,6c2.61,0 4.83,-1.67 5.65,-4H17v4h4v-4h2v-4H12.65zM7,14c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z"/> +</vector> diff --git a/res/drawable/ic_baseline_keyboard_24.xml b/res/drawable/ic_baseline_keyboard_24.xml new file mode 100644 index 0000000000..533fc1562a --- /dev/null +++ b/res/drawable/ic_baseline_keyboard_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M20,5L4,5c-1.1,0 -1.99,0.9 -1.99,2L2,17c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2zM11,8h2v2h-2L11,8zM11,11h2v2h-2v-2zM8,8h2v2L8,10L8,8zM8,11h2v2L8,13v-2zM7,13L5,13v-2h2v2zM7,10L5,10L5,8h2v2zM16,17L8,17v-2h8v2zM16,13h-2v-2h2v2zM16,10h-2L14,8h2v2zM19,13h-2v-2h2v2zM19,10h-2L17,8h2v2z"/> +</vector> diff --git a/res/drawable/ic_baseline_keyboard_arrow_down_24.xml b/res/drawable/ic_baseline_keyboard_arrow_down_24.xml new file mode 100644 index 0000000000..884bee144c --- /dev/null +++ b/res/drawable/ic_baseline_keyboard_arrow_down_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M7.41,8.59L12,13.17l4.59,-4.58L18,10l-6,6 -6,-6 1.41,-1.41z"/> +</vector> diff --git a/res/drawable/ic_baseline_keyboard_arrow_up_24.xml b/res/drawable/ic_baseline_keyboard_arrow_up_24.xml new file mode 100644 index 0000000000..9b15755e53 --- /dev/null +++ b/res/drawable/ic_baseline_keyboard_arrow_up_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M7.41,15.41L12,10.83l4.59,4.58L18,14l-6,-6 -6,6z"/> +</vector> diff --git a/res/drawable/ic_baseline_launch_24.xml b/res/drawable/ic_baseline_launch_24.xml new file mode 100644 index 0000000000..455b503a1f --- /dev/null +++ b/res/drawable/ic_baseline_launch_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z"/> +</vector> diff --git a/res/drawable/ic_baseline_mic_48.xml b/res/drawable/ic_baseline_mic_48.xml new file mode 100644 index 0000000000..2ac4dd40a0 --- /dev/null +++ b/res/drawable/ic_baseline_mic_48.xml @@ -0,0 +1,5 @@ +<vector android:height="48dp" android:tint="?attr/colorControlNormal" + android:viewportHeight="24" android:viewportWidth="24" + android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="@android:color/white" android:pathData="M12,14c1.66,0 2.99,-1.34 2.99,-3L15,5c0,-1.66 -1.34,-3 -3,-3S9,3.34 9,5v6c0,1.66 1.34,3 3,3zM17.3,11c0,3 -2.54,5.1 -5.3,5.1S6.7,14 6.7,11L5,11c0,3.41 2.72,6.23 6,6.72L11,21h2v-3.28c3.28,-0.48 6,-3.3 6,-6.72h-1.7z"/> +</vector> diff --git a/res/drawable/ic_baseline_night_mode_24.xml b/res/drawable/ic_baseline_night_mode_24.xml new file mode 100644 index 0000000000..a8eeb6d746 --- /dev/null +++ b/res/drawable/ic_baseline_night_mode_24.xml @@ -0,0 +1,13 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?android:colorControlNormal"> + <path + android:fillColor="#FF000000" + android:strokeColor="#FF000000" + android:pathData="m11.6367,2.0156c-5.3859,0.1852 -9.6563,4.6051 -9.6563,9.9941 0,5.5228 4.4772,10 10,10 3.3578,-0.0007 6.4911,-1.6866 8.3418,-4.4883C12.136,17.7514 7.2211,8.8651 11.6367,2.0156Z" + android:strokeWidth="1.5" + android:strokeLineCap="round"/> +</vector> diff --git a/res/drawable/ic_baseline_pause_circle_filled_48.xml b/res/drawable/ic_baseline_pause_circle_filled_48.xml new file mode 100644 index 0000000000..3088f825d4 --- /dev/null +++ b/res/drawable/ic_baseline_pause_circle_filled_48.xml @@ -0,0 +1,5 @@ +<vector android:height="48dp" android:tint="?attr/colorControlNormal" + android:viewportHeight="24" android:viewportWidth="24" + android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="@android:color/white" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM11,16L9,16L9,8h2v8zM15,16h-2L13,8h2v8z"/> +</vector> diff --git a/res/drawable/ic_baseline_photo_camera_24.xml b/res/drawable/ic_baseline_photo_camera_24.xml new file mode 100644 index 0000000000..13186deefc --- /dev/null +++ b/res/drawable/ic_baseline_photo_camera_24.xml @@ -0,0 +1,13 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M12,12m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0"/> + <path + android:fillColor="@android:color/white" + android:pathData="M9,2L7.17,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2L9,2zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z"/> +</vector> diff --git a/res/drawable/ic_baseline_photo_camera_48.xml b/res/drawable/ic_baseline_photo_camera_48.xml new file mode 100644 index 0000000000..33acb83243 --- /dev/null +++ b/res/drawable/ic_baseline_photo_camera_48.xml @@ -0,0 +1,6 @@ +<vector android:height="48dp" android:tint="?attr/colorControlNormal" + android:viewportHeight="24" android:viewportWidth="24" + android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="@android:color/white" android:pathData="M12,12m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0"/> + <path android:fillColor="@android:color/white" android:pathData="M9,2L7.17,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2L9,2zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z"/> +</vector> diff --git a/res/drawable/ic_baseline_photo_library_24.xml b/res/drawable/ic_baseline_photo_library_24.xml new file mode 100644 index 0000000000..ee0f6931c5 --- /dev/null +++ b/res/drawable/ic_baseline_photo_library_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M22,16L22,4c0,-1.1 -0.9,-2 -2,-2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2zM11,12l2.03,2.71L16,11l4,5L8,16l3,-4zM2,6v14c0,1.1 0.9,2 2,2h14v-2L4,20L4,6L2,6z"/> +</vector> diff --git a/res/drawable/ic_baseline_play_circle_filled_48.xml b/res/drawable/ic_baseline_play_circle_filled_48.xml new file mode 100644 index 0000000000..1a38d82b42 --- /dev/null +++ b/res/drawable/ic_baseline_play_circle_filled_48.xml @@ -0,0 +1,5 @@ +<vector android:height="48dp" android:tint="?attr/colorControlNormal" + android:viewportHeight="24" android:viewportWidth="24" + android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="@android:color/white" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM10,16.5v-9l6,4.5 -6,4.5z"/> +</vector> diff --git a/res/drawable/ic_baseline_reply_24.xml b/res/drawable/ic_baseline_reply_24.xml new file mode 100644 index 0000000000..f49d97d888 --- /dev/null +++ b/res/drawable/ic_baseline_reply_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M10,9V5l-7,7 7,7v-4.1c5,0 8.5,1.6 11,5.1 -1,-5 -4,-10 -11,-11z"/> +</vector> diff --git a/res/drawable/ic_baseline_save_24.xml b/res/drawable/ic_baseline_save_24.xml new file mode 100644 index 0000000000..1a8d86d20c --- /dev/null +++ b/res/drawable/ic_baseline_save_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z"/> +</vector> diff --git a/res/drawable/ic_baseline_search_24.xml b/res/drawable/ic_baseline_search_24.xml new file mode 100644 index 0000000000..07b76d6275 --- /dev/null +++ b/res/drawable/ic_baseline_search_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/> +</vector> diff --git a/res/drawable/ic_baseline_select_all_24.xml b/res/drawable/ic_baseline_select_all_24.xml new file mode 100644 index 0000000000..c997121c75 --- /dev/null +++ b/res/drawable/ic_baseline_select_all_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z"/> +</vector> diff --git a/res/drawable/ic_baseline_timer_off_24.xml b/res/drawable/ic_baseline_timer_off_24.xml new file mode 100644 index 0000000000..9216da7aff --- /dev/null +++ b/res/drawable/ic_baseline_timer_off_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M19.04,4.55l-1.42,1.42C16.07,4.74 14.12,4 12,4c-1.83,0 -3.53,0.55 -4.95,1.48l1.46,1.46C9.53,6.35 10.73,6 12,6c3.87,0 7,3.13 7,7 0,1.27 -0.35,2.47 -0.94,3.49l1.45,1.45C20.45,16.53 21,14.83 21,13c0,-2.12 -0.74,-4.07 -1.97,-5.61l1.42,-1.42 -1.41,-1.42zM15,1L9,1v2h6L15,1zM11,9.44l2,2L13,8h-2v1.44zM3.02,4L1.75,5.27 4.5,8.03C3.55,9.45 3,11.16 3,13c0,4.97 4.02,9 9,9 1.84,0 3.55,-0.55 4.98,-1.5l2.5,2.5 1.27,-1.27 -7.71,-7.71L3.02,4zM12,20c-3.87,0 -7,-3.13 -7,-7 0,-1.28 0.35,-2.48 0.95,-3.52l9.56,9.56c-1.03,0.61 -2.23,0.96 -3.51,0.96z"/> +</vector> diff --git a/res/drawable/ic_baseline_view_stream_24.xml b/res/drawable/ic_baseline_view_stream_24.xml new file mode 100644 index 0000000000..3906c77212 --- /dev/null +++ b/res/drawable/ic_baseline_view_stream_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M4,18h17v-6H4v6zM4,5v6h17V5H4z"/> +</vector> diff --git a/res/drawable/ic_circle.xml b/res/drawable/ic_circle.xml index c73285b7d2..b5b8615d22 100644 --- a/res/drawable/ic_circle.xml +++ b/res/drawable/ic_circle.xml @@ -1,6 +1,12 @@ -<vector android:height="24dp" android:viewportHeight="15" - android:viewportWidth="15" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#00000000" +<vector + xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:width="24dp" + android:viewportWidth="15" + android:viewportHeight="15" + android:tint="?colorControlNormal"> + <path android:pathData="M7.5,7.5m-6.5,0a6.5,6.5 0,1 1,13 0a6.5,6.5 0,1 1,-13 0" - android:strokeColor="#FFFFFF" android:strokeWidth="1"/> + android:strokeColor="@android:color/white" + android:strokeWidth="1"/> </vector> diff --git a/res/drawable/ic_circle_check.xml b/res/drawable/ic_circle_check.xml index a258b5c30c..e88b286a9d 100644 --- a/res/drawable/ic_circle_check.xml +++ b/res/drawable/ic_circle_check.xml @@ -1,7 +1,15 @@ -<vector android:height="24dp" android:viewportHeight="15" - android:viewportWidth="15" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#00000000" +<vector + xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:width="24dp" + android:viewportWidth="15" + android:viewportHeight="15" + android:tint="?colorControlNormal"> + <path android:pathData="M7.5,7.5m-6.5,0a6.5,6.5 0,1 1,13 0a6.5,6.5 0,1 1,-13 0" - android:strokeColor="#FFFFFF" android:strokeWidth="1"/> - <path android:fillColor="#FFFFFF" android:pathData="M4.77,7.61c-0.15,-0.15 -0.38,-0.15 -0.53,0c-0.15,0.15 -0.15,0.38 0,0.53l1.88,1.88c0.15,0.15 0.38,0.15 0.53,0l4.13,-4.12c0.15,-0.15 0.15,-0.38 0,-0.53c-0.15,-0.15 -0.38,-0.15 -0.53,0L6.38,9.22L4.77,7.61z"/> + android:strokeColor="@android:color/white" + android:strokeWidth="1"/> + <path + android:fillColor="@android:color/white" + android:pathData="M4.77,7.61c-0.15,-0.15 -0.38,-0.15 -0.53,0c-0.15,0.15 -0.15,0.38 0,0.53l1.88,1.88c0.15,0.15 0.38,0.15 0.53,0l4.13,-4.12c0.15,-0.15 0.15,-0.38 0,-0.53c-0.15,-0.15 -0.38,-0.15 -0.53,0L6.38,9.22L4.77,7.61z"/> </vector> diff --git a/res/drawable/ic_circle_dot_dot_dot.xml b/res/drawable/ic_circle_dot_dot_dot.xml index 28ecaa1fbe..0d1a076b41 100644 --- a/res/drawable/ic_circle_dot_dot_dot.xml +++ b/res/drawable/ic_circle_dot_dot_dot.xml @@ -1,7 +1,15 @@ -<vector android:height="24dp" android:viewportHeight="15" - android:viewportWidth="15" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#00000000" +<vector + android:height="24dp" + android:viewportHeight="15" + android:viewportWidth="15" + android:width="24dp" + xmlns:android="http://schemas.android.com/apk/res/android" + android:tint="?colorControlNormal"> + <path + android:fillColor="#00000000" android:pathData="M7.5,7.5m-6.5,0a6.5,6.5 0,1 1,13 0a6.5,6.5 0,1 1,-13 0" android:strokeColor="#FFFFFF" android:strokeWidth="1"/> - <path android:fillColor="#FFFFFF" android:pathData="M4.76,7.47c0,-0.32 0.26,-0.57 0.57,-0.57c0.32,0 0.57,0.25 0.57,0.57c0,0.31 -0.25,0.57 -0.57,0.57C5.02,8.04 4.76,7.78 4.76,7.47zM7.04,7.47c0,-0.32 0.26,-0.57 0.57,-0.57c0.32,0 0.57,0.25 0.57,0.57c0,0.31 -0.25,0.57 -0.57,0.57C7.3,8.04 7.04,7.78 7.04,7.47zM9.32,7.47c0,-0.32 0.26,-0.57 0.57,-0.57c0.32,0 0.57,0.25 0.57,0.57c0,0.31 -0.25,0.57 -0.57,0.57C9.58,8.04 9.32,7.78 9.32,7.47z"/> + <path + android:fillColor="#FFFFFF" + android:pathData="M4.76,7.47c0,-0.32 0.26,-0.57 0.57,-0.57c0.32,0 0.57,0.25 0.57,0.57c0,0.31 -0.25,0.57 -0.57,0.57C5.02,8.04 4.76,7.78 4.76,7.47zM7.04,7.47c0,-0.32 0.26,-0.57 0.57,-0.57c0.32,0 0.57,0.25 0.57,0.57c0,0.31 -0.25,0.57 -0.57,0.57C7.3,8.04 7.04,7.78 7.04,7.47zM9.32,7.47c0,-0.32 0.26,-0.57 0.57,-0.57c0.32,0 0.57,0.25 0.57,0.57c0,0.31 -0.25,0.57 -0.57,0.57C9.58,8.04 9.32,7.78 9.32,7.47z"/> </vector> diff --git a/res/drawable/ic_circle_plus.xml b/res/drawable/ic_circle_plus.xml index b222f9a9ae..5e243e5296 100644 --- a/res/drawable/ic_circle_plus.xml +++ b/res/drawable/ic_circle_plus.xml @@ -1,36 +1,21 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="27dp" - android:height="27dp" - android:viewportWidth="27" - android:viewportHeight="27"> - <group> - <clip-path android:pathData="M-19,-756h375v812h-375z M 0,0"/> - <group> - <clip-path android:pathData="M-3,-3h33v33h-33z M 0,0"/> - <group> - <clip-path android:pathData="M13.51,8.82c-0.35,0 -0.63,0.28 -0.62,0.62v3.43H9.46c-0.35,0 -0.63,0.28 -0.62,0.62c0,0.35 0.28,0.63 0.62,0.62h3.43v3.43c-0.02,0.35 0.27,0.63 0.61,0.63c0.17,0 0.33,-0.07 0.44,-0.18c0.11,-0.11 0.18,-0.27 0.18,-0.44v-3.43h3.43c0.17,0 0.33,-0.07 0.44,-0.18c0.11,-0.11 0.18,-0.27 0.18,-0.44c0,-0.35 -0.28,-0.63 -0.62,-0.62h-3.43V9.44C14.13,9.09 13.85,8.81 13.51,8.82zM21.46,5.54c4.39,4.39 4.39,11.53 0,15.92c-4.39,4.39 -11.53,4.39 -15.92,0s-4.39,-11.53 0,-15.92C9.93,1.15 17.07,1.15 21.46,5.54zM22.34,22.34c4.88,-4.88 4.88,-12.81 0,-17.69s-12.81,-4.88 -17.69,0s-4.88,12.81 0,17.69S17.47,27.22 22.34,22.34z M 0,0"/> - <group> - <clip-path android:pathData="M0,0h27v27h-27z M 0,0"/> - <path - android:pathData="M-4,-4h35v35h-35z" - android:strokeAlpha="0.9" - android:fillColor="#FFFFFF" - android:fillAlpha="0.9"/> - </group> - </group> - </group> - <group> - <clip-path android:pathData="M-3,-3h33v33h-33z M 0,0"/> - <group> - <clip-path android:pathData="M0,0h27v27h-27z M 0,0"/> - <path - android:pathData="M13.51,8.82c-0.35,0 -0.63,0.28 -0.62,0.62v3.43H9.46c-0.35,0 -0.63,0.28 -0.62,0.62c0,0.35 0.28,0.63 0.62,0.62h3.43v3.43c-0.02,0.35 0.27,0.63 0.61,0.63c0.17,0 0.33,-0.07 0.44,-0.18c0.11,-0.11 0.18,-0.27 0.18,-0.44v-3.43h3.43c0.17,0 0.33,-0.07 0.44,-0.18c0.11,-0.11 0.18,-0.27 0.18,-0.44c0,-0.35 -0.28,-0.63 -0.62,-0.62h-3.43V9.44C14.13,9.09 13.85,8.81 13.51,8.82zM21.46,5.54c4.39,4.39 4.39,11.53 0,15.92c-4.39,4.39 -11.53,4.39 -15.92,0c-4.39,-4.39 -4.39,-11.53 0,-15.92C9.93,1.15 17.07,1.15 21.46,5.54zM22.34,22.34c4.88,-4.88 4.88,-12.81 0,-17.69s-12.81,-4.88 -17.69,0s-4.88,12.81 0,17.69S17.47,27.22 22.34,22.34z" - android:strokeAlpha="0.9" - android:strokeWidth="0.5" - android:fillColor="#00000000" - android:strokeColor="#FFFFFF" - android:fillAlpha="0.9"/> - </group> - </group> - </group> + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?android:colorControlNormal"> + <path + android:pathData="M12,12m-9.4734,0a9.4734,9.4734 0,1 1,18.9468 0a9.4734,9.4734 0,1 1,-18.9468 0" + android:strokeWidth="1.5" + android:strokeColor="@android:color/white"/> + <path + android:pathData="m11.9996,8.4641l0,7.0708" + android:strokeWidth="1.2991" + android:strokeColor="@android:color/white" + android:strokeLineCap="round"/> + <path + android:pathData="m15.535,11.9997l-7.0708,0" + android:strokeWidth="1.2991" + android:strokeColor="@android:color/white" + android:strokeLineCap="round"/> </vector> diff --git a/res/drawable/ic_download_circle_filled_48.xml b/res/drawable/ic_download_circle_filled_48.xml new file mode 100644 index 0000000000..78808945a1 --- /dev/null +++ b/res/drawable/ic_download_circle_filled_48.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="48dp" + android:height="48dp" + android:viewportWidth="12" + android:viewportHeight="12" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M6,1C3.24,1 1,3.24 1,6 1,8.76 3.24,11 6,11 8.76,11 11,8.76 11,6 11,3.24 8.76,1 6,1ZM4.8584,3.8105H7.1313V6.0337H8.708L5.9854,8.7563 3.2632,6.0337h1.5952z" /> +</vector> diff --git a/res/drawable/ic_edit_white_24dp.xml b/res/drawable/ic_edit_white_24dp.xml deleted file mode 100644 index 46462b5726..0000000000 --- a/res/drawable/ic_edit_white_24dp.xml +++ /dev/null @@ -1,5 +0,0 @@ -<vector android:height="24dp" android:tint="#FFFFFF" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FF000000" android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/> -</vector> diff --git a/res/drawable/ic_emoji_filled_keyboard_24.xml b/res/drawable/ic_emoji_filled_keyboard_24.xml new file mode 100644 index 0000000000..af2c68e3c8 --- /dev/null +++ b/res/drawable/ic_emoji_filled_keyboard_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="28" + android:viewportHeight="28" + android:tint="?colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M14,2C7.6,1.8 2.2,6.9 2,13.3c0,0.2 0,0.4 0,0.7c-0.2,6.4 4.9,11.8 11.3,12c0.2,0 0.4,0 0.7,0c6.4,0.2 11.8,-4.9 12,-11.3c0,-0.2 0,-0.4 0,-0.7c0.2,-6.4 -4.9,-11.8 -11.3,-12C14.4,2 14.2,2 14,2zM17.6,9.5c0.9,0 1.6,1 1.6,2.2S18.5,14 17.6,14S16,13 16,11.8S16.7,9.5 17.6,9.5zM10.4,9.5c0.9,0 1.6,1 1.6,2.2S11.3,14 10.4,14s-1.6,-1 -1.6,-2.2S9.5,9.5 10.4,9.5zM20,18.3c-2.5,3.3 -7.2,3.9 -10.5,1.4c-0.5,-0.4 -1,-0.9 -1.4,-1.4c-0.3,-0.3 -0.2,-0.8 0.1,-1.1C8.5,16.9 9,17 9.2,17.3c0,0 0.1,0.1 0.1,0.1c1.1,1.5 2.8,2.3 4.7,2.3c1.9,0 3.6,-0.8 4.7,-2.3c0.2,-0.3 0.7,-0.4 1,-0.2S20.2,17.9 20,18.3L20,18.3z" /> +</vector> diff --git a/res/drawable/ic_emoji_outline_keyboard.xml b/res/drawable/ic_emoji_outline_keyboard.xml index 943277e7a3..ee61f62a88 100644 --- a/res/drawable/ic_emoji_outline_keyboard.xml +++ b/res/drawable/ic_emoji_outline_keyboard.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24" - android:viewportHeight="24"> + android:viewportHeight="24" + android:tint="?colorControlNormal"> <path android:fillColor="#FF636467" android:pathData="M12,18.7c-2.1,0 -4.2,-1 -5.5,-2.7c-0.2,-0.3 -0.2,-0.8 0.2,-1.1s0.8,-0.2 1.1,0.2l0,0c1,1.3 2.6,2.1 4.3,2.1c1.7,0 3.3,-0.8 4.3,-2.1c0.2,-0.3 0.7,-0.4 1,-0.2c0,0 0,0 0,0c0.3,0.2 0.4,0.7 0.2,1C16.2,17.6 14.2,18.7 12,18.7zM12,2.5c-5.1,-0.2 -9.3,3.8 -9.5,8.9c0,0.2 0,0.4 0,0.6c-0.2,5.1 3.8,9.3 8.9,9.5c0.2,0 0.4,0 0.6,0c5.1,0.2 9.3,-3.8 9.5,-8.9c0,-0.2 0,-0.4 0,-0.6c0.2,-5.1 -3.8,-9.3 -8.9,-9.5C12.4,2.5 12.2,2.5 12,2.5M12,1c5.9,-0.2 10.8,4.5 11,10.4c0,0.2 0,0.4 0,0.6c0.2,5.9 -4.5,10.8 -10.4,11c-0.2,0 -0.4,0 -0.6,0C6.1,23.2 1.2,18.5 1,12.6c0,-0.2 0,-0.4 0,-0.6C0.8,6.1 5.5,1.2 11.4,1C11.6,1 11.8,1 12,1zM8.5,8C7.7,8 7,8.9 7,10s0.7,2 1.5,2s1.5,-0.9 1.5,-2S9.3,8 8.5,8zM15.5,8C14.7,8 14,8.9 14,10s0.7,2 1.5,2s1.5,-0.9 1.5,-2S16.3,8 15.5,8z"/> diff --git a/res/drawable/ic_filled_circle_check.xml b/res/drawable/ic_filled_circle_check.xml index c45e603d4c..06c3466fd0 100644 --- a/res/drawable/ic_filled_circle_check.xml +++ b/res/drawable/ic_filled_circle_check.xml @@ -1,5 +1,13 @@ -<vector android:height="24dp" android:viewportHeight="13" - android:viewportWidth="13" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FFFFFF" android:pathData="M6.5,6.5m-6.5,0a6.5,6.5 0,1 1,13 0a6.5,6.5 0,1 1,-13 0"/> - <path android:fillColor="#231F20" android:pathData="M3.77,6.61c-0.15,-0.15 -0.38,-0.15 -0.53,0c-0.15,0.15 -0.15,0.38 0,0.53l1.88,1.88c0.15,0.15 0.38,0.15 0.53,0L9.78,4.9c0.15,-0.15 0.15,-0.38 0,-0.53c-0.15,-0.15 -0.38,-0.15 -0.53,0L5.38,8.22L3.77,6.61z"/> +<vector + android:height="24dp" + android:viewportHeight="13" + android:viewportWidth="13" + android:width="24dp" + xmlns:android="http://schemas.android.com/apk/res/android"> + <path + android:fillColor="?android:textColorPrimary" + android:pathData="M6.5,6.5m-6.5,0a6.5,6.5 0,1 1,13 0a6.5,6.5 0,1 1,-13 0"/> + <path + android:fillColor="?android:textColorPrimaryInverse" + android:pathData="M3.77,6.61c-0.15,-0.15 -0.38,-0.15 -0.53,0c-0.15,0.15 -0.15,0.38 0,0.53l1.88,1.88c0.15,0.15 0.38,0.15 0.53,0L9.78,4.9c0.15,-0.15 0.15,-0.38 0,-0.53c-0.15,-0.15 -0.38,-0.15 -0.53,0L5.38,8.22L3.77,6.61z"/> </vector> diff --git a/res/drawable/ic_globe.xml b/res/drawable/ic_globe.xml index 3d3d6500a8..d16011ad09 100644 --- a/res/drawable/ic_globe.xml +++ b/res/drawable/ic_globe.xml @@ -1,4 +1,10 @@ -<vector android:height="24dp" android:viewportHeight="25" - android:viewportWidth="25" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FFFFFF" android:pathData="M12.5,0.61C5.94,0.61 0.61,5.94 0.61,12.5S5.94,24.39 12.5,24.39s11.89,-5.34 11.89,-11.89S19.06,0.61 12.5,0.61zM2.35,13.35h3.41c0.05,1.35 0.22,2.64 0.5,3.82H3.45C2.85,16.01 2.46,14.72 2.35,13.35zM13.35,6.13V2.47c1.22,0.44 2.3,1.78 3.07,3.66H13.35zM16.98,7.83c0.31,1.17 0.51,2.46 0.57,3.82h-4.19V7.83H16.98zM11.65,2.47v3.66H8.58C9.35,4.24 10.43,2.9 11.65,2.47zM11.65,7.83v3.82H7.46C7.52,10.29 7.72,9 8.02,7.83H11.65zM5.76,11.65H2.35c0.11,-1.37 0.5,-2.66 1.1,-3.82h2.81C5.98,9.01 5.81,10.3 5.76,11.65zM7.46,13.35h4.19v3.82H8.02C7.72,16 7.52,14.71 7.46,13.35zM11.65,18.87v3.66c-1.22,-0.44 -2.3,-1.78 -3.07,-3.66H11.65zM13.35,22.53v-3.66h3.07C15.65,20.76 14.57,22.1 13.35,22.53zM13.35,17.17v-3.82h4.19c-0.06,1.36 -0.26,2.65 -0.57,3.82H13.35zM19.24,13.35h3.41c-0.11,1.37 -0.5,2.66 -1.1,3.82h-2.81C19.02,15.99 19.19,14.7 19.24,13.35zM19.24,11.65c-0.05,-1.35 -0.22,-2.64 -0.5,-3.82h2.81c0.6,1.16 0.99,2.45 1.1,3.82H19.24zM20.45,6.13h-2.21c-0.38,-1.08 -0.86,-2.05 -1.42,-2.85C18.23,3.94 19.47,4.92 20.45,6.13zM8.18,3.28c-0.56,0.8 -1.03,1.77 -1.42,2.85H4.56C5.53,4.92 6.77,3.94 8.18,3.28zM4.55,18.87h2.21c0.38,1.08 0.86,2.05 1.42,2.85C6.77,21.06 5.53,20.08 4.55,18.87zM16.82,21.72c0.56,-0.8 1.03,-1.77 1.42,-2.85h2.21C19.47,20.08 18.23,21.06 16.82,21.72z"/> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:height="24dp" + android:width="24dp" + android:viewportWidth="25" + android:viewportHeight="25" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M12.5,0.61C5.94,0.61 0.61,5.94 0.61,12.5S5.94,24.39 12.5,24.39s11.89,-5.34 11.89,-11.89S19.06,0.61 12.5,0.61zM2.35,13.35h3.41c0.05,1.35 0.22,2.64 0.5,3.82H3.45C2.85,16.01 2.46,14.72 2.35,13.35zM13.35,6.13V2.47c1.22,0.44 2.3,1.78 3.07,3.66H13.35zM16.98,7.83c0.31,1.17 0.51,2.46 0.57,3.82h-4.19V7.83H16.98zM11.65,2.47v3.66H8.58C9.35,4.24 10.43,2.9 11.65,2.47zM11.65,7.83v3.82H7.46C7.52,10.29 7.72,9 8.02,7.83H11.65zM5.76,11.65H2.35c0.11,-1.37 0.5,-2.66 1.1,-3.82h2.81C5.98,9.01 5.81,10.3 5.76,11.65zM7.46,13.35h4.19v3.82H8.02C7.72,16 7.52,14.71 7.46,13.35zM11.65,18.87v3.66c-1.22,-0.44 -2.3,-1.78 -3.07,-3.66H11.65zM13.35,22.53v-3.66h3.07C15.65,20.76 14.57,22.1 13.35,22.53zM13.35,17.17v-3.82h4.19c-0.06,1.36 -0.26,2.65 -0.57,3.82H13.35zM19.24,13.35h3.41c-0.11,1.37 -0.5,2.66 -1.1,3.82h-2.81C19.02,15.99 19.19,14.7 19.24,13.35zM19.24,11.65c-0.05,-1.35 -0.22,-2.64 -0.5,-3.82h2.81c0.6,1.16 0.99,2.45 1.1,3.82H19.24zM20.45,6.13h-2.21c-0.38,-1.08 -0.86,-2.05 -1.42,-2.85C18.23,3.94 19.47,4.92 20.45,6.13zM8.18,3.28c-0.56,0.8 -1.03,1.77 -1.42,2.85H4.56C5.53,4.92 6.77,3.94 8.18,3.28zM4.55,18.87h2.21c0.38,1.08 0.86,2.05 1.42,2.85C6.77,21.06 5.53,20.08 4.55,18.87zM16.82,21.72c0.56,-0.8 1.03,-1.77 1.42,-2.85h2.21C19.47,20.08 18.23,21.06 16.82,21.72z"/> </vector> diff --git a/res/drawable/ic_group.xml b/res/drawable/ic_group.xml index a131b23b13..1a4a3feddd 100644 --- a/res/drawable/ic_group.xml +++ b/res/drawable/ic_group.xml @@ -2,17 +2,12 @@ android:width="24dp" android:height="17dp" android:viewportWidth="24" - android:viewportHeight="17"> + android:viewportHeight="17" + android:tint="?attr/colorControlNormal"> <path android:pathData="M11.7187,8.2031C12.4511,8.2031 13.1347,8.02 13.7695,7.6538C14.4043,7.2876 14.9047,6.7871 15.271,6.1523C15.6372,5.5176 15.8203,4.834 15.8203,4.1016C15.8203,3.3691 15.6372,2.6855 15.271,2.0508C14.9047,1.416 14.4043,0.9155 13.7695,0.5493C13.1347,0.1831 12.4511,0 11.7187,0C10.9863,0 10.3027,0.1831 9.6679,0.5493C9.0332,0.9155 8.5327,1.416 8.1665,2.0508C7.8003,2.6855 7.6172,3.3691 7.6172,4.1016C7.6172,4.834 7.8003,5.5176 8.1665,6.1523C8.5327,6.7871 9.0332,7.2876 9.6679,7.6538C10.3027,8.02 10.9863,8.2031 11.7187,8.2031ZM19.9218,7.0312C20.7275,7.0312 21.4172,6.7444 21.9909,6.1706C22.5646,5.5969 22.8515,4.9072 22.8515,4.1016C22.8515,3.2959 22.5646,2.6062 21.9909,2.0325C21.4172,1.4587 20.7275,1.1719 19.9218,1.1719C19.1162,1.1719 18.4265,1.4587 17.8527,2.0325C17.279,2.6062 16.9921,3.2959 16.9921,4.1016C16.9921,4.9072 17.279,5.5969 17.8527,6.1706C18.4265,6.7444 19.1162,7.0312 19.9218,7.0312ZM3.5156,7.0312C4.3213,7.0312 5.011,6.7444 5.5847,6.1706C6.1584,5.5969 6.4453,4.9072 6.4453,4.1016C6.4453,3.2959 6.1584,2.6062 5.5847,2.0325C5.011,1.4587 4.3213,1.1719 3.5156,1.1719C2.71,1.1719 2.0203,1.4587 1.4465,2.0325C0.8728,2.6062 0.5859,3.2959 0.5859,4.1016C0.5859,4.9072 0.8728,5.5969 1.4465,6.1706C2.0203,6.7444 2.71,7.0312 3.5156,7.0312ZM11.7187,6.4453C11.084,6.4453 10.5346,6.2134 10.0708,5.7495C9.6069,5.2856 9.375,4.7363 9.375,4.1016C9.375,3.4668 9.6069,2.9175 10.0708,2.4536C10.5346,1.9897 11.084,1.7578 11.7187,1.7578C12.3535,1.7578 12.9028,1.9897 13.3667,2.4536C13.8305,2.9175 14.0625,3.4668 14.0625,4.1016C14.0625,4.7363 13.8305,5.2856 13.3667,5.7495C12.9028,6.2134 12.3535,6.4453 11.7187,6.4453ZM19.9218,5.2734C19.6044,5.2734 19.3298,5.1575 19.0979,4.9255C18.8659,4.6936 18.75,4.4189 18.75,4.1016C18.75,3.7842 18.8659,3.5095 19.0979,3.2776C19.3298,3.0456 19.6044,2.9297 19.9218,2.9297C20.2392,2.9297 20.5139,3.0456 20.7458,3.2776C20.9777,3.5095 21.0937,3.7842 21.0937,4.1016C21.0937,4.4189 20.9777,4.6936 20.7458,4.9255C20.5139,5.1575 20.2392,5.2734 19.9218,5.2734ZM3.5156,5.2734C3.1982,5.2734 2.9236,5.1575 2.6916,4.9255C2.4597,4.6936 2.3437,4.4189 2.3437,4.1016C2.3437,3.7842 2.4597,3.5095 2.6916,3.2776C2.9236,3.0456 3.1982,2.9297 3.5156,2.9297C3.833,2.9297 4.1077,3.0456 4.3396,3.2776C4.5715,3.5095 4.6875,3.7842 4.6875,4.1016C4.6875,4.4189 4.5715,4.6936 4.3396,4.9255C4.1077,5.1575 3.833,5.2734 3.5156,5.2734ZM22.5585,12.1582C22.8027,12.1582 23.0102,12.0727 23.1811,11.9018C23.352,11.7309 23.4374,11.5234 23.4374,11.2793C23.4374,10.4248 23.1384,9.6985 22.5402,9.1003C21.9421,8.5022 21.2158,8.2031 20.3613,8.2031L20.3613,8.2031L19.4824,8.2031C18.8476,8.2031 18.2739,8.374 17.7612,8.7158C18.2739,9.1064 18.7011,9.5459 19.0429,10.0342C19.2138,9.9853 19.3603,9.9609 19.4824,9.9609L19.4824,9.9609L20.3613,9.9609C20.7275,9.9609 21.0388,10.0891 21.2951,10.3454C21.5515,10.6018 21.6796,10.9131 21.6796,11.2793C21.6796,11.5234 21.7651,11.7309 21.936,11.9018C22.1069,12.0727 22.3144,12.1582 22.5585,12.1582ZM0.8789,12.1582C1.123,12.1582 1.3306,12.0727 1.5015,11.9018C1.6724,11.7309 1.7578,11.5234 1.7578,11.2793C1.7578,10.9131 1.886,10.6018 2.1423,10.3454C2.3987,10.0891 2.71,9.9609 3.0762,9.9609L3.0762,9.9609L3.9551,9.9609C4.1016,9.9609 4.248,9.9975 4.3945,10.0708C4.7363,9.5581 5.1636,9.1064 5.6763,8.7158C5.1636,8.374 4.5898,8.2031 3.9551,8.2031L3.9551,8.2031L3.0762,8.2031C2.2217,8.2031 1.4954,8.5022 0.8972,9.1003C0.2991,9.6985 0,10.4248 0,11.2793C0,11.5234 0.0854,11.7309 0.2563,11.9018C0.4272,12.0727 0.6348,12.1582 0.8789,12.1582ZM16.9921,16.4062C17.4804,16.4062 17.8955,16.2353 18.2373,15.8935C18.5791,15.5517 18.75,15.1367 18.75,14.6484L18.75,14.6484L18.75,13.0005C18.75,12.146 18.5058,11.3647 18.0175,10.6567C17.5293,9.9243 16.8518,9.4177 15.9851,9.1369C15.1184,8.8562 14.2456,8.8501 13.3667,9.1186C12.8051,9.2895 12.2497,9.375 11.7004,9.375C11.1511,9.375 10.6079,9.2895 10.0708,9.1186C9.1919,8.8501 8.3191,8.8562 7.4524,9.1369C6.5857,9.4177 5.9082,9.9182 5.4199,10.6384C4.9316,11.3586 4.6875,12.146 4.6875,13.0005L4.6875,13.0005L4.6875,14.6484C4.6875,15.1367 4.8584,15.5517 5.2002,15.8935C5.542,16.2353 5.957,16.4062 6.4453,16.4062L6.4453,16.4062L16.9921,16.4062ZM16.9921,14.6484L6.4453,14.6484L6.4453,13.0005C6.4453,12.3413 6.6772,11.7737 7.1411,11.2976C7.605,10.8215 8.1665,10.5713 8.8257,10.5469C9.7778,10.9375 10.7422,11.1328 11.7187,11.1328C12.6953,11.1328 13.6596,10.9375 14.6118,10.5469C15.271,10.5713 15.8325,10.8215 16.2963,11.2976C16.7602,11.7737 16.9921,12.3413 16.9921,13.0005L16.9921,13.0005L16.9921,14.6484Z" - android:strokeWidth="1" - android:fillColor="#ffffff" - android:fillType="nonZero" - android:strokeColor="#00000000"/> + android:fillColor="@android:color/white"/> <path android:pathData="M11.7187,8.2031C12.4511,8.2031 13.1347,8.02 13.7695,7.6538C14.4043,7.2876 14.9047,6.7871 15.271,6.1523C15.6372,5.5176 15.8203,4.834 15.8203,4.1016C15.8203,3.3691 15.6372,2.6855 15.271,2.0508C14.9047,1.416 14.4043,0.9155 13.7695,0.5493C13.1347,0.1831 12.4511,0 11.7187,0C10.9863,0 10.3027,0.1831 9.6679,0.5493C9.0332,0.9155 8.5327,1.416 8.1665,2.0508C7.8003,2.6855 7.6172,3.3691 7.6172,4.1016C7.6172,4.834 7.8003,5.5176 8.1665,6.1523C8.5327,6.7871 9.0332,7.2876 9.6679,7.6538C10.3027,8.02 10.9863,8.2031 11.7187,8.2031ZM19.9218,7.0312C20.7275,7.0312 21.4172,6.7444 21.9909,6.1706C22.5646,5.5969 22.8515,4.9072 22.8515,4.1016C22.8515,3.2959 22.5646,2.6062 21.9909,2.0325C21.4172,1.4587 20.7275,1.1719 19.9218,1.1719C19.1162,1.1719 18.4265,1.4587 17.8527,2.0325C17.279,2.6062 16.9921,3.2959 16.9921,4.1016C16.9921,4.9072 17.279,5.5969 17.8527,6.1706C18.4265,6.7444 19.1162,7.0312 19.9218,7.0312ZM3.5156,7.0312C4.3213,7.0312 5.011,6.7444 5.5847,6.1706C6.1584,5.5969 6.4453,4.9072 6.4453,4.1016C6.4453,3.2959 6.1584,2.6062 5.5847,2.0325C5.011,1.4587 4.3213,1.1719 3.5156,1.1719C2.71,1.1719 2.0203,1.4587 1.4465,2.0325C0.8728,2.6062 0.5859,3.2959 0.5859,4.1016C0.5859,4.9072 0.8728,5.5969 1.4465,6.1706C2.0203,6.7444 2.71,7.0312 3.5156,7.0312ZM11.7187,6.4453C11.084,6.4453 10.5346,6.2134 10.0708,5.7495C9.6069,5.2856 9.375,4.7363 9.375,4.1016C9.375,3.4668 9.6069,2.9175 10.0708,2.4536C10.5346,1.9897 11.084,1.7578 11.7187,1.7578C12.3535,1.7578 12.9028,1.9897 13.3667,2.4536C13.8305,2.9175 14.0625,3.4668 14.0625,4.1016C14.0625,4.7363 13.8305,5.2856 13.3667,5.7495C12.9028,6.2134 12.3535,6.4453 11.7187,6.4453ZM19.9218,5.2734C19.6044,5.2734 19.3298,5.1575 19.0979,4.9255C18.8659,4.6936 18.75,4.4189 18.75,4.1016C18.75,3.7842 18.8659,3.5095 19.0979,3.2776C19.3298,3.0456 19.6044,2.9297 19.9218,2.9297C20.2392,2.9297 20.5139,3.0456 20.7458,3.2776C20.9777,3.5095 21.0937,3.7842 21.0937,4.1016C21.0937,4.4189 20.9777,4.6936 20.7458,4.9255C20.5139,5.1575 20.2392,5.2734 19.9218,5.2734ZM3.5156,5.2734C3.1982,5.2734 2.9236,5.1575 2.6916,4.9255C2.4597,4.6936 2.3437,4.4189 2.3437,4.1016C2.3437,3.7842 2.4597,3.5095 2.6916,3.2776C2.9236,3.0456 3.1982,2.9297 3.5156,2.9297C3.833,2.9297 4.1077,3.0456 4.3396,3.2776C4.5715,3.5095 4.6875,3.7842 4.6875,4.1016C4.6875,4.4189 4.5715,4.6936 4.3396,4.9255C4.1077,5.1575 3.833,5.2734 3.5156,5.2734ZM22.5585,12.1582C22.8027,12.1582 23.0102,12.0727 23.1811,11.9018C23.352,11.7309 23.4374,11.5234 23.4374,11.2793C23.4374,10.4248 23.1384,9.6985 22.5402,9.1003C21.9421,8.5022 21.2158,8.2031 20.3613,8.2031L20.3613,8.2031L19.4824,8.2031C18.8476,8.2031 18.2739,8.374 17.7612,8.7158C18.2739,9.1064 18.7011,9.5459 19.0429,10.0342C19.2138,9.9853 19.3603,9.9609 19.4824,9.9609L19.4824,9.9609L20.3613,9.9609C20.7275,9.9609 21.0388,10.0891 21.2951,10.3454C21.5515,10.6018 21.6796,10.9131 21.6796,11.2793C21.6796,11.5234 21.7651,11.7309 21.936,11.9018C22.1069,12.0727 22.3144,12.1582 22.5585,12.1582ZM0.8789,12.1582C1.123,12.1582 1.3306,12.0727 1.5015,11.9018C1.6724,11.7309 1.7578,11.5234 1.7578,11.2793C1.7578,10.9131 1.886,10.6018 2.1423,10.3454C2.3987,10.0891 2.71,9.9609 3.0762,9.9609L3.0762,9.9609L3.9551,9.9609C4.1016,9.9609 4.248,9.9975 4.3945,10.0708C4.7363,9.5581 5.1636,9.1064 5.6763,8.7158C5.1636,8.374 4.5898,8.2031 3.9551,8.2031L3.9551,8.2031L3.0762,8.2031C2.2217,8.2031 1.4954,8.5022 0.8972,9.1003C0.2991,9.6985 0,10.4248 0,11.2793C0,11.5234 0.0854,11.7309 0.2563,11.9018C0.4272,12.0727 0.6348,12.1582 0.8789,12.1582ZM16.9921,16.4062C17.4804,16.4062 17.8955,16.2353 18.2373,15.8935C18.5791,15.5517 18.75,15.1367 18.75,14.6484L18.75,14.6484L18.75,13.0005C18.75,12.146 18.5058,11.3647 18.0175,10.6567C17.5293,9.9243 16.8518,9.4177 15.9851,9.1369C15.1184,8.8562 14.2456,8.8501 13.3667,9.1186C12.8051,9.2895 12.2497,9.375 11.7004,9.375C11.1511,9.375 10.6079,9.2895 10.0708,9.1186C9.1919,8.8501 8.3191,8.8562 7.4524,9.1369C6.5857,9.4177 5.9082,9.9182 5.4199,10.6384C4.9316,11.3586 4.6875,12.146 4.6875,13.0005L4.6875,13.0005L4.6875,14.6484C4.6875,15.1367 4.8584,15.5517 5.2002,15.8935C5.542,16.2353 5.957,16.4062 6.4453,16.4062L6.4453,16.4062L16.9921,16.4062ZM16.9921,14.6484L6.4453,14.6484L6.4453,13.0005C6.4453,12.3413 6.6772,11.7737 7.1411,11.2976C7.605,10.8215 8.1665,10.5713 8.8257,10.5469C9.7778,10.9375 10.7422,11.1328 11.7187,11.1328C12.6953,11.1328 13.6596,10.9375 14.6118,10.5469C15.271,10.5713 15.8325,10.8215 16.2963,11.2976C16.7602,11.7737 16.9921,12.3413 16.9921,13.0005L16.9921,13.0005L16.9921,14.6484Z" - android:strokeWidth="1" - android:fillColor="#ffffff" - android:fillType="nonZero" - android:strokeColor="#00000000"/> + android:fillColor="@android:color/white"/> </vector> diff --git a/res/drawable/ic_message.xml b/res/drawable/ic_message.xml index 77b88ec345..fb194f55d6 100644 --- a/res/drawable/ic_message.xml +++ b/res/drawable/ic_message.xml @@ -2,11 +2,9 @@ android:width="20dp" android:height="20dp" android:viewportWidth="20" - android:viewportHeight="20"> + android:viewportHeight="20" + android:tint="?attr/colorControlNormal"> <path android:pathData="M4.2929,14.2929C4.4804,14.1054 4.7348,14 5,14L17,14C17.5523,14 18,13.5523 18,13L18,3C18,2.4477 17.5523,2 17,2L3,2C2.4477,2 2,2.4477 2,3L2,16.5858L4.2929,14.2929ZM5.4142,16L1.7071,19.7071C1.0771,20.3371 0,19.8909 0,19L0,3C0,1.3431 1.3431,0 3,0L17,0C18.6569,0 20,1.3431 20,3L20,13C20,14.6569 18.6569,16 17,16L5.4142,16Z" - android:strokeWidth="1" - android:fillColor="#ffffff" - android:fillType="nonZero" - android:strokeColor="#ffffff"/> + android:fillColor="@android:color/white"/> </vector> diff --git a/res/drawable/ic_more_horiz_white.xml b/res/drawable/ic_more_horiz_white.xml index 8bb3fc306f..efb34a24a3 100644 --- a/res/drawable/ic_more_horiz_white.xml +++ b/res/drawable/ic_more_horiz_white.xml @@ -1,5 +1,10 @@ -<vector android:height="24dp" android:tint="#FFFFFF" - android:viewportHeight="24" android:viewportWidth="24" - android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="@android:color/white" android:pathData="M6,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM18,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M6,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM18,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z" /> </vector> diff --git a/res/drawable/ic_mute.xml b/res/drawable/ic_mute.xml index 2f6d3c2950..64d2c68a59 100644 --- a/res/drawable/ic_mute.xml +++ b/res/drawable/ic_mute.xml @@ -2,8 +2,9 @@ android:width="512dp" android:height="512dp" android:viewportWidth="512" - android:viewportHeight="512"> + android:viewportHeight="512" + android:tint="?attr/colorControlNormal"> <path android:pathData="M215.03,71.05L126.06,160H24c-13.26,0 -24,10.74 -24,24v144c0,13.25 10.74,24 24,24h102.06l88.97,88.95c15.03,15.03 40.97,4.47 40.97,-16.97V88.02c0,-21.46 -25.96,-31.98 -40.97,-16.97zM461.64,256l45.64,-45.64c6.3,-6.3 6.3,-16.52 0,-22.82l-22.82,-22.82c-6.3,-6.3 -16.52,-6.3 -22.82,0L416,210.36l-45.64,-45.64c-6.3,-6.3 -16.52,-6.3 -22.82,0l-22.82,22.82c-6.3,6.3 -6.3,16.52 0,22.82L370.36,256l-45.63,45.63c-6.3,6.3 -6.3,16.52 0,22.82l22.82,22.82c6.3,6.3 16.52,6.3 22.82,0L416,301.64l45.64,45.64c6.3,6.3 16.52,6.3 22.82,0l22.82,-22.82c6.3,-6.3 6.3,-16.52 0,-22.82L461.64,256z" - android:fillColor="#FFFFFF"/> + android:fillColor="@android:color/white"/> </vector> diff --git a/res/drawable/ic_outline_keyboard_24.xml b/res/drawable/ic_outline_keyboard_24.xml new file mode 100644 index 0000000000..4a2b3a78f1 --- /dev/null +++ b/res/drawable/ic_outline_keyboard_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M20,7v10L4,17L4,7h16m0,-2L4,5c-1.1,0 -1.99,0.9 -1.99,2L2,17c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2zM11,8h2v2h-2zM11,11h2v2h-2zM8,8h2v2L8,10zM8,11h2v2L8,13zM5,11h2v2L5,13zM5,8h2v2L5,10zM8,14h8v2L8,16zM14,11h2v2h-2zM14,8h2v2h-2zM17,11h2v2h-2zM17,8h2v2h-2z"/> +</vector> diff --git a/res/drawable/ic_outline_night_mode_24.xml b/res/drawable/ic_outline_night_mode_24.xml new file mode 100644 index 0000000000..8b8b2700ac --- /dev/null +++ b/res/drawable/ic_outline_night_mode_24.xml @@ -0,0 +1,12 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?android:colorControlNormal"> + <path + android:strokeColor="#FF000000" + android:strokeWidth="1.5" + android:pathData="m11.6367,2.0156c-5.3859,0.1852 -9.6563,4.6051 -9.6563,9.9941 0,5.5228 4.4772,10 10,10 3.3578,-0.0007 6.4911,-1.6866 8.3418,-4.4883C12.136,17.7514 7.2211,8.8651 11.6367,2.0156Z" + android:strokeLineCap="round"/> +</vector> diff --git a/res/drawable/ic_outline_night_mode_auto_24.xml b/res/drawable/ic_outline_night_mode_auto_24.xml new file mode 100644 index 0000000000..379afd3360 --- /dev/null +++ b/res/drawable/ic_outline_night_mode_auto_24.xml @@ -0,0 +1,15 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?android:colorControlNormal"> + <path + android:fillColor="#FF000000" + android:pathData="m18.170384,1.7399147 -3.199219,9.0000003 h 1.898438 l 0.701172,-2.0000003 h 3.199218 l 0.701172,2.0000003 h 1.898438 L 20.170384,1.7399147 Z m 1,2 1.150391,3.6503906 h -2.300782z"/> + <path + android:strokeColor="#FF000000" + android:strokeWidth="1.5" + android:pathData="m11.6367,2.0156c-5.3859,0.1852 -9.6563,4.6051 -9.6563,9.9941 0,5.5228 4.4772,10 10,10 3.3578,-0.0007 6.4911,-1.6866 8.3418,-4.4883C12.136,17.7514 7.2211,8.8651 11.6367,2.0156Z" + android:strokeLineCap="round"/> +</vector> diff --git a/res/drawable/ic_outline_notifications_off_24.xml b/res/drawable/ic_outline_notifications_off_24.xml new file mode 100644 index 0000000000..cdb23eefa6 --- /dev/null +++ b/res/drawable/ic_outline_notifications_off_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.9,2 2,2zM12,6.5c2.49,0 4,2.02 4,4.5v0.1l2,2L18,11c0,-3.07 -1.63,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68c-0.24,0.06 -0.47,0.15 -0.69,0.23l1.64,1.64c0.18,-0.02 0.36,-0.05 0.55,-0.05zM5.41,3.35L4,4.76l2.81,2.81C6.29,8.57 6,9.74 6,11v5l-2,2v1h14.24l1.74,1.74 1.41,-1.41L5.41,3.35zM16,17L8,17v-6c0,-0.68 0.12,-1.32 0.34,-1.9L16,16.76L16,17z"/> +</vector> diff --git a/res/drawable/ic_outline_photo_camera_24.xml b/res/drawable/ic_outline_photo_camera_24.xml new file mode 100644 index 0000000000..58dee806f9 --- /dev/null +++ b/res/drawable/ic_outline_photo_camera_24.xml @@ -0,0 +1,15 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:strokeWidth="1.5" + android:pathData="M 9.1799478,2.9655 7.4596583,4.844265 H 4.4799837 c -1.0339942,0 -1.8800277,0.8454653 -1.8800277,1.878765 v 11.273221 c 0,1.033342 0.8460019,1.878765 1.8800277,1.878765 H 19.520416 c 1.033994,0 1.880028,-0.845465 1.880028,-1.878765 V 6.72303 c 0,-1.0333418 -0.846002,-1.878765 -1.880028,-1.878765 H 16.540742 L 14.820452,2.9655 Z" + android:strokeColor="@android:color/white"/> + <path + android:strokeWidth="1.5" + android:pathData="m 11.99999,16.70635 c -2.3447128,0 -4.2454779,-1.900765 -4.2454782,-4.245478 -3e-7,-2.344713 1.9007652,-4.2454787 4.2454782,-4.2454789 2.344713,-2e-7 4.245479,1.9007659 4.245479,4.2454789 0,2.344713 -1.900766,4.245478 -4.245479,4.245478 z" + android:strokeColor="@android:color/white"/> +</vector> diff --git a/res/drawable/ic_phonelink_erase_white_24dp.xml b/res/drawable/ic_phonelink_erase_white_24dp.xml index dc5c1b0260..fbd3ad6578 100644 --- a/res/drawable/ic_phonelink_erase_white_24dp.xml +++ b/res/drawable/ic_phonelink_erase_white_24dp.xml @@ -1,5 +1,11 @@ -<vector android:height="24dp" android:tint="#FFFFFF" - android:viewportHeight="24.0" android:viewportWidth="24.0" - android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <path android:fillColor="#FF000000" android:pathData="M13,8.2l-1,-1 -4,4 -4,-4 -1,1 4,4 -4,4 1,1 4,-4 4,4 1,-1 -4,-4 4,-4zM19,1H9c-1.1,0 -2,0.9 -2,2v3h2V4h10v16H9v-2H7v3c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-2 -2,-2z"/> +<vector + xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportHeight="24.0" + android:viewportWidth="24.0" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M13,8.2l-1,-1 -4,4 -4,-4 -1,1 4,4 -4,4 1,1 4,-4 4,4 1,-1 -4,-4 4,-4zM19,1H9c-1.1,0 -2,0.9 -2,2v3h2V4h10v16H9v-2H7v3c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-2 -2,-2z"/> </vector> diff --git a/res/drawable/ic_plus.xml b/res/drawable/ic_plus.xml index e57a46a646..a300f234cc 100644 --- a/res/drawable/ic_plus.xml +++ b/res/drawable/ic_plus.xml @@ -2,17 +2,12 @@ android:width="23dp" android:height="23dp" android:viewportWidth="23" - android:viewportHeight="23"> + android:viewportHeight="23" + android:tint="?attr/colorControlNormal"> <path android:pathData="M11.4167,0.1111L11.4167,0.1111A1.5278,1.5278 0,0 1,12.9444 1.6389L12.9444,20.5833A1.5278,1.5278 0,0 1,11.4167 22.1111L11.4167,22.1111A1.5278,1.5278 0,0 1,9.8889 20.5833L9.8889,1.6389A1.5278,1.5278 0,0 1,11.4167 0.1111z" - android:strokeWidth="1" - android:fillColor="#FFFFFF" - android:fillType="evenOdd" - android:strokeColor="#00000000"/> + android:fillColor="@android:color/white"/> <path android:pathData="M22.4167,11.1111C22.4167,11.9549 21.7327,12.6389 20.8889,12.6389L1.9444,12.6389C1.1007,12.6389 0.4167,11.9549 0.4167,11.1111C0.4167,10.2673 1.1007,9.5833 1.9444,9.5833L20.8889,9.5833C21.7327,9.5833 22.4167,10.2673 22.4167,11.1111Z" - android:strokeWidth="1" - android:fillColor="#FFFFFF" - android:fillType="evenOdd" - android:strokeColor="#00000000"/> + android:fillColor="@android:color/white"/> </vector> diff --git a/res/drawable/ic_qr_code.xml b/res/drawable/ic_qr_code.xml deleted file mode 100644 index 00ab0f639f..0000000000 --- a/res/drawable/ic_qr_code.xml +++ /dev/null @@ -1,240 +0,0 @@ -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="25dp" - android:height="25dp" - android:viewportWidth="25" - android:viewportHeight="25"> - <group> - <clip-path android:pathData="M7.81,7.81H1.56V1.56h6.25V7.81zM9.38,0H0v9.38h9.38V0z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M-5,-5h19.38v19.38h-19.38z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M3.12,3.12h3.12v3.12h-3.12z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M-1.88,-1.88h13.12v13.12h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M1.56,17.19h6.25v6.25H1.56V17.19zM0,25h9.38v-9.38H0V25z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M-5,10.62h19.38v19.38h-19.38z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M3.12,18.75h3.12v3.12h-3.12z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M-1.88,13.75h13.12v13.12h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M23.44,7.81h-6.25V1.56h6.25V7.81zM15.62,0v9.38H25V0H15.62z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M10.62,-5h19.38v19.38h-19.38z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M18.75,3.12h3.12v3.12h-3.12z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M13.75,-1.88h13.12v13.12h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M3.12,10.94l-3.12,0l0,3.12l4.69,0l0,-1.56l-1.57,0z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M-5,5.94h14.69v13.12h-14.69z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M10.94,14.06h3.12v3.12h-3.12z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M5.94,9.06h13.12v13.12h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M4.69,10.94h3.12v1.56h-3.12z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M-0.31,5.94h13.12v11.56h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M14.06,18.75l-3.12,0l0,1.56l1.56,0l0,1.57l1.56,0l0,-1.57z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M5.94,13.75h13.12v13.12h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M9.38,10.94l0,1.56l-1.57,0l0,1.56l3.13,0l0,-3.12z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M2.81,5.94h13.12v13.12h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M12.5,6.25h1.56v3.12h-1.56z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M7.5,1.25h11.56v13.12h-11.56z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M14.06,12.5l0,1.56l3.13,0l0,-3.12l-4.69,0l0,1.56z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M7.5,5.94h14.69v13.12h-14.69z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M10.94,9.38h1.56v1.56h-1.56z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M5.94,4.38h11.56v11.56h-11.56z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M14.06,21.88h3.12v3.12h-3.12z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M9.06,16.88h13.12v13.12h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M10.94,21.88h1.56v3.12h-1.56z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M5.94,16.88h11.56v13.12h-11.56z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M14.06,17.19h1.56v1.56h-1.56z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M9.06,12.19h11.56v11.56h-11.56z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M14.06,4.69l0,-3.13l-1.56,0l0,-1.56l-1.56,0l0,6.25l1.56,0l0,-1.56z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M5.94,-5h13.12v16.25h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M18.75,21.88h1.56v3.12h-1.56z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M13.75,16.88h11.56v13.12h-11.56z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M18.75,18.75h3.12v1.56h-3.12z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M13.75,13.75h13.12v11.56h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M17.19,20.31h1.56v1.56h-1.56z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M12.19,15.31h11.56v11.56h-11.56z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M15.62,18.75h1.56v1.56h-1.56z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M10.62,13.75h11.56v11.56h-11.56z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M21.88,15.62l0,1.57l1.56,0l0,1.56l1.56,0l0,-3.13l-1.56,0z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M16.88,10.62h13.12v13.12h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M23.44,20.31l-1.56,0l0,4.69l3.12,0l0,-3.12l-1.56,0z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M16.88,15.31h13.12v14.69h-13.12z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M15.62,15.62l0,1.57l4.69,0l0,-3.13l-3.12,0l0,1.56z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M10.62,9.06h14.69v13.12h-14.69z" - android:fillColor="#FFFFFF"/> - </group> - </group> - <group> - <clip-path android:pathData="M18.75,10.94l0,1.56l3.13,0l0,1.56l3.12,0l0,-3.12l-3.12,0z M 0,0"/> - <group> - <clip-path android:pathData="M-335,-28h375v908h-375z M 0,0"/> - <path - android:pathData="M13.75,5.94h16.25v13.12h-16.25z" - android:fillColor="#FFFFFF"/> - </group> - </group> -</vector> diff --git a/res/drawable/ic_qr_code_24.xml b/res/drawable/ic_qr_code_24.xml new file mode 100644 index 0000000000..acd7573fdd --- /dev/null +++ b/res/drawable/ic_qr_code_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="27dp" + android:height="27dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?attr/colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M15,21h-2v-2h2V21zM13,14h-2v5h2V14zM21,12h-2v4h2V12zM19,10h-2v2h2V10zM7,12H5v2h2V12zM5,10H3v2h2V10zM12,5h2V3h-2V5zM4.5,4.5v3h3v-3H4.5zM9,9H3V3h6V9zM4.5,16.5v3h3v-3H4.5zM9,21H3v-6h6V21zM16.5,4.5v3h3v-3H16.5zM21,9h-6V3h6V9zM19,19v-3l-4,0v2h2v3h4v-2H19zM17,12l-4,0v2h4V12zM13,10H7v2h2v2h2v-2h2V10zM14,9V7h-2V5h-2v4L14,9zM6.75,5.25h-1.5v1.5h1.5V5.25zM6.75,17.25h-1.5v1.5h1.5V17.25zM18.75,5.25h-1.5v1.5h1.5V5.25z"/> +</vector> diff --git a/res/drawable/ic_sticker_filled_keyboard_24.xml b/res/drawable/ic_sticker_filled_keyboard_24.xml new file mode 100644 index 0000000000..de5399d3e7 --- /dev/null +++ b/res/drawable/ic_sticker_filled_keyboard_24.xml @@ -0,0 +1,10 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="?colorControlNormal"> + <path + android:fillColor="@android:color/white" + android:pathData="M9,22H7.1c-1.1,0.1 -2.1,-0.1 -3.1,-0.5c-0.6,-0.3 -1.2,-0.8 -1.5,-1.5c-0.5,-1 -0.6,-2.1 -0.5,-3.1V7.1C1.9,6.1 2.1,5 2.5,4.1c0.3,-0.6 0.9,-1.2 1.5,-1.5c1,-0.5 2,-0.6 3.1,-0.5h9.7C17.9,1.9 19,2.1 20,2.5c0.6,0.3 1.2,0.9 1.5,1.5c0.4,1 0.6,2 0.5,3.1V9c0,0.5 0,1 -1.5,1h-4.6c-1.2,-0.1 -2.4,0.1 -3.4,0.6c-0.8,0.4 -1.4,1.1 -1.8,1.8c-0.5,1.1 -0.7,2.3 -0.6,3.4v4.6C10,21.9 9.6,22 9,22zM15.9,11.5c-0.9,-0.1 -1.9,0 -2.7,0.4c-0.5,0.3 -0.9,0.7 -1.2,1.2c-0.4,0.8 -0.6,1.8 -0.4,2.7v4.6c0,0.2 0,0.4 0,0.5l9.5,-9.6c-0.2,0 -0.4,0 -0.5,0L15.9,11.5z" /> +</vector> diff --git a/res/drawable/ic_sticker_outline_keyboard.xml b/res/drawable/ic_sticker_outline_keyboard.xml index d2f6e5bb03..b334a9cff3 100644 --- a/res/drawable/ic_sticker_outline_keyboard.xml +++ b/res/drawable/ic_sticker_outline_keyboard.xml @@ -2,7 +2,8 @@ android:width="24dp" android:height="24dp" android:viewportWidth="24" - android:viewportHeight="24"> + android:viewportHeight="24" + android:tint="?colorControlNormal"> <path android:fillColor="#FF636467" android:pathData="M21.5,4.1c-0.3,-0.6 -0.8,-1.2 -1.5,-1.5c-1,-0.5 -2.1,-0.6 -3.1,-0.5H7.1C6.1,1.9 5,2.1 4.1,2.5C3.4,2.9 2.9,3.4 2.5,4.1C2.1,5 1.9,6.1 2,7.1v9.7C1.9,17.9 2.1,19 2.5,20c0.3,0.6 0.9,1.2 1.5,1.5c1,0.4 2,0.6 3.1,0.5h2.1c0.8,0 1.6,-0.3 2.1,-0.9l9.7,-9.7c0.6,-0.6 0.9,-1.3 0.9,-2.1V7.1C22.1,6.1 21.9,5 21.5,4.1zM11.5,18.9v-3c-0.1,-0.9 0.1,-1.9 0.5,-2.7c0.3,-0.5 0.7,-0.9 1.2,-1.2c0.8,-0.4 1.8,-0.6 2.7,-0.4h3L11.5,18.9zM19,10h-3.1c-1.2,-0.1 -2.4,0.1 -3.4,0.6c-0.8,0.4 -1.4,1.1 -1.8,1.8c-0.5,1.1 -0.7,2.3 -0.6,3.4V19c0,1.4 -0.4,1.5 -1,1.5H7.1c-1.7,0 -2,-0.2 -2.4,-0.4c-0.4,-0.2 -0.7,-0.5 -0.9,-0.9c-0.2,-0.3 -0.4,-0.7 -0.4,-2.4V7.1c0,-1.7 0.2,-2 0.4,-2.4c0.2,-0.4 0.5,-0.7 0.9,-0.9c0.3,-0.2 0.7,-0.4 2.4,-0.4h9.7c1.7,0 2,0.2 2.4,0.4c0.4,0.2 0.7,0.5 0.9,0.9c0.2,0.3 0.4,0.7 0.4,2.4V9C20.5,9.5 20.5,10 19,10z"/> diff --git a/res/drawable/ic_sun.xml b/res/drawable/ic_sun.xml new file mode 100644 index 0000000000..293c6de3f7 --- /dev/null +++ b/res/drawable/ic_sun.xml @@ -0,0 +1,84 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="64dp" + android:height="64dp" + android:viewportWidth="64" + android:viewportHeight="64"> + <path + android:pathData="M6,30L2,30C0.8954,30 0,30.8955 0,32C0,33.1045 0.8954,34 2,34L6,34C7.1044,34 8,33.1046 8,32C8,30.8954 7.1044,30 6,30Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M62,30L58,30C56.8956,30 56,30.8954 56,32C56,33.1046 56.8954,34 58,34L62,34C63.1044,34 64,33.1046 64,32C64,30.8954 63.1046,30 62,30Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M32,56C30.8955,56 30,56.8954 30,58L30,62C30,63.1044 30.8954,64 32,64C33.1046,64 34,63.1046 34,62L34,58C34,56.8956 33.1045,56 32,56Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M32,0C30.8955,0 30,0.8954 30,2L30,6C30,7.1044 30.8954,8 32,8C33.1046,8 34,7.1046 34,6L34,2C34,0.8954 33.1045,0 32,0Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M47.7318,56.7846L45.7319,53.0721C45.1797,52.047 43.9567,51.6956 43.0002,52.2876C42.0438,52.8794 41.716,54.1903 42.2682,55.2155L44.2681,58.928C44.8205,59.9536 46.0439,60.3041 46.9998,59.7125C47.9562,59.1207 48.284,57.8097 47.7318,56.7846Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M21.7318,8.7845L19.7319,5.0721C19.1797,4.047 17.9567,3.6956 17.0002,4.2875C16.0438,4.8794 15.716,6.1903 16.2682,7.2155L18.2681,10.9279C18.8205,11.9536 20.0439,12.3042 20.9998,11.7125C21.9562,11.1206 22.284,9.8097 21.7318,8.7845Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M58.9279,44.2681L55.2154,42.2684C54.1902,41.7159 52.8793,42.0438 52.2875,43.0003C51.6956,43.9567 52.0469,45.1798 53.0721,45.7319L56.7846,47.7317C57.8092,48.2838 59.1204,47.9567 59.7125,46.9998C60.3044,46.0434 59.9531,44.8203 58.9279,44.2681Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M10.928,18.2681L7.2155,16.2683C6.1902,15.7159 4.8792,16.0439 4.2875,17.0003C3.6956,17.9567 4.0469,19.1798 5.0721,19.7319L8.7846,21.7317C9.8092,22.2838 11.1204,21.9567 11.7126,20.9998C12.3043,20.0433 11.9532,18.8203 10.928,18.2681Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M59.7125,17.0003C59.1207,16.0438 57.8098,15.716 56.7846,16.2683L53.0721,18.2681C52.0469,18.8203 51.6956,20.0434 52.2875,20.9998C52.8796,21.9567 54.1909,22.2837 55.2154,21.7318L58.9279,19.7319C59.9531,19.1798 60.3044,17.9567 59.7125,17.0003Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M11.7125,43.0002C11.1208,42.0438 9.8097,41.716 8.7845,42.2682L5.0721,44.2681C4.0469,44.8203 3.6956,46.0434 4.2875,46.9998C4.8796,47.9567 6.1909,48.2837 7.2154,47.7318L10.9279,45.7319C11.9532,45.1797 12.3043,43.9567 11.7125,43.0002Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M46.9998,4.2876C46.0432,3.6955 44.8203,4.047 44.2681,5.0721L42.2682,8.7846C41.716,9.8097 42.0438,11.1206 43.0002,11.7124C43.9562,12.3041 45.1795,11.9537 45.7319,10.9279L47.7318,7.2155C48.284,6.1905 47.9562,4.8796 46.9998,4.2876Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M20.9998,52.2876C20.0433,51.6955 18.8202,52.0469 18.2681,53.0722L16.2682,56.7846C15.716,57.8097 16.0438,59.1206 17.0002,59.7125C17.9562,60.3042 19.1795,59.9536 19.7319,58.9279L21.7318,55.2155C22.284,54.1904 21.9562,52.8795 20.9998,52.2876Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> + <path + android:pathData="M31.5,12C20.7478,12 12,20.7478 12,31.5C12,42.2522 20.7478,51 31.5,51C42.2522,51 51,42.2522 51,31.5C51,20.7478 42.2524,12 31.5,12ZM31.5,47.643C22.5988,47.643 15.357,40.4013 15.357,31.5C15.357,22.5987 22.5988,15.357 31.5,15.357C40.4012,15.357 47.643,22.5988 47.643,31.5C47.643,40.4012 40.4013,47.643 31.5,47.643Z" + android:strokeWidth="1" + android:fillColor="#000000" + android:fillType="nonZero" + android:strokeColor="#00000000"/> +</vector> diff --git a/res/drawable/ic_ui_mode_24.xml b/res/drawable/ic_ui_mode_24.xml new file mode 100644 index 0000000000..8e7eb28573 --- /dev/null +++ b/res/drawable/ic_ui_mode_24.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<level-list xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:maxLevel="0" android:drawable="@drawable/ic_outline_night_mode_24"/> + <item android:maxLevel="1" android:drawable="@drawable/ic_baseline_night_mode_24"/> + <item android:maxLevel="2" android:drawable="@drawable/ic_outline_night_mode_auto_24"/> +</level-list> \ No newline at end of file diff --git a/res/drawable/icon_qr_code.xml b/res/drawable/icon_qr_code.xml deleted file mode 100644 index f1a095221e..0000000000 --- a/res/drawable/icon_qr_code.xml +++ /dev/null @@ -1,9 +0,0 @@ -<vector android:height="24dp" android:viewportHeight="512" - android:viewportWidth="448" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> - <group - android:scaleX="0.88" - android:scaleY="0.88" - android:translateX="64"> - <path android:fillColor="?attr/pref_icon_tint" android:pathData="M0,224h192L192,32L0,32v192zM64,96h64v64L64,160L64,96zM256,32v192h192L448,32L256,32zM384,160h-64L320,96h64v64zM0,480h192L192,288L0,288v192zM64,352h64v64L64,416v-64zM416,288h32v128h-96v-32h-32v96h-64L256,288h96v32h64v-32zM416,448h32v32h-32v-32zM352,448h32v32h-32v-32z"/> - </group> -</vector> diff --git a/res/drawable/media_camera_button_background.xml b/res/drawable/media_camera_button_background.xml index a5074afb2a..e129933aea 100644 --- a/res/drawable/media_camera_button_background.xml +++ b/res/drawable/media_camera_button_background.xml @@ -1,4 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> - <solid android:color="@color/core_white"/> -</shape> \ No newline at end of file +<ripple + xmlns:android="http://schemas.android.com/apk/res/android" + android:color="@color/core_grey_45"> + <item android:id="@+id/mask"> + <shape> + <corners android:radius="1000dp" /> + <solid android:color="@color/white" /> + </shape> + </item> + <item> + <shape android:shape="oval"> + <solid android:color="@color/core_white" /> + </shape> + </item> +</ripple> \ No newline at end of file diff --git a/res/drawable/media_count_button_background.xml b/res/drawable/media_count_button_background.xml index 57cfd3a85c..a5fdc45a06 100644 --- a/res/drawable/media_count_button_background.xml +++ b/res/drawable/media_count_button_background.xml @@ -1,5 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android"> - <corners android:radius="1000dp" /> - <solid android:color="@color/accent" /> -</shape> +<ripple + xmlns:android="http://schemas.android.com/apk/res/android" + android:color="@color/transparent_white_40"> + <item android:id="@+id/mask"> + <shape> + <corners android:radius="1000dp" /> + <solid android:color="@color/white" /> + </shape> + </item> + <item android:drawable="@drawable/pill" /> +</ripple> \ No newline at end of file diff --git a/res/drawable/mediarail_button_background.xml b/res/drawable/mediarail_button_background.xml index 09e616ea41..035512fbff 100644 --- a/res/drawable/mediarail_button_background.xml +++ b/res/drawable/mediarail_button_background.xml @@ -1,5 +1,19 @@ <?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > - <corners android:radius="5dp" /> - <solid android:color="@color/transparent_black_70"/> -</shape> \ No newline at end of file +<ripple + xmlns:android="http://schemas.android.com/apk/res/android" + android:color="@color/transparent_white_40"> + + <item android:id="@+id/mask"> + <shape> + <corners android:radius="5dp" /> + <solid android:color="@color/transparent_black" /> + </shape> + </item> + + <item> + <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > + <corners android:radius="5dp" /> + <solid android:color="@color/transparent_black_70"/> + </shape> + </item> +</ripple> diff --git a/res/drawable/permission_rationale_dialog_corners.xml b/res/drawable/permission_rationale_dialog_corners.xml index cce2c87f18..5c4923cb9f 100644 --- a/res/drawable/permission_rationale_dialog_corners.xml +++ b/res/drawable/permission_rationale_dialog_corners.xml @@ -3,5 +3,5 @@ <solid android:color="@color/compose_view_background"/> - <corners android:radius="12dp"/> + <corners android:radius="@dimen/dialog_corner_radius"/> </shape> \ No newline at end of file diff --git a/res/drawable/prominent_filled_button_medium_background.xml b/res/drawable/prominent_filled_button_medium_background.xml index 9e4eeed50c..a06a0d11e5 100644 --- a/res/drawable/prominent_filled_button_medium_background.xml +++ b/res/drawable/prominent_filled_button_medium_background.xml @@ -3,9 +3,9 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> - <solid android:color="@color/accent" /> + <solid android:color="?colorAccent" /> - <corners android:radius="22dp" /> + <corners android:radius="@dimen/medium_button_corner_radius" /> - <stroke android:width="@dimen/border_thickness" android:color="@color/accent" /> + <stroke android:width="@dimen/border_thickness" android:color="?colorAccent" /> </shape> \ No newline at end of file diff --git a/res/drawable/prominent_outline_button_medium_background.xml b/res/drawable/prominent_outline_button_medium_background.xml index b5f3dc5355..183ed83282 100644 --- a/res/drawable/prominent_outline_button_medium_background.xml +++ b/res/drawable/prominent_outline_button_medium_background.xml @@ -5,7 +5,7 @@ <solid android:color="@color/transparent" /> - <corners android:radius="22dp" /> + <corners android:radius="@dimen/medium_button_corner_radius" /> - <stroke android:width="@dimen/border_thickness" android:color="@color/accent" /> + <stroke android:width="@dimen/border_thickness" android:color="?colorAccent" /> </shape> \ No newline at end of file diff --git a/res/drawable/recycler_view_fast_scroller_bubble.xml b/res/drawable/recycler_view_fast_scroller_bubble.xml index 417f6e4bc6..f135c5c6d6 100644 --- a/res/drawable/recycler_view_fast_scroller_bubble.xml +++ b/res/drawable/recycler_view_fast_scroller_bubble.xml @@ -2,8 +2,8 @@ <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:topLeftRadius="44dp" android:topRightRadius="44dp" - android:bottomLeftRadius="0dp" - android:bottomRightRadius="44dp"/> + android:bottomLeftRadius="44dp" + android:bottomRightRadius="0dp"/> <solid android:color="#FF0288D1" /> <size android:height="88dp" android:width="88dp" /> </shape> \ No newline at end of file diff --git a/res/drawable/sticker_button_dark.xml b/res/drawable/sticker_button_dark.xml index 646748d34b..bbd18b7e9f 100644 --- a/res/drawable/sticker_button_dark.xml +++ b/res/drawable/sticker_button_dark.xml @@ -1,4 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > - <solid android:color="@color/core_grey_75"/> -</shape> \ No newline at end of file +<ripple + xmlns:android="http://schemas.android.com/apk/res/android" + android:color="@color/transparent_white_40"> + + <item android:id="@+id/mask"> + <shape android:shape="oval"> + <solid android:color="@color/transparent_black" /> + </shape> + </item> + + <item> + <shape android:shape="oval" > + <solid android:color="@color/core_grey_75"/> + </shape> + </item> +</ripple> diff --git a/res/drawable/sticker_button_light.xml b/res/drawable/sticker_button_light.xml index 97fcffe0fb..f20b4e89d1 100644 --- a/res/drawable/sticker_button_light.xml +++ b/res/drawable/sticker_button_light.xml @@ -1,4 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> -<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > - <solid android:color="@color/core_grey_05"/> -</shape> \ No newline at end of file +<ripple + xmlns:android="http://schemas.android.com/apk/res/android" + android:color="@color/transparent_black_40"> + + <item android:id="@+id/mask"> + <shape android:shape="oval"> + <solid android:color="@color/transparent_black" /> + </shape> + </item> + + <item> + <shape android:shape="oval" > + <solid android:color="@color/core_grey_05"/> + </shape> + </item> +</ripple> diff --git a/res/drawable/touch_highlight_background.xml b/res/drawable/touch_highlight_background.xml index 8089a02808..80e27edf3d 100644 --- a/res/drawable/touch_highlight_background.xml +++ b/res/drawable/touch_highlight_background.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_pressed="true" android:drawable="@color/touch_highlight" /> - <item android:state_focused="true" android:drawable="@color/signal_primary" /> - <item android:drawable="@android:color/transparent" /> -</selector> +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="@color/touch_highlight"> + <item + android:id="@android:id/mask" + android:drawable="@android:color/white" /> +</ripple> \ No newline at end of file diff --git a/res/drawable/unimportant_filled_button_medium_background.xml b/res/drawable/unimportant_filled_button_medium_background.xml index 4880fd4fed..dc3b8df238 100644 --- a/res/drawable/unimportant_filled_button_medium_background.xml +++ b/res/drawable/unimportant_filled_button_medium_background.xml @@ -5,7 +5,7 @@ <solid android:color="@color/unimportant_button_background" /> - <corners android:radius="22dp" /> + <corners android:radius="@dimen/medium_button_corner_radius" /> <stroke android:width="@dimen/border_thickness" android:color="@color/unimportant_button_background" /> </shape> \ No newline at end of file diff --git a/res/drawable/unimportant_outline_button_medium_background.xml b/res/drawable/unimportant_outline_button_medium_background.xml index 81471826c3..6e0de35a5b 100644 --- a/res/drawable/unimportant_outline_button_medium_background.xml +++ b/res/drawable/unimportant_outline_button_medium_background.xml @@ -5,7 +5,7 @@ <solid android:color="@color/transparent" /> - <corners android:radius="22dp" /> + <corners android:radius="@dimen/medium_button_corner_radius" /> - <stroke android:width="@dimen/border_thickness" android:color="@color/text" /> + <stroke android:width="@dimen/border_thickness" android:color="?android:textColorPrimary" /> </shape> \ No newline at end of file diff --git a/res/layout-sw400dp/activity_display_name.xml b/res/layout-sw400dp/activity_display_name.xml index 1716f068f2..ecb0a35967 100644 --- a/res/layout-sw400dp/activity_display_name.xml +++ b/res/layout-sw400dp/activity_display_name.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View @@ -50,7 +49,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentFilledButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout-sw400dp/activity_landing.xml b/res/layout-sw400dp/activity_landing.xml index c87a549920..7ecae1b271 100644 --- a/res/layout-sw400dp/activity_landing.xml +++ b/res/layout-sw400dp/activity_landing.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View @@ -18,7 +17,6 @@ android:layout_marginRight="@dimen/very_large_spacing" android:textSize="@dimen/very_large_font_size" android:textStyle="bold" - android:textColor="@color/text" android:text="@string/activity_landing_title_2" /> <org.thoughtcrime.securesms.loki.views.FakeChatView @@ -33,7 +31,7 @@ android:layout_weight="1" /> <Button - style="@style/MediumProminentFilledButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" @@ -42,7 +40,7 @@ android:text="@string/activity_landing_register_button_title" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/restoreButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" @@ -62,7 +60,6 @@ android:background="@color/transparent" android:textAllCaps="false" android:textSize="@dimen/medium_font_size" - android:textColor="@color/text" android:text="@string/activity_landing_link_button_title" /> </LinearLayout> \ No newline at end of file diff --git a/res/layout-sw400dp/activity_pn_mode.xml b/res/layout-sw400dp/activity_pn_mode.xml index 5efbf059bd..649ef31eae 100644 --- a/res/layout-sw400dp/activity_pn_mode.xml +++ b/res/layout-sw400dp/activity_pn_mode.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View @@ -104,7 +103,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentFilledButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout-sw400dp/activity_register.xml b/res/layout-sw400dp/activity_register.xml index 28c9f532b2..8cc432c160 100644 --- a/res/layout-sw400dp/activity_register.xml +++ b/res/layout-sw400dp/activity_register.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View @@ -47,7 +46,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentFilledButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" @@ -56,7 +55,7 @@ android:text="@string/continue_2" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/copyButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" @@ -72,9 +71,9 @@ android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing" android:gravity="center" - android:textColorLink="@color/text" + android:textColor="?android:textColorTertiary" + android:textColorLink="?colorAccent" android:textSize="@dimen/very_small_font_size" - android:textColor="@color/text" android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> <!-- Intentionally not yet translated --> </LinearLayout> \ No newline at end of file diff --git a/res/layout-sw400dp/activity_restore.xml b/res/layout-sw400dp/activity_restore.xml index f011b04c4a..bb241b9abf 100644 --- a/res/layout-sw400dp/activity_restore.xml +++ b/res/layout-sw400dp/activity_restore.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View @@ -49,7 +48,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentFilledButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/restoreButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" @@ -64,9 +63,9 @@ android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing" android:gravity="center" - android:textColorLink="@color/text" + android:textColor="?android:textColorTertiary" + android:textColorLink="?colorAccent" android:textSize="@dimen/very_small_font_size" - android:textColor="@color/text" android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> <!-- Intentionally not yet translated --> </LinearLayout> \ No newline at end of file diff --git a/res/layout-sw400dp/activity_seed.xml b/res/layout-sw400dp/activity_seed.xml index 3eeb46dbb2..74f44a79d4 100644 --- a/res/layout-sw400dp/activity_seed.xml +++ b/res/layout-sw400dp/activity_seed.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:gravity="center_horizontal" android:orientation="vertical"> @@ -67,7 +66,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/copyButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout-sw400dp/fragment_enter_chat_url.xml b/res/layout-sw400dp/fragment_enter_chat_url.xml index 4755debf50..564580c481 100644 --- a/res/layout-sw400dp/fragment_enter_chat_url.xml +++ b/res/layout-sw400dp/fragment_enter_chat_url.xml @@ -4,7 +4,6 @@ android:id="@+id/contentView" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:gravity="center_horizontal" android:orientation="vertical"> @@ -24,7 +23,7 @@ android:layout_weight="1" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/joinPublicChatButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout-sw400dp/fragment_enter_public_key.xml b/res/layout-sw400dp/fragment_enter_public_key.xml index cf74f40d22..ae996d2411 100644 --- a/res/layout-sw400dp/fragment_enter_public_key.xml +++ b/res/layout-sw400dp/fragment_enter_public_key.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" android:id="@+id/contentView" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:gravity="center_horizontal" android:orientation="vertical"> @@ -55,7 +55,7 @@ android:textColor="@color/text" android:fontFamily="@font/space_mono_regular" android:textAlignment="center" - android:text="05987d601943c267879be41830888066c6a024cbdc9a548d06813924bf3372ea78" /> + tools:text="05987d601943c267879be41830888066c6a024cbdc9a548d06813924bf3372ea78" /> <LinearLayout android:layout_width="match_parent" @@ -66,7 +66,7 @@ android:orientation="horizontal"> <Button - style="@style/MediumUnimportantFilledButton" + style="@style/Widget.Session.Button.Common.UnimportantFilled" android:id="@+id/copyButton" android:layout_width="0dp" android:layout_height="@dimen/medium_button_height" @@ -74,7 +74,7 @@ android:text="@string/copy" /> <Button - style="@style/MediumUnimportantFilledButton" + style="@style/Widget.Session.Button.Common.UnimportantFilled" android:id="@+id/shareButton" android:layout_width="0dp" android:layout_height="@dimen/medium_button_height" @@ -90,7 +90,7 @@ android:layout_weight="1" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/createPrivateChatButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout-sw400dp/fragment_multi_device_removal_bottom_sheet.xml b/res/layout-sw400dp/fragment_multi_device_removal_bottom_sheet.xml deleted file mode 100644 index f861c91246..0000000000 --- a/res/layout-sw400dp/fragment_multi_device_removal_bottom_sheet.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<LinearLayout - 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="wrap_content" - android:orientation="vertical" - android:gravity="center_horizontal" - android:paddingLeft="@dimen/very_large_spacing" - android:paddingTop="@dimen/large_spacing" - android:paddingRight="@dimen/very_large_spacing" - android:paddingBottom="@dimen/very_large_spacing" - app:behavior_hideable="true" - app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" - android:background="@drawable/default_bottom_sheet_background_inset"> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="Changes to Multi-Device" - android:textColor="@color/text" - android:textStyle="bold" - android:textSize="@dimen/very_large_font_size" /> - - <TextView - android:id="@+id/explanationTextView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/large_spacing" - android:text="You’re seeing this because you have a secondary device linked to your Session ID. To improve reliability and stability, we’ve decided to temporarily disable Session’s multi-device functionality. Device linking has been disabled, and existing secondary clients will be erased on %s.\n\nTo read more about this change, visit the Session FAQ at getsession.org/faq" - android:textColor="@color/text" - android:textSize="@dimen/small_font_size" /> - - <Button - style="@style/MediumProminentOutlineButton" - android:id="@+id/okButton" - android:layout_width="240dp" - android:layout_height="@dimen/medium_button_height" - android:layout_marginTop="@dimen/large_spacing" - android:text="@string/ok" /> - -</LinearLayout> diff --git a/res/layout-sw400dp/view_seed_reminder.xml b/res/layout-sw400dp/view_seed_reminder.xml index c1b16634fe..4d30b0d74b 100644 --- a/res/layout-sw400dp/view_seed_reminder.xml +++ b/res/layout-sw400dp/view_seed_reminder.xml @@ -58,7 +58,7 @@ android:layout_marginLeft="4dp" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="28dp" @@ -71,6 +71,6 @@ <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> </LinearLayout> \ No newline at end of file diff --git a/res/layout-sw420dp/attachment_type_selector.xml b/res/layout-sw420dp/attachment_type_selector.xml deleted file mode 100644 index c17d36400c..0000000000 --- a/res/layout-sw420dp/attachment_type_selector.xml +++ /dev/null @@ -1,267 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="wrap_content"> - - <View - android:layout_width="match_parent" - android:layout_height="4dp" - android:background="@drawable/attachment_selector_shadow"/> - - <LinearLayout - android:id="@+id/contentView" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?attachment_type_selector_background"> - - <org.thoughtcrime.securesms.components.RecentPhotoViewRail - android:id="@+id/recent_photos" - android:layout_width="match_parent" - android:layout_height="90dp" - android:padding="4dp"/> - - <View - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1" /> - - <LinearLayout - android:orientation="horizontal" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginStart="16dp" - android:layout_marginTop="2dp" - android:layout_marginEnd="16dp" - android:weightSum="3"> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:gravity="center" - android:orientation="vertical"> - - <org.thoughtcrime.securesms.components.CircleColorImageView - android:id="@+id/gallery_button" - android:layout_width="53dp" - android:layout_height="53dp" - android:src="@drawable/ic_image_white_24dp" - android:scaleType="center" - android:contentDescription="@string/attachment_type_selector__gallery_description" - app:circleColor="@color/purple_400"/> - - <TextView - android:layout_marginTop="10dp" - style="@style/AttachmentTypeLabel" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/attachment_type_selector__gallery"/> - - </LinearLayout> - - <LinearLayout android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:gravity="center" - android:orientation="vertical"> - - <org.thoughtcrime.securesms.components.CircleColorImageView - android:id="@+id/camera_button" - android:layout_width="53dp" - android:layout_height="53dp" - android:src="@drawable/ic_camera_white_24dp" - android:scaleType="center" - android:contentDescription="@string/attachment_type_selector__camera_description" - app:circleColor="@color/green_400"/> - - <TextView - android:layout_marginTop="10dp" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:gravity="center" - style="@style/AttachmentTypeLabel" - android:text="@string/attachment_type_selector__camera"/> - - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:gravity="center" - android:orientation="vertical" - android:visibility="gone"> - - <org.thoughtcrime.securesms.components.CircleColorImageView - android:id="@+id/audio_button" - android:layout_width="53dp" - android:layout_height="53dp" - android:contentDescription="@string/attachment_type_selector__audio_description" - android:scaleType="center" - android:src="@drawable/ic_headset_white_24dp" - app:circleColor="@color/orange_400" /> - - <TextView - style="@style/AttachmentTypeLabel" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="10dp" - android:text="@string/attachment_type_selector__audio" /> - - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:gravity="center" - android:orientation="vertical"> - - <org.thoughtcrime.securesms.components.CircleColorImageView - android:id="@+id/document_button" - android:layout_width="53dp" - android:layout_height="53dp" - android:contentDescription="@string/attachment_type_selector__file_description" - android:scaleType="center" - android:src="@drawable/ic_insert_drive_file_white_24dp" - app:circleColor="@color/red_400" /> - - <TextView - style="@style/AttachmentTypeLabel" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="10dp" - android:text="@string/attachment_type_selector__file" /> - - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="center" - android:orientation="vertical" - android:layout_weight="1" - android:visibility="gone"> - - <org.thoughtcrime.securesms.components.CircleColorImageView - android:id="@+id/contact_button" - android:layout_width="53dp" - android:layout_height="53dp" - android:src="@drawable/ic_person_white_24dp" - android:scaleType="center" - android:contentDescription="@string/attachment_type_selector__contact_description" - app:circleColor="@color/blue_400"/> - - <TextView - android:layout_marginTop="10dp" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - style="@style/AttachmentTypeLabel" - android:text="@string/attachment_type_selector__contact"/> - - </LinearLayout> - - </LinearLayout> - - <LinearLayout - android:orientation="horizontal" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="16dp" - android:layout_marginStart="16dp" - android:layout_marginEnd="16dp" - android:layout_marginBottom="16dp" - android:weightSum="3"> - - <LinearLayout - android:id="@+id/location_linear_layout" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:gravity="center" - android:orientation="vertical" - android:visibility="invisible"> - - <org.thoughtcrime.securesms.components.CircleColorImageView - android:id="@+id/location_button" - android:layout_width="53dp" - android:layout_height="53dp" - android:contentDescription="@string/attachment_type_selector__location_description" - android:scaleType="center" - android:src="@drawable/ic_location_on_white_24dp" - app:circleColor="@color/blue_grey_400" /> - - <TextView - style="@style/AttachmentTypeLabel" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="10dp" - android:text="@string/attachment_type_selector__location" /> - - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:gravity="center" - android:orientation="vertical"> - - <org.thoughtcrime.securesms.components.CircleColorImageView - android:id="@+id/giphy_button" - android:layout_width="53dp" - android:layout_height="53dp" - android:src="@drawable/ic_gif_white_24dp" - android:scaleType="center" - android:contentDescription="@string/attachment_type_selector__gif_description" - app:circleColor="@color/cyan_400"/> - - <TextView - android:layout_marginTop="10dp" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - style="@style/AttachmentTypeLabel" - android:text="@string/attachment_type_selector__gif"/> - - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:gravity="center" - android:orientation="vertical"> - - <org.thoughtcrime.securesms.components.CircleColorImageView - android:id="@+id/close_button" - android:layout_width="53dp" - android:layout_height="53dp" - android:paddingTop="4dp" - android:src="@drawable/ic_keyboard_arrow_down_white_24dp" - android:scaleType="center" - android:contentDescription="@string/attachment_type_selector__drawer_description" - app:circleColor="@color/gray50"/> - - <TextView - android:layout_marginTop="10dp" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - style="@style/AttachmentTypeLabel" - android:text=""/> - - </LinearLayout> - - </LinearLayout> - - <View - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1" /> - - </LinearLayout> - -</LinearLayout> diff --git a/res/layout-sw420dp/fragment_enter_session_id.xml b/res/layout-sw420dp/fragment_enter_session_id.xml index 8a1ba7a044..990e057d75 100644 --- a/res/layout-sw420dp/fragment_enter_session_id.xml +++ b/res/layout-sw420dp/fragment_enter_session_id.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:gravity="center_horizontal" android:orientation="vertical"> @@ -48,7 +47,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/requestDeviceLinkButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout-v16/video_player.xml b/res/layout-v16/video_player.xml deleted file mode 100644 index b855fca65a..0000000000 --- a/res/layout-v16/video_player.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<FrameLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <com.google.android.exoplayer2.ui.PlayerView - android:id="@+id/video_view" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_gravity="center" - android:gravity="center" - app:player_layout_id="@layout/media_preview_exoplayer_layout"/> - -</FrameLayout> \ No newline at end of file diff --git a/res/layout/activity_create_closed_group.xml b/res/layout/activity_create_closed_group.xml index 59d9fe00e0..6778a17915 100644 --- a/res/layout/activity_create_closed_group.xml +++ b/res/layout/activity_create_closed_group.xml @@ -1,10 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" - android:background="@drawable/default_session_background"> + android:layout_width="match_parent" + android:layout_height="match_parent"> <LinearLayout android:id="@+id/mainContentContainer" @@ -26,7 +25,7 @@ <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" @@ -51,7 +50,7 @@ android:text="@string/activity_create_closed_group_empty_state_message" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/btnCreateNewPrivateChat" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" @@ -74,7 +73,7 @@ android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_centerInParent="true" - app:SpinKit_Color="@color/text" /> + app:SpinKit_Color="?android:colorControlNormal" /> </RelativeLayout> diff --git a/res/layout/activity_create_private_chat.xml b/res/layout/activity_create_private_chat.xml index d0ca41225c..6a1229648e 100644 --- a/res/layout/activity_create_private_chat.xml +++ b/res/layout/activity_create_private_chat.xml @@ -6,7 +6,7 @@ android:layout_height="match_parent" > <com.google.android.material.tabs.TabLayout - style="@style/Session.DarkTabLayout" + style="@style/Widget.Session.TabLayout" android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="@dimen/tab_bar_height" /> diff --git a/res/layout/activity_display_name.xml b/res/layout/activity_display_name.xml index 30ae679fb3..6cf78f9aba 100644 --- a/res/layout/activity_display_name.xml +++ b/res/layout/activity_display_name.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View @@ -16,7 +15,7 @@ android:layout_height="wrap_content" android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing" - android:textSize="@dimen/large_font_size" + android:textSize="20sp" android:textStyle="bold" android:textColor="@color/text" android:text="@string/activity_display_name_title_2" /> @@ -48,7 +47,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentFilledButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/activity_edit_closed_group.xml b/res/layout/activity_edit_closed_group.xml index 1803eae6ee..16ecefc339 100644 --- a/res/layout/activity_edit_closed_group.xml +++ b/res/layout/activity_edit_closed_group.xml @@ -4,7 +4,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" xmlns:tools="http://schemas.android.com/tools" - android:background="@drawable/default_session_background" tools:context="org.thoughtcrime.securesms.loki.activities.EditClosedGroupActivity"> <LinearLayout @@ -27,13 +26,13 @@ android:gravity="center" android:orientation="horizontal" android:visibility="invisible" - tools:visibility="visible"> + tools:visibility="invisible"> <ImageView android:id="@+id/btnCancelGroupNameEdit" android:layout_width="24dp" android:layout_height="24dp" - android:src="@drawable/ic_close_white_24dp"/> + android:src="@drawable/ic_baseline_clear_24"/> <EditText style="@style/SessionEditText" @@ -56,7 +55,7 @@ android:layout_width="24dp" android:layout_height="24dp" android:layout_gravity="center" - android:src="@drawable/ic_check_white_24dp"/> + android:src="@drawable/ic_baseline_done_24"/> </LinearLayout> @@ -66,7 +65,7 @@ android:layout_height="wrap_content" android:gravity="center" android:visibility="visible" - tools:visibility="invisible"> + tools:visibility="visible"> <TextView android:id="@+id/lblGroupNameDisplay" @@ -79,7 +78,7 @@ android:textAlignment="center" android:paddingStart="24dp" android:paddingEnd="0dp" - android:drawableEnd="@drawable/ic_edit_white_24dp" + android:drawableEnd="@drawable/ic_baseline_edit_24" android:drawablePadding="@dimen/small_spacing" tools:text="SomeGroupName"/> @@ -90,7 +89,7 @@ <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <LinearLayout android:layout_width="match_parent" @@ -111,7 +110,7 @@ <Button android:id="@+id/addMembersClosedGroupButton" - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:layout_width="wrap_content" android:layout_height="@dimen/small_button_height" android:layout_marginTop="@dimen/small_spacing" @@ -127,12 +126,13 @@ <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" - android:layout_height="match_parent"/> + android:layout_height="match_parent" + tools:listitem="@layout/view_user"/> </LinearLayout> diff --git a/res/layout/activity_home.xml b/res/layout/activity_home.xml index 4ca026f3cb..13eb8bda5e 100644 --- a/res/layout/activity_home.xml +++ b/res/layout/activity_home.xml @@ -1,70 +1,79 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:id="@+id/contentView" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:background="@drawable/default_session_background" - xmlns:app="http://schemas.android.com/apk/res-auto"> + tools:context="org.thoughtcrime.securesms.loki.activities.HomeActivity"> <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" - android:layout_height="?attr/actionBarSize" - android:minHeight="?attr/actionBarSize" - app:contentInsetLeft="20dp" - app:contentInsetRight="20dp" - android:theme="?attr/actionBarStyle"> + android:layout_height="wrap_content" + android:background="?colorPrimary" + android:elevation="1dp" + app:contentInsetStart="0dp"> - <RelativeLayout + <LinearLayout android:layout_width="match_parent" - android:layout_height="match_parent"> - - <org.thoughtcrime.securesms.loki.views.ProfilePictureView - android:id="@+id/profileButton" - android:layout_width="@dimen/small_profile_picture_size" - android:layout_height="@dimen/small_profile_picture_size" - android:layout_marginLeft="9dp" - android:layout_alignParentLeft="true" - android:layout_centerVertical="true" /> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="Session" - android:textColor="@color/text" - android:textSize="@dimen/very_large_font_size" - android:fontFamily="sans-serif-medium" - android:layout_alignParentLeft="true" - android:layout_centerVertical="true" - android:layout_marginLeft="64dp" /> + android:layout_height="wrap_content" + android:orientation="vertical"> <RelativeLayout - android:id="@+id/pathStatusViewContainer" - android:layout_width="@dimen/small_profile_picture_size" - android:layout_height="@dimen/small_profile_picture_size" - android:layout_alignParentRight="true" - android:layout_centerVertical="true" > + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + android:layout_marginLeft="20dp" + android:layout_marginRight="20dp"> - <org.thoughtcrime.securesms.loki.views.PathStatusView - android:layout_width="@dimen/path_status_view_size" - android:layout_height="@dimen/path_status_view_size" + <org.thoughtcrime.securesms.loki.views.ProfilePictureView + android:id="@+id/profileButton" + android:layout_width="@dimen/small_profile_picture_size" + android:layout_height="@dimen/small_profile_picture_size" + android:layout_alignParentLeft="true" android:layout_centerVertical="true" + android:layout_marginLeft="9dp" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentLeft="true" + android:layout_centerVertical="true" + android:layout_marginLeft="64dp" + android:fontFamily="sans-serif-medium" + android:text="Session" + android:textColor="@color/text" + android:textSize="@dimen/very_large_font_size" /> + + <RelativeLayout + android:id="@+id/pathStatusViewContainer" + android:layout_width="@dimen/small_profile_picture_size" + android:layout_height="@dimen/small_profile_picture_size" android:layout_alignParentRight="true" - android:layout_marginRight="8dp" /> + android:layout_centerVertical="true"> + + <org.thoughtcrime.securesms.loki.views.PathStatusView + android:layout_width="@dimen/path_status_view_size" + android:layout_height="@dimen/path_status_view_size" + android:layout_alignParentRight="true" + android:layout_centerVertical="true" + android:layout_marginRight="8dp" /> + + </RelativeLayout> </RelativeLayout> - </RelativeLayout> + <org.thoughtcrime.securesms.loki.views.SeedReminderView + android:id="@+id/seedReminderView" + android:layout_width="match_parent" + android:layout_height="wrap_content" /> + + </LinearLayout> </androidx.appcompat.widget.Toolbar> - <org.thoughtcrime.securesms.loki.views.SeedReminderView - android:id="@+id/seedReminderView" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> @@ -74,7 +83,8 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="172dp" - android:clipToPadding="false" /> + android:clipToPadding="false" + tools:listitem="@layout/view_conversation"/> <View android:id="@+id/gradientView" @@ -106,7 +116,7 @@ android:text="@string/activity_home_empty_state_message" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/btnCreateNewPrivateChat" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/activity_join_public_chat.xml b/res/layout/activity_join_public_chat.xml index 7d50533711..8ad81ba3de 100644 --- a/res/layout/activity_join_public_chat.xml +++ b/res/layout/activity_join_public_chat.xml @@ -11,7 +11,7 @@ android:layout_height="match_parent" > <com.google.android.material.tabs.TabLayout - style="@style/Session.DarkTabLayout" + style="@style/Widget.Session.TabLayout" android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="@dimen/tab_bar_height" /> diff --git a/res/layout/activity_landing.xml b/res/layout/activity_landing.xml index 3e3ba009dd..7dbddf0219 100644 --- a/res/layout/activity_landing.xml +++ b/res/layout/activity_landing.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View @@ -18,7 +17,6 @@ android:layout_marginRight="@dimen/very_large_spacing" android:textSize="@dimen/large_font_size" android:textStyle="bold" - android:textColor="@color/text" android:text="@string/activity_landing_title_2" /> <org.thoughtcrime.securesms.loki.views.FakeChatView @@ -33,7 +31,7 @@ android:layout_weight="1" /> <Button - style="@style/MediumProminentFilledButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" @@ -42,7 +40,7 @@ android:text="@string/activity_landing_register_button_title" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/restoreButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" @@ -62,7 +60,6 @@ android:background="@color/transparent" android:textAllCaps="false" android:textSize="@dimen/medium_font_size" - android:textColor="@color/text" android:text="@string/activity_landing_link_button_title" /> </LinearLayout> \ No newline at end of file diff --git a/res/layout/activity_link_device.xml b/res/layout/activity_link_device.xml index d0ca41225c..6a1229648e 100644 --- a/res/layout/activity_link_device.xml +++ b/res/layout/activity_link_device.xml @@ -6,7 +6,7 @@ android:layout_height="match_parent" > <com.google.android.material.tabs.TabLayout - style="@style/Session.DarkTabLayout" + style="@style/Widget.Session.TabLayout" android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="@dimen/tab_bar_height" /> diff --git a/res/layout/activity_linked_devices.xml b/res/layout/activity_linked_devices.xml index 39b467c7fb..5a4e9e8f6e 100644 --- a/res/layout/activity_linked_devices.xml +++ b/res/layout/activity_linked_devices.xml @@ -2,8 +2,7 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/default_session_background"> + android:layout_height="match_parent"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recyclerView" @@ -26,7 +25,7 @@ android:text="@string/activity_linked_devices_empty_state_message" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/linkDeviceButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/activity_path.xml b/res/layout/activity_path.xml index 63d549c9b2..a0fa1c20a8 100644 --- a/res/layout/activity_path.xml +++ b/res/layout/activity_path.xml @@ -4,7 +4,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" - android:background="@drawable/default_session_background" android:orientation="vertical" android:gravity="center"> @@ -44,7 +43,7 @@ </RelativeLayout> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/learnMoreButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/activity_pn_mode.xml b/res/layout/activity_pn_mode.xml index 1b4897ae7d..559c78d1f3 100644 --- a/res/layout/activity_pn_mode.xml +++ b/res/layout/activity_pn_mode.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View @@ -104,7 +103,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentFilledButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/activity_qr_code.xml b/res/layout/activity_qr_code.xml index d0ca41225c..6a1229648e 100644 --- a/res/layout/activity_qr_code.xml +++ b/res/layout/activity_qr_code.xml @@ -6,7 +6,7 @@ android:layout_height="match_parent" > <com.google.android.material.tabs.TabLayout - style="@style/Session.DarkTabLayout" + style="@style/Widget.Session.TabLayout" android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="@dimen/tab_bar_height" /> diff --git a/res/layout/activity_register.xml b/res/layout/activity_register.xml index fdd15c93a0..57a64e2fb3 100644 --- a/res/layout/activity_register.xml +++ b/res/layout/activity_register.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View @@ -48,7 +47,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentFilledButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" @@ -57,7 +56,7 @@ android:text="@string/continue_2" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/copyButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" @@ -73,9 +72,9 @@ android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginRight="@dimen/massive_spacing" android:gravity="center" - android:textColorLink="@color/text" + android:textColor="?android:textColorTertiary" + android:textColorLink="?colorAccent" android:textSize="@dimen/very_small_font_size" - android:textColor="@color/text" android:text="By using this service, you agree to our Terms of Service and Privacy Policy" /> <!-- Intentionally not yet translated --> </LinearLayout> \ No newline at end of file diff --git a/res/layout/activity_restore.xml b/res/layout/activity_restore.xml index eb385b3cd2..e289e2c541 100644 --- a/res/layout/activity_restore.xml +++ b/res/layout/activity_restore.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View @@ -47,7 +46,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentFilledButton" + style="@style/Widget.Session.Button.Common.ProminentFilled" android:id="@+id/restoreButton" android:layout_width="match_parent" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/activity_seed.xml b/res/layout/activity_seed.xml index 625801d3c6..8aacbf3df3 100644 --- a/res/layout/activity_seed.xml +++ b/res/layout/activity_seed.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:gravity="center_horizontal" android:orientation="vertical"> @@ -68,7 +67,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/copyButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/activity_select_contacts.xml b/res/layout/activity_select_contacts.xml index df6338b16f..a8a47171c7 100644 --- a/res/layout/activity_select_contacts.xml +++ b/res/layout/activity_select_contacts.xml @@ -2,8 +2,7 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/default_session_background" > + android:layout_height="match_parent"> <LinearLayout android:id="@+id/mainContentContainer" diff --git a/res/layout/activity_settings.xml b/res/layout/activity_settings.xml index 9f94ec8acf..b1e5f4df2b 100644 --- a/res/layout/activity_settings.xml +++ b/res/layout/activity_settings.xml @@ -2,9 +2,12 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background"> + tools:context="org.thoughtcrime.securesms.loki.activities.SettingsActivity" + tools:theme="@style/Theme.Session.DayNight.NoActionBar" + tools:menu="@menu/settings_general"> <ScrollView android:layout_width="match_parent" @@ -17,59 +20,6 @@ android:orientation="vertical" android:gravity="center_horizontal"> - <androidx.appcompat.widget.Toolbar - android:id="@+id/toolbar" - android:layout_width="match_parent" - android:layout_height="?attr/actionBarSize" - android:minHeight="?attr/actionBarSize" - app:contentInsetLeft="20dp" - app:contentInsetRight="20dp" - android:theme="?attr/actionBarStyle"> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - android:gravity="center_vertical" - android:orientation="horizontal"> - - <ImageView - android:id="@+id/cancelButton" - android:layout_width="24dp" - android:layout_height="24dp" - android:src="@drawable/ic_close_white_24dp" - android:visibility="gone" /> - - <TextView - android:id="@+id/titleTextView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/activity_settings_title" - android:textColor="@color/text" - android:textSize="@dimen/very_large_font_size" - android:fontFamily="sans-serif-medium" /> - - <View - android:layout_width="0dp" - android:layout_height="match_parent" - android:layout_weight="1" /> - - <ImageView - android:id="@+id/saveButton" - android:layout_width="24dp" - android:layout_height="24dp" - android:src="@drawable/ic_check_white_24dp" - android:visibility="gone" /> - - <ImageView - android:id="@+id/showQRCodeButton" - android:layout_width="24dp" - android:layout_height="24dp" - android:src="@drawable/ic_qr_code" /> - - </LinearLayout> - - </androidx.appcompat.widget.Toolbar> - <org.thoughtcrime.securesms.loki.views.ProfilePictureView android:id="@+id/profilePictureView" android:layout_width="@dimen/large_profile_picture_size" @@ -137,7 +87,7 @@ android:orientation="horizontal"> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/copyButton" android:layout_width="0dp" android:layout_height="@dimen/medium_button_height" @@ -145,7 +95,7 @@ android:text="@string/copy" /> <Button - style="@style/MediumUnimportantOutlineButton" + style="@style/Widget.Session.Button.Common.UnimportantOutline" android:id="@+id/shareButton" android:layout_width="0dp" android:layout_height="@dimen/medium_button_height" @@ -159,7 +109,12 @@ android:layout_width="match_parent" android:layout_height="1px" android:layout_marginTop="@dimen/large_spacing" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> + + <View + android:layout_width="match_parent" + android:layout_height="1px" + android:background="?android:dividerHorizontal" /> <TextView android:id="@+id/privacyButton" @@ -175,7 +130,7 @@ <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <TextView android:id="@+id/notificationsButton" @@ -191,7 +146,7 @@ <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <TextView android:id="@+id/chatsButton" @@ -208,7 +163,7 @@ android:id="@+id/linkedDevicesButtonTopSeparator" android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <TextView android:id="@+id/linkedDevicesButton" @@ -225,7 +180,7 @@ android:id="@+id/seedButtonTopSeparator" android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <TextView android:id="@+id/seedButton" @@ -241,7 +196,7 @@ <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <TextView android:id="@+id/clearAllDataButton" @@ -258,7 +213,7 @@ android:layout_width="match_parent" android:layout_height="1px" android:layout_marginBottom="@dimen/medium_spacing" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <TextView android:id="@+id/versionTextView" diff --git a/res/layout/attachment_type_selector.xml b/res/layout/attachment_type_selector.xml index bbe1188eeb..6aede0b097 100644 --- a/res/layout/attachment_type_selector.xml +++ b/res/layout/attachment_type_selector.xml @@ -8,8 +8,8 @@ <View android:layout_width="match_parent" - android:layout_height="4dp" - android:background="@drawable/attachment_selector_shadow"/> + android:layout_height="1dp" + android:background="?dividerHorizontal"/> <LinearLayout android:id="@+id/contentView" @@ -241,10 +241,11 @@ android:layout_width="42dp" android:layout_height="42dp" android:paddingTop="4dp" - android:src="@drawable/ic_keyboard_arrow_down_white_24dp" + android:src="@drawable/ic_baseline_keyboard_arrow_down_24" android:scaleType="center" android:contentDescription="@string/attachment_type_selector__drawer_description" - app:circleColor="@color/gray50"/> + android:tint="@android:color/white" + app:circleColor="?attachment_type_selector_hide_button_background"/> <TextView android:layout_marginTop="10dp" diff --git a/res/layout/audio_view.xml b/res/layout/audio_view.xml index 79dfe4c884..e5a33d9a41 100644 --- a/res/layout/audio_view.xml +++ b/res/layout/audio_view.xml @@ -39,10 +39,10 @@ android:clickable="true" android:visibility="gone" android:background="@drawable/circle_touch_highlight_background" - android:src="@drawable/ic_play_circle_fill_white_48dp" + android:src="@drawable/ic_baseline_play_circle_filled_48" android:scaleType="centerInside" - tools:visibility="gone" - android:contentDescription="@string/audio_view__play_accessibility_description"/> + android:contentDescription="@string/audio_view__play_accessibility_description" + tools:visibility="visible"/> <ImageView android:id="@+id/pause" android:layout_width="wrap_content" @@ -52,9 +52,10 @@ android:clickable="true" android:visibility="gone" android:background="@drawable/circle_touch_highlight_background" - android:src="@drawable/ic_pause_circle_fill_white_48dp" + android:src="@drawable/ic_baseline_pause_circle_filled_48" android:scaleType="centerInside" - android:contentDescription="@string/audio_view__pause_accessibility_description"/> + android:contentDescription="@string/audio_view__pause_accessibility_description" + tools:visibility="gone"/> <ImageView android:id="@+id/download" android:layout_width="wrap_content" @@ -63,8 +64,9 @@ android:clickable="true" android:visibility="gone" android:background="@drawable/circle_touch_highlight_background" - android:src="@drawable/ic_download_circle_fill_white_48dp" - android:contentDescription="@string/audio_view__download_accessibility_description"/> + android:src="@drawable/ic_download_circle_filled_48" + android:contentDescription="@string/audio_view__download_accessibility_description" + tools:visibility="gone"/> </org.thoughtcrime.securesms.components.AnimatingToggle> diff --git a/res/layout/contact_selection_list_divider.xml b/res/layout/contact_selection_list_divider.xml index e4474b10bf..6e88fade98 100644 --- a/res/layout/contact_selection_list_divider.xml +++ b/res/layout/contact_selection_list_divider.xml @@ -3,8 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="?attr/contact_list_divider"> + android:layout_height="wrap_content"> <TextView android:id="@+id/label" android:layout_width="wrap_content" @@ -12,8 +11,12 @@ android:paddingStart="16dp" android:paddingTop="10dp" android:paddingBottom="10dp" - android:textSize="14sp" android:textColor="@color/signal_primary_dark" tools:text="Recent chats"/> + <View + android:layout_width="match_parent" + android:layout_height="1px" + android:background="?dividerHorizontal"/> + </LinearLayout> \ No newline at end of file diff --git a/res/layout/contact_selection_list_fragment.xml b/res/layout/contact_selection_list_fragment.xml index 6b25a16a05..d5721853cf 100644 --- a/res/layout/contact_selection_list_fragment.xml +++ b/res/layout/contact_selection_list_fragment.xml @@ -1,7 +1,7 @@ -<FrameLayout - xmlns:android="http://schemas.android.com/apk/res/android" +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + xmlns:tools="http://schemas.android.com/tools"> <LinearLayout android:id="@+id/emptyStateContainer" @@ -14,7 +14,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="You don't have any contacts yet" - android:textColor="@color/text" android:textSize="@dimen/medium_font_size" /> </LinearLayout> @@ -35,14 +34,14 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false" - android:scrollbars="vertical" /> + android:scrollbars="vertical" + tools:listitem="@layout/view_user"/> <TextView android:id="@+id/loadingTextView" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" - android:textColor="@color/text" android:text="@string/contact_selection_group_activity__finding_contacts" android:textSize="@dimen/large_font_size" /> diff --git a/res/layout/conversation_activity.xml b/res/layout/conversation_activity.xml index 27156bcaa0..5a3f3aaed3 100644 --- a/res/layout/conversation_activity.xml +++ b/res/layout/conversation_activity.xml @@ -2,21 +2,17 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:id="@+id/rootView" android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/default_session_background"> + android:layout_height="match_parent"> <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" - android:minHeight="?attr/actionBarSize" app:contentInsetLeft="24dp" - app:contentInsetRight="20dp" - android:background="@color/action_bar_background" - android:theme="@style/Session.DarkActionBar" - app:popupTheme="@style/Session.DarkActionBar"> + app:contentInsetRight="20dp"> <LinearLayout android:layout_width="match_parent" @@ -47,11 +43,13 @@ <ImageView android:id="@+id/muteIndicatorImageView" - android:layout_width="12dp" - android:layout_height="12dp" - android:src="@drawable/ic_mute" - android:layout_marginRight="4dp" - android:visibility="gone" /> + android:layout_width="18dp" + android:layout_height="18dp" + android:layout_gravity="center" + android:src="@drawable/ic_outline_notifications_off_24" + android:layout_marginRight="6dp" + android:visibility="gone" + tools:visibility="visible"/> <TextView android:id="@+id/subtitleTextView" @@ -160,14 +158,14 @@ <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <include layout="@layout/view_mention_candidate_selection" /> <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> </LinearLayout> @@ -213,7 +211,7 @@ android:id="@+id/space_left" android:layout_width="fill_parent" android:layout_height="wrap_content" - android:background="?android:windowBackground" + android:background="?android:attr/windowBackground" android:paddingStart="5dip" android:text="160/160 (1)" android:visibility="gone" /> diff --git a/res/layout/conversation_activity_attachment_editor_stub.xml b/res/layout/conversation_activity_attachment_editor_stub.xml index 659993e2db..034400a61a 100644 --- a/res/layout/conversation_activity_attachment_editor_stub.xml +++ b/res/layout/conversation_activity_attachment_editor_stub.xml @@ -30,7 +30,7 @@ app:minWidth="100dp" app:maxWidth="300dp" app:minHeight="100dp" - app:maxHeight="300dp" /> + app:maxHeight="300dp"/> <org.thoughtcrime.securesms.components.AudioView android:id="@+id/attachment_audio" @@ -40,7 +40,7 @@ android:paddingTop="15dp" android:paddingBottom="15dp" app:widgetBackground="?conversation_item_bubble_background" - app:foregroundTintColor="@color/grey_500" + app:foregroundTintColor="?android:colorControlNormal" app:backgroundTintColor="?conversation_item_bubble_background"/> <org.thoughtcrime.securesms.components.DocumentView diff --git a/res/layout/conversation_fragment.xml b/res/layout/conversation_fragment.xml index 4931b36efd..ed9b8f5c86 100644 --- a/res/layout/conversation_fragment.xml +++ b/res/layout/conversation_fragment.xml @@ -26,8 +26,8 @@ android:paddingBottom="4dp" android:layout_marginTop="8dp" android:textSize="@dimen/small_font_size" - android:textColor="#99FFFFFF" - android:background="?attr/conversation_item_sticky_date_background" + android:textColor="?conversation_item_sticky_date_text_color" + android:background="?conversation_item_sticky_date_background" android:elevation="10dp" android:visibility="gone" tools:text="March 1, 2015" /> @@ -53,9 +53,8 @@ android:paddingTop="10dp" android:paddingRight="@dimen/small_spacing" android:paddingBottom="6dp" - android:tint="@color/text" android:elevation="10dp" android:contentDescription="@string/conversation_fragment__scroll_to_the_bottom_content_description" - android:src="@drawable/ic_keyboard_arrow_down_white_24dp"/> + android:src="@drawable/ic_baseline_keyboard_arrow_down_24"/> </FrameLayout> diff --git a/res/layout/conversation_input_panel.xml b/res/layout/conversation_input_panel.xml index ccfcdf50d1..d3da6926da 100644 --- a/res/layout/conversation_input_panel.xml +++ b/res/layout/conversation_input_panel.xml @@ -91,18 +91,14 @@ android:layout_height="@dimen/conversation_compose_height" /> <org.thoughtcrime.securesms.components.ComposeText - style="@style/ComposeEditText" + style="@style/Widget.Session.EditText.Compose" android:id="@+id/embedded_text_editor" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:textAlignment="viewStart" android:layout_weight="1" - android:textColorHint="#99FFFFFF" - android:textSize="@dimen/small_font_size" android:nextFocusForward="@+id/send_button" android:nextFocusRight="@+id/send_button" - android:textCursorDrawable="@drawable/session_edit_text_cursor" tools:visibility="invisible" tools:hint="Send TextSecure message" > <requestFocus /> @@ -192,6 +188,8 @@ android:layout_gravity="center" android:background="@drawable/circle_touch_highlight_background" android:src="@drawable/ic_circle_plus" + android:scaleType="fitXY" + android:padding="4dp" android:contentDescription="@string/ConversationActivity_add_attachment" android:nextFocusLeft="@+id/embedded_text_editor" /> @@ -199,7 +197,7 @@ android:id="@+id/send_button" android:layout_width="match_parent" android:layout_height="match_parent" - android:scaleType="centerInside" + android:scaleType="fitXY" android:contentDescription="@string/conversation_activity__send" android:nextFocusLeft="@+id/embedded_text_editor" android:src="?conversation_transport_sms_indicator" diff --git a/res/layout/conversation_item_header.xml b/res/layout/conversation_item_header.xml index 80721f010f..588ddd64ef 100644 --- a/res/layout/conversation_item_header.xml +++ b/res/layout/conversation_item_header.xml @@ -15,7 +15,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" - android:textColor="#99FFFFFF" + android:textColor="?conversation_item_sticky_date_text_color" android:textSize="@dimen/small_font_size" tools:text="March 1, 2015" /> diff --git a/res/layout/conversation_item_received_audio.xml b/res/layout/conversation_item_received_audio.xml index 10c2eb0db4..e3bc8a8d79 100644 --- a/res/layout/conversation_item_received_audio.xml +++ b/res/layout/conversation_item_received_audio.xml @@ -7,6 +7,6 @@ android:layout_width="210dp" android:layout_height="wrap_content" android:visibility="gone" - app:foregroundTintColor="@color/white" - app:backgroundTintColor="@color/blue_500" + app:foregroundTintColor="?android:colorControlNormal" + app:backgroundTintColor="?message_received_background_color" tools:visibility="visible"/> diff --git a/res/layout/conversation_item_sent_audio.xml b/res/layout/conversation_item_sent_audio.xml index 7a191e9bef..d298e5f424 100644 --- a/res/layout/conversation_item_sent_audio.xml +++ b/res/layout/conversation_item_sent_audio.xml @@ -5,6 +5,6 @@ android:id="@+id/audio_view" android:layout_width="210dp" android:layout_height="wrap_content" - app:foregroundTintColor="@color/black" - app:backgroundTintColor="@color/white" + app:foregroundTintColor="?android:colorControlNormal" + app:backgroundTintColor="?message_sent_background_color" android:visibility="gone"/> diff --git a/res/layout/conversation_search_nav.xml b/res/layout/conversation_search_nav.xml index 310d7cfeb8..d0f4fb99ce 100644 --- a/res/layout/conversation_search_nav.xml +++ b/res/layout/conversation_search_nav.xml @@ -33,8 +33,7 @@ android:layout_marginBottom="8dp" android:background="?selectableItemBackgroundBorderless" android:padding="8dp" - android:src="@drawable/ic_keyboard_arrow_up_white_36dp" - android:tint="@color/signal_primary" + android:src="@drawable/ic_baseline_keyboard_arrow_up_24" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/conversation_search_down" app:layout_constraintTop_toTopOf="parent" /> @@ -48,8 +47,7 @@ android:layout_marginBottom="8dp" android:background="?selectableItemBackgroundBorderless" android:padding="8dp" - android:src="@drawable/ic_keyboard_arrow_down_white_24dp" - android:tint="@color/signal_primary" + android:src="@drawable/ic_baseline_keyboard_arrow_down_24" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -62,8 +60,9 @@ android:padding="8dp" android:background="@color/compose_view_background" android:visibility="gone" - app:SpinKit_Color="@color/text" + app:SpinKit_Color="?android:textColorPrimary" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="parent" + tools:visibility="gone"/> </org.thoughtcrime.securesms.components.ConversationSearchBottomBar> \ No newline at end of file diff --git a/res/layout/create_passphrase_activity.xml b/res/layout/create_passphrase_activity.xml index 2df7ef51aa..43b310aec1 100644 --- a/res/layout/create_passphrase_activity.xml +++ b/res/layout/create_passphrase_activity.xml @@ -1,28 +1,31 @@ <?xml version="1.0" encoding="utf-8"?> -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/prompt_layout" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/default_session_background"> +<RelativeLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/prompt_layout" + android:layout_width="match_parent" + android:layout_height="match_parent"> + <ProgressBar + android:id="@+id/passphrase_edit" + style="?android:attr/progressBarStyleLargeInverse" + android:layout_width="75dp" + android:layout_height="75dp" + android:layout_centerInParent="true" + android:indeterminate="true" + android:padding="10dp" + android:visibility="gone" + tools:visibility="visible"/> - <ProgressBar android:id="@+id/passphrase_edit" - android:layout_width="75dp" - android:layout_height="75dp" - android:indeterminate="true" - android:padding="10dp" - android:layout_centerInParent="true" - android:visibility="gone" - style="?android:attr/progressBarStyleLargeInverse"/> - - <ImageView android:id="@+id/watermark" - android:layout_width="wrap_content" - android:layout_height="128dp" - android:layout_centerInParent="true" - android:layout_marginBottom="20dp" - android:layout_above="@id/passphrase_edit" - android:src="@drawable/ic_launcher_foreground" - android:contentDescription="@string/PassphrasePromptActivity_watermark_content_description"/> + <ImageView + android:id="@+id/watermark" + android:layout_width="wrap_content" + android:layout_height="128dp" + android:layout_above="@id/passphrase_edit" + android:layout_centerInParent="true" + android:layout_marginBottom="20dp" + android:contentDescription="@string/PassphrasePromptActivity_watermark_content_description" + android:src="@drawable/ic_launcher_foreground" /> </RelativeLayout> diff --git a/res/layout/dialog_clear_all_data.xml b/res/layout/dialog_clear_all_data.xml index 86e9924fa9..a4c94c2e84 100644 --- a/res/layout/dialog_clear_all_data.xml +++ b/res/layout/dialog_clear_all_data.xml @@ -36,7 +36,7 @@ android:orientation="horizontal"> <Button - style="@style/UnimportantDialogButton" + style="@style/Widget.Session.Button.Dialog.Unimportant" android:id="@+id/cancelButton" android:layout_width="0dp" android:layout_height="@dimen/small_button_height" @@ -44,7 +44,7 @@ android:text="@string/cancel" /> <Button - style="@style/DestructiveDialogButton" + style="@style/Widget.Session.Button.Dialog.Destructive" android:id="@+id/clearAllDataButton" android:layout_width="0dp" android:layout_height="@dimen/small_button_height" diff --git a/res/layout/dialog_edit_device_name.xml b/res/layout/dialog_edit_device_name.xml index a63395415a..a19cb7ce02 100644 --- a/res/layout/dialog_edit_device_name.xml +++ b/res/layout/dialog_edit_device_name.xml @@ -15,7 +15,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Change Device Name" - android:textColor="@color/text" android:textStyle="bold" android:textSize="@dimen/medium_font_size" /> @@ -39,7 +38,7 @@ android:orientation="horizontal"> <Button - style="@style/UnimportantDialogButton" + style="@style/Widget.Session.Button.Dialog.Unimportant" android:id="@+id/cancelButton" android:layout_width="0dp" android:layout_height="@dimen/small_button_height" @@ -47,7 +46,7 @@ android:text="@string/cancel" /> <Button - style="@style/UnimportantDialogButton" + style="@style/Widget.Session.Button.Dialog.Unimportant" android:id="@+id/okButton" android:layout_width="0dp" android:layout_height="@dimen/small_button_height" diff --git a/res/layout/dialog_link_device_master_mode.xml b/res/layout/dialog_link_device_master_mode.xml index 76113b3200..105fbc1cf5 100644 --- a/res/layout/dialog_link_device_master_mode.xml +++ b/res/layout/dialog_link_device_master_mode.xml @@ -74,7 +74,7 @@ android:orientation="horizontal"> <Button - style="@style/UnimportantDialogButton" + style="@style/Widget.Session.Button.Dialog.Unimportant" android:id="@+id/cancelButton" android:layout_width="0dp" android:layout_height="@dimen/small_button_height" @@ -82,7 +82,7 @@ android:text="@string/cancel" /> <Button - style="@style/ProminentDialogButton" + style="@style/Widget.Session.Button.Dialog.Prominent" android:id="@+id/authorizeButton" android:layout_width="0dp" android:layout_height="@dimen/small_button_height" diff --git a/res/layout/dialog_link_device_slave_mode.xml b/res/layout/dialog_link_device_slave_mode.xml index 1e4578d1ab..828a1ac956 100644 --- a/res/layout/dialog_link_device_slave_mode.xml +++ b/res/layout/dialog_link_device_slave_mode.xml @@ -51,7 +51,7 @@ android:textAlignment="center" /> <Button - style="@style/UnimportantDialogButton" + style="@style/Widget.Session.Button.Dialog.Unimportant" android:id="@+id/cancelButton" android:layout_width="match_parent" android:layout_height="@dimen/small_button_height" diff --git a/res/layout/dialog_seed.xml b/res/layout/dialog_seed.xml index 300f910810..718f902507 100644 --- a/res/layout/dialog_seed.xml +++ b/res/layout/dialog_seed.xml @@ -47,7 +47,7 @@ android:orientation="horizontal"> <Button - style="@style/UnimportantDialogButton" + style="@style/Widget.Session.Button.Dialog.Unimportant" android:id="@+id/cancelButton" android:layout_width="0dp" android:layout_height="@dimen/small_button_height" @@ -55,7 +55,7 @@ android:text="@string/cancel" /> <Button - style="@style/UnimportantDialogButton" + style="@style/Widget.Session.Button.Dialog.Unimportant" android:id="@+id/copyButton" android:layout_width="0dp" android:layout_height="@dimen/small_button_height" diff --git a/res/layout/document_view.xml b/res/layout/document_view.xml index 5cf4436d27..428375f087 100644 --- a/res/layout/document_view.xml +++ b/res/layout/document_view.xml @@ -28,7 +28,7 @@ android:visibility="gone" android:clickable="false" android:layout_gravity="center" - app:matProg_barColor="@color/white" + app:matProg_barColor="?android:textColorPrimary" app:matProg_linearProgress="true" app:matProg_spinSpeed="0.333" tools:visibility="gone"/> @@ -42,7 +42,8 @@ android:gravity="center" android:visibility="visible" android:clickable="false" - android:focusable="false"> + android:focusable="false" + tools:visibility="visible"> <ImageView android:id="@+id/icon" @@ -62,7 +63,7 @@ style="@style/Signal.Text.Caption" android:textAllCaps="true" android:textSize="10sp" - android:textColor="@color/core_black" + android:textColor="?attachment_document_extension_text_color" tools:visibility="visible" tools:text="PDF" /> @@ -75,8 +76,9 @@ android:clickable="true" android:visibility="gone" android:background="@drawable/circle_touch_highlight_background" - android:src="@drawable/ic_download_circle_fill_white_48dp" - android:contentDescription="@string/audio_view__download_accessibility_description"/> + android:src="@drawable/ic_download_circle_filled_48" + android:contentDescription="@string/audio_view__download_accessibility_description" + tools:visibility="visible"/> </org.thoughtcrime.securesms.components.AnimatingToggle> diff --git a/res/layout/fragment_closed_group_edit_bottom_sheet.xml b/res/layout/fragment_closed_group_edit_bottom_sheet.xml index cc68d18380..3ec2b6b988 100644 --- a/res/layout/fragment_closed_group_edit_bottom_sheet.xml +++ b/res/layout/fragment_closed_group_edit_bottom_sheet.xml @@ -6,15 +6,12 @@ android:layout_height="wrap_content" android:orientation="vertical" app:behavior_hideable="true" - app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" - android:background="@color/dialog_background"> + app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> <TextView android:id="@+id/removeFromGroup" - style="@style/ActionItem" + style="@style/BottomSheetActionItem" android:drawableStart="@drawable/ic_phonelink_erase_white_24dp" - android:textSize="@dimen/medium_font_size" - android:textColor="@color/text" android:text="@string/fragment_edit_group_bottom_sheet_remove"/> </LinearLayout> diff --git a/res/layout/fragment_conversation_bottom_sheet.xml b/res/layout/fragment_conversation_bottom_sheet.xml index 2727ec8a3b..274417418a 100644 --- a/res/layout/fragment_conversation_bottom_sheet.xml +++ b/res/layout/fragment_conversation_bottom_sheet.xml @@ -2,27 +2,33 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" app:behavior_hideable="true" - app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" - android:background="@color/dialog_background"> + app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> <TextView - android:id="@+id/blockOrUnblockTextView" - style="@style/ActionItem" - android:drawableStart="@drawable/ic_block_white_24dp" - android:textSize="@dimen/medium_font_size" - android:textColor="@color/text" - android:text="@string/RecipientPreferenceActivity_block"/> + android:id="@+id/blockTextView" + style="@style/BottomSheetActionItem" + android:drawableStart="?attr/menu_block_icon" + android:text="@string/RecipientPreferenceActivity_block" + android:visibility="gone" + tools:visibility="visible"/> + + <TextView + android:id="@+id/unblockTextView" + style="@style/BottomSheetActionItem" + android:drawableStart="?attr/menu_accept_icon" + android:text="@string/RecipientPreferenceActivity_unblock" + android:visibility="gone" + tools:visibility="visible"/> <TextView android:id="@+id/deleteTextView" - style="@style/ActionItem" - android:drawableStart="@drawable/ic_delete_white_24dp" - android:textSize="@dimen/medium_font_size" - android:textColor="@color/text" + style="@style/BottomSheetActionItem" + android:drawableStart="?attr/menu_trash_icon" android:text="@string/delete" /> </LinearLayout> diff --git a/res/layout/fragment_device_list_bottom_sheet.xml b/res/layout/fragment_device_list_bottom_sheet.xml index 4360e56d9b..11917e65b3 100644 --- a/res/layout/fragment_device_list_bottom_sheet.xml +++ b/res/layout/fragment_device_list_bottom_sheet.xml @@ -6,23 +6,18 @@ android:layout_height="wrap_content" android:orientation="vertical" app:behavior_hideable="true" - app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" - android:background="@color/dialog_background"> + app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> <TextView android:id="@+id/editDisplayNameText" - style="@style/ActionItem" - android:drawableStart="@drawable/ic_edit_white_24dp" - android:textSize="@dimen/medium_font_size" - android:textColor="@color/text" + style="@style/BottomSheetActionItem" + android:drawableStart="@drawable/ic_baseline_edit_24" android:text="@string/fragment_device_list_bottom_sheet_change_name_button_title"/> <TextView android:id="@+id/unlinkDeviceText" - style="@style/ActionItem" + style="@style/BottomSheetActionItem" android:drawableStart="@drawable/ic_phonelink_erase_white_24dp" - android:textSize="@dimen/medium_font_size" - android:textColor="@color/text" android:text="@string/fragment_device_list_bottom_sheet_unlink_device_button_title" /> </LinearLayout> diff --git a/res/layout/fragment_enter_chat_url.xml b/res/layout/fragment_enter_chat_url.xml index 8620c51fea..a477981590 100644 --- a/res/layout/fragment_enter_chat_url.xml +++ b/res/layout/fragment_enter_chat_url.xml @@ -4,7 +4,6 @@ android:id="@+id/contentView" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:gravity="center_horizontal" android:orientation="vertical"> @@ -24,7 +23,7 @@ android:layout_weight="1" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/joinPublicChatButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/fragment_enter_public_key.xml b/res/layout/fragment_enter_public_key.xml index 4abafd17d9..92e27cf260 100644 --- a/res/layout/fragment_enter_public_key.xml +++ b/res/layout/fragment_enter_public_key.xml @@ -4,7 +4,6 @@ android:id="@+id/contentView" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:gravity="center_horizontal" android:orientation="vertical"> @@ -66,7 +65,7 @@ android:orientation="horizontal"> <Button - style="@style/MediumUnimportantFilledButton" + style="@style/Widget.Session.Button.Common.UnimportantFilled" android:id="@+id/copyButton" android:layout_width="0dp" android:layout_height="@dimen/medium_button_height" @@ -74,7 +73,7 @@ android:text="@string/copy" /> <Button - style="@style/MediumUnimportantFilledButton" + style="@style/Widget.Session.Button.Common.UnimportantFilled" android:id="@+id/shareButton" android:layout_width="0dp" android:layout_height="@dimen/medium_button_height" @@ -90,7 +89,7 @@ android:layout_weight="1" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/createPrivateChatButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/fragment_enter_session_id.xml b/res/layout/fragment_enter_session_id.xml index c2257adfcc..12642d6b80 100644 --- a/res/layout/fragment_enter_session_id.xml +++ b/res/layout/fragment_enter_session_id.xml @@ -3,7 +3,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:gravity="center_horizontal" android:orientation="vertical"> @@ -48,7 +47,7 @@ android:layout_weight="1"/> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/requestDeviceLinkButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/fragment_light_theme_feature_intro_bottom_sheet.xml b/res/layout/fragment_light_theme_feature_intro_bottom_sheet.xml new file mode 100644 index 0000000000..755db77531 --- /dev/null +++ b/res/layout/fragment_light_theme_feature_intro_bottom_sheet.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout + 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="wrap_content" + android:orientation="vertical" + android:gravity="center_horizontal" + android:padding="@dimen/large_spacing" + app:behavior_hideable="true" + app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> + + <ImageView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:src="@drawable/ic_sun" + android:tint="?android:textColorPrimary" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/large_spacing" + android:text="Light Mode" + android:textStyle="bold" + android:textSize="@dimen/large_font_size" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/large_spacing" + android:text="Whoops, who left the lights on?" + android:textSize="@dimen/medium_font_size" + android:textAlignment="center" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/medium_spacing" + android:text="That’s right, Session has a spiffy new light mode! Take the fresh new color palette for a spin." + android:textSize="@dimen/medium_font_size" + android:textAlignment="center" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/medium_spacing" + android:text="Want to go back to the dark side? Just tap the moon symbol in the in-app settings to switch modes." + android:textSize="@dimen/medium_font_size" + android:textAlignment="center" /> + + <Button + style="@style/Widget.Session.Button.Common.UnimportantOutline" + android:id="@+id/okButton" + android:layout_width="240dp" + android:layout_height="@dimen/medium_button_height" + android:layout_marginTop="@dimen/very_large_spacing" + android:text="@string/ok" /> + +</LinearLayout> diff --git a/res/layout/fragment_multi_device_removal_bottom_sheet.xml b/res/layout/fragment_multi_device_removal_bottom_sheet.xml index 2d0c9aef29..76a983de9a 100644 --- a/res/layout/fragment_multi_device_removal_bottom_sheet.xml +++ b/res/layout/fragment_multi_device_removal_bottom_sheet.xml @@ -11,8 +11,7 @@ android:paddingRight="@dimen/very_large_spacing" android:paddingBottom="@dimen/very_large_spacing" app:behavior_hideable="true" - app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" - android:background="@drawable/default_bottom_sheet_background_inset"> + app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> <TextView android:layout_width="wrap_content" @@ -32,7 +31,7 @@ android:textSize="@dimen/small_font_size" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/okButton" android:layout_width="240dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/fragment_open_group_suggestion_bottom_sheet.xml b/res/layout/fragment_open_group_suggestion_bottom_sheet.xml index d586f461c2..20920e6964 100644 --- a/res/layout/fragment_open_group_suggestion_bottom_sheet.xml +++ b/res/layout/fragment_open_group_suggestion_bottom_sheet.xml @@ -35,7 +35,7 @@ android:textAlignment="center" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/joinButton" android:layout_width="240dp" android:layout_height="@dimen/medium_button_height" @@ -43,7 +43,7 @@ android:text="Join Public Chat" /> <Button - style="@style/MediumUnimportantOutlineButton" + style="@style/Widget.Session.Button.Common.UnimportantOutline" android:id="@+id/dismissButton" android:layout_width="240dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/fragment_scan_qr_code.xml b/res/layout/fragment_scan_qr_code.xml index 4a3aa5fe79..e511a9f50e 100644 --- a/res/layout/fragment_scan_qr_code.xml +++ b/res/layout/fragment_scan_qr_code.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <FrameLayout - android:layout_width="match_parent" - android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto"> + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="match_parent"> <org.thoughtcrime.securesms.components.camera.CameraView android:id="@+id/cameraView" @@ -16,23 +16,24 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:weightSum="2" > + android:weightSum="3" > <org.thoughtcrime.securesms.components.ShapeScrim - android:layout_weight="1" + android:layout_weight="2" android:layout_width="match_parent" - android:layout_height="match_parent"/> + android:layout_height="0dp"/> <TextView - android:id="@+id/descriptionTextView" + android:id="@+id/messageTextView" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="0dp" android:layout_weight="1" - android:padding="32dp" + android:padding="@dimen/very_large_spacing" android:gravity="center" - android:background="@color/loki_darkest_gray" - android:text="@string/fragment_scan_qr_code_explanation_new_conversation" - android:textColor="?android:textColorPrimary" /> + android:text="Scan a user’s QR code to start a session. QR codes can be found by tapping the QR code icon in account settings." + android:background="?android:windowBackground" + android:textSize="@dimen/small_font_size" + android:textColor="?android:textColorTertiary" /> </LinearLayout> diff --git a/res/layout/fragment_scan_qr_code_placeholder.xml b/res/layout/fragment_scan_qr_code_placeholder.xml index dc63d7a139..0e32676d54 100644 --- a/res/layout/fragment_scan_qr_code_placeholder.xml +++ b/res/layout/fragment_scan_qr_code_placeholder.xml @@ -2,8 +2,7 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/default_session_background"> + android:layout_height="match_parent"> <LinearLayout android:layout_width="wrap_content" @@ -15,7 +14,6 @@ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textColor="@color/text" android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing" android:textSize="@dimen/small_font_size" @@ -23,7 +21,7 @@ android:text="@string/fragment_scan_qr_code_camera_access_explanation" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/grantCameraAccessButton" android:layout_width="wrap_content" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/fragment_scan_qr_code_v2.xml b/res/layout/fragment_scan_qr_code_v2.xml deleted file mode 100644 index b47a660e6a..0000000000 --- a/res/layout/fragment_scan_qr_code_v2.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<FrameLayout - 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"> - - <org.thoughtcrime.securesms.components.camera.CameraView - android:id="@+id/cameraView" - android:layout_width="match_parent" - android:layout_height="match_parent" - app:camera="0" /> - - <LinearLayout - android:id="@+id/overlayView" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical" - android:weightSum="3" > - - <org.thoughtcrime.securesms.components.ShapeScrim - android:layout_weight="2" - android:layout_width="match_parent" - android:layout_height="0dp"/> - - <TextView - android:id="@+id/messageTextView" - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="1" - android:padding="@dimen/very_large_spacing" - android:gravity="center" - android:background="@color/navigation_bar_background" - android:text="Scan a user’s QR code to start a session. QR codes can be found by tapping the QR code icon in account settings." - android:textSize="@dimen/small_font_size" - android:textColor="@color/text" /> - - </LinearLayout> - -</FrameLayout> diff --git a/res/layout/fragment_view_my_qr_code.xml b/res/layout/fragment_view_my_qr_code.xml index c0aea06bbb..95379f3885 100644 --- a/res/layout/fragment_view_my_qr_code.xml +++ b/res/layout/fragment_view_my_qr_code.xml @@ -2,8 +2,7 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/default_session_background" > + android:layout_height="match_parent"> <ScrollView android:layout_width="match_parent" @@ -57,7 +56,7 @@ android:text="This is your QR code. Other users can scan it to start a session with you." /> <Button - style="@style/MediumUnimportantOutlineButton" + style="@style/Widget.Session.Button.Common.UnimportantOutline" android:id="@+id/shareButton" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/giphy_activity.xml b/res/layout/giphy_activity.xml index 89562bc5fc..63f1909b9f 100644 --- a/res/layout/giphy_activity.xml +++ b/res/layout/giphy_activity.xml @@ -28,7 +28,7 @@ android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:theme="@style/Session.DarkTabLayout" + android:theme="@style/Widget.Session.TabLayout" app:tabRippleColor="@color/cell_selected" app:tabIndicatorColor="@color/accent" android:scrollbars="horizontal"/> diff --git a/res/layout/giphy_activity_toolbar.xml b/res/layout/giphy_activity_toolbar.xml index a98a027630..48386cc071 100644 --- a/res/layout/giphy_activity_toolbar.xml +++ b/res/layout/giphy_activity_toolbar.xml @@ -1,9 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> -<merge xmlns:android="http://schemas.android.com/apk/res/android"> +<merge xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + tools:context="org.thoughtcrime.securesms.giph.ui.GiphyActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" - android:orientation="horizontal"> + android:orientation="horizontal" + tools:layout_height="80dp" + tools:theme="@style/Theme.TextSecure.DayNight.NoActionBar"> <ImageView android:id="@+id/action_icon" android:layout_width="wrap_content" @@ -12,7 +16,7 @@ android:gravity="center_vertical" android:clickable="true" android:background="@drawable/circle_touch_highlight_background" - android:src="@drawable/ic_search_white_24dp" /> + android:src="@drawable/ic_baseline_search_24" /> <LinearLayout android:id="@+id/toggle_container" android:layout_width="match_parent" @@ -25,8 +29,8 @@ android:layout_weight="1" android:layout_marginStart="6dp" android:hint="@string/giphy_activity_toolbar__search_gifs_and_stickers" - android:textColor="@color/text" - android:textColorHint="@color/text" + android:textColor="?android:textColorPrimary" + android:textColorHint="?android:textColorTertiary" android:textCursorDrawable="@drawable/session_edit_text_cursor" android:maxLines="1" android:singleLine="true" @@ -45,7 +49,7 @@ android:focusable="true" android:visibility="invisible" android:background="@drawable/circle_touch_highlight_background" - android:src="@drawable/ic_clear_white_24dp" /> + android:src="@drawable/ic_baseline_clear_24" /> <org.thoughtcrime.securesms.components.AnimatingToggle android:id="@+id/button_toggle" @@ -65,7 +69,7 @@ android:visibility="visible" android:focusable="true" android:background="@drawable/circle_touch_highlight_background" - android:src="@drawable/ic_dashboard_white_24dp" /> + android:src="@drawable/ic_baseline_dashboard_24" /> <ImageView android:id="@+id/view_stream" android:layout_width="wrap_content" @@ -76,7 +80,7 @@ android:clickable="true" android:focusable="true" android:background="@drawable/circle_touch_highlight_background" - android:src="@drawable/ic_view_stream_white_24dp" /> + android:src="@drawable/ic_baseline_view_stream_24" /> </org.thoughtcrime.securesms.components.AnimatingToggle> diff --git a/res/layout/media_overview_activity.xml b/res/layout/media_overview_activity.xml index ab36f3303d..514d20d631 100644 --- a/res/layout/media_overview_activity.xml +++ b/res/layout/media_overview_activity.xml @@ -1,33 +1,31 @@ <?xml version="1.0" encoding="utf-8"?> <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_height="match_parent" android:layout_width="match_parent" - android:background="@drawable/default_session_background" - xmlns:tools="http://schemas.android.com/tools" - xmlns:app="http://schemas.android.com/apk/res-auto"> + tools:context="org.thoughtcrime.securesms.MediaOverviewActivity" + android:theme="@style/Theme.Session.DayNight.NoActionBar"> <com.google.android.material.appbar.AppBarLayout + style="@style/Widget.Session.AppBarLayout" android:layout_width="match_parent" - android:layout_height="wrap_content"> + android:layout_height="wrap_content" + android:stateListAnimator="@animator/appbar_elevation"> <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?android:attr/actionBarSize" - style="@style/Session.DarkActionBar" app:layout_scrollFlags="scroll|enterAlways"/> <org.thoughtcrime.securesms.components.ControllableTabLayout android:id="@+id/tab_layout" + style="@style/Widget.Session.TabLayout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_gravity="top" - style="@style/Session.DarkTabLayout" - android:background="?attr/media_overview_toolbar_background" - app:tabBackground="?attr/media_overview_toolbar_background" - app:tabIndicatorColor="@color/textsecure_primary" - app:tabSelectedTextColor="@color/textsecure_primary"/> + android:layout_gravity="top"/> </com.google.android.material.appbar.AppBarLayout> diff --git a/res/layout/media_overview_document_item.xml b/res/layout/media_overview_document_item.xml index 400c88cf76..231592530f 100644 --- a/res/layout/media_overview_document_item.xml +++ b/res/layout/media_overview_document_item.xml @@ -16,8 +16,8 @@ android:layout_gravity="center_vertical" android:layout_weight="1" android:visibility="visible" - app:doc_titleColor="?media_overview_document_primary" - app:doc_captionColor="?media_overview_document_secondary" + app:doc_titleColor="?android:textColorPrimary" + app:doc_captionColor="?android:textColorTertiary" tools:visibility="visible"/> <TextView android:id="@+id/date" @@ -25,7 +25,7 @@ android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:textSize="12sp" - android:textColor="?media_overview_document_secondary" + android:textColor="?android:textColorTertiary" android:paddingTop="20dp" tools:text="Jun 1"/> diff --git a/res/layout/media_overview_documents_fragment.xml b/res/layout/media_overview_documents_fragment.xml index d8f5791bd0..03d041c5c4 100644 --- a/res/layout/media_overview_documents_fragment.xml +++ b/res/layout/media_overview_documents_fragment.xml @@ -1,23 +1,25 @@ <?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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:background="@drawable/default_session_background"> + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent"> <androidx.recyclerview.widget.RecyclerView - android:id="@+id/recycler_view" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:scrollbars="vertical" /> + android:id="@+id/recycler_view" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:scrollbars="vertical" + tools:listitem="@layout/media_overview_document_item" /> - <TextView android:id="@+id/no_documents" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:textSize="@dimen/medium_font_size" - android:gravity="center" - android:visibility="gone" - android:textColor="@color/text" - android:text="@string/media_overview_documents_fragment__no_documents_found" /> + <TextView + android:id="@+id/no_documents" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" + android:text="@string/media_overview_documents_fragment__no_documents_found" + android:textSize="@dimen/medium_font_size" + android:visibility="gone" + tools:visibility="visible" /> </RelativeLayout> diff --git a/res/layout/media_overview_gallery_fragment.xml b/res/layout/media_overview_gallery_fragment.xml index caa33fa594..1c3b127fc9 100644 --- a/res/layout/media_overview_gallery_fragment.xml +++ b/res/layout/media_overview_gallery_fragment.xml @@ -2,8 +2,7 @@ <RelativeLayout 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:background="@drawable/default_session_background"> + android:layout_height="match_parent"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/media_grid" diff --git a/res/layout/media_preview_activity.xml b/res/layout/media_preview_activity.xml index 231e386e57..2f32fbc1d4 100644 --- a/res/layout/media_preview_activity.xml +++ b/res/layout/media_preview_activity.xml @@ -5,8 +5,20 @@ xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/default_session_background"> + android:layout_height="match_parent"> + + <com.google.android.material.appbar.AppBarLayout + style="@style/Widget.Session.AppBarLayout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:stateListAnimator="@animator/appbar_elevation"> + + <androidx.appcompat.widget.Toolbar + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="wrap_content"/> + + </com.google.android.material.appbar.AppBarLayout> <org.thoughtcrime.securesms.components.viewpager.HackyViewPager android:id="@+id/media_pager" diff --git a/res/layout/mediapicker_folder_fragment.xml b/res/layout/mediapicker_folder_fragment.xml index ccd49b0177..d3bc0add5c 100644 --- a/res/layout/mediapicker_folder_fragment.xml +++ b/res/layout/mediapicker_folder_fragment.xml @@ -3,8 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:orientation="vertical" - android:background="@drawable/default_session_background"> + android:orientation="vertical"> <androidx.appcompat.widget.Toolbar android:id="@+id/mediapicker_toolbar" @@ -16,7 +15,7 @@ <androidx.recyclerview.widget.RecyclerView android:id="@+id/mediapicker_folder_list" - android:background="@drawable/default_session_background" + android:background="?android:windowBackground" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginStart="2dp" diff --git a/res/layout/mediapicker_item_fragment.xml b/res/layout/mediapicker_item_fragment.xml index 9fd2422c93..dd49c1e993 100644 --- a/res/layout/mediapicker_item_fragment.xml +++ b/res/layout/mediapicker_item_fragment.xml @@ -3,8 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:orientation="vertical" - android:background="@drawable/default_session_background"> + android:orientation="vertical"> <androidx.appcompat.widget.Toolbar android:id="@+id/mediapicker_toolbar" @@ -16,7 +15,7 @@ <androidx.recyclerview.widget.RecyclerView android:id="@+id/mediapicker_item_list" - android:background="@drawable/default_session_background" + android:background="?android:attr/windowBackground" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginStart="2dp" diff --git a/res/layout/mediasend_activity.xml b/res/layout/mediasend_activity.xml index 24a25d371e..bdfc0446ca 100644 --- a/res/layout/mediasend_activity.xml +++ b/res/layout/mediasend_activity.xml @@ -4,8 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/default_session_background"> + android:layout_height="match_parent"> <FrameLayout android:id="@+id/mediasend_fragment_container" diff --git a/res/layout/mediasend_fragment.xml b/res/layout/mediasend_fragment.xml index de1978593b..fd15041ea9 100644 --- a/res/layout/mediasend_fragment.xml +++ b/res/layout/mediasend_fragment.xml @@ -5,7 +5,9 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/core_black"> + android:background="@color/core_black" + android:theme="@style/Theme.Session.ForceDark" + tools:context="org.thoughtcrime.securesms.mediasend.MediaSendActivity"> <org.thoughtcrime.securesms.components.ControllableViewPager android:id="@+id/mediasend_pager" @@ -56,6 +58,7 @@ android:layout_marginTop="2dp" android:layout_marginStart="2dp" android:layout_marginEnd="2dp" + tools:listitem="@layout/mediarail_media_item" tools:layout_height="64dp"/> <LinearLayout @@ -92,13 +95,11 @@ android:layout_height="@dimen/conversation_compose_height" /> <org.thoughtcrime.securesms.components.ComposeText - style="@style/ComposeEditText" + style="@style/Widget.Session.EditText.Compose" android:id="@+id/mediasend_compose_text" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:textSize="@dimen/small_font_size" - android:textCursorDrawable="@drawable/session_edit_text_cursor" android:layout_weight="1" android:nextFocusForward="@+id/send_button" android:nextFocusRight="@+id/send_button" @@ -119,9 +120,9 @@ <org.thoughtcrime.securesms.components.SendButton android:id="@+id/mediasend_send_button" - android:layout_width="wrap_content" + android:layout_width="match_parent" android:layout_height="match_parent" - android:scaleType="fitCenter" + android:scaleType="fitXY" android:contentDescription="@string/conversation_activity__send" android:src="?conversation_transport_sms_indicator" android:background="@drawable/circle_touch_highlight_background" /> diff --git a/res/layout/message_details_activity.xml b/res/layout/message_details_activity.xml index 6f51965693..88cfb1061f 100644 --- a/res/layout/message_details_activity.xml +++ b/res/layout/message_details_activity.xml @@ -2,7 +2,6 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" - android:background="@drawable/default_session_background" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> diff --git a/res/layout/prompt_passphrase_activity.xml b/res/layout/prompt_passphrase_activity.xml index fbd937e11f..32e1069959 100644 --- a/res/layout/prompt_passphrase_activity.xml +++ b/res/layout/prompt_passphrase_activity.xml @@ -6,7 +6,6 @@ android:id="@+id/prompt_layout" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/default_session_background" android:orientation="vertical"> <View android:id="@+id/shim" @@ -54,14 +53,13 @@ android:textStyle="bold" android:textSize="@dimen/large_font_size" android:textAlignment="center" - android:textColor="@color/text" android:layout_marginBottom="32dp" /> <ImageView android:id="@+id/fingerprint_auth_container" android:src="@drawable/ic_fingerprint_white_48dp" android:background="@drawable/circle_tintable" - android:backgroundTint="@color/accent" + android:backgroundTint="?colorAccent" android:padding="20dp" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -70,7 +68,7 @@ tools:visibility="visible"/> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/lock_screen_auth_container" android:layout_width="196dp" android:layout_height="@dimen/medium_button_height" diff --git a/res/layout/quote_view.xml b/res/layout/quote_view.xml index 6246371cc6..50b270b500 100644 --- a/res/layout/quote_view.xml +++ b/res/layout/quote_view.xml @@ -174,13 +174,12 @@ <ImageView android:id="@+id/quote_dismiss" - android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_width="18dp" + android:layout_height="18dp" android:layout_marginEnd="6dp" android:layout_marginTop="6dp" android:layout_gravity="top|end" android:background="@drawable/dismiss_background" - android:src="@drawable/ic_close_white_18dp" - android:tint="#99FFFFFF" /> + android:src="@drawable/ic_baseline_clear_24"/> </merge> \ No newline at end of file diff --git a/res/layout/recent_photo_view.xml b/res/layout/recent_photo_view.xml index 5d6db9fa30..7e8d2a3b81 100644 --- a/res/layout/recent_photo_view.xml +++ b/res/layout/recent_photo_view.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<merge xmlns:android="http://schemas.android.com/apk/res/android"> +<merge xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/photo_list" android:layout_width="match_parent" diff --git a/res/layout/recording_layout.xml b/res/layout/recording_layout.xml index 569a8e8066..92e8077983 100644 --- a/res/layout/recording_layout.xml +++ b/res/layout/recording_layout.xml @@ -34,7 +34,7 @@ android:layout_marginStart="4dp" android:ellipsize="none" android:singleLine="true" - android:textColor="#99FFFFFF" + android:textColor="?android:textColorTertiary" android:visibility="gone" android:textSize="@dimen/small_font_size" app:layout_constraintBottom_toBottomOf="parent" @@ -85,7 +85,7 @@ android:layout_height="24dp" android:layout_marginTop="1dp" android:src="@drawable/ic_keyboard_arrow_left_grey600_24dp" - android:tint="#99FFFFFF" + android:tint="?android:textColorTertiary" android:scaleType="centerInside" /> <TextView @@ -95,7 +95,7 @@ android:textSize="@dimen/small_font_size" android:ellipsize="none" android:text="@string/conversation_input_panel__slide_to_cancel" - android:textColor="#99FFFFFF" /> + android:textColor="?android:textColorTertiary" /> </LinearLayout> diff --git a/res/layout/scribble_select_sticker_activity.xml b/res/layout/scribble_select_sticker_activity.xml index ceea06cd10..f63830e66c 100644 --- a/res/layout/scribble_select_sticker_activity.xml +++ b/res/layout/scribble_select_sticker_activity.xml @@ -9,7 +9,7 @@ android:id="@+id/camera_sticker_tabs" android:layout_width="match_parent" android:layout_height="wrap_content" - app:tabBackground="@color/core_grey_90" + app:tabBackground="?android:colorPrimary" app:tabMode="fixed"/> <androidx.viewpager.widget.ViewPager diff --git a/res/layout/session_restore_banner.xml b/res/layout/session_restore_banner.xml index 30a6d99c96..5905f830c3 100644 --- a/res/layout/session_restore_banner.xml +++ b/res/layout/session_restore_banner.xml @@ -1,17 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" android:id="@+id/sessionRestoreBanner" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@color/dialog_background" + android:background="?dialog_background_color" android:orientation="vertical" android:elevation="10dp"> <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> <LinearLayout android:layout_width="match_parent" @@ -33,19 +34,19 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/small_spacing" - android:text="@string/session_reset_banner_message" android:textColor="@color/text" android:textSize="@dimen/small_font_size" - android:textAlignment="center" /> + android:textAlignment="center" + tools:text="@string/session_reset_banner_message"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/small_spacing" + android:layout_marginTop="@dimen/medium_spacing" android:orientation="horizontal"> <Button - style="@style/UnimportantDialogButton" + style="@style/Widget.Session.Button.Dialog.Unimportant" android:id="@+id/dismissButton" android:layout_width="0dp" android:layout_height="@dimen/small_button_height" @@ -53,7 +54,7 @@ android:text="@string/session_reset_banner_dismiss_button_title" /> <Button - style="@style/ProminentDialogButton" + style="@style/Widget.Session.Button.Dialog.Prominent" android:id="@+id/restoreButton" android:layout_width="0dp" android:layout_height="@dimen/small_button_height" @@ -68,6 +69,6 @@ <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> </LinearLayout> diff --git a/res/layout/share_activity.xml b/res/layout/share_activity.xml index b85ed37af2..561d34dae2 100644 --- a/res/layout/share_activity.xml +++ b/res/layout/share_activity.xml @@ -5,8 +5,7 @@ xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/default_session_background"> + android:layout_height="match_parent"> <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" @@ -14,9 +13,9 @@ android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:minHeight="?attr/actionBarSize" - android:background="@color/action_bar_background" + android:background="?colorPrimary" android:elevation="0dp" - android:theme="@style/Session.DarkActionBar"> + android:theme="@style/Widget.Session.ActionBar"> <RelativeLayout android:layout_width="match_parent" @@ -25,7 +24,6 @@ <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Share" - android:textColor="@color/white" android:fontFamily="sans-serif-medium" android:textSize="@dimen/very_large_font_size" android:layout_alignParentStart="true" @@ -35,7 +33,7 @@ <ImageView android:id="@+id/search_action" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/ic_search_white_24dp" + android:src="@drawable/ic_baseline_search_24" android:visibility="gone" android:layout_alignParentEnd="true" android:layout_centerVertical="true"/> diff --git a/res/layout/unknown_sender_view.xml b/res/layout/unknown_sender_view.xml index 30c3bda45e..7eec7fb6bf 100644 --- a/res/layout/unknown_sender_view.xml +++ b/res/layout/unknown_sender_view.xml @@ -27,7 +27,7 @@ <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/ic_block_white_24dp" + android:src="?attr/menu_block_icon" android:tint="@color/signal_primary"/> <TextView android:layout_marginStart="15dp" diff --git a/res/layout/video_player.xml b/res/layout/video_player.xml index 144e0f51ec..b855fca65a 100644 --- a/res/layout/video_player.xml +++ b/res/layout/video_player.xml @@ -1,13 +1,17 @@ <?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="match_parent"> +<FrameLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent"> - <VideoView android:id="@+id/video_view" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_gravity="center" - android:gravity="center"/> + <com.google.android.exoplayer2.ui.PlayerView + android:id="@+id/video_view" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_gravity="center" + android:gravity="center" + app:player_layout_id="@layout/media_preview_exoplayer_layout"/> </FrameLayout> \ No newline at end of file diff --git a/res/layout/view_conversation.xml b/res/layout/view_conversation.xml index 0df9155353..ef630ee682 100644 --- a/res/layout/view_conversation.xml +++ b/res/layout/view_conversation.xml @@ -1,18 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout 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="wrap_content" - xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@drawable/conversation_view_background" - android:orientation="horizontal" - android:gravity="center_vertical"> + android:gravity="center_vertical" + android:orientation="horizontal"> <View android:id="@+id/accentView" android:layout_width="@dimen/accent_line_thickness" android:layout_height="match_parent" android:background="@color/accent" /> - + <org.thoughtcrime.securesms.loki.views.ProfilePictureView android:id="@+id/profilePictureView" android:layout_width="@dimen/medium_profile_picture_size" @@ -21,96 +21,111 @@ android:layout_marginStart="@dimen/medium_spacing" android:layout_marginBottom="@dimen/medium_spacing" /> - <LinearLayout + <FrameLayout android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginStart="@dimen/medium_spacing" - android:layout_marginEnd="@dimen/medium_spacing" - android:orientation="vertical"> + android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" - android:gravity="center_vertical"> + android:layout_marginStart="@dimen/medium_spacing" + android:layout_marginEnd="@dimen/medium_spacing" + android:layout_gravity="center_vertical" + android:orientation="vertical"> - <TextView - android:id="@+id/btnGroupNameDisplay" - android:layout_width="0dp" + <LinearLayout + android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_weight="1" - android:maxLines="1" - android:ellipsize="end" - android:textAlignment="viewStart" - android:textSize="@dimen/medium_font_size" - android:textStyle="bold" - android:textColor="@color/text" - android:text="I'm a very long display name. What are you going to do about it?" /> - - <TextView - android:id="@+id/timestampTextView" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="@dimen/medium_spacing" - android:maxLines="1" - android:ellipsize="end" - android:textSize="@dimen/small_font_size" - android:textColor="@color/text" - android:alpha="0.4" - android:text="9:41 AM" /> - - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:gravity="center_vertical"> - - <ImageView - android:id="@+id/muteIndicatorImageView" - android:layout_width="12dp" - android:layout_height="12dp" - android:src="@drawable/ic_mute" - android:layout_marginTop="1dp" - android:layout_marginEnd="4dp" /> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content"> + android:orientation="horizontal" + android:gravity="center_vertical"> <TextView - android:id="@+id/snippetTextView" - android:layout_width="wrap_content" + android:id="@+id/btnGroupNameDisplay" + android:layout_width="0dp" android:layout_height="wrap_content" + android:layout_weight="1" android:maxLines="1" android:ellipsize="end" + android:textAlignment="viewStart" android:textSize="@dimen/medium_font_size" + android:textStyle="bold" android:textColor="@color/text" - android:text="Sorry, gotta go fight crime again" /> + android:text="I'm a very long display name. What are you going to do about it?" /> - <org.thoughtcrime.securesms.components.TypingIndicatorView - android:id="@+id/typingIndicatorView" + <TextView + android:id="@+id/timestampTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="4dp" - app:typingIndicator_tint="@color/text" /> + android:layout_marginStart="@dimen/medium_spacing" + android:maxLines="1" + android:ellipsize="end" + android:textSize="@dimen/small_font_size" + android:textColor="@color/text" + android:alpha="0.4" + android:text="9:41 AM" /> - </RelativeLayout> + </LinearLayout> - <View - android:layout_width="0dp" - android:layout_height="0dp" - android:layout_weight="1" /> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:gravity="center_vertical"> - <ImageView - android:id="@+id/statusIndicatorImageView" - android:layout_width="@dimen/conversation_view_status_indicator_size" - android:layout_height="@dimen/conversation_view_status_indicator_size" - android:layout_marginStart="@dimen/medium_spacing" /> + <ImageView + android:id="@+id/muteIndicatorImageView" + android:layout_width="18dp" + android:layout_height="18dp" + android:layout_gravity="center" + android:src="@drawable/ic_outline_notifications_off_24" + android:layout_marginTop="1dp" + android:layout_marginEnd="6dp" /> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <TextView + android:id="@+id/snippetTextView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:maxLines="1" + android:ellipsize="end" + android:textSize="@dimen/medium_font_size" + android:textColor="@color/text" + android:text="Sorry, gotta go fight crime again" /> + + <org.thoughtcrime.securesms.components.TypingIndicatorView + android:id="@+id/typingIndicatorView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="4dp" + app:typingIndicator_tint="@color/text" /> + + </RelativeLayout> + + <View + android:layout_width="0dp" + android:layout_height="0dp" + android:layout_weight="1" /> + + <ImageView + android:id="@+id/statusIndicatorImageView" + android:layout_width="@dimen/conversation_view_status_indicator_size" + android:layout_height="@dimen/conversation_view_status_indicator_size" + android:layout_marginStart="@dimen/medium_spacing" /> + + </LinearLayout> </LinearLayout> - </LinearLayout> + <View + android:layout_width="match_parent" + android:layout_height="1px" + android:layout_gravity="bottom" + android:layout_marginStart="@dimen/medium_spacing" + android:background="?android:dividerHorizontal" /> + + </FrameLayout> </LinearLayout> \ No newline at end of file diff --git a/res/layout/view_fake_chat.xml b/res/layout/view_fake_chat.xml index c24fd1b64b..5680186dc2 100644 --- a/res/layout/view_fake_chat.xml +++ b/res/layout/view_fake_chat.xml @@ -8,7 +8,7 @@ android:orientation="vertical"> <TextView - style="@style/FakeChatViewOutgoingMessageBubble" + style="@style/FakeChatViewMessageBubble.Outgoing" android:id="@+id/bubble1" android:layout_width="@dimen/fake_chat_view_bubble_width" android:layout_height="wrap_content" @@ -17,7 +17,7 @@ android:layout_gravity="right" /> <TextView - style="@style/FakeChatViewIncomingMessageBubble" + style="@style/FakeChatViewMessageBubble.Incoming" android:id="@+id/bubble2" android:layout_width="@dimen/fake_chat_view_bubble_width" android:layout_height="wrap_content" @@ -26,7 +26,7 @@ android:layout_gravity="left" /> <TextView - style="@style/FakeChatViewOutgoingMessageBubble" + style="@style/FakeChatViewMessageBubble.Outgoing" android:id="@+id/bubble3" android:layout_width="@dimen/fake_chat_view_bubble_width" android:layout_height="wrap_content" @@ -35,7 +35,7 @@ android:layout_gravity="right" /> <TextView - style="@style/FakeChatViewIncomingMessageBubble" + style="@style/FakeChatViewMessageBubble.Incoming" android:id="@+id/bubble4" android:layout_width="@dimen/fake_chat_view_bubble_width" android:layout_height="wrap_content" @@ -44,7 +44,7 @@ android:layout_gravity="left" /> <TextView - style="@style/FakeChatViewIncomingMessageBubble" + style="@style/FakeChatViewMessageBubble.Incoming" android:id="@+id/bubble5" android:layout_width="@dimen/fake_chat_view_bubble_width" android:layout_height="wrap_content" diff --git a/res/layout/view_seed_reminder.xml b/res/layout/view_seed_reminder.xml index 362e25b32c..fb18a1c072 100644 --- a/res/layout/view_seed_reminder.xml +++ b/res/layout/view_seed_reminder.xml @@ -58,7 +58,7 @@ android:layout_marginLeft="4dp" /> <Button - style="@style/MediumProminentOutlineButton" + style="@style/Widget.Session.Button.Common.ProminentOutline" android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="28dp" @@ -71,6 +71,6 @@ <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> </LinearLayout> \ No newline at end of file diff --git a/res/layout/view_separator.xml b/res/layout/view_separator.xml index 118880d9e1..2b808a6c82 100644 --- a/res/layout/view_separator.xml +++ b/res/layout/view_separator.xml @@ -10,8 +10,7 @@ android:layout_height="wrap_content" android:layout_centerInParent="true" android:gravity="center" - android:textColor="@color/text" - android:alpha="0.6" + android:textColor="?android:textColorTertiary" android:textSize="@dimen/small_font_size" android:text="@string/your_session_id" /> diff --git a/res/layout/view_user.xml b/res/layout/view_user.xml index 6d9aa37e09..23b51b1ebd 100644 --- a/res/layout/view_user.xml +++ b/res/layout/view_user.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/conversation_view_background" @@ -29,22 +29,21 @@ android:ellipsize="end" android:textSize="@dimen/medium_font_size" android:textStyle="bold" - android:textColor="@color/text" - android:text="Spiderman" - android:layout_weight="1"/> + android:layout_weight="1" + tools:text="Spiderman" /> <ImageView android:id="@+id/actionIndicatorImageView" android:layout_width="24dp" android:layout_height="24dp" android:layout_marginStart="@dimen/medium_spacing" - android:src="@drawable/ic_circle" /> + android:src="@drawable/ic_circle"/> </LinearLayout> <View android:layout_width="match_parent" android:layout_height="1px" - android:background="@color/separator" /> + android:background="?android:dividerHorizontal" /> </LinearLayout> \ No newline at end of file diff --git a/res/layout/webrtc_answer_decline_button.xml b/res/layout/webrtc_answer_decline_button.xml index de80ede2b3..35763c94df 100644 --- a/res/layout/webrtc_answer_decline_button.xml +++ b/res/layout/webrtc_answer_decline_button.xml @@ -13,7 +13,7 @@ android:layout_gravity="center_horizontal" android:layout_marginBottom="-15dp" android:alpha="0" - android:src="@drawable/ic_keyboard_arrow_up_white_36dp" + android:src="@drawable/ic_baseline_keyboard_arrow_up_24" android:tint="@color/gray20" tools:alpha="1"/> @@ -23,7 +23,7 @@ android:layout_gravity="center_horizontal" android:layout_marginBottom="-15dp" android:alpha="0" - android:src="@drawable/ic_keyboard_arrow_up_white_36dp" + android:src="@drawable/ic_baseline_keyboard_arrow_up_24" android:tint="@color/gray20" tools:alpha="1"/> @@ -33,7 +33,7 @@ android:layout_gravity="center_horizontal" android:layout_marginBottom="-15dp" android:alpha="0" - android:src="@drawable/ic_keyboard_arrow_up_white_36dp" + android:src="@drawable/ic_baseline_keyboard_arrow_up_24" android:tint="@color/gray20" tools:alpha="1"/> @@ -43,7 +43,7 @@ android:layout_gravity="center_horizontal" android:layout_marginBottom="10dp" android:alpha="0" - android:src="@drawable/ic_keyboard_arrow_up_white_36dp" + android:src="@drawable/ic_baseline_keyboard_arrow_up_24" android:tint="@color/gray20" tools:alpha="1"/> diff --git a/res/menu/conversation_add_to_contacts.xml b/res/menu/conversation_add_to_contacts.xml deleted file mode 100644 index 498dfb4692..0000000000 --- a/res/menu/conversation_add_to_contacts.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<menu xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto"> - - <item android:id="@+id/menu_add_to_contacts" - android:title="@string/conversation_add_to_contacts__menu_add_to_contacts" - app:showAsAction="never" /> - -</menu> \ No newline at end of file diff --git a/res/menu/conversation_block.xml b/res/menu/conversation_block.xml index 14dfea3546..fb4184d59a 100644 --- a/res/menu/conversation_block.xml +++ b/res/menu/conversation_block.xml @@ -3,6 +3,6 @@ <item android:title="@string/recipient_preferences__block" android:id="@+id/menu_block" - android:icon="@drawable/ic_block_white_24dp" /> + android:icon="?attr/menu_block_icon" /> </menu> \ No newline at end of file diff --git a/res/menu/conversation_callable_insecure.xml b/res/menu/conversation_callable_insecure.xml deleted file mode 100644 index 04be0b922a..0000000000 --- a/res/menu/conversation_callable_insecure.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> - - <item android:title="@string/conversation_callable_insecure__menu_call" - android:id="@+id/menu_call_insecure" - android:icon="?menu_call_icon" - app:showAsAction="always" /> - -</menu> diff --git a/res/menu/conversation_callable_secure.xml b/res/menu/conversation_callable_secure.xml deleted file mode 100644 index 6cf92f0624..0000000000 --- a/res/menu/conversation_callable_secure.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto"> - - <item android:title="@string/conversation_callable_secure__menu_call" - android:id="@+id/menu_call_secure" - android:icon="@drawable/ic_call_secure_white_24dp" - app:showAsAction="always" /> - -</menu> \ No newline at end of file diff --git a/res/menu/conversation_context.xml b/res/menu/conversation_context.xml index 705aac2052..dec8cb8de3 100644 --- a/res/menu/conversation_context.xml +++ b/res/menu/conversation_context.xml @@ -18,7 +18,7 @@ <item android:title="@string/activity_conversation_copy_public_key_button_title" android:id="@+id/menu_context_copy_public_key" - android:icon="@drawable/ic_key" + android:icon="@drawable/ic_baseline_key_24" app:showAsAction="always" /> <!-- <item android:title="@string/conversation_context__menu_forward_message" diff --git a/res/menu/conversation_copy_session_id.xml b/res/menu/conversation_copy_session_id.xml new file mode 100644 index 0000000000..e74d0b4c24 --- /dev/null +++ b/res/menu/conversation_copy_session_id.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<menu xmlns:android="http://schemas.android.com/apk/res/android"> + + <item android:title="@string/activity_conversation_menu_copy_session_id" + android:id="@+id/menu_copy_session_id" + android:icon="@drawable/ic_content_copy_white_24dp" /> + +</menu> \ No newline at end of file diff --git a/res/menu/conversation_expiring_off.xml b/res/menu/conversation_expiring_off.xml index 155f45d3dd..7b0ad285c6 100644 --- a/res/menu/conversation_expiring_off.xml +++ b/res/menu/conversation_expiring_off.xml @@ -4,6 +4,6 @@ <item android:title="@string/conversation_expiring_off__disappearing_messages" android:id="@+id/menu_expiring_messages_off" - android:icon="@drawable/ic_timer_off_white_24dp"/> + android:icon="@drawable/ic_baseline_timer_off_24"/> </menu> \ No newline at end of file diff --git a/res/menu/conversation_group_options.xml b/res/menu/conversation_group_options.xml deleted file mode 100644 index 128d7db287..0000000000 --- a/res/menu/conversation_group_options.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> - - <item android:title="@string/convesation_group_options__recipients_list" - android:id="@+id/menu_group_recipients" - android:icon="?menu_group_icon" - app:showAsAction="ifRoom" /> - -</menu> diff --git a/res/menu/conversation_list_batch_archive.xml b/res/menu/conversation_list_batch_archive.xml deleted file mode 100644 index 3ed58c44eb..0000000000 --- a/res/menu/conversation_list_batch_archive.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto"> - - <item android:title="@string/conversation_list_batch_archive__menu_archive_selected" - android:id="@+id/menu_archive_selected" - android:icon="@drawable/ic_archive_white_24dp" - app:showAsAction="always"/> - -</menu> \ No newline at end of file diff --git a/res/menu/conversation_list_batch_unarchive.xml b/res/menu/conversation_list_batch_unarchive.xml deleted file mode 100644 index 3d42468333..0000000000 --- a/res/menu/conversation_list_batch_unarchive.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<menu xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto"> - - <item android:title="@string/conversation_list_batch_unarchive__menu_unarchive_selected" - android:id="@+id/menu_archive_selected" - android:icon="@drawable/ic_unarchive_white_24dp" - app:showAsAction="always"/> - -</menu> \ No newline at end of file diff --git a/res/menu/conversation_mms_group_options.xml b/res/menu/conversation_mms_group_options.xml index 7c6e4a1ec3..49c10c3e7d 100644 --- a/res/menu/conversation_mms_group_options.xml +++ b/res/menu/conversation_mms_group_options.xml @@ -1,16 +1,24 @@ <?xml version="1.0" encoding="utf-8"?> -<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> +<menu xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> - <item android:title="@string/conversation_group_options__delivery" - android:id="@+id/menu_group_delivery" - android:icon="?menu_split_icon" - app:showAsAction="ifRoom" > + <item + android:id="@+id/menu_group_delivery" + android:icon="?menu_split_icon" + android:title="@string/conversation_group_options__delivery" + app:showAsAction="ifRoom"> <menu> - <group android:id="@+id/distribution_group" - android:checkableBehavior="single"> - <item android:id="@+id/menu_distribution_conversation" android:title="@string/conversation_group_options__conversation" android:checked="true" /> - <item android:id="@+id/menu_distribution_broadcast" android:title="@string/conversation_group_options__broadcast" /> + <group + android:id="@+id/distribution_group" + android:checkableBehavior="single"> + <item + android:id="@+id/menu_distribution_conversation" + android:checked="true" + android:title="@string/conversation_group_options__conversation" /> + <item + android:id="@+id/menu_distribution_broadcast" + android:title="@string/conversation_group_options__broadcast" /> </group> </menu> </item> diff --git a/res/menu/conversation_unblock.xml b/res/menu/conversation_unblock.xml index 354401a817..6cf3bcbb27 100644 --- a/res/menu/conversation_unblock.xml +++ b/res/menu/conversation_unblock.xml @@ -3,6 +3,6 @@ <item android:title="@string/ConversationActivity_unblock" android:id="@+id/menu_unblock" - android:icon="@drawable/ic_check_white_24dp" /> + android:icon="?menu_accept_icon" /> </menu> \ No newline at end of file diff --git a/res/menu/media_overview_context.xml b/res/menu/media_overview_context.xml index d9f6b7d580..f7e59ef8ae 100644 --- a/res/menu/media_overview_context.xml +++ b/res/menu/media_overview_context.xml @@ -2,12 +2,12 @@ <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/save" android:title="@string/save" - android:icon="@drawable/ic_save_white_24dp" + android:icon="?attr/menu_save_icon" app:showAsAction="always"/> <item android:id="@+id/delete" android:title="@string/delete" - android:icon="@drawable/ic_delete_white_24dp" + android:icon="?attr/menu_trash_icon" app:showAsAction="always"/> <item android:id="@+id/select_all" diff --git a/res/menu/media_preview.xml b/res/menu/media_preview.xml index 0494165551..9f89ae61ec 100644 --- a/res/menu/media_preview.xml +++ b/res/menu/media_preview.xml @@ -1,20 +1,27 @@ <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto"> - <item android:id="@+id/media_preview__forward" - android:title="@string/media_preview__forward_title" - android:icon="@drawable/ic_forward_white_24dp" - app:showAsAction="always"/> - <item android:id="@+id/save" - android:title="@string/media_preview__save_title" - android:icon="@drawable/ic_save_white_24dp" - app:showAsAction="always"/> - <item android:id="@+id/media_preview__overview" - android:title="@string/media_preview__all_media_title" - android:icon="@drawable/ic_photo_library_white_24dp" - app:showAsAction="ifRoom"/> - <item android:id="@+id/delete" - android:title="@string/delete" - android:icon="@drawable/ic_delete_white_24dp" - app:showAsAction="ifRoom"/> + xmlns:app="http://schemas.android.com/apk/res-auto"> + <item + android:id="@+id/media_preview__forward" + android:icon="?menu_forward_icon" + android:title="@string/media_preview__forward_title" + app:showAsAction="always" /> + + <item + android:id="@+id/save" + android:icon="?menu_save_icon" + android:title="@string/media_preview__save_title" + app:showAsAction="always" /> + + <item + android:id="@+id/media_preview__overview" + android:icon="?menu_photo_library_icon" + android:title="@string/media_preview__all_media_title" + app:showAsAction="ifRoom" /> + + <item + android:id="@+id/delete" + android:icon="?menu_delete_icon" + android:title="@string/delete" + app:showAsAction="ifRoom" /> </menu> diff --git a/res/menu/menu_apply.xml b/res/menu/menu_apply.xml index 9bddeb7fd1..0a73b83e3b 100644 --- a/res/menu/menu_apply.xml +++ b/res/menu/menu_apply.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> -<menu xmlns:android="http://schemas.android.com/apk/res/android" +<menu + xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:title="@string/menu_apply_button" android:id="@+id/applyButton" android:icon="?menu_accept_icon" - app:showAsAction="always" /> + app:showAsAction="always|withText"/> </menu> diff --git a/res/menu/menu_settings.xml b/res/menu/menu_edit_closed_group.xml similarity index 51% rename from res/menu/menu_settings.xml rename to res/menu/menu_edit_closed_group.xml index 55f56b1233..0c6b915d05 100644 --- a/res/menu/menu_settings.xml +++ b/res/menu/menu_edit_closed_group.xml @@ -4,9 +4,8 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> <item - android:id="@+id/showQRCodeItem" - android:title="Show QR Code" - android:icon="@drawable/ic_qr_code" - app:showAsAction="always" /> + android:title="@string/menu_apply_button" + android:id="@+id/action_apply" + app:showAsAction="always|withText"/> -</menu> \ No newline at end of file +</menu> diff --git a/res/menu/settings_general.xml b/res/menu/settings_general.xml new file mode 100644 index 0000000000..7b00698cd2 --- /dev/null +++ b/res/menu/settings_general.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<menu + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> + + <item + android:id="@+id/action_change_theme" + android:title="" + android:icon="@drawable/ic_ui_mode_24" + app:showAsAction="always" /> + + <item + android:id="@+id/action_qr_code" + android:title="" + android:icon="@drawable/ic_qr_code_24" + app:showAsAction="always" /> + +</menu> \ No newline at end of file diff --git a/res/values-notnight-v21/colors.xml b/res/values-notnight-v21/colors.xml new file mode 100644 index 0000000000..b9ab4d5c39 --- /dev/null +++ b/res/values-notnight-v21/colors.xml @@ -0,0 +1,34 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources> + + <!-- Session --> + <color name="accent">#00E97B</color> + <color name="accent_alpha50">#8000E97B</color> + <color name="text">#000000</color> + <color name="destructive">#f26f55</color> + <color name="unimportant">#606060</color> + <color name="cell_background">#FCFCFC</color> + <color name="cell_selected">#DFDFDF</color> + <color name="navigation_bar_background">#FCFCFC</color> + <color name="separator">#B0B0B0</color> + <color name="unimportant_button_background">@android:color/transparent</color> + <color name="unimportant_dialog_button_background">@color/unimportant_button_background</color> + <color name="dialog_background">#FCFCFC</color> + <color name="dialog_border">#212121</color> + <color name="compose_view_background">#FCFCFC</color> + <color name="compose_text_view_background">#EDEDED</color> + <color name="new_conversation_button_collapsed_background">#F5F5F5</color> + <color name="pn_option_background">#FCFCFC</color> + <color name="fake_chat_bubble_background">#F5F5F5</color> + + + <color name="default_background_start">#ffffff</color> + <color name="default_background_end">#fcfcfd</color> + <color name="action_bar_background">#fcfcfd</color> + + + <color name="app_icon_background">#333132</color> + <color name="progress_bar_background">#0AFFFFFF</color> + <color name="quote_not_found_background">#99FFFFFF</color> + +</resources> \ No newline at end of file diff --git a/res/values-notnight-v21/styles.xml b/res/values-notnight-v21/styles.xml new file mode 100644 index 0000000000..6bcd395e17 --- /dev/null +++ b/res/values-notnight-v21/styles.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <style name="Widget.Session.Button.Common.ProminentOutline"> + <item name="android:background">@drawable/prominent_outline_button_medium_background</item> + <item name="android:textColor">?android:textColorPrimary</item> + </style> + + <style name="Widget.Session.Button.Common.ProminentFilled"> + <item name="android:background">@drawable/prominent_filled_button_medium_background</item> + <item name="android:textColor">@android:color/white</item> + </style> + +</resources> \ No newline at end of file diff --git a/res/values-notnight-v21/themes.xml b/res/values-notnight-v21/themes.xml new file mode 100644 index 0000000000..5b2bb7ee65 --- /dev/null +++ b/res/values-notnight-v21/themes.xml @@ -0,0 +1,184 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources xmlns:tools="http://schemas.android.com/tools"> + + <style name="Theme.Session.Light" parent="Base.Theme.Session"> + <item name="android:navigationBarColor">?android:navigationBarColor</item> + <item name="android:textColorHint">@color/gray50</item> + + <item name="home_gradient_start">#00FFFFFF</item> + <item name="home_gradient_end">#FFFFFFFF</item> + + <item name="message_received_background_color">#F5F5F5</item> + <item name="message_sent_background_color">?colorAccent</item> + + <item name="android:statusBarColor">@android:color/black</item> + + <item name="attachment_type_selector_hide_button_background">@color/gray27</item> + <item name="attachment_document_icon_small">@drawable/ic_document_small_light</item> + <item name="attachment_document_icon_large">@drawable/ic_document_large_light</item> + + <item name="conversation_emoji_toggle">@drawable/ic_emoji_outline_keyboard</item> + <item name="conversation_sticker_toggle">@drawable/ic_sticker_outline_keyboard</item> + <item name="conversation_keyboard_toggle">@drawable/ic_outline_keyboard_24</item> + <item name="conversation_input_background">@drawable/compose_background_light</item> + + <item name="quick_camera_icon">@drawable/ic_outline_photo_camera_24</item> + </style> + + <style name="Theme.Session.DayNight" parent="Theme.Session.Light"> + + </style> + + + <!-- Session light theme (these values overlays their dark theme counterparts from Theme.TextSecure) --> + <style name="Theme.TextSecure.DayNight" parent="Base.Theme.TextSecure"> + + <item name="android:navigationBarColor">?android:navigationBarColor</item> + + <item name="theme_type">light</item> + <item name="alertDialogTheme">@style/AppCompatAlertDialogStyleLight</item> + <item name="android:alertDialogTheme">@style/AppCompatDialogStyleLight</item> + + <item name="compose_icon_tint">@color/core_grey_60</item> + + <item name="conversation_list_item_background">@drawable/conversation_list_item_background</item> + <item name="conversation_list_item_contact_color">@color/core_grey_90</item> + <item name="conversation_list_item_subject_color">@color/core_grey_60</item> + <item name="conversation_list_item_delivery_icon_color">@color/core_grey_60</item> + <item name="conversation_list_item_date_color">@color/core_grey_60</item> + <item name="conversation_list_item_unread_color">@color/core_black</item> + <item name="conversation_list_item_unread_background">@drawable/unread_count_background_light</item> + <item name="conversation_list_item_divider">@drawable/conversation_list_divider_shape</item> + <item name="conversation_list_toolbar_background">@color/core_blue</item> + <item name="conversation_list_typing_tint">@color/core_grey_60</item> + + <item name="fab_color">@color/textsecure_primary</item> + <item name="lower_right_divet">@drawable/divet_lower_right_dark</item> + + <item name="conversation_group_member_name">#99000000</item> + + <item name="conversation_background">@color/core_white</item> + <item name="conversation_editor_background">#22000000</item> + <item name="conversation_editor_text_color">#ff111111</item> + <item name="conversation_input_inline_attach_icon_tint">@color/core_grey_60</item> + <item name="conversation_transport_popup_background">@color/white</item> + <item name="conversation_attach_camera">@drawable/ic_photo_camera_light</item> + <item name="conversation_attach_image">@drawable/ic_image_light</item> + <item name="conversation_attach_video">@drawable/ic_movie_creation_light</item> + <item name="conversation_attach_sound">@drawable/ic_volume_up_light</item> + <item name="conversation_attach_contact_info">@drawable/ic_account_box_light</item> + <item name="conversation_attach">@drawable/ic_attach_grey600_24dp</item> + <item name="conversation_number_picker_text_color_normal">@color/gray65</item> + <item name="conversation_number_picker_text_color_selected">@color/black</item> + <item name="conversation_sticker_footer_text_color">@color/core_grey_60</item> + <item name="conversation_sticker_footer_icon_color">@color/core_grey_60</item> + <item name="conversation_sticker_author_color">@color/core_grey_95</item> + + <item name="contact_list_divider">@drawable/contact_list_divider_light</item> + + <item name="verification_background">@color/core_grey_05</item> + + <item name="emoji_tab_strip_background">@color/cell_background</item> + <item name="emoji_tab_indicator">#66555555</item> + <item name="emoji_tab_underline">#44555555</item> + <item name="emoji_tab_seperator">@color/gray20</item> + <item name="emoji_drawer_background">@color/compose_view_background</item> + <item name="emoji_text_color">@color/black</item> + + <item name="emoji_category_recent">@drawable/ic_recent_light_20</item> + <item name="emoji_category_people">@drawable/ic_emoji_people_light_20</item> + <item name="emoji_category_nature">@drawable/ic_emoji_animal_light_20</item> + <item name="emoji_category_foods">@drawable/ic_emoji_food_light_20</item> + <item name="emoji_category_activity">@drawable/ic_emoji_activity_light_20</item> + <item name="emoji_category_places">@drawable/ic_emoji_travel_light_20</item> + <item name="emoji_category_objects">@drawable/ic_emoji_object_light_20</item> + <item name="emoji_category_symbol">@drawable/ic_emoji_symbol_light_20</item> + <item name="emoji_category_flags">@drawable/ic_emoji_flag_light_20</item> + <item name="emoji_category_emoticons">@drawable/ic_emoji_emoticon_light_20</item> + <item name="emoji_variation_selector_background">@drawable/emoji_variation_selector_background_light</item> + + <item name="conversation_item_bubble_background">?message_sent_background_color</item> + <item name="conversation_item_sent_text_primary_color">@color/core_grey_90</item> + <item name="conversation_item_sent_text_secondary_color">@color/transparent_black_90</item> + <item name="conversation_item_sent_icon_color">@color/core_grey_60</item> + <item name="conversation_item_sent_download_icon_color">@color/core_grey_60</item> + <item name="conversation_item_sent_text_indicator_tab_color">#99000000</item> + <item name="conversation_item_received_text_primary_color">@color/text</item> + <item name="conversation_item_received_text_secondary_color">@color/text</item> + <item name="conversation_item_update_text_color">@color/core_grey_60</item> + <item name="conversation_item_last_seen_text_color">@color/core_grey_90</item> + <item name="conversation_item_last_seen_line_color">@color/core_grey_60</item> + <item name="conversation_item_date_line_color">@color/core_grey_25</item> + <item name="conversation_item_quote_text_color">@color/core_grey_90</item> + <item name="conversation_item_sticky_date_background">@drawable/sticky_date_header_background_light</item> + <item name="conversation_item_sticky_date_text_color">@color/core_grey_60</item> + <item name="conversation_item_image_outline_color">@color/transparent_black_30</item> + + <item name="quick_mic_icon">@drawable/ic_mic_grey600_24dp</item> + + <item name="conversation_item_sent_indicator_text_background">@drawable/conversation_item_sent_indicator_text_shape</item> + + <item name="dialog_info_icon">@drawable/ic_info_outline_light</item> + <item name="dialog_alert_icon">@drawable/ic_warning_light</item> + <item name="dialog_background_color">@color/background_material_light</item> + + <item name="device_link_item_card_background">@color/device_link_item_background_light</item> + + <item name="mediapicker_image_outline">@drawable/mediapicker_item_border_light</item> + + <item name="import_export_item_background_color">@color/import_export_item_background_light</item> + <item name="import_export_item_background_shadow_color">@color/import_export_item_background_shadow_light</item> + <item name="import_export_item_card_background">@drawable/clickable_card_light</item> + + <item name="linkpreview_background_color">@color/core_white</item> + <item name="linkpreview_primary_text_color">@color/core_black</item> + <item name="linkpreview_secondary_text_color">@color/core_grey_60</item> + <item name="linkpreview_divider_color">@color/core_grey_25</item> + + <item name="media_keyboard_button_color">@color/core_grey_60</item> + + <item name="menu_new_conversation_icon">@drawable/ic_add_white_24dp</item> + <item name="menu_group_icon">@drawable/ic_group_white_24dp</item> + <item name="menu_search_icon">@drawable/ic_search_white_24dp</item> + <item name="menu_call_icon">@drawable/ic_call_white_24dp</item> + <item name="menu_unlock_icon">@drawable/ic_unlocked_white_24dp</item> + <item name="menu_lock_icon">@drawable/ic_lock_white_24dp</item> + <item name="menu_lock_icon_small">@drawable/ic_lock_white_18dp</item> + <item name="menu_refresh_directory">@drawable/ic_refresh_white_24dp</item> + <item name="menu_info_icon">@drawable/ic_info_outline_white_24dp</item> + + <item name="conversation_icon_attach_audio">@drawable/ic_audio_light</item> + <item name="conversation_icon_attach_video">@drawable/ic_video_light</item> + + <item name="reminder_header_background">#ff1d85d7</item> + + <item name="sticker_management_icon">@drawable/sticker_button_light</item> + <item name="sticker_management_divider_color">@color/core_grey_15</item> + <item name="sticker_management_empty_background_color">@color/core_grey_05</item> + <item name="sticker_management_action_button_color">@color/core_grey_90</item> + <item name="sticker_popup_background">@color/transparent_white_aa</item> + <item name="sticker_preview_toolbar_background">@color/core_white</item> + <item name="sticker_preview_status_bar_color">@color/core_grey_05</item> + <item name="sticker_view_missing_background">@drawable/sticker_missing_background_light</item> + + <item name="tooltip_default_color">@color/core_white</item> + + <item name="pref_icon_tint">@color/textsecure_primary_dark</item> + + <item name="pref_divider">@drawable/preference_divider_light</item> + + <item name="quote_missing_icon_color">@color/core_grey_60</item> + + <item name="group_members_dialog_icon">@drawable/ic_group_grey600_24dp</item> + <item name="preferenceTheme">@style/PreferenceThemeOverlay.Fix</item> + + <item name="search_toolbar_background">@color/white</item> + <item name="search_background">@color/white</item> + <item name="invite_background">@color/signal_primary</item> + + <item name="shared_contact_details_header_background">@color/grey_100</item> + <item name="shared_contact_details_titlebar">@color/grey_400</item> + <item name="shared_contact_item_button_color">@color/core_grey_02</item> + </style> + +</resources> \ No newline at end of file diff --git a/res/values-notnight-v23/themes.xml b/res/values-notnight-v23/themes.xml new file mode 100644 index 0000000000..69b65c8699 --- /dev/null +++ b/res/values-notnight-v23/themes.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources xmlns:tools="http://schemas.android.com/tools"> + + <style name="Theme.Session.DayNight" parent="Theme.Session.Light"> + <item name="android:statusBarColor">@color/transparent</item> + <item name="android:windowLightStatusBar">true</item> + </style> + +</resources> \ No newline at end of file diff --git a/res/values-v11/styles.xml b/res/values-v11/styles.xml deleted file mode 100644 index e5a9a0dffe..0000000000 --- a/res/values-v11/styles.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources> - - <style name="Widget.ProgressBar.Horizontal" parent="@android:style/Widget.Holo.ProgressBar.Horizontal"> - </style> - -</resources> \ No newline at end of file diff --git a/res/values-v19/colors.xml b/res/values-v19/colors.xml deleted file mode 100644 index 8eee1017ab..0000000000 --- a/res/values-v19/colors.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources> - <color name="touch_highlight">#22000000</color> -</resources> \ No newline at end of file diff --git a/res/values-v19/themes.xml b/res/values-v19/themes.xml deleted file mode 100644 index 1d73d342bf..0000000000 --- a/res/values-v19/themes.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources> - <style name="TextSecure.ScribbleTheme" parent="TextSecure.DarkNoActionBar"> - <item name="android:windowNoTitle">true</item> - <item name="android:windowFullscreen">true</item> - </style> -</resources> diff --git a/res/values-v21/themes.xml b/res/values-v21/themes.xml deleted file mode 100644 index c3189760de..0000000000 --- a/res/values-v21/themes.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources> - - <style name="TextSecure.DarkTheme" parent="@style/TextSecure.BaseDarkTheme"> - <item name="android:navigationBarColor">@color/compose_view_background</item> - </style> - - <style name="TextSecure.DarkNoActionBar" parent="@style/TextSecure.BaseDarkNoActionBar"> - <item name="android:navigationBarColor">@color/compose_view_background</item> - <item name="android:colorControlActivated">@color/signal_primary_dark</item> - </style> - -</resources> diff --git a/res/values-v23/themes.xml b/res/values-v23/themes.xml index eeffa95354..b01826f0e3 100644 --- a/res/values-v23/themes.xml +++ b/res/values-v23/themes.xml @@ -1,12 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> -<resources> - <style name="TextSecure.LightRegistrationTheme" parent="TextSecure.LightNoActionBar"> - <item name="android:windowLightStatusBar">true</item> - <item name="android:statusBarColor">@color/core_grey_02</item> +<resources xmlns:tools="http://schemas.android.com/tools"> + + <style name="Theme.Session.ForceDark" parent="Base.Theme.Session.ForceDark"> + <item name="android:windowLightStatusBar">false</item> </style> - <style name="TextSecure.DarkRegistrationTheme" parent="TextSecure.DarkNoActionBar"> - <item name="android:windowLightStatusBar">false</item> - <item name="android:statusBarColor">@color/core_black</item> - </style> -</resources> +</resources> \ No newline at end of file diff --git a/res/values-v9/styles.xml b/res/values-v9/styles.xml deleted file mode 100644 index 736e77a5d6..0000000000 --- a/res/values-v9/styles.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources> - <style name="NotificationText" parent="android:TextAppearance.StatusBar.EventContent" /> - <style name="NotificationTitle" parent="android:TextAppearance.StatusBar.EventContent.Title" /> -</resources> \ No newline at end of file diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 74468f35b8..f4239b0104 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -3,8 +3,10 @@ <attr name="theme_type" format="string"/> <attr name="attachment_type_selector_background" format="color"/> + <attr name="attachment_type_selector_hide_button_background" format="color"/> <attr name="attachment_document_icon_small" format="reference" /> <attr name="attachment_document_icon_large" format="reference" /> + <attr name="attachment_document_extension_text_color" format="color" /> <attr name="conversation_list_item_background" format="reference"/> <attr name="conversation_list_item_contact_color" format="reference|color"/> @@ -144,6 +146,9 @@ <attr name="menu_forward_icon" format="reference" /> <attr name="menu_save_icon" format="reference" /> <attr name="menu_reply_icon" format="reference" /> + <attr name="menu_block_icon" format="reference" /> + <attr name="menu_photo_library_icon" format="reference" /> + <attr name="menu_delete_icon" format="reference" /> <attr name="pref_icon_tint" format="color"/> @@ -151,6 +156,12 @@ <attr name="quote_missing_icon_color" format="color" /> + <attr name="home_gradient_start" format="color|reference" /> + <attr name="home_gradient_end" format="color|reference" /> + + <attr name="message_received_background_color" format="color|reference" /> + <attr name="message_sent_background_color" format="color|reference" /> + <declare-styleable name="CustomDefaultPreference"> <attr name="custom_pref_toggle" format="string"/> </declare-styleable> diff --git a/res/values/colors.xml b/res/values/colors.xml index e46a888f01..c9356d308b 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -3,6 +3,7 @@ <!-- Session --> <color name="accent">#00F782</color> + <color name="accent_alpha50">#8000F782</color> <color name="text">#FFFFFF</color> <color name="destructive">#FF453A</color> <color name="unimportant">#D8D8D8</color> @@ -15,15 +16,13 @@ <color name="unimportant_button_background">#323232</color> <color name="dialog_background">#101011</color> <color name="dialog_border">#212121</color> - <color name="unimportant_dialog_button_background">#1B1B1B</color> + <color name="unimportant_dialog_button_background">@color/unimportant_button_background</color> <color name="fake_chat_bubble_background">#3F4146</color> <color name="fake_chat_bubble_text">#000000</color> <color name="app_icon_background">#333132</color> <color name="progress_bar_background">#0AFFFFFF</color> <color name="compose_view_background">#1B1B1B</color> <color name="compose_text_view_background">#141414</color> - <color name="received_message_background">#222325</color> - <color name="sent_message_background">#3F4146</color> <color name="quote_not_found_background">#99FFFFFF</color> <color name="new_conversation_button_collapsed_background">#1F1F1F</color> <color name="pn_option_background">#1B1B1B</color> @@ -39,12 +38,10 @@ <color name="signal_primary">@color/accent</color> <color name="signal_primary_dark">@color/accent</color> - <color name="signal_primary_alpha33">#00F782</color> <color name="signal_primary_alpha_focus">#882090ea</color> <color name="textsecure_primary">@color/signal_primary</color> <color name="textsecure_primary_dark">@color/signal_primary_dark</color> - <color name="textsecure_primary_alpha33">@color/signal_primary_alpha33</color> <color name="white">#ffffffff</color> <color name="black">#ff000000</color> @@ -82,7 +79,7 @@ <color name="conversation_compose_divider">#32000000</color> <color name="action_mode_status_bar">@color/gray65</color> - <color name="touch_highlight">#400099cc</color> + <color name="touch_highlight">#22000000</color> <color name="device_link_item_background_light">#ffffffff</color> <color name="device_link_item_background_dark">#ff333333</color> @@ -107,4 +104,7 @@ <color name="avatar_background">@color/transparent_black_90</color> + <color name="default_background_start">#121212</color> + <color name="default_background_end">#171717</color> + </resources> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index c5659f4ce1..d255ee2585 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -14,6 +14,7 @@ <!-- Element Sizes --> <dimen name="small_button_height">34dp</dimen> <dimen name="medium_button_height">38dp</dimen> + <dimen name="medium_button_corner_radius">22dp</dimen> <dimen name="accent_line_thickness">4dp</dimen> <dimen name="very_small_profile_picture_size">26dp</dimen> <dimen name="small_profile_picture_size">36dp</dimen> @@ -30,7 +31,7 @@ <dimen name="fake_chat_view_bubble_corner_radius">10dp</dimen> <dimen name="fake_chat_view_height">234dp</dimen> <dimen name="setting_button_height">56dp</dimen> - <dimen name="dialog_corner_radius">8dp</dimen> + <dimen name="dialog_corner_radius">12dp</dimen> <dimen name="dialog_button_corner_radius">4dp</dimen> <dimen name="pn_option_corner_radius">8dp</dimen> <dimen name="path_status_view_size">8dp</dimen> diff --git a/res/values/strings.xml b/res/values/strings.xml index d61a5ce87c..c56c0332cf 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1854,6 +1854,13 @@ <string name="dialog_seed_disclaimer">*Please note that it is not possible to use the same Session ID on multiple devices simultaneously</string> <string name="view_reset_secure_session_done_message">Secure session reset done</string> + + <string name="dialog_ui_mode_title">Theme</string> + <string name="dialog_ui_mode_option_day">Day</string> + <string name="dialog_ui_mode_option_night">Night</string> + <string name="dialog_ui_mode_option_system_default">System default</string> + + <string name="activity_conversation_menu_copy_session_id">Copy Session ID</string> <!-- Attachment message --> <string name="attachment">Attachment</string> diff --git a/res/values/styles.xml b/res/values/styles.xml index 3355423f77..478bdc22b4 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -2,135 +2,138 @@ <resources xmlns:tools="http://schemas.android.com/tools"> <!-- Session --> - <style name="Session.DarkActionBar" parent="@style/Widget.AppCompat.ActionBar"> - <item name="background">@color/action_bar_background</item> - <item name="android:background">@color/action_bar_background</item> - <item name="titleTextStyle">@style/Session.DarkActionBar.TitleTextStyle</item> - <item name="android:titleTextStyle">@style/Session.DarkActionBar.TitleTextStyle</item> - <item name="elevation">0dp</item> - <item name="android:elevation">0dp</item> + <style name="Widget.Session.ActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid"> + <item name="android:background">?colorPrimary</item> + <item name="elevation">1dp</item> + <item name="titleTextStyle">@style/TextAppearance.Session.DarkActionBar.TitleTextStyle</item> + <item name="popupTheme">@style/Widget.Session.ActionBar</item> </style> - <style name="Session.DarkSubtitleActionBar" parent="@style/Widget.AppCompat.ActionBar"> - <item name="background">@color/action_bar_background</item> - <item name="android:background">@color/action_bar_background</item> - <item name="titleTextStyle">@style/Session.DarkSubtitleActionBar.TitleTextStyle</item> - <item name="android:titleTextStyle">@style/Session.DarkSubtitleActionBar.TitleTextStyle</item> - <item name="subtitleTextStyle">@style/Session.DarkSubtitleActionBar.SubtitleTextStyle</item> - <item name="android:subtitleTextStyle">@style/Session.DarkSubtitleActionBar.SubtitleTextStyle</item> - <item name="elevation">0dp</item> + <style name="Widget.Session.ActionBar.Flat"> <item name="android:elevation">0dp</item> + <item name="elevation">0dp</item> </style> - <style name="Session.DarkActionBar.TitleTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title"> - <item name="android:textColor">@color/text</item> + <style name="TextAppearance.Session.DarkActionBar.TitleTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title"> + <item name="android:textColor">?android:textColorPrimary</item> <item name="android:textSize">@dimen/very_large_font_size</item> </style> - <style name="Session.DarkSubtitleActionBar.TitleTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title"> - <item name="android:textColor">@color/text</item> - <item name="android:textSize">@dimen/large_font_size</item> - <item name="android:fontFamily">sans-serif-medium</item> - </style> - - <style name="Session.DarkSubtitleActionBar.SubtitleTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title"> - <item name="android:textColor">@color/text</item> - <item name="android:textSize">@dimen/small_font_size</item> - <item name="android:fontFamily">sans-serif</item> - <item name="android:textStyle">normal</item> - </style> - <style name="TextSecure.BaseDarkTheme.SearchView" parent="@style/Widget.AppCompat.SearchView"> - <item name="closeIcon">@drawable/ic_close_white_24dp</item> + <item name="closeIcon">@drawable/ic_baseline_clear_24</item> </style> - <style name="Session.AlertDialog" parent="ThemeOverlay.AppCompat.Dialog.Alert"> - <item name="buttonBarNegativeButtonStyle">@style/Session.AlertDialog.NegativeButtonStyle</item> - <item name="buttonBarPositiveButtonStyle">@style/Session.AlertDialog.PositiveButtonStyle</item> + <style name="ThemeOverlay.Session.AlertDialog" parent="ThemeOverlay.AppCompat.Dialog.Alert"> + <item name="buttonBarNegativeButtonStyle">@style/Widget.Session.AlertDialog.NegativeButtonStyle</item> + <item name="buttonBarPositiveButtonStyle">@style/Widget.Session.AlertDialog.PositiveButtonStyle</item> </style> - <style name="SessionBottomSheetDialogTheme" parent="Theme.Design.Light.BottomSheetDialog"> - <item name="bottomSheetStyle">@style/SessionBottomSheetStyle</item> + <style name="Widget.Session.BottomSheetDialog" parent="Widget.Design.BottomSheet.Modal"> + <item name="android:background">@drawable/default_bottom_sheet_background</item> </style> - <style name="SessionBottomSheetStyle" parent="Widget.Design.BottomSheet.Modal"> - <item name="android:background">@android:color/transparent</item> - </style> - - <style name="Session.AlertDialog.NegativeButtonStyle" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog"> + <style name="Widget.Session.AlertDialog.NegativeButtonStyle" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog"> <item name="android:textColor">@color/accent</item> </style> - <style name="Session.AlertDialog.PositiveButtonStyle" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog"> + <style name="Widget.Session.AlertDialog.PositiveButtonStyle" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog"> <item name="android:textColor">@color/accent</item> </style> - <style name="Session.DarkTabLayout" parent="Widget.Design.TabLayout"> - <item name="tabIndicatorColor">@color/accent</item> + <style name="Widget.Session.AppBarLayout" parent="@style/Widget.Design.AppBarLayout"> + + </style> + + <style name="Widget.Session.TabBar" parent="Widget.AppCompat.ActionBar.TabBar"> + <item name="elevation">1dp</item> + </style> + + <style name="Widget.Session.TabLayout" parent="Widget.Design.TabLayout"> + <item name="elevation">1dp</item> + <item name="tabIndicatorColor">?colorAccent</item> + <item name="tabSelectedTextColor">?colorAccent</item>> <item name="tabIndicatorHeight">@dimen/accent_line_thickness</item> - <item name="tabBackground">@color/action_bar_background</item> <item name="tabRippleColor">@color/cell_selected</item> - <item name="tabTextAppearance">@style/Session.DarkTabLayout.TextAppearance</item> - <item name="tabSelectedTextColor">@color/text</item> + <item name="tabTextAppearance">@style/TextAppearance.Session.Tab</item> </style> - <style name="Session.DarkTabLayout.TextAppearance" parent="TextAppearance.Design.Tab"> + <style name="TextAppearance.Session.Tab" parent="TextAppearance.Design.Tab"> <item name="android:textSize">@dimen/medium_font_size</item> - <item name="android:textColor">@color/unimportant</item>" <item name="textAllCaps">false</item> </style> - <style name="MediumProminentFilledButton"> - <item name="android:background">@drawable/prominent_filled_button_medium_background</item> + <!-- TODO These button styles require proper background selectors for up/down visual state. --> + <style name="Widget.Session.Button.Common" parent=""> <item name="android:textAllCaps">false</item> <item name="android:textSize">@dimen/medium_font_size</item> <item name="android:fontFamily">sans-serif-medium</item> - <item name="android:textColor">@color/text</item> + <!-- Helps to get rid of nasty elevation. We want a flat style here. --> + <!-- https://stackoverflow.com/a/31003693/3802890 --> + <item name ="android:stateListAnimator">@null</item> </style> - <style name="MediumProminentOutlineButton"> + <style name="Widget.Session.Button.Common.ProminentFilled"> + <item name="android:background">@drawable/prominent_filled_button_medium_background</item> + <item name="android:textColor">?android:textColorPrimary</item> + </style> + + <style name="Widget.Session.Button.Common.ProminentOutline"> <item name="android:background">@drawable/prominent_outline_button_medium_background</item> - <item name="android:textAllCaps">false</item> - <item name="android:textSize">@dimen/medium_font_size</item> - <item name="android:fontFamily">sans-serif-medium</item> <item name="android:textColor">@color/accent</item> </style> - <style name="MediumUnimportantFilledButton"> + <style name="Widget.Session.Button.Common.UnimportantFilled"> <item name="android:background">@drawable/unimportant_filled_button_medium_background</item> - <item name="android:textAllCaps">false</item> - <item name="android:textSize">@dimen/medium_font_size</item> - <item name="android:fontFamily">sans-serif-medium</item> - <item name="android:textColor">@color/text</item> + <item name="android:textColor">?android:textColorPrimary</item> </style> - <style name="MediumUnimportantOutlineButton"> + <style name="Widget.Session.Button.Common.UnimportantOutline"> <item name="android:background">@drawable/unimportant_outline_button_medium_background</item> - <item name="android:textAllCaps">false</item> - <item name="android:textSize">@dimen/medium_font_size</item> - <item name="android:fontFamily">sans-serif-medium</item> - <item name="android:textColor">@color/text</item> + <item name="android:textColor">?android:textColorPrimary</item> </style> - <style name="UnimportantDialogButton"> + <style name="Widget.Session.Button.Dialog" parent=""> + <item name="android:textAllCaps">false</item> + <item name="android:textSize">@dimen/small_font_size</item> + <item name="android:textColor">?android:textColorPrimary</item> + </style> + + <style name="Widget.Session.Button.Dialog.Unimportant"> <item name="android:background">@drawable/unimportant_dialog_button_background</item> - <item name="android:textAllCaps">false</item> - <item name="android:textSize">@dimen/small_font_size</item> - <item name="android:textColor">@color/text</item> </style> - <style name="ProminentDialogButton"> + <style name="Widget.Session.Button.Dialog.Prominent"> <item name="android:background">@drawable/prominent_dialog_button_background</item> - <item name="android:textAllCaps">false</item> - <item name="android:textSize">@dimen/small_font_size</item> - <item name="android:textColor">@color/text</item> + <item name="android:textColor">#222</item> </style> - <style name="DestructiveDialogButton"> + <style name="Widget.Session.Button.Dialog.Destructive"> <item name="android:background">@drawable/destructive_dialog_button_background</item> - <item name="android:textAllCaps">false</item> + <item name="android:textColor">@android:color/white</item> + </style> + + <style name="Widget.Session.EditText.Compose" parent="@style/Signal.Text.Body"> + <item name="android:padding">2dp</item> + <item name="android:background">@null</item> + <item name="android:maxLines">4</item> + <item name="android:maxLength">65536</item> + <item name="android:textColor">?android:textColorPrimary</item> + <item name="android:capitalize">sentences</item> + <item name="android:autoText">true</item> + <item name="android:gravity">center_vertical</item> + <item name="android:imeOptions">flagNoEnterAction</item> + <item name="android:inputType">textAutoCorrect|textCapSentences|textMultiLine</item> + <item name="android:contentDescription">@string/conversation_activity__compose_description</item> + <item name="android:textColorHint">?android:textColorHint</item> <item name="android:textSize">@dimen/small_font_size</item> + <item name="android:textCursorDrawable">@drawable/session_edit_text_cursor</item> + <item name="android:textAlignment">viewStart</item> + </style> + + <style name="ThemeOverlay.Session.Settings" parent="PreferenceThemeOverlay.v14.Material" > <item name="android:textColor">@color/text</item> + <item name="android:textColorSecondary">#99FFFFFF</item> + <item name="android:textSize">@dimen/medium_font_size</item> </style> <style name="SessionIDTextView"> @@ -168,34 +171,23 @@ <item name="android:maxLines">1</item> </style> - <style name="FakeChatViewIncomingMessageBubble"> + <style name="FakeChatViewMessageBubble"> + <item name="android:paddingLeft">@dimen/medium_spacing</item> + <item name="android:paddingTop">12dp</item> + <item name="android:paddingRight">@dimen/medium_spacing</item> + <item name="android:paddingBottom">12dp</item> + <item name="android:textSize">15sp</item> + <item name="android:fontFamily">sans-serif-medium</item> + <item name="android:elevation">0dp</item> + <item name="android:textColor">?android:textColorPrimary</item> + </style> + + <style name="FakeChatViewMessageBubble.Incoming"> <item name="android:background">@drawable/fake_chat_view_incoming_message_background</item> - <item name="android:paddingLeft">@dimen/medium_spacing</item> - <item name="android:paddingTop">12dp</item> - <item name="android:paddingRight">@dimen/medium_spacing</item> - <item name="android:paddingBottom">12dp</item> - <item name="android:textSize">15sp</item> - <item name="android:fontFamily">sans-serif-medium</item> - <item name="android:textColor">@color/fake_chat_bubble_text</item> - <item name="android:elevation">20dp</item> </style> - <style name="FakeChatViewOutgoingMessageBubble"> + <style name="FakeChatViewMessageBubble.Outgoing"> <item name="android:background">@drawable/fake_chat_view_outgoing_message_background</item> - <item name="android:paddingLeft">@dimen/medium_spacing</item> - <item name="android:paddingTop">12dp</item> - <item name="android:paddingRight">@dimen/medium_spacing</item> - <item name="android:paddingBottom">12dp</item> - <item name="android:textSize">15sp</item> - <item name="android:fontFamily">sans-serif-medium</item> - <item name="android:textColor">@color/text</item> - <item name="android:elevation">20dp</item> - </style> - - <style name="Session.SettingsTheme" parent="PreferenceThemeOverlay.v14.Material" > - <item name="android:textColor">@color/text</item> - <item name="android:textColorSecondary">#99FFFFFF</item> - <item name="android:textSize">@dimen/medium_font_size</item> </style> <!-- Session --> @@ -242,7 +234,7 @@ parent="@style/Widget.AppCompat.ActionBar"> <item name="background">@color/core_grey_90</item> <item name="android:popupTheme" tools:ignore="NewApi">@style/ThemeOverlay.AppCompat.Dark</item> - <item name="elevation">4dp</item> + <item name="elevation">1dp</item> <item name="popupTheme">@style/ThemeOverlay.AppCompat.Dark</item> <item name="titleTextStyle">@style/TextSecure.TitleTextStyle</item> <item name="subtitleTextStyle">@style/TextSecure.SubtitleTextStyle</item> @@ -252,7 +244,7 @@ <style name="TextSecure.LightActionBar" parent="@style/Widget.AppCompat.ActionBar"> <item name="background">@color/textsecure_primary</item> - <item name="elevation">4dp</item> + <item name="elevation">1dp</item> <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item> <item name="titleTextStyle">@style/TextSecure.TitleTextStyle</item> <item name="subtitleTextStyle">@style/TextSecure.SubtitleTextStyle</item> @@ -296,13 +288,12 @@ <item name="android:textColor">#BFffffff</item> </style> - <style name="NotificationText"> - <item name="android:textColor">?android:attr/textColorPrimary</item> + <style name="NotificationText" parent="android:TextAppearance.StatusBar.EventContent"> + <item name="android:textColor">?android:attr/textColorPrimary</item> </style> - - <style name="NotificationTitle"> - <item name="android:textColor">?android:attr/textColorPrimary</item> - <item name="android:textStyle">bold</item> + <style name="NotificationTitle" parent="android:TextAppearance.StatusBar.EventContent.Title"> + <item name="android:textColor">?android:attr/textColorPrimary</item> + <item name="android:textStyle">bold</item> </style> <style name="Registration.Description" parent="@android:style/TextAppearance"> @@ -350,7 +341,7 @@ <!-- For Holo Light Dialog Activity Styling Emulation --> - <style name="Widget.ProgressBar.Horizontal" parent="@android:style/Widget.ProgressBar.Horizontal"> + <style name="Widget.ProgressBar.Horizontal" parent="@android:style/Widget.Holo.ProgressBar.Horizontal"> </style> <style name="MaterialButton"> @@ -368,22 +359,8 @@ <item name="android:background">@drawable/error_round</item> </style> - <style name="ComposeEditText" parent="@style/Signal.Text.Body"> - <item name="android:padding">2dp</item> - <item name="android:background">@null</item> - <item name="android:maxLines">4</item> - <item name="android:maxLength">65536</item> - <item name="android:textColor">?conversation_item_sent_text_primary_color</item> - <item name="android:capitalize">sentences</item> - <item name="android:autoText">true</item> - <item name="android:gravity">center_vertical</item> - <item name="android:imeOptions">flagNoEnterAction</item> - <item name="android:inputType">textAutoCorrect|textCapSentences|textMultiLine</item> - <item name="android:contentDescription">@string/conversation_activity__compose_description</item> - </style> - <style name="AttachmentTypeLabel"> - <item name="android:textColor">#99FFFFFF</item> + <item name="android:textColor">?android:textColorTertiary</item> <item name="android:textSize">@dimen/small_font_size</item> </style> @@ -440,15 +417,20 @@ <item name="colorControlActivated">@color/white</item> </style> - <style name="ActionItem"> - <item name="android:textSize">@dimen/text_size</item> - <item name="android:drawablePadding">@dimen/drawable_padding</item> + <style name="BottomSheetActionItem"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">@dimen/action_item_height</item> + <item name="android:textSize">@dimen/medium_font_size</item> + <item name="android:drawablePadding">@dimen/drawable_padding</item> <item name="android:padding">@dimen/normal_padding</item> <item name="android:gravity">center_vertical</item> <item name="android:selectable">true</item> <item name="android:foreground">?attr/selectableItemBackground</item> </style> + <style name="StickerPopupAnimation" parent="@android:style/Animation"> + <item name="android:windowEnterAnimation">@anim/fade_in</item> + <item name="android:windowExitAnimation">@anim/fade_out</item> + </style> + </resources> diff --git a/res/values/themes.xml b/res/values/themes.xml index f15af83fce..8a8e9e240a 100644 --- a/res/values/themes.xml +++ b/res/values/themes.xml @@ -3,104 +3,160 @@ <resources> <!-- Session --> - <style name="Session.DarkTheme" parent="@style/Theme.AppCompat"> - <item name="actionBarStyle">@style/Session.DarkActionBar</item> + + <!-- Due to historical reasons the base theme is dark and the light one + is implemented using "notnight" type of resources. --> + <style name="Base.Theme.Session" parent="@style/Theme.AppCompat.DayNight.DarkActionBar"> <item name="colorPrimary">@color/action_bar_background</item> <item name="colorPrimaryDark">@color/action_bar_background</item> - <item name="android:navigationBarColor">@color/navigation_bar_background</item> - <item name="alertDialogTheme">@style/Session.AlertDialog</item> - <item name="android:windowBackground">@drawable/default_session_background</item> - <item name="preferenceTheme">@style/Session.SettingsTheme</item> <item name="colorAccent">@color/accent</item> - <item name="actionModeBackground">@color/compose_view_background</item> - <item name="windowActionModeOverlay">true</item> - </style> - - <style name="Session.DarkTheme.NoActionBar" parent="@style/Theme.AppCompat.NoActionBar"> - <item name="actionBarStyle">@style/Session.DarkActionBar</item> - <item name="colorPrimary">@color/action_bar_background</item> - <item name="colorPrimaryDark">@color/action_bar_background</item> - <item name="android:navigationBarColor">@color/navigation_bar_background</item> - <item name="alertDialogTheme">@style/Session.AlertDialog</item> + <item name="colorControlNormal">?android:textColorPrimary</item> + <item name="colorControlActivated">?colorAccent</item> + <item name="colorControlHighlight">?colorAccent</item> + <item name="android:textColorPrimary">@color/text</item> + <item name="android:textColorSecondary">?android:textColorPrimary</item> + <item name="android:textColorTertiary">@color/unimportant</item> + <item name="android:textColor">?android:textColorPrimary</item> + <item name="android:textColorHint">@color/gray27</item> <item name="android:windowBackground">@drawable/default_session_background</item> - <item name="preferenceTheme">@style/Session.SettingsTheme</item> - <item name="colorAccent">@color/accent</item> - <item name="actionModeBackground">@color/compose_view_background</item> - <item name="windowActionModeOverlay">true</item> - - <item name="emoji_tab_strip_background">@color/compose_view_background</item> - <item name="emoji_tab_indicator">@color/accent</item> - <item name="emoji_tab_underline">@color/gray78</item> - <item name="emoji_tab_seperator">@color/gray70</item> - <item name="emoji_drawer_background">@color/compose_text_view_background</item> - <item name="emoji_text_color">@color/white</item> - - <item name="emoji_category_recent">@drawable/ic_recent_dark_20</item> - <item name="emoji_category_people">@drawable/ic_emoji_people_dark_20</item> - <item name="emoji_category_nature">@drawable/ic_emoji_animal_dark_20</item> - <item name="emoji_category_foods">@drawable/ic_emoji_food_dark_20</item> - <item name="emoji_category_activity">@drawable/ic_emoji_activity_dark_20</item> - <item name="emoji_category_places">@drawable/ic_emoji_travel_dark_20</item> - <item name="emoji_category_objects">@drawable/ic_emoji_object_dark_20</item> - <item name="emoji_category_symbol">@drawable/ic_emoji_symbol_dark_20</item> - <item name="emoji_category_flags">@drawable/ic_emoji_flag_dark_20</item> - <item name="emoji_category_emoticons">@drawable/ic_emoji_emoticon_dark_20</item> - <item name="emoji_variation_selector_background">@drawable/emoji_variation_selector_background_dark</item> - </style> - - <style name="Session.DarkTheme.SubtitleActionBar" parent="@style/Theme.AppCompat"> - <item name="actionBarStyle">@style/Session.DarkSubtitleActionBar</item> - <item name="colorPrimary">@color/action_bar_background</item> - <item name="colorPrimaryDark">@color/action_bar_background</item> - <item name="android:navigationBarColor">@color/navigation_bar_background</item> - <item name="alertDialogTheme">@style/Session.AlertDialog</item> - <item name="android:windowBackground">@drawable/default_session_background</item> - <item name="preferenceTheme">@style/Session.SettingsTheme</item> - <item name="colorAccent">@color/accent</item> - <item name="actionModeBackground">@color/compose_view_background</item> - <item name="windowActionModeOverlay">true</item> - </style> - <!-- Session --> - - <style name="TextSecure.LightNoActionBar" parent="@style/TextSecure.LightTheme"> - <item name="windowActionBar">false</item> - <item name="windowNoTitle">true</item> - <item name="windowActionModeOverlay">true</item> - - <item name="theme_type">light</item> - <item name="colorPrimary">@color/action_bar_background</item> - <item name="colorPrimaryDark">@color/action_bar_background</item> - <item name="colorAccent">@color/textsecure_primary_dark</item> + <item name="android:colorBackground">@color/default_background_start</item> <item name="android:navigationBarColor">@color/compose_view_background</item> - <item name="recipient_preference_blocked">#d00000</item> - <item name="contact_selection_label_text">#66000000</item> - <item name="contact_selection_push_user">#ff000000</item> - <item name="contact_selection_lay_user">#a0000000</item> - <item name="contact_selection_header_text">@color/textsecure_primary_dark</item> + <item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item> + <item name="actionBarWidgetTheme">@null</item> + <item name="actionBarTheme">@style/ThemeOverlay.AppCompat.DayNight.ActionBar</item> + <item name="actionBarStyle">@style/Widget.Session.ActionBar</item> - <item name="media_overview_toolbar_background">@color/white</item> - <item name="media_overview_toolbar_foreground">@color/gray70</item> + <item name="alertDialogTheme">@style/ThemeOverlay.Session.AlertDialog</item> + <item name="bottomSheetDialogTheme">@style/Theme.Session.BottomSheet</item> + <item name="preferenceTheme">@style/ThemeOverlay.Session.Settings</item> + <item name="appBarLayoutStyle">@style/Widget.Session.AppBarLayout</item> + <item name="actionBarTabBarStyle">@style/Widget.Session.TabBar</item> + + <item name="statusBarBackground">@color/accent</item> + <item name="android:windowDrawsSystemBarBackgrounds">true</item> + <item name="windowActionModeOverlay">true</item> + <item name="actionModeCloseDrawable">@drawable/ic_baseline_clear_24</item> + <item name="actionModeBackground">@color/compose_view_background</item> + + <item name="dividerVertical">@color/separator</item> + <item name="dividerHorizontal">?dividerVertical</item> + + <!-- App specific attributes --> + <item name="search_toolbar_background">@color/black</item> + <item name="search_background">@color/black</item> + + <item name="dialog_background_color">@color/dialog_background</item> + + <item name="media_overview_toolbar_background">@color/transparent</item> + <item name="media_overview_toolbar_foreground">@color/white</item> <item name="media_overview_header_foreground">@color/text</item> - <item name="media_overview_document_primary">@color/core_grey_90</item> + <item name="media_overview_document_primary">@color/core_grey_05</item> <item name="media_overview_document_secondary">#99FFFFFF</item> + <item name="media_keyboard_button_color">@color/core_grey_25</item> + <item name="searchViewStyle">@style/TextSecure.BaseDarkTheme.SearchView</item> + + <item name="attachment_type_selector_background">?android:windowBackground</item> + <item name="attachment_type_selector_hide_button_background">@color/gray50</item> + <item name="attachment_document_icon_small">@drawable/ic_document_small_dark</item> + <item name="attachment_document_icon_large">@drawable/ic_document_large_dark</item> + <item name="attachment_document_extension_text_color">#222</item> + + <item name="home_gradient_start">#00000000</item> + <item name="home_gradient_end">#FF000000</item> + + <item name="message_received_background_color">#222325</item> + <item name="message_sent_background_color">#3F4146</item> + + <item name="menu_accept_icon">@drawable/ic_baseline_done_24</item> + <item name="menu_trash_icon">@drawable/ic_baseline_delete_24</item> + <item name="menu_block_icon">@drawable/ic_baseline_block_24</item> + <item name="menu_forward_icon">@drawable/ic_baseline_forward_24</item> + <item name="menu_save_icon">@drawable/ic_baseline_save_24</item> + <item name="menu_photo_library_icon">@drawable/ic_baseline_photo_library_24</item> + <item name="menu_delete_icon">@drawable/ic_baseline_delete_24</item> + <item name="menu_copy_icon">@drawable/ic_baseline_file_copy_24</item> + <item name="menu_reply_icon">@drawable/ic_baseline_reply_24</item> + <item name="menu_selectall_icon">@drawable/ic_baseline_select_all_24</item> + <item name="menu_split_icon">@drawable/ic_baseline_call_split_24</item> + <item name="menu_popup_expand">@drawable/ic_baseline_launch_24</item> + + <item name="conversation_emoji_toggle">@drawable/ic_emoji_filled_keyboard_24</item> + <item name="conversation_sticker_toggle">@drawable/ic_sticker_filled_keyboard_24</item> + <item name="conversation_keyboard_toggle">@drawable/ic_baseline_keyboard_24</item> + <item name="conversation_input_background">@drawable/compose_background_dark</item> + + <item name="quick_camera_icon">@drawable/ic_baseline_photo_camera_24</item> </style> - <style name="TextSecure.DarkNoActionBar" parent="@style/TextSecure.BaseDarkNoActionBar"> + <!-- This should be the default theme for the application. --> + <style name="Theme.Session.DayNight" parent="Base.Theme.Session"> <!-- leave empty to allow overriding --> </style> - <style name="TextSecure.BaseDarkNoActionBar" parent="@style/TextSecure.BaseDarkTheme"> + <style name="Theme.Session.DayNight.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="windowActionModeOverlay">true</item> + </style> + + <style name="Theme.Session.DayNight.FlatActionBar"> + <item name="actionBarStyle">@style/Widget.Session.ActionBar.Flat</item> + </style> + + <!-- + This is a temporary theme that is used by any activity + which doesn't have support for light theme + (like some old Signal screens or third-party libs with white only icons) + --> + <!-- TODO Refactor this to use color resources --> + <style name="Base.Theme.Session.ForceDark" parent="Theme.Session.DayNight"> + <item name="colorPrimary">#171717</item> + <item name="android:textColorPrimary">#FFFFFF</item> + <item name="android:textColorSecondary">#DFFFFFFF</item> + <item name="android:textColorTertiary">#90FFFFFF</item> + <item name="colorControlNormal">?android:textColorPrimary</item> + <item name="android:colorBackground">#121212</item> + <item name="android:windowBackground">?android:colorBackground</item> + <item name="android:navigationBarColor">?android:colorBackground</item> + <item name="android:statusBarColor">@color/transparent</item> - <item name="theme_type">dark</item> <item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Dark</item> + <item name="actionBarWidgetTheme">@null</item> + <item name="actionBarTheme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item> + <item name="actionBarStyle">@style/Widget.AppCompat.ActionBar</item> + + <item name="conversation_emoji_toggle">@drawable/ic_emoji_filled_keyboard_24</item> + <item name="conversation_sticker_toggle">@drawable/ic_sticker_filled_keyboard_24</item> + <item name="conversation_keyboard_toggle">@drawable/ic_baseline_keyboard_24</item> + <item name="conversation_input_background">@drawable/compose_background_dark</item> + </style> + <style name="Theme.Session.ForceDark" parent="Base.Theme.Session.ForceDark"> + <!-- leave empty to allow overriding --> + </style> + <style name="Theme.Session.ForceDark.NoActionBar"> + <item name="windowActionBar">false</item> + <item name="windowNoTitle">true</item> + <item name="windowActionModeOverlay">true</item> + </style> + + <style name="Theme.Session.BottomSheet" parent="@style/Theme.AppCompat.DayNight.Dialog"> + <item name="android:windowBackground">@android:color/transparent</item> + <item name="android:windowAnimationStyle">@style/Animation.MaterialComponents.BottomSheetDialog</item> + <item name="bottomSheetStyle">@style/Widget.Session.BottomSheetDialog</item> + </style> + + <!-- Session --> + + + + <!-- Original Signal dark theme --> + <style name="Base.Theme.TextSecure" parent="@style/Theme.Session.DayNight"> + + <item name="windowActionModeOverlay">true</item> + <item name="colorPrimary">@color/action_bar_background</item> <item name="colorPrimaryDark">@color/action_bar_background</item> - <item name="colorAccent">@color/signal_primary_dark</item> - <item name="android:navigationBarColor">@color/compose_view_background</item> <item name="recipient_preference_blocked">#d00000</item> <item name="contact_selection_label_text">#66eeeeee</item> @@ -111,285 +167,11 @@ <item name="media_overview_toolbar_background">@color/transparent</item> <item name="media_overview_toolbar_foreground">@color/white</item> <item name="media_overview_header_foreground">@color/text</item> - <item name="media_overview_document_primary">@color/core_grey_05</item> - <item name="media_overview_document_secondary">#99FFFFFF</item> - </style> - <style name="TextSecure.HighlightTheme" parent="@style/TextSecure.LightTheme"> - <item name="actionBarStyle">@style/TextSecure.FlatLightActionBar</item> - <item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Dark</item> - <item name="android:windowBackground">@color/signal_primary</item> - <item name="android:windowContentOverlay">@null</item> - <item name="colorButtonNormal">@color/white</item> - </style> - - <style name="TextSecure.LightIntroTheme" parent="@style/Theme.AppCompat.Light"> - <item name="windowActionBar">false</item> - <item name="windowNoTitle">true</item> - <item name="windowActionModeOverlay">true</item> - <item name="colorAccent">@color/signal_primary</item> - - <item name="android:textColorHint">#cc000000</item> - <item name="centered_app_title_color">#55000000</item> - <item name="ic_arrow_forward">@drawable/ic_arrow_forward_light</item> - <item name="lockscreen_watermark">@drawable/lockscreen_watermark_light</item> - <item name="android:windowBackground">@color/white</item> - <item name="ic_visibility">@drawable/ic_visibility_grey600_24dp</item> - <item name="ic_visibility_off">@drawable/ic_visibility_off_grey600_24dp</item> - - <item name="login_top_background">@color/signal_primary</item> - <item name="login_floating_background">@drawable/rounded_rectangle_dark</item> - - </style> - - <style name="TextSecure.DarkIntroTheme" parent="@style/Theme.AppCompat"> - <item name="windowActionBar">false</item> - <item name="windowNoTitle">true</item> - <item name="windowActionModeOverlay">true</item> - <item name="colorAccent">@color/signal_primary_dark</item> - - <item name="android:textColorHint">@color/white</item> - <item name="centered_app_title_color">@color/gray27</item> - <item name="ic_arrow_forward">@drawable/ic_arrow_forward_dark</item> - <item name="lockscreen_watermark">@drawable/lockscreen_watermark_dark</item> - <item name="android:windowBackground">@color/core_grey_95</item> - <item name="ic_visibility">@drawable/ic_visibility_white_24dp</item> - <item name="ic_visibility_off">@drawable/ic_visibility_off_white_24dp</item> - - <item name="login_top_background">@color/black</item> - <item name="login_floating_background">@drawable/rounded_rectangle_dark</item> - </style> - - <style name="PopupAnimation" parent="@android:style/Animation"> - <item name="android:windowEnterAnimation">@anim/slide_from_top</item> - <item name="android:windowExitAnimation">@anim/slide_to_top</item> - </style> - - <style name="StickerPopupAnimation" parent="@android:style/Animation"> - <item name="android:windowEnterAnimation">@anim/fade_in</item> - <item name="android:windowExitAnimation">@anim/fade_out</item> - </style> - - <style name="TextSecure.LightTheme.Popup" parent="TextSecure.LightTheme"> - <item name="android:windowIsFloating">false</item> - <item name="android:windowSoftInputMode">stateUnchanged</item> - <item name="android:windowContentOverlay">@null</item> - <item name="android:windowActionModeOverlay">true</item> - <item name="android:windowIsTranslucent">true</item> - <item name="android:windowFrame">@null</item> - <item name="android:windowAnimationStyle">@style/PopupAnimation</item> - <item name="android:windowCloseOnTouchOutside">true</item> - <item name="android:backgroundDimEnabled">false</item> - </style> - - <style name="TextSecure.LightTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> - <item name="theme_type">light</item> - <item name="actionBarStyle">@style/Session.DarkActionBar</item> - <item name="searchViewStyle">@style/TextSecure.BaseDarkTheme.SearchView</item> - <item name="actionBarTabBarStyle">@style/TextSecure.LightActionBar.TabBar</item> - <item name="actionModeBackground">@color/compose_view_background</item> - <item name="actionModeCloseDrawable">@drawable/ic_close_white_24dp</item> - <item name="colorPrimary">@color/action_bar_background</item> - <item name="colorPrimaryDark">@color/action_bar_background</item> - <item name="colorAccent">@color/accent</item> - <item name="colorControlActivated">@color/accent</item> - <item name="colorControlNormal">@color/text</item> - <item name="colorControlHighlight">@color/accent</item> - <item name="android:windowBackground">@color/loki_darkest_gray</item> - <item name="alertDialogTheme">@style/AppCompatAlertDialogStyleLight</item> - <item name="android:alertDialogTheme">@style/AppCompatDialogStyleLight</item> - <item name="bottomSheetDialogTheme">@style/Theme.MaterialComponents.Light.BottomSheetDialog</item> - <item name="android:navigationBarColor">@color/compose_view_background</item> - <!--<item name="android:windowContentOverlay">@drawable/compat_actionbar_shadow_background</item>--> - - <item name="attachment_type_selector_background">@color/white</item> - <item name="attachment_document_icon_small">@drawable/ic_document_small_light</item> - <item name="attachment_document_icon_large">@drawable/ic_document_large_light</item> - - <item name="compose_icon_tint">@color/core_grey_60</item> - - <item name="conversation_list_item_background">@drawable/conversation_list_item_background</item> - <item name="conversation_list_item_contact_color">@color/core_grey_90</item> - <item name="conversation_list_item_subject_color">@color/core_grey_60</item> - <item name="conversation_list_item_delivery_icon_color">@color/core_grey_60</item> - <item name="conversation_list_item_date_color">@color/core_grey_60</item> - <item name="conversation_list_item_unread_color">@color/core_black</item> - <item name="conversation_list_item_unread_background">@drawable/unread_count_background_light</item> - <item name="conversation_list_item_divider">@drawable/conversation_list_divider_shape</item> - <item name="conversation_list_toolbar_background">@color/core_blue</item> - <item name="conversation_list_typing_tint">@color/core_grey_60</item> - - <item name="fab_color">@color/textsecure_primary</item> - <item name="lower_right_divet">@drawable/divet_lower_right_dark</item> - - <item name="conversation_group_member_name">#99000000</item> - - <item name="conversation_background">@color/core_white</item> - <item name="conversation_editor_background">#22000000</item> - <item name="conversation_editor_text_color">#ff111111</item> - <item name="conversation_input_background">@drawable/compose_background_light</item> - <item name="conversation_input_inline_attach_icon_tint">@color/core_grey_60</item> - <item name="conversation_transport_sms_indicator">@drawable/ic_arrow_up</item> - <item name="conversation_transport_push_indicator">@drawable/ic_arrow_up</item> - <item name="conversation_transport_popup_background">@color/white</item> - <item name="conversation_emoji_toggle">@drawable/ic_emoji_filled_keyboard_light</item> - <item name="conversation_sticker_toggle">@drawable/ic_sticker_filled_keyboard_light</item> - <item name="conversation_keyboard_toggle">@drawable/ic_keyboard_grey600_24dp</item> - <item name="conversation_attach_camera">@drawable/ic_photo_camera_light</item> - <item name="conversation_attach_image">@drawable/ic_image_light</item> - <item name="conversation_attach_video">@drawable/ic_movie_creation_light</item> - <item name="conversation_attach_sound">@drawable/ic_volume_up_light</item> - <item name="conversation_attach_contact_info">@drawable/ic_account_box_light</item> - <item name="conversation_attach">@drawable/ic_attach_grey600_24dp</item> - <item name="conversation_number_picker_text_color_normal">@color/gray65</item> - <item name="conversation_number_picker_text_color_selected">@color/black</item> - <item name="conversation_sticker_footer_text_color">@color/core_grey_60</item> - <item name="conversation_sticker_footer_icon_color">@color/core_grey_60</item> - <item name="conversation_sticker_author_color">@color/core_grey_95</item> - - <item name="contact_list_divider">@drawable/contact_list_divider_light</item> - - <item name="verification_background">@color/core_grey_05</item> - - <item name="emoji_tab_strip_background">@color/cell_background</item> - <item name="emoji_tab_indicator">#66555555</item> - <item name="emoji_tab_underline">#44555555</item> - <item name="emoji_tab_seperator">@color/gray20</item> - <item name="emoji_drawer_background">@color/compose_view_background</item> - <item name="emoji_text_color">@color/black</item> - - <item name="emoji_category_recent">@drawable/ic_recent_light_20</item> - <item name="emoji_category_people">@drawable/ic_emoji_people_light_20</item> - <item name="emoji_category_nature">@drawable/ic_emoji_animal_light_20</item> - <item name="emoji_category_foods">@drawable/ic_emoji_food_light_20</item> - <item name="emoji_category_activity">@drawable/ic_emoji_activity_light_20</item> - <item name="emoji_category_places">@drawable/ic_emoji_travel_light_20</item> - <item name="emoji_category_objects">@drawable/ic_emoji_object_light_20</item> - <item name="emoji_category_symbol">@drawable/ic_emoji_symbol_light_20</item> - <item name="emoji_category_flags">@drawable/ic_emoji_flag_light_20</item> - <item name="emoji_category_emoticons">@drawable/ic_emoji_emoticon_light_20</item> - <item name="emoji_variation_selector_background">@drawable/emoji_variation_selector_background_light</item> - - <item name="conversation_item_bubble_background">@color/sent_message_background</item> - <item name="conversation_item_sent_text_primary_color">@color/core_grey_90</item> - <item name="conversation_item_sent_text_secondary_color">@color/core_grey_60</item> - <item name="conversation_item_sent_icon_color">@color/core_grey_60</item> - <item name="conversation_item_sent_download_icon_color">@color/core_grey_60</item> - <item name="conversation_item_sent_text_indicator_tab_color">#99000000</item> - <item name="conversation_item_received_text_primary_color">@color/text</item> - <item name="conversation_item_received_text_secondary_color">@color/text</item> - <item name="conversation_item_update_text_color">@color/core_grey_60</item> - <item name="conversation_item_last_seen_text_color">@color/core_grey_90</item> - <item name="conversation_item_last_seen_line_color">@color/core_grey_60</item> - <item name="conversation_item_date_line_color">@color/core_grey_25</item> - <item name="conversation_item_quote_text_color">@color/core_grey_90</item> - <item name="conversation_item_sticky_date_background">@drawable/sticky_date_header_background_light</item> - <item name="conversation_item_sticky_date_text_color">@color/core_grey_60</item> - <item name="conversation_item_image_outline_color">@color/transparent_black_30</item> - - <item name="quick_camera_icon">@drawable/quick_camera_light</item> - <item name="quick_mic_icon">@drawable/ic_mic_grey600_24dp</item> - - <item name="conversation_item_sent_indicator_text_background">@drawable/conversation_item_sent_indicator_text_shape</item> - - <item name="dialog_info_icon">@drawable/ic_info_outline_light</item> - <item name="dialog_alert_icon">@drawable/ic_warning_light</item> - <item name="dialog_background_color">@color/background_material_light</item> - - <item name="device_link_item_card_background">@color/device_link_item_background_light</item> - - <item name="mediapicker_image_outline">@drawable/mediapicker_item_border_light</item> - - <item name="import_export_item_background_color">@color/import_export_item_background_light</item> - <item name="import_export_item_background_shadow_color">@color/import_export_item_background_shadow_light</item> - <item name="import_export_item_card_background">@drawable/clickable_card_light</item> - - <item name="linkpreview_background_color">@color/core_white</item> - <item name="linkpreview_primary_text_color">@color/core_black</item> - <item name="linkpreview_secondary_text_color">@color/core_grey_60</item> - <item name="linkpreview_divider_color">@color/core_grey_25</item> - - <item name="media_keyboard_button_color">@color/core_grey_60</item> - - <item name="menu_new_conversation_icon">@drawable/ic_add_white_24dp</item> - <item name="menu_group_icon">@drawable/ic_group_white_24dp</item> - <item name="menu_search_icon">@drawable/ic_search_white_24dp</item> - <item name="menu_call_icon">@drawable/ic_call_white_24dp</item> - <item name="menu_popup_expand">@drawable/ic_launch_white_24dp</item> - <item name="menu_unlock_icon">@drawable/ic_unlocked_white_24dp</item> - <item name="menu_lock_icon">@drawable/ic_lock_white_24dp</item> - <item name="menu_lock_icon_small">@drawable/ic_lock_white_18dp</item> - <item name="menu_trash_icon">@drawable/ic_delete_white_24dp</item> - <item name="menu_selectall_icon">@drawable/ic_select_all_white_24dp</item> - <item name="menu_split_icon">@drawable/ic_call_split_white_24dp</item> - <item name="menu_accept_icon">@drawable/ic_check_white_24dp</item> - <item name="menu_refresh_directory">@drawable/ic_refresh_white_24dp</item> - <item name="menu_copy_icon">@drawable/ic_content_copy_white_24dp</item> - <item name="menu_info_icon">@drawable/ic_info_outline_white_24dp</item> - <item name="menu_forward_icon">@drawable/ic_forward_white_24dp</item> - <item name="menu_save_icon">@drawable/ic_save_white_24dp</item> - <item name="menu_reply_icon">@drawable/ic_reply_white_24dp</item> - - <item name="conversation_icon_attach_audio">@drawable/ic_audio_light</item> - <item name="conversation_icon_attach_video">@drawable/ic_video_light</item> - - <item name="reminder_header_background">#ff1d85d7</item> - - <item name="sticker_management_icon">@drawable/sticker_button_light</item> - <item name="sticker_management_divider_color">@color/core_grey_15</item> - <item name="sticker_management_empty_background_color">@color/core_grey_05</item> - <item name="sticker_management_action_button_color">@color/core_grey_90</item> - <item name="sticker_popup_background">@color/transparent_white_aa</item> - <item name="sticker_preview_toolbar_background">@color/core_white</item> - <item name="sticker_preview_status_bar_color">@color/core_grey_05</item> - <item name="sticker_view_missing_background">@drawable/sticker_missing_background_light</item> - - <item name="tooltip_default_color">@color/core_white</item> - - <item name="pref_icon_tint">@color/textsecure_primary_dark</item> - - <item name="pref_divider">@drawable/preference_divider_light</item> - - <item name="quote_missing_icon_color">@color/core_grey_60</item> - - <item name="group_members_dialog_icon">@drawable/ic_group_grey600_24dp</item> - <item name="preferenceTheme">@style/PreferenceThemeOverlay.Fix</item> - - <item name="search_toolbar_background">@color/white</item> - <item name="search_background">@color/white</item> - <item name="invite_background">@color/signal_primary</item> - - <item name="shared_contact_details_header_background">@color/grey_100</item> - <item name="shared_contact_details_titlebar">@color/grey_400</item> - <item name="shared_contact_item_button_color">@color/core_grey_02</item> - <item name="android:statusBarColor">@color/action_bar_background</item> - </style> - - <style name="TextSecure.DarkTheme" parent="@style/TextSecure.BaseDarkTheme"> - <!-- leave empty to allow overriding --> - </style> - - <style name="TextSecure.BaseDarkTheme" parent="@style/Theme.AppCompat"> <item name="theme_type">dark</item> - <item name="actionBarStyle">@style/Session.DarkActionBar</item> <item name="searchViewStyle">@style/TextSecure.BaseDarkTheme.SearchView</item> - <item name="actionBarTabBarStyle">@style/TextSecure.DarkActionBar.TabBar</item> - <item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Dark</item> - <item name="actionModeBackground">@color/compose_view_background</item> - <item name="actionModeCloseDrawable">@drawable/ic_close_white_24dp</item> - <item name="android:textColor">@color/text_color_dark_theme</item> - <item name="android:textColorSecondary">@color/text_color_secondary_dark_theme</item> - <item name="colorAccent">@color/accent</item> - <item name="colorControlActivated">@color/accent</item> - <item name="colorControlNormal">@color/text</item> - <item name="colorControlHighlight">@color/accent</item> - <item name="android:windowBackground">@color/loki_darkest_gray</item> - <item name="alertDialogTheme">@style/AppCompatAlertDialogStyleDark</item> - <item name="android:alertDialogTheme">@style/AppCompatDialogStyleDark</item> - <item name="bottomSheetDialogTheme">@style/Theme.MaterialComponents.BottomSheetDialog</item> <item name="android:navigationBarColor">@color/compose_view_background</item> - <item name="attachment_type_selector_background">@color/gray95</item> <item name="attachment_document_icon_small">@drawable/ic_document_small_dark</item> <item name="attachment_document_icon_large">@drawable/ic_document_large_dark</item> @@ -408,7 +190,7 @@ <item name="conversation_group_member_name">#99ffffff</item> - <item name="conversation_item_bubble_background">@color/sent_message_background</item> + <item name="conversation_item_bubble_background">?message_sent_background_color</item> <item name="conversation_item_sent_text_primary_color">@color/core_grey_05</item> <item name="conversation_item_sent_text_secondary_color">@color/core_grey_25</item> <item name="conversation_item_sent_icon_color">@color/core_grey_25</item> @@ -423,7 +205,7 @@ <item name="conversation_item_date_line_color">@color/core_grey_45</item> <item name="conversation_item_quote_text_color">@color/core_grey_05</item> <item name="conversation_item_sticky_date_background">@drawable/sticky_date_header_background_dark</item> - <item name="conversation_item_sticky_date_text_color">@color/core_grey_25</item> + <item name="conversation_item_sticky_date_text_color">@color/core_grey_45</item> <item name="conversation_item_image_outline_color">@color/transparent_white_30</item> <item name="contact_list_divider">@drawable/contact_list_divider_dark</item> @@ -432,7 +214,6 @@ <item name="dialog_info_icon">@drawable/ic_info_outline_dark</item> <item name="dialog_alert_icon">@drawable/ic_warning_dark</item> - <item name="dialog_background_color">@color/background_material_dark</item> <item name="device_link_item_card_background">@color/device_link_item_background_dark</item> @@ -448,14 +229,10 @@ <item name="conversation_background">@color/loki_darkest_gray</item> <item name="conversation_editor_background">#22ffffff</item> <item name="conversation_editor_text_color">#ffeeeeee</item> - <item name="conversation_input_background">@drawable/compose_background_dark</item> <item name="conversation_input_inline_attach_icon_tint">@color/core_grey_05</item> - <item name="conversation_transport_sms_indicator">@drawable/ic_send_sms_insecure_dark</item> - <item name="conversation_transport_push_indicator">@drawable/ic_send_push</item> + <item name="conversation_transport_sms_indicator">@drawable/ic_arrow_up_circle_24</item> + <item name="conversation_transport_push_indicator">@drawable/ic_arrow_up_circle_24</item> <item name="conversation_transport_popup_background">@color/black</item> - <item name="conversation_emoji_toggle">@drawable/ic_emoji_filled_keyboard_dark</item> - <item name="conversation_sticker_toggle">@drawable/ic_sticker_filled_keyboard_dark</item> - <item name="conversation_keyboard_toggle">@drawable/ic_keyboard_white_24dp</item> <item name="conversation_attach_camera">@drawable/ic_photo_camera_dark</item> <item name="conversation_attach_image">@drawable/ic_image_dark</item> <item name="conversation_attach_video">@drawable/ic_movie_creation_dark</item> @@ -492,7 +269,7 @@ <item name="linkpreview_secondary_text_color">@color/text</item> <item name="linkpreview_divider_color">@color/transparent</item> - <item name="quick_camera_icon">@drawable/quick_camera_dark</item> +<!-- <item name="quick_camera_icon">@drawable/ic_baseline_photo_camera_24</item>--> <item name="quick_mic_icon">@drawable/ic_mic_white_24dp</item> <item name="media_keyboard_button_color">@color/core_grey_25</item> @@ -501,20 +278,12 @@ <item name="menu_group_icon">@drawable/ic_group_white_24dp</item> <item name="menu_search_icon">@drawable/ic_search_white_24dp</item> <item name="menu_call_icon">@drawable/ic_call_white_24dp</item> - <item name="menu_popup_expand">@drawable/ic_launch_white_24dp</item> <item name="menu_unlock_icon">@drawable/ic_unlocked_white_24dp</item> <item name="menu_lock_icon">@drawable/ic_lock_white_24dp</item> <item name="menu_lock_icon_small">@drawable/ic_lock_white_18dp</item> - <item name="menu_trash_icon">@drawable/ic_delete_white_24dp</item> - <item name="menu_selectall_icon">@drawable/ic_select_all_white_24dp</item> - <item name="menu_split_icon">@drawable/ic_call_split_white_24dp</item> <item name="menu_accept_icon">@drawable/ic_check_white_24dp</item> <item name="menu_refresh_directory">@drawable/ic_refresh_white_24dp</item> - <item name="menu_copy_icon">@drawable/ic_content_copy_white_24dp</item> <item name="menu_info_icon">@drawable/ic_info_outline_white_24dp</item> - <item name="menu_forward_icon">@drawable/ic_forward_white_24dp</item> - <item name="menu_save_icon">@drawable/ic_save_white_24dp</item> - <item name="menu_reply_icon">@drawable/ic_reply_white_24dp</item> <item name="conversation_icon_attach_audio">@drawable/ic_audio_dark</item> <item name="conversation_icon_attach_video">@drawable/ic_video_dark</item> @@ -548,23 +317,24 @@ <item name="shared_contact_details_titlebar">@color/grey_900</item> <item name="shared_contact_item_button_color">@color/core_grey_85</item> </style> + + <style name="Theme.TextSecure.DayNight" parent="Base.Theme.TextSecure"> + <!-- leave empty to allow overriding --> + </style> + + <style name="Theme.TextSecure.DayNight.NoActionBar"> + <item name="windowActionBar">false</item> + <item name="windowNoTitle">true</item> + <item name="windowActionModeOverlay">true</item> + </style> - <style name="RationaleDialog" parent="Theme.AppCompat.Light.Dialog.Alert"> - <item name="android:windowBackground">@drawable/permission_rationale_dialog_corners</item> + <style name="Theme.TextSecure.Dialog.Rationale" parent="Theme.AppCompat.DayNight.Dialog.Alert"> + <item name="android:windowBackground">@drawable/default_dialog_background</item> </style> - <style name="TextSecure.ScribbleTheme" parent="TextSecure.DarkNoActionBar"> - </style> - - <style name="TextSecure.MediaSendProgressDialog" parent="@android:style/Theme.Dialog"> - <item name="android:background">@color/dialog_background</item> + <style name="Theme.TextSecure.Dialog.MediaSendProgress" parent="@android:style/Theme.Dialog"> + <item name="android:background">@drawable/default_dialog_background</item> <item name="android:windowNoTitle">true</item> </style> - <style name="TextSecure.LightRegistrationTheme" parent="TextSecure.LightNoActionBar"> - </style> - - <style name="TextSecure.DarkRegistrationTheme" parent="TextSecure.DarkNoActionBar"> - </style> - </resources> diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 4f8b6e4663..0710e1f03a 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -43,7 +43,7 @@ <Preference android:key="preference_category_qr_code" android:title="@string/activity_settings_show_qr_code_button_title" - android:icon="@drawable/icon_qr_code"/> + android:icon="@drawable/ic_qr_code_24"/> <Preference android:key="preference_category_seed" android:title="@string/activity_settings_show_seed_button_title" diff --git a/src/org/thoughtcrime/securesms/ApplicationContext.java b/src/org/thoughtcrime/securesms/ApplicationContext.java index 3e4ea39fcb..e1d44b7ceb 100644 --- a/src/org/thoughtcrime/securesms/ApplicationContext.java +++ b/src/org/thoughtcrime/securesms/ApplicationContext.java @@ -16,17 +16,18 @@ */ package org.thoughtcrime.securesms; -import androidx.lifecycle.DefaultLifecycleObserver; -import androidx.lifecycle.LifecycleOwner; -import androidx.lifecycle.ProcessLifecycleOwner; +import android.app.Application; import android.content.Context; import android.content.Intent; import android.os.AsyncTask; import android.os.Build; import android.os.Handler; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.multidex.MultiDexApplication; +import androidx.lifecycle.DefaultLifecycleObserver; +import androidx.lifecycle.LifecycleOwner; +import androidx.lifecycle.ProcessLifecycleOwner; import com.google.firebase.iid.FirebaseInstanceId; @@ -72,6 +73,7 @@ import org.thoughtcrime.securesms.loki.protocol.ClosedGroupsProtocol; import org.thoughtcrime.securesms.loki.protocol.SessionRequestMessageSendJob; import org.thoughtcrime.securesms.loki.protocol.SessionResetImplementation; import org.thoughtcrime.securesms.loki.utilities.Broadcaster; +import org.thoughtcrime.securesms.loki.utilities.UiModeUtilities; import org.thoughtcrime.securesms.notifications.DefaultMessageNotifier; import org.thoughtcrime.securesms.notifications.MessageNotifier; import org.thoughtcrime.securesms.notifications.NotificationChannels; @@ -114,10 +116,10 @@ import org.whispersystems.signalservice.loki.protocol.closedgroups.SharedSenderK import org.whispersystems.signalservice.loki.protocol.mentions.MentionsManager; import org.whispersystems.signalservice.loki.protocol.meta.SessionMetaProtocol; import org.whispersystems.signalservice.loki.protocol.meta.TTLUtilities; -import org.whispersystems.signalservice.loki.protocol.shelved.multidevice.DeviceLink; -import org.whispersystems.signalservice.loki.protocol.shelved.multidevice.MultiDeviceProtocol; import org.whispersystems.signalservice.loki.protocol.sessionmanagement.SessionManagementProtocol; import org.whispersystems.signalservice.loki.protocol.sessionmanagement.SessionManagementProtocolDelegate; +import org.whispersystems.signalservice.loki.protocol.shelved.multidevice.DeviceLink; +import org.whispersystems.signalservice.loki.protocol.shelved.multidevice.MultiDeviceProtocol; import org.whispersystems.signalservice.loki.protocol.shelved.syncmessages.SyncMessagesProtocol; import java.io.File; @@ -143,11 +145,10 @@ import static nl.komponents.kovenant.android.KovenantAndroid.stopKovenant; * * @author Moxie Marlinspike */ -public class ApplicationContext extends MultiDexApplication implements DependencyInjector, DefaultLifecycleObserver, LokiP2PAPIDelegate, +public class ApplicationContext extends Application implements DependencyInjector, DefaultLifecycleObserver, LokiP2PAPIDelegate, SessionManagementProtocolDelegate, SharedSenderKeysImplementationDelegate { private static final String TAG = ApplicationContext.class.getSimpleName(); - private final static int OK_HTTP_CACHE_SIZE = 10 * 1024 * 1024; // 10 MB private ExpiringMessageManager expiringMessageManager; private TypingStatusRepository typingStatusRepository; @@ -215,6 +216,8 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc publicChatManager = new PublicChatManager(this); updateOpenGroupProfilePicturesIfNeeded(); registerForFCMIfNeeded(false); + // Set application UI mode (day/night theme) to the user selected one. + UiModeUtilities.setupUiModeToUserSelected(this); // ======== initializeJobManager(); initializeMessageRetrieval(); diff --git a/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java b/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java index 7f75443aed..e453c9eeae 100644 --- a/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java +++ b/src/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java @@ -247,7 +247,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA Drawable devices = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_laptop_white_24dp)); Drawable advanced = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_advanced_white_24dp)); Drawable publicKey = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_textsms_24dp)); - Drawable qrCode = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.icon_qr_code)); + Drawable qrCode = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.ic_qr_code_24)); Drawable linkDevice = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.icon_link)); Drawable seed = DrawableCompat.wrap(ContextCompat.getDrawable(context, R.drawable.icon_seedling)); diff --git a/src/org/thoughtcrime/securesms/BaseActionBarActivity.java b/src/org/thoughtcrime/securesms/BaseActionBarActivity.java index fc6f64b409..17e06dfea0 100644 --- a/src/org/thoughtcrime/securesms/BaseActionBarActivity.java +++ b/src/org/thoughtcrime/securesms/BaseActionBarActivity.java @@ -32,7 +32,6 @@ import java.util.Date; import network.loki.messenger.R; - public abstract class BaseActionBarActivity extends AppCompatActivity { private static final String TAG = BaseActionBarActivity.class.getSimpleName(); private BroadcastReceiver broadcastReceiver; @@ -122,6 +121,9 @@ public abstract class BaseActionBarActivity extends AppCompatActivity { ActivityCompat.startActivity(this, intent, bundle); } + //TODO AC: I don't think we need this method, + // setting any colors directly will most likely clash with the current theme. + @Deprecated @TargetApi(VERSION_CODES.LOLLIPOP) protected void setStatusBarColor(int color) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { diff --git a/src/org/thoughtcrime/securesms/ConversationListFragment.java b/src/org/thoughtcrime/securesms/ConversationListFragment.java index e5a72655d4..8155c7e341 100644 --- a/src/org/thoughtcrime/securesms/ConversationListFragment.java +++ b/src/org/thoughtcrime/securesms/ConversationListFragment.java @@ -455,7 +455,7 @@ public class ConversationListFragment extends Fragment switch (item.getItemId()) { case R.id.menu_select_all: handleSelectAllThreads(); return true; case R.id.menu_delete_selected: handleDeleteAllSelected(); return true; - case R.id.menu_archive_selected: handleArchiveAllSelected(); return true; +// case R.id.menu_archive_selected: handleArchiveAllSelected(); return true; } return false; diff --git a/src/org/thoughtcrime/securesms/CreateProfileActivity.java b/src/org/thoughtcrime/securesms/CreateProfileActivity.java index 92d631f576..1c9af4f4c6 100644 --- a/src/org/thoughtcrime/securesms/CreateProfileActivity.java +++ b/src/org/thoughtcrime/securesms/CreateProfileActivity.java @@ -48,8 +48,6 @@ import org.thoughtcrime.securesms.profiles.SystemProfileUtil; import org.thoughtcrime.securesms.util.BitmapDecodingException; import org.thoughtcrime.securesms.util.BitmapUtil; import org.thoughtcrime.securesms.util.DynamicLanguage; -import org.thoughtcrime.securesms.util.DynamicRegistrationTheme; -import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.Util; import org.thoughtcrime.securesms.util.ViewUtil; @@ -85,7 +83,6 @@ public class CreateProfileActivity extends BaseActionBarActivity implements Inje public static final String NEXT_INTENT = "next_intent"; public static final String EXCLUDE_SYSTEM = "exclude_system"; - private final DynamicTheme dynamicTheme = new DynamicRegistrationTheme(); private final DynamicLanguage dynamicLanguage = new DynamicLanguage(); @Inject SignalServiceAccountManager accountManager; @@ -107,7 +104,6 @@ public class CreateProfileActivity extends BaseActionBarActivity implements Inje public void onCreate(Bundle bundle) { super.onCreate(bundle); - dynamicTheme.onCreate(this); dynamicLanguage.onCreate(this); setContentView(R.layout.profile_create_activity); @@ -125,7 +121,6 @@ public class CreateProfileActivity extends BaseActionBarActivity implements Inje @Override public void onResume() { super.onResume(); - dynamicTheme.onResume(this); dynamicLanguage.onResume(this); } diff --git a/src/org/thoughtcrime/securesms/MediaOverviewActivity.java b/src/org/thoughtcrime/securesms/MediaOverviewActivity.java index 7a82d64a42..2b3f12012c 100644 --- a/src/org/thoughtcrime/securesms/MediaOverviewActivity.java +++ b/src/org/thoughtcrime/securesms/MediaOverviewActivity.java @@ -25,21 +25,6 @@ import android.content.res.Resources; import android.database.Cursor; import android.os.Build; import android.os.Bundle; -import androidx.annotation.NonNull; -import com.google.android.material.tabs.TabLayout; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentStatePagerAdapter; -import androidx.loader.app.LoaderManager; -import androidx.loader.content.Loader; -import androidx.viewpager.widget.ViewPager; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.view.ActionMode; -import androidx.recyclerview.widget.DividerItemDecoration; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.appcompat.widget.Toolbar; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; @@ -49,7 +34,23 @@ import android.view.Window; import android.widget.TextView; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.view.ActionMode; +import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentStatePagerAdapter; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.viewpager.widget.ViewPager; + import com.codewaves.stickyheadergrid.StickyHeaderGridLayoutManager; +import com.google.android.material.tabs.TabLayout; import org.thoughtcrime.securesms.database.Address; import org.thoughtcrime.securesms.database.CursorRecyclerViewAdapter; @@ -62,8 +63,6 @@ import org.thoughtcrime.securesms.permissions.Permissions; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.util.AttachmentUtil; import org.thoughtcrime.securesms.util.DynamicLanguage; -import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; -import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.SaveAttachmentTask; import org.thoughtcrime.securesms.util.StickyHeaderDecoration; import org.thoughtcrime.securesms.util.Util; @@ -87,7 +86,6 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity { public static final String ADDRESS_EXTRA = "address"; - private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme(); private final DynamicLanguage dynamicLanguage = new DynamicLanguage(); private Toolbar toolbar; @@ -97,14 +95,12 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity { @Override protected void onPreCreate() { - dynamicTheme.onCreate(this); dynamicLanguage.onCreate(this); } @Override protected void onCreate(Bundle bundle, boolean ready) { setContentView(R.layout.media_overview_activity); - getWindow().setNavigationBarColor(getResources().getColor(R.color.navigation_bar_background)); initializeResources(); initializeToolbar(); @@ -116,7 +112,6 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity { @Override public void onResume() { super.onResume(); - dynamicTheme.onResume(this); dynamicLanguage.onResume(this); } diff --git a/src/org/thoughtcrime/securesms/MediaPreviewActivity.java b/src/org/thoughtcrime/securesms/MediaPreviewActivity.java index 4e01e84d7a..4593382bbe 100644 --- a/src/org/thoughtcrime/securesms/MediaPreviewActivity.java +++ b/src/org/thoughtcrime/securesms/MediaPreviewActivity.java @@ -19,6 +19,8 @@ package org.thoughtcrime.securesms; import android.Manifest; import android.annotation.SuppressLint; import android.annotation.TargetApi; + +import androidx.appcompat.widget.Toolbar; import androidx.lifecycle.ViewModelProviders; import android.content.Context; import android.content.Intent; @@ -150,7 +152,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im @Override public void onModified(Recipient recipient) { - Util.runOnMain(this::initializeActionBar); + Util.runOnMain(this::updateActionBar); } @Override @@ -164,7 +166,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im } @SuppressWarnings("ConstantConditions") - private void initializeActionBar() { + private void updateActionBar() { MediaItem mediaItem = getCurrentMediaItem(); if (mediaItem != null) { @@ -222,6 +224,9 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im caption = findViewById(R.id.media_preview_caption); captionContainer = findViewById(R.id.media_preview_caption_container); playbackControlsContainer = findViewById(R.id.media_preview_playback_controls_container); + + + setSupportActionBar(findViewById(R.id.toolbar)); } private void initializeResources() { @@ -476,7 +481,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity im MediaItem item = adapter.getMediaItemFor(position); if (item.recipient != null) item.recipient.addListener(MediaPreviewActivity.this); viewModel.setActiveAlbumRailItem(MediaPreviewActivity.this, position); - initializeActionBar(); + updateActionBar(); } } diff --git a/src/org/thoughtcrime/securesms/PassphrasePromptActivity.java b/src/org/thoughtcrime/securesms/PassphrasePromptActivity.java index f4e881c057..1e8f089d72 100644 --- a/src/org/thoughtcrime/securesms/PassphrasePromptActivity.java +++ b/src/org/thoughtcrime/securesms/PassphrasePromptActivity.java @@ -55,7 +55,6 @@ import org.thoughtcrime.securesms.crypto.InvalidPassphraseException; import org.thoughtcrime.securesms.crypto.MasterSecret; import org.thoughtcrime.securesms.crypto.MasterSecretUtil; import org.thoughtcrime.securesms.logging.Log; -import org.thoughtcrime.securesms.util.DynamicIntroTheme; import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.TextSecurePreferences; @@ -70,7 +69,6 @@ public class PassphrasePromptActivity extends PassphraseActivity { private static final String TAG = PassphrasePromptActivity.class.getSimpleName(); - private DynamicIntroTheme dynamicTheme = new DynamicIntroTheme(); private DynamicLanguage dynamicLanguage = new DynamicLanguage(); private View passphraseAuthContainer; @@ -92,7 +90,6 @@ public class PassphrasePromptActivity extends PassphraseActivity { @Override public void onCreate(Bundle savedInstanceState) { Log.i(TAG, "onCreate()"); - dynamicTheme.onCreate(this); dynamicLanguage.onCreate(this); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); @@ -105,7 +102,6 @@ public class PassphrasePromptActivity extends PassphraseActivity { @Override public void onResume() { super.onResume(); - dynamicTheme.onResume(this); dynamicLanguage.onResume(this); setLockTypeVisibility(); diff --git a/src/org/thoughtcrime/securesms/ShareActivity.java b/src/org/thoughtcrime/securesms/ShareActivity.java index 3ad213bb63..c3439423ca 100644 --- a/src/org/thoughtcrime/securesms/ShareActivity.java +++ b/src/org/thoughtcrime/securesms/ShareActivity.java @@ -74,7 +74,6 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity public static final String EXTRA_ADDRESS_MARSHALLED = "address_marshalled"; public static final String EXTRA_DISTRIBUTION_TYPE = "distribution_type"; - private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme(); private final DynamicLanguage dynamicLanguage = new DynamicLanguage(); private ContactSelectionListFragment contactsFragment; @@ -87,7 +86,6 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity @Override protected void onPreCreate() { - dynamicTheme.onCreate(this); dynamicLanguage.onCreate(this); } @@ -121,7 +119,6 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity public void onResume() { Log.i(TAG, "onResume()"); super.onResume(); - dynamicTheme.onResume(this); dynamicLanguage.onResume(this); } diff --git a/src/org/thoughtcrime/securesms/TransportOption.java b/src/org/thoughtcrime/securesms/TransportOption.java index c361a42168..21117eff01 100644 --- a/src/org/thoughtcrime/securesms/TransportOption.java +++ b/src/org/thoughtcrime/securesms/TransportOption.java @@ -2,7 +2,6 @@ package org.thoughtcrime.securesms; import android.os.Parcel; import android.os.Parcelable; -import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import android.text.TextUtils; @@ -19,8 +18,6 @@ public class TransportOption implements Parcelable { TEXTSECURE } - private final int drawable; - private final int backgroundColor; private final @NonNull String text; private final @NonNull Type type; private final @NonNull String composeHint; @@ -29,19 +26,15 @@ public class TransportOption implements Parcelable { private final @NonNull Optional<Integer> simSubscriptionId; public TransportOption(@NonNull Type type, - @DrawableRes int drawable, - int backgroundColor, @NonNull String text, @NonNull String composeHint, @NonNull CharacterCalculator characterCalculator) { - this(type, drawable, backgroundColor, text, composeHint, characterCalculator, + this(type, text, composeHint, characterCalculator, Optional.<CharSequence>absent(), Optional.<Integer>absent()); } public TransportOption(@NonNull Type type, - @DrawableRes int drawable, - int backgroundColor, @NonNull String text, @NonNull String composeHint, @NonNull CharacterCalculator characterCalculator, @@ -49,8 +42,6 @@ public class TransportOption implements Parcelable { @NonNull Optional<Integer> simSubscriptionId) { this.type = type; - this.drawable = drawable; - this.backgroundColor = backgroundColor; this.text = text; this.composeHint = composeHint; this.characterCalculator = characterCalculator; @@ -60,8 +51,6 @@ public class TransportOption implements Parcelable { TransportOption(Parcel in) { this(Type.valueOf(in.readString()), - in.readInt(), - in.readInt(), in.readString(), in.readString(), CharacterCalculator.readFromParcel(in), @@ -85,14 +74,6 @@ public class TransportOption implements Parcelable { return characterCalculator.calculateCharacters(messageBody); } - public @DrawableRes int getDrawable() { - return R.drawable.ic_arrow_up; - } - - public int getBackgroundColor() { - return backgroundColor; - } - public @NonNull String getComposeHint() { return composeHint; } @@ -119,8 +100,6 @@ public class TransportOption implements Parcelable { @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(type.name()); - dest.writeInt(drawable); - dest.writeInt(backgroundColor); dest.writeString(text); dest.writeString(composeHint); CharacterCalculator.writeToParcel(dest, characterCalculator); diff --git a/src/org/thoughtcrime/securesms/TransportOptions.java b/src/org/thoughtcrime/securesms/TransportOptions.java index 52b37ff25c..de65069e87 100644 --- a/src/org/thoughtcrime/securesms/TransportOptions.java +++ b/src/org/thoughtcrime/securesms/TransportOptions.java @@ -2,6 +2,10 @@ package org.thoughtcrime.securesms; import android.Manifest; import android.content.Context; +import android.util.TypedValue; + +import androidx.annotation.AttrRes; +import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -147,8 +151,7 @@ public class TransportOptions { private List<TransportOption> initializeAvailableTransports(boolean isMediaMessage) { List<TransportOption> results = new LinkedList<>(); - results.add(new TransportOption(Type.TEXTSECURE, R.drawable.ic_send_push_white_24dp, - context.getResources().getColor(R.color.textsecure_primary), + results.add(new TransportOption(Type.TEXTSECURE, context.getString(R.string.ConversationActivity_transport_signal), context.getString(R.string.conversation_activity__type_message_push), new PushCharacterCalculator())); @@ -171,13 +174,11 @@ public class TransportOptions { } if (subscriptions.size() < 2) { - results.add(new TransportOption(Type.SMS, R.drawable.ic_send_sms_white_24dp, - context.getResources().getColor(R.color.grey_600), + results.add(new TransportOption(Type.SMS, text, composeHint, characterCalculator)); } else { for (SubscriptionInfoCompat subscriptionInfo : subscriptions) { - results.add(new TransportOption(Type.SMS, R.drawable.ic_send_sms_white_24dp, - context.getResources().getColor(R.color.grey_600), + results.add(new TransportOption(Type.SMS, text, composeHint, characterCalculator, Optional.of(subscriptionInfo.getDisplayName()), Optional.of(subscriptionInfo.getSubscriptionId()))); @@ -202,6 +203,6 @@ public class TransportOptions { } public interface OnTransportChangedListener { - public void onChange(TransportOption newTransport, boolean manuallySelected); + void onChange(TransportOption newTransport, boolean manuallySelected); } } diff --git a/src/org/thoughtcrime/securesms/TransportOptionsAdapter.java b/src/org/thoughtcrime/securesms/TransportOptionsAdapter.java index 703b379915..42a997555a 100644 --- a/src/org/thoughtcrime/securesms/TransportOptionsAdapter.java +++ b/src/org/thoughtcrime/securesms/TransportOptionsAdapter.java @@ -1,8 +1,6 @@ package org.thoughtcrime.securesms; import android.content.Context; -import android.graphics.PorterDuff.Mode; -import androidx.annotation.NonNull; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -10,6 +8,8 @@ import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; +import androidx.annotation.NonNull; + import org.thoughtcrime.securesms.util.ViewUtil; import java.util.List; @@ -60,8 +60,7 @@ public class TransportOptionsAdapter extends BaseAdapter { TextView textView = ViewUtil.findById(convertView, R.id.text); TextView subtextView = ViewUtil.findById(convertView, R.id.subtext); - imageView.getBackground().setColorFilter(transport.getBackgroundColor(), Mode.MULTIPLY); - imageView.setImageResource(transport.getDrawable()); + imageView.setImageResource(R.drawable.ic_arrow_up_circle_24); textView.setText(transport.getDescription()); if (transport.getSimName().isPresent()) { diff --git a/src/org/thoughtcrime/securesms/components/ConversationTypingView.java b/src/org/thoughtcrime/securesms/components/ConversationTypingView.java index bfa560435f..4e228db16e 100644 --- a/src/org/thoughtcrime/securesms/components/ConversationTypingView.java +++ b/src/org/thoughtcrime/securesms/components/ConversationTypingView.java @@ -10,6 +10,7 @@ import android.widget.LinearLayout; import org.thoughtcrime.securesms.mms.GlideRequests; import org.thoughtcrime.securesms.recipients.Recipient; +import org.thoughtcrime.securesms.util.ThemeUtil; import java.util.List; @@ -41,7 +42,10 @@ public class ConversationTypingView extends LinearLayout { } Recipient typist = typists.get(0); - bubble.getBackground().setColorFilter(getResources().getColor(R.color.received_message_background), PorterDuff.Mode.MULTIPLY); + + bubble.getBackground().setColorFilter( + ThemeUtil.getThemedColor(getContext(), R.attr.message_received_background_color), + PorterDuff.Mode.MULTIPLY); if (isGroupThread) { avatar.setAvatar(glideRequests, typist, false); diff --git a/src/org/thoughtcrime/securesms/components/QuoteView.java b/src/org/thoughtcrime/securesms/components/QuoteView.java index 2ec6a4579d..2354b88959 100644 --- a/src/org/thoughtcrime/securesms/components/QuoteView.java +++ b/src/org/thoughtcrime/securesms/components/QuoteView.java @@ -210,7 +210,8 @@ public class QuoteView extends FrameLayout implements RecipientModifiedListener // We use the raw color resource because Android 4.x was struggling with tints here quoteBarView.setImageResource(R.color.accent); - mainView.setBackgroundColor(getResources().getColor(outgoing ? R.color.received_message_background : R.color.sent_message_background)); + mainView.setBackgroundColor(ThemeUtil.getThemedColor(getContext(), + outgoing ? R.attr.message_received_background_color : R.attr.message_sent_background_color)); } private void setQuoteText(@Nullable String body, @NonNull SlideDeck attachments) { diff --git a/src/org/thoughtcrime/securesms/components/SendButton.java b/src/org/thoughtcrime/securesms/components/SendButton.java index ce4488ffd0..f8050dcfaf 100644 --- a/src/org/thoughtcrime/securesms/components/SendButton.java +++ b/src/org/thoughtcrime/securesms/components/SendButton.java @@ -1,6 +1,8 @@ package org.thoughtcrime.securesms.components; import android.content.Context; + +import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.appcompat.widget.AppCompatImageButton; import android.util.AttributeSet; @@ -10,14 +12,16 @@ import org.thoughtcrime.securesms.TransportOption; import org.thoughtcrime.securesms.TransportOptions; import org.thoughtcrime.securesms.TransportOptions.OnTransportChangedListener; import org.thoughtcrime.securesms.TransportOptionsPopup; +import org.thoughtcrime.securesms.util.ThemeUtil; import org.thoughtcrime.securesms.util.ViewUtil; import org.whispersystems.libsignal.util.guava.Optional; +import network.loki.messenger.R; + public class SendButton extends AppCompatImageButton implements TransportOptions.OnTransportChangedListener, TransportOptionsPopup.SelectedListener, - View.OnLongClickListener -{ + View.OnLongClickListener { private final TransportOptions transportOptions; @@ -102,7 +106,19 @@ public class SendButton extends AppCompatImageButton @Override public void onChange(TransportOption newTransport, boolean isManualSelection) { - setImageResource(newTransport.getDrawable()); + // Map send icon drawable resource from a transport type. + //TODO These values should come from XML layout as view's attributes and not be resolved in code like this. + @DrawableRes final int sendDrawable; + switch (newTransport.getType()) { + case SMS: + case TEXTSECURE: + default: { + sendDrawable = ThemeUtil.getThemedDrawableResId( + getContext(), R.attr.conversation_transport_sms_indicator); + } + } + + setImageResource(sendDrawable); setContentDescription(newTransport.getDescription()); } diff --git a/src/org/thoughtcrime/securesms/components/emoji/EmojiToggle.java b/src/org/thoughtcrime/securesms/components/emoji/EmojiToggle.java index ad9aead5a7..4d5b85d637 100644 --- a/src/org/thoughtcrime/securesms/components/emoji/EmojiToggle.java +++ b/src/org/thoughtcrime/securesms/components/emoji/EmojiToggle.java @@ -1,12 +1,12 @@ package org.thoughtcrime.securesms.components.emoji; import android.content.Context; -import android.content.res.ColorStateList; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; +import android.util.AttributeSet; + import androidx.annotation.NonNull; import androidx.appcompat.widget.AppCompatImageButton; -import android.util.AttributeSet; import org.thoughtcrime.securesms.stickers.StickerKeyboardProvider; import org.thoughtcrime.securesms.util.TextSecurePreferences; @@ -46,18 +46,16 @@ public class EmojiToggle extends AppCompatImageButton implements MediaKeyboard.M } private void initialize() { - int attributes[] = new int[] {R.attr.conversation_emoji_toggle, - R.attr.conversation_sticker_toggle, - R.attr.conversation_keyboard_toggle}; + TypedArray drawables = getContext().obtainStyledAttributes(new int[] { + R.attr.conversation_emoji_toggle, + R.attr.conversation_sticker_toggle, + R.attr.conversation_keyboard_toggle}); - TypedArray drawables = getContext().obtainStyledAttributes(attributes); this.emojiToggle = drawables.getDrawable(0); this.stickerToggle = drawables.getDrawable(1); this.imeToggle = drawables.getDrawable(2); this.mediaToggle = emojiToggle; - setImageTintList(ColorStateList.valueOf(getResources().getColor(R.color.text))); - drawables.recycle(); setToMedia(); } diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 5beff5770f..4a06575a30 100644 --- a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -19,20 +19,17 @@ package org.thoughtcrime.securesms.conversation; import android.Manifest; import android.annotation.SuppressLint; import android.annotation.TargetApi; -import androidx.lifecycle.ViewModelProviders; import android.content.ActivityNotFoundException; import android.content.BroadcastReceiver; +import android.content.ClipData; +import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.content.res.Configuration; -import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.graphics.Color; -import android.graphics.PorterDuff; -import android.graphics.drawable.ColorDrawable; import android.hardware.Camera; import android.net.Uri; import android.os.AsyncTask; @@ -42,17 +39,6 @@ import android.os.Handler; import android.os.Vibrator; import android.provider.Browser; import android.provider.Telephony; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.localbroadcastmanager.content.LocalBroadcastManager; -import androidx.core.content.pm.ShortcutInfoCompat; -import androidx.core.content.pm.ShortcutManagerCompat; -import androidx.core.graphics.drawable.IconCompat; -import androidx.core.view.MenuItemCompat; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.widget.SearchView; -import androidx.appcompat.widget.Toolbar; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; @@ -75,6 +61,20 @@ import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.widget.SearchView; +import androidx.appcompat.widget.Toolbar; +import androidx.core.content.pm.ShortcutInfoCompat; +import androidx.core.content.pm.ShortcutManagerCompat; +import androidx.core.graphics.drawable.IconCompat; +import androidx.core.view.MenuItemCompat; +import androidx.lifecycle.ViewModelProviders; +import androidx.loader.app.LoaderManager; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; + import com.annimon.stream.Stream; import org.greenrobot.eventbus.EventBus; @@ -145,7 +145,6 @@ import org.thoughtcrime.securesms.database.model.StickerRecord; import org.thoughtcrime.securesms.events.ReminderUpdateEvent; import org.thoughtcrime.securesms.giph.ui.GiphyActivity; import org.thoughtcrime.securesms.jobs.MultiDeviceBlockedUpdateJob; -import org.thoughtcrime.securesms.jobs.RetrieveProfileJob; import org.thoughtcrime.securesms.jobs.ServiceOutageDetectionJob; import org.thoughtcrime.securesms.linkpreview.LinkPreview; import org.thoughtcrime.securesms.linkpreview.LinkPreviewRepository; @@ -208,7 +207,6 @@ import org.thoughtcrime.securesms.util.CommunicationActions; import org.thoughtcrime.securesms.util.DateUtils; import org.thoughtcrime.securesms.util.Dialogs; import org.thoughtcrime.securesms.util.DynamicLanguage; -import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; import org.thoughtcrime.securesms.util.ExpirationUtil; import org.thoughtcrime.securesms.util.IdentityUtil; import org.thoughtcrime.securesms.util.MediaUtil; @@ -346,7 +344,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity private int keyboardHeight = 0; private final IdentityRecordList identityRecords = new IdentityRecordList(); - private final DynamicNoActionBarTheme dynamicTheme = new DynamicNoActionBarTheme(); private final DynamicLanguage dynamicLanguage = new DynamicLanguage(); // Message status bar @@ -365,7 +362,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity @Override protected void onPreCreate() { - dynamicTheme.onCreate(this); dynamicLanguage.onCreate(this); } @@ -375,12 +371,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity setContentView(R.layout.conversation_activity); - TypedArray typedArray = obtainStyledAttributes(new int[] {R.attr.conversation_background}); - int color = typedArray.getColor(0, Color.WHITE); - typedArray.recycle(); - - getWindow().getDecorView().setBackgroundColor(color); - fragment = initFragment(R.id.fragment_content, new ConversationFragment(), dynamicLanguage.getCurrentLocale()); registerMessageStatusObserver("calculatingPoW"); @@ -528,7 +518,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity @Override protected void onResume() { super.onResume(); - dynamicTheme.onResume(this); dynamicLanguage.onResume(this); EventBus.getDefault().register(this); @@ -760,6 +749,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity } else { inflater.inflate(R.menu.conversation_block, menu); } + inflater.inflate(R.menu.conversation_copy_session_id, menu); } else if (isGroupConversation() && !isOpenGroupOrRSSFeed) { // inflater.inflate(R.menu.conversation_group_options, menu); @@ -863,16 +853,17 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch (item.getItemId()) { - case R.id.menu_call_secure: handleDial(getRecipient(), true); return true; - case R.id.menu_call_insecure: handleDial(getRecipient(), false); return true; +// case R.id.menu_call_secure: handleDial(getRecipient(), true); return true; +// case R.id.menu_call_insecure: handleDial(getRecipient(), false); return true; case R.id.menu_unblock: handleUnblock(); return true; case R.id.menu_block: handleBlock(); return true; + case R.id.menu_copy_session_id: handleCopySessionID(); return true; case R.id.menu_view_media: handleViewMedia(); return true; case R.id.menu_add_shortcut: handleAddShortcut(); return true; case R.id.menu_search: handleSearch(); return true; - case R.id.menu_add_to_contacts: handleAddToContacts(); return true; +// case R.id.menu_add_to_contacts: handleAddToContacts(); return true; case R.id.menu_reset_secure_session: handleResetSecureSession(); return true; - case R.id.menu_group_recipients: handleDisplayGroupRecipients(); return true; +// case R.id.menu_group_recipients: handleDisplayGroupRecipients(); return true; case R.id.menu_distribution_broadcast: handleDistributionBroadcastEnabled(item); return true; case R.id.menu_distribution_conversation: handleDistributionConversationEnabled(item); return true; case R.id.menu_edit_group: handleEditPushGroup(); return true; @@ -1096,6 +1087,15 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity }).show(); } + private void handleCopySessionID() { + if (recipient.isGroupRecipient()) { return; } + String sessionID = recipient.getAddress().toPhoneString(); + ClipboardManager clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText("Session ID", sessionID); + clipboard.setPrimaryClip(clip); + Toast.makeText(this, R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show(); + } + private void handleViewMedia() { Intent intent = new Intent(this, MediaOverviewActivity.class); intent.putExtra(MediaOverviewActivity.ADDRESS_EXTRA, recipient.getAddress()); @@ -1282,9 +1282,12 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity private void handleAddAttachment() { if (this.isMmsEnabled || isSecureText) { if (attachmentTypeSelector == null) { - attachmentTypeSelector = new AttachmentTypeSelector(this, getSupportLoaderManager(), new AttachmentTypeListener(), keyboardHeight); + attachmentTypeSelector = new AttachmentTypeSelector( + this, + LoaderManager.getInstance(this), + new AttachmentTypeListener(), + keyboardHeight); } - attachmentTypeSelector.keyboardHeight = keyboardHeight; attachmentTypeSelector.show(this, attachButton); } else { handleManualMmsRequired(); @@ -1733,7 +1736,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity protected void initializeActionBar() { Toolbar toolbar = findViewById(R.id.toolbar); - toolbar.getOverflowIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN); setSupportActionBar(toolbar); ActionBar supportActionBar = getSupportActionBar(); @@ -2080,13 +2082,14 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity } private void setActionBarColor(MaterialColor color) { - ActionBar supportActionBar = getSupportActionBar(); - if (supportActionBar == null) throw new AssertionError(); - supportActionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.action_bar_background))); - setStatusBarColor(getResources().getColor(R.color.action_bar_background)); + //TODO AC: As we're trying to theme everything properly this method seems a bit broken + // and it's not used anyway so it's a subject to be deleted. +// ActionBar supportActionBar = getSupportActionBar(); +// if (supportActionBar == null) throw new AssertionError(); +// supportActionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.action_bar_background))); +// setStatusBarColor(getResources().getColor(R.color.action_bar_background)); } - // FIXME: This name is confusing because we also have updateInputPanel and setInputPanelEnabled private void updateInputUI(Recipient recipient, boolean isSecureText, boolean isDefaultSms) { if (recipient.isGroupRecipient() && !isActiveGroup()) { unblockButton.setVisibility(View.GONE); @@ -2549,7 +2552,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity Permissions.with(this) .request(Manifest.permission.RECORD_AUDIO) .ifNecessary() - .withRationaleDialog(getString(R.string.ConversationActivity_to_send_audio_messages_allow_signal_access_to_your_microphone), R.drawable.ic_mic_white_48dp) + .withRationaleDialog(getString(R.string.ConversationActivity_to_send_audio_messages_allow_signal_access_to_your_microphone), R.drawable.ic_baseline_mic_48) .withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_requires_the_microphone_permission_in_order_to_send_audio_messages)) .execute(); } @@ -2750,7 +2753,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity Permissions.with(ConversationActivity.this) .request(Manifest.permission.CAMERA) .ifNecessary() - .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_photo_camera_white_48dp) + .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_baseline_photo_camera_48) .withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_the_camera_permission_to_take_photos_or_video)) .onAllGranted(() -> { composeText.clearFocus(); diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationItem.java b/src/org/thoughtcrime/securesms/conversation/ConversationItem.java index aeb1712ceb..ca3d10db17 100644 --- a/src/org/thoughtcrime/securesms/conversation/ConversationItem.java +++ b/src/org/thoughtcrime/securesms/conversation/ConversationItem.java @@ -352,11 +352,10 @@ public class ConversationItem extends LinearLayout /// MessageRecord Attribute Parsers private void setBubbleState(MessageRecord messageRecord) { - if (messageRecord.isOutgoing()) { - bodyBubble.getBackground().setColorFilter(getResources().getColor(R.color.sent_message_background), PorterDuff.Mode.MULTIPLY); - } else { - bodyBubble.getBackground().setColorFilter(getResources().getColor(R.color.received_message_background), PorterDuff.Mode.MULTIPLY); - } + int bubbleColor = ThemeUtil.getThemedColor(getContext(), messageRecord.isOutgoing() ? + R.attr.message_sent_background_color : + R.attr.message_received_background_color); + bodyBubble.getBackground().setColorFilter(bubbleColor, PorterDuff.Mode.MULTIPLY); if (audioViewStub.resolved()) { setAudioViewTint(messageRecord, this.conversationRecipient); @@ -364,7 +363,7 @@ public class ConversationItem extends LinearLayout } private void setAudioViewTint(MessageRecord messageRecord, Recipient recipient) { - audioViewStub.get().setTint(Color.WHITE, getResources().getColor(R.color.action_bar_background)); +// audioViewStub.get().setTint(Color.WHITE, getResources().getColor(R.color.action_bar_background)); } private void setInteractionState(MessageRecord messageRecord, boolean pulseHighlight) { diff --git a/src/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java b/src/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java index 40bcd152ea..32a4a8f868 100644 --- a/src/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java +++ b/src/org/thoughtcrime/securesms/giph/ui/GiphyActivity.java @@ -1,35 +1,35 @@ package org.thoughtcrime.securesms.giph.ui; - import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; +import android.view.View; +import android.widget.Toast; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.google.android.material.tabs.TabLayout; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentPagerAdapter; import androidx.viewpager.widget.ViewPager; -import org.thoughtcrime.securesms.logging.Log; -import android.view.View; -import android.widget.Toast; + +import com.google.android.material.tabs.TabLayout; import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity; -import network.loki.messenger.R; +import org.thoughtcrime.securesms.logging.Log; import org.thoughtcrime.securesms.providers.BlobProvider; import org.thoughtcrime.securesms.util.DynamicLanguage; -import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; -import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.MediaUtil; import org.thoughtcrime.securesms.util.ViewUtil; import java.io.IOException; import java.util.concurrent.ExecutionException; +import network.loki.messenger.R; + public class GiphyActivity extends PassphraseRequiredActionBarActivity implements GiphyActivityToolbar.OnLayoutChangedListener, GiphyActivityToolbar.OnFilterChangedListener, @@ -42,7 +42,6 @@ public class GiphyActivity extends PassphraseRequiredActionBarActivity public static final String EXTRA_WIDTH = "extra_width"; public static final String EXTRA_HEIGHT = "extra_height"; - private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme(); private final DynamicLanguage dynamicLanguage = new DynamicLanguage(); private GiphyGifFragment gifFragment; @@ -53,7 +52,6 @@ public class GiphyActivity extends PassphraseRequiredActionBarActivity @Override public void onPreCreate() { - dynamicTheme.onCreate(this); dynamicLanguage.onCreate(this); } diff --git a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java index 4b97762c9b..69ce6a08a6 100644 --- a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java +++ b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java @@ -834,6 +834,8 @@ public class PushDecryptJob extends BaseJob implements InjectableType { public long handleSynchronizeSentMediaMessage(@NonNull SentTranscriptMessage message) throws MmsException { + if (SessionMetaProtocol.shouldIgnoreMessage(message.getTimestamp())) { return -1; } + MmsDatabase database = DatabaseFactory.getMmsDatabase(context); Recipient recipients = getSyncMessageMasterDestination(message); Optional<QuoteModel> quote = getValidatedQuote(message.getMessage().getQuote()); @@ -1002,6 +1004,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { public long handleSynchronizeSentTextMessage(@NonNull SentTranscriptMessage message) throws MmsException { + if (SessionMetaProtocol.shouldIgnoreMessage(message.getTimestamp())) { return -1; } Recipient recipient = getSyncMessageMasterDestination(message); String body = message.getMessage().getBody().or(""); @@ -1459,7 +1462,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { return true; } - if (SessionMetaProtocol.shouldIgnoreMessage(content)) { + if (SessionMetaProtocol.shouldIgnoreMessage(content.getTimestamp())) { Log.d("Loki", "Ignoring duplicate message."); return true; } diff --git a/src/org/thoughtcrime/securesms/lock/RegistrationLockDialog.java b/src/org/thoughtcrime/securesms/lock/RegistrationLockDialog.java index 7dc4f2c296..44e109ff37 100644 --- a/src/org/thoughtcrime/securesms/lock/RegistrationLockDialog.java +++ b/src/org/thoughtcrime/securesms/lock/RegistrationLockDialog.java @@ -45,7 +45,7 @@ public class RegistrationLockDialog { if (!RegistrationLockReminders.needsReminder(context)) return; if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return; - AlertDialog dialog = new AlertDialog.Builder(context, R.style.RationaleDialog) + AlertDialog dialog = new AlertDialog.Builder(context, R.style.Theme_TextSecure_Dialog_Rationale) .setView(R.layout.registration_lock_reminder_view) .setCancelable(true) .setOnCancelListener(d -> RegistrationLockReminders.scheduleReminder(context, false)) diff --git a/src/org/thoughtcrime/securesms/loki/activities/EditClosedGroupActivity.kt b/src/org/thoughtcrime/securesms/loki/activities/EditClosedGroupActivity.kt index 455587c8af..c513d08993 100644 --- a/src/org/thoughtcrime/securesms/loki/activities/EditClosedGroupActivity.kt +++ b/src/org/thoughtcrime/securesms/loki/activities/EditClosedGroupActivity.kt @@ -110,8 +110,8 @@ class EditClosedGroupActivity : PassphraseRequiredActionBarActivity() { }) } - override fun onCreateOptionsMenu(menu: Menu?): Boolean { - menuInflater.inflate(R.menu.menu_apply, menu) + override fun onCreateOptionsMenu(menu: Menu): Boolean { + menuInflater.inflate(R.menu.menu_edit_closed_group, menu) return members.isNotEmpty() } // endregion @@ -163,7 +163,7 @@ class EditClosedGroupActivity : PassphraseRequiredActionBarActivity() { // region Interaction override fun onOptionsItemSelected(item: MenuItem): Boolean { when(item.itemId) { - R.id.applyButton -> commitChanges() + R.id.action_apply -> commitChanges() } return super.onOptionsItemSelected(item) } diff --git a/src/org/thoughtcrime/securesms/loki/activities/EditClosedGroupMembersAdapter.kt b/src/org/thoughtcrime/securesms/loki/activities/EditClosedGroupMembersAdapter.kt index 384368a9dd..53e36cd39a 100644 --- a/src/org/thoughtcrime/securesms/loki/activities/EditClosedGroupMembersAdapter.kt +++ b/src/org/thoughtcrime/securesms/loki/activities/EditClosedGroupMembersAdapter.kt @@ -13,6 +13,7 @@ class EditClosedGroupMembersAdapter( private val glide: GlideRequests, private val memberClickListener: ((String) -> Unit)? = null ) : RecyclerView.Adapter<EditClosedGroupMembersAdapter.ViewHolder>() { + private val members = ArrayList<String>() private val lockedMembers = HashSet<String>() diff --git a/src/org/thoughtcrime/securesms/loki/activities/HomeActivity.kt b/src/org/thoughtcrime/securesms/loki/activities/HomeActivity.kt index b69f05d934..43e0647d2d 100644 --- a/src/org/thoughtcrime/securesms/loki/activities/HomeActivity.kt +++ b/src/org/thoughtcrime/securesms/loki/activities/HomeActivity.kt @@ -32,6 +32,7 @@ import org.thoughtcrime.securesms.database.ThreadDatabase import org.thoughtcrime.securesms.database.model.ThreadRecord import org.thoughtcrime.securesms.jobs.MultiDeviceBlockedUpdateJob import org.thoughtcrime.securesms.loki.dialogs.ConversationOptionsBottomSheet +import org.thoughtcrime.securesms.loki.dialogs.LightThemeFeatureIntroBottomSheet import org.thoughtcrime.securesms.loki.dialogs.MultiDeviceRemovalBottomSheet import org.thoughtcrime.securesms.loki.protocol.ClosedGroupsProtocol import org.thoughtcrime.securesms.loki.protocol.SessionResetImplementation @@ -200,8 +201,9 @@ class HomeActivity : PassphraseRequiredActionBarActivity, ConversationClickListe if (hasViewedSeed || !isMasterDevice) { seedReminderView.visibility = View.GONE } - val hasSeenMultiDeviceRemovalSheet = TextSecurePreferences.getHasSeenMultiDeviceRemovalSheet(this) - if (!hasSeenMultiDeviceRemovalSheet) { + + // Multiple device removal notification + if (!TextSecurePreferences.getHasSeenMultiDeviceRemovalSheet(this)) { TextSecurePreferences.setHasSeenMultiDeviceRemovalSheet(this) val userPublicKey = TextSecurePreferences.getLocalNumber(this) val deviceLinks = DatabaseFactory.getLokiAPIDatabase(this).getDeviceLinks(userPublicKey) @@ -217,8 +219,18 @@ class HomeActivity : PassphraseRequiredActionBarActivity, ConversationClickListe startActivity(intent) } bottomSheet.show(supportFragmentManager, bottomSheet.tag) + return } } + + // Light theme introduction + if (!TextSecurePreferences.hasSeenLightThemeIntroSheet(this) && + UiModeUtilities.isDayUiMode(this)) { + TextSecurePreferences.setHasSeenLightThemeIntroSheet(this) + val bottomSheet = LightThemeFeatureIntroBottomSheet() + bottomSheet.show(supportFragmentManager, bottomSheet.tag) + return + } } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { @@ -259,12 +271,16 @@ class HomeActivity : PassphraseRequiredActionBarActivity, ConversationClickListe val thread = view.thread ?: return val bottomSheet = ConversationOptionsBottomSheet() bottomSheet.recipient = thread.recipient - bottomSheet.onBlockOrUnblockTapped = { + bottomSheet.onBlockTapped = { + bottomSheet.dismiss() + if (!thread.recipient.isBlocked) { + blockConversation(thread) + } + } + bottomSheet.onUnblockTapped = { bottomSheet.dismiss() if (thread.recipient.isBlocked) { unblockConversation(thread) - } else { - blockConversation(thread) } } bottomSheet.onDeleteTapped = { diff --git a/src/org/thoughtcrime/securesms/loki/activities/PNModeActivity.kt b/src/org/thoughtcrime/securesms/loki/activities/PNModeActivity.kt index acbfea1366..c36c92b5c7 100644 --- a/src/org/thoughtcrime/securesms/loki/activities/PNModeActivity.kt +++ b/src/org/thoughtcrime/securesms/loki/activities/PNModeActivity.kt @@ -116,6 +116,7 @@ class PNModeActivity : BaseActionBarActivity() { TextSecurePreferences.setPromptedPushRegistration(this, true) TextSecurePreferences.setIsUsingFCM(this, (selectedOptionView == fcmOptionView)) TextSecurePreferences.setHasSeenMultiDeviceRemovalSheet(this) + TextSecurePreferences.setHasSeenLightThemeIntroSheet(this) val application = ApplicationContext.getInstance(this) application.setUpStorageAPIIfNeeded() application.setUpP2PAPIIfNeeded() diff --git a/src/org/thoughtcrime/securesms/loki/activities/PrivacySettingsActivity.kt b/src/org/thoughtcrime/securesms/loki/activities/PrivacySettingsActivity.kt index 86a6419f2d..966dd9b437 100644 --- a/src/org/thoughtcrime/securesms/loki/activities/PrivacySettingsActivity.kt +++ b/src/org/thoughtcrime/securesms/loki/activities/PrivacySettingsActivity.kt @@ -10,7 +10,6 @@ class PrivacySettingsActivity : PassphraseRequiredActionBarActivity() { override fun onCreate(savedInstanceState: Bundle?, isReady: Boolean) { super.onCreate(savedInstanceState, isReady) setContentView(R.layout.activity_fragment_wrapper) - supportActionBar!!.title = resources.getString(R.string.activity_privacy_settings_title) val fragment = AppProtectionPreferenceFragment() val transaction = supportFragmentManager.beginTransaction() transaction.replace(R.id.fragmentContainer, fragment) diff --git a/src/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt b/src/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt index e7016b4636..1a88113784 100644 --- a/src/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt +++ b/src/org/thoughtcrime/securesms/loki/activities/SettingsActivity.kt @@ -10,9 +10,11 @@ import android.os.AsyncTask import android.os.Bundle import android.os.Handler import android.os.Looper +import android.view.ActionMode +import android.view.Menu +import android.view.MenuItem import android.view.View import android.view.inputmethod.InputMethodManager -import android.widget.LinearLayout import android.widget.Toast import kotlinx.android.synthetic.main.activity_settings.* import network.loki.messenger.BuildConfig @@ -27,12 +29,13 @@ import org.thoughtcrime.securesms.avatar.AvatarSelection import org.thoughtcrime.securesms.crypto.ProfileKeyUtil import org.thoughtcrime.securesms.database.Address import org.thoughtcrime.securesms.database.DatabaseFactory +import org.thoughtcrime.securesms.loki.dialogs.ChangeUiModeDialog import org.thoughtcrime.securesms.loki.dialogs.ClearAllDataDialog import org.thoughtcrime.securesms.loki.dialogs.SeedDialog +import org.thoughtcrime.securesms.loki.utilities.UiModeUtilities import org.thoughtcrime.securesms.loki.utilities.fadeIn import org.thoughtcrime.securesms.loki.utilities.fadeOut import org.thoughtcrime.securesms.loki.utilities.push -import org.thoughtcrime.securesms.loki.utilities.toPx import org.thoughtcrime.securesms.mms.GlideApp import org.thoughtcrime.securesms.mms.GlideRequests import org.thoughtcrime.securesms.profiles.AvatarHelper @@ -49,9 +52,11 @@ import java.security.SecureRandom import java.util.* class SettingsActivity : PassphraseRequiredActionBarActivity() { + + private var displayNameEditActionMode: ActionMode? = null + set(value) { field = value; handleDisplayNameEditActionModeChanged() } + private lateinit var glide: GlideRequests - private var isEditingDisplayName = false - set(value) { field = value; handleIsEditingDisplayNameChanged() } private var displayNameToBeUploaded: String? = null private var profilePictureToBeUploaded: ByteArray? = null private var tempFile: File? = null @@ -66,18 +71,16 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() { // region Lifecycle override fun onCreate(savedInstanceState: Bundle?, isReady: Boolean) { super.onCreate(savedInstanceState, isReady) + setContentView(R.layout.activity_settings) - setSupportActionBar(toolbar) - cancelButton.setOnClickListener { cancelEditingDisplayName() } - saveButton.setOnClickListener { saveDisplayName() } - showQRCodeButton.setOnClickListener { showQRCode() } + glide = GlideApp.with(this) profilePictureView.glide = glide profilePictureView.publicKey = hexEncodedPublicKey profilePictureView.isLarge = true profilePictureView.update() profilePictureView.setOnClickListener { showEditProfilePictureUI() } - ctnGroupNameSection.setOnClickListener { showEditDisplayNameUI() } + ctnGroupNameSection.setOnClickListener { startActionMode(DisplayNameEditActionModeCallback()) } btnGroupNameDisplay.text = DatabaseFactory.getLokiUserDatabase(this).getDisplayName(hexEncodedPublicKey) publicKeyTextView.text = hexEncodedPublicKey copyButton.setOnClickListener { copyPublicKey() } @@ -98,7 +101,32 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() { versionTextView.text = String.format(getString(R.string.version_s), "${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE})") } - public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + override fun onCreateOptionsMenu(menu: Menu): Boolean { + menuInflater.inflate(R.menu.settings_general, menu) + + // Update UI mode menu icon. + // It uses three-level selector where each level corresponds to the related UiMode ordinal value. + val uiMode = UiModeUtilities.getUserSelectedUiMode(this) + menu.findItem(R.id.action_change_theme).icon!!.level = uiMode.ordinal + + return true + } + + override fun onOptionsItemSelected(item: MenuItem): Boolean { + return when (item.itemId) { + R.id.action_qr_code -> { + showQRCode() + true + } + R.id.action_change_theme -> { + ChangeUiModeDialog().show(supportFragmentManager, ChangeUiModeDialog.TAG) + true + } + else -> super.onOptionsItemSelected(item) + } + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) when (requestCode) { AvatarSelection.REQUEST_CODE_AVATAR -> { @@ -128,17 +156,16 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() { // endregion // region Updating - private fun handleIsEditingDisplayNameChanged() { - cancelButton.visibility = if (isEditingDisplayName) View.VISIBLE else View.GONE - showQRCodeButton.visibility = if (isEditingDisplayName) View.GONE else View.VISIBLE - saveButton.visibility = if (isEditingDisplayName) View.VISIBLE else View.GONE + private fun handleDisplayNameEditActionModeChanged() { + val isEditingDisplayName = this.displayNameEditActionMode !== null + btnGroupNameDisplay.visibility = if (isEditingDisplayName) View.INVISIBLE else View.VISIBLE displayNameEditText.visibility = if (isEditingDisplayName) View.VISIBLE else View.INVISIBLE - val titleTextViewLayoutParams = titleTextView.layoutParams as LinearLayout.LayoutParams - titleTextViewLayoutParams.leftMargin = if (isEditingDisplayName) toPx(16, resources) else 0 - titleTextView.layoutParams = titleTextViewLayoutParams + val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager if (isEditingDisplayName) { + displayNameEditText.setText(btnGroupNameDisplay.text) + displayNameEditText.selectAll() displayNameEditText.requestFocus() inputMethodManager.showSoftInput(displayNameEditText, 0) } else { @@ -193,21 +220,24 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() { // endregion // region Interaction - private fun cancelEditingDisplayName() { - isEditingDisplayName = false - } - private fun saveDisplayName() { + /** + * @return true if the update was successful. + */ + private fun saveDisplayName(): Boolean { val displayName = displayNameEditText.text.toString().trim() if (displayName.isEmpty()) { - return Toast.makeText(this, R.string.activity_settings_display_name_missing_error, Toast.LENGTH_SHORT).show() + Toast.makeText(this, R.string.activity_settings_display_name_missing_error, Toast.LENGTH_SHORT).show() + return false } if (displayName.toByteArray().size > ProfileCipher.NAME_PADDED_LENGTH) { - return Toast.makeText(this, R.string.activity_settings_display_name_too_long_error, Toast.LENGTH_SHORT).show() + Toast.makeText(this, R.string.activity_settings_display_name_too_long_error, Toast.LENGTH_SHORT).show() + return false } - isEditingDisplayName = false +// isEditingDisplayName = false displayNameToBeUploaded = displayName updateProfile(false) + return true } private fun showQRCode() { @@ -219,10 +249,6 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() { tempFile = AvatarSelection.startAvatarSelection(this, false, true) } - private fun showEditDisplayNameUI() { - isEditingDisplayName = true - } - private fun copyPublicKey() { val clipboard = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val clip = ClipData.newPlainText("Session ID", hexEncodedPublicKey) @@ -266,4 +292,34 @@ class SettingsActivity : PassphraseRequiredActionBarActivity() { ClearAllDataDialog().show(supportFragmentManager, "Clear All Data Dialog") } // endregion + + private inner class DisplayNameEditActionModeCallback: ActionMode.Callback { + + override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean { + mode.title = getString(R.string.activity_settings_display_name_edit_text_hint) + mode.menuInflater.inflate(R.menu.menu_apply, menu) + this@SettingsActivity.displayNameEditActionMode = mode + return true + } + + override fun onPrepareActionMode(mode: ActionMode, menu: Menu): Boolean { + return false + } + + override fun onDestroyActionMode(mode: ActionMode) { + this@SettingsActivity.displayNameEditActionMode = null + } + + override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean { + when (item.itemId) { + R.id.applyButton -> { + if (this@SettingsActivity.saveDisplayName()) { + mode.finish() + } + return true + } + } + return false; + } + } } \ No newline at end of file diff --git a/src/org/thoughtcrime/securesms/loki/api/PublicChatPoller.kt b/src/org/thoughtcrime/securesms/loki/api/PublicChatPoller.kt index 6a5ee5dad0..80b52c533e 100644 --- a/src/org/thoughtcrime/securesms/loki/api/PublicChatPoller.kt +++ b/src/org/thoughtcrime/securesms/loki/api/PublicChatPoller.kt @@ -5,7 +5,6 @@ import android.os.Handler import android.util.Log import nl.komponents.kovenant.Promise import nl.komponents.kovenant.functional.bind -import nl.komponents.kovenant.then import org.thoughtcrime.securesms.ApplicationContext import org.thoughtcrime.securesms.crypto.IdentityKeyUtil import org.thoughtcrime.securesms.database.Address @@ -34,6 +33,7 @@ import java.util.* class PublicChatPoller(private val context: Context, private val group: PublicChat) { private val handler = Handler() private var hasStarted = false + private var isPollOngoing = false public var isCaughtUp = false // region Convenience @@ -186,12 +186,10 @@ class PublicChatPoller(private val context: Context, private val group: PublicCh } fun processOutgoingMessage(message: PublicChatMessage) { val messageServerID = message.serverID ?: return - val isDuplicate = DatabaseFactory.getLokiMessageDatabase(context).getMessageID(messageServerID) != null - if (isDuplicate) { return } if (message.body.isEmpty() && message.attachments.isEmpty() && message.quote == null) { return } val userHexEncodedPublicKey = TextSecurePreferences.getLocalNumber(context) val dataMessage = getDataMessage(message) - SessionMetaProtocol.dropFromTimestampCacheIfNeeded(dataMessage.timestamp) + SessionMetaProtocol.dropFromTimestampCacheIfNeeded(message.serverTimestamp) val transcript = SentTranscriptMessage(userHexEncodedPublicKey, message.serverTimestamp, dataMessage, dataMessage.expiresInSeconds.toLong(), Collections.singletonMap(userHexEncodedPublicKey, false)) transcript.messageServerID = messageServerID if (dataMessage.quote.isPresent || (dataMessage.attachments.isPresent && dataMessage.attachments.get().size > 0) || dataMessage.previews.isPresent) { @@ -212,6 +210,8 @@ class PublicChatPoller(private val context: Context, private val group: PublicCh } } } + if (isPollOngoing) { return } + isPollOngoing = true val userDevices = MultiDeviceProtocol.shared.getAllLinkedDevices(userHexEncodedPublicKey) var uniqueDevices = setOf<String>() val userPrivateKey = IdentityKeyUtil.getIdentityKeyPair(context).privateKey.serialize() @@ -249,8 +249,10 @@ class PublicChatPoller(private val context: Context, private val group: PublicCh } } isCaughtUp = true + isPollOngoing = false }.fail { Log.d("Loki", "Failed to get messages for group chat with ID: ${group.channel} on server: ${group.server}.") + isPollOngoing = false } } diff --git a/src/org/thoughtcrime/securesms/loki/dialogs/ChangeUiModeDialog.kt b/src/org/thoughtcrime/securesms/loki/dialogs/ChangeUiModeDialog.kt new file mode 100644 index 0000000000..77d8bfe8c0 --- /dev/null +++ b/src/org/thoughtcrime/securesms/loki/dialogs/ChangeUiModeDialog.kt @@ -0,0 +1,34 @@ +package org.thoughtcrime.securesms.loki.dialogs + +import android.app.Dialog +import android.os.Bundle +import androidx.appcompat.app.AlertDialog +import androidx.fragment.app.DialogFragment +import network.loki.messenger.R +import org.thoughtcrime.securesms.loki.utilities.UiMode +import org.thoughtcrime.securesms.loki.utilities.UiModeUtilities + +class ChangeUiModeDialog : DialogFragment() { + + companion object { + const val TAG = "ChangeUiModeDialog" + } + + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val context = requireContext() + + val displayNameList = UiMode.values().map { getString(it.displayNameRes) }.toTypedArray() + val activeUiMode = UiModeUtilities.getUserSelectedUiMode(context) + + return AlertDialog.Builder(context) + .setSingleChoiceItems(displayNameList, activeUiMode.ordinal) { _, selectedItemIdx: Int -> + val uiMode = UiMode.values()[selectedItemIdx] + UiModeUtilities.setUserSelectedUiMode(context, uiMode) + dismiss() + requireActivity().recreate() + } + .setTitle(R.string.dialog_ui_mode_title) + .setNegativeButton(R.string.cancel) { _, _ -> dismiss() } + .create() + } +} \ No newline at end of file diff --git a/src/org/thoughtcrime/securesms/loki/dialogs/ConversationOptionsBottomSheet.kt b/src/org/thoughtcrime/securesms/loki/dialogs/ConversationOptionsBottomSheet.kt index 7229cb5df2..828a67fa87 100644 --- a/src/org/thoughtcrime/securesms/loki/dialogs/ConversationOptionsBottomSheet.kt +++ b/src/org/thoughtcrime/securesms/loki/dialogs/ConversationOptionsBottomSheet.kt @@ -5,14 +5,23 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.appcompat.view.ContextThemeWrapper +import kotlinx.android.synthetic.main.fragment_closed_group_edit_bottom_sheet.* import kotlinx.android.synthetic.main.fragment_conversation_bottom_sheet.* import kotlinx.android.synthetic.main.fragment_device_list_bottom_sheet.* import network.loki.messenger.R import org.thoughtcrime.securesms.recipients.Recipient public class ConversationOptionsBottomSheet : BottomSheetDialogFragment() { + + //FIXME AC: Supplying a recipient directly into the field from an activity + // is not the best idea. It doesn't survive configuration change. + // We should be dealing with IDs and all sorts of serializable data instead + // if we want to use dialog fragments properly. lateinit var recipient: Recipient - var onBlockOrUnblockTapped: (() -> Unit)? = null + + var onBlockTapped: (() -> Unit)? = null + var onUnblockTapped: (() -> Unit)? = null var onDeleteTapped: (() -> Unit)? = null override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { @@ -21,15 +30,18 @@ public class ConversationOptionsBottomSheet : BottomSheetDialogFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + + if (!this::recipient.isInitialized) { + dismiss() + return + } + if (!recipient.isGroupRecipient && !recipient.isLocalNumber) { - val textID = if (recipient.isBlocked) R.string.RecipientPreferenceActivity_unblock else R.string.RecipientPreferenceActivity_block - blockOrUnblockTextView.setText(textID) - val iconID = if (recipient.isBlocked) R.drawable.ic_check_white_24dp else R.drawable.ic_block_white_24dp - val icon = context!!.resources.getDrawable(iconID, context!!.theme) - blockOrUnblockTextView.setCompoundDrawablesRelativeWithIntrinsicBounds(icon, null, null, null) - blockOrUnblockTextView.setOnClickListener { onBlockOrUnblockTapped?.invoke() } - } else { - blockOrUnblockTextView.visibility = View.GONE + unblockTextView.visibility = if (recipient.isBlocked) View.VISIBLE else View.GONE + blockTextView.visibility = if (recipient.isBlocked) View.GONE else View.VISIBLE + + blockTextView.setOnClickListener { onBlockTapped?.invoke() } + unblockTextView.setOnClickListener { onUnblockTapped?.invoke() } } deleteTextView.setOnClickListener { onDeleteTapped?.invoke() } } diff --git a/src/org/thoughtcrime/securesms/loki/dialogs/LightThemeFeatureIntroBottomSheet.kt b/src/org/thoughtcrime/securesms/loki/dialogs/LightThemeFeatureIntroBottomSheet.kt new file mode 100644 index 0000000000..4006da0aa7 --- /dev/null +++ b/src/org/thoughtcrime/securesms/loki/dialogs/LightThemeFeatureIntroBottomSheet.kt @@ -0,0 +1,41 @@ +package org.thoughtcrime.securesms.loki.dialogs + +import android.app.Dialog +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.FrameLayout +import com.google.android.material.bottomsheet.BottomSheetBehavior +import com.google.android.material.bottomsheet.BottomSheetDialog +import com.google.android.material.bottomsheet.BottomSheetDialogFragment +import kotlinx.android.synthetic.main.fragment_light_theme_feature_intro_bottom_sheet.* +import network.loki.messenger.R + + +class LightThemeFeatureIntroBottomSheet : BottomSheetDialogFragment() { + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate( + R.layout.fragment_light_theme_feature_intro_bottom_sheet, + container, + false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + okButton.setOnClickListener { dismiss() } + } + + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val dialog = super.onCreateDialog(savedInstanceState) + // Make the bottom sheet be expanded by default. + dialog.setOnShowListener { + val d = dialog as BottomSheetDialog + val bottomSheet = d.findViewById<FrameLayout>(com.google.android.material.R.id.design_bottom_sheet) + BottomSheetBehavior.from(bottomSheet!!).setState(BottomSheetBehavior.STATE_EXPANDED); + } + return dialog + } +} \ No newline at end of file diff --git a/src/org/thoughtcrime/securesms/loki/dialogs/MultiDeviceRemovalBottomSheet.kt b/src/org/thoughtcrime/securesms/loki/dialogs/MultiDeviceRemovalBottomSheet.kt index 70e33d8476..72a798082b 100644 --- a/src/org/thoughtcrime/securesms/loki/dialogs/MultiDeviceRemovalBottomSheet.kt +++ b/src/org/thoughtcrime/securesms/loki/dialogs/MultiDeviceRemovalBottomSheet.kt @@ -37,7 +37,7 @@ class MultiDeviceRemovalBottomSheet : BottomSheetDialogFragment() { } private val explanation by lazy { - if (TextSecurePreferences.getMasterHexEncodedPublicKey(context!!) != null) { + if (TextSecurePreferences.getMasterHexEncodedPublicKey(requireContext()) != null) { "You’re seeing this because this is a secondary device in a multi-device setup. To improve reliability and stability, we’ve decided to temporarily disable Session’s multi-device functionality. Device linking has been disabled, and existing secondary clients will be erased on $removalDateDescription.\n\nTo read more about this change, visit the Session FAQ at getsession.org/faq." } else { "You’re seeing this because you have a secondary device linked to your Session ID. To improve reliability and stability, we’ve decided to temporarily disable Session’s multi-device functionality. Device linking has been disabled, and existing secondary clients will be erased on $removalDateDescription.\n\nTo read more about this change, visit the Session FAQ at getsession.org/faq" @@ -49,7 +49,7 @@ class MultiDeviceRemovalBottomSheet : BottomSheetDialogFragment() { val removalDateStartIndex = explanation.indexOf(removalDateDescription) val removalDateEndIndex = removalDateStartIndex + removalDateDescription.count() result.setSpan(StyleSpan(Typeface.BOLD), removalDateStartIndex, removalDateEndIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) - result.setSpan(ForegroundColorSpan(resources.getColorWithID(R.color.accent, context!!.theme)), removalDateStartIndex, removalDateEndIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) + result.setSpan(ForegroundColorSpan(resources.getColorWithID(R.color.accent, requireContext().theme)), removalDateStartIndex, removalDateEndIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) val link = "getsession.org/faq" val linkStartIndex = explanation.indexOf(link) val linkEndIndex = linkStartIndex + link.count() @@ -59,20 +59,15 @@ class MultiDeviceRemovalBottomSheet : BottomSheetDialogFragment() { try { onLinkTapped?.invoke() } catch (e: Exception) { - Toast.makeText(context!!, R.string.invalid_url, Toast.LENGTH_SHORT).show() + Toast.makeText(requireContext(), R.string.invalid_url, Toast.LENGTH_SHORT).show() } } }, linkStartIndex, linkEndIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) result.setSpan(StyleSpan(Typeface.BOLD), linkStartIndex, linkEndIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) - result.setSpan(ForegroundColorSpan(resources.getColorWithID(R.color.accent, context!!.theme)), linkStartIndex, linkEndIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) + result.setSpan(ForegroundColorSpan(resources.getColorWithID(R.color.accent, requireContext().theme)), linkStartIndex, linkEndIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) result } - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setStyle(STYLE_NORMAL, R.style.SessionBottomSheetDialogTheme) - } - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater.inflate(R.layout.fragment_multi_device_removal_bottom_sheet, container, false) } diff --git a/src/org/thoughtcrime/securesms/loki/dialogs/OpenGroupSuggestionBottomSheet.kt b/src/org/thoughtcrime/securesms/loki/dialogs/OpenGroupSuggestionBottomSheet.kt index d8a84b13c7..067c100e77 100644 --- a/src/org/thoughtcrime/securesms/loki/dialogs/OpenGroupSuggestionBottomSheet.kt +++ b/src/org/thoughtcrime/securesms/loki/dialogs/OpenGroupSuggestionBottomSheet.kt @@ -12,11 +12,6 @@ class OpenGroupSuggestionBottomSheet : BottomSheetDialogFragment() { var onJoinTapped: (() -> Unit)? = null var onDismissTapped: (() -> Unit)? = null - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setStyle(STYLE_NORMAL, R.style.SessionBottomSheetDialogTheme) - } - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater.inflate(R.layout.fragment_open_group_suggestion_bottom_sheet, container, false) } diff --git a/src/org/thoughtcrime/securesms/loki/fragments/ScanQRCodeFragment.kt b/src/org/thoughtcrime/securesms/loki/fragments/ScanQRCodeFragment.kt index 6f380edb0b..d0c6af135e 100644 --- a/src/org/thoughtcrime/securesms/loki/fragments/ScanQRCodeFragment.kt +++ b/src/org/thoughtcrime/securesms/loki/fragments/ScanQRCodeFragment.kt @@ -7,7 +7,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.LinearLayout -import kotlinx.android.synthetic.main.fragment_scan_qr_code_v2.* +import kotlinx.android.synthetic.main.fragment_scan_qr_code.* import network.loki.messenger.R import org.thoughtcrime.securesms.qr.ScanListener import org.thoughtcrime.securesms.qr.ScanningThread @@ -19,7 +19,7 @@ class ScanQRCodeFragment : Fragment() { var message: CharSequence = "" override fun onCreateView(layoutInflater: LayoutInflater, viewGroup: ViewGroup?, bundle: Bundle?): View? { - return layoutInflater.inflate(R.layout.fragment_scan_qr_code_v2, viewGroup, false) + return layoutInflater.inflate(R.layout.fragment_scan_qr_code, viewGroup, false) } override fun onViewCreated(view: View, bundle: Bundle?) { diff --git a/src/org/thoughtcrime/securesms/loki/fragments/ScanQRCodeWrapperFragment.kt b/src/org/thoughtcrime/securesms/loki/fragments/ScanQRCodeWrapperFragment.kt index ac420ec241..b6fa4176c3 100644 --- a/src/org/thoughtcrime/securesms/loki/fragments/ScanQRCodeWrapperFragment.kt +++ b/src/org/thoughtcrime/securesms/loki/fragments/ScanQRCodeWrapperFragment.kt @@ -27,7 +27,7 @@ class ScanQRCodeWrapperFragment : Fragment(), ScanQRCodePlaceholderFragmentDeleg private fun update() { val fragment: Fragment - if (ContextCompat.checkSelfPermission(activity!!, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) { + if (ContextCompat.checkSelfPermission(requireActivity(), Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) { val scanQRCodeFragment = ScanQRCodeFragment() scanQRCodeFragment.scanListener = this scanQRCodeFragment.message = message diff --git a/src/org/thoughtcrime/securesms/loki/protocol/SessionMetaProtocol.kt b/src/org/thoughtcrime/securesms/loki/protocol/SessionMetaProtocol.kt index b4a16ed505..c3322f9a08 100644 --- a/src/org/thoughtcrime/securesms/loki/protocol/SessionMetaProtocol.kt +++ b/src/org/thoughtcrime/securesms/loki/protocol/SessionMetaProtocol.kt @@ -23,8 +23,7 @@ object SessionMetaProtocol { } @JvmStatic - fun shouldIgnoreMessage(content: SignalServiceContent): Boolean { - val timestamp = content.timestamp + fun shouldIgnoreMessage(timestamp: Long): Boolean { val shouldIgnoreMessage = timestamps.contains(timestamp) timestamps.add(timestamp) return shouldIgnoreMessage diff --git a/src/org/thoughtcrime/securesms/loki/utilities/UiModeUtilities.kt b/src/org/thoughtcrime/securesms/loki/utilities/UiModeUtilities.kt new file mode 100644 index 0000000000..70368b85e2 --- /dev/null +++ b/src/org/thoughtcrime/securesms/loki/utilities/UiModeUtilities.kt @@ -0,0 +1,65 @@ +package org.thoughtcrime.securesms.loki.utilities + +import android.content.Context +import android.content.res.Configuration +import androidx.annotation.StringRes +import androidx.appcompat.app.AppCompatDelegate +import androidx.preference.PreferenceManager +import network.loki.messenger.R + +/** + * Day/night UI mode related utilities. + * @see <a href="https://developer.android.com/guide/topics/ui/look-and-feel/darktheme">Official Documentation</a> + */ +object UiModeUtilities { + private const val PREF_KEY_SELECTED_UI_MODE = "SELECTED_UI_MODE" + + @JvmStatic + fun setUserSelectedUiMode(context: Context, uiMode: UiMode) { + val prefs = PreferenceManager.getDefaultSharedPreferences(context) + prefs.edit() + .putString(PREF_KEY_SELECTED_UI_MODE, uiMode.name) + .apply() + AppCompatDelegate.setDefaultNightMode(uiMode.nightModeValue) + } + + @JvmStatic + fun getUserSelectedUiMode(context: Context): UiMode { + val prefs = PreferenceManager.getDefaultSharedPreferences(context) + val selectedUiModeName = prefs.getString(PREF_KEY_SELECTED_UI_MODE, UiMode.SYSTEM_DEFAULT.name)!! + var selectedUiMode: UiMode + try { + selectedUiMode = UiMode.valueOf(selectedUiModeName) + } catch (e: IllegalArgumentException) { + // Cannot recognize UiMode constant from the given string. + selectedUiMode = UiMode.SYSTEM_DEFAULT + } + return selectedUiMode + } + + @JvmStatic + fun setupUiModeToUserSelected(context: Context) { + val selectedUiMode = getUserSelectedUiMode(context) + setUserSelectedUiMode(context, selectedUiMode) + } + + /** + * Whether the application UI is in the light mode + * (do not confuse with the user selected UiMode). + */ + @JvmStatic + fun isDayUiMode(context: Context): Boolean { + val uiModeNightBit = context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK + return uiModeNightBit == Configuration.UI_MODE_NIGHT_NO + } +} + +enum class UiMode( + @StringRes + val displayNameRes: Int, + val nightModeValue: Int) { + + DAY(R.string.dialog_ui_mode_option_day, AppCompatDelegate.MODE_NIGHT_NO), + NIGHT(R.string.dialog_ui_mode_option_night, AppCompatDelegate.MODE_NIGHT_YES), + SYSTEM_DEFAULT(R.string.dialog_ui_mode_option_system_default, AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); +} \ No newline at end of file diff --git a/src/org/thoughtcrime/securesms/loki/views/ConversationView.kt b/src/org/thoughtcrime/securesms/loki/views/ConversationView.kt index 73463326d7..382ac63a84 100644 --- a/src/org/thoughtcrime/securesms/loki/views/ConversationView.kt +++ b/src/org/thoughtcrime/securesms/loki/views/ConversationView.kt @@ -38,7 +38,7 @@ class ConversationView : LinearLayout { } private fun setUpViewHierarchy() { - val inflater = context.applicationContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater + val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater val contentView = inflater.inflate(R.layout.view_conversation, null) addView(contentView) } diff --git a/src/org/thoughtcrime/securesms/loki/views/DeviceView.kt b/src/org/thoughtcrime/securesms/loki/views/DeviceView.kt index 82ba64e101..54cc6ba269 100644 --- a/src/org/thoughtcrime/securesms/loki/views/DeviceView.kt +++ b/src/org/thoughtcrime/securesms/loki/views/DeviceView.kt @@ -30,7 +30,7 @@ class DeviceView : LinearLayout { } private fun setUpViewHierarchy() { - val inflater = context.applicationContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater + val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater val contentView = inflater.inflate(R.layout.view_device, null) addView(contentView) } diff --git a/src/org/thoughtcrime/securesms/loki/views/FakeChatView.kt b/src/org/thoughtcrime/securesms/loki/views/FakeChatView.kt index fe8f4a3ddc..60b0585715 100644 --- a/src/org/thoughtcrime/securesms/loki/views/FakeChatView.kt +++ b/src/org/thoughtcrime/securesms/loki/views/FakeChatView.kt @@ -37,7 +37,7 @@ class FakeChatView : ScrollView { } private fun setUpViewHierarchy() { - val inflater = context.applicationContext.getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater + val inflater = context.getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater val contentView = inflater.inflate(R.layout.view_fake_chat, null) addView(contentView) isVerticalScrollBarEnabled = false diff --git a/src/org/thoughtcrime/securesms/loki/views/LabeledSeparatorView.kt b/src/org/thoughtcrime/securesms/loki/views/LabeledSeparatorView.kt index 1056afdbdf..028dd34a49 100644 --- a/src/org/thoughtcrime/securesms/loki/views/LabeledSeparatorView.kt +++ b/src/org/thoughtcrime/securesms/loki/views/LabeledSeparatorView.kt @@ -9,21 +9,21 @@ import android.view.LayoutInflater import android.widget.RelativeLayout import kotlinx.android.synthetic.main.view_separator.view.* import network.loki.messenger.R -import org.thoughtcrime.securesms.loki.utilities.getColorWithID import org.thoughtcrime.securesms.loki.utilities.toPx +import org.thoughtcrime.securesms.util.ThemeUtil class LabeledSeparatorView : RelativeLayout { private val path = Path() - private val paint: Paint = { + private val paint: Paint by lazy{ val result = Paint() result.style = Paint.Style.STROKE - result.color = resources.getColorWithID(R.color.separator, context.theme) + result.color = ThemeUtil.getThemedColor(context, R.attr.dividerHorizontal) result.strokeWidth = toPx(1, resources).toFloat() result.isAntiAlias = true result - }() + } // region Lifecycle constructor(context: Context) : super(context) { @@ -43,7 +43,7 @@ class LabeledSeparatorView : RelativeLayout { } private fun setUpViewHierarchy() { - val inflater = context.applicationContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater + val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater val contentView = inflater.inflate(R.layout.view_separator, null) val layoutParams = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT) addView(contentView, layoutParams) @@ -56,7 +56,7 @@ class LabeledSeparatorView : RelativeLayout { super.onDraw(c) val w = width.toFloat() val h = height.toFloat() - val hMargin = toPx(10, resources).toFloat() + val hMargin = toPx(16, resources).toFloat() path.reset() path.moveTo(0.0f, h / 2) path.lineTo(titleTextView.left - hMargin, h / 2) diff --git a/src/org/thoughtcrime/securesms/loki/views/NewConversationButtonSetView.kt b/src/org/thoughtcrime/securesms/loki/views/NewConversationButtonSetView.kt index b81ea34291..e46f82e376 100644 --- a/src/org/thoughtcrime/securesms/loki/views/NewConversationButtonSetView.kt +++ b/src/org/thoughtcrime/securesms/loki/views/NewConversationButtonSetView.kt @@ -7,19 +7,20 @@ import android.animation.ValueAnimator import android.content.Context import android.content.Context.VIBRATOR_SERVICE import android.content.res.ColorStateList +import android.graphics.Color import android.graphics.PointF import android.graphics.drawable.GradientDrawable import android.os.Build import android.os.VibrationEffect import android.os.VibrationEffect.DEFAULT_AMPLITUDE import android.os.Vibrator -import androidx.annotation.ColorRes -import androidx.annotation.DrawableRes import android.util.AttributeSet import android.view.Gravity import android.view.MotionEvent import android.widget.ImageView import android.widget.RelativeLayout +import androidx.annotation.ColorRes +import androidx.annotation.DrawableRes import network.loki.messenger.R import org.thoughtcrime.securesms.loki.utilities.* @@ -70,10 +71,19 @@ class NewConversationButtonSetView : RelativeLayout { result.layoutParams = LayoutParams(size, size) result.setBackgroundResource(R.drawable.new_conversation_button_background) val background = result.background as GradientDrawable - val colorID = if (isMain) R.color.accent else R.color.new_conversation_button_collapsed_background - background.color = ColorStateList.valueOf(resources.getColorWithID(colorID, context.theme)) + @ColorRes val backgroundColorID = if (isMain) + R.color.accent else + R.color.new_conversation_button_collapsed_background + background.color = ColorStateList.valueOf(resources.getColorWithID(backgroundColorID, context.theme)) result.scaleType = ImageView.ScaleType.CENTER result.setImageResource(iconID) + + result.imageTintList = if (isMain) + // Always use white icon for the main button. + ColorStateList.valueOf(resources.getColorWithID(android.R.color.white, context.theme)) + else + ColorStateList.valueOf(resources.getColorWithID(R.color.text, context.theme)) + result } diff --git a/src/org/thoughtcrime/securesms/loki/views/ProfilePictureView.kt b/src/org/thoughtcrime/securesms/loki/views/ProfilePictureView.kt index 717baa3270..362f5ff35d 100644 --- a/src/org/thoughtcrime/securesms/loki/views/ProfilePictureView.kt +++ b/src/org/thoughtcrime/securesms/loki/views/ProfilePictureView.kt @@ -44,7 +44,7 @@ class ProfilePictureView : RelativeLayout { } private fun setUpViewHierarchy() { - val inflater = context.applicationContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater + val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater val contentView = inflater.inflate(R.layout.view_profile_picture, null) addView(contentView) } diff --git a/src/org/thoughtcrime/securesms/loki/views/SeedReminderView.kt b/src/org/thoughtcrime/securesms/loki/views/SeedReminderView.kt index c728c22473..591a458227 100644 --- a/src/org/thoughtcrime/securesms/loki/views/SeedReminderView.kt +++ b/src/org/thoughtcrime/securesms/loki/views/SeedReminderView.kt @@ -35,7 +35,7 @@ class SeedReminderView : FrameLayout { } private fun setUpViewHierarchy() { - val inflater = context.applicationContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater + val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater val contentView = inflater.inflate(R.layout.view_seed_reminder, null) addView(contentView) button.setOnClickListener { delegate?.handleSeedReminderViewContinueButtonTapped() } diff --git a/src/org/thoughtcrime/securesms/loki/views/UserView.kt b/src/org/thoughtcrime/securesms/loki/views/UserView.kt index 3305294a34..9619a90389 100644 --- a/src/org/thoughtcrime/securesms/loki/views/UserView.kt +++ b/src/org/thoughtcrime/securesms/loki/views/UserView.kt @@ -39,7 +39,7 @@ class UserView : LinearLayout { } private fun setUpViewHierarchy() { - val inflater = context.applicationContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater + val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater val contentView = inflater.inflate(R.layout.view_user, null) addView(contentView) } @@ -66,7 +66,7 @@ class UserView : LinearLayout { profilePictureView.additionalPublicKey = null profilePictureView.isRSSFeed = false } - actionIndicatorImageView.setImageResource(R.drawable.ic_edit_white_24dp) + actionIndicatorImageView.setImageResource(R.drawable.ic_baseline_edit_24) profilePictureView.glide = glide profilePictureView.update() nameTextView.text = user.name ?: "Unknown Contact" diff --git a/src/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java b/src/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java index a2e0e4190d..41324d4e61 100644 --- a/src/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java +++ b/src/org/thoughtcrime/securesms/mediasend/MediaSendActivity.java @@ -376,7 +376,7 @@ public class MediaSendActivity extends PassphraseRequiredActionBarActivity imple Permissions.with(this) .request(Manifest.permission.CAMERA) .ifNecessary() - .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_photo_camera_white_48dp) + .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_baseline_photo_camera_48) .withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_the_camera_permission_to_take_photos_or_video)) .onAllGranted(() -> { Camera1Fragment fragment = getOrCreateCameraFragment(); diff --git a/src/org/thoughtcrime/securesms/mediasend/MediaSendFragment.java b/src/org/thoughtcrime/securesms/mediasend/MediaSendFragment.java index c9b4020322..a563f3546f 100644 --- a/src/org/thoughtcrime/securesms/mediasend/MediaSendFragment.java +++ b/src/org/thoughtcrime/securesms/mediasend/MediaSendFragment.java @@ -49,7 +49,6 @@ import org.thoughtcrime.securesms.util.CharacterCalculator.CharacterState; import org.thoughtcrime.securesms.util.MediaUtil; import org.thoughtcrime.securesms.util.Stopwatch; import org.thoughtcrime.securesms.util.TextSecurePreferences; -import org.thoughtcrime.securesms.util.ThemeUtil; import org.thoughtcrime.securesms.util.Util; import org.thoughtcrime.securesms.util.concurrent.ListenableFuture; import org.thoughtcrime.securesms.util.concurrent.SettableFuture; @@ -129,8 +128,7 @@ public class MediaSendFragment extends Fragment implements ViewTreeObserver.OnGl @Override public @Nullable View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - return ThemeUtil.getThemedInflater(requireActivity(), inflater, R.style.TextSecure_DarkTheme) - .inflate(R.layout.mediasend_fragment, container, false); + return inflater.inflate(R.layout.mediasend_fragment, container, false); } @Override @@ -449,7 +447,7 @@ public class MediaSendFragment extends Fragment implements ViewTreeObserver.OnGl protected void onPreExecute() { renderTimer = new Stopwatch("ProcessMedia"); progressTimer = () -> { - dialog = new AlertDialog.Builder(new ContextThemeWrapper(requireContext(), R.style.TextSecure_MediaSendProgressDialog)) + dialog = new AlertDialog.Builder(new ContextThemeWrapper(requireContext(), R.style.Theme_TextSecure_Dialog_MediaSendProgress)) .setView(R.layout.progress_dialog) .setCancelable(false) .create(); diff --git a/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java b/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java index ccacd0873f..135cf6c077 100644 --- a/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java +++ b/src/org/thoughtcrime/securesms/permissions/RationaleDialog.java @@ -47,7 +47,7 @@ public class RationaleDialog { text.setText(message); - return new AlertDialog.Builder(context, R.style.RationaleDialog).setView(view); + return new AlertDialog.Builder(context, R.style.Theme_TextSecure_Dialog_Rationale).setView(view); } } diff --git a/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java b/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java index 3f56db3525..e9f8f2e026 100644 --- a/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java +++ b/src/org/thoughtcrime/securesms/registration/WelcomeActivity.java @@ -56,7 +56,7 @@ public class WelcomeActivity extends BaseActionBarActivity { Permissions.with(this) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE) .ifNecessary() - .withRationaleDialog(getString(R.string.activity_landing_permission_dialog_message), R.drawable.ic_folder_white_48dp) + .withRationaleDialog(getString(R.string.activity_landing_permission_dialog_message), R.drawable.ic_baseline_folder_48) .onAnyResult(() -> { Intent nextIntent = getIntent().getParcelableExtra("next_intent"); diff --git a/src/org/thoughtcrime/securesms/util/DynamicIntroTheme.java b/src/org/thoughtcrime/securesms/util/DynamicIntroTheme.java deleted file mode 100644 index ee5d82968c..0000000000 --- a/src/org/thoughtcrime/securesms/util/DynamicIntroTheme.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.thoughtcrime.securesms.util; - -import android.app.Activity; - -import network.loki.messenger.R; - -public class DynamicIntroTheme extends DynamicTheme { - @Override - protected int getSelectedTheme(Activity activity) { - String theme = TextSecurePreferences.getTheme(activity); - - if (theme.equals("dark")) return R.style.TextSecure_DarkIntroTheme; - - return R.style.TextSecure_LightIntroTheme; - } -} diff --git a/src/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java b/src/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java index 7e5ab3a98f..93dd34f051 100644 --- a/src/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java +++ b/src/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java @@ -7,6 +7,6 @@ import network.loki.messenger.R; public class DynamicNoActionBarTheme extends DynamicTheme { @Override protected int getSelectedTheme(Activity activity) { - return R.style.TextSecure_DarkNoActionBar; + return R.style.Theme_TextSecure_DayNight_NoActionBar; } } diff --git a/src/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java b/src/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java deleted file mode 100644 index e4eebc15a0..0000000000 --- a/src/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.thoughtcrime.securesms.util; - -import android.app.Activity; - -import network.loki.messenger.R; - -public class DynamicRegistrationTheme extends DynamicTheme { - @Override - protected int getSelectedTheme(Activity activity) { - return R.style.TextSecure_DarkRegistrationTheme; - } -} diff --git a/src/org/thoughtcrime/securesms/util/DynamicTheme.java b/src/org/thoughtcrime/securesms/util/DynamicTheme.java index df777baed3..5668b310f6 100644 --- a/src/org/thoughtcrime/securesms/util/DynamicTheme.java +++ b/src/org/thoughtcrime/securesms/util/DynamicTheme.java @@ -5,6 +5,12 @@ import android.content.Intent; import network.loki.messenger.R; +/** + * @deprecated Use one of the Theme.Session.DayNight.* + * (or Theme.TextSecure.DayNight.* for old Signal activities) + * app themes to support dark/light modes. + */ +@Deprecated public class DynamicTheme { public static final String DARK = "dark"; @@ -28,7 +34,8 @@ public class DynamicTheme { } protected int getSelectedTheme(Activity activity) { - return R.style.TextSecure_DarkTheme; + // For all legacy (Signal) activities we lock on to the Signal dedicated theme. + return R.style.Theme_TextSecure_DayNight; } private static final class OverridePendingTransition { diff --git a/src/org/thoughtcrime/securesms/util/TextSecurePreferences.java b/src/org/thoughtcrime/securesms/util/TextSecurePreferences.java index f068954296..f4c12b6de9 100644 --- a/src/org/thoughtcrime/securesms/util/TextSecurePreferences.java +++ b/src/org/thoughtcrime/securesms/util/TextSecurePreferences.java @@ -1316,5 +1316,13 @@ public class TextSecurePreferences { public static void setHasSeenMultiDeviceRemovalSheet(Context context) { setBooleanPreference(context, "has_seen_multi_device_removal_sheet", true); } + + public static boolean hasSeenLightThemeIntroSheet(Context context) { + return getBooleanPreference(context, "has_seen_light_theme_intro_sheet", false); + } + + public static void setHasSeenLightThemeIntroSheet(Context context) { + setBooleanPreference(context, "has_seen_light_theme_intro_sheet", true); + } // endregion } diff --git a/src/org/thoughtcrime/securesms/util/ThemeUtil.java b/src/org/thoughtcrime/securesms/util/ThemeUtil.java index 564932c57d..b9e6f6c169 100644 --- a/src/org/thoughtcrime/securesms/util/ThemeUtil.java +++ b/src/org/thoughtcrime/securesms/util/ThemeUtil.java @@ -4,28 +4,49 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Color; import androidx.annotation.AttrRes; +import androidx.annotation.ColorInt; +import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.StyleRes; import androidx.appcompat.view.ContextThemeWrapper; + +import android.util.Log; import android.util.TypedValue; import android.view.LayoutInflater; import network.loki.messenger.R; public class ThemeUtil { + private static final String TAG = ThemeUtil.class.getSimpleName(); public static boolean isDarkTheme(@NonNull Context context) { - return getAttribute(context, R.attr.theme_type, "light").equals("dark"); + return getAttributeText(context, R.attr.theme_type, "light").equals("dark"); } + @ColorInt public static int getThemedColor(@NonNull Context context, @AttrRes int attr) { TypedValue typedValue = new TypedValue(); Resources.Theme theme = context.getTheme(); if (theme.resolveAttribute(attr, typedValue, true)) { return typedValue.data; + } else { + Log.e(TAG, "Couldn't find a color attribute with id: " + attr); + return Color.RED; + } + } + + @DrawableRes + public static int getThemedDrawableResId(@NonNull Context context, @AttrRes int attr) { + TypedValue typedValue = new TypedValue(); + Resources.Theme theme = context.getTheme(); + + if (theme.resolveAttribute(attr, typedValue, true)) { + return typedValue.resourceId; + } else { + Log.e(TAG, "Couldn't find a drawable attribute with id: " + attr); + return 0; } - return Color.RED; } public static LayoutInflater getThemedInflater(@NonNull Context context, @NonNull LayoutInflater inflater, @StyleRes int theme) { @@ -33,7 +54,7 @@ public class ThemeUtil { return inflater.cloneInContext(contextThemeWrapper); } - private static String getAttribute(Context context, int attribute, String defaultValue) { + private static String getAttributeText(Context context, int attribute, String defaultValue) { TypedValue outValue = new TypedValue(); if (context.getTheme().resolveAttribute(attribute, outValue, true)) {