summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Tyler Gunn <tgunn@google.com> 2023-07-25 20:46:25 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-07-25 20:46:25 +0000
commitbf041ae9107a10371f7c32c20759aa5e3f0d0908 (patch)
tree43df0e63462d1dce75e0d13760005754945f92e8
parent341f0f4b418fb4a7f2c2fc8852bcd1ab77579cef (diff)
parent644dbf5b0835f5d6f9b0327e48a37d3416c1603b (diff)
Merge "Add logging to indicate how many call log rows are cleaned up on insert." into udc-qpr-dev am: 240c542bb0 am: 644dbf5b08
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24178480 Change-Id: If95da0fab6d5cf03e7fcee81bf574039b46fb341 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--core/java/android/provider/CallLog.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/core/java/android/provider/CallLog.java b/core/java/android/provider/CallLog.java
index ac6b2b23cdf5..3c5757dd5615 100644
--- a/core/java/android/provider/CallLog.java
+++ b/core/java/android/provider/CallLog.java
@@ -1985,13 +1985,14 @@ public class CallLog {
Log.w(LOG_TAG, "Failed to insert into call log; null result uri.");
}
+ int numDeleted;
if (values.containsKey(PHONE_ACCOUNT_ID)
&& !TextUtils.isEmpty(values.getAsString(PHONE_ACCOUNT_ID))
&& values.containsKey(PHONE_ACCOUNT_COMPONENT_NAME)
&& !TextUtils.isEmpty(values.getAsString(PHONE_ACCOUNT_COMPONENT_NAME))) {
// Only purge entries for the same phone account.
- resolver.delete(uri, "_id IN " +
- "(SELECT _id FROM calls"
+ numDeleted = resolver.delete(uri, "_id IN "
+ + "(SELECT _id FROM calls"
+ " WHERE " + PHONE_ACCOUNT_COMPONENT_NAME + " = ?"
+ " AND " + PHONE_ACCOUNT_ID + " = ?"
+ " ORDER BY " + DEFAULT_SORT_ORDER
@@ -2001,14 +2002,15 @@ public class CallLog {
});
} else {
// No valid phone account specified, so default to the old behavior.
- resolver.delete(uri, "_id IN " +
- "(SELECT _id FROM calls ORDER BY " + DEFAULT_SORT_ORDER
+ numDeleted = resolver.delete(uri, "_id IN "
+ + "(SELECT _id FROM calls ORDER BY " + DEFAULT_SORT_ORDER
+ " LIMIT -1 OFFSET 500)", null);
}
+ Log.i(LOG_TAG, "addEntry: cleaned up " + numDeleted + " old entries");
return result;
} catch (IllegalArgumentException e) {
- Log.w(LOG_TAG, "Failed to insert calllog", e);
+ Log.e(LOG_TAG, "Failed to insert calllog", e);
// Even though we make sure the target user is running and decrypted before calling
// this method, there's a chance that the user just got shut down, in which case
// we'll still get "IllegalArgumentException: Unknown URL content://call_log/calls".