MobileData slice should be null if not-actionable
In cases where MobileData should not be changed: - Airplane mode - No data subscriptions we will return a null slice, rather than a slice with a no-op intent attached as a primary action. The problem with the no-op intent is that Slices assumes all actions are by definition, actionable, and the the TalkBack description announces that the item is clickable, which it really isn't. We will in the future investigate disabled actions on Slices, but this is the short-term fix. Fixes: 132924748 Test: Robolectric Test: Panel tester app Change-Id: I1d62af32fe2dd985f0b52ea4188651e76f9c90ec
This commit is contained in:
@@ -174,21 +174,7 @@ public class MobileDataSliceTest {
|
||||
doReturn(new ArrayList<>()).when(mSubscriptionManager).getSelectableSubscriptionInfoList();
|
||||
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.sim_cellular_data_unavailable));
|
||||
|
||||
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).isNull();
|
||||
assertThat(mobileData).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -196,21 +182,7 @@ public class MobileDataSliceTest {
|
||||
doReturn(null).when(mSubscriptionManager).getSelectableSubscriptionInfoList();
|
||||
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.sim_cellular_data_unavailable));
|
||||
|
||||
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).isNull();
|
||||
assertThat(mobileData).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -219,20 +191,6 @@ public class MobileDataSliceTest {
|
||||
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).isNull();
|
||||
assertThat(mobileData).isNull();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user