From 368da290fcd52e2040207c61793c2074e9fa5093 Mon Sep 17 00:00:00 2001 From: Grace Jia Date: Wed, 13 Nov 2019 16:54:27 -0800 Subject: Add missed information relative field. Bug: 144452099 Test: CallLogBackupTests Change-Id: Ic1732c620f3321ff81ac97e41e9a496839ea7503 Merged-In: Ic1732c620f3321ff81ac97e41e9a496839ea7503 --- src/com/android/calllogbackup/CallLogBackupAgent.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/com/android/calllogbackup/CallLogBackupAgent.java b/src/com/android/calllogbackup/CallLogBackupAgent.java index ca0613b..d589708 100644 --- a/src/com/android/calllogbackup/CallLogBackupAgent.java +++ b/src/com/android/calllogbackup/CallLogBackupAgent.java @@ -16,6 +16,8 @@ package com.android.calllogbackup; +import static android.provider.CallLog.Calls.MISSED_REASON_NOT_MISSED; + import android.app.backup.BackupAgent; import android.app.backup.BackupDataInput; import android.app.backup.BackupDataOutput; @@ -78,6 +80,7 @@ public class CallLogBackupAgent extends BackupAgent { int callBlockReason = Calls.BLOCK_REASON_NOT_BLOCKED; String callScreeningAppName = null; String callScreeningComponentName = null; + long missedReason = MISSED_REASON_NOT_MISSED; @Override public String toString() { @@ -106,7 +109,7 @@ public class CallLogBackupAgent extends BackupAgent { /** Current version of CallLogBackup. Used to track the backup format. */ @VisibleForTesting - static final int VERSION = 1007; + static final int VERSION = 1008; /** Version indicating that there exists no previous backup entry. */ @VisibleForTesting static final int VERSION_NO_PREVIOUS_STATE = 0; @@ -137,7 +140,8 @@ public class CallLogBackupAgent extends BackupAgent { CallLog.Calls.ADD_FOR_ALL_USERS, CallLog.Calls.BLOCK_REASON, CallLog.Calls.CALL_SCREENING_APP_NAME, - CallLog.Calls.CALL_SCREENING_COMPONENT_NAME + CallLog.Calls.CALL_SCREENING_COMPONENT_NAME, + CallLog.Calls.MISSED_REASON }; /** ${inheritDoc} */ @@ -270,7 +274,8 @@ public class CallLogBackupAgent extends BackupAgent { (int) call.duration, dataUsage, addForAllUsers, null, true /* isRead */, call.callBlockReason /*callBlockReason*/, call.callScreeningAppName /*callScreeningAppName*/, - call.callScreeningComponentName /*callScreeningComponentName*/); + call.callScreeningComponentName /*callScreeningComponentName*/, + call.missedReason); } @VisibleForTesting @@ -386,6 +391,9 @@ public class CallLogBackupAgent extends BackupAgent { readString(dataInput); readInteger(dataInput); } + if (version >= 1008) { + call.missedReason = dataInput.readLong(); + } return call; } catch (IOException e) { Log.e(TAG, "Error reading call data for " + callId, e); @@ -419,6 +427,8 @@ public class CallLogBackupAgent extends BackupAgent { .getString(cursor.getColumnIndex(CallLog.Calls.CALL_SCREENING_APP_NAME)); call.callScreeningComponentName = cursor .getString(cursor.getColumnIndex(CallLog.Calls.CALL_SCREENING_COMPONENT_NAME)); + call.missedReason = cursor + .getInt(cursor.getColumnIndex(CallLog.Calls.MISSED_REASON)); return call; } @@ -464,6 +474,8 @@ public class CallLogBackupAgent extends BackupAgent { writeString(data, ""); writeInteger(data, null); + data.writeLong(call.missedReason); + data.flush(); output.writeEntityHeader(Integer.toString(call.id), baos.size()); -- cgit v1.2.3