Loading src/java/com/android/internal/telephony/CellBroadcastConfigTracker.java +37 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ import android.telephony.CellBroadcastIdRange; import android.telephony.SmsCbMessage; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.util.IndentingPrintWriter; import android.util.LocalLog; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; Loading @@ -33,6 +35,8 @@ import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import com.android.internal.util.State; import com.android.internal.util.StateMachine; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; Loading @@ -59,6 +63,7 @@ public final class CellBroadcastConfigTracker extends StateMachine { // Cache of current cell broadcast id ranges of 3gpp2 private List<CellBroadcastIdRange> mCbRanges3gpp2 = new CopyOnWriteArrayList<>(); private Phone mPhone; private final LocalLog mLocalLog = new LocalLog(128); @VisibleForTesting public int mSubId; @VisibleForTesting Loading Loading @@ -106,8 +111,7 @@ public final class CellBroadcastConfigTracker extends StateMachine { @Override public String toString() { return "Request[mCbRangesRequest3gpp = " + mCbRangesRequest3gpp + ", " + "mCbRangesRequest3gpp2 = " + mCbRangesRequest3gpp2 + ", " + "mCallback = " + mCallback + "]"; + "mCbRangesRequest3gpp2 = " + mCbRangesRequest3gpp2 + "]"; } } Loading Loading @@ -175,6 +179,9 @@ public final class CellBroadcastConfigTracker extends StateMachine { Request request = (Request) msg.obj; if (DBG) { logd("IdleState handle EVENT_REQUEST with request:" + request); mLocalLog.log("IdleState handle EVENT_REQUEST with request:" + request + ", mCbRanges3gpp:" + mCbRanges3gpp + ", mCbRanges3gpp2:" + mCbRanges3gpp2); } if (!mCbRanges3gpp.equals(request.get3gppRanges())) { // set gsm config if the config is changed Loading Loading @@ -229,6 +236,7 @@ public final class CellBroadcastConfigTracker extends StateMachine { transitionTo(mGsmActivatingState); } else { logd("Failed to set gsm config"); mLocalLog.log("GsmConfiguringState Failed to set gsm config:" + request); request.getCallback().accept( TelephonyManager.CELL_BROADCAST_RESULT_FAIL_CONFIG); // transit to idle state on the failure case Loading Loading @@ -265,6 +273,8 @@ public final class CellBroadcastConfigTracker extends StateMachine { if (DBG) { logd("GsmActivatingState handle EVENT_ACTIVATION_DONE with request:" + request); mLocalLog.log("GsmActivatingState EVENT_ACTIVATION_DONE, exception:" + ar.exception + ", request:" + request); } if (ar.exception == null) { mCbRanges3gpp = request.get3gppRanges(); Loading Loading @@ -326,6 +336,7 @@ public final class CellBroadcastConfigTracker extends StateMachine { transitionTo(mCdmaActivatingState); } else { logd("Failed to set cdma config"); mLocalLog.log("CdmaConfiguringState Failed to set cdma config:" + request); request.getCallback().accept( TelephonyManager.CELL_BROADCAST_RESULT_FAIL_CONFIG); // transit to idle state on the failure case Loading Loading @@ -362,6 +373,8 @@ public final class CellBroadcastConfigTracker extends StateMachine { if (DBG) { logd("CdmaActivatingState handle EVENT_ACTIVATION_DONE with request:" + request); mLocalLog.log("CdmaActivatingState EVENT_ACTIVATION_DONE, exception:" + ar.exception + ", request:" + request); } if (ar.exception == null) { mCbRanges3gpp2 = request.get3gpp2Ranges(); Loading Loading @@ -531,4 +544,26 @@ public final class CellBroadcastConfigTracker extends StateMachine { mPhone.mCi.setCdmaBroadcastActivation(activate, response); } } /** * Dump the state of CellBroadcastConfigTracker * * @param fd File descriptor * @param printWriter Print writer * @param args Arguments */ public void dump(FileDescriptor fd, PrintWriter printWriter, String[] args) { IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, " "); pw.println(CellBroadcastConfigTracker.class.getSimpleName() + "-" + mPhone.getPhoneId() + ":"); pw.increaseIndent(); pw.println("Current mCbRanges3gpp:" + mCbRanges3gpp); pw.println("Current mCbRanges3gpp2:" + mCbRanges3gpp2); pw.decreaseIndent(); pw.println("Local logs:"); pw.increaseIndent(); mLocalLog.dump(fd, pw, args); pw.decreaseIndent(); } } src/java/com/android/internal/telephony/GsmCdmaPhone.java +6 −0 Original line number Diff line number Diff line Loading @@ -4501,6 +4501,12 @@ public class GsmCdmaPhone extends Phone { e.printStackTrace(); } pw.flush(); try { mCellBroadcastConfigTracker.dump(fd, pw, args); } catch (Exception e) { e.printStackTrace(); } pw.flush(); } @Override Loading Loading
src/java/com/android/internal/telephony/CellBroadcastConfigTracker.java +37 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,8 @@ import android.telephony.CellBroadcastIdRange; import android.telephony.SmsCbMessage; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.util.IndentingPrintWriter; import android.util.LocalLog; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; Loading @@ -33,6 +35,8 @@ import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; import com.android.internal.util.State; import com.android.internal.util.StateMachine; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; Loading @@ -59,6 +63,7 @@ public final class CellBroadcastConfigTracker extends StateMachine { // Cache of current cell broadcast id ranges of 3gpp2 private List<CellBroadcastIdRange> mCbRanges3gpp2 = new CopyOnWriteArrayList<>(); private Phone mPhone; private final LocalLog mLocalLog = new LocalLog(128); @VisibleForTesting public int mSubId; @VisibleForTesting Loading Loading @@ -106,8 +111,7 @@ public final class CellBroadcastConfigTracker extends StateMachine { @Override public String toString() { return "Request[mCbRangesRequest3gpp = " + mCbRangesRequest3gpp + ", " + "mCbRangesRequest3gpp2 = " + mCbRangesRequest3gpp2 + ", " + "mCallback = " + mCallback + "]"; + "mCbRangesRequest3gpp2 = " + mCbRangesRequest3gpp2 + "]"; } } Loading Loading @@ -175,6 +179,9 @@ public final class CellBroadcastConfigTracker extends StateMachine { Request request = (Request) msg.obj; if (DBG) { logd("IdleState handle EVENT_REQUEST with request:" + request); mLocalLog.log("IdleState handle EVENT_REQUEST with request:" + request + ", mCbRanges3gpp:" + mCbRanges3gpp + ", mCbRanges3gpp2:" + mCbRanges3gpp2); } if (!mCbRanges3gpp.equals(request.get3gppRanges())) { // set gsm config if the config is changed Loading Loading @@ -229,6 +236,7 @@ public final class CellBroadcastConfigTracker extends StateMachine { transitionTo(mGsmActivatingState); } else { logd("Failed to set gsm config"); mLocalLog.log("GsmConfiguringState Failed to set gsm config:" + request); request.getCallback().accept( TelephonyManager.CELL_BROADCAST_RESULT_FAIL_CONFIG); // transit to idle state on the failure case Loading Loading @@ -265,6 +273,8 @@ public final class CellBroadcastConfigTracker extends StateMachine { if (DBG) { logd("GsmActivatingState handle EVENT_ACTIVATION_DONE with request:" + request); mLocalLog.log("GsmActivatingState EVENT_ACTIVATION_DONE, exception:" + ar.exception + ", request:" + request); } if (ar.exception == null) { mCbRanges3gpp = request.get3gppRanges(); Loading Loading @@ -326,6 +336,7 @@ public final class CellBroadcastConfigTracker extends StateMachine { transitionTo(mCdmaActivatingState); } else { logd("Failed to set cdma config"); mLocalLog.log("CdmaConfiguringState Failed to set cdma config:" + request); request.getCallback().accept( TelephonyManager.CELL_BROADCAST_RESULT_FAIL_CONFIG); // transit to idle state on the failure case Loading Loading @@ -362,6 +373,8 @@ public final class CellBroadcastConfigTracker extends StateMachine { if (DBG) { logd("CdmaActivatingState handle EVENT_ACTIVATION_DONE with request:" + request); mLocalLog.log("CdmaActivatingState EVENT_ACTIVATION_DONE, exception:" + ar.exception + ", request:" + request); } if (ar.exception == null) { mCbRanges3gpp2 = request.get3gpp2Ranges(); Loading Loading @@ -531,4 +544,26 @@ public final class CellBroadcastConfigTracker extends StateMachine { mPhone.mCi.setCdmaBroadcastActivation(activate, response); } } /** * Dump the state of CellBroadcastConfigTracker * * @param fd File descriptor * @param printWriter Print writer * @param args Arguments */ public void dump(FileDescriptor fd, PrintWriter printWriter, String[] args) { IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, " "); pw.println(CellBroadcastConfigTracker.class.getSimpleName() + "-" + mPhone.getPhoneId() + ":"); pw.increaseIndent(); pw.println("Current mCbRanges3gpp:" + mCbRanges3gpp); pw.println("Current mCbRanges3gpp2:" + mCbRanges3gpp2); pw.decreaseIndent(); pw.println("Local logs:"); pw.increaseIndent(); mLocalLog.dump(fd, pw, args); pw.decreaseIndent(); } }
src/java/com/android/internal/telephony/GsmCdmaPhone.java +6 −0 Original line number Diff line number Diff line Loading @@ -4501,6 +4501,12 @@ public class GsmCdmaPhone extends Phone { e.printStackTrace(); } pw.flush(); try { mCellBroadcastConfigTracker.dump(fd, pw, args); } catch (Exception e) { e.printStackTrace(); } pw.flush(); } @Override Loading