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

Commit 5fc83081 authored by Ankita Vyas's avatar Ankita Vyas Committed by Android (Google) Code Review
Browse files

Merge "AppClone: Few fixes in Cloned Apps page."

parents b740a18b 48279a0d
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -75,12 +75,13 @@ public class CloneBackend {
     * dialog to the user and handles actual uninstall.
     */
    void uninstallClonedApp(String packageName, boolean allUsers, FragmentActivity activity) {
        // Create new intent to launch Uninstaller activity
        // Create new intent to launch Uninstaller activity.
        Uri packageUri = Uri.parse("package:" + packageName);
        Intent uninstallIntent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, packageUri);
        uninstallIntent.putExtra(Intent.EXTRA_UNINSTALL_ALL_USERS, allUsers);
        uninstallIntent.putExtra(Intent.EXTRA_USER, UserHandle.of(mCloneUserId));
        activity.startActivityForResult(uninstallIntent, 0);
        // Trigger uninstall as clone user.
        activity.startActivityAsUser(uninstallIntent, UserHandle.of(mCloneUserId));
    }

    /**
+2 −2
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.settings.spa.app.appinfo

import android.app.Activity
import android.app.settings.SettingsEnums
import android.content.pm.ApplicationInfo
import androidx.compose.material.icons.Icons
@@ -60,7 +59,8 @@ class AppCreateButton(packageInfoPresenter: PackageInfoPresenter) {
                enabledState.value = false
                val result = installCloneApp(app, cloneBackend)
                if (result == CloneBackend.SUCCESS) {
                    navController.navigate(getRoute(app.packageName, cloneBackend.cloneUserId))
                    navController.navigate(getRoute(app.packageName, cloneBackend.cloneUserId),
                            /* popUpCurrent*/ true)
                } else {
                    enabledState.value = true
                }
+6 −3
Original line number Diff line number Diff line
@@ -16,19 +16,20 @@

package com.android.settings.spa.app.appinfo

import android.app.settings.SettingsEnums
import android.content.pm.ApplicationInfo
import android.os.Bundle
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.navigation.NavType
import androidx.navigation.navArgument
import com.android.settings.R
import com.android.settingslib.spa.framework.common.SettingsPageProvider
import com.android.settingslib.spa.framework.compose.LifecycleEffect
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
import com.android.settingslib.spaprivileged.model.app.toRoute
import com.android.settingslib.spaprivileged.template.app.AppInfoProvider
@@ -68,9 +69,11 @@ object CloneAppInfoSettingsProvider : SettingsPageProvider {
    fun getRoute(packageName: String, userId: Int): String = "$name/$packageName/$userId"
}

@OptIn(ExperimentalLifecycleComposeApi::class)
@Composable
private fun CloneAppInfoSettings(packageInfoPresenter: PackageInfoPresenter) {
    val packageInfo = packageInfoPresenter.flow.collectAsState().value ?: return
    LifecycleEffect(onStart = { packageInfoPresenter.reloadPackageInfo() })
    val packageInfo = packageInfoPresenter.flow.collectAsStateWithLifecycle().value ?: return
    RegularScaffold(
            title = stringResource(R.string.application_info_label),
    ) {