Snap for 11253496 from fc5e7f57a0 to 24Q2-release

Change-Id: I8b08a3e4af9e3b52d45fdcabd152a1e197b8921a
This commit is contained in:
Android Build Coastguard Worker
2023-12-26 00:20:51 +00:00
4 changed files with 24 additions and 34 deletions

View File

@@ -288,6 +288,7 @@ public class AppLaunchSettings extends AppInfoBase implements
.create();
if (dialog.getListView() != null) {
dialog.getListView().setTextDirection(View.TEXT_DIRECTION_LOCALE);
dialog.getListView().setEnabled(false);
} else {
Log.w(TAG, "createVerifiedLinksDialog: dialog.getListView() is null, please check it.");
}

View File

@@ -21,7 +21,6 @@ import android.content.Intent
import android.provider.Settings
import android.telephony.ServiceState
import android.telephony.TelephonyManager
import androidx.annotation.VisibleForTesting
import androidx.lifecycle.LifecycleOwner
import androidx.preference.Preference
import androidx.preference.PreferenceScreen
@@ -39,13 +38,16 @@ import kotlinx.coroutines.withContext
/**
* Preference controller for "Open network select"
*/
class OpenNetworkSelectPagePreferenceController(context: Context, key: String) :
TelephonyBasePreferenceController(context, key),
class OpenNetworkSelectPagePreferenceController @JvmOverloads constructor(
context: Context,
key: String,
private val allowedNetworkTypesFlowFactory: (subId: Int) -> Flow<Long> =
context::allowedNetworkTypesFlow,
private val serviceStateFlowFactory: (subId: Int) -> Flow<ServiceState> =
context::serviceStateFlow,
) : TelephonyBasePreferenceController(context, key),
AutoSelectPreferenceController.OnNetworkSelectModeListener {
private lateinit var allowedNetworkTypesFlow: Flow<Long>
private lateinit var serviceStateFlow: Flow<ServiceState>
private var preference: Preference? = null
/**
@@ -53,22 +55,9 @@ class OpenNetworkSelectPagePreferenceController(context: Context, key: String) :
*/
fun init(subId: Int): OpenNetworkSelectPagePreferenceController {
mSubId = subId
allowedNetworkTypesFlow = mContext.allowedNetworkTypesFlow(subId)
serviceStateFlow = mContext.serviceStateFlow(subId)
return this
}
@VisibleForTesting
fun init(
subId: Int,
allowedNetworkTypesFlow: Flow<Long>,
serviceStateFlow: Flow<ServiceState>,
) {
mSubId = subId
this.allowedNetworkTypesFlow = allowedNetworkTypesFlow
this.serviceStateFlow = serviceStateFlow
}
override fun getAvailabilityStatus(subId: Int) =
if (MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, subId)) AVAILABLE
else CONDITIONALLY_UNAVAILABLE
@@ -83,13 +72,13 @@ class OpenNetworkSelectPagePreferenceController(context: Context, key: String) :
}
override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
allowedNetworkTypesFlow.collectLatestWithLifecycle(viewLifecycleOwner) {
allowedNetworkTypesFlowFactory(mSubId).collectLatestWithLifecycle(viewLifecycleOwner) {
preference?.isVisible = withContext(Dispatchers.Default) {
MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, mSubId)
}
}
serviceStateFlow
serviceStateFlowFactory(mSubId)
.collectLatestWithLifecycle(viewLifecycleOwner) { serviceState ->
preference?.summary = if (serviceState.state == ServiceState.STATE_IN_SERVICE) {
withContext(Dispatchers.Default) {

View File

@@ -59,6 +59,7 @@ import java.util.Locale;
public final class BatteryDiffEntryTest {
private static final int UID = 100;
private static final int USER_ID = 0;
private static final int UNINSTALLED_UID = 101;
private static final String PACKAGE_NAME = "com.android.testing";
private static final String UNINSTALLED_PACKAGE_NAME = "com.android.testing.uninstalled";
@@ -87,13 +88,14 @@ public final class BatteryDiffEntryTest {
doReturn(mMockPackageManager).when(mContext).getPackageManager();
doReturn(UID)
.when(mMockPackageManager)
.getPackageUid(PACKAGE_NAME, PackageManager.GET_META_DATA);
.getPackageUidAsUser(PACKAGE_NAME, PackageManager.GET_META_DATA, USER_ID);
doReturn(BatteryUtils.UID_NULL)
.when(mMockPackageManager)
.getPackageUid(UNINSTALLED_PACKAGE_NAME, PackageManager.GET_META_DATA);
.getPackageUidAsUser(
UNINSTALLED_PACKAGE_NAME, PackageManager.GET_META_DATA, USER_ID);
doReturn(BatteryUtils.UID_ZERO)
.when(mMockPackageManager)
.getPackageUid(UID_ZERO_PACKAGE_NAME, PackageManager.GET_META_DATA);
.getPackageUidAsUser(UID_ZERO_PACKAGE_NAME, PackageManager.GET_META_DATA, USER_ID);
BatteryDiffEntry.clearCache();
}

View File

@@ -59,21 +59,19 @@ class OpenNetworkSelectPagePreferenceControllerTest {
private val preference = Preference(context).apply { key = TEST_KEY }
private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
private val controller = OpenNetworkSelectPagePreferenceController(context, TEST_KEY)
private val serviceState = ServiceState()
private val controller = OpenNetworkSelectPagePreferenceController(
context = context,
key = TEST_KEY,
allowedNetworkTypesFlowFactory = { emptyFlow() },
serviceStateFlowFactory = { flowOf(serviceState) },
).init(subId = SUB_ID)
@Before
fun setUp() {
preferenceScreen.addPreference(preference)
controller.apply {
init(
subId = SUB_ID,
allowedNetworkTypesFlow = emptyFlow(),
serviceStateFlow = flowOf(serviceState),
)
displayPreference(preferenceScreen)
}
controller.displayPreference(preferenceScreen)
}
@Test