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

Commit 9fc75740 authored by Jack He's avatar Jack He
Browse files

Telephony: Allow custom looper for OnSubscriptionsChangedListener

* Add OnSubscriptionsChangedListener(Looper looper) constructor

Bug: 69429540
Test: Use this constructor in HeadsetPhoneState.java
Change-Id: I37b6c8d970384466527acc8df7a818625865ab16
parent a89f6150
Loading
Loading
Loading
Loading
+26 −2
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.content.res.Configuration;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.os.RemoteException;
import android.os.ServiceManager;
@@ -408,7 +409,15 @@ public class SubscriptionManager {
     * for #onSubscriptionsChanged to be invoked.
     */
    public static class OnSubscriptionsChangedListener {
        private final Handler mHandler  = new Handler() {
        private class OnSubscriptionsChangedListenerHandler extends Handler {
            OnSubscriptionsChangedListenerHandler() {
                super();
            }

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

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

        private final Handler mHandler;

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

        /**
         * Allow a listener to be created with a custom looper
         * @param looper the looper that the underlining handler should run on
         * @hide
         */
        public OnSubscriptionsChangedListener(Looper looper) {
            mHandler = new OnSubscriptionsChangedListenerHandler(looper);
        }

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