17a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt/* 27a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * Copyright (C) 2006 The Android Open Source Project 37a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * 47a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * Licensed under the Apache License, Version 2.0 (the "License"); 57a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * you may not use this file except in compliance with the License. 67a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * You may obtain a copy of the License at 77a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * 87a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * http://www.apache.org/licenses/LICENSE-2.0 97a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * 107a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * Unless required by applicable law or agreed to in writing, software 117a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * distributed under the License is distributed on an "AS IS" BASIS, 127a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * See the License for the specific language governing permissions and 147a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt * limitations under the License. 157a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt */ 167a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 177a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltpackage com.android.internal.telephony.mocks; 187a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 197a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.net.LinkProperties; 207a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.net.NetworkCapabilities; 217a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.os.Bundle; 227a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.os.IBinder; 237a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.os.RemoteException; 247a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.os.UserHandle; 257a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.telephony.CellInfo; 267a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.telephony.ServiceState; 277a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.telephony.SignalStrength; 287a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.telephony.SubscriptionManager; 297a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport android.telephony.VoLteServiceState; 307a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport com.android.internal.telephony.IPhoneStateListener; 317a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport com.android.internal.telephony.IOnSubscriptionsChangedListener; 327a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport com.android.internal.telephony.ITelephonyRegistry; 337a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 347a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport java.util.ArrayList; 357a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltimport java.util.List; 367a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 377a477263108748903cf5a4151a4e8b739f12264aRobert Greenwaltpublic class TelephonyRegistryMock extends ITelephonyRegistry.Stub { 387a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 397a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt private static class Record { 407a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt String callingPackage; 417a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 427a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt IBinder binder; 437a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 447a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt IPhoneStateListener callback; 457a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt IOnSubscriptionsChangedListener onSubscriptionsChangedListenerCallback; 467a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 477a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt int callerUserId; 487a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 497a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt int events; 507a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 517a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt int subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; 527a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 537a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt int phoneId = SubscriptionManager.INVALID_PHONE_INDEX; 547a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 557a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt boolean canReadPhoneState; 567a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 577a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt boolean matchPhoneStateListenerEvent(int events) { 587a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt return (callback != null) && ((events & this.events) != 0); 597a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 607a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 617a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt boolean matchOnSubscriptionsChangedListener() { 627a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt return (onSubscriptionsChangedListenerCallback != null); 637a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 647a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 657a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 667a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public String toString() { 677a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt return "{callingPackage=" + callingPackage + " binder=" + binder 687a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt + " callback=" + callback 697a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt + " onSubscriptionsChangedListenererCallback=" 707a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt + onSubscriptionsChangedListenerCallback 717a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt + " callerUserId=" + callerUserId + " subId=" + subId + " phoneId=" + phoneId 727a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt + " events=" + Integer.toHexString(events) 737a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt + " canReadPhoneState=" + canReadPhoneState + "}"; 747a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 757a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 767a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 777a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt private final ArrayList<IBinder> mRemoveList = new ArrayList<IBinder>(); 787a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt private final ArrayList<Record> mRecords = new ArrayList<Record>(); 797a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt private boolean hasNotifySubscriptionInfoChangedOccurred = false; 807a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 817a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public TelephonyRegistryMock() { 827a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 837a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 847a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt private void remove(IBinder binder) { 857a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt synchronized (mRecords) { 867a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt final int recordCount = mRecords.size(); 877a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt for (int i = 0; i < recordCount; i++) { 887a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt if (mRecords.get(i).binder == binder) { 897a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt mRecords.remove(i); 907a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt return; 917a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 927a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 937a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 947a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 957a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 967a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt private void handleRemoveListLocked() { 977a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt int size = mRemoveList.size(); 987a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt if (size > 0) { 997a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt for (IBinder b: mRemoveList) { 1007a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt remove(b); 1017a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1027a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt mRemoveList.clear(); 1037a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1047a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1057a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1067a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1077a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 1087a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void addOnSubscriptionsChangedListener(String callingPackage, 1097a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt IOnSubscriptionsChangedListener callback) { 1107a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt Record r; 1117a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1127a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt synchronized (mRecords) { 1137a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt // register 1147a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt find_and_add: { 1157a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt IBinder b = callback.asBinder(); 1167a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt final int N = mRecords.size(); 1177a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt for (int i = 0; i < N; i++) { 1187a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt r = mRecords.get(i); 1197a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt if (b == r.binder) { 1207a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt break find_and_add; 1217a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1227a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1237a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt r = new Record(); 1247a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt r.binder = b; 1257a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt mRecords.add(r); 1267a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1277a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1287a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt r.onSubscriptionsChangedListenerCallback = callback; 1297a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt r.callingPackage = callingPackage; 1307a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt r.callerUserId = UserHandle.getCallingUserId(); 1317a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt r.events = 0; 1327a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt r.canReadPhoneState = true; // permission has been enforced above 1337a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt // Always notify when registration occurs if there has been a notification. 1347a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt if (hasNotifySubscriptionInfoChangedOccurred) { 1357a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt try { 1367a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt r.onSubscriptionsChangedListenerCallback.onSubscriptionsChanged(); 1377a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } catch (RemoteException e) { 1387a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt remove(r.binder); 1397a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1407a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } else { 1417a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt //log("listen oscl: hasNotifySubscriptionInfoChangedOccurred==false no callback"); 1427a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1437a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1447a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1457a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1467a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1477a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 1487a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void removeOnSubscriptionsChangedListener(String pkgForDebug, 1497a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt IOnSubscriptionsChangedListener callback) { 1507a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt remove(callback.asBinder()); 1517a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1527a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1537a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 1547a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifySubscriptionInfoChanged() { 1557a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt synchronized (mRecords) { 1567a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt if (!hasNotifySubscriptionInfoChangedOccurred) { 1577a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt //log("notifySubscriptionInfoChanged: first invocation mRecords.size=" 1587a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt // + mRecords.size()); 1597a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1607a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt hasNotifySubscriptionInfoChangedOccurred = true; 1617a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt mRemoveList.clear(); 1627a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt for (Record r : mRecords) { 1637a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt if (r.matchOnSubscriptionsChangedListener()) { 1647a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt try { 1657a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt r.onSubscriptionsChangedListenerCallback.onSubscriptionsChanged(); 1667a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } catch (RemoteException ex) { 1677a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt mRemoveList.add(r.binder); 1687a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1697a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1707a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1717a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt handleRemoveListLocked(); 1727a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1737a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1747a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1757a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 1767a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void listen(String pkg, IPhoneStateListener callback, int events, boolean notifyNow) { 1777a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 1787a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1797a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1807a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 1817a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void listenForSubscriber(int subId, String pkg, IPhoneStateListener callback, int events, 182d58f5ac4f8d9c0ef35ea16849fad21c2d3c638b6fionaxu boolean notifyNow) { 1837a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 1847a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1857a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1867a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 1877a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyCallState(int state, String incomingNumber) { 1887a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 1897a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1907a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1917a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 192bd3158360ca73324921350a1c61336af7f9c6d8dShishir Agrawal public void notifyCallStateForPhoneId(int phoneId, int subId, int state, 193bd3158360ca73324921350a1c61336af7f9c6d8dShishir Agrawal String incomingNumber) { 1947a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 1957a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 1967a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 1977a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 1987a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyServiceStateForPhoneId(int phoneId, int subId, ServiceState state) { 1997a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2007a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2017a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2027a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 203bd3158360ca73324921350a1c61336af7f9c6d8dShishir Agrawal public void notifySignalStrengthForPhoneId(int phoneId, int subId, 204bd3158360ca73324921350a1c61336af7f9c6d8dShishir Agrawal SignalStrength signalStrength) { 2057a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2067a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2077a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2087a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2097a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyMessageWaitingChangedForPhoneId(int phoneId, int subId, boolean mwi) { 2107a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2117a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2127a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2137a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2147a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyCallForwardingChanged(boolean cfi) { 2157a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2167a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2177a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2187a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2197a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyCallForwardingChangedForSubscriber(int subId, boolean cfi) { 2207a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2217a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2227a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2237a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2247a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyDataActivity(int state) { 2257a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2267a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2277a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2287a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2297a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyDataActivityForSubscriber(int subId, int state) { 2307a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2317a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2327a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2337a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2347a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyDataConnection(int state, boolean isDataConnectivityPossible, 2357a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt String reason, String apn, String apnType, LinkProperties linkProperties, 2367a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt NetworkCapabilities networkCapabilities, int networkType, boolean roaming) { 2377a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2387a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2397a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2407a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2417a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyDataConnectionForSubscriber(int subId, int state, 2427a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt boolean isDataConnectivityPossible, String reason, String apn, String apnType, 2437a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt LinkProperties linkProperties, NetworkCapabilities networkCapabilities, 2447a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt int networkType, boolean roaming) { 2457a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2467a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2477a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2487a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2497a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyDataConnectionFailed(String reason, String apnType) { 2507a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2517a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2527a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2537a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2547a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyDataConnectionFailedForSubscriber(int subId, String reason, String apnType) { 2557a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2567a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2577a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2587a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2597a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyCellLocation(Bundle cellLocation) { 2607a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2617a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2627a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2637a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2647a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyCellLocationForSubscriber(int subId, Bundle cellLocation) { 2657a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2667a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2677a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2687a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2697a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyOtaspChanged(int otaspMode) { 2707a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2717a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2727a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2737a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2747a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyCellInfo(List<CellInfo> cellInfo) { 2757a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2767a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2777a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2787a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2797a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyPreciseCallState(int ringingCallState, int foregroundCallState, 2807a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt int backgroundCallState) { 2817a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2827a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2837a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2847a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2857a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyDisconnectCause(int disconnectCause, int preciseDisconnectCause) { 2867a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2877a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2887a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2897a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2907a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyPreciseDataConnectionFailed(String reason, String apnType, String apn, 2917a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt String failCause) { 2927a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2937a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2947a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 2957a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 2967a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyCellInfoForSubscriber(int subId, List<CellInfo> cellInfo) { 2977a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 2987a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 2997a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 3007a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 3017a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyVoLteServiceStateChanged(VoLteServiceState lteState) { 3027a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 3037a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 3047a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 3057a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 3067a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyOemHookRawEventForSubscriber(int subId, byte[] rawData) { 3077a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 3087a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 3097a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt 3107a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt @Override 3117a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt public void notifyCarrierNetworkChange(boolean active) { 3127a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt throw new RuntimeException("Not implemented"); 3137a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt } 3147a477263108748903cf5a4151a4e8b739f12264aRobert Greenwalt} 315