Support API 16 (Android 4.1)

Because why not
This commit is contained in:
topjohnwu 2019-02-02 05:06:13 -05:00
parent 9fbe5895b7
commit 62acc17e42
15 changed files with 125 additions and 97 deletions

View File

@ -100,9 +100,13 @@ public class LocaleManager {
} }
public static Context getLocaleContext(Context context, Locale locale) { public static Context getLocaleContext(Context context, Locale locale) {
if (Build.VERSION.SDK_INT >= 17) {
Configuration config = new Configuration(context.getResources().getConfiguration()); Configuration config = new Configuration(context.getResources().getConfiguration());
config.setLocale(locale); config.setLocale(locale);
return context.createConfigurationContext(config); return context.createConfigurationContext(config);
} else {
return context;
}
} }
public static Context getLocaleContext(Locale locale) { public static Context getLocaleContext(Locale locale) {
@ -114,6 +118,8 @@ public class LocaleManager {
} }
public static void loadAvailableLocales(@StringRes int compareId) { public static void loadAvailableLocales(@StringRes int compareId) {
if (Build.VERSION.SDK_INT < 17)
return;
Shell.EXECUTOR.execute(() -> { Shell.EXECUTOR.execute(() -> {
locales = new ArrayList<>(); locales = new ArrayList<>();
HashSet<String> set = new HashSet<>(); HashSet<String> set = new HashSet<>();

View File

@ -77,7 +77,7 @@ public class Utils {
public static String getAppLabel(ApplicationInfo info, PackageManager pm) { public static String getAppLabel(ApplicationInfo info, PackageManager pm) {
try { try {
if (info.labelRes > 0) { if (info.labelRes > 0 && Build.VERSION.SDK_INT >= 17) {
Resources res = pm.getResourcesForApplication(info); Resources res = pm.getResourcesForApplication(info);
Configuration config = new Configuration(); Configuration config = new Configuration();
config.setLocale(LocaleManager.locale); config.setLocale(LocaleManager.locale);

View File

@ -4,6 +4,7 @@ import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.CountDownTimer; import android.os.CountDownTimer;
import android.text.TextUtils; import android.text.TextUtils;
@ -127,8 +128,13 @@ public class SuRequestActivity extends BaseActivity {
appIcon.setImageDrawable(policy.info.loadIcon(pm)); appIcon.setImageDrawable(policy.info.loadIcon(pm));
appNameView.setText(policy.appName); appNameView.setText(policy.appName);
packageNameView.setText(policy.packageName); packageNameView.setText(policy.packageName);
if (Build.VERSION.SDK_INT >= 17) {
warning.setCompoundDrawablesRelativeWithIntrinsicBounds( warning.setCompoundDrawablesRelativeWithIntrinsicBounds(
AppCompatResources.getDrawable(this, R.drawable.ic_warning), null, null, null); AppCompatResources.getDrawable(this, R.drawable.ic_warning), null, null, null);
} else {
warning.setCompoundDrawablesWithIntrinsicBounds(
AppCompatResources.getDrawable(this, R.drawable.ic_warning), null, null, null);
}
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.allow_timeout, android.R.layout.simple_spinner_item); R.array.allow_timeout, android.R.layout.simple_spinner_item);

View File

@ -73,7 +73,7 @@ public abstract class StringListAdapter<VH extends StringListAdapter.ViewHolder>
((Activity) rv.getContext()).getWindowManager() ((Activity) rv.getContext()).getWindowManager()
.getDefaultDisplay().getMetrics(displayMetrics); .getDefaultDisplay().getMetrics(displayMetrics);
screenWidth = displayMetrics.widthPixels; screenWidth = displayMetrics.widthPixels;
padding = rv.getPaddingStart() + rv.getPaddingEnd(); padding = rv.getPaddingLeft() + rv.getPaddingRight();
this.rv = rv; this.rv = rv;
} }

View File

@ -111,6 +111,10 @@ public class SettingsFragment extends BasePreferenceFragment implements Topic.Su
setSummary(); setSummary();
// Remove language setting when API < 17
if (Build.VERSION.SDK_INT < 17)
generalCatagory.removePreference(findPreference(Config.Key.LOCALE));
// Disable dangerous settings in secondary user // Disable dangerous settings in secondary user
if (Const.USER_ID > 0) { if (Const.USER_ID > 0) {
suCategory.removePreference(multiuserConfig); suCategory.removePreference(multiuserConfig);

View File

@ -1,110 +1,111 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/su_popup" android:id="@+id/su_popup"
tools:context=".SuRequestActivity"
android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:minWidth="350dp" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:background="?attr/colorBackgroundFloating"
android:minWidth="350dp"
android:orientation="vertical" android:orientation="vertical"
android:background="?attr/colorBackgroundFloating"> tools:context=".SuRequestActivity">
<TextView <TextView
android:text="@string/su_request_title" android:id="@+id/request_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/request_title"
android:gravity="center_horizontal"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginBottom="5dp"/> android:layout_marginBottom="5dp"
android:gravity="center_horizontal"
android:text="@string/su_request_title"
android:textAppearance="?android:attr/textAppearanceLarge" />
<LinearLayout <LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
android:orientation="horizontal"
android:paddingStart="10dp" android:paddingStart="10dp"
android:paddingEnd="10dp" android:paddingEnd="10dp">
android:layout_gravity="center_horizontal">
<ImageView <ImageView
android:id="@+id/app_icon" android:id="@+id/app_icon"
android:layout_weight="0"
android:layout_marginEnd="10dp"
android:layout_height="50dp"
android:layout_width="50dp" android:layout_width="50dp"
android:layout_height="50dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
android:layout_gravity="center_vertical" /> android:layout_marginLeft="5dp"
android:layout_marginEnd="10dp"
android:layout_marginRight="10dp"
android:layout_weight="0" />
<LinearLayout <LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_weight="1" android:layout_weight="1"
android:layout_gravity="center_vertical"> android:gravity="center_vertical"
android:orientation="vertical">
<TextView <TextView
android:id="@+id/app_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:minWidth="200dp" android:ellipsize="end"
android:maxWidth="300dp" android:maxWidth="300dp"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" android:minWidth="200dp"
android:textColor="?android:textColorPrimary"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/app_name" /> android:textColor="?android:textColorPrimary" />
<TextView <TextView
android:id="@+id/package_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:minWidth="200dp" android:ellipsize="end"
android:maxWidth="300dp" android:maxWidth="300dp"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" android:minWidth="200dp"
android:textColor="?android:textColorSecondary" android:textColor="?android:textColorSecondary" />
android:id="@+id/package_name" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<Spinner <Spinner
android:id="@+id/timeout"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/timeout"
android:layout_gravity="center_horizontal" /> android:layout_gravity="center_horizontal" />
<TextView <TextView
android:id="@+id/warning" android:id="@+id/warning"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="?android:textColorSecondary"
android:text="@string/su_warning"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_margin="5dp" android:layout_margin="5dp"
android:drawablePadding="10dp" /> android:drawablePadding="10dp"
android:text="@string/su_warning"
android:textColor="?android:textColorSecondary" />
<LinearLayout <LinearLayout
style="?android:buttonBarStyle" style="?android:buttonBarStyle"
android:orientation="horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="bottom" android:gravity="bottom"
android:orientation="horizontal"
android:paddingLeft="30dp" android:paddingLeft="30dp"
android:paddingRight="30dp"> android:paddingRight="30dp">
<Button <Button
android:id="@+id/deny_btn"
style="?android:buttonBarButtonStyle" style="?android:buttonBarButtonStyle"
android:text="@string/deny_with_str"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/deny_btn" android:layout_weight="1"
android:layout_weight="1" /> android:text="@string/deny_with_str" />
<Button <Button
android:id="@+id/grant_btn" android:id="@+id/grant_btn"

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout <androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/swipeRefreshLayout" android:id="@+id/swipeRefreshLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -42,6 +41,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
app:layout_constraintBottom_toBottomOf="@+id/app_name" app:layout_constraintBottom_toBottomOf="@+id/app_name"
app:layout_constraintEnd_toStartOf="@+id/app_name" app:layout_constraintEnd_toStartOf="@+id/app_name"
app:layout_constraintHorizontal_bias="0.42" app:layout_constraintHorizontal_bias="0.42"
@ -110,6 +110,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:tint="?attr/imageColorTint" android:tint="?attr/imageColorTint"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/title" app:layout_constraintStart_toEndOf="@+id/title"
@ -173,6 +174,7 @@
android:layout_height="30dp" android:layout_height="30dp"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:layout_marginEnd="24dp" android:layout_marginEnd="24dp"
android:layout_marginRight="24dp"
android:layout_marginBottom="12dp" android:layout_marginBottom="12dp"
android:tint="@color/green500" android:tint="@color/green500"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
@ -198,6 +200,7 @@
android:layout_width="25dp" android:layout_width="25dp"
android:layout_height="25dp" android:layout_height="25dp"
android:layout_marginStart="24dp" android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/safetyNet_status" app:layout_constraintStart_toEndOf="@+id/safetyNet_status"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
@ -226,6 +229,7 @@
android:layout_width="25dp" android:layout_width="25dp"
android:layout_height="25dp" android:layout_height="25dp"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
app:layout_constraintBottom_toBottomOf="@+id/cts_status" app:layout_constraintBottom_toBottomOf="@+id/cts_status"
app:layout_constraintEnd_toStartOf="@+id/cts_status" app:layout_constraintEnd_toStartOf="@+id/cts_status"
app:layout_constraintTop_toTopOf="@+id/cts_status" /> app:layout_constraintTop_toTopOf="@+id/cts_status" />
@ -245,6 +249,7 @@
android:layout_width="25dp" android:layout_width="25dp"
android:layout_height="25dp" android:layout_height="25dp"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
app:layout_constraintBottom_toBottomOf="@+id/basic_status" app:layout_constraintBottom_toBottomOf="@+id/basic_status"
app:layout_constraintEnd_toStartOf="@+id/basic_status" app:layout_constraintEnd_toStartOf="@+id/basic_status"
app:layout_constraintTop_toTopOf="@+id/basic_status" /> app:layout_constraintTop_toTopOf="@+id/basic_status" />
@ -286,11 +291,11 @@
android:id="@+id/paypal" android:id="@+id/paypal"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:background="?android:attr/selectableItemBackground"
android:gravity="center_horizontal"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:background="?android:attr/selectableItemBackground" android:gravity="center_horizontal"
android:orientation="horizontal"
app:layout_constraintEnd_toStartOf="@+id/patreon" app:layout_constraintEnd_toStartOf="@+id/patreon"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
@ -317,11 +322,11 @@
android:id="@+id/patreon" android:id="@+id/patreon"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:background="?android:attr/selectableItemBackground"
android:gravity="center_horizontal"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:background="?android:attr/selectableItemBackground" android:gravity="center_horizontal"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/paypal" app:layout_constraintStart_toEndOf="@+id/paypal"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
@ -380,9 +385,9 @@
<ImageView <ImageView
android:layout_width="35dp" android:layout_width="35dp"
android:layout_height="35dp" android:layout_height="35dp"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp" android:layout_margin="10dp"
android:tint="?attr/imageColorTint" android:tint="?attr/imageColorTint"
android:layout_gravity="center_horizontal"
app:srcCompat="@drawable/ic_github" /> app:srcCompat="@drawable/ic_github" />
</FrameLayout> </FrameLayout>
@ -401,9 +406,9 @@
<ImageView <ImageView
android:layout_width="35dp" android:layout_width="35dp"
android:layout_height="35dp" android:layout_height="35dp"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp" android:layout_margin="10dp"
android:tint="?attr/imageColorTint" android:tint="?attr/imageColorTint"
android:layout_gravity="center_horizontal"
app:srcCompat="@drawable/ic_xda" /> app:srcCompat="@drawable/ic_xda" />
</FrameLayout> </FrameLayout>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?><!--
<!--
~ Copyright 2016 dvdandroid ~ Copyright 2016 dvdandroid
~ ~
~ Licensed under the Apache License, Version 2.0 (the "License"); ~ Licensed under the Apache License, Version 2.0 (the "License");
@ -15,12 +14,13 @@
~ limitations under the License. ~ limitations under the License.
--> -->
<LinearLayout android:id="@+id/container" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/container"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground" android:background="?android:attr/selectableItemBackground"
android:clickable="true" android:clickable="true"
android:focusable="true"
android:gravity="center_vertical" android:gravity="center_vertical"
android:minHeight="48dp" android:minHeight="48dp"
android:orientation="horizontal" android:orientation="horizontal"
@ -31,28 +31,29 @@
android:id="@android:id/icon" android:id="@android:id/icon"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:tint="#757575"/> android:tint="#757575" />
<LinearLayout <LinearLayout
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="32dp" android:layout_marginStart="32dp"
android:layout_marginLeft="32dp"
android:orientation="vertical" android:orientation="vertical"
android:paddingBottom="8dp" android:paddingTop="8dp"
android:paddingTop="8dp"> android:paddingBottom="8dp">
<TextView <TextView
android:id="@android:id/title" android:id="@android:id/title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"/> android:textAppearance="@style/TextAppearance.AppCompat.Subhead" />
<TextView <TextView
android:id="@android:id/summary" android:id="@android:id/summary"
android:visibility="gone"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.AppCompat.Caption"/> android:textAppearance="@style/TextAppearance.AppCompat.Caption"
android:visibility="gone" />
</LinearLayout> </LinearLayout>

View File

@ -1,16 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
style="?attr/cardStyle" 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_gravity="center"
android:layout_marginBottom="@dimen/card_vertical_margin"
android:layout_marginEnd="@dimen/card_horizontal_margin"
android:layout_marginStart="@dimen/card_horizontal_margin" android:layout_marginStart="@dimen/card_horizontal_margin"
android:layout_marginTop="@dimen/card_vertical_margin" android:layout_marginTop="@dimen/card_vertical_margin"
android:layout_marginEnd="@dimen/card_horizontal_margin"
android:layout_marginBottom="@dimen/card_vertical_margin"
android:minHeight="?android:attr/listPreferredItemHeight" android:minHeight="?android:attr/listPreferredItemHeight"
app:cardCornerRadius="@dimen/card_corner_radius" app:cardCornerRadius="@dimen/card_corner_radius"
app:cardElevation="@dimen/card_elevation"> app:cardElevation="@dimen/card_elevation">
@ -63,8 +61,8 @@
android:textColor="@android:color/tertiary_text_dark" android:textColor="@android:color/tertiary_text_dark"
android:textIsSelectable="false" android:textIsSelectable="false"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/app_name"
app:layout_constraintEnd_toStartOf="@id/arrow" app:layout_constraintEnd_toStartOf="@id/arrow"
app:layout_constraintStart_toStartOf="@id/app_name"
app:layout_constraintTop_toBottomOf="@id/app_name" /> app:layout_constraintTop_toBottomOf="@id/app_name" />
<ImageView <ImageView
@ -72,6 +70,7 @@
android:layout_width="20dp" android:layout_width="20dp"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_marginStart="5dp" android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:tint="?attr/imageColorTint" android:tint="?attr/imageColorTint"
app:layout_constraintBottom_toBottomOf="@+id/package_name" app:layout_constraintBottom_toBottomOf="@+id/package_name"
app:layout_constraintEnd_toEndOf="@+id/app_name" app:layout_constraintEnd_toEndOf="@+id/app_name"
@ -122,6 +121,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:tint="@color/icon_grey" android:tint="@color/icon_grey"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/notification_switch" app:layout_constraintEnd_toStartOf="@+id/notification_switch"
@ -166,6 +166,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:checked="false" android:checked="false"
android:gravity="center_vertical" android:gravity="center_vertical"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View File

@ -5,10 +5,10 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginBottom="@dimen/card_vertical_margin"
android:layout_marginEnd="@dimen/card_horizontal_margin"
android:layout_marginStart="@dimen/card_horizontal_margin" android:layout_marginStart="@dimen/card_horizontal_margin"
android:layout_marginTop="@dimen/card_vertical_margin" android:layout_marginTop="@dimen/card_vertical_margin"
android:layout_marginEnd="@dimen/card_horizontal_margin"
android:layout_marginBottom="@dimen/card_vertical_margin"
android:minHeight="?android:attr/listPreferredItemHeight" android:minHeight="?android:attr/listPreferredItemHeight"
app:cardCornerRadius="@dimen/card_corner_radius" app:cardCornerRadius="@dimen/card_corner_radius"
app:cardElevation="@dimen/card_elevation"> app:cardElevation="@dimen/card_elevation">
@ -79,17 +79,17 @@
android:textColor="@android:color/tertiary_text_dark" android:textColor="@android:color/tertiary_text_dark"
android:textStyle="bold|italic" android:textStyle="bold|italic"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/title"
app:layout_constraintStart_toStartOf="@+id/title" app:layout_constraintStart_toStartOf="@+id/title"
app:layout_constraintTop_toBottomOf="@+id/description" app:layout_constraintTop_toBottomOf="@+id/description" />
app:layout_constraintEnd_toEndOf="@+id/title" />
<View <View
android:id="@+id/info_layout" android:id="@+id/info_layout"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:foreground="?android:attr/selectableItemBackground"
app:layout_constraintBottom_toBottomOf="@+id/update_time" app:layout_constraintBottom_toBottomOf="@+id/update_time"
app:layout_constraintEnd_toEndOf="@+id/title" app:layout_constraintEnd_toEndOf="@+id/title"
app:layout_constraintStart_toStartOf="@+id/title" app:layout_constraintStart_toStartOf="@+id/title"
@ -101,16 +101,17 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginStart="8dp" android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:foreground="?android:attr/selectableItemBackground"
android:gravity="end" android:gravity="end"
android:tint="@color/icon_grey" android:tint="@color/icon_grey"
app:srcCompat="@drawable/ic_file_download_black"
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/title" app:layout_constraintStart_toEndOf="@+id/title"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_file_download_black" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -14,6 +14,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="25dp" android:layout_height="25dp"
android:layout_marginEnd="10dp" android:layout_marginEnd="10dp"
android:layout_marginRight="10dp"
android:tint="?attr/imageColorTint" android:tint="?attr/imageColorTint"
app:srcCompat="@drawable/ic_arrow" /> app:srcCompat="@drawable/ic_arrow" />

View File

@ -1,14 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android" <TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/section_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="48dp" android:layout_height="48dp"
android:background="@android:color/transparent"
android:gravity="center_vertical" android:gravity="center_vertical"
android:maxLines="1"
android:paddingStart="16dp" android:paddingStart="16dp"
android:paddingLeft="16dp"
android:textAllCaps="true" android:textAllCaps="true"
android:textColor="?colorAccent" android:textColor="?colorAccent"
android:background="@android:color/transparent"
android:textSize="16sp" android:textSize="16sp"
android:id="@+id/section_text" android:textStyle="bold" />
android:textStyle="bold"
android:maxLines="1" />

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
style="?attr/cardStyle" style="?attr/cardStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -47,6 +46,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:maxLines="1" android:maxLines="1"
android:paddingTop="3dp" android:paddingTop="3dp"
android:paddingBottom="3dp" android:paddingBottom="3dp"
@ -63,8 +63,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:maxLines="1" android:maxLines="1"
android:text="@string/checking_for_updates" android:text="@string/checking_for_updates"
app:autoSizeTextType="uniform"
app:autoSizeMinTextSize="1sp" app:autoSizeMinTextSize="1sp"
app:autoSizeTextType="uniform"
app:layout_constraintEnd_toEndOf="@+id/status" app:layout_constraintEnd_toEndOf="@+id/status"
app:layout_constraintStart_toStartOf="@+id/status" app:layout_constraintStart_toStartOf="@+id/status"
app:layout_constraintTop_toBottomOf="@+id/status" /> app:layout_constraintTop_toBottomOf="@+id/status" />
@ -99,6 +99,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="8dp" android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:text="@string/install" android:text="@string/install"
android:visibility="gone" android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View File

@ -34,7 +34,7 @@ subprojects {
defaultConfig { defaultConfig {
if (minSdkVersion == null) if (minSdkVersion == null)
minSdkVersion 17 minSdkVersion 16
targetSdkVersion 28 targetSdkVersion 28
} }

View File

@ -57,7 +57,7 @@ ui_print "- Target image: $BOOTIMAGE"
# Detect version and architecture # Detect version and architecture
api_level_arch_detect api_level_arch_detect
[ $API -lt 17 ] && abort "! Magisk is only for Jellybean MR1 and above (4.2+)" [ $API -lt 16 ] && abort "! Magisk is only for Jellybean and above (4.1+)"
ui_print "- Device platform: $ARCH" ui_print "- Device platform: $ARCH"