Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ebe79c9 authored by Anna Zappone's avatar Anna Zappone
Browse files

Add more logging to confirm storage issue

Discovered bug that shortcuts sometimes disappear. Add logging so we
can confirm this root cause consistently causes the storage loss, or
find out there's more storage issues to investigate.

Test: local
Bug: 182286433
Change-Id: If2d4ac0d6960d57bb53193dc063a6fd85c620396
parent 00475492
Loading
Loading
Loading
Loading
+12 −1
Original line number Original line Diff line number Diff line
@@ -63,6 +63,7 @@ import android.text.TextUtils;
import android.text.format.DateUtils;
import android.text.format.DateUtils;
import android.util.ArrayMap;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.ArraySet;
import android.util.Log;
import android.util.Pair;
import android.util.Pair;
import android.util.Slog;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseArray;
@@ -105,6 +106,7 @@ import java.util.function.Function;
public class DataManager {
public class DataManager {


    private static final String TAG = "DataManager";
    private static final String TAG = "DataManager";
    private static final boolean DEBUG = false;


    private static final long RECENT_NOTIFICATIONS_MAX_AGE_MS = 10 * DateUtils.DAY_IN_MILLIS;
    private static final long RECENT_NOTIFICATIONS_MAX_AGE_MS = 10 * DateUtils.DAY_IN_MILLIS;
    private static final long QUERY_EVENTS_MAX_AGE_MS = 5L * DateUtils.MINUTE_IN_MILLIS;
    private static final long QUERY_EVENTS_MAX_AGE_MS = 5L * DateUtils.MINUTE_IN_MILLIS;
@@ -217,6 +219,7 @@ public class DataManager {
        List<ShortcutInfo> shortcuts = getShortcuts(packageName, userId,
        List<ShortcutInfo> shortcuts = getShortcuts(packageName, userId,
                Collections.singletonList(shortcutId));
                Collections.singletonList(shortcutId));
        if (shortcuts != null && !shortcuts.isEmpty()) {
        if (shortcuts != null && !shortcuts.isEmpty()) {
            if (DEBUG) Log.d(TAG, "Found shortcut for " + shortcuts.get(0).getLabel());
            return shortcuts.get(0);
            return shortcuts.get(0);
        }
        }
        return null;
        return null;
@@ -258,6 +261,7 @@ public class DataManager {
        }
        }
        ShortcutInfo shortcutInfo = getShortcut(packageName, userId, shortcutId);
        ShortcutInfo shortcutInfo = getShortcut(packageName, userId, shortcutId);
        if (shortcutInfo == null) {
        if (shortcutInfo == null) {
            Slog.e(TAG, " Shortcut no longer found: " + shortcutId);
            return null;
            return null;
        }
        }
        int uid = mPackageManagerInternal.getPackageUid(packageName, 0, userId);
        int uid = mPackageManagerInternal.getPackageUid(packageName, 0, userId);
@@ -705,6 +709,7 @@ public class DataManager {
            }
            }
        });
        });
        for (String packageName : packagesToDelete) {
        for (String packageName : packagesToDelete) {
            if (DEBUG) Log.d(TAG, "Deleting packages data for: " + packageName);
            userData.deletePackageData(packageName);
            userData.deletePackageData(packageName);
        }
        }
    }
    }
@@ -716,6 +721,7 @@ public class DataManager {
        @ShortcutQuery.QueryFlags int queryFlags = ShortcutQuery.FLAG_MATCH_DYNAMIC
        @ShortcutQuery.QueryFlags int queryFlags = ShortcutQuery.FLAG_MATCH_DYNAMIC
                | ShortcutQuery.FLAG_MATCH_PINNED | ShortcutQuery.FLAG_MATCH_PINNED_BY_ANY_LAUNCHER
                | ShortcutQuery.FLAG_MATCH_PINNED | ShortcutQuery.FLAG_MATCH_PINNED_BY_ANY_LAUNCHER
                | ShortcutQuery.FLAG_MATCH_CACHED | ShortcutQuery.FLAG_GET_PERSONS_DATA;
                | ShortcutQuery.FLAG_MATCH_CACHED | ShortcutQuery.FLAG_GET_PERSONS_DATA;
        if (DEBUG) Log.d(TAG, " Get shortcuts with IDs: " + shortcutIds);
        return mShortcutServiceInternal.getShortcuts(
        return mShortcutServiceInternal.getShortcuts(
                UserHandle.USER_SYSTEM, mContext.getPackageName(),
                UserHandle.USER_SYSTEM, mContext.getPackageName(),
                /*changedSince=*/ 0, packageName, shortcutIds, /*locusIds=*/ null,
                /*changedSince=*/ 0, packageName, shortcutIds, /*locusIds=*/ null,
@@ -848,6 +854,9 @@ public class DataManager {
        ConversationStore conversationStore = packageData.getConversationStore();
        ConversationStore conversationStore = packageData.getConversationStore();
        ConversationInfo oldConversationInfo =
        ConversationInfo oldConversationInfo =
                conversationStore.getConversation(shortcutInfo.getId());
                conversationStore.getConversation(shortcutInfo.getId());
        if (oldConversationInfo == null) {
            if (DEBUG) Log.d(TAG, "Nothing previously stored about conversation.");
        }
        ConversationInfo.Builder builder = oldConversationInfo != null
        ConversationInfo.Builder builder = oldConversationInfo != null
                ? new ConversationInfo.Builder(oldConversationInfo)
                ? new ConversationInfo.Builder(oldConversationInfo)
                : new ConversationInfo.Builder();
                : new ConversationInfo.Builder();
@@ -1083,6 +1092,7 @@ public class DataManager {
                Set<String> shortcutIds = new HashSet<>();
                Set<String> shortcutIds = new HashSet<>();
                for (ShortcutInfo shortcutInfo : shortcuts) {
                for (ShortcutInfo shortcutInfo : shortcuts) {
                    if (packageData != null) {
                    if (packageData != null) {
                        if (DEBUG) Log.d(TAG, "Deleting shortcut: " + shortcutInfo.getId());
                        packageData.deleteDataForConversation(shortcutInfo.getId());
                        packageData.deleteDataForConversation(shortcutInfo.getId());
                    }
                    }
                    shortcutIds.add(shortcutInfo.getId());
                    shortcutIds.add(shortcutInfo.getId());
@@ -1309,6 +1319,7 @@ public class DataManager {
            int userId = getChangingUserId();
            int userId = getChangingUserId();
            UserData userData = getUnlockedUserData(userId);
            UserData userData = getUnlockedUserData(userId);
            if (userData != null) {
            if (userData != null) {
                if (DEBUG) Log.d(TAG, "Delete package data for: " + packageName);
                userData.deletePackageData(packageName);
                userData.deletePackageData(packageName);
            }
            }
        }
        }