mirror of
https://github.com/element-hq/element-android
synced 2024-11-23 18:05:36 +03:00
Remove Status theme and handle migration or current status theme to light theme (#2424)
This commit is contained in:
parent
51b86e21f6
commit
aa6c7afbbd
12 changed files with 14 additions and 194 deletions
|
@ -25,7 +25,7 @@ Test:
|
|||
-
|
||||
|
||||
Other changes:
|
||||
-
|
||||
- Remove "Status.im" theme #2424
|
||||
|
||||
Changes in Element 1.0.11 (2020-11-27)
|
||||
===================================================
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
android:id="@+id/test_linkify_coordinator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/riot_secondary_text_color_status"
|
||||
android:background="#7F70808D"
|
||||
tools:context=".features.debug.TestLinkifyActivity">
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
|
|
|
@ -41,14 +41,4 @@
|
|||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:theme="@style/AppTheme.Status">
|
||||
|
||||
<include layout="@layout/demo_theme_sample" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -24,23 +24,19 @@ import im.vector.app.R
|
|||
* Note that style for light theme is default and is declared in the Android Manifest
|
||||
*/
|
||||
sealed class ActivityOtherThemes(@StyleRes val dark: Int,
|
||||
@StyleRes val black: Int,
|
||||
@StyleRes val status: Int) {
|
||||
@StyleRes val black: Int) {
|
||||
|
||||
object Default : ActivityOtherThemes(
|
||||
R.style.AppTheme_Dark,
|
||||
R.style.AppTheme_Black,
|
||||
R.style.AppTheme_Status
|
||||
R.style.AppTheme_Black
|
||||
)
|
||||
|
||||
object AttachmentsPreview : ActivityOtherThemes(
|
||||
R.style.AppTheme_AttachmentsPreview,
|
||||
R.style.AppTheme_AttachmentsPreview,
|
||||
R.style.AppTheme_AttachmentsPreview
|
||||
)
|
||||
|
||||
object VectorAttachmentsPreview : ActivityOtherThemes(
|
||||
R.style.AppTheme_Transparent,
|
||||
R.style.AppTheme_Transparent,
|
||||
R.style.AppTheme_Transparent
|
||||
)
|
||||
|
|
|
@ -24,6 +24,7 @@ import android.view.Menu
|
|||
import androidx.annotation.AttrRes
|
||||
import androidx.annotation.ColorInt
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.graphics.drawable.DrawableCompat
|
||||
import im.vector.app.R
|
||||
import im.vector.app.core.di.DefaultSharedPreferences
|
||||
|
@ -41,7 +42,6 @@ object ThemeUtils {
|
|||
private const val THEME_DARK_VALUE = "dark"
|
||||
private const val THEME_LIGHT_VALUE = "light"
|
||||
private const val THEME_BLACK_VALUE = "black"
|
||||
private const val THEME_STATUS_VALUE = "status"
|
||||
|
||||
private var currentTheme = AtomicReference<String>(null)
|
||||
|
||||
|
@ -58,9 +58,8 @@ object ThemeUtils {
|
|||
*/
|
||||
fun isLightTheme(context: Context): Boolean {
|
||||
return when (getApplicationTheme(context)) {
|
||||
THEME_LIGHT_VALUE,
|
||||
THEME_STATUS_VALUE -> true
|
||||
else -> false
|
||||
THEME_LIGHT_VALUE -> true
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -73,8 +72,13 @@ object ThemeUtils {
|
|||
fun getApplicationTheme(context: Context): String {
|
||||
val currentTheme = this.currentTheme.get()
|
||||
return if (currentTheme == null) {
|
||||
val themeFromPref = DefaultSharedPreferences.getInstance(context)
|
||||
.getString(APPLICATION_THEME_KEY, THEME_LIGHT_VALUE) ?: THEME_LIGHT_VALUE
|
||||
val prefs = DefaultSharedPreferences.getInstance(context)
|
||||
var themeFromPref = prefs.getString(APPLICATION_THEME_KEY, THEME_LIGHT_VALUE) ?: THEME_LIGHT_VALUE
|
||||
if (themeFromPref == "status") {
|
||||
// Migrate to light theme, which is the closest theme
|
||||
themeFromPref = THEME_LIGHT_VALUE
|
||||
prefs.edit { putString(APPLICATION_THEME_KEY, THEME_LIGHT_VALUE) }
|
||||
}
|
||||
this.currentTheme.set(themeFromPref)
|
||||
themeFromPref
|
||||
} else {
|
||||
|
@ -92,7 +96,6 @@ object ThemeUtils {
|
|||
when (aTheme) {
|
||||
THEME_DARK_VALUE -> context.setTheme(R.style.AppTheme_Dark)
|
||||
THEME_BLACK_VALUE -> context.setTheme(R.style.AppTheme_Black)
|
||||
THEME_STATUS_VALUE -> context.setTheme(R.style.AppTheme_Status)
|
||||
else -> context.setTheme(R.style.AppTheme_Light)
|
||||
}
|
||||
|
||||
|
@ -109,7 +112,6 @@ object ThemeUtils {
|
|||
when (getApplicationTheme(activity)) {
|
||||
THEME_DARK_VALUE -> activity.setTheme(otherThemes.dark)
|
||||
THEME_BLACK_VALUE -> activity.setTheme(otherThemes.black)
|
||||
THEME_STATUS_VALUE -> activity.setTheme(otherThemes.status)
|
||||
}
|
||||
|
||||
mColorByAttr.clear()
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="AppTheme.Status.v23" parent="AppTheme.Base.Status">
|
||||
<item name="android:statusBarColor">@color/riotx_header_panel_background_light</item>
|
||||
<item name="android:windowLightStatusBar">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Status" parent="AppTheme.Status.v23"/>
|
||||
|
||||
</resources>
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="AppTheme.Status.v27" parent="AppTheme.Status.v23">
|
||||
<item name="android:navigationBarColor">@color/riotx_header_panel_background_light</item>
|
||||
<item name="android:windowLightNavigationBar">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Status" parent="AppTheme.Status.v27" />
|
||||
|
||||
</resources>
|
|
@ -95,14 +95,12 @@
|
|||
<item>@string/light_theme</item>
|
||||
<item>@string/dark_theme</item>
|
||||
<item>@string/black_them</item>
|
||||
<item>@string/status_theme</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="theme_values">
|
||||
<item>light</item>
|
||||
<item>dark</item>
|
||||
<item>black</item>
|
||||
<item>status</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Info area -->
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
<color name="riot_primary_background_color_dark">#FF181B21</color>
|
||||
<!-- Black/Background-->
|
||||
<color name="riot_primary_background_color_black">#F000</color>
|
||||
<color name="riot_primary_background_color_status">#FFEEF2F5</color>
|
||||
|
||||
<!--Default/Android Status Bar-->
|
||||
<color name="primary_color_dark_light">#FF1A2027</color>
|
||||
|
@ -41,10 +40,6 @@
|
|||
<!--Black/Base-->
|
||||
<color name="primary_color_black">#FF060708</color>
|
||||
|
||||
<color name="primary_color_dark_status">#FF465561</color>
|
||||
<color name="primary_color_status">#FF586C7B</color>
|
||||
<color name="accent_color_status">#FF586C7B</color>
|
||||
|
||||
<!--Default/Line break mobile-->
|
||||
<attr name="list_divider_color" format="color" />
|
||||
<color name="list_divider_color_light">#EEEFEF</color>
|
||||
|
@ -56,12 +51,10 @@
|
|||
<attr name="tab_bar_selected_background_color" format="color" />
|
||||
<color name="tab_bar_selected_background_color_light">@color/riotx_android_secondary_light</color>
|
||||
<color name="tab_bar_selected_background_color_dark">@color/riotx_android_secondary_dark</color>
|
||||
<color name="tab_bar_selected_background_color_status">@color/riotx_android_secondary_black</color>
|
||||
|
||||
<attr name="tab_bar_unselected_background_color" format="color" />
|
||||
<color name="tab_bar_unselected_background_color_light">@color/riotx_background_light</color>
|
||||
<color name="tab_bar_unselected_background_color_dark">@color/riotx_background_dark</color>
|
||||
<color name="tab_bar_unselected_background_color_status">@color/riotx_background_black</color>
|
||||
|
||||
<!-- Hint Colors -->
|
||||
<color name="primary_hint_text_color_light">#FFFFFF</color>
|
||||
|
@ -88,13 +81,6 @@
|
|||
<color name="riot_secondary_text_color_dark">#FFA1B2D1</color>
|
||||
<color name="riot_tertiary_text_color_dark">@color/riot_primary_text_color_dark</color>
|
||||
|
||||
<!-- Status/Text Primary-->
|
||||
<color name="riot_primary_text_color_status">#FF70808D</color>
|
||||
<color name="riot_primary_text_color_disabled_status">#7F70808D</color>
|
||||
<!-- Status/Text Secondary-->
|
||||
<color name="riot_secondary_text_color_status">#7F70808D</color>
|
||||
<color name="riot_tertiary_text_color_status">@color/riot_primary_text_color_status</color>
|
||||
|
||||
<!-- Notification view colors -->
|
||||
<color name="soft_resource_limit_exceeded">#2f9edb</color>
|
||||
<color name="hard_resource_limit_exceeded">@color/vector_fuchsia_color</color>
|
||||
|
@ -118,7 +104,6 @@
|
|||
<!-- Link color -->
|
||||
<color name="link_color_light">#368BD6</color>
|
||||
<color name="link_color_dark">#368BD6</color>
|
||||
<color name="link_color_status">#368BD6</color>
|
||||
|
||||
<!-- Notification (do not depends on theme) -->
|
||||
<color name="notification_accent_color">#368BD6</color>
|
||||
|
|
|
@ -202,13 +202,11 @@
|
|||
<color name="riotx_bottom_nav_background_color_light">@color/riot_primary_background_color_light</color>
|
||||
<color name="riotx_bottom_nav_background_color_dark">@color/primary_color_dark</color>
|
||||
<color name="riotx_bottom_nav_background_color_black">@color/primary_color_black</color>
|
||||
<color name="riotx_bottom_nav_background_color_status">@color/riot_primary_background_color_status</color>
|
||||
|
||||
<attr name="riotx_bottom_nav_background_border_color" format="color" />
|
||||
<color name="riotx_bottom_nav_background_border_color_light">#E9EDF1</color>
|
||||
<color name="riotx_bottom_nav_background_border_color_dark">#55555555</color>
|
||||
<color name="riotx_bottom_nav_background_border_color_black">#FF15171b</color>
|
||||
<color name="riotx_bottom_nav_background_border_color_status">#FFE9EDF1</color>
|
||||
|
||||
<attr name="riotx_bottom_nav_icon_color" format="color" />
|
||||
<color name="riotx_bottom_nav_icon_color_light">#C1C6CD</color>
|
||||
|
@ -218,7 +216,6 @@
|
|||
<attr name="riotx_waiting_background_color" format="color" />
|
||||
<color name="riotx_waiting_background_color_light">#AAAAAAAA</color>
|
||||
<color name="riotx_waiting_background_color_dark">#55555555</color>
|
||||
<color name="riotx_waiting_background_color_status">#AAAAAAAA</color>
|
||||
|
||||
<attr name="riotx_disabled_view_color" format="color" />
|
||||
<color name="riotx_disabled_view_color_light">#EEEEEE</color>
|
||||
|
|
|
@ -280,14 +280,6 @@
|
|||
<item name="android:textColorLink">@color/riotx_links</item>
|
||||
</style>
|
||||
|
||||
<style name="Vector.BottomSheet.Status" parent="Theme.Design.Light.BottomSheetDialog">
|
||||
<item name="android:textColorPrimary">@color/riot_primary_text_color_status</item>
|
||||
<item name="android:textColorSecondary">@color/riot_secondary_text_color_status</item>
|
||||
<!-- Default color for text View -->
|
||||
<item name="android:textColorTertiary">@color/riot_tertiary_text_color_status</item>
|
||||
<item name="android:textColorLink">@color/link_color_status</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="TimelineContentStubBaseParams">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
|
|
|
@ -1,118 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- STATUS.IM THEME COLORS -->
|
||||
|
||||
<!-- Inherit of Light theme to avoid crash TODO Adapt color (phase 2) -->
|
||||
<style name="AppTheme.Base.Status" parent="AppTheme.Base.Light">
|
||||
<item name="colorPrimaryDark">@color/primary_color_dark_status</item>
|
||||
<item name="colorPrimary">@color/primary_color_status</item>
|
||||
<item name="colorAccent">@color/accent_color_status</item>
|
||||
|
||||
<item name="android:textColorPrimary">@color/primary_text_color_selector</item>
|
||||
<item name="android:textColorSecondary">@color/riot_secondary_text_color_status</item>
|
||||
<!-- Default color for text View -->
|
||||
<item name="android:textColorTertiary">@color/riot_tertiary_text_color_status</item>
|
||||
|
||||
<item name="android:textColorLink">@color/link_color_status</item>
|
||||
|
||||
<!-- Menu text color -->
|
||||
<item name="android:actionMenuTextColor">?colorAccent</item>
|
||||
|
||||
<!-- default background color -->
|
||||
<item name="android:colorBackground">@color/riot_primary_background_color_status</item>
|
||||
<item name="riotx_bottom_nav_background_color">@color/riotx_bottom_nav_background_color_status
|
||||
</item>
|
||||
<item name="riotx_bottom_nav_background_border_color">@color/riotx_bottom_nav_background_border_color_status</item>
|
||||
|
||||
<!-- waiting view background -->
|
||||
<item name="riotx_waiting_background_color">@color/riotx_waiting_background_color_status</item>
|
||||
|
||||
<!-- application bar text color -->
|
||||
<item name="vctr_toolbar_primary_text_color">@color/primary_color_status</item>
|
||||
<item name="vctr_toolbar_secondary_text_color">@color/primary_color_dark_status</item>
|
||||
<item name="vctr_toolbar_link_text_color">@color/primary_color_dark_status</item>
|
||||
|
||||
<!-- room message colors -->
|
||||
<item name="vctr_notice_secondary">#61708B</item>
|
||||
<item name="vctr_unsent_message_text_color">#FFFF4444</item>
|
||||
<item name="vctr_message_text_color">#70879d</item>
|
||||
<item name="vctr_notice_text_color">#adadbe</item>
|
||||
<item name="vctr_encrypting_message_text_color">#AECDF9</item>
|
||||
<item name="vctr_sending_message_text_color">#b3e8d2</item>
|
||||
<item name="vctr_markdown_block_background_color">#FFEEEEEE</item>
|
||||
|
||||
<item name="riot_primary_text_color">@color/riot_primary_text_color_status</item>
|
||||
<item name="riot_primary_text_color_disabled">@color/riot_primary_text_color_disabled_status</item>
|
||||
|
||||
<!-- tab bar colors -->
|
||||
<item name="vctr_tab_bar_inverted_background_color">#FFF2F2F2</item>
|
||||
|
||||
<!-- list colors -->
|
||||
<item name="vctr_list_header_background_color">#FFF6F6F6</item>
|
||||
<item name="vctr_list_header_primary_text_color">#7F3C3C3C</item>
|
||||
<item name="vctr_list_header_secondary_text_color">#4D3C3C3C</item>
|
||||
|
||||
<!-- outgoing call background color -->
|
||||
<item name="vctr_pending_outgoing_view_background_color">#33000000</item>
|
||||
|
||||
<!-- room notification text color (typing, unsent...) -->
|
||||
<item name="vctr_room_notification_text_color">#a0a29f</item>
|
||||
|
||||
<!-- icon colors -->
|
||||
<item name="vctr_settings_icon_tint_color">@color/accent_color_status</item>
|
||||
<item name="vctr_icon_tint_on_light_action_bar_color">@color/riotx_accent</item>
|
||||
|
||||
<!-- ANDROID SUPPORT ATTRIBUTES -->
|
||||
<!-- disable the overscroll because setOverscrollHeader/Footer don't always work -->
|
||||
<item name="android:overScrollMode">never</item>
|
||||
|
||||
<!-- activities background -->
|
||||
<item name="android:windowBackground">@color/riot_primary_background_color_status</item>
|
||||
|
||||
<!-- fonts -->
|
||||
<item name="android:typeface">sans</item>
|
||||
|
||||
<!-- custom action bar -->
|
||||
<item name="android:actionBarStyle">@style/Vector.Styled.ActionBar</item>
|
||||
<item name="actionBarStyle">@style/Vector.Styled.ActionBar</item>
|
||||
|
||||
<!-- actionbar icons color -->
|
||||
<item name="actionBarTheme">@style/Vector.ActionBarTheme</item>
|
||||
|
||||
<!-- remove the shadow under the actionbar -->
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
|
||||
<item name="android:popupMenuStyle">@style/Vector.PopupMenu</item>
|
||||
|
||||
<!-- no divider -->
|
||||
<item name="android:actionBarDivider">@null</item>
|
||||
|
||||
<!-- tabbar text color -->
|
||||
<item name="android:actionBarTabTextStyle">@style/Vector.TabText</item>
|
||||
<item name="actionBarTabTextStyle">@style/Vector.TabText</item>
|
||||
|
||||
<item name="tab_bar_selected_background_color">@color/tab_bar_selected_background_color_status</item>
|
||||
<item name="tab_bar_unselected_background_color">@color/tab_bar_unselected_background_color_status</item>
|
||||
|
||||
<!-- Preference -->
|
||||
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
|
||||
|
||||
<item name="bottomSheetDialogTheme">@style/Vector.BottomSheet.Status</item>
|
||||
|
||||
<!-- Use dark color, to have enough contrast with icons color. windowLightStatusBar is only available in API 23+ -->
|
||||
<item name="android:statusBarColor">@color/riotx_header_panel_background_dark</item>
|
||||
<!-- Use dark color, to have enough contrast with icons color. windowLightNavigationBar is only available in API 27+ -->
|
||||
<item name="android:navigationBarColor">@color/riotx_header_panel_background_dark</item>
|
||||
|
||||
<!-- enable window content transitions -->
|
||||
<item name="android:windowContentTransitions">true</item>
|
||||
|
||||
<!-- specify shared element enter and exit transitions -->
|
||||
<item name="android:windowSharedElementEnterTransition">@transition/image_preview_transition</item>
|
||||
<item name="android:windowSharedElementExitTransition">@transition/image_preview_transition</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Status" parent="AppTheme.Base.Status" />
|
||||
|
||||
</resources>
|
Loading…
Reference in a new issue