From 69d9899868d8e2f54c7a364f4cdadc794016d284 Mon Sep 17 00:00:00 2001 From: Joel Galenson Date: Thu, 30 May 2019 08:30:49 -0700 Subject: [PATCH] Remove Permissions Hub. DO NOT MERGE Bug: 132292477 Test: View all related screens. (cherry picked from commit 1e7c172ad5704754266bee50a9bc59b3205e8b70) This should have been submitted with ag/8109287 Bug: 136012133 Test: Clicked through permission screens on cuttlefish Change-Id: I2663aa365baf78ccc6f0a3d585b09da0dd387970 --- src/com/android/settings/Utils.java | 5 - ...entLocationAccessPreferenceController.java | 4 +- ...ermissionBarChartPreferenceController.java | 5 +- ...ocationAccessPreferenceControllerTest.java | 71 --------- ...sibilityUsagePreferenceControllerTest.java | 4 - ...ssionBarChartPreferenceControllerTest.java | 140 ------------------ 6 files changed, 2 insertions(+), 227 deletions(-) diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index 75db3e18188..c4b1400f5c6 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -130,11 +130,6 @@ public final class Utils extends com.android.settingslib.Utils { public static final String PROPERTY_DEVICE_IDENTIFIER_ACCESS_RESTRICTIONS_DISABLED = "device_identifier_access_restrictions_disabled"; - /** - * Whether to show the Permissions Hub. - */ - public static final String PROPERTY_PERMISSIONS_HUB_ENABLED = "permissions_hub_enabled"; - /** * Finds a matching activity for a preference's intent. If a matching * activity is not found, it will remove the preference. diff --git a/src/com/android/settings/location/RecentLocationAccessPreferenceController.java b/src/com/android/settings/location/RecentLocationAccessPreferenceController.java index c835a514b1a..2f0dafdf6c3 100644 --- a/src/com/android/settings/location/RecentLocationAccessPreferenceController.java +++ b/src/com/android/settings/location/RecentLocationAccessPreferenceController.java @@ -64,9 +64,7 @@ public class RecentLocationAccessPreferenceController extends AbstractPreference @Override public boolean isAvailable() { - return Boolean.parseBoolean( - DeviceConfig.getProperty(DeviceConfig.NAMESPACE_PRIVACY, - Utils.PROPERTY_PERMISSIONS_HUB_ENABLED)); + return false; } @Override diff --git a/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java b/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java index 399216c3466..28533df03a4 100644 --- a/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java +++ b/src/com/android/settings/privacy/PermissionBarChartPreferenceController.java @@ -89,10 +89,7 @@ public class PermissionBarChartPreferenceController extends BasePreferenceContro @Override public int getAvailabilityStatus() { - return Boolean.parseBoolean( - DeviceConfig.getProperty(DeviceConfig.NAMESPACE_PRIVACY, - com.android.settings.Utils.PROPERTY_PERMISSIONS_HUB_ENABLED)) ? - AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE; + return UNSUPPORTED_ON_DEVICE; } @Override diff --git a/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java index 71a80de0689..aeda699fe29 100644 --- a/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java @@ -92,75 +92,4 @@ public class RecentLocationAccessPreferenceControllerTest { // We have not yet set the property to show the Permissions Hub. assertThat(mController.isAvailable()).isEqualTo(false); } - - @Test - public void isAvailable_permissionHubEnabled_shouldReturnTrue() { - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY, - Utils.PROPERTY_PERMISSIONS_HUB_ENABLED, "true", true); - - assertThat(mController.isAvailable()).isEqualTo(true); - } - - /** Verifies the title text, details text are correct, and the click listener is set. */ - @Test - @Ignore - public void updateState_whenAppListIsEmpty_shouldDisplayTitleTextAndDetailsText() { - doReturn(new ArrayList<>()).when(mRecentLocationApps).getAppListSorted(); - mController.displayPreference(mScreen); - mController.updateState(mLayoutPreference); - - final TextView title = mAppEntitiesHeaderView.findViewById(R.id.header_title); - assertThat(title.getText()).isEqualTo( - mContext.getText(R.string.location_category_recent_location_access)); - final TextView details = mAppEntitiesHeaderView.findViewById(R.id.header_details); - assertThat(details.getText()).isEqualTo( - mContext.getText(R.string.location_recent_location_access_view_details)); - assertThat(details.hasOnClickListeners()).isTrue(); - } - - @Test - public void updateState_whenAppListMoreThanThree_shouldDisplayTopThreeApps() { - final List accesses = createMockAccesses(6); - doReturn(accesses).when(mRecentLocationApps).getAppListSorted(); - mController.displayPreference(mScreen); - mController.updateState(mLayoutPreference); - - // The widget can display the top 3 apps from the list when there're more than 3. - final View app1View = mAppEntitiesHeaderView.findViewById(R.id.app1_view); - final ImageView appIconView1 = app1View.findViewById(R.id.app_icon); - final TextView appTitle1 = app1View.findViewById(R.id.app_title); - - assertThat(app1View.getVisibility()).isEqualTo(View.VISIBLE); - assertThat(appIconView1.getDrawable()).isNotNull(); - assertThat(appTitle1.getText()).isEqualTo("appTitle0"); - - final View app2View = mAppEntitiesHeaderView.findViewById(R.id.app2_view); - final ImageView appIconView2 = app2View.findViewById(R.id.app_icon); - final TextView appTitle2 = app2View.findViewById(R.id.app_title); - - assertThat(app2View.getVisibility()).isEqualTo(View.VISIBLE); - assertThat(appIconView2.getDrawable()).isNotNull(); - assertThat(appTitle2.getText()).isEqualTo("appTitle1"); - - final View app3View = mAppEntitiesHeaderView.findViewById(R.id.app3_view); - final ImageView appIconView3 = app3View.findViewById(R.id.app_icon); - final TextView appTitle3 = app3View.findViewById(R.id.app_title); - - assertThat(app3View.getVisibility()).isEqualTo(View.VISIBLE); - assertThat(appIconView3.getDrawable()).isNotNull(); - assertThat(appTitle3.getText()).isEqualTo("appTitle2"); - } - - private List createMockAccesses(int count) { - final List accesses = new ArrayList<>(); - for (int i = 0; i < count; i++) { - final Drawable icon = mock(Drawable.class); - // Add mock accesses - final RecentLocationAccesses.Access access = new RecentLocationAccesses.Access( - "packageName", android.os.Process.myUserHandle(), icon, - "appTitle" + i, "appSummary" + i, 1000 - i); - accesses.add(access); - } - return accesses; - } } diff --git a/tests/robotests/src/com/android/settings/privacy/AccessibilityUsagePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/privacy/AccessibilityUsagePreferenceControllerTest.java index 33109b0638d..d75bf4bf955 100644 --- a/tests/robotests/src/com/android/settings/privacy/AccessibilityUsagePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/privacy/AccessibilityUsagePreferenceControllerTest.java @@ -65,8 +65,6 @@ public class AccessibilityUsagePreferenceControllerTest { @Test public void getAvailabilityStatus_noEnabledServices_shouldReturnUnsupported() { - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY, - Utils.PROPERTY_PERMISSIONS_HUB_ENABLED, "true", true); mAccessibilityManager.setEnabledAccessibilityServiceList(new ArrayList<>()); AccessibilityUsagePreferenceController controller = new AccessibilityUsagePreferenceController(mContext, "test_key"); @@ -76,8 +74,6 @@ public class AccessibilityUsagePreferenceControllerTest { @Test public void getAvailabilityStatus_enabledServices_shouldReturnAvailable() { - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY, - Utils.PROPERTY_PERMISSIONS_HUB_ENABLED, "false", true); mAccessibilityManager.setEnabledAccessibilityServiceList( new ArrayList<>(Arrays.asList(new AccessibilityServiceInfo()))); AccessibilityUsagePreferenceController controller = diff --git a/tests/robotests/src/com/android/settings/privacy/PermissionBarChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/privacy/PermissionBarChartPreferenceControllerTest.java index dc824ed04f7..1335db5c5ed 100644 --- a/tests/robotests/src/com/android/settings/privacy/PermissionBarChartPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/privacy/PermissionBarChartPreferenceControllerTest.java @@ -117,144 +117,4 @@ public class PermissionBarChartPreferenceControllerTest { // We have not yet set the property to show the Permissions Hub. assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); } - - @Test - public void getAvailabilityStatus_permissionHubEnabled_shouldReturnAvailableUnsearchable() { - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY, - Utils.PROPERTY_PERMISSIONS_HUB_ENABLED, - "true", true); - - assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE); - } - - @Test - public void displayPreference_shouldInitializeBarChart() { - mController.displayPreference(mScreen); - - verify(mPreference).initializeBarChart(any(BarChartInfo.class)); - } - - @Test - public void displayPreference_usageInfosSet_shouldSetBarViewInfos() { - final RuntimePermissionUsageInfo info1 = - new RuntimePermissionUsageInfo("permission 1", 10); - mController.mOldUsageInfos.add(info1); - - mController.displayPreference(mScreen); - - verify(mPreference).setBarViewInfos(any(BarViewInfo[].class)); - verify(mPreference).initializeBarChart(any(BarChartInfo.class)); - } - - @Test - public void onPermissionUsageResult_differentPermissionResultSet_shouldSetBarViewInfos() { - final List infos1 = new ArrayList<>(); - final RuntimePermissionUsageInfo info1 = - new RuntimePermissionUsageInfo("permission 1", 10); - infos1.add(info1); - mController.displayPreference(mScreen); - mController.onPermissionUsageResult(infos1); - - verify(mPreference).setBarViewInfos(any(BarViewInfo[].class)); - - final List infos2 = new ArrayList<>(); - final RuntimePermissionUsageInfo info2 = - new RuntimePermissionUsageInfo("permission 2", 20); - infos2.add(info2); - mController.onPermissionUsageResult(infos2); - - verify(mPreference, times(2)).setBarViewInfos(any(BarViewInfo[].class)); - } - - @Test - public void onPermissionUsageResult_samePermissionResultSet_shouldNotSetBarViewInfos() { - final List mInfos = new ArrayList<>(); - final RuntimePermissionUsageInfo info1 = - new RuntimePermissionUsageInfo("permission 1", 10); - mInfos.add(info1); - mController.displayPreference(mScreen); - mController.onPermissionUsageResult(mInfos); - - mController.onPermissionUsageResult(mInfos); - - verify(mPreference, times(1)).setBarViewInfos(any(BarViewInfo[].class)); - } - - @Test - public void onStart_usageInfosNotSetAndPermissionHubEnabled_shouldShowProgressBar() { - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY, - Utils.PROPERTY_PERMISSIONS_HUB_ENABLED, - "true", true); - mController.displayPreference(mScreen); - - mController.onStart(); - - verify(mFragment).setLoadingEnabled(true /* enabled */); - verify(mPreference).updateLoadingState(true /* isLoading */); - } - - @Test - public void onStart_usageInfosSetAndPermissionHubEnabled_shouldNotUpdatePrefLoadingState() { - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY, - Utils.PROPERTY_PERMISSIONS_HUB_ENABLED, - "true", true); - final RuntimePermissionUsageInfo info1 = - new RuntimePermissionUsageInfo("permission 1", 10); - mController.mOldUsageInfos.add(info1); - mController.displayPreference(mScreen); - - mController.onStart(); - - verify(mFragment).setLoadingEnabled(true /* enabled */); - verify(mPreference).updateLoadingState(false /* isLoading */); - } - - @Test - public void onStart_permissionHubDisabled_shouldNotShowProgressBar() { - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY, - Utils.PROPERTY_PERMISSIONS_HUB_ENABLED, - "false", true); - - mController.onStart(); - - verify(mFragment, never()).setLoadingEnabled(true /* enabled */); - verify(mPreference, never()).updateLoadingState(true /* isLoading */); - } - - @Test - public void onPermissionUsageResult_shouldHideProgressBar() { - final List infos1 = new ArrayList<>(); - final RuntimePermissionUsageInfo info1 = - new RuntimePermissionUsageInfo("permission 1", 10); - infos1.add(info1); - mController.displayPreference(mScreen); - - mController.onPermissionUsageResult(infos1); - - verify(mFragment).setLoadingEnabled(false /* enabled */); - verify(mPreference).updateLoadingState(false /* isLoading */); - } - - @Test - public void onPermissionUsageResult_shouldBeSorted() { - final List infos = new ArrayList<>(); - infos.add(new RuntimePermissionUsageInfo(PHONE, 10)); - infos.add(new RuntimePermissionUsageInfo(LOCATION, 10)); - infos.add(new RuntimePermissionUsageInfo(CAMERA, 10)); - infos.add(new RuntimePermissionUsageInfo(SMS, 1)); - infos.add(new RuntimePermissionUsageInfo(MICROPHONE, 10)); - infos.add(new RuntimePermissionUsageInfo(CONTACTS, 42)); - infos.add(new RuntimePermissionUsageInfo(CALENDAR, 10)); - mController.displayPreference(mScreen); - - mController.onPermissionUsageResult(infos); - - assertThat(infos.get(0).getName()).isEqualTo(CONTACTS); - assertThat(infos.get(1).getName()).isEqualTo(LOCATION); - assertThat(infos.get(2).getName()).isEqualTo(MICROPHONE); - assertThat(infos.get(3).getName()).isEqualTo(CAMERA); - assertThat(infos.get(4).getName()).isEqualTo(CALENDAR); - assertThat(infos.get(5).getName()).isEqualTo(PHONE); - assertThat(infos.get(6).getName()).isEqualTo(SMS); - } }