Show mobile data slice in Search even no SIM card

- return slice like in airplan mode when mobile data disabled in the getSlice
  of the MobileDataSlice
- replace CONDITIONALLY_UNAVAILABLE by DISABLED_DEPENDENT_SETTING in the
  getAvailabilityStatus of the MobileDataPreferenceController
- remove the duplicated mobile data item by update data_usage_cellular.xml

Fixes: 130650621
Test: robotest
Change-Id: I42c0983c27d4edb17fcdce7ca386023911254d2d
This commit is contained in:
Sunny Shao
2019-04-24 22:22:35 +08:00
parent 703e6aa092
commit 238928dea2
5 changed files with 64 additions and 31 deletions

View File

@@ -16,7 +16,7 @@
package com.android.settings.network.telephony;
import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
import static com.google.common.truth.Truth.assertThat;
@@ -86,10 +86,10 @@ public class MobileDataPreferenceControllerTest {
}
@Test
public void getAvailabilityStatus_invalidSubscription_returnUnavailable() {
public void getAvailabilityStatus_invalidSubscription_returnDisabledDependentSetting() {
mController.init(mFragmentManager, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
}
@Test

View File

@@ -170,21 +170,47 @@ public class MobileDataSliceTest {
}
@Test
public void isMobileDataAvailable_noSubscriptions_returnsNull() {
public void isMobileDataAvailable_noSubscriptions_slicePrimaryActionIsEmpty() {
doReturn(new ArrayList<>()).when(mSubscriptionManager).getSelectableSubscriptionInfoList();
final Slice mobileData = mMobileDataSlice.getSlice();
final Slice slice = mMobileDataSlice.getSlice();
final SliceMetadata metadata = SliceMetadata.from(mContext, mobileData);
assertThat(metadata.getTitle())
.isEqualTo(mContext.getString(R.string.mobile_data_settings_title));
assertThat(slice).isNull();
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();
}
@Test
public void isMobileDataAvailable_nullSubscriptions_returnsNull() {
public void isMobileDataAvailable_nullSubscriptions_slicePrimaryActionIsEmpty() {
doReturn(null).when(mSubscriptionManager).getSelectableSubscriptionInfoList();
final Slice mobileData = mMobileDataSlice.getSlice();
final Slice slice = mMobileDataSlice.getSlice();
final SliceMetadata metadata = SliceMetadata.from(mContext, mobileData);
assertThat(metadata.getTitle())
.isEqualTo(mContext.getString(R.string.mobile_data_settings_title));
assertThat(slice).isNull();
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();
}
@Test