Snap for 11253496 from fc5e7f57a0 to 24Q2-release
Change-Id: I8b08a3e4af9e3b52d45fdcabd152a1e197b8921a
This commit is contained in:
@@ -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.");
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user