diff options
author | Svet Ganov <svetoslavganov@google.com> | 2015-05-14 15:27:02 -0700 |
---|---|---|
committer | Svet Ganov <svetoslavganov@google.com> | 2015-05-14 15:36:45 -0700 |
commit | 08c441de841e237f93ddb711b8f39f62ee95ddda (patch) | |
tree | 9b1598e8847d053f50321718501340055409f4c4 /src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java | |
parent | 30e17719bec901212e4b6c3ad3675fd989214f41 (diff) | |
download | android_packages_apps_PackageInstaller-08c441de841e237f93ddb711b8f39f62ee95ddda.tar.gz android_packages_apps_PackageInstaller-08c441de841e237f93ddb711b8f39f62ee95ddda.tar.bz2 android_packages_apps_PackageInstaller-08c441de841e237f93ddb711b8f39f62ee95ddda.zip |
Add logging for user permission interactions.
bug:21078221
Change-Id: Ie5bfb4c6013faf528b95eda0d5caf1c591f1e439
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java')
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java index 7b64d7b3..a7c404cc 100644 --- a/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java @@ -49,8 +49,12 @@ import android.widget.Toast; import com.android.packageinstaller.R; import com.android.packageinstaller.permission.model.AppPermissions; import com.android.packageinstaller.permission.model.PermissionGroup; +import com.android.packageinstaller.permission.utils.SafetyNetLogger; import com.android.packageinstaller.permission.utils.Utils; +import java.util.ArrayList; +import java.util.List; + public final class AppPermissionsFragment extends SettingsWithHeader implements OnPreferenceChangeListener { @@ -60,6 +64,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader private static final String EXTRA_HIDE_INFO_BUTTON = "hideInfoButton"; + private List<PermissionGroup> mToggledGroups; private AppPermissions mAppPermissions; private PreferenceScreen mExtraScreen; @@ -222,6 +227,8 @@ public final class AppPermissionsFragment extends SettingsWithHeader return false; } + addToggledGroup(group); + if (newValue == Boolean.TRUE) { group.grantRuntimePermissions(false); } else { @@ -248,6 +255,32 @@ public final class AppPermissionsFragment extends SettingsWithHeader return true; } + @Override + public void onPause() { + super.onPause(); + logToggledGroups(); + } + + private void addToggledGroup(PermissionGroup group) { + if (mToggledGroups == null) { + mToggledGroups = new ArrayList<>(); + } + // Double toggle is back to initial state. + if (mToggledGroups.contains(group)) { + mToggledGroups.remove(group); + } else { + mToggledGroups.add(group); + } + } + + private void logToggledGroups() { + if (mToggledGroups != null) { + String packageName = mAppPermissions.getPackageInfo().packageName; + SafetyNetLogger.logPermissionsToggled(packageName, mToggledGroups); + mToggledGroups = null; + } + } + private void updateUi() { mAppPermissions.refresh(); |