diff options
author | Stanislav Zholnin <zholnin@google.com> | 2019-06-04 15:01:39 +0100 |
---|---|---|
committer | Stanislav Zholnin <zholnin@google.com> | 2019-06-21 16:49:19 +0000 |
commit | b985248c3a8a3d0c504e87496b0cffb44af0e7de (patch) | |
tree | 6772897e7d0385bc4228435272fadef691ba0e7e | |
parent | 6a545bc450ecc1e1b9e5d093d7281f18592f7d74 (diff) | |
download | android_packages_apps_PackageInstaller-b985248c3a8a3d0c504e87496b0cffb44af0e7de.tar.gz android_packages_apps_PackageInstaller-b985248c3a8a3d0c504e87496b0cffb44af0e7de.tar.bz2 android_packages_apps_PackageInstaller-b985248c3a8a3d0c504e87496b0cffb44af0e7de.zip |
Add logging to PermissionAppsFragment
Test: make statsd_testdrive && ./out/host/linux-x86/bin/statsd_testdrive -p com.google.android.permissioncontroller 218
Bug: 133401502
Change-Id: I51d8d1eed099fa17d2e8b6726cd174436a4c457e
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java index f8229f3e..304aa38a 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java @@ -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; @@ -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; @@ -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; @@ -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. @@ -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 */ @@ -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; @@ -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 */); @@ -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 @@ -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++) { @@ -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); @@ -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; |