diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-31 23:20:45 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-31 23:20:45 +0000 |
commit | 995688c55f7532df40a7aa5faa1d807fcbef4969 (patch) | |
tree | f2161c336e1f7ba3322380c2d76c8dcd598ec6ff | |
parent | 9b770005dc515ea90711ce1398dc1f420c89b45c (diff) | |
parent | 796877d33882842e5caf7c44be381a6d788861f4 (diff) | |
download | ContactsProvider-android14-qpr1-release.tar.gz |
Snap for 10587196 from 796877d33882842e5caf7c44be381a6d788861f4 to udc-qpr1-releaseandroid-14.0.0_r27android-14.0.0_r26android-14.0.0_r25android-14.0.0_r24android-14.0.0_r23android-14.0.0_r22android-14.0.0_r21android-14.0.0_r20android-14.0.0_r19android-14.0.0_r18android-14.0.0_r17android-14.0.0_r16android14-qpr1-s2-releaseandroid14-qpr1-release
Change-Id: Iba81d202e907c6f02655424565bd4133d677a5af
-rw-r--r-- | src/com/android/providers/contacts/CallLogProvider.java | 45 |
1 files changed, 40 insertions, 5 deletions
diff --git a/src/com/android/providers/contacts/CallLogProvider.java b/src/com/android/providers/contacts/CallLogProvider.java index da2d0b8a..01f3d577 100644 --- a/src/com/android/providers/contacts/CallLogProvider.java +++ b/src/com/android/providers/contacts/CallLogProvider.java @@ -60,6 +60,7 @@ import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.ArrayMap; import android.util.EventLog; +import android.util.LocalLog; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; @@ -314,6 +315,7 @@ public class CallLogProvider extends ContentProvider { private VoicemailPermissions mVoicemailPermissions; private CallLogInsertionHelper mCallLogInsertionHelper; private SubscriptionManager mSubscriptionManager; + private LocalLog mLocalLog = new LocalLog(20); private final ThreadLocal<Boolean> mApplyingBatch = new ThreadLocal<>(); private final ThreadLocal<Integer> mCallingUid = new ThreadLocal<>(); @@ -681,7 +683,7 @@ public class CallLogProvider extends ContentProvider { final int callingUid = applyingBatch() ? mCallingUid.get() : Binder.getCallingUid(); - mStats.incrementInsertStats(callingUid, applyingBatch()); + mStats.incrementUpdateStats(callingUid, applyingBatch()); try { return updateInternal(uri, values, selection, selectionArgs); } finally { @@ -694,7 +696,7 @@ public class CallLogProvider extends ContentProvider { final int callingUid = applyingBatch() ? mCallingUid.get() : Binder.getCallingUid(); - mStats.incrementInsertStats(callingUid, applyingBatch()); + mStats.incrementDeleteStats(callingUid, applyingBatch()); try { return deleteInternal(uri, selection, selectionArgs); } finally { @@ -751,6 +753,11 @@ public class CallLogProvider extends ContentProvider { mCallLogInsertionHelper.addComputedValues(copiedValues); long rowId = createDatabaseModifier(mCallsInserter).insert(copiedValues); + String insertLog = String.format(Locale.getDefault(), + "insert uid/pid=%d/%d, uri=%s, rowId=%d", + Binder.getCallingUid(), Binder.getCallingPid(), uri, rowId); + Log.i(TAG, insertLog); + mLocalLog.log(insertLog); if (rowId > 0) { return ContentUris.withAppendedId(uri, rowId); } @@ -959,8 +966,16 @@ public class CallLogProvider extends ContentProvider { throw new UnsupportedOperationException("Cannot update URL: " + uri); } - return createDatabaseModifier(db, hasReadVoicemailPermission).update(uri, Tables.CALLS, + int count = createDatabaseModifier(db, hasReadVoicemailPermission).update(uri, Tables.CALLS, values, selectionBuilder.build(), selectionArgs); + + String logStr = String.format(Locale. getDefault(), + "update uid/pid=%d/%d, uri=%s, numChanged=%d", + Binder.getCallingUid(), Binder.getCallingPid(), uri, count); + Log.i(TAG, logStr); + mLocalLog.log(logStr); + + return count; } private int deleteInternal(Uri uri, String selection, String[] selectionArgs) { @@ -981,8 +996,14 @@ public class CallLogProvider extends ContentProvider { final int matchedUriId = sURIMatcher.match(uri); switch (matchedUriId) { case CALLS: - return createDatabaseModifier(db, hasReadVoicemailPermission).delete(Tables.CALLS, - selectionBuilder.build(), selectionArgs); + int count = createDatabaseModifier(db, hasReadVoicemailPermission).delete( + Tables.CALLS, selectionBuilder.build(), selectionArgs); + String logStr = String.format(Locale. getDefault(), + "delete uid/pid=%d/%d, uri=%s, numChanged=%d", + Binder.getCallingUid(), Binder.getCallingPid(), uri, count); + Log.i(TAG, logStr); + mLocalLog.log(logStr); + return count; case CALL_COMPOSER_PICTURE: // TODO(hallliu): implement deletion of file when the corresponding calllog entry // gets deleted as well. @@ -1127,10 +1148,21 @@ public class CallLogProvider extends ContentProvider { new String[] {String.valueOf(lastSyncTime)}, Calls.DATE + " ASC"); if (cursor == null) { + Log.i(TAG, String.format(Locale.getDefault(), + "syncEntriesFrom: fromUserId=%d, srcIsShadow=%b, forAllUsers=%b; nothing to " + + "sync", + sourceUserId, sourceIsShadow, forAllUsersOnly)); return; } try { newestTimeStamp = copyEntriesFromCursor(cursor, lastSyncTime, sourceIsShadow); + Log.i(TAG, + String.format(Locale.getDefault(), + "syncEntriesFrom: fromUserId=%d, srcIsShadow=%b, forAllUsers=%b; " + + "previousTimeStamp=%d, newTimeStamp=%d, entries=%d", + sourceUserId, sourceIsShadow, forAllUsersOnly, lastSyncTime, + newestTimeStamp, + cursor.getCount())); } finally { cursor.close(); } @@ -1376,6 +1408,9 @@ public class CallLogProvider extends ContentProvider { @Override public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { mStats.dump(writer, " "); + writer.println(); + writer.println("Latest call log activity:"); + mLocalLog.dump(writer); } /** |