Merge "Add "Previously connected devices" activity in settings for system ui QS bluetooth dialog." into main
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 646a3ee..2cd7806 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -11424,15 +11424,6 @@
     <!-- Summary for Wi-Fi calling to explain this feature [CHAR LIMIT=NONE] -->
     <string name="wifi_calling_summary">Use Wi\u2011Fi for calls to improve quality</string>
 
-    <!-- Mobile network settings screen, title of Backup calling setting.  [CHAR LIMIT=NONE] -->
-    <string name="backup_calling_settings_title">Backup calling</string>
-
-    <!-- Backup calling summary.  [CHAR LIMIT=100] -->
-    <string name="backup_calling_setting_summary">If <xliff:g id="backup_calling_operator_text" example="Google Fi">%1$s</xliff:g> is unavailable or roaming, use your mobile data SIM for <xliff:g id="backup_calling_carrier_text" example="Google Fi">%1$s</xliff:g> calls.</string>
-
-    <!-- List of synonyms for the cross SIM calling titles, used to match in settings search [CHAR LIMIT=NONE] -->
-    <string name="keywords_backup_calling">backup calling</string>
-
     <!-- Title for enable MMS notification when trying to receive MMS.  [CHAR LIMIT=40] -->
     <string name="enable_receiving_mms_notification_title">Incoming MMS message</string>
     <!-- Title for enable MMS notification when trying to send MMS.  [CHAR LIMIT=40] -->
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
index f48aacd..e7345ab 100644
--- a/src/com/android/settings/datausage/DataUsageList.java
+++ b/src/com/android/settings/datausage/DataUsageList.java
@@ -18,7 +18,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
-import android.net.ConnectivityManager;
 import android.net.NetworkPolicy;
 import android.net.NetworkTemplate;
 import android.os.Bundle;
@@ -62,7 +61,6 @@
 
     static final String EXTRA_SUB_ID = "sub_id";
     static final String EXTRA_NETWORK_TEMPLATE = "network_template";
-    static final String EXTRA_NETWORK_TYPE = "network_type";
 
     private static final String TAG = "DataUsageList";
     private static final boolean LOGD = false;
@@ -83,8 +81,6 @@
     @VisibleForTesting
     int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     @VisibleForTesting
-    int mNetworkType;
-    @VisibleForTesting
     LoadingViewController mLoadingViewController;
 
     private ChartDataUsagePreference mChart;
@@ -205,7 +201,6 @@
         if (args != null) {
             mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
             mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE);
-            mNetworkType = args.getInt(EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_MOBILE);
         }
         if (mTemplate == null && mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             final Intent intent = getIntent();
diff --git a/src/com/android/settings/datausage/DataUsagePreference.java b/src/com/android/settings/datausage/DataUsagePreference.java
index 0f7bf58..07368c7 100644
--- a/src/com/android/settings/datausage/DataUsagePreference.java
+++ b/src/com/android/settings/datausage/DataUsagePreference.java
@@ -18,7 +18,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.TypedArray;
-import android.net.ConnectivityManager;
 import android.net.NetworkTemplate;
 import android.os.Bundle;
 import android.util.AttributeSet;
@@ -78,9 +77,6 @@
         final SubSettingLauncher launcher;
         args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
         args.putInt(DataUsageList.EXTRA_SUB_ID, mSubId);
-        args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, mTemplate.getMatchRule()
-                == NetworkTemplate.MATCH_MOBILE
-                ? ConnectivityManager.TYPE_MOBILE : ConnectivityManager.TYPE_WIFI);
         launcher = new SubSettingLauncher(getContext())
             .setArguments(args)
             .setDestination(DataUsageList.class.getName())
