Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9fa903d7 authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "Fix app launch button not shown"

parents a758e74d 99fd7e49
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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)
+4 −4
Original line number Diff line number Diff line
@@ -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)
        }

+3 −3
Original line number Diff line number Diff line
@@ -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()