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

Commit c3035730 authored by Meng Wang's avatar Meng Wang
Browse files

Use system API ACTION_SERVICE_PROVIDERS_UPDATED

Bug: 147921202
Test: make
Change-Id: Ibe3fe498165b1ed60b3fe59503cc39553ba7dd7e
parent 51829447
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -2530,7 +2530,7 @@ public class ServiceStateTracker extends Handler {

    private void notifySpnDisplayUpdate(CarrierDisplayNameData data) {
        int subId = mPhone.getSubId();
        // Update SPN_STRINGS_UPDATED_ACTION IFF any value changes
        // Update ACTION_SERVICE_PROVIDERS_UPDATED IFF any value changes
        if (mSubId != subId
                || data.shouldShowPlmn() != mCurShowPlmn
                || data.shouldShowSpn() != mCurShowSpn
@@ -2551,12 +2551,12 @@ public class ServiceStateTracker extends Handler {
            mCdnrLogs.log(log);
            if (DBG) log("updateSpnDisplay: " + log);

            Intent intent = new Intent(TelephonyIntents.SPN_STRINGS_UPDATED_ACTION);
            intent.putExtra(TelephonyIntents.EXTRA_SHOW_SPN, data.shouldShowSpn());
            intent.putExtra(TelephonyIntents.EXTRA_SPN, data.getSpn());
            intent.putExtra(TelephonyIntents.EXTRA_DATA_SPN, data.getDataSpn());
            intent.putExtra(TelephonyIntents.EXTRA_SHOW_PLMN, data.shouldShowPlmn());
            intent.putExtra(TelephonyIntents.EXTRA_PLMN, data.getPlmn());
            Intent intent = new Intent(TelephonyManager.ACTION_SERVICE_PROVIDERS_UPDATED);
            intent.putExtra(TelephonyManager.EXTRA_SHOW_SPN, data.shouldShowSpn());
            intent.putExtra(TelephonyManager.EXTRA_SPN, data.getSpn());
            intent.putExtra(TelephonyManager.EXTRA_DATA_SPN, data.getDataSpn());
            intent.putExtra(TelephonyManager.EXTRA_SHOW_PLMN, data.shouldShowPlmn());
            intent.putExtra(TelephonyManager.EXTRA_PLMN, data.getPlmn());
            SubscriptionManager.putPhoneIdAndSubIdExtra(intent, mPhone.getPhoneId());
            mPhone.getContext().sendStickyBroadcastAsUser(intent, UserHandle.ALL);

+25 −25
Original line number Diff line number Diff line
@@ -445,22 +445,22 @@ public class ServiceStateTrackerTest extends TelephonyTest {
            logd("  " + intent.getAction());
        }
        Intent intent = intents.get(2);
        assertEquals(TelephonyIntents.SPN_STRINGS_UPDATED_ACTION, intent.getAction());
        assertEquals(TelephonyManager.ACTION_SERVICE_PROVIDERS_UPDATED, intent.getAction());

        Bundle b = intent.getExtras();

        // For boolean we need to make sure the key exists first
        assertTrue(b.containsKey(TelephonyIntents.EXTRA_SHOW_SPN));
        assertFalse(b.getBoolean(TelephonyIntents.EXTRA_SHOW_SPN));
        assertTrue(b.containsKey(TelephonyManager.EXTRA_SHOW_SPN));
        assertFalse(b.getBoolean(TelephonyManager.EXTRA_SHOW_SPN));

        assertEquals(null, b.getString(TelephonyIntents.EXTRA_SPN));
        assertEquals(null, b.getString(TelephonyIntents.EXTRA_DATA_SPN));
        assertEquals(null, b.getString(TelephonyManager.EXTRA_SPN));
        assertEquals(null, b.getString(TelephonyManager.EXTRA_DATA_SPN));

        // For boolean we need to make sure the key exists first
        assertTrue(b.containsKey(TelephonyIntents.EXTRA_SHOW_PLMN));
        assertTrue(b.getBoolean(TelephonyIntents.EXTRA_SHOW_PLMN));
        assertTrue(b.containsKey(TelephonyManager.EXTRA_SHOW_PLMN));
        assertTrue(b.getBoolean(TelephonyManager.EXTRA_SHOW_PLMN));

        assertEquals(SimulatedCommands.FAKE_LONG_NAME, b.getString(TelephonyIntents.EXTRA_PLMN));
        assertEquals(SimulatedCommands.FAKE_LONG_NAME, b.getString(TelephonyManager.EXTRA_PLMN));

        ArgumentCaptor<Integer> intArgumentCaptor = ArgumentCaptor.forClass(Integer.class);
        verify(mTelephonyManager).setDataNetworkTypeForPhone(anyInt(), intArgumentCaptor.capture());
@@ -2356,9 +2356,9 @@ public class ServiceStateTrackerTest extends TelephonyTest {

        // Plmn should be shown, and the string is "Emergency call only"
        Bundle b = getExtrasFromLastSpnUpdateIntent();
        assertThat(b.getString(TelephonyIntents.EXTRA_PLMN))
        assertThat(b.getString(TelephonyManager.EXTRA_PLMN))
                .isEqualTo(CARRIER_NAME_DISPLAY_EMERGENCY_CALL);
        assertThat(b.getBoolean(TelephonyIntents.EXTRA_SHOW_PLMN)).isTrue();
        assertThat(b.getBoolean(TelephonyManager.EXTRA_SHOW_PLMN)).isTrue();
    }

    @Test
@@ -2380,9 +2380,9 @@ public class ServiceStateTrackerTest extends TelephonyTest {

        // Plmn should be shown, and the string is "No service"
        Bundle b = getExtrasFromLastSpnUpdateIntent();
        assertThat(b.getString(TelephonyIntents.EXTRA_PLMN))
        assertThat(b.getString(TelephonyManager.EXTRA_PLMN))
                .isEqualTo(CARRIER_NAME_DISPLAY_NO_SERVICE);
        assertThat(b.getBoolean(TelephonyIntents.EXTRA_SHOW_PLMN)).isTrue();
        assertThat(b.getBoolean(TelephonyManager.EXTRA_SHOW_PLMN)).isTrue();
    }

    @Test
@@ -2403,9 +2403,9 @@ public class ServiceStateTrackerTest extends TelephonyTest {

        // Plmn should be shown, and the string is "No service"
        Bundle b = getExtrasFromLastSpnUpdateIntent();
        assertThat(b.getString(TelephonyIntents.EXTRA_PLMN))
        assertThat(b.getString(TelephonyManager.EXTRA_PLMN))
                .isEqualTo(CARRIER_NAME_DISPLAY_NO_SERVICE);
        assertThat(b.getBoolean(TelephonyIntents.EXTRA_SHOW_PLMN)).isTrue();
        assertThat(b.getBoolean(TelephonyManager.EXTRA_SHOW_PLMN)).isTrue();
    }

    @Test
@@ -2430,12 +2430,12 @@ public class ServiceStateTrackerTest extends TelephonyTest {
        // Only spn should be shown
        String spn = mBundle.getString(CarrierConfigManager.KEY_CARRIER_NAME_STRING);
        Bundle b = getExtrasFromLastSpnUpdateIntent();
        assertThat(b.getString(TelephonyIntents.EXTRA_SPN))
        assertThat(b.getString(TelephonyManager.EXTRA_SPN))
                .isEqualTo(String.format(WIFI_CALLING_VOICE_FORMAT, spn));
        assertThat(b.getBoolean(TelephonyIntents.EXTRA_SHOW_SPN)).isTrue();
        assertThat(b.getString(TelephonyIntents.EXTRA_DATA_SPN))
        assertThat(b.getBoolean(TelephonyManager.EXTRA_SHOW_SPN)).isTrue();
        assertThat(b.getString(TelephonyManager.EXTRA_DATA_SPN))
                .isEqualTo(String.format(WIFI_CALLING_DATA_FORMAT, spn));
        assertThat(b.getBoolean(TelephonyIntents.EXTRA_SHOW_PLMN)).isFalse();
        assertThat(b.getBoolean(TelephonyManager.EXTRA_SHOW_PLMN)).isFalse();
    }

    @Test
@@ -2464,10 +2464,10 @@ public class ServiceStateTrackerTest extends TelephonyTest {
        String plmn = mBundle.getStringArray(CarrierConfigManager.KEY_PNN_OVERRIDE_STRING_ARRAY)[0];
        plmn = plmn.split("\\s*,\\s*")[0];
        Bundle b = getExtrasFromLastSpnUpdateIntent();
        assertThat(b.getString(TelephonyIntents.EXTRA_PLMN))
        assertThat(b.getString(TelephonyManager.EXTRA_PLMN))
                .isEqualTo(String.format(WIFI_CALLING_VOICE_FORMAT, plmn));
        assertThat(b.getBoolean(TelephonyIntents.EXTRA_SHOW_PLMN)).isTrue();
        assertThat(b.getBoolean(TelephonyIntents.EXTRA_SHOW_SPN)).isFalse();
        assertThat(b.getBoolean(TelephonyManager.EXTRA_SHOW_PLMN)).isTrue();
        assertThat(b.getBoolean(TelephonyManager.EXTRA_SHOW_SPN)).isFalse();
    }

    @Test
@@ -2493,10 +2493,10 @@ public class ServiceStateTrackerTest extends TelephonyTest {
        String plmn = mBundle.getStringArray(CarrierConfigManager.KEY_PNN_OVERRIDE_STRING_ARRAY)[0];
        plmn = plmn.split("\\s*,\\s*")[0];
        Bundle b = getExtrasFromLastSpnUpdateIntent();
        assertThat(b.getString(TelephonyIntents.EXTRA_SPN)).isEqualTo(spn);
        assertThat(b.getBoolean(TelephonyIntents.EXTRA_SHOW_SPN)).isTrue();
        assertThat(b.getString(TelephonyIntents.EXTRA_PLMN)).isEqualTo(plmn);
        assertThat(b.getBoolean(TelephonyIntents.EXTRA_SHOW_PLMN)).isTrue();
        assertThat(b.getString(TelephonyManager.EXTRA_SPN)).isEqualTo(spn);
        assertThat(b.getBoolean(TelephonyManager.EXTRA_SHOW_SPN)).isTrue();
        assertThat(b.getString(TelephonyManager.EXTRA_PLMN)).isEqualTo(plmn);
        assertThat(b.getBoolean(TelephonyManager.EXTRA_SHOW_PLMN)).isTrue();
    }

    @Test