diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 1ef1ac51544ce..dac54cf6146e1 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -7232,13 +7232,6 @@ public final class Settings { */ public static final String LOCATION_SHOW_SYSTEM_OPS = "locationShowSystemOps"; - - /** - * Whether or not an indicator experiment has started. - * @hide - */ - public static final String LOCATION_INDICATOR_EXPERIMENT_STARTED = - "locationIndicatorExperimentStarted"; /** * A flag containing settings used for biometric weak * @hide diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java index f26176c154512..f8c36dcc90a17 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java @@ -86,7 +86,6 @@ public class LocationControllerImpl extends BroadcastReceiver implements Locatio private boolean mShouldDisplayAllAccesses; private boolean mShowSystemAccessesFlag; private boolean mShowSystemAccessesSetting; - private boolean mExperimentStarted; @Inject public LocationControllerImpl(Context context, AppOpsController appOpsController, @@ -108,9 +107,6 @@ public class LocationControllerImpl extends BroadcastReceiver implements Locatio mShouldDisplayAllAccesses = getAllAccessesSetting(); mShowSystemAccessesFlag = getShowSystemFlag(); mShowSystemAccessesSetting = getShowSystemSetting(); - mExperimentStarted = getExperimentStarted(); - toggleSystemSettingIfExperimentJustStarted(); - mContentObserver = new ContentObserver(mBackgroundHandler) { @Override public void onChange(boolean selfChange) { @@ -127,15 +123,8 @@ public class LocationControllerImpl extends BroadcastReceiver implements Locatio DeviceConfig.NAMESPACE_PRIVACY, backgroundHandler::post, properties -> { - // Update the Device Config flag which controls the experiment to display - // location accesses. mShouldDisplayAllAccesses = getAllAccessesSetting(); - // Update the Device Config flag which controls the experiment to display - // system location accesses. - mShowSystemAccessesFlag = getShowSystemFlag(); - // Update the local flag for the system accesses experiment and potentially - // update the behavior based on the flag value. - toggleSystemSettingIfExperimentJustStarted(); + mShowSystemAccessesFlag = getShowSystemSetting(); updateActiveLocationRequests(); }); @@ -234,33 +223,6 @@ public class LocationControllerImpl extends BroadcastReceiver implements Locatio UserHandle.USER_CURRENT) == 1; } - private boolean getExperimentStarted() { - return mSecureSettings - .getInt(Settings.Secure.LOCATION_INDICATOR_EXPERIMENT_STARTED, 0) == 1; - } - - private void toggleSystemSettingIfExperimentJustStarted() { - // mShowSystemAccessesFlag indicates whether the Device Config flag is flipped - // by an experiment. mExperimentStarted is the local device value which indicates the last - // value the device has seen for the Device Config flag. - // The local device value is needed to determine that the Device Config flag was just - // flipped, as the experiment behavior should only happen once after the experiment is - // enabled. - if (mShowSystemAccessesFlag && !mExperimentStarted) { - // If the Device Config flag is enabled, but the local device setting is not then the - // experiment just started. Update the local flag to match and enable the experiment - // behavior by flipping the show system setting value. - mSecureSettings.putInt(Settings.Secure.LOCATION_INDICATOR_EXPERIMENT_STARTED, 1); - mSecureSettings.putInt(Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 1); - mExperimentStarted = true; - } else if (!mShowSystemAccessesFlag && mExperimentStarted) { - // If the Device Config flag is disabled, but the local device flag is enabled then - // update the local device flag to match. - mSecureSettings.putInt(Settings.Secure.LOCATION_INDICATOR_EXPERIMENT_STARTED, 0); - mExperimentStarted = false; - } - } - /** * Returns true if there currently exist active high power location requests. */ @@ -288,6 +250,7 @@ public class LocationControllerImpl extends BroadcastReceiver implements Locatio } boolean hadActiveLocationRequests = mAreActiveLocationRequests; boolean shouldDisplay = false; + boolean showSystem = mShowSystemAccessesFlag || mShowSystemAccessesSetting; boolean systemAppOp = false; boolean nonSystemAppOp = false; boolean isSystemApp; @@ -305,7 +268,7 @@ public class LocationControllerImpl extends BroadcastReceiver implements Locatio nonSystemAppOp = true; } - shouldDisplay = mShowSystemAccessesSetting || shouldDisplay || !isSystemApp; + shouldDisplay = showSystem || shouldDisplay || !isSystemApp; } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/LocationControllerImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/LocationControllerImplTest.java index 14e087846417c..9c7dc6b83059d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/LocationControllerImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/LocationControllerImplTest.java @@ -365,46 +365,4 @@ public class LocationControllerImplTest extends SysuiTestCase { // No new callbacks verify(callback).onLocationSettingsChanged(anyBoolean()); } - - @Test - public void testExperimentFlipsSystemFlag() throws Exception { - mSecureSettings.putInt(Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 0); - mDeviceConfigProxy.setProperty( - DeviceConfig.NAMESPACE_PRIVACY, - SystemUiDeviceConfigFlags.PROPERTY_LOCATION_INDICATORS_SMALL_ENABLED, - "true", - true); - // Show system experiment not running - mDeviceConfigProxy.setProperty( - DeviceConfig.NAMESPACE_PRIVACY, - SystemUiDeviceConfigFlags.PROPERTY_LOCATION_INDICATORS_SHOW_SYSTEM, - "false", - false); - mTestableLooper.processAllMessages(); - - // Flip experiment on - mDeviceConfigProxy.setProperty( - DeviceConfig.NAMESPACE_PRIVACY, - SystemUiDeviceConfigFlags.PROPERTY_LOCATION_INDICATORS_SHOW_SYSTEM, - "true", - true); - mTestableLooper.processAllMessages(); - - // Verify settings were flipped - assertThat(mSecureSettings.getInt(Settings.Secure.LOCATION_SHOW_SYSTEM_OPS)) - .isEqualTo(1); - assertThat(mSecureSettings.getInt(Settings.Secure.LOCATION_INDICATOR_EXPERIMENT_STARTED)) - .isEqualTo(1); - - // Flip experiment off - mDeviceConfigProxy.setProperty( - DeviceConfig.NAMESPACE_PRIVACY, - SystemUiDeviceConfigFlags.PROPERTY_LOCATION_INDICATORS_SHOW_SYSTEM, - "false", - false); - mTestableLooper.processAllMessages(); - - assertThat(mSecureSettings.getInt(Settings.Secure.LOCATION_INDICATOR_EXPERIMENT_STARTED)) - .isEqualTo(0); - } } \ No newline at end of file