Merge "Settings: Use public API for mac randomization support"
diff --git a/res/drawable-nodpi/accessibility_timeout b/res/drawable-nodpi/accessibility_timeout
deleted file mode 100644
index e69de29..0000000
--- a/res/drawable-nodpi/accessibility_timeout
+++ /dev/null
diff --git a/res/drawable-nodpi/accessibility_timeout.png b/res/drawable-nodpi/accessibility_timeout.png
new file mode 100644
index 0000000..887f117
--- /dev/null
+++ b/res/drawable-nodpi/accessibility_timeout.png
Binary files differ
diff --git a/res/layout/mobile_network_settings_container.xml b/res/layout/mobile_network_settings_container.xml
deleted file mode 100644
index c88b512..0000000
--- a/res/layout/mobile_network_settings_container.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2018 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
-
- <Toolbar
- android:id="@+id/mobile_action_bar"
- style="?android:attr/actionBarStyle"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:navigationContentDescription="@*android:string/action_bar_up_description"
- android:theme="?android:attr/actionBarTheme"/>
-
- <FrameLayout
- android:id="@+id/main_content"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"/>
-
- <com.google.android.material.bottomnavigation.BottomNavigationView
- android:id="@+id/bottom_nav"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_marginEnd="0dp"
- android:layout_marginStart="0dp"
- android:background="?android:attr/windowBackground"
- app:itemIconTint="@color/bottom_navigation_colors"
- app:itemTextColor="@color/bottom_navigation_colors"
- app:menu="@menu/home_bottom_navigation"/>
-</LinearLayout>
diff --git a/res/layout/settings_base_layout.xml b/res/layout/settings_base_layout.xml
index f94d25d..0a4437e 100644
--- a/res/layout/settings_base_layout.xml
+++ b/res/layout/settings_base_layout.xml
@@ -27,7 +27,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="?android:attr/actionBarTheme"
- android:navigationContentDescription="@*android:string/action_bar_up_description" />
+ android:navigationContentDescription="@*android:string/back_button_label" />
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
diff --git a/res/raw/accessibility_timeout.mp4 b/res/raw/accessibility_timeout.mp4
index e69de29..2214e2b 100644
--- a/res/raw/accessibility_timeout.mp4
+++ b/res/raw/accessibility_timeout.mp4
Binary files differ
diff --git a/res/xml/mobile_network_settings.xml b/res/xml/mobile_network_settings.xml
deleted file mode 100644
index ea31b1c..0000000
--- a/res/xml/mobile_network_settings.xml
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<PreferenceScreen
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:settings="http://schemas.android.com/apk/res-auto"
- android:key="mobile_network_pref_screen"
- settings:initialExpandedChildrenCount="4">
-
- <Preference
- android:key="cdma_lte_data_service_key"
- android:title="@string/cdma_lte_data_service"
- settings:controller="com.android.settings.network.telephony.DataServiceSetupPreferenceController">
- </Preference>
-
- <SwitchPreference
- android:key="mobile_data_enable"
- android:title="@string/mobile_data_settings_title"
- android:summary="@string/mobile_data_settings_summary"
- settings:controller="com.android.settings.network.telephony.MobileDataPreferenceController"/>
-
- <com.android.settingslib.RestrictedSwitchPreference
- android:key="button_roaming_key"
- android:title="@string/roaming"
- android:persistent="false"
- android:summaryOn="@string/roaming_enable"
- android:summaryOff="@string/roaming_disable"
- settings:userRestriction="no_data_roaming"
- settings:controller="com.android.settings.network.telephony.RoamingPreferenceController"/>
-
- <Preference
- android:key="data_usage_summary"
- android:title="@string/mobile_data_usage_title"
- settings:controller="com.android.settings.network.telephony.DataUsagePreferenceController"/>
-
- <SwitchPreference
- android:key="enhanced_4g_lte"
- android:title="@string/enhanced_4g_lte_mode_title"
- android:persistent="false"
- android:summary="@string/enhanced_4g_lte_mode_summary"
- settings:keywords="@string/keywords_enhance_4g_lte"
- settings:controller="com.android.settings.network.telephony.Enhanced4gLtePreferenceController"/>
-
- <SwitchPreference
- android:key="4g_calling"
- android:title="@string/enhanced_4g_lte_mode_title_4g_calling"
- android:persistent="false"
- android:summary="@string/enhanced_4g_lte_mode_summary_4g_calling"
- settings:keywords="@string/keywords_enhance_4g_lte"
- settings:controller="com.android.settings.network.telephony.Enhanced4gCallingPreferenceController"/>
-
- <SwitchPreference
- android:key="advance_call"
- android:title="@string/enhanced_4g_lte_mode_title_advanced_calling"
- android:persistent="false"
- android:summary="@string/enhanced_4g_lte_mode_summary"
- settings:keywords="@string/keywords_enhance_4g_lte"
- settings:controller="com.android.settings.network.telephony.Enhanced4gAdvancedCallingPreferenceController"/>
-
- <ListPreference
- android:key="preferred_network_mode_key"
- android:title="@string/preferred_network_mode_title"
- android:summary="@string/preferred_network_mode_summary"
- android:entries="@array/preferred_network_mode_choices"
- android:entryValues="@array/preferred_network_mode_values"
- android:dialogTitle="@string/preferred_network_mode_dialogtitle"
- settings:controller="com.android.settings.network.telephony.PreferredNetworkModePreferenceController"/>
-
- <ListPreference
- android:key="enabled_networks_key"
- android:title="@string/preferred_network_mode_title"
- android:summary="@string/preferred_network_mode_summary"
- android:entries="@array/enabled_networks_choices"
- android:entryValues="@array/enabled_networks_values"
- android:dialogTitle="@string/preferred_network_mode_dialogtitle"
- settings:controller="com.android.settings.network.telephony.EnabledNetworkModePreferenceController"/>
-
- <Preference
- android:key="carrier_settings_euicc_key"
- android:title="@string/carrier_settings_euicc"
- settings:controller="com.android.settings.network.telephony.EuiccPreferenceController" />
-
- <PreferenceCategory
- android:key="calling_category"
- android:title="@string/call_category"
- settings:searchable="false">
-
- <PreferenceScreen
- android:key="wifi_calling"
- android:title="@string/wifi_calling_settings_title"
- android:summary="@string/wifi_calling_summary"
- settings:controller="com.android.settings.network.telephony.WifiCallingPreferenceController" >
- <intent android:action="android.intent.action.MAIN"
- android:targetPackage="com.android.settings"
- android:targetClass="com.android.settings.Settings$WifiCallingSettingsActivity">
- <extra android:name="show_drawer_menu" android:value="true" />
- </intent>
- </PreferenceScreen>
-
- <SwitchPreference
- android:key="video_calling_key"
- android:title="@string/video_calling_settings_title"
- android:persistent="true"
- settings:controller="com.android.settings.network.telephony.VideoCallingPreferenceController" />
-
- </PreferenceCategory>
-
- <com.android.settings.network.telephony.cdma.CdmaListPreference
- android:key="cdma_system_select_key"
- android:title="@string/cdma_system_select_title"
- android:summary="@string/cdma_system_select_summary"
- android:entries="@array/cdma_system_select_choices"
- android:entryValues="@array/cdma_system_select_values"
- android:dialogTitle="@string/cdma_system_select_dialogtitle"
- settings:controller="com.android.settings.network.telephony.cdma.CdmaSystemSelectPreferenceController"/>
-
- <com.android.settings.network.telephony.cdma.CdmaListPreference
- android:key="cdma_subscription_key"
- android:title="@string/cdma_subscription_title"
- android:summary="@string/cdma_subscription_summary"
- android:entries="@array/cdma_subscription_choices"
- android:entryValues="@array/cdma_subscription_values"
- android:dialogTitle="@string/cdma_subscription_dialogtitle"
- settings:controller="com.android.settings.network.telephony.cdma.CdmaSubscriptionPreferenceController"/>
-
- <PreferenceCategory
- android:key="network_operators_category_key"
- android:title="@string/network_operator_category"
- settings:controller="com.android.settings.widget.PreferenceCategoryController">
-
- <SwitchPreference
- android:key="auto_select_key"
- android:title="@string/select_automatically"
- settings:controller="com.android.settings.network.telephony.gsm.AutoSelectPreferenceController"/>
-
- <Preference
- android:key="choose_network_key"
- android:title="@string/choose_network_title"
- android:fragment="com.android.phone.NetworkSelectSetting"
- settings:controller="com.android.settings.network.telephony.gsm.OpenNetworkSelectPagePreferenceController"/>
- </PreferenceCategory>
-
- <!--We want separate APN setting from reset of settings because we want user to change it with caution-->
- <com.android.settingslib.RestrictedPreference
- android:key="telephony_apn_key"
- android:persistent="false"
- android:title="@string/mobile_network_apn_title"
- settings:allowDividerAbove="true"
- settings:controller="com.android.settings.network.telephony.ApnPreferenceController"/>
-
- <Preference
- android:key="carrier_settings_key"
- android:title="@string/carrier_settings_title"
- settings:controller="com.android.settings.network.telephony.CarrierPreferenceController">
- </Preference>
-
-</PreferenceScreen>
diff --git a/res/xml/network_and_internet.xml b/res/xml/network_and_internet.xml
deleted file mode 100644
index 609578f..0000000
--- a/res/xml/network_and_internet.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<PreferenceScreen
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:settings="http://schemas.android.com/apk/res-auto"
- android:key="network_and_internet_screen"
- android:title="@string/network_dashboard_title"
- settings:initialExpandedChildrenCount="5">
-
- <com.android.settings.widget.MasterSwitchPreference
- android:fragment="com.android.settings.wifi.WifiSettings"
- android:key="toggle_wifi"
- android:title="@string/wifi_settings"
- android:summary="@string/summary_placeholder"
- android:icon="@drawable/ic_settings_wireless"
- android:order="-30">
- <intent
- android:action="android.settings.WIFI_SETTINGS"
- android:targetClass="Settings$WifiSettingsActivity" />
- </com.android.settings.widget.MasterSwitchPreference>
-
- <com.android.settingslib.RestrictedPreference
- android:key="mobile_network_settings"
- android:title="@string/network_settings_title"
- android:summary="@string/summary_placeholder"
- android:icon="@drawable/ic_network_cell"
- android:order="-15"
- settings:keywords="@string/keywords_more_mobile_networks"
- settings:userRestriction="no_config_mobile_networks"
- settings:useAdminDisabledSummary="true">
- </com.android.settingslib.RestrictedPreference>
-
- <com.android.settingslib.RestrictedPreference
- android:fragment="com.android.settings.TetherSettings"
- android:key="tether_settings"
- android:title="@string/tether_settings_title_all"
- android:icon="@drawable/ic_wifi_tethering"
- android:order="-5"
- android:summary="@string/summary_placeholder"
- settings:keywords="@string/keywords_hotspot_tethering"
- settings:userRestriction="no_config_tethering"
- settings:useAdminDisabledSummary="true" />
-
- <com.android.settingslib.RestrictedPreference
- android:key="manage_mobile_plan"
- android:title="@string/manage_mobile_plan_title"
- android:persistent="false"
- android:order="0"
- settings:userRestriction="no_config_mobile_networks"
- settings:useAdminDisabledSummary="true" />
-
- <com.android.settingslib.RestrictedSwitchPreference
- android:key="airplane_mode_old"
- android:title="@string/airplane_mode"
- android:icon="@drawable/ic_airplanemode_active"
- android:disableDependentsState="true"
- android:order="5"
- settings:controller="com.android.settings.network.AirplaneModePreferenceController"
- settings:userRestriction="no_airplane_mode"/>
-
- <Preference
- android:fragment="com.android.settings.ProxySelector"
- android:key="proxy_settings"
- android:title="@string/proxy_settings_title" />
-
- <com.android.settingslib.RestrictedPreference
- android:fragment="com.android.settings.vpn2.VpnSettings"
- android:key="vpn_settings"
- android:title="@string/vpn_settings_title"
- android:icon="@drawable/ic_vpn_key"
- android:order="10"
- android:summary="@string/summary_placeholder"
- settings:userRestriction="no_config_vpn"
- settings:useAdminDisabledSummary="true" />
-
- <com.android.settings.network.PrivateDnsModeDialogPreference
- android:key="private_dns_settings"
- android:title="@string/select_private_dns_configuration_title"
- android:order="15"
- android:dialogTitle="@string/select_private_dns_configuration_dialog_title"
- android:dialogLayout="@layout/private_dns_mode_dialog"
- android:positiveButtonText="@string/save"
- android:negativeButtonText="@android:string/cancel" />
-
-</PreferenceScreen>
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index f5f5ccd..436acef 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -106,7 +106,6 @@
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.profileselector.ProfileFragmentBridge;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settingslib.widget.ActionBarShadowController;
@@ -529,21 +528,6 @@
}
/**
- * Return whether or not the user should have a SIM Cards option in Settings.
- * TODO: Change back to returning true if count is greater than one after testing.
- * TODO: See bug 16533525.
- */
- public static boolean showSimCardTile(Context context) {
- if (FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
- return false;
- }
- final TelephonyManager tm =
- (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
-
- return tm.getSimCount() > 1;
- }
-
- /**
* Queries for the UserInfo of a user. Returns null if the user doesn't exist (was removed).
* @param userManager Instance of UserManager
* @param checkUser The user to check the existence of.
diff --git a/src/com/android/settings/core/FeatureFlags.java b/src/com/android/settings/core/FeatureFlags.java
index 8203b35..4b65df1 100644
--- a/src/com/android/settings/core/FeatureFlags.java
+++ b/src/com/android/settings/core/FeatureFlags.java
@@ -23,8 +23,6 @@
public static final String AUDIO_SWITCHER_SETTINGS = "settings_audio_switcher";
public static final String DYNAMIC_SYSTEM = "settings_dynamic_system";
public static final String HEARING_AID_SETTINGS = "settings_bluetooth_hearing_aid";
- public static final String MOBILE_NETWORK_V2 = "settings_mobile_network_v2";
- public static final String NETWORK_INTERNET_V2 = "settings_network_and_internet_v2";
public static final String WIFI_DETAILS_DATAUSAGE_HEADER =
"settings_wifi_details_datausage_header";
public static final String PERSONAL_WORK_PROFILE = "settings_work_profile";
diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java
index af7e16e..5bfe967 100644
--- a/src/com/android/settings/datausage/CellDataPreference.java
+++ b/src/com/android/settings/datausage/CellDataPreference.java
@@ -39,7 +39,6 @@
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
-import com.android.settings.Utils;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.CustomDialogPreferenceCompat;
@@ -141,36 +140,13 @@
mSubId);
final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
if (mChecked) {
- // If the device is single SIM or is enabling data on the active data SIM then forgo
- // the pop-up.
- if (!Utils.showSimCardTile(getContext()) ||
- (nextSir != null && currentSir != null &&
- currentSir.getSubscriptionId() == nextSir.getSubscriptionId())) {
- setMobileDataEnabled(false);
- if (nextSir != null && currentSir != null &&
- currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
- disableDataForOtherSubscriptions(mSubId);
- }
- return;
+ setMobileDataEnabled(false);
+ if (nextSir != null && currentSir != null
+ && currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
+ disableDataForOtherSubscriptions(mSubId);
}
- // disabling data; show confirmation dialog which eventually
- // calls setMobileDataEnabled() once user confirms.
- mMultiSimDialog = false;
- super.performClick(view);
} else {
- // If we are showing the Sim Card tile then we are a Multi-Sim device.
- if (Utils.showSimCardTile(getContext())) {
- mMultiSimDialog = true;
- if (nextSir != null && currentSir != null &&
- currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
- setMobileDataEnabled(true);
- disableDataForOtherSubscriptions(mSubId);
- return;
- }
- super.performClick(view);
- } else {
- setMobileDataEnabled(true);
- }
+ setMobileDataEnabled(true);
}
}
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java b/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java
index 59318c4..d89df79 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java
@@ -35,7 +35,6 @@
static {
PERSISTENT_FLAGS = new HashSet<>();
PERSISTENT_FLAGS.add(FeatureFlags.HEARING_AID_SETTINGS);
- PERSISTENT_FLAGS.add(FeatureFlags.NETWORK_INTERNET_V2);
PERSISTENT_FLAGS.add(FeatureFlags.DYNAMIC_SYSTEM);
}
diff --git a/src/com/android/settings/network/MobileNetworkPreferenceController.java b/src/com/android/settings/network/MobileNetworkPreferenceController.java
index 646f10c..5612d2e 100644
--- a/src/com/android/settings/network/MobileNetworkPreferenceController.java
+++ b/src/com/android/settings/network/MobileNetworkPreferenceController.java
@@ -19,7 +19,6 @@
import static android.os.UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS;
import android.content.BroadcastReceiver;
-import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -28,13 +27,11 @@
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
-import android.util.FeatureFlagUtils;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
-import com.android.settings.core.FeatureFlags;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.network.telephony.MobileNetworkActivity;
import com.android.settings.network.telephony.MobileNetworkUtils;
@@ -51,10 +48,6 @@
@VisibleForTesting
static final String KEY_MOBILE_NETWORK_SETTINGS = "mobile_network_settings";
- @VisibleForTesting
- static final String MOBILE_NETWORK_PACKAGE = "com.android.phone";
- @VisibleForTesting
- static final String MOBILE_NETWORK_CLASS = "com.android.phone.MobileNetworkSettings";
private final boolean mIsSecondaryUser;
private final TelephonyManager mTelephonyManager;
@@ -147,15 +140,8 @@
@Override
public boolean handlePreferenceTreeClick(Preference preference) {
if (KEY_MOBILE_NETWORK_SETTINGS.equals(preference.getKey())) {
- if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.MOBILE_NETWORK_V2)) {
- final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
- mContext.startActivity(intent);
- } else {
- final Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.setComponent(
- new ComponentName(MOBILE_NETWORK_PACKAGE, MOBILE_NETWORK_CLASS));
- mContext.startActivity(intent);
- }
+ final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
+ mContext.startActivity(intent);
return true;
}
return false;
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index 92c55cb..fed2da3 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -20,16 +20,13 @@
import android.app.Dialog;
import android.app.settings.SettingsEnums;
import android.content.Context;
-import android.provider.SearchIndexableResource;
import android.util.Log;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
import com.android.settings.network.MobilePlanPreferenceController.MobilePlanPreferenceHost;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.wifi.WifiMasterSwitchPreferenceController;
@@ -39,7 +36,6 @@
import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
@SearchIndexable
@@ -60,20 +56,14 @@
@Override
protected int getPreferenceScreenResId() {
- if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2)) {
- return R.xml.network_and_internet_v2;
- } else {
- return R.xml.network_and_internet;
- }
+ return R.xml.network_and_internet_v2;
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
- if (FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
- use(MultiNetworkHeaderController.class).init(getSettingsLifecycle());
- }
+ use(MultiNetworkHeaderController.class).init(getSettingsLifecycle());
use(AirplaneModePreferenceController.class).setFragment(this);
}
@@ -95,10 +85,6 @@
new MobilePlanPreferenceController(context, mobilePlanHost);
final WifiMasterSwitchPreferenceController wifiPreferenceController =
new WifiMasterSwitchPreferenceController(context, metricsFeatureProvider);
- MobileNetworkPreferenceController mobileNetworkPreferenceController = null;
- if (!FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
- mobileNetworkPreferenceController = new MobileNetworkPreferenceController(context);
- }
final VpnPreferenceController vpnPreferenceController =
new VpnPreferenceController(context);
@@ -108,21 +94,13 @@
if (lifecycle != null) {
lifecycle.addObserver(mobilePlanPreferenceController);
lifecycle.addObserver(wifiPreferenceController);
- if (mobileNetworkPreferenceController != null) {
- lifecycle.addObserver(mobileNetworkPreferenceController);
- }
lifecycle.addObserver(vpnPreferenceController);
lifecycle.addObserver(privateDnsPreferenceController);
}
final List<AbstractPreferenceController> controllers = new ArrayList<>();
- if (FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
- controllers.add(new MobileNetworkSummaryController(context, lifecycle));
- }
- if (mobileNetworkPreferenceController != null) {
- controllers.add(mobileNetworkPreferenceController);
- }
+ controllers.add(new MobileNetworkSummaryController(context, lifecycle));
controllers.add(new TetherPreferenceController(context, lifecycle));
controllers.add(vpnPreferenceController);
controllers.add(new ProxyPreferenceController(context));
@@ -163,19 +141,7 @@
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider() {
- @Override
- public List<SearchIndexableResource> getXmlResourcesToIndex(
- Context context, boolean enabled) {
- final SearchIndexableResource sir = new SearchIndexableResource(context);
- if (FeatureFlagPersistent.isEnabled(context,
- FeatureFlags.NETWORK_INTERNET_V2)) {
- sir.xmlResId = R.xml.network_and_internet_v2;
- } else {
- sir.xmlResId = R.xml.network_and_internet;
- }
- return Arrays.asList(sir);
- }
+ new BaseSearchIndexProvider(R.xml.network_and_internet_v2) {
@Override
public List<AbstractPreferenceController> createPreferenceControllers(Context
diff --git a/src/com/android/settings/network/telephony/MobileNetworkActivity.java b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
index b4653a7..20221c1 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkActivity.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
@@ -22,8 +22,6 @@
import android.os.UserManager;
import android.provider.Settings;
import android.telephony.SubscriptionInfo;
-import android.view.Menu;
-import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
@@ -33,13 +31,9 @@
import com.android.internal.util.CollectionUtils;
import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
import com.android.settings.core.SettingsBaseActivity;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
import com.android.settings.network.ProxySubscriptionManager;
-import com.google.android.material.bottomnavigation.BottomNavigationView;
-
import java.util.List;
/**
@@ -80,11 +74,7 @@
return;
}
- if (FeatureFlagPersistent.isEnabled(this, FeatureFlags.NETWORK_INTERNET_V2)) {
- setContentView(R.layout.mobile_network_settings_container_v2);
- } else {
- setContentView(R.layout.mobile_network_settings_container);
- }
+ setContentView(R.layout.mobile_network_settings_container_v2);
setActionBar(findViewById(R.id.mobile_action_bar));
mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(this);
@@ -141,10 +131,6 @@
if (subscription != null) {
setTitle(subscription.getDisplayName());
}
-
- if (!FeatureFlagPersistent.isEnabled(this, FeatureFlags.NETWORK_INTERNET_V2)) {
- updateBottomNavigationView();
- }
}
@VisibleForTesting
@@ -181,38 +167,6 @@
return subInfos.get(0);
}
- private void updateBottomNavigationView() {
- final BottomNavigationView navigation = findViewById(R.id.bottom_nav);
-
- final List<SubscriptionInfo> subInfos = mProxySubscriptionMgr.getActiveSubscriptionsInfo();
- if (CollectionUtils.size(subInfos) <= 1) {
- navigation.setVisibility(View.GONE);
- } else {
- final Menu menu = navigation.getMenu();
- menu.clear();
- for (int i = 0, size = subInfos.size(); i < size; i++) {
- final SubscriptionInfo subscriptionInfo = subInfos.get(i);
- menu.add(0, subscriptionInfo.getSubscriptionId(), i,
- subscriptionInfo.getDisplayName())
- .setIcon(R.drawable.ic_settings_sim);
- }
- navigation.setOnNavigationItemSelectedListener(item -> {
- final int subId = item.getItemId();
- if (!isSubscriptionChanged(subId)) {
- return true;
- }
- final SubscriptionInfo subscriptionInfo = mProxySubscriptionMgr
- .getActiveSubscriptionInfo(subId);
- if (subscriptionInfo == null) {
- return true;
- }
- updateSubscriptions(subscriptionInfo);
- return true;
- });
- navigation.setVisibility(View.VISIBLE);
- }
- }
-
@VisibleForTesting
void switchFragment(SubscriptionInfo subInfo) {
final FragmentManager fragmentManager = getSupportFragmentManager();
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
index a5bf313..1400e3a 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
@@ -22,7 +22,6 @@
import android.content.Intent;
import android.os.Bundle;
import android.os.UserManager;
-import android.provider.SearchIndexableResource;
import android.provider.Settings;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -37,11 +36,9 @@
import com.android.internal.telephony.TelephonyIntents;
import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.datausage.BillingCyclePreferenceController;
import com.android.settings.datausage.DataUsageSummaryPreferenceController;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
import com.android.settings.network.telephony.cdma.CdmaSubscriptionPreferenceController;
import com.android.settings.network.telephony.cdma.CdmaSystemSelectPreferenceController;
import com.android.settings.network.telephony.gsm.AutoSelectPreferenceController;
@@ -51,7 +48,6 @@
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.search.SearchIndexable;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -117,8 +113,7 @@
mSubId = getArguments().getInt(Settings.EXTRA_SUB_ID,
MobileNetworkUtils.getSearchableSubscriptionId(context));
- if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2) &&
- mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
return Arrays.asList(
new DataUsageSummaryPreferenceController(getActivity(), getSettingsLifecycle(),
this, mSubId));
@@ -130,19 +125,17 @@
public void onAttach(Context context) {
super.onAttach(context);
- if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2)) {
- use(CallsDefaultSubscriptionController.class).init(getLifecycle());
- use(SmsDefaultSubscriptionController.class).init(getLifecycle());
- use(MobileNetworkSwitchController.class).init(getLifecycle(), mSubId);
- use(CarrierSettingsVersionPreferenceController.class).init(mSubId);
- use(BillingCyclePreferenceController.class).init(mSubId);
- use(MmsMessagePreferenceController.class).init(mSubId);
- use(DataDuringCallsPreferenceController.class).init(getLifecycle(), mSubId);
- use(DisabledSubscriptionController.class).init(getLifecycle(), mSubId);
- use(DeleteSimProfilePreferenceController.class).init(mSubId, this,
- REQUEST_CODE_DELETE_SUBSCRIPTION);
- use(DisableSimFooterPreferenceController.class).init(mSubId);
- }
+ use(CallsDefaultSubscriptionController.class).init(getLifecycle());
+ use(SmsDefaultSubscriptionController.class).init(getLifecycle());
+ use(MobileNetworkSwitchController.class).init(getLifecycle(), mSubId);
+ use(CarrierSettingsVersionPreferenceController.class).init(mSubId);
+ use(BillingCyclePreferenceController.class).init(mSubId);
+ use(MmsMessagePreferenceController.class).init(mSubId);
+ use(DataDuringCallsPreferenceController.class).init(getLifecycle(), mSubId);
+ use(DisabledSubscriptionController.class).init(getLifecycle(), mSubId);
+ use(DeleteSimProfilePreferenceController.class).init(mSubId, this,
+ REQUEST_CODE_DELETE_SUBSCRIPTION);
+ use(DisableSimFooterPreferenceController.class).init(mSubId);
use(MobileDataPreferenceController.class).init(getFragmentManager(), mSubId);
use(RoamingPreferenceController.class).init(getFragmentManager(), mSubId);
use(ApnPreferenceController.class).init(mSubId);
@@ -151,9 +144,7 @@
use(PreferredNetworkModePreferenceController.class).init(mSubId);
use(EnabledNetworkModePreferenceController.class).init(getLifecycle(), mSubId);
use(DataServiceSetupPreferenceController.class).init(mSubId);
- if (!FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2)) {
- use(EuiccPreferenceController.class).init(mSubId);
- }
+
final WifiCallingPreferenceController wifiCallingPreferenceController =
use(WifiCallingPreferenceController.class).init(mSubId);
@@ -204,11 +195,7 @@
@Override
protected int getPreferenceScreenResId() {
- if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2)) {
- return R.xml.mobile_network_settings_v2;
- } else {
- return R.xml.mobile_network_settings;
- }
+ return R.xml.mobile_network_settings_v2;
}
@Override
@@ -250,8 +237,7 @@
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
- if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2) &&
- mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
final MenuItem item = menu.add(Menu.NONE, R.id.edit_sim_name, Menu.NONE,
R.string.mobile_network_sim_name);
item.setIcon(com.android.internal.R.drawable.ic_mode_edit);
@@ -262,8 +248,7 @@
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
- if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2) &&
- mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
if (menuItem.getItemId() == R.id.edit_sim_name) {
RenameMobileNetworkDialogFragment.newInstance(mSubId).show(
getFragmentManager(), RenameMobileNetworkDialogFragment.TAG);
@@ -274,20 +259,7 @@
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider() {
- @Override
- public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
- boolean enabled) {
- final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
- final SearchIndexableResource sir = new SearchIndexableResource(context);
- sir.xmlResId = FeatureFlagPersistent.isEnabled(context,
- FeatureFlags.NETWORK_INTERNET_V2)
- ? R.xml.mobile_network_settings_v2
- : R.xml.mobile_network_settings;
- result.add(sir);
- return result;
- }
+ new BaseSearchIndexProvider(R.xml.mobile_network_settings_v2) {
/** suppress full page if user is not admin */
@Override
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java b/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
index 02396dd..94f86f4 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
@@ -22,24 +22,19 @@
import android.content.Context;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
-import android.util.Log;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.network.SubscriptionsChangeListener;
-import com.android.settings.widget.SwitchBar;
-import com.android.settingslib.widget.LayoutPreference;
-
-import java.util.List;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.network.SubscriptionsChangeListener;
+import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.widget.LayoutPreference;
+
/** This controls a switch to allow enabling/disabling a mobile network */
public class MobileNetworkSwitchController extends BasePreferenceController implements
SubscriptionsChangeListener.SubscriptionsChangeListenerClient, LifecycleObserver {
@@ -118,11 +113,8 @@
@Override
public int getAvailabilityStatus() {
- if (FeatureFlagPersistent.isEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2)) {
- return AVAILABLE_UNSEARCHABLE;
- } else {
- return CONDITIONALLY_UNAVAILABLE;
- }
+ return AVAILABLE_UNSEARCHABLE;
+
}
@Override
diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
index 8f8d0d0..3348cca 100644
--- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
@@ -29,12 +29,12 @@
import android.telephony.PhoneStateListener;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsMmTelManager;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
-import com.android.ims.ImsConfig;
import com.android.ims.ImsManager;
import com.android.settings.R;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -54,6 +54,7 @@
CarrierConfigManager mCarrierConfigManager;
@VisibleForTesting
ImsManager mImsManager;
+ private ImsMmTelManager mImsMmTelManager;
@VisibleForTesting
PhoneAccountHandle mSimCallManager;
private PhoneCallStateListener mPhoneStateListener;
@@ -88,7 +89,7 @@
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreference = screen.findPreference(getPreferenceKey());
- Intent intent = mPreference.getIntent();
+ final Intent intent = mPreference.getIntent();
if (intent != null) {
intent.putExtra(Settings.EXTRA_SUB_ID, mSubId);
}
@@ -98,14 +99,14 @@
public void updateState(Preference preference) {
super.updateState(preference);
if (mSimCallManager != null) {
- Intent intent = MobileNetworkUtils.buildPhoneAccountConfigureIntent(mContext,
+ final Intent intent = MobileNetworkUtils.buildPhoneAccountConfigureIntent(mContext,
mSimCallManager);
if (intent == null) {
// Do nothing in this case since preference is invisible
return;
}
final PackageManager pm = mContext.getPackageManager();
- List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
+ final List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
preference.setTitle(resolutions.get(0).loadLabel(pm));
preference.setSummary(null);
preference.setIntent(intent);
@@ -126,16 +127,18 @@
}
}
final boolean isRoaming = mTelephonyManager.isNetworkRoaming();
- int wfcMode = mImsManager.getWfcMode(isRoaming && !useWfcHomeModeForRoaming);
+ final int wfcMode = (isRoaming && !useWfcHomeModeForRoaming)
+ ? mImsMmTelManager.getVoWiFiRoamingModeSetting() :
+ mImsMmTelManager.getVoWiFiModeSetting();
switch (wfcMode) {
- case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
+ case ImsMmTelManager.WIFI_MODE_WIFI_ONLY:
resId = com.android.internal.R.string.wfc_mode_wifi_only_summary;
break;
- case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
+ case ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED:
resId = com.android.internal.R.string
.wfc_mode_cellular_preferred_summary;
break;
- case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
+ case ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED:
resId = com.android.internal.R.string.wfc_mode_wifi_preferred_summary;
break;
default:
@@ -150,14 +153,20 @@
public WifiCallingPreferenceController init(int subId) {
mSubId = subId;
- mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
+ mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+ .createForSubscriptionId(mSubId);
mImsManager = ImsManager.getInstance(mContext, SubscriptionManager.getPhoneId(mSubId));
+ mImsMmTelManager = getImsMmTelManager(mSubId);
mSimCallManager = mContext.getSystemService(TelecomManager.class)
.getSimCallManagerForSubscription(mSubId);
return this;
}
+ protected ImsMmTelManager getImsMmTelManager(int subId) {
+ return ImsMmTelManager.createForSubscriptionId(subId);
+ }
+
private class PhoneCallStateListener extends PhoneStateListener {
public PhoneCallStateListener(Looper looper) {
diff --git a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
index f0ae804..e681a22 100644
--- a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
+++ b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
@@ -68,6 +68,7 @@
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.Tile;
import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
import com.android.settingslib.search.SearchIndexableRaw;
import java.util.ArrayList;
@@ -106,7 +107,7 @@
final List<SearchIndexableResource> resources =
getSearchIndexableResourcesFromProvider(getContext());
for (SearchIndexableResource val : resources) {
- Object[] ref = new Object[INDEXABLES_XML_RES_COLUMNS.length];
+ final Object[] ref = new Object[INDEXABLES_XML_RES_COLUMNS.length];
ref[COLUMN_INDEX_XML_RES_RANK] = val.rank;
ref[COLUMN_INDEX_XML_RES_RESID] = val.xmlResId;
ref[COLUMN_INDEX_XML_RES_CLASS_NAME] = val.className;
@@ -128,21 +129,7 @@
final MatrixCursor cursor = new MatrixCursor(INDEXABLES_RAW_COLUMNS);
final List<SearchIndexableRaw> raws = getSearchIndexableRawFromProvider(getContext());
for (SearchIndexableRaw val : raws) {
- Object[] ref = new Object[INDEXABLES_RAW_COLUMNS.length];
- ref[COLUMN_INDEX_RAW_TITLE] = val.title;
- ref[COLUMN_INDEX_RAW_SUMMARY_ON] = val.summaryOn;
- ref[COLUMN_INDEX_RAW_SUMMARY_OFF] = val.summaryOff;
- ref[COLUMN_INDEX_RAW_ENTRIES] = val.entries;
- ref[COLUMN_INDEX_RAW_KEYWORDS] = val.keywords;
- ref[COLUMN_INDEX_RAW_SCREEN_TITLE] = val.screenTitle;
- ref[COLUMN_INDEX_RAW_CLASS_NAME] = val.className;
- ref[COLUMN_INDEX_RAW_ICON_RESID] = val.iconResId;
- ref[COLUMN_INDEX_RAW_INTENT_ACTION] = val.intentAction;
- ref[COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE] = val.intentTargetPackage;
- ref[COLUMN_INDEX_RAW_INTENT_TARGET_CLASS] = val.intentTargetClass;
- ref[COLUMN_INDEX_RAW_KEY] = val.key;
- ref[COLUMN_INDEX_RAW_USER_ID] = val.userId;
- cursor.addRow(ref);
+ cursor.addRow(createIndexableRawColumnObjects(val));
}
return cursor;
@@ -180,21 +167,7 @@
final MatrixCursor cursor = new MatrixCursor(INDEXABLES_RAW_COLUMNS);
for (SearchIndexableRaw raw : rawList) {
- Object[] ref = new Object[INDEXABLES_RAW_COLUMNS.length];
- ref[COLUMN_INDEX_RAW_TITLE] = raw.title;
- ref[COLUMN_INDEX_RAW_SUMMARY_ON] = raw.summaryOn;
- ref[COLUMN_INDEX_RAW_SUMMARY_OFF] = raw.summaryOff;
- ref[COLUMN_INDEX_RAW_ENTRIES] = raw.entries;
- ref[COLUMN_INDEX_RAW_KEYWORDS] = raw.keywords;
- ref[COLUMN_INDEX_RAW_SCREEN_TITLE] = raw.screenTitle;
- ref[COLUMN_INDEX_RAW_CLASS_NAME] = raw.className;
- ref[COLUMN_INDEX_RAW_ICON_RESID] = raw.iconResId;
- ref[COLUMN_INDEX_RAW_INTENT_ACTION] = raw.intentAction;
- ref[COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE] = raw.intentTargetPackage;
- ref[COLUMN_INDEX_RAW_INTENT_TARGET_CLASS] = raw.intentTargetClass;
- ref[COLUMN_INDEX_RAW_KEY] = raw.key;
- ref[COLUMN_INDEX_RAW_USER_ID] = raw.userId;
- cursor.addRow(ref);
+ cursor.addRow(createIndexableRawColumnObjects(raw));
}
return cursor;
@@ -260,14 +233,14 @@
}
private List<String> getNonIndexableKeysFromProvider(Context context) {
- final Collection<Class> values = getIndexableProviderValues(context);
+ final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
+ .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
+
final List<String> nonIndexableKeys = new ArrayList<>();
- for (Class<?> clazz : values) {
+ for (SearchIndexableData bundle : bundles) {
final long startTime = System.currentTimeMillis();
- final Indexable.SearchIndexProvider provider =
- DatabaseIndexingUtils.getSearchIndexProvider(clazz);
-
+ Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
List<String> providerNonIndexableKeys;
try {
providerNonIndexableKeys = provider.getNonIndexableKeys(context);
@@ -281,7 +254,8 @@
if (System.getProperty(SYSPROP_CRASH_ON_ERROR) != null) {
throw new RuntimeException(e);
}
- Log.e(TAG, "Error trying to get non-indexable keys from: " + clazz.getName(), e);
+ Log.e(TAG, "Error trying to get non-indexable keys from: "
+ + bundle.getTargetClass().getName(), e);
continue;
}
@@ -310,12 +284,12 @@
}
private List<SearchIndexableResource> getSearchIndexableResourcesFromProvider(Context context) {
- final Collection<Class> values = getIndexableProviderValues(context);
- final List<SearchIndexableResource> resourceList = new ArrayList<>();
+ final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
+ .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
+ List<SearchIndexableResource> resourceList = new ArrayList<>();
- for (Class<?> clazz : values) {
- final Indexable.SearchIndexProvider provider =
- DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+ for (SearchIndexableData bundle : bundles) {
+ Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
final List<SearchIndexableResource> resList =
provider.getXmlResourcesToIndex(context, true);
@@ -325,7 +299,7 @@
for (SearchIndexableResource item : resList) {
item.className = TextUtils.isEmpty(item.className)
- ? clazz.getName()
+ ? bundle.getTargetClass().getName()
: item.className;
}
@@ -336,14 +310,14 @@
}
private List<SearchIndexableRaw> getSearchIndexableRawFromProvider(Context context) {
- final Collection<Class> values = getIndexableProviderValues(context);
+ final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
+ .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
final List<SearchIndexableRaw> rawList = new ArrayList<>();
- for (Class<?> clazz : values) {
- final Indexable.SearchIndexProvider provider =
- DatabaseIndexingUtils.getSearchIndexProvider(clazz);
- final List<SearchIndexableRaw> providerRaws =
- provider.getRawDataToIndex(context, true /* enabled */);
+ for (SearchIndexableData bundle : bundles) {
+ Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
+ final List<SearchIndexableRaw> providerRaws = provider.getRawDataToIndex(context,
+ true /* enabled */);
if (providerRaws == null) {
continue;
@@ -352,7 +326,7 @@
for (SearchIndexableRaw raw : providerRaws) {
// The classname and intent information comes from the PreIndexData
// This will be more clear when provider conversion is done at PreIndex time.
- raw.className = clazz.getName();
+ raw.className = bundle.getTargetClass().getName();
}
rawList.addAll(providerRaws);
@@ -362,12 +336,12 @@
}
private List<SearchIndexableRaw> getDynamicSearchIndexableRawFromProvider(Context context) {
- final Collection<Class> values = getIndexableProviderValues(context);
+ final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
+ .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
final List<SearchIndexableRaw> rawList = new ArrayList<>();
- for (Class<?> clazz : values) {
- final Indexable.SearchIndexProvider provider =
- DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+ for (SearchIndexableData bundle : bundles) {
+ final Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
final List<SearchIndexableRaw> providerRaws =
provider.getDynamicRawDataToIndex(context, true /* enabled */);
@@ -378,7 +352,7 @@
for (SearchIndexableRaw raw : providerRaws) {
// The classname and intent information comes from the PreIndexData
// This will be more clear when provider conversion is done at PreIndex time.
- raw.className = clazz.getName();
+ raw.className = bundle.getTargetClass().getName();
}
rawList.addAll(providerRaws);
@@ -392,27 +366,40 @@
FeatureFactory.getFactory(context).getDashboardFeatureProvider(context);
final List<SearchIndexableRaw> rawList = new ArrayList<>();
+ final String currentPackageName = context.getPackageName();
for (DashboardCategory category : dashboardFeatureProvider.getAllCategories()) {
for (Tile tile : category.getTiles()) {
- final String packageName = tile.getPackageName();
- if (context.getPackageName().equals(packageName)) {
+ if (currentPackageName.equals(tile.getPackageName())) {
continue;
}
final SearchIndexableRaw raw = new SearchIndexableRaw(context);
+ raw.key = dashboardFeatureProvider.getDashboardKeyForTile(tile);
raw.title = tile.getTitle(context).toString();
- raw.summaryOn = tile.getSummary(context).toString();
- raw.summaryOff = tile.getSummary(context).toString();
- raw.keywords = dashboardFeatureProvider.getDashboardKeyForTile(tile);
+ CharSequence summary = tile.getSummary(context);
+ raw.summaryOn = TextUtils.isEmpty(summary) ? null : summary.toString();
+ raw.summaryOff = raw.summaryOn;
raw.className = CATEGORY_KEY_TO_PARENT_MAP.get(tile.getCategory());
rawList.add(raw);
}
}
- return rawList;
- }
+ return rawList; }
- private Collection<Class> getIndexableProviderValues(Context context) {
- return FeatureFactory.getFactory(context)
- .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
+ private static Object[] createIndexableRawColumnObjects(SearchIndexableRaw raw) {
+ final Object[] ref = new Object[INDEXABLES_RAW_COLUMNS.length];
+ ref[COLUMN_INDEX_RAW_TITLE] = raw.title;
+ ref[COLUMN_INDEX_RAW_SUMMARY_ON] = raw.summaryOn;
+ ref[COLUMN_INDEX_RAW_SUMMARY_OFF] = raw.summaryOff;
+ ref[COLUMN_INDEX_RAW_ENTRIES] = raw.entries;
+ ref[COLUMN_INDEX_RAW_KEYWORDS] = raw.keywords;
+ ref[COLUMN_INDEX_RAW_SCREEN_TITLE] = raw.screenTitle;
+ ref[COLUMN_INDEX_RAW_CLASS_NAME] = raw.className;
+ ref[COLUMN_INDEX_RAW_ICON_RESID] = raw.iconResId;
+ ref[COLUMN_INDEX_RAW_INTENT_ACTION] = raw.intentAction;
+ ref[COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE] = raw.intentTargetPackage;
+ ref[COLUMN_INDEX_RAW_INTENT_TARGET_CLASS] = raw.intentTargetClass;
+ ref[COLUMN_INDEX_RAW_KEY] = raw.key;
+ ref[COLUMN_INDEX_RAW_USER_ID] = raw.userId;
+ return ref;
}
}
diff --git a/src/com/android/settings/slices/SliceDataConverter.java b/src/com/android/settings/slices/SliceDataConverter.java
index 06b5d78..551a186 100644
--- a/src/com/android/settings/slices/SliceDataConverter.java
+++ b/src/com/android/settings/slices/SliceDataConverter.java
@@ -53,9 +53,9 @@
import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
-import com.android.settingslib.search.Indexable.SearchIndexProvider;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.search.Indexable.SearchIndexProvider;
+import com.android.settingslib.search.SearchIndexableData;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -101,14 +101,13 @@
public List<SliceData> getSliceData() {
List<SliceData> sliceData = new ArrayList<>();
- final Collection<Class> indexableClasses = FeatureFactory.getFactory(mContext)
+ final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(mContext)
.getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
- for (Class clazz : indexableClasses) {
- final String fragmentName = clazz.getName();
+ for (SearchIndexableData bundle : bundles) {
+ final String fragmentName = bundle.getTargetClass().getName();
- final SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(
- clazz);
+ final SearchIndexProvider provider = bundle.getSearchIndexProvider();
// CodeInspection test guards against the null check. Keep check in case of bad actors.
if (provider == null) {
diff --git a/src/com/android/settings/widget/MediaAnimationController.java b/src/com/android/settings/widget/MediaAnimationController.java
index eb7b3e0..87a5365 100644
--- a/src/com/android/settings/widget/MediaAnimationController.java
+++ b/src/com/android/settings/widget/MediaAnimationController.java
@@ -33,6 +33,7 @@
class MediaAnimationController implements VideoPreference.AnimationController {
private MediaPlayer mMediaPlayer;
private boolean mVideoReady;
+ private Surface mSurface;
MediaAnimationController(Context context, int videoId) {
final Uri videoPath = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
@@ -86,10 +87,7 @@
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width,
int height) {
- if (mMediaPlayer != null) {
- final Surface surface = new Surface(surfaceTexture);
- mMediaPlayer.setSurface(surface);
- }
+ setSurface(surfaceTexture);
}
@Override
@@ -105,6 +103,7 @@
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surfaceTexture) {
+ setSurface(surfaceTexture);
if (mVideoReady) {
if (preview.getVisibility() == View.VISIBLE) {
preview.setVisibility(View.GONE);
@@ -146,4 +145,11 @@
mMediaPlayer.start();
}
}
+
+ private void setSurface(SurfaceTexture surfaceTexture) {
+ if (mMediaPlayer != null && mSurface == null) {
+ mSurface = new Surface(surfaceTexture);
+ mMediaPlayer.setSurface(mSurface);
+ }
+ }
}
diff --git a/src/com/android/settings/widget/VideoPreference.java b/src/com/android/settings/widget/VideoPreference.java
index d23bea9..006c13a 100644
--- a/src/com/android/settings/widget/VideoPreference.java
+++ b/src/com/android/settings/widget/VideoPreference.java
@@ -50,6 +50,9 @@
private int mAnimationId;
private int mVectorAnimationId;
private int mHeight = LinearLayout.LayoutParams.MATCH_PARENT - 1; // video height in pixels
+ private TextureView mVideo;
+ private ImageView mPreviewImage;
+ private ImageView mPlayButton;
public VideoPreference(Context context) {
super(context);
@@ -108,19 +111,19 @@
return;
}
- final TextureView video = (TextureView) holder.findViewById(R.id.video_texture_view);
- final ImageView previewImage = (ImageView) holder.findViewById(R.id.video_preview_image);
- final ImageView playButton = (ImageView) holder.findViewById(R.id.video_play_button);
+ mVideo = (TextureView) holder.findViewById(R.id.video_texture_view);
+ mPreviewImage = (ImageView) holder.findViewById(R.id.video_preview_image);
+ mPlayButton = (ImageView) holder.findViewById(R.id.video_play_button);
final AspectRatioFrameLayout layout = (AspectRatioFrameLayout) holder.findViewById(
R.id.video_container);
- previewImage.setImageResource(mPreviewId);
+ mPreviewImage.setImageResource(mPreviewId);
layout.setAspectRatio(mAspectRatio);
if (mHeight >= LinearLayout.LayoutParams.MATCH_PARENT) {
layout.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, mHeight));
}
- mAnimationController.attachView(video, previewImage, playButton);
+ mAnimationController.attachView(mVideo, mPreviewImage, mPlayButton);
}
@Override
@@ -164,6 +167,9 @@
}
if (mAnimationId != 0) {
mAnimationController = new MediaAnimationController(mContext, mAnimationId);
+ if (mVideo != null) {
+ mAnimationController.attachView(mVideo, mPreviewImage, mPlayButton);
+ }
}
}
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index 252193d..50396e5 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -30,6 +30,7 @@
import android.telephony.PhoneStateListener;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsMmTelManager;
import android.telephony.ims.ProvisioningManager;
import android.text.TextUtils;
import android.util.Log;
@@ -98,6 +99,7 @@
private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
private ImsManager mImsManager;
+ private ImsMmTelManager mImsMmTelManager;
private TelephonyManager mTelephonyManager;
private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
@@ -110,8 +112,8 @@
@Override
public void onCallStateChanged(int state, String incomingNumber) {
final SettingsActivity activity = (SettingsActivity) getActivity();
- boolean isNonTtyOrTtyOnVolteEnabled = mImsManager.isNonTtyOrTtyOnVolteEnabled();
- boolean isWfcEnabled = mSwitchBar.isChecked()
+ final boolean isNonTtyOrTtyOnVolteEnabled = mImsManager.isNonTtyOrTtyOnVolteEnabled();
+ final boolean isWfcEnabled = mSwitchBar.isChecked()
&& isNonTtyOrTtyOnVolteEnabled;
mSwitchBar.setEnabled((state == TelephonyManager.CALL_STATE_IDLE)
@@ -132,12 +134,12 @@
}
}
- Preference pref = getPreferenceScreen().findPreference(BUTTON_WFC_MODE);
+ final Preference pref = getPreferenceScreen().findPreference(BUTTON_WFC_MODE);
if (pref != null) {
pref.setEnabled(isWfcEnabled && isWfcModeEditable
&& (state == TelephonyManager.CALL_STATE_IDLE));
}
- Preference pref_roam =
+ final Preference pref_roam =
getPreferenceScreen().findPreference(BUTTON_WFC_ROAMING_MODE);
if (pref_roam != null) {
pref_roam.setEnabled(isWfcEnabled && isWfcRoamingModeEditable
@@ -151,7 +153,7 @@
*/
private final OnPreferenceClickListener mUpdateAddressListener =
preference -> {
- Intent carrierAppIntent = getCarrierActivityIntent();
+ final Intent carrierAppIntent = getCarrierActivityIntent();
if (carrierAppIntent != null) {
carrierAppIntent.putExtra(EXTRA_LAUNCH_CARRIER_APP, LAUCH_APP_UPDATE);
startActivity(carrierAppIntent);
@@ -179,7 +181,7 @@
mEmptyView = getView().findViewById(android.R.id.empty);
setEmptyView(mEmptyView);
final Resources res = getResourcesForSubId();
- String emptyViewText = res.getString(R.string.wifi_calling_off_explanation,
+ final String emptyViewText = res.getString(R.string.wifi_calling_off_explanation,
res.getString(R.string.wifi_calling_off_explanation_2));
mEmptyView.setText(emptyViewText);
@@ -195,17 +197,17 @@
}
private void showAlert(Intent intent) {
- Context context = getActivity();
+ final Context context = getActivity();
- CharSequence title = intent.getCharSequenceExtra(Phone.EXTRA_KEY_ALERT_TITLE);
- CharSequence message = intent.getCharSequenceExtra(Phone.EXTRA_KEY_ALERT_MESSAGE);
+ final CharSequence title = intent.getCharSequenceExtra(Phone.EXTRA_KEY_ALERT_TITLE);
+ final CharSequence message = intent.getCharSequenceExtra(Phone.EXTRA_KEY_ALERT_MESSAGE);
- AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ final AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage(message)
.setTitle(title)
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(android.R.string.ok, null);
- AlertDialog dialog = builder.create();
+ final AlertDialog dialog = builder.create();
dialog.show();
}
@@ -214,7 +216,7 @@
private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
+ final String action = intent.getAction();
if (action.equals(ImsManager.ACTION_IMS_REGISTRATION_ERROR)) {
// If this fragment is active then we are immediately
// showing alert on screen. There is no need to add
@@ -245,6 +247,11 @@
return ImsManager.getInstance(getActivity(), SubscriptionManager.getPhoneId(mSubId));
}
+ @VisibleForTesting
+ ImsMmTelManager getImsMmTelManager() {
+ return ImsMmTelManager.createForSubscriptionId(mSubId);
+ }
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -261,6 +268,7 @@
}
mImsManager = getImsManager();
+ mImsMmTelManager = getImsMmTelManager();
mTelephonyManager = ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE))
.createForSubscriptionId(mSubId);
@@ -288,12 +296,12 @@
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- View view = inflater.inflate(
+ final View view = inflater.inflate(
R.layout.wifi_calling_settings_preferences, container, false);
final ViewGroup prefs_container = view.findViewById(R.id.prefs_container);
Utils.prepareCustomPreferencesList(container, view, prefs_container, false);
- View prefs = super.onCreateView(inflater, prefs_container, savedInstanceState);
+ final View prefs = super.onCreateView(inflater, prefs_container, savedInstanceState);
prefs_container.addView(prefs);
return view;
@@ -307,12 +315,12 @@
return;
}
- CarrierConfigManager configManager = (CarrierConfigManager)
+ final CarrierConfigManager configManager = (CarrierConfigManager)
getSystemService(Context.CARRIER_CONFIG_SERVICE);
boolean isWifiOnlySupported = true;
if (configManager != null) {
- PersistableBundle b = configManager.getConfigForSubId(mSubId);
+ final PersistableBundle b = configManager.getConfigForSubId(mSubId);
if (b != null) {
mEditableWfcMode = b.getBoolean(
CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL);
@@ -341,11 +349,11 @@
// NOTE: Buttons will be enabled/disabled in mPhoneStateListener
- boolean wfcEnabled = mImsManager.isWfcEnabledByUser()
+ final boolean wfcEnabled = mImsManager.isWfcEnabledByUser()
&& mImsManager.isNonTtyOrTtyOnVolteEnabled();
mSwitch.setChecked(wfcEnabled);
- int wfcMode = mImsManager.getWfcMode(false);
- int wfcRoamingMode = mImsManager.getWfcMode(true);
+ final int wfcMode = mImsMmTelManager.getVoWiFiModeSetting();
+ final int wfcRoamingMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
mButtonWfcMode.setValue(Integer.toString(wfcMode));
mButtonWfcRoamingMode.setValue(Integer.toString(wfcRoamingMode));
updateButtonWfcMode(wfcEnabled, wfcMode, wfcRoamingMode);
@@ -369,7 +377,7 @@
context.registerReceiver(mIntentReceiver, mIntentFilter);
- Intent intent = getActivity().getIntent();
+ final Intent intent = getActivity().getIntent();
if (intent.getBooleanExtra(Phone.EXTRA_KEY_ALERT_SHOW, false)) {
showAlert(intent);
}
@@ -392,7 +400,8 @@
if (mValidListener) {
mValidListener = false;
- TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
+ final TelephonyManager tm = (TelephonyManager)
+ getSystemService(Context.TELEPHONY_SERVICE);
tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
mSwitchBar.removeOnSwitchChangeListener(this);
@@ -441,22 +450,22 @@
*/
private Intent getCarrierActivityIntent() {
// Retrive component name from carrier config
- CarrierConfigManager configManager =
+ final CarrierConfigManager configManager =
getActivity().getSystemService(CarrierConfigManager.class);
if (configManager == null) return null;
- PersistableBundle bundle = configManager.getConfigForSubId(mSubId);
+ final PersistableBundle bundle = configManager.getConfigForSubId(mSubId);
if (bundle == null) return null;
- String carrierApp = bundle.getString(
+ final String carrierApp = bundle.getString(
CarrierConfigManager.KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING);
if (TextUtils.isEmpty(carrierApp)) return null;
- ComponentName componentName = ComponentName.unflattenFromString(carrierApp);
+ final ComponentName componentName = ComponentName.unflattenFromString(carrierApp);
if (componentName == null) return null;
// Build and return intent
- Intent intent = new Intent();
+ final Intent intent = new Intent();
intent.setComponent(componentName);
intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, mSubId);
return intent;
@@ -469,8 +478,8 @@
Log.i(TAG, "updateWfcMode(" + wfcEnabled + ")");
mImsManager.setWfcSetting(wfcEnabled);
- int wfcMode = mImsManager.getWfcMode(false);
- int wfcRoamingMode = mImsManager.getWfcMode(true);
+ final int wfcMode = mImsMmTelManager.getVoWiFiModeSetting();
+ final int wfcRoamingMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
updateButtonWfcMode(wfcEnabled, wfcMode, wfcRoamingMode);
if (wfcEnabled) {
mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), wfcMode);
@@ -496,7 +505,7 @@
case REQUEST_CHECK_WFC_DISCLAIMER:
if (resultCode == Activity.RESULT_OK) {
// Call address management activity before turning on WFC
- Intent carrierAppIntent = getCarrierActivityIntent();
+ final Intent carrierAppIntent = getCarrierActivityIntent();
if (carrierAppIntent != null) {
carrierAppIntent.putExtra(EXTRA_LAUNCH_CARRIER_APP, LAUCH_APP_ACTIVATE);
startActivityForResult(carrierAppIntent,
@@ -520,7 +529,7 @@
mButtonWfcRoamingMode.setEnabled(wfcEnabled && mEditableWfcRoamingMode);
final PreferenceScreen preferenceScreen = getPreferenceScreen();
- boolean updateAddressEnabled = (getCarrierActivityIntent() != null);
+ final boolean updateAddressEnabled = (getCarrierActivityIntent() != null);
if (wfcEnabled) {
if (mEditableWfcMode) {
preferenceScreen.addPreference(mButtonWfcMode);
@@ -551,24 +560,24 @@
if (preference == mButtonWfcMode) {
Log.d(TAG, "onPreferenceChange mButtonWfcMode " + newValue);
mButtonWfcMode.setValue((String) newValue);
- int buttonMode = Integer.valueOf((String) newValue);
- int currentWfcMode = mImsManager.getWfcMode(false);
+ final int buttonMode = Integer.valueOf((String) newValue);
+ final int currentWfcMode = mImsMmTelManager.getVoWiFiModeSetting();
if (buttonMode != currentWfcMode) {
- mImsManager.setWfcMode(buttonMode, false);
+ mImsMmTelManager.setVoWiFiModeSetting(buttonMode);
mButtonWfcMode.setSummary(getWfcModeSummary(buttonMode));
mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), buttonMode);
if (mUseWfcHomeModeForRoaming) {
- mImsManager.setWfcMode(buttonMode, true);
+ mImsMmTelManager.setVoWiFiRoamingModeSetting(buttonMode);
// mButtonWfcRoamingMode.setSummary is not needed; summary is selected value
}
}
} else if (preference == mButtonWfcRoamingMode) {
mButtonWfcRoamingMode.setValue((String) newValue);
- int buttonMode = Integer.valueOf((String) newValue);
- int currentMode = mImsManager.getWfcMode(true);
+ final int buttonMode = Integer.valueOf((String) newValue);
+ final int currentMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
if (buttonMode != currentMode) {
- mImsManager.setWfcMode(buttonMode, true);
+ mImsMmTelManager.setVoWiFiRoamingModeSetting(buttonMode);
// mButtonWfcRoamingMode.setSummary is not needed; summary is just selected value.
mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), buttonMode);
}
@@ -580,13 +589,13 @@
int resId = com.android.internal.R.string.wifi_calling_off_summary;
if (mImsManager.isWfcEnabledByUser()) {
switch (wfcMode) {
- case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
+ case ImsMmTelManager.WIFI_MODE_WIFI_ONLY:
resId = com.android.internal.R.string.wfc_mode_wifi_only_summary;
break;
- case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
+ case ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED:
resId = com.android.internal.R.string.wfc_mode_cellular_preferred_summary;
break;
- case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
+ case ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED:
resId = com.android.internal.R.string.wfc_mode_wifi_preferred_summary;
break;
default:
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
index 70eef2c..524ba8a 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
@@ -30,6 +30,7 @@
import android.provider.Settings;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
+import android.telephony.ims.ImsMmTelManager;
import android.text.TextUtils;
import android.util.Log;
@@ -233,6 +234,7 @@
final boolean isWifiOnlySupported = isCarrierConfigManagerKeyEnabled(
CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL, subId, true);
final ImsManager imsManager = getImsManager(subId);
+ final ImsMmTelManager imsMmTelManager = getImsMmTelManager(subId);
if (!imsManager.isWfcEnabledByPlatform()
|| !imsManager.isWfcProvisionedOnDevice()) {
@@ -249,7 +251,7 @@
int wfcMode = -1;
try {
isWifiCallingEnabled = isWifiCallingEnabled(imsManager);
- wfcMode = getWfcMode(imsManager);
+ wfcMode = getWfcMode(imsMmTelManager);
} catch (InterruptedException | ExecutionException | TimeoutException e) {
Log.e(TAG, "Unable to get wifi calling preferred mode", e);
return null;
@@ -279,7 +281,7 @@
Uri sliceUri) {
final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.wifi_signal);
// Top row shows information on current preference state
- ListBuilder listBuilder = new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY)
+ final ListBuilder listBuilder = new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY)
.setAccentColor(Utils.getColorAccentDefaultColor(mContext));
listBuilder.setHeader(new ListBuilder.HeaderBuilder()
.setTitle(mContext.getText(R.string.wifi_calling_mode_title))
@@ -294,18 +296,18 @@
listBuilder.addRow(wifiPreferenceRowBuilder(listBuilder,
com.android.internal.R.string.wfc_mode_wifi_only_summary,
ACTION_WIFI_CALLING_PREFERENCE_WIFI_ONLY,
- currentWfcPref == ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY));
+ currentWfcPref == ImsMmTelManager.WIFI_MODE_WIFI_ONLY));
}
listBuilder.addRow(wifiPreferenceRowBuilder(listBuilder,
com.android.internal.R.string.wfc_mode_wifi_preferred_summary,
ACTION_WIFI_CALLING_PREFERENCE_WIFI_PREFERRED,
- currentWfcPref == ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED));
+ currentWfcPref == ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED));
listBuilder.addRow(wifiPreferenceRowBuilder(listBuilder,
com.android.internal.R.string.wfc_mode_cellular_preferred_summary,
ACTION_WIFI_CALLING_PREFERENCE_CELLULAR_PREFERRED,
- currentWfcPref == ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED));
+ currentWfcPref == ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
return listBuilder.build();
}
@@ -337,13 +339,13 @@
*/
private CharSequence getWifiCallingPreferenceSummary(int wfcMode) {
switch (wfcMode) {
- case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
+ case ImsMmTelManager.WIFI_MODE_WIFI_ONLY:
return mContext.getText(
com.android.internal.R.string.wfc_mode_wifi_only_summary);
- case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
+ case ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED:
return mContext.getText(
com.android.internal.R.string.wfc_mode_wifi_preferred_summary);
- case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
+ case ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED:
return mContext.getText(
com.android.internal.R.string.wfc_mode_cellular_preferred_summary);
default:
@@ -355,15 +357,19 @@
return ImsManager.getInstance(mContext, SubscriptionManager.getPhoneId(subId));
}
- private int getWfcMode(ImsManager imsManager)
+ protected ImsMmTelManager getImsMmTelManager(int subId) {
+ return ImsMmTelManager.createForSubscriptionId(subId);
+ }
+
+ private int getWfcMode(ImsMmTelManager imsMmTelManager)
throws InterruptedException, ExecutionException, TimeoutException {
- FutureTask<Integer> wfcModeTask = new FutureTask<>(new Callable<Integer>() {
+ final FutureTask<Integer> wfcModeTask = new FutureTask<>(new Callable<Integer>() {
@Override
public Integer call() {
- return imsManager.getWfcMode(false);
+ return imsMmTelManager.getVoWiFiModeSetting();
}
});
- ExecutorService executor = Executors.newSingleThreadExecutor();
+ final ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(wfcModeTask);
return wfcModeTask.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
}
@@ -420,7 +426,7 @@
final boolean isWifiOnlySupported = isCarrierConfigManagerKeyEnabled(
CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL, subId, true);
- ImsManager imsManager = getImsManager(subId);
+ final ImsManager imsManager = getImsManager(subId);
if (isWifiCallingPrefEditable
&& imsManager.isWfcEnabledByPlatform()
&& imsManager.isWfcProvisionedOnDevice()
@@ -428,25 +434,26 @@
&& imsManager.isNonTtyOrTtyOnVolteEnabled()) {
// Change the preference only when wifi calling is enabled
// And when wifi calling preference is editable for the current carrier
- final int currentValue = imsManager.getWfcMode(false);
+ final ImsMmTelManager imsMmTelManager = getImsMmTelManager(subId);
+ final int currentValue = imsMmTelManager.getVoWiFiModeSetting();
int newValue = errorValue;
switch (intent.getAction()) {
case ACTION_WIFI_CALLING_PREFERENCE_WIFI_ONLY:
if (isWifiOnlySupported) {
// change to wifi_only when wifi_only is enabled.
- newValue = ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY;
+ newValue = ImsMmTelManager.WIFI_MODE_WIFI_ONLY;
}
break;
case ACTION_WIFI_CALLING_PREFERENCE_WIFI_PREFERRED:
- newValue = ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED;
+ newValue = ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED;
break;
case ACTION_WIFI_CALLING_PREFERENCE_CELLULAR_PREFERRED:
- newValue = ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED;
+ newValue = ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED;
break;
}
if (newValue != errorValue && newValue != currentValue) {
// Update the setting only when there is a valid update
- imsManager.setWfcMode(newValue, false);
+ imsMmTelManager.setVoWiFiModeSetting(newValue);
}
}
}
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
index 965b0ff..e9d2e08 100644
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
@@ -64,7 +64,6 @@
import com.android.settings.core.FeatureFlags;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.datausage.WifiDataUsageSummaryPreferenceController;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
import com.android.settings.widget.EntityHeaderController;
import com.android.settings.wifi.WifiDialog;
import com.android.settings.wifi.WifiDialog.WifiDialogListener;
@@ -892,17 +891,8 @@
mWifiManager.disableEphemeralNetwork(mWifiInfo.getSSID());
} else if (mAccessPoint.isPasspoint() || mAccessPoint.isPasspointConfig()) {
// Post a dialog to confirm if user really want to forget the passpoint network.
- if (FeatureFlagPersistent.isEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2)) {
- showConfirmForgetDialog();
- return;
- }
-
- try {
- mWifiManager.removePasspointConfiguration(mAccessPoint.getPasspointFqdn());
- } catch (RuntimeException e) {
- Log.e(TAG, "Failed to remove Passpoint configuration for "
- + mAccessPoint.getPasspointFqdn());
- }
+ showConfirmForgetDialog();
+ return;
} else if (mWifiConfig != null) {
mWifiManager.forget(mWifiConfig.networkId, null /* action listener */);
}
diff --git a/tests/robotests/res/xml-mcc999/video_preference.xml b/tests/robotests/res/xml-mcc999/video_preference.xml
new file mode 100644
index 0000000..647a82f
--- /dev/null
+++ b/tests/robotests/res/xml-mcc999/video_preference.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2019 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:settings="http://schemas.android.com/apk/res-auto">
+ <com.android.settings.widget.VideoPreference
+ android:key="video1"
+ settings:animation="@raw/adaptive_sleep"
+ settings:preview="@drawable/adaptive_sleep"
+ android:title="seek_bar_title"/>
+ <com.android.settings.widget.VideoPreference
+ android:key="video2"
+ settings:animation="@raw/adaptive_sleep"
+ settings:preview="@drawable/adaptive_sleep"
+ settings:vectorAnimation="@drawable/adaptive_sleep"
+ android:title="seek_bar_title"/>
+</PreferenceScreen >
diff --git a/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java b/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
index 78d1f74..da234a1 100644
--- a/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
+++ b/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
@@ -10,12 +10,11 @@
import android.util.Xml;
import com.android.settings.R;
-import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settings.search.SearchFeatureProvider;
import com.android.settings.search.SearchFeatureProviderImpl;
-import com.android.settings.security.SecuritySettings;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
import org.junit.Before;
import org.junit.Test;
@@ -35,9 +34,6 @@
@RunWith(RobolectricTestRunner.class)
public class XmlControllerAttributeTest {
- // List of classes that are too hard to mock in order to retrieve xml information.
- private final List<Class> illegalClasses = Arrays.asList(SecuritySettings.class);
-
// List of XML that could be retrieved from the illegalClasses list.
private final List<Integer> whitelistXml = Arrays.asList(R.xml.security_dashboard_settings);
@@ -112,14 +108,12 @@
private Set<Integer> getIndexableXml() {
Set<Integer> xmlResSet = new HashSet<>();
- Collection<Class> indexableClasses =
+ Collection<SearchIndexableData> SearchIndexableDatas =
mSearchProvider.getSearchIndexableResources().getProviderValues();
- indexableClasses.removeAll(illegalClasses);
- for (Class clazz : indexableClasses) {
+ for (SearchIndexableData bundle : SearchIndexableDatas) {
- Indexable.SearchIndexProvider provider =
- DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+ Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
if (provider == null) {
continue;
diff --git a/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
index b7691af..702d689 100644
--- a/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
@@ -18,12 +18,8 @@
import static androidx.lifecycle.Lifecycle.Event.ON_START;
import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
-import static com.android.settings.network.MobileNetworkPreferenceController.MOBILE_NETWORK_CLASS;
-import static com.android.settings.network.MobileNetworkPreferenceController.MOBILE_NETWORK_PACKAGE;
-
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -31,23 +27,18 @@
import static org.mockito.Mockito.when;
import static org.robolectric.shadow.api.Shadow.extract;
-import android.app.Activity;
-import android.content.ComponentName;
import android.content.Context;
-import android.content.Intent;
import android.net.ConnectivityManager;
import android.os.UserManager;
import android.provider.Settings;
import android.provider.Settings.Global;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
-import android.util.FeatureFlagUtils;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
-import com.android.settings.core.FeatureFlags;
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
@@ -57,10 +48,8 @@
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@@ -186,18 +175,4 @@
mController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isFalse();
}
-
- @Test
- public void handlePreferenceTreeClick_mobileFeatureDisabled_sendIntent() {
- mController = new MobileNetworkPreferenceController(mContext);
- FeatureFlagUtils.setEnabled(mContext, FeatureFlags.MOBILE_NETWORK_V2, false);
- ArgumentCaptor<Intent> argument = ArgumentCaptor.forClass(Intent.class);
- doNothing().when(mContext).startActivity(argument.capture());
-
- mController.handlePreferenceTreeClick(mPreference);
-
- final ComponentName componentName = argument.getValue().getComponent();
- assertThat(componentName.getPackageName()).isEqualTo(MOBILE_NETWORK_PACKAGE);
- assertThat(componentName.getClassName()).isEqualTo(MOBILE_NETWORK_CLASS);
- }
}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
index d1a5e42..c4f1948 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
@@ -33,19 +33,12 @@
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
-import android.view.Menu;
-import android.view.View;
import androidx.test.core.app.ActivityScenario;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.internal.telephony.TelephonyIntents;
-import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
-
-import com.google.android.material.bottomnavigation.BottomNavigationView;
import org.junit.After;
import org.junit.Before;
@@ -124,26 +117,10 @@
private ActivityScenario<MobileNetworkActivity> createTargetActivity(Intent activityIntent,
boolean isInternetV2) {
- FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, isInternetV2);
return ActivityScenario.launch(activityIntent);
}
@Test
- public void updateBottomNavigationView_oneSubscription_shouldBeGone() {
- mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1);
-
- mMobileNetworkActivity = createTargetActivity(mTestIntent, false);
-
- mMobileNetworkActivity.moveToState(State.STARTED);
-
- mMobileNetworkActivity.onActivity(activity -> {
- final BottomNavigationView bottomNavigationView =
- activity.findViewById(R.id.bottom_nav);
- assertThat(bottomNavigationView.getVisibility()).isEqualTo(View.GONE);
- });
- }
-
- @Test
public void updateBottomNavigationViewV2_oneSubscription_shouldNotCrash() {
mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1);
@@ -153,22 +130,6 @@
}
@Test
- public void updateBottomNavigationView_twoSubscription_updateMenu() {
- mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1, mSubscriptionInfo2);
-
- mMobileNetworkActivity = createTargetActivity(mTestIntent, false);
-
- mMobileNetworkActivity.moveToState(State.STARTED);
-
- mMobileNetworkActivity.onActivity(activity -> {
- final BottomNavigationView bottomNavigationView =
- activity.findViewById(R.id.bottom_nav);
- final Menu menu = bottomNavigationView.getMenu();
- assertThat(menu.size()).isEqualTo(2);
- });
- }
-
- @Test
public void updateBottomNavigationViewV2_twoSubscription_shouldNotCrash() {
mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1, mSubscriptionInfo2);
@@ -189,14 +150,6 @@
mMobileNetworkActivity.onActivity(activity -> {
final MockMobileNetworkActivity mockActivity = (MockMobileNetworkActivity) activity;
assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo1);
-
- final BottomNavigationView bottomNavigationView =
- mockActivity.findViewById(R.id.bottom_nav);
- bottomNavigationView.setSelectedItemId(CURRENT_SUB_ID);
- assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo2);
-
- bottomNavigationView.setSelectedItemId(PREV_SUB_ID);
- assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo1);
});
}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java
index 4afe0fc..7ff3ab3 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java
@@ -36,9 +36,7 @@
import androidx.fragment.app.FragmentActivity;
-import com.android.settings.core.FeatureFlags;
import com.android.settings.datausage.DataUsageSummaryPreferenceController;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
import com.android.settings.widget.EntityHeaderController;
@@ -92,32 +90,13 @@
}
@Test
- public void onAttach_noV2Flag_noCrash() {
- FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, false);
+ public void onAttach_noCrash() {
mFragment.onAttach(mContext);
}
- @Test
- public void onAttach_v2Flag_noCrash() {
- FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true);
- mFragment.onAttach(mContext);
- }
@Test
- public void createPreferenceControllers_noV2Flag_noDataUsageSummaryController() {
- FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, false);
- final List<AbstractPreferenceController> controllers =
- mFragment.createPreferenceControllers(mContext);
- assertThat(controllers.stream().filter(
- c -> c.getClass().equals(DataUsageSummaryPreferenceController.class))
- .count())
- .isEqualTo(0);
- }
-
- @Test
- public void createPreferenceControllers_v2Flag_createsDataUsageSummaryController() {
- FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true);
-
+ public void createPreferenceControllers_createsDataUsageSummaryController() {
final List<AbstractPreferenceController> controllers =
mFragment.createPreferenceControllers(mContext);
assertThat(controllers.stream().filter(
diff --git a/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java
index 1048acd..a320c6e 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java
@@ -19,7 +19,6 @@
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNull;
-import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
@@ -31,12 +30,11 @@
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsMmTelManager;
import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceScreen;
-import com.android.ims.ImsConfig;
import com.android.ims.ImsManager;
import com.android.internal.R;
import com.android.settings.core.BasePreferenceController;
@@ -60,6 +58,8 @@
@Mock
private ImsManager mImsManager;
@Mock
+ private ImsMmTelManager mImsMmTelManager;
+ @Mock
private PreferenceScreen mPreferenceScreen;
private WifiCallingPreferenceController mController;
@@ -77,7 +77,12 @@
when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
mPreference = new Preference(mContext);
- mController = new WifiCallingPreferenceController(mContext, "wifi_calling");
+ mController = new WifiCallingPreferenceController(mContext, "wifi_calling") {
+ @Override
+ protected ImsMmTelManager getImsMmTelManager(int subId) {
+ return mImsMmTelManager;
+ }
+ };
mController.mCarrierConfigManager = mCarrierConfigManager;
mController.init(SUB_ID);
mController.mImsManager = mImsManager;
@@ -94,8 +99,10 @@
public void updateState_noSimCallManager_setCorrectSummary() {
mController.mSimCallManager = null;
when(mImsManager.isWfcEnabledByUser()).thenReturn(true);
- when(mImsManager.getWfcMode(anyBoolean())).thenReturn(
- ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY);
+ when(mImsMmTelManager.getVoWiFiRoamingModeSetting()).thenReturn(
+ ImsMmTelManager.WIFI_MODE_WIFI_ONLY);
+ when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+ ImsMmTelManager.WIFI_MODE_WIFI_ONLY);
mController.updateState(mPreference);
@@ -129,10 +136,10 @@
mController.init(SUB_ID);
mController.mImsManager = mImsManager;
- when(mImsManager.getWfcMode(true)).thenReturn(
- ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED);
- when(mImsManager.getWfcMode(false)).thenReturn(
- ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED);
+ when(mImsMmTelManager.getVoWiFiRoamingModeSetting()).thenReturn(
+ ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
+ when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+ ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED);
when(mImsManager.isWfcEnabledByUser()).thenReturn(true);
when(mTelephonyManager.isNetworkRoaming()).thenReturn(true);
@@ -146,10 +153,10 @@
assertNull(mController.mSimCallManager);
// useWfcHomeModeForRoaming is false by default. In order to check wfc in roaming mode. We
// need the device roaming, and not using home mode in roaming network.
- when(mImsManager.getWfcMode(true)).thenReturn(
- ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED);
- when(mImsManager.getWfcMode(false)).thenReturn(
- ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED);
+ when(mImsMmTelManager.getVoWiFiRoamingModeSetting()).thenReturn(
+ ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
+ when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+ ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED);
when(mImsManager.isWfcEnabledByUser()).thenReturn(true);
when(mTelephonyManager.isNetworkRoaming()).thenReturn(true);
@@ -169,7 +176,7 @@
@Test
public void displayPreference_available_setsSubscriptionIdOnIntent() {
- Intent intent = new Intent();
+ final Intent intent = new Intent();
mPreference.setIntent(intent);
mController.displayPreference(mPreferenceScreen);
assertThat(intent.getIntExtra(Settings.EXTRA_SUB_ID,
diff --git a/src/com/android/settings/search/DatabaseIndexingUtils.java b/tests/robotests/src/com/android/settings/search/DatabaseIndexingUtils.java
similarity index 90%
rename from src/com/android/settings/search/DatabaseIndexingUtils.java
rename to tests/robotests/src/com/android/settings/search/DatabaseIndexingUtils.java
index 21936a0..0aa70ae 100644
--- a/src/com/android/settings/search/DatabaseIndexingUtils.java
+++ b/tests/robotests/src/com/android/settings/search/DatabaseIndexingUtils.java
@@ -12,7 +12,6 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
package com.android.settings.search;
@@ -41,14 +40,14 @@
} catch (NoSuchFieldException e) {
Log.d(TAG, "Cannot find field '" + FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
} catch (SecurityException se) {
- Log.d(TAG, "Security exception for field '" +
- FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
+ Log.d(TAG,
+ "Security exception for field '" + FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
} catch (IllegalAccessException e) {
Log.d(TAG, "Illegal access to field '" + FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
} catch (IllegalArgumentException e) {
- Log.d(TAG, "Illegal argument when accessing field '" +
- FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
+ Log.d(TAG, "Illegal argument when accessing field '"
+ + FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
}
return null;
}
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java b/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java
index c75e3b1..9daac80 100644
--- a/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java
+++ b/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java
@@ -26,6 +26,7 @@
import com.android.settings.core.codeinspection.CodeInspector;
import com.android.settings.dashboard.DashboardFragmentSearchIndexProviderInspector;
import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
import com.android.settingslib.search.SearchIndexableResources;
import org.robolectric.RuntimeEnvironment;
@@ -54,7 +55,7 @@
+ " but these are not: \n";
private static final String NOT_PROVIDING_VALID_RESOURCE_ERROR =
"SearchIndexableProvider must either provide no resource to index, or valid ones. "
- + "But the followings contain resource with xml id = 0\n";
+ + "But the followings contain resource with xml id = 0\n";
private final List<String> notImplementingIndexProviderGrandfatherList;
private final List<String> notInSearchIndexableRegistryGrandfatherList;
@@ -79,6 +80,13 @@
final Set<String> notInSearchProviderRegistry = new ArraySet<>();
final Set<String> notSharingPreferenceControllers = new ArraySet<>();
final Set<String> notProvidingValidResource = new ArraySet<>();
+ final Set<Class> providerClasses = new ArraySet<>();
+
+ final SearchFeatureProvider provider = new SearchFeatureProviderImpl();
+ for (SearchIndexableData bundle :
+ provider.getSearchIndexableResources().getProviderValues()) {
+ providerClasses.add(bundle.getTargetClass());
+ }
for (Class clazz : mClasses) {
if (!isConcreteSettingsClass(clazz)) {
@@ -108,8 +116,7 @@
continue;
}
// Must be in SearchProviderRegistry
- SearchFeatureProvider provider = new SearchFeatureProviderImpl();
- if (!provider.getSearchIndexableResources().getProviderValues().contains(clazz)) {
+ if (!providerClasses.contains(clazz)) {
if (!notInSearchIndexableRegistryGrandfatherList.remove(className)) {
notInSearchProviderRegistry.add(className);
}
diff --git a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
index ff2acdc..5bcce57 100644
--- a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
+++ b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
@@ -21,7 +21,6 @@
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.fail;
-
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
@@ -32,6 +31,7 @@
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.FakeIndexProvider;
import com.android.settings.wifi.WifiSettings;
+import com.android.settingslib.search.SearchIndexableData;
import org.junit.After;
import org.junit.Before;
@@ -65,11 +65,11 @@
.doesNotContain(String.class);
final int beforeCount =
mSearchProvider.getSearchIndexableResources().getProviderValues().size();
-
- mSearchProvider.getSearchIndexableResources().addIndex(String.class);
+ final SearchIndexableData testBundle = new SearchIndexableData(null, null);
+ mSearchProvider.getSearchIndexableResources().addIndex(testBundle);
assertThat(mSearchProvider.getSearchIndexableResources().getProviderValues())
- .contains(String.class);
+ .contains(testBundle);
final int afterCount =
mSearchProvider.getSearchIndexableResources().getProviderValues().size();
assertThat(afterCount).isEqualTo(beforeCount + 1);
@@ -77,14 +77,22 @@
@Test
public void testIndexHasWifiSettings() {
- assertThat(mSearchProvider.getSearchIndexableResources().getProviderValues())
- .contains(WifiSettings.class);
+ boolean hasWifi = false;
+ for (SearchIndexableData bundle :
+ mSearchProvider.getSearchIndexableResources().getProviderValues()) {
+ if (bundle.getTargetClass().getName().equals(WifiSettings.class.getName())) {
+ hasWifi = true;
+ break;
+ }
+ }
+ assertThat(hasWifi).isTrue();
}
@Test
public void testNonIndexableKeys_GetsKeyFromProvider() {
mSearchProvider.getSearchIndexableResources().getProviderValues().clear();
- mSearchProvider.getSearchIndexableResources().addIndex(FakeIndexProvider.class);
+ mSearchProvider.getSearchIndexableResources().addIndex(
+ new SearchIndexableData(null, FakeIndexProvider.SEARCH_INDEX_DATA_PROVIDER));
SettingsSearchIndexablesProvider provider = spy(new SettingsSearchIndexablesProvider());
@@ -105,9 +113,10 @@
@Test
public void testAllClassNamesHaveProviders() {
- for (Class clazz : mSearchProvider.getSearchIndexableResources().getProviderValues()) {
- if (DatabaseIndexingUtils.getSearchIndexProvider(clazz) == null) {
- fail(clazz.getName() + "is not an index provider");
+ for (SearchIndexableData data :
+ mSearchProvider.getSearchIndexableResources().getProviderValues()) {
+ if (DatabaseIndexingUtils.getSearchIndexProvider(data.getTargetClass()) == null) {
+ fail(data.getTargetClass().getName() + "is not an index provider");
}
}
}
diff --git a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
index 2a8407b..0db684e 100644
--- a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
+++ b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
@@ -13,6 +13,7 @@
import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.search.SearchIndexableData;
import org.junit.After;
import org.junit.Before;
@@ -46,7 +47,8 @@
final SearchFeatureProvider featureProvider = new SearchFeatureProviderImpl();
featureProvider.getSearchIndexableResources().getProviderValues().clear();
featureProvider.getSearchIndexableResources().getProviderValues()
- .add(FakeSettingsFragment.class);
+ .add(new SearchIndexableData(FakeSettingsFragment.class,
+ FakeSettingsFragment.SEARCH_INDEX_DATA_PROVIDER));
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
mFakeFeatureFactory.searchFeatureProvider = featureProvider;
}
diff --git a/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java b/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
index 21944fc..72eae7d 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
@@ -31,11 +31,11 @@
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.core.codeinspection.CodeInspector;
import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settings.search.SearchFeatureProvider;
import com.android.settings.search.SearchFeatureProviderImpl;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
import org.robolectric.RuntimeEnvironment;
import org.xmlpull.v1.XmlPullParserException;
@@ -146,13 +146,12 @@
private List<Integer> getIndexableXml() {
final List<Integer> xmlResSet = new ArrayList<>();
- final Collection<Class> indexableClasses = FeatureFactory.getFactory(
+ final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(
mContext).getSearchFeatureProvider().getSearchIndexableResources()
.getProviderValues();
- for (Class clazz : indexableClasses) {
- Indexable.SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(
- clazz);
+ for (SearchIndexableData bundle : bundles) {
+ Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
if (provider == null) {
continue;
diff --git a/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java b/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java
index 63da4d0..3ce964c 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java
@@ -37,6 +37,7 @@
import com.android.settings.search.SearchFeatureProviderImpl;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.FakeIndexProvider;
+import com.android.settingslib.search.SearchIndexableData;
import org.junit.After;
import org.junit.Before;
@@ -92,7 +93,8 @@
public void testFakeProvider_convertsFakeData() {
mSearchFeatureProvider.getSearchIndexableResources().getProviderValues().clear();
mSearchFeatureProvider.getSearchIndexableResources().getProviderValues()
- .add(FakeIndexProvider.class);
+ .add(new SearchIndexableData(FakeIndexProvider.class,
+ FakeIndexProvider.SEARCH_INDEX_DATA_PROVIDER));
doReturn(getFakeService()).when(mSliceDataConverter).getAccessibilityServiceInfoList();
diff --git a/tests/robotests/src/com/android/settings/slices/SlicesDatabaseAccessorTest.java b/tests/robotests/src/com/android/settings/slices/SlicesDatabaseAccessorTest.java
index bed5a27..a28dba8 100644
--- a/tests/robotests/src/com/android/settings/slices/SlicesDatabaseAccessorTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SlicesDatabaseAccessorTest.java
@@ -24,9 +24,7 @@
import android.app.ApplicationPackageManager;
import android.content.ComponentName;
import android.content.ContentResolver;
-import android.content.ContentValues;
import android.content.Context;
-import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.provider.SettingsSlicesContract;
import android.view.accessibility.AccessibilityManager;
@@ -40,6 +38,7 @@
import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settingslib.search.SearchIndexableData;
import org.junit.After;
import org.junit.Before;
@@ -217,7 +216,8 @@
// Fake the indexable list.
provider.getSearchIndexableResources().getProviderValues().clear();
provider.getSearchIndexableResources().getProviderValues().add(
- FakeIndexProvider.class);
+ new SearchIndexableData(FakeIndexProvider.class,
+ FakeIndexProvider.SEARCH_INDEX_DATA_PROVIDER));
final SlicesDatabaseAccessor accessor = new SlicesDatabaseAccessor(mContext);
final List<Uri> keys = accessor.getSliceUris(SettingsSliceProvider.SLICE_AUTHORITY);
diff --git a/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
index 09ee615..3439ca4 100644
--- a/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
@@ -27,11 +27,13 @@
import android.content.Context;
import android.graphics.SurfaceTexture;
+import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.TextureView;
import android.view.View;
import android.widget.ImageView;
+import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
@@ -45,6 +47,7 @@
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowSettingsMediaPlayer.class)
@@ -135,4 +138,29 @@
verify(fakePreview).setVisibility(eq(View.GONE));
assertThat(mAnimationController.isPlaying()).isTrue();
}
+
+ @Test
+ @Config(qualifiers = "mcc999")
+ public void onViewVisible_createAnimationController() {
+ final PreferenceFragmentCompat fragment = FragmentController.of(
+ new VideoPreferenceTest.TestFragment(),
+ new Bundle())
+ .create()
+ .start()
+ .resume()
+ .get();
+
+ final VideoPreference vp1 = fragment.findPreference("video1");
+ final VideoPreference vp2 = fragment.findPreference("video2");
+
+ assertThat(vp1.mAnimationController instanceof MediaAnimationController).isTrue();
+ assertThat(vp2.mAnimationController instanceof VectorAnimationController).isTrue();
+ }
+
+ public static class TestFragment extends PreferenceFragmentCompat {
+ @Override
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+ addPreferencesFromResource(R.xml.video_preference);
+ }
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
index 6fc2551..410c072 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
@@ -17,11 +17,12 @@
package com.android.settings.wifi.calling;
import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
+
import static com.google.common.truth.Truth.assertThat;
import static junit.framework.Assert.assertEquals;
+
import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doNothing;
@@ -42,6 +43,7 @@
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsMmTelManager;
import android.telephony.ims.ProvisioningManager;
import android.view.View;
import android.widget.TextView;
@@ -53,8 +55,6 @@
import com.android.ims.ImsManager;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settings.widget.SwitchBar;
import com.android.settings.widget.ToggleSwitch;
@@ -67,8 +67,8 @@
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
-import org.robolectric.util.ReflectionHelpers;
import org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
@Config(shadows = ShadowFragment.class)
@RunWith(RobolectricTestRunner.class)
@@ -86,6 +86,7 @@
@Mock private static CarrierConfigManager sCarrierConfigManager;
@Mock private CarrierConfigManager mMockConfigManager;
@Mock private ImsManager mImsManager;
+ @Mock private ImsMmTelManager mImsMmTelManager;
@Mock private TelephonyManager mTelephonyManager;
@Mock private PreferenceScreen mPreferenceScreen;
@Mock private SettingsActivity mActivity;
@@ -127,12 +128,15 @@
doReturn(mSwitchBar).when(mView).findViewById(R.id.switch_bar);
doReturn(mImsManager).when(mFragment).getImsManager();
+ doReturn(mImsMmTelManager).when(mFragment).getImsMmTelManager();
doReturn(mImsConfig).when(mImsManager).getConfigInterface();
doReturn(true).when(mImsManager).isWfcProvisionedOnDevice();
doReturn(true).when(mImsManager).isWfcEnabledByUser();
doReturn(true).when(mImsManager).isNonTtyOrTtyOnVolteEnabled();
- doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
- .when(mImsManager).getWfcMode(anyBoolean());
+ doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+ .when(mImsMmTelManager).getVoWiFiModeSetting();
+ doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+ .when(mImsMmTelManager).getVoWiFiRoamingModeSetting();
doReturn(mBundle).when(sCarrierConfigManager).getConfigForSubId(anyInt());
setDefaultCarrierConfigValues();
@@ -251,15 +255,13 @@
// Set the WFC home mode.
mFragment.onPreferenceChange(mButtonWfcMode,
- String.valueOf(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED));
+ String.valueOf(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
// Check that only WFC home mode is set.
- verify(mImsManager, times(1)).setWfcMode(
- eq(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED),
- eq(false));
- verify(mImsManager, never()).setWfcMode(
- eq(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED),
- eq(true));
+ verify(mImsMmTelManager, times(1)).setVoWiFiModeSetting(
+ eq(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
+ verify(mImsMmTelManager, never()).setVoWiFiRoamingModeSetting(
+ eq(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
}
@Test
@@ -272,34 +274,32 @@
// Set the WFC home mode.
mFragment.onPreferenceChange(mButtonWfcMode,
- String.valueOf(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED));
+ String.valueOf(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
// Check that both WFC home mode and roaming mode are set.
- verify(mImsManager, times(1)).setWfcMode(
- eq(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED),
- eq(false));
- verify(mImsManager, times(1)).setWfcMode(
- eq(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED),
- eq(true));
+ verify(mImsMmTelManager, times(1)).setVoWiFiModeSetting(
+ eq(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
+ verify(mImsMmTelManager, times(1)).setVoWiFiRoamingModeSetting(
+ eq(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
}
@Test
public void onSwitchChanged_enableSetting_shouldLaunchWfcDisclaimerFragment() {
- ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+ final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
mFragment.onSwitchChanged(null, true);
// Check the WFC disclaimer fragment is launched.
verify(mFragment).startActivityForResult(intentCaptor.capture(),
eq(WifiCallingSettingsForSub.REQUEST_CHECK_WFC_DISCLAIMER));
- Intent intent = intentCaptor.getValue();
+ final Intent intent = intentCaptor.getValue();
assertThat(intent.getStringExtra(EXTRA_SHOW_FRAGMENT))
.isEqualTo(WifiCallingDisclaimerFragment.class.getName());
}
@Test
public void onActivityResult_finishWfcDisclaimerFragment_shouldLaunchCarrierActivity() {
- ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+ final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
// Emulate the WfcDisclaimerActivity finish.
mFragment.onActivityResult(WifiCallingSettingsForSub.REQUEST_CHECK_WFC_DISCLAIMER,
@@ -308,7 +308,7 @@
// Check the WFC emergency address activity is launched.
verify(mFragment).startActivityForResult(intentCaptor.capture(),
eq(WifiCallingSettingsForSub.REQUEST_CHECK_WFC_EMERGENCY_ADDRESS));
- Intent intent = intentCaptor.getValue();
+ final Intent intent = intentCaptor.getValue();
assertEquals(intent.getComponent(), ComponentName.unflattenFromString(
TEST_EMERGENCY_ADDRESS_CARRIER_APP));
}
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
index 644e5e8..a22a18d 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
@@ -22,7 +22,6 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
@@ -32,6 +31,7 @@
import android.content.Context;
import android.content.Intent;
import android.telephony.CarrierConfigManager;
+import android.telephony.ims.ImsMmTelManager;
import androidx.slice.Slice;
import androidx.slice.SliceItem;
@@ -44,7 +44,6 @@
import androidx.slice.widget.SliceContent;
import androidx.slice.widget.SliceLiveData;
-import com.android.ims.ImsConfig;
import com.android.ims.ImsManager;
import com.android.settings.R;
import com.android.settings.slices.CustomSliceRegistry;
@@ -76,6 +75,9 @@
@Mock
private ImsManager mMockImsManager;
+ @Mock
+ private ImsMmTelManager mMockImsMmTelManager;
+
private FakeWifiCallingSliceHelper mWfcSliceHelper;
private SettingsSliceProvider mProvider;
private SliceBroadcastReceiver mReceiver;
@@ -189,10 +191,10 @@
.thenReturn(mWfcSliceHelper);
mWfcSliceHelper.setActivationAppIntent(null);
- ArgumentCaptor<Boolean> mWfcSettingCaptor = ArgumentCaptor.forClass(Boolean.class);
+ final ArgumentCaptor<Boolean> mWfcSettingCaptor = ArgumentCaptor.forClass(Boolean.class);
// turn on Wifi calling setting
- Intent intent = new Intent(WifiCallingSliceHelper.ACTION_WIFI_CALLING_CHANGED);
+ final Intent intent = new Intent(WifiCallingSliceHelper.ACTION_WIFI_CALLING_CHANGED);
intent.putExtra(EXTRA_TOGGLE_STATE, true);
// change the setting
@@ -242,8 +244,8 @@
when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
when(mMockImsManager.isWfcEnabledByUser()).thenReturn(true);
when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
- when(mMockImsManager.getWfcMode(false)).thenReturn(
- ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED);
+ when(mMockImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+ ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
mWfcSliceHelper.setIsWifiCallingPrefEditable(true);
final Slice slice = mWfcSliceHelper.createWifiCallingPreferenceSlice(
@@ -260,8 +262,8 @@
when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
when(mMockImsManager.isWfcEnabledByUser()).thenReturn(true);
when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
- when(mMockImsManager.getWfcMode(false)).thenReturn(
- ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED);
+ when(mMockImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+ ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext))
.thenReturn(mWfcSliceHelper);
mWfcSliceHelper.setIsWifiCallingPrefEditable(true);
@@ -279,25 +281,26 @@
when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
when(mMockImsManager.isWfcEnabledByUser()).thenReturn(true);
when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
- when(mMockImsManager.getWfcMode(false)).thenReturn(
- ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED);
+ when(mMockImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+ ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext))
.thenReturn(mWfcSliceHelper);
mWfcSliceHelper.setIsWifiCallingPrefEditable(true);
- ArgumentCaptor<Integer> mWfcPreferenceCaptor = ArgumentCaptor.forClass(Integer.class);
+ final ArgumentCaptor<Integer> mWfcPreferenceCaptor =
+ ArgumentCaptor.forClass(Integer.class);
// Change preference to Cellular pref
- Intent intent = new Intent(
+ final Intent intent = new Intent(
WifiCallingSliceHelper.ACTION_WIFI_CALLING_PREFERENCE_CELLULAR_PREFERRED);
mReceiver.onReceive(mContext, intent);
- verify((mMockImsManager)).setWfcMode(mWfcPreferenceCaptor.capture(), eq(false));
+ verify((mMockImsMmTelManager)).setVoWiFiModeSetting(mWfcPreferenceCaptor.capture());
// assert the change
assertThat(mWfcPreferenceCaptor.getValue()).isEqualTo(
- ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED);
+ ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED);
}
private void testWifiCallingSettingsUnavailableSlice(Slice slice,
@@ -400,7 +403,7 @@
private void assertTitle(List<SliceItem> sliceItems, String title) {
boolean hasTitle = false;
for (SliceItem item : sliceItems) {
- List<SliceItem> titleItems = SliceQuery.findAll(item, FORMAT_TEXT, HINT_TITLE,
+ final List<SliceItem> titleItems = SliceQuery.findAll(item, FORMAT_TEXT, HINT_TITLE,
null /* non-hints */);
if (titleItems == null) {
continue;
@@ -434,6 +437,11 @@
return mMockImsManager;
}
+ @Override
+ protected ImsMmTelManager getImsMmTelManager(int subId) {
+ return mMockImsMmTelManager;
+ }
+
protected int getDefaultVoiceSubId() {
return mSubId;
}
diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
index 81ac064..3ba7738 100644
--- a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
@@ -69,8 +69,6 @@
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.Utils;
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
import com.android.settings.widget.EntityHeaderController;
@@ -1131,24 +1129,7 @@
}
@Test
- public void forgetNetwork_v1_Passpoint() {
- setUpForConnectedNetwork();
- FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, false);
-
- mockWifiConfig.networkId = 5;
- when(mockAccessPoint.isPasspoint()).thenReturn(true);
- when(mockAccessPoint.getPasspointFqdn()).thenReturn(FQDN);
-
- mController.displayPreference(mockScreen);
- mForgetClickListener.getValue().onClick(null);
-
- verify(mockWifiManager).removePasspointConfiguration(FQDN);
- verify(mockMetricsFeatureProvider)
- .action(mockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
- }
-
- @Test
- public void forgetNetwork_PasspointV2_shouldShowDialog() {
+ public void forgetNetwork_shouldShowDialog() {
setUpForConnectedNetwork();
final WifiDetailPreferenceController spyController = spy(mController);
@@ -1156,7 +1137,6 @@
when(mockAccessPoint.isPasspoint()).thenReturn(true);
when(mockAccessPoint.getPasspointFqdn()).thenReturn(FQDN);
spyController.displayPreference(mockScreen);
- FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true);
mForgetClickListener.getValue().onClick(null);
diff --git a/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java b/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java
index 3fcccf6..2d083f0 100644
--- a/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java
+++ b/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java
@@ -29,8 +29,8 @@
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.SearchIndexableData;
import com.android.settingslib.search.SearchIndexableResources;
import org.junit.Before;
@@ -60,10 +60,10 @@
final SearchIndexableResources resources =
FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
.getSearchIndexableResources();
- for (Class<?> clazz : resources.getProviderValues()) {
+ for (SearchIndexableData bundle : resources.getProviderValues()) {
final BaseSearchIndexProvider provider =
- (BaseSearchIndexProvider) DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+ (BaseSearchIndexProvider) bundle.getSearchIndexProvider();
if (provider == null) {
continue;
}
diff --git a/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java b/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java
index 251c512..9ed1c91 100644
--- a/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java
+++ b/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java
@@ -32,8 +32,8 @@
import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
import com.android.settingslib.search.SearchIndexableRaw;
import com.android.settingslib.search.SearchIndexableResources;
@@ -120,8 +120,8 @@
final SearchIndexableResources resources =
FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
.getSearchIndexableResources();
- for (Class<?> clazz : resources.getProviderValues()) {
- verifyPreferenceKeys(uniqueKeys, duplicatedKeys, nullKeyClasses, clazz);
+ for (SearchIndexableData SearchIndexableData : resources.getProviderValues()) {
+ verifyPreferenceKeys(uniqueKeys, duplicatedKeys, nullKeyClasses, SearchIndexableData);
}
if (!nullKeyClasses.isEmpty()) {
@@ -145,14 +145,12 @@
}
private void verifyPreferenceKeys(Set<String> uniqueKeys, Set<String> duplicatedKeys,
- Set<String> nullKeyClasses, Class<?> clazz)
+ Set<String> nullKeyClasses, SearchIndexableData searchIndexableData)
throws IOException, XmlPullParserException, Resources.NotFoundException {
- if (clazz == null) {
- return;
- }
- final String className = clazz.getName();
+
+ final String className = searchIndexableData.getTargetClass().getName();
final Indexable.SearchIndexProvider provider =
- DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+ searchIndexableData.getSearchIndexProvider();
final List<SearchIndexableRaw> rawsToIndex = provider.getRawDataToIndex(mContext, true);
final List<SearchIndexableResource> resourcesToIndex =
provider.getXmlResourcesToIndex(mContext, true);
diff --git a/tests/unit/src/com/android/settings/core/UserRestrictionTest.java b/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
index 0f5260a..e8e4927 100644
--- a/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
+++ b/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
@@ -33,8 +33,8 @@
import androidx.test.runner.AndroidJUnit4;
import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
import com.android.settingslib.search.SearchIndexableResources;
import com.google.android.collect.Sets;
@@ -84,22 +84,21 @@
final SearchIndexableResources resources =
FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
.getSearchIndexableResources();
- for (Class<?> clazz : resources.getProviderValues()) {
- verifyUserRestriction(clazz);
+ for (SearchIndexableData bundle : resources.getProviderValues()) {
+ verifyUserRestriction(bundle);
}
}
- private void verifyUserRestriction(Class<?> clazz)
+ private void verifyUserRestriction(SearchIndexableData searchIndexableData)
throws IOException, XmlPullParserException, Resources.NotFoundException {
- if (clazz == null) {
- return;
- }
- final String className = clazz.getName();
+
final Indexable.SearchIndexProvider provider =
- DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+ searchIndexableData.getSearchIndexProvider();
final List<SearchIndexableResource> resourcesToIndex =
provider.getXmlResourcesToIndex(mContext, true);
+ final String className = searchIndexableData.getTargetClass().getName();
+
if (resourcesToIndex == null) {
Log.d(TAG, className + "is not providing SearchIndexableResource, skipping");
return;
diff --git a/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java b/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java
index 7e5a8b0..61629e9 100644
--- a/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java
+++ b/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java
@@ -31,8 +31,8 @@
import com.android.settings.core.PreferenceXmlParserUtils;
import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
import com.android.settingslib.search.SearchIndexableResources;
import org.junit.Before;
@@ -67,8 +67,8 @@
FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
.getSearchIndexableResources();
- for (Class<?> clazz : resources.getProviderValues()) {
- verifyPreferenceTitle(nullTitleFragments, clazz);
+ for (SearchIndexableData SearchIndexableData : resources.getProviderValues()) {
+ verifyPreferenceTitle(nullTitleFragments, SearchIndexableData);
}
if (!nullTitleFragments.isEmpty()) {
@@ -82,14 +82,13 @@
}
}
- private void verifyPreferenceTitle(Set<String> nullTitleFragments, Class<?> clazz)
+ private void verifyPreferenceTitle(Set<String> nullTitleFragments,
+ SearchIndexableData searchIndexableData)
throws IOException, XmlPullParserException {
- if (clazz == null) {
- return;
- }
- final String className = clazz.getName();
+
+ final String className = searchIndexableData.getTargetClass().getName();
final Indexable.SearchIndexProvider provider =
- DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+ searchIndexableData.getSearchIndexProvider();
final List<SearchIndexableResource> resourcesToIndex =
provider.getXmlResourcesToIndex(mContext, true);
diff --git a/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java b/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
index 3198914..c8a38f9 100644
--- a/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
+++ b/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
@@ -28,7 +28,6 @@
import static org.hamcrest.CoreMatchers.anything;
import static org.junit.Assert.assertEquals;
import static org.junit.matchers.JUnitMatchers.containsString;
-import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doReturn;
@@ -38,13 +37,13 @@
import android.content.Intent;
import android.support.test.uiautomator.UiDevice;
import android.telephony.SubscriptionInfo;
+import android.telephony.ims.ImsMmTelManager;
import androidx.test.InstrumentationRegistry;
import androidx.test.espresso.NoMatchingViewException;
import androidx.test.espresso.ViewInteraction;
import androidx.test.runner.AndroidJUnit4;
-import com.android.ims.ImsConfig;
import com.android.ims.ImsManager;
import com.android.internal.telephony.SubscriptionController;
import com.android.settings.testutils.MockedServiceManager;
@@ -87,6 +86,10 @@
ImsManager mImsManager0;
@Mock
ImsManager mImsManager1;
+ @Mock
+ ImsMmTelManager mImsMmTelManager0;
+ @Mock
+ ImsMmTelManager mImsMmTelManager1;
@Before
public void setUp() throws Exception {
@@ -134,10 +137,10 @@
public void testSingleSimUi() throws InterruptedException {
configureSingleSim();
doReturn(true).when(mImsManager0).isWfcEnabledByUser();
- doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
- .when(mImsManager0).getWfcMode();
- doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
- .when(mImsManager0).getWfcMode(anyBoolean());
+ doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+ .when(mImsMmTelManager0).getVoWiFiModeSetting();
+ doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+ .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
mInstrumentation.startActivitySync(createActivityIntent());
@@ -179,10 +182,10 @@
doReturn(false).when(mImsManager1).isWfcEnabledByPlatform();
doReturn(false).when(mImsManager1).isNonTtyOrTtyOnVolteEnabled();
doReturn(false).when(mImsManager0).isWfcEnabledByUser();
- doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
- .when(mImsManager0).getWfcMode();
- doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
- .when(mImsManager0).getWfcMode(anyBoolean());
+ doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+ .when(mImsMmTelManager0).getVoWiFiModeSetting();
+ doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+ .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
Activity activity = mInstrumentation.startActivitySync(createActivityIntent());
@@ -198,10 +201,10 @@
public void testWfcDisabled() throws InterruptedException {
configureSingleSim();
doReturn(false).when(mImsManager0).isWfcEnabledByUser();
- doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
- .when(mImsManager0).getWfcMode();
- doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
- .when(mImsManager0).getWfcMode(anyBoolean());
+ doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+ .when(mImsMmTelManager0).getVoWiFiModeSetting();
+ doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+ .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
Activity activity = mInstrumentation.startActivitySync(createActivityIntent());
@@ -218,10 +221,10 @@
configureDualSim();
doReturn(true).when(mImsManager0).isWfcEnabledByUser();
doReturn(false).when(mImsManager1).isWfcEnabledByUser();
- doReturn(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED)
- .when(mImsManager0).getWfcMode();
- doReturn(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED)
- .when(mImsManager0).getWfcMode(anyBoolean());
+ doReturn(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED)
+ .when(mImsMmTelManager0).getVoWiFiModeSetting();
+ doReturn(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED)
+ .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
mInstrumentation.startActivitySync(createActivityIntent());
@@ -256,6 +259,7 @@
com.android.settings.Settings.WifiCallingSettingsActivity.class);
intent.setPackage("com.android.settings");
intent.setAction("android.intent.action.MAIN");
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
return intent;
}