mirror of
https://codeberg.org/timelimit/timelimit-server.git
synced 2026-08-31 19:03:45 +02:00
Add overlay permission to update device status action
This commit is contained in:
@@ -24,13 +24,15 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||||||
readonly newProtetionLevel?: ProtectionLevel
|
readonly newProtetionLevel?: ProtectionLevel
|
||||||
readonly newUsageStatsPermissionStatus?: RuntimePermissionStatus
|
readonly newUsageStatsPermissionStatus?: RuntimePermissionStatus
|
||||||
readonly newNotificationAccessPermission?: NewPermissionStatus
|
readonly newNotificationAccessPermission?: NewPermissionStatus
|
||||||
|
readonly newOverlayPermission?: RuntimePermissionStatus
|
||||||
readonly newAppVersion?: number
|
readonly newAppVersion?: number
|
||||||
readonly didReboot: boolean
|
readonly didReboot: boolean
|
||||||
|
|
||||||
constructor ({ newProtetionLevel, newUsageStatsPermissionStatus, newNotificationAccessPermission, newAppVersion, didReboot }: {
|
constructor ({ newProtetionLevel, newUsageStatsPermissionStatus, newNotificationAccessPermission, newOverlayPermission, newAppVersion, didReboot }: {
|
||||||
newProtetionLevel?: ProtectionLevel
|
newProtetionLevel?: ProtectionLevel
|
||||||
newUsageStatsPermissionStatus?: RuntimePermissionStatus
|
newUsageStatsPermissionStatus?: RuntimePermissionStatus
|
||||||
newNotificationAccessPermission?: NewPermissionStatus
|
newNotificationAccessPermission?: NewPermissionStatus
|
||||||
|
newOverlayPermission?: RuntimePermissionStatus
|
||||||
newAppVersion?: number
|
newAppVersion?: number
|
||||||
didReboot: boolean
|
didReboot: boolean
|
||||||
}) {
|
}) {
|
||||||
@@ -45,6 +47,7 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||||||
this.newProtetionLevel = newProtetionLevel
|
this.newProtetionLevel = newProtetionLevel
|
||||||
this.newUsageStatsPermissionStatus = newUsageStatsPermissionStatus
|
this.newUsageStatsPermissionStatus = newUsageStatsPermissionStatus
|
||||||
this.newNotificationAccessPermission = newNotificationAccessPermission
|
this.newNotificationAccessPermission = newNotificationAccessPermission
|
||||||
|
this.newOverlayPermission = newOverlayPermission
|
||||||
this.newAppVersion = newAppVersion
|
this.newAppVersion = newAppVersion
|
||||||
this.didReboot = didReboot
|
this.didReboot = didReboot
|
||||||
}
|
}
|
||||||
@@ -54,15 +57,17 @@ export class UpdateDeviceStatusAction extends AppLogicAction {
|
|||||||
protectionLevel: this.newProtetionLevel,
|
protectionLevel: this.newProtetionLevel,
|
||||||
usageStats: this.newUsageStatsPermissionStatus,
|
usageStats: this.newUsageStatsPermissionStatus,
|
||||||
notificationAccess: this.newNotificationAccessPermission,
|
notificationAccess: this.newNotificationAccessPermission,
|
||||||
|
overlayPermission: this.newOverlayPermission,
|
||||||
appVersion: this.newAppVersion,
|
appVersion: this.newAppVersion,
|
||||||
didReboot: this.didReboot
|
didReboot: this.didReboot
|
||||||
})
|
})
|
||||||
|
|
||||||
static parse = ({ protectionLevel, usageStats, notificationAccess, appVersion, didReboot }: SerializedUpdateDeviceStatusAction) => (
|
static parse = ({ protectionLevel, usageStats, notificationAccess, overlayPermission, appVersion, didReboot }: SerializedUpdateDeviceStatusAction) => (
|
||||||
new UpdateDeviceStatusAction({
|
new UpdateDeviceStatusAction({
|
||||||
newProtetionLevel: protectionLevel,
|
newProtetionLevel: protectionLevel,
|
||||||
newUsageStatsPermissionStatus: usageStats,
|
newUsageStatsPermissionStatus: usageStats,
|
||||||
newNotificationAccessPermission: notificationAccess,
|
newNotificationAccessPermission: notificationAccess,
|
||||||
|
newOverlayPermission: overlayPermission,
|
||||||
newAppVersion: appVersion,
|
newAppVersion: appVersion,
|
||||||
didReboot: !!didReboot
|
didReboot: !!didReboot
|
||||||
})
|
})
|
||||||
@@ -74,6 +79,7 @@ export interface SerializedUpdateDeviceStatusAction {
|
|||||||
protectionLevel?: ProtectionLevel
|
protectionLevel?: ProtectionLevel
|
||||||
usageStats?: RuntimePermissionStatus
|
usageStats?: RuntimePermissionStatus
|
||||||
notificationAccess?: NewPermissionStatus
|
notificationAccess?: NewPermissionStatus
|
||||||
|
overlayPermission?: RuntimePermissionStatus
|
||||||
appVersion?: number
|
appVersion?: number
|
||||||
didReboot?: boolean
|
didReboot?: boolean
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1112,6 +1112,14 @@ const definitions = {
|
|||||||
],
|
],
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"overlayPermission": {
|
||||||
|
"enum": [
|
||||||
|
"granted",
|
||||||
|
"not granted",
|
||||||
|
"not required"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"appVersion": {
|
"appVersion": {
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -91,6 +91,22 @@ export async function dispatchUpdateDeviceStatus ({ deviceId, action, cache }: {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (action.newOverlayPermission) {
|
||||||
|
const hasChanged = deviceEntry.currentOverlayPermission !== action.newOverlayPermission
|
||||||
|
|
||||||
|
deviceEntry.currentOverlayPermission = action.newOverlayPermission
|
||||||
|
|
||||||
|
deviceEntry.highestOverlayPermission = enumMax(
|
||||||
|
deviceEntry.currentOverlayPermission,
|
||||||
|
deviceEntry.highestOverlayPermission,
|
||||||
|
runtimePermissionStatusValues
|
||||||
|
)
|
||||||
|
|
||||||
|
if (hasChanged && (deviceEntry.currentOverlayPermission !== deviceEntry.highestOverlayPermission)) {
|
||||||
|
deviceEntry.hadManipulation = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (action.newAppVersion !== undefined) {
|
if (action.newAppVersion !== undefined) {
|
||||||
const hasChanged = deviceEntry.currentAppVersion !== action.newAppVersion
|
const hasChanged = deviceEntry.currentAppVersion !== action.newAppVersion
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user