From 51f1321b1edc15740fadc5ded74c0ffd4a23c01a Mon Sep 17 00:00:00 2001 From: Manish Singh Date: Thu, 23 Nov 2023 23:23:20 +0000 Subject: [PATCH] Put stricter flag checks Also removed a log which gives away flag. Bug: 312976400 Test: manual Change-Id: I4a989de8b6b920666aabf0cc9311e28becc4d862 --- .../settings/privatespace/AutoAdvanceSetupFragment.java | 7 +++++++ .../privatespace/DeletePrivateSpaceController.java | 2 +- .../settings/privatespace/HidePrivateSpaceController.java | 2 +- .../settings/privatespace/HidePrivateSpaceSettings.java | 8 ++++++++ .../privatespace/HidePrivateSpaceSummaryController.java | 2 +- .../privatespace/PrivateProfileContextHelperActivity.java | 3 +++ .../privatespace/PrivateSpaceAuthenticationActivity.java | 4 +--- .../privatespace/PrivateSpaceDashboardFragment.java | 8 ++++++++ .../settings/privatespace/PrivateSpaceEducation.java | 3 +++ .../settings/privatespace/PrivateSpaceMaintainer.java | 7 +++++++ .../privatespace/PrivateSpaceSetLockFragment.java | 3 +++ .../settings/privatespace/PrivateSpaceSetupActivity.java | 3 +++ .../settings/privatespace/SetupSuccessFragment.java | 3 +++ .../onelock/FaceFingerprintUnlockController.java | 2 +- .../privatespace/onelock/PrivateSpaceLockController.java | 2 +- .../privatespace/onelock/UseOneLockController.java | 2 +- .../privatespace/onelock/UseOneLockControllerSwitch.java | 2 +- .../privatespace/onelock/UseOneLockSettingsFragment.java | 8 ++++++++ 18 files changed, 61 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java b/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java index 1061498d1f9..036a13ad13d 100644 --- a/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java +++ b/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java @@ -92,6 +92,13 @@ public class AutoAdvanceSetupFragment extends Fragment { } }; + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + if (android.os.Flags.allowPrivateProfile()) { + super.onCreate(savedInstanceState); + } + } + @Override public View onCreateView( LayoutInflater inflater, diff --git a/src/com/android/settings/privatespace/DeletePrivateSpaceController.java b/src/com/android/settings/privatespace/DeletePrivateSpaceController.java index c94f63a2629..98bf82705be 100644 --- a/src/com/android/settings/privatespace/DeletePrivateSpaceController.java +++ b/src/com/android/settings/privatespace/DeletePrivateSpaceController.java @@ -53,7 +53,7 @@ public class DeletePrivateSpaceController extends BasePreferenceController { @Override public int getAvailabilityStatus() { - return AVAILABLE; + return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceController.java b/src/com/android/settings/privatespace/HidePrivateSpaceController.java index 8a0f1672953..a53055cefc2 100644 --- a/src/com/android/settings/privatespace/HidePrivateSpaceController.java +++ b/src/com/android/settings/privatespace/HidePrivateSpaceController.java @@ -38,7 +38,7 @@ public class HidePrivateSpaceController extends TogglePreferenceController { @Override @AvailabilityStatus public int getAvailabilityStatus() { - return AVAILABLE; + return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java b/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java index d7a9cf53315..8c733646daa 100644 --- a/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java +++ b/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java @@ -17,6 +17,7 @@ package com.android.settings.privatespace; import android.app.settings.SettingsEnums; +import android.os.Bundle; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; @@ -24,6 +25,13 @@ import com.android.settings.dashboard.DashboardFragment; public class HidePrivateSpaceSettings extends DashboardFragment{ private static final String TAG = "HidePrivateSpaceSettings"; + @Override + public void onCreate(Bundle icicle) { + if (android.os.Flags.allowPrivateProfile()) { + super.onCreate(icicle); + } + } + @Override public int getMetricsCategory() { return SettingsEnums.PRIVATE_SPACE_SETTINGS; diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java b/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java index 73b39607d1a..42627af93ea 100644 --- a/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java +++ b/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java @@ -36,7 +36,7 @@ public final class HidePrivateSpaceSummaryController extends BasePreferenceContr @Override public int getAvailabilityStatus() { - return AVAILABLE; + return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java b/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java index 0539f60bc8e..31d4be97749 100644 --- a/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java +++ b/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java @@ -52,6 +52,9 @@ public class PrivateProfileContextHelperActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { + if (!android.os.Flags.allowPrivateProfile()) { + return; + } setTheme(SetupWizardUtils.getTheme(this, getIntent())); ThemeHelper.trySetDynamicColor(this); super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java index 3f212b13b16..1efd4451512 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java +++ b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java @@ -66,9 +66,8 @@ public class PrivateSpaceAuthenticationActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (Flags.allowPrivateProfile()) { + super.onCreate(savedInstanceState); ThemeHelper.trySetDynamicColor(this); mPrivateSpaceMaintainer = new Injector().injectPrivateSpaceMaintainer( getApplicationContext()); @@ -87,7 +86,6 @@ public class PrivateSpaceAuthenticationActivity extends FragmentActivity { promptToSetDeviceLock(); } } else { - Log.w(TAG, "allowPrivateProfile flag is Off!"); finish(); } } diff --git a/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java index 5d00329e082..1e27ec153ec 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java +++ b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java @@ -17,6 +17,7 @@ package com.android.settings.privatespace; import android.app.settings.SettingsEnums; +import android.os.Bundle; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; @@ -25,6 +26,13 @@ import com.android.settings.dashboard.DashboardFragment; public class PrivateSpaceDashboardFragment extends DashboardFragment { private static final String TAG = "PrivateSpaceDashboardFragment"; + @Override + public void onCreate(Bundle icicle) { + if (android.os.Flags.allowPrivateProfile()) { + super.onCreate(icicle); + } + } + @Override protected int getPreferenceScreenResId() { return R.xml.private_space_settings; diff --git a/src/com/android/settings/privatespace/PrivateSpaceEducation.java b/src/com/android/settings/privatespace/PrivateSpaceEducation.java index 5dd0cfa4261..0c87b2bd030 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceEducation.java +++ b/src/com/android/settings/privatespace/PrivateSpaceEducation.java @@ -39,6 +39,9 @@ public class PrivateSpaceEducation extends Fragment { LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + if (!android.os.Flags.allowPrivateProfile()) { + return null; + } GlifLayout rootView = (GlifLayout) inflater.inflate(R.layout.privatespace_education_screen, container, false); diff --git a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java index 341110b7949..3ec7c9295d0 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java +++ b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java @@ -25,6 +25,7 @@ import android.app.KeyguardManager; import android.content.Context; import android.content.Intent; import android.content.pm.UserInfo; +import android.os.Flags; import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; @@ -68,6 +69,9 @@ public class PrivateSpaceMaintainer { *

This method should be used by the Private Space Setup Flow ONLY. */ final synchronized boolean createPrivateSpace() { + if (!Flags.allowPrivateProfile()) { + return false; + } // Check if Private space already exists if (doesPrivateSpaceExist()) { return true; @@ -130,6 +134,9 @@ public class PrivateSpaceMaintainer { /** Returns true if the Private space exists. */ public synchronized boolean doesPrivateSpaceExist() { + if (!Flags.allowPrivateProfile()) { + return false; + } if (mUserHandle != null) { return true; } diff --git a/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java b/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java index 93dc43b9fc5..dd60dc4fd81 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java +++ b/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java @@ -47,6 +47,9 @@ public class PrivateSpaceSetLockFragment extends Fragment { LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + if (!android.os.Flags.allowPrivateProfile()) { + return null; + } GlifLayout rootView = (GlifLayout) inflater.inflate( R.layout.privatespace_setlock_screen, container, false); diff --git a/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java b/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java index a5628c8257d..4eb61e53c0d 100644 --- a/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java +++ b/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java @@ -36,6 +36,9 @@ public class PrivateSpaceSetupActivity extends FragmentActivity { private NavHostFragment mNavHostFragment; @Override protected void onCreate(Bundle savedInstanceState) { + if (!android.os.Flags.allowPrivateProfile()) { + return; + } setTheme(SetupWizardUtils.getTheme(this, getIntent())); ThemeHelper.trySetDynamicColor(this); super.onCreate(savedInstanceState); diff --git a/src/com/android/settings/privatespace/SetupSuccessFragment.java b/src/com/android/settings/privatespace/SetupSuccessFragment.java index 1868f655f49..f6796be0b5d 100644 --- a/src/com/android/settings/privatespace/SetupSuccessFragment.java +++ b/src/com/android/settings/privatespace/SetupSuccessFragment.java @@ -45,6 +45,9 @@ public class SetupSuccessFragment extends Fragment { LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + if (!android.os.Flags.allowPrivateProfile()) { + return null; + } GlifLayout rootView = (GlifLayout) inflater.inflate(R.layout.privatespace_setup_success, container, false); diff --git a/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java b/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java index e97626118d0..e130e4d0508 100644 --- a/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java +++ b/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java @@ -35,7 +35,7 @@ public class FaceFingerprintUnlockController extends AbstractPreferenceControlle @Override public boolean isAvailable() { - return false; + return android.os.Flags.allowPrivateProfile(); } @Override diff --git a/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java b/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java index 2783c1c2816..20298a1c003 100644 --- a/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java +++ b/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java @@ -73,7 +73,7 @@ public class PrivateSpaceLockController extends AbstractPreferenceController { @Override public boolean isAvailable() { - return true; + return android.os.Flags.allowPrivateProfile(); } @Override diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockController.java b/src/com/android/settings/privatespace/onelock/UseOneLockController.java index 5c461e00f5d..31634b9ea00 100644 --- a/src/com/android/settings/privatespace/onelock/UseOneLockController.java +++ b/src/com/android/settings/privatespace/onelock/UseOneLockController.java @@ -45,7 +45,7 @@ public class UseOneLockController extends BasePreferenceController { } @Override public int getAvailabilityStatus() { - return AVAILABLE; + return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java index 218b8705750..04101b2add8 100644 --- a/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java +++ b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java @@ -94,7 +94,7 @@ public class UseOneLockControllerSwitch extends AbstractPreferenceController @Override public boolean isAvailable() { - return true; + return android.os.Flags.allowPrivateProfile(); } @Override diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java b/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java index 36f84489118..459116ace02 100644 --- a/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java +++ b/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java @@ -19,6 +19,7 @@ package com.android.settings.privatespace.onelock; import android.app.settings.SettingsEnums; import android.content.Context; import android.content.Intent; +import android.os.Bundle; import androidx.annotation.Nullable; @@ -34,6 +35,13 @@ public class UseOneLockSettingsFragment extends DashboardFragment { public static final int UNIFY_PRIVATE_LOCK_WITH_DEVICE_REQUEST = 1; public static final int UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST = 2; + @Override + public void onCreate(Bundle icicle) { + if (android.os.Flags.allowPrivateProfile()) { + super.onCreate(icicle); + } + } + @Override public int getMetricsCategory() { return SettingsEnums.PRIVATE_SPACE_SETTINGS;