Prevent accounts page directly opening in screen pinning mode am: a545a85f9d
am: fd45c98d53
am: 4fd41fe196
Change-Id: Ib20737cbe8390a42ecce204f540d21de7026bf3f
This commit is contained in:
@@ -17,6 +17,7 @@ package com.android.settings.core;
|
|||||||
|
|
||||||
import android.annotation.LayoutRes;
|
import android.annotation.LayoutRes;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
|
import android.app.ActivityManager;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -26,6 +27,7 @@ import android.content.pm.PackageManager;
|
|||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@@ -61,6 +63,10 @@ public class SettingsBaseActivity extends FragmentActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
if (isLockTaskModePinned() && !isSettingsRunOnTop()) {
|
||||||
|
Log.w(TAG, "Devices lock task mode pinned.");
|
||||||
|
finish();
|
||||||
|
}
|
||||||
final long startTime = System.currentTimeMillis();
|
final long startTime = System.currentTimeMillis();
|
||||||
getLifecycle().addObserver(new HideNonSystemOverlayMixin(this));
|
getLifecycle().addObserver(new HideNonSystemOverlayMixin(this));
|
||||||
|
|
||||||
@@ -148,6 +154,20 @@ public class SettingsBaseActivity extends FragmentActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isLockTaskModePinned() {
|
||||||
|
final ActivityManager activityManager =
|
||||||
|
getApplicationContext().getSystemService(ActivityManager.class);
|
||||||
|
return activityManager.getLockTaskModeState() == ActivityManager.LOCK_TASK_MODE_PINNED;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isSettingsRunOnTop() {
|
||||||
|
final ActivityManager activityManager =
|
||||||
|
getApplicationContext().getSystemService(ActivityManager.class);
|
||||||
|
final String taskPkgName = activityManager.getRunningTasks(1 /* maxNum */)
|
||||||
|
.get(0 /* index */).baseActivity.getPackageName();
|
||||||
|
return TextUtils.equals(getPackageName(), taskPkgName);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return whether or not the enabled state actually changed.
|
* @return whether or not the enabled state actually changed.
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user