diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 045c56e31e..3c4700e8b0 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -1595,6 +1595,19 @@ public class Helper { } } + static Boolean getMIUIAutostart(Context context) { + try { + Class c = Class.forName("android.miui.AppOpsUtils"); + Method m = c.getDeclaredMethod("getApplicationAutoStart", Context.class, String.class); + m.setAccessible(true); + Integer result = (Integer) m.invoke(null, context, context.getPackageName()); + return (result != null && result.equals(0)); + } catch (Throwable ex) { + Log.w(ex); + return null; + } + } + static String getUiModeType(Context context) { try { UiModeManager uimm = Helper.getSystemService(context, UiModeManager.class); diff --git a/app/src/main/java/eu/faircode/email/Log.java b/app/src/main/java/eu/faircode/email/Log.java index 86ea26c063..52253ab551 100644 --- a/app/src/main/java/eu/faircode/email/Log.java +++ b/app/src/main/java/eu/faircode/email/Log.java @@ -2005,7 +2005,9 @@ public class Log { Build.VERSION.RELEASE, Build.VERSION.SDK_INT, Helper.getTargetSdk(context))); String miui = Helper.getMIUIVersion(); - sb.append(String.format("MIUI: %s\r\n", miui == null ? "-" : miui)); + boolean autostart = (miui != null && Helper.getMIUIAutostart(context)); + sb.append(String.format("MIUI: %s autostart=%b\r\n", + miui == null ? "-" : miui, autostart)); boolean reporting = prefs.getBoolean("crash_reports", false); if (reporting || BuildConfig.TEST_RELEASE) {