Loading src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java +27 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.packageinstaller.permission.ui.handheld; import static android.content.pm.PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED; import static com.android.packageinstaller.PermissionControllerStatsLog.REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED; import android.app.Activity; import android.content.Intent; import android.content.IntentSender; Loading @@ -30,6 +32,7 @@ import android.os.UserHandle; import android.text.Html; import android.text.Spanned; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; Loading @@ -42,6 +45,7 @@ import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import com.android.packageinstaller.PermissionControllerStatsLog; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.AppPermissions; import com.android.packageinstaller.permission.model.Permission; Loading @@ -52,6 +56,7 @@ import com.android.permissioncontroller.R; import java.util.ArrayList; import java.util.List; import java.util.Random; /** * If an app does not support runtime permissions the user is prompted via this fragment to select Loading @@ -63,6 +68,7 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat private static final String EXTRA_PACKAGE_INFO = "com.android.packageinstaller.permission.ui.extra.PACKAGE_INFO"; private static final String LOG_TAG = ReviewPermissionsFragment.class.getSimpleName(); private AppPermissions mAppPermissions; Loading Loading @@ -186,6 +192,8 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat } final int preferenceGroupCount = preferenceGroups.size(); long changeIdForLogging = new Random().nextLong(); for (int groupNum = 0; groupNum < preferenceGroupCount; groupNum++) { final PreferenceGroup preferenceGroup = preferenceGroups.get(groupNum); Loading @@ -201,6 +209,7 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat if (group.isReviewRequired() && !permPreference.wasChanged()) { grantReviewedPermission(group); } logReviewPermissionsFragmentResult(changeIdForLogging, group); AppPermissionGroup backgroundGroup = group.getBackgroundPermissions(); if (backgroundGroup != null) { Loading @@ -208,11 +217,11 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat if (backgroundGroup.isReviewRequired() && !permPreference.wasChanged()) { grantReviewedPermission(backgroundGroup); } logReviewPermissionsFragmentResult(changeIdForLogging, backgroundGroup); } } } } mAppPermissions.persistChanges(true); // Some permission might be restricted and hence there is no AppPermissionGroup for it. Loading @@ -227,6 +236,23 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat } } private void logReviewPermissionsFragmentResult(long changeId, AppPermissionGroup group) { ArrayList<Permission> permissions = group.getPermissions(); int numPermissions = permissions.size(); for (int i = 0; i < numPermissions; i++) { Permission permission = permissions.get(i); PermissionControllerStatsLog.write(REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED, changeId, group.getApp().applicationInfo.uid, group.getApp().packageName, permission.getName(), permission.isGrantedIncludingAppOp()); Log.v(LOG_TAG, "Permission grant via permission review changeId=" + changeId + " uid=" + group.getApp().applicationInfo.uid + " packageName=" + group.getApp().packageName + " permission=" + permission.getName() + " granted=" + permission.isGrantedIncludingAppOp()); } } private void bindUi() { Activity activity = getActivity(); if (activity == null) { Loading Loading
src/com/android/packageinstaller/permission/ui/handheld/ReviewPermissionsFragment.java +27 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.packageinstaller.permission.ui.handheld; import static android.content.pm.PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED; import static com.android.packageinstaller.PermissionControllerStatsLog.REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED; import android.app.Activity; import android.content.Intent; import android.content.IntentSender; Loading @@ -30,6 +32,7 @@ import android.os.UserHandle; import android.text.Html; import android.text.Spanned; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; Loading @@ -42,6 +45,7 @@ import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import com.android.packageinstaller.PermissionControllerStatsLog; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.AppPermissions; import com.android.packageinstaller.permission.model.Permission; Loading @@ -52,6 +56,7 @@ import com.android.permissioncontroller.R; import java.util.ArrayList; import java.util.List; import java.util.Random; /** * If an app does not support runtime permissions the user is prompted via this fragment to select Loading @@ -63,6 +68,7 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat private static final String EXTRA_PACKAGE_INFO = "com.android.packageinstaller.permission.ui.extra.PACKAGE_INFO"; private static final String LOG_TAG = ReviewPermissionsFragment.class.getSimpleName(); private AppPermissions mAppPermissions; Loading Loading @@ -186,6 +192,8 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat } final int preferenceGroupCount = preferenceGroups.size(); long changeIdForLogging = new Random().nextLong(); for (int groupNum = 0; groupNum < preferenceGroupCount; groupNum++) { final PreferenceGroup preferenceGroup = preferenceGroups.get(groupNum); Loading @@ -201,6 +209,7 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat if (group.isReviewRequired() && !permPreference.wasChanged()) { grantReviewedPermission(group); } logReviewPermissionsFragmentResult(changeIdForLogging, group); AppPermissionGroup backgroundGroup = group.getBackgroundPermissions(); if (backgroundGroup != null) { Loading @@ -208,11 +217,11 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat if (backgroundGroup.isReviewRequired() && !permPreference.wasChanged()) { grantReviewedPermission(backgroundGroup); } logReviewPermissionsFragmentResult(changeIdForLogging, backgroundGroup); } } } } mAppPermissions.persistChanges(true); // Some permission might be restricted and hence there is no AppPermissionGroup for it. Loading @@ -227,6 +236,23 @@ public final class ReviewPermissionsFragment extends PreferenceFragmentCompat } } private void logReviewPermissionsFragmentResult(long changeId, AppPermissionGroup group) { ArrayList<Permission> permissions = group.getPermissions(); int numPermissions = permissions.size(); for (int i = 0; i < numPermissions; i++) { Permission permission = permissions.get(i); PermissionControllerStatsLog.write(REVIEW_PERMISSIONS_FRAGMENT_RESULT_REPORTED, changeId, group.getApp().applicationInfo.uid, group.getApp().packageName, permission.getName(), permission.isGrantedIncludingAppOp()); Log.v(LOG_TAG, "Permission grant via permission review changeId=" + changeId + " uid=" + group.getApp().applicationInfo.uid + " packageName=" + group.getApp().packageName + " permission=" + permission.getName() + " granted=" + permission.isGrantedIncludingAppOp()); } } private void bindUi() { Activity activity = getActivity(); if (activity == null) { Loading