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

Commit 831e401c authored by Amit Mahajan's avatar Amit Mahajan
Browse files

Added constructor with looper param for OnSubscriptionsChangedListener

This is needed for tests as subclasses may need to specify which
looper to use.

Bug: 25691379
Change-Id: Ia6eb2d34c439b420ef81622e3c8ff50a0290da22
parent ae85bc3c
Loading
Loading
Loading
Loading
+27 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Looper;
import android.telephony.Rlog;
import android.os.Handler;
import android.os.Message;
@@ -347,7 +348,31 @@ public class SubscriptionManager {
     * for #onSubscriptionsChanged to be invoked.
     */
    public static class OnSubscriptionsChangedListener {
        private final Handler mHandler  = new Handler() {
        private final Handler mHandler;

        public OnSubscriptionsChangedListener() {
            mHandler = new OnSubscriptionsChangedListenerHandler();
        }

        /**
         * Contructor that takes in looper as parameter in case a subclass/instantiation needs
         * to use a specific looper (like in tests where mainLooper may need to be used).
         * @param looper Looper to be used for mHandler
         * @hide
         */
        protected OnSubscriptionsChangedListener(Looper looper) {
            mHandler = new OnSubscriptionsChangedListenerHandler(looper);
        }

        private class OnSubscriptionsChangedListenerHandler extends Handler {
            private OnSubscriptionsChangedListenerHandler() {
                super();
            }

            private OnSubscriptionsChangedListenerHandler(Looper looper) {
                super(looper);
            }

            @Override
            public void handleMessage(Message msg) {
                if (DBG) {
@@ -355,7 +380,7 @@ public class SubscriptionManager {
                }
                OnSubscriptionsChangedListener.this.onSubscriptionsChanged();
            }
        };
        }

        /**
         * Callback invoked when there is any change to any SubscriptionInfo. Typically