mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-26 21:27:38 +00:00
Updated layouts to fit new widget that should visually represent a switch
The switch is not actually a switch, but a representation of internal state, the layouts continue to accept touch events as beforehand.
This commit is contained in:
parent
d7653e6e42
commit
9952387356
@ -1,6 +1,8 @@
|
|||||||
package com.topjohnwu.magisk.model.entity.recycler
|
package com.topjohnwu.magisk.model.entity.recycler
|
||||||
|
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
|
import androidx.databinding.ViewDataBinding
|
||||||
|
import androidx.recyclerview.widget.StaggeredGridLayoutManager
|
||||||
import com.topjohnwu.magisk.R
|
import com.topjohnwu.magisk.R
|
||||||
import com.topjohnwu.magisk.core.model.MagiskPolicy
|
import com.topjohnwu.magisk.core.model.MagiskPolicy
|
||||||
import com.topjohnwu.magisk.databinding.ComparableRvItem
|
import com.topjohnwu.magisk.databinding.ComparableRvItem
|
||||||
@ -47,6 +49,12 @@ class PolicyItem(val item: MagiskPolicy, val icon: Drawable) : ComparableRvItem<
|
|||||||
viewModel.updatePolicy(PolicyUpdateEvent.Log(updatedPolicy))
|
viewModel.updatePolicy(PolicyUpdateEvent.Log(updatedPolicy))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onBindingBound(binding: ViewDataBinding) {
|
||||||
|
super.onBindingBound(binding)
|
||||||
|
val params = binding.root.layoutParams as? StaggeredGridLayoutManager.LayoutParams
|
||||||
|
params?.isFullSpan = true
|
||||||
|
}
|
||||||
|
|
||||||
override fun contentSameAs(other: PolicyItem) = itemSameAs(other)
|
override fun contentSameAs(other: PolicyItem) = itemSameAs(other)
|
||||||
override fun itemSameAs(other: PolicyItem) = item.uid == other.item.uid
|
override fun itemSameAs(other: PolicyItem) = item.uid == other.item.uid
|
||||||
|
|
||||||
|
11
app/src/main/res/drawable/bg_checkbox.xml
Normal file
11
app/src/main/res/drawable/bg_checkbox.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<solid android:color="@color/colorOverlay" />
|
||||||
|
<corners android:radius="20dp" />
|
||||||
|
<padding
|
||||||
|
android:bottom="@dimen/l_25"
|
||||||
|
android:left="@dimen/l_25"
|
||||||
|
android:right="@dimen/l_25"
|
||||||
|
android:top="@dimen/l_25" />
|
||||||
|
</shape>
|
@ -5,6 +5,6 @@
|
|||||||
android:viewportWidth="24"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="24">
|
android:viewportHeight="24">
|
||||||
<path
|
<path
|
||||||
android:fillColor="@color/colorText"
|
android:fillColor="?colorOnSurface"
|
||||||
android:pathData="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z" />
|
android:pathData="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z" />
|
||||||
</vector>
|
</vector>
|
23
app/src/main/res/drawable/ic_checkbox.xml
Normal file
23
app/src/main/res/drawable/ic_checkbox.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:state_selected="true">
|
||||||
|
<layer-list>
|
||||||
|
<item android:left="16dp">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<size android:width="16dp" android:height="16dp" />
|
||||||
|
<solid android:color="?colorPrimary" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layer-list>
|
||||||
|
<item android:right="16dp">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<size android:width="16dp" android:height="16dp" />
|
||||||
|
<solid android:color="?colorDisabledVariant" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
|
</item>
|
||||||
|
</selector>
|
@ -36,12 +36,13 @@
|
|||||||
app:navigationIcon="@drawable/ic_back_md2">
|
app:navigationIcon="@drawable/ic_back_md2">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
style="@style/Widget.Text.Emphasize"
|
|
||||||
movieBehavior="@{viewModel.loading}"
|
movieBehavior="@{viewModel.loading}"
|
||||||
movieBehaviorText="@{viewModel.behaviorText}"
|
movieBehaviorText="@{viewModel.behaviorText}"
|
||||||
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"
|
||||||
|
android:textAppearance="@style/AppearanceFoundation.Body"
|
||||||
|
android:textStyle="bold"
|
||||||
android:fontFamily="monospace"
|
android:fontFamily="monospace"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:textColor="?colorOnSurface"
|
android:textColor="?colorOnSurface"
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
app:boxStrokeColor="?colorOnSurfaceVariant"
|
app:boxStrokeColor="?colorOnSurfaceVariant"
|
||||||
app:counterEnabled="true"
|
app:counterEnabled="true"
|
||||||
app:counterMaxLength="14"
|
app:counterMaxLength="14"
|
||||||
app:counterOverflowTextColor="@color/colorError"
|
app:counterOverflowTextColor="?colorError"
|
||||||
app:error="@{data.error ? @string/settings_app_name_error : @string/empty}"
|
app:error="@{data.error ? @string/settings_app_name_error : @string/empty}"
|
||||||
app:errorEnabled="true"
|
app:errorEnabled="true"
|
||||||
app:errorTextColor="?colorError"
|
app:errorTextColor="?colorError"
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
android:paddingEnd="0dp"
|
android:paddingEnd="0dp"
|
||||||
android:paddingBottom="@{viewModel.insets.bottom + (int) @dimen/internal_action_bar_size + (int) @dimen/l1}"
|
android:paddingBottom="@{viewModel.insets.bottom + (int) @dimen/internal_action_bar_size + (int) @dimen/l1}"
|
||||||
app:layoutManager="androidx.recyclerview.widget.StaggeredGridLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.StaggeredGridLayoutManager"
|
||||||
app:spanCount="1"
|
app:spanCount="2"
|
||||||
tools:listitem="@layout/item_module_md2" />
|
tools:listitem="@layout/item_module_md2" />
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
itemBinding="@{viewModel.itemBinding}"
|
itemBinding="@{viewModel.itemBinding}"
|
||||||
items="@{viewModel.items}"
|
items="@{viewModel.items}"
|
||||||
nestedScrollingEnabled="@{false}"
|
nestedScrollingEnabled="@{false}"
|
||||||
spanCount="@{Config.listSpanCount}"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
@ -35,7 +34,7 @@
|
|||||||
android:paddingTop="@{viewModel.insets.top + (int) @dimen/internal_action_bar_size + (int) @dimen/l1}"
|
android:paddingTop="@{viewModel.insets.top + (int) @dimen/internal_action_bar_size + (int) @dimen/l1}"
|
||||||
android:paddingBottom="@{viewModel.insets.bottom + (int) @dimen/l2}"
|
android:paddingBottom="@{viewModel.insets.bottom + (int) @dimen/l2}"
|
||||||
app:layoutManager="androidx.recyclerview.widget.StaggeredGridLayoutManager"
|
app:layoutManager="androidx.recyclerview.widget.StaggeredGridLayoutManager"
|
||||||
app:spanCount="1"
|
app:spanCount="2"
|
||||||
tools:layout_marginTop="24dp"
|
tools:layout_marginTop="24dp"
|
||||||
tools:listitem="@layout/item_policy_md2"
|
tools:listitem="@layout/item_policy_md2"
|
||||||
tools:paddingTop="@dimen/l1" />
|
tools:paddingTop="@dimen/l1" />
|
||||||
|
@ -17,18 +17,19 @@
|
|||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:background="?selectableItemBackground"
|
|
||||||
android:onClick="@{() -> item.toggle(viewModel)}"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center">
|
android:layout_gravity="center"
|
||||||
|
android:alpha="@{item.isHidden() ? 1f : .7f}"
|
||||||
|
android:background="?selectableItemBackground"
|
||||||
|
android:onClick="@{() -> item.toggle(viewModel)}">
|
||||||
|
|
||||||
<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_marginStart="@dimen/l1"
|
android:layout_marginStart="@dimen/l1"
|
||||||
android:layout_marginTop="@dimen/l_50"
|
android:layout_marginTop="@dimen/l_75"
|
||||||
android:layout_marginEnd="@dimen/l1"
|
android:layout_marginEnd="@dimen/l1"
|
||||||
android:layout_marginBottom="@dimen/l_50"
|
android:layout_marginBottom="@dimen/l_75"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:text="@{item.item.name}"
|
android:text="@{item.item.name}"
|
||||||
android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
|
android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
|
||||||
@ -41,17 +42,15 @@
|
|||||||
<androidx.appcompat.widget.AppCompatImageView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/hide_process_checkbox"
|
android:id="@+id/hide_process_checkbox"
|
||||||
style="@style/WidgetFoundation.Image.Small"
|
style="@style/WidgetFoundation.Image.Small"
|
||||||
android:layout_width="18dp"
|
|
||||||
android:layout_height="18dp"
|
|
||||||
isSelected="@{item.isHidden}"
|
isSelected="@{item.isHidden}"
|
||||||
android:layout_marginTop="@dimen/l_50"
|
android:layout_width="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/l1"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/l_50"
|
android:layout_marginEnd="@dimen/l_50"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:srcCompat="@drawable/ic_radio_check_button"
|
android:background="@drawable/bg_checkbox"
|
||||||
app:tint="?colorPrimary" />
|
app:srcCompat="@drawable/ic_checkbox" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
@ -30,57 +30,70 @@
|
|||||||
tools:layout_marginBottom="@dimen/l1"
|
tools:layout_marginBottom="@dimen/l1"
|
||||||
tools:layout_marginEnd="@dimen/l1">
|
tools:layout_marginEnd="@dimen/l1">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/module_state_icon"
|
||||||
|
gone="@{!item.removed && !item.updated}"
|
||||||
|
srcCompat="@{item.removed ? R.drawable.ic_delete_md2 : (item.updated ? R.drawable.ic_update_md2 : 0)}"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:alpha=".05"
|
||||||
|
android:background="@null"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:tint="?colorOnSurface"
|
||||||
|
tools:srcCompat="@drawable/ic_update_md2" />
|
||||||
|
|
||||||
<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:animateLayoutChanges="true">
|
android:animateLayoutChanges="true">
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
|
||||||
android:id="@+id/module_state_icon"
|
|
||||||
style="@style/WidgetFoundation.Image.Small"
|
|
||||||
gone="@{!item.removed && !item.updated}"
|
|
||||||
srcCompat="@{item.removed ? R.drawable.ic_delete_md2 : (item.updated ? R.drawable.ic_update_md2 : 0)}"
|
|
||||||
android:layout_marginStart="@dimen/l1"
|
|
||||||
android:background="@null"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/module_version_author"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/module_title"
|
|
||||||
tools:srcCompat="@drawable/ic_update_md2" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/module_title"
|
android:id="@+id/module_title"
|
||||||
strikeThrough="@{!item.enabled}"
|
strikeThrough="@{item.removed}"
|
||||||
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"
|
||||||
android:layout_marginTop="@dimen/l1"
|
android:layout_marginTop="@dimen/l1"
|
||||||
android:layout_marginEnd="@dimen/l1"
|
android:layout_marginEnd="@dimen/l_50"
|
||||||
android:text="@{item.item.name}"
|
android:text="@{item.item.name}"
|
||||||
android:textAppearance="@style/AppearanceFoundation.Body"
|
android:textAppearance="@style/AppearanceFoundation.Body"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toStartOf="@+id/module_indicator"
|
||||||
app:layout_constraintStart_toEndOf="@+id/module_state_icon"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:text="@tools:sample/lorem" />
|
tools:text="@tools:sample/lorem" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/module_version_author"
|
android:id="@+id/module_version_author"
|
||||||
strikeThrough="@{!item.enabled}"
|
strikeThrough="@{item.removed}"
|
||||||
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_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="@style/AppearanceFoundation.Caption.Variant"
|
android:textAppearance="@style/AppearanceFoundation.Caption.Variant"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="@+id/module_title"
|
||||||
app:layout_constraintStart_toEndOf="@+id/module_state_icon"
|
app:layout_constraintStart_toStartOf="@+id/module_title"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/module_title"
|
app:layout_constraintTop_toBottomOf="@+id/module_title"
|
||||||
tools:text="v1 by topjohnwu" />
|
tools:text="v1 by topjohnwu" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/module_indicator"
|
||||||
|
style="@style/WidgetFoundation.Switch"
|
||||||
|
isSelected="@{item.enabled && !Config.coreOnly}"
|
||||||
|
android:layout_marginEnd="@dimen/l_50"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/module_version_author"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="1"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/module_info"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/module_title" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/module_description"
|
android:id="@+id/module_description"
|
||||||
gone="@{item.item.description.empty}"
|
gone="@{item.item.description.empty}"
|
||||||
strikeThrough="@{!item.enabled}"
|
strikeThrough="@{item.removed}"
|
||||||
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"
|
||||||
@ -97,6 +110,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="1dp"
|
android:layout_height="1dp"
|
||||||
android:layout_marginTop="@dimen/l1"
|
android:layout_marginTop="@dimen/l1"
|
||||||
|
android:layout_marginRight="6dp"
|
||||||
android:background="?colorSurfaceVariant"
|
android:background="?colorSurfaceVariant"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/module_description" />
|
app:layout_constraintTop_toBottomOf="@+id/module_description" />
|
||||||
|
|
||||||
@ -130,13 +144,6 @@
|
|||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
|
||||||
isSelected="@{item.enabled}"
|
|
||||||
android:layout_width="@dimen/l1"
|
|
||||||
android:layout_height="@dimen/l1"
|
|
||||||
android:layout_gravity="right|top"
|
|
||||||
app:srcCompat="@drawable/ic_card_check" />
|
|
||||||
|
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,8 +24,7 @@
|
|||||||
android:onClick="@{() -> item.toggle(viewModel)}"
|
android:onClick="@{() -> item.toggle(viewModel)}"
|
||||||
android:onLongClick="@{() -> item.toggle()}"
|
android:onLongClick="@{() -> item.toggle()}"
|
||||||
tools:layout_marginBottom="@dimen/l1"
|
tools:layout_marginBottom="@dimen/l1"
|
||||||
tools:layout_marginEnd="@dimen/l1"
|
tools:layout_marginEnd="@dimen/l1">
|
||||||
tools:layout_width="200dp">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -49,21 +48,8 @@
|
|||||||
app:layout_constraintVertical_bias="0"
|
app:layout_constraintVertical_bias="0"
|
||||||
tools:srcCompat="@drawable/ic_logo" />
|
tools:srcCompat="@drawable/ic_logo" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
|
||||||
style="@style/WidgetFoundation.Image.Big"
|
|
||||||
gone="@{item.isEnabled()}"
|
|
||||||
android:visibility="gone"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/policy_app_icon"
|
|
||||||
app:layout_constraintEnd_toEndOf="@+id/policy_app_icon"
|
|
||||||
app:layout_constraintStart_toStartOf="@+id/policy_app_icon"
|
|
||||||
app:layout_constraintTop_toTopOf="@+id/policy_app_icon"
|
|
||||||
app:srcCompat="@drawable/ic_off"
|
|
||||||
app:tint="?colorSurface"
|
|
||||||
tools:visibility="visible" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/policy_app_name"
|
android:id="@+id/policy_app_name"
|
||||||
strikeThrough="@{!item.enabled}"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="@dimen/margin_generic"
|
android:layout_marginLeft="@dimen/margin_generic"
|
||||||
@ -75,14 +61,13 @@
|
|||||||
android:textAppearance="@style/AppearanceFoundation.Body"
|
android:textAppearance="@style/AppearanceFoundation.Body"
|
||||||
android:textIsSelectable="false"
|
android:textIsSelectable="false"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toStartOf="@+id/policy_indicator"
|
||||||
app:layout_constraintStart_toEndOf="@+id/policy_app_icon"
|
app:layout_constraintStart_toEndOf="@+id/policy_app_icon"
|
||||||
app:layout_constraintTop_toTopOf="@+id/policy_app_icon"
|
app:layout_constraintTop_toTopOf="@+id/policy_app_icon"
|
||||||
tools:text="@string/app_name" />
|
tools:text="@string/app_name" />
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/policy_package_name"
|
android:id="@+id/policy_package_name"
|
||||||
strikeThrough="@{!item.enabled}"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/l1"
|
android:layout_marginBottom="@dimen/l1"
|
||||||
@ -100,6 +85,15 @@
|
|||||||
app:layout_constraintVertical_bias="0"
|
app:layout_constraintVertical_bias="0"
|
||||||
tools:text="com.topjohnwu.magisk" />
|
tools:text="com.topjohnwu.magisk" />
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
|
android:id="@+id/policy_indicator"
|
||||||
|
style="@style/WidgetFoundation.Switch"
|
||||||
|
isSelected="@{item.enabled}"
|
||||||
|
android:layout_marginEnd="@dimen/l1"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
@ -119,7 +113,7 @@
|
|||||||
android:id="@+id/policy_notify"
|
android:id="@+id/policy_notify"
|
||||||
style="@style/WidgetFoundation.Button.Text"
|
style="@style/WidgetFoundation.Button.Text"
|
||||||
isSelected="@{item.shouldNotify}"
|
isSelected="@{item.shouldNotify}"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:minHeight="24dp"
|
android:minHeight="24dp"
|
||||||
android:onClick="@{() -> item.toggleNotify(viewModel)}"
|
android:onClick="@{() -> item.toggleNotify(viewModel)}"
|
||||||
@ -129,17 +123,27 @@
|
|||||||
android:textColor="@color/color_state_primary_transient"
|
android:textColor="@color/color_state_primary_transient"
|
||||||
app:icon="@drawable/ic_notifications_md2"
|
app:icon="@drawable/ic_notifications_md2"
|
||||||
app:iconTint="@color/color_state_primary_transient"
|
app:iconTint="@color/color_state_primary_transient"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toStartOf="@+id/policy_log"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:tint="@color/color_state_primary_transient" />
|
app:tint="@color/color_state_primary_transient" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="1dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginTop="@dimen/l_50"
|
||||||
|
android:layout_marginBottom="@dimen/l_50"
|
||||||
|
android:background="?colorSurface"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/policy_notify"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/policy_log"
|
android:id="@+id/policy_log"
|
||||||
style="@style/WidgetFoundation.Button.Text"
|
style="@style/WidgetFoundation.Button.Text"
|
||||||
isSelected="@{item.shouldLog}"
|
isSelected="@{item.shouldLog}"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:minHeight="24dp"
|
android:minHeight="24dp"
|
||||||
android:onClick="@{() -> item.toggleLog(viewModel)}"
|
android:onClick="@{() -> item.toggleLog(viewModel)}"
|
||||||
@ -150,15 +154,26 @@
|
|||||||
app:icon="@drawable/ic_bug_md2"
|
app:icon="@drawable/ic_bug_md2"
|
||||||
app:iconTint="@color/color_state_primary_transient"
|
app:iconTint="@color/color_state_primary_transient"
|
||||||
app:layout_constrainedWidth="true"
|
app:layout_constrainedWidth="true"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintEnd_toStartOf="@+id/policy_delete"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/policy_notify"
|
app:layout_constraintStart_toEndOf="@+id/policy_notify"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:tint="@color/color_state_primary_transient" />
|
app:tint="@color/color_state_primary_transient" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="1dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginTop="@dimen/l_50"
|
||||||
|
android:layout_marginBottom="@dimen/l_50"
|
||||||
|
android:background="?colorSurface"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/policy_log"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/policy_delete"
|
android:id="@+id/policy_delete"
|
||||||
style="@style/WidgetFoundation.Button.Text"
|
style="@style/WidgetFoundation.Button.Text"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:minHeight="24dp"
|
android:minHeight="24dp"
|
||||||
android:onClick="@{() -> viewModel.deletePressed(item)}"
|
android:onClick="@{() -> viewModel.deletePressed(item)}"
|
||||||
@ -170,21 +185,14 @@
|
|||||||
app:iconTint="?colorError"
|
app:iconTint="?colorError"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toEndOf="@+id/policy_log"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/policy_log"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:rippleColor="?colorError" />
|
app:rippleColor="?colorError" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
|
||||||
isSelected="@{item.enabled}"
|
|
||||||
android:layout_width="@dimen/l1"
|
|
||||||
android:layout_height="@dimen/l1"
|
|
||||||
android:layout_gravity="right|top"
|
|
||||||
app:srcCompat="@drawable/ic_card_check" />
|
|
||||||
|
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|
||||||
</layout>
|
</layout>
|
||||||
|
@ -42,16 +42,14 @@
|
|||||||
app:srcCompat="@{item.icon}"
|
app:srcCompat="@{item.icon}"
|
||||||
tools:srcCompat="@drawable/ic_fingerprint" />
|
tools:srcCompat="@drawable/ic_fingerprint" />
|
||||||
|
|
||||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/toggle_indicator"
|
android:id="@+id/toggle_indicator"
|
||||||
style="@style/WidgetFoundation.Switch"
|
style="@style/WidgetFoundation.Switch"
|
||||||
isEnabled="@{item.enabled}"
|
isEnabled="@{item.enabled}"
|
||||||
onTouch="@{(view, event) -> item.onTouched(view, callback, event)}"
|
isSelected="@{item.value}"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/l_25"
|
android:layout_marginEnd="@dimen/l_25"
|
||||||
android:checked="@{item.value}"
|
|
||||||
android:text=""
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
@ -1,13 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<color name="colorSecondary">#FFC107</color>
|
<color name="colorOverlay">#1AFFFFFF</color>
|
||||||
<color name="colorSecondaryDark">#AD8305</color>
|
|
||||||
|
|
||||||
<color name="colorText">#FFFFFF</color>
|
|
||||||
<color name="colorTextInactive">#ADADAD</color>
|
|
||||||
<color name="colorTextInverse">#1D1D1D</color>
|
|
||||||
|
|
||||||
<color name="colorTextTinted">#FFFFFF</color>
|
|
||||||
<color name="colorCardStrokeInverse">#2AE4E4E4</color>
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
@ -1,8 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<color name="su_request_background">#e0e0e0</color>
|
<color name="su_request_background">#e0e0e0</color>
|
||||||
|
<color name="colorOverlay">#0D000000</color>
|
||||||
<!-- Card colors -->
|
|
||||||
<color name="card_background_color_dark">#ff424242</color>
|
|
||||||
<color name="card_background_color_light">#ffffffff</color>
|
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -199,8 +199,11 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
<style name="WidgetFoundation.Switch" parent="Widget.AppCompat.CompoundButton.Switch">
|
<style name="WidgetFoundation.Switch">
|
||||||
<item name="thumbTint">@color/color_checkbox_primary</item>
|
<item name="android:layout_width">wrap_content</item>
|
||||||
|
<item name="android:layout_height">wrap_content</item>
|
||||||
|
<item name="android:background">@drawable/bg_checkbox</item>
|
||||||
|
<item name="srcCompat">@drawable/ic_checkbox</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
Loading…
x
Reference in New Issue
Block a user