packages/apps/Settings
Revisión | c17d45c51649673911af469a2a8df7d96ffb06e6 (tree) |
---|---|
Tiempo | 2020-02-11 11:01:27 |
Autor | Chih-Wei Huang <cwhuang@linu...> |
Commiter | Chih-Wei Huang |
Merge tag 'android-9.0.0_r53' into pie-x86
Android 9.0.0 Release 53 (6107734)
@@ -235,6 +235,12 @@ public class SettingsActivity extends SettingsDrawerActivity | ||
235 | 235 | protected void onCreate(Bundle savedState) { |
236 | 236 | super.onCreate(savedState); |
237 | 237 | Log.d(LOG_TAG, "Starting onCreate"); |
238 | + | |
239 | + if (isLockTaskModePinned() && !isSettingsRunOnTop()) { | |
240 | + Log.w(LOG_TAG, "Devices lock task mode pinned."); | |
241 | + finish(); | |
242 | + } | |
243 | + | |
238 | 244 | long startTime = System.currentTimeMillis(); |
239 | 245 | |
240 | 246 | final FeatureFactory factory = FeatureFactory.getFactory(this); |
@@ -816,4 +822,18 @@ public class SettingsActivity extends SettingsDrawerActivity | ||
816 | 822 | |
817 | 823 | return bitmap; |
818 | 824 | } |
825 | + | |
826 | + private boolean isLockTaskModePinned() { | |
827 | + final ActivityManager activityManager = | |
828 | + getApplicationContext().getSystemService(ActivityManager.class); | |
829 | + return activityManager.getLockTaskModeState() == ActivityManager.LOCK_TASK_MODE_PINNED; | |
830 | + } | |
831 | + | |
832 | + private boolean isSettingsRunOnTop() { | |
833 | + final ActivityManager activityManager = | |
834 | + getApplicationContext().getSystemService(ActivityManager.class); | |
835 | + final String taskPkgName = activityManager.getRunningTasks(1 /* maxNum */) | |
836 | + .get(0 /* index */).baseActivity.getPackageName(); | |
837 | + return TextUtils.equals(getPackageName(), taskPkgName); | |
838 | + } | |
819 | 839 | } |