diff --git a/res/values/strings.xml b/res/values/strings.xml
index 95aa447165b..a17262532df 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -10678,9 +10678,6 @@
Volume
-
- Unavailable during airplane mode
-
Force desktop mode
diff --git a/src/com/android/settings/network/telephony/MobileDataSlice.java b/src/com/android/settings/network/telephony/MobileDataSlice.java
index 5a5d6a2467b..6efd8c3aed6 100644
--- a/src/com/android/settings/network/telephony/MobileDataSlice.java
+++ b/src/com/android/settings/network/telephony/MobileDataSlice.java
@@ -74,27 +74,8 @@ public class MobileDataSlice implements CustomSliceable {
final IconCompat icon = IconCompat.createWithResource(mContext,
R.drawable.ic_network_cell);
final String title = mContext.getText(R.string.mobile_data_settings_title).toString();
- @ColorInt final int color = Utils.getColorAccentDefaultColor(mContext);
-
- // Return a Slice without the mobile data toggle when airplane mode is on.
- if (isAirplaneModeEnabled()) {
- final CharSequence summary = mContext.getText(R.string.mobile_data_ap_mode_disabled);
- // Intent does nothing, but we have to pass an intent to the Row.
- final PendingIntent intent = PendingIntent.getActivity(mContext, 0 /* requestCode */,
- new Intent(), 0 /* flags */);
- final SliceAction deadAction =
- SliceAction.create(intent, icon, ListBuilder.ICON_IMAGE, title);
- final ListBuilder listBuilder = new ListBuilder(mContext, getUri(),
- ListBuilder.INFINITY)
- .setAccentColor(color)
- .addRow(new ListBuilder.RowBuilder()
- .setTitle(title)
- .setSubtitle(summary)
- .setPrimaryAction(deadAction));
- return listBuilder.build();
- }
-
final CharSequence summary = getSummary();
+ @ColorInt final int color = Utils.getColorAccentDefaultColor(mContext);
final PendingIntent toggleAction = getBroadcastIntent(mContext);
final PendingIntent primaryAction = getPrimaryAction();
final SliceAction primarySliceAction = SliceAction.createDeeplink(primaryAction, icon,
@@ -120,6 +101,11 @@ public class MobileDataSlice implements CustomSliceable {
@Override
public void onNotifyChange(Intent intent) {
+ // Don't make a change if we are in Airplane Mode.
+ if (isAirplaneModeEnabled()) {
+ return;
+ }
+
final boolean newState = intent.getBooleanExtra(EXTRA_TOGGLE_STATE,
isMobileDataEnabled());
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
index 31daa376125..c497cf82665 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
@@ -24,7 +24,6 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
-import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.provider.Settings;
@@ -163,27 +162,4 @@ public class MobileDataSliceTest {
assertThat(isMobileDataEnabled).isEqualTo(seed);
}
-
- @Test
- public void airplaneModeEnabled_slicePrimaryActionIsEmpty() {
- doReturn(true).when(mMobileDataSlice).isAirplaneModeEnabled();
- doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID);
- final Slice mobileData = mMobileDataSlice.getSlice();
-
- final SliceMetadata metadata = SliceMetadata.from(mContext, mobileData);
- assertThat(metadata.getTitle())
- .isEqualTo(mContext.getString(R.string.mobile_data_settings_title));
-
- assertThat(metadata.getSubtitle())
- .isEqualTo(mContext.getString(R.string.mobile_data_ap_mode_disabled));
-
- final List toggles = metadata.getToggles();
- assertThat(toggles).hasSize(0);
-
- final SliceAction primaryAction = metadata.getPrimaryAction();
- final PendingIntent pendingIntent = primaryAction.getAction();
- final Intent actionIntent = pendingIntent.getIntent();
-
- assertThat(actionIntent.getAction()).isNull();
- }
}