Merge "Launch the correct profile for the App Info items"

This commit is contained in:
TreeHugger Robot
2023-01-30 07:43:32 +00:00
committed by Android (Google) Code Review
3 changed files with 10 additions and 1 deletions

View File

@@ -650,6 +650,7 @@ public class AppInfoDashboardFragment extends DashboardFragment
new SubSettingLauncher(context)
.setDestination(destination.getName())
.setArguments(args)
.setUserHandle(UserHandle.getUserHandleForUid(app.uid))
.setSourceMetricsCategory(sourceMetricsCategory)
.launch();
}

View File

@@ -40,7 +40,9 @@ 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
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -63,6 +65,7 @@ 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)
@@ -84,7 +87,7 @@ private class AppBatteryPresenter(private val context: Context, private val app:
private suspend fun getBatteryDiffEntry(): BatteryDiffEntry? = withContext(Dispatchers.IO) {
BatteryChartPreferenceController.getAppBatteryUsageData(
context, app.packageName, app.userId
userContext, app.packageName, app.userId
).also {
Log.d(TAG, "loadBatteryDiffEntries():\n$it")
}
@@ -141,6 +144,7 @@ private class AppBatteryPresenter(private val context: Context, private val app:
.setDestination(AdvancedPowerUsageDetail::class.java.name)
.setTitleRes(R.string.battery_details_title)
.setArguments(args)
.setUserHandle(app.userHandle)
.setSourceMetricsCategory(AppInfoSettingsProvider.METRICS_CATEGORY)
.launch()
}

View File

@@ -36,6 +36,9 @@ import com.android.settings.R
import com.android.settings.fuelgauge.AdvancedPowerUsageDetail
import com.android.settings.fuelgauge.batteryusage.BatteryChartPreferenceController
import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry
import com.android.settings.testutils.mockAsUser
import com.android.settingslib.spaprivileged.framework.common.asUser
import com.android.settingslib.spaprivileged.model.app.userHandle
import com.android.settingslib.spaprivileged.model.app.userId
import org.junit.After
import org.junit.Before
@@ -69,6 +72,7 @@ class AppBatteryPreferenceTest {
.mockStatic(AdvancedPowerUsageDetail::class.java)
.strictness(Strictness.LENIENT)
.startMocking()
context.mockAsUser()
whenever(context.resources).thenReturn(resources)
whenever(resources.getBoolean(R.bool.config_show_app_info_settings_battery))
.thenReturn(true)