From a371c105f687aea8a05c8e2f391ec0e2bcbe36b1 Mon Sep 17 00:00:00 2001 From: Sham Rathod Date: Tue, 18 Jul 2023 09:24:54 +0530 Subject: TvProvider: Reduce synchronized block Remove synchronized from ensureOldTransientRowsDeleted method and make smaller critical section synchronized to reduce chances of ANR. Test: atest com.android.providers.tv.TransientRowHelperTests Bug: 259445912 Change-Id: Icd5029efa04e1239704cc2a81c43a1485f256f04 --- src/com/android/providers/tv/TransientRowHelper.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/com/android/providers/tv/TransientRowHelper.java b/src/com/android/providers/tv/TransientRowHelper.java index 7054a0c..c289633 100644 --- a/src/com/android/providers/tv/TransientRowHelper.java +++ b/src/com/android/providers/tv/TransientRowHelper.java @@ -71,11 +71,13 @@ public class TransientRowHelper { /** * Ensures that transient rows, inserted previously before current boot, are deleted. */ - public synchronized void ensureOldTransientRowsDeleted() { - if (mTransientRowsDeleted) { - return; + public void ensureOldTransientRowsDeleted() { + synchronized (this) { + if (mTransientRowsDeleted) { + return; + } + mTransientRowsDeleted = true; } - mTransientRowsDeleted = true; if (getLastDeletionBootCount() >= getBootCount()) { // This can be the second execution of TvProvider after boot since system kills // TvProvider in low memory conditions. If this is the case, we shouldn't delete -- cgit v1.2.3