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

Commit 0ccc8e42 authored by Kiwon Park's avatar Kiwon Park
Browse files

Populate carrier id in anomaly reports.

Test: statsd_testdrive
Bug: 188462677
Change-Id: I68f1296631bfaf0228db93cd5a5ba1c58ab03044
(cherry picked from commit c7718e14)
Merged-In: I68f1296631bfaf0228db93cd5a5ba1c58ab03044
parent 4d97a2e9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -405,7 +405,7 @@ public class CarrierServicesSmsFilter {
                            .map(callback -> callback.mPackageName)
                            .collect(Collectors.joining(", "));
                    AnomalyReporter.reportAnomaly(sAnomalyNoResponseFromCarrierMessagingService,
                            "No response from " + packages);
                            "No response from " + packages, mPhone.getCarrierId());
                    handleFilterCallbacksTimeout();
                    break;
            }
+6 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.internal.telephony;

import static android.telephony.TelephonyManager.UNKNOWN_CARRIER_ID;

import android.content.Context;
import android.hardware.radio.V1_0.RadioError;
import android.provider.Settings;
@@ -132,10 +134,13 @@ public class RadioBugDetector {
                    RADIO_BUG_REPETITIVE_WAKELOCK_TIMEOUT_ERROR;
            String message = "Repeated radio error " + mRadioBugStatus + " on slot " + mSlotId;
            Rlog.d(TAG, message);

            Phone phone = PhoneFactory.getPhone(mSlotId);
            int carrierId = phone == null ? UNKNOWN_CARRIER_ID : phone.getCarrierId();
            // Using fixed UUID to avoid duplicate bugreport notification
            AnomalyReporter.reportAnomaly(
                    UUID.fromString("d264ead0-3f05-11ea-b77f-2e728ce88125"),
                    message);
                    message, carrierId);
        }
    }

+11 −4
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.internal.telephony;

import static android.telephony.TelephonyManager.UNKNOWN_CARRIER_ID;

