Populate carrier id in anomaly reports.

Test: statsd_testdrive
Bug: 188462677
Change-Id: Id3859dad6a64be61d38865562887879878d08af9
This commit is contained in:
Kiwon Park
2022-05-03 18:37:57 +00:00
parent 9750b0ca46
commit 9e41ab3c4b

View File

@@ -16,6 +16,8 @@
package android.telephony;
import static android.telephony.TelephonyManager.UNKNOWN_CARRIER_ID;
import static com.android.internal.telephony.TelephonyStatsLog.TELEPHONY_ANOMALY_DETECTED;
import android.annotation.NonNull;
@@ -73,6 +75,7 @@ public final class AnomalyReporter {
*
* This method sends the {@link TelephonyManager#ACTION_ANOMALY_REPORTED} broadcast, which is
* system protected. Invoking this method unless you are the system will result in an error.
* Carrier Id will be set as UNKNOWN_CARRIER_ID.
*
* @param eventId a fixed event ID that will be sent for each instance of the same event. This
* ID should be generated randomly.
@@ -81,6 +84,23 @@ public final class AnomalyReporter {
* static and must not contain any sensitive information (especially PII).
*/
public static void reportAnomaly(@NonNull UUID eventId, String description) {
reportAnomaly(eventId, description, UNKNOWN_CARRIER_ID);
}
/**
* If enabled, build and send an intent to a Debug Service for logging.
*
* This method sends the {@link TelephonyManager#ACTION_ANOMALY_REPORTED} broadcast, which is
* system protected. Invoking this method unless you are the system will result in an error.
*
* @param eventId a fixed event ID that will be sent for each instance of the same event. This
* ID should be generated randomly.
* @param description an optional description, that if included will be used as the subject for
* identification and discussion of this event. This description should ideally be
* static and must not contain any sensitive information (especially PII).
* @param carrierId the carrier of the id associated with this event.
*/
public static void reportAnomaly(@NonNull UUID eventId, String description, int carrierId) {
if (sContext == null) {
Rlog.w(TAG, "AnomalyReporter not yet initialized, dropping event=" + eventId);
return;
@@ -88,7 +108,7 @@ public final class AnomalyReporter {
TelephonyStatsLog.write(
TELEPHONY_ANOMALY_DETECTED,
0, // TODO: carrier id needs to be populated
carrierId,
eventId.getLeastSignificantBits(),
eventId.getMostSignificantBits());