2016-08-23 09:39:18 +00:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2019-04-12 22:14:37 +00:00
|
|
|
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
2019-04-15 16:36:38 +00:00
|
|
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
|
|
xmlns:tools="http://schemas.android.com/tools">
|
2019-04-12 22:14:37 +00:00
|
|
|
|
|
|
|
<data>
|
|
|
|
|
2019-04-15 16:36:38 +00:00
|
|
|
<import type="com.skoumal.teanity.viewmodel.LoadingViewModel.State" />
|
|
|
|
|
|
|
|
<import type="com.topjohnwu.magisk.ui.home.SafetyNetState" />
|
|
|
|
|
2019-04-12 22:14:37 +00:00
|
|
|
<import type="com.topjohnwu.magisk.ui.home.MagiskState" />
|
|
|
|
|
|
|
|
<import type="com.topjohnwu.magisk.ui.home.MagiskItem" />
|
|
|
|
|
2019-04-15 16:36:38 +00:00
|
|
|
<import type="com.topjohnwu.magisk.R" />
|
|
|
|
|
2019-07-28 09:10:22 +00:00
|
|
|
<import type="com.topjohnwu.magisk.extensions.XStringKt" />
|
2019-05-11 08:50:01 +00:00
|
|
|
|
2019-04-12 22:14:37 +00:00
|
|
|
<variable
|
|
|
|
name="viewModel"
|
|
|
|
type="com.topjohnwu.magisk.ui.home.HomeViewModel" />
|
|
|
|
|
|
|
|
</data>
|
|
|
|
|
|
|
|
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
|
|
|
android:id="@+id/swipeRefreshLayout"
|
2016-09-30 10:22:43 +00:00
|
|
|
android:layout_width="match_parent"
|
2019-04-12 22:14:37 +00:00
|
|
|
android:layout_height="fill_parent"
|
|
|
|
android:orientation="vertical"
|
|
|
|
app:onRefreshListener="@{() -> viewModel.refresh()}"
|
|
|
|
app:refreshing="@{viewModel.loading}">
|
2016-08-23 09:39:18 +00:00
|
|
|
|
2019-04-12 22:14:37 +00:00
|
|
|
<ScrollView
|
2016-08-23 09:39:18 +00:00
|
|
|
android:layout_width="match_parent"
|
2019-04-12 22:14:37 +00:00
|
|
|
android:layout_height="match_parent"
|
|
|
|
android:layout_marginBottom="8dp"
|
2016-09-28 10:05:55 +00:00
|
|
|
android:orientation="vertical">
|
|
|
|
|
2019-04-12 22:14:37 +00:00
|
|
|
<LinearLayout
|
|
|
|
android:id="@+id/linearLayout"
|
2019-02-01 09:39:54 +00:00
|
|
|
android:layout_width="match_parent"
|
|
|
|
android:layout_height="wrap_content"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:orientation="vertical"
|
|
|
|
android:padding="@dimen/margin_generic">
|
2019-04-12 22:14:37 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
|
|
|
android:layout_width="match_parent"
|
2019-04-16 14:20:46 +00:00
|
|
|
android:layout_height="wrap_content">
|
2019-04-14 09:51:47 +00:00
|
|
|
|
|
|
|
<ImageView
|
|
|
|
android:id="@+id/icon"
|
|
|
|
android:layout_width="wrap_content"
|
|
|
|
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" />
|
2019-02-01 09:39:54 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<TextView
|
|
|
|
android:id="@+id/app_name"
|
|
|
|
android:layout_width="wrap_content"
|
2019-04-12 22:14:37 +00:00
|
|
|
android:layout_height="wrap_content"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_gravity="center_vertical"
|
2019-04-15 16:36:38 +00:00
|
|
|
android:paddingTop="10dp"
|
2019-08-06 14:14:58 +00:00
|
|
|
android:paddingBottom="10dp"
|
2019-04-14 09:51:47 +00:00
|
|
|
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>
|
|
|
|
|
|
|
|
<View
|
|
|
|
style="@style/Widget.Divider.Horizontal"
|
|
|
|
android:layout_width="match_parent"
|
|
|
|
android:layout_margin="@dimen/margin_generic" />
|
2019-04-12 22:14:37 +00:00
|
|
|
|
|
|
|
<include
|
|
|
|
android:id="@+id/home_magisk_version"
|
|
|
|
additionalInfo="@{viewModel.magiskAdditionalInfo}"
|
|
|
|
currentVersion="@{viewModel.magiskCurrentVersion}"
|
|
|
|
item="@{MagiskItem.MAGISK}"
|
|
|
|
latestVersion="@{viewModel.magiskLatestVersion}"
|
|
|
|
layout="@layout/include_update_card"
|
|
|
|
state="@{viewModel.magiskState}"
|
2019-04-14 10:21:23 +00:00
|
|
|
text="@{viewModel.magiskStateText}"
|
|
|
|
viewModel="@{viewModel}" />
|
2019-04-12 22:14:37 +00:00
|
|
|
|
|
|
|
<include
|
|
|
|
android:id="@+id/home_manager_version"
|
|
|
|
additionalInfo="@{viewModel.managerAdditionalInfo}"
|
|
|
|
currentVersion="@{viewModel.managerCurrentVersion}"
|
|
|
|
item="@{MagiskItem.MANAGER}"
|
|
|
|
latestVersion="@{viewModel.managerLatestVersion}"
|
|
|
|
layout="@layout/include_update_card"
|
|
|
|
state="@{viewModel.managerState}"
|
2019-04-14 09:51:47 +00:00
|
|
|
text="@{viewModel.managerStateText}"
|
2019-04-14 10:21:23 +00:00
|
|
|
viewModel="@{viewModel}"
|
2019-04-12 22:14:37 +00:00
|
|
|
android:layout_width="match_parent"
|
|
|
|
android:layout_height="wrap_content"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_marginTop="@dimen/margin_generic" />
|
2019-04-12 22:14:37 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<View
|
|
|
|
style="@style/Widget.Divider.Horizontal"
|
2019-08-07 05:24:06 +00:00
|
|
|
gone="@{!viewModel.isConnected}"
|
2019-04-14 09:51:47 +00:00
|
|
|
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"
|
2019-08-07 05:24:06 +00:00
|
|
|
gone="@{!viewModel.isConnected}"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:onClick="@{() -> viewModel.advancedPressed()}"
|
2019-04-16 14:20:46 +00:00
|
|
|
android:orientation="vertical">
|
2019-04-14 09:51:47 +00:00
|
|
|
|
|
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
2019-04-12 22:14:37 +00:00
|
|
|
android:layout_width="match_parent"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_height="wrap_content"
|
|
|
|
android:background="?attr/selectableItemBackground"
|
|
|
|
android:minHeight="48dp">
|
2019-04-12 22:14:37 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<androidx.appcompat.widget.AppCompatImageView
|
|
|
|
android:id="@+id/arrow"
|
|
|
|
android:layout_width="wrap_content"
|
2019-02-01 09:39:54 +00:00
|
|
|
android:layout_height="wrap_content"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_marginStart="16dp"
|
|
|
|
android:rotation="@{viewModel.isAdvancedExpanded ? 180 : 0}"
|
|
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
|
|
|
app:layout_constraintStart_toEndOf="@+id/title"
|
|
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
|
|
app:srcCompat="@drawable/ic_arrow"
|
|
|
|
app:tint="?attr/imageColorTint" />
|
2019-02-01 09:39:54 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<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" />
|
2019-04-12 22:14:37 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
2019-02-01 09:39:54 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
|
|
|
android:id="@+id/install_option_expand"
|
|
|
|
gone="@{!viewModel.isAdvancedExpanded}"
|
2019-02-01 09:39:54 +00:00
|
|
|
android:layout_width="match_parent"
|
|
|
|
android:layout_height="wrap_content"
|
|
|
|
android:orientation="vertical">
|
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<CheckBox
|
|
|
|
android:id="@+id/keep_force_enc"
|
|
|
|
android:layout_width="0dp"
|
|
|
|
android:layout_height="wrap_content"
|
|
|
|
android:checked="@={viewModel.isForceEncryption}"
|
|
|
|
android:text="@string/keep_force_encryption"
|
|
|
|
app:layout_constraintLeft_toLeftOf="parent"
|
|
|
|
app:layout_constraintRight_toRightOf="parent"
|
|
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
|
|
app:layout_constraintWidth_default="wrap"
|
|
|
|
app:layout_constraintWidth_min="300dp" />
|
|
|
|
|
|
|
|
<CheckBox
|
|
|
|
android:id="@+id/keep_verity"
|
|
|
|
android:layout_width="0dp"
|
2019-02-01 09:39:54 +00:00
|
|
|
android:layout_height="wrap_content"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:checked="@={viewModel.isKeepVerity}"
|
|
|
|
android:text="@string/keep_dm_verity"
|
|
|
|
app:layout_constraintLeft_toLeftOf="parent"
|
|
|
|
app:layout_constraintRight_toRightOf="parent"
|
|
|
|
app:layout_constraintTop_toBottomOf="@+id/keep_force_enc"
|
|
|
|
app:layout_constraintWidth_default="wrap"
|
|
|
|
app:layout_constraintWidth_min="300dp" />
|
2019-02-01 09:39:54 +00:00
|
|
|
|
2019-09-08 04:44:26 +00:00
|
|
|
<CheckBox
|
|
|
|
android:id="@+id/recovery_mode"
|
|
|
|
android:layout_width="0dp"
|
|
|
|
android:layout_height="wrap_content"
|
|
|
|
android:checked="@={viewModel.isRecovery}"
|
|
|
|
android:text="@string/recovery_mode"
|
|
|
|
app:layout_constraintLeft_toLeftOf="parent"
|
|
|
|
app:layout_constraintRight_toRightOf="parent"
|
|
|
|
app:layout_constraintTop_toBottomOf="@+id/keep_verity"
|
|
|
|
app:layout_constraintWidth_default="wrap"
|
|
|
|
app:layout_constraintWidth_min="300dp" />
|
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
2019-02-01 09:39:54 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
</LinearLayout>
|
2019-02-01 09:39:54 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<View
|
|
|
|
style="@style/Widget.Divider.Horizontal"
|
2019-08-07 05:24:06 +00:00
|
|
|
gone="@{!viewModel.hasRoot || !viewModel.isConnected}"
|
2016-08-23 09:39:18 +00:00
|
|
|
android:layout_width="match_parent"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_margin="@dimen/margin_generic" />
|
|
|
|
|
|
|
|
<LinearLayout
|
2019-08-08 11:18:32 +00:00
|
|
|
gone="@{!viewModel.isConnected || !viewModel.hasGMS}"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_width="match_parent"
|
|
|
|
android:layout_height="wrap_content"
|
|
|
|
android:orientation="vertical">
|
2016-08-23 09:39:18 +00:00
|
|
|
|
2019-01-30 22:11:03 +00:00
|
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
2016-09-28 10:05:55 +00:00
|
|
|
android:layout_width="match_parent"
|
2019-04-15 16:36:38 +00:00
|
|
|
android:layout_height="wrap_content"
|
2019-08-06 14:14:58 +00:00
|
|
|
android:paddingTop="@dimen/margin_generic_half"
|
|
|
|
android:paddingBottom="@dimen/margin_generic_half">
|
2019-01-30 22:11:03 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<ImageView
|
|
|
|
android:id="@+id/sn_logo"
|
|
|
|
android:layout_width="30dp"
|
|
|
|
android:layout_height="30dp"
|
|
|
|
android:tint="@color/green500"
|
2019-01-30 22:11:03 +00:00
|
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
2019-04-14 09:51:47 +00:00
|
|
|
app:layout_constraintEnd_toStartOf="@+id/safetyNet_status"
|
2019-04-15 16:36:38 +00:00
|
|
|
app:layout_constraintHorizontal_chainStyle="packed"
|
|
|
|
app:layout_constraintStart_toStartOf="parent"
|
2019-04-14 09:51:47 +00:00
|
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
|
|
app:srcCompat="@drawable/ic_safetynet" />
|
2016-09-28 10:05:55 +00:00
|
|
|
|
2019-04-15 16:36:38 +00:00
|
|
|
<TextView
|
|
|
|
android:id="@+id/safetyNet_status"
|
|
|
|
android:layout_width="0dp"
|
|
|
|
android:layout_height="wrap_content"
|
|
|
|
android:layout_marginLeft="@dimen/margin_generic"
|
|
|
|
android:layout_marginRight="@dimen/margin_generic"
|
|
|
|
android:gravity="center"
|
|
|
|
android:maxLines="1"
|
2019-05-11 08:50:01 +00:00
|
|
|
android:text="@{XStringKt.res(viewModel.safetyNetTitle)}"
|
2019-04-15 16:36:38 +00:00
|
|
|
android:textStyle="bold"
|
|
|
|
app:autoSizeMaxTextSize="14sp"
|
|
|
|
app:autoSizeTextType="uniform"
|
|
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
|
|
|
app:layout_constraintEnd_toStartOf="@+id/safetyNet_refresh"
|
|
|
|
app:layout_constraintStart_toEndOf="@+id/sn_logo"
|
|
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
|
|
app:layout_constraintWidth_min="200dp" />
|
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<ImageView
|
|
|
|
android:id="@+id/safetyNet_refresh"
|
2019-04-15 16:36:38 +00:00
|
|
|
invisible="@{viewModel.ctsState == SafetyNetState.LOADING || viewModel.basicIntegrityState == SafetyNetState.LOADING}"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_width="25dp"
|
|
|
|
android:layout_height="25dp"
|
2019-04-15 16:36:38 +00:00
|
|
|
android:onClick="@{() -> viewModel.safetyNetPressed()}"
|
2019-04-14 09:51:47 +00:00
|
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
2019-04-15 16:36:38 +00:00
|
|
|
app:layout_constraintEnd_toEndOf="parent"
|
2019-04-14 09:51:47 +00:00
|
|
|
app:layout_constraintStart_toEndOf="@+id/safetyNet_status"
|
|
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
|
|
app:srcCompat="@drawable/ic_refresh" />
|
2019-02-03 08:54:57 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<ProgressBar
|
|
|
|
android:id="@+id/safetyNet_check_progress"
|
2019-04-16 14:20:46 +00:00
|
|
|
style="@style/Widget.Progress"
|
2019-04-15 16:36:38 +00:00
|
|
|
goneUnless="@{viewModel.ctsState == SafetyNetState.LOADING || viewModel.basicIntegrityState == SafetyNetState.LOADING}"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_width="0dp"
|
|
|
|
android:layout_height="0dp"
|
|
|
|
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" />
|
2016-09-28 10:05:55 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
|
|
|
|
|
|
<androidx.constraintlayout.widget.ConstraintLayout
|
|
|
|
android:id="@+id/safetyNet_expand"
|
2019-04-15 16:36:38 +00:00
|
|
|
gone="@{viewModel.safetyNetState == State.LOADING}"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_width="match_parent"
|
|
|
|
android:layout_height="wrap_content"
|
|
|
|
android:paddingBottom="10dp">
|
2017-05-19 19:04:14 +00:00
|
|
|
|
2019-04-15 16:36:38 +00:00
|
|
|
<androidx.appcompat.widget.AppCompatImageView
|
2019-04-14 09:51:47 +00:00
|
|
|
android:id="@+id/cts_status_icon"
|
2019-04-15 16:36:38 +00:00
|
|
|
srcCompat="@{viewModel.ctsState == SafetyNetState.PASS ? R.drawable.ic_check_circle : R.drawable.ic_cancel}"
|
2019-04-14 09:51:47 +00:00
|
|
|
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"
|
2019-04-15 16:36:38 +00:00
|
|
|
app:layout_constraintTop_toTopOf="@+id/cts_status"
|
2019-04-16 14:20:46 +00:00
|
|
|
app:tint="@{viewModel.ctsState == SafetyNetState.PASS ? @color/colorCorrect : @color/colorError}"
|
2019-04-15 16:36:38 +00:00
|
|
|
tools:srcCompat="@drawable/ic_check_circle" />
|
2019-04-14 09:51:47 +00:00
|
|
|
|
2019-04-15 16:36:38 +00:00
|
|
|
<androidx.appcompat.widget.AppCompatImageView
|
2019-04-14 09:51:47 +00:00
|
|
|
android:id="@+id/basic_status_icon"
|
2019-04-15 16:36:38 +00:00
|
|
|
srcCompat="@{viewModel.basicIntegrityState == SafetyNetState.PASS ? R.drawable.ic_check_circle : R.drawable.ic_cancel}"
|
2019-04-14 09:51:47 +00:00
|
|
|
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"
|
2019-04-15 16:36:38 +00:00
|
|
|
app:layout_constraintTop_toTopOf="@+id/basic_status"
|
2019-04-16 14:20:46 +00:00
|
|
|
app:tint="@{viewModel.basicIntegrityState == SafetyNetState.PASS ? @color/colorCorrect : @color/colorError}"
|
2019-04-15 16:36:38 +00:00
|
|
|
tools:srcCompat="@drawable/ic_check_circle" />
|
2019-04-14 09:51:47 +00:00
|
|
|
|
|
|
|
<TextView
|
|
|
|
android:id="@+id/cts_status"
|
2019-01-30 22:11:03 +00:00
|
|
|
android:layout_width="0dp"
|
2016-09-28 10:05:55 +00:00
|
|
|
android:layout_height="wrap_content"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:padding="6dp"
|
2019-04-15 16:36:38 +00:00
|
|
|
android:text="@{String.format(`ctsProfile: %b`, viewModel.ctsState == SafetyNetState.PASS)}"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:textStyle="bold"
|
|
|
|
app:layout_constraintEnd_toEndOf="@+id/basic_status"
|
|
|
|
app:layout_constraintStart_toStartOf="@+id/basic_status"
|
2019-04-15 16:36:38 +00:00
|
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
|
|
tools:text="ctsProfile: true" />
|
2019-04-14 09:51:47 +00:00
|
|
|
|
|
|
|
<TextView
|
|
|
|
android:id="@+id/basic_status"
|
|
|
|
android:layout_width="wrap_content"
|
|
|
|
android:layout_height="wrap_content"
|
|
|
|
android:layout_marginTop="4dp"
|
|
|
|
android:padding="6dp"
|
2019-04-15 16:36:38 +00:00
|
|
|
android:text="@{String.format(`basicIntegrity: %b`, viewModel.basicIntegrityState == SafetyNetState.PASS)}"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:textStyle="bold"
|
2019-01-30 22:11:03 +00:00
|
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
|
|
|
app:layout_constraintEnd_toEndOf="parent"
|
2019-04-14 09:51:47 +00:00
|
|
|
app:layout_constraintHorizontal_bias="0.5"
|
|
|
|
app:layout_constraintStart_toEndOf="@+id/basic_status_icon"
|
2019-04-15 16:36:38 +00:00
|
|
|
app:layout_constraintTop_toBottomOf="@+id/cts_status"
|
|
|
|
tools:text="basicIntegrity: true" />
|
2016-08-23 09:39:18 +00:00
|
|
|
|
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
2017-05-21 04:16:38 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
</LinearLayout>
|
|
|
|
|
|
|
|
<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"
|
2019-02-01 05:36:13 +00:00
|
|
|
android:layout_height="wrap_content"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_gravity="center"
|
|
|
|
android:layout_margin="5dp"
|
|
|
|
android:text="Patreon"
|
|
|
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
|
|
|
android:textStyle="bold" />
|
|
|
|
</LinearLayout>
|
|
|
|
|
|
|
|
<LinearLayout
|
|
|
|
android:id="@+id/paypal"
|
|
|
|
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.paypalPressed()}"
|
|
|
|
android:orientation="horizontal"
|
|
|
|
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"
|
2019-02-01 05:36:13 +00:00
|
|
|
android:layout_height="wrap_content"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_gravity="center"
|
|
|
|
android:layout_margin="5dp"
|
|
|
|
android:text="PayPal"
|
|
|
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
|
|
|
android:textStyle="bold" />
|
|
|
|
</LinearLayout>
|
2019-02-01 09:39:54 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
2019-02-01 09:39:54 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<View
|
|
|
|
style="@style/Widget.Divider.Horizontal"
|
2019-04-14 11:17:51 +00:00
|
|
|
gone="@{!viewModel.hasRoot}"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_width="match_parent"
|
|
|
|
android:layout_margin="@dimen/margin_generic" />
|
2019-02-01 09:39:54 +00:00
|
|
|
|
2019-04-14 09:51:47 +00:00
|
|
|
<com.google.android.material.button.MaterialButton
|
|
|
|
style="@style/Widget.Button.Text"
|
2019-04-14 11:17:51 +00:00
|
|
|
gone="@{!viewModel.hasRoot}"
|
2019-04-12 22:14:37 +00:00
|
|
|
android:layout_width="match_parent"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:layout_height="wrap_content"
|
2019-04-12 22:14:37 +00:00
|
|
|
android:onClick="@{() -> viewModel.uninstallPressed()}"
|
2019-04-14 09:51:47 +00:00
|
|
|
android:text="@string/uninstall" />
|
2017-05-21 04:16:38 +00:00
|
|
|
|
2019-04-12 22:14:37 +00:00
|
|
|
</LinearLayout>
|
2017-05-21 04:16:38 +00:00
|
|
|
|
2019-04-12 22:14:37 +00:00
|
|
|
</ScrollView>
|
2016-08-27 19:52:03 +00:00
|
|
|
|
2019-04-12 22:14:37 +00:00
|
|
|
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
2016-08-23 09:39:18 +00:00
|
|
|
|
2019-04-12 22:14:37 +00:00
|
|
|
</layout>
|