[Provider Model] The SIMs page should list all p-SIMs
- We do not support multiple pSIMs until now, so we need to get all p-SIMs from SubscriptionManager - Apply same checking for downloaded sim Bug: 199032142 Test: vendor test Test: atest NetworkProviderSimsCategoryControllerTest and atest NetworkProviderSimListControllerTest Change-Id: I77d7c52e73ac4e5d09fa3f3926490d7f8f8b0913
This commit is contained in:
@@ -65,14 +65,12 @@ public class MobileNetworkListFragment extends DashboardFragment {
|
||||
|
||||
if (Utils.isProviderModelEnabled(getContext())) {
|
||||
NetworkProviderSimsCategoryController simCategoryPrefCtrl =
|
||||
new NetworkProviderSimsCategoryController(context, KEY_PREFERENCE_CATEGORY_SIM);
|
||||
simCategoryPrefCtrl.init(getSettingsLifecycle());
|
||||
new NetworkProviderSimsCategoryController(context, KEY_PREFERENCE_CATEGORY_SIM,
|
||||
getSettingsLifecycle());
|
||||
controllers.add(simCategoryPrefCtrl);
|
||||
|
||||
NetworkProviderDownloadedSimsCategoryController downloadedSimsCategoryCtrl =
|
||||
new NetworkProviderDownloadedSimsCategoryController(context,
|
||||
KEY_PREFERENCE_CATEGORY_DOWNLOADED_SIM);
|
||||
downloadedSimsCategoryCtrl.init(getSettingsLifecycle());
|
||||
KEY_PREFERENCE_CATEGORY_DOWNLOADED_SIM, getSettingsLifecycle());
|
||||
controllers.add(downloadedSimsCategoryCtrl);
|
||||
} else {
|
||||
controllers.add(new MobileNetworkListController(getContext(), getLifecycle()));
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package com.android.settings.network;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
@@ -15,23 +15,17 @@ import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
public class NetworkProviderDownloadedSimsCategoryController extends
|
||||
PreferenceCategoryController implements LifecycleObserver {
|
||||
|
||||
private static final String LOG_TAG = "NetworkProviderDownloadedSimsCategoryController";
|
||||
private static final String KEY_PREFERENCE_CATEGORY_DOWNLOADED_SIM =
|
||||
"provider_model_downloaded_sim_category";
|
||||
private PreferenceCategory mPreferenceCategory;
|
||||
private NetworkProviderDownloadedSimListController mNetworkProviderDownloadedSimListController;
|
||||
|
||||
public NetworkProviderDownloadedSimsCategoryController(Context context, String key) {
|
||||
super(context, key);
|
||||
}
|
||||
|
||||
public void init(Lifecycle lifecycle) {
|
||||
mNetworkProviderDownloadedSimListController = createDownloadedSimListController(lifecycle);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
protected NetworkProviderDownloadedSimListController createDownloadedSimListController(
|
||||
public NetworkProviderDownloadedSimsCategoryController(Context context, String key,
|
||||
Lifecycle lifecycle) {
|
||||
return new NetworkProviderDownloadedSimListController(mContext, lifecycle);
|
||||
super(context, key);
|
||||
mNetworkProviderDownloadedSimListController =
|
||||
new NetworkProviderDownloadedSimListController(mContext, lifecycle);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -47,15 +41,23 @@ public class NetworkProviderDownloadedSimsCategoryController extends
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
mNetworkProviderDownloadedSimListController.displayPreference(screen);
|
||||
mPreferenceCategory = screen.findPreference(
|
||||
KEY_PREFERENCE_CATEGORY_DOWNLOADED_SIM);
|
||||
if (mPreferenceCategory == null) {
|
||||
Log.d(LOG_TAG, "displayPreference(), Can not find the category.");
|
||||
return;
|
||||
}
|
||||
mPreferenceCategory.setVisible(isAvailable());
|
||||
mNetworkProviderDownloadedSimListController.displayPreference(screen);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
if (mPreferenceCategory == null) {
|
||||
Log.d(LOG_TAG, "updateState(), Can not find the category.");
|
||||
return;
|
||||
}
|
||||
int count = mPreferenceCategory.getPreferenceCount();
|
||||
String title = mContext.getString(count > 1
|
||||
? R.string.downloaded_sims_category_title
|
||||
|
@@ -172,7 +172,6 @@ public class NetworkProviderSimListController extends AbstractPreferenceControll
|
||||
for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(mContext)) {
|
||||
if (!info.isEmbedded()) {
|
||||
subList.add(info);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return subList;
|
||||
|
@@ -17,33 +17,28 @@
|
||||
package com.android.settings.network;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.widget.PreferenceCategoryController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
|
||||
public class NetworkProviderSimsCategoryController extends PreferenceCategoryController implements
|
||||
LifecycleObserver {
|
||||
|
||||
private static final String LOG_TAG = "NetworkProviderSimsCategoryController";
|
||||
private static final String KEY_PREFERENCE_CATEGORY_SIM = "provider_model_sim_category";
|
||||
private NetworkProviderSimListController mNetworkProviderSimListController;
|
||||
private PreferenceCategory mPreferenceCategory;
|
||||
|
||||
public NetworkProviderSimsCategoryController(Context context, String key) {
|
||||
public NetworkProviderSimsCategoryController(Context context, String key, Lifecycle lifecycle) {
|
||||
super(context, key);
|
||||
}
|
||||
|
||||
public void init(Lifecycle lifecycle) {
|
||||
mNetworkProviderSimListController = createSimListController(lifecycle);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
protected NetworkProviderSimListController createSimListController(
|
||||
Lifecycle lifecycle) {
|
||||
return new NetworkProviderSimListController(mContext, lifecycle);
|
||||
mNetworkProviderSimListController =
|
||||
new NetworkProviderSimListController(mContext, lifecycle);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -59,8 +54,26 @@ public class NetworkProviderSimsCategoryController extends PreferenceCategoryCon
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
PreferenceCategory preferenceCategory = screen.findPreference(KEY_PREFERENCE_CATEGORY_SIM);
|
||||
preferenceCategory.setVisible(isAvailable());
|
||||
mNetworkProviderSimListController.displayPreference(screen);
|
||||
mPreferenceCategory = screen.findPreference(KEY_PREFERENCE_CATEGORY_SIM);
|
||||
if (mPreferenceCategory == null) {
|
||||
Log.d(LOG_TAG, "displayPreference(), Can not find the category.");
|
||||
return;
|
||||
}
|
||||
mPreferenceCategory.setVisible(isAvailable());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
if (mPreferenceCategory == null) {
|
||||
Log.d(LOG_TAG, "updateState(), Can not find the category.");
|
||||
return;
|
||||
}
|
||||
int count = mPreferenceCategory.getPreferenceCount();
|
||||
String title = mContext.getString(count > 1
|
||||
? R.string.provider_network_settings_title
|
||||
: R.string.sim_category_title);
|
||||
mPreferenceCategory.setTitle(title);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user