import static com.android.internal.telephony.RILConstants.RIL_UNSOL_CALL_RING;
import static com.android.internal.telephony.RILConstants.RIL_UNSOL_CARRIER_INFO_IMSI_ENCRYPTION;
import static com.android.internal.telephony.RILConstants.RIL_UNSOL_CDMA_CALL_WAITING;
@@ -1114,7 +1116,7 @@ public class RadioIndication extends IRadioIndication.Stub {
                || (domain & ~NetworkRegistrationInfo.DOMAIN_CS_PS) != 0
                || causeCode < 0 || additionalCauseCode < 0
                || (causeCode == Integer.MAX_VALUE && additionalCauseCode == Integer.MAX_VALUE)) {
            AnomalyReporter.reportAnomaly(
            reportAnomaly(
                    UUID.fromString("f16e5703-6105-4341-9eb3-e68189156eb4"),
                            "Invalid registrationFailed indication");

@@ -1140,7 +1142,7 @@ public class RadioIndication extends IRadioIndication.Stub {
        mRil.processIndication(RIL.RADIO_SERVICE, indicationType);

        if (cellIdentity == null || barringInfos == null) {
            AnomalyReporter.reportAnomaly(
            reportAnomaly(
                    UUID.fromString("645b16bb-c930-4c1c-9c5d-568696542e05"),
                            "Invalid barringInfoChanged indication");

@@ -1238,8 +1240,7 @@ public class RadioIndication extends IRadioIndication.Stub {
                }
            }
        } catch (IllegalArgumentException iae) {
            AnomalyReporter.reportAnomaly(
                    UUID.fromString("918f0970-9aa9-4bcd-a28e-e49a83fe77d5"),
            reportAnomaly(UUID.fromString("918f0970-9aa9-4bcd-a28e-e49a83fe77d5"),
                    "Invalid PhysicalChannelConfig reported by HAL");
            mRil.riljLoge("Invalid PhysicalChannelConfig " + iae);
            return;
@@ -1324,4 +1325,10 @@ public class RadioIndication extends IRadioIndication.Stub {
        mRil.mApnUnthrottledRegistrants.notifyRegistrants(
                new AsyncResult(null, apn, null));
    }

    private void reportAnomaly(UUID uuid, String msg) {
        Phone phone = mRil.mPhoneId == null ? null : PhoneFactory.getPhone(mRil.mPhoneId);
        int carrierId = phone == null ? UNKNOWN_CARRIER_ID : phone.getCarrierId();
        AnomalyReporter.reportAnomaly(uuid, msg, carrierId);
    }
}
+9 −6
Original line number Diff line number Diff line
@@ -420,7 +420,7 @@ public abstract class SMSDispatcher extends Handler {
                logWithLocalLog("handleMessage: No response from " + mCarrierPackageName
                        + " for " + mCarrierMessagingTimeout + " ms");
                AnomalyReporter.reportAnomaly(sAnomalyNoResponseFromCarrierMessagingService,
                        "No response from " + mCarrierPackageName);
                        "No response from " + mCarrierPackageName, mPhone.getCarrierId());
                onSendComplete(CarrierMessagingService.SEND_STATUS_RETRY_ON_CARRIER_NETWORK);
            } else {
                logWithLocalLog("handleMessage: received unexpected message " + msg.what);
@@ -570,7 +570,7 @@ public abstract class SMSDispatcher extends Handler {
            if (mCallbackCalled) {
                logWithLocalLog("onSendSmsComplete: unexpected call");
                AnomalyReporter.reportAnomaly(sAnomalyUnexpectedCallback,
                        "Unexpected onSendSmsComplete");
                        "Unexpected onSendSmsComplete", mPhone.getCarrierId());
                return;
            }
            mCallbackCalled = true;
@@ -736,7 +736,7 @@ public abstract class SMSDispatcher extends Handler {
            if (mCallbackCalled) {
                logWithLocalLog("onSendMultipartSmsComplete: unexpected call");
                AnomalyReporter.reportAnomaly(sAnomalyUnexpectedCallback,
                        "Unexpected onSendMultipartSmsComplete");
                        "Unexpected onSendMultipartSmsComplete", mPhone.getCarrierId());
                return;
            }
            mCallbackCalled = true;
@@ -2063,6 +2063,7 @@ public abstract class SMSDispatcher extends Handler {

        private Boolean mIsFromDefaultSmsApplication;

        private int mCarrierId;
        // SMS anomaly uuid -- unexpected error from RIL
        private final UUID mAnomalyUnexpectedErrorFromRilUUID =
                UUID.fromString("43043600-ea7a-44d2-9ae6-a58567ac7886");
@@ -2072,7 +2073,7 @@ public abstract class SMSDispatcher extends Handler {
                AtomicInteger unsentPartCount, AtomicBoolean anyPartFailed, Uri messageUri,
                SmsHeader smsHeader, boolean expectMore, String fullMessageText, int subId,
                boolean isText, boolean persistMessage, int userId, int priority,
                int validityPeriod, boolean isForVvm, long messageId) {
                int validityPeriod, boolean isForVvm, long messageId, int carrierId) {
            mData = data;
            mSentIntent = sentIntent;
            mDeliveryIntent = deliveryIntent;
@@ -2097,6 +2098,7 @@ public abstract class SMSDispatcher extends Handler {
            mValidityPeriod = validityPeriod;
            mIsForVvm = isForVvm;
            mMessageId = messageId;
            mCarrierId = carrierId;
        }

        public HashMap<String, Object> getData() {
@@ -2294,7 +2296,8 @@ public abstract class SMSDispatcher extends Handler {
                default:
                    String message = "SMS failed";
                    Rlog.d(TAG, message + " with error " + error + ", errorCode " + errorCode);
                    AnomalyReporter.reportAnomaly(generateUUID(error, errorCode), message);
                    AnomalyReporter.reportAnomaly(
                            generateUUID(error, errorCode), message, mCarrierId);
            }
        }

@@ -2367,7 +2370,7 @@ public abstract class SMSDispatcher extends Handler {
        return new SmsTracker(data, sentIntent, deliveryIntent, appInfo, destAddr, format,
                unsentPartCount, anyPartFailed, messageUri, smsHeader, expectMore,
                fullMessageText, getSubId(), isText, persistMessage, userId, priority,
                validityPeriod, isForVvm, messageId);
                validityPeriod, isForVvm, messageId, mPhone.getCarrierId());
    }

    protected SmsTracker getSmsTracker(String callingPackage, HashMap<String, Object> data,
+1 −1
Original line number Diff line number Diff line
@@ -235,7 +235,7 @@ public class AccessNetworksManager extends Handler {
            // TODO: try to rebind the service.
            String message = "Qualified network service " + mLastBoundPackageName + " died.";
            loge(message);
            AnomalyReporter.reportAnomaly(mAnomalyUUID, message);
            AnomalyReporter.reportAnomaly(mAnomalyUUID, message, mPhone.getCarrierId());
        }
    }

Loading