diff options
| -rw-r--r-- | core/java/android/os/ThreadLocalWorkSource.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/core/java/android/os/ThreadLocalWorkSource.java b/core/java/android/os/ThreadLocalWorkSource.java index 894b1cc475b0..e9adb209ddc6 100644 --- a/core/java/android/os/ThreadLocalWorkSource.java +++ b/core/java/android/os/ThreadLocalWorkSource.java @@ -39,8 +39,8 @@ package android.os; */ public final class ThreadLocalWorkSource { public static final int UID_NONE = Message.UID_NONE; - private static final ThreadLocal<Integer> sWorkSourceUid = - ThreadLocal.withInitial(() -> UID_NONE); + private static final ThreadLocal<int []> sWorkSourceUid = + ThreadLocal.withInitial(() -> new int[] {UID_NONE}); /** * Returns the UID to blame for the code currently executed on this thread. @@ -50,7 +50,7 @@ public final class ThreadLocalWorkSource { * <p>It can also be set manually using {@link #setUid(int)}. */ public static int getUid() { - return sWorkSourceUid.get(); + return sWorkSourceUid.get()[0]; } /** @@ -65,7 +65,7 @@ public final class ThreadLocalWorkSource { */ public static long setUid(int uid) { final long token = getToken(); - sWorkSourceUid.set(uid); + sWorkSourceUid.get()[0] = uid; return token; } @@ -73,7 +73,7 @@ public final class ThreadLocalWorkSource { * Restores the state using the provided token. */ public static void restore(long token) { - sWorkSourceUid.set(parseUidFromToken(token)); + sWorkSourceUid.get()[0] = parseUidFromToken(token); } /** @@ -88,7 +88,7 @@ public final class ThreadLocalWorkSource { * </pre> * * @return a token that can be used to restore the state. - **/ + */ public static long clear() { return setUid(UID_NONE); } @@ -98,7 +98,7 @@ public final class ThreadLocalWorkSource { } private static long getToken() { - return sWorkSourceUid.get(); + return sWorkSourceUid.get()[0]; } private ThreadLocalWorkSource() { |