diff options
author | Kevin Han <kevhan@google.com> | 2022-04-26 16:56:44 -0700 |
---|---|---|
committer | Kevin Han <kevhan@google.com> | 2022-05-18 15:48:01 -0700 |
commit | 3e402188b13cd6ec16bfeddcbdf6982d6cd3368f (patch) | |
tree | 19c8d8089107fc9c5f095cca86a3f7e5b08aef4b /PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt | |
parent | dafe133429685cec2e2528741aea650d961ea655 (diff) | |
download | Permission-3e402188b13cd6ec16bfeddcbdf6982d6cd3368f.tar.gz |
Do not auto-revoke if permission changed recently
Introduce PermissionChangeStorageImpl which stores the day when a
package's permissions are changed by the user. This data is retained for
90 days.
When we auto-revoke, check if the permissions were changed within the
last 90 days and if so, do not auto-revoke any of the package
permissions.
For CTS testing coverage, we also add a setting to allow the storage to
store exact times (so we aren't stuck waiting days in the CTS test)
Bug: 205642821
Test: atest PermissionChangeStorageImplTest
Test: atest AutoRevokeTest
Test: manual
Change-Id: I7866a1209bcb388d8efa6522cad9e57b280b1996
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt')
-rw-r--r-- | PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt index e743d7c81..4192cb90a 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt @@ -50,6 +50,7 @@ import com.android.permissioncontroller.permission.data.SmartUpdateMediatorLiveD import com.android.permissioncontroller.permission.data.get import com.android.permissioncontroller.permission.model.livedatatypes.LightAppPermGroup import com.android.permissioncontroller.permission.model.livedatatypes.LightPermission +import com.android.permissioncontroller.permission.service.v33.PermissionChangeStorageImpl import com.android.permissioncontroller.permission.service.v33.PermissionDecisionStorageImpl import com.android.permissioncontroller.permission.ui.AdvancedConfirmDialogArgs @@ -943,6 +944,7 @@ class AppPermissionViewModel( logAppPermissionFragmentActionReported(changeId, newPermission, buttonPressed) PermissionDecisionStorageImpl.recordPermissionDecision(app.applicationContext, packageName, permGroupName, newPermission.isGrantedIncludingAppOp) + PermissionChangeStorageImpl.recordPermissionChange(packageName) } } } |