Loading src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java +44 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,11 @@ package com.android.packageinstaller.permission.ui.handheld; import static com.android.packageinstaller.Constants.EXTRA_SESSION_ID; import static com.android.packageinstaller.Constants.INVALID_SESSION_ID; import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_APPS_FRAGMENT_VIEWED; import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__ALLOWED; import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__ALLOWED_FOREGROUND; import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__DENIED; import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__UNDEFINED; import android.app.ActionBar; import android.content.Context; Loading @@ -24,6 +29,7 @@ import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.util.ArrayMap; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; Loading @@ -37,6 +43,7 @@ import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreferenceCompat; import com.android.packageinstaller.DeviceUtils; import com.android.packageinstaller.PermissionControllerStatsLog; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.PermissionApps; import com.android.packageinstaller.permission.model.PermissionApps.Callback; Loading @@ -48,6 +55,7 @@ import com.android.settingslib.HelpUtils; import java.text.Collator; import java.util.ArrayList; import java.util.Map; import java.util.Random; /** * Show and manage apps which request a single permission group. Loading @@ -57,11 +65,16 @@ import java.util.Map; public final class PermissionAppsFragment extends SettingsWithLargeHeader implements Callback { private static final String KEY_SHOW_SYSTEM_PREFS = "_showSystem"; private static final String CREATION_LOGGED_SYSTEM_PREFS = "_creationLogged"; private static final String KEY_FOOTER = "_footer"; private static final String LOG_TAG = "PermissionAppsFragment"; private static final String SHOW_SYSTEM_KEY = PermissionAppsFragment.class.getName() + KEY_SHOW_SYSTEM_PREFS; private static final String CREATION_LOGGED = PermissionAppsFragment.class.getName() + CREATION_LOGGED_SYSTEM_PREFS; /** * @return A new fragment */ Loading @@ -84,6 +97,7 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem private PreferenceScreen mExtraScreen; private boolean mShowSystem; private boolean mCreationLogged; private boolean mHasSystemApps; private MenuItem mShowSystemMenu; private MenuItem mHideSystemMenu; Loading @@ -98,6 +112,7 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem if (savedInstanceState != null) { mShowSystem = savedInstanceState.getBoolean(SHOW_SYSTEM_KEY); mCreationLogged = savedInstanceState.getBoolean(CREATION_LOGGED); } setLoading(true /* loading */, false /* animate */); Loading @@ -122,6 +137,7 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem super.onSaveInstanceState(outState); outState.putBoolean(SHOW_SYSTEM_KEY, mShowSystem); outState.putBoolean(CREATION_LOGGED, mCreationLogged); } @Override Loading Loading @@ -253,6 +269,7 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem return result; }); long viewIdForLogging = new Random().nextLong(); long sessionId = getArguments().getLong(EXTRA_SESSION_ID, INVALID_SESSION_ID); for (int i = 0; i < sortedApps.size(); i++) { Loading Loading @@ -322,8 +339,13 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem mExtraScreen.addPreference(pref); } else { category.addPreference(pref); if (!mCreationLogged) { logPermissionAppsFragmentCreated(app, viewIdForLogging, category == allowed, category == allowedForeground, category == denied); } } } mCreationLogged = true; if (mExtraScreen != null) { Preference pref = allowed.findPreference(KEY_SHOW_SYSTEM_PREFS); Loading Loading @@ -389,6 +411,28 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem } } private void logPermissionAppsFragmentCreated(PermissionApp permissionApp, long viewId, boolean isAllowed, boolean isAllowedForeground, boolean isDenied) { long sessionId = getArguments().getLong(EXTRA_SESSION_ID, 0); int category = PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__UNDEFINED; if (isAllowed) { category = PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__ALLOWED; } else if (isAllowedForeground) { category = PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__ALLOWED_FOREGROUND; } else if (isDenied) { category = PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__DENIED; } PermissionControllerStatsLog.write(PERMISSION_APPS_FRAGMENT_VIEWED, sessionId, viewId, mPermissionApps.getGroupName(), permissionApp.getUid(), permissionApp.getPackageName(), category); Log.v(LOG_TAG, "PermissionAppsFragment created with sessionId=" + sessionId + " permissionGroupName=" + mPermissionApps.getGroupName() + " appUid=" + permissionApp.getUid() + " packageName=" + permissionApp.getPackageName() + " category=" + category); }; public static class SystemAppsFragment extends SettingsWithLargeHeader implements Callback { PermissionAppsFragment mOuterFragment; Loading Loading
src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java +44 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,11 @@ package com.android.packageinstaller.permission.ui.handheld; import static com.android.packageinstaller.Constants.EXTRA_SESSION_ID; import static com.android.packageinstaller.Constants.INVALID_SESSION_ID; import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_APPS_FRAGMENT_VIEWED; import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__ALLOWED; import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__ALLOWED_FOREGROUND; import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__DENIED; import static com.android.packageinstaller.PermissionControllerStatsLog.PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__UNDEFINED; import android.app.ActionBar; import android.content.Context; Loading @@ -24,6 +29,7 @@ import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.util.ArrayMap; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; Loading @@ -37,6 +43,7 @@ import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreferenceCompat; import com.android.packageinstaller.DeviceUtils; import com.android.packageinstaller.PermissionControllerStatsLog; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.PermissionApps; import com.android.packageinstaller.permission.model.PermissionApps.Callback; Loading @@ -48,6 +55,7 @@ import com.android.settingslib.HelpUtils; import java.text.Collator; import java.util.ArrayList; import java.util.Map; import java.util.Random; /** * Show and manage apps which request a single permission group. Loading @@ -57,11 +65,16 @@ import java.util.Map; public final class PermissionAppsFragment extends SettingsWithLargeHeader implements Callback { private static final String KEY_SHOW_SYSTEM_PREFS = "_showSystem"; private static final String CREATION_LOGGED_SYSTEM_PREFS = "_creationLogged"; private static final String KEY_FOOTER = "_footer"; private static final String LOG_TAG = "PermissionAppsFragment"; private static final String SHOW_SYSTEM_KEY = PermissionAppsFragment.class.getName() + KEY_SHOW_SYSTEM_PREFS; private static final String CREATION_LOGGED = PermissionAppsFragment.class.getName() + CREATION_LOGGED_SYSTEM_PREFS; /** * @return A new fragment */ Loading @@ -84,6 +97,7 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem private PreferenceScreen mExtraScreen; private boolean mShowSystem; private boolean mCreationLogged; private boolean mHasSystemApps; private MenuItem mShowSystemMenu; private MenuItem mHideSystemMenu; Loading @@ -98,6 +112,7 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem if (savedInstanceState != null) { mShowSystem = savedInstanceState.getBoolean(SHOW_SYSTEM_KEY); mCreationLogged = savedInstanceState.getBoolean(CREATION_LOGGED); } setLoading(true /* loading */, false /* animate */); Loading @@ -122,6 +137,7 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem super.onSaveInstanceState(outState); outState.putBoolean(SHOW_SYSTEM_KEY, mShowSystem); outState.putBoolean(CREATION_LOGGED, mCreationLogged); } @Override Loading Loading @@ -253,6 +269,7 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem return result; }); long viewIdForLogging = new Random().nextLong(); long sessionId = getArguments().getLong(EXTRA_SESSION_ID, INVALID_SESSION_ID); for (int i = 0; i < sortedApps.size(); i++) { Loading Loading @@ -322,8 +339,13 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem mExtraScreen.addPreference(pref); } else { category.addPreference(pref); if (!mCreationLogged) { logPermissionAppsFragmentCreated(app, viewIdForLogging, category == allowed, category == allowedForeground, category == denied); } } } mCreationLogged = true; if (mExtraScreen != null) { Preference pref = allowed.findPreference(KEY_SHOW_SYSTEM_PREFS); Loading Loading @@ -389,6 +411,28 @@ public final class PermissionAppsFragment extends SettingsWithLargeHeader implem } } private void logPermissionAppsFragmentCreated(PermissionApp permissionApp, long viewId, boolean isAllowed, boolean isAllowedForeground, boolean isDenied) { long sessionId = getArguments().getLong(EXTRA_SESSION_ID, 0); int category = PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__UNDEFINED; if (isAllowed) { category = PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__ALLOWED; } else if (isAllowedForeground) { category = PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__ALLOWED_FOREGROUND; } else if (isDenied) { category = PERMISSION_APPS_FRAGMENT_VIEWED__CATEGORY__DENIED; } PermissionControllerStatsLog.write(PERMISSION_APPS_FRAGMENT_VIEWED, sessionId, viewId, mPermissionApps.getGroupName(), permissionApp.getUid(), permissionApp.getPackageName(), category); Log.v(LOG_TAG, "PermissionAppsFragment created with sessionId=" + sessionId + " permissionGroupName=" + mPermissionApps.getGroupName() + " appUid=" + permissionApp.getUid() + " packageName=" + permissionApp.getPackageName() + " category=" + category); }; public static class SystemAppsFragment extends SettingsWithLargeHeader implements Callback { PermissionAppsFragment mOuterFragment; Loading