Loading res/values/strings.xml +2 −23 Original line number Diff line number Diff line Loading @@ -268,29 +268,8 @@ <!-- Title for permission usage [CHAR LIMIT=30] --> <string name="permission_usage_title">Dashboard</string> <!-- Summary for showing a single permission access and the number of accesses [CHAR LIMIT=80] --> <plurals name="permission_usage_summary"> <item quantity="one">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> access</item> <item quantity="other">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> accesses</item> </plurals> <!-- Summary for showing a single permission access and the number of accesses, including those in the background [CHAR LIMIT=80] --> <plurals name="permission_usage_summary_background"> <item quantity="one">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> access (<xliff:g id="num" example="7">%3$s</xliff:g> in background)</item> <item quantity="other">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> accesses (<xliff:g id="num" example="7">%3$s</xliff:g> in background)</item> </plurals> <!-- Summary for showing a single permission access and the number of accesses [CHAR LIMIT=120] --> <plurals name="permission_usage_summary_duration"> <item quantity="one">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> access\nDuration: <xliff:g id="time" example="2 hours">%3$s</xliff:g></item> <item quantity="other">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> accesses\nDuration: <xliff:g id="time" example="2 hours">%3$s</xliff:g></item> </plurals> <!-- Summary for showing a single permission access and the number of accesses, including those in the background [CHAR LIMIT=120] --> <plurals name="permission_usage_summary_background_duration"> <item quantity="one">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> access (<xliff:g id="num" example="7">%3$s</xliff:g> in background)\nDuration: <xliff:g id="time" example="2 hours">%3$s</xliff:g></item> <item quantity="other">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> accesses (<xliff:g id="num" example="7">%3$s</xliff:g> in background)\nDuration: <xliff:g id="time" example="2 hours">%3$s</xliff:g></item> </plurals> <!-- Summary for showing a single permission access and the time of the last access [CHAR LIMIT=80] --> <string name="permission_usage_summary">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g></string> <!-- Description for showing permission accesses with any permission [CHAR LIMIT=30] --> <string name="permission_usage_any_permission">Any permission</string> Loading src/com/android/packageinstaller/permission/ui/handheld/AppPermissionUsageFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -233,7 +233,7 @@ public class AppPermissionUsageFragment extends SettingsWithButtonHeader impleme final AppPermissionUsage appPermissionUsage = permissionUsages.get(0); final List<AppPermissionUsage.GroupUsage> groupUsages = appPermissionUsage.getGroupUsages(); groupUsages.sort(Comparator.comparing(GroupUsage::getAccessCount).reversed()); groupUsages.sort(Comparator.comparing(GroupUsage::getLastAccessTime).reversed()); final int permissionCount = groupUsages.size(); for (int permissionIdx = 0; permissionIdx < permissionCount; permissionIdx++) { Loading src/com/android/packageinstaller/permission/ui/handheld/PermissionControlPreference.java +1 −35 Original line number Diff line number Diff line Loading @@ -16,9 +16,6 @@ package com.android.packageinstaller.permission.ui.handheld; import static android.Manifest.permission_group.CAMERA; import static android.Manifest.permission_group.MICROPHONE; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; Loading @@ -37,7 +34,6 @@ import androidx.preference.PreferenceViewHolder; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.AppPermissionUsage.GroupUsage; import com.android.packageinstaller.permission.ui.AppPermissionActivity; import com.android.packageinstaller.permission.utils.Utils; import com.android.permissioncontroller.R; import java.util.List; Loading Loading @@ -125,37 +121,7 @@ public class PermissionControlPreference extends Preference { * @param accessTimeStr the string representing the last access time */ public void setUsageSummary(@NonNull GroupUsage groupUsage, @NonNull String accessTimeStr) { long backgroundAccessCount = groupUsage.getBackgroundAccessCount(); long duration = 0; String groupName = groupUsage.getGroup().getName(); if (groupName.equals(CAMERA) || groupName.equals(MICROPHONE)) { duration = groupUsage.getAccessDuration(); } if (backgroundAccessCount == 0) { long numForegroundAccesses = groupUsage.getForegroundAccessCount(); if (duration == 0) { setSummary(mContext.getResources().getQuantityString( R.plurals.permission_usage_summary, (int) numForegroundAccesses, accessTimeStr, numForegroundAccesses)); } else { setSummary(mContext.getResources().getQuantityString( R.plurals.permission_usage_summary_duration, (int) numForegroundAccesses, accessTimeStr, numForegroundAccesses, Utils.getUsageDurationString(mContext, groupUsage))); } } else { long numAccesses = groupUsage.getAccessCount(); if (duration == 0) { setSummary(mContext.getResources().getQuantityString( R.plurals.permission_usage_summary_background, (int) numAccesses, accessTimeStr, numAccesses, backgroundAccessCount)); } else { setSummary(mContext.getResources().getQuantityString( R.plurals.permission_usage_summary_background_duration, (int) numAccesses, accessTimeStr, numAccesses, backgroundAccessCount, Utils.getUsageDurationString(mContext, groupUsage))); } } setSummary(mContext.getString(R.string.permission_usage_summary, accessTimeStr)); } /** Loading src/com/android/packageinstaller/permission/ui/handheld/PermissionUsageFragment.java +1 −23 Original line number Diff line number Diff line Loading @@ -81,11 +81,10 @@ public class PermissionUsageFragment extends SettingsWithButtonHeader implements private static final String LOG_TAG = "PermissionUsageFragment"; @Retention(SOURCE) @IntDef(value = {SORT_RECENT, SORT_MOST_PERMISSIONS, SORT_MOST_ACCESSES}) @IntDef(value = {SORT_RECENT, SORT_MOST_PERMISSIONS}) @interface SortOption {} static final int SORT_RECENT = 1; static final int SORT_MOST_PERMISSIONS = 2; static final int SORT_MOST_ACCESSES = 3; private static final int MENU_FILTER_BY_PERMISSIONS = MENU_HIDE_SYSTEM + 1; private static final int MENU_REFRESH = MENU_HIDE_SYSTEM + 2; Loading Loading @@ -452,8 +451,6 @@ public class PermissionUsageFragment extends SettingsWithButtonHeader implements usages.sort(PermissionUsageFragment::compareAccessRecency); } else if (sortOption == SORT_MOST_PERMISSIONS) { usages.sort(PermissionUsageFragment::compareAccessUsage); } else if (sortOption == SORT_MOST_ACCESSES) { usages.sort(PermissionUsageFragment::compareAccessCount); } else { Log.w(LOG_TAG, "Unexpected sort option: " + sortOption); } Loading Loading @@ -730,25 +727,6 @@ public class PermissionUsageFragment extends SettingsWithButtonHeader implements return x.hashCode() - y.hashCode(); } /** * Compare two usages by their access count. * * Can be used as a {@link java.util.Comparator}. * * @param x a usage. * @param y a usage. * * @return see {@link java.util.Comparator#compare(Object, Object)}. */ private static int compareAccessCount(@NonNull Pair<AppPermissionUsage, GroupUsage> x, @NonNull Pair<AppPermissionUsage, GroupUsage> y) { final int accessDiff = compareLong(x.second.getAccessCount(), y.second.getAccessCount()); if (accessDiff != 0) { return accessDiff; } return compareAccessTime(x, y); } /** * Compare two longs. * Loading Loading
res/values/strings.xml +2 −23 Original line number Diff line number Diff line Loading @@ -268,29 +268,8 @@ <!-- Title for permission usage [CHAR LIMIT=30] --> <string name="permission_usage_title">Dashboard</string> <!-- Summary for showing a single permission access and the number of accesses [CHAR LIMIT=80] --> <plurals name="permission_usage_summary"> <item quantity="one">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> access</item> <item quantity="other">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> accesses</item> </plurals> <!-- Summary for showing a single permission access and the number of accesses, including those in the background [CHAR LIMIT=80] --> <plurals name="permission_usage_summary_background"> <item quantity="one">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> access (<xliff:g id="num" example="7">%3$s</xliff:g> in background)</item> <item quantity="other">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> accesses (<xliff:g id="num" example="7">%3$s</xliff:g> in background)</item> </plurals> <!-- Summary for showing a single permission access and the number of accesses [CHAR LIMIT=120] --> <plurals name="permission_usage_summary_duration"> <item quantity="one">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> access\nDuration: <xliff:g id="time" example="2 hours">%3$s</xliff:g></item> <item quantity="other">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> accesses\nDuration: <xliff:g id="time" example="2 hours">%3$s</xliff:g></item> </plurals> <!-- Summary for showing a single permission access and the number of accesses, including those in the background [CHAR LIMIT=120] --> <plurals name="permission_usage_summary_background_duration"> <item quantity="one">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> access (<xliff:g id="num" example="7">%3$s</xliff:g> in background)\nDuration: <xliff:g id="time" example="2 hours">%3$s</xliff:g></item> <item quantity="other">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g>\n<xliff:g id="num" example="42">%2$s</xliff:g> accesses (<xliff:g id="num" example="7">%3$s</xliff:g> in background)\nDuration: <xliff:g id="time" example="2 hours">%3$s</xliff:g></item> </plurals> <!-- Summary for showing a single permission access and the time of the last access [CHAR LIMIT=80] --> <string name="permission_usage_summary">Last access: <xliff:g id="time" example="12:10 PM">%1$s</xliff:g></string> <!-- Description for showing permission accesses with any permission [CHAR LIMIT=30] --> <string name="permission_usage_any_permission">Any permission</string> Loading
src/com/android/packageinstaller/permission/ui/handheld/AppPermissionUsageFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -233,7 +233,7 @@ public class AppPermissionUsageFragment extends SettingsWithButtonHeader impleme final AppPermissionUsage appPermissionUsage = permissionUsages.get(0); final List<AppPermissionUsage.GroupUsage> groupUsages = appPermissionUsage.getGroupUsages(); groupUsages.sort(Comparator.comparing(GroupUsage::getAccessCount).reversed()); groupUsages.sort(Comparator.comparing(GroupUsage::getLastAccessTime).reversed()); final int permissionCount = groupUsages.size(); for (int permissionIdx = 0; permissionIdx < permissionCount; permissionIdx++) { Loading
src/com/android/packageinstaller/permission/ui/handheld/PermissionControlPreference.java +1 −35 Original line number Diff line number Diff line Loading @@ -16,9 +16,6 @@ package com.android.packageinstaller.permission.ui.handheld; import static android.Manifest.permission_group.CAMERA; import static android.Manifest.permission_group.MICROPHONE; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; Loading @@ -37,7 +34,6 @@ import androidx.preference.PreferenceViewHolder; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.AppPermissionUsage.GroupUsage; import com.android.packageinstaller.permission.ui.AppPermissionActivity; import com.android.packageinstaller.permission.utils.Utils; import com.android.permissioncontroller.R; import java.util.List; Loading Loading @@ -125,37 +121,7 @@ public class PermissionControlPreference extends Preference { * @param accessTimeStr the string representing the last access time */ public void setUsageSummary(@NonNull GroupUsage groupUsage, @NonNull String accessTimeStr) { long backgroundAccessCount = groupUsage.getBackgroundAccessCount(); long duration = 0; String groupName = groupUsage.getGroup().getName(); if (groupName.equals(CAMERA) || groupName.equals(MICROPHONE)) { duration = groupUsage.getAccessDuration(); } if (backgroundAccessCount == 0) { long numForegroundAccesses = groupUsage.getForegroundAccessCount(); if (duration == 0) { setSummary(mContext.getResources().getQuantityString( R.plurals.permission_usage_summary, (int) numForegroundAccesses, accessTimeStr, numForegroundAccesses)); } else { setSummary(mContext.getResources().getQuantityString( R.plurals.permission_usage_summary_duration, (int) numForegroundAccesses, accessTimeStr, numForegroundAccesses, Utils.getUsageDurationString(mContext, groupUsage))); } } else { long numAccesses = groupUsage.getAccessCount(); if (duration == 0) { setSummary(mContext.getResources().getQuantityString( R.plurals.permission_usage_summary_background, (int) numAccesses, accessTimeStr, numAccesses, backgroundAccessCount)); } else { setSummary(mContext.getResources().getQuantityString( R.plurals.permission_usage_summary_background_duration, (int) numAccesses, accessTimeStr, numAccesses, backgroundAccessCount, Utils.getUsageDurationString(mContext, groupUsage))); } } setSummary(mContext.getString(R.string.permission_usage_summary, accessTimeStr)); } /** Loading
src/com/android/packageinstaller/permission/ui/handheld/PermissionUsageFragment.java +1 −23 Original line number Diff line number Diff line Loading @@ -81,11 +81,10 @@ public class PermissionUsageFragment extends SettingsWithButtonHeader implements private static final String LOG_TAG = "PermissionUsageFragment"; @Retention(SOURCE) @IntDef(value = {SORT_RECENT, SORT_MOST_PERMISSIONS, SORT_MOST_ACCESSES}) @IntDef(value = {SORT_RECENT, SORT_MOST_PERMISSIONS}) @interface SortOption {} static final int SORT_RECENT = 1; static final int SORT_MOST_PERMISSIONS = 2; static final int SORT_MOST_ACCESSES = 3; private static final int MENU_FILTER_BY_PERMISSIONS = MENU_HIDE_SYSTEM + 1; private static final int MENU_REFRESH = MENU_HIDE_SYSTEM + 2; Loading Loading @@ -452,8 +451,6 @@ public class PermissionUsageFragment extends SettingsWithButtonHeader implements usages.sort(PermissionUsageFragment::compareAccessRecency); } else if (sortOption == SORT_MOST_PERMISSIONS) { usages.sort(PermissionUsageFragment::compareAccessUsage); } else if (sortOption == SORT_MOST_ACCESSES) { usages.sort(PermissionUsageFragment::compareAccessCount); } else { Log.w(LOG_TAG, "Unexpected sort option: " + sortOption); } Loading Loading @@ -730,25 +727,6 @@ public class PermissionUsageFragment extends SettingsWithButtonHeader implements return x.hashCode() - y.hashCode(); } /** * Compare two usages by their access count. * * Can be used as a {@link java.util.Comparator}. * * @param x a usage. * @param y a usage. * * @return see {@link java.util.Comparator#compare(Object, Object)}. */ private static int compareAccessCount(@NonNull Pair<AppPermissionUsage, GroupUsage> x, @NonNull Pair<AppPermissionUsage, GroupUsage> y) { final int accessDiff = compareLong(x.second.getAccessCount(), y.second.getAccessCount()); if (accessDiff != 0) { return accessDiff; } return compareAccessTime(x, y); } /** * Compare two longs. * Loading