diff --git a/src/com/android/settings/network/telephony/BackupCallingPreferenceController.java b/src/com/android/settings/network/telephony/BackupCallingPreferenceController.java
deleted file mode 100644
index 4f64399..0000000
--- a/src/com/android/settings/network/telephony/BackupCallingPreferenceController.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-package com.android.settings.network.telephony;
-
-import android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.ims.ImsException;
-import android.telephony.ims.ImsManager;
-import android.telephony.ims.ImsMmTelManager;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.R;
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.network.ims.WifiCallingQueryImsState;
-
-import java.util.List;
-import java.util.Objects;
-
-/**
- * Preference controller for "Backup Calling"
- **/
-public class BackupCallingPreferenceController extends TelephonyTogglePreferenceController {
-
-    private static final String LOG_TAG = "BackupCallingPrefCtrl";
-
-    private Preference mPreference;
-
-    /**
-     * Class constructor of backup calling.
-     *
-     * @param context of settings
-     * @param key assigned within UI entry of XML file
-     **/
-    public BackupCallingPreferenceController(Context context, String key) {
-        super(context, key);
-    }
-
-    /**
-     * Initialization based on given subscription id.
-     *
-     * @param subId is the subscription id
-     * @return this instance after initialization
-     **/
-    public BackupCallingPreferenceController init(int subId) {
-        mSubId = subId;
-        return this;
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        if (!hasBackupCallingFeature(subId)) {
-            return CONDITIONALLY_UNAVAILABLE;
-        }
-        List<SubscriptionInfo> subIdList = getActiveSubscriptionList();
-        SubscriptionInfo subInfo = getSubscriptionInfoFromList(subIdList, subId);
-        if (subInfo == null) {  // given subId is not actives
-            return CONDITIONALLY_UNAVAILABLE;
-        }
-        return (subIdList.size() > 1) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    /**
-     * Implementation of abstract methods
-     **/
-    public boolean setChecked(boolean isChecked) {
-        ImsMmTelManager imsMmTelMgr = getImsMmTelManager(mSubId);
-        if (imsMmTelMgr == null) {
-            return false;
-        }
-        try {
-            imsMmTelMgr.setCrossSimCallingEnabled(isChecked);
-        } catch (ImsException exception) {
-            Log.w(LOG_TAG, "fail to change cross SIM calling configuration: " + isChecked,
-                    exception);
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * Implementation of abstract methods
-     **/
-    public boolean isChecked() {
-        ImsMmTelManager imsMmTelMgr = getImsMmTelManager(mSubId);
-        if (imsMmTelMgr == null) {
-            return false;
-        }
-        try {
-            return imsMmTelMgr.isCrossSimCallingEnabled();
-        } catch (ImsException exception) {
-            Log.w(LOG_TAG, "fail to get cross SIM calling configuration", exception);
-        }
-        return false;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if ((preference == null) || (!(preference instanceof SwitchPreference))) {
-            return;
-        }
-        SubscriptionInfo subInfo = getSubscriptionInfoFromActiveList(mSubId);
-
-        mPreference = preference;
-
-        final SwitchPreference switchPreference = (SwitchPreference) preference;
-        switchPreference.setChecked((subInfo != null) ? isChecked() : false);
-
-        updateSummary(getLatestSummary(subInfo));
-    }
-
-    private String getLatestSummary(SubscriptionInfo subInfo) {
-        return Objects.toString((subInfo == null) ? null
-                : SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext), "");
-    }
-
-    private void updateSummary(String displayName) {
-        Preference preference = mPreference;
-        if (preference == null) {
-            return;
-        }
-        String summary = displayName;
-        String finalText = String.format(
-                getResourcesForSubId().getString(R.string.backup_calling_setting_summary),
-                summary)
-                .toString();
-        preference.setSummary(finalText);
-    }
-
-    private boolean hasBackupCallingFeature(int subscriptionId) {
-        return isCrossSimEnabledByPlatform(mContext, subscriptionId);
-    }
-
-    protected boolean isCrossSimEnabledByPlatform(Context context, int subscriptionId) {
-        // TODO : Change into API which created for accessing
-        //        com.android.ims.ImsManager#isCrossSimEnabledByPlatform()
-        if ((new WifiCallingQueryImsState(context, subscriptionId)).isWifiCallingSupported()) {
-            PersistableBundle bundle = getCarrierConfigForSubId(subscriptionId);
-            return (bundle != null) && bundle.getBoolean(
-                    CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
-                    false /*default*/);
-        }
-        Log.d(LOG_TAG, "Not supported by framework. subId = " + subscriptionId);
-        return false;
-    }
-
-    private ImsMmTelManager getImsMmTelManager(int subId) {
-        if (!SubscriptionManager.isUsableSubscriptionId(subId)) {
-            return null;
-        }
-        ImsManager imsMgr = mContext.getSystemService(ImsManager.class);
-        return (imsMgr == null) ? null : imsMgr.getImsMmTelManager(subId);
-    }
-
-    private List<SubscriptionInfo> getActiveSubscriptionList() {
-        SubscriptionManager subscriptionManager =
-                mContext.getSystemService(SubscriptionManager.class);
-        return SubscriptionUtil.getActiveSubscriptions(subscriptionManager);
-    }
-
-    private SubscriptionInfo getSubscriptionInfoFromList(
-            List<SubscriptionInfo> subInfoList, int subId) {
-        for (SubscriptionInfo subInfo : subInfoList) {
-            if ((subInfo != null) && (subInfo.getSubscriptionId() == subId)) {
-                return subInfo;
-            }
-        }
-        return null;
-    }
-
-    private SubscriptionInfo getSubscriptionInfoFromActiveList(int subId) {
-        if (!SubscriptionManager.isUsableSubscriptionId(subId)) {
-            return null;
-        }
-        return getSubscriptionInfoFromList(getActiveSubscriptionList(), subId);
-    }
-}
diff --git a/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroup.java b/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroup.java
deleted file mode 100644
index 58dd18f..0000000
--- a/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroup.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Copyright (C) 2021 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.
- */
-package com.android.settings.network.telephony;
-
-import static androidx.lifecycle.Lifecycle.Event;
-
-import android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.telephony.ims.ImsException;
-import android.telephony.ims.ImsManager;
-import android.telephony.ims.ImsMmTelManager;
-import android.util.ArrayMap;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.R;
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.network.SubscriptionsChangeListener;
-import com.android.settings.network.ims.WifiCallingQueryImsState;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Preference controller for "Backup Calling"
- **/
-public class NetworkProviderBackupCallingGroup extends
-        TelephonyTogglePreferenceController implements LifecycleObserver,
-        SubscriptionsChangeListener.SubscriptionsChangeListenerClient  {
-    private static final String TAG = "NetworkProviderBackupCallingGroup";
-    private static final String KEY_PREFERENCE_BACKUPCALLING_GROUP =
-            "provider_model_backup_call_group";
-    private static final int PREF_START_ORDER = 10;
-
-    private String mPreferenceGroupKey;
-    private PreferenceGroup mPreferenceGroup;
-    private Map<Integer, SwitchPreference> mBackupCallingForSubPreferences;
-    private List<SubscriptionInfo> mSubInfoListForBackupCall;
-    private Map<Integer, TelephonyManager> mTelephonyManagerList = new HashMap<>();
-    private SubscriptionsChangeListener mSubscriptionsChangeListener;
-
-    public NetworkProviderBackupCallingGroup(Context context, Lifecycle lifecycle,
-            List<SubscriptionInfo> subscriptionList, String preferenceGroupKey) {
-        super(context, preferenceGroupKey);
-        mPreferenceGroupKey = preferenceGroupKey;
-        mSubInfoListForBackupCall = subscriptionList;
-        mBackupCallingForSubPreferences = new ArrayMap<>();
-        setSubscriptionInfoList(context);
-        lifecycle.addObserver(this);
-    }
-
-    @OnLifecycleEvent(Event.ON_RESUME)
-    public void onResume() {
-        if (mSubscriptionsChangeListener == null) {
-            mSubscriptionsChangeListener = new SubscriptionsChangeListener(mContext, this);
-        }
-        mSubscriptionsChangeListener.start();
-    }
-
-    @OnLifecycleEvent(Event.ON_PAUSE)
-    public void onPause() {
-        if (mSubscriptionsChangeListener != null) {
-            mSubscriptionsChangeListener.stop();
-        }
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        if (mSubInfoListForBackupCall == null
-                || getSubscriptionInfoFromList(mSubInfoListForBackupCall, subId) == null) {
-            return CONDITIONALLY_UNAVAILABLE;
-        }
-
-        return (mSubInfoListForBackupCall.size() > 1) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    private boolean setCrossSimCallingEnabled(int subId, boolean checked) {
-        ImsMmTelManager imsMmTelMgr = getImsMmTelManager(subId);
-        if (imsMmTelMgr == null) {
-            Log.d(TAG, "setCrossSimCallingEnabled(), ImsMmTelManager is null");
-            return false;
-        }
-
-        try {
-            imsMmTelMgr.setCrossSimCallingEnabled(checked);
-        } catch (ImsException exception) {
-            Log.w(TAG, "fail to get cross SIM calling configuration", exception);
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public boolean setChecked(boolean checked) {
-        return false;
-    }
-
-    private boolean isCrossSimCallingEnabled(int subId) {
-        ImsMmTelManager imsMmTelMgr = getImsMmTelManager(subId);
-        if (imsMmTelMgr == null) {
-            Log.d(TAG, "isCrossSimCallingEnabled(), ImsMmTelManager is null");
-            return false;
-        }
-        try {
-            return imsMmTelMgr.isCrossSimCallingEnabled();
-        } catch (ImsException exception) {
-            Log.w(TAG, "fail to get cross SIM calling configuration", exception);
-        }
-        return false;
-    }
-
-    @Override
-    public boolean isChecked() {
-        return false;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        mPreferenceGroup = screen.findPreference(mPreferenceGroupKey);
-        update();
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        // Do nothing in this case since preference is invisible
-        if (preference == null) {
-            return;
-        }
-        update();
-    }
-
-    private void update() {
-        if (mPreferenceGroup == null) {
-            return;
-        }
-
-        setSubscriptionInfoList(mContext);
-        if (mSubInfoListForBackupCall == null || mSubInfoListForBackupCall.size() < 2) {
-            for (SwitchPreference pref : mBackupCallingForSubPreferences.values()) {
-                mPreferenceGroup.removePreference(pref);
-            }
-            mBackupCallingForSubPreferences.clear();
-            return;
-        }
-
-        Map<Integer, SwitchPreference> toRemovePreferences = mBackupCallingForSubPreferences;
-        mBackupCallingForSubPreferences = new ArrayMap<>();
-        setSubscriptionInfoForPreference(toRemovePreferences);
-    }
-
-    private void setSubscriptionInfoForPreference(
-            Map<Integer, SwitchPreference> toRemovePreferences) {
-        int order = PREF_START_ORDER;
-        for (SubscriptionInfo subInfo : mSubInfoListForBackupCall) {
-            final int subId = subInfo.getSubscriptionId();
-
-            SwitchPreference pref = toRemovePreferences.remove(subId);
-            if (pref == null) {
-                pref = new SwitchPreference(mPreferenceGroup.getContext());
-                mPreferenceGroup.addPreference(pref);
-            }
-
-            CharSequence displayName = (subInfo == null) ? ""
-                    : SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext);
-            pref.setTitle(displayName);
-            pref.setOrder(order++);
-            pref.setSummary(getSummary(displayName));
-            boolean enabled = isCrossSimCallingEnabled(subId);
-            pref.setChecked(enabled);
-            pref.setOnPreferenceClickListener(clickedPref -> {
-                setCrossSimCallingEnabled(subId, !enabled);
-                return true;
-            });
-            mBackupCallingForSubPreferences.put(subId, pref);
-        }
-    }
-
-    private String getSummary(CharSequence displayName) {
-        String summary = String.format(
-                getResourcesForSubId().getString(R.string.backup_calling_setting_summary),
-                displayName)
-                .toString();
-        return summary;
-    }
-
-    private void setSubscriptionInfoList(Context context) {
-        if (mSubInfoListForBackupCall != null) {
-            mSubInfoListForBackupCall.removeIf(info -> {
-                int subId = info.getSubscriptionId();
-                setTelephonyManagerForSubscriptionId(context, subId);
-                if (!hasBackupCallingFeature(subId) && mSubInfoListForBackupCall.contains(info)) {
-                    return true;
-                }
-                return false;
-            });
-        } else {
-            Log.d(TAG, "No active subscriptions");
-        }
-    }
-
-    private void setTelephonyManagerForSubscriptionId(Context context, int subId) {
-        TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class)
-                .createForSubscriptionId(subId);
-        mTelephonyManagerList.put(subId, telephonyManager);
-    }
-
-    @VisibleForTesting
-    protected boolean hasBackupCallingFeature(int subscriptionId) {
-        return isCrossSimEnabledByPlatform(mContext, subscriptionId);
-    }
-
-    /**
-     * Copied from {@link BackupCallingPreferenceController}
-     **/
-    @VisibleForTesting
-    protected boolean isCrossSimEnabledByPlatform(Context context, int subscriptionId) {
-        // TODO : Change into API which created for accessing
-        //        com.android.ims.ImsManager#isCrossSimEnabledByPlatform()
-        if ((new WifiCallingQueryImsState(context, subscriptionId)).isWifiCallingSupported()) {
-            PersistableBundle bundle = getCarrierConfigForSubId(subscriptionId);
-            return (bundle != null) && bundle.getBoolean(
-                    CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
-                    false /*default*/);
-        }
-        Log.d(TAG, "WifiCalling is not supported by framework. subId = " + subscriptionId);
-        return false;
-    }
-
-    private ImsMmTelManager getImsMmTelManager(int subId) {
-        if (!SubscriptionManager.isUsableSubscriptionId(subId)) {
-            return null;
-        }
-        ImsManager imsMgr = mContext.getSystemService(ImsManager.class);
-        return (imsMgr == null) ? null : imsMgr.getImsMmTelManager(subId);
-    }
-
-    private SubscriptionInfo getSubscriptionInfoFromList(
-            List<SubscriptionInfo> subInfoList, int subId) {
-        for (SubscriptionInfo subInfo : subInfoList) {
-            if ((subInfo != null) && (subInfo.getSubscriptionId() == subId)) {
-                return subInfo;
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_PREFERENCE_BACKUPCALLING_GROUP;
-    }
-
-    @Override
-    public void onAirplaneModeChanged(boolean airplaneModeEnabled) {}
-
-    @Override
-    public void onSubscriptionsChanged() {
-        SubscriptionManager subscriptionManager =
-                mContext.getSystemService(SubscriptionManager.class);
-        mSubInfoListForBackupCall = SubscriptionUtil.getActiveSubscriptions(subscriptionManager);
-        update();
-    }
-}
diff --git a/src/com/android/settings/network/telephony/NetworkProviderBackupCallingPreferenceController.java b/src/com/android/settings/network/telephony/NetworkProviderBackupCallingPreferenceController.java
deleted file mode 100644
index 5c336ef..0000000
--- a/src/com/android/settings/network/telephony/NetworkProviderBackupCallingPreferenceController.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-package com.android.settings.network.telephony;
-
-import android.content.Context;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-
-import java.util.List;
-
-/**
- * Preference controller for "Backup Calling" summary list
- */
-public class NetworkProviderBackupCallingPreferenceController extends
-        BasePreferenceController implements LifecycleObserver {
-
-    private static final String TAG = "NetProvBackupCallingCtrl";
-    private static final String KEY_PREFERENCE_CATEGORY = "provider_model_backup_calling_category";
-
-    private PreferenceCategory mPreferenceCategory;
-    private PreferenceScreen mPreferenceScreen;
-    private NetworkProviderBackupCallingGroup mNetworkProviderBackupCallingGroup;
-    private List<SubscriptionInfo> mSubscriptionList;
-
-    /**
-     * Preference controller for "Backup Calling" summary list
-     */
-    public NetworkProviderBackupCallingPreferenceController(Context context, String key) {
-        super(context, key);
-    }
-
-    protected NetworkProviderBackupCallingGroup createBackupCallingControllerForSub(
-            Lifecycle lifecycle, List<SubscriptionInfo> subscriptionList) {
-        return new NetworkProviderBackupCallingGroup(mContext, lifecycle, subscriptionList,
-                KEY_PREFERENCE_CATEGORY);
-    }
-
-    /**
-     * Initialize the binding with Lifecycle
-     *
-     * @param lifecycle Lifecycle of UI which owns this Preference
-     */
-    public void init(Lifecycle lifecycle) {
-        mSubscriptionList = getActiveSubscriptionList();
-        mNetworkProviderBackupCallingGroup = createBackupCallingControllerForSub(lifecycle,
-                mSubscriptionList);
-    }
-
-    private List<SubscriptionInfo> getActiveSubscriptionList() {
-        SubscriptionManager subscriptionManager =
-                mContext.getSystemService(SubscriptionManager.class);
-        return SubscriptionUtil.getActiveSubscriptions(subscriptionManager);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        if (mNetworkProviderBackupCallingGroup == null
-                || mSubscriptionList == null
-                || mSubscriptionList.size() < 2) {
-            return CONDITIONALLY_UNAVAILABLE;
-        } else {
-            return AVAILABLE;
-        }
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreferenceScreen = screen;
-        mPreferenceCategory = screen.findPreference(KEY_PREFERENCE_CATEGORY);
-        mPreferenceCategory.setVisible(isAvailable());
-        mNetworkProviderBackupCallingGroup.displayPreference(screen);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
index cb2b278..1268032 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
@@ -29,7 +29,6 @@
 
 import android.app.Activity;
 import android.content.Intent;
-import android.net.ConnectivityManager;
 import android.net.NetworkTemplate;
 import android.os.Bundle;
 import android.os.UserManager;
@@ -177,18 +176,6 @@
     }
 
     @Test
-    public void processArgument_shouldGetNetworkTypeFromArgument() {
-        final Bundle args = new Bundle();
-        args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_WIFI);
-        args.putInt(DataUsageList.EXTRA_SUB_ID, 3);
-        mDataUsageList.setArguments(args);
-
-        mDataUsageList.processArgument();
-
-        assertThat(mDataUsageList.mNetworkType).isEqualTo(ConnectivityManager.TYPE_WIFI);
-    }
-
-    @Test
     public void processArgument_fromIntent_shouldGetTemplateFromIntent() {
         final Intent intent = new Intent();
         intent.putExtra(Settings.EXTRA_NETWORK_TEMPLATE, mock(NetworkTemplate.class));
diff --git a/tests/unit/src/com/android/settings/network/telephony/BackupCallingPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/BackupCallingPreferenceControllerTest.java
deleted file mode 100644
index 4e110f0..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/BackupCallingPreferenceControllerTest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2020 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.
- */
-
-package com.android.settings.network.telephony;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-
-import android.content.Context;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.core.BasePreferenceController;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class BackupCallingPreferenceControllerTest {
-    private static final int SUB_ID = 2;
-
-    private BackupCallingPreferenceController mController;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = spy(ApplicationProvider.getApplicationContext());
-
-        mController = new BackupCallingPreferenceController(mContext, "backup_calling_key");
-        mController.init(SUB_ID);
-    }
-
-    @Test
-    public void controller_isUnavailable() {
-        assertThat(mController.getAvailabilityStatus())
-                .isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroupTest.java b/tests/unit/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroupTest.java
deleted file mode 100644
index a5717ef..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroupTest.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (C) 2021 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.
- */
-package com.android.settings.network.telephony;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.Looper;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.network.CarrierConfigCache;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.List;
-
-@RunWith(AndroidJUnit4.class)
-public class NetworkProviderBackupCallingGroupTest {
-
-    private static final int SUB_ID_1 = 1;
-    private static final int SUB_ID_2 = 2;
-
-    private static final String KEY_PREFERENCE_CATEGORY_BACKUP_CALLING =
-            "provider_model_backup_calling_category";
-    private static final String DISPLAY_NAME_1 = "Test Display Name 1";
-    private static final String DISPLAY_NAME_2 = "Test Display Name 2";
-
-    @Mock
-    private PreferenceGroup mPreferenceGroup;
-    @Mock
-    private CarrierConfigCache mCarrierConfigCache;
-    @Mock
-    private Lifecycle mLifecycle;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo1;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo2;
-    @Mock
-    private List<SubscriptionInfo> mSubscriptionInfoList;
-    @Mock
-    private TelephonyManager mTelephonyManager1;
-    @Mock
-    private TelephonyManager mTelephonyManager2;
-
-    @Mock
-    private NetworkProviderBackupCallingGroup mNetworkProviderBackupCallingGroup;
-    private Context mContext;
-    private PersistableBundle mCarrierConfig;
-    private PreferenceManager mPreferenceManager;
-    private PreferenceScreen mPreferenceScreen;
-    private SwitchPreference mSwitchPreference1;
-    private SwitchPreference mSwitchPreference2;
-
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager1);
-        when(mTelephonyManager1.createForSubscriptionId(SUB_ID_1)).thenReturn(mTelephonyManager1);
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager2);
-        when(mTelephonyManager2.createForSubscriptionId(SUB_ID_2)).thenReturn(mTelephonyManager2);
-        when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
-        when(mSubscriptionInfo1.getSubscriptionId()).thenReturn(SUB_ID_1);
-        when(mSubscriptionInfo1.getDisplayName()).thenReturn(DISPLAY_NAME_1);
-        doReturn(true).when(mNetworkProviderBackupCallingGroup).isCrossSimEnabledByPlatform(
-                mContext, SUB_ID_1);
-        mSubscriptionInfoList.add(mSubscriptionInfo1);
-        when(mSubscriptionInfo2.getSubscriptionId()).thenReturn(SUB_ID_2);
-        when(mSubscriptionInfo2.getDisplayName()).thenReturn(DISPLAY_NAME_2);
-        doReturn(true).when(mNetworkProviderBackupCallingGroup).isCrossSimEnabledByPlatform(
-                mContext, SUB_ID_2);
-        mSubscriptionInfoList.add(mSubscriptionInfo2);
-        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
-                mSubscriptionInfoList);
-
-        CarrierConfigCache.setTestInstance(mContext, mCarrierConfigCache);
-        mCarrierConfig = new PersistableBundle();
-        doReturn(mCarrierConfig).when(mCarrierConfigCache).getConfigForSubId(SUB_ID_1);
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
-                true);
-        doReturn(mCarrierConfig).when(mCarrierConfigCache).getConfigForSubId(SUB_ID_2);
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
-                true);
-
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-
-        mPreferenceManager = new PreferenceManager(mContext);
-        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
-        when(mPreferenceGroup.getKey()).thenReturn(KEY_PREFERENCE_CATEGORY_BACKUP_CALLING);
-        when(mPreferenceGroup.getPreferenceCount()).thenReturn(2);
-        mPreferenceScreen.addPreference(mPreferenceGroup);
-
-        mNetworkProviderBackupCallingGroup = spy(new NetworkProviderBackupCallingGroup(
-                mContext, mLifecycle, mSubscriptionInfoList,
-                KEY_PREFERENCE_CATEGORY_BACKUP_CALLING));
-    }
-
-    @Test
-    public void shouldShowBackupCallingForSub_invalidSubId_returnFalse() {
-        assertThat(mNetworkProviderBackupCallingGroup.hasBackupCallingFeature(
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID)).isEqualTo(false);
-    }
-
-    @Test
-    public void shouldShowBackupCallingForSub_carrierConfigIsUnavailable_returnFalse() {
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
-                false);
-
-        assertThat(mNetworkProviderBackupCallingGroup.hasBackupCallingFeature(SUB_ID_1))
-                .isEqualTo(false);
-    }
-
-    @Test
-    public void
-    shouldShowBackupCallingForSub_crossSimDisabled_returnFalse() {
-        doReturn(false).when(mNetworkProviderBackupCallingGroup).isCrossSimEnabledByPlatform(
-                mContext, SUB_ID_1);
-
-        assertThat(mNetworkProviderBackupCallingGroup.hasBackupCallingFeature(SUB_ID_1))
-                .isEqualTo(false);
-    }
-
-    @Test
-    public void shouldBackupCallingForSub_crossSimEnabled_returnTrue() {
-        doReturn(true).when(mNetworkProviderBackupCallingGroup).isCrossSimEnabledByPlatform(
-                mContext, SUB_ID_1);
-
-        assertThat(mNetworkProviderBackupCallingGroup.hasBackupCallingFeature(SUB_ID_1))
-                .isEqualTo(true);
-    }
-}