summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java
diff options
context:
space:
mode:
authorSvet Ganov <svetoslavganov@google.com>2015-05-14 15:27:02 -0700
committerSvet Ganov <svetoslavganov@google.com>2015-05-14 15:36:45 -0700
commit08c441de841e237f93ddb711b8f39f62ee95ddda (patch)
tree9b1598e8847d053f50321718501340055409f4c4 /src/com/android/packageinstaller/permission/ui/AppPermissionsFragment.java
parent30e17719bec901212e4b6c3ad3675fd989214f41 (diff)
downloadandroid_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.java33
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();