[Provider Model] Internet Panel - Airplane mode is on

- Add "Airplane mode is on" to sub-title
  - Set the header layout to CENTER_HORIZONTAL if it's no icon

- Hide "Settings" button

- Screenshot
  https://screenshot.googleplex.com/6m5dFVZu7ar4nKW

Bug: 178717651
Test: manual test
atest InternetConnectivityPanelTest \
      PanelFragmentTest \
      ProviderModelSliceTest

Change-Id: I899a817fd99415e9cad608aa4deac1e45365696a
This commit is contained in:
Weng Su
2021-02-02 14:32:01 +08:00
parent bcfd351521
commit 7a62ab1fff
7 changed files with 245 additions and 159 deletions

View File

@@ -26,7 +26,6 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.provider.Settings;
import android.telephony.SubscriptionManager;
import android.util.Log;
@@ -87,9 +86,6 @@ public class ProviderModelSlice extends WifiSlice {
final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
if (mHelper.isAirplaneModeEnabled() && !mWifiManager.isWifiEnabled()) {
log("Airplane mode is enabled.");
listBuilder.setHeader(mHelper.createHeader(Settings.ACTION_AIRPLANE_MODE_SETTINGS));
listBuilder.addGridRow(mHelper.createMessageGridRow(R.string.condition_airplane_title,
Settings.ACTION_AIRPLANE_MODE_SETTINGS));
return listBuilder.build();
}
@@ -195,10 +191,14 @@ public class ProviderModelSlice extends WifiSlice {
MobileNetworkUtils.setMobileDataEnabled(mContext, defaultSubId, newState,
false /* disableOtherSubscriptions */);
}
doCarrierNetworkAction(isToggleAction, newState);
final boolean isDataEnabled =
isToggleAction ? newState : MobileNetworkUtils.isMobileDataEnabled(mContext);
doCarrierNetworkAction(isToggleAction, isDataEnabled);
}
private void doCarrierNetworkAction(boolean isToggleAction, boolean isDataEnabled) {
@VisibleForTesting
void doCarrierNetworkAction(boolean isToggleAction, boolean isDataEnabled) {
final NetworkProviderWorker worker = getWorker();
if (worker == null) {
return;
@@ -209,7 +209,7 @@ public class ProviderModelSlice extends WifiSlice {
return;
}
if (MobileNetworkUtils.isMobileDataEnabled(mContext)) {
if (isDataEnabled) {
worker.connectCarrierNetwork();
}
}