Loading src/com/android/packageinstaller/permission/model/PermissionUsages.java +3 −0 Original line number Diff line number Diff line Loading @@ -217,6 +217,9 @@ public final class PermissionUsages implements LoaderCallbacks<List<AppPermissio if (!group.getDeclaringPackage().equals(Utils.OS_PKG)) { continue; } if (!Utils.shouldShowPermissionUsage(group.getName())) { continue; } groups.add(group); Loading src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java +18 −13 Original line number Diff line number Diff line Loading @@ -185,6 +185,10 @@ public class AppPermissionFragment extends SettingsWithLargeHeader { context.getString(R.string.app_permission_header, mGroup.getLabel())); if (Utils.isModernPermissionGroup(mGroup.getName())) { if (!Utils.shouldShowPermissionUsage(mGroup.getName())) { ((TextView) root.requireViewById(R.id.usage_summary)).setText( context.getString(R.string.app_permission_footer_not_available)); } else { String timeDiffStr = Utils.getRelativeLastUsageString(context, PermissionUsages.loadLastGroupUsage(context, mGroup)); if (timeDiffStr == null) { Loading @@ -201,6 +205,7 @@ public class AppPermissionFragment extends SettingsWithLargeHeader { mGroup.getLabel().toString().toLowerCase(), timeDiffStr)); } } } else { root.requireViewById(R.id.usage_summary).setVisibility(View.GONE); } Loading src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java +2 −1 Original line number Diff line number Diff line Loading @@ -230,7 +230,8 @@ public final class AppPermissionsFragment extends SettingsWithLargeHeader { preference.setIcon(Utils.applyTint(context, icon, android.R.attr.colorControlNormal)); preference.setTitle(group.getFullLabel()); if (Utils.isModernPermissionGroup(group.getName())) { if (Utils.isModernPermissionGroup(group.getName()) && Utils.shouldShowPermissionUsage( group.getName())) { String lastAccessStr = Utils.getAbsoluteLastUsageString(context, PermissionUsages.loadLastGroupUsage(context, group)); if (lastAccessStr != null) { Loading src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java +12 −0 Original line number Diff line number Diff line Loading @@ -366,6 +366,15 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem denied.addPreference(empty); } if (!Utils.shouldShowPermissionUsage(mPermissionApps.getGroupName())) { PreferenceCategory footer = new PreferenceCategory(context); getPreferenceScreen().addPreference(footer); Preference footerText = new Preference(context); footerText.setSummary(context.getString(R.string.app_permission_footer_not_available)); footerText.setIcon(R.drawable.ic_info_outline); footer.addPreference(footerText); } setLoading(false /* loading */, true /* animate */); if (mOnPermissionsLoadedListener != null) { Loading @@ -378,6 +387,9 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem if (!Utils.isModernPermissionGroup(group.getName())) { return; } if (!Utils.shouldShowPermissionUsage(group.getName())) { return; } String lastAccessStr = Utils.getAbsoluteLastUsageString(context, PermissionUsages.loadLastGroupUsage(context, group)); if (lastAccessStr != null) { Loading src/com/android/packageinstaller/permission/utils/Utils.java +11 −0 Original line number Diff line number Diff line Loading @@ -755,6 +755,17 @@ public final class Utils { DeviceConfig.Privacy.PROPERTY_PERMISSIONS_HUB_ENABLED)); } /** * Whether we should show permission usages for the specified permission group. * * @param permissionGroup The name of the permission group. * * @return whether or not to show permission usages for the given permission group. */ public static boolean shouldShowPermissionUsage(@NonNull String permissionGroup) { return true; } /** * Get a device protected storage based shared preferences. Avoid storing sensitive data in it. * Loading Loading
src/com/android/packageinstaller/permission/model/PermissionUsages.java +3 −0 Original line number Diff line number Diff line Loading @@ -217,6 +217,9 @@ public final class PermissionUsages implements LoaderCallbacks<List<AppPermissio if (!group.getDeclaringPackage().equals(Utils.OS_PKG)) { continue; } if (!Utils.shouldShowPermissionUsage(group.getName())) { continue; } groups.add(group); Loading
src/com/android/packageinstaller/permission/ui/handheld/AppPermissionFragment.java +18 −13 Original line number Diff line number Diff line Loading @@ -185,6 +185,10 @@ public class AppPermissionFragment extends SettingsWithLargeHeader { context.getString(R.string.app_permission_header, mGroup.getLabel())); if (Utils.isModernPermissionGroup(mGroup.getName())) { if (!Utils.shouldShowPermissionUsage(mGroup.getName())) { ((TextView) root.requireViewById(R.id.usage_summary)).setText( context.getString(R.string.app_permission_footer_not_available)); } else { String timeDiffStr = Utils.getRelativeLastUsageString(context, PermissionUsages.loadLastGroupUsage(context, mGroup)); if (timeDiffStr == null) { Loading @@ -201,6 +205,7 @@ public class AppPermissionFragment extends SettingsWithLargeHeader { mGroup.getLabel().toString().toLowerCase(), timeDiffStr)); } } } else { root.requireViewById(R.id.usage_summary).setVisibility(View.GONE); } Loading
src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java +2 −1 Original line number Diff line number Diff line Loading @@ -230,7 +230,8 @@ public final class AppPermissionsFragment extends SettingsWithLargeHeader { preference.setIcon(Utils.applyTint(context, icon, android.R.attr.colorControlNormal)); preference.setTitle(group.getFullLabel()); if (Utils.isModernPermissionGroup(group.getName())) { if (Utils.isModernPermissionGroup(group.getName()) && Utils.shouldShowPermissionUsage( group.getName())) { String lastAccessStr = Utils.getAbsoluteLastUsageString(context, PermissionUsages.loadLastGroupUsage(context, group)); if (lastAccessStr != null) { Loading
src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java +12 −0 Original line number Diff line number Diff line Loading @@ -366,6 +366,15 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem denied.addPreference(empty); } if (!Utils.shouldShowPermissionUsage(mPermissionApps.getGroupName())) { PreferenceCategory footer = new PreferenceCategory(context); getPreferenceScreen().addPreference(footer); Preference footerText = new Preference(context); footerText.setSummary(context.getString(R.string.app_permission_footer_not_available)); footerText.setIcon(R.drawable.ic_info_outline); footer.addPreference(footerText); } setLoading(false /* loading */, true /* animate */); if (mOnPermissionsLoadedListener != null) { Loading @@ -378,6 +387,9 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem if (!Utils.isModernPermissionGroup(group.getName())) { return; } if (!Utils.shouldShowPermissionUsage(group.getName())) { return; } String lastAccessStr = Utils.getAbsoluteLastUsageString(context, PermissionUsages.loadLastGroupUsage(context, group)); if (lastAccessStr != null) { Loading
src/com/android/packageinstaller/permission/utils/Utils.java +11 −0 Original line number Diff line number Diff line Loading @@ -755,6 +755,17 @@ public final class Utils { DeviceConfig.Privacy.PROPERTY_PERMISSIONS_HUB_ENABLED)); } /** * Whether we should show permission usages for the specified permission group. * * @param permissionGroup The name of the permission group. * * @return whether or not to show permission usages for the given permission group. */ public static boolean shouldShowPermissionUsage(@NonNull String permissionGroup) { return true; } /** * Get a device protected storage based shared preferences. Avoid storing sensitive data in it. * Loading