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

Commit aeaca46c authored by Jordan Liu's avatar Jordan Liu Committed by android-build-merger
Browse files

Merge "Remove mFakeContentResolver and just call notify"

am: f5eab3f9

Change-Id: I8fba7882538df44e5eb4f3e996bf9ba20e6c6b0f
parents 69d70def f5eab3f9
Loading
Loading
Loading
Loading
+6 −24
Original line number Original line Diff line number Diff line
@@ -31,15 +31,12 @@ import android.app.Notification;
import android.app.NotificationManager;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.database.ContentObserver;
import android.net.Uri;
import android.os.HandlerThread;
import android.os.HandlerThread;
import android.os.Message;
import android.os.Message;
import android.os.PersistableBundle;
import android.os.PersistableBundle;
import android.provider.Settings;
import android.provider.Settings;
import android.telephony.CarrierConfigManager;
import android.telephony.CarrierConfigManager;
import android.telephony.ServiceState;
import android.telephony.ServiceState;
import android.test.mock.MockContentResolver;
import android.test.suitebuilder.annotation.SmallTest;
import android.test.suitebuilder.annotation.SmallTest;


import org.junit.After;
import org.junit.After;
@@ -59,22 +56,10 @@ public class CarrierServiceStateTrackerTest extends TelephonyTest {
    private CarrierServiceStateTracker mSpyCarrierSST;
    private CarrierServiceStateTracker mSpyCarrierSST;
    private CarrierServiceStateTracker mCarrierSST;
    private CarrierServiceStateTracker mCarrierSST;
    private CarrierServiceStateTrackerTestHandler mCarrierServiceStateTrackerTestHandler;
    private CarrierServiceStateTrackerTestHandler mCarrierServiceStateTrackerTestHandler;
    private FakeContentResolver mFakeContentResolver;


    NotificationManager mNotificationManager;
    NotificationManager mNotificationManager;
    PersistableBundle mBundle;
    PersistableBundle mBundle;


    private class FakeContentResolver extends MockContentResolver {
        @Override
        public void notifyChange(Uri uri, ContentObserver observer, boolean syncToNetwork) {
            super.notifyChange(uri, observer, syncToNetwork);
            logd("onChanged(uri=" + uri + ")" + observer);
            if (observer != null) {
                observer.dispatchChange(false, uri);
            }
        }
    }

    private class CarrierServiceStateTrackerTestHandler extends HandlerThread {
    private class CarrierServiceStateTrackerTestHandler extends HandlerThread {
        private CarrierServiceStateTrackerTestHandler(String name) {
        private CarrierServiceStateTrackerTestHandler(String name) {
            super(name);
            super(name);
@@ -98,9 +83,6 @@ public class CarrierServiceStateTrackerTest extends TelephonyTest {
        mCarrierServiceStateTrackerTestHandler =
        mCarrierServiceStateTrackerTestHandler =
                new CarrierServiceStateTrackerTestHandler(getClass().getSimpleName());
                new CarrierServiceStateTrackerTestHandler(getClass().getSimpleName());
        mCarrierServiceStateTrackerTestHandler.start();
        mCarrierServiceStateTrackerTestHandler.start();
        mFakeContentResolver = new CarrierServiceStateTrackerTest.FakeContentResolver();

        when(mPhone.getContext().getContentResolver()).thenReturn(mFakeContentResolver);


        mNotificationManager = (NotificationManager) mContext.getSystemService(
        mNotificationManager = (NotificationManager) mContext.getSystemService(
                Context.NOTIFICATION_SERVICE);
                Context.NOTIFICATION_SERVICE);
@@ -181,18 +163,18 @@ public class CarrierServiceStateTrackerTest extends TelephonyTest {
        doReturn(mNotificationBuilder).when(spyPrefNetworkNotification).getNotificationBuilder();
        doReturn(mNotificationBuilder).when(spyPrefNetworkNotification).getNotificationBuilder();


        String prefNetworkMode = Settings.Global.PREFERRED_NETWORK_MODE + mPhone.getSubId();
        String prefNetworkMode = Settings.Global.PREFERRED_NETWORK_MODE + mPhone.getSubId();
        Settings.Global.putInt(mFakeContentResolver, prefNetworkMode,
        Settings.Global.putInt(mContext.getContentResolver(), prefNetworkMode,
                RILConstants.NETWORK_MODE_LTE_CDMA_EVDO);
                RILConstants.NETWORK_MODE_LTE_CDMA_EVDO);
        mFakeContentResolver.notifyChange(
        mSpyCarrierSST.getContentObserver().dispatchChange(false,
                Settings.Global.getUriFor(prefNetworkMode), mSpyCarrierSST.getContentObserver());
                Settings.Global.getUriFor(prefNetworkMode));
        waitForMs(500);
        waitForMs(500);
        verify(mNotificationManager).notify(
        verify(mNotificationManager).notify(
                eq(CarrierServiceStateTracker.NOTIFICATION_PREF_NETWORK), isA(Notification.class));
                eq(CarrierServiceStateTracker.NOTIFICATION_PREF_NETWORK), isA(Notification.class));


        Settings.Global.putInt(mFakeContentResolver, prefNetworkMode,
        Settings.Global.putInt(mContext.getContentResolver(), prefNetworkMode,
                RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
                RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
        mFakeContentResolver.notifyChange(
        mSpyCarrierSST.getContentObserver().dispatchChange(false,
                Settings.Global.getUriFor(prefNetworkMode), mSpyCarrierSST.getContentObserver());
                Settings.Global.getUriFor(prefNetworkMode));
        waitForMs(500);
        waitForMs(500);
        verify(mNotificationManager, atLeast(1)).cancel(
        verify(mNotificationManager, atLeast(1)).cancel(
                CarrierServiceStateTracker.NOTIFICATION_PREF_NETWORK);
                CarrierServiceStateTracker.NOTIFICATION_PREF_NETWORK);