@@ -153,7 +153,7 @@ class AppLockAccessibilityService : AccessibilityService() {
153153 }
154154
155155 try {
156- processPackageLocking(packageName, event )
156+ processPackageLocking(packageName)
157157 } catch (e: Exception ) {
158158 logError(" Error processing package locking for $packageName " , e)
159159 }
@@ -189,6 +189,7 @@ class AppLockAccessibilityService : AccessibilityService() {
189189 }
190190 }
191191
192+ @SuppressLint(" InlinedApi" )
192193 private fun isRecentlyOpened (event : AccessibilityEvent ): Boolean {
193194 return (event.packageName == getSystemDefaultLauncherPackageName() &&
194195 event.contentChangeTypes == AccessibilityEvent .CONTENT_CHANGE_TYPE_PANE_APPEARED ) ||
@@ -201,6 +202,7 @@ class AppLockAccessibilityService : AccessibilityService() {
201202 event.text.toString().lowercase().contains(" home screen" )
202203 }
203204
205+ @SuppressLint(" InlinedApi" )
204206 private fun isHomeScreenTransition (event : AccessibilityEvent ): Boolean {
205207 return event.contentChangeTypes == AccessibilityEvent .CONTENT_CHANGE_TYPE_PANE_DISAPPEARED &&
206208 event.packageName == getSystemDefaultLauncherPackageName()
@@ -246,13 +248,7 @@ class AppLockAccessibilityService : AccessibilityService() {
246248 return true
247249 }
248250
249- private fun processPackageLocking (packageName : String , event : AccessibilityEvent ) {
250- // Check for grace period first
251- if (AppLockManager .checkAndRestoreRecentlyLeftApp(packageName)) {
252- // If restored, we don't need to do anything else, it's efficiently unlocked
253- // But we continue to letting the logic flow, checkAndLockApp will handle "temporarilyUnlocked" check
254- }
255-
251+ private fun processPackageLocking (packageName : String ) {
256252 val currentForegroundPackage = packageName
257253 val triggeringPackage = lastForegroundPackage
258254 lastForegroundPackage = currentForegroundPackage
@@ -412,6 +408,7 @@ class AppLockAccessibilityService : AccessibilityService() {
412408 return isAccessibilitySettings || isSubSettings || isAlertDialog
413409 }
414410
411+ @SuppressLint(" InlinedApi" )
415412 private fun blockDeactivationAttempt () {
416413 try {
417414 performGlobalAction(GLOBAL_ACTION_BACK )
@@ -423,13 +420,16 @@ class AppLockAccessibilityService : AccessibilityService() {
423420 }
424421
425422 private fun isDeviceAdminPage (event : AccessibilityEvent ): Boolean {
426- val hasDeviceAdminDescription = event.contentDescription?.contains(" Device admin app" ) == true &&
423+ val hasDeviceAdminDescription = event.contentDescription?.toString()?.lowercase()
424+ ?.contains(" Device admin app" ) == true &&
427425 event.className == " android.widget.FrameLayout"
428- val isAdminConfigClass = event.className in ADMIN_CONFIG_CLASSES
426+ val isAdminConfigClass =
427+ event.className!! .endsWith(" DeviceAdminAdd" ) || event.className in ADMIN_CONFIG_CLASSES
429428
430429 return hasDeviceAdminDescription || isAdminConfigClass
431430 }
432431
432+ @SuppressLint(" InlinedApi" )
433433 private fun blockDeviceAdminDeactivation () {
434434 try {
435435 val dpm: DevicePolicyManager ? = getSystemService()
@@ -572,7 +572,7 @@ class AppLockAccessibilityService : AccessibilityService() {
572572
573573 try {
574574 unregisterReceiver(screenStateReceiver)
575- } catch (e : IllegalArgumentException ) {
575+ } catch (_ : IllegalArgumentException ) {
576576 // Ignore if not registered
577577 Log .w(TAG , " Receiver not registered or already unregistered" )
578578 }
0 commit comments