Commit cc7e47bb authored by Viktor De Pasquale's avatar Viktor De Pasquale

Added themes

All files (that used styles) were refactored to use styles directly so themes can only actually adjust colors
 - Elaborate themes would be super hard to maintain and would certainly break over time
parent 42606162
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="com.topjohnwu.magisk"> package="com.topjohnwu.magisk">
......
...@@ -13,6 +13,7 @@ import com.topjohnwu.magisk.di.Protected ...@@ -13,6 +13,7 @@ import com.topjohnwu.magisk.di.Protected
import com.topjohnwu.magisk.extensions.get import com.topjohnwu.magisk.extensions.get
import com.topjohnwu.magisk.extensions.inject import com.topjohnwu.magisk.extensions.inject
import com.topjohnwu.magisk.model.preference.PreferenceModel import com.topjohnwu.magisk.model.preference.PreferenceModel
import com.topjohnwu.magisk.redesign.theme.Theme
import com.topjohnwu.magisk.utils.BiometricHelper import com.topjohnwu.magisk.utils.BiometricHelper
import com.topjohnwu.magisk.utils.Utils import com.topjohnwu.magisk.utils.Utils
import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.Shell
...@@ -52,6 +53,7 @@ object Config : PreferenceModel, DBConfig { ...@@ -52,6 +53,7 @@ object Config : PreferenceModel, DBConfig {
const val DOWNLOAD_PATH = "download_path" const val DOWNLOAD_PATH = "download_path"
const val REDESIGN = "redesign" const val REDESIGN = "redesign"
const val SAFETY = "safety_notice" const val SAFETY = "safety_notice"
const val THEME_ORDINAL = "theme_ordinal"
// system state // system state
const val MAGISKHIDE = "magiskhide" const val MAGISKHIDE = "magiskhide"
...@@ -125,6 +127,7 @@ object Config : PreferenceModel, DBConfig { ...@@ -125,6 +127,7 @@ object Config : PreferenceModel, DBConfig {
Key.DARK_THEME_EXTENDED, Key.DARK_THEME_EXTENDED,
AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
) )
var themeOrdinal by preference(Key.THEME_ORDINAL, Theme.Piplup.ordinal)
var suReAuth by preference(Key.SU_REAUTH, false) var suReAuth by preference(Key.SU_REAUTH, false)
var checkUpdate by preference(Key.CHECK_UPDATES, true) var checkUpdate by preference(Key.CHECK_UPDATES, true)
var magiskHide by preference(Key.MAGISKHIDE, true) var magiskHide by preference(Key.MAGISKHIDE, true)
......
package com.topjohnwu.magisk.model.entity.recycler
import com.topjohnwu.magisk.R
import com.topjohnwu.magisk.databinding.ComparableRvItem
import com.topjohnwu.magisk.redesign.theme.Theme
class ThemeItem(val theme: Theme) : ComparableRvItem<ThemeItem>() {
override val layoutRes = R.layout.item_theme
override fun contentSameAs(other: ThemeItem) = itemSameAs(other)
override fun itemSameAs(other: ThemeItem) = theme == other.theme
}
\ No newline at end of file
...@@ -8,6 +8,7 @@ import com.topjohnwu.magisk.Const ...@@ -8,6 +8,7 @@ import com.topjohnwu.magisk.Const
import com.topjohnwu.magisk.intent import com.topjohnwu.magisk.intent
import com.topjohnwu.magisk.redesign.install.InstallFragment import com.topjohnwu.magisk.redesign.install.InstallFragment
import com.topjohnwu.magisk.redesign.safetynet.SafetynetFragment import com.topjohnwu.magisk.redesign.safetynet.SafetynetFragment
import com.topjohnwu.magisk.redesign.theme.ThemeFragment
import com.topjohnwu.magisk.ui.MainActivity import com.topjohnwu.magisk.ui.MainActivity
import com.topjohnwu.magisk.ui.hide.MagiskHideFragment import com.topjohnwu.magisk.ui.hide.MagiskHideFragment
import com.topjohnwu.magisk.ui.home.HomeFragment import com.topjohnwu.magisk.ui.home.HomeFragment
...@@ -98,6 +99,10 @@ object Navigation { ...@@ -98,6 +99,10 @@ object Navigation {
navDirections { destination = InstallFragment::class } navDirections { destination = InstallFragment::class }
} }
fun theme() = MagiskNavigationEvent {
navDirections { destination = ThemeFragment::class }
}
fun fromSection(section: String) = when (section) { fun fromSection(section: String) = when (section) {
"superuser" -> superuser() "superuser" -> superuser()
"modules" -> modules() "modules" -> modules()
......
...@@ -10,7 +10,6 @@ import androidx.core.content.getSystemService ...@@ -10,7 +10,6 @@ import androidx.core.content.getSystemService
import androidx.databinding.OnRebindCallback import androidx.databinding.OnRebindCallback
import androidx.databinding.ViewDataBinding import androidx.databinding.ViewDataBinding
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.topjohnwu.magisk.R
import com.topjohnwu.magisk.base.BaseActivity import com.topjohnwu.magisk.base.BaseActivity
import com.topjohnwu.magisk.extensions.snackbar import com.topjohnwu.magisk.extensions.snackbar
import com.topjohnwu.magisk.extensions.startAnimations import com.topjohnwu.magisk.extensions.startAnimations
...@@ -18,13 +17,14 @@ import com.topjohnwu.magisk.model.events.SnackbarEvent ...@@ -18,13 +17,14 @@ import com.topjohnwu.magisk.model.events.SnackbarEvent
import com.topjohnwu.magisk.model.events.ViewEvent import com.topjohnwu.magisk.model.events.ViewEvent
import com.topjohnwu.magisk.model.navigation.MagiskNavigationEvent import com.topjohnwu.magisk.model.navigation.MagiskNavigationEvent
import com.topjohnwu.magisk.model.navigation.Navigator import com.topjohnwu.magisk.model.navigation.Navigator
import com.topjohnwu.magisk.redesign.theme.Theme
import kotlin.reflect.KClass import kotlin.reflect.KClass
abstract class CompatActivity<ViewModel : CompatViewModel, Binding : ViewDataBinding> : abstract class CompatActivity<ViewModel : CompatViewModel, Binding : ViewDataBinding> :
BaseActivity<ViewModel, Binding>(), CompatView<ViewModel>, Navigator { BaseActivity<ViewModel, Binding>(), CompatView<ViewModel>, Navigator {
override val themeRes = R.style.Foundation_Default override val themeRes = Theme.selected.themeRes
override val viewRoot: View get() = binding.root override val viewRoot: View get() = binding.root
override val navigation: CompatNavigationDelegate<CompatActivity<ViewModel, Binding>>? by lazy { override val navigation: CompatNavigationDelegate<CompatActivity<ViewModel, Binding>>? by lazy {
CompatNavigationDelegate(this) CompatNavigationDelegate(this)
......
...@@ -4,7 +4,7 @@ import com.topjohnwu.magisk.Config ...@@ -4,7 +4,7 @@ import com.topjohnwu.magisk.Config
import com.topjohnwu.magisk.extensions.addOnPropertyChangedCallback import com.topjohnwu.magisk.extensions.addOnPropertyChangedCallback
import com.topjohnwu.magisk.extensions.toggle import com.topjohnwu.magisk.extensions.toggle
import com.topjohnwu.magisk.model.events.DieEvent import com.topjohnwu.magisk.model.events.DieEvent
import com.topjohnwu.magisk.model.events.dialog.DarkThemeDialog import com.topjohnwu.magisk.model.navigation.Navigation
import com.topjohnwu.magisk.redesign.compat.CompatViewModel import com.topjohnwu.magisk.redesign.compat.CompatViewModel
import com.topjohnwu.magisk.utils.KObservableField import com.topjohnwu.magisk.utils.KObservableField
...@@ -21,6 +21,6 @@ class SettingsViewModel : CompatViewModel() { ...@@ -21,6 +21,6 @@ class SettingsViewModel : CompatViewModel() {
} }
fun toggle(item: KObservableField<Boolean>) = item.toggle() fun toggle(item: KObservableField<Boolean>) = item.toggle()
fun darkModePressed() = DarkThemeDialog().publish() fun themePressed() = Navigation.theme().publish()
} }
\ No newline at end of file
package com.topjohnwu.magisk.redesign.theme
import com.topjohnwu.magisk.Config
import com.topjohnwu.magisk.R
enum class Theme(
val themeName: String,
val themeRes: Int
) {
Piplup(
themeName = "Piplup",
themeRes = R.style.ThemeFoundationMD2_Piplup
),
PiplupAmoled(
themeName = "AMOLED",
themeRes = R.style.ThemeFoundationMD2_Amoled
),
Rayquaza(
themeName = "Rayquaza",
themeRes = R.style.ThemeFoundationMD2_Rayquaza
),
Zapdos(
themeName = "Zapdos",
themeRes = R.style.ThemeFoundationMD2_Zapdos
),
Charmeleon(
themeName = "Charmeleon",
themeRes = R.style.ThemeFoundationMD2_Charmeleon
),
Mew(
themeName = "Mew",
themeRes = R.style.ThemeFoundationMD2_Mew
),
Salamence(
themeName = "Salamence",
themeRes = R.style.ThemeFoundationMD2_Salamence
);
val isSelected get() = Config.themeOrdinal == ordinal
fun select() {
Config.themeOrdinal = ordinal
}
companion object {
val selected get() = values().getOrNull(Config.themeOrdinal) ?: Piplup
}
}
package com.topjohnwu.magisk.redesign.theme package com.topjohnwu.magisk.redesign.theme
import android.graphics.Insets
import com.topjohnwu.magisk.R import com.topjohnwu.magisk.R
import com.topjohnwu.magisk.databinding.FragmentThemeMd2Binding import com.topjohnwu.magisk.databinding.FragmentThemeMd2Binding
import com.topjohnwu.magisk.redesign.compat.CompatFragment import com.topjohnwu.magisk.redesign.compat.CompatFragment
...@@ -10,4 +11,12 @@ class ThemeFragment : CompatFragment<ThemeViewModel, FragmentThemeMd2Binding>() ...@@ -10,4 +11,12 @@ class ThemeFragment : CompatFragment<ThemeViewModel, FragmentThemeMd2Binding>()
override val layoutRes = R.layout.fragment_theme_md2 override val layoutRes = R.layout.fragment_theme_md2
override val viewModel by viewModel<ThemeViewModel>() override val viewModel by viewModel<ThemeViewModel>()
override fun consumeSystemWindowInsets(insets: Insets) = insets
override fun onStart() {
super.onStart()
activity.title = getString(R.string.section_theme)
}
} }
\ No newline at end of file
package com.topjohnwu.magisk.redesign.theme package com.topjohnwu.magisk.redesign.theme
import com.topjohnwu.magisk.BR
import com.topjohnwu.magisk.model.entity.recycler.ThemeItem
import com.topjohnwu.magisk.model.events.RecreateEvent
import com.topjohnwu.magisk.model.events.dialog.DarkThemeDialog
import com.topjohnwu.magisk.redesign.compat.CompatViewModel import com.topjohnwu.magisk.redesign.compat.CompatViewModel
import com.topjohnwu.magisk.redesign.home.itemBindingOf
import com.topjohnwu.magisk.redesign.superuser.diffListOf
class ThemeViewModel : CompatViewModel() class ThemeViewModel : CompatViewModel() {
\ No newline at end of file
val items = diffListOf(*Theme.values().map { ThemeItem(it) }.toTypedArray())
val itemBinding = itemBindingOf<ThemeItem> { it.bindExtra(BR.viewModel, this) }
fun saveTheme(theme: Theme) {
theme.select()
RecreateEvent().publish()
}
fun darkModePressed() = DarkThemeDialog().publish()
}
\ No newline at end of file
...@@ -455,4 +455,9 @@ fun View.setRotationNotAnimated(rotation: Int) { ...@@ -455,4 +455,9 @@ fun View.setRotationNotAnimated(rotation: Int) {
@BindingAdapter("android:text") @BindingAdapter("android:text")
fun TextView.setTextSafe(text: Int) { fun TextView.setTextSafe(text: Int) {
if (text == 0) this.text = null else setText(text) if (text == 0) this.text = null else setText(text)
}
@BindingAdapter("android:theme")
fun View.setThemeCompat(theme: Int) {
} }
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="#43A047" />
</shape>
</item>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="?colorOnSurface"
android:pathData="M20.71,4.63L19.37,3.29C19,2.9 18.35,2.9 17.96,3.29L9,12.25L11.75,15L20.71,6.04C21.1,5.65 21.1,5 20.71,4.63M7,14A3,3 0 0,0 4,17C4,18.31 2.84,19 2,19C2.92,20.22 4.5,21 6,21A4,4 0 0,0 10,17A3,3 0 0,0 7,14Z" />
</vector>
\ No newline at end of file
...@@ -27,14 +27,14 @@ ...@@ -27,14 +27,14 @@
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.AppBarLayout
android:id="@+id/main_toolbar_wrapper" android:id="@+id/main_toolbar_wrapper"
style="?styleAppbar" style="@style/WidgetFoundation.Appbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="@{viewModel.insets.top}"> android:paddingTop="@{viewModel.insets.top}">
<com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar
android:id="@+id/main_toolbar" android:id="@+id/main_toolbar"
style="?styleToolbar" style="@style/WidgetFoundation.Toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_scrollFlags="noScroll" app:layout_scrollFlags="noScroll"
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/main_bottom_bar" android:id="@+id/main_bottom_bar"
style="?styleCardElevated" style="@style/WidgetFoundation.Card.Elevated"
android:layout_width="192dp" android:layout_width="192dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal" android:layout_gravity="bottom|center_horizontal"
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
android:gravity="center" android:gravity="center"
android:paddingBottom="@dimen/l_50" android:paddingBottom="@dimen/l_50"
android:text="@string/no_connection" android:text="@string/no_connection"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
android:textColor="?colorError" android:textColor="?colorError"
android:visibility="gone" android:visibility="gone"
tools:visibility="visible" /> tools:visibility="visible" />
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
style="?styleCardElevated" style="@style/WidgetFoundation.Card.Elevated"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:cardElevation="@dimen/margin_generic" app:cardElevation="@dimen/margin_generic"
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
style="?styleIconPrimary" style="@style/WidgetFoundation.Icon.Primary"
gone="@{data.icon == 0}" gone="@{data.icon == 0}"
srcCompat="@{data.icon}" srcCompat="@{data.icon}"
android:layout_gravity="center" android:layout_gravity="center"
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
tools:src="@drawable/ic_delete_md2" /> tools:src="@drawable/ic_delete_md2" />
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
style="?styleImageBig" style="@style/WidgetFoundation.Image.Big"
gone="@{data.iconRaw == null}" gone="@{data.iconRaw == null}"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="@dimen/l1" android:layout_marginTop="@dimen/l1"
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
android:layout_marginTop="@dimen/l1" android:layout_marginTop="@dimen/l1"
android:gravity="center" android:gravity="center"
android:text="@{data.title}" android:text="@{data.title}"
android:textAppearance="?appearanceTextTitleNormal" android:textAppearance="@style/AppearanceFoundation.Title"
app:layout_constraintLeft_toLeftOf="@+id/dialog_base_start" app:layout_constraintLeft_toLeftOf="@+id/dialog_base_start"
app:layout_constraintRight_toRightOf="@+id/dialog_base_end" app:layout_constraintRight_toRightOf="@+id/dialog_base_end"
app:layout_constraintTop_toBottomOf="@+id/dialog_base_icon" app:layout_constraintTop_toBottomOf="@+id/dialog_base_icon"
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
android:layout_marginTop="@dimen/l_50" android:layout_marginTop="@dimen/l_50"
android:gravity="center" android:gravity="center"
android:text="@{data.message}" android:text="@{data.message}"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
tools:lines="3" tools:lines="3"
tools:text="@tools:sample/lorem/random" /> tools:text="@tools:sample/lorem/random" />
...@@ -154,7 +154,7 @@ ...@@ -154,7 +154,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/dialog_base_button_4" android:id="@+id/dialog_base_button_4"
style="?styleButtonText" style="@style/WidgetFoundation.Button.Text"
gone="@{data.buttonIDGAF.icon == 0 &amp;&amp; data.buttonIDGAF.title.length == 0}" gone="@{data.buttonIDGAF.icon == 0 &amp;&amp; data.buttonIDGAF.title.length == 0}"
isEnabled="@{data.buttonIDGAF.isEnabled()}" isEnabled="@{data.buttonIDGAF.isEnabled()}"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -169,7 +169,7 @@ ...@@ -169,7 +169,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/dialog_base_button_2" android:id="@+id/dialog_base_button_2"
style="?styleButtonText" style="@style/WidgetFoundation.Button.Text"
gone="@{data.buttonNeutral.icon == 0 &amp;&amp; data.buttonNeutral.title.length == 0}" gone="@{data.buttonNeutral.icon == 0 &amp;&amp; data.buttonNeutral.title.length == 0}"
isEnabled="@{data.buttonNeutral.isEnabled()}" isEnabled="@{data.buttonNeutral.isEnabled()}"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -192,7 +192,7 @@ ...@@ -192,7 +192,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/dialog_base_button_3" android:id="@+id/dialog_base_button_3"
style="?styleButtonText" style="@style/WidgetFoundation.Button.Text"
gone="@{data.buttonNegative.icon == 0 &amp;&amp; data.buttonNegative.title.length == 0}" gone="@{data.buttonNegative.icon == 0 &amp;&amp; data.buttonNegative.title.length == 0}"
isEnabled="@{data.buttonNegative.isEnabled()}" isEnabled="@{data.buttonNegative.isEnabled()}"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -207,7 +207,7 @@ ...@@ -207,7 +207,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/dialog_base_button_1" android:id="@+id/dialog_base_button_1"
style="?styleButtonText" style="@style/WidgetFoundation.Button.Text"
gone="@{data.buttonPositive.icon == 0 &amp;&amp; data.buttonPositive.title.length == 0}" gone="@{data.buttonPositive.icon == 0 &amp;&amp; data.buttonPositive.title.length == 0}"
isEnabled="@{data.buttonPositive.isEnabled()}" isEnabled="@{data.buttonPositive.isEnabled()}"
android:layout_width="wrap_content" android:layout_width="wrap_content"
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
<com.google.android.material.circularreveal.cardview.CircularRevealCardView <com.google.android.material.circularreveal.cardview.CircularRevealCardView
android:id="@+id/hide_filter" android:id="@+id/hide_filter"
style="?styleCardVariant" style="@style/WidgetFoundation.Card.Variant"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom" android:layout_gravity="bottom"
...@@ -78,11 +78,11 @@ ...@@ -78,11 +78,11 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/safetynet_attest_loading" android:text="@string/safetynet_attest_loading"
android:textAppearance="?appearanceTextTitleNormal" android:textAppearance="@style/AppearanceFoundation.Title"
android:textStyle="bold" /> android:textStyle="bold" />
<ProgressBar <ProgressBar
style="?styleProgressIndeterminate" style="@style/WidgetFoundation.ProgressBar.Indeterminate"
android:layout_marginTop="@dimen/l1" /> android:layout_marginTop="@dimen/l1" />
</LinearLayout> </LinearLayout>
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
android:paddingTop="@dimen/l1"> android:paddingTop="@dimen/l1">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
style="?styleCardVariant" style="@style/WidgetFoundation.Card.Variant"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l1" android:layout_marginStart="@dimen/l1"
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/install_step_options_icon" android:id="@+id/install_step_options_icon"
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
isSelected="@{viewModel.step > 0}" isSelected="@{viewModel.step > 0}"
android:layout_marginStart="@dimen/l_25" android:layout_marginStart="@dimen/l_25"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
android:layout_marginStart="@dimen/l1" android:layout_marginStart="@dimen/l1"
android:gravity="start" android:gravity="start"
android:text="@string/install_options_title" android:text="@string/install_options_title"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/install_step_options_button" app:layout_constraintEnd_toStartOf="@+id/install_step_options_button"
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/install_step_options_button" android:id="@+id/install_step_options_button"
style="?styleButtonText" style="@style/WidgetFoundation.Button.Text"
gone="@{viewModel.step != 0}" gone="@{viewModel.step != 0}"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
style="?styleCardVariant" style="@style/WidgetFoundation.Card.Variant"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l1" android:layout_marginStart="@dimen/l1"
...@@ -131,7 +131,7 @@ ...@@ -131,7 +131,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/install_step_method_icon" android:id="@+id/install_step_method_icon"
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
isSelected="@{viewModel.step > 1}" isSelected="@{viewModel.step > 1}"
android:layout_marginStart="@dimen/l_25" android:layout_marginStart="@dimen/l_25"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
...@@ -146,7 +146,7 @@ ...@@ -146,7 +146,7 @@
android:layout_marginStart="@dimen/l1" android:layout_marginStart="@dimen/l1"
android:gravity="start" android:gravity="start"
android:text="@string/install_method_title" android:text="@string/install_method_title"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/install_step_method_button" app:layout_constraintEnd_toStartOf="@+id/install_step_method_button"
...@@ -155,7 +155,7 @@ ...@@ -155,7 +155,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/install_step_method_button" android:id="@+id/install_step_method_button"
style="?styleButtonText" style="@style/WidgetFoundation.Button.Text"
gone="@{viewModel.step != 1}" gone="@{viewModel.step != 1}"
isEnabled="@{viewModel.method == @id/method_patch ? viewModel.data != null : viewModel.method != -1}" isEnabled="@{viewModel.method == @id/method_patch ? viewModel.data != null : viewModel.method != -1}"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -182,7 +182,7 @@ ...@@ -182,7 +182,7 @@
<com.google.android.material.radiobutton.MaterialRadioButton <com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/method_download" android:id="@+id/method_download"
style="?styleRadioNormal" style="@style/WidgetFoundation.RadioButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/download_zip_only" android:text="@string/download_zip_only"
...@@ -190,7 +190,7 @@ ...@@ -190,7 +190,7 @@
<com.google.android.material.radiobutton.MaterialRadioButton <com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/method_patch" android:id="@+id/method_patch"
style="?styleRadioNormal" style="@style/WidgetFoundation.RadioButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:button="@drawable/ic_radio_check_button" android:button="@drawable/ic_radio_check_button"
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
<com.google.android.material.radiobutton.MaterialRadioButton <com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/method_direct" android:id="@+id/method_direct"
style="?styleRadioNormal" style="@style/WidgetFoundation.RadioButton"
gone="@{!viewModel.rooted}" gone="@{!viewModel.rooted}"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -207,7 +207,7 @@ ...@@ -207,7 +207,7 @@
<com.google.android.material.radiobutton.MaterialRadioButton <com.google.android.material.radiobutton.MaterialRadioButton
android:id="@+id/method_inactive_slot" android:id="@+id/method_inactive_slot"
style="?styleRadioNormal" style="@style/WidgetFoundation.RadioButton"
gone="@{!viewModel.rooted || !viewModel.aB}" gone="@{!viewModel.rooted || !viewModel.aB}"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -221,7 +221,7 @@ ...@@ -221,7 +221,7 @@
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
style="?styleButtonText" style="@style/WidgetFoundation.Button.Text"
gone="@{viewModel.step != 2}" gone="@{viewModel.step != 2}"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -249,7 +249,7 @@ ...@@ -249,7 +249,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:text="@string/safetynet_attest_loading" android:text="@string/safetynet_attest_loading"
android:textAppearance="?appearanceTextTitleNormal" /> android:textAppearance="@style/AppearanceFoundation.Title" />
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -257,14 +257,14 @@ ...@@ -257,14 +257,14 @@
android:layout_marginTop="@dimen/l1"> android:layout_marginTop="@dimen/l1">
<ProgressBar <ProgressBar
style="?styleProgressDeterminate" style="@style/WidgetFoundation.ProgressBar"
invisible="@{viewModel.progress &lt;= 0}" invisible="@{viewModel.progress &lt;= 0}"
android:layout_width="100dp" android:layout_width="100dp"
android:layout_gravity="center" android:layout_gravity="center"
android:progress="@{viewModel.progress}" /> android:progress="@{viewModel.progress}" />
<ProgressBar <ProgressBar
style="?styleProgressIndeterminate" style="@style/WidgetFoundation.ProgressBar.Indeterminate"
invisibleUnless="@{viewModel.progress &lt;= 0}" invisibleUnless="@{viewModel.progress &lt;= 0}"
android:layout_width="100dp" android:layout_width="100dp"
android:layout_gravity="center" /> android:layout_gravity="center" />
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<com.google.android.material.circularreveal.cardview.CircularRevealCardView <com.google.android.material.circularreveal.cardview.CircularRevealCardView
android:id="@+id/log_filter" android:id="@+id/log_filter"
style="?styleCardVariant" style="@style/WidgetFoundation.Card.Variant"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="bottom" android:layout_gravity="bottom"
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<com.google.android.material.circularreveal.cardview.CircularRevealCardView <com.google.android.material.circularreveal.cardview.CircularRevealCardView
android:id="@+id/module_filter" android:id="@+id/module_filter"
style="?styleCardVariant" style="@style/WidgetFoundation.Card.Variant"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="bottom" android:layout_gravity="bottom"
...@@ -82,11 +82,11 @@ ...@@ -82,11 +82,11 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/safetynet_attest_loading" android:text="@string/safetynet_attest_loading"
android:textAppearance="?appearanceTextTitleNormal" android:textAppearance="@style/AppearanceFoundation.Title"
android:textStyle="bold" /> android:textStyle="bold" />
<ProgressBar <ProgressBar
style="?styleProgressIndeterminate" style="@style/WidgetFoundation.ProgressBar.Indeterminate"
android:layout_marginTop="@dimen/l1" /> android:layout_marginTop="@dimen/l1" />
</LinearLayout> </LinearLayout>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:text="@string/safetynet_attest_loading" android:text="@string/safetynet_attest_loading"
android:textAppearance="?appearanceTextTitleNormal" /> android:textAppearance="@style/AppearanceFoundation.Title" />
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
invisibleUnless="@{viewModel.success || viewModel.failed}" invisibleUnless="@{viewModel.success || viewModel.failed}"
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/safetynet_icon" android:id="@+id/safetynet_icon"
style="?styleImageBig" style="@style/WidgetFoundation.Image.Big"
app:layout_constraintBottom_toTopOf="@+id/safetynet_magisk_title" app:layout_constraintBottom_toTopOf="@+id/safetynet_magisk_title"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintHorizontal_chainStyle="packed"
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1" android:layout_marginTop="@dimen/l1"
android:text="@string/magisk" android:text="@string/magisk"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
app:layout_constraintBottom_toTopOf="@+id/safetynet_manager_title" app:layout_constraintBottom_toTopOf="@+id/safetynet_manager_title"
app:layout_constraintEnd_toStartOf="@+id/safetynet_magisk_version" app:layout_constraintEnd_toStartOf="@+id/safetynet_magisk_version"
app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintHorizontal_chainStyle="packed"
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l_50" android:layout_marginStart="@dimen/l_50"
android:text="@{Info.env.magiskVersionString}" android:text="@{Info.env.magiskVersionString}"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/safetynet_magisk_title" app:layout_constraintBottom_toBottomOf="@+id/safetynet_magisk_title"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/manager" android:text="@string/manager"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
app:layout_constraintBottom_toTopOf="@+id/safetynet_android_title" app:layout_constraintBottom_toTopOf="@+id/safetynet_android_title"
app:layout_constraintEnd_toStartOf="@+id/safetynet_manager_version" app:layout_constraintEnd_toStartOf="@+id/safetynet_manager_version"
app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintHorizontal_chainStyle="packed"
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l_50" android:layout_marginStart="@dimen/l_50"
android:text="@{BuildConfig.VERSION_NAME}" android:text="@{BuildConfig.VERSION_NAME}"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/safetynet_manager_title" app:layout_constraintBottom_toBottomOf="@+id/safetynet_manager_title"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/system" android:text="@string/system"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
app:layout_constraintBottom_toTopOf="@+id/safetynet_attestation" app:layout_constraintBottom_toTopOf="@+id/safetynet_attestation"
app:layout_constraintEnd_toStartOf="@+id/safetynet_android_version" app:layout_constraintEnd_toStartOf="@+id/safetynet_android_version"
app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintHorizontal_chainStyle="packed"
...@@ -132,7 +132,7 @@ ...@@ -132,7 +132,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l_50" android:layout_marginStart="@dimen/l_50"
android:text="@{Build.VERSION.RELEASE}" android:text="@{Build.VERSION.RELEASE}"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/safetynet_android_title" app:layout_constraintBottom_toBottomOf="@+id/safetynet_android_title"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
...@@ -143,7 +143,7 @@ ...@@ -143,7 +143,7 @@
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/safetynet_attestation" android:id="@+id/safetynet_attestation"
style="?styleCardElevated" style="@style/WidgetFoundation.Card.Elevated"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l1" android:layout_marginStart="@dimen/l1"
...@@ -188,7 +188,7 @@ ...@@ -188,7 +188,7 @@
android:layout_marginEnd="@dimen/l1" android:layout_marginEnd="@dimen/l1"
android:gravity="center" android:gravity="center"
android:text="@{viewModel.safetyNetTitle}" android:text="@{viewModel.safetyNetTitle}"
android:textAppearance="?appearanceTextDisplayOnPrimary" android:textAppearance="@style/AppearanceFoundation.Display.OnPrimary"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintHorizontal_chainStyle="packed"
...@@ -222,12 +222,12 @@ ...@@ -222,12 +222,12 @@
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:gravity="start" android:gravity="start"
android:text="ctsProfile" android:text="ctsProfile"
android:textAppearance="?appearanceTextBodyOnPrimary" android:textAppearance="@style/AppearanceFoundation.Body.OnPrimary"
android:textStyle="bold" android:textStyle="bold"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
style="?styleIconOnPrimary" style="@style/WidgetFoundation.Icon.OnPrimary"
isSelected="@{viewModel.ctsState}" isSelected="@{viewModel.ctsState}"
android:layout_gravity="center" android:layout_gravity="center"
app:srcCompat="@drawable/ic_check_circle_md2" /> app:srcCompat="@drawable/ic_check_circle_md2" />
...@@ -251,12 +251,12 @@ ...@@ -251,12 +251,12 @@
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:gravity="start" android:gravity="start"
android:text="basicIntegrity" android:text="basicIntegrity"
android:textAppearance="?appearanceTextBodyOnPrimary" android:textAppearance="@style/AppearanceFoundation.Body.OnPrimary"
android:textStyle="bold" android:textStyle="bold"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
style="?styleIconOnPrimary" style="@style/WidgetFoundation.Icon.OnPrimary"
isSelected="@{viewModel.basicIntegrityState}" isSelected="@{viewModel.basicIntegrityState}"
android:layout_gravity="center" android:layout_gravity="center"
app:srcCompat="@drawable/ic_check_circle_md2" /> app:srcCompat="@drawable/ic_check_circle_md2" />
...@@ -268,7 +268,7 @@ ...@@ -268,7 +268,7 @@
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
style="?styleButtonText" style="@style/WidgetFoundation.Button.Text"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1" android:layout_marginTop="@dimen/l1"
......
...@@ -23,18 +23,20 @@ ...@@ -23,18 +23,20 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:paddingTop="@dimen/l1" android:layout_height="wrap_content"
android:layout_height="wrap_content"> android:paddingTop="@dimen/l1">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/settings_card_dark" android:id="@+id/settings_card_redesign"
style="?styleCardNormal" style="@style/WidgetFoundation.Card"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l1" android:layout_marginLeft="@dimen/l1"
android:onClick="@{() -> viewModel.darkModePressed()}" android:layout_marginRight="@dimen/l1"
app:layout_constraintEnd_toStartOf="@+id/settings_card_redesign" android:layout_marginBottom="@dimen/l1"
app:layout_constraintStart_toStartOf="parent" android:onClick="@{() -> viewModel.toggle(viewModel.redesign)}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/settings_card_theme"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
...@@ -42,38 +44,29 @@ ...@@ -42,38 +44,29 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/settings_card_dark_icon"
style="?styleIconNormal"
android:background="@null"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_day_night" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/settings_card_dark_pointer"
style="?styleIconNormal"
android:background="@null"
android:rotation="180"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_back_md2" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:background="@null" android:gravity="start"
android:gravity="start|center_vertical" android:paddingStart="@dimen/l1"
android:singleLine="true" android:text="Redesign"
android:text="@string/settings_dark_mode_title" android:textAppearance="@style/AppearanceFoundation.Body"
android:textAppearance="?appearanceTextBodyNormal"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/settings_card_dark_pointer" app:layout_constraintEnd_toStartOf="@+id/settings_card_redesign_switch"
app:layout_constraintStart_toEndOf="@+id/settings_card_dark_icon" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/settings_card_redesign_switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginEnd="@dimen/l_50"
android:checked="@={viewModel.redesign}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
...@@ -81,16 +74,14 @@ ...@@ -81,16 +74,14 @@
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/settings_card_redesign" android:id="@+id/settings_card_theme"
style="?styleCardNormal" style="@style/WidgetFoundation.Card"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/l1" android:layout_marginStart="@dimen/l1"
android:layout_marginRight="@dimen/l1" android:onClick="@{() -> viewModel.themePressed()}"
android:layout_marginBottom="@dimen/l1" app:layout_constraintEnd_toStartOf="@+id/settings_card_redesign"
android:onClick="@{() -> viewModel.toggle(viewModel.redesign)}" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/settings_card_dark"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
...@@ -98,29 +89,38 @@ ...@@ -98,29 +89,38 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatImageView
android:layout_width="0dp" android:id="@+id/settings_card_theme_dark_icon"
android:layout_height="wrap_content" style="@style/WidgetFoundation.Icon"
android:layout_gravity="center" android:background="@null"
android:gravity="start"
android:paddingStart="@dimen/l1"
android:text="Redesign"
android:textAppearance="?appearanceTextBodyNormal"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/settings_card_redesign_switch"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_paint" />
<com.google.android.material.switchmaterial.SwitchMaterial <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/settings_card_redesign_switch" android:id="@+id/settings_card_theme_dark_pointer"
android:layout_width="wrap_content" style="@style/WidgetFoundation.Icon"
android:background="@null"
android:rotation="180"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_back_md2" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/l_50"
android:layout_gravity="center" android:layout_gravity="center"
android:checked="@={viewModel.redesign}" android:background="@null"
android:gravity="start|center_vertical"
android:singleLine="true"
android:text="@string/section_theme"
android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toStartOf="@+id/settings_card_theme_dark_pointer"
app:layout_constraintStart_toEndOf="@+id/settings_card_theme_dark_icon"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/superuser_hide" android:id="@+id/superuser_hide"
style="?styleCardNormal" style="@style/WidgetFoundation.Card"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l1" android:layout_marginStart="@dimen/l1"
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/superuser_hide_icon" android:id="@+id/superuser_hide_icon"
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
android:background="@null" android:background="@null"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
android:requiresFadingEdge="horizontal" android:requiresFadingEdge="horizontal"
android:singleLine="true" android:singleLine="true"
android:text="@string/magisk_hide_md2" android:text="@string/magisk_hide_md2"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/superuser_hide_icon_pointer" app:layout_constraintEnd_toStartOf="@+id/superuser_hide_icon_pointer"
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/superuser_hide_icon_pointer" android:id="@+id/superuser_hide_icon_pointer"
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
android:background="@null" android:background="@null"
android:rotation="180" android:rotation="180"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/superuser_safetynet" android:id="@+id/superuser_safetynet"
style="?styleCardNormal" style="@style/WidgetFoundation.Card"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/l1" android:layout_marginEnd="@dimen/l1"
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/superuser_safetynet_icon" android:id="@+id/superuser_safetynet_icon"
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
android:background="@null" android:background="@null"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
android:requiresFadingEdge="horizontal" android:requiresFadingEdge="horizontal"
android:singleLine="true" android:singleLine="true"
android:text="@string/safetyNet" android:text="@string/safetyNet"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/superuser_safetynet_icon_pointer" app:layout_constraintEnd_toStartOf="@+id/superuser_safetynet_icon_pointer"
...@@ -120,7 +120,7 @@ ...@@ -120,7 +120,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/superuser_safetynet_icon_pointer" android:id="@+id/superuser_safetynet_icon_pointer"
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
android:background="@null" android:background="@null"
android:rotation="180" android:rotation="180"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
...@@ -172,11 +172,11 @@ ...@@ -172,11 +172,11 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/safetynet_attest_loading" android:text="@string/safetynet_attest_loading"
android:textAppearance="?appearanceTextTitleNormal" android:textAppearance="@style/AppearanceFoundation.Title"
android:textStyle="bold" /> android:textStyle="bold" />
<ProgressBar <ProgressBar
style="?styleProgressIndeterminate" style="@style/WidgetFoundation.ProgressBar.Indeterminate"
android:layout_marginTop="@dimen/l1" /> android:layout_marginTop="@dimen/l1" />
</LinearLayout> </LinearLayout>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"> <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data> <data>
<import type="com.topjohnwu.magisk.redesign.theme.Theme" />
<variable <variable
name="viewModel" name="viewModel"
type="com.topjohnwu.magisk.redesign.theme.ThemeViewModel" /> type="com.topjohnwu.magisk.redesign.theme.ThemeViewModel" />
...@@ -12,11 +15,194 @@ ...@@ -12,11 +15,194 @@
<androidx.core.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:fillViewport="true"> android:clipToPadding="false"
android:fillViewport="true"
android:paddingStart="@dimen/l1"
android:paddingTop="@{viewModel.insets.top + (int) @dimen/internal_action_bar_size + (int) @dimen/l1}"
android:paddingEnd="@dimen/l1"
android:paddingBottom="@{viewModel.insets.bottom + (int) @dimen/l1}">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content"
android:columnCount="2"
android:orientation="vertical"
android:useDefaultMargins="true">
<com.google.android.material.card.MaterialCardView
android:id="@+id/theme_card_dark"
style="@style/WidgetFoundation.Card"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:onClick="@{() -> viewModel.darkModePressed()}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/settings_card_dark_icon"
style="@style/WidgetFoundation.Icon"
android:background="@null"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_day_night" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/settings_card_dark_pointer"
style="@style/WidgetFoundation.Icon"
android:background="@null"
android:rotation="180"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_back_md2" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@null"
android:gravity="start|center_vertical"
android:singleLine="true"
android:text="@string/settings_dark_mode_title"
android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/settings_card_dark_pointer"
app:layout_constraintStart_toEndOf="@+id/settings_card_dark_icon"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
<FrameLayout
android:id="@+id/theme_default"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1"
android:layout_marginEnd="@dimen/l1"
android:theme="@style/ThemeFoundationMD2.Piplup"
app:layout_constraintEnd_toStartOf="@+id/theme_amoled"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/theme_card_dark">
<include
layout="@layout/item_theme"
theme="@{Theme.Piplup}"
viewModel="@{viewModel}" />
</FrameLayout>
<FrameLayout
android:id="@+id/theme_amoled"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1"
android:theme="@style/ThemeFoundationMD2.Amoled"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/theme_default"
app:layout_constraintTop_toBottomOf="@+id/theme_card_dark">
<include
layout="@layout/item_theme"
theme="@{Theme.PiplupAmoled}"
viewModel="@{viewModel}" />
</FrameLayout>
<FrameLayout
android:id="@+id/theme_rayquaza"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1"
android:theme="@style/ThemeFoundationMD2.Rayquaza"
app:layout_constraintEnd_toEndOf="@+id/theme_default"
app:layout_constraintStart_toStartOf="@+id/theme_default"
app:layout_constraintTop_toBottomOf="@+id/theme_default">
<include
layout="@layout/item_theme"
theme="@{Theme.Rayquaza}"
viewModel="@{viewModel}" />
</FrameLayout>
<FrameLayout
android:id="@+id/theme_zapdos"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1"
android:theme="@style/ThemeFoundationMD2.Zapdos"
app:layout_constraintEnd_toEndOf="@+id/theme_amoled"
app:layout_constraintStart_toStartOf="@+id/theme_amoled"
app:layout_constraintTop_toBottomOf="@+id/theme_amoled">
<include
layout="@layout/item_theme"
theme="@{Theme.Zapdos}"
viewModel="@{viewModel}" />
</FrameLayout>
<FrameLayout
android:id="@+id/theme_charmeleon"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1"
android:theme="@style/ThemeFoundationMD2.Charmeleon"
app:layout_constraintEnd_toEndOf="@+id/theme_rayquaza"
app:layout_constraintStart_toStartOf="@+id/theme_rayquaza"
app:layout_constraintTop_toBottomOf="@+id/theme_rayquaza">
<include
layout="@layout/item_theme"
theme="@{Theme.Charmeleon}"
viewModel="@{viewModel}" />
</FrameLayout>
<FrameLayout
android:id="@+id/theme_mew"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1"
android:theme="@style/ThemeFoundationMD2.Mew"
app:layout_constraintEnd_toEndOf="@+id/theme_zapdos"
app:layout_constraintStart_toStartOf="@+id/theme_zapdos"
app:layout_constraintTop_toBottomOf="@+id/theme_zapdos">
<include
layout="@layout/item_theme"
theme="@{Theme.Mew}"
viewModel="@{viewModel}" />
</FrameLayout>
<FrameLayout
android:id="@+id/theme_salamence"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1"
android:theme="@style/ThemeFoundationMD2.Salamence"
app:layout_constraintEnd_toEndOf="@+id/theme_charmeleon"
app:layout_constraintStart_toStartOf="@+id/theme_charmeleon"
app:layout_constraintTop_toBottomOf="@+id/theme_charmeleon">
<include
layout="@layout/item_theme"
theme="@{Theme.Salamence}"
viewModel="@{viewModel}" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/hide_filters" android:text="@string/hide_filters"
android:textAllCaps="true" android:textAllCaps="true"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
android:textColor="?colorPrimary" android:textColor="?colorPrimary"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:checked="@={viewModel.showSystem}" android:checked="@={viewModel.showSystem}"
android:text="@string/show_system_app" android:text="@string/show_system_app"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
app:checkedIcon="@drawable/ic_check_md2" app:checkedIcon="@drawable/ic_check_md2"
app:chipBackgroundColor="?colorSurfaceVariant" app:chipBackgroundColor="?colorSurfaceVariant"
tools:checked="true" /> tools:checked="true" />
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:checkable="false" android:checkable="false"
android:text="@{viewModel.query}" android:text="@{viewModel.query}"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
app:chipBackgroundColor="?colorSurfaceVariant" /> app:chipBackgroundColor="?colorSurfaceVariant" />
</com.google.android.material.chip.ChipGroup> </com.google.android.material.chip.ChipGroup>
...@@ -77,14 +77,14 @@ ...@@ -77,14 +77,14 @@
android:layout_marginTop="@dimen/l1" android:layout_marginTop="@dimen/l1"
android:text="@string/hide_search" android:text="@string/hide_search"
android:textAllCaps="true" android:textAllCaps="true"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
android:textColor="?colorPrimary" android:textColor="?colorPrimary"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintTop_toBottomOf="@+id/hide_filter_chip_group" /> app:layout_constraintTop_toBottomOf="@+id/hide_filter_chip_group" />
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/hide_filter_search" android:id="@+id/hide_filter_search"
style="?styleCardNormal" style="@style/WidgetFoundation.Card"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1" android:layout_marginTop="@dimen/l1"
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
app:layout_constraintTop_toBottomOf="@+id/hide_filter_title_search"> app:layout_constraintTop_toBottomOf="@+id/hide_filter_title_search">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
android:layout_width="48dp" android:layout_width="48dp"
android:layout_height="36dp" android:layout_height="36dp"
android:layout_gravity="center_vertical|start" android:layout_gravity="center_vertical|start"
...@@ -117,7 +117,7 @@ ...@@ -117,7 +117,7 @@
android:paddingEnd="@dimen/l1" android:paddingEnd="@dimen/l1"
android:singleLine="true" android:singleLine="true"
android:text="@={viewModel.query}" android:text="@={viewModel.query}"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textColor="@color/color_text_transient" android:textColor="@color/color_text_transient"
android:textColorHint="?colorOnSurfaceVariant" /> android:textColorHint="?colorOnSurfaceVariant" />
...@@ -128,6 +128,7 @@ ...@@ -128,6 +128,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:backgroundTint="?colorPrimary" app:backgroundTint="?colorPrimary"
app:tint="?colorOnPrimary"
app:elevation="0dp" app:elevation="0dp"
app:fabSize="mini" app:fabSize="mini"
app:layout_constraintBottom_toBottomOf="@+id/hide_filter_search" app:layout_constraintBottom_toBottomOf="@+id/hide_filter_search"
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
tools:layout_gravity="center"> tools:layout_gravity="center">
<com.google.android.material.checkbox.MaterialCheckBox <com.google.android.material.checkbox.MaterialCheckBox
style="?styleCheckboxNormal" style="@style/WidgetFoundation.Checkbox"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical" android:layout_gravity="start|center_vertical"
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
tools:checked="true" /> tools:checked="true" />
<com.google.android.material.checkbox.MaterialCheckBox <com.google.android.material.checkbox.MaterialCheckBox
style="?styleCheckboxNormal" style="@style/WidgetFoundation.Checkbox"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical" android:layout_gravity="start|center_vertical"
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
app:tint="?colorPrimary" /> app:tint="?colorPrimary" />
<com.google.android.material.checkbox.MaterialCheckBox <com.google.android.material.checkbox.MaterialCheckBox
style="?styleCheckboxNormal" style="@style/WidgetFoundation.Checkbox"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical" android:layout_gravity="start|center_vertical"
......
...@@ -63,14 +63,14 @@ ...@@ -63,14 +63,14 @@
android:layout_marginBottom="@dimen/l1" android:layout_marginBottom="@dimen/l1"
android:text="@string/hide_search" android:text="@string/hide_search"
android:textAllCaps="true" android:textAllCaps="true"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
android:textColor="?colorPrimary" android:textColor="?colorPrimary"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/module_filter_search" /> app:layout_constraintBottom_toTopOf="@+id/module_filter_search" />
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
android:id="@+id/module_filter_search" android:id="@+id/module_filter_search"
style="?styleCardNormal" style="@style/WidgetFoundation.Card"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l1" android:layout_marginStart="@dimen/l1"
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
app:layout_constraintStart_toStartOf="parent"> app:layout_constraintStart_toStartOf="parent">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
android:layout_width="48dp" android:layout_width="48dp"
android:layout_height="36dp" android:layout_height="36dp"
android:layout_gravity="center_vertical|start" android:layout_gravity="center_vertical|start"
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
android:paddingEnd="@dimen/l1" android:paddingEnd="@dimen/l1"
android:singleLine="true" android:singleLine="true"
android:text="@={viewModel.query}" android:text="@={viewModel.query}"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textColor="@color/color_text_transient" android:textColor="@color/color_text_transient"
android:textColorHint="?colorOnSurfaceVariant" /> android:textColorHint="?colorOnSurfaceVariant" />
...@@ -115,6 +115,7 @@ ...@@ -115,6 +115,7 @@
android:layout_marginEnd="@dimen/l1" android:layout_marginEnd="@dimen/l1"
app:backgroundTint="?colorPrimary" app:backgroundTint="?colorPrimary"
app:elevation="0dp" app:elevation="0dp"
app:tint="?colorOnPrimary"
app:fabSize="mini" app:fabSize="mini"
app:layout_constraintBottom_toBottomOf="@+id/module_filter_search" app:layout_constraintBottom_toBottomOf="@+id/module_filter_search"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
...@@ -122,7 +123,7 @@ ...@@ -122,7 +123,7 @@
app:srcCompat="@drawable/ic_check_md2" /> app:srcCompat="@drawable/ic_check_md2" />
<ProgressBar <ProgressBar
style="?styleProgressIndeterminateCircular" style="@style/WidgetFoundation.ProgressBar.Indeterminate.Circular"
goneUnless="@{viewModel.searchLoading}" goneUnless="@{viewModel.searchLoading}"
android:layout_width="56dp" android:layout_width="56dp"
android:layout_height="56dp" android:layout_height="56dp"
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="monospace" android:fontFamily="monospace"
android:text="@{item.item}" android:text="@{item.item}"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
android:textSize="10sp" android:textSize="10sp"
tools:text="@tools:sample/lorem/random" /> tools:text="@tools:sample/lorem/random" />
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
tools:layout_gravity="center|start"> tools:layout_gravity="center|start">
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
style="?styleCardNormal" style="@style/WidgetFoundation.Card"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constrainedWidth="true" app:layout_constrainedWidth="true"
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{item.name}" android:text="@{item.name}"
android:textAppearance="?appearanceTextCaptionNormal" android:textAppearance="@style/AppearanceFoundation.Caption"
android:textStyle="bold" android:textStyle="bold"
tools:text="\@topjohnwu" /> tools:text="\@topjohnwu" />
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/developer_link" android:id="@+id/developer_link"
style="?styleImageSmall" style="@style/WidgetFoundation.Image.Small"
app:layout_constraintEnd_toStartOf="@+id/developer_more" app:layout_constraintEnd_toStartOf="@+id/developer_more"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/developer_more" android:id="@+id/developer_more"
style="?styleImageSmall" style="@style/WidgetFoundation.Image.Small"
android:layout_height="14sp" android:layout_height="14sp"
app:layout_constraintBottom_toBottomOf="@+id/developer_link" app:layout_constraintBottom_toBottomOf="@+id/developer_link"
app:layout_constraintStart_toEndOf="@+id/developer_link" app:layout_constraintStart_toEndOf="@+id/developer_link"
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</data> </data>
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
style="?styleCardNormal" style="@style/WidgetFoundation.Card"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:layout_gravity="center" tools:layout_gravity="center"
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/hide_icon" android:id="@+id/hide_icon"
style="?styleImageNormal" style="@style/WidgetFoundation.Image"
android:layout_margin="@dimen/l1" android:layout_margin="@dimen/l1"
android:alpha="@{item.isExpanded ? 0.1f : 1f}" android:alpha="@{item.isExpanded ? 0.1f : 1f}"
android:src="@{item.item.info.icon}" android:src="@{item.item.info.icon}"
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/hide_action" android:id="@+id/hide_action"
style="?styleImageNormal" style="@style/WidgetFoundation.Image"
isSelected="@{item.itemsCheckedPercent == 100}" isSelected="@{item.itemsCheckedPercent == 100}"
goneUnless="@{item.isExpanded}" goneUnless="@{item.isExpanded}"
android:layout_margin="@dimen/l1" android:layout_margin="@dimen/l1"
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
android:ellipsize="middle" android:ellipsize="middle"
android:singleLine="true" android:singleLine="true"
android:text="@{item.item.info.name}" android:text="@{item.item.info.name}"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/hide_package" app:layout_constraintBottom_toTopOf="@+id/hide_package"
app:layout_constraintEnd_toStartOf="@+id/hide_expand_icon" app:layout_constraintEnd_toStartOf="@+id/hide_expand_icon"
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{item.item.info.info.packageName}" android:text="@{item.item.info.info.packageName}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/hide_name" app:layout_constraintEnd_toEndOf="@+id/hide_name"
app:layout_constraintStart_toStartOf="@+id/hide_name" app:layout_constraintStart_toStartOf="@+id/hide_name"
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/hide_expand_icon" android:id="@+id/hide_expand_icon"
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
invisible="@{item.item.processes.empty}" invisible="@{item.item.processes.empty}"
srcCompat="@{item.isExpanded ? R.drawable.ic_close : R.drawable.ic_back_md2}" srcCompat="@{item.isExpanded ? R.drawable.ic_close : R.drawable.ic_back_md2}"
android:background="@null" android:background="@null"
...@@ -122,7 +122,7 @@ ...@@ -122,7 +122,7 @@
</LinearLayout> </LinearLayout>
<ProgressBar <ProgressBar
style="?styleProgressDeterminate" style="@style/WidgetFoundation.ProgressBar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_gravity="top" android:layout_gravity="top"
android:progress="@{item.itemsCheckedPercent}" /> android:progress="@{item.itemsCheckedPercent}" />
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
android:layout_marginBottom="@dimen/l_50" android:layout_marginBottom="@dimen/l_50"
android:singleLine="true" android:singleLine="true"
android:text="@{item.item.name}" android:text="@{item.item.name}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/hide_process_checkbox" app:layout_constraintEnd_toStartOf="@+id/hide_process_checkbox"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/hide_process_checkbox" android:id="@+id/hide_process_checkbox"
style="?styleImageSmall" style="@style/WidgetFoundation.Image.Small"
android:layout_width="18dp" android:layout_width="18dp"
android:layout_height="18dp" android:layout_height="18dp"
isSelected="@{item.isHidden}" isSelected="@{item.isHidden}"
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{item.item.appName}" android:text="@{item.item.appName}"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/log_date" app:layout_constraintBottom_toTopOf="@+id/log_date"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{item.date}" android:text="@{item.date}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
android:textSize="10sp" android:textSize="10sp"
app:layout_constraintBottom_toTopOf="@+id/log_app_details" app:layout_constraintBottom_toTopOf="@+id/log_app_details"
app:layout_constraintTop_toBottomOf="@+id/log_app_name" app:layout_constraintTop_toBottomOf="@+id/log_app_name"
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{String.format(`%s %s`, @string/pid(item.item.fromPid), @string/target_uid(item.item.toUid))}" android:text="@{String.format(`%s %s`, @string/pid(item.item.fromPid), @string/target_uid(item.item.toUid))}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
android:textSize="10sp" android:textSize="10sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/log_command" app:layout_constraintEnd_toStartOf="@+id/log_command"
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="monospace" android:fontFamily="monospace"
android:text="@{item.item.command}" android:text="@{item.item.command}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
android:textSize="10sp" android:textSize="10sp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/log_app_details" app:layout_constraintStart_toEndOf="@+id/log_app_details"
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/track_bullet" android:id="@+id/track_bullet"
style="?styleImageSmall" style="@style/WidgetFoundation.Image.Small"
isSelected="@{isSelected}" isSelected="@{isSelected}"
srcCompat="@{bullet}" srcCompat="@{bullet}"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
</data> </data>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
style="?styleButtonOutlined" style="@style/WidgetFoundation.Button.Outlined"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:onClick="@{() -> viewModel.installPressed()}" android:onClick="@{() -> viewModel.installPressed()}"
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</data> </data>
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
style="?styleCardVariant" style="@style/WidgetFoundation.Card.Variant"
isEnabled="@{!Config.coreOnly &amp;&amp; !item.removed}" isEnabled="@{!Config.coreOnly &amp;&amp; !item.removed}"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/module_state_icon" android:id="@+id/module_state_icon"
style="?styleImageSmall" style="@style/WidgetFoundation.Image.Small"
gone="@{!item.removed &amp;&amp; !item.updated}" gone="@{!item.removed &amp;&amp; !item.updated}"
srcCompat="@{item.removed ? R.drawable.ic_delete_md2 : (item.updated ? R.drawable.ic_update_md2 : 0)}" srcCompat="@{item.removed ? R.drawable.ic_delete_md2 : (item.updated ? R.drawable.ic_update_md2 : 0)}"
android:layout_marginStart="@dimen/l1" android:layout_marginStart="@dimen/l1"
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
android:layout_marginTop="@dimen/l1" android:layout_marginTop="@dimen/l1"
android:layout_marginEnd="@dimen/l1" android:layout_marginEnd="@dimen/l1"
android:text="@{item.item.name}" android:text="@{item.item.name}"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/module_state_icon" app:layout_constraintStart_toEndOf="@+id/module_state_icon"
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
android:layout_marginStart="@dimen/l1" android:layout_marginStart="@dimen/l1"
android:layout_marginEnd="@dimen/l1" android:layout_marginEnd="@dimen/l1"
android:text="@{@string/module_version_author(item.item.version, item.item.author)}" android:text="@{@string/module_version_author(item.item.version, item.item.author)}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/module_state_icon" app:layout_constraintStart_toEndOf="@+id/module_state_icon"
app:layout_constraintTop_toBottomOf="@+id/module_title" app:layout_constraintTop_toBottomOf="@+id/module_title"
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
android:layout_marginTop="@dimen/l1" android:layout_marginTop="@dimen/l1"
android:layout_marginEnd="@dimen/l1" android:layout_marginEnd="@dimen/l1"
android:text="@{item.item.description}" android:text="@{item.item.description}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
app:layout_constraintTop_toBottomOf="@+id/module_version_author" app:layout_constraintTop_toBottomOf="@+id/module_version_author"
tools:lines="4" tools:lines="4"
tools:text="@tools:sample/lorem/random" /> tools:text="@tools:sample/lorem/random" />
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
app:layout_constraintTop_toBottomOf="@+id/module_description" /> app:layout_constraintTop_toBottomOf="@+id/module_description" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
style="?styleButtonText" style="@style/WidgetFoundation.Button.Text"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:onClick="@{(v) -> item.delete(viewModel)}" android:onClick="@{(v) -> item.delete(viewModel)}"
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</data> </data>
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
style="?styleCardVariant" style="@style/WidgetFoundation.Card.Variant"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/policy_app_icon" android:id="@+id/policy_app_icon"
style="?styleImageBig" style="@style/WidgetFoundation.Image.Big"
android:src="@{item.icon}" android:src="@{item.icon}"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
android:gravity="center" android:gravity="center"
android:singleLine="true" android:singleLine="true"
android:text="@{item.item.appName}" android:text="@{item.item.appName}"
android:textAppearance="?appearanceTextTitleNormal" android:textAppearance="@style/AppearanceFoundation.Title"
android:textIsSelectable="false" android:textIsSelectable="false"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
android:gravity="center" android:gravity="center"
android:singleLine="true" android:singleLine="true"
android:text="@{item.item.packageName}" android:text="@{item.item.packageName}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
android:textColor="@android:color/tertiary_text_dark" android:textColor="@android:color/tertiary_text_dark"
android:textIsSelectable="false" android:textIsSelectable="false"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/policy_notify" android:id="@+id/policy_notify"
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
android:background="?selectableItemBackground" android:background="?selectableItemBackground"
isSelected="@{item.shouldNotify}" isSelected="@{item.shouldNotify}"
tooltipText="@{@string/superuser_toggle_notification}" tooltipText="@{@string/superuser_toggle_notification}"
...@@ -111,7 +111,7 @@ ...@@ -111,7 +111,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/policy_log" android:id="@+id/policy_log"
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
android:background="?selectableItemBackground" android:background="?selectableItemBackground"
isSelected="@{item.shouldLog}" isSelected="@{item.shouldLog}"
tooltipText="@{@string/superuser_toggle_log}" tooltipText="@{@string/superuser_toggle_log}"
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/policy_delete" android:id="@+id/policy_delete"
style="?styleButtonText" style="@style/WidgetFoundation.Button.Text"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:onClick="@{() -> viewModel.deletePressed(item)}" android:onClick="@{() -> viewModel.deletePressed(item)}"
...@@ -145,7 +145,7 @@ ...@@ -145,7 +145,7 @@
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
isEnabled="@{item.isEnabled}" isEnabled="@{item.isEnabled}"
isSelected="@{item.isExpanded}" isSelected="@{item.isExpanded}"
android:layout_gravity="top|end" android:layout_gravity="top|end"
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</data> </data>
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
style="?styleCardVariant" style="@style/WidgetFoundation.Card.Variant"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:layout_gravity="center" tools:layout_gravity="center"
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
android:layout_marginTop="@dimen/l1" android:layout_marginTop="@dimen/l1"
android:layout_marginEnd="@dimen/l1" android:layout_marginEnd="@dimen/l1"
android:text="@{item.item.name}" android:text="@{item.item.name}"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{@string/module_version_author(item.item.version ?? `?`, item.item.author ?? `?`)}" android:text="@{@string/module_version_author(item.item.version ?? `?`, item.item.author ?? `?`)}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
app:layout_constraintEnd_toEndOf="@+id/module_title" app:layout_constraintEnd_toEndOf="@+id/module_title"
app:layout_constraintStart_toStartOf="@+id/module_title" app:layout_constraintStart_toStartOf="@+id/module_title"
app:layout_constraintTop_toBottomOf="@+id/module_title" app:layout_constraintTop_toBottomOf="@+id/module_title"
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
android:layout_marginTop="@dimen/l1" android:layout_marginTop="@dimen/l1"
android:layout_marginEnd="@dimen/l1" android:layout_marginEnd="@dimen/l1"
android:text="@{item.item.description}" android:text="@{item.item.description}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
app:layout_constraintTop_toBottomOf="@+id/module_version_author" app:layout_constraintTop_toBottomOf="@+id/module_version_author"
tools:lines="4" tools:lines="4"
tools:text="@tools:sample/lorem/random" /> tools:text="@tools:sample/lorem/random" />
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l1" android:layout_marginStart="@dimen/l1"
android:text="@{item.item.lastUpdateString}" android:text="@{item.item.lastUpdateString}"
android:textAppearance="?appearanceTextCaptionVariant" android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
android:textSize="11sp" android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/module_info" app:layout_constraintEnd_toStartOf="@+id/module_info"
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/module_info" android:id="@+id/module_info"
style="?styleIconNormal" style="@style/WidgetFoundation.Icon"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:alpha=".5" android:alpha=".5"
android:onClick="@{() -> viewModel.infoPressed(item)}" android:onClick="@{() -> viewModel.infoPressed(item)}"
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/module_download" android:id="@+id/module_download"
android:layout_width="wrap_content" android:layout_width="wrap_content"
style="?styleIconPrimary" style="@style/WidgetFoundation.Icon.Primary"
android:paddingStart="@dimen/l_50" android:paddingStart="@dimen/l_50"
isEnabled="@{!(item.progress == -100 || (item.progress > 0 &amp;&amp; item.progress &lt; 100))}" isEnabled="@{!(item.progress == -100 || (item.progress > 0 &amp;&amp; item.progress &lt; 100))}"
android:contentDescription="@string/download" android:contentDescription="@string/download"
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
android:layout_gravity="bottom"> android:layout_gravity="bottom">
<ProgressBar <ProgressBar
style="?styleProgressDeterminate" style="@style/WidgetFoundation.ProgressBar"
goneUnless="@{item.progress > 0 &amp;&amp; item.progress &lt; 100}" goneUnless="@{item.progress > 0 &amp;&amp; item.progress &lt; 100}"
progressAnimated="@{item.progress}" progressAnimated="@{item.progress}"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
tools:progress="40" /> tools:progress="40" />
<androidx.core.widget.ContentLoadingProgressBar <androidx.core.widget.ContentLoadingProgressBar
style="?styleProgressIndeterminate" style="@style/WidgetFoundation.ProgressBar.Indeterminate"
goneUnless="@{item.progress == -100}" goneUnless="@{item.progress == -100}"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</data> </data>
<com.google.android.material.card.MaterialCardView <com.google.android.material.card.MaterialCardView
style="?styleCardNormal" style="@style/WidgetFoundation.Card"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:cardBackgroundColor="?colorError"> app:cardBackgroundColor="?colorError">
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
android:gravity="center" android:gravity="center"
android:padding="@dimen/l1" android:padding="@dimen/l1"
android:text="@string/module_safe_mode_message" android:text="@string/module_safe_mode_message"
android:textAppearance="?appearanceTextCaptionOnPrimary" android:textAppearance="@style/AppearanceFoundation.Caption.OnPrimary"
android:textStyle="bold" /> android:textStyle="bold" />
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{item.title}" android:text="@{item.title}"
android:textAppearance="?appearanceTextBodyNormal" android:textAppearance="@style/AppearanceFoundation.Body"
android:textColor="@color/color_primary_transient" android:textColor="@color/color_primary_transient"
android:textStyle="bold" android:textStyle="bold"
tools:text="@tools:sample/lorem/random" tools:text="@tools:sample/lorem/random"
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/module_button" android:id="@+id/module_button"
style="?styleButtonTextSecondary" style="@style/WidgetFoundation.Button.Text.Secondary"
gone="@{!item.hasButton}" gone="@{!item.hasButton}"
android:onClick="@{() -> viewModel.sectionPressed(item)}" android:onClick="@{() -> viewModel.sectionPressed(item)}"
android:layout_width="wrap_content" android:layout_width="wrap_content"
......
<?xml version="1.0" encoding="utf-8"?>
<layout 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">
<data>
<variable
name="viewModel"
type="com.topjohnwu.magisk.redesign.theme.ThemeViewModel" />
<variable
name="theme"
type="com.topjohnwu.magisk.redesign.theme.Theme" />
</data>
<com.google.android.material.card.MaterialCardView
style="@style/WidgetFoundation.Card.Variant"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> viewModel.saveTheme(theme)}"
app:cardBackgroundColor="@android:color/transparent"
app:strokeColor="?colorPrimaryVariant"
tools:layout_gravity="center">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?colorSurface">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/theme_appbar"
style="@style/WidgetFoundation.Appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.appbar.MaterialToolbar
style="@style/WidgetFoundation.Toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<View
android:layout_width="100dp"
android:layout_height="17sp"
android:layout_gravity="center_vertical|start"
android:background="?colorOnSurface" />
<View
android:layout_width="70dp"
android:layout_height="12sp"
android:layout_gravity="center_vertical|start"
android:layout_marginTop="@dimen/l_25"
android:background="?colorOnSurfaceVariant" />
</LinearLayout>
</com.google.android.material.appbar.MaterialToolbar>
</com.google.android.material.appbar.AppBarLayout>
<com.google.android.material.card.MaterialCardView
android:id="@+id/theme_card_bottom"
style="@style/WidgetFoundation.Card.Variant"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/l1"
android:layout_marginTop="@dimen/l1"
android:layout_marginEnd="@dimen/l1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/theme_appbar">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/l1">
<View
android:layout_width="match_parent"
android:layout_height="17sp"
android:background="?colorOnSurface" />
<View
android:layout_width="40dp"
android:layout_height="11sp"
android:layout_marginTop="@dimen/l_25"
android:background="?colorOnSurfaceVariant" />
<View
android:layout_width="30dp"
android:layout_height="11sp"
android:layout_marginTop="@dimen/l_25"
android:background="?colorOnSurfaceVariant" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<LinearLayout
android:id="@+id/theme_primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1"
android:background="?colorPrimary"
android:orientation="vertical"
android:padding="@dimen/l1"
app:layout_constraintTop_toBottomOf="@+id/theme_card_bottom">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="125dp"
android:layout_height="wrap_content"
android:text="@{theme.themeName}"
android:textAppearance="@style/AppearanceFoundation.Title.OnPrimary"
android:textStyle="bold"
tools:text="Default" />
<View
android:layout_width="match_parent"
android:layout_height="12sp"
android:background="?colorOnPrimaryVariant" />
<View
android:layout_width="75dp"
android:layout_height="12sp"
android:layout_marginTop="@dimen/l_25"
android:background="?colorOnPrimaryVariant" />
</LinearLayout>
<com.google.android.material.card.MaterialCardView
android:id="@+id/theme_navigation"
style="@style/WidgetFoundation.Card.Elevated"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/l1"
android:layout_marginBottom="@dimen/l1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/theme_primary">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="@dimen/l1">
<View
style="@style/WidgetFoundation.Image.Small"
android:background="?colorSecondary" />
<View
style="@style/WidgetFoundation.Image.Small"
android:layout_marginStart="@dimen/l1"
android:background="?colorDisabled" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.AppCompatImageView
style="@style/WidgetFoundation.Icon.OnPrimary"
gone="@{!theme.isSelected}"
android:layout_gravity="end|top"
android:layout_margin="@dimen/l_50"
android:background="@drawable/bg_selection_circle_green"
app:srcCompat="@drawable/ic_check_md2"
app:tint="#fff" />
</com.google.android.material.card.MaterialCardView>
</layout>
\ No newline at end of file
...@@ -10,6 +10,6 @@ ...@@ -10,6 +10,6 @@
android:layout_marginStart="15dp" android:layout_marginStart="15dp"
android:layout_marginEnd="15dp" android:layout_marginEnd="15dp"
android:paddingTop="10dp" android:paddingTop="10dp"
android:textAppearance="?appearanceTextCaptionNormal" /> android:textAppearance="@style/AppearanceFoundation.Caption" />
</ScrollView> </ScrollView>
\ No newline at end of file
...@@ -7,4 +7,4 @@ ...@@ -7,4 +7,4 @@
android:gravity="start|center_vertical" android:gravity="start|center_vertical"
android:singleLine="true" android:singleLine="true"
tools:text="@string/magisk" tools:text="@string/magisk"
android:textAppearance="?appearanceTextCaptionVariant" /> android:textAppearance="@style/AppearanceFoundation.Caption.Variant" />
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="ThemeFoundationMD2.Default"> <!--1st party themes-->
<item name="colorPrimary">#2196F3</item>
<item name="colorPrimaryVariant">#802196F3</item> <style name="ThemeFoundationMD2.Piplup">
<item name="colorSecondary">#63B9FF</item> <item name="colorPrimary">#4EAFF5</item>
<item name="colorSecondaryVariant">#8063B9FF</item> <item name="colorPrimaryVariant">#804EAFF5</item>
<item name="colorSecondary">#3E78AF</item>
<item name="colorSecondaryVariant">#803E78AF</item>
<item name="colorSurface">#0D0D0D</item> <item name="colorSurface">#0D0D0D</item>
<item name="colorSurfaceVariant">#1F1F1F</item> <item name="colorSurfaceVariant">#1F1F1F</item>
<item name="colorSurfaceSurfaceVariant">?colorSurfaceVariant</item> <item name="colorSurfaceSurfaceVariant">?colorSurfaceVariant</item>
<item name="colorOnPrimary">#F2F2F2</item> <item name="colorOnPrimary">#F9F9F9</item>
<item name="colorOnPrimaryVariant">#D9E6E6E6</item> <item name="colorOnPrimaryVariant">#D9E6E6E6</item>
<item name="colorOnSecondary">#F2F2F2</item> <item name="colorOnSecondary">#F9F9F9</item>
<item name="colorOnBackground">?colorOnSurface</item> <item name="colorOnBackground">?colorOnSurface</item>
<item name="colorError">#CC0047</item> <item name="colorError">#CC0047</item>
<item name="colorOnError">#F2F2F2</item> <item name="colorOnError">#F9F9F9</item>
<item name="colorOnSurface">#D8D8D8</item> <item name="colorOnSurface">#D8D8D8</item>
<item name="colorOnSurfaceVariant">#80BABABA</item> <item name="colorOnSurfaceVariant">#80BABABA</item>
<item name="colorDisabled">#808080</item> <item name="colorDisabled">#808080</item>
<item name="colorDisabledVariant">#66808080</item> <item name="colorDisabledVariant">#66808080</item>
</style> </style>
<style name="ThemeFoundationMD2.Amoled" parent="ThemeFoundationMD2.Piplup">
<item name="colorSurface">#000</item>
<item name="colorOnPrimary">#FFF</item>
<item name="colorOnSecondary">#FFF</item>
<item name="colorOnBackground">#000</item>
<item name="colorOnError">#FFF</item>
</style>
<!--3rd party themes-->
</resources> </resources>
\ No newline at end of file
...@@ -7,84 +7,6 @@ ...@@ -7,84 +7,6 @@
<attr name="colorControl" format="reference" /> <attr name="colorControl" format="reference" />
<!--endregion--> <!--endregion-->
<!--region Widgets-->
<!--Appbar-->
<attr name="styleAppbar" format="reference" />
<!--Toolbar-->
<attr name="styleToolbar" format="reference" />
<!--Card-->
<attr name="styleCardNormal" format="reference" />
<attr name="styleCardVariant" format="reference" />
<attr name="styleCardElevated" format="reference" />
<attr name="styleCardOnPrimary" format="reference" />
<!--Button-->
<attr name="styleButtonDefault" format="reference" />
<attr name="styleButtonDefaultOnPrimary" format="reference" />
<attr name="styleButtonOutlined" format="reference" />
<attr name="styleButtonOutlinedOnPrimary" format="reference" />
<attr name="styleButtonFlat" format="reference" />
<attr name="styleButtonFlatOnPrimary" format="reference" />
<attr name="styleButtonText" format="reference" />
<attr name="styleButtonTextSecondary" format="reference" />
<attr name="styleButtonTextOnPrimary" format="reference" />
<attr name="styleButtonError" format="reference" />
<!--Icon-->
<attr name="styleIconNormal" format="reference" />
<attr name="styleIconPrimary" format="reference" />
<attr name="styleIconOnPrimary" format="reference" />
<attr name="styleIconError" format="reference" />
<!--Image-->
<attr name="styleImageBig" format="reference" />
<attr name="styleImageNormal" format="reference" />
<attr name="styleImageSmall" format="reference" />
<!--Checkbox-->
<attr name="styleCheckboxNormal" format="reference" />
<!--RadioButton-->
<attr name="styleRadioNormal" format="reference" />
<!--Progress-->
<attr name="styleProgressDeterminate" format="reference" />
<attr name="styleProgressIndeterminate" format="reference" />
<attr name="styleProgressIndeterminateCircular" format="reference" />
<!--endregion-->
<!--region Texts-->
<!--Display-->
<attr name="appearanceTextDisplayNormal" format="reference" />
<attr name="appearanceTextDisplayVariant" format="reference" />
<attr name="appearanceTextDisplayOnPrimary" format="reference" />
<attr name="appearanceTextDisplayOnPrimaryVariant" format="reference" />
<!--Title-->
<attr name="appearanceTextTitleNormal" format="reference" />
<attr name="appearanceTextTitleVariant" format="reference" />
<attr name="appearanceTextTitleOnPrimary" format="reference" />
<attr name="appearanceTextTitleOnPrimaryVariant" format="reference" />
<!--Body-->
<attr name="appearanceTextBodyNormal" format="reference" />
<attr name="appearanceTextBodyVariant" format="reference" />
<attr name="appearanceTextBodyOnPrimary" format="reference" />
<attr name="appearanceTextBodyOnPrimaryVariant" format="reference" />
<!--Caption-->
<attr name="appearanceTextCaptionNormal" format="reference" />
<attr name="appearanceTextCaptionVariant" format="reference" />
<attr name="appearanceTextCaptionOnPrimary" format="reference" />
<attr name="appearanceTextCaptionOnPrimaryVariant" format="reference" />
<!--endregion-->
<!--region Colors--> <!--region Colors-->
<!--Static--> <!--Static-->
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<string name="section_superuser">@string/superuser</string> <string name="section_superuser">@string/superuser</string>
<string name="section_log">@string/log</string> <string name="section_log">@string/log</string>
<string name="section_settings">@string/settings</string> <string name="section_settings">@string/settings</string>
<string name="section_theme">Themes</string>
<string name="installed_error_md2">is not installed</string> <string name="installed_error_md2">is not installed</string>
<string name="channel_error_md2">has invalid update channel!</string> <string name="channel_error_md2">has invalid update channel!</string>
......
...@@ -25,87 +25,10 @@ ...@@ -25,87 +25,10 @@
<item name="selectableItemBackground">@drawable/bg_selectable</item> <item name="selectableItemBackground">@drawable/bg_selectable</item>
<item name="selectableItemBackgroundBorderless">@drawable/bg_selectable_borderless</item> <item name="selectableItemBackgroundBorderless">@drawable/bg_selectable_borderless</item>
<item name="actionBarSize">@dimen/internal_action_bar_size</item> <item name="actionBarSize">@dimen/internal_action_bar_size</item>
<item name="styleAppbar">@style/WidgetFoundation.Appbar</item>
<item name="styleToolbar">@style/WidgetFoundation.Toolbar</item>
<item name="styleCardNormal">@style/WidgetFoundation.Card</item>
<item name="styleCardVariant">@style/WidgetFoundation.Card.Variant</item>
<item name="styleCardElevated">@style/WidgetFoundation.Card.Elevated</item>
<item name="styleCardOnPrimary">@style/WidgetFoundation.Card.OnPrimary</item>
<item name="styleButtonDefault">@style/WidgetFoundation.Button</item>
<item name="styleButtonDefaultOnPrimary">@style/WidgetFoundation.Button.OnPrimary</item>
<item name="styleButtonOutlined">@style/WidgetFoundation.Button.Outlined</item>
<item name="styleButtonOutlinedOnPrimary">
@style/WidgetFoundation.Button.Outlined.OnPrimary
</item>
<item name="styleButtonFlat">@style/WidgetFoundation.Button.Flat</item>
<item name="styleButtonFlatOnPrimary">@style/WidgetFoundation.Button.Flat.OnPrimary</item>
<item name="styleButtonText">@style/WidgetFoundation.Button.Text</item>
<item name="styleButtonTextSecondary">@style/WidgetFoundation.Button.Text.Secondary</item>
<item name="styleButtonTextOnPrimary">@style/WidgetFoundation.Button.Text.OnPrimary</item>
<item name="styleButtonError">@style/WidgetFoundation.Button.Error</item>
<item name="styleIconNormal">@style/WidgetFoundation.Icon</item>
<item name="styleIconPrimary">@style/WidgetFoundation.Icon.Primary</item>
<item name="styleIconOnPrimary">@style/WidgetFoundation.Icon.OnPrimary</item>
<item name="styleIconError">@style/WidgetFoundation.Icon.Error</item>
<item name="styleImageBig">@style/WidgetFoundation.Image.Big</item>
<item name="styleImageNormal">@style/WidgetFoundation.Image</item>
<item name="styleImageSmall">@style/WidgetFoundation.Image.Small</item>
<item name="styleCheckboxNormal">@style/WidgetFoundation.Checkbox</item>
<item name="styleRadioNormal">@style/WidgetFoundation.RadioButton</item>
<item name="styleProgressDeterminate">@style/WidgetFoundation.ProgressBar</item>
<item name="styleProgressIndeterminate">
@style/WidgetFoundation.ProgressBar.Indeterminate
</item>
<item name="styleProgressIndeterminateCircular">
@style/WidgetFoundation.ProgressBar.Indeterminate.Circular
</item>
<!--///-->
<item name="appearanceTextDisplayNormal">@style/AppearanceFoundation.Display</item>
<item name="appearanceTextDisplayVariant">@style/AppearanceFoundation.Display.Variant</item>
<item name="appearanceTextDisplayOnPrimary">@style/AppearanceFoundation.Display.OnPrimary
</item>
<item name="appearanceTextDisplayOnPrimaryVariant">
@style/AppearanceFoundation.Display.OnPrimary.Variant
</item>
<item name="appearanceTextTitleNormal">@style/AppearanceFoundation.Title</item>
<item name="appearanceTextTitleVariant">@style/AppearanceFoundation.Title.Variant</item>
<item name="appearanceTextTitleOnPrimary">@style/AppearanceFoundation.Title.OnPrimary</item>
<item name="appearanceTextTitleOnPrimaryVariant">
@style/AppearanceFoundation.Title.OnPrimary.Variant
</item>
<item name="appearanceTextBodyNormal">@style/AppearanceFoundation.Body</item>
<item name="appearanceTextBodyVariant">@style/AppearanceFoundation.Body.Variant</item>
<item name="appearanceTextBodyOnPrimary">@style/AppearanceFoundation.Body.OnPrimary</item>
<item name="appearanceTextBodyOnPrimaryVariant">
@style/AppearanceFoundation.Body.OnPrimary.Variant
</item>
<item name="appearanceTextCaptionNormal">@style/AppearanceFoundation.Caption</item>
<item name="appearanceTextCaptionVariant">@style/AppearanceFoundation.Caption.Variant</item>
<item name="appearanceTextCaptionOnPrimary">@style/AppearanceFoundation.Caption.OnPrimary
</item>
<item name="appearanceTextCaptionOnPrimaryVariant">
@style/AppearanceFoundation.Caption.OnPrimary.Variant
</item>
</style> </style>
<style name="Foundation.Default" parent="Foundation.Base"> <style name="Foundation.Default" parent="Foundation.Base">
<item name="android:theme">@style/ThemeFoundationMD2.Default</item> <item name="android:windowBackground">?colorSurface</item>
<!--setting window background to transparent should reduce overdraw-->
<!--<item name="android:windowBackground">@android:color/transparent</item>-->
</style> </style>
</resources> </resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?><!-- <?xml version="1.0" encoding="utf-8"?>
These widgets are implementation of corresponding attribute. Never and I mean fucking never! use
these directly.
Although it is possible, it wouldn't automatically change the style when theme changes to "night"
variant. Make sure to use style referenced by attribute defined it attrs.xml.
-->
<resources> <resources>
<style name="WidgetFoundation.Appbar" parent="Widget.MaterialComponents.AppBarLayout.Surface"> <style name="WidgetFoundation.Appbar" parent="Widget.MaterialComponents.AppBarLayout.Surface">
...@@ -13,9 +7,9 @@ variant. Make sure to use style referenced by attribute defined it attrs.xml. ...@@ -13,9 +7,9 @@ variant. Make sure to use style referenced by attribute defined it attrs.xml.
</style> </style>
<style name="WidgetFoundation.Toolbar" parent="Widget.MaterialComponents.Toolbar.Surface"> <style name="WidgetFoundation.Toolbar" parent="Widget.MaterialComponents.Toolbar.Surface">
<item name="titleTextAppearance">?appearanceTextTitleNormal</item> <item name="titleTextAppearance">@style/AppearanceFoundation.Title</item>
<item name="titleTextColor">?colorOnSurface</item> <item name="titleTextColor">?colorOnSurface</item>
<item name="subtitleTextAppearance">?appearanceTextCaptionNormal</item> <item name="subtitleTextAppearance">@style/AppearanceFoundation.Caption</item>
<item name="subtitleTextColor">?colorOnSurfaceVariant</item> <item name="subtitleTextColor">?colorOnSurfaceVariant</item>
<item name="android:background">@android:color/transparent</item> <item name="android:background">@android:color/transparent</item>
<item name="contentInsetStartWithNavigation">0dp</item> <item name="contentInsetStartWithNavigation">0dp</item>
...@@ -154,7 +148,7 @@ variant. Make sure to use style referenced by attribute defined it attrs.xml. ...@@ -154,7 +148,7 @@ variant. Make sure to use style referenced by attribute defined it attrs.xml.
<style name="WidgetFoundation.Checkbox" parent="Widget.AppCompat.CompoundButton.CheckBox"> <style name="WidgetFoundation.Checkbox" parent="Widget.AppCompat.CompoundButton.CheckBox">
<item name="android:textColor">?attr/colorOnSurface</item> <item name="android:textColor">?attr/colorOnSurface</item>
<item name="android:textAppearance">?appearanceTextBodyNormal</item> <item name="android:textAppearance">@style/AppearanceFoundation.Body</item>
<item name="android:paddingStart">@dimen/l1</item> <item name="android:paddingStart">@dimen/l1</item>
<item name="android:paddingEnd">@dimen/l1</item> <item name="android:paddingEnd">@dimen/l1</item>
<item name="tint">?colorPrimary</item> <item name="tint">?colorPrimary</item>
...@@ -163,7 +157,7 @@ variant. Make sure to use style referenced by attribute defined it attrs.xml. ...@@ -163,7 +157,7 @@ variant. Make sure to use style referenced by attribute defined it attrs.xml.
<style name="WidgetFoundation.RadioButton" parent="Widget.AppCompat.CompoundButton.RadioButton"> <style name="WidgetFoundation.RadioButton" parent="Widget.AppCompat.CompoundButton.RadioButton">
<item name="android:textColor">?attr/colorOnSurface</item> <item name="android:textColor">?attr/colorOnSurface</item>
<item name="android:textAppearance">?appearanceTextBodyNormal</item> <item name="android:textAppearance">@style/AppearanceFoundation.Body</item>
<item name="android:paddingStart">@dimen/l1</item> <item name="android:paddingStart">@dimen/l1</item>
<item name="android:paddingEnd">@dimen/l1</item> <item name="android:paddingEnd">@dimen/l1</item>
<item name="tint">?colorPrimary</item> <item name="tint">?colorPrimary</item>
......
...@@ -10,14 +10,14 @@ ...@@ -10,14 +10,14 @@
<style name="W.Home.Extra.Title"> <style name="W.Home.Extra.Title">
<item name="android:layout_width">wrap_content</item> <item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="android:textAppearance">?appearanceTextCaptionVariant</item> <item name="android:textAppearance">@style/AppearanceFoundation.Caption.Variant</item>
<item name="android:singleLine">true</item> <item name="android:singleLine">true</item>
</style> </style>
<style name="W.Home.Extra.Value"> <style name="W.Home.Extra.Value">
<item name="android:layout_width">wrap_content</item> <item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="android:textAppearance">?appearanceTextCaptionNormal</item> <item name="android:textAppearance">@style/AppearanceFoundation.Caption</item>
<item name="android:textStyle">bold</item> <item name="android:textStyle">bold</item>
<item name="android:layout_marginStart">@dimen/l_50</item> <item name="android:layout_marginStart">@dimen/l_50</item>
<item name="layout_constrainedWidth">true</item> <item name="layout_constrainedWidth">true</item>
......
...@@ -9,11 +9,9 @@ ...@@ -9,11 +9,9 @@
## Inheritance ## Inheritance
You might want to inherit default values from "base" theme. You can do so implicitly by just You might want to inherit default values from "base" theme. You can do so implicitly by just
writing `<style name="ThemeFoundationMD2.MySuperAwesomeTheme" parent="ThemeFoundationMD2.Default">`. writing `<style name="ThemeFoundationMD2.MySuperAwesomeTheme" parent="ThemeFoundationMD2.Piplup">`.
With this approach you can only change values you (don't) like - such as `colorPrimary` or With this approach you can only change values you (don't) like - such as `colorPrimary` or
`colorSecondary`. `colorSecondary`.
There's also an option to define theme completely from ground up and that's done just by
omitting `parent="..."`. It will inherit _nothing_ from the base.
## Day / Night ? How do I define both in one theme? ## Day / Night ? How do I define both in one theme?
...@@ -22,8 +20,7 @@ ...@@ -22,8 +20,7 @@
on user's requested configuration. (Always light, Always dark, Follow system) on user's requested configuration. (Always light, Always dark, Follow system)
You might choose to define only "Day" theme with Dark colors to have dark theme regardless. You might choose to define only "Day" theme with Dark colors to have dark theme regardless.
That's super lazy approach and is discouraged but the framework permits it. If not inherited That's super lazy approach and is discouraged but the framework permits it.
from default theme, you must define all colors yourself in both day AND night variants.
## What to theme ## What to theme
...@@ -41,30 +38,80 @@ ...@@ -41,30 +38,80 @@
!! notice. In repeated attempts to push such themes you will be automatically blacklisted. !! notice. In repeated attempts to push such themes you will be automatically blacklisted.
--> -->
<style name="ThemeFoundationMD2" parent="" /> <style name="ThemeFoundationMD2" parent="Foundation.Default" />
<!--1st party themes--> <!--1st party themes-->
<style name="ThemeFoundationMD2.Default"> <style name="ThemeFoundationMD2.Piplup">
<item name="colorPrimary">#2196F3</item> <item name="colorPrimary">#4EAFF5</item>
<item name="colorPrimaryVariant">#802196F3</item> <item name="colorPrimaryVariant">#804EAFF5</item>
<item name="colorSecondary">#1766A6</item> <item name="colorSecondary">#3E78AF</item>
<item name="colorSecondaryVariant">#801766A6</item> <item name="colorSecondaryVariant">#803E78AF</item>
<item name="colorSurface">#F2F2F2</item> <item name="colorSurface">#F9F9F9</item>
<item name="colorSurfaceVariant">#E8E8E8</item> <item name="colorSurfaceVariant">#E8E8E8</item>
<item name="colorSurfaceSurfaceVariant">?colorSurface</item> <item name="colorSurfaceSurfaceVariant">?colorSurface</item>
<item name="colorOnPrimary">#F2F2F2</item> <item name="colorOnPrimary">#F9F9F9</item>
<item name="colorOnPrimaryVariant">#D9E6E6E6</item> <item name="colorOnPrimaryVariant">#D9E6E6E6</item>
<item name="colorOnSecondary">#F2F2F2</item> <item name="colorOnSecondary">#F9F9F9</item>
<item name="colorOnBackground">#F2F2F2</item> <item name="colorOnBackground">?colorOnSurface</item>
<item name="colorError">#CC0047</item> <item name="colorError">#CC0047</item>
<item name="colorOnError">#F2F2F2</item> <item name="colorOnError">#F9F9F9</item>
<item name="colorOnSurface">#444444</item> <item name="colorOnSurface">#444444</item>
<item name="colorOnSurfaceVariant">#80444444</item> <item name="colorOnSurfaceVariant">#80444444</item>
<item name="colorDisabled">#808080</item> <item name="colorDisabled">#808080</item>
<item name="colorDisabledVariant">#66808080</item> <item name="colorDisabledVariant">#66808080</item>
</style> </style>
<style name="ThemeFoundationMD2.Amoled" parent="ThemeFoundationMD2.Piplup">
<item name="colorSurface">#FFF</item>
<item name="colorOnPrimary">#FFF</item>
<item name="colorOnSecondary">#FFF</item>
<item name="colorOnBackground">#FFF</item>
<item name="colorOnError">#FFF</item>
</style>
<style name="ThemeFoundationMD2.Rayquaza" parent="ThemeFoundationMD2.Piplup">
<item name="colorPrimary">#68A17F</item>
<item name="colorPrimaryVariant">#8068A17F</item>
<item name="colorSecondary">#2F6D43</item>
<item name="colorSecondaryVariant">#802F6D43</item>
</style>
<style name="ThemeFoundationMD2.Zapdos" parent="ThemeFoundationMD2.Piplup">
<item name="colorPrimary">#FBD179</item>
<item name="colorPrimaryVariant">#80FBD179</item>
<item name="colorSecondary">#B29667</item>
<item name="colorSecondaryVariant">#80B29667</item>
<item name="colorOnPrimary">#000000</item>
<item name="colorOnPrimaryVariant">#D9222222</item>
</style>
<style name="ThemeFoundationMD2.Charmeleon" parent="ThemeFoundationMD2.Piplup">
<item name="colorPrimary">#DB7366</item>
<item name="colorPrimaryVariant">#80DB7366</item>
<item name="colorSecondary">#B65247</item>
<item name="colorSecondaryVariant">#80B65247</item>
<item name="colorOnPrimary">#000000</item>
<item name="colorOnPrimaryVariant">#D9222222</item>
</style>
<style name="ThemeFoundationMD2.Mew" parent="ThemeFoundationMD2.Piplup">
<item name="colorPrimary">#D9ADB7</item>
<item name="colorPrimaryVariant">#80E9BBC5</item>
<item name="colorSecondary">#B5889B</item>
<item name="colorSecondaryVariant">#80B5889B</item>
<item name="colorOnPrimary">#000000</item>
<item name="colorOnPrimaryVariant">#D9222222</item>
</style>
<style name="ThemeFoundationMD2.Salamence" parent="ThemeFoundationMD2.Piplup">
<item name="colorPrimary">#70B2C6</item>
<item name="colorPrimaryVariant">#8070B2C6</item>
<item name="colorSecondary">#C06A75</item>
<item name="colorSecondaryVariant">#80C06A75</item>
<item name="colorOnPrimary">#000000</item>
<item name="colorOnPrimaryVariant">#D9222222</item>
</style>
<!--3rd party themes--> <!--3rd party themes-->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment