[Provider Model] Implement Calls & SMS controller

Screenshot of Provider Model:
Single SIM:
https://screenshot.googleplex.com/4pGBU7XK55CwJ7o.png
Dual SIM:
https://screenshot.googleplex.com/bXaFjsfGkgyHoYF.png

Screenshot of current: https://screenshot.googleplex.com/BtCgYmnpvT97SQs.png

Doc: https://docs.google.com/presentation/d/1azrZVS54pxM2lt9LkZHtFh_6W3fyDw_kTTPVQ_mJCi4/edit#slide=id.g9c7123c172_0_448

New controller: NetworkProviderCallsSmsController

Bug: 172053880
Test: manual
Change-Id: I86e9fc71d2b8562d838c5b5c6bd9c443656e2624
This commit is contained in:
Zoey Chen
2020-11-01 16:51:44 +08:00
parent 1ad41f5b39
commit cda7efb94d
8 changed files with 579 additions and 13 deletions

View File

@@ -21,13 +21,13 @@ import android.app.Dialog;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.os.Bundle;
import android.util.FeatureFlagUtils;
import android.util.Log;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.network.MobilePlanPreferenceController.MobilePlanPreferenceHost;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -58,7 +58,7 @@ public class NetworkDashboardFragment extends DashboardFragment implements
@Override
protected int getPreferenceScreenResId() {
if (isProviderModelEnabled(getContext())) {
if (Utils.isProviderModelEnabled(getContext())) {
return R.xml.network_provider_internet;
} else {
return R.xml.network_and_internet;
@@ -69,7 +69,7 @@ public class NetworkDashboardFragment extends DashboardFragment implements
public void onAttach(Context context) {
super.onAttach(context);
if (!isProviderModelEnabled(context)) {
if (!Utils.isProviderModelEnabled(context)) {
use(MultiNetworkHeaderController.class).init(getSettingsLifecycle());
}
use(AirplaneModePreferenceController.class).setFragment(this);
@@ -104,13 +104,15 @@ public class NetworkDashboardFragment extends DashboardFragment implements
final MobilePlanPreferenceController mobilePlanPreferenceController =
new MobilePlanPreferenceController(context, mobilePlanHost);
final WifiPrimarySwitchPreferenceController wifiPreferenceController =
isProviderModelEnabled(context)
Utils.isProviderModelEnabled(context)
? null
: new WifiPrimarySwitchPreferenceController(
context,
metricsFeatureProvider);
final InternetPreferenceController internetPreferenceController =
isProviderModelEnabled(context) ? new InternetPreferenceController(context) : null;
Utils.isProviderModelEnabled(context)
? new InternetPreferenceController(context)
: null;
final VpnPreferenceController vpnPreferenceController =
new VpnPreferenceController(context);
@@ -143,6 +145,9 @@ public class NetworkDashboardFragment extends DashboardFragment implements
controllers.add(internetPreferenceController);
}
controllers.add(privateDnsPreferenceController);
if (Utils.isProviderModelEnabled(context)) {
controllers.add(new NetworkProviderCallsSmsController(context, lifecycle));
}
return controllers;
}
@@ -187,8 +192,4 @@ public class NetworkDashboardFragment extends DashboardFragment implements
null /* mobilePlanHost */);
}
};
private static boolean isProviderModelEnabled(Context context) {
return FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL);
}
}