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

Commit 9795b593 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add PNN in the metrics for carrier ID mismatch"

parents 585fcdd1 df02b8b3
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
@@ -923,8 +923,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;
            }
        }