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

Commit a4b837a9 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 5691606 from 5a69fac6 to qt-release

Change-Id: I4d441da970e4d09a0e8878a87ccd26ed3438601e
parents 6bc3af2b 5a69fac6
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -191,7 +191,11 @@ public class RemoveAccountPreferenceController extends AbstractPreferenceControl
            }
            }
            final RemoveAccountFailureDialog dialog = new RemoveAccountFailureDialog();
            final RemoveAccountFailureDialog dialog = new RemoveAccountFailureDialog();
            dialog.setTargetFragment(parent, 0);
            dialog.setTargetFragment(parent, 0);
            try {
                dialog.show(parent.getFragmentManager(), FAILED_REMOVAL_DIALOG);
                dialog.show(parent.getFragmentManager(), FAILED_REMOVAL_DIALOG);
            } catch (IllegalStateException e) {
                Log.w(TAG, "Can't show RemoveAccountFailureDialog. " +  e.getMessage());
            }
        }
        }


        @Override
        @Override
+8 −1
Original line number Original line Diff line number Diff line
@@ -199,6 +199,12 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
        return imsManager.isWfcEnabledByPlatform();
        return imsManager.isWfcEnabledByPlatform();
    }
    }


    @VisibleForTesting
    boolean isWfcProvisionedOnDevice(SubscriptionInfo info) {
        ImsManager imsManager = ImsManager.getInstance(getActivity(), info.getSimSlotIndex());
        return imsManager.isWfcProvisionedOnDevice();
    }

    private void updateSubList() {
    private void updateSubList() {
        mSil = SubscriptionUtil.getActiveSubscriptions(
        mSil = SubscriptionUtil.getActiveSubscriptions(
                getContext().getSystemService(SubscriptionManager.class));
                getContext().getSystemService(SubscriptionManager.class));
@@ -208,7 +214,8 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
            return;
            return;
        }
        }
        for (int i = 0; i < mSil.size(); ) {
        for (int i = 0; i < mSil.size(); ) {
            if (!isWfcEnabledByPlatform(mSil.get(i))) {
            final SubscriptionInfo info = mSil.get(i);
            if (!isWfcEnabledByPlatform(info) || !isWfcProvisionedOnDevice(info)) {
                mSil.remove(i);
                mSil.remove(i);
            } else {
            } else {
                i++;
                i++;
+27 −0
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.wifi.calling;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;


import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.spy;
@@ -106,4 +107,30 @@ public class WifiCallingSettingsTest {
                (WifiCallingSettings.WifiCallingViewPagerAdapter) pager.getAdapter();
                (WifiCallingSettings.WifiCallingViewPagerAdapter) pager.getAdapter();
        assertThat(adapter.getCount()).isEqualTo(2);
        assertThat(adapter.getCount()).isEqualTo(2);
    }
    }

    @Test
    public void setupFragment_twoSubscriptionsOneNotProvisionedOnDevice_oneResult() {
        SubscriptionInfo info1 = mock(SubscriptionInfo.class);
        SubscriptionInfo info2 = mock(SubscriptionInfo.class);
        when(info1.getSubscriptionId()).thenReturn(111);
        when(info2.getSubscriptionId()).thenReturn(222);

        SubscriptionUtil.setActiveSubscriptionsForTesting(new ArrayList<>(
                Arrays.asList(info1, info2)));
        doReturn(true).when(mFragment).isWfcEnabledByPlatform(any(SubscriptionInfo.class));
        doReturn(false).when(mFragment).isWfcProvisionedOnDevice(eq(info2));

        Intent intent = new Intent();
        intent.putExtra(Settings.EXTRA_SUB_ID, info1.getSubscriptionId());
        FragmentController.of(mFragment, intent).create(0 /* containerViewId*/,
                null /* bundle */).start().resume().visible().get();

        View view = mFragment.getView();
        RtlCompatibleViewPager pager = view.findViewById(R.id.view_pager);
        assertThat(pager.getCurrentItem()).isEqualTo(0);

        WifiCallingSettings.WifiCallingViewPagerAdapter adapter =
                (WifiCallingSettings.WifiCallingViewPagerAdapter) pager.getAdapter();
        assertThat(adapter.getCount()).isEqualTo(1);
    }
}
}