diff options
| author | 2020-01-28 03:12:51 +0000 | |
|---|---|---|
| committer | 2020-01-28 03:12:51 +0000 | |
| commit | 1647da84d50a212f823a6b2e4b2ff128bbdd110b (patch) | |
| tree | 7221c8ade1d5f901868afea1637c92793008499d | |
| parent | d0fcf280d2be43778d67fefb5318b28f85083097 (diff) | |
| parent | 6306e8aec4b6bda685b9059f90dcd5d82493ff6d (diff) | |
Merge "Do not persist one-time permissions as "granted""
| -rw-r--r-- | apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistenceImpl.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistenceImpl.java b/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistenceImpl.java index 1dbad456760c..90b1c4b6ff5f 100644 --- a/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistenceImpl.java +++ b/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistenceImpl.java @@ -19,6 +19,7 @@ package com.android.permission.persistence; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.ApexContext; +import android.content.pm.PackageManager; import android.os.UserHandle; import android.util.ArrayMap; import android.util.AtomicFile; @@ -242,9 +243,10 @@ public class RuntimePermissionsPersistenceImpl implements RuntimePermissionsPers serializer.startTag(null, TAG_PERMISSION); serializer.attribute(null, ATTRIBUTE_NAME, permissionState.getName()); serializer.attribute(null, ATTRIBUTE_GRANTED, Boolean.toString( - permissionState.isGranted())); + permissionState.isGranted() && (permissionState.getFlags() + & PackageManager.FLAG_PERMISSION_ONE_TIME) == 0)); serializer.attribute(null, ATTRIBUTE_FLAGS, Integer.toHexString( - permissionState.getFlags())); + permissionState.getFlags() & ~PackageManager.FLAG_PERMISSION_ONE_TIME)); serializer.endTag(null, TAG_PERMISSION); } } |