Call noteAppRestrictionChanged when toggling restrictions/exemptions

This is to log the reasons for restriction level change and force stop

Bug: 333882527
Test: statsd_testdrive 863
      Toggle battery restrictions manually for an app and verify logging
      of reason
      atest BatteryOptimizeUtilsTest
Change-Id: Ifcc99efc1b6acc5a992f7d952967210b07319f2e
This commit is contained in:
Amith Yamasani
2024-04-10 10:30:57 -07:00
parent d1894bd823
commit 7676217e4d
6 changed files with 30 additions and 8 deletions

View File

@@ -16,6 +16,7 @@
package com.android.settings.spa.app.appinfo
import android.app.ActivityManager
import android.app.settings.SettingsEnums
import android.content.Context
import android.content.Intent
@@ -154,6 +155,13 @@ class PackageInfoPresenter(
logAction(SettingsEnums.ACTION_APP_FORCE_STOP)
coroutineScope.launch(Dispatchers.Default) {
Log.d(TAG, "Stopping package $packageName")
if (android.app.Flags.appRestrictionsApi()) {
val uid = userPackageManager.getPackageUid(packageName, 0)
context.activityManager.noteAppRestrictionEnabled(
packageName, uid,
ActivityManager.RESTRICTION_LEVEL_FORCE_STOPPED, true,
ActivityManager.RESTRICTION_REASON_USER, "settings", 0)
}
context.activityManager.forceStopPackageAsUser(packageName, userId)
}
}