Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a891dd87 authored by Matthew Fritze's avatar Matthew Fritze Committed by android-build-merger
Browse files

Merge "MobileData slice should be null if not-actionable" into qt-dev am: e2ab7540 am: 1601d41f

am: ae7ca413

Change-Id: I1e3012e83243b9dd6be04f1ecc5d885836b8e022
parents 5a6ec586 ae7ca413
Loading
Loading
Loading
Loading
+4 −22
Original line number Diff line number Diff line
@@ -78,16 +78,14 @@ public class MobileDataSlice implements CustomSliceable {
        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.
        // Return null until we can show a disabled-action Slice, blaming Airplane mode.
        if (isAirplaneModeEnabled()) {
            return buildUnavailableMobileDataSlice(title,
                    mContext.getText(R.string.mobile_data_ap_mode_disabled), icon, color);
            return null;
        }

        // Return a Slice without the mobile data toggle when mobile data disabled.
        // Return null until we can show a disabled-action Slice.
        if (!isMobileDataAvailable()) {
            return buildUnavailableMobileDataSlice(title,
                    mContext.getText(R.string.sim_cellular_data_unavailable), icon, color);
            return null;
        }

        final CharSequence summary = getSummary();
@@ -201,22 +199,6 @@ public class MobileDataSlice implements CustomSliceable {
        return mTelephonyManager.isDataEnabled();
    }

    private Slice buildUnavailableMobileDataSlice(String title, CharSequence summary,
            IconCompat icon, int color) {
        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();
    }

    /**
     * Listener for mobile data state changes.
     *
+3 −45
Original line number Diff line number Diff line
@@ -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();
    }
}