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)
|
new SubSettingLauncher(context)
|
||||||
.setDestination(destination.getName())
|
.setDestination(destination.getName())
|
||||||
.setArguments(args)
|
.setArguments(args)
|
||||||
|
.setUserHandle(UserHandle.getUserHandleForUid(app.uid))
|
||||||
.setSourceMetricsCategory(sourceMetricsCategory)
|
.setSourceMetricsCategory(sourceMetricsCategory)
|
||||||
.launch();
|
.launch();
|
||||||
}
|
}
|
||||||
|
@@ -40,7 +40,9 @@ import com.android.settings.fuelgauge.batteryusage.BatteryChartPreferenceControl
|
|||||||
import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry
|
import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry
|
||||||
import com.android.settingslib.spa.widget.preference.Preference
|
import com.android.settingslib.spa.widget.preference.Preference
|
||||||
import com.android.settingslib.spa.widget.preference.PreferenceModel
|
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.installed
|
||||||
|
import com.android.settingslib.spaprivileged.model.app.userHandle
|
||||||
import com.android.settingslib.spaprivileged.model.app.userId
|
import com.android.settingslib.spaprivileged.model.app.userId
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@@ -63,6 +65,7 @@ fun AppBatteryPreference(app: ApplicationInfo) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class AppBatteryPresenter(private val context: Context, private val 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?>
|
private var batteryDiffEntryState: LoadingState<BatteryDiffEntry?>
|
||||||
by mutableStateOf(LoadingState.Loading)
|
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) {
|
private suspend fun getBatteryDiffEntry(): BatteryDiffEntry? = withContext(Dispatchers.IO) {
|
||||||
BatteryChartPreferenceController.getAppBatteryUsageData(
|
BatteryChartPreferenceController.getAppBatteryUsageData(
|
||||||
context, app.packageName, app.userId
|
userContext, app.packageName, app.userId
|
||||||
).also {
|
).also {
|
||||||
Log.d(TAG, "loadBatteryDiffEntries():\n$it")
|
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)
|
.setDestination(AdvancedPowerUsageDetail::class.java.name)
|
||||||
.setTitleRes(R.string.battery_details_title)
|
.setTitleRes(R.string.battery_details_title)
|
||||||
.setArguments(args)
|
.setArguments(args)
|
||||||
|
.setUserHandle(app.userHandle)
|
||||||
.setSourceMetricsCategory(AppInfoSettingsProvider.METRICS_CATEGORY)
|
.setSourceMetricsCategory(AppInfoSettingsProvider.METRICS_CATEGORY)
|
||||||
.launch()
|
.launch()
|
||||||
}
|
}
|
||||||
|
@@ -36,6 +36,9 @@ import com.android.settings.R
|
|||||||
import com.android.settings.fuelgauge.AdvancedPowerUsageDetail
|
import com.android.settings.fuelgauge.AdvancedPowerUsageDetail
|
||||||
import com.android.settings.fuelgauge.batteryusage.BatteryChartPreferenceController
|
import com.android.settings.fuelgauge.batteryusage.BatteryChartPreferenceController
|
||||||
import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry
|
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 com.android.settingslib.spaprivileged.model.app.userId
|
||||||
import org.junit.After
|
import org.junit.After
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
@@ -69,6 +72,7 @@ class AppBatteryPreferenceTest {
|
|||||||
.mockStatic(AdvancedPowerUsageDetail::class.java)
|
.mockStatic(AdvancedPowerUsageDetail::class.java)
|
||||||
.strictness(Strictness.LENIENT)
|
.strictness(Strictness.LENIENT)
|
||||||
.startMocking()
|
.startMocking()
|
||||||
|
context.mockAsUser()
|
||||||
whenever(context.resources).thenReturn(resources)
|
whenever(context.resources).thenReturn(resources)
|
||||||
whenever(resources.getBoolean(R.bool.config_show_app_info_settings_battery))
|
whenever(resources.getBoolean(R.bool.config_show_app_info_settings_battery))
|
||||||
.thenReturn(true)
|
.thenReturn(true)
|
||||||
|
Reference in New Issue
Block a user