summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java')
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
index 2aa3072a..c8166b0f 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
@@ -51,6 +51,7 @@ import androidx.preference.PreferenceScreen;
import com.android.packageinstaller.PermissionControllerStatsLog;
import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.AppPermissions;
+import com.android.packageinstaller.permission.model.PermissionUsages;
import com.android.packageinstaller.permission.utils.Utils;
import com.android.permissioncontroller.R;
import com.android.settingslib.HelpUtils;
@@ -248,7 +249,34 @@ public final class AppPermissionsFragment extends SettingsWithLargeHeader {
preference.setIcon(Utils.applyTint(context, icon,
android.R.attr.colorControlNormal));
preference.setTitle(group.getFullLabel());
- preference.setGroupSummary(group);
+ if (Utils.isModernPermissionGroup(group.getName()) && Utils.shouldShowPermissionUsage(
+ group.getName())) {
+ String lastAccessStr = Utils.getAbsoluteLastUsageString(context,
+ PermissionUsages.loadLastGroupUsage(context, group));
+ if (lastAccessStr != null) {
+ if (group.areRuntimePermissionsGranted()) {
+ preference.setSummary(
+ context.getString(R.string.app_permission_most_recent_summary,
+ lastAccessStr));
+ } else {
+ preference.setSummary(context.getString(
+ R.string.app_permission_most_recent_denied_summary, lastAccessStr));
+ }
+ } else {
+ preference.setGroupSummary(group);
+ if (preference.getSummary().length() == 0 && Utils.isPermissionsHubEnabled()) {
+ if (group.areRuntimePermissionsGranted()) {
+ preference.setSummary(context.getString(
+ R.string.app_permission_never_accessed_summary));
+ } else {
+ preference.setSummary(context.getString(
+ R.string.app_permission_never_accessed_denied_summary));
+ }
+ }
+ }
+ } else {
+ preference.setGroupSummary(group);
+ }
if (isPlatform) {
PreferenceCategory category =