Disable Moblie Data Slice in AP mode
When airplane mode is enabled, users should not be able to change the value of mobile data. Thus, when airplane mode is enabled, replace the Slice with a no-op slice explaining why it cannot be changed. Fixes: Fixes: 126726036 Test: robotests Change-Id: I1c6d95dbb9d0c51247709b9867506c800f5872cd
This commit is contained in:
@@ -24,6 +24,7 @@ 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;
|
||||
@@ -162,4 +163,27 @@ 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<SliceAction> 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();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user