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

Commit f5eab3f9 authored by Jordan Liu's avatar Jordan Liu Committed by Gerrit Code Review
Browse files

Merge "Remove mFakeContentResolver and just call notify"

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

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

    NotificationManager mNotificationManager;
    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 CarrierServiceStateTrackerTestHandler(String name) {
            super(name);
@@ -98,9 +83,6 @@ public class CarrierServiceStateTrackerTest extends TelephonyTest {
        mCarrierServiceStateTrackerTestHandler =
                new CarrierServiceStateTrackerTestHandler(getClass().getSimpleName());
        mCarrierServiceStateTrackerTestHandler.start();
        mFakeContentResolver = new CarrierServiceStateTrackerTest.FakeContentResolver();

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

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

        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);
        mFakeContentResolver.notifyChange(
                Settings.Global.getUriFor(prefNetworkMode), mSpyCarrierSST.getContentObserver());
        mSpyCarrierSST.getContentObserver().dispatchChange(false,
                Settings.Global.getUriFor(prefNetworkMode));
        waitForMs(500);
        verify(mNotificationManager).notify(
                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);
        mFakeContentResolver.notifyChange(
                Settings.Global.getUriFor(prefNetworkMode), mSpyCarrierSST.getContentObserver());
        mSpyCarrierSST.getContentObserver().dispatchChange(false,
                Settings.Global.getUriFor(prefNetworkMode));
        waitForMs(500);
        verify(mNotificationManager, atLeast(1)).cancel(
                CarrierServiceStateTracker.NOTIFICATION_PREF_NETWORK);