summaryrefslogtreecommitdiff
path: root/PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt
diff options
context:
space:
mode:
authorKevin Han <kevhan@google.com>2022-04-26 16:56:44 -0700
committerKevin Han <kevhan@google.com>2022-05-18 15:48:01 -0700
commit3e402188b13cd6ec16bfeddcbdf6982d6cd3368f (patch)
tree19c8d8089107fc9c5f095cca86a3f7e5b08aef4b /PermissionController/src/com/android/permissioncontroller/permission/ui/model/AppPermissionViewModel.kt
parentdafe133429685cec2e2528741aea650d961ea655 (diff)
downloadPermission-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.kt2
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)
}
}
}