Add suport for accessibility service permission

This commit is contained in:
Jonas L
2019-03-25 00:00:00 +00:00
parent b6f5edc976
commit 0e601995ec
10 changed files with 117 additions and 9 deletions
+8 -2
View File
@@ -26,13 +26,14 @@ export class IgnoreManipulationAction extends ParentAction {
readonly ignoreNotificationAccessManipulation: boolean
readonly ignoreUsageStatsAccessManipulation: boolean
readonly ignoreOverlayPermissionManipulation: boolean
readonly ignoreAccessibilityServiceManipulation: boolean
readonly ignoreDidReboot: boolean
readonly ignoreHadManipulation: boolean
constructor ({
deviceId, ignoreDeviceAdminManipulation, ignoreDeviceAdminManipulationAttempt,
ignoreAppDowngrade, ignoreNotificationAccessManipulation, ignoreUsageStatsAccessManipulation,
ignoreOverlayPermissionManipulation, ignoreDidReboot, ignoreHadManipulation
ignoreOverlayPermissionManipulation, ignoreAccessibilityServiceManipulation, ignoreDidReboot, ignoreHadManipulation
}: {
deviceId: string
ignoreDeviceAdminManipulation: boolean
@@ -41,6 +42,7 @@ export class IgnoreManipulationAction extends ParentAction {
ignoreNotificationAccessManipulation: boolean
ignoreUsageStatsAccessManipulation: boolean
ignoreOverlayPermissionManipulation: boolean
ignoreAccessibilityServiceManipulation: boolean
ignoreDidReboot: boolean
ignoreHadManipulation: boolean
}) {
@@ -55,6 +57,7 @@ export class IgnoreManipulationAction extends ParentAction {
this.ignoreNotificationAccessManipulation = ignoreNotificationAccessManipulation
this.ignoreUsageStatsAccessManipulation = ignoreUsageStatsAccessManipulation
this.ignoreOverlayPermissionManipulation = ignoreOverlayPermissionManipulation
this.ignoreAccessibilityServiceManipulation = ignoreAccessibilityServiceManipulation
this.ignoreDidReboot = ignoreDidReboot
this.ignoreHadManipulation = ignoreHadManipulation
}
@@ -67,11 +70,12 @@ export class IgnoreManipulationAction extends ParentAction {
downgrade: this.ignoreAppDowngrade,
notification: this.ignoreNotificationAccessManipulation,
overlay: this.ignoreOverlayPermissionManipulation,
accessibilityService: this.ignoreAccessibilityServiceManipulation,
usageStats: this.ignoreUsageStatsAccessManipulation,
hadManipulation: this.ignoreHadManipulation
})
static parse = ({ deviceId, admin, adminA, downgrade, notification, usageStats, overlay, reboot, hadManipulation }: SerializedIgnoreManipulationAction) => (
static parse = ({ deviceId, admin, adminA, downgrade, notification, usageStats, overlay, accessibilityService, reboot, hadManipulation }: SerializedIgnoreManipulationAction) => (
new IgnoreManipulationAction({
deviceId,
ignoreDeviceAdminManipulation: admin,
@@ -80,6 +84,7 @@ export class IgnoreManipulationAction extends ParentAction {
ignoreUsageStatsAccessManipulation: usageStats,
ignoreNotificationAccessManipulation: notification,
ignoreOverlayPermissionManipulation: !!overlay,
ignoreAccessibilityServiceManipulation: !!accessibilityService,
ignoreDidReboot: !!reboot,
ignoreHadManipulation: hadManipulation
})
@@ -98,4 +103,5 @@ export interface SerializedIgnoreManipulationAction {
// was added at a later version
reboot?: boolean
overlay?: boolean
accessibilityService?: boolean
}
+8 -2
View File
@@ -25,14 +25,16 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
readonly newUsageStatsPermissionStatus?: RuntimePermissionStatus
readonly newNotificationAccessPermission?: NewPermissionStatus
readonly newOverlayPermission?: RuntimePermissionStatus
readonly newAccessibilityServiceEnabled?: boolean
readonly newAppVersion?: number
readonly didReboot: boolean
constructor ({ newProtetionLevel, newUsageStatsPermissionStatus, newNotificationAccessPermission, newOverlayPermission, newAppVersion, didReboot }: {
constructor ({ newProtetionLevel, newUsageStatsPermissionStatus, newNotificationAccessPermission, newOverlayPermission, newAccessibilityServiceEnabled, newAppVersion, didReboot }: {
newProtetionLevel?: ProtectionLevel
newUsageStatsPermissionStatus?: RuntimePermissionStatus
newNotificationAccessPermission?: NewPermissionStatus
newOverlayPermission?: RuntimePermissionStatus
newAccessibilityServiceEnabled?: boolean
newAppVersion?: number
didReboot: boolean
}) {
@@ -48,6 +50,7 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
this.newUsageStatsPermissionStatus = newUsageStatsPermissionStatus
this.newNotificationAccessPermission = newNotificationAccessPermission
this.newOverlayPermission = newOverlayPermission
this.newAccessibilityServiceEnabled = newAccessibilityServiceEnabled
this.newAppVersion = newAppVersion
this.didReboot = didReboot
}
@@ -58,16 +61,18 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
usageStats: this.newUsageStatsPermissionStatus,
notificationAccess: this.newNotificationAccessPermission,
overlayPermission: this.newOverlayPermission,
accessibilityServiceEnabled: this.newAccessibilityServiceEnabled,
appVersion: this.newAppVersion,
didReboot: this.didReboot
})
static parse = ({ protectionLevel, usageStats, notificationAccess, overlayPermission, appVersion, didReboot }: SerializedUpdateDeviceStatusAction) => (
static parse = ({ protectionLevel, usageStats, notificationAccess, overlayPermission, accessibilityServiceEnabled, appVersion, didReboot }: SerializedUpdateDeviceStatusAction) => (
new UpdateDeviceStatusAction({
newProtetionLevel: protectionLevel,
newUsageStatsPermissionStatus: usageStats,
newNotificationAccessPermission: notificationAccess,
newOverlayPermission: overlayPermission,
newAccessibilityServiceEnabled: accessibilityServiceEnabled,
newAppVersion: appVersion,
didReboot: !!didReboot
})
@@ -80,6 +85,7 @@ export interface SerializedUpdateDeviceStatusAction {
usageStats?: RuntimePermissionStatus
notificationAccess?: NewPermissionStatus
overlayPermission?: RuntimePermissionStatus
accessibilityServiceEnabled?: boolean
appVersion?: number
didReboot?: boolean
}