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

Commit ab75195b authored by Thomas Nguyen's avatar Thomas Nguyen
Browse files

Log last N SMS outgoing error codes

Bug: 244196066
Test: run the following tests
- atest com.android.internal.telephony.gsm.GsmSmsDispatcherTest
- atest com.android.internal.telephony.SmsDispatchersControllerTest

Change-Id: I43c928b6fceab49a46a7bb3f6c23c43e8b89171a
parent a0b7575e
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ public abstract class SMSDispatcher extends Handler {
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    protected final TelephonyManager mTelephonyManager;
    protected final LocalLog mLocalLog = new LocalLog(16);
    protected final LocalLog mSmsOutgoingErrorCodes = new LocalLog(10);

    /** Maximum number of times to retry sending a failed SMS. */
    protected static final int MAX_SEND_RETRIES = 3;
@@ -1084,8 +1085,10 @@ public abstract class SMSDispatcher extends Handler {
    }

    @SmsManager.Result
    private static int rilErrorToSmsManagerResult(CommandException.Error rilError,
    private int rilErrorToSmsManagerResult(CommandException.Error rilError,
            SmsTracker tracker) {
        mSmsOutgoingErrorCodes.log("rilError: " + rilError
                + ", MessageId: " + SmsController.formatCrossStackMessageId(tracker.mMessageId));
        switch (rilError) {
            case RADIO_NOT_AVAILABLE:
                return SmsManager.RESULT_RIL_RADIO_NOT_AVAILABLE;
@@ -2757,10 +2760,17 @@ public abstract class SMSDispatcher extends Handler {
        IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, "  ");
        pw.println(TAG);
        pw.increaseIndent();

        pw.println("mLocalLog:");
        pw.increaseIndent();
        mLocalLog.dump(fd, pw, args);
        pw.decreaseIndent();

        pw.println("mSmsOutgoingErrorCodes:");
        pw.increaseIndent();
        mSmsOutgoingErrorCodes.dump(fd, pw, args);
        pw.decreaseIndent();

        pw.decreaseIndent();
    }
}