diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogPermissions.java b/app/src/main/java/eu/faircode/email/FragmentDialogPermissions.java
index f9d117e1ff..c1cf9316b9 100644
--- a/app/src/main/java/eu/faircode/email/FragmentDialogPermissions.java
+++ b/app/src/main/java/eu/faircode/email/FragmentDialogPermissions.java
@@ -59,7 +59,7 @@ public class FragmentDialogPermissions extends FragmentDialogBase {
tvDozeDevice.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Helper.view(context, Uri.parse(Helper.DONTKILL_URI), true);
+ Helper.view(v.getContext(), Uri.parse(Helper.DONTKILL_URI), true);
}
});
diff --git a/app/src/main/java/eu/faircode/email/FragmentSetup.java b/app/src/main/java/eu/faircode/email/FragmentSetup.java
index 61ae97a9c8..eaacd71f79 100644
--- a/app/src/main/java/eu/faircode/email/FragmentSetup.java
+++ b/app/src/main/java/eu/faircode/email/FragmentSetup.java
@@ -113,6 +113,7 @@ public class FragmentSetup extends FragmentBase implements SharedPreferences.OnS
private Button btnDoze;
private TextView tvDoze12;
private TextView tvDozeWhy;
+ private TextView tvKilling;
private Button btnBackgroundRestricted;
private Button btnDataSaver;
@@ -200,6 +201,7 @@ public class FragmentSetup extends FragmentBase implements SharedPreferences.OnS
btnDoze = view.findViewById(R.id.btnDoze);
tvDoze12 = view.findViewById(R.id.tvDoze12);
tvDozeWhy = view.findViewById(R.id.tvDozeWhy);
+ tvKilling = view.findViewById(R.id.tvKilling);
btnBackgroundRestricted = view.findViewById(R.id.btnBackgroundRestricted);
btnDataSaver = view.findViewById(R.id.btnDataSaver);
@@ -588,6 +590,15 @@ public class FragmentSetup extends FragmentBase implements SharedPreferences.OnS
}
});
+ tvKilling.setPaintFlags(tvKilling.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
+ tvKilling.setVisibility(Helper.isAggressivelyKilling() ? View.VISIBLE : View.GONE);
+ tvKilling.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Helper.view(v.getContext(), Uri.parse(Helper.DONTKILL_URI), true);
+ }
+ });
+
tvStamina.setPaintFlags(tvStamina.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
tvStamina.setOnClickListener(new View.OnClickListener() {
@Override
diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java
index 222744760b..a600f9adcf 100644
--- a/app/src/main/java/eu/faircode/email/Helper.java
+++ b/app/src/main/java/eu/faircode/email/Helper.java
@@ -1514,6 +1514,14 @@ public class Helper {
isSony());
}
+ static boolean isAggressivelyKilling() {
+ return (BuildConfig.DEBUG ||
+ isSamsung() ||
+ isOnePlus() ||
+ isHuawei() ||
+ isXiaomi());
+ }
+
static boolean isAndroid12() {
return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S);
}
diff --git a/app/src/main/res/layout/fragment_setup.xml b/app/src/main/res/layout/fragment_setup.xml
index 91cd9a37c2..cd1ec30fa5 100644
--- a/app/src/main/res/layout/fragment_setup.xml
+++ b/app/src/main/res/layout/fragment_setup.xml
@@ -796,6 +796,21 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvDozeHint" />
+
+
+ app:layout_constraintTop_toBottomOf="@id/tvKilling" />