@Override
protected void onCreate(Bundle savedState) {
super.onCreate(savedState);
+
+ if (isLockTaskModePinned() && !isSettingsRunOnTop()) {
+ Log.w(LOG_TAG, "Devices lock task mode pinned.");
+ finish();
+ }
+
long startTime = System.currentTimeMillis();
final FeatureFactory factory = FeatureFactory.getFactory(this);
}
if (mIsShowingDashboard) {
- findViewById(R.id.search_bar).setVisibility(View.VISIBLE);
+ setSearchBarVisibility();
findViewById(R.id.action_bar).setVisibility(View.GONE);
Toolbar toolbar = findViewById(R.id.search_action_bar);
toolbar.setOnClickListener(this);
}
@VisibleForTesting
+ void setSearchBarVisibility() {
+ findViewById(R.id.search_bar).setVisibility(
+ Utils.isDeviceProvisioned(this) ? View.VISIBLE : View.INVISIBLE);
+ }
+
+ @VisibleForTesting
void launchSettingFragment(String initialFragmentName, boolean isSubSettings, Intent intent) {
if (!mIsShowingDashboard && initialFragmentName != null) {
// UP will be shown only if it is a sub settings
pm.hasSystemFeature(PackageManager.FEATURE_PRINTING), isAdmin)
|| somethingChanged;
+ somethingChanged = setTileEnabled(new ComponentName(packageName,
+ Settings.SuperuserActivity.class.getName()),
+ DevelopmentSettings.isRootForAppsEnabled(), isAdmin)
+ || somethingChanged;
+
final boolean showDev = mDevelopmentPreferences.getBoolean(
DevelopmentSettings.PREF_SHOW, android.os.Build.TYPE.equals("eng"))
&& !um.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES);
Intent intent = new Intent(this, SearchActivity.class);
startActivity(intent);
}
+
+ 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);
+ }
}