Fix Tron stats reporting.
Fix counter names, as "tron_varz" is automatically
appended. Also, only try to upload stats every four
hours.
Bug: 30424959
Change-Id: I1b168467888e1d5d6e7bc478ccc833c498292108
diff --git a/src/com/android/nfc/NfcService.java b/src/com/android/nfc/NfcService.java
index 6e5af15..d91e3b5 100755
--- a/src/com/android/nfc/NfcService.java
+++ b/src/com/android/nfc/NfcService.java
@@ -108,9 +108,9 @@
static final String PREF_FIRST_BEAM = "first_beam";
static final String PREF_FIRST_BOOT = "first_boot";
- static final String TRON_NFC_CE = "tron_nfc_ce";
- static final String TRON_NFC_P2P = "tron_nfc_p2p";
- static final String TRON_NFC_TAG = "tron_nfc_tag";
+ static final String TRON_NFC_CE = "nfc_ce";
+ static final String TRON_NFC_P2P = "nfc_p2p";
+ static final String TRON_NFC_TAG = "nfc_tag";
static final int MSG_NDEF_TAG = 0;
static final int MSG_LLCP_LINK_ACTIVATION = 1;
@@ -127,7 +127,10 @@
static final int MSG_REGISTER_T3T_IDENTIFIER = 12;
static final int MSG_DEREGISTER_T3T_IDENTIFIER = 13;
static final int MSG_TAG_DEBOUNCE = 14;
+ static final int MSG_UPDATE_STATS = 15;
+ // Update stats every 4 hours
+ static final long STATS_UPDATE_INTERVAL_MS = 4 * 60 * 60 * 1000;
static final long MAX_POLLING_PAUSE_TIMEOUT = 40000;
static final int TASK_ENABLE = 1;
@@ -425,6 +428,8 @@
ServiceManager.addService(SERVICE_NAME, mNfcAdapter);
new EnableDisableTask().execute(TASK_BOOT); // do blocking boot tasks
+
+ mHandler.sendEmptyMessageDelayed(MSG_UPDATE_STATS, STATS_UPDATE_INTERVAL_MS);
}
void initSoundPool() {
@@ -1474,16 +1479,6 @@
* Read mScreenState and apply NFC-C polling and NFC-EE routing
*/
void applyRouting(boolean force) {
- // Since this operation may anyway take some time, and we do it
- // regularly, update metrics here.
- if (mNumTagsDetected.get() > 0 || mNumHceDetected.get() > 0 || mNumP2pDetected.get() > 0) {
- MetricsLogger.count(mContext, TRON_NFC_TAG, mNumTagsDetected.get());
- mNumTagsDetected.set(0);
- MetricsLogger.count(mContext, TRON_NFC_CE, mNumHceDetected.get());
- mNumHceDetected.set(0);
- MetricsLogger.count(mContext, TRON_NFC_P2P, mNumP2pDetected.get());
- mNumP2pDetected.set(0);
- }
synchronized (this) {
if (!isNfcEnabledOrShuttingDown()) {
return;
@@ -1976,6 +1971,22 @@
}
}
break;
+ case MSG_UPDATE_STATS:
+ if (mNumTagsDetected.get() > 0) {
+ MetricsLogger.count(mContext, TRON_NFC_TAG, mNumTagsDetected.get());
+ mNumTagsDetected.set(0);
+ }
+ if (mNumHceDetected.get() > 0) {
+ MetricsLogger.count(mContext, TRON_NFC_CE, mNumHceDetected.get());
+ mNumHceDetected.set(0);
+ }
+ if (mNumP2pDetected.get() > 0) {
+ MetricsLogger.count(mContext, TRON_NFC_P2P, mNumP2pDetected.get());
+ mNumP2pDetected.set(0);
+ }
+ removeMessages(MSG_UPDATE_STATS);
+ sendEmptyMessageDelayed(MSG_UPDATE_STATS, STATS_UPDATE_INTERVAL_MS);
+ break;
default:
Log.e(TAG, "Unknown message received");
break;