Fix App battery usage crash
userContext.getApplicationContext() returns null, which cause crash. Use context instead to fix. userContext was used to support multiple profiles, since the app's user id is also passed to getAppBatteryUsageData(), userContext is not need. Fix: 269545838 Fix: 275957358 Test: Manually check the battery usage is still correct if an app is installed on two profiles Change-Id: I41a80e4c6edc338affb6eec0cf12da3c438cd7fd
This commit is contained in:
@@ -40,7 +40,6 @@ import com.android.settings.fuelgauge.batteryusage.BatteryChartPreferenceControl
|
||||
import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry
|
||||
import com.android.settingslib.spa.widget.preference.Preference
|
||||
import com.android.settingslib.spa.widget.preference.PreferenceModel
|
||||
import com.android.settingslib.spaprivileged.framework.common.asUser
|
||||
import com.android.settingslib.spaprivileged.model.app.installed
|
||||
import com.android.settingslib.spaprivileged.model.app.userHandle
|
||||
import com.android.settingslib.spaprivileged.model.app.userId
|
||||
@@ -65,7 +64,6 @@ fun AppBatteryPreference(app: ApplicationInfo) {
|
||||
}
|
||||
|
||||
private class AppBatteryPresenter(private val context: Context, private val app: ApplicationInfo) {
|
||||
private val userContext = context.asUser(app.userHandle)
|
||||
private var batteryDiffEntryState: LoadingState<BatteryDiffEntry?>
|
||||
by mutableStateOf(LoadingState.Loading)
|
||||
|
||||
@@ -87,7 +85,7 @@ private class AppBatteryPresenter(private val context: Context, private val app:
|
||||
|
||||
private suspend fun getBatteryDiffEntry(): BatteryDiffEntry? = withContext(Dispatchers.IO) {
|
||||
BatteryChartPreferenceController.getAppBatteryUsageData(
|
||||
userContext, app.packageName, app.userId
|
||||
context, app.packageName, app.userId
|
||||
).also {
|
||||
Log.d(TAG, "loadBatteryDiffEntries():\n$it")
|
||||
}
|
||||
|
Reference in New Issue
Block a user