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

Commit b114e490 authored by SongFerngWang's avatar SongFerngWang Committed by SongFerng Wang
Browse files

Provider model: add string for airplane mode

Bug: 177399563
Test: build PASS and verify the slice's airplane screen.
(PASS)atest NetworkProviderWorkerTest
(PASS)atest ProviderModelSliceTest
(PASS)atest ProviderModelSliceHelperTest

Change-Id: I9f212b8c2c66bf8af32936fca92c46fe86a9b3ef
parent 3c3ce5ea
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.provider.Settings;
import android.telephony.SubscriptionManager;
import android.util.Log;

@@ -81,11 +82,13 @@ public class ProviderModelSlice extends WifiSlice {
        // Second section:  Add a carrier item.
        // Third section:  Add the Wi-Fi items which are not connected.
        // Fourth section:  If device has connection problem, this row show the message for user.

        final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
        if (mHelper.isAirplaneModeEnabled() && !mWifiManager.isWifiEnabled()) {
            log("Airplane mode is enabled.");
            // ToDo Next CL will add the Airplane mode Message.
            return mHelper.createListBuilder(getUri()).build();
            listBuilder.setHeader(mHelper.createHeader(Settings.ACTION_AIRPLANE_MODE_SETTINGS));
            listBuilder.addGridRow(mHelper.createMessageGridRow(R.string.condition_airplane_title,
                    Settings.ACTION_AIRPLANE_MODE_SETTINGS));
            return listBuilder.build();
        }

        int maxListSize = 0;
@@ -102,9 +105,6 @@ public class ProviderModelSlice extends WifiSlice {
        final boolean hasCarrier = mHelper.hasCarrier();
        log("hasCarrier: " + hasCarrier);


        final ListBuilder listBuilder = mHelper.createListBuilder(getUri());

        // First section:  Add a Wi-Fi item which state is connected.
        final WifiSliceItem connectedWifiItem = mHelper.getConnectedWifiItem(wifiList);
        if (connectedWifiItem != null) {
@@ -148,9 +148,12 @@ public class ProviderModelSlice extends WifiSlice {

            if (!hasCarrier) {
                // If there is no item in ProviderModelItem, slice needs a header.
                listBuilder.setHeader(mHelper.createHeader());
                listBuilder.setHeader(mHelper.createHeader(
                        NetworkProviderSettings.ACTION_NETWORK_PROVIDER_SETTINGS));
            }
            listBuilder.addGridRow(mHelper.createMessageGridRow(resId));
            listBuilder.addGridRow(
                    mHelper.createMessageGridRow(resId,
                            NetworkProviderSettings.ACTION_NETWORK_PROVIDER_SETTINGS));
        }

        return listBuilder.build();
+8 −8
Original line number Diff line number Diff line
@@ -78,10 +78,10 @@ public class ProviderModelSliceHelper {
        Log.d(TAG, s);
    }

    protected ListBuilder.HeaderBuilder createHeader() {
    protected ListBuilder.HeaderBuilder createHeader(String intentAction) {
        return new ListBuilder.HeaderBuilder()
                .setTitle(mContext.getText(R.string.summary_placeholder))
                .setPrimaryAction(getPrimarySliceAction());
                .setPrimaryAction(getPrimarySliceAction(intentAction));
    }

    protected ListBuilder createListBuilder(Uri uri) {
@@ -91,12 +91,12 @@ public class ProviderModelSliceHelper {
        return builder;
    }

    protected GridRowBuilder createMessageGridRow(int messageResId) {
    protected GridRowBuilder createMessageGridRow(int messageResId, String intentAction) {
        final CharSequence title = mContext.getText(messageResId);
        return new GridRowBuilder()
                // Add cells to the grid row.
                .addCell(new GridRowBuilder.CellBuilder().addTitleText(title))
                .setPrimaryAction(getPrimarySliceAction());
                .setPrimaryAction(getPrimarySliceAction(intentAction));
    }

    @Nullable
@@ -145,15 +145,15 @@ public class ProviderModelSliceHelper {
        return rowBuilder;
    }

    protected SliceAction getPrimarySliceAction() {
    protected SliceAction getPrimarySliceAction(String intentAction) {
        return SliceAction.createDeeplink(
                getPrimaryAction(),
                getPrimaryAction(intentAction),
                Utils.createIconWithDrawable(new ColorDrawable(Color.TRANSPARENT)),
                ListBuilder.ICON_IMAGE, mContext.getText(R.string.summary_placeholder));
    }

    private PendingIntent getPrimaryAction() {
        final Intent intent = new Intent("android.settings.NETWORK_PROVIDER_SETTINGS")
    private PendingIntent getPrimaryAction(String intentAction) {
        final Intent intent = new Intent(intentAction)
                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        return PendingIntent.getActivity(mContext, 0 /* requestCode */,
                intent, PendingIntent.FLAG_IMMUTABLE /* flags */);
+3 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.Uri;
import android.os.PersistableBundle;
import android.provider.Settings;
import android.telephony.CarrierConfigManager;
import android.telephony.ServiceState;
import android.telephony.SubscriptionInfo;
@@ -116,7 +117,8 @@ public class ProviderModelSliceHelperTest {
        CharSequence title = ResourcesUtils.getResourcesString(mContext,
                "non_carrier_network_unavailable");

        GridRowBuilder testGridRow = mProviderModelSliceHelper.createMessageGridRow(messageResId);
        GridRowBuilder testGridRow = mProviderModelSliceHelper.createMessageGridRow(messageResId,
                Settings.ACTION_AIRPLANE_MODE_SETTINGS);
        List<CellBuilder> cellItem = testGridRow.getCells();

        assertThat(cellItem.get(0).getTitle()).isEqualTo(title);
+5 −3
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -287,15 +289,15 @@ public class ProviderModelSliceTest {
        SliceAction mockSliceAction = getPrimarySliceAction();
        when(mMockHeader.getTitle()).thenReturn("mockHeader");
        when(mMockHeader.getPrimaryAction()).thenReturn(mockSliceAction);
        when(mProviderModelSliceHelper.createHeader()).thenReturn(mMockHeader);
        when(mProviderModelSliceHelper.createHeader(anyString())).thenReturn(mMockHeader);

        int resId = ResourcesUtils.getResourcesId(mContext, "string",
                "non_carrier_network_unavailable");
        when(mProviderModelSliceHelper.createMessageGridRow(resId)).thenReturn(
        when(mProviderModelSliceHelper.createMessageGridRow(eq(resId), anyString())).thenReturn(
                mMockGridRowBuilderNonCarrierNetworkUnavailable);
        resId = ResourcesUtils.getResourcesId(mContext, "string",
                "all_network_unavailable");
        when(mProviderModelSliceHelper.createMessageGridRow(resId)).thenReturn(
        when(mProviderModelSliceHelper.createMessageGridRow(eq(resId), anyString())).thenReturn(
                mMockGridRowBuilderAllNetworkUnavailable);

        when(mMockCarrierRowBuild.getTitle()).thenReturn("mockRow");