Support App details for work profile apps

App info page stopped supporting the App details feature for work
profile apps in Android N but there is no exact reason from the history.
Try supporting it again to fulfill users' requests and check for
exceptions.

Bug: 264932611
Test: manual & robo and unit tests
Change-Id: I1227cff5e25313905952ba54ab0270cdf4f00fd4
This commit is contained in:
Yanting Yang
2023-08-01 20:49:24 +08:00
parent 0fe62fa541
commit 6b02225810
4 changed files with 2 additions and 45 deletions

View File

@@ -32,9 +32,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settingslib.spa.widget.preference.Preference
import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spaprivileged.framework.common.asUser
import com.android.settingslib.spaprivileged.framework.common.userManager
import com.android.settingslib.spaprivileged.model.app.userHandle
import com.android.settingslib.spaprivileged.model.app.userId
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
@@ -71,7 +69,6 @@ private class AppInstallerInfoPresenter(
) {
private val userContext = context.asUser(app.userHandle)
private val packageManager = userContext.packageManager
private val userManager = context.userManager
private val installerPackageFlow = flow {
emit(withContext(Dispatchers.IO) {
@@ -88,9 +85,8 @@ private class AppInstallerInfoPresenter(
val isAvailableFlow = installerLabelFlow.map { installerLabel ->
withContext(Dispatchers.IO) {
!userManager.isManagedProfile(app.userId) &&
!AppUtils.isMainlineModule(packageManager, app.packageName) &&
installerLabel != null
!AppUtils.isMainlineModule(packageManager, app.packageName) &&
installerLabel != null
}
}