diff options
author | Wink Saville <wink@google.com> | 2012-04-02 10:54:34 -0700 |
---|---|---|
committer | Wink Saville <wink@google.com> | 2012-04-02 10:54:34 -0700 |
commit | 30ccade7f9432b8212807b9ddc8cc69a4a8fc854 (patch) | |
tree | 893495cdde09b68ff0c4f2fffbb931247c267907 /telephony | |
parent | ecc395a51053c433e359a6cfd6c23a193ee546c0 (diff) | |
download | frameworks_base-30ccade7f9432b8212807b9ddc8cc69a4a8fc854.zip frameworks_base-30ccade7f9432b8212807b9ddc8cc69a4a8fc854.tar.gz frameworks_base-30ccade7f9432b8212807b9ddc8cc69a4a8fc854.tar.bz2 |
Add DebugService.
This will dump the state of the telephony stack using:
adb shell dumpsys activity service android.phone.TelephonyDebugService
The service is located in packages/app/Phone and TelephonyDebugService
instantiates DebugService and calls its dump method when asked
via the dumpsys command above.
Change-Id: I4d34c741544cafdadce2532de8b9c117a4d435a5
Diffstat (limited to 'telephony')
20 files changed, 577 insertions, 0 deletions
diff --git a/telephony/java/com/android/internal/telephony/ApnContext.java b/telephony/java/com/android/internal/telephony/ApnContext.java index 8aeee87..80d5044 100644 --- a/telephony/java/com/android/internal/telephony/ApnContext.java +++ b/telephony/java/com/android/internal/telephony/ApnContext.java @@ -17,6 +17,9 @@ package com.android.internal.telephony; import android.util.Log; + +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; @@ -207,4 +210,19 @@ public class ApnContext { protected void log(String s) { Log.d(LOG_TAG, "[ApnContext] " + s); } + + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("ApnContext:"); + pw.println(" mApnType=" + mApnType); + pw.println(" mState=" + mState); + pw.println(" mWaitingApns=" + mWaitingApns); + pw.println(" mWaitingApnsPermanentFailureCountDown=" + + mWaitingApnsPermanentFailureCountDown); + pw.println(" mApnSetting=" + mApnSetting); + pw.println(" mDataConnection=" + mDataConnection); + pw.println(" mDataConnectionAc=" + mDataConnectionAc); + pw.println(" mReason=" + mReason); + pw.println(" mDataEnabled=" + mDataEnabled); + pw.println(" mDependencyMet=" + mDependencyMet); + } } diff --git a/telephony/java/com/android/internal/telephony/CallTracker.java b/telephony/java/com/android/internal/telephony/CallTracker.java index 958481c..62caf01 100644 --- a/telephony/java/com/android/internal/telephony/CallTracker.java +++ b/telephony/java/com/android/internal/telephony/CallTracker.java @@ -25,6 +25,9 @@ import android.util.Log; import com.android.internal.telephony.CommandException; +import java.io.FileDescriptor; +import java.io.PrintWriter; + /** * {@hide} @@ -170,4 +173,10 @@ public abstract class CallTracker extends Handler { protected abstract void log(String msg); + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("CallTracker:"); + pw.println(" pendingOperations=" + pendingOperations); + pw.println(" needsPoll=" + needsPoll); + pw.println(" lastRelevantPoll=" + lastRelevantPoll); + } } diff --git a/telephony/java/com/android/internal/telephony/DataConnection.java b/telephony/java/com/android/internal/telephony/DataConnection.java index 238afbe..486a924 100644 --- a/telephony/java/com/android/internal/telephony/DataConnection.java +++ b/telephony/java/com/android/internal/telephony/DataConnection.java @@ -32,6 +32,8 @@ import android.os.Message; import android.os.SystemProperties; import android.text.TextUtils; +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -1185,4 +1187,27 @@ public abstract class DataConnection extends StateMachine { sendMessage(obtainMessage(EVENT_DISCONNECT_ALL, new DisconnectParams(reason, onCompletedMsg))); } + + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("DataConnection name=" + getName() + ":"); + pw.println(" mApnList=" + mApnList); + pw.println(" mDataConnectionTracker=" + mDataConnectionTracker); + pw.println(" mApn=" + mApn); + pw.println(" mTag=" + mTag); + pw.println(" phone=" + phone); + pw.println(" mRilVersion=" + mRilVersion); + pw.println(" cid=" + cid); + pw.println(" mLinkProperties=" + mLinkProperties); + pw.println(" mCapabilities=" + mCapabilities); + pw.println(" createTime=" + createTime); + pw.println(" lastFailTime=" + lastFailTime); + pw.println(" lastFailCause=" + lastFailCause); + pw.println(" mRetryOverride=" + mRetryOverride); + pw.println(" mRefCount=" + mRefCount); + pw.println(" userData=" + userData); + pw.println(" total messages=" + getProcessedMessagesCount()); + for (int i=0; i < getProcessedMessagesSize(); i++) { + pw.printf(" msg[%d]=%s\n", i, getProcessedMessageInfo(i)); + } + } } diff --git a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java index fa90f1c..55f2ca3 100644 --- a/telephony/java/com/android/internal/telephony/DataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/DataConnectionTracker.java @@ -49,8 +49,12 @@ import com.android.internal.telephony.DataConnection.FailCause; import com.android.internal.util.AsyncChannel; import com.android.internal.util.Protocol; +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; +import java.util.Map.Entry; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; @@ -1193,4 +1197,80 @@ public abstract class DataConnectionTracker extends Handler { dc.resetRetryCount(); } } + + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("DataConnectionTracker:"); + pw.println(" mInternalDataEnabled=" + mInternalDataEnabled); + pw.println(" mUserDataEnabled=" + mUserDataEnabled); + pw.println(" sPolicyDataEnabed=" + sPolicyDataEnabled); + pw.println(" dataEnabled:"); + for(int i=0; i < dataEnabled.length; i++) { + pw.printf(" dataEnabled[%d]=%b\n", i, dataEnabled[i]); + } + pw.flush(); + pw.println(" enabledCount=" + enabledCount); + pw.println(" mRequestedApnType=" + mRequestedApnType); + pw.println(" mPhone=" + mPhone.getPhoneName()); + pw.println(" mActivity=" + mActivity); + pw.println(" mState=" + mState); + pw.println(" mTxPkts=" + mTxPkts); + pw.println(" mRxPkts=" + mRxPkts); + pw.println(" mNetStatPollPeriod=" + mNetStatPollPeriod); + pw.println(" mNetStatPollEnabled=" + mNetStatPollEnabled); + pw.println(" mDataStallTxRxSum=" + mDataStallTxRxSum); + pw.println(" mDataStallAlarmTag=" + mDataStallAlarmTag); + pw.println(" mSentSinceLastRecv=" + mSentSinceLastRecv); + pw.println(" mNoRecvPollCount=" + mNoRecvPollCount); + pw.println(" mIsWifiConnected=" + mIsWifiConnected); + pw.println(" mReconnectIntent=" + mReconnectIntent); + pw.println(" mCidActive=" + mCidActive); + pw.println(" mAutoAttachOnCreation=" + mAutoAttachOnCreation); + pw.println(" mIsScreenOn=" + mIsScreenOn); + pw.println(" mUniqueIdGenerator=" + mUniqueIdGenerator); + pw.flush(); + pw.println(" ***************************************"); + Set<Entry<Integer, DataConnection> > mDcSet = mDataConnections.entrySet(); + pw.println(" mDataConnections: count=" + mDcSet.size()); + for (Entry<Integer, DataConnection> entry : mDcSet) { + pw.printf(" *** mDataConnection[%d] \n", entry.getKey()); + entry.getValue().dump(fd, pw, args); + } + pw.println(" ***************************************"); + pw.flush(); + Set<Entry<String, Integer>> mApnToDcIdSet = mApnToDataConnectionId.entrySet(); + pw.println(" mApnToDataConnectonId size=" + mApnToDcIdSet.size()); + for (Entry<String, Integer> entry : mApnToDcIdSet) { + pw.printf(" mApnToDataConnectonId[%s]=%d\n", entry.getKey(), entry.getValue()); + } + pw.println(" ***************************************"); + pw.flush(); + if (mApnContexts != null) { + Set<Entry<String, ApnContext>> mApnContextsSet = mApnContexts.entrySet(); + pw.println(" mApnContexts size=" + mApnContextsSet.size()); + for (Entry<String, ApnContext> entry : mApnContextsSet) { + pw.printf(" *** mApnContexts[%s]:\n", entry.getKey()); + entry.getValue().dump(fd, pw, args); + } + pw.println(" ***************************************"); + } else { + pw.println(" mApnContexts=null"); + } + pw.flush(); + pw.println(" mActiveApn=" + mActiveApn); + if (mAllApns != null) { + pw.println(" mAllApns size=" + mAllApns.size()); + for (int i=0; i < mAllApns.size(); i++) { + pw.printf(" mAllApns[%d]: %s\n", i, mAllApns.get(i)); + } + pw.flush(); + } else { + pw.println(" mAllApns=null"); + } + pw.println(" mPreferredApn=" + mPreferredApn); + pw.println(" mIsPsRestricted=" + mIsPsRestricted); + pw.println(" mIsDisposed=" + mIsDisposed); + pw.println(" mIntentReceiver=" + mIntentReceiver); + pw.println(" mDataRoamingSettingObserver=" + mDataRoamingSettingObserver); + pw.flush(); + } } diff --git a/telephony/java/com/android/internal/telephony/DebugService.java b/telephony/java/com/android/internal/telephony/DebugService.java new file mode 100644 index 0000000..29fea6e --- /dev/null +++ b/telephony/java/com/android/internal/telephony/DebugService.java @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.internal.telephony; + +import android.util.Log; + +import java.io.FileDescriptor; +import java.io.PrintWriter; + +/** + * A debug service that will dump telephony's state + * + * Currently this "Service" has a proxy in the phone app + * com.android.phone.TelephonyDebugService which actually + * invokes the dump method. + */ +public class DebugService { + private static String TAG = "DebugService"; + + /** Constructor */ + public DebugService() { + log("DebugService:"); + } + + /** + * Dump the state of various objects, add calls to other objects as desired. + */ + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + log("dump: +"); + PhoneProxy phoneProxy = null; + PhoneBase phoneBase = null; + + try { + phoneProxy = (PhoneProxy) PhoneFactory.getDefaultPhone(); + } catch (Exception e) { + pw.println("Telephony DebugService: Could not getDefaultPhone e=" + e); + return; + } + try { + phoneBase = (PhoneBase)phoneProxy.getActivePhone(); + } catch (Exception e) { + pw.println("Telephony DebugService: Could not PhoneBase e=" + e); + return; + } + + /** + * Surround each of the sub dump's with try/catch so even + * if one fails we'll be able to dump the next ones. + */ + pw.println(); + pw.println("++++++++++++++++++++++++++++++++"); + pw.flush(); + try { + phoneBase.dump(fd, pw, args); + } catch (Exception e) { + e.printStackTrace(); + } + pw.flush(); + pw.println("++++++++++++++++++++++++++++++++"); + try { + phoneBase.mDataConnectionTracker.dump(fd, pw, args); + } catch (Exception e) { + e.printStackTrace(); + } + pw.flush(); + pw.println("++++++++++++++++++++++++++++++++"); + try { + phoneBase.getServiceStateTracker().dump(fd, pw, args); + } catch (Exception e) { + e.printStackTrace(); + } + pw.flush(); + pw.println("++++++++++++++++++++++++++++++++"); + try { + phoneBase.getCallTracker().dump(fd, pw, args); + } catch (Exception e) { + e.printStackTrace(); + } + pw.flush(); + pw.println("++++++++++++++++++++++++++++++++"); + try { + ((RIL)phoneBase.mCM).dump(fd, pw, args); + } catch (Exception e) { + e.printStackTrace(); + } + pw.flush(); + pw.println("++++++++++++++++++++++++++++++++"); + log("dump: -"); + } + + private static void log(String s) { + Log.d(TAG, "DebugService " + s); + } +} diff --git a/telephony/java/com/android/internal/telephony/PhoneBase.java b/telephony/java/com/android/internal/telephony/PhoneBase.java index 3aa53eef..1b4cb15 100644 --- a/telephony/java/com/android/internal/telephony/PhoneBase.java +++ b/telephony/java/com/android/internal/telephony/PhoneBase.java @@ -42,6 +42,8 @@ import com.android.internal.telephony.ims.IsimRecords; import com.android.internal.telephony.test.SimulatedRadioControl; import com.android.internal.telephony.gsm.SIMRecords; +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.Locale; import java.util.concurrent.atomic.AtomicReference; @@ -1144,4 +1146,43 @@ public abstract class PhoneBase extends Handler implements Phone { public UsimServiceTable getUsimServiceTable() { return mIccRecords.getUsimServiceTable(); } + + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("PhoneBase:"); + pw.println(" mCM=" + mCM); + pw.println(" mDnsCheckDisabled=" + mDnsCheckDisabled); + pw.println(" mDataConnectionTracker=" + mDataConnectionTracker); + pw.println(" mDoesRilSendMultipleCallRing=" + mDoesRilSendMultipleCallRing); + pw.println(" mCallRingContinueToken=" + mCallRingContinueToken); + pw.println(" mCallRingDelay=" + mCallRingDelay); + pw.println(" mIsTheCurrentActivePhone=" + mIsTheCurrentActivePhone); + pw.println(" mIsVoiceCapable=" + mIsVoiceCapable); + pw.println(" mIccRecords=" + mIccRecords); + pw.println(" mIccCard=" + mIccCard.get()); + pw.println(" mSmsStorageMonitor=" + mSmsStorageMonitor); + pw.println(" mSmsUsageMonitor=" + mSmsUsageMonitor); + pw.println(" mSMS=" + mSMS); + pw.flush(); + pw.println(" mLooper=" + mLooper); + pw.println(" mContext=" + mContext); + pw.println(" mNotifier=" + mNotifier); + pw.println(" mSimulatedRadioControl=" + mSimulatedRadioControl); + pw.println(" mUnitTestMode=" + mUnitTestMode); + pw.println(" isDnsCheckDisabled()=" + isDnsCheckDisabled()); + pw.println(" getUnitTestMode()=" + getUnitTestMode()); + pw.println(" getState()=" + getState()); + pw.println(" getIccSerialNumber()=" + getIccSerialNumber()); + pw.println(" getIccRecordsLoaded()=" + getIccRecordsLoaded()); + pw.println(" getMessageWaitingIndicator()=" + getMessageWaitingIndicator()); + pw.println(" getCallForwardingIndicator()=" + getCallForwardingIndicator()); + pw.println(" isInEmergencyCall()=" + isInEmergencyCall()); + pw.flush(); + pw.println(" isInEcm()=" + isInEcm()); + pw.println(" getPhoneName()=" + getPhoneName()); + pw.println(" getPhoneType()=" + getPhoneType()); + pw.println(" getVoiceMessageCount()=" + getVoiceMessageCount()); + pw.println(" getActiveApnTypes()=" + getActiveApnTypes()); + pw.println(" isDataConnectivityPossible()=" + isDataConnectivityPossible()); + pw.println(" needsOtaServiceProvisioning=" + needsOtaServiceProvisioning()); + } } diff --git a/telephony/java/com/android/internal/telephony/RIL.java b/telephony/java/com/android/internal/telephony/RIL.java index cf96ab2..b14f6c8 100644 --- a/telephony/java/com/android/internal/telephony/RIL.java +++ b/telephony/java/com/android/internal/telephony/RIL.java @@ -56,8 +56,10 @@ import com.android.internal.telephony.IccRefreshResponse; import java.io.ByteArrayInputStream; import java.io.DataInputStream; +import java.io.FileDescriptor; import java.io.IOException; import java.io.InputStream; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; import java.util.concurrent.atomic.AtomicBoolean; @@ -3833,4 +3835,27 @@ public final class RIL extends BaseCommands implements CommandsInterface { if (RILJ_LOGD) riljLog("testingEmergencyCall"); mTestingEmergencyCall.set(true); } + + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("RIL:"); + pw.println(" mSocket=" + mSocket); + pw.println(" mSenderThread=" + mSenderThread); + pw.println(" mSender=" + mSender); + pw.println(" mReceiverThread=" + mReceiverThread); + pw.println(" mReceiver=" + mReceiver); + pw.println(" mWakeLock=" + mWakeLock); + pw.println(" mWakeLockTimeout=" + mWakeLockTimeout); + synchronized (mRequestsList) { + pw.println(" mRequestMessagesPending=" + mRequestMessagesPending); + pw.println(" mRequestMessagesWaiting=" + mRequestMessagesWaiting); + int count = mRequestsList.size(); + pw.println(" mRequestList count=" + count); + for (int i = 0; i < count; i++) { + RILRequest rr = mRequestsList.get(i); + pw.println(" [" + rr.mSerial + "] " + requestToString(rr.mRequest)); + } + } + pw.println(" mLastNITZTimeInfo=" + mLastNITZTimeInfo); + pw.println(" mTestingEmergencyCall=" + mTestingEmergencyCall.get()); + } } diff --git a/telephony/java/com/android/internal/telephony/ServiceStateTracker.java b/telephony/java/com/android/internal/telephony/ServiceStateTracker.java index fd39e04..75eb226 100644 --- a/telephony/java/com/android/internal/telephony/ServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/ServiceStateTracker.java @@ -24,6 +24,9 @@ import android.os.RegistrantList; import android.telephony.ServiceState; import android.telephony.SignalStrength; +import java.io.FileDescriptor; +import java.io.PrintWriter; + /** * {@hide} */ @@ -459,4 +462,19 @@ public abstract class ServiceStateTracker extends Handler { // This will effectively cancel the rest of the poll requests. pollingContext = new int[1]; } + + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("ServiceStateTracker:"); + pw.println(" ss=" + ss); + pw.println(" newSS=" + newSS); + pw.println(" mSignalStrength=" + mSignalStrength); + pw.println(" mRestrictedState=" + mRestrictedState); + pw.println(" pollingContext=" + pollingContext); + pw.println(" mDesiredPowerState=" + mDesiredPowerState); + pw.println(" mRilRadioTechnology=" + mRilRadioTechnology); + pw.println(" mNewRilRadioTechnology=" + mNewRilRadioTechnology); + pw.println(" dontPollSignalStrength=" + dontPollSignalStrength); + pw.println(" mPendingRadioPowerOffAfterDataOff=" + mPendingRadioPowerOffAfterDataOff); + pw.println(" mPendingRadioPowerOffAfterDataOffTag=" + mPendingRadioPowerOffAfterDataOffTag); + } } diff --git a/telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java b/telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java index 110d8bf..d99a625 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java +++ b/telephony/java/com/android/internal/telephony/cdma/CDMALTEPhone.java @@ -39,6 +39,9 @@ import com.android.internal.telephony.gsm.SmsMessage; import com.android.internal.telephony.ims.IsimRecords; import com.android.internal.telephony.uicc.UiccController; +import java.io.FileDescriptor; +import java.io.PrintWriter; + public class CDMALTEPhone extends CDMAPhone { static final String LOG_TAG = "CDMA"; @@ -259,4 +262,11 @@ public class CDMALTEPhone extends CDMAPhone { protected void log(String s) { Log.d(LOG_TAG, "[CDMALTEPhone] " + s); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("CDMALTEPhone extends:"); + super.dump(fd, pw, args); + pw.println(" m3gppSMS=" + m3gppSMS); + } } diff --git a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java index bb00d4b..ed0081b 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java +++ b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java @@ -66,6 +66,8 @@ import com.android.internal.telephony.UUSInfo; import com.android.internal.telephony.cat.CatService; import com.android.internal.telephony.uicc.UiccController; +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; @@ -81,6 +83,7 @@ import static com.android.internal.telephony.TelephonyProperties.PROPERTY_ICC_OP public class CDMAPhone extends PhoneBase { static final String LOG_TAG = "CDMA"; private static final boolean DBG = true; + private static final boolean VDBG = false; /* STOP SHIP if true */ // Default Emergency Callback Mode exit timer private static final int DEFAULT_ECM_EXIT_TIMER_VALUE = 300000; @@ -1471,4 +1474,32 @@ public class CDMAPhone extends PhoneBase { if (DBG) Log.d(LOG_TAG, "[CDMAPhone] " + s); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("CDMAPhone extends:"); + super.dump(fd, pw, args); + pw.println(" mVmNumber=" + mVmNumber); + pw.println(" mCT=" + mCT); + pw.println(" mSST=" + mSST); + pw.println(" mCdmaSSM=" + mCdmaSSM); + pw.println(" mPendingMmis=" + mPendingMmis); + pw.println(" mRuimPhoneBookInterfaceManager=" + mRuimPhoneBookInterfaceManager); + pw.println(" mRuimSmsInterfaceManager=" + mRuimSmsInterfaceManager); + pw.println(" mCdmaSubscriptionSource=" + mCdmaSubscriptionSource); + pw.println(" mSubInfo=" + mSubInfo); + pw.println(" mEriManager=" + mEriManager); + pw.println(" mWakeLock=" + mWakeLock); + pw.println(" mIsPhoneInEcmState=" + mIsPhoneInEcmState); + if (VDBG) pw.println(" mImei=" + mImei); + if (VDBG) pw.println(" mImeiSv=" + mImeiSv); + if (VDBG) pw.println(" mEsn=" + mEsn); + if (VDBG) pw.println(" mMeid=" + mMeid); + pw.println(" mCarrierOtaSpNumSchema=" + mCarrierOtaSpNumSchema); + pw.println(" getCdmaEriIconIndex()=" + getCdmaEriIconIndex()); + pw.println(" getCdmaEriIconMode()=" + getCdmaEriIconMode()); + pw.println(" getCdmaEriText()=" + getCdmaEriText()); + pw.println(" isMinInfoReady()=" + isMinInfoReady()); + pw.println(" isCspPlmnEnabled()=" + isCspPlmnEnabled()); + } } diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java index f918dce..af92b08 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaCallTracker.java @@ -34,6 +34,8 @@ import com.android.internal.telephony.DriverCall; import com.android.internal.telephony.Phone; import com.android.internal.telephony.TelephonyProperties; +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; @@ -1129,4 +1131,32 @@ public final class CdmaCallTracker extends CallTracker { Log.d(LOG_TAG, "[CdmaCallTracker] " + msg); } + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("GsmCallTracker extends:"); + super.dump(fd, pw, args); + pw.println("droppedDuringPoll: length=" + connections.length); + for(int i=0; i < connections.length; i++) { + pw.printf(" connections[%d]=%s\n", i, connections[i]); + } + pw.println(" voiceCallEndedRegistrants=" + voiceCallEndedRegistrants); + pw.println(" voiceCallStartedRegistrants=" + voiceCallStartedRegistrants); + pw.println(" callWaitingRegistrants=" + callWaitingRegistrants); + pw.println("droppedDuringPoll: size=" + droppedDuringPoll.size()); + for(int i = 0; i < droppedDuringPoll.size(); i++) { + pw.printf( " droppedDuringPoll[%d]=%s\n", i, droppedDuringPoll.get(i)); + } + pw.println(" ringingCall=" + ringingCall); + pw.println(" foregroundCall=" + foregroundCall); + pw.println(" backgroundCall=" + backgroundCall); + pw.println(" pendingMO=" + pendingMO); + pw.println(" hangupPendingMO=" + hangupPendingMO); + pw.println(" pendingCallInEcm=" + pendingCallInEcm); + pw.println(" mIsInEmergencyCall=" + mIsInEmergencyCall); + pw.println(" phone=" + phone); + pw.println(" desiredMute=" + desiredMute); + pw.println(" pendingCallClirMode=" + pendingCallClirMode); + pw.println(" state=" + state); + pw.println(" mIsEcmTimerCanceled=" + mIsEcmTimerCanceled); + } } diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java index 64d018e..4ef05ea 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnection.java @@ -25,6 +25,9 @@ import com.android.internal.telephony.Phone; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; +import java.io.FileDescriptor; +import java.io.PrintWriter; + /** * {@hide} */ @@ -114,4 +117,10 @@ public class CdmaDataConnection extends DataConnection { protected void log(String s) { Log.d(LOG_TAG, "[" + getName() + "] " + s); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("CdmaDataConnection extends:"); + super.dump(fd, pw, args); + } } diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java index 5f1a014..7e5e707 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaDataConnectionTracker.java @@ -46,6 +46,8 @@ import com.android.internal.telephony.Phone; import com.android.internal.util.AsyncChannel; import com.android.internal.telephony.RILConstants; +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.ArrayList; /** @@ -1017,4 +1019,18 @@ public final class CdmaDataConnectionTracker extends DataConnectionTracker { protected void loge(String s) { Log.e(LOG_TAG, "[CdmaDCT] " + s); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("CdmaDataConnectionTracker extends:"); + super.dump(fd, pw, args); + pw.println(" mCdmaPhone=" + mCdmaPhone); + pw.println(" mCdmaSSM=" + mCdmaSSM); + pw.println(" mPendingDataConnection=" + mPendingDataConnection); + pw.println(" mPendingRestartRadio=" + mPendingRestartRadio); + pw.println(" mSupportedApnTypes=" + mSupportedApnTypes); + pw.println(" mDefaultApnTypes=" + mDefaultApnTypes); + pw.println(" mDunApnTypes=" + mDunApnTypes); + pw.println(" mDefaultApnId=" + mDefaultApnId); + } } diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java index 09008cd..98a106a0 100644 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaLteServiceStateTracker.java @@ -36,6 +36,9 @@ import android.util.EventLog; import com.android.internal.telephony.gsm.GsmDataConnectionTracker; +import java.io.FileDescriptor; +import java.io.PrintWriter; + public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { CDMALTEPhone mCdmaLtePhone; @@ -519,4 +522,12 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker { protected void loge(String s) { Log.e(LOG_TAG, "[CdmaLteSST] " + s); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("CdmaLteServiceStateTracker extends:"); + super.dump(fd, pw, args); + pw.println(" mCdmaLtePhone=" + mCdmaLtePhone); + pw.println(" mLteSS=" + mLteSS); + } } diff --git a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java index 9ec56fc..9f27696 100755 --- a/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/cdma/CdmaServiceStateTracker.java @@ -54,6 +54,8 @@ import android.util.EventLog; import android.util.Log; import android.util.TimeUtils; +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.Arrays; import java.util.Calendar; import java.util.Date; @@ -1665,4 +1667,43 @@ public class CdmaServiceStateTracker extends ServiceStateTracker { protected void loge(String s) { Log.e(LOG_TAG, "[CdmaSST] " + s); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("CdmaServiceStateTracker extends:"); + super.dump(fd, pw, args); + pw.println(" phone=" + phone); + pw.println(" cellLoc=" + cellLoc); + pw.println(" newCellLoc=" + newCellLoc); + pw.println(" mCurrentOtaspMode=" + mCurrentOtaspMode); + pw.println(" mCdmaRoaming=" + mCdmaRoaming); + pw.println(" mRoamingIndicator=" + mRoamingIndicator); + pw.println(" mIsInPrl=" + mIsInPrl); + pw.println(" mDefaultRoamingIndicator=" + mDefaultRoamingIndicator); + pw.println(" mDataConnectionState=" + mDataConnectionState); + pw.println(" mNewDataConnectionState=" + mNewDataConnectionState); + pw.println(" mRegistrationState=" + mRegistrationState); + pw.println(" mNeedFixZone=" + mNeedFixZone); + pw.println(" mZoneOffset=" + mZoneOffset); + pw.println(" mZoneDst=" + mZoneDst); + pw.println(" mZoneTime=" + mZoneTime); + pw.println(" mGotCountryCode=" + mGotCountryCode); + pw.println(" mSavedTimeZone=" + mSavedTimeZone); + pw.println(" mSavedTime=" + mSavedTime); + pw.println(" mSavedAtTime=" + mSavedAtTime); + pw.println(" mNeedToRegForRuimLoaded=" + mNeedToRegForRuimLoaded); + pw.println(" mWakeLock=" + mWakeLock); + pw.println(" mCurPlmn=" + mCurPlmn); + pw.println(" mMdn=" + mMdn); + pw.println(" mHomeSystemId=" + mHomeSystemId); + pw.println(" mHomeNetworkId=" + mHomeNetworkId); + pw.println(" mMin=" + mMin); + pw.println(" mPrlVersion=" + mPrlVersion); + pw.println(" mIsMinInfoReady=" + mIsMinInfoReady); + pw.println(" isEriTextLoaded=" + isEriTextLoaded); + pw.println(" isSubscriptionFromRuim=" + isSubscriptionFromRuim); + pw.println(" mCdmaSSM=" + mCdmaSSM); + pw.println(" mRegistrationDeniedReason=" + mRegistrationDeniedReason); + pw.println(" currentCarrier=" + currentCarrier); + } } diff --git a/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java b/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java index be13c35..6e9cd51 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java +++ b/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java @@ -74,7 +74,9 @@ import com.android.internal.telephony.uicc.UiccController; import com.android.internal.telephony.IccVmNotSupportedException; import com.android.internal.telephony.ServiceStateTracker; +import java.io.FileDescriptor; import java.io.IOException; +import java.io.PrintWriter; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; @@ -90,6 +92,7 @@ public class GSMPhone extends PhoneBase { // log. (Use "adb logcat -b radio" to see them.) static final String LOG_TAG = "GSM"; private static final boolean LOCAL_DEBUG = true; + private static final boolean VDBG = false; /* STOP SHIP if true */ // Key used to read/write current ciphering state public static final String CIPHERING_KEY = "ciphering_key"; @@ -1487,4 +1490,18 @@ public class GSMPhone extends PhoneBase { mIccRecords.unregisterForRecordsLoaded(this); } + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("GSMPhone extends:"); + super.dump(fd, pw, args); + pw.println(" mCT=" + mCT); + pw.println(" mSST=" + mSST); + pw.println(" mPendingMMIs=" + mPendingMMIs); + pw.println(" mSimPhoneBookIntManager=" + mSimPhoneBookIntManager); + pw.println(" mSimSmsIntManager=" + mSimSmsIntManager); + pw.println(" mSubInfo=" + mSubInfo); + if (VDBG) pw.println(" mImei=" + mImei); + if (VDBG) pw.println(" mImeiSv=" + mImeiSv); + pw.println(" mVmNumber=" + mVmNumber); + } } diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java index b4e0775..e86d853 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmCallTracker.java @@ -43,6 +43,8 @@ import com.android.internal.telephony.gsm.GSMPhone; import com.android.internal.telephony.gsm.GsmCall; import com.android.internal.telephony.gsm.GsmConnection; +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.List; import java.util.ArrayList; @@ -922,4 +924,28 @@ public final class GsmCallTracker extends CallTracker { protected void log(String msg) { Log.d(LOG_TAG, "[GsmCallTracker] " + msg); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("GsmCallTracker extends:"); + super.dump(fd, pw, args); + pw.println("connections: length=" + connections.length); + for(int i=0; i < connections.length; i++) { + pw.printf(" connections[%d]=%s\n", i, connections[i]); + } + pw.println(" voiceCallEndedRegistrants=" + voiceCallEndedRegistrants); + pw.println(" voiceCallStartedRegistrants=" + voiceCallStartedRegistrants); + pw.println(" droppedDuringPoll: size=" + droppedDuringPoll.size()); + for(int i = 0; i < droppedDuringPoll.size(); i++) { + pw.printf( " droppedDuringPoll[%d]=%s\n", i, droppedDuringPoll.get(i)); + } + pw.println(" ringingCall=" + ringingCall); + pw.println(" foregroundCall=" + foregroundCall); + pw.println(" backgroundCall=" + backgroundCall); + pw.println(" pendingMO=" + pendingMO); + pw.println(" hangupPendingMO=" + hangupPendingMO); + pw.println(" phone=" + phone); + pw.println(" desiredMute=" + desiredMute); + pw.println(" state=" + state); + } } diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java index 4956ef4..fec0158 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java @@ -28,6 +28,9 @@ import com.android.internal.telephony.PhoneBase; import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; +import java.io.FileDescriptor; +import java.io.PrintWriter; + /** * {@hide} */ @@ -153,4 +156,11 @@ public class GsmDataConnection extends DataConnection { return Patterns.IP_ADDRESS.matcher(address).matches(); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("GsmDataConnection extends:"); + super.dump(fd, pw, args); + pw.println(" mProfileId=" + mProfileId); + } } diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java index d1873eb..40ee58c 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java @@ -65,6 +65,8 @@ import com.android.internal.telephony.RILConstants; import com.android.internal.telephony.RetryManager; import com.android.internal.util.AsyncChannel; +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -2562,4 +2564,16 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker { protected void loge(String s) { Log.e(LOG_TAG, "[GsmDCT] " + s); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("GsmDataConnectionTracker extends:"); + super.dump(fd, pw, args); + pw.println(" RADIO_TESTS=" + RADIO_TESTS); + pw.println(" mReregisterOnReconnectFailure=" + mReregisterOnReconnectFailure); + pw.println(" mResolver=" + mResolver); + pw.println(" canSetPreferApn=" + canSetPreferApn); + pw.println(" mApnObserver=" + mApnObserver); + pw.println(" getOverallState=" + getOverallState()); + } } diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java index 080d90c..662f1f6 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java @@ -59,6 +59,8 @@ import android.util.EventLog; import android.util.Log; import android.util.TimeUtils; +import java.io.FileDescriptor; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; @@ -1681,4 +1683,40 @@ final class GsmServiceStateTracker extends ServiceStateTracker { private static void sloge(String s) { Log.e(LOG_TAG, "[GsmSST] " + s); } + + @Override + public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { + pw.println("GsmServiceStateTracker extends:"); + super.dump(fd, pw, args); + pw.println(" phone=" + phone); + pw.println(" cellLoc=" + cellLoc); + pw.println(" newCellLoc=" + newCellLoc); + pw.println(" mPreferredNetworkType=" + mPreferredNetworkType); + pw.println(" gprsState=" + gprsState); + pw.println(" newGPRSState=" + newGPRSState); + pw.println(" mMaxDataCalls=" + mMaxDataCalls); + pw.println(" mNewMaxDataCalls=" + mNewMaxDataCalls); + pw.println(" mReasonDataDenied=" + mReasonDataDenied); + pw.println(" mNewReasonDataDenied=" + mNewReasonDataDenied); + pw.println(" mGsmRoaming=" + mGsmRoaming); + pw.println(" mDataRoaming=" + mDataRoaming); + pw.println(" mEmergencyOnly=" + mEmergencyOnly); + pw.println(" mNeedFixZone=" + mNeedFixZone); + pw.println(" mZoneOffset=" + mZoneOffset); + pw.println(" mZoneDst=" + mZoneDst); + pw.println(" mZoneTime=" + mZoneTime); + pw.println(" mGotCountryCode=" + mGotCountryCode); + pw.println(" mNitzUpdatedTime=" + mNitzUpdatedTime); + pw.println(" mSavedTimeZone=" + mSavedTimeZone); + pw.println(" mSavedTime=" + mSavedTime); + pw.println(" mSavedAtTime=" + mSavedAtTime); + pw.println(" mNeedToRegForSimLoaded=" + mNeedToRegForSimLoaded); + pw.println(" mStartedGprsRegCheck=" + mStartedGprsRegCheck); + pw.println(" mReportedGprsNoReg=" + mReportedGprsNoReg); + pw.println(" mNotification=" + mNotification); + pw.println(" mWakeLock=" + mWakeLock); + pw.println(" curSpn=" + curSpn); + pw.println(" curPlmn=" + curPlmn); + pw.println(" curSpnRule=" + curSpnRule); + } } |