mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 19:29:06 +01:00
Adapt Xiaomi power setup for MIUI 12.5.
This commit is contained in:
@@ -32,7 +32,8 @@ public class DozeFragment extends SetupFragment
|
||||
private DozeView dozeView;
|
||||
private HuaweiProtectedAppsView huaweiProtectedAppsView;
|
||||
private HuaweiAppLaunchView huaweiAppLaunchView;
|
||||
private XiaomiView xiaomiView;
|
||||
private XiaomiRecentAppsView xiaomiRecentAppsView;
|
||||
private XiaomiLockAppsView xiaomiLockAppsView;
|
||||
private Button next;
|
||||
private boolean secondAttempt = false;
|
||||
|
||||
@@ -54,8 +55,10 @@ public class DozeFragment extends SetupFragment
|
||||
huaweiProtectedAppsView.setOnCheckedChangedListener(this);
|
||||
huaweiAppLaunchView = v.findViewById(R.id.huaweiAppLaunchView);
|
||||
huaweiAppLaunchView.setOnCheckedChangedListener(this);
|
||||
xiaomiView = v.findViewById(R.id.xiaomiView);
|
||||
xiaomiView.setOnCheckedChangedListener(this);
|
||||
xiaomiRecentAppsView = v.findViewById(R.id.xiaomiRecentAppsView);
|
||||
xiaomiRecentAppsView.setOnCheckedChangedListener(this);
|
||||
xiaomiLockAppsView = v.findViewById(R.id.xiaomiLockAppsView);
|
||||
xiaomiLockAppsView.setOnCheckedChangedListener(this);
|
||||
next = v.findViewById(R.id.next);
|
||||
ProgressBar progressBar = v.findViewById(R.id.progress);
|
||||
|
||||
@@ -102,7 +105,8 @@ public class DozeFragment extends SetupFragment
|
||||
next.setEnabled(dozeView.isChecked() &&
|
||||
huaweiProtectedAppsView.isChecked() &&
|
||||
huaweiAppLaunchView.isChecked() &&
|
||||
xiaomiView.isChecked());
|
||||
xiaomiRecentAppsView.isChecked() &&
|
||||
xiaomiLockAppsView.isChecked());
|
||||
}
|
||||
|
||||
@SuppressLint("BatteryLife")
|
||||
|
||||
@@ -50,7 +50,7 @@ class DozeView extends PowerView {
|
||||
onButtonClickListener.run();
|
||||
}
|
||||
|
||||
public void setOnButtonClickListener(Runnable runnable) {
|
||||
void setOnButtonClickListener(Runnable runnable) {
|
||||
onButtonClickListener = runnable;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
package org.briarproject.briar.android.account;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
import org.briarproject.briar.R;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.annotation.UiThread;
|
||||
|
||||
import static android.widget.Toast.LENGTH_LONG;
|
||||
import static java.util.logging.Level.WARNING;
|
||||
import static java.util.logging.Logger.getLogger;
|
||||
import static org.briarproject.android.dontkillmelib.XiaomiUtils.getXiaomiLockAppsIntent;
|
||||
import static org.briarproject.android.dontkillmelib.XiaomiUtils.xiaomiLockAppsNeedsToBeShown;
|
||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||
|
||||
@UiThread
|
||||
@NotNullByDefault
|
||||
class XiaomiLockAppsView extends PowerView {
|
||||
|
||||
private static final Logger LOG =
|
||||
getLogger(XiaomiLockAppsView.class.getName());
|
||||
|
||||
public XiaomiLockAppsView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public XiaomiLockAppsView(Context context, @Nullable AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public XiaomiLockAppsView(Context context, @Nullable AttributeSet attrs,
|
||||
int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
setText(R.string.dnkm_xiaomi_lock_apps_text);
|
||||
setButtonText(R.string.dnkm_xiaomi_lock_apps_button);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsToBeShown() {
|
||||
return xiaomiLockAppsNeedsToBeShown(getContext());
|
||||
}
|
||||
|
||||
@Override
|
||||
@StringRes
|
||||
protected int getHelpText() {
|
||||
return R.string.dnkm_xiaomi_lock_apps_help;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onButtonClick() {
|
||||
try {
|
||||
getContext().startActivity(getXiaomiLockAppsIntent());
|
||||
setChecked(true);
|
||||
return;
|
||||
} catch (SecurityException e) {
|
||||
logException(LOG, WARNING, e);
|
||||
}
|
||||
Toast.makeText(getContext(),
|
||||
R.string.dnkm_xiaomi_lock_apps_error_toast,
|
||||
LENGTH_LONG).show();
|
||||
// Let the user continue with setup
|
||||
setChecked(true);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.briarproject.briar.android.account;
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
@@ -12,23 +11,23 @@ import javax.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.annotation.UiThread;
|
||||
|
||||
import static org.briarproject.android.dontkillmelib.XiaomiUtils.isMiuiTenOrLater;
|
||||
import static org.briarproject.android.dontkillmelib.XiaomiUtils.isXiaomiOrRedmiDevice;
|
||||
import static org.briarproject.android.dontkillmelib.XiaomiUtils.isMiuiVersionAtLeast;
|
||||
import static org.briarproject.android.dontkillmelib.XiaomiUtils.xiaomiRecentAppsNeedsToBeShown;
|
||||
import static org.briarproject.briar.android.util.UiUtils.showOnboardingDialog;
|
||||
|
||||
@UiThread
|
||||
@NotNullByDefault
|
||||
class XiaomiView extends PowerView {
|
||||
class XiaomiRecentAppsView extends PowerView {
|
||||
|
||||
public XiaomiView(Context context) {
|
||||
public XiaomiRecentAppsView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public XiaomiView(Context context, @Nullable AttributeSet attrs) {
|
||||
public XiaomiRecentAppsView(Context context, @Nullable AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public XiaomiView(Context context, @Nullable AttributeSet attrs,
|
||||
public XiaomiRecentAppsView(Context context, @Nullable AttributeSet attrs,
|
||||
int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
setText(R.string.dnkm_xiaomi_text);
|
||||
@@ -37,7 +36,7 @@ class XiaomiView extends PowerView {
|
||||
|
||||
@Override
|
||||
public boolean needsToBeShown() {
|
||||
return isXiaomiOrRedmiDevice();
|
||||
return xiaomiRecentAppsNeedsToBeShown();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -48,7 +47,7 @@ class XiaomiView extends PowerView {
|
||||
|
||||
@Override
|
||||
protected void onButtonClick() {
|
||||
int bodyRes = isMiuiTenOrLater()
|
||||
int bodyRes = isMiuiVersionAtLeast(10, 0)
|
||||
? R.string.dnkm_xiaomi_dialog_body_new
|
||||
: R.string.dnkm_xiaomi_dialog_body_old;
|
||||
showOnboardingDialog(getContext(), getContext().getString(bodyRes));
|
||||
Reference in New Issue
Block a user