Merge "Launch the correct profile for the App Info items"
This commit is contained in:
committed by
Android (Google) Code Review
commit
2359087160
@@ -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();
|
||||
}
|
||||
|
@@ -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()
|
||||
}
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user