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

Commit bd8fd80f authored by Michele Berionne's avatar Michele Berionne Committed by Automerger Merge Worker
Browse files

Add PNN in the metrics for carrier ID mismatch am: 65d60d8b

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/1544673

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I083b2c44f3b87a6c675d0d3e5b215d7d0630abab
parents 0e21bcbe 65d60d8b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -155,6 +155,7 @@ message CarrierIdMismatch {
    optional string mcc_mnc = 1;
    optional string gid1 = 2;
    optional string spn = 3;
    optional string pnn = 4;
}

message DataCallSession {
+3 −1
Original line number Diff line number Diff line
@@ -941,8 +941,10 @@ public class CarrierResolver extends Handler {

        // Generate statsd metrics only when MCC/MNC is unknown or there is no match for GID1.
        if (unknownMccmncToLog != null || unknownGid1ToLog != null) {
            // Pass the PNN value to metrics only if the SPN is empty
            String pnn = TextUtils.isEmpty(subscriptionRule.spn) ? subscriptionRule.plmn : "";
            CarrierIdMatchStats.onCarrierIdMismatch(
                    mCarrierId, unknownMccmncToLog, unknownGid1ToLog, subscriptionRule.spn);
                    mCarrierId, unknownMccmncToLog, unknownGid1ToLog, subscriptionRule.spn, pnn);
        }
    }

+4 −2
Original line number Diff line number Diff line
@@ -31,19 +31,21 @@ public class CarrierIdMatchStats {
    private CarrierIdMatchStats() { }

    /** Generate metrics when carrier ID mismatch occurs. */
    public static void onCarrierIdMismatch(int cid, String mccMnc, String gid1, String spn) {
    public static void onCarrierIdMismatch(
            int cid, String mccMnc, String gid1, String spn, String pnn) {
        PersistAtomsStorage storage = PhoneFactory.getMetricsCollector().getAtomsStorage();

        CarrierIdMismatch carrierIdMismatch = new CarrierIdMismatch();
        carrierIdMismatch.mccMnc = nullToEmpty(mccMnc);
        carrierIdMismatch.gid1 = nullToEmpty(gid1);
        carrierIdMismatch.spn = nullToEmpty(spn);
        carrierIdMismatch.pnn = carrierIdMismatch.spn.isEmpty() ? nullToEmpty(pnn) : "";

        // Add to storage and generate atom only if it was added (new SIM card).
        boolean isAdded = storage.addCarrierIdMismatch(carrierIdMismatch);
        if (isAdded) {
            Rlog.d(TAG, "New carrier ID mismatch event: " + carrierIdMismatch.toString());
            TelephonyStatsLog.write(CARRIER_ID_MISMATCH_EVENT, cid, mccMnc, gid1, spn);
            TelephonyStatsLog.write(CARRIER_ID_MISMATCH_EVENT, cid, mccMnc, gid1, spn, pnn);
        }
    }

+2 −1
Original line number Diff line number Diff line
@@ -466,7 +466,8 @@ public class PersistAtomsStorage {
        for (CarrierIdMismatch mismatch : mAtoms.carrierIdMismatch) {
            if (mismatch.mccMnc.equals(key.mccMnc)
                    && mismatch.gid1.equals(key.gid1)
                    && mismatch.spn.equals(key.spn)) {
                    && mismatch.spn.equals(key.spn)
                    && mismatch.pnn.equals(key.pnn)) {
                return mismatch;
            }
        }