Flag off stickiness of show/hide system setting.
Bug: 191503437 Test: atest SettingsRoboTests Change-Id: I96e287cb870265e6ce379e64d01f134f8b3dde59
This commit is contained in:
@@ -20,6 +20,7 @@ import android.content.Intent;
|
|||||||
import android.icu.text.RelativeDateTimeFormatter;
|
import android.icu.text.RelativeDateTimeFormatter;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
|
import android.provider.DeviceConfig;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
@@ -27,6 +28,7 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.PreferenceCategory;
|
import androidx.preference.PreferenceCategory;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
|
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
|
||||||
@@ -82,8 +84,11 @@ public class RecentLocationAccessPreferenceController extends LocationBasePrefer
|
|||||||
RecentAppOpsAccess recentLocationApps) {
|
RecentAppOpsAccess recentLocationApps) {
|
||||||
super(context, key);
|
super(context, key);
|
||||||
mRecentLocationApps = recentLocationApps;
|
mRecentLocationApps = recentLocationApps;
|
||||||
mShowSystem = Settings.Secure.getInt(mContext.getContentResolver(),
|
mShowSystem = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY,
|
||||||
Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 0) == 1;
|
SystemUiDeviceConfigFlags.PROPERTY_LOCATION_INDICATORS_SMALL_ENABLED, false)
|
||||||
|
? Settings.Secure.getInt(mContext.getContentResolver(),
|
||||||
|
Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 0) == 1
|
||||||
|
: false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -17,11 +17,13 @@ package com.android.settings.location;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.provider.DeviceConfig;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
|
import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
@@ -58,8 +60,11 @@ public class RecentLocationAccessSeeAllFragment extends DashboardFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
mShowSystem = Settings.Secure.getInt(getContentResolver(),
|
mShowSystem = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY,
|
||||||
Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 0) == 1;
|
SystemUiDeviceConfigFlags.PROPERTY_LOCATION_INDICATORS_SMALL_ENABLED, false)
|
||||||
|
? Settings.Secure.getInt(getContentResolver(),
|
||||||
|
Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 0) == 1
|
||||||
|
: false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -20,11 +20,13 @@ import static com.android.settings.location.RecentLocationAccessPreferenceContro
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
|
import android.provider.DeviceConfig;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
|
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
@@ -48,8 +50,12 @@ public class RecentLocationAccessSeeAllPreferenceController
|
|||||||
|
|
||||||
public RecentLocationAccessSeeAllPreferenceController(Context context, String key) {
|
public RecentLocationAccessSeeAllPreferenceController(Context context, String key) {
|
||||||
super(context, key);
|
super(context, key);
|
||||||
mShowSystem = Settings.Secure.getInt(mContext.getContentResolver(),
|
mShowSystem = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY,
|
||||||
Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 0) == 1;
|
SystemUiDeviceConfigFlags.PROPERTY_LOCATION_INDICATORS_SMALL_ENABLED, false)
|
||||||
|
? Settings.Secure.getInt(mContext.getContentResolver(),
|
||||||
|
Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 0) == 1
|
||||||
|
: false;
|
||||||
|
|
||||||
mRecentLocationAccesses = RecentAppOpsAccess.createForLocation(context);
|
mRecentLocationAccesses = RecentAppOpsAccess.createForLocation(context);
|
||||||
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
|
||||||
}
|
}
|
||||||
|
@@ -17,6 +17,7 @@ import android.content.Context;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
|
import android.provider.DeviceConfig;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
@@ -24,6 +25,7 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.PreferenceCategory;
|
import androidx.preference.PreferenceCategory;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
|
import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
|
||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
@@ -84,8 +86,11 @@ public class RecentLocationRequestPreferenceController extends LocationBasePrefe
|
|||||||
final Context prefContext = mCategoryRecentLocationRequests.getContext();
|
final Context prefContext = mCategoryRecentLocationRequests.getContext();
|
||||||
final List<RecentLocationApps.Request> recentLocationRequests = new ArrayList<>();
|
final List<RecentLocationApps.Request> recentLocationRequests = new ArrayList<>();
|
||||||
final UserManager userManager = UserManager.get(mContext);
|
final UserManager userManager = UserManager.get(mContext);
|
||||||
final boolean showSystem = Settings.Secure.getInt(mContext.getContentResolver(),
|
final boolean showSystem = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY,
|
||||||
Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 0) == 1;
|
SystemUiDeviceConfigFlags.PROPERTY_LOCATION_INDICATORS_SMALL_ENABLED, false)
|
||||||
|
? Settings.Secure.getInt(mContext.getContentResolver(),
|
||||||
|
Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 0) == 1
|
||||||
|
: false;
|
||||||
|
|
||||||
for (RecentLocationApps.Request request : mRecentLocationApps.getAppListSorted(
|
for (RecentLocationApps.Request request : mRecentLocationApps.getAppListSorted(
|
||||||
showSystem)) {
|
showSystem)) {
|
||||||
|
@@ -26,15 +26,19 @@ import static org.mockito.Mockito.when;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
|
import android.provider.DeviceConfig;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.preference.PreferenceCategory;
|
import androidx.preference.PreferenceCategory;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
|
||||||
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
|
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowDeviceConfig;
|
||||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||||
import com.android.settingslib.location.RecentLocationApps;
|
import com.android.settingslib.location.RecentLocationApps;
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -50,7 +54,7 @@ import java.util.List;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = {ShadowUserManager.class})
|
@Config(shadows = {ShadowDeviceConfig.class, ShadowUserManager.class})
|
||||||
public class RecentLocationRequestPreferenceControllerTest {
|
public class RecentLocationRequestPreferenceControllerTest {
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
@@ -72,6 +76,11 @@ public class RecentLocationRequestPreferenceControllerTest {
|
|||||||
mController.mRecentLocationApps = spy(new RecentLocationApps(mContext));
|
mController.mRecentLocationApps = spy(new RecentLocationApps(mContext));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void tearDown() {
|
||||||
|
ShadowDeviceConfig.reset();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_whenAppListMoreThanThree_shouldDisplayTopThreeApps() {
|
public void updateState_whenAppListMoreThanThree_shouldDisplayTopThreeApps() {
|
||||||
final List<RecentLocationApps.Request> requests = createMockRequest(6);
|
final List<RecentLocationApps.Request> requests = createMockRequest(6);
|
||||||
@@ -84,6 +93,10 @@ public class RecentLocationRequestPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_whenAppListMoreThanThree_showSystem() {
|
public void updateState_whenAppListMoreThanThree_showSystem() {
|
||||||
|
DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY,
|
||||||
|
SystemUiDeviceConfigFlags.PROPERTY_LOCATION_INDICATORS_SMALL_ENABLED,
|
||||||
|
Boolean.toString(true),
|
||||||
|
true);
|
||||||
when(mController.mRecentLocationApps.getAppListSorted(false))
|
when(mController.mRecentLocationApps.getAppListSorted(false))
|
||||||
.thenReturn(createMockRequest(2));
|
.thenReturn(createMockRequest(2));
|
||||||
when(mController.mRecentLocationApps.getAppListSorted(true))
|
when(mController.mRecentLocationApps.getAppListSorted(true))
|
||||||
|
Reference in New Issue
Block a user