Commit 861ad988 authored by Viktor De Pasquale's avatar Viktor De Pasquale

Updated design of the front page (with removed cards and added dividers)

Also updated material library and injected backported styles which were incompatible with the current UI for the most part and as it was over-carded all cards were removed and replaced with flat UI components.
This change is temporary and *will* be redone to the final redesign, in other words this is sufficient for the transition period.

All themers should refrain from trying to theme the app until the redesign is done. It will break your efforts with every other release.
parent 3101c538
...@@ -56,7 +56,7 @@ dependencies { ...@@ -56,7 +56,7 @@ dependencies {
implementation "androidx.preference:preference:${androidXVersion}" implementation "androidx.preference:preference:${androidXVersion}"
implementation "androidx.recyclerview:recyclerview:${androidXVersion}" implementation "androidx.recyclerview:recyclerview:${androidXVersion}"
implementation "androidx.cardview:cardview:${androidXVersion}" implementation "androidx.cardview:cardview:${androidXVersion}"
implementation "com.google.android.material:material:${androidXVersion}" implementation "com.google.android.material:material:1.1.0-alpha05"
implementation 'androidx.work:work-runtime:2.0.1' implementation 'androidx.work:work-runtime:2.0.1'
implementation 'androidx.transition:transition:1.1.0-beta01' implementation 'androidx.transition:transition:1.1.0-beta01'
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<application <application
android:allowBackup="true" android:allowBackup="true"
android:name="a.e" android:name="a.e"
android:theme="@style/AppTheme" android:theme="@style/MagiskTheme"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
tools:ignore="UnusedAttribute,GoogleAppIndexingWarning"> tools:ignore="UnusedAttribute,GoogleAppIndexingWarning">
...@@ -74,4 +74,4 @@ ...@@ -74,4 +74,4 @@
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -9,7 +9,12 @@ import android.view.ViewGroup; ...@@ -9,7 +9,12 @@ import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.StringRes;
import androidx.cardview.widget.CardView;
import butterknife.BindColor;
import butterknife.BindView;
import butterknife.OnClick;
import butterknife.Unbinder;
import com.topjohnwu.magisk.App; import com.topjohnwu.magisk.App;
import com.topjohnwu.magisk.Const; import com.topjohnwu.magisk.Const;
import com.topjohnwu.magisk.R; import com.topjohnwu.magisk.R;
...@@ -17,23 +22,16 @@ import com.topjohnwu.magisk.utils.ISafetyNetHelper; ...@@ -17,23 +22,16 @@ import com.topjohnwu.magisk.utils.ISafetyNetHelper;
import com.topjohnwu.magisk.view.dialogs.CustomAlertDialog; import com.topjohnwu.magisk.view.dialogs.CustomAlertDialog;
import com.topjohnwu.net.Networking; import com.topjohnwu.net.Networking;
import com.topjohnwu.superuser.Shell; import com.topjohnwu.superuser.Shell;
import dalvik.system.DexClassLoader;
import java.io.File; import java.io.File;
import androidx.annotation.StringRes;
import androidx.cardview.widget.CardView;
import butterknife.BindColor;
import butterknife.BindView;
import butterknife.OnClick;
import butterknife.Unbinder;
import dalvik.system.DexClassLoader;
public class SafetyNet implements ISafetyNetHelper.Callback { public class SafetyNet implements ISafetyNetHelper.Callback {
private static final File EXT_APK = private static final File EXT_APK =
new File(App.self.getFilesDir().getParent() + "/snet", "snet.apk"); new File(App.self.getFilesDir().getParent() + "/snet", "snet.apk");
@BindView(R.id.safetyNet_card) CardView safetyNetCard; /*@BindView(R.id.safetyNet_card) */ CardView safetyNetCard;
@BindView(R.id.safetyNet_refresh) ImageView safetyNetRefreshIcon; @BindView(R.id.safetyNet_refresh) ImageView safetyNetRefreshIcon;
@BindView(R.id.safetyNet_status) TextView safetyNetStatusText; @BindView(R.id.safetyNet_status) TextView safetyNetStatusText;
@BindView(R.id.safetyNet_check_progress) ProgressBar safetyNetProgress; @BindView(R.id.safetyNet_check_progress) ProgressBar safetyNetProgress;
......
...@@ -32,57 +32,49 @@ ...@@ -32,57 +32,49 @@
android:id="@+id/linearLayout" android:id="@+id/linearLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical"
android:padding="@dimen/margin_generic">
<androidx.cardview.widget.CardView <androidx.constraintlayout.widget.ConstraintLayout
style="?attr/cardStyle" android:layout_width="match_parent"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_marginTop="5dp"
android:layout_marginStart="5dp" android:layout_marginBottom="5dp">
android:layout_marginTop="4dp"
android:layout_marginEnd="5dp" <ImageView
android:layout_marginBottom="4dp" android:id="@+id/icon"
app:cardCornerRadius="@dimen/card_corner_radius" android:layout_width="wrap_content"
app:cardElevation="@dimen/card_elevation"> android:layout_height="0dp"
android:layout_marginEnd="16dp"
app:layout_constraintBottom_toBottomOf="@+id/app_name"
app:layout_constraintEnd_toStartOf="@+id/app_name"
app:layout_constraintHorizontal_bias="0.42"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/app_name"
app:srcCompat="@drawable/ic_logo" />
<androidx.constraintlayout.widget.ConstraintLayout <TextView
android:layout_width="match_parent" android:id="@+id/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="5dp" android:layout_gravity="center_vertical"
android:layout_marginBottom="5dp"> android:paddingTop="10dp"
android:paddingBottom="10dp"
<ImageView android:text="@string/app_name"
android:id="@+id/icon" android:textAppearance="@style/TextAppearance.AppCompat.Headline"
android:layout_width="wrap_content" app:layout_constraintBottom_toBottomOf="parent"
android:layout_height="0dp" app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="16dp" app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintBottom_toBottomOf="@+id/app_name" app:layout_constraintStart_toEndOf="@+id/icon"
app:layout_constraintEnd_toStartOf="@+id/app_name" app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintHorizontal_bias="0.42"
app:layout_constraintHorizontal_chainStyle="packed" </androidx.constraintlayout.widget.ConstraintLayout>
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/app_name" <View
app:srcCompat="@drawable/ic_logo" /> style="@style/Widget.Divider.Horizontal"
android:layout_width="match_parent"
<TextView android:layout_margin="@dimen/margin_generic" />
android:id="@+id/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:text="@string/app_name"
android:textAppearance="@style/TextAppearance.AppCompat.Headline"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/icon"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
<include <include
android:id="@+id/home_magisk_version" android:id="@+id/home_magisk_version"
...@@ -102,414 +94,379 @@ ...@@ -102,414 +94,379 @@
latestVersion="@{viewModel.managerLatestVersion}" latestVersion="@{viewModel.managerLatestVersion}"
layout="@layout/include_update_card" layout="@layout/include_update_card"
state="@{viewModel.managerState}" state="@{viewModel.managerState}"
text="@{viewModel.managerStateText}" /> text="@{viewModel.managerStateText}"
<androidx.cardview.widget.CardView
android:id="@+id/install_option_card"
style="?attr/cardStyle"
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_marginTop="@dimen/margin_generic" />
android:layout_marginStart="5dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="5dp"
android:layout_marginBottom="4dp"
app:cardCornerRadius="@dimen/card_corner_radius"
app:cardElevation="@dimen/card_elevation">
<LinearLayout <View
style="@style/Widget.Divider.Horizontal"
android:layout_width="match_parent"
android:layout_margin="@dimen/margin_generic" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
android:onClick="@{() -> viewModel.advancedPressed()}"
android:orientation="vertical"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:onClick="@{() -> viewModel.advancedPressed()}" android:background="?attr/selectableItemBackground"
android:orientation="vertical" android:minHeight="48dp">
android:paddingTop="10dp"
android:paddingBottom="10dp">
<androidx.constraintlayout.widget.ConstraintLayout <androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent" android:id="@+id/arrow"
android:layout_height="wrap_content"> android:layout_width="wrap_content"
<ImageView
android:id="@+id/arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:rotation="@{viewModel.isAdvancedExpanded ? 180 : 0}"
android:tint="?attr/imageColorTint"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/title"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_arrow" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/advanced_settings_title"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/install_option_expand"
gone="@{!viewModel.isAdvancedExpanded}"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:layout_marginStart="16dp"
android:rotation="@{viewModel.isAdvancedExpanded ? 180 : 0}"
<CheckBox app:layout_constraintBottom_toBottomOf="parent"
android:id="@+id/keep_force_enc" app:layout_constraintStart_toEndOf="@+id/title"
android:layout_width="match_parent" app:layout_constraintTop_toTopOf="parent"
android:layout_height="wrap_content" app:srcCompat="@drawable/ic_arrow"
android:layout_marginStart="50dp" app:tint="?attr/imageColorTint" />
android:layout_marginEnd="50dp"
android:checked="@={viewModel.isForceEncryption}"
android:text="@string/keep_force_encryption" />
<CheckBox
android:id="@+id/keep_verity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:layout_marginEnd="50dp"
android:checked="@={viewModel.isKeepVerity}"
android:text="@string/keep_dm_verity" />
</LinearLayout>
</LinearLayout> <TextView
</androidx.cardview.widget.CardView> android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/advanced_settings_title"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.cardview.widget.CardView </androidx.constraintlayout.widget.ConstraintLayout>
android:id="@+id/safetyNet_card"
style="?attr/cardStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginStart="5dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="5dp"
android:layout_marginBottom="4dp"
app:cardCornerRadius="@dimen/card_corner_radius"
app:cardElevation="@dimen/card_elevation">
<LinearLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/install_option_expand"
gone="@{!viewModel.isAdvancedExpanded}"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout <CheckBox
android:layout_width="match_parent" android:id="@+id/keep_force_enc"
android:layout_height="wrap_content"> android:layout_width="0dp"
android:layout_height="wrap_content"
<ImageView android:checked="@={viewModel.isForceEncryption}"
android:id="@+id/sn_logo" android:text="@string/keep_force_encryption"
android:layout_width="30dp" app:layout_constraintLeft_toLeftOf="parent"
android:layout_height="30dp" app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="12dp" app:layout_constraintTop_toTopOf="parent"
android:layout_marginEnd="24dp" app:layout_constraintWidth_default="wrap"
android:layout_marginBottom="12dp" app:layout_constraintWidth_min="300dp" />
android:tint="@color/green500"
app:layout_constraintBottom_toBottomOf="parent" <CheckBox
app:layout_constraintEnd_toStartOf="@+id/safetyNet_status" android:id="@+id/keep_verity"
app:layout_constraintTop_toTopOf="parent" android:layout_width="0dp"
app:srcCompat="@drawable/ic_safetynet" />
<ImageView
android:id="@+id/safetyNet_refresh"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginStart="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/safetyNet_status"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_refresh" />
<ProgressBar
android:id="@+id/safetyNet_check_progress"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/safetyNet_refresh"
app:layout_constraintEnd_toEndOf="@+id/safetyNet_refresh"
app:layout_constraintStart_toStartOf="@+id/safetyNet_refresh"
app:layout_constraintTop_toTopOf="@+id/safetyNet_refresh" />
<TextView
android:id="@+id/safetyNet_status"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:maxLines="1"
android:minWidth="200dp"
android:text="@string/safetyNet_check_text"
android:textStyle="bold"
app:autoSizeMaxTextSize="14sp"
app:autoSizeTextType="uniform"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/sn_status_end"
app:layout_constraintStart_toStartOf="@+id/sn_status_start"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/sn_status_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.25" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/sn_status_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.75" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/safetyNet_expand"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingBottom="10dp"> android:checked="@={viewModel.isKeepVerity}"
android:text="@string/keep_dm_verity"
<ImageView app:layout_constraintLeft_toLeftOf="parent"
android:id="@+id/cts_status_icon" app:layout_constraintRight_toRightOf="parent"
android:layout_width="25dp" app:layout_constraintTop_toBottomOf="@+id/keep_force_enc"
android:layout_height="25dp" app:layout_constraintWidth_default="wrap"
android:layout_marginEnd="8dp" app:layout_constraintWidth_min="300dp" />
app:layout_constraintBottom_toBottomOf="@+id/cts_status"
app:layout_constraintEnd_toStartOf="@+id/cts_status"
app:layout_constraintTop_toTopOf="@+id/cts_status" />
<ImageView
android:id="@+id/basic_status_icon"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginEnd="8dp"
app:layout_constraintBottom_toBottomOf="@+id/basic_status"
app:layout_constraintEnd_toStartOf="@+id/basic_status"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/basic_status" />
<TextView
android:id="@+id/cts_status"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:padding="6dp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/basic_status"
app:layout_constraintStart_toStartOf="@+id/basic_status"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/basic_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:padding="6dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/basic_status_icon"
app:layout_constraintTop_toBottomOf="@+id/cts_status" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView> </LinearLayout>
<androidx.cardview.widget.CardView <View
style="?attr/cardStyle" style="@style/Widget.Divider.Horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_margin="@dimen/margin_generic" />
android:layout_marginStart="5dp"
android:layout_marginTop="4dp" <LinearLayout
android:layout_marginEnd="5dp" android:layout_width="match_parent"
android:layout_marginBottom="4dp" android:layout_height="wrap_content"
app:cardCornerRadius="@dimen/card_corner_radius" android:orientation="vertical">
app:cardElevation="@dimen/card_elevation">
<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">
<FrameLayout <ImageView
android:id="@+id/twitter" android:id="@+id/sn_logo"
android:layout_width="0dp" android:layout_width="30dp"
android:layout_height="wrap_content" android:layout_height="30dp"
android:clickable="true" android:layout_marginTop="12dp"
android:focusable="true" android:layout_marginEnd="24dp"
android:foreground="?android:attr/selectableItemBackground" android:layout_marginBottom="12dp"
android:onClick="@{() -> viewModel.twitterPressed()}" android:tint="@color/green500"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/github" app:layout_constraintEnd_toStartOf="@+id/safetyNet_status"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintTop_toBottomOf="@+id/paypal"> app:srcCompat="@drawable/ic_safetynet" />
<ImageView <ImageView
android:layout_width="35dp" android:id="@+id/safetyNet_refresh"
android:layout_height="35dp" android:layout_width="25dp"
android:layout_gravity="center_horizontal" android:layout_height="25dp"
android:layout_margin="10dp" android:layout_marginStart="24dp"
android:tint="?attr/imageColorTint" app:layout_constraintBottom_toBottomOf="parent"
app:srcCompat="@drawable/ic_twitter" /> app:layout_constraintStart_toEndOf="@+id/safetyNet_status"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_refresh" />
</FrameLayout> <ProgressBar
android:id="@+id/safetyNet_check_progress"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/safetyNet_refresh"
app:layout_constraintEnd_toEndOf="@+id/safetyNet_refresh"
app:layout_constraintStart_toStartOf="@+id/safetyNet_refresh"
app:layout_constraintTop_toTopOf="@+id/safetyNet_refresh" />
<FrameLayout <TextView
android:id="@+id/github" android:id="@+id/safetyNet_status"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:clickable="true" android:gravity="center"
android:focusable="true" android:maxLines="1"
android:foreground="?android:attr/selectableItemBackground" android:minWidth="200dp"
android:onClick="@{() -> viewModel.githubPressed()}" android:text="@string/safetyNet_check_text"
android:textStyle="bold"
app:autoSizeMaxTextSize="14sp"
app:autoSizeTextType="uniform"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/xda" app:layout_constraintEnd_toStartOf="@+id/sn_status_end"
app:layout_constraintStart_toEndOf="@+id/twitter"> app:layout_constraintStart_toStartOf="@+id/sn_status_start"
app:layout_constraintTop_toTopOf="parent" />
<ImageView <androidx.constraintlayout.widget.Guideline
android:layout_width="35dp" android:id="@+id/sn_status_start"
android:layout_height="35dp" android:layout_width="wrap_content"
android:layout_gravity="center_horizontal" android:layout_height="wrap_content"
android:layout_margin="10dp" android:orientation="vertical"
android:tint="?attr/imageColorTint" app:layout_constraintGuide_percent="0.25" />
app:srcCompat="@drawable/ic_github" />
</FrameLayout> <androidx.constraintlayout.widget.Guideline
android:id="@+id/sn_status_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.75" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/safetyNet_expand"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dp">
<FrameLayout <ImageView
android:id="@+id/xda" android:id="@+id/cts_status_icon"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginEnd="8dp"
app:layout_constraintBottom_toBottomOf="@+id/cts_status"
app:layout_constraintEnd_toStartOf="@+id/cts_status"
app:layout_constraintTop_toTopOf="@+id/cts_status" />
<ImageView
android:id="@+id/basic_status_icon"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginEnd="8dp"
app:layout_constraintBottom_toBottomOf="@+id/basic_status"
app:layout_constraintEnd_toStartOf="@+id/basic_status"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/basic_status" />
<TextView
android:id="@+id/cts_status"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:clickable="true" android:padding="6dp"
android:focusable="true" android:textStyle="bold"
android:foreground="?android:attr/selectableItemBackground" app:layout_constraintEnd_toEndOf="@+id/basic_status"
android:onClick="@{() -> viewModel.xdaPressed()}" app:layout_constraintStart_toStartOf="@+id/basic_status"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/basic_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:padding="6dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/github"> app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/basic_status_icon"
app:layout_constraintTop_toBottomOf="@+id/cts_status" />
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:tint="?attr/imageColorTint"
app:srcCompat="@drawable/ic_xda" />
</FrameLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout </LinearLayout>
android:id="@+id/patreon"
android:layout_width="0dp" <View
style="@style/Widget.Divider.Horizontal"
android:layout_width="match_parent"
android:layout_margin="@dimen/margin_generic" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:id="@+id/twitter"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:foreground="?android:attr/selectableItemBackground"
android:onClick="@{() -> viewModel.twitterPressed()}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/github"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/paypal">
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:tint="?attr/imageColorTint"
app:srcCompat="@drawable/ic_twitter" />
</FrameLayout>
<FrameLayout
android:id="@+id/github"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:foreground="?android:attr/selectableItemBackground"
android:onClick="@{() -> viewModel.githubPressed()}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/xda"
app:layout_constraintStart_toEndOf="@+id/twitter">
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:tint="?attr/imageColorTint"
app:srcCompat="@drawable/ic_github" />
</FrameLayout>
<FrameLayout
android:id="@+id/xda"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:foreground="?android:attr/selectableItemBackground"
android:onClick="@{() -> viewModel.xdaPressed()}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/github">
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:tint="?attr/imageColorTint"
app:srcCompat="@drawable/ic_xda" />
</FrameLayout>
<LinearLayout
android:id="@+id/patreon"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center_horizontal"
android:onClick="@{() -> viewModel.patreonPressed()}"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/paypal"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="center"
android:layout_margin="10dp"
android:tint="?attr/imageColorTint"
app:srcCompat="@drawable/ic_patreon" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground" android:layout_gravity="center"
android:clickable="true" android:layout_margin="5dp"
android:focusable="true" android:text="Patreon"
android:gravity="center_horizontal" android:textAppearance="?android:attr/textAppearanceMedium"
android:onClick="@{() -> viewModel.patreonPressed()}" android:textStyle="bold" />
android:orientation="horizontal" </LinearLayout>
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/paypal" <LinearLayout
app:layout_constraintTop_toTopOf="parent"> android:id="@+id/paypal"
android:layout_width="0dp"
<ImageView android:layout_height="wrap_content"
android:layout_width="35dp" android:background="?android:attr/selectableItemBackground"
android:layout_height="35dp" android:clickable="true"
android:layout_gravity="center" android:focusable="true"
android:layout_margin="10dp" android:gravity="center_horizontal"
android:tint="?attr/imageColorTint" android:onClick="@{() -> viewModel.paypalPressed()}"
app:srcCompat="@drawable/ic_patreon" /> android:orientation="horizontal"
app:layout_constraintEnd_toStartOf="@+id/patreon"
<TextView app:layout_constraintStart_toStartOf="parent"
android:layout_width="wrap_content" app:layout_constraintTop_toTopOf="parent">
android:layout_height="wrap_content"
android:layout_gravity="center" <ImageView
android:layout_margin="5dp" android:layout_width="35dp"
android:text="Patreon" android:layout_height="35dp"
android:textAppearance="?android:attr/textAppearanceMedium" android:layout_gravity="center"
android:textStyle="bold" /> android:layout_margin="10dp"
</LinearLayout> android:tint="?attr/imageColorTint"
app:srcCompat="@drawable/ic_paypal" />
<LinearLayout
android:id="@+id/paypal" <TextView
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground" android:layout_gravity="center"
android:clickable="true" android:layout_margin="5dp"
android:focusable="true" android:text="PayPal"
android:gravity="center_horizontal" android:textAppearance="?android:attr/textAppearanceMedium"
android:onClick="@{() -> viewModel.paypalPressed()}" android:textStyle="bold" />
android:orientation="horizontal" </LinearLayout>
app:layout_constraintEnd_toStartOf="@+id/patreon"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="center"
android:layout_margin="10dp"
android:tint="?attr/imageColorTint"
app:srcCompat="@drawable/ic_paypal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="5dp"
android:text="PayPal"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView> <View
style="@style/Widget.Divider.Horizontal"
android:layout_width="match_parent"
android:layout_margin="@dimen/margin_generic" />
<androidx.cardview.widget.CardView <com.google.android.material.button.MaterialButton
android:id="@+id/uninstall_button" style="@style/Widget.Button.Text"
style="?attr/cardStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="5dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="5dp"
android:layout_marginBottom="4dp"
android:clickable="true"
android:focusable="true"
android:foreground="?android:attr/selectableItemBackground"
android:onClick="@{() -> viewModel.uninstallPressed()}" android:onClick="@{() -> viewModel.uninstallPressed()}"
app:cardCornerRadius="@dimen/card_corner_radius" android:text="@string/uninstall" />
app:cardElevation="@dimen/card_elevation">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:ems="10"
android:fontFamily="sans-serif"
android:gravity="center"
android:text="@string/uninstall"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="bold" />
</androidx.cardview.widget.CardView>
</LinearLayout> </LinearLayout>
......
...@@ -39,123 +39,115 @@ ...@@ -39,123 +39,115 @@
</data> </data>
<androidx.cardview.widget.CardView <androidx.constraintlayout.widget.ConstraintLayout
style="?attr/cardStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_marginStart="5dp" android:animateLayoutChanges="true"
android:layout_marginTop="4dp" android:background="?android:attr/selectableItemBackground"
android:layout_marginEnd="5dp" android:onClick="@{() -> viewModel.cardPressed(item)}">
android:layout_marginBottom="4dp"
android:foreground="?android:attr/selectableItemBackground" <com.google.android.material.button.MaterialButton
android:onClick="@{() -> viewModel.cardPressed(item)}" android:id="@+id/install"
app:cardCornerRadius="@dimen/card_corner_radius" style="@style/Widget.Button.Text"
app:cardElevation="@dimen/card_elevation"> gone="@{state == MagiskState.LOADING}"
android:layout_width="wrap_content"
<androidx.constraintlayout.widget.ConstraintLayout android:layout_height="wrap_content"
android:layout_width="match_parent" android:layout_marginEnd="8dp"
android:layout_height="match_parent" android:onClick="@{() -> viewModel.installPressed(item)}"
android:paddingTop="12dp" android:text="@{state != MagiskState.OBSOLETE ? @string/install : @string/update}"
android:paddingBottom="12dp"> app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
<androidx.appcompat.widget.AppCompatButton app:layout_constraintTop_toTopOf="parent"
android:id="@+id/install" tools:text="@string/install" />
gone="@{state == MagiskState.LOADING}"
android:layout_width="wrap_content" <androidx.appcompat.widget.AppCompatImageView
android:layout_height="wrap_content" android:id="@+id/status_icon"
android:layout_marginEnd="8dp" invisible="@{state == MagiskState.LOADING}"
android:onClick="@{() -> viewModel.installPressed(item)}" srcCompat="@{state == MagiskState.UP_TO_DATE ? R.drawable.ic_check_circle : (state == MagiskState.OBSOLETE ? R.drawable.ic_update : R.drawable.ic_help)}"
android:text="@{state != MagiskState.OBSOLETE ? @string/install : @string/update}" android:layout_width="25dp"
app:layout_constraintBottom_toBottomOf="parent" android:layout_height="25dp"
app:layout_constraintEnd_toEndOf="parent" android:layout_marginStart="16dp"
app:layout_constraintTop_toTopOf="parent" android:layout_marginEnd="16dp"
tools:text="@string/install" /> app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/status"
<androidx.appcompat.widget.AppCompatImageView app:layout_constraintStart_toStartOf="parent"
android:id="@+id/status_icon" app:layout_constraintTop_toTopOf="parent"
invisible="@{state == MagiskState.LOADING}" app:tint="@{state == MagiskState.UP_TO_DATE ? @color/colorCorrect : (state == MagiskState.OBSOLETE ? @color/colorUpdate : @color/colorError)}" />
srcCompat="@{state == MagiskState.UP_TO_DATE ? R.drawable.ic_check_circle : (state == MagiskState.OBSOLETE ? R.drawable.ic_update : R.drawable.ic_help)}"
android:layout_width="25dp" <ProgressBar
android:layout_height="25dp" android:id="@+id/progress"
android:layout_marginStart="16dp" style="@style/Widget.Progress"
android:layout_marginEnd="16dp" gone="@{state != MagiskState.LOADING}"
app:tint="@{state == MagiskState.UP_TO_DATE ? @color/colorCorrect : (state == MagiskState.OBSOLETE ? @color/colorUpdate : @color/colorError)}" android:layout_width="0dp"
app:layout_constraintBottom_toBottomOf="parent" android:layout_height="0dp"
app:layout_constraintEnd_toStartOf="@+id/status" app:layout_constraintBottom_toBottomOf="@+id/status_icon"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="@+id/status_icon"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintStart_toStartOf="@+id/status_icon"
app:layout_constraintTop_toTopOf="@+id/status_icon" />
<ProgressBar
android:id="@+id/progress" <androidx.appcompat.widget.AppCompatTextView
gone="@{state != MagiskState.LOADING}" android:id="@+id/status"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="@+id/status_icon" android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="@+id/status_icon" android:maxLines="1"
app:layout_constraintStart_toStartOf="@+id/status_icon" android:paddingTop="3dp"
app:layout_constraintTop_toTopOf="@+id/status_icon" /> android:paddingBottom="3dp"
android:text="@{text}"
<androidx.appcompat.widget.AppCompatTextView android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/current_version" app:autoSizeMinTextSize="1sp"
android:layout_width="0dp" app:autoSizeTextType="uniform"
android:layout_height="wrap_content" app:layout_constraintBottom_toTopOf="@+id/current_version"
android:maxLines="1" app:layout_constraintEnd_toStartOf="@+id/install"
android:text="@{state != MagiskState.LOADING ? currentVersion : @string/checking_for_updates}" app:layout_constraintStart_toEndOf="@+id/status_icon"
app:autoSizeMinTextSize="1sp" app:layout_constraintTop_toTopOf="parent"
app:autoSizeTextType="uniform" app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintEnd_toEndOf="@+id/status" tools:text="Magisk is up to date" />
app:layout_constraintStart_toStartOf="@+id/status"
app:layout_constraintTop_toBottomOf="@+id/status" <androidx.appcompat.widget.AppCompatTextView
tools:text="@string/checking_for_updates" /> android:id="@+id/current_version"
android:layout_width="0dp"
<androidx.appcompat.widget.AppCompatTextView android:layout_height="wrap_content"
android:id="@+id/latest_version" android:maxLines="1"
gone="@{currentVersion == latestVersion}" android:text="@{state != MagiskState.LOADING ? currentVersion : @string/checking_for_updates}"
android:layout_width="0dp" app:autoSizeMinTextSize="1sp"
android:layout_height="wrap_content" app:autoSizeTextType="uniform"
android:maxLines="1" app:layout_constraintBottom_toTopOf="@+id/latest_version"
android:text="@{state != MagiskState.LOADING ? latestVersion : @string/checking_for_updates}" app:layout_constraintEnd_toEndOf="@+id/status"
app:autoSizeMinTextSize="1sp" app:layout_constraintStart_toStartOf="@+id/status"
app:autoSizeTextType="uniform" app:layout_constraintTop_toBottomOf="@+id/status"
app:layout_constraintEnd_toEndOf="@+id/status" tools:text="@string/checking_for_updates" />
app:layout_constraintStart_toStartOf="@+id/status"
app:layout_constraintTop_toBottomOf="@+id/current_version" <androidx.appcompat.widget.AppCompatTextView
tools:text="@string/checking_for_updates" /> android:id="@+id/latest_version"
gone="@{currentVersion == latestVersion}"
<androidx.appcompat.widget.AppCompatTextView android:layout_width="0dp"
android:id="@+id/additional" android:layout_height="wrap_content"
gone="@{additionalInfo.length == 0}" android:maxLines="1"
android:layout_width="0dp" android:text="@{state != MagiskState.LOADING ? latestVersion : @string/checking_for_updates}"
android:layout_height="wrap_content" app:autoSizeMinTextSize="1sp"
android:maxLines="1" app:autoSizeTextType="uniform"
android:text="@{additionalInfo}" app:layout_constraintBottom_toTopOf="@+id/additional"
app:autoSizeMinTextSize="1sp" app:layout_constraintEnd_toEndOf="@+id/status"
app:autoSizeTextType="uniform" app:layout_constraintStart_toStartOf="@+id/status"
app:layout_constraintEnd_toEndOf="@+id/status" app:layout_constraintTop_toBottomOf="@+id/current_version"
app:layout_constraintStart_toStartOf="@+id/status" tools:text="@string/checking_for_updates" />
app:layout_constraintTop_toBottomOf="@+id/latest_version"
tools:text="@string/checking_for_updates" /> <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/additional"
<androidx.appcompat.widget.AppCompatTextView gone="@{additionalInfo.length == 0}"
android:id="@+id/status" android:layout_width="0dp"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:maxLines="1"
android:layout_marginEnd="8dp" android:text="@{additionalInfo}"
android:maxLines="1" app:autoSizeMinTextSize="1sp"
android:paddingTop="3dp" app:autoSizeTextType="uniform"
android:paddingBottom="3dp" app:layout_constraintBottom_toBottomOf="parent"
android:text="@{text}" app:layout_constraintEnd_toEndOf="@+id/status"
android:textAppearance="?android:attr/textAppearanceMedium" app:layout_constraintStart_toStartOf="@+id/status"
app:autoSizeMinTextSize="1sp" app:layout_constraintTop_toBottomOf="@+id/latest_version"
app:autoSizeTextType="uniform" tools:text="@string/checking_for_updates" />
app:layout_constraintEnd_toStartOf="@+id/install"
app:layout_constraintStart_toEndOf="@+id/status_icon" </androidx.constraintlayout.widget.ConstraintLayout>
app:layout_constraintTop_toTopOf="parent"
tools:text="Magisk is up to date" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</layout> </layout>
...@@ -14,7 +14,13 @@ ...@@ -14,7 +14,13 @@
<style name="ThemeFoundation.Colored.ExtraProps" /> <style name="ThemeFoundation.Colored.ExtraProps" />
<style name="MagiskTheme" parent="ThemeFoundation.Colored.ExtraProps" /> <style name="MagiskTheme" parent="ThemeFoundation.Colored.ExtraProps">
<!--All of these attributes are deprecated and will be removed-->
<item name="cardStyle">@style/CardViewStyle.Light</item>
<item name="imageColorTint">@color/icon_grey</item>
<item name="colorControl">?android:attr/textColorSecondary</item>
<item name="colorAccentFallback">@color/accentFallback</item>
</style>
<style name="MagiskTheme.Flashing" parent="Theme.MaterialComponents.NoActionBar"> <style name="MagiskTheme.Flashing" parent="Theme.MaterialComponents.NoActionBar">
<item name="colorPrimary">@android:color/black</item> <item name="colorPrimary">@android:color/black</item>
......
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