create TM for each subId to register phonestatelistner

to register phonestatelistner for different subscription, do not
create phonestatelistener(subId) this contructor is going to be removed.
instead, create TelephonyManager instance for each subId and pass
separate phonestateListener object.

Bug: 117555407
Change-Id: I0198a30e7a48bfb37b9527a824bf898576a39e20
diff --git a/src/com/android/phone/CallNotifier.java b/src/com/android/phone/CallNotifier.java
index 3796e64..7db17ff 100644
--- a/src/com/android/phone/CallNotifier.java
+++ b/src/com/android/phone/CallNotifier.java
@@ -610,8 +610,8 @@
         for (int i = 0; i < subInfos.size(); i++) {
             int subId = subInfos.get(i).getSubscriptionId();
             if (!mPhoneStateListeners.containsKey(subId)) {
-                CallNotifierPhoneStateListener listener = new CallNotifierPhoneStateListener(subId);
-                mTelephonyManager.listen(listener,
+                CallNotifierPhoneStateListener listener = new CallNotifierPhoneStateListener();
+                mTelephonyManager.createForSubscriptionId(subId).listen(listener,
                         PhoneStateListener.LISTEN_MESSAGE_WAITING_INDICATOR
                         | PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR);
                 mPhoneStateListeners.put(subId, listener);
@@ -762,8 +762,8 @@
             };
 
     private class CallNotifierPhoneStateListener extends PhoneStateListener {
-        public CallNotifierPhoneStateListener(int subId) {
-            super(subId);
+        public CallNotifierPhoneStateListener() {
+            super();
         }
 
         @Override