From c7206caf6e6d6006bbc4909e140c6720e5c472d2 Mon Sep 17 00:00:00 2001 From: Jon Miranda Date: Mon, 13 May 2019 14:57:50 -0700 Subject: Ensure app widget ids are restored after database is sanitized. Previously, it was possible for AppWidgetsRestoredReceiver to start the restore process before work profile has finished restoring which resulted in the work profile items being removed from the workspace. Bug: 131315856 Change-Id: I2f295a1ca91f1996522bcc8052aa139979526e3b --- src/com/android/launcher3/Utilities.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/com/android/launcher3/Utilities.java') diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java index 5cfd95cd0..02fc84b9a 100644 --- a/src/com/android/launcher3/Utilities.java +++ b/src/com/android/launcher3/Utilities.java @@ -74,6 +74,7 @@ import java.lang.reflect.Method; import java.util.Arrays; import java.util.List; import java.util.Locale; +import java.util.StringTokenizer; import java.util.concurrent.Executor; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; @@ -652,4 +653,23 @@ public final class Utilities { return null; } } + + public static int[] getIntArrayFromString(String tokenized) { + StringTokenizer tokenizer = new StringTokenizer(tokenized, ","); + int[] array = new int[tokenizer.countTokens()]; + int count = 0; + while (tokenizer.hasMoreTokens()) { + array[count] = Integer.parseInt(tokenizer.nextToken()); + count++; + } + return array; + } + + public static String getStringFromIntArray(int[] array) { + StringBuilder str = new StringBuilder(); + for (int value : array) { + str.append(value).append(","); + } + return str.toString(); + } } -- cgit v1.2.3