Reverted tinting headlines

This commit is contained in:
Viktor De Pasquale 2019-12-02 18:51:22 +01:00
parent 8c818e707f
commit bfb5d7e5ac
4 changed files with 23 additions and 57 deletions

View File

@ -36,4 +36,9 @@ sealed class TappableHeadlineItem : ComparableRvItem<TappableHeadlineItem>() {
override val icon = R.drawable.ic_safetynet_md2
}
object ThemeMode : TappableHeadlineItem() {
override val title = R.string.section_theme
override val icon = R.drawable.ic_day_night
}
}

View File

@ -1,6 +1,7 @@
package com.topjohnwu.magisk.redesign.theme
import com.topjohnwu.magisk.BR
import com.topjohnwu.magisk.model.entity.recycler.TappableHeadlineItem
import com.topjohnwu.magisk.model.entity.recycler.ThemeItem
import com.topjohnwu.magisk.model.events.RecreateEvent
import com.topjohnwu.magisk.model.events.dialog.DarkThemeDialog
@ -8,16 +9,23 @@ 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(), TappableHeadlineItem.Listener {
val items = diffListOf(*Theme.values().map { ThemeItem(it) }.toTypedArray())
val itemBinding = itemBindingOf<ThemeItem> { it.bindExtra(BR.viewModel, this) }
val themeHeadline = TappableHeadlineItem.ThemeMode
override fun onItemPressed(item: TappableHeadlineItem) = when (item) {
is TappableHeadlineItem.ThemeMode -> darkModePressed()
else -> Unit
}
fun saveTheme(theme: Theme) {
theme.select()
RecreateEvent().publish()
}
fun darkModePressed() = DarkThemeDialog().publish()
private fun darkModePressed() = DarkThemeDialog().publish()
}

View File

@ -29,58 +29,11 @@
android:orientation="vertical"
android:useDefaultMargins="true">
<com.google.android.material.card.MaterialCardView
<include
item="@{viewModel.themeHeadline}"
android:id="@+id/theme_card_dark"
style="@style/WidgetFoundation.Card.Primary"
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.OnPrimary"
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.OnPrimary"
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.OnPrimary"
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>
layout="@layout/item_tappable_headline"
listener="@{viewModel}" />
<FrameLayout
android:id="@+id/theme_default"

View File

@ -16,7 +16,7 @@
</data>
<com.google.android.material.card.MaterialCardView
style="@style/WidgetFoundation.Card.Primary"
style="@style/WidgetFoundation.Card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{() -> listener.onItemPressed(item)}"
@ -28,7 +28,7 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/tappable_icon"
style="@style/WidgetFoundation.Icon.OnPrimary"
style="@style/WidgetFoundation.Icon"
android:background="@null"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -42,7 +42,7 @@
android:requiresFadingEdge="horizontal"
android:singleLine="true"
android:text="@{item.title}"
android:textAppearance="@style/AppearanceFoundation.Body.OnPrimary"
android:textAppearance="@style/AppearanceFoundation.Body"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/headline_icon_pointer"
@ -52,7 +52,7 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/headline_icon_pointer"
style="@style/WidgetFoundation.Icon.OnPrimary"
style="@style/WidgetFoundation.Icon"
android:background="@null"
android:rotation="180"
app:layout_constraintBottom_toBottomOf="parent"