Merge "Send metrics log of card dismiss event to SI instantly" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f5056a03e3
@@ -128,7 +128,12 @@ public class SettingsIntelligenceLogWriter implements LogWriter {
|
|||||||
mLogHandler.post(() -> {
|
mLogHandler.post(() -> {
|
||||||
mSettingsLogList.add(settingsLog);
|
mSettingsLogList.add(settingsLog);
|
||||||
});
|
});
|
||||||
mLogHandler.scheduleSendLog();
|
if (action == SettingsEnums.ACTION_CONTEXTUAL_CARD_DISMISS) {
|
||||||
|
// Directly send this event to notify SI instantly that the card is dismissed
|
||||||
|
mLogHandler.sendLog();
|
||||||
|
} else {
|
||||||
|
mLogHandler.scheduleSendLog();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -136,7 +141,7 @@ public class SettingsIntelligenceLogWriter implements LogWriter {
|
|||||||
final int size = settingsLogs.size();
|
final int size = settingsLogs.size();
|
||||||
final ByteArrayOutputStream bout = new ByteArrayOutputStream();
|
final ByteArrayOutputStream bout = new ByteArrayOutputStream();
|
||||||
final DataOutputStream output = new DataOutputStream(bout);
|
final DataOutputStream output = new DataOutputStream(bout);
|
||||||
// Data is "size, length, bytearray, length, bytearray ..."
|
// The data format is "size, length, byte array, length, byte array ..."
|
||||||
try {
|
try {
|
||||||
output.writeInt(size);
|
output.writeInt(size);
|
||||||
for (SettingsLog settingsLog : settingsLogs) {
|
for (SettingsLog settingsLog : settingsLogs) {
|
||||||
@@ -159,14 +164,19 @@ public class SettingsIntelligenceLogWriter implements LogWriter {
|
|||||||
|
|
||||||
private class SendLogHandler extends Handler {
|
private class SendLogHandler extends Handler {
|
||||||
|
|
||||||
public SendLogHandler(Looper looper) {
|
SendLogHandler(Looper looper) {
|
||||||
super(looper);
|
super(looper);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void scheduleSendLog() {
|
void scheduleSendLog() {
|
||||||
removeCallbacks(mSendLogsRunnable);
|
removeCallbacks(mSendLogsRunnable);
|
||||||
postDelayed(mSendLogsRunnable, MESSAGE_DELAY);
|
postDelayed(mSendLogsRunnable, MESSAGE_DELAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sendLog() {
|
||||||
|
removeCallbacks(mSendLogsRunnable);
|
||||||
|
post(mSendLogsRunnable);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Runnable mSendLogsRunnable = () -> {
|
private final Runnable mSendLogsRunnable = () -> {
|
||||||
|
Reference in New Issue
Block a user