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
This commit is contained in:
Denis Kuznetsov
2017-03-10 16:24:15 +01:00
parent 92ae1f2d8e
commit 9392681afa
9 changed files with 65 additions and 17 deletions

View File

@@ -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;
}
}