Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9392681a authored by Denis Kuznetsov's avatar Denis Kuznetsov
Browse files

This CL updates the DO Disclosures page (aka "Enterprise Privacy")

to make items that shows admin granted permissions actionable.
Item click will result in opening the list of apps for a permission.

Test: make RunSettingsRoboTests
Bug: 32692748

Change-Id: I5f2536b116998810857e379f48a26a1c40055590
parent 92ae1f2d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ public class AdminGrantedCameraPermissionPreferenceController extends
            = "enterprise_privacy_number_camera_access_packages";

    public AdminGrantedCameraPermissionPreferenceController(Context context) {
        super(context, new String[] {Manifest.permission.CAMERA});
        super(context, new String[] {Manifest.permission.CAMERA}, Manifest.permission_group.CAMERA);
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ public class AdminGrantedLocationPermissionsPreferenceController extends

    public AdminGrantedLocationPermissionsPreferenceController(Context context) {
        super(context, new String[] {Manifest.permission.ACCESS_COARSE_LOCATION,
                Manifest.permission.ACCESS_FINE_LOCATION});
                Manifest.permission.ACCESS_FINE_LOCATION}, Manifest.permission_group.LOCATION);
    }

    @Override
+2 −1
Original line number Diff line number Diff line
@@ -24,7 +24,8 @@ public class AdminGrantedMicrophonePermissionPreferenceController extends
            = "enterprise_privacy_number_microphone_access_packages";

    public AdminGrantedMicrophonePermissionPreferenceController(Context context) {
        super(context, new String[] {Manifest.permission.RECORD_AUDIO});
        super(context, new String[] {Manifest.permission.RECORD_AUDIO},
                Manifest.permission_group.MICROPHONE);
    }

    @Override
+18 −3
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
package com.android.settings.enterprise;

import android.content.Context;
import android.content.res.Resources;
import android.content.Intent;
import android.support.v7.preference.Preference;

import com.android.settings.R;
@@ -26,11 +26,15 @@ import com.android.settings.overlay.FeatureFactory;
public abstract class AdminGrantedPermissionsPreferenceControllerBase extends PreferenceController {

    private final String[] mPermissions;
    private final String mPermissionGroup;
    private final ApplicationFeatureProvider mFeatureProvider;

    public AdminGrantedPermissionsPreferenceControllerBase(Context context, String[] permissions) {
    public AdminGrantedPermissionsPreferenceControllerBase(Context context,
                                                           String[] permissions,
                                                           String permissionGroup) {
        super(context);
        mPermissions = permissions;
        mPermissionGroup = permissionGroup;
        mFeatureProvider = FeatureFactory.getFactory(context)
                .getApplicationFeatureProvider(context);
    }
@@ -44,7 +48,7 @@ public abstract class AdminGrantedPermissionsPreferenceControllerBase extends Pr
                    } else {
                        preference.setVisible(true);
                        preference.setSummary(mContext.getResources().getQuantityString(
                                R.plurals.enterprise_privacy_number_packages, num, num));
                                R.plurals.enterprise_privacy_number_packages_actionable, num, num));
                    }
                });
    }
@@ -53,4 +57,15 @@ public abstract class AdminGrantedPermissionsPreferenceControllerBase extends Pr
    public boolean isAvailable() {
        return true;
    }

    @Override
    public boolean handlePreferenceTreeClick(Preference preference) {
        if (!getPreferenceKey().equals(preference.getKey())) {
            return false;
        }
        final Intent intent = new Intent(Intent.ACTION_MANAGE_PERMISSION_APPS)
                .putExtra(Intent.EXTRA_PERMISSION_NAME, mPermissionGroup);
        mContext.startActivity(intent);
        return true;
    }
}
+3 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.Manifest;

import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;

import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;

@@ -33,7 +34,8 @@ public final class AdminGrantedCameraPermissionPreferenceControllerTest extends

    public AdminGrantedCameraPermissionPreferenceControllerTest() {
        super("enterprise_privacy_number_camera_access_packages",
                new String[] {Manifest.permission.CAMERA});
                new String[] {Manifest.permission.CAMERA},
                Manifest.permission_group.CAMERA);
    }

    @Override
Loading