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

Commit a756d178 authored by Joel Galenson's avatar Joel Galenson
Browse files

Do not show the number of accesses.

Fixes: 127967852
Test: View {App,}PermissionUsageFragment.
Change-Id: I9c54c46dc2c8017cfebdeedc7863568e156849dc
parent 49ea16c4
Loading
Loading
Loading
Loading
+2 −23
Original line number Diff line number Diff line
@@ -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>
+1 −1
Original line number Diff line number Diff line
@@ -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++) {
+1 −35
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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));
    }

    /**
+1 −23
Original line number Diff line number Diff line
@@ -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;
@@ -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);
        }
@@ -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.
     *