diff options
Diffstat (limited to 'android/app/ContextImpl.java')
-rw-r--r-- | android/app/ContextImpl.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/android/app/ContextImpl.java b/android/app/ContextImpl.java index 71b88fa4..9a491bc3 100644 --- a/android/app/ContextImpl.java +++ b/android/app/ContextImpl.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.TestApi; @@ -88,11 +89,12 @@ import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStream; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.nio.ByteOrder; import java.util.ArrayList; import java.util.Objects; import java.util.concurrent.Executor; -import java.util.concurrent.atomic.AtomicInteger; class ReceiverRestrictedContext extends ContextWrapper { ReceiverRestrictedContext(Context base) { @@ -212,13 +214,24 @@ class ContextImpl extends Context { static final int STATE_UNINITIALIZED = 0; static final int STATE_INITIALIZING = 1; static final int STATE_READY = 2; + static final int STATE_NOT_FOUND = 3; + + /** @hide */ + @IntDef(prefix = { "STATE_" }, value = { + STATE_UNINITIALIZED, + STATE_INITIALIZING, + STATE_READY, + STATE_NOT_FOUND, + }) + @Retention(RetentionPolicy.SOURCE) + @interface ServiceInitializationState {} /** * Initialization state for each service. Any of {@link #STATE_UNINITIALIZED}, * {@link #STATE_INITIALIZING} or {@link #STATE_READY}, */ - final AtomicInteger[] mServiceInitializationStateArray = - SystemServiceRegistry.createServiceInitializationStateArray(); + @ServiceInitializationState + final int[] mServiceInitializationStateArray = new int[mServiceCache.length]; static ContextImpl getImpl(Context context) { Context nextContext; |