diff --git a/service/src/com/android/car/CarMediaService.java b/service/src/com/android/car/CarMediaService.java
index 1f6375e..e17d112 100644
--- a/service/src/com/android/car/CarMediaService.java
+++ b/service/src/com/android/car/CarMediaService.java
@@ -65,6 +65,7 @@
 import android.util.IndentingPrintWriter;
 import android.util.Log;
 import android.util.Slog;
+import android.util.TimeUtils;
 
 import com.android.car.power.CarPowerManagementService;
 import com.android.car.user.CarUserService;
@@ -510,8 +511,11 @@
 
     private void dumpSharedPrefs(IndentingPrintWriter writer) {
         Map<String, ?> allPrefs = mSharedPrefs.getAll();
-        writer.printf("%d shared preferences (saved on directory %s)",
-                allPrefs.size(), mContext.getDataDir());
+        long lastUpdate = mSharedPrefs.getLong(LAST_UPDATE_KEY, -1);
+        writer.printf("%d shared preferences (saved on directory %s; last update on %d / ",
+                allPrefs.size(), mContext.getDataDir(), lastUpdate);
+        TimeUtils.dumpTime(writer, lastUpdate);
+        writer.print(')');
         if (!Log.isLoggable(CarLog.TAG_MEDIA, Log.VERBOSE) || allPrefs.isEmpty()) {
             writer.println();
             return;
diff --git a/service/src/com/android/car/watchdog/WatchdogPerfHandler.java b/service/src/com/android/car/watchdog/WatchdogPerfHandler.java
index 6103560..d4e9399 100644
--- a/service/src/com/android/car/watchdog/WatchdogPerfHandler.java
+++ b/service/src/com/android/car/watchdog/WatchdogPerfHandler.java
@@ -781,8 +781,12 @@
                     mUserNotifiablePackages.add(id);
                 }
             }
-            if (mCurrentUxState != UX_STATE_NO_DISTRACTION
-                    && (!mActionableUserPackages.isEmpty() || !mUserNotifiablePackages.isEmpty())) {
+            if ((mCurrentUxState != UX_STATE_NO_DISTRACTION && !mUserNotifiablePackages.isEmpty())
+                    // TODO(b/200599130): When resource overusing background apps are killed
+                    //  immediately, update the below check to allow posting
+                    //  {@code performOveruseHandlingLocked} immediately.
+                    || (mCurrentUxState == UX_STATE_NO_INTERACTION
+                    && !mActionableUserPackages.isEmpty())) {
                 mMainHandler.postDelayed(() -> {
                     synchronized (mLock) {
                         performOveruseHandlingLocked();
