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

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

Merge "Display App installed in other user in All Apps" into udc-dev

parents ecfd9d1c c688f93e
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -986,17 +986,6 @@ public final class Utils extends com.android.settingslib.Utils {
        return false;
    }

    /**
     * Return the resource id to represent the install status for an app
     */
    @StringRes
    public static int getInstallationStatus(ApplicationInfo info) {
        if ((info.flags & ApplicationInfo.FLAG_INSTALLED) == 0) {
            return R.string.not_installed;
        }
        return info.enabled ? R.string.installed : R.string.disabled;
    }

    private static boolean isVolumeValid(VolumeInfo volume) {
        return (volume != null) && (volume.getType() == VolumeInfo.TYPE_PRIVATE)
                && volume.isMountedReadable();
+9 −2
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.ui.SpinnerOption
import com.android.settingslib.spaprivileged.model.app.AppListModel
import com.android.settingslib.spaprivileged.model.app.AppRecord
import com.android.settingslib.spaprivileged.model.app.installed
import com.android.settingslib.spaprivileged.template.app.AppList
import com.android.settingslib.spaprivileged.template.app.AppListInput
import com.android.settingslib.spaprivileged.template.app.AppListItem
@@ -75,6 +76,7 @@ fun AllAppListPage(
        title = stringResource(R.string.all_apps),
        listModel = rememberContext(::AllAppListModel),
        showInstantApps = true,
        matchAnyUserForAdmin = true,
        moreOptions = { ResetAppPreferences(resetAppDialogPresenter::open) },
        appList = appList,
    )
@@ -133,8 +135,13 @@ class AllAppListModel(
        return remember {
            derivedStateOf {
                storageSummary.value +
                    when (isDisabled(record)) {
                        true -> System.lineSeparator() + context.getString(R.string.disabled)
                    when {
                        !record.app.installed -> {
                            System.lineSeparator() + context.getString(R.string.not_installed)
                        }
                        isDisabled(record) -> {
                            System.lineSeparator() + context.getString(R.string.disabled)
                        }
                        else -> ""
                    }
            }
+3 −0
Original line number Diff line number Diff line
@@ -30,8 +30,10 @@ import com.android.settings.notification.app.AppNotificationSettings
import com.android.settings.spa.notification.AppNotificationRepository
import com.android.settings.spa.notification.IAppNotificationRepository
import com.android.settingslib.spa.framework.compose.rememberContext
import com.android.settingslib.spa.framework.compose.stateOf
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spaprivileged.model.app.installed
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOn
@@ -53,6 +55,7 @@ fun AppNotificationPreference(
        override val summary = summaryFlow.collectAsStateWithLifecycle(
            initialValue = stringResource(R.string.summary_placeholder)
        )
        override val enabled = stateOf(app.installed)
        override val onClick = { navigateToAppNotificationSettings(context, app) }
    })
}
+3 −1
Original line number Diff line number Diff line
@@ -141,7 +141,9 @@ class PackageInfoPresenter(
    private fun getPackageInfo() =
        packageManagers.getPackageInfoAsUser(
            packageName = packageName,
            flags = PackageManager.MATCH_DISABLED_COMPONENTS or PackageManager.GET_PERMISSIONS,
            flags = PackageManager.MATCH_ANY_USER or
                PackageManager.MATCH_DISABLED_COMPONENTS or
                PackageManager.GET_PERMISSIONS,
            userId = userId,
        )
}
+5 −3
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import androidx.compose.runtime.livedata.observeAsState
import com.android.settings.R
import com.android.settingslib.spaprivileged.model.app.AppOpsController
import com.android.settingslib.spaprivileged.model.app.AppRecord
import com.android.settingslib.spaprivileged.model.app.installed
import com.android.settingslib.spaprivileged.model.app.userId
import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListModel
import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
@@ -67,11 +68,12 @@ class PictureInPictureListModel(private val context: Context) :
        }

    override fun transformItem(app: ApplicationInfo): PictureInPictureRecord {
        val packageInfo =
            packageManager.getPackageInfoAsUser(app.packageName, GET_ACTIVITIES_FLAGS, app.userId)
        return createPictureInPictureRecord(
            app = app,
            isSupport = packageInfo.supportsPictureInPicture(),
            isSupport = app.installed &&
                packageManager
                    .getPackageInfoAsUser(app.packageName, GET_ACTIVITIES_FLAGS, app.userId)
                    .supportsPictureInPicture(),
        )
    }

Loading