Loading proto/src/persist_atoms.proto +1 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading src/java/com/android/internal/telephony/CarrierResolver.java +3 −1 Original line number Diff line number Diff line Loading @@ -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); } } Loading src/java/com/android/internal/telephony/metrics/CarrierIdMatchStats.java +4 −2 Original line number Diff line number Diff line Loading @@ -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); } } Loading src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java +2 −1 Original line number Diff line number Diff line Loading @@ -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; } } Loading Loading
proto/src/persist_atoms.proto +1 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading
src/java/com/android/internal/telephony/CarrierResolver.java +3 −1 Original line number Diff line number Diff line Loading @@ -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); } } Loading
src/java/com/android/internal/telephony/metrics/CarrierIdMatchStats.java +4 −2 Original line number Diff line number Diff line Loading @@ -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); } } Loading
src/java/com/android/internal/telephony/metrics/PersistAtomsStorage.java +2 −1 Original line number Diff line number Diff line Loading @@ -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; } } Loading