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

Commit 97ef9275 authored by Amit Mahajan's avatar Amit Mahajan
Browse files

Adding some changes in ContextFixture to fix a failing test.

This also includes ContextFixture changes from ag/837521

Bug: 25691379
Change-Id: I94616574e1089b30b31b761c8ccdcfa201e64308
parent 73ea8804
Loading
Loading
Loading
Loading
+34 −9
Original line number Diff line number Diff line
@@ -200,26 +200,41 @@ public class ContextFixture implements TestFixture<Context> {

        @Override
        public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter) {
            Intent result = null;
            synchronized (mBroadcastReceiversByAction) {
                for (int i = 0 ; i < filter.countActions(); i++) {
                    mBroadcastReceiversByAction.put(filter.getAction(i), receiver);
                    if (result == null) {
                        result = mStickyBroadcastByAction.get(filter.getAction(i));
                    }
            return null;
                }
            }

            return result;
        }

        @Override
        public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
                String broadcastPermission, Handler scheduler) {
            return null;
            return registerReceiver(receiver, filter);
        }

        @Override
        public Intent registerReceiverAsUser(BroadcastReceiver receiver, UserHandle user,
                IntentFilter filter, String broadcastPermission, Handler scheduler) {
            return registerReceiver(receiver, filter);
        }

        @Override
        public void sendBroadcast(Intent intent) {
            logd("sendBroadcast called for " + intent.getAction());
            synchronized (mBroadcastReceiversByAction) {
                for (BroadcastReceiver broadcastReceiver :
                        mBroadcastReceiversByAction.get(intent.getAction())) {
                    broadcastReceiver.onReceive(mContext, intent);
                }
            }
        }

        @Override
        public void sendBroadcast(Intent intent, String receiverPermission) {
@@ -262,8 +277,16 @@ public class ContextFixture implements TestFixture<Context> {
        }

        @Override
        public void sendStickyBroadcastAsUser(Intent intent, UserHandle user) {
            logd("sendStickyBroadcastAsUser called for " + intent.getAction());
        public void sendStickyBroadcast(Intent intent) {
            synchronized (mBroadcastReceiversByAction) {
                sendBroadcast(intent);
                mStickyBroadcastByAction.put(intent.getAction(), intent);
            }
        }

        @Override
        public void sendStickyBroadcastAsUser(Intent intent, UserHandle ignored) {
            sendStickyBroadcast(intent);
        }

        @Override
@@ -308,6 +331,8 @@ public class ContextFixture implements TestFixture<Context> {
            new HashMap<ServiceConnection, IInterface>();
    private final Multimap<String, BroadcastReceiver> mBroadcastReceiversByAction =
            ArrayListMultimap.create();
    private final HashMap<String, Intent> mStickyBroadcastByAction =
            new HashMap<String, Intent>();

    // The application context is the most important object this class provides to the system
    // under test.