Merge "Use correct App info screen's trash can icon" into udc-dev
This commit is contained in:
@@ -17,18 +17,17 @@
|
|||||||
package com.android.settings.spa.app.appinfo
|
package com.android.settings.spa.app.appinfo
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums
|
import android.app.settings.SettingsEnums
|
||||||
import android.content.Intent;
|
import android.content.Intent
|
||||||
import android.content.om.OverlayManager
|
import android.content.om.OverlayManager
|
||||||
import android.content.pm.ApplicationInfo
|
import android.content.pm.ApplicationInfo
|
||||||
import android.os.UserHandle
|
import android.os.UserHandle
|
||||||
import android.os.UserManager
|
import android.os.UserManager
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.material.icons.outlined.Delete
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
|
import androidx.compose.ui.res.vectorResource
|
||||||
import com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminAdd
|
|
||||||
import com.android.settings.R
|
import com.android.settings.R
|
||||||
import com.android.settings.spa.SpaActivity
|
|
||||||
import com.android.settings.Utils
|
import com.android.settings.Utils
|
||||||
|
import com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminAdd
|
||||||
import com.android.settingslib.spa.widget.button.ActionButton
|
import com.android.settingslib.spa.widget.button.ActionButton
|
||||||
import com.android.settingslib.spaprivileged.framework.common.devicePolicyManager
|
import com.android.settingslib.spaprivileged.framework.common.devicePolicyManager
|
||||||
import com.android.settingslib.spaprivileged.model.app.hasFlag
|
import com.android.settingslib.spaprivileged.model.app.hasFlag
|
||||||
@@ -41,6 +40,7 @@ class AppUninstallButton(private val packageInfoPresenter: PackageInfoPresenter)
|
|||||||
private val overlayManager = context.getSystemService(OverlayManager::class.java)!!
|
private val overlayManager = context.getSystemService(OverlayManager::class.java)!!
|
||||||
private val userManager = context.getSystemService(UserManager::class.java)!!
|
private val userManager = context.getSystemService(UserManager::class.java)!!
|
||||||
|
|
||||||
|
@Composable
|
||||||
fun getActionButton(app: ApplicationInfo): ActionButton? {
|
fun getActionButton(app: ApplicationInfo): ActionButton? {
|
||||||
if (app.isSystemApp || app.isInstantApp) return null
|
if (app.isSystemApp || app.isInstantApp) return null
|
||||||
return uninstallButton(app = app, enabled = isUninstallButtonEnabled(app))
|
return uninstallButton(app = app, enabled = isUninstallButtonEnabled(app))
|
||||||
@@ -89,10 +89,11 @@ class AppUninstallButton(private val packageInfoPresenter: PackageInfoPresenter)
|
|||||||
isResourceOverlay &&
|
isResourceOverlay &&
|
||||||
overlayManager.getOverlayInfo(packageName, userHandle)?.isEnabled == true
|
overlayManager.getOverlayInfo(packageName, userHandle)?.isEnabled == true
|
||||||
|
|
||||||
|
@Composable
|
||||||
private fun uninstallButton(app: ApplicationInfo, enabled: Boolean) = ActionButton(
|
private fun uninstallButton(app: ApplicationInfo, enabled: Boolean) = ActionButton(
|
||||||
text = if (isCloneApp(app)) context.getString(R.string.delete) else
|
text = if (isCloneApp(app)) context.getString(R.string.delete) else
|
||||||
context.getString(R.string.uninstall_text),
|
context.getString(R.string.uninstall_text),
|
||||||
imageVector = Icons.Outlined.Delete,
|
imageVector = ImageVector.vectorResource(R.drawable.ic_settings_delete),
|
||||||
enabled = enabled,
|
enabled = enabled,
|
||||||
) { onUninstallClicked(app) }
|
) { onUninstallClicked(app) }
|
||||||
|
|
||||||
@@ -100,7 +101,7 @@ class AppUninstallButton(private val packageInfoPresenter: PackageInfoPresenter)
|
|||||||
if (appButtonRepository.isUninstallBlockedByAdmin(app)) {
|
if (appButtonRepository.isUninstallBlockedByAdmin(app)) {
|
||||||
return
|
return
|
||||||
} else if (app.isActiveAdmin(context)) {
|
} else if (app.isActiveAdmin(context)) {
|
||||||
var uninstallDaIntent = Intent(context, DeviceAdminAdd::class.java)
|
val uninstallDaIntent = Intent(context, DeviceAdminAdd::class.java)
|
||||||
uninstallDaIntent.putExtra(DeviceAdminAdd.EXTRA_DEVICE_ADMIN_PACKAGE_NAME,
|
uninstallDaIntent.putExtra(DeviceAdminAdd.EXTRA_DEVICE_ADMIN_PACKAGE_NAME,
|
||||||
app.packageName)
|
app.packageName)
|
||||||
packageInfoPresenter.logAction(
|
packageInfoPresenter.logAction(
|
||||||
|
Reference in New Issue
Block a user