Merge "Fix app launch button not shown"

This commit is contained in:
Chaohui Wang
2022-09-29 01:40:56 +00:00
committed by Android (Google) Code Review
3 changed files with 8 additions and 8 deletions

View File

@@ -32,7 +32,7 @@ fun AppButtons(packageInfoPresenter: PackageInfoPresenter) {
}
private class AppButtonsHolder(private val packageInfoPresenter: PackageInfoPresenter) {
private val appLaunchButton = AppLaunchButton(context = packageInfoPresenter.context)
private val appLaunchButton = AppLaunchButton(packageInfoPresenter)
private val appDisableButton = AppDisableButton(packageInfoPresenter)
private val appUninstallButton = AppUninstallButton(packageInfoPresenter)
private val appForceStopButton = AppForceStopButton(packageInfoPresenter)

View File

@@ -16,7 +16,6 @@
package com.android.settings.spa.app.appsettings
import android.content.Context
import android.content.Intent
import android.content.pm.ApplicationInfo
import android.content.pm.PackageInfo
@@ -26,11 +25,12 @@ import com.android.settings.R
import com.android.settingslib.spa.widget.button.ActionButton
import com.android.settingslib.spaprivileged.model.app.userHandle
class AppLaunchButton(private val context: Context) {
private val packageManager = context.packageManager
class AppLaunchButton(packageInfoPresenter: PackageInfoPresenter) {
private val context = packageInfoPresenter.context
private val packageManagerAsUser = packageInfoPresenter.packageManagerAsUser
fun getActionButton(packageInfo: PackageInfo): ActionButton? =
packageManager.getLaunchIntentForPackage(packageInfo.packageName)?.let { intent ->
packageManagerAsUser.getLaunchIntentForPackage(packageInfo.packageName)?.let { intent ->
launchButton(intent, packageInfo.applicationInfo)
}

View File

@@ -48,7 +48,7 @@ class PackageInfoPresenter(
private val coroutineScope: CoroutineScope,
) {
private val metricsFeatureProvider = FeatureFactory.getFactory(context).metricsFeatureProvider
private val packageManager by lazy {
val packageManagerAsUser: PackageManager by lazy {
context.createContextAsUser(UserHandle.of(userId), 0).packageManager
}
private val _flow: MutableStateFlow<PackageInfo?> = MutableStateFlow(null)
@@ -85,7 +85,7 @@ class PackageInfoPresenter(
fun enable() {
logAction(SettingsEnums.ACTION_SETTINGS_ENABLE_APP)
coroutineScope.launch(Dispatchers.IO) {
packageManager.setApplicationEnabledSetting(
packageManagerAsUser.setApplicationEnabledSetting(
packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0
)
notifyChange()
@@ -96,7 +96,7 @@ class PackageInfoPresenter(
fun disable() {
logAction(SettingsEnums.ACTION_SETTINGS_DISABLE_APP)
coroutineScope.launch(Dispatchers.IO) {
packageManager.setApplicationEnabledSetting(
packageManagerAsUser.setApplicationEnabledSetting(
packageName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, 0
)
notifyChange()