diff options
299 files changed, 3080 insertions, 2274 deletions
diff --git a/Android.bp b/Android.bp index 2e3073f2617b..ae0acade2737 100644 --- a/Android.bp +++ b/Android.bp @@ -898,6 +898,7 @@ java_library { "core/java/android/os/IHwInterface.java", "core/java/android/os/DeadObjectException.java", "core/java/android/os/DeadSystemException.java", + "core/java/android/os/NativeHandle.java", "core/java/android/os/RemoteException.java", "core/java/android/util/AndroidException.java", ], @@ -1444,6 +1445,7 @@ droiddoc { "core/java/android/os/IHwInterface.java", "core/java/android/os/DeadObjectException.java", "core/java/android/os/DeadSystemException.java", + "core/java/android/os/NativeHandle.java", "core/java/android/os/RemoteException.java", "core/java/android/util/AndroidException.java", ], @@ -1572,6 +1574,7 @@ doc_defaults { metalava_previous_api: ":public-api-for-metalava-annotations", metalava_merge_annotations_dirs: [ "metalava-manual", + "ojluni-annotated-stubs", ], } diff --git a/api/current.txt b/api/current.txt index 139776b4b93d..4ec226506f79 100644 --- a/api/current.txt +++ b/api/current.txt @@ -57590,14 +57590,14 @@ package java.lang { method public void setContextClassLoader(java.lang.ClassLoader); method public final void setDaemon(boolean); method public static void setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler); - method public final void setName(java.lang.String); + method public final synchronized void setName(java.lang.String); method public final void setPriority(int); method public void setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler); method public static void sleep(long) throws java.lang.InterruptedException; method public static void sleep(long, int) throws java.lang.InterruptedException; method public synchronized void start(); method public final deprecated void stop(); - method public final deprecated void stop(java.lang.Throwable); + method public final deprecated synchronized void stop(java.lang.Throwable); method public final deprecated void suspend(); method public static void yield(); field public static final int MAX_PRIORITY = 10; // 0xa diff --git a/api/system-current.txt b/api/system-current.txt index a8e8dcb3b422..859ee98fc121 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -3726,6 +3726,7 @@ package android.os { method public final void putInt64Array(long, long[]); method public final void putInt8(long, byte); method public final void putInt8Array(long, byte[]); + method public final void putNativeHandle(long, android.os.NativeHandle); method public final void putString(long, java.lang.String); method public static java.lang.Boolean[] wrapArray(boolean[]); method public static java.lang.Long[] wrapArray(long[]); @@ -3745,6 +3746,7 @@ package android.os { method public final double readDouble(); method public final java.util.ArrayList<java.lang.Double> readDoubleVector(); method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean); + method public final android.os.NativeHandle readEmbeddedNativeHandle(long, long); method public final float readFloat(); method public final java.util.ArrayList<java.lang.Float> readFloatVector(); method public final short readInt16(); @@ -3755,6 +3757,8 @@ package android.os { method public final java.util.ArrayList<java.lang.Long> readInt64Vector(); method public final byte readInt8(); method public final java.util.ArrayList<java.lang.Byte> readInt8Vector(); + method public final android.os.NativeHandle readNativeHandle(); + method public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector(); method public final java.lang.String readString(); method public final java.util.ArrayList<java.lang.String> readStringVector(); method public final android.os.IHwBinder readStrongBinder(); @@ -3778,6 +3782,8 @@ package android.os { method public final void writeInt8(byte); method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>); method public final void writeInterfaceToken(java.lang.String); + method public final void writeNativeHandle(android.os.NativeHandle); + method public final void writeNativeHandleVector(java.util.ArrayList<android.os.NativeHandle>); method public final void writeStatus(int); method public final void writeString(java.lang.String); method public final void writeStringVector(java.util.ArrayList<java.lang.String>); @@ -3822,6 +3828,18 @@ package android.os { field public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR; } + public final class NativeHandle implements java.io.Closeable { + ctor public NativeHandle(); + ctor public NativeHandle(java.io.FileDescriptor, boolean); + ctor public NativeHandle(java.io.FileDescriptor[], int[], boolean); + method public void close() throws java.io.IOException; + method public android.os.NativeHandle dup() throws java.io.IOException; + method public java.io.FileDescriptor getFileDescriptor(); + method public java.io.FileDescriptor[] getFileDescriptors(); + method public int[] getInts(); + method public boolean hasSingleFileDescriptor(); + } + public final class PowerManager { method public void userActivity(long, int, int); field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3 diff --git a/api/test-current.txt b/api/test-current.txt index 4c3c0f8625d9..8073341ebad1 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -256,8 +256,8 @@ package android.content.pm { public abstract class PackageManager { method public abstract java.lang.String getDefaultBrowserPackageNameAsUser(int); method public abstract int getInstallReason(java.lang.String, android.os.UserHandle); - method public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int); method public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplicationsAsUser(int, int); + method public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int); method public abstract java.lang.String[] getNamesForUids(int[]); method public abstract java.lang.String getPermissionControllerPackageName(); method public abstract java.lang.String getServicesSystemSharedLibraryPackageName(); diff --git a/cmds/incident_helper/src/ih_util.cpp b/cmds/incident_helper/src/ih_util.cpp index 4c4d1b992ba8..012310cc277a 100644 --- a/cmds/incident_helper/src/ih_util.cpp +++ b/cmds/incident_helper/src/ih_util.cpp @@ -97,7 +97,7 @@ bool getColumnIndices(std::vector<int>& indices, const char** headerNames, const size_t lastIndex = 0; int i = 0; - while (headerNames[i] != NULL) { + while (headerNames[i] != nullptr) { std::string s = headerNames[i]; lastIndex = line.find(s, lastIndex); if (lastIndex == std::string::npos) { @@ -237,18 +237,18 @@ double toDouble(const std::string& s) { Reader::Reader(const int fd) { mFile = fdopen(fd, "r"); - mStatus = mFile == NULL ? "Invalid fd " + std::to_string(fd) : ""; + mStatus = mFile == nullptr ? "Invalid fd " + std::to_string(fd) : ""; } Reader::~Reader() { - if (mFile != NULL) fclose(mFile); + if (mFile != nullptr) fclose(mFile); } bool Reader::readLine(std::string* line) { - if (mFile == NULL) return false; + if (mFile == nullptr) return false; - char* buf = NULL; + char* buf = nullptr; size_t len = 0; ssize_t read = getline(&buf, &len, mFile); if (read != -1) { diff --git a/cmds/incident_helper/src/main.cpp b/cmds/incident_helper/src/main.cpp index 418dc3fad761..091410bce2dd 100644 --- a/cmds/incident_helper/src/main.cpp +++ b/cmds/incident_helper/src/main.cpp @@ -97,7 +97,7 @@ int main(int argc, char** argv) { fprintf(stderr, "Pasring section %d...\n", sectionID); TextParserBase* parser = selectParser(sectionID); - if (parser != NULL) { + if (parser != nullptr) { fprintf(stderr, "Running parser: %s\n", parser->name.string()); status_t err = parser->Parse(STDIN_FILENO, STDOUT_FILENO); if (err != NO_ERROR) { diff --git a/cmds/incident_helper/src/parsers/CpuInfoParser.cpp b/cmds/incident_helper/src/parsers/CpuInfoParser.cpp index eed68b9e29c6..21ced9cb485c 100644 --- a/cmds/incident_helper/src/parsers/CpuInfoParser.cpp +++ b/cmds/incident_helper/src/parsers/CpuInfoParser.cpp @@ -109,7 +109,7 @@ CpuInfoParser::Parse(const int in, const int out) const nextToUsage = false; // NAME is not in the list since we need to modify the end of the CMD index. - const char* headerNames[] = { "PID", "TID", "USER", "PR", "NI", "CPU", "S", "VIRT", "RES", "PCY", "CMD", NULL }; + const char* headerNames[] = { "PID", "TID", "USER", "PR", "NI", "CPU", "S", "VIRT", "RES", "PCY", "CMD", nullptr }; if (!getColumnIndices(columnIndices, headerNames, line)) { return -1; } diff --git a/cmds/incident_helper/src/parsers/PsParser.cpp b/cmds/incident_helper/src/parsers/PsParser.cpp index 8d64064e26f4..d3cb4be59f66 100644 --- a/cmds/incident_helper/src/parsers/PsParser.cpp +++ b/cmds/incident_helper/src/parsers/PsParser.cpp @@ -48,7 +48,7 @@ status_t PsParser::Parse(const int in, const int out) const { if (nline++ == 0) { header = parseHeader(line, DEFAULT_WHITESPACE); - const char* headerNames[] = { "LABEL", "USER", "PID", "TID", "PPID", "VSZ", "RSS", "WCHAN", "ADDR", "S", "PRI", "NI", "RTPRIO", "SCH", "PCY", "TIME", "CMD", NULL }; + const char* headerNames[] = { "LABEL", "USER", "PID", "TID", "PPID", "VSZ", "RSS", "WCHAN", "ADDR", "S", "PRI", "NI", "RTPRIO", "SCH", "PCY", "TIME", "CMD", nullptr }; if (!getColumnIndices(columnIndices, headerNames, line)) { return -1; } diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt index 531c0195307b..f88a039e6b57 100644 --- a/config/hiddenapi-light-greylist.txt +++ b/config/hiddenapi-light-greylist.txt @@ -30,437 +30,13 @@ Landroid/accounts/IAccountManagerResponse$Stub;-><init>()V Landroid/accounts/IAccountManagerResponse$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountManagerResponse; Landroid/accounts/IAccountManagerResponse;->onError(ILjava/lang/String;)V Landroid/accounts/IAccountManagerResponse;->onResult(Landroid/os/Bundle;)V -Landroid/app/ActionBar;->collapseActionView()Z -Landroid/app/ActionBar;->DISPLAY_TITLE_MULTIPLE_LINES:I -Landroid/app/ActionBar;->setShowHideAnimationEnabled(Z)V -Landroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;)V -Landroid/app/Activity;->dispatchActivityResult(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;)V -Landroid/app/Activity;->finish(I)V -Landroid/app/Activity;->FRAGMENTS_TAG:Ljava/lang/String; -Landroid/app/Activity;->getActivityOptions()Landroid/app/ActivityOptions; -Landroid/app/Activity;->getActivityToken()Landroid/os/IBinder; -Landroid/app/Activity;->isResumed()Z -Landroid/app/Activity;->mActivityInfo:Landroid/content/pm/ActivityInfo; -Landroid/app/Activity;->mActivityTransitionState:Landroid/app/ActivityTransitionState; -Landroid/app/Activity;->mApplication:Landroid/app/Application; -Landroid/app/Activity;->mCalled:Z -Landroid/app/Activity;->mComponent:Landroid/content/ComponentName; -Landroid/app/Activity;->mConfigChangeFlags:I -Landroid/app/Activity;->mCurrentConfig:Landroid/content/res/Configuration; -Landroid/app/Activity;->mDestroyed:Z -Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String; -Landroid/app/Activity;->mFinished:Z -Landroid/app/Activity;->mFragments:Landroid/app/FragmentController; -Landroid/app/Activity;->mHandler:Landroid/os/Handler; -Landroid/app/Activity;->mIdent:I -Landroid/app/Activity;->mInstrumentation:Landroid/app/Instrumentation; -Landroid/app/Activity;->mIntent:Landroid/content/Intent; -Landroid/app/Activity;->mLastNonConfigurationInstances:Landroid/app/Activity$NonConfigurationInstances; -Landroid/app/Activity;->mMainThread:Landroid/app/ActivityThread; -Landroid/app/Activity;->mParent:Landroid/app/Activity; -Landroid/app/Activity;->mReferrer:Ljava/lang/String; -Landroid/app/Activity;->mResultCode:I -Landroid/app/Activity;->mResultData:Landroid/content/Intent; -Landroid/app/Activity;->mResumed:Z -Landroid/app/Activity;->mStopped:Z -Landroid/app/Activity;->mTitle:Ljava/lang/CharSequence; -Landroid/app/Activity;->mToken:Landroid/os/IBinder; -Landroid/app/Activity;->mVisibleFromClient:Z -Landroid/app/Activity;->mVoiceInteractor:Landroid/app/VoiceInteractor; -Landroid/app/Activity;->mWindow:Landroid/view/Window; -Landroid/app/Activity;->mWindowAdded:Z -Landroid/app/Activity;->mWindowManager:Landroid/view/WindowManager; -Landroid/app/Activity;->performCreate(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V -Landroid/app/Activity;->saveManagedDialogs(Landroid/os/Bundle;)V -Landroid/app/Activity;->setDisablePreviewScreenshots(Z)V -Landroid/app/Activity;->setParent(Landroid/app/Activity;)V -Landroid/app/Activity;->setPersistent(Z)V -Landroid/app/Activity;->startActivityAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V -Landroid/app/Activity;->startActivityForResult(Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;)V -Landroid/app/Activity;->startActivityForResultAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)V -Landroid/app/ActivityGroup;->mLocalActivityManager:Landroid/app/LocalActivityManager; -Landroid/app/ActivityManager$MemoryInfo;->foregroundAppThreshold:J -Landroid/app/ActivityManager$MemoryInfo;->hiddenAppThreshold:J -Landroid/app/ActivityManager$MemoryInfo;->secondaryServerThreshold:J -Landroid/app/ActivityManager$MemoryInfo;->visibleAppThreshold:J -Landroid/app/ActivityManager$RecentTaskInfo;->affiliatedTaskColor:I -Landroid/app/ActivityManager$RecentTaskInfo;->firstActiveTime:J -Landroid/app/ActivityManager$RecentTaskInfo;->lastActiveTime:J -Landroid/app/ActivityManager$RecentTaskInfo;->resizeMode:I -Landroid/app/ActivityManager$RecentTaskInfo;->stackId:I -Landroid/app/ActivityManager$RecentTaskInfo;->supportsSplitScreenMultiWindow:Z -Landroid/app/ActivityManager$RecentTaskInfo;->userId:I -Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I -Landroid/app/ActivityManager$RunningAppProcessInfo;->FLAG_HAS_ACTIVITIES:I -Landroid/app/ActivityManager$RunningAppProcessInfo;->FLAG_PERSISTENT:I -Landroid/app/ActivityManager$RunningAppProcessInfo;->processState:I -Landroid/app/ActivityManager$RunningAppProcessInfo;->procStateToImportance(I)I -Landroid/app/ActivityManager$StackInfo;->bounds:Landroid/graphics/Rect; -Landroid/app/ActivityManager$StackInfo;->displayId:I -Landroid/app/ActivityManager$StackInfo;->position:I -Landroid/app/ActivityManager$StackInfo;->stackId:I -Landroid/app/ActivityManager$StackInfo;->taskBounds:[Landroid/graphics/Rect; -Landroid/app/ActivityManager$StackInfo;->taskIds:[I -Landroid/app/ActivityManager$StackInfo;->taskNames:[Ljava/lang/String; -Landroid/app/ActivityManager$StackInfo;->taskUserIds:[I -Landroid/app/ActivityManager$StackInfo;->topActivity:Landroid/content/ComponentName; -Landroid/app/ActivityManager$StackInfo;->toString(Ljava/lang/String;)Ljava/lang/String; -Landroid/app/ActivityManager$StackInfo;->userId:I -Landroid/app/ActivityManager$StackInfo;->visible:Z -Landroid/app/ActivityManager$TaskDescription;->getBackgroundColor()I -Landroid/app/ActivityManager$TaskDescription;->getInMemoryIcon()Landroid/graphics/Bitmap; -Landroid/app/ActivityManager$TaskDescription;->setIcon(Landroid/graphics/Bitmap;)V -Landroid/app/ActivityManager$TaskSnapshot;->getContentInsets()Landroid/graphics/Rect; -Landroid/app/ActivityManager$TaskSnapshot;->getOrientation()I -Landroid/app/ActivityManager$TaskSnapshot;->getScale()F -Landroid/app/ActivityManager$TaskSnapshot;->isRealSnapshot()Z -Landroid/app/ActivityManager$TaskSnapshot;->isReducedResolution()Z -Landroid/app/ActivityManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V -Landroid/app/ActivityManager;->checkComponentPermission(Ljava/lang/String;IIZ)I -Landroid/app/ActivityManager;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)Z -Landroid/app/ActivityManager;->forceStopPackageAsUser(Ljava/lang/String;I)V -Landroid/app/ActivityManager;->getMaxRecentTasksStatic()I -Landroid/app/ActivityManager;->getService()Landroid/app/IActivityManager; -Landroid/app/ActivityManager;->IActivityManagerSingleton:Landroid/util/Singleton; -Landroid/app/ActivityManager;->INTENT_SENDER_ACTIVITY:I -Landroid/app/ActivityManager;->isHighEndGfx()Z -Landroid/app/ActivityManager;->isLowRamDeviceStatic()Z -Landroid/app/ActivityManager;->isUserRunning(I)Z -Landroid/app/ActivityManager;->mContext:Landroid/content/Context; -Landroid/app/ActivityManager;->PROCESS_STATE_BOUND_FOREGROUND_SERVICE:I -Landroid/app/ActivityManager;->PROCESS_STATE_CACHED_ACTIVITY:I -Landroid/app/ActivityManager;->PROCESS_STATE_FOREGROUND_SERVICE:I -Landroid/app/ActivityManager;->PROCESS_STATE_HOME:I -Landroid/app/ActivityManager;->PROCESS_STATE_IMPORTANT_BACKGROUND:I -Landroid/app/ActivityManager;->PROCESS_STATE_RECEIVER:I -Landroid/app/ActivityManager;->PROCESS_STATE_SERVICE:I -Landroid/app/ActivityManager;->PROCESS_STATE_TOP:I -Landroid/app/ActivityManager;->setPersistentVrThread(I)V -Landroid/app/ActivityManager;->staticGetMemoryClass()I -Landroid/app/ActivityManager;->switchUser(I)Z Landroid/app/ActivityManagerNative;-><init>()V -Landroid/app/ActivityManagerNative;->asInterface(Landroid/os/IBinder;)Landroid/app/IActivityManager; -Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager; -Landroid/app/ActivityManagerNative;->isSystemReady()Z -Landroid/app/ActivityOptions;->makeCustomAnimation(Landroid/content/Context;IILandroid/os/Handler;Landroid/app/ActivityOptions$OnAnimationStartedListener;)Landroid/app/ActivityOptions; -Landroid/app/ActivityOptions;->makeMultiThumbFutureAspectScaleAnimation(Landroid/content/Context;Landroid/os/Handler;Landroid/view/IAppTransitionAnimationSpecsFuture;Landroid/app/ActivityOptions$OnAnimationStartedListener;Z)Landroid/app/ActivityOptions; -Landroid/app/ActivityThread$ActivityClientRecord;-><init>()V -Landroid/app/ActivityThread$ActivityClientRecord;->activity:Landroid/app/Activity; -Landroid/app/ActivityThread$ActivityClientRecord;->activityInfo:Landroid/content/pm/ActivityInfo; -Landroid/app/ActivityThread$ActivityClientRecord;->compatInfo:Landroid/content/res/CompatibilityInfo; -Landroid/app/ActivityThread$ActivityClientRecord;->intent:Landroid/content/Intent; -Landroid/app/ActivityThread$ActivityClientRecord;->mPreserveWindow:Z -Landroid/app/ActivityThread$ActivityClientRecord;->packageInfo:Landroid/app/LoadedApk; -Landroid/app/ActivityThread$ActivityClientRecord;->paused:Z -Landroid/app/ActivityThread$ActivityClientRecord;->stopped:Z -Landroid/app/ActivityThread$ActivityClientRecord;->token:Landroid/os/IBinder; Landroid/app/ActivityThread$AppBindData;-><init>()V -Landroid/app/ActivityThread$AppBindData;->appInfo:Landroid/content/pm/ApplicationInfo; -Landroid/app/ActivityThread$AppBindData;->compatInfo:Landroid/content/res/CompatibilityInfo; -Landroid/app/ActivityThread$AppBindData;->info:Landroid/app/LoadedApk; -Landroid/app/ActivityThread$AppBindData;->instrumentationArgs:Landroid/os/Bundle; -Landroid/app/ActivityThread$AppBindData;->persistent:Z -Landroid/app/ActivityThread$AppBindData;->processName:Ljava/lang/String; -Landroid/app/ActivityThread$AppBindData;->providers:Ljava/util/List; -Landroid/app/ActivityThread$AppBindData;->restrictedBackupMode:Z -Landroid/app/ActivityThread$BindServiceData;->intent:Landroid/content/Intent; -Landroid/app/ActivityThread$BindServiceData;->token:Landroid/os/IBinder; Landroid/app/ActivityThread$CreateServiceData;-><init>()V -Landroid/app/ActivityThread$CreateServiceData;->compatInfo:Landroid/content/res/CompatibilityInfo; -Landroid/app/ActivityThread$CreateServiceData;->info:Landroid/content/pm/ServiceInfo; -Landroid/app/ActivityThread$CreateServiceData;->intent:Landroid/content/Intent; -Landroid/app/ActivityThread$CreateServiceData;->token:Landroid/os/IBinder; -Landroid/app/ActivityThread$H;->BIND_SERVICE:I -Landroid/app/ActivityThread$H;->CREATE_SERVICE:I -Landroid/app/ActivityThread$H;->DUMP_PROVIDER:I -Landroid/app/ActivityThread$H;->ENTER_ANIMATION_COMPLETE:I -Landroid/app/ActivityThread$H;->EXIT_APPLICATION:I -Landroid/app/ActivityThread$H;->GC_WHEN_IDLE:I -Landroid/app/ActivityThread$H;->INSTALL_PROVIDER:I -Landroid/app/ActivityThread$H;->RECEIVER:I -Landroid/app/ActivityThread$H;->REMOVE_PROVIDER:I -Landroid/app/ActivityThread$H;->SCHEDULE_CRASH:I -Landroid/app/ActivityThread$H;->SERVICE_ARGS:I -Landroid/app/ActivityThread$H;->STOP_SERVICE:I -Landroid/app/ActivityThread$H;->UNBIND_SERVICE:I -Landroid/app/ActivityThread$ProviderClientRecord;->mHolder:Landroid/app/ContentProviderHolder; -Landroid/app/ActivityThread$ProviderClientRecord;->mLocalProvider:Landroid/content/ContentProvider; -Landroid/app/ActivityThread$ProviderClientRecord;->mProvider:Landroid/content/IContentProvider; -Landroid/app/ActivityThread$ReceiverData;->compatInfo:Landroid/content/res/CompatibilityInfo; -Landroid/app/ActivityThread$ReceiverData;->info:Landroid/content/pm/ActivityInfo; -Landroid/app/ActivityThread$ReceiverData;->intent:Landroid/content/Intent; -Landroid/app/ActivityThread$ServiceArgsData;->args:Landroid/content/Intent; -Landroid/app/ActivityThread$ServiceArgsData;->token:Landroid/os/IBinder; -Landroid/app/ActivityThread;-><init>()V -Landroid/app/ActivityThread;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;IZ)Landroid/content/IContentProvider; -Landroid/app/ActivityThread;->acquireProvider(Landroid/content/Context;Ljava/lang/String;IZ)Landroid/content/IContentProvider; -Landroid/app/ActivityThread;->attach(ZJ)V -Landroid/app/ActivityThread;->currentActivityThread()Landroid/app/ActivityThread; -Landroid/app/ActivityThread;->currentApplication()Landroid/app/Application; -Landroid/app/ActivityThread;->currentPackageName()Ljava/lang/String; -Landroid/app/ActivityThread;->currentProcessName()Ljava/lang/String; -Landroid/app/ActivityThread;->getActivity(Landroid/os/IBinder;)Landroid/app/Activity; -Landroid/app/ActivityThread;->getApplication()Landroid/app/Application; -Landroid/app/ActivityThread;->getApplicationThread()Landroid/app/ActivityThread$ApplicationThread; -Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler; -Landroid/app/ActivityThread;->getInstrumentation()Landroid/app/Instrumentation; -Landroid/app/ActivityThread;->getLooper()Landroid/os/Looper; -Landroid/app/ActivityThread;->getPackageInfo(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)Landroid/app/LoadedApk; -Landroid/app/ActivityThread;->getPackageInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;I)Landroid/app/LoadedApk; -Landroid/app/ActivityThread;->getPackageInfoNoCheck(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)Landroid/app/LoadedApk; -Landroid/app/ActivityThread;->getPackageManager()Landroid/content/pm/IPackageManager; -Landroid/app/ActivityThread;->getProcessName()Ljava/lang/String; -Landroid/app/ActivityThread;->getSystemContext()Landroid/app/ContextImpl; -Landroid/app/ActivityThread;->handleBindApplication(Landroid/app/ActivityThread$AppBindData;)V -Landroid/app/ActivityThread;->handleCreateService(Landroid/app/ActivityThread$CreateServiceData;)V -Landroid/app/ActivityThread;->handleReceiver(Landroid/app/ActivityThread$ReceiverData;)V -Landroid/app/ActivityThread;->handleUnstableProviderDied(Landroid/os/IBinder;Z)V -Landroid/app/ActivityThread;->installContentProviders(Landroid/content/Context;Ljava/util/List;)V -Landroid/app/ActivityThread;->installProvider(Landroid/content/Context;Landroid/app/ContentProviderHolder;Landroid/content/pm/ProviderInfo;ZZZ)Landroid/app/ContentProviderHolder; -Landroid/app/ActivityThread;->installSystemProviders(Ljava/util/List;)V -Landroid/app/ActivityThread;->mActivities:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mAllApplications:Ljava/util/ArrayList; -Landroid/app/ActivityThread;->mAppThread:Landroid/app/ActivityThread$ApplicationThread; -Landroid/app/ActivityThread;->mBoundApplication:Landroid/app/ActivityThread$AppBindData; -Landroid/app/ActivityThread;->mConfiguration:Landroid/content/res/Configuration; -Landroid/app/ActivityThread;->mCurDefaultDisplayDpi:I -Landroid/app/ActivityThread;->mDensityCompatMode:Z -Landroid/app/ActivityThread;->mH:Landroid/app/ActivityThread$H; -Landroid/app/ActivityThread;->mInitialApplication:Landroid/app/Application; -Landroid/app/ActivityThread;->mInstrumentation:Landroid/app/Instrumentation; -Landroid/app/ActivityThread;->mInstrumentationAppDir:Ljava/lang/String; -Landroid/app/ActivityThread;->mInstrumentedAppDir:Ljava/lang/String; -Landroid/app/ActivityThread;->mLocalProviders:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mLocalProvidersByName:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mLooper:Landroid/os/Looper; -Landroid/app/ActivityThread;->mNumVisibleActivities:I -Landroid/app/ActivityThread;->mPackages:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mPendingConfiguration:Landroid/content/res/Configuration; -Landroid/app/ActivityThread;->mProviderMap:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mProviderRefCountMap:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mResourcePackages:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mResourcesManager:Landroid/app/ResourcesManager; -Landroid/app/ActivityThread;->mServices:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mSystemContext:Landroid/app/ContextImpl; -Landroid/app/ActivityThread;->peekPackageInfo(Ljava/lang/String;Z)Landroid/app/LoadedApk; -Landroid/app/ActivityThread;->performNewIntents(Landroid/os/IBinder;Ljava/util/List;Z)V -Landroid/app/ActivityThread;->performStopActivity(Landroid/os/IBinder;ZLjava/lang/String;)V -Landroid/app/ActivityThread;->registerOnActivityPausedListener(Landroid/app/Activity;Landroid/app/OnActivityPausedListener;)V -Landroid/app/ActivityThread;->releaseProvider(Landroid/content/IContentProvider;Z)Z -Landroid/app/ActivityThread;->scheduleGcIdler()V -Landroid/app/ActivityThread;->sCurrentActivityThread:Landroid/app/ActivityThread; -Landroid/app/ActivityThread;->sendActivityResult(Landroid/os/IBinder;Ljava/lang/String;IILandroid/content/Intent;)V -Landroid/app/ActivityThread;->sMainThreadHandler:Landroid/os/Handler; -Landroid/app/ActivityThread;->sPackageManager:Landroid/content/pm/IPackageManager; -Landroid/app/ActivityThread;->startActivityNow(Landroid/app/Activity;Ljava/lang/String;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/Activity$NonConfigurationInstances;)Landroid/app/Activity; -Landroid/app/ActivityThread;->systemMain()Landroid/app/ActivityThread; -Landroid/app/ActivityThread;->unregisterOnActivityPausedListener(Landroid/app/Activity;Landroid/app/OnActivityPausedListener;)V -Landroid/app/admin/DeviceAdminInfo$PolicyInfo;->tag:Ljava/lang/String; -Landroid/app/admin/DeviceAdminInfo;->getUsedPolicies()Ljava/util/ArrayList; -Landroid/app/admin/DevicePolicyManager;->ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED:Ljava/lang/String; -Landroid/app/admin/DevicePolicyManager;->getActiveAdminsAsUser(I)Ljava/util/List; -Landroid/app/admin/DevicePolicyManager;->getCameraDisabled(Landroid/content/ComponentName;I)Z -Landroid/app/admin/DevicePolicyManager;->getCurrentFailedPasswordAttempts(I)I -Landroid/app/admin/DevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getMandatoryBackupTransport()Landroid/content/ComponentName; -Landroid/app/admin/DevicePolicyManager;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getMaximumTimeToLock(Landroid/content/ComponentName;I)J -Landroid/app/admin/DevicePolicyManager;->getPasswordHistoryLength(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLength(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLetters(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLowerCase(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumNonLetter(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumNumeric(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumSymbols(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumUpperCase(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;I)I -Landroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(I)Landroid/content/ComponentName; -Landroid/app/admin/DevicePolicyManager;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;I)J -Landroid/app/admin/DevicePolicyManager;->getStorageEncryptionStatus(I)I -Landroid/app/admin/DevicePolicyManager;->getTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;I)Ljava/util/List; -Landroid/app/admin/DevicePolicyManager;->packageHasActiveAdmins(Ljava/lang/String;I)Z -Landroid/app/admin/DevicePolicyManager;->reportFailedPasswordAttempt(I)V -Landroid/app/admin/DevicePolicyManager;->reportSuccessfulPasswordAttempt(I)V -Landroid/app/admin/DevicePolicyManager;->setActiveAdmin(Landroid/content/ComponentName;Z)V -Landroid/app/admin/DevicePolicyManager;->setActiveAdmin(Landroid/content/ComponentName;ZI)V -Landroid/app/admin/DevicePolicyManager;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V -Landroid/app/admin/DevicePolicyManager;->setDefaultSmsApplication(Landroid/content/ComponentName;Ljava/lang/String;)V -Landroid/app/admin/DevicePolicyManager;->setGlobalProxy(Landroid/content/ComponentName;Ljava/net/Proxy;Ljava/util/List;)Landroid/content/ComponentName; -Landroid/app/admin/DevicePolicyManager;->throwIfParentInstance(Ljava/lang/String;)V Landroid/app/admin/IDevicePolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDevicePolicyManager; Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_packageHasActiveAdmins:I Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_removeActiveAdmin:I Landroid/app/admin/IDevicePolicyManager;->packageHasActiveAdmins(Ljava/lang/String;I)Z -Landroid/app/admin/SecurityLog$SecurityEvent;-><init>([B)V -Landroid/app/AlarmManager;->FLAG_ALLOW_WHILE_IDLE_UNRESTRICTED:I -Landroid/app/AlarmManager;->FLAG_IDLE_UNTIL:I -Landroid/app/AlarmManager;->FLAG_STANDALONE:I -Landroid/app/AlarmManager;->FLAG_WAKE_FROM_IDLE:I -Landroid/app/AlarmManager;->mService:Landroid/app/IAlarmManager; -Landroid/app/AlarmManager;->set(IJJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;Landroid/os/WorkSource;)V -Landroid/app/AlarmManager;->WINDOW_EXACT:J -Landroid/app/AlarmManager;->WINDOW_HEURISTIC:J -Landroid/app/AlertDialog$Builder;->P:Lcom/android/internal/app/AlertController$AlertParams; -Landroid/app/AlertDialog$Builder;->setRecycleOnMeasureEnabled(Z)Landroid/app/AlertDialog$Builder; -Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;IIII)Landroid/app/AlertDialog$Builder; -Landroid/app/AlertDialog;->mAlert:Lcom/android/internal/app/AlertController; -Landroid/app/AppGlobals;->getInitialApplication()Landroid/app/Application; -Landroid/app/AppGlobals;->getInitialPackage()Ljava/lang/String; -Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager; -Landroid/app/Application;->attach(Landroid/content/Context;)V -Landroid/app/Application;->collectActivityLifecycleCallbacks()[Ljava/lang/Object; -Landroid/app/Application;->dispatchActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -Landroid/app/Application;->dispatchActivityDestroyed(Landroid/app/Activity;)V -Landroid/app/Application;->dispatchActivityPaused(Landroid/app/Activity;)V -Landroid/app/Application;->dispatchActivityResumed(Landroid/app/Activity;)V -Landroid/app/Application;->dispatchActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V -Landroid/app/Application;->dispatchActivityStarted(Landroid/app/Activity;)V -Landroid/app/Application;->dispatchActivityStopped(Landroid/app/Activity;)V -Landroid/app/Application;->mActivityLifecycleCallbacks:Ljava/util/ArrayList; -Landroid/app/Application;->mAssistCallbacks:Ljava/util/ArrayList; -Landroid/app/Application;->mComponentCallbacks:Ljava/util/ArrayList; -Landroid/app/Application;->mLoadedApk:Landroid/app/LoadedApk; -Landroid/app/ApplicationLoaders;->getDefault()Landroid/app/ApplicationLoaders; -Landroid/app/ApplicationLoaders;->mLoaders:Landroid/util/ArrayMap; -Landroid/app/ApplicationPackageManager;-><init>(Landroid/app/ContextImpl;Landroid/content/pm/IPackageManager;)V -Landroid/app/ApplicationPackageManager;->configurationChanged()V -Landroid/app/ApplicationPackageManager;->deletePackage(Ljava/lang/String;Landroid/content/pm/IPackageDeleteObserver;I)V -Landroid/app/ApplicationPackageManager;->getPackageCurrentVolume(Landroid/content/pm/ApplicationInfo;)Landroid/os/storage/VolumeInfo; -Landroid/app/ApplicationPackageManager;->getPackageSizeInfoAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageStatsObserver;)V -Landroid/app/ApplicationPackageManager;->mPM:Landroid/content/pm/IPackageManager; -Landroid/app/ApplicationPackageManager;->shouldShowRequestPermissionRationale(Ljava/lang/String;)Z -Landroid/app/AppOpsManager$OpEntry;->getDuration()I -Landroid/app/AppOpsManager$OpEntry;->getLastAccessBackgroundTime()J -Landroid/app/AppOpsManager$OpEntry;->getLastAccessForegroundTime()J -Landroid/app/AppOpsManager$OpEntry;->getLastAccessTime()J -Landroid/app/AppOpsManager$OpEntry;->getLastRejectBackgroundTime()J -Landroid/app/AppOpsManager$OpEntry;->getLastRejectForegroundTime()J -Landroid/app/AppOpsManager$OpEntry;->getLastRejectTime()J -Landroid/app/AppOpsManager$OpEntry;->getMode()I -Landroid/app/AppOpsManager$OpEntry;->getRejectTime()J -Landroid/app/AppOpsManager$PackageOps;-><init>(Ljava/lang/String;ILjava/util/List;)V -Landroid/app/AppOpsManager$PackageOps;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/app/AppOpsManager;->checkOp(IILjava/lang/String;)I -Landroid/app/AppOpsManager;->checkOpNoThrow(IILjava/lang/String;)I -Landroid/app/AppOpsManager;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List; -Landroid/app/AppOpsManager;->MODE_FOREGROUND:I -Landroid/app/AppOpsManager;->mService:Lcom/android/internal/app/IAppOpsService; -Landroid/app/AppOpsManager;->noteOp(I)I -Landroid/app/AppOpsManager;->noteOp(IILjava/lang/String;)I -Landroid/app/AppOpsManager;->noteOpNoThrow(IILjava/lang/String;)I -Landroid/app/AppOpsManager;->noteProxyOp(ILjava/lang/String;)I -Landroid/app/AppOpsManager;->opToName(I)Ljava/lang/String; -Landroid/app/AppOpsManager;->opToPermission(I)Ljava/lang/String; -Landroid/app/AppOpsManager;->opToSwitch(I)I -Landroid/app/AppOpsManager;->OP_ACCEPT_HANDOVER:I -Landroid/app/AppOpsManager;->OP_ACCESS_NOTIFICATIONS:I -Landroid/app/AppOpsManager;->OP_ACTIVATE_VPN:I -Landroid/app/AppOpsManager;->OP_ADD_VOICEMAIL:I -Landroid/app/AppOpsManager;->OP_ANSWER_PHONE_CALLS:I -Landroid/app/AppOpsManager;->OP_ASSIST_SCREENSHOT:I -Landroid/app/AppOpsManager;->OP_ASSIST_STRUCTURE:I -Landroid/app/AppOpsManager;->OP_AUDIO_ACCESSIBILITY_VOLUME:I -Landroid/app/AppOpsManager;->OP_AUDIO_ALARM_VOLUME:I -Landroid/app/AppOpsManager;->OP_AUDIO_BLUETOOTH_VOLUME:I -Landroid/app/AppOpsManager;->OP_AUDIO_MASTER_VOLUME:I -Landroid/app/AppOpsManager;->OP_AUDIO_MEDIA_VOLUME:I -Landroid/app/AppOpsManager;->OP_AUDIO_NOTIFICATION_VOLUME:I -Landroid/app/AppOpsManager;->OP_AUDIO_RING_VOLUME:I -Landroid/app/AppOpsManager;->OP_AUDIO_VOICE_VOLUME:I -Landroid/app/AppOpsManager;->OP_BIND_ACCESSIBILITY_SERVICE:I -Landroid/app/AppOpsManager;->OP_BLUETOOTH_SCAN:I -Landroid/app/AppOpsManager;->OP_BODY_SENSORS:I -Landroid/app/AppOpsManager;->OP_CALL_PHONE:I -Landroid/app/AppOpsManager;->OP_CAMERA:I -Landroid/app/AppOpsManager;->OP_CHANGE_WIFI_STATE:I -Landroid/app/AppOpsManager;->OP_COARSE_LOCATION:I -Landroid/app/AppOpsManager;->OP_FINE_LOCATION:I -Landroid/app/AppOpsManager;->OP_GET_ACCOUNTS:I -Landroid/app/AppOpsManager;->OP_GET_USAGE_STATS:I -Landroid/app/AppOpsManager;->OP_GPS:I -Landroid/app/AppOpsManager;->OP_INSTANT_APP_START_FOREGROUND:I -Landroid/app/AppOpsManager;->OP_MANAGE_IPSEC_TUNNELS:I -Landroid/app/AppOpsManager;->OP_MOCK_LOCATION:I -Landroid/app/AppOpsManager;->OP_MONITOR_HIGH_POWER_LOCATION:I -Landroid/app/AppOpsManager;->OP_MONITOR_LOCATION:I -Landroid/app/AppOpsManager;->OP_MUTE_MICROPHONE:I -Landroid/app/AppOpsManager;->OP_NEIGHBORING_CELLS:I -Landroid/app/AppOpsManager;->OP_NONE:I -Landroid/app/AppOpsManager;->OP_PICTURE_IN_PICTURE:I -Landroid/app/AppOpsManager;->OP_PLAY_AUDIO:I -Landroid/app/AppOpsManager;->OP_POST_NOTIFICATION:I -Landroid/app/AppOpsManager;->OP_PROCESS_OUTGOING_CALLS:I -Landroid/app/AppOpsManager;->OP_PROJECT_MEDIA:I -Landroid/app/AppOpsManager;->OP_READ_CALENDAR:I -Landroid/app/AppOpsManager;->OP_READ_CALL_LOG:I -Landroid/app/AppOpsManager;->OP_READ_CELL_BROADCASTS:I -Landroid/app/AppOpsManager;->OP_READ_CLIPBOARD:I -Landroid/app/AppOpsManager;->OP_READ_CONTACTS:I -Landroid/app/AppOpsManager;->OP_READ_EXTERNAL_STORAGE:I -Landroid/app/AppOpsManager;->OP_READ_ICC_SMS:I -Landroid/app/AppOpsManager;->OP_READ_PHONE_NUMBERS:I -Landroid/app/AppOpsManager;->OP_READ_PHONE_STATE:I -Landroid/app/AppOpsManager;->OP_READ_SMS:I -Landroid/app/AppOpsManager;->OP_RECEIVE_EMERGECY_SMS:I -Landroid/app/AppOpsManager;->OP_RECEIVE_MMS:I -Landroid/app/AppOpsManager;->OP_RECEIVE_SMS:I -Landroid/app/AppOpsManager;->OP_RECEIVE_WAP_PUSH:I -Landroid/app/AppOpsManager;->OP_REQUEST_DELETE_PACKAGES:I -Landroid/app/AppOpsManager;->OP_REQUEST_INSTALL_PACKAGES:I -Landroid/app/AppOpsManager;->OP_RUN_ANY_IN_BACKGROUND:I -Landroid/app/AppOpsManager;->OP_RUN_IN_BACKGROUND:I -Landroid/app/AppOpsManager;->OP_SEND_SMS:I -Landroid/app/AppOpsManager;->OP_START_FOREGROUND:I -Landroid/app/AppOpsManager;->OP_TAKE_AUDIO_FOCUS:I -Landroid/app/AppOpsManager;->OP_TAKE_MEDIA_BUTTONS:I -Landroid/app/AppOpsManager;->OP_TOAST_WINDOW:I -Landroid/app/AppOpsManager;->OP_TURN_SCREEN_ON:I -Landroid/app/AppOpsManager;->OP_USE_FINGERPRINT:I -Landroid/app/AppOpsManager;->OP_USE_SIP:I -Landroid/app/AppOpsManager;->OP_VIBRATE:I -Landroid/app/AppOpsManager;->OP_WAKE_LOCK:I -Landroid/app/AppOpsManager;->OP_WIFI_SCAN:I -Landroid/app/AppOpsManager;->OP_WRITE_CALENDAR:I -Landroid/app/AppOpsManager;->OP_WRITE_CALL_LOG:I -Landroid/app/AppOpsManager;->OP_WRITE_CLIPBOARD:I -Landroid/app/AppOpsManager;->OP_WRITE_CONTACTS:I -Landroid/app/AppOpsManager;->OP_WRITE_EXTERNAL_STORAGE:I -Landroid/app/AppOpsManager;->OP_WRITE_ICC_SMS:I -Landroid/app/AppOpsManager;->OP_WRITE_SETTINGS:I -Landroid/app/AppOpsManager;->OP_WRITE_SMS:I -Landroid/app/AppOpsManager;->OP_WRITE_WALLPAPER:I -Landroid/app/AppOpsManager;->permissionToOpCode(Ljava/lang/String;)I -Landroid/app/AppOpsManager;->resetAllModes()V -Landroid/app/AppOpsManager;->setRestriction(III[Ljava/lang/String;)V -Landroid/app/AppOpsManager;->sOpPerms:[Ljava/lang/String; -Landroid/app/AppOpsManager;->startWatchingMode(Ljava/lang/String;Ljava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V -Landroid/app/AppOpsManager;->strOpToOp(Ljava/lang/String;)I -Landroid/app/AppOpsManager;->unsafeCheckOpRaw(Ljava/lang/String;ILjava/lang/String;)I -Landroid/app/AppOpsManager;->WATCH_FOREGROUND_CHANGES:I -Landroid/app/AppOpsManager;->_NUM_OP:I -Landroid/app/assist/AssistContent;-><init>(Landroid/os/Parcel;)V -Landroid/app/assist/AssistContent;->mClipData:Landroid/content/ClipData; -Landroid/app/assist/AssistContent;->mExtras:Landroid/os/Bundle; -Landroid/app/assist/AssistContent;->mIntent:Landroid/content/Intent; -Landroid/app/assist/AssistContent;->mIsAppProvidedIntent:Z -Landroid/app/assist/AssistContent;->mStructuredData:Ljava/lang/String; -Landroid/app/assist/AssistContent;->mUri:Landroid/net/Uri; -Landroid/app/assist/AssistContent;->writeToParcelInternal(Landroid/os/Parcel;I)V -Landroid/app/backup/BackupDataInput$EntityHeader;->dataSize:I -Landroid/app/backup/BackupDataInput$EntityHeader;->key:Ljava/lang/String; -Landroid/app/backup/BackupDataInputStream;->dataSize:I -Landroid/app/backup/BackupDataInputStream;->key:Ljava/lang/String; -Landroid/app/backup/BackupDataOutput;->mBackupWriter:J -Landroid/app/backup/BackupHelperDispatcher$Header;->chunkSize:I -Landroid/app/backup/BackupHelperDispatcher$Header;->keyPrefix:Ljava/lang/String; -Landroid/app/backup/BackupManager;->checkServiceBinder()V -Landroid/app/backup/BackupManager;->sService:Landroid/app/backup/IBackupManager; -Landroid/app/backup/FileBackupHelperBase;->writeNewStateDescription(Landroid/os/ParcelFileDescriptor;)V -Landroid/app/backup/FullBackup;->backupToTar(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/backup/FullBackupDataOutput;)I -Landroid/app/backup/FullBackupDataOutput;-><init>(Landroid/os/ParcelFileDescriptor;)V -Landroid/app/backup/FullBackupDataOutput;->addSize(J)V -Landroid/app/backup/FullBackupDataOutput;->getData()Landroid/app/backup/BackupDataOutput; -Landroid/app/backup/FullBackupDataOutput;->mData:Landroid/app/backup/BackupDataOutput; Landroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager; Landroid/app/backup/IBackupManager;->acknowledgeFullBackupOrRestore(IZLjava/lang/String;Ljava/lang/String;Landroid/app/backup/IFullBackupRestoreObserver;)V Landroid/app/backup/IBackupManager;->clearBackupData(Ljava/lang/String;Ljava/lang/String;)V @@ -474,85 +50,7 @@ Landroid/app/backup/IBackupManager;->setAutoRestore(Z)V Landroid/app/backup/IBackupManager;->setBackupEnabled(Z)V Landroid/app/backup/IFullBackupRestoreObserver$Stub;-><init>()V Landroid/app/backup/IRestoreObserver$Stub;-><init>()V -Landroid/app/ContentProviderHolder;-><init>(Landroid/content/pm/ProviderInfo;)V -Landroid/app/ContentProviderHolder;-><init>(Landroid/os/Parcel;)V -Landroid/app/ContentProviderHolder;->info:Landroid/content/pm/ProviderInfo; -Landroid/app/ContentProviderHolder;->noReleaseNeeded:Z -Landroid/app/ContentProviderHolder;->provider:Landroid/content/IContentProvider; -Landroid/app/ContextImpl$ApplicationContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider; -Landroid/app/ContextImpl$ApplicationContentResolver;->mMainThread:Landroid/app/ActivityThread; -Landroid/app/ContextImpl;->createActivityContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;ILandroid/content/res/Configuration;)Landroid/app/ContextImpl; -Landroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;)Landroid/app/ContextImpl; -Landroid/app/ContextImpl;->createSystemContext(Landroid/app/ActivityThread;)Landroid/app/ContextImpl; -Landroid/app/ContextImpl;->getActivityToken()Landroid/os/IBinder; -Landroid/app/ContextImpl;->getDisplay()Landroid/view/Display; -Landroid/app/ContextImpl;->getImpl(Landroid/content/Context;)Landroid/app/ContextImpl; -Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context; -Landroid/app/ContextImpl;->getPreferencesDir()Ljava/io/File; -Landroid/app/ContextImpl;->getReceiverRestrictedContext()Landroid/content/Context; -Landroid/app/ContextImpl;->mBasePackageName:Ljava/lang/String; -Landroid/app/ContextImpl;->mClassLoader:Ljava/lang/ClassLoader; -Landroid/app/ContextImpl;->mContentResolver:Landroid/app/ContextImpl$ApplicationContentResolver; -Landroid/app/ContextImpl;->mFlags:I -Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread; -Landroid/app/ContextImpl;->mOpPackageName:Ljava/lang/String; -Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context; -Landroid/app/ContextImpl;->mPackageInfo:Landroid/app/LoadedApk; -Landroid/app/ContextImpl;->mPackageManager:Landroid/content/pm/PackageManager; -Landroid/app/ContextImpl;->mPreferencesDir:Ljava/io/File; -Landroid/app/ContextImpl;->mResources:Landroid/content/res/Resources; -Landroid/app/ContextImpl;->mServiceCache:[Ljava/lang/Object; -Landroid/app/ContextImpl;->mSharedPrefsPaths:Landroid/util/ArrayMap; -Landroid/app/ContextImpl;->mTheme:Landroid/content/res/Resources$Theme; -Landroid/app/ContextImpl;->mThemeResource:I -Landroid/app/ContextImpl;->scheduleFinalCleanup(Ljava/lang/String;Ljava/lang/String;)V -Landroid/app/ContextImpl;->setOuterContext(Landroid/content/Context;)V -Landroid/app/ContextImpl;->sSharedPrefsCache:Landroid/util/ArrayMap; -Landroid/app/DatePickerDialog;->mDatePicker:Landroid/widget/DatePicker; -Landroid/app/Dialog;->CANCEL:I -Landroid/app/Dialog;->dismissDialog()V -Landroid/app/Dialog;->mCancelMessage:Landroid/os/Message; -Landroid/app/Dialog;->mContext:Landroid/content/Context; -Landroid/app/Dialog;->mDismissMessage:Landroid/os/Message; -Landroid/app/Dialog;->mHandler:Landroid/os/Handler; -Landroid/app/Dialog;->mListenersHandler:Landroid/os/Handler; -Landroid/app/Dialog;->mOnKeyListener:Landroid/content/DialogInterface$OnKeyListener; -Landroid/app/Dialog;->mOwnerActivity:Landroid/app/Activity; -Landroid/app/Dialog;->mShowing:Z -Landroid/app/Dialog;->mShowMessage:Landroid/os/Message; -Landroid/app/Dialog;->mWindow:Landroid/view/Window; -Landroid/app/DialogFragment;->mBackStackId:I -Landroid/app/DialogFragment;->mDismissed:Z -Landroid/app/DialogFragment;->mShownByMe:Z -Landroid/app/DialogFragment;->mViewDestroyed:Z -Landroid/app/DialogFragment;->showAllowingStateLoss(Landroid/app/FragmentManager;Ljava/lang/String;)V -Landroid/app/DownloadManager$Query;->orderBy(Ljava/lang/String;I)Landroid/app/DownloadManager$Query; -Landroid/app/DownloadManager$Query;->setOnlyIncludeVisibleInDownloadsUi(Z)Landroid/app/DownloadManager$Query; -Landroid/app/DownloadManager$Request;->mUri:Landroid/net/Uri; -Landroid/app/DownloadManager;->getWhereArgsForIds([J)[Ljava/lang/String; -Landroid/app/DownloadManager;->getWhereClauseForIds([J)Ljava/lang/String; Landroid/app/DownloadManager;->restartDownload([J)V -Landroid/app/DownloadManager;->setAccessAllDownloads(Z)V -Landroid/app/DownloadManager;->setAccessFilename(Z)V -Landroid/app/DownloadManager;->UNDERLYING_COLUMNS:[Ljava/lang/String; -Landroid/app/Fragment;->mAdded:Z -Landroid/app/Fragment;->mChildFragmentManager:Landroid/app/FragmentManagerImpl; -Landroid/app/Fragment;->mFragmentId:I -Landroid/app/Fragment;->mFragmentManager:Landroid/app/FragmentManagerImpl; -Landroid/app/Fragment;->mHost:Landroid/app/FragmentHostCallback; -Landroid/app/Fragment;->mIndex:I -Landroid/app/Fragment;->mLoadersStarted:Z -Landroid/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle; -Landroid/app/Fragment;->mView:Landroid/view/View; -Landroid/app/Fragment;->mWho:Ljava/lang/String; -Landroid/app/Fragment;->sClassMap:Landroid/util/ArrayMap; -Landroid/app/FragmentController;->mHost:Landroid/app/FragmentHostCallback; -Landroid/app/FragmentHostCallback;->mLoadersStarted:Z -Landroid/app/FragmentManagerImpl;->loadAnimator(Landroid/app/Fragment;IZI)Landroid/animation/Animator; -Landroid/app/FragmentManagerImpl;->mActive:Landroid/util/SparseArray; -Landroid/app/FragmentManagerImpl;->mAdded:Ljava/util/ArrayList; -Landroid/app/FragmentManagerImpl;->mStateSaved:Z -Landroid/app/FragmentManagerImpl;->noteStateNotSaved()V Landroid/app/IActivityController;->activityResuming(Ljava/lang/String;)Z Landroid/app/IActivityController;->activityStarting(Landroid/content/Intent;Ljava/lang/String;)Z Landroid/app/IActivityController;->appNotResponding(Ljava/lang/String;ILjava/lang/String;)I @@ -684,17 +182,6 @@ Landroid/app/INotificationManager;->getActiveNotifications(Ljava/lang/String;)[L Landroid/app/INotificationManager;->getHistoricalNotifications(Ljava/lang/String;I)[Landroid/service/notification/StatusBarNotification; Landroid/app/INotificationManager;->getZenMode()I Landroid/app/INotificationManager;->getZenModeConfig()Landroid/service/notification/ZenModeConfig; -Landroid/app/Instrumentation;->callActivityOnNewIntent(Landroid/app/Activity;Lcom/android/internal/content/ReferrerIntent;)V -Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V -Landroid/app/Instrumentation;->execStartActivities(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;)V -Landroid/app/Instrumentation;->execStartActivitiesAsUser(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;I)I -Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult; -Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult; -Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/Instrumentation$ActivityResult; -Landroid/app/Instrumentation;->execStartActivityAsCaller(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;ZI)Landroid/app/Instrumentation$ActivityResult; -Landroid/app/Instrumentation;->execStartActivityFromAppTask(Landroid/content/Context;Landroid/os/IBinder;Landroid/app/IAppTask;Landroid/content/Intent;Landroid/os/Bundle;)V -Landroid/app/IntentReceiverLeaked;-><init>(Ljava/lang/String;)V -Landroid/app/IntentService;->mServiceHandler:Landroid/app/IntentService$ServiceHandler; Landroid/app/IProcessObserver$Stub;-><init>()V Landroid/app/ISearchManager$Stub$Proxy;->getGlobalSearchActivity()Landroid/content/ComponentName; Landroid/app/ISearchManager$Stub$Proxy;->getWebSearchActivity()Landroid/content/ComponentName; @@ -744,158 +231,10 @@ Landroid/app/job/IJobService$Stub;-><init>()V Landroid/app/job/IJobService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobService; Landroid/app/job/IJobService;->startJob(Landroid/app/job/JobParameters;)V Landroid/app/job/IJobService;->stopJob(Landroid/app/job/JobParameters;)V -Landroid/app/job/JobInfo$Builder;->setFlags(I)Landroid/app/job/JobInfo$Builder; -Landroid/app/job/JobInfo$Builder;->setPriority(I)Landroid/app/job/JobInfo$Builder; -Landroid/app/job/JobInfo;->flags:I -Landroid/app/job/JobInfo;->FLAG_WILL_BE_FOREGROUND:I -Landroid/app/job/JobInfo;->jobId:I -Landroid/app/job/JobInfo;->PRIORITY_FOREGROUND_APP:I -Landroid/app/job/JobInfo;->service:Landroid/content/ComponentName; -Landroid/app/job/JobParameters;->callback:Landroid/os/IBinder; -Landroid/app/job/JobParameters;->getCallback()Landroid/app/job/IJobCallback; -Landroid/app/job/JobParameters;->jobId:I -Landroid/app/job/JobWorkItem;-><init>(Landroid/os/Parcel;)V -Landroid/app/job/JobWorkItem;->mDeliveryCount:I -Landroid/app/job/JobWorkItem;->mGrants:Ljava/lang/Object; -Landroid/app/job/JobWorkItem;->mIntent:Landroid/content/Intent; -Landroid/app/job/JobWorkItem;->mWorkId:I -Landroid/app/KeyguardManager;->isDeviceSecure(I)Z -Landroid/app/LoadedApk$ReceiverDispatcher;->getIIntentReceiver()Landroid/content/IIntentReceiver; -Landroid/app/LoadedApk$ReceiverDispatcher;->getIntentReceiver()Landroid/content/BroadcastReceiver; -Landroid/app/LoadedApk$ReceiverDispatcher;->mContext:Landroid/content/Context; -Landroid/app/LoadedApk$ReceiverDispatcher;->mReceiver:Landroid/content/BroadcastReceiver; -Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;->mDispatcher:Ljava/lang/ref/WeakReference; -Landroid/app/LoadedApk$ServiceDispatcher;-><init>(Landroid/content/ServiceConnection;Landroid/content/Context;Landroid/os/Handler;I)V -Landroid/app/LoadedApk$ServiceDispatcher;->getIServiceConnection()Landroid/app/IServiceConnection; -Landroid/app/LoadedApk$ServiceDispatcher;->mConnection:Landroid/content/ServiceConnection; -Landroid/app/LoadedApk$ServiceDispatcher;->mContext:Landroid/content/Context; -Landroid/app/LoadedApk;->getAppDir()Ljava/lang/String; -Landroid/app/LoadedApk;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; -Landroid/app/LoadedApk;->getAssets()Landroid/content/res/AssetManager; -Landroid/app/LoadedApk;->getClassLoader()Ljava/lang/ClassLoader; -Landroid/app/LoadedApk;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; -Landroid/app/LoadedApk;->getDataDirFile()Ljava/io/File; -Landroid/app/LoadedApk;->getOverlayDirs()[Ljava/lang/String; -Landroid/app/LoadedApk;->getPackageName()Ljava/lang/String; -Landroid/app/LoadedApk;->getResDir()Ljava/lang/String; -Landroid/app/LoadedApk;->getResources()Landroid/content/res/Resources; -Landroid/app/LoadedApk;->getServiceDispatcher(Landroid/content/ServiceConnection;Landroid/content/Context;Landroid/os/Handler;I)Landroid/app/IServiceConnection; -Landroid/app/LoadedApk;->getSplitResDirs()[Ljava/lang/String; -Landroid/app/LoadedApk;->mActivityThread:Landroid/app/ActivityThread; -Landroid/app/LoadedApk;->makeApplication(ZLandroid/app/Instrumentation;)Landroid/app/Application; -Landroid/app/LoadedApk;->mAppDir:Ljava/lang/String; -Landroid/app/LoadedApk;->mApplication:Landroid/app/Application; -Landroid/app/LoadedApk;->mApplicationInfo:Landroid/content/pm/ApplicationInfo; -Landroid/app/LoadedApk;->mBaseClassLoader:Ljava/lang/ClassLoader; -Landroid/app/LoadedApk;->mClassLoader:Ljava/lang/ClassLoader; -Landroid/app/LoadedApk;->mDataDir:Ljava/lang/String; -Landroid/app/LoadedApk;->mDataDirFile:Ljava/io/File; -Landroid/app/LoadedApk;->mDisplayAdjustments:Landroid/view/DisplayAdjustments; -Landroid/app/LoadedApk;->mLibDir:Ljava/lang/String; -Landroid/app/LoadedApk;->mPackageName:Ljava/lang/String; -Landroid/app/LoadedApk;->mReceivers:Landroid/util/ArrayMap; -Landroid/app/LoadedApk;->mResDir:Ljava/lang/String; -Landroid/app/LoadedApk;->mResources:Landroid/content/res/Resources; -Landroid/app/LoadedApk;->mServices:Landroid/util/ArrayMap; -Landroid/app/LoadedApk;->mSplitResDirs:[Ljava/lang/String; -Landroid/app/LoadedApk;->rewriteRValues(Ljava/lang/ClassLoader;Ljava/lang/String;I)V -Landroid/app/LocalActivityManager;->mActivities:Ljava/util/Map; -Landroid/app/LocalActivityManager;->mActivityArray:Ljava/util/ArrayList; -Landroid/app/LocalActivityManager;->moveToState(Landroid/app/LocalActivityManager$LocalActivityRecord;I)V -Landroid/app/LocalActivityManager;->mParent:Landroid/app/Activity; -Landroid/app/LocalActivityManager;->mResumed:Landroid/app/LocalActivityManager$LocalActivityRecord; -Landroid/app/LocalActivityManager;->mSingleMode:Z -Landroid/app/NativeActivity;->hideIme(I)V -Landroid/app/NativeActivity;->loadNativeCode(Ljava/lang/String;Ljava/lang/String;Landroid/os/MessageQueue;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/content/res/AssetManager;[BLjava/lang/ClassLoader;Ljava/lang/String;)J -Landroid/app/NativeActivity;->mNativeHandle:J -Landroid/app/NativeActivity;->setWindowFlags(II)V -Landroid/app/NativeActivity;->setWindowFormat(I)V -Landroid/app/NativeActivity;->showIme(I)V -Landroid/app/Notification$Action;->mIcon:Landroid/graphics/drawable/Icon; -Landroid/app/Notification$Builder;->getBaseLayoutResource()I -Landroid/app/Notification$Builder;->loadHeaderAppName()Ljava/lang/String; -Landroid/app/Notification$Builder;->mActions:Ljava/util/ArrayList; -Landroid/app/Notification$Builder;->makePublicContentView()Landroid/widget/RemoteViews; -Landroid/app/Notification$MediaStyle;->buildStyled(Landroid/app/Notification;)Landroid/app/Notification; -Landroid/app/Notification;-><init>(Landroid/content/Context;ILjava/lang/CharSequence;JLjava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/content/Intent;)V -Landroid/app/Notification;->allPendingIntents:Landroid/util/ArraySet; -Landroid/app/Notification;->isGroupChild()Z -Landroid/app/Notification;->isGroupSummary()Z -Landroid/app/Notification;->mChannelId:Ljava/lang/String; -Landroid/app/Notification;->mGroupKey:Ljava/lang/String; -Landroid/app/Notification;->mLargeIcon:Landroid/graphics/drawable/Icon; -Landroid/app/Notification;->mSmallIcon:Landroid/graphics/drawable/Icon; -Landroid/app/Notification;->setSmallIcon(Landroid/graphics/drawable/Icon;)V -Landroid/app/NotificationChannel;->mId:Ljava/lang/String; -Landroid/app/NotificationChannel;->setBlockableSystem(Z)V -Landroid/app/NotificationChannelGroup;->mId:Ljava/lang/String; -Landroid/app/NotificationManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V -Landroid/app/NotificationManager;->from(Landroid/content/Context;)Landroid/app/NotificationManager; -Landroid/app/NotificationManager;->getService()Landroid/app/INotificationManager; -Landroid/app/NotificationManager;->getZenModeConfig()Landroid/service/notification/ZenModeConfig; -Landroid/app/NotificationManager;->notifyAsUser(Ljava/lang/String;ILandroid/app/Notification;Landroid/os/UserHandle;)V -Landroid/app/NotificationManager;->setZenMode(ILandroid/net/Uri;Ljava/lang/String;)V -Landroid/app/NotificationManager;->sService:Landroid/app/INotificationManager; Landroid/app/PackageDeleteObserver;-><init>()V Landroid/app/PackageInstallObserver;-><init>()V -Landroid/app/PackageInstallObserver;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V -Landroid/app/PendingIntent;->getActivityAsUser(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent; -Landroid/app/PendingIntent;->getBroadcastAsUser(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/UserHandle;)Landroid/app/PendingIntent; -Landroid/app/PendingIntent;->getIntent()Landroid/content/Intent; -Landroid/app/PendingIntent;->getTag(Ljava/lang/String;)Ljava/lang/String; -Landroid/app/PendingIntent;->isActivity()Z -Landroid/app/PendingIntent;->setOnMarshaledListener(Landroid/app/PendingIntent$OnMarshaledListener;)V -Landroid/app/PictureInPictureArgs;-><init>()V -Landroid/app/PictureInPictureArgs;->setActions(Ljava/util/List;)V -Landroid/app/PictureInPictureArgs;->setAspectRatio(F)V -Landroid/app/PictureInPictureParams;->getActions()Ljava/util/List; -Landroid/app/PictureInPictureParams;->getAspectRatio()F -Landroid/app/PictureInPictureParams;->getSourceRectHint()Landroid/graphics/Rect; -Landroid/app/Presentation;->createPresentationContext(Landroid/content/Context;Landroid/view/Display;I)Landroid/content/Context; -Landroid/app/ProgressDialog;->mMessageView:Landroid/widget/TextView; -Landroid/app/ProgressDialog;->mProgress:Landroid/widget/ProgressBar; -Landroid/app/ProgressDialog;->mProgressNumber:Landroid/widget/TextView; -Landroid/app/QueuedWork;->addFinisher(Ljava/lang/Runnable;)V -Landroid/app/QueuedWork;->getHandler()Landroid/os/Handler; -Landroid/app/QueuedWork;->queue(Ljava/lang/Runnable;Z)V -Landroid/app/QueuedWork;->removeFinisher(Ljava/lang/Runnable;)V -Landroid/app/QueuedWork;->sFinishers:Ljava/util/LinkedList; Landroid/app/ResourcesManager$ActivityResources;-><init>()V Landroid/app/ResourcesManager;-><init>()V -Landroid/app/ResourcesManager;->appendLibAssetForMainAssetPath(Ljava/lang/String;Ljava/lang/String;)V -Landroid/app/ResourcesManager;->createAssetManager(Landroid/content/res/ResourcesKey;)Landroid/content/res/AssetManager; -Landroid/app/ResourcesManager;->getInstance()Landroid/app/ResourcesManager; -Landroid/app/ResourcesManager;->mActivityResourceReferences:Ljava/util/WeakHashMap; -Landroid/app/ResourcesManager;->mResConfiguration:Landroid/content/res/Configuration; -Landroid/app/ResourcesManager;->mResourceImpls:Landroid/util/ArrayMap; -Landroid/app/ResourcesManager;->mResourceReferences:Ljava/util/ArrayList; -Landroid/app/ResultInfo;-><init>(Ljava/lang/String;IILandroid/content/Intent;)V -Landroid/app/ResultInfo;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/app/ResultInfo;->mData:Landroid/content/Intent; -Landroid/app/ResultInfo;->mRequestCode:I -Landroid/app/ResultInfo;->mResultWho:Ljava/lang/String; -Landroid/app/SearchableInfo$ActionKeyInfo;->getQueryActionMsg()Ljava/lang/String; -Landroid/app/SearchableInfo$ActionKeyInfo;->getSuggestActionMsg()Ljava/lang/String; -Landroid/app/SearchableInfo$ActionKeyInfo;->getSuggestActionMsgColumn()Ljava/lang/String; -Landroid/app/SearchableInfo;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;Landroid/content/ComponentName;)V -Landroid/app/SearchableInfo;->findActionKey(I)Landroid/app/SearchableInfo$ActionKeyInfo; -Landroid/app/SearchableInfo;->getActivityContext(Landroid/content/Context;)Landroid/content/Context; -Landroid/app/SearchableInfo;->getIconId()I -Landroid/app/SearchableInfo;->getLabelId()I -Landroid/app/SearchableInfo;->getProviderContext(Landroid/content/Context;Landroid/content/Context;)Landroid/content/Context; -Landroid/app/SearchDialog;->isLandscapeMode(Landroid/content/Context;)Z -Landroid/app/SearchDialog;->launchQuerySearch()V -Landroid/app/SearchDialog;->launchQuerySearch(ILjava/lang/String;)V -Landroid/app/SearchDialog;->setWorking(Z)V -Landroid/app/SearchManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V -Landroid/app/SearchManager;->DISABLE_VOICE_SEARCH:Ljava/lang/String; -Landroid/app/SearchManager;->getSuggestions(Landroid/app/SearchableInfo;Ljava/lang/String;)Landroid/database/Cursor; -Landroid/app/SearchManager;->getSuggestions(Landroid/app/SearchableInfo;Ljava/lang/String;I)Landroid/database/Cursor; -Landroid/app/SearchManager;->getWebSearchActivity()Landroid/content/ComponentName; -Landroid/app/SearchManager;->isVisible()Z -Landroid/app/SearchManager;->launchAssist(Landroid/os/Bundle;)V -Landroid/app/SearchManager;->mSearchDialog:Landroid/app/SearchDialog; -Landroid/app/SearchManager;->startSearch(Ljava/lang/String;ZLandroid/content/ComponentName;Landroid/os/Bundle;ZLandroid/graphics/Rect;)V Landroid/app/servertransaction/ActivityResultItem;->mResultInfoList:Ljava/util/List; Landroid/app/servertransaction/ClientTransaction;->getActivityToken()Landroid/os/IBinder; Landroid/app/servertransaction/ClientTransaction;->getCallbacks()Ljava/util/List; @@ -904,98 +243,15 @@ Landroid/app/servertransaction/ClientTransaction;->mActivityCallbacks:Ljava/util Landroid/app/servertransaction/LaunchActivityItem;->mInfo:Landroid/content/pm/ActivityInfo; Landroid/app/servertransaction/LaunchActivityItem;->mIntent:Landroid/content/Intent; Landroid/app/servertransaction/NewIntentItem;->mIntents:Ljava/util/List; -Landroid/app/Service;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Ljava/lang/String;Landroid/os/IBinder;Landroid/app/Application;Ljava/lang/Object;)V -Landroid/app/Service;->mActivityManager:Landroid/app/IActivityManager; -Landroid/app/Service;->mApplication:Landroid/app/Application; -Landroid/app/Service;->mClassName:Ljava/lang/String; -Landroid/app/Service;->mStartCompatibility:Z -Landroid/app/Service;->mThread:Landroid/app/ActivityThread; -Landroid/app/Service;->mToken:Landroid/os/IBinder; -Landroid/app/Service;->setForeground(Z)V -Landroid/app/ServiceConnectionLeaked;-><init>(Ljava/lang/String;)V -Landroid/app/SharedPreferencesImpl;-><init>(Ljava/io/File;I)V -Landroid/app/SharedPreferencesImpl;->mFile:Ljava/io/File; -Landroid/app/SharedPreferencesImpl;->startLoadFromDisk()V -Landroid/app/SharedPreferencesImpl;->startReloadIfChangedUnexpectedly()V -Landroid/app/StatusBarManager;-><init>(Landroid/content/Context;)V -Landroid/app/StatusBarManager;->collapsePanels()V -Landroid/app/StatusBarManager;->disable(I)V -Landroid/app/StatusBarManager;->DISABLE_EXPAND:I -Landroid/app/StatusBarManager;->DISABLE_NONE:I -Landroid/app/StatusBarManager;->DISABLE_NOTIFICATION_TICKER:I -Landroid/app/StatusBarManager;->expandNotificationsPanel()V -Landroid/app/StatusBarManager;->expandSettingsPanel()V -Landroid/app/StatusBarManager;->expandSettingsPanel(Ljava/lang/String;)V -Landroid/app/StatusBarManager;->getService()Lcom/android/internal/statusbar/IStatusBarService; -Landroid/app/StatusBarManager;->mContext:Landroid/content/Context; -Landroid/app/StatusBarManager;->mToken:Landroid/os/IBinder; -Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V Landroid/app/TaskStackListener;-><init>()V -Landroid/app/TimePickerDialog;->mTimePicker:Landroid/widget/TimePicker; Landroid/app/trust/ITrustManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/app/trust/TrustManager;->reportUnlockAttempt(ZI)V -Landroid/app/UiAutomation;-><init>(Landroid/os/Looper;Landroid/app/IUiAutomationConnection;)V -Landroid/app/UiAutomation;->connect()V -Landroid/app/UiAutomation;->disconnect()V Landroid/app/UiAutomationConnection;-><init>()V -Landroid/app/UiModeManager;-><init>()V -Landroid/app/usage/ConfigurationStats;->mActivationCount:I -Landroid/app/usage/ConfigurationStats;->mBeginTimeStamp:J -Landroid/app/usage/ConfigurationStats;->mConfiguration:Landroid/content/res/Configuration; -Landroid/app/usage/ConfigurationStats;->mEndTimeStamp:J -Landroid/app/usage/ConfigurationStats;->mLastTimeActive:J -Landroid/app/usage/ConfigurationStats;->mTotalTimeActive:J Landroid/app/usage/IUsageStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/IUsageStatsManager; Landroid/app/usage/IUsageStatsManager;->isAppInactive(Ljava/lang/String;I)Z Landroid/app/usage/IUsageStatsManager;->queryConfigurationStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice; Landroid/app/usage/IUsageStatsManager;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice; Landroid/app/usage/IUsageStatsManager;->setAppInactive(Ljava/lang/String;ZI)V -Landroid/app/usage/NetworkStatsManager;-><init>(Landroid/content/Context;)V -Landroid/app/usage/UsageEvents$Event;->mClass:Ljava/lang/String; -Landroid/app/usage/UsageEvents$Event;->mConfiguration:Landroid/content/res/Configuration; -Landroid/app/usage/UsageEvents$Event;->mEventType:I -Landroid/app/usage/UsageEvents$Event;->mPackage:Ljava/lang/String; -Landroid/app/usage/UsageEvents$Event;->mTimeStamp:J -Landroid/app/usage/UsageEvents;-><init>(Landroid/os/Parcel;)V -Landroid/app/usage/UsageEvents;->findStringIndex(Ljava/lang/String;)I -Landroid/app/usage/UsageEvents;->mEventCount:I -Landroid/app/usage/UsageEvents;->mEventsToWrite:Ljava/util/List; -Landroid/app/usage/UsageEvents;->mIndex:I -Landroid/app/usage/UsageEvents;->mParcel:Landroid/os/Parcel; -Landroid/app/usage/UsageEvents;->mStringPool:[Ljava/lang/String; -Landroid/app/usage/UsageEvents;->readEventFromParcel(Landroid/os/Parcel;Landroid/app/usage/UsageEvents$Event;)V -Landroid/app/usage/UsageEvents;->writeEventToParcel(Landroid/app/usage/UsageEvents$Event;Landroid/os/Parcel;I)V -Landroid/app/usage/UsageStats;->mBeginTimeStamp:J -Landroid/app/usage/UsageStats;->mEndTimeStamp:J -Landroid/app/usage/UsageStats;->mLastEvent:I -Landroid/app/usage/UsageStats;->mLastTimeUsed:J -Landroid/app/usage/UsageStats;->mLaunchCount:I -Landroid/app/usage/UsageStats;->mPackageName:Ljava/lang/String; -Landroid/app/usage/UsageStats;->mTotalTimeInForeground:J -Landroid/app/usage/UsageStatsManager;->mContext:Landroid/content/Context; -Landroid/app/usage/UsageStatsManager;->mService:Landroid/app/usage/IUsageStatsManager; -Landroid/app/usage/UsageStatsManager;->sEmptyResults:Landroid/app/usage/UsageEvents; Landroid/app/UserSwitchObserver;-><init>()V -Landroid/app/Vr2dDisplayProperties$Builder;-><init>()V -Landroid/app/Vr2dDisplayProperties$Builder;->build()Landroid/app/Vr2dDisplayProperties; -Landroid/app/Vr2dDisplayProperties$Builder;->setEnabled(Z)Landroid/app/Vr2dDisplayProperties$Builder; -Landroid/app/Vr2dDisplayProperties;-><init>(III)V -Landroid/app/VrManager;->getPersistentVrModeEnabled()Z -Landroid/app/VrManager;->mService:Landroid/service/vr/IVrManager; -Landroid/app/VrManager;->registerVrStateCallback(Landroid/app/VrStateCallback;Landroid/os/Handler;)V -Landroid/app/VrManager;->setVr2dDisplayProperties(Landroid/app/Vr2dDisplayProperties;)V -Landroid/app/VrManager;->unregisterVrStateCallback(Landroid/app/VrStateCallback;)V -Landroid/app/WallpaperColors;->getColorHints()I -Landroid/app/WallpaperManager;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;I)V -Landroid/app/WallpaperManager;->getBitmap()Landroid/graphics/Bitmap; -Landroid/app/WallpaperManager;->getBitmap(Z)Landroid/graphics/Bitmap; -Landroid/app/WallpaperManager;->getIWallpaperManager()Landroid/app/IWallpaperManager; -Landroid/app/WallpaperManager;->getWallpaperColors(II)Landroid/app/WallpaperColors; -Landroid/app/WallpaperManager;->getWallpaperFile(II)Landroid/os/ParcelFileDescriptor; -Landroid/app/WallpaperManager;->openDefaultWallpaper(Landroid/content/Context;I)Ljava/io/InputStream; -Landroid/app/WallpaperManager;->setBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;ZII)I -Landroid/app/WallpaperManager;->setWallpaperComponent(Landroid/content/ComponentName;I)Z -Landroid/app/WallpaperManager;->sGlobals:Landroid/app/WallpaperManager$Globals; Landroid/bluetooth/IBluetooth$Stub$Proxy;->getAddress()Ljava/lang/String; Landroid/bluetooth/IBluetooth$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I Landroid/bluetooth/IBluetooth$Stub;-><init>()V @@ -1770,56 +1026,9 @@ Landroid/content/UndoOperation;-><init>(Landroid/content/UndoOwner;)V Landroid/content/UndoOperation;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V Landroid/content/UriMatcher;->mChildren:Ljava/util/ArrayList; Landroid/content/UriMatcher;->mText:Ljava/lang/String; -Landroid/database/AbstractCursor;->mExtras:Landroid/os/Bundle; -Landroid/database/AbstractCursor;->mNotifyUri:Landroid/net/Uri; -Landroid/database/AbstractWindowedCursor;->clearOrCreateWindow(Ljava/lang/String;)V -Landroid/database/AbstractWindowedCursor;->closeWindow()V -Landroid/database/AbstractWindowedCursor;->onDeactivateOrClose()V -Landroid/database/ContentObserver;->releaseContentObserver()Landroid/database/IContentObserver; -Landroid/database/CursorWindow;->mWindowPtr:J -Landroid/database/CursorWindow;->printStats()Ljava/lang/String; -Landroid/database/CursorWindow;->sCursorWindowSize:I -Landroid/database/CursorWindow;->sWindowToPidMap:Landroid/util/LongSparseArray; -Landroid/database/CursorWrapper;->mCursor:Landroid/database/Cursor; -Landroid/database/DatabaseUtils;->cursorPickFillWindowStartPosition(II)I -Landroid/database/DatabaseUtils;->getTypeOfObject(Ljava/lang/Object;)I Landroid/database/IContentObserver$Stub;-><init>()V Landroid/database/IContentObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/database/IContentObserver; Landroid/database/IContentObserver;->onChange(ZLandroid/net/Uri;I)V -Landroid/database/MatrixCursor;->data:[Ljava/lang/Object; -Landroid/database/MatrixCursor;->get(I)Ljava/lang/Object; -Landroid/database/MatrixCursor;->rowCount:I -Landroid/database/sqlite/DatabaseObjectNotClosedException;-><init>()V -Landroid/database/sqlite/SQLiteClosable;->mReferenceCount:I -Landroid/database/sqlite/SQLiteCursor;->fillWindow(I)V -Landroid/database/sqlite/SQLiteCursor;->mEditTable:Ljava/lang/String; -Landroid/database/sqlite/SQLiteCursor;->mQuery:Landroid/database/sqlite/SQLiteQuery; -Landroid/database/sqlite/SQLiteCustomFunction;->dispatchCallback([Ljava/lang/String;)V -Landroid/database/sqlite/SQLiteCustomFunction;->name:Ljava/lang/String; -Landroid/database/sqlite/SQLiteCustomFunction;->numArgs:I -Landroid/database/sqlite/SQLiteDatabase;->beginTransaction(Landroid/database/sqlite/SQLiteTransactionListener;Z)V -Landroid/database/sqlite/SQLiteDatabase;->collectDbStats(Ljava/util/ArrayList;)V -Landroid/database/sqlite/SQLiteDatabase;->CONFLICT_VALUES:[Ljava/lang/String; -Landroid/database/sqlite/SQLiteDatabase;->getActiveDatabases()Ljava/util/ArrayList; -Landroid/database/sqlite/SQLiteDatabase;->getThreadSession()Landroid/database/sqlite/SQLiteSession; -Landroid/database/sqlite/SQLiteDatabase;->mConfigurationLocked:Landroid/database/sqlite/SQLiteDatabaseConfiguration; -Landroid/database/sqlite/SQLiteDatabase;->mConnectionPoolLocked:Landroid/database/sqlite/SQLiteConnectionPool; -Landroid/database/sqlite/SQLiteDatabase;->mThreadSession:Ljava/lang/ThreadLocal; -Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase; -Landroid/database/sqlite/SQLiteDatabase;->reopenReadWrite()V -Landroid/database/sqlite/SQLiteDatabaseConfiguration;->maxSqlCacheSize:I -Landroid/database/sqlite/SQLiteOpenHelper;->mName:Ljava/lang/String; -Landroid/database/sqlite/SQLiteProgram;->mBindArgs:[Ljava/lang/Object; -Landroid/database/sqlite/SQLiteProgram;->mSql:Ljava/lang/String; -Landroid/database/sqlite/SQLiteQueryBuilder;->computeProjection([Ljava/lang/String;)[Ljava/lang/String; -Landroid/database/sqlite/SQLiteQueryBuilder;->mDistinct:Z -Landroid/database/sqlite/SQLiteQueryBuilder;->mTables:Ljava/lang/String; -Landroid/database/sqlite/SQLiteQueryBuilder;->mWhereClause:Ljava/lang/StringBuilder; -Landroid/database/sqlite/SQLiteSession;->beginTransaction(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V -Landroid/database/sqlite/SQLiteStatement;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;)V -Landroid/database/sqlite/SqliteWrapper;->checkSQLiteException(Landroid/content/Context;Landroid/database/sqlite/SQLiteException;)V -Landroid/database/sqlite/SqliteWrapper;->delete(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I -Landroid/database/sqlite/SqliteWrapper;->update(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I Landroid/graphics/ColorMatrixColorFilter;->setColorMatrixArray([F)V Landroid/graphics/FontFamily;->mNativePtr:J Landroid/graphics/FontListParser;->parse(Ljava/io/InputStream;)Landroid/text/FontConfig; @@ -1867,18 +1076,6 @@ Landroid/icu/util/UResourceBundle;->getString()Ljava/lang/String; Landroid/icu/util/UResourceBundle;->getType()I Landroid/icu/util/UResourceBundleIterator;->hasNext()Z Landroid/icu/util/UResourceBundleIterator;->next()Landroid/icu/util/UResourceBundle; -Landroid/location/Country;-><init>(Ljava/lang/String;I)V -Landroid/location/Country;->getCountryIso()Ljava/lang/String; -Landroid/location/Country;->getSource()I -Landroid/location/CountryDetector;-><init>(Landroid/location/ICountryDetector;)V -Landroid/location/CountryDetector;->addCountryListener(Landroid/location/CountryListener;Landroid/os/Looper;)V -Landroid/location/CountryDetector;->detectCountry()Landroid/location/Country; -Landroid/location/CountryDetector;->removeCountryListener(Landroid/location/CountryListener;)V -Landroid/location/CountryListener;->onCountryDetected(Landroid/location/Country;)V -Landroid/location/GeocoderParams;->getClientPackage()Ljava/lang/String; -Landroid/location/GeocoderParams;->getLocale()Ljava/util/Locale; -Landroid/location/Geofence;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/location/GpsStatus;->setTimeToFirstFix(I)V Landroid/location/ICountryDetector$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ICountryDetector; Landroid/location/ICountryListener$Stub;-><init>()V Landroid/location/IGeocodeProvider$Stub;-><init>()V @@ -1897,25 +1094,6 @@ Landroid/location/ILocationManager$Stub;-><init>()V Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager; Landroid/location/ILocationManager$Stub;->TRANSACTION_getAllProviders:I Landroid/location/ILocationManager;->getAllProviders()Ljava/util/List; -Landroid/location/Location;->mElapsedRealtimeNanos:J -Landroid/location/Location;->mProvider:Ljava/lang/String; -Landroid/location/LocationManager;->mService:Landroid/location/ILocationManager; -Landroid/location/LocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/LocationListener;Landroid/os/Looper;Landroid/app/PendingIntent;)V -Landroid/location/LocationManager;->sendNiResponse(II)Z -Landroid/location/LocationRequest;->checkDisplacement(F)V -Landroid/location/LocationRequest;->checkInterval(J)V -Landroid/location/LocationRequest;->checkProvider(Ljava/lang/String;)V -Landroid/location/LocationRequest;->checkQuality(I)V -Landroid/location/LocationRequest;->mExpireAt:J -Landroid/location/LocationRequest;->mExplicitFastestInterval:Z -Landroid/location/LocationRequest;->mFastestInterval:J -Landroid/location/LocationRequest;->mHideFromAppOps:Z -Landroid/location/LocationRequest;->mInterval:J -Landroid/location/LocationRequest;->mNumUpdates:I -Landroid/location/LocationRequest;->mProvider:Ljava/lang/String; -Landroid/location/LocationRequest;->mQuality:I -Landroid/location/LocationRequest;->mSmallestDisplacement:F -Landroid/location/LocationRequest;->mWorkSource:Landroid/os/WorkSource; Landroid/media/AmrInputStream;-><init>(Ljava/io/InputStream;)V Landroid/media/AsyncPlayer;->setUsesWakeLock(Landroid/content/Context;)V Landroid/media/AudioAttributes$Builder;->addTag(Ljava/lang/String;)Landroid/media/AudioAttributes$Builder; @@ -2385,63 +1563,6 @@ Landroid/media/VolumeShaper$State;-><init>(FF)V Landroid/media/VolumeShaper$State;->mVolume:F Landroid/media/VolumeShaper$State;->mXOffset:F Landroid/media/WebVttRenderer;-><init>(Landroid/content/Context;)V -Landroid/net/ConnectivityManager;->ACTION_TETHER_STATE_CHANGED:Ljava/lang/String; -Landroid/net/ConnectivityManager;->EXTRA_ACTIVE_TETHER:Ljava/lang/String; -Landroid/net/ConnectivityManager;->EXTRA_AVAILABLE_TETHER:Ljava/lang/String; -Landroid/net/ConnectivityManager;->EXTRA_ERRORED_TETHER:Ljava/lang/String; -Landroid/net/ConnectivityManager;->from(Landroid/content/Context;)Landroid/net/ConnectivityManager; -Landroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties; -Landroid/net/ConnectivityManager;->getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo; -Landroid/net/ConnectivityManager;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities; -Landroid/net/ConnectivityManager;->getInstance()Landroid/net/ConnectivityManager; -Landroid/net/ConnectivityManager;->getLastTetherError(Ljava/lang/String;)I -Landroid/net/ConnectivityManager;->getLinkProperties(I)Landroid/net/LinkProperties; -Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z -Landroid/net/ConnectivityManager;->getNetworkForType(I)Landroid/net/Network; -Landroid/net/ConnectivityManager;->getNetworkTypeName(I)Ljava/lang/String; -Landroid/net/ConnectivityManager;->getTetherableBluetoothRegexs()[Ljava/lang/String; -Landroid/net/ConnectivityManager;->getTetherableIfaces()[Ljava/lang/String; -Landroid/net/ConnectivityManager;->getTetherableUsbRegexs()[Ljava/lang/String; -Landroid/net/ConnectivityManager;->getTetherableWifiRegexs()[Ljava/lang/String; -Landroid/net/ConnectivityManager;->getTetheredIfaces()[Ljava/lang/String; -Landroid/net/ConnectivityManager;->getTetheringErroredIfaces()[Ljava/lang/String; -Landroid/net/ConnectivityManager;->INET_CONDITION_ACTION:Ljava/lang/String; -Landroid/net/ConnectivityManager;->isNetworkSupported(I)Z -Landroid/net/ConnectivityManager;->isNetworkTypeMobile(I)Z -Landroid/net/ConnectivityManager;->mService:Landroid/net/IConnectivityManager; -Landroid/net/ConnectivityManager;->networkCapabilitiesForFeature(ILjava/lang/String;)Landroid/net/NetworkCapabilities; -Landroid/net/ConnectivityManager;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)V -Landroid/net/ConnectivityManager;->removeRequestForFeature(Landroid/net/NetworkCapabilities;)Z -Landroid/net/ConnectivityManager;->requestNetworkForFeatureLocked(Landroid/net/NetworkCapabilities;)Landroid/net/NetworkRequest; -Landroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z -Landroid/net/ConnectivityManager;->setBackgroundDataSetting(Z)V -Landroid/net/ConnectivityManager;->setProcessDefaultNetworkForHostResolution(Landroid/net/Network;)Z -Landroid/net/ConnectivityManager;->setUsbTethering(Z)I -Landroid/net/ConnectivityManager;->sLegacyRequests:Ljava/util/HashMap; -Landroid/net/ConnectivityManager;->TYPE_MOBILE_CBS:I -Landroid/net/ConnectivityManager;->TYPE_MOBILE_EMERGENCY:I -Landroid/net/ConnectivityManager;->TYPE_MOBILE_FOTA:I -Landroid/net/ConnectivityManager;->TYPE_MOBILE_IA:I -Landroid/net/ConnectivityManager;->TYPE_MOBILE_IMS:I -Landroid/net/ConnectivityManager;->TYPE_NONE:I -Landroid/net/ConnectivityManager;->TYPE_PROXY:I -Landroid/net/ConnectivityManager;->TYPE_WIFI_P2P:I -Landroid/net/ConnectivityManager;->unregisterNetworkFactory(Landroid/os/Messenger;)V -Landroid/net/EthernetManager$Listener;->onAvailabilityChanged(Ljava/lang/String;Z)V -Landroid/net/EthernetManager;->addListener(Landroid/net/EthernetManager$Listener;)V -Landroid/net/EthernetManager;->getAvailableInterfaces()[Ljava/lang/String; -Landroid/net/EthernetManager;->getConfiguration(Ljava/lang/String;)Landroid/net/IpConfiguration; -Landroid/net/EthernetManager;->isAvailable()Z -Landroid/net/EthernetManager;->isAvailable(Ljava/lang/String;)Z -Landroid/net/EthernetManager;->removeListener(Landroid/net/EthernetManager$Listener;)V -Landroid/net/EthernetManager;->setConfiguration(Ljava/lang/String;Landroid/net/IpConfiguration;)V -Landroid/net/http/SslCertificate;->getDigest(Ljava/security/cert/X509Certificate;Ljava/lang/String;)Ljava/lang/String; -Landroid/net/http/SslCertificate;->getSerialNumber(Ljava/security/cert/X509Certificate;)Ljava/lang/String; -Landroid/net/http/SslCertificate;->inflateCertificateView(Landroid/content/Context;)Landroid/view/View; -Landroid/net/http/SslCertificate;->mX509Certificate:Ljava/security/cert/X509Certificate; -Landroid/net/http/SslError;->mCertificate:Landroid/net/http/SslCertificate; -Landroid/net/http/SslError;->mErrors:I -Landroid/net/http/SslError;->mUrl:Ljava/lang/String; Landroid/net/IConnectivityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveLinkProperties()Landroid/net/LinkProperties; Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetworkInfo()Landroid/net/NetworkInfo; @@ -2486,205 +1607,10 @@ Landroid/net/INetworkStatsService;->openSessionForUsageStats(ILjava/lang/String; Landroid/net/INetworkStatsSession;->close()V Landroid/net/INetworkStatsSession;->getSummaryForAllUid(Landroid/net/NetworkTemplate;JJZ)Landroid/net/NetworkStats; Landroid/net/INetworkStatsSession;->getSummaryForNetwork(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats; -Landroid/net/InterfaceConfiguration;->clearFlag(Ljava/lang/String;)V -Landroid/net/InterfaceConfiguration;->getFlags()Ljava/lang/Iterable; -Landroid/net/InterfaceConfiguration;->setFlag(Ljava/lang/String;)V -Landroid/net/InterfaceConfiguration;->setInterfaceDown()V -Landroid/net/InterfaceConfiguration;->setInterfaceUp()V -Landroid/net/IpConfiguration$IpAssignment;->STATIC:Landroid/net/IpConfiguration$IpAssignment; -Landroid/net/IpConfiguration$ProxySettings;->NONE:Landroid/net/IpConfiguration$ProxySettings; -Landroid/net/IpConfiguration;-><init>(Landroid/net/IpConfiguration$IpAssignment;Landroid/net/IpConfiguration$ProxySettings;Landroid/net/StaticIpConfiguration;Landroid/net/ProxyInfo;)V -Landroid/net/IpConfiguration;->httpProxy:Landroid/net/ProxyInfo; -Landroid/net/LinkAddress;->address:Ljava/net/InetAddress; -Landroid/net/LinkAddress;->getNetworkPrefixLength()I -Landroid/net/LinkAddress;->prefixLength:I -Landroid/net/LinkProperties;->addLinkAddress(Landroid/net/LinkAddress;)Z -Landroid/net/LinkProperties;->getAddresses()Ljava/util/List; -Landroid/net/LinkProperties;->getAllAddresses()Ljava/util/List; -Landroid/net/LinkProperties;->getAllLinkAddresses()Ljava/util/List; -Landroid/net/LinkProperties;->getTcpBufferSizes()Ljava/lang/String; -Landroid/net/LinkProperties;->isIdenticalHttpProxy(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->isIdenticalInterfaceName(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->mIfaceName:Ljava/lang/String; -Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V -Landroid/net/LinkQualityInfo;->setDataSampleDuration(I)V -Landroid/net/LinkQualityInfo;->setLastDataSampleTime(J)V -Landroid/net/LinkQualityInfo;->setPacketCount(J)V -Landroid/net/LinkQualityInfo;->setPacketErrorCount(J)V -Landroid/net/LocalSocket;->impl:Landroid/net/LocalSocketImpl; -Landroid/net/LocalSocketImpl;-><init>()V -Landroid/net/LocalSocketImpl;->inboundFileDescriptors:[Ljava/io/FileDescriptor; -Landroid/net/LocalSocketImpl;->outboundFileDescriptors:[Ljava/io/FileDescriptor; Landroid/net/MobileLinkQualityInfo;-><init>()V -Landroid/net/MobileLinkQualityInfo;->getMobileNetworkType()I -Landroid/net/MobileLinkQualityInfo;->setCdmaDbm(I)V -Landroid/net/MobileLinkQualityInfo;->setCdmaEcio(I)V -Landroid/net/MobileLinkQualityInfo;->setEvdoDbm(I)V -Landroid/net/MobileLinkQualityInfo;->setEvdoEcio(I)V -Landroid/net/MobileLinkQualityInfo;->setEvdoSnr(I)V -Landroid/net/MobileLinkQualityInfo;->setGsmErrorRate(I)V -Landroid/net/MobileLinkQualityInfo;->setLteCqi(I)V -Landroid/net/MobileLinkQualityInfo;->setLteRsrp(I)V -Landroid/net/MobileLinkQualityInfo;->setLteRsrq(I)V -Landroid/net/MobileLinkQualityInfo;->setLteRssnr(I)V -Landroid/net/MobileLinkQualityInfo;->setLteSignalStrength(I)V -Landroid/net/MobileLinkQualityInfo;->setMobileNetworkType(I)V -Landroid/net/MobileLinkQualityInfo;->setRssi(I)V -Landroid/net/NetworkAgent;->sendNetworkInfo(Landroid/net/NetworkInfo;)V -Landroid/net/NetworkCapabilities;-><init>()V -Landroid/net/NetworkCapabilities;->addCapability(I)Landroid/net/NetworkCapabilities; -Landroid/net/NetworkCapabilities;->addTransportType(I)Landroid/net/NetworkCapabilities; -Landroid/net/NetworkCapabilities;->mNetworkCapabilities:J -Landroid/net/NetworkCapabilities;->mSignalStrength:I -Landroid/net/NetworkCapabilities;->removeCapability(I)Landroid/net/NetworkCapabilities; -Landroid/net/NetworkCapabilities;->setSignalStrength(I)Landroid/net/NetworkCapabilities; -Landroid/net/NetworkFactory;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkCapabilities;)V -Landroid/net/NetworkFactory;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V -Landroid/net/NetworkFactory;->setScoreFilter(I)V -Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V -Landroid/net/NetworkInfo;-><init>(Landroid/net/NetworkInfo;)V -Landroid/net/NetworkInfo;->setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V -Landroid/net/NetworkInfo;->setFailover(Z)V -Landroid/net/NetworkInfo;->setIsAvailable(Z)V -Landroid/net/NetworkInfo;->setRoaming(Z)V -Landroid/net/NetworkInfo;->setSubtype(ILjava/lang/String;)V -Landroid/net/NetworkPolicy;-><init>(Landroid/net/NetworkTemplate;ILjava/lang/String;JJJJZZ)V -Landroid/net/NetworkPolicy;->clearSnooze()V -Landroid/net/NetworkPolicy;->compareTo(Landroid/net/NetworkPolicy;)I -Landroid/net/NetworkPolicy;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/NetworkPolicy;->inferred:Z -Landroid/net/NetworkPolicy;->isOverLimit(J)Z -Landroid/net/NetworkPolicy;->isOverWarning(J)Z -Landroid/net/NetworkPolicy;->limitBytes:J -Landroid/net/NetworkPolicy;->metered:Z -Landroid/net/NetworkPolicy;->template:Landroid/net/NetworkTemplate; -Landroid/net/NetworkPolicy;->warningBytes:J -Landroid/net/NetworkPolicyManager;->from(Landroid/content/Context;)Landroid/net/NetworkPolicyManager; -Landroid/net/NetworkPolicyManager;->getNetworkPolicies()[Landroid/net/NetworkPolicy; -Landroid/net/NetworkPolicyManager;->getRestrictBackground()Z -Landroid/net/NetworkPolicyManager;->getUidPolicy(I)I -Landroid/net/NetworkPolicyManager;->getUidsWithPolicy(I)[I -Landroid/net/NetworkPolicyManager;->mService:Landroid/net/INetworkPolicyManager; -Landroid/net/NetworkPolicyManager;->registerListener(Landroid/net/INetworkPolicyListener;)V -Landroid/net/NetworkPolicyManager;->setRestrictBackground(Z)V -Landroid/net/NetworkPolicyManager;->setUidPolicy(II)V -Landroid/net/NetworkPolicyManager;->unregisterListener(Landroid/net/INetworkPolicyListener;)V -Landroid/net/NetworkQuotaInfo;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/NetworkRequest$Builder;->clearCapabilities()Landroid/net/NetworkRequest$Builder; -Landroid/net/NetworkRequest;->legacyType:I -Landroid/net/NetworkRequest;->requestId:I -Landroid/net/NetworkState;-><init>(Landroid/os/Parcel;)V -Landroid/net/NetworkState;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/NetworkStats;-><init>(Landroid/os/Parcel;)V -Landroid/net/NetworkStats;->capacity:I -Landroid/net/NetworkStats;->combineAllValues(Landroid/net/NetworkStats;)V -Landroid/net/NetworkStats;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/NetworkStats;->defaultNetwork:[I -Landroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry; -Landroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;I)Landroid/net/NetworkStats$Entry; -Landroid/net/NetworkStats;->getTotalBytes()J -Landroid/net/NetworkStats;->getTotalIncludingTags(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry; -Landroid/net/NetworkStats;->getUniqueUids()[I -Landroid/net/NetworkStats;->getValues(ILandroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry; -Landroid/net/NetworkStats;->iface:[Ljava/lang/String; -Landroid/net/NetworkStats;->metered:[I -Landroid/net/NetworkStats;->operations:[J -Landroid/net/NetworkStats;->roaming:[I -Landroid/net/NetworkStats;->rxBytes:[J -Landroid/net/NetworkStats;->rxPackets:[J -Landroid/net/NetworkStats;->set:[I -Landroid/net/NetworkStats;->size()I -Landroid/net/NetworkStats;->size:I -Landroid/net/NetworkStats;->tag:[I -Landroid/net/NetworkStats;->txBytes:[J -Landroid/net/NetworkStats;->txPackets:[J -Landroid/net/NetworkStats;->uid:[I -Landroid/net/NetworkStatsHistory$Entry;->bucketDuration:J -Landroid/net/NetworkStatsHistory$Entry;->bucketStart:J -Landroid/net/NetworkStatsHistory$Entry;->rxBytes:J -Landroid/net/NetworkStatsHistory$Entry;->rxPackets:J -Landroid/net/NetworkStatsHistory$Entry;->txPackets:J -Landroid/net/NetworkStatsHistory;-><init>(J)V -Landroid/net/NetworkStatsHistory;-><init>(Landroid/os/Parcel;)V -Landroid/net/NetworkStatsHistory;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/NetworkStatsHistory;->getEnd()J -Landroid/net/NetworkStatsHistory;->getIndexBefore(J)I -Landroid/net/NetworkStatsHistory;->getValues(ILandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry; -Landroid/net/NetworkStatsHistory;->getValues(JJJLandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry; -Landroid/net/NetworkStatsHistory;->recordEntireHistory(Landroid/net/NetworkStatsHistory;)V -Landroid/net/NetworkStatsHistory;->size()I -Landroid/net/NetworkTemplate;-><init>(ILjava/lang/String;Ljava/lang/String;)V -Landroid/net/NetworkTemplate;->buildTemplateEthernet()Landroid/net/NetworkTemplate; -Landroid/net/NetworkTemplate;->buildTemplateMobileWildcard()Landroid/net/NetworkTemplate; -Landroid/net/NetworkTemplate;->buildTemplateWifi()Landroid/net/NetworkTemplate; -Landroid/net/NetworkTemplate;->buildTemplateWifiWildcard()Landroid/net/NetworkTemplate; -Landroid/net/NetworkTemplate;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/NetworkTemplate;->getMatchRule()I -Landroid/net/NetworkTemplate;->getSubscriberId()Ljava/lang/String; -Landroid/net/NetworkTemplate;->normalize(Landroid/net/NetworkTemplate;[Ljava/lang/String;)Landroid/net/NetworkTemplate; -Landroid/net/NetworkUtils;->intToInetAddress(I)Ljava/net/InetAddress; -Landroid/net/NetworkUtils;->numericToInetAddress(Ljava/lang/String;)Ljava/net/InetAddress; -Landroid/net/NetworkUtils;->prefixLengthToNetmaskInt(I)I -Landroid/net/NetworkUtils;->trimV4AddrZeros(Ljava/lang/String;)Ljava/lang/String; Landroid/net/nsd/INsdManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/nsd/INsdManager; Landroid/net/nsd/INsdManager;->getMessenger()Landroid/os/Messenger; -Landroid/net/nsd/NsdServiceInfo;->setAttribute(Ljava/lang/String;[B)V -Landroid/net/Proxy;->getProxy(Landroid/content/Context;Ljava/lang/String;)Ljava/net/Proxy; -Landroid/net/Proxy;->setHttpProxySystemProperty(Landroid/net/ProxyInfo;)V -Landroid/net/ProxyInfo;-><init>(Ljava/lang/String;ILjava/lang/String;)V -Landroid/net/RouteInfo;-><init>(Landroid/net/LinkAddress;Ljava/net/InetAddress;)V -Landroid/net/RouteInfo;-><init>(Landroid/net/LinkAddress;Ljava/net/InetAddress;Ljava/lang/String;)V -Landroid/net/RouteInfo;-><init>(Ljava/net/InetAddress;)V -Landroid/net/RouteInfo;->isHost()Z -Landroid/net/RouteInfo;->mGateway:Ljava/net/InetAddress; -Landroid/net/RouteInfo;->mIsHost:Z Landroid/net/SntpClient;-><init>()V -Landroid/net/SSLCertificateSocketFactory;-><init>(ILandroid/net/SSLSessionCache;Z)V -Landroid/net/SSLCertificateSocketFactory;->castToOpenSSLSocket(Ljava/net/Socket;)Lcom/android/org/conscrypt/OpenSSLSocketImpl; -Landroid/net/SSLCertificateSocketFactory;->getAlpnSelectedProtocol(Ljava/net/Socket;)[B -Landroid/net/SSLCertificateSocketFactory;->getDelegate()Ljavax/net/ssl/SSLSocketFactory; -Landroid/net/SSLCertificateSocketFactory;->INSECURE_TRUST_MANAGER:[Ljavax/net/ssl/TrustManager; -Landroid/net/SSLCertificateSocketFactory;->isSslCheckRelaxed()Z -Landroid/net/SSLCertificateSocketFactory;->makeSocketFactory([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;)Ljavax/net/ssl/SSLSocketFactory; -Landroid/net/SSLCertificateSocketFactory;->mAlpnProtocols:[B -Landroid/net/SSLCertificateSocketFactory;->mChannelIdPrivateKey:Ljava/security/PrivateKey; -Landroid/net/SSLCertificateSocketFactory;->mHandshakeTimeoutMillis:I -Landroid/net/SSLCertificateSocketFactory;->mInsecureFactory:Ljavax/net/ssl/SSLSocketFactory; -Landroid/net/SSLCertificateSocketFactory;->mKeyManagers:[Ljavax/net/ssl/KeyManager; -Landroid/net/SSLCertificateSocketFactory;->mNpnProtocols:[B -Landroid/net/SSLCertificateSocketFactory;->mSecure:Z -Landroid/net/SSLCertificateSocketFactory;->mSecureFactory:Ljavax/net/ssl/SSLSocketFactory; -Landroid/net/SSLCertificateSocketFactory;->mSessionCache:Lcom/android/org/conscrypt/SSLClientSessionCache; -Landroid/net/SSLCertificateSocketFactory;->mTrustManagers:[Ljavax/net/ssl/TrustManager; -Landroid/net/SSLCertificateSocketFactory;->setAlpnProtocols([[B)V -Landroid/net/SSLCertificateSocketFactory;->setChannelIdPrivateKey(Ljava/security/PrivateKey;)V -Landroid/net/SSLCertificateSocketFactory;->setSoWriteTimeout(Ljava/net/Socket;I)V -Landroid/net/SSLCertificateSocketFactory;->TAG:Ljava/lang/String; -Landroid/net/SSLCertificateSocketFactory;->verifyHostname(Ljava/net/Socket;Ljava/lang/String;)V -Landroid/net/SSLSessionCache;->mSessionCache:Lcom/android/org/conscrypt/SSLClientSessionCache; -Landroid/net/StaticIpConfiguration;-><init>()V -Landroid/net/StaticIpConfiguration;->gateway:Ljava/net/InetAddress; -Landroid/net/StaticIpConfiguration;->ipAddress:Landroid/net/LinkAddress; -Landroid/net/TrafficStats;->getMobileIfaces()[Ljava/lang/String; -Landroid/net/TrafficStats;->getRxBytes(Ljava/lang/String;)J -Landroid/net/TrafficStats;->getStatsService()Landroid/net/INetworkStatsService; -Landroid/net/TrafficStats;->getTxBytes(Ljava/lang/String;)J -Landroid/net/Uri;-><init>()V -Landroid/net/Uri;->getCanonicalUri()Landroid/net/Uri; -Landroid/net/Uri;->toSafeString()Ljava/lang/String; -Landroid/net/VpnService$Builder;->mAddresses:Ljava/util/List; -Landroid/net/VpnService$Builder;->mRoutes:Ljava/util/List; -Landroid/net/WebAddress;->getAuthInfo()Ljava/lang/String; -Landroid/net/WebAddress;->getHost()Ljava/lang/String; -Landroid/net/WebAddress;->getPath()Ljava/lang/String; -Landroid/net/WebAddress;->getPort()I -Landroid/net/WebAddress;->getScheme()Ljava/lang/String; -Landroid/net/WebAddress;->mHost:Ljava/lang/String; -Landroid/net/WebAddress;->mPath:Ljava/lang/String; -Landroid/net/WebAddress;->mPort:I -Landroid/net/WebAddress;->mScheme:Ljava/lang/String; -Landroid/net/WebAddress;->setHost(Ljava/lang/String;)V -Landroid/net/WebAddress;->setPath(Ljava/lang/String;)V Landroid/net/wifi/IWifiManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/net/wifi/IWifiManager$Stub;-><init>()V Landroid/net/wifi/IWifiManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiManager; @@ -2697,163 +1623,6 @@ Landroid/net/wifi/IWifiScanner$Stub$Proxy;->mRemote:Landroid/os/IBinder; Landroid/net/wifi/IWifiScanner$Stub;-><init>()V Landroid/net/wifi/IWifiScanner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiScanner; Landroid/net/wifi/p2p/IWifiP2pManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/p2p/IWifiP2pManager; -Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;->createRequest(Ljava/lang/String;II)Ljava/lang/String; -Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;-><init>(Ljava/util/List;)V -Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;->mQueryList:Ljava/util/List; -Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;-><init>(ILjava/lang/String;)V -Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/wifi/p2p/WifiP2pConfig;-><init>(Ljava/lang/String;)V -Landroid/net/wifi/p2p/WifiP2pConfig;->MIN_GROUP_OWNER_INTENT:I -Landroid/net/wifi/p2p/WifiP2pConfig;->netId:I -Landroid/net/wifi/p2p/WifiP2pDevice;-><init>(Ljava/lang/String;)V -Landroid/net/wifi/p2p/WifiP2pDevice;->deviceCapability:I -Landroid/net/wifi/p2p/WifiP2pDevice;->groupCapability:I -Landroid/net/wifi/p2p/WifiP2pDevice;->update(Landroid/net/wifi/p2p/WifiP2pDevice;)V -Landroid/net/wifi/p2p/WifiP2pDevice;->wfdInfo:Landroid/net/wifi/p2p/WifiP2pWfdInfo; -Landroid/net/wifi/p2p/WifiP2pDevice;->wpsConfigMethodsSupported:I -Landroid/net/wifi/p2p/WifiP2pDeviceList;->remove(Ljava/lang/String;)Landroid/net/wifi/p2p/WifiP2pDevice; -Landroid/net/wifi/p2p/WifiP2pDeviceList;->update(Landroid/net/wifi/p2p/WifiP2pDevice;)V -Landroid/net/wifi/p2p/WifiP2pGroup;-><init>(Ljava/lang/String;)V -Landroid/net/wifi/p2p/WifiP2pGroup;->getNetworkId()I -Landroid/net/wifi/p2p/WifiP2pGroup;->isClientListEmpty()Z -Landroid/net/wifi/p2p/WifiP2pGroup;->setInterface(Ljava/lang/String;)V -Landroid/net/wifi/p2p/WifiP2pGroup;->setIsGroupOwner(Z)V -Landroid/net/wifi/p2p/WifiP2pGroup;->setNetworkId(I)V -Landroid/net/wifi/p2p/WifiP2pGroup;->TEMPORARY_NET_ID:I -Landroid/net/wifi/p2p/WifiP2pGroupList;-><init>(Landroid/net/wifi/p2p/WifiP2pGroupList;Landroid/net/wifi/p2p/WifiP2pGroupList$GroupDeleteListener;)V -Landroid/net/wifi/p2p/WifiP2pGroupList;->getGroupList()Ljava/util/Collection; -Landroid/net/wifi/p2p/WifiP2pGroupList;->mGroups:Landroid/util/LruCache; -Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mAsyncChannel:Lcom/android/internal/util/AsyncChannel; -Landroid/net/wifi/p2p/WifiP2pManager$Channel;->putListener(Ljava/lang/Object;)I -Landroid/net/wifi/p2p/WifiP2pManager;-><init>(Landroid/net/wifi/p2p/IWifiP2pManager;)V -Landroid/net/wifi/p2p/WifiP2pManager;->CREATE_GROUP:I -Landroid/net/wifi/p2p/WifiP2pManager;->deletePersistentGroup(Landroid/net/wifi/p2p/WifiP2pManager$Channel;ILandroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V -Landroid/net/wifi/p2p/WifiP2pManager;->requestPersistentGroupInfo(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$PersistentGroupInfoListener;)V -Landroid/net/wifi/p2p/WifiP2pManager;->setDeviceName(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Ljava/lang/String;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V -Landroid/net/wifi/p2p/WifiP2pManager;->setMiracastMode(I)V -Landroid/net/wifi/p2p/WifiP2pManager;->setWFDInfo(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pWfdInfo;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V -Landroid/net/wifi/p2p/WifiP2pManager;->setWifiP2pChannels(Landroid/net/wifi/p2p/WifiP2pManager$Channel;IILandroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V -Landroid/net/wifi/p2p/WifiP2pManager;->startWps(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/WpsInfo;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V -Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;-><init>()V -Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->device:Landroid/net/wifi/p2p/WifiP2pDevice; -Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->event:I -Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;->pin:Ljava/lang/String; -Landroid/net/wifi/p2p/WifiP2pWfdInfo;-><init>()V -Landroid/net/wifi/p2p/WifiP2pWfdInfo;-><init>(III)V -Landroid/net/wifi/p2p/WifiP2pWfdInfo;-><init>(Landroid/net/wifi/p2p/WifiP2pWfdInfo;)V -Landroid/net/wifi/p2p/WifiP2pWfdInfo;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/wifi/p2p/WifiP2pWfdInfo;->getDeviceType()I -Landroid/net/wifi/p2p/WifiP2pWfdInfo;->isWfdEnabled()Z -Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setControlPort(I)V -Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setDeviceType(I)Z -Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setMaxThroughput(I)V -Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setSessionAvailable(Z)V -Landroid/net/wifi/p2p/WifiP2pWfdInfo;->setWfdEnabled(Z)V -Landroid/net/wifi/ScanResult$InformationElement;->bytes:[B -Landroid/net/wifi/ScanResult$InformationElement;->EID_BSS_LOAD:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_ERP:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_EXTENDED_CAPS:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_EXTENDED_SUPPORTED_RATES:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_HT_OPERATION:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_INTERWORKING:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_ROAMING_CONSORTIUM:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_RSN:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_SSID:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_SUPPORTED_RATES:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_TIM:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_VHT_OPERATION:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_VSA:I -Landroid/net/wifi/ScanResult$InformationElement;->id:I -Landroid/net/wifi/ScanResult;->anqpDomainId:I -Landroid/net/wifi/ScanResult;->anqpLines:Ljava/util/List; -Landroid/net/wifi/ScanResult;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/wifi/ScanResult;->distanceCm:I -Landroid/net/wifi/ScanResult;->distanceSdCm:I -Landroid/net/wifi/ScanResult;->flags:J -Landroid/net/wifi/ScanResult;->hessid:J -Landroid/net/wifi/ScanResult;->informationElements:[Landroid/net/wifi/ScanResult$InformationElement; -Landroid/net/wifi/ScanResult;->is80211McRTTResponder:Z -Landroid/net/wifi/ScanResult;->numUsage:I -Landroid/net/wifi/ScanResult;->seen:J -Landroid/net/wifi/ScanResult;->wifiSsid:Landroid/net/wifi/WifiSsid; -Landroid/net/wifi/WifiConfiguration;-><init>(Landroid/net/wifi/WifiConfiguration;)V -Landroid/net/wifi/WifiConfiguration;->apBand:I -Landroid/net/wifi/WifiConfiguration;->apChannel:I -Landroid/net/wifi/WifiConfiguration;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/wifi/WifiConfiguration;->defaultGwMacAddress:Ljava/lang/String; -Landroid/net/wifi/WifiConfiguration;->getAuthType()I -Landroid/net/wifi/WifiConfiguration;->getIpAssignment()Landroid/net/IpConfiguration$IpAssignment; -Landroid/net/wifi/WifiConfiguration;->getIpConfiguration()Landroid/net/IpConfiguration; -Landroid/net/wifi/WifiConfiguration;->getPrintableSsid()Ljava/lang/String; -Landroid/net/wifi/WifiConfiguration;->getProxySettings()Landroid/net/IpConfiguration$ProxySettings; -Landroid/net/wifi/WifiConfiguration;->getStaticIpConfiguration()Landroid/net/StaticIpConfiguration; -Landroid/net/wifi/WifiConfiguration;->INVALID_RSSI:I -Landroid/net/wifi/WifiConfiguration;->isEnterprise()Z -Landroid/net/wifi/WifiConfiguration;->lastConnectUid:I -Landroid/net/wifi/WifiConfiguration;->mIpConfiguration:Landroid/net/IpConfiguration; -Landroid/net/wifi/WifiConfiguration;->noInternetAccessExpected:Z -Landroid/net/wifi/WifiConfiguration;->numNoInternetAccessReports:I -Landroid/net/wifi/WifiConfiguration;->selfAdded:Z -Landroid/net/wifi/WifiConfiguration;->setIpAssignment(Landroid/net/IpConfiguration$IpAssignment;)V -Landroid/net/wifi/WifiConfiguration;->setIpConfiguration(Landroid/net/IpConfiguration;)V -Landroid/net/wifi/WifiConfiguration;->setProxy(Landroid/net/IpConfiguration$ProxySettings;Landroid/net/ProxyInfo;)V -Landroid/net/wifi/WifiConfiguration;->setProxySettings(Landroid/net/IpConfiguration$ProxySettings;)V -Landroid/net/wifi/WifiConfiguration;->setStaticIpConfiguration(Landroid/net/StaticIpConfiguration;)V -Landroid/net/wifi/WifiConfiguration;->shared:Z -Landroid/net/wifi/WifiConfiguration;->validatedInternetAccess:Z -Landroid/net/wifi/WifiConfiguration;->wepKeyVarNames:[Ljava/lang/String; -Landroid/net/wifi/WifiEnterpriseConfig;->getCaCertificateAlias()Ljava/lang/String; -Landroid/net/wifi/WifiEnterpriseConfig;->getClientCertificateAlias()Ljava/lang/String; -Landroid/net/wifi/WifiEnterpriseConfig;->mFields:Ljava/util/HashMap; -Landroid/net/wifi/WifiEnterpriseConfig;->setCaCertificateAlias(Ljava/lang/String;)V -Landroid/net/wifi/WifiEnterpriseConfig;->setClientCertificateAlias(Ljava/lang/String;)V -Landroid/net/wifi/WifiInfo;-><init>()V -Landroid/net/wifi/WifiInfo;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/wifi/WifiInfo;->DEFAULT_MAC_ADDRESS:Ljava/lang/String; -Landroid/net/wifi/WifiInfo;->getMeteredHint()Z -Landroid/net/wifi/WifiInfo;->getWifiSsid()Landroid/net/wifi/WifiSsid; -Landroid/net/wifi/WifiInfo;->INVALID_RSSI:I -Landroid/net/wifi/WifiInfo;->isEphemeral()Z -Landroid/net/wifi/WifiInfo;->mBSSID:Ljava/lang/String; -Landroid/net/wifi/WifiInfo;->mIpAddress:Ljava/net/InetAddress; -Landroid/net/wifi/WifiInfo;->mMacAddress:Ljava/lang/String; -Landroid/net/wifi/WifiInfo;->mWifiSsid:Landroid/net/wifi/WifiSsid; -Landroid/net/wifi/WifiInfo;->removeDoubleQuotes(Ljava/lang/String;)Ljava/lang/String; -Landroid/net/wifi/WifiInfo;->setBSSID(Ljava/lang/String;)V -Landroid/net/wifi/WifiInfo;->setLinkSpeed(I)V -Landroid/net/wifi/WifiInfo;->setMacAddress(Ljava/lang/String;)V -Landroid/net/wifi/WifiInfo;->setNetworkId(I)V -Landroid/net/wifi/WifiInfo;->setRssi(I)V -Landroid/net/wifi/WifiInfo;->setSupplicantState(Landroid/net/wifi/SupplicantState;)V -Landroid/net/wifi/WifiInfo;->setSupplicantState(Ljava/lang/String;)V -Landroid/net/wifi/WifiManager;->cancelLocalOnlyHotspotRequest()V -Landroid/net/wifi/WifiManager;->connect(ILandroid/net/wifi/WifiManager$ActionListener;)V -Landroid/net/wifi/WifiManager;->disable(ILandroid/net/wifi/WifiManager$ActionListener;)V -Landroid/net/wifi/WifiManager;->enableVerboseLogging(I)V -Landroid/net/wifi/WifiManager;->forget(ILandroid/net/wifi/WifiManager$ActionListener;)V -Landroid/net/wifi/WifiManager;->getCountryCode()Ljava/lang/String; -Landroid/net/wifi/WifiManager;->getCurrentNetwork()Landroid/net/Network; -Landroid/net/wifi/WifiManager;->getMatchingWifiConfig(Landroid/net/wifi/ScanResult;)Landroid/net/wifi/WifiConfiguration; -Landroid/net/wifi/WifiManager;->getVerboseLoggingLevel()I -Landroid/net/wifi/WifiManager;->getWifiServiceMessenger()Landroid/os/Messenger; -Landroid/net/wifi/WifiManager;->initializeMulticastFiltering()Z -Landroid/net/wifi/WifiManager;->isDualBandSupported()Z -Landroid/net/wifi/WifiManager;->LINK_CONFIGURATION_CHANGED_ACTION:Ljava/lang/String; -Landroid/net/wifi/WifiManager;->mActiveLockCount:I -Landroid/net/wifi/WifiManager;->MAX_RSSI:I -Landroid/net/wifi/WifiManager;->MIN_RSSI:I -Landroid/net/wifi/WifiManager;->mService:Landroid/net/wifi/IWifiManager; -Landroid/net/wifi/WifiManager;->RSSI_LEVELS:I -Landroid/net/wifi/WifiManager;->save(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiManager$ActionListener;)V -Landroid/net/wifi/WifiManager;->WIFI_FREQUENCY_BAND_2GHZ:I -Landroid/net/wifi/WifiManager;->WIFI_FREQUENCY_BAND_5GHZ:I -Landroid/net/wifi/WifiManager;->WIFI_FREQUENCY_BAND_AUTO:I -Landroid/net/wifi/WifiSsid;->createFromAsciiEncoded(Ljava/lang/String;)Landroid/net/wifi/WifiSsid; -Landroid/net/wifi/WifiSsid;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/net/wifi/WifiSsid;->getOctets()[B -Landroid/net/wifi/WifiSsid;->NONE:Ljava/lang/String; -Landroid/net/wifi/WifiSsid;->octets:Ljava/io/ByteArrayOutputStream; Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_enable:I Landroid/nfc/INfcAdapterExtras;->authenticate(Ljava/lang/String;[B)V Landroid/nfc/INfcAdapterExtras;->close(Ljava/lang/String;Landroid/os/IBinder;)Landroid/os/Bundle; @@ -2862,13 +1631,6 @@ Landroid/nfc/INfcAdapterExtras;->getDriverName(Ljava/lang/String;)Ljava/lang/Str Landroid/nfc/INfcAdapterExtras;->open(Ljava/lang/String;Landroid/os/IBinder;)Landroid/os/Bundle; Landroid/nfc/INfcAdapterExtras;->setCardEmulationRoute(Ljava/lang/String;I)V Landroid/nfc/INfcAdapterExtras;->transceive(Ljava/lang/String;[B)Landroid/os/Bundle; -Landroid/opengl/EGL14;->eglGetDisplay(J)Landroid/opengl/EGLDisplay; -Landroid/opengl/GLES20;->glGetActiveAttrib(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V -Landroid/opengl/GLES20;->glGetActiveUniform(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V -Landroid/opengl/GLSurfaceView$EglHelper;->mEglContext:Ljavax/microedition/khronos/egl/EGLContext; -Landroid/opengl/GLSurfaceView$GLThread;->mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper; -Landroid/opengl/GLSurfaceView;->mGLThread:Landroid/opengl/GLSurfaceView$GLThread; -Landroid/opengl/GLSurfaceView;->mRenderer:Landroid/opengl/GLSurfaceView$Renderer; Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult; Landroid/os/AsyncTask;->mFuture:Ljava/util/concurrent/FutureTask; Landroid/os/AsyncTask;->mStatus:Landroid/os/AsyncTask$Status; @@ -3493,7 +2255,6 @@ Landroid/os/WorkSource;->sTmpWorkSource:Landroid/os/WorkSource; Landroid/os/WorkSource;->updateLocked(Landroid/os/WorkSource;ZZ)Z Landroid/os/ZygoteStartFailedEx;-><init>(Ljava/lang/String;)V Landroid/os/ZygoteStartFailedEx;-><init>(Ljava/lang/Throwable;)V -Landroid/permissionpresenterservice/RuntimePermissionPresenterService;->onRevokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;)V Landroid/preference/DialogPreference;->mBuilder:Landroid/app/AlertDialog$Builder; Landroid/preference/DialogPreference;->mDialog:Landroid/app/Dialog; Landroid/preference/DialogPreference;->mDialogIcon:Landroid/graphics/drawable/Drawable; @@ -3568,190 +2329,6 @@ Landroid/preference/VolumePreference$VolumeStore;->originalVolume:I Landroid/preference/VolumePreference$VolumeStore;->volume:I Landroid/preference/VolumePreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V Landroid/preference/VolumePreference;->mStreamType:I -Landroid/provider/Browser;->getVisitedHistory(Landroid/content/ContentResolver;)[Ljava/lang/String; -Landroid/provider/Browser;->sendString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V -Landroid/provider/BrowserContract$Accounts;->CONTENT_URI:Landroid/net/Uri; -Landroid/provider/BrowserContract$Bookmarks;->buildFolderUri(J)Landroid/net/Uri; -Landroid/provider/BrowserContract$Bookmarks;->CONTENT_URI:Landroid/net/Uri; -Landroid/provider/BrowserContract$Bookmarks;->CONTENT_URI_DEFAULT_FOLDER:Landroid/net/Uri; -Landroid/provider/BrowserContract$Combined;->CONTENT_URI:Landroid/net/Uri; -Landroid/provider/BrowserContract$History;->CONTENT_URI:Landroid/net/Uri; -Landroid/provider/BrowserContract$Images;->CONTENT_URI:Landroid/net/Uri; -Landroid/provider/BrowserContract;->AUTHORITY_URI:Landroid/net/Uri; -Landroid/provider/CalendarContract$CalendarAlerts;->findNextAlarmTime(Landroid/content/ContentResolver;J)J -Landroid/provider/CalendarContract$CalendarAlerts;->rescheduleMissedAlarms(Landroid/content/ContentResolver;Landroid/content/Context;Landroid/app/AlarmManager;)V -Landroid/provider/CalendarContract$CalendarAlerts;->scheduleAlarm(Landroid/content/Context;Landroid/app/AlarmManager;J)V -Landroid/provider/CallLog$Calls;->addCall(Lcom/android/internal/telephony/CallerInfo;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIILandroid/telecom/PhoneAccountHandle;JILjava/lang/Long;ZLandroid/os/UserHandle;Z)Landroid/net/Uri; -Landroid/provider/ContactsContract$Contacts$AggregationSuggestions;->builder()Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder; -Landroid/provider/ContactsContract$Contacts;->CORP_CONTENT_URI:Landroid/net/Uri; -Landroid/provider/ContactsContract$QuickContact;->composeQuickContactsIntent(Landroid/content/Context;Landroid/graphics/Rect;Landroid/net/Uri;I[Ljava/lang/String;)Landroid/content/Intent; -Landroid/provider/ContactsInternal;->startQuickContactWithErrorToast(Landroid/content/Context;Landroid/content/Intent;)V -Landroid/provider/DocumentsContract$Root;->FLAG_ADVANCED:I -Landroid/provider/DocumentsContract;->getDocumentThumbnail(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/graphics/Point;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap; -Landroid/provider/DocumentsContract;->METHOD_CREATE_DOCUMENT:Ljava/lang/String; -Landroid/provider/DocumentsContract;->moveDocument(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/net/Uri;Landroid/net/Uri;)Landroid/net/Uri; -Landroid/provider/DocumentsContract;->PATH_DOCUMENT:Ljava/lang/String; -Landroid/provider/DocumentsContract;->PATH_TREE:Ljava/lang/String; -Landroid/provider/DocumentsContract;->setManageMode(Landroid/net/Uri;)Landroid/net/Uri; -Landroid/provider/Downloads$Impl$RequestHeaders;->INSERT_KEY_PREFIX:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->ALL_DOWNLOADS_CONTENT_URI:Landroid/net/Uri; -Landroid/provider/Downloads$Impl;->COLUMN_ALLOWED_NETWORK_TYPES:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_ALLOW_ROAMING:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_COOKIE_DATA:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_DELETED:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_DESCRIPTION:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_DESTINATION:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_FILE_NAME_HINT:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_IS_PUBLIC_API:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_IS_VISIBLE_IN_DOWNLOADS_UI:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_MEDIA_SCANNED:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_MIME_TYPE:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_NOTIFICATION_CLASS:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_NOTIFICATION_EXTRAS:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_NOTIFICATION_PACKAGE:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_REFERER:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_TITLE:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_URI:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_VISIBILITY:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->CONTENT_URI:Landroid/net/Uri; -Landroid/provider/Downloads$Impl;->DESTINATION_CACHE_PARTITION_PURGEABLE:I -Landroid/provider/Downloads$Impl;->DESTINATION_FILE_URI:I -Landroid/provider/Downloads$Impl;->isNotificationToBeDisplayed(I)Z -Landroid/provider/Downloads$Impl;->isStatusCompleted(I)Z -Landroid/provider/Downloads$Impl;->isStatusError(I)Z -Landroid/provider/Downloads$Impl;->isStatusSuccess(I)Z -Landroid/provider/Downloads$Impl;->PUBLICLY_ACCESSIBLE_DOWNLOADS_URI:Landroid/net/Uri; -Landroid/provider/MediaStore$Files$FileColumns;->FORMAT:Ljava/lang/String; -Landroid/provider/MediaStore$Files$FileColumns;->STORAGE_ID:Ljava/lang/String; -Landroid/provider/MediaStore$Files;->getMtpObjectsUri(Ljava/lang/String;)Landroid/net/Uri; -Landroid/provider/MediaStore$Files;->getMtpObjectsUri(Ljava/lang/String;J)Landroid/net/Uri; -Landroid/provider/MediaStore$Files;->getMtpReferencesUri(Ljava/lang/String;J)Landroid/net/Uri; -Landroid/provider/MediaStore$MediaColumns;->IS_DRM:Ljava/lang/String; -Landroid/provider/Settings$Bookmarks;->add(Landroid/content/ContentResolver;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;CI)Landroid/net/Uri; -Landroid/provider/Settings$Bookmarks;->CONTENT_URI:Landroid/net/Uri; -Landroid/provider/Settings$ContentProviderHolder;->mContentProvider:Landroid/content/IContentProvider; -Landroid/provider/Settings$Global;->ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Global;->HEADS_UP_NOTIFICATIONS_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Global;->HEADS_UP_OFF:I -Landroid/provider/Settings$Global;->HEADS_UP_ON:I -Landroid/provider/Settings$Global;->MOBILE_DATA:Ljava/lang/String; -Landroid/provider/Settings$Global;->MOVED_TO_SECURE:Ljava/util/HashSet; -Landroid/provider/Settings$Global;->MULTI_SIM_USER_PREFERRED_SUBS:[Ljava/lang/String; -Landroid/provider/Settings$Global;->MULTI_SIM_VOICE_PROMPT:Ljava/lang/String; -Landroid/provider/Settings$Global;->NETWORK_SCORER_APP:Ljava/lang/String; -Landroid/provider/Settings$Global;->PACKAGE_VERIFIER_ENABLE:Ljava/lang/String; -Landroid/provider/Settings$Global;->PREFERRED_NETWORK_MODE:Ljava/lang/String; -Landroid/provider/Settings$Global;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z -Landroid/provider/Settings$Global;->REQUIRE_PASSWORD_TO_DECRYPT:Ljava/lang/String; -Landroid/provider/Settings$Global;->sNameValueCache:Landroid/provider/Settings$NameValueCache; -Landroid/provider/Settings$Global;->sProviderHolder:Landroid/provider/Settings$ContentProviderHolder; -Landroid/provider/Settings$Global;->WEBVIEW_PROVIDER:Ljava/lang/String; -Landroid/provider/Settings$Global;->WIFI_SAVED_STATE:Ljava/lang/String; -Landroid/provider/Settings$Global;->WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Global;->ZEN_MODE:Ljava/lang/String; -Landroid/provider/Settings$Global;->ZEN_MODE_ALARMS:I -Landroid/provider/Settings$Global;->ZEN_MODE_CONFIG_ETAG:Ljava/lang/String; -Landroid/provider/Settings$Global;->ZEN_MODE_IMPORTANT_INTERRUPTIONS:I -Landroid/provider/Settings$Global;->ZEN_MODE_NO_INTERRUPTIONS:I -Landroid/provider/Settings$Global;->ZEN_MODE_OFF:I -Landroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; -Landroid/provider/Settings$NameValueCache;->mProviderHolder:Landroid/provider/Settings$ContentProviderHolder; -Landroid/provider/Settings$Secure;->ACCESSIBILITY_AUTOCLICK_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ACCESSIBILITY_CAPTIONING_TYPEFACE:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_DALTONIZER:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ACCESSIBILITY_LARGE_POINTER_ICON:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ANR_SHOW_BACKGROUND:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ASSISTANT:Ljava/lang/String; -Landroid/provider/Settings$Secure;->BACKUP_AUTO_RESTORE:Ljava/lang/String; -Landroid/provider/Settings$Secure;->BACKUP_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Secure;->BACKUP_PROVISIONED:Ljava/lang/String; -Landroid/provider/Settings$Secure;->BACKUP_TRANSPORT:Ljava/lang/String; -Landroid/provider/Settings$Secure;->DIALER_DEFAULT_APPLICATION:Ljava/lang/String; -Landroid/provider/Settings$Secure;->DOZE_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ENABLED_NOTIFICATION_LISTENERS:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ENABLED_PRINT_SERVICES:Ljava/lang/String; -Landroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I -Landroid/provider/Settings$Secure;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)J -Landroid/provider/Settings$Secure;->IMMERSIVE_MODE_CONFIRMATIONS:Ljava/lang/String; -Landroid/provider/Settings$Secure;->INCALL_POWER_BUTTON_BEHAVIOR:Ljava/lang/String; -Landroid/provider/Settings$Secure;->LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS:Ljava/lang/String; -Landroid/provider/Settings$Secure;->LOCK_SCREEN_LOCK_AFTER_TIMEOUT:Ljava/lang/String; -Landroid/provider/Settings$Secure;->LOCK_SCREEN_OWNER_INFO_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Secure;->LOCK_SCREEN_SHOW_NOTIFICATIONS:Ljava/lang/String; -Landroid/provider/Settings$Secure;->LONG_PRESS_TIMEOUT:Ljava/lang/String; -Landroid/provider/Settings$Secure;->MOVED_TO_GLOBAL:Ljava/util/HashSet; -Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet; -Landroid/provider/Settings$Secure;->NFC_PAYMENT_DEFAULT_COMPONENT:Ljava/lang/String; -Landroid/provider/Settings$Secure;->PACKAGE_VERIFIER_USER_CONSENT:Ljava/lang/String; -Landroid/provider/Settings$Secure;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z -Landroid/provider/Settings$Secure;->putLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)Z -Landroid/provider/Settings$Secure;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z -Landroid/provider/Settings$Secure;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Z -Landroid/provider/Settings$Secure;->SELECTED_SPELL_CHECKER:Ljava/lang/String; -Landroid/provider/Settings$Secure;->SELECTED_SPELL_CHECKER_SUBTYPE:Ljava/lang/String; -Landroid/provider/Settings$Secure;->SETTINGS_TO_BACKUP:[Ljava/lang/String; -Landroid/provider/Settings$Secure;->SMS_DEFAULT_APPLICATION:Ljava/lang/String; -Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache; -Landroid/provider/Settings$Secure;->sProviderHolder:Landroid/provider/Settings$ContentProviderHolder; -Landroid/provider/Settings$Secure;->VOICE_RECOGNITION_SERVICE:Ljava/lang/String; -Landroid/provider/Settings$System;->AIRPLANE_MODE_TOGGLEABLE_RADIOS:Ljava/lang/String; -Landroid/provider/Settings$System;->CAR_DOCK_SOUND:Ljava/lang/String; -Landroid/provider/Settings$System;->CAR_UNDOCK_SOUND:Ljava/lang/String; -Landroid/provider/Settings$System;->CLONE_TO_MANAGED_PROFILE:Ljava/util/Set; -Landroid/provider/Settings$System;->DESK_DOCK_SOUND:Ljava/lang/String; -Landroid/provider/Settings$System;->DESK_UNDOCK_SOUND:Ljava/lang/String; -Landroid/provider/Settings$System;->DOCK_SOUNDS_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)I -Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I -Landroid/provider/Settings$System;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; -Landroid/provider/Settings$System;->HEARING_AID:Ljava/lang/String; -Landroid/provider/Settings$System;->HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY:Ljava/lang/String; -Landroid/provider/Settings$System;->LOCKSCREEN_SOUNDS_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$System;->LOCK_SOUND:Ljava/lang/String; -Landroid/provider/Settings$System;->MASTER_MONO:Ljava/lang/String; -Landroid/provider/Settings$System;->MOVED_TO_GLOBAL:Ljava/util/HashSet; -Landroid/provider/Settings$System;->MOVED_TO_SECURE:Ljava/util/HashSet; -Landroid/provider/Settings$System;->MOVED_TO_SECURE_THEN_GLOBAL:Ljava/util/HashSet; -Landroid/provider/Settings$System;->NOTIFICATION_LIGHT_PULSE:Ljava/lang/String; -Landroid/provider/Settings$System;->POINTER_LOCATION:Ljava/lang/String; -Landroid/provider/Settings$System;->POINTER_SPEED:Ljava/lang/String; -Landroid/provider/Settings$System;->PRIVATE_SETTINGS:Ljava/util/Set; -Landroid/provider/Settings$System;->PUBLIC_SETTINGS:Ljava/util/Set; -Landroid/provider/Settings$System;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z -Landroid/provider/Settings$System;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z -Landroid/provider/Settings$System;->SCREEN_AUTO_BRIGHTNESS_ADJ:Ljava/lang/String; -Landroid/provider/Settings$System;->SETTINGS_TO_BACKUP:[Ljava/lang/String; -Landroid/provider/Settings$System;->SHOW_TOUCHES:Ljava/lang/String; -Landroid/provider/Settings$System;->sNameValueCache:Landroid/provider/Settings$NameValueCache; -Landroid/provider/Settings$System;->sProviderHolder:Landroid/provider/Settings$ContentProviderHolder; -Landroid/provider/Settings$System;->TTY_MODE:Ljava/lang/String; -Landroid/provider/Settings$System;->UNLOCK_SOUND:Ljava/lang/String; -Landroid/provider/Settings$System;->VALIDATORS:Ljava/util/Map; -Landroid/provider/Settings$System;->VIBRATE_IN_SILENT:Ljava/lang/String; -Landroid/provider/Settings;->ACTION_TRUSTED_CREDENTIALS_USER:Ljava/lang/String; -Landroid/provider/Settings;->ACTION_USER_DICTIONARY_INSERT:Ljava/lang/String; -Landroid/provider/Settings;->EXTRA_APP_UID:Ljava/lang/String; -Landroid/provider/Settings;->isCallingPackageAllowedToDrawOverlays(Landroid/content/Context;ILjava/lang/String;Z)Z -Landroid/provider/Settings;->isCallingPackageAllowedToPerformAppOpsProtectedOperation(Landroid/content/Context;ILjava/lang/String;ZI[Ljava/lang/String;Z)Z -Landroid/provider/Settings;->isCallingPackageAllowedToWriteSettings(Landroid/content/Context;ILjava/lang/String;Z)Z -Landroid/provider/Telephony$Mms;->extractAddrSpec(Ljava/lang/String;)Ljava/lang/String; -Landroid/provider/Telephony$Mms;->isPhoneNumber(Ljava/lang/String;)Z -Landroid/provider/Telephony$Mms;->NAME_ADDR_EMAIL_PATTERN:Ljava/util/regex/Pattern; -Landroid/provider/Telephony$Sms$Draft;->addMessage(ILandroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)Landroid/net/Uri; -Landroid/provider/Telephony$Sms$Inbox;->addMessage(ILandroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Z)Landroid/net/Uri; -Landroid/provider/Telephony$Sms$Inbox;->addMessage(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Z)Landroid/net/Uri; -Landroid/provider/Telephony$Sms$Sent;->addMessage(ILandroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)Landroid/net/Uri; -Landroid/provider/Telephony$Sms$Sent;->addMessage(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)Landroid/net/Uri; -Landroid/provider/Telephony$Sms;->addMessageToUri(ILandroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZ)Landroid/net/Uri; -Landroid/provider/Telephony$Sms;->addMessageToUri(ILandroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZJ)Landroid/net/Uri; -Landroid/provider/Telephony$Sms;->addMessageToUri(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZ)Landroid/net/Uri; -Landroid/provider/Telephony$Sms;->addMessageToUri(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZJ)Landroid/net/Uri; -Landroid/provider/Telephony$Sms;->isOutgoingFolder(I)Z -Landroid/provider/Telephony$Sms;->moveMessageToFolder(Landroid/content/Context;Landroid/net/Uri;II)Z -Landroid/provider/Telephony$Sms;->query(Landroid/content/ContentResolver;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -Landroid/provider/Telephony$Threads;->ID_PROJECTION:[Ljava/lang/String; -Landroid/provider/Telephony$Threads;->THREAD_ID_CONTENT_URI:Landroid/net/Uri; Landroid/R$styleable;->ActionBar:[I Landroid/R$styleable;->ActionBar_background:I Landroid/R$styleable;->ActionBar_backgroundSplit:I @@ -4071,10 +2648,6 @@ Landroid/security/KeystoreArguments;->CREATOR:Landroid/os/Parcelable$Creator; Landroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; Landroid/service/carrier/ICarrierMessagingCallback$Stub;-><init>()V Landroid/service/carrier/ICarrierMessagingService;->filterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V -Landroid/service/dreams/DreamService;->getDozeScreenBrightness()I -Landroid/service/dreams/DreamService;->setDozeScreenBrightness(I)V -Landroid/service/dreams/DreamService;->setDozeScreenState(I)V -Landroid/service/dreams/DreamService;->setWindowless(Z)V Landroid/service/dreams/IDreamManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamManager; Landroid/service/dreams/IDreamManager;->awaken()V Landroid/service/dreams/IDreamManager;->dream()V @@ -4098,46 +2671,8 @@ Landroid/service/media/IMediaBrowserServiceCallbacks;->onConnect(Ljava/lang/Stri Landroid/service/media/IMediaBrowserServiceCallbacks;->onConnectFailed()V Landroid/service/media/IMediaBrowserServiceCallbacks;->onLoadChildren(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V Landroid/service/media/IMediaBrowserServiceCallbacks;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V -Landroid/service/media/MediaBrowserService$Result;->mFlags:I -Landroid/service/media/MediaBrowserService;->KEY_MEDIA_ITEM:Ljava/lang/String; Landroid/service/notification/INotificationListener$Stub;-><init>()V -Landroid/service/notification/NotificationListenerService$Ranking;->getVisibilityOverride()I -Landroid/service/notification/NotificationListenerService;->getNotificationInterface()Landroid/app/INotificationManager; -Landroid/service/notification/NotificationListenerService;->isBound()Z -Landroid/service/notification/NotificationListenerService;->mHandler:Landroid/os/Handler; -Landroid/service/notification/NotificationListenerService;->mNoMan:Landroid/app/INotificationManager; -Landroid/service/notification/NotificationListenerService;->mWrapper:Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper; -Landroid/service/notification/NotificationListenerService;->TAG:Ljava/lang/String; -Landroid/service/notification/StatusBarNotification;->getInitialPid()I -Landroid/service/notification/StatusBarNotification;->getOpPkg()Ljava/lang/String; -Landroid/service/notification/StatusBarNotification;->getPackageContext(Landroid/content/Context;)Landroid/content/Context; -Landroid/service/notification/StatusBarNotification;->getUid()I -Landroid/service/notification/StatusBarNotification;->id:I -Landroid/service/notification/StatusBarNotification;->initialPid:I -Landroid/service/notification/StatusBarNotification;->notification:Landroid/app/Notification; -Landroid/service/notification/StatusBarNotification;->pkg:Ljava/lang/String; -Landroid/service/notification/StatusBarNotification;->postTime:J -Landroid/service/notification/StatusBarNotification;->tag:Ljava/lang/String; -Landroid/service/notification/StatusBarNotification;->uid:I -Landroid/service/notification/StatusBarNotification;->user:Landroid/os/UserHandle; -Landroid/service/notification/ZenModeConfig$ScheduleInfo;->days:[I -Landroid/service/notification/ZenModeConfig$ScheduleInfo;->endHour:I -Landroid/service/notification/ZenModeConfig$ScheduleInfo;->endMinute:I -Landroid/service/notification/ZenModeConfig$ScheduleInfo;->startHour:I -Landroid/service/notification/ZenModeConfig$ScheduleInfo;->startMinute:I -Landroid/service/notification/ZenModeConfig$ZenRule;->conditionId:Landroid/net/Uri; -Landroid/service/notification/ZenModeConfig$ZenRule;->creationTime:J -Landroid/service/notification/ZenModeConfig$ZenRule;->enabled:Z -Landroid/service/notification/ZenModeConfig$ZenRule;->name:Ljava/lang/String; -Landroid/service/notification/ZenModeConfig$ZenRule;->snoozing:Z -Landroid/service/notification/ZenModeConfig$ZenRule;->zenMode:I -Landroid/service/notification/ZenModeConfig;-><init>()V -Landroid/service/notification/ZenModeConfig;->allowAlarms:Z -Landroid/service/notification/ZenModeConfig;->automaticRules:Landroid/util/ArrayMap; -Landroid/service/notification/ZenModeConfig;->tryParseScheduleConditionId(Landroid/net/Uri;)Landroid/service/notification/ZenModeConfig$ScheduleInfo; Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/persistentdata/IPersistentDataBlockService; -Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->getCaptureSession()Ljava/lang/Integer; -Landroid/service/voice/VoiceInteractionService;->isKeyphraseAndLocaleSupportedForHotword(Ljava/lang/String;Ljava/util/Locale;)Z Landroid/service/vr/IVrManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/vr/IVrManager; Landroid/service/vr/IVrManager;->getVr2dDisplayId()I Landroid/service/vr/IVrManager;->getVrModeState()Z @@ -4148,9 +2683,6 @@ Landroid/service/wallpaper/IWallpaperEngine;->dispatchWallpaperCommand(Ljava/lan Landroid/service/wallpaper/IWallpaperEngine;->setDesiredSize(II)V Landroid/service/wallpaper/IWallpaperEngine;->setVisibility(Z)V Landroid/service/wallpaper/IWallpaperService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/wallpaper/IWallpaperService; -Landroid/service/wallpaper/WallpaperService$Engine;->mPendingXOffset:F -Landroid/service/wallpaper/WallpaperService$Engine;->setFixedSizeAllowed(Z)V -Landroid/service/wallpaper/WallpaperService;->MSG_WINDOW_RESIZED:I Landroid/speech/IRecognitionListener;->onEvent(ILandroid/os/Bundle;)V Landroid/system/Int32Ref;->value:I Landroid/system/OsConstants;-><init>()V @@ -4552,160 +3084,6 @@ Landroid/telephony/TelephonyManager;->setSimOperatorNumericForPhone(ILjava/lang/ Landroid/telephony/TelephonyManager;->setSimStateForPhone(ILjava/lang/String;)V Landroid/telephony/TelephonyManager;->setTelephonyProperty(ILjava/lang/String;Ljava/lang/String;)V Landroid/telephony/VoLteServiceState;-><init>(I)V -Landroid/text/AndroidBidi;->bidi(I[C[B)I -Landroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics; -Landroid/text/DynamicLayout;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZIIILandroid/text/TextUtils$TruncateAt;I)V -Landroid/text/DynamicLayout;->getBlockEndLines()[I -Landroid/text/DynamicLayout;->getBlockIndices()[I -Landroid/text/DynamicLayout;->getIndexFirstChangedBlock()I -Landroid/text/DynamicLayout;->getNumberOfBlocks()I -Landroid/text/DynamicLayout;->setIndexFirstChangedBlock(I)V -Landroid/text/DynamicLayout;->sStaticLayout:Landroid/text/StaticLayout; -Landroid/text/FontConfig$Family;->getFonts()[Landroid/text/FontConfig$Font; -Landroid/text/FontConfig$Family;->getName()Ljava/lang/String; -Landroid/text/FontConfig$Family;->getVariant()I -Landroid/text/FontConfig$Font;->getAxes()[Landroid/graphics/fonts/FontVariationAxis; -Landroid/text/FontConfig$Font;->getTtcIndex()I -Landroid/text/FontConfig$Font;->getWeight()I -Landroid/text/FontConfig$Font;->isItalic()Z -Landroid/text/FontConfig;->getFamilies()[Landroid/text/FontConfig$Family; -Landroid/text/format/DateFormat;->getTimeFormatString(Landroid/content/Context;)Ljava/lang/String; -Landroid/text/format/DateFormat;->getTimeFormatString(Landroid/content/Context;I)Ljava/lang/String; -Landroid/text/format/DateFormat;->hasDesignator(Ljava/lang/CharSequence;C)Z -Landroid/text/format/DateFormat;->hasSeconds(Ljava/lang/CharSequence;)Z -Landroid/text/format/DateFormat;->is24HourFormat(Landroid/content/Context;I)Z -Landroid/text/format/DateUtils;->formatDuration(J)Ljava/lang/CharSequence; -Landroid/text/format/DateUtils;->formatDuration(JI)Ljava/lang/CharSequence; -Landroid/text/format/Formatter;->formatBytes(Landroid/content/res/Resources;JI)Landroid/text/format/Formatter$BytesResult; -Landroid/text/format/Formatter;->formatShortElapsedTime(Landroid/content/Context;J)Ljava/lang/String; -Landroid/text/format/Formatter;->formatShortElapsedTimeRoundingUpToMinutes(Landroid/content/Context;J)Ljava/lang/String; -Landroid/text/Html;->withinStyle(Ljava/lang/StringBuilder;Ljava/lang/CharSequence;II)V -Landroid/text/InputFilter$LengthFilter;->mMax:I -Landroid/text/Layout$Alignment;->ALIGN_LEFT:Landroid/text/Layout$Alignment; -Landroid/text/Layout$Alignment;->ALIGN_RIGHT:Landroid/text/Layout$Alignment; -Landroid/text/Layout;->DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions; -Landroid/text/Layout;->DIRS_ALL_RIGHT_TO_LEFT:Landroid/text/Layout$Directions; -Landroid/text/Layout;->DIR_REQUEST_DEFAULT_LTR:I -Landroid/text/Layout;->drawBackground(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;III)V -Landroid/text/Layout;->drawText(Landroid/graphics/Canvas;II)V -Landroid/text/Layout;->getLineRangeForDraw(Landroid/graphics/Canvas;)J -Landroid/text/Layout;->getPrimaryHorizontal(IZ)F -Landroid/text/Layout;->getSecondaryHorizontal(IZ)F -Landroid/text/Layout;->isLevelBoundary(I)Z -Landroid/text/Layout;->mPaint:Landroid/text/TextPaint; -Landroid/text/Layout;->shouldClampCursor(I)Z -Landroid/text/method/AllCapsTransformationMethod;-><init>(Landroid/content/Context;)V -Landroid/text/method/HideReturnsTransformationMethod;->sInstance:Landroid/text/method/HideReturnsTransformationMethod; -Landroid/text/method/LinkMovementMethod;->sInstance:Landroid/text/method/LinkMovementMethod; -Landroid/text/method/MetaKeyKeyListener;->startSelecting(Landroid/view/View;Landroid/text/Spannable;)V -Landroid/text/method/MetaKeyKeyListener;->stopSelecting(Landroid/view/View;Landroid/text/Spannable;)V -Landroid/text/method/PasswordTransformationMethod;->DOT:C -Landroid/text/method/PasswordTransformationMethod;->sInstance:Landroid/text/method/PasswordTransformationMethod; -Landroid/text/method/TransformationMethod2;->setLengthChangesAllowed(Z)V -Landroid/text/method/WordIterator;-><init>(Ljava/util/Locale;)V -Landroid/text/method/WordIterator;->following(I)I -Landroid/text/method/WordIterator;->getBeginning(I)I -Landroid/text/method/WordIterator;->getEnd(I)I -Landroid/text/method/WordIterator;->getNextWordEndOnTwoWordBoundary(I)I -Landroid/text/method/WordIterator;->getPrevWordBeginningOnTwoWordsBoundary(I)I -Landroid/text/method/WordIterator;->getPunctuationBeginning(I)I -Landroid/text/method/WordIterator;->getPunctuationEnd(I)I -Landroid/text/method/WordIterator;->isAfterPunctuation(I)Z -Landroid/text/method/WordIterator;->isBoundary(I)Z -Landroid/text/method/WordIterator;->isOnPunctuation(I)Z -Landroid/text/method/WordIterator;->nextBoundary(I)I -Landroid/text/method/WordIterator;->preceding(I)I -Landroid/text/method/WordIterator;->prevBoundary(I)I -Landroid/text/method/WordIterator;->setCharSequence(Ljava/lang/CharSequence;II)V -Landroid/text/Selection;->moveToFollowing(Landroid/text/Spannable;Landroid/text/Selection$PositionIterator;Z)Z -Landroid/text/Selection;->moveToPreceding(Landroid/text/Spannable;Landroid/text/Selection$PositionIterator;Z)Z -Landroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;Z)[Ljava/lang/Object; -Landroid/text/SpannableStringBuilder;->mGapLength:I -Landroid/text/SpannableStringBuilder;->mGapStart:I -Landroid/text/SpannableStringBuilder;->mSpanCount:I -Landroid/text/SpannableStringBuilder;->mSpanEnds:[I -Landroid/text/SpannableStringBuilder;->mSpanFlags:[I -Landroid/text/SpannableStringBuilder;->mSpans:[Ljava/lang/Object; -Landroid/text/SpannableStringBuilder;->mSpanStarts:[I -Landroid/text/SpannableStringBuilder;->mText:[C -Landroid/text/SpannableStringBuilder;->sendToSpanWatchers(III)V -Landroid/text/SpannableStringBuilder;->substring(II)Ljava/lang/String; -Landroid/text/SpannableStringInternal;-><init>(Ljava/lang/CharSequence;II)V -Landroid/text/SpannableStringInternal;->checkRange(Ljava/lang/String;II)V -Landroid/text/SpannableStringInternal;->COLUMNS:I -Landroid/text/SpannableStringInternal;->copySpans(Landroid/text/SpannableStringInternal;II)V -Landroid/text/SpannableStringInternal;->copySpans(Landroid/text/Spanned;II)V -Landroid/text/SpannableStringInternal;->EMPTY:[Ljava/lang/Object; -Landroid/text/SpannableStringInternal;->END:I -Landroid/text/SpannableStringInternal;->FLAGS:I -Landroid/text/SpannableStringInternal;->getSpanEnd(Ljava/lang/Object;)I -Landroid/text/SpannableStringInternal;->getSpanFlags(Ljava/lang/Object;)I -Landroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object; -Landroid/text/SpannableStringInternal;->getSpanStart(Ljava/lang/Object;)I -Landroid/text/SpannableStringInternal;->isIndexFollowsNextLine(I)Z -Landroid/text/SpannableStringInternal;->isOutOfCopyRange(IIII)Z -Landroid/text/SpannableStringInternal;->mSpanCount:I -Landroid/text/SpannableStringInternal;->mSpanData:[I -Landroid/text/SpannableStringInternal;->mSpans:[Ljava/lang/Object; -Landroid/text/SpannableStringInternal;->mText:Ljava/lang/String; -Landroid/text/SpannableStringInternal;->nextSpanTransition(IILjava/lang/Class;)I -Landroid/text/SpannableStringInternal;->region(II)Ljava/lang/String; -Landroid/text/SpannableStringInternal;->removeSpan(Ljava/lang/Object;)V -Landroid/text/SpannableStringInternal;->sendSpanAdded(Ljava/lang/Object;II)V -Landroid/text/SpannableStringInternal;->sendSpanChanged(Ljava/lang/Object;IIII)V -Landroid/text/SpannableStringInternal;->sendSpanRemoved(Ljava/lang/Object;II)V -Landroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;III)V -Landroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;IIIZ)V -Landroid/text/SpannableStringInternal;->START:I -Landroid/text/SpanSet;->spans:[Ljava/lang/Object; -Landroid/text/StaticLayout$LineBreaks;->ascents:[F -Landroid/text/StaticLayout$LineBreaks;->breaks:[I -Landroid/text/StaticLayout$LineBreaks;->descents:[F -Landroid/text/StaticLayout$LineBreaks;->flags:[I -Landroid/text/StaticLayout$LineBreaks;->widths:[F -Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZLandroid/text/TextUtils$TruncateAt;II)V -Landroid/text/StaticLayout;->ELLIPSIS_START:I -Landroid/text/StaticLayout;->getHeight(Z)I -Landroid/text/StaticLayout;->mColumns:I -Landroid/text/StaticLayout;->mLineCount:I -Landroid/text/StaticLayout;->mLineDirections:[Landroid/text/Layout$Directions; -Landroid/text/StaticLayout;->mLines:[I -Landroid/text/StaticLayout;->mMaximumVisibleLineCount:I -Landroid/text/style/BulletSpan;->mColor:I -Landroid/text/style/BulletSpan;->mGapWidth:I -Landroid/text/style/BulletSpan;->mWantColor:Z -Landroid/text/style/DynamicDrawableSpan;->mDrawableRef:Ljava/lang/ref/WeakReference; -Landroid/text/style/EasyEditSpan;->getPendingIntent()Landroid/app/PendingIntent; -Landroid/text/style/EasyEditSpan;->isDeleteEnabled()Z -Landroid/text/style/EasyEditSpan;->setDeleteEnabled(Z)V -Landroid/text/style/ImageSpan;->mDrawable:Landroid/graphics/drawable/Drawable; -Landroid/text/style/SpellCheckSpan;-><init>()V -Landroid/text/style/SpellCheckSpan;-><init>(Landroid/os/Parcel;)V -Landroid/text/style/SpellCheckSpan;->isSpellCheckInProgress()Z -Landroid/text/style/SpellCheckSpan;->setSpellCheckInProgress(Z)V -Landroid/text/style/SuggestionRangeSpan;-><init>()V -Landroid/text/style/SuggestionRangeSpan;-><init>(Landroid/os/Parcel;)V -Landroid/text/style/SuggestionRangeSpan;->setBackgroundColor(I)V -Landroid/text/style/SuggestionSpan;->getNotificationTargetClassName()Ljava/lang/String; -Landroid/text/style/SuggestionSpan;->getUnderlineColor()I -Landroid/text/style/SuggestionSpan;->mEasyCorrectUnderlineColor:I -Landroid/text/style/SuggestionSpan;->mEasyCorrectUnderlineThickness:F -Landroid/text/style/SuggestionSpan;->notifySelection(Landroid/content/Context;Ljava/lang/String;I)V -Landroid/text/TextLine;->mCharacterStyleSpanSet:Landroid/text/SpanSet; -Landroid/text/TextLine;->mMetricAffectingSpanSpanSet:Landroid/text/SpanSet; -Landroid/text/TextLine;->mReplacementSpanSpanSet:Landroid/text/SpanSet; -Landroid/text/TextLine;->mSpanned:Landroid/text/Spanned; -Landroid/text/TextLine;->mText:Ljava/lang/CharSequence; -Landroid/text/TextLine;->obtain()Landroid/text/TextLine; -Landroid/text/TextLine;->sCached:[Landroid/text/TextLine; -Landroid/text/TextPaint;->setUnderlineText(IF)V -Landroid/text/TextPaint;->underlineColor:I -Landroid/text/TextPaint;->underlineThickness:F -Landroid/text/TextUtils$TruncateAt;->END_SMALL:Landroid/text/TextUtils$TruncateAt; -Landroid/text/TextUtils;->packRangeInLong(II)J -Landroid/text/TextUtils;->unpackRangeEndFromLong(J)I -Landroid/text/TextUtils;->unpackRangeStartFromLong(J)I -Landroid/text/util/Linkify;->gatherTelLinks(Ljava/util/ArrayList;Landroid/text/Spannable;Landroid/content/Context;)V Landroid/transition/ChangeBounds;->BOTTOM_RIGHT_ONLY_PROPERTY:Landroid/util/Property; Landroid/transition/ChangeBounds;->POSITION_PROPERTY:Landroid/util/Property; Landroid/transition/Scene;->mEnterAction:Ljava/lang/Runnable; @@ -4717,97 +3095,7 @@ Landroid/transition/Transition;->getRunningAnimators()Landroid/util/ArrayMap; Landroid/transition/TransitionManager;->getRunningTransitions()Landroid/util/ArrayMap; Landroid/transition/TransitionManager;->sPendingTransitions:Ljava/util/ArrayList; Landroid/transition/TransitionManager;->sRunningTransitions:Ljava/lang/ThreadLocal; -Landroid/util/ArrayMap;->allocArrays(I)V -Landroid/util/ArrayMap;->append(Ljava/lang/Object;Ljava/lang/Object;)V -Landroid/util/ArrayMap;->CACHE_SIZE:I -Landroid/util/ArrayMap;->EMPTY:Landroid/util/ArrayMap; -Landroid/util/ArrayMap;->EMPTY_IMMUTABLE_INTS:[I -Landroid/util/ArrayMap;->freeArrays([I[Ljava/lang/Object;I)V -Landroid/util/ArrayMap;->indexOf(Ljava/lang/Object;I)I -Landroid/util/ArrayMap;->indexOfNull()I -Landroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I -Landroid/util/ArrayMap;->mArray:[Ljava/lang/Object; -Landroid/util/ArrayMap;->mBaseCache:[Ljava/lang/Object; -Landroid/util/ArrayMap;->mBaseCacheSize:I -Landroid/util/ArrayMap;->mHashes:[I -Landroid/util/ArrayMap;->mSize:I -Landroid/util/ArrayMap;->mTwiceBaseCache:[Ljava/lang/Object; -Landroid/util/ArrayMap;->mTwiceBaseCacheSize:I -Landroid/util/ArraySet;-><init>(Ljava/util/Collection;)V -Landroid/util/ArraySet;->allocArrays(I)V -Landroid/util/ArraySet;->freeArrays([I[Ljava/lang/Object;I)V -Landroid/util/ArraySet;->indexOf(Ljava/lang/Object;I)I -Landroid/util/ArraySet;->indexOfNull()I -Landroid/util/ArraySet;->mArray:[Ljava/lang/Object; -Landroid/util/ArraySet;->mHashes:[I -Landroid/util/ArraySet;->mSize:I -Landroid/util/Base64;-><init>()V -Landroid/util/Base64OutputStream;-><init>(Ljava/io/OutputStream;IZ)V -Landroid/util/DebugUtils;->buildShortClassTag(Ljava/lang/Object;Ljava/lang/StringBuilder;)V -Landroid/util/DisplayMetrics;->DENSITY_DEVICE:I -Landroid/util/DisplayMetrics;->noncompatDensityDpi:I -Landroid/util/DisplayMetrics;->noncompatHeightPixels:I -Landroid/util/DisplayMetrics;->noncompatWidthPixels:I -Landroid/util/EventLog$Event;-><init>([B)V -Landroid/util/IconDrawableFactory;->getBadgedIcon(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable; -Landroid/util/LocalLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V -Landroid/util/Log;->println_native(IILjava/lang/String;Ljava/lang/String;)I -Landroid/util/Log;->wtf(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ZZ)I -Landroid/util/LogWriter;-><init>(ILjava/lang/String;)V -Landroid/util/LongSparseLongArray;->mKeys:[J -Landroid/util/LongSparseLongArray;->mSize:I -Landroid/util/LongSparseLongArray;->mValues:[J -Landroid/util/LruCache;->map:Ljava/util/LinkedHashMap; -Landroid/util/MathUtils;->abs(F)F -Landroid/util/MathUtils;->constrain(FFF)F -Landroid/util/MathUtils;->constrain(III)I -Landroid/util/MathUtils;->lerp(FFF)F -Landroid/util/MathUtils;->max(II)F -Landroid/util/NtpTrustedTime;->currentTimeMillis()J -Landroid/util/NtpTrustedTime;->forceRefresh()Z -Landroid/util/NtpTrustedTime;->getCachedNtpTime()J -Landroid/util/NtpTrustedTime;->getCachedNtpTimeReference()J -Landroid/util/NtpTrustedTime;->getInstance(Landroid/content/Context;)Landroid/util/NtpTrustedTime; -Landroid/util/NtpTrustedTime;->hasCache()Z -Landroid/util/PathParser;->createPathFromPathData(Ljava/lang/String;)Landroid/graphics/Path; -Landroid/util/Pools$Pool;->acquire()Ljava/lang/Object; -Landroid/util/Pools$Pool;->release(Ljava/lang/Object;)Z -Landroid/util/Pools$SimplePool;-><init>(I)V -Landroid/util/Pools$SimplePool;->acquire()Ljava/lang/Object; -Landroid/util/Pools$SimplePool;->mPool:[Ljava/lang/Object; -Landroid/util/Pools$SimplePool;->release(Ljava/lang/Object;)Z -Landroid/util/Pools$SynchronizedPool;-><init>(I)V -Landroid/util/Pools$SynchronizedPool;->acquire()Ljava/lang/Object; -Landroid/util/Pools$SynchronizedPool;->release(Ljava/lang/Object;)Z -Landroid/util/Rational;->mDenominator:I -Landroid/util/Rational;->mNumerator:I Landroid/util/Singleton;-><init>()V -Landroid/util/Singleton;->get()Ljava/lang/Object; -Landroid/util/Singleton;->mInstance:Ljava/lang/Object; -Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I -Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -Landroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I -Landroid/util/Slog;->v(Ljava/lang/String;Ljava/lang/String;)I -Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I -Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -Landroid/util/Slog;->wtf(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -Landroid/util/Slog;->wtfStack(Ljava/lang/String;Ljava/lang/String;)I -Landroid/util/SparseArray;->mKeys:[I -Landroid/util/SparseArray;->mSize:I -Landroid/util/SparseArray;->mValues:[Ljava/lang/Object; -Landroid/util/SparseBooleanArray;->mKeys:[I -Landroid/util/SparseBooleanArray;->mSize:I -Landroid/util/SparseBooleanArray;->mValues:[Z -Landroid/util/SparseIntArray;->mKeys:[I -Landroid/util/SparseIntArray;->mSize:I -Landroid/util/SparseIntArray;->mValues:[I -Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V -Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;I)V -Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String; -Landroid/util/TrustedTime;->currentTimeMillis()J -Landroid/util/TrustedTime;->forceRefresh()Z -Landroid/util/TrustedTime;->getCacheAge()J -Landroid/util/TrustedTime;->hasCache()Z Landroid/view/accessibility/AccessibilityEvent;->mAction:I Landroid/view/accessibility/AccessibilityEvent;->mEventType:I Landroid/view/accessibility/AccessibilityInteractionClient;->clearCache()V diff --git a/config/hiddenapi-vendor-list.txt b/config/hiddenapi-vendor-list.txt index d4c548dc089b..6d50eb67e75e 100644 --- a/config/hiddenapi-vendor-list.txt +++ b/config/hiddenapi-vendor-list.txt @@ -1,23 +1,3 @@ -Landroid/app/Activity;->managedQuery(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -Landroid/app/Activity;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V -Landroid/app/ActivityManager$RecentTaskInfo;->configuration:Landroid/content/res/Configuration; -Landroid/app/ActivityManager$TaskDescription;->loadTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap; -Landroid/app/ActivityManager$TaskSnapshot;->getSnapshot()Landroid/graphics/GraphicBuffer; -Landroid/app/ActivityManagerNative;->broadcastStickyIntent(Landroid/content/Intent;Ljava/lang/String;I)V -Landroid/app/ActivityOptions;->makeRemoteAnimation(Landroid/view/RemoteAnimationAdapter;)Landroid/app/ActivityOptions; -Landroid/app/ActivityOptions;->setSplitScreenCreateMode(I)V -Landroid/app/ActivityView;-><init>(Landroid/content/Context;)V -Landroid/app/ActivityView;->release()V -Landroid/app/ActivityView;->startActivity(Landroid/app/PendingIntent;)V -Landroid/app/ActivityView;->startActivity(Landroid/content/Intent;)V -Landroid/app/AppOpsManager$OpEntry;->getOp()I -Landroid/app/AppOpsManager$OpEntry;->getTime()J -Landroid/app/AppOpsManager$OpEntry;->isRunning()Z -Landroid/app/AppOpsManager$PackageOps;->getOps()Ljava/util/List; -Landroid/app/AppOpsManager$PackageOps;->getPackageName()Ljava/lang/String; -Landroid/app/AppOpsManager$PackageOps;->getUid()I -Landroid/app/AppOpsManager;->getPackagesForOps([I)Ljava/util/List; -Landroid/app/AppOpsManager;->getToken(Lcom/android/internal/app/IAppOpsService;)Landroid/os/IBinder; Landroid/app/IActivityController$Stub;-><init>()V Landroid/app/IActivityManager;->cancelRecentsAnimation(Z)V Landroid/app/IActivityManager;->cancelTaskWindowTransition(I)V @@ -39,27 +19,7 @@ Landroid/app/IAlarmManager;->setTime(J)Z Landroid/app/IAssistDataReceiver$Stub;-><init>()V Landroid/app/IAssistDataReceiver;->onHandleAssistData(Landroid/os/Bundle;)V Landroid/app/IAssistDataReceiver;->onHandleAssistScreenshot(Landroid/graphics/Bitmap;)V -Landroid/app/KeyguardManager;->isDeviceLocked(I)Z -Landroid/app/NotificationManager;->cancelAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)V -Landroid/app/StatusBarManager;->removeIcon(Ljava/lang/String;)V -Landroid/app/StatusBarManager;->setIcon(Ljava/lang/String;IILjava/lang/String;)V -Landroid/app/TaskStackListener;->onActivityDismissingDockedStack()V -Landroid/app/TaskStackListener;->onActivityForcedResizable(Ljava/lang/String;II)V -Landroid/app/TaskStackListener;->onActivityLaunchOnSecondaryDisplayFailed()V -Landroid/app/TaskStackListener;->onActivityPinned(Ljava/lang/String;III)V -Landroid/app/TaskStackListener;->onActivityRequestedOrientationChanged(II)V -Landroid/app/TaskStackListener;->onActivityUnpinned()V -Landroid/app/TaskStackListener;->onPinnedActivityRestartAttempt(Z)V -Landroid/app/TaskStackListener;->onPinnedStackAnimationEnded()V -Landroid/app/TaskStackListener;->onPinnedStackAnimationStarted()V -Landroid/app/TaskStackListener;->onTaskMovedToFront(I)V -Landroid/app/TaskStackListener;->onTaskProfileLocked(II)V -Landroid/app/TaskStackListener;->onTaskRemoved(I)V -Landroid/app/TaskStackListener;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V -Landroid/app/TaskStackListener;->onTaskStackChanged()V Landroid/app/VrStateCallback;-><init>()V -Landroid/app/VrStateCallback;->onPersistentVrStateChanged(Z)V -Landroid/app/WallpaperColors;-><init>(Landroid/graphics/Color;Landroid/graphics/Color;Landroid/graphics/Color;I)V Landroid/bluetooth/IBluetooth;->sendConnectionStateChange(Landroid/bluetooth/BluetoothDevice;III)V Landroid/companion/ICompanionDeviceDiscoveryService$Stub;-><init>()V Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;->onDeviceSelected(Ljava/lang/String;ILjava/lang/String;)V @@ -87,8 +47,6 @@ Landroid/content/pm/IPackageManager;->getApplicationInfo(Ljava/lang/String;II)La Landroid/content/pm/IPackageManager;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName; Landroid/content/pm/IPackageManager;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo; Landroid/content/pm/IPackageStatsObserver;->onGetStatsCompleted(Landroid/content/pm/PackageStats;Z)V -Landroid/database/sqlite/SqliteWrapper;->insert(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri; -Landroid/database/sqlite/SqliteWrapper;->query(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; Landroid/hardware/location/IActivityRecognitionHardwareClient;->onAvailabilityChanged(ZLandroid/hardware/location/IActivityRecognitionHardware;)V Landroid/location/IGeocodeProvider;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String; Landroid/location/IGeocodeProvider;->getFromLocationName(Ljava/lang/String;DDDDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String; @@ -97,7 +55,6 @@ Landroid/location/ILocationManager;->getNetworkProviderPackage()Ljava/lang/Strin Landroid/location/ILocationManager;->reportLocation(Landroid/location/Location;Z)V Landroid/location/INetInitiatedListener$Stub;-><init>()V Landroid/location/INetInitiatedListener;->sendNiResponse(II)Z -Landroid/location/Location;->setExtraLocation(Ljava/lang/String;Landroid/location/Location;)V Landroid/media/AudioManager;->registerAudioPortUpdateListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V Landroid/media/AudioManager;->unregisterAudioPortUpdateListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V Landroid/media/AudioSystem;->checkAudioFlinger()I @@ -122,23 +79,7 @@ Landroid/media/tv/ITvRemoteServiceInput;->sendPointerDown(Landroid/os/IBinder;II Landroid/media/tv/ITvRemoteServiceInput;->sendPointerSync(Landroid/os/IBinder;)V Landroid/media/tv/ITvRemoteServiceInput;->sendPointerUp(Landroid/os/IBinder;I)V Landroid/media/tv/ITvRemoteServiceInput;->sendTimestamp(Landroid/os/IBinder;J)V -Landroid/net/ConnectivityManager$PacketKeepalive;->stop()V Landroid/net/ConnectivityManager$PacketKeepaliveCallback;-><init>()V -Landroid/net/ConnectivityManager$PacketKeepaliveCallback;->onError(I)V -Landroid/net/ConnectivityManager$PacketKeepaliveCallback;->onStarted()V -Landroid/net/ConnectivityManager$PacketKeepaliveCallback;->onStopped()V -Landroid/net/ConnectivityManager;->getActiveNetworkQuotaInfo()Landroid/net/NetworkQuotaInfo; -Landroid/net/ConnectivityManager;->setAirplaneMode(Z)V -Landroid/net/ConnectivityManager;->startNattKeepalive(Landroid/net/Network;ILandroid/net/ConnectivityManager$PacketKeepaliveCallback;Ljava/net/InetAddress;ILjava/net/InetAddress;)Landroid/net/ConnectivityManager$PacketKeepalive; -Landroid/net/ConnectivityManager;->tether(Ljava/lang/String;)I -Landroid/net/ConnectivityManager;->untether(Ljava/lang/String;)I -Landroid/net/DhcpResults;-><init>()V -Landroid/net/DhcpResults;-><init>(Landroid/net/DhcpResults;)V -Landroid/net/DhcpResults;-><init>(Landroid/net/StaticIpConfiguration;)V -Landroid/net/DhcpResults;->leaseDuration:I -Landroid/net/DhcpResults;->mtu:I -Landroid/net/DhcpResults;->serverAddress:Ljava/net/Inet4Address; -Landroid/net/DhcpResults;->vendorInfo:Ljava/lang/String; Landroid/net/IConnectivityManager;->getAllNetworkState()[Landroid/net/NetworkState; Landroid/net/INetd$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetd; Landroid/net/INetd;->interfaceAddAddress(Ljava/lang/String;Ljava/lang/String;I)V @@ -147,149 +88,7 @@ Landroid/net/INetworkStatsService$Stub;->asInterface(Landroid/os/IBinder;)Landro Landroid/net/INetworkStatsSession;->getHistoryForNetwork(Landroid/net/NetworkTemplate;I)Landroid/net/NetworkStatsHistory; Landroid/net/INetworkStatsSession;->getHistoryForUid(Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory; Landroid/net/InterfaceConfiguration;-><init>()V -Landroid/net/InterfaceConfiguration;->setLinkAddress(Landroid/net/LinkAddress;)V -Landroid/net/LinkAddress;-><init>(Ljava/lang/String;)V -Landroid/net/LinkAddress;-><init>(Ljava/net/InetAddress;I)V -Landroid/net/LinkAddress;->isIPv6()Z -Landroid/net/LinkAddress;->isSameAddressAs(Landroid/net/LinkAddress;)Z -Landroid/net/LinkProperties$ProvisioningChange;->GAINED_PROVISIONING:Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties$ProvisioningChange;->LOST_PROVISIONING:Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties$ProvisioningChange;->STILL_NOT_PROVISIONED:Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties$ProvisioningChange;->STILL_PROVISIONED:Landroid/net/LinkProperties$ProvisioningChange; Landroid/net/LinkProperties$ProvisioningChange;->values()[Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties;-><init>()V -Landroid/net/LinkProperties;-><init>(Landroid/net/LinkProperties;)V -Landroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z -Landroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)Z -Landroid/net/LinkProperties;->addStackedLink(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->clear()V -Landroid/net/LinkProperties;->compareProvisioning(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties;->getAllInterfaceNames()Ljava/util/List; -Landroid/net/LinkProperties;->getAllRoutes()Ljava/util/List; -Landroid/net/LinkProperties;->getMtu()I -Landroid/net/LinkProperties;->getStackedLinks()Ljava/util/List; -Landroid/net/LinkProperties;->hasGlobalIPv6Address()Z -Landroid/net/LinkProperties;->hasIPv4Address()Z -Landroid/net/LinkProperties;->hasIPv4DefaultRoute()Z -Landroid/net/LinkProperties;->hasIPv4DnsServer()Z -Landroid/net/LinkProperties;->hasIPv6DefaultRoute()Z -Landroid/net/LinkProperties;->hasIPv6DnsServer()Z -Landroid/net/LinkProperties;->isIdenticalAddresses(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->isIdenticalDnses(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->isIdenticalRoutes(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->isIdenticalStackedLinks(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->isIPv6Provisioned()Z -Landroid/net/LinkProperties;->isProvisioned()Z -Landroid/net/LinkProperties;->isReachable(Ljava/net/InetAddress;)Z -Landroid/net/LinkProperties;->removeDnsServer(Ljava/net/InetAddress;)Z -Landroid/net/LinkProperties;->removeRoute(Landroid/net/RouteInfo;)Z -Landroid/net/LinkProperties;->setDnsServers(Ljava/util/Collection;)V -Landroid/net/LinkProperties;->setDomains(Ljava/lang/String;)V -Landroid/net/LinkProperties;->setInterfaceName(Ljava/lang/String;)V -Landroid/net/LinkProperties;->setLinkAddresses(Ljava/util/Collection;)V -Landroid/net/LinkProperties;->setMtu(I)V -Landroid/net/LinkProperties;->setTcpBufferSizes(Ljava/lang/String;)V -Landroid/net/MacAddress;->ALL_ZEROS_ADDRESS:Landroid/net/MacAddress; -Landroid/net/metrics/ApfProgramEvent;-><init>()V -Landroid/net/metrics/ApfProgramEvent;->actualLifetime:J -Landroid/net/metrics/ApfProgramEvent;->currentRas:I -Landroid/net/metrics/ApfProgramEvent;->filteredRas:I -Landroid/net/metrics/ApfProgramEvent;->flags:I -Landroid/net/metrics/ApfProgramEvent;->flagsFor(ZZ)I -Landroid/net/metrics/ApfProgramEvent;->lifetime:J -Landroid/net/metrics/ApfProgramEvent;->programLength:I -Landroid/net/metrics/ApfStats;-><init>()V -Landroid/net/metrics/ApfStats;->droppedRas:I -Landroid/net/metrics/ApfStats;->durationMs:J -Landroid/net/metrics/ApfStats;->matchingRas:I -Landroid/net/metrics/ApfStats;->maxProgramSize:I -Landroid/net/metrics/ApfStats;->parseErrors:I -Landroid/net/metrics/ApfStats;->programUpdates:I -Landroid/net/metrics/ApfStats;->programUpdatesAll:I -Landroid/net/metrics/ApfStats;->programUpdatesAllowingMulticast:I -Landroid/net/metrics/ApfStats;->receivedRas:I -Landroid/net/metrics/ApfStats;->zeroLifetimeRas:I -Landroid/net/metrics/DhcpClientEvent;-><init>(Ljava/lang/String;I)V -Landroid/net/metrics/DhcpErrorEvent;-><init>(I)V -Landroid/net/metrics/DhcpErrorEvent;->BOOTP_TOO_SHORT:I -Landroid/net/metrics/DhcpErrorEvent;->BUFFER_UNDERFLOW:I -Landroid/net/metrics/DhcpErrorEvent;->DHCP_BAD_MAGIC_COOKIE:I -Landroid/net/metrics/DhcpErrorEvent;->DHCP_INVALID_OPTION_LENGTH:I -Landroid/net/metrics/DhcpErrorEvent;->DHCP_NO_COOKIE:I -Landroid/net/metrics/DhcpErrorEvent;->DHCP_NO_MSG_TYPE:I -Landroid/net/metrics/DhcpErrorEvent;->DHCP_UNKNOWN_MSG_TYPE:I -Landroid/net/metrics/DhcpErrorEvent;->errorCodeWithOption(II)I -Landroid/net/metrics/DhcpErrorEvent;->L2_TOO_SHORT:I -Landroid/net/metrics/DhcpErrorEvent;->L2_WRONG_ETH_TYPE:I -Landroid/net/metrics/DhcpErrorEvent;->L3_INVALID_IP:I -Landroid/net/metrics/DhcpErrorEvent;->L3_NOT_IPV4:I -Landroid/net/metrics/DhcpErrorEvent;->L3_TOO_SHORT:I -Landroid/net/metrics/DhcpErrorEvent;->L4_NOT_UDP:I -Landroid/net/metrics/DhcpErrorEvent;->L4_WRONG_PORT:I -Landroid/net/metrics/DhcpErrorEvent;->PARSING_ERROR:I -Landroid/net/metrics/DhcpErrorEvent;->RECEIVE_ERROR:I -Landroid/net/metrics/IpConnectivityLog;-><init>()V -Landroid/net/metrics/IpConnectivityLog;->log(Landroid/os/Parcelable;)Z -Landroid/net/metrics/IpConnectivityLog;->log(Ljava/lang/String;Landroid/os/Parcelable;)Z -Landroid/net/metrics/IpManagerEvent;-><init>(IJ)V -Landroid/net/metrics/IpReachabilityEvent;-><init>(I)V -Landroid/net/metrics/IpReachabilityEvent;->nudFailureEventType(ZZ)I -Landroid/net/metrics/RaEvent$Builder;-><init>()V -Landroid/net/metrics/RaEvent$Builder;->build()Landroid/net/metrics/RaEvent; -Landroid/net/metrics/RaEvent$Builder;->updateDnsslLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/metrics/RaEvent$Builder;->updatePrefixPreferredLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/metrics/RaEvent$Builder;->updatePrefixValidLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/metrics/RaEvent$Builder;->updateRdnssLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/metrics/RaEvent$Builder;->updateRouteInfoLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/metrics/RaEvent$Builder;->updateRouterLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/Network;-><init>(I)V -Landroid/net/Network;->netId:I -Landroid/net/NetworkCapabilities;->getNetworkSpecifier()Landroid/net/NetworkSpecifier; -Landroid/net/NetworkCapabilities;->getSignalStrength()I -Landroid/net/NetworkCapabilities;->hasSignalStrength()Z -Landroid/net/NetworkCapabilities;->transportNamesOf([I)Ljava/lang/String; -Landroid/net/NetworkQuotaInfo;->getEstimatedBytes()J -Landroid/net/NetworkQuotaInfo;->getHardLimitBytes()J -Landroid/net/NetworkQuotaInfo;->getSoftLimitBytes()J -Landroid/net/NetworkRequest$Builder;->setSignalStrength(I)Landroid/net/NetworkRequest$Builder; -Landroid/net/NetworkRequest;->networkCapabilities:Landroid/net/NetworkCapabilities; -Landroid/net/NetworkState;->network:Landroid/net/Network; -Landroid/net/NetworkStats$Entry;-><init>()V -Landroid/net/NetworkStats$Entry;->iface:Ljava/lang/String; -Landroid/net/NetworkStats$Entry;->rxBytes:J -Landroid/net/NetworkStats$Entry;->rxPackets:J -Landroid/net/NetworkStats$Entry;->set:I -Landroid/net/NetworkStats$Entry;->tag:I -Landroid/net/NetworkStats$Entry;->txBytes:J -Landroid/net/NetworkStats$Entry;->txPackets:J -Landroid/net/NetworkStats$Entry;->uid:I -Landroid/net/NetworkStats;-><init>(JI)V -Landroid/net/NetworkStats;->combineValues(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats; -Landroid/net/NetworkStatsHistory$Entry;->txBytes:J -Landroid/net/NetworkStatsHistory;->getStart()J -Landroid/net/NetworkStatsHistory;->getValues(JJLandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry; -Landroid/net/NetworkTemplate;->buildTemplateMobileAll(Ljava/lang/String;)Landroid/net/NetworkTemplate; -Landroid/net/NetworkUtils;->attachControlPacketFilter(Ljava/io/FileDescriptor;I)V -Landroid/net/NetworkUtils;->attachDhcpFilter(Ljava/io/FileDescriptor;)V -Landroid/net/NetworkUtils;->attachRaFilter(Ljava/io/FileDescriptor;I)V -Landroid/net/NetworkUtils;->getImplicitNetmask(Ljava/net/Inet4Address;)I -Landroid/net/NetworkUtils;->netmaskToPrefixLength(Ljava/net/Inet4Address;)I -Landroid/net/NetworkUtils;->protectFromVpn(Ljava/io/FileDescriptor;)Z -Landroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;)V -Landroid/net/RouteInfo;->hasGateway()Z -Landroid/net/RouteInfo;->selectBestRoute(Ljava/util/Collection;Ljava/net/InetAddress;)Landroid/net/RouteInfo; -Landroid/net/SntpClient;->getNtpTime()J -Landroid/net/SntpClient;->getNtpTimeReference()J -Landroid/net/SntpClient;->getRoundTripTime()J -Landroid/net/SntpClient;->requestTime(Ljava/lang/String;I)Z -Landroid/net/StaticIpConfiguration;->dnsServers:Ljava/util/ArrayList; -Landroid/net/StaticIpConfiguration;->domains:Ljava/lang/String; -Landroid/net/StaticIpConfiguration;->getRoutes(Ljava/lang/String;)Ljava/util/List; -Landroid/net/StringNetworkSpecifier;->specifier:Ljava/lang/String; -Landroid/net/TrafficStats;->getMobileTcpRxPackets()J -Landroid/net/TrafficStats;->getMobileTcpTxPackets()J -Landroid/net/wifi/WifiInfo;->is5GHz()Z -Landroid/net/wifi/WifiInfo;->score:I Landroid/os/AsyncResult;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable; Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; @@ -358,22 +157,7 @@ Landroid/os/SystemVibrator;-><init>()V Landroid/os/UserHandle;->isSameApp(II)Z Landroid/os/UserManager;->hasUserRestriction(Ljava/lang/String;Landroid/os/UserHandle;)Z Landroid/os/UserManager;->isAdminUser()Z -Landroid/provider/CalendarContract$Events;->PROVIDER_WRITABLE_COLUMNS:[Ljava/lang/String; -Landroid/provider/ContactsContract$CommonDataKinds$Phone;->getDisplayLabel(Landroid/content/Context;ILjava/lang/CharSequence;)Ljava/lang/CharSequence; -Landroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; -Landroid/provider/Settings$Secure;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; -Landroid/provider/Telephony$Mms;->isEmailAddress(Ljava/lang/String;)Z -Landroid/provider/Telephony$Sms$Draft;->addMessage(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)Landroid/net/Uri; -Landroid/provider/Telephony$Sms$Outbox;->addMessage(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZJ)Landroid/net/Uri; Landroid/R$styleable;->CheckBoxPreference:[I -Landroid/service/dreams/DreamService;->canDoze()Z -Landroid/service/dreams/DreamService;->isDozing()Z -Landroid/service/dreams/DreamService;->startDozing()V -Landroid/service/dreams/DreamService;->stopDozing()V -Landroid/service/euicc/EuiccProfileInfo;-><init>(Ljava/lang/String;[Landroid/telephony/UiccAccessRule;Ljava/lang/String;)V -Landroid/service/euicc/GetDefaultDownloadableSubscriptionListResult;->result:I -Landroid/service/euicc/GetDownloadableSubscriptionMetadataResult;->result:I -Landroid/service/vr/VrListenerService;->onCurrentVrActivityChanged(Landroid/content/ComponentName;ZI)V Landroid/system/NetlinkSocketAddress;-><init>(II)V Landroid/system/Os;->bind(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V Landroid/system/Os;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V @@ -477,23 +261,6 @@ Landroid/telephony/TelephonyManager;->isImsRegistered()Z Landroid/telephony/TelephonyManager;->nvResetConfig(I)Z Landroid/telephony/TelephonyManager;->putIntAtIndex(Landroid/content/ContentResolver;Ljava/lang/String;II)Z Landroid/telephony/TelephonyManager;->setPreferredNetworkType(II)Z -Landroid/text/TextUtils;->isPrintableAsciiOnly(Ljava/lang/CharSequence;)Z -Landroid/util/IconDrawableFactory;->getBadgedIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;I)Landroid/graphics/drawable/Drawable; -Landroid/util/IconDrawableFactory;->newInstance(Landroid/content/Context;)Landroid/util/IconDrawableFactory; -Landroid/util/LocalLog$ReadOnlyLocalLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V -Landroid/util/LocalLog;-><init>(I)V -Landroid/util/LocalLog;->log(Ljava/lang/String;)V -Landroid/util/LocalLog;->readOnlyLocalLog()Landroid/util/LocalLog$ReadOnlyLocalLog; -Landroid/util/LongArray;-><init>()V -Landroid/util/LongArray;->add(IJ)V -Landroid/util/LongArray;->get(I)J -Landroid/util/LongArray;->size()I -Landroid/util/RecurrenceRule;->buildRecurringMonthly(ILjava/time/ZoneId;)Landroid/util/RecurrenceRule; -Landroid/util/RecurrenceRule;->start:Ljava/time/ZonedDateTime; -Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I -Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -Landroid/util/Slog;->println(ILjava/lang/String;Ljava/lang/String;)I -Landroid/util/Slog;->wtf(Ljava/lang/String;Ljava/lang/String;)I Landroid/view/AppTransitionAnimationSpec;-><init>(ILandroid/graphics/GraphicBuffer;Landroid/graphics/Rect;)V Landroid/view/BatchedInputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;Landroid/view/Choreographer;)V Landroid/view/Choreographer;->getSfInstance()Landroid/view/Choreographer; diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java index 04ff48cecdc0..831cac261d34 100644 --- a/core/java/android/app/ActionBar.java +++ b/core/java/android/app/ActionBar.java @@ -22,6 +22,7 @@ import android.annotation.LayoutRes; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.StringRes; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.res.Configuration; import android.content.res.TypedArray; @@ -210,6 +211,7 @@ public abstract class ActionBar { * Allow the title to wrap onto multiple lines if space is available * @hide pending API approval */ + @UnsupportedAppUsage public static final int DISPLAY_TITLE_MULTIPLE_LINES = 0x20; /** @@ -1050,6 +1052,7 @@ public abstract class ActionBar { } /** @hide */ + @UnsupportedAppUsage public void setShowHideAnimationEnabled(boolean enabled) { } @@ -1092,6 +1095,7 @@ public abstract class ActionBar { } /** @hide */ + @UnsupportedAppUsage public boolean collapseActionView() { return false; } diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index a6d2be0842a7..7f4ea1d0c532 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -31,6 +31,7 @@ import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.StyleRes; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.app.VoiceInteractor.Request; import android.app.admin.DevicePolicyManager; import android.app.assist.AssistContent; @@ -735,6 +736,7 @@ public class Activity extends ContextThemeWrapper */ public static final int FINISH_TASK_WITH_ACTIVITY = 2; + @UnsupportedAppUsage static final String FRAGMENTS_TAG = "android:fragments"; private static final String LAST_AUTOFILL_ID = "android:lastAutofillId"; @@ -768,22 +770,38 @@ public class Activity extends ContextThemeWrapper private SparseArray<ManagedDialog> mManagedDialogs; // set by the thread after the constructor and before onCreate(Bundle savedInstanceState) is called. + @UnsupportedAppUsage private Instrumentation mInstrumentation; + @UnsupportedAppUsage private IBinder mToken; + @UnsupportedAppUsage private int mIdent; + @UnsupportedAppUsage /*package*/ String mEmbeddedID; + @UnsupportedAppUsage private Application mApplication; + @UnsupportedAppUsage /*package*/ Intent mIntent; + @UnsupportedAppUsage /*package*/ String mReferrer; + @UnsupportedAppUsage private ComponentName mComponent; + @UnsupportedAppUsage /*package*/ ActivityInfo mActivityInfo; + @UnsupportedAppUsage /*package*/ ActivityThread mMainThread; + @UnsupportedAppUsage Activity mParent; + @UnsupportedAppUsage boolean mCalled; + @UnsupportedAppUsage /*package*/ boolean mResumed; + @UnsupportedAppUsage /*package*/ boolean mStopped; + @UnsupportedAppUsage boolean mFinished; boolean mStartedActivity; + @UnsupportedAppUsage private boolean mDestroyed; private boolean mDoReportFullyDrawn = true; private boolean mRestoredFromBundle; @@ -795,7 +813,9 @@ public class Activity extends ContextThemeWrapper /*package*/ boolean mTemporaryPause = false; /** true if the activity is being destroyed in order to recreate it with a new configuration */ /*package*/ boolean mChangingConfigurations = false; + @UnsupportedAppUsage /*package*/ int mConfigChangeFlags; + @UnsupportedAppUsage /*package*/ Configuration mCurrentConfig; private SearchManager mSearchManager; private MenuInflater mMenuInflater; @@ -810,25 +830,34 @@ public class Activity extends ContextThemeWrapper ArrayMap<String, LoaderManager> loaders; VoiceInteractor voiceInteractor; } + @UnsupportedAppUsage /* package */ NonConfigurationInstances mLastNonConfigurationInstances; + @UnsupportedAppUsage private Window mWindow; + @UnsupportedAppUsage private WindowManager mWindowManager; /*package*/ View mDecor = null; + @UnsupportedAppUsage /*package*/ boolean mWindowAdded = false; /*package*/ boolean mVisibleFromServer = false; + @UnsupportedAppUsage /*package*/ boolean mVisibleFromClient = true; /*package*/ ActionBar mActionBar = null; private boolean mEnableDefaultActionBarUp; + @UnsupportedAppUsage private VoiceInteractor mVoiceInteractor; + @UnsupportedAppUsage private CharSequence mTitle; private int mTitleColor = 0; // we must have a handler before the FragmentController is constructed + @UnsupportedAppUsage final Handler mHandler = new Handler(); + @UnsupportedAppUsage final FragmentController mFragments = FragmentController.createController(new HostCallbacks()); private static final class ManagedCursor { @@ -847,8 +876,10 @@ public class Activity extends ContextThemeWrapper private final ArrayList<ManagedCursor> mManagedCursors = new ArrayList<>(); @GuardedBy("this") + @UnsupportedAppUsage int mResultCode = RESULT_CANCELED; @GuardedBy("this") + @UnsupportedAppUsage Intent mResultData = null; private TranslucentConversionListener mTranslucentCallback; @@ -872,6 +903,7 @@ public class Activity extends ContextThemeWrapper private Thread mUiThread; + @UnsupportedAppUsage ActivityTransitionState mActivityTransitionState = new ActivityTransitionState(); SharedElementCallback mEnterTransitionListener = SharedElementCallback.NULL_CALLBACK; SharedElementCallback mExitTransitionListener = SharedElementCallback.NULL_CALLBACK; @@ -1657,6 +1689,7 @@ public class Activity extends ContextThemeWrapper * * @param outState place to store the saved state. */ + @UnsupportedAppUsage private void saveManagedDialogs(Bundle outState) { if (mManagedDialogs == null) { return; @@ -2514,6 +2547,7 @@ public class Activity extends ContextThemeWrapper * @deprecated Use {@link CursorLoader} instead. */ @Deprecated + @UnsupportedAppUsage public final Cursor managedQuery(Uri uri, String[] projection, String selection, String sortOrder) { Cursor c = getContentResolver().query(uri, projection, selection, null, sortOrder); @@ -2634,6 +2668,7 @@ public class Activity extends ContextThemeWrapper * @hide */ @Deprecated + @UnsupportedAppUsage public void setPersistent(boolean isPersistent) { } @@ -4656,6 +4691,7 @@ public class Activity extends ContextThemeWrapper /** * @hide Implement to provide correct calling token. */ + @UnsupportedAppUsage public void startActivityForResultAsUser(Intent intent, int requestCode, UserHandle user) { startActivityForResultAsUser(intent, requestCode, null, user); } @@ -4701,6 +4737,7 @@ public class Activity extends ContextThemeWrapper /** * @hide Implement to provide correct calling token. */ + @UnsupportedAppUsage public void startActivityAsUser(Intent intent, UserHandle user) { startActivityAsUser(intent, null, user); } @@ -5264,6 +5301,7 @@ public class Activity extends ContextThemeWrapper * @hide */ @Override + @UnsupportedAppUsage public void startActivityForResult( String who, Intent intent, int requestCode, @Nullable Bundle options) { Uri referrer = onProvideReferrer(); @@ -5590,6 +5628,7 @@ public class Activity extends ContextThemeWrapper * Finishes the current activity and specifies whether to remove the task associated with this * activity. */ + @UnsupportedAppUsage private void finish(int finishTask) { if (mParent == null) { int resultCode; @@ -6516,6 +6555,7 @@ public class Activity extends ContextThemeWrapper * @return The ActivityOptions passed to {@link #convertToTranslucent}. * @hide */ + @UnsupportedAppUsage ActivityOptions getActivityOptions() { try { return ActivityOptions.fromBundle( @@ -7037,10 +7077,12 @@ public class Activity extends ContextThemeWrapper // ------------------ Internal API ------------------ + @UnsupportedAppUsage final void setParent(Activity parent) { mParent = parent; } + @UnsupportedAppUsage final void attach(Context context, ActivityThread aThread, Instrumentation instr, IBinder token, int ident, Application application, Intent intent, ActivityInfo info, @@ -7113,6 +7155,7 @@ public class Activity extends ContextThemeWrapper } /** @hide */ + @UnsupportedAppUsage public final IBinder getActivityToken() { return mParent != null ? mParent.getActivityToken() : mToken; } @@ -7127,6 +7170,7 @@ public class Activity extends ContextThemeWrapper performCreate(icicle, null); } + @UnsupportedAppUsage final void performCreate(Bundle icicle, PersistableBundle persistentState) { mCanEnterPictureInPicture = true; restoreHasCurrentPermissionRequest(icicle); @@ -7427,6 +7471,7 @@ public class Activity extends ContextThemeWrapper /** * @hide */ + @UnsupportedAppUsage public final boolean isResumed() { return mResumed; } @@ -7444,6 +7489,7 @@ public class Activity extends ContextThemeWrapper } } + @UnsupportedAppUsage void dispatchActivityResult(String who, int requestCode, int resultCode, Intent data, String reason) { if (false) Log.v( @@ -7811,6 +7857,7 @@ public class Activity extends ContextThemeWrapper * @param disable {@code true} to disable preview screenshots; {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public void setDisablePreviewScreenshots(boolean disable) { try { ActivityManager.getService().setDisablePreviewScreenshots(mToken, disable); @@ -7874,6 +7921,7 @@ public class Activity extends ContextThemeWrapper * @hide */ @RequiresPermission(CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS) + @UnsupportedAppUsage public void registerRemoteAnimations(RemoteAnimationDefinition definition) { try { ActivityManager.getService().registerRemoteAnimations(mToken, definition); diff --git a/core/java/android/app/ActivityGroup.java b/core/java/android/app/ActivityGroup.java index 228067c3bf75..d4aa01b8f43e 100644 --- a/core/java/android/app/ActivityGroup.java +++ b/core/java/android/app/ActivityGroup.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.content.Intent; import android.os.Bundle; @@ -37,6 +38,7 @@ public class ActivityGroup extends Activity { * This field should be made private, so it is hidden from the SDK. * {@hide} */ + @UnsupportedAppUsage protected LocalActivityManager mLocalActivityManager; public ActivityGroup() { diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java index 83630f4c3693..55bbbc94ad5d 100644 --- a/core/java/android/app/ActivityManager.java +++ b/core/java/android/app/ActivityManager.java @@ -25,6 +25,7 @@ import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -125,6 +126,7 @@ public class ActivityManager { private static int gMaxRecentTasks = -1; + @UnsupportedAppUsage private final Context mContext; private static volatile boolean sSystemReady = false; @@ -427,6 +429,7 @@ public class ActivityManager { * for a startActivity operation. * @hide */ + @UnsupportedAppUsage public static final int INTENT_SENDER_ACTIVITY = 2; /** @@ -490,18 +493,22 @@ public class ActivityManager { /** @hide Process is hosting the current top activities. Note that this covers * all activities that are visible to the user. */ + @UnsupportedAppUsage public static final int PROCESS_STATE_TOP = 2; /** @hide Process is hosting a foreground service. */ + @UnsupportedAppUsage public static final int PROCESS_STATE_FOREGROUND_SERVICE = 3; /** @hide Process is hosting a foreground service due to a system binding. */ + @UnsupportedAppUsage public static final int PROCESS_STATE_BOUND_FOREGROUND_SERVICE = 4; /** @hide Process is important to the user, and something they are aware of. */ public static final int PROCESS_STATE_IMPORTANT_FOREGROUND = 5; /** @hide Process is important to the user, but not something they are aware of. */ + @UnsupportedAppUsage public static final int PROCESS_STATE_IMPORTANT_BACKGROUND = 6; /** @hide Process is in the background transient so we will try to keep running. */ @@ -513,12 +520,14 @@ public class ActivityManager { /** @hide Process is in the background running a service. Unlike oom_adj, this level * is used for both the normal running in background state and the executing * operations state. */ + @UnsupportedAppUsage public static final int PROCESS_STATE_SERVICE = 9; /** @hide Process is in the background running a receiver. Note that from the * perspective of oom_adj, receivers run at a higher foreground level, but for our * prioritization here that is not necessary and putting them below services means * many fewer changes in some process states as they receive broadcasts. */ + @UnsupportedAppUsage public static final int PROCESS_STATE_RECEIVER = 10; /** @hide Same as {@link #PROCESS_STATE_TOP} but while device is sleeping. */ @@ -529,12 +538,14 @@ public class ActivityManager { public static final int PROCESS_STATE_HEAVY_WEIGHT = 12; /** @hide Process is in the background but hosts the home activity. */ + @UnsupportedAppUsage public static final int PROCESS_STATE_HOME = 13; /** @hide Process is in the background but hosts the last shown activity. */ public static final int PROCESS_STATE_LAST_ACTIVITY = 14; /** @hide Process is being cached for later use and contains activities. */ + @UnsupportedAppUsage public static final int PROCESS_STATE_CACHED_ACTIVITY = 15; /** @hide Process is being cached for later use and is a client of another cached @@ -681,6 +692,7 @@ public class ActivityManager { Point mAppTaskThumbnailSize; + @UnsupportedAppUsage /*package*/ ActivityManager(Context context, Handler handler) { mContext = context; } @@ -889,6 +901,7 @@ public class ActivityManager { } /** @hide */ + @UnsupportedAppUsage static public int staticGetMemoryClass() { // Really brain dead right now -- just take this from the configured // vm heap size, and assume it is in megabytes and thus ends with "m". @@ -935,6 +948,7 @@ public class ActivityManager { } /** @hide */ + @UnsupportedAppUsage public static boolean isLowRamDeviceStatic() { return RoSystemProperties.CONFIG_LOW_RAM || (Build.IS_DEBUGGABLE && DEVELOPMENT_FORCE_LOW_RAM); @@ -958,6 +972,7 @@ public class ActivityManager { * (which tends to consume a lot more RAM). * @hide */ + @UnsupportedAppUsage static public boolean isHighEndGfx() { return !isLowRamDeviceStatic() && !RoSystemProperties.CONFIG_AVOID_GFX_ACCEL @@ -980,6 +995,7 @@ public class ActivityManager { * Return the maximum number of recents entries that we will maintain and show. * @hide */ + @UnsupportedAppUsage static public int getMaxRecentTasksStatic() { if (gMaxRecentTasks < 0) { return gMaxRecentTasks = isLowRamDeviceStatic() ? 36 : 48; @@ -1245,6 +1261,7 @@ public class ActivityManager { * Sets the icon for this task description. * @hide */ + @UnsupportedAppUsage public void setIcon(Bitmap icon) { mIcon = icon; } @@ -1297,11 +1314,13 @@ public class ActivityManager { } /** @hide */ + @UnsupportedAppUsage public Bitmap getInMemoryIcon() { return mIcon; } /** @hide */ + @UnsupportedAppUsage public static Bitmap loadTaskDescriptionIcon(String iconFilename, int userId) { if (iconFilename != null) { try { @@ -1325,6 +1344,7 @@ public class ActivityManager { * @return The background color. * @hide */ + @UnsupportedAppUsage public int getBackgroundColor() { return mColorBackground; } @@ -1489,24 +1509,28 @@ public class ActivityManager { * The id of the ActivityStack this Task was on most recently. * @hide */ + @UnsupportedAppUsage public int stackId; /** * The id of the user the task was running as. * @hide */ + @UnsupportedAppUsage public int userId; /** * The first time this task was active. * @hide */ + @UnsupportedAppUsage public long firstActiveTime; /** * The last time this task was active. * @hide */ + @UnsupportedAppUsage public long lastActiveTime; /** @@ -1525,6 +1549,7 @@ public class ActivityManager { * * @hide */ + @UnsupportedAppUsage public int affiliatedTaskColor; /** @@ -1554,18 +1579,21 @@ public class ActivityManager { * True if the task can go in the docked stack. * @hide */ + @UnsupportedAppUsage public boolean supportsSplitScreenMultiWindow; /** * The resize mode of the task. See {@link ActivityInfo#resizeMode}. * @hide */ + @UnsupportedAppUsage public int resizeMode; /** * The current configuration this task is in. * @hide */ + @UnsupportedAppUsage final public Configuration configuration = new Configuration(); public RecentTaskInfo() { @@ -2142,6 +2170,7 @@ public class ActivityManager { /** * @return The graphic buffer representing the screenshot. */ + @UnsupportedAppUsage public GraphicBuffer getSnapshot() { return mSnapshot; } @@ -2149,6 +2178,7 @@ public class ActivityManager { /** * @return The screen orientation the screenshot was taken in. */ + @UnsupportedAppUsage public int getOrientation() { return mOrientation; } @@ -2157,6 +2187,7 @@ public class ActivityManager { * @return The system/content insets on the snapshot. These can be clipped off in order to * remove any areas behind system bars in the snapshot. */ + @UnsupportedAppUsage public Rect getContentInsets() { return mContentInsets; } @@ -2164,6 +2195,7 @@ public class ActivityManager { /** * @return Whether this snapshot is a down-sampled version of the full resolution. */ + @UnsupportedAppUsage public boolean isReducedResolution() { return mReducedResolution; } @@ -2172,6 +2204,7 @@ public class ActivityManager { * @return Whether or not the snapshot is a real snapshot or an app-theme generated snapshot * due to the task having a secure window or having previews disabled. */ + @UnsupportedAppUsage public boolean isRealSnapshot() { return mIsRealSnapshot; } @@ -2202,6 +2235,7 @@ public class ActivityManager { /** * @return The scale this snapshot was taken in. */ + @UnsupportedAppUsage public float getScale() { return mScale; } @@ -2542,12 +2576,16 @@ public class ActivityManager { public boolean lowMemory; /** @hide */ + @UnsupportedAppUsage public long hiddenAppThreshold; /** @hide */ + @UnsupportedAppUsage public long secondaryServerThreshold; /** @hide */ + @UnsupportedAppUsage public long visibleAppThreshold; /** @hide */ + @UnsupportedAppUsage public long foregroundAppThreshold; public MemoryInfo() { @@ -2617,17 +2655,28 @@ public class ActivityManager { * @hide */ public static class StackInfo implements Parcelable { + @UnsupportedAppUsage public int stackId; + @UnsupportedAppUsage public Rect bounds = new Rect(); + @UnsupportedAppUsage public int[] taskIds; + @UnsupportedAppUsage public String[] taskNames; + @UnsupportedAppUsage public Rect[] taskBounds; + @UnsupportedAppUsage public int[] taskUserIds; + @UnsupportedAppUsage public ComponentName topActivity; + @UnsupportedAppUsage public int displayId; + @UnsupportedAppUsage public int userId; + @UnsupportedAppUsage public boolean visible; // Index of the stack in the display's stack list, can be used for comparison of stack order + @UnsupportedAppUsage public int position; /** * The full configuration the stack is currently running in. @@ -2717,6 +2766,7 @@ public class ActivityManager { readFromParcel(source); } + @UnsupportedAppUsage public String toString(String prefix) { StringBuilder sb = new StringBuilder(256); sb.append(prefix); sb.append("Stack id="); sb.append(stackId); @@ -2754,6 +2804,7 @@ public class ActivityManager { */ @RequiresPermission(anyOf={Manifest.permission.CLEAR_APP_USER_DATA, Manifest.permission.ACCESS_INSTANT_APPS}) + @UnsupportedAppUsage public boolean clearApplicationUserData(String packageName, IPackageDataObserver observer) { try { return getService().clearApplicationUserData(packageName, false, @@ -2978,6 +3029,7 @@ public class ActivityManager { * persistent system app. * @hide */ + @UnsupportedAppUsage public static final int FLAG_PERSISTENT = 1<<1; /** @@ -2985,6 +3037,7 @@ public class ActivityManager { * persistent system app. * @hide */ + @UnsupportedAppUsage public static final int FLAG_HAS_ACTIVITIES = 1<<2; /** @@ -2992,6 +3045,7 @@ public class ActivityManager { * {@link #FLAG_CANT_SAVE_STATE}. * @hide */ + @UnsupportedAppUsage public int flags; /** @@ -3145,6 +3199,7 @@ public class ActivityManager { * will be passed to a client, use {@link #procStateToImportanceForClient}. * @hide */ + @UnsupportedAppUsage public static @Importance int procStateToImportance(int procState) { if (procState == PROCESS_STATE_NONEXISTENT) { return IMPORTANCE_GONE; @@ -3297,6 +3352,7 @@ public class ActivityManager { * Current process state, as per PROCESS_STATE_* constants. * @hide */ + @UnsupportedAppUsage public int processState; public RunningAppProcessInfo() { @@ -3665,6 +3721,7 @@ public class ActivityManager { * it allowing them to break other applications by stopping their * services, removing their alarms, etc. */ + @UnsupportedAppUsage public void forceStopPackageAsUser(String packageName, int userId) { try { getService().forceStopPackage(packageName, userId); @@ -3841,6 +3898,7 @@ public class ActivityManager { }*/ /** @hide */ + @UnsupportedAppUsage public static int checkComponentPermission(String permission, int uid, int owningUid, boolean exported) { // Root, system server get to do everything. @@ -3948,6 +4006,7 @@ public class ActivityManager { * @param userid the user's id. Zero indicates the default user. * @hide */ + @UnsupportedAppUsage public boolean switchUser(int userid) { try { return getService().switchUser(userid); @@ -3991,6 +4050,7 @@ public class ActivityManager { * @param userId the user's id. Zero indicates the default user. * @hide */ + @UnsupportedAppUsage public boolean isUserRunning(int userId) { try { return getService().isUserRunning(userId, 0); @@ -4122,10 +4182,12 @@ public class ActivityManager { /** * @hide */ + @UnsupportedAppUsage public static IActivityManager getService() { return IActivityManagerSingleton.get(); } + @UnsupportedAppUsage private static final Singleton<IActivityManager> IActivityManagerSingleton = new Singleton<IActivityManager>() { @Override @@ -4285,6 +4347,7 @@ public class ActivityManager { * @hide */ @RequiresPermission(Manifest.permission.RESTRICTED_VR_ACCESS) + @UnsupportedAppUsage public static void setPersistentVrThread(int tid) { try { getService().setPersistentVrThread(tid); diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index 4c558f374f91..37509e18ba6f 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -15,6 +15,7 @@ */ package android.app; +import android.annotation.UnsupportedAppUsage; import android.content.Intent; import android.os.IBinder; @@ -30,6 +31,7 @@ public abstract class ActivityManagerNative { * * @deprecated use IActivityManager.Stub.asInterface instead. */ + @UnsupportedAppUsage static public IActivityManager asInterface(IBinder obj) { return IActivityManager.Stub.asInterface(obj); } @@ -39,6 +41,7 @@ public abstract class ActivityManagerNative { * * @deprecated use ActivityManager.getService instead. */ + @UnsupportedAppUsage static public IActivityManager getDefault() { return ActivityManager.getService(); } @@ -48,6 +51,7 @@ public abstract class ActivityManagerNative { * * @deprecated use ActivityManagerInternal.isSystemReady instead. */ + @UnsupportedAppUsage static public boolean isSystemReady() { return ActivityManager.isSystemReady(); } @@ -55,6 +59,7 @@ public abstract class ActivityManagerNative { /** * @deprecated use ActivityManager.broadcastStickyIntent instead. */ + @UnsupportedAppUsage static public void broadcastStickyIntent(Intent intent, String permission, int userId) { broadcastStickyIntent(intent, permission, AppOpsManager.OP_NONE, userId); } diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java index ecd99a7b5402..b2b85d442301 100644 --- a/core/java/android/app/ActivityOptions.java +++ b/core/java/android/app/ActivityOptions.java @@ -25,6 +25,7 @@ import static android.view.Display.INVALID_DISPLAY; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -357,6 +358,7 @@ public class ActivityOptions { * supply these options as the options Bundle when starting an activity. * @hide */ + @UnsupportedAppUsage public static ActivityOptions makeCustomAnimation(Context context, int enterResId, int exitResId, Handler handler, OnAnimationStartedListener listener) { ActivityOptions opts = new ActivityOptions(); @@ -582,6 +584,7 @@ public class ActivityOptions { * thumbnails are aspect scaled to/from a new location. * @hide */ + @UnsupportedAppUsage public static ActivityOptions makeMultiThumbFutureAspectScaleAnimation(Context context, Handler handler, IAppTransitionAnimationSpecsFuture specsFuture, OnAnimationStartedListener listener, boolean scaleUp) { @@ -847,6 +850,7 @@ public class ActivityOptions { * @hide */ @RequiresPermission(CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS) + @UnsupportedAppUsage public static ActivityOptions makeRemoteAnimation( RemoteAnimationAdapter remoteAnimationAdapter) { final ActivityOptions opts = new ActivityOptions(); @@ -1278,6 +1282,7 @@ public class ActivityOptions { } /** @hide */ + @UnsupportedAppUsage public void setSplitScreenCreateMode(int splitScreenCreateMode) { mSplitScreenCreateMode = splitScreenCreateMode; } diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 87b334992d2d..9c516d26bb71 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -27,6 +27,7 @@ import static android.view.Display.INVALID_DISPLAY; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.app.assist.AssistContent; import android.app.assist.AssistStructure; import android.app.backup.BackupAgent; @@ -246,42 +247,60 @@ public final class ActivityThread extends ClientTransactionHandler { @GuardedBy("mNetworkPolicyLock") private long mNetworkBlockSeq = INVALID_PROC_STATE_SEQ; + @UnsupportedAppUsage private ContextImpl mSystemContext; private ContextImpl mSystemUiContext; + @UnsupportedAppUsage static volatile IPackageManager sPackageManager; + @UnsupportedAppUsage final ApplicationThread mAppThread = new ApplicationThread(); + @UnsupportedAppUsage final Looper mLooper = Looper.myLooper(); + @UnsupportedAppUsage final H mH = new H(); final Executor mExecutor = new HandlerExecutor(mH); + @UnsupportedAppUsage final ArrayMap<IBinder, ActivityClientRecord> mActivities = new ArrayMap<>(); // List of new activities (via ActivityRecord.nextIdle) that should // be reported when next we idle. ActivityClientRecord mNewActivities = null; // Number of activities that are currently visible on-screen. + @UnsupportedAppUsage int mNumVisibleActivities = 0; ArrayList<WeakReference<AssistStructure>> mLastAssistStructures = new ArrayList<>(); private int mLastSessionId; + @UnsupportedAppUsage final ArrayMap<IBinder, Service> mServices = new ArrayMap<>(); + @UnsupportedAppUsage AppBindData mBoundApplication; Profiler mProfiler; + @UnsupportedAppUsage int mCurDefaultDisplayDpi; + @UnsupportedAppUsage boolean mDensityCompatMode; + @UnsupportedAppUsage Configuration mConfiguration; Configuration mCompatConfiguration; + @UnsupportedAppUsage Application mInitialApplication; + @UnsupportedAppUsage final ArrayList<Application> mAllApplications = new ArrayList<Application>(); // set of instantiated backup agents, keyed by package name final ArrayMap<String, BackupAgent> mBackupAgents = new ArrayMap<String, BackupAgent>(); /** Reference to singleton {@link ActivityThread} */ + @UnsupportedAppUsage private static volatile ActivityThread sCurrentActivityThread; + @UnsupportedAppUsage Instrumentation mInstrumentation; String mInstrumentationPackageName = null; + @UnsupportedAppUsage String mInstrumentationAppDir = null; String[] mInstrumentationSplitAppDirs = null; String mInstrumentationLibDir = null; + @UnsupportedAppUsage String mInstrumentedAppDir = null; String[] mInstrumentedSplitAppDirs = null; String mInstrumentedLibDir = null; @@ -301,16 +320,20 @@ public final class ActivityThread extends ClientTransactionHandler { // or window manager or anything that depends on them while holding this lock. // These LoadedApk are only valid for the userId that we're running as. @GuardedBy("mResourcesManager") + @UnsupportedAppUsage final ArrayMap<String, WeakReference<LoadedApk>> mPackages = new ArrayMap<>(); @GuardedBy("mResourcesManager") + @UnsupportedAppUsage final ArrayMap<String, WeakReference<LoadedApk>> mResourcePackages = new ArrayMap<>(); @GuardedBy("mResourcesManager") final ArrayList<ActivityClientRecord> mRelaunchingActivities = new ArrayList<>(); @GuardedBy("mResourcesManager") + @UnsupportedAppUsage Configuration mPendingConfiguration = null; // An executor that performs multi-step transactions. private final TransactionExecutor mTransactionExecutor = new TransactionExecutor(this); + @UnsupportedAppUsage private final ResourcesManager mResourcesManager; private static final class ProviderKey { @@ -338,12 +361,16 @@ public final class ActivityThread extends ClientTransactionHandler { } // The lock of mProviderMap protects the following variables. + @UnsupportedAppUsage final ArrayMap<ProviderKey, ProviderClientRecord> mProviderMap = new ArrayMap<ProviderKey, ProviderClientRecord>(); + @UnsupportedAppUsage final ArrayMap<IBinder, ProviderRefCount> mProviderRefCountMap = new ArrayMap<IBinder, ProviderRefCount>(); + @UnsupportedAppUsage final ArrayMap<IBinder, ProviderClientRecord> mLocalProviders = new ArrayMap<IBinder, ProviderClientRecord>(); + @UnsupportedAppUsage final ArrayMap<ComponentName, ProviderClientRecord> mLocalProvidersByName = new ArrayMap<ComponentName, ProviderClientRecord>(); @@ -360,26 +387,32 @@ public final class ActivityThread extends ClientTransactionHandler { final GcIdler mGcIdler = new GcIdler(); boolean mGcIdlerScheduled = false; + @UnsupportedAppUsage static volatile Handler sMainThreadHandler; // set once in main() Bundle mCoreSettings = null; /** Activity client record, used for bookkeeping for the real {@link Activity} instance. */ public static final class ActivityClientRecord { + @UnsupportedAppUsage public IBinder token; int ident; + @UnsupportedAppUsage Intent intent; String referrer; IVoiceInteractor voiceInteractor; Bundle state; PersistableBundle persistentState; + @UnsupportedAppUsage Activity activity; Window window; Activity parent; String embeddedID; Activity.NonConfigurationInstances lastNonConfigurationInstances; // TODO(lifecycler): Use mLifecycleState instead. + @UnsupportedAppUsage boolean paused; + @UnsupportedAppUsage boolean stopped; boolean hideForNow; Configuration newConfig; @@ -393,8 +426,11 @@ public final class ActivityThread extends ClientTransactionHandler { ProfilerInfo profilerInfo; + @UnsupportedAppUsage ActivityInfo activityInfo; + @UnsupportedAppUsage CompatibilityInfo compatInfo; + @UnsupportedAppUsage public LoadedApk packageInfo; List<ResultInfo> pendingResults; @@ -406,12 +442,14 @@ public final class ActivityThread extends ClientTransactionHandler { Window mPendingRemoveWindow; WindowManager mPendingRemoveWindowManager; + @UnsupportedAppUsage boolean mPreserveWindow; @LifecycleState private int mLifecycleState = PRE_ON_CREATE; @VisibleForTesting + @UnsupportedAppUsage public ActivityClientRecord() { this.isForward = false; init(); @@ -547,8 +585,11 @@ public final class ActivityThread extends ClientTransactionHandler { final class ProviderClientRecord { final String[] mNames; + @UnsupportedAppUsage final IContentProvider mProvider; + @UnsupportedAppUsage final ContentProvider mLocalProvider; + @UnsupportedAppUsage final ContentProviderHolder mHolder; ProviderClientRecord(String[] names, IContentProvider provider, @@ -568,8 +609,11 @@ public final class ActivityThread extends ClientTransactionHandler { this.intent = intent; } + @UnsupportedAppUsage Intent intent; + @UnsupportedAppUsage ActivityInfo info; + @UnsupportedAppUsage CompatibilityInfo compatInfo; public String toString() { return "ReceiverData{intent=" + intent + " packageName=" + @@ -591,9 +635,13 @@ public final class ActivityThread extends ClientTransactionHandler { } static final class CreateServiceData { + @UnsupportedAppUsage IBinder token; + @UnsupportedAppUsage ServiceInfo info; + @UnsupportedAppUsage CompatibilityInfo compatInfo; + @UnsupportedAppUsage Intent intent; public String toString() { return "CreateServiceData{token=" + token + " className=" @@ -603,7 +651,9 @@ public final class ActivityThread extends ClientTransactionHandler { } static final class BindServiceData { + @UnsupportedAppUsage IBinder token; + @UnsupportedAppUsage Intent intent; boolean rebind; public String toString() { @@ -612,10 +662,12 @@ public final class ActivityThread extends ClientTransactionHandler { } static final class ServiceArgsData { + @UnsupportedAppUsage IBinder token; boolean taskRemoved; int startId; int flags; + @UnsupportedAppUsage Intent args; public String toString() { return "ServiceArgsData{token=" + token + " startId=" + startId @@ -624,20 +676,28 @@ public final class ActivityThread extends ClientTransactionHandler { } static final class AppBindData { + @UnsupportedAppUsage LoadedApk info; + @UnsupportedAppUsage String processName; + @UnsupportedAppUsage ApplicationInfo appInfo; + @UnsupportedAppUsage List<ProviderInfo> providers; ComponentName instrumentationName; + @UnsupportedAppUsage Bundle instrumentationArgs; IInstrumentationWatcher instrumentationWatcher; IUiAutomationConnection instrumentationUiAutomationConnection; int debugMode; boolean enableBinderTracking; boolean trackAllocation; + @UnsupportedAppUsage boolean restrictedBackupMode; + @UnsupportedAppUsage boolean persistent; Configuration config; + @UnsupportedAppUsage CompatibilityInfo compatInfo; String buildSerial; @@ -1553,16 +1613,24 @@ public final class ActivityThread extends ClientTransactionHandler { class H extends Handler { public static final int BIND_APPLICATION = 110; + @UnsupportedAppUsage public static final int EXIT_APPLICATION = 111; + @UnsupportedAppUsage public static final int RECEIVER = 113; + @UnsupportedAppUsage public static final int CREATE_SERVICE = 114; + @UnsupportedAppUsage public static final int SERVICE_ARGS = 115; + @UnsupportedAppUsage public static final int STOP_SERVICE = 116; public static final int CONFIGURATION_CHANGED = 118; public static final int CLEAN_UP_CONTEXT = 119; + @UnsupportedAppUsage public static final int GC_WHEN_IDLE = 120; + @UnsupportedAppUsage public static final int BIND_SERVICE = 121; + @UnsupportedAppUsage public static final int UNBIND_SERVICE = 122; public static final int DUMP_SERVICE = 123; public static final int LOW_MEMORY = 124; @@ -1570,21 +1638,26 @@ public final class ActivityThread extends ClientTransactionHandler { public static final int CREATE_BACKUP_AGENT = 128; public static final int DESTROY_BACKUP_AGENT = 129; public static final int SUICIDE = 130; + @UnsupportedAppUsage public static final int REMOVE_PROVIDER = 131; public static final int ENABLE_JIT = 132; public static final int DISPATCH_PACKAGE_BROADCAST = 133; + @UnsupportedAppUsage public static final int SCHEDULE_CRASH = 134; public static final int DUMP_HEAP = 135; public static final int DUMP_ACTIVITY = 136; public static final int SLEEPING = 137; public static final int SET_CORE_SETTINGS = 138; public static final int UPDATE_PACKAGE_COMPATIBILITY_INFO = 139; + @UnsupportedAppUsage public static final int DUMP_PROVIDER = 141; public static final int UNSTABLE_PROVIDER_DIED = 142; public static final int REQUEST_ASSIST_CONTEXT_EXTRAS = 143; public static final int TRANSLUCENT_CONVERSION_COMPLETE = 144; + @UnsupportedAppUsage public static final int INSTALL_PROVIDER = 145; public static final int ON_NEW_ACTIVITY_OPTIONS = 146; + @UnsupportedAppUsage public static final int ENTER_ANIMATION_COMPLETE = 149; public static final int START_BINDER_TRACKING = 150; public static final int STOP_BINDER_TRACKING_AND_DUMP = 151; @@ -1873,6 +1946,7 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage public static ActivityThread currentActivityThread() { return sCurrentActivityThread; } @@ -1887,23 +1961,27 @@ public final class ActivityThread extends ClientTransactionHandler { ? am.getApplication().getOpPackageName() : null; } + @UnsupportedAppUsage public static String currentPackageName() { ActivityThread am = currentActivityThread(); return (am != null && am.mBoundApplication != null) ? am.mBoundApplication.appInfo.packageName : null; } + @UnsupportedAppUsage public static String currentProcessName() { ActivityThread am = currentActivityThread(); return (am != null && am.mBoundApplication != null) ? am.mBoundApplication.processName : null; } + @UnsupportedAppUsage public static Application currentApplication() { ActivityThread am = currentActivityThread(); return am != null ? am.mInitialApplication : null; } + @UnsupportedAppUsage public static IPackageManager getPackageManager() { if (sPackageManager != null) { //Slog.v("PackageManager", "returning cur default = " + sPackageManager); @@ -1941,10 +2019,12 @@ public final class ActivityThread extends ClientTransactionHandler { displayId, null, pkgInfo.getCompatibilityInfo(), pkgInfo.getClassLoader()); } + @UnsupportedAppUsage final Handler getHandler() { return mH; } + @UnsupportedAppUsage public final LoadedApk getPackageInfo(String packageName, CompatibilityInfo compatInfo, int flags) { return getPackageInfo(packageName, compatInfo, flags, UserHandle.myUserId()); @@ -1999,6 +2079,7 @@ public final class ActivityThread extends ClientTransactionHandler { return null; } + @UnsupportedAppUsage public final LoadedApk getPackageInfo(ApplicationInfo ai, CompatibilityInfo compatInfo, int flags) { boolean includeCode = (flags&Context.CONTEXT_INCLUDE_CODE) != 0; @@ -2026,11 +2107,13 @@ public final class ActivityThread extends ClientTransactionHandler { } @Override + @UnsupportedAppUsage public final LoadedApk getPackageInfoNoCheck(ApplicationInfo ai, CompatibilityInfo compatInfo) { return getPackageInfo(ai, compatInfo, null, false, true, false); } + @UnsupportedAppUsage public final LoadedApk peekPackageInfo(String packageName, boolean includeCode) { synchronized (mResourcesManager) { WeakReference<LoadedApk> ref; @@ -2090,15 +2173,18 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage ActivityThread() { mResourcesManager = ResourcesManager.getInstance(); } + @UnsupportedAppUsage public ApplicationThread getApplicationThread() { return mAppThread; } + @UnsupportedAppUsage public Instrumentation getInstrumentation() { return mInstrumentation; @@ -2113,6 +2199,7 @@ public final class ActivityThread extends ClientTransactionHandler { return mProfiler.profileFile; } + @UnsupportedAppUsage public Looper getLooper() { return mLooper; } @@ -2121,14 +2208,17 @@ public final class ActivityThread extends ClientTransactionHandler { return mExecutor; } + @UnsupportedAppUsage public Application getApplication() { return mInitialApplication; } + @UnsupportedAppUsage public String getProcessName() { return mBoundApplication.processName; } + @UnsupportedAppUsage public ContextImpl getSystemContext() { synchronized (this) { if (mSystemContext == null) { @@ -2164,6 +2254,7 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage void scheduleGcIdler() { if (!mGcIdlerScheduled) { mGcIdlerScheduled = true; @@ -2660,6 +2751,7 @@ public final class ActivityThread extends ClientTransactionHandler { proto.end(asToken); } + @UnsupportedAppUsage public void registerOnActivityPausedListener(Activity activity, OnActivityPausedListener listener) { synchronized (mOnPauseListeners) { @@ -2672,6 +2764,7 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage public void unregisterOnActivityPausedListener(Activity activity, OnActivityPausedListener listener) { synchronized (mOnPauseListeners) { @@ -2693,6 +2786,7 @@ public final class ActivityThread extends ClientTransactionHandler { return aInfo; } + @UnsupportedAppUsage public final Activity startActivityNow(Activity parent, String id, Intent intent, ActivityInfo activityInfo, IBinder token, Bundle state, Activity.NonConfigurationInstances lastNonConfigurationInstances) { @@ -2723,6 +2817,7 @@ public final class ActivityThread extends ClientTransactionHandler { return performLaunchActivity(r, null /* customIntent */); } + @UnsupportedAppUsage public final Activity getActivity(IBinder token) { return mActivities.get(token).activity; } @@ -2732,6 +2827,7 @@ public final class ActivityThread extends ClientTransactionHandler { return mActivities.get(token); } + @UnsupportedAppUsage public final void sendActivityResult( IBinder token, String id, int requestCode, int resultCode, Intent data) { @@ -3109,6 +3205,7 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage void performNewIntents(IBinder token, List<ReferrerIntent> intents, boolean andPause) { final ActivityClientRecord r = mActivities.get(token); if (r == null) { @@ -3329,6 +3426,7 @@ public final class ActivityThread extends ClientTransactionHandler { return sCurrentBroadcastIntent.get(); } + @UnsupportedAppUsage private void handleReceiver(ReceiverData data) { // If we are getting ready to gc after going to the background, well // we are back active so skip it. @@ -3500,6 +3598,7 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage private void handleCreateService(CreateServiceData data) { // If we are getting ready to gc after going to the background, well // we are back active so skip it. @@ -4035,6 +4134,7 @@ public final class ActivityThread extends ClientTransactionHandler { } /** Called from {@link LocalActivityManager}. */ + @UnsupportedAppUsage final void performStopActivity(IBinder token, boolean saveState, String reason) { ActivityClientRecord r = mActivities.get(token); performStopActivityInner(r, null /* stopInfo */, false /* keepShown */, saveState, @@ -5533,6 +5633,7 @@ public final class ActivityThread extends ClientTransactionHandler { LocaleList.setDefault(new LocaleList(bestLocale, newLocaleList)); } + @UnsupportedAppUsage private void handleBindApplication(AppBindData data) { // Register the UI Thread as a sensitive thread to the runtime. VMRuntime.registerSensitiveThread(); @@ -5922,6 +6023,7 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage private void installContentProviders( Context context, List<ProviderInfo> providers) { final ArrayList<ContentProviderHolder> results = new ArrayList<>(); @@ -5951,6 +6053,7 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage public final IContentProvider acquireProvider( Context c, String auth, int userId, boolean stable) { final IContentProvider provider = acquireExistingProvider(c, auth, userId, stable); @@ -6065,6 +6168,7 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage public final IContentProvider acquireExistingProvider( Context c, String auth, int userId, boolean stable) { synchronized (mProviderMap) { @@ -6095,6 +6199,7 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage public final boolean releaseProvider(IContentProvider provider, boolean stable) { if (provider == null) { return false; @@ -6227,6 +6332,7 @@ public final class ActivityThread extends ClientTransactionHandler { } } + @UnsupportedAppUsage final void handleUnstableProviderDied(IBinder provider, boolean fromClient) { synchronized (mProviderMap) { handleUnstableProviderDiedLocked(provider, fromClient); @@ -6328,6 +6434,7 @@ public final class ActivityThread extends ClientTransactionHandler { * and returns the existing provider. This can happen due to concurrent * attempts to acquire the same provider. */ + @UnsupportedAppUsage private ContentProviderHolder installProvider(Context context, ContentProviderHolder holder, ProviderInfo info, boolean noisy, boolean noReleaseNeeded, boolean stable) { @@ -6475,6 +6582,7 @@ public final class ActivityThread extends ClientTransactionHandler { System.exit(0); } + @UnsupportedAppUsage private void attach(boolean system, long startSeq) { sCurrentActivityThread = this; mSystemThread = system; @@ -6559,6 +6667,7 @@ public final class ActivityThread extends ClientTransactionHandler { ViewRootImpl.addConfigCallback(configChangedCallback); } + @UnsupportedAppUsage public static ActivityThread systemMain() { // The system process on low-memory devices do not get to use hardware // accelerated drawing, since this can add too much overhead to the @@ -6573,6 +6682,7 @@ public final class ActivityThread extends ClientTransactionHandler { return thread; } + @UnsupportedAppUsage public final void installSystemProviders(List<ProviderInfo> providers) { if (providers != null) { installContentProviders(mInitialApplication, providers); diff --git a/core/java/android/app/ActivityView.java b/core/java/android/app/ActivityView.java index e469098e22d5..612302696770 100644 --- a/core/java/android/app/ActivityView.java +++ b/core/java/android/app/ActivityView.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityManager.StackInfo; import android.content.Context; import android.content.Intent; @@ -73,6 +74,7 @@ public class ActivityView extends ViewGroup { private final CloseGuard mGuard = CloseGuard.get(); private boolean mOpened; // Protected by mGuard. + @UnsupportedAppUsage public ActivityView(Context context) { this(context, null /* attrs */); } @@ -154,6 +156,7 @@ public class ActivityView extends ViewGroup { * @see StateCallback * @see #startActivity(PendingIntent) */ + @UnsupportedAppUsage public void startActivity(@NonNull Intent intent) { final ActivityOptions options = prepareActivityOptions(); getContext().startActivity(intent, options.toBundle()); @@ -196,6 +199,7 @@ public class ActivityView extends ViewGroup { * @see StateCallback * @see #startActivity(Intent) */ + @UnsupportedAppUsage public void startActivity(@NonNull PendingIntent pendingIntent) { final ActivityOptions options = prepareActivityOptions(); try { @@ -229,6 +233,7 @@ public class ActivityView extends ViewGroup { * * @see StateCallback */ + @UnsupportedAppUsage public void release() { if (mVirtualDisplay == null) { throw new IllegalStateException( diff --git a/core/java/android/app/AlarmManager.java b/core/java/android/app/AlarmManager.java index 124f9338f781..92fbd5927244 100644 --- a/core/java/android/app/AlarmManager.java +++ b/core/java/android/app/AlarmManager.java @@ -21,6 +21,7 @@ import android.annotation.RequiresPermission; import android.annotation.SdkConstant; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.Intent; import android.os.Build; @@ -130,8 +131,10 @@ public class AlarmManager { "android.app.action.NEXT_ALARM_CLOCK_CHANGED"; /** @hide */ + @UnsupportedAppUsage public static final long WINDOW_EXACT = 0; /** @hide */ + @UnsupportedAppUsage public static final long WINDOW_HEURISTIC = -1; /** @@ -139,6 +142,7 @@ public class AlarmManager { * other alarms. * @hide */ + @UnsupportedAppUsage public static final int FLAG_STANDALONE = 1<<0; /** @@ -146,6 +150,7 @@ public class AlarmManager { * is, for example, an alarm for an alarm clock. * @hide */ + @UnsupportedAppUsage public static final int FLAG_WAKE_FROM_IDLE = 1<<1; /** @@ -166,6 +171,7 @@ public class AlarmManager { * * @hide */ + @UnsupportedAppUsage public static final int FLAG_ALLOW_WHILE_IDLE_UNRESTRICTED = 1<<3; /** @@ -175,8 +181,10 @@ public class AlarmManager { * avoids scheduling any further alarms until the marker alarm is executed. * @hide */ + @UnsupportedAppUsage public static final int FLAG_IDLE_UNTIL = 1<<4; + @UnsupportedAppUsage private final IAlarmManager mService; private final Context mContext; private final String mPackageName; @@ -629,6 +637,7 @@ public class AlarmManager { * * @hide */ + @UnsupportedAppUsage public void set(@AlarmType int type, long triggerAtMillis, long windowMillis, long intervalMillis, String tag, OnAlarmListener listener, Handler targetHandler, WorkSource workSource) { diff --git a/core/java/android/app/AlertDialog.java b/core/java/android/app/AlertDialog.java index 07b4b9c39e1e..dbc8c5d1727b 100644 --- a/core/java/android/app/AlertDialog.java +++ b/core/java/android/app/AlertDialog.java @@ -21,6 +21,7 @@ import android.annotation.AttrRes; import android.annotation.DrawableRes; import android.annotation.StringRes; import android.annotation.StyleRes; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.DialogInterface; import android.content.res.ResourceId; @@ -69,6 +70,7 @@ import com.android.internal.app.AlertController; * </div> */ public class AlertDialog extends Dialog implements DialogInterface { + @UnsupportedAppUsage private AlertController mAlert; /** @@ -449,6 +451,7 @@ public class AlertDialog extends Dialog implements DialogInterface { } public static class Builder { + @UnsupportedAppUsage private final AlertController.AlertParams P; /** @@ -1049,6 +1052,7 @@ public class AlertDialog extends Dialog implements DialogInterface { * @deprecated Set the padding on the view itself. */ @Deprecated + @UnsupportedAppUsage public Builder setView(View view, int viewSpacingLeft, int viewSpacingTop, int viewSpacingRight, int viewSpacingBottom) { P.mView = view; @@ -1080,6 +1084,7 @@ public class AlertDialog extends Dialog implements DialogInterface { /** * @hide */ + @UnsupportedAppUsage public Builder setRecycleOnMeasureEnabled(boolean enabled) { P.mRecycleOnMeasure = enabled; return this; diff --git a/core/java/android/app/AppGlobals.java b/core/java/android/app/AppGlobals.java index 2b6db8b590f8..1f737b60964c 100644 --- a/core/java/android/app/AppGlobals.java +++ b/core/java/android/app/AppGlobals.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.content.pm.IPackageManager; /** @@ -27,6 +28,7 @@ public class AppGlobals { * Return the first Application object made in the process. * NOTE: Only works on the main thread. */ + @UnsupportedAppUsage public static Application getInitialApplication() { return ActivityThread.currentApplication(); } @@ -35,6 +37,7 @@ public class AppGlobals { * Return the package name of the first .apk loaded into the process. * NOTE: Only works on the main thread. */ + @UnsupportedAppUsage public static String getInitialPackage() { return ActivityThread.currentPackageName(); } @@ -43,6 +46,7 @@ public class AppGlobals { * Return the raw interface to the package manager. * @return The package manager. */ + @UnsupportedAppUsage public static IPackageManager getPackageManager() { return ActivityThread.getPackageManager(); } diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java index c58b91e39d0f..de84281328b2 100644 --- a/core/java/android/app/AppOpsManager.java +++ b/core/java/android/app/AppOpsManager.java @@ -22,6 +22,7 @@ import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.app.usage.UsageStatsManager; import android.content.Context; import android.media.AudioAttributes.AttributeUsage; @@ -75,6 +76,7 @@ public class AppOpsManager { */ final Context mContext; + @UnsupportedAppUsage final IAppOpsService mService; final ArrayMap<OnOpChangedListener, IAppOpsCallback> mModeWatchers = new ArrayMap<>(); final ArrayMap<OnOpActiveChangedListener, IAppOpsActiveCallback> mActiveWatchers = @@ -116,6 +118,7 @@ public class AppOpsManager { * checked is currently in the foreground, otherwise {@link #MODE_IGNORED}. * @hide */ + @UnsupportedAppUsage public static final int MODE_FOREGROUND = 4; /** @@ -124,6 +127,7 @@ public class AppOpsManager { * when watching a particular op, not when watching a package. * @hide */ + @UnsupportedAppUsage public static final int WATCH_FOREGROUND_CHANGES = 1 << 0; /** @@ -193,166 +197,244 @@ public class AppOpsManager { // - add the op to the appropriate template in AppOpsState.OpsTemplate (settings app) /** @hide No operation specified. */ + @UnsupportedAppUsage public static final int OP_NONE = -1; /** @hide Access to coarse location information. */ + @UnsupportedAppUsage public static final int OP_COARSE_LOCATION = 0; /** @hide Access to fine location information. */ + @UnsupportedAppUsage public static final int OP_FINE_LOCATION = 1; /** @hide Causing GPS to run. */ + @UnsupportedAppUsage public static final int OP_GPS = 2; /** @hide */ + @UnsupportedAppUsage public static final int OP_VIBRATE = 3; /** @hide */ + @UnsupportedAppUsage public static final int OP_READ_CONTACTS = 4; /** @hide */ + @UnsupportedAppUsage public static final int OP_WRITE_CONTACTS = 5; /** @hide */ + @UnsupportedAppUsage public static final int OP_READ_CALL_LOG = 6; /** @hide */ + @UnsupportedAppUsage public static final int OP_WRITE_CALL_LOG = 7; /** @hide */ + @UnsupportedAppUsage public static final int OP_READ_CALENDAR = 8; /** @hide */ + @UnsupportedAppUsage public static final int OP_WRITE_CALENDAR = 9; /** @hide */ + @UnsupportedAppUsage public static final int OP_WIFI_SCAN = 10; /** @hide */ + @UnsupportedAppUsage public static final int OP_POST_NOTIFICATION = 11; /** @hide */ + @UnsupportedAppUsage public static final int OP_NEIGHBORING_CELLS = 12; /** @hide */ + @UnsupportedAppUsage public static final int OP_CALL_PHONE = 13; /** @hide */ + @UnsupportedAppUsage public static final int OP_READ_SMS = 14; /** @hide */ + @UnsupportedAppUsage public static final int OP_WRITE_SMS = 15; /** @hide */ + @UnsupportedAppUsage public static final int OP_RECEIVE_SMS = 16; /** @hide */ + @UnsupportedAppUsage public static final int OP_RECEIVE_EMERGECY_SMS = 17; /** @hide */ + @UnsupportedAppUsage public static final int OP_RECEIVE_MMS = 18; /** @hide */ + @UnsupportedAppUsage public static final int OP_RECEIVE_WAP_PUSH = 19; /** @hide */ + @UnsupportedAppUsage public static final int OP_SEND_SMS = 20; /** @hide */ + @UnsupportedAppUsage public static final int OP_READ_ICC_SMS = 21; /** @hide */ + @UnsupportedAppUsage public static final int OP_WRITE_ICC_SMS = 22; /** @hide */ + @UnsupportedAppUsage public static final int OP_WRITE_SETTINGS = 23; /** @hide Required to draw on top of other apps. */ @TestApi public static final int OP_SYSTEM_ALERT_WINDOW = 24; /** @hide */ + @UnsupportedAppUsage public static final int OP_ACCESS_NOTIFICATIONS = 25; /** @hide */ + @UnsupportedAppUsage public static final int OP_CAMERA = 26; /** @hide */ @TestApi public static final int OP_RECORD_AUDIO = 27; /** @hide */ + @UnsupportedAppUsage public static final int OP_PLAY_AUDIO = 28; /** @hide */ + @UnsupportedAppUsage public static final int OP_READ_CLIPBOARD = 29; /** @hide */ + @UnsupportedAppUsage public static final int OP_WRITE_CLIPBOARD = 30; /** @hide */ + @UnsupportedAppUsage public static final int OP_TAKE_MEDIA_BUTTONS = 31; /** @hide */ + @UnsupportedAppUsage public static final int OP_TAKE_AUDIO_FOCUS = 32; /** @hide */ + @UnsupportedAppUsage public static final int OP_AUDIO_MASTER_VOLUME = 33; /** @hide */ + @UnsupportedAppUsage public static final int OP_AUDIO_VOICE_VOLUME = 34; /** @hide */ + @UnsupportedAppUsage public static final int OP_AUDIO_RING_VOLUME = 35; /** @hide */ + @UnsupportedAppUsage public static final int OP_AUDIO_MEDIA_VOLUME = 36; /** @hide */ + @UnsupportedAppUsage public static final int OP_AUDIO_ALARM_VOLUME = 37; /** @hide */ + @UnsupportedAppUsage public static final int OP_AUDIO_NOTIFICATION_VOLUME = 38; /** @hide */ + @UnsupportedAppUsage public static final int OP_AUDIO_BLUETOOTH_VOLUME = 39; /** @hide */ + @UnsupportedAppUsage public static final int OP_WAKE_LOCK = 40; /** @hide Continually monitoring location data. */ + @UnsupportedAppUsage public static final int OP_MONITOR_LOCATION = 41; /** @hide Continually monitoring location data with a relatively high power request. */ + @UnsupportedAppUsage public static final int OP_MONITOR_HIGH_POWER_LOCATION = 42; /** @hide Retrieve current usage stats via {@link UsageStatsManager}. */ + @UnsupportedAppUsage public static final int OP_GET_USAGE_STATS = 43; /** @hide */ + @UnsupportedAppUsage public static final int OP_MUTE_MICROPHONE = 44; /** @hide */ + @UnsupportedAppUsage public static final int OP_TOAST_WINDOW = 45; /** @hide Capture the device's display contents and/or audio */ + @UnsupportedAppUsage public static final int OP_PROJECT_MEDIA = 46; /** @hide Activate a VPN connection without user intervention. */ + @UnsupportedAppUsage public static final int OP_ACTIVATE_VPN = 47; /** @hide Access the WallpaperManagerAPI to write wallpapers. */ + @UnsupportedAppUsage public static final int OP_WRITE_WALLPAPER = 48; /** @hide Received the assist structure from an app. */ + @UnsupportedAppUsage public static final int OP_ASSIST_STRUCTURE = 49; /** @hide Received a screenshot from assist. */ + @UnsupportedAppUsage public static final int OP_ASSIST_SCREENSHOT = 50; /** @hide Read the phone state. */ + @UnsupportedAppUsage public static final int OP_READ_PHONE_STATE = 51; /** @hide Add voicemail messages to the voicemail content provider. */ + @UnsupportedAppUsage public static final int OP_ADD_VOICEMAIL = 52; /** @hide Access APIs for SIP calling over VOIP or WiFi. */ + @UnsupportedAppUsage public static final int OP_USE_SIP = 53; /** @hide Intercept outgoing calls. */ + @UnsupportedAppUsage public static final int OP_PROCESS_OUTGOING_CALLS = 54; /** @hide User the fingerprint API. */ + @UnsupportedAppUsage public static final int OP_USE_FINGERPRINT = 55; /** @hide Access to body sensors such as heart rate, etc. */ + @UnsupportedAppUsage public static final int OP_BODY_SENSORS = 56; /** @hide Read previously received cell broadcast messages. */ + @UnsupportedAppUsage public static final int OP_READ_CELL_BROADCASTS = 57; /** @hide Inject mock location into the system. */ + @UnsupportedAppUsage public static final int OP_MOCK_LOCATION = 58; /** @hide Read external storage. */ + @UnsupportedAppUsage public static final int OP_READ_EXTERNAL_STORAGE = 59; /** @hide Write external storage. */ + @UnsupportedAppUsage public static final int OP_WRITE_EXTERNAL_STORAGE = 60; /** @hide Turned on the screen. */ + @UnsupportedAppUsage public static final int OP_TURN_SCREEN_ON = 61; /** @hide Get device accounts. */ + @UnsupportedAppUsage public static final int OP_GET_ACCOUNTS = 62; /** @hide Control whether an application is allowed to run in the background. */ + @UnsupportedAppUsage public static final int OP_RUN_IN_BACKGROUND = 63; /** @hide */ + @UnsupportedAppUsage public static final int OP_AUDIO_ACCESSIBILITY_VOLUME = 64; /** @hide Read the phone number. */ + @UnsupportedAppUsage public static final int OP_READ_PHONE_NUMBERS = 65; /** @hide Request package installs through package installer */ + @UnsupportedAppUsage public static final int OP_REQUEST_INSTALL_PACKAGES = 66; /** @hide Enter picture-in-picture. */ + @UnsupportedAppUsage public static final int OP_PICTURE_IN_PICTURE = 67; /** @hide Instant app start foreground service. */ + @UnsupportedAppUsage public static final int OP_INSTANT_APP_START_FOREGROUND = 68; /** @hide Answer incoming phone calls */ + @UnsupportedAppUsage public static final int OP_ANSWER_PHONE_CALLS = 69; /** @hide Run jobs when in background */ + @UnsupportedAppUsage public static final int OP_RUN_ANY_IN_BACKGROUND = 70; /** @hide Change Wi-Fi connectivity state */ + @UnsupportedAppUsage public static final int OP_CHANGE_WIFI_STATE = 71; /** @hide Request package deletion through package installer */ + @UnsupportedAppUsage public static final int OP_REQUEST_DELETE_PACKAGES = 72; /** @hide Bind an accessibility service. */ + @UnsupportedAppUsage public static final int OP_BIND_ACCESSIBILITY_SERVICE = 73; /** @hide Continue handover of a call from another app */ + @UnsupportedAppUsage public static final int OP_ACCEPT_HANDOVER = 74; /** @hide Create and Manage IPsec Tunnels */ + @UnsupportedAppUsage public static final int OP_MANAGE_IPSEC_TUNNELS = 75; /** @hide Any app start foreground service. */ + @UnsupportedAppUsage public static final int OP_START_FOREGROUND = 76; /** @hide */ + @UnsupportedAppUsage public static final int OP_BLUETOOTH_SCAN = 77; /** @hide */ + @UnsupportedAppUsage public static final int _NUM_OP = 78; /** Access to coarse location information. */ @@ -910,6 +992,7 @@ public class AppOpsManager { * This optionally maps a permission to an operation. If there * is no permission associated with an operation, it is null. */ + @UnsupportedAppUsage private static String[] sOpPerms = new String[] { android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION, @@ -1393,6 +1476,7 @@ public class AppOpsManager { * Retrieve the op switch that controls the given operation. * @hide */ + @UnsupportedAppUsage public static int opToSwitch(int op) { return sOpToSwitch[op]; } @@ -1401,6 +1485,7 @@ public class AppOpsManager { * Retrieve a non-localized name for the operation, for debugging output. * @hide */ + @UnsupportedAppUsage public static String opToName(int op) { if (op == OP_NONE) return "NONE"; return op < sOpNames.length ? sOpNames[op] : ("Unknown(" + op + ")"); @@ -1422,6 +1507,7 @@ public class AppOpsManager { * Retrieve the permission associated with an operation, or null if there is not one. * @hide */ + @UnsupportedAppUsage public static String opToPermission(int op) { return sOpPerms[op]; } @@ -1440,6 +1526,7 @@ public class AppOpsManager { * to the corresponding app op. * @hide */ + @UnsupportedAppUsage public static int permissionToOpCode(String permission) { Integer boxedOpCode = sPermToOp.get(permission); return boxedOpCode != null ? boxedOpCode : OP_NONE; @@ -1490,20 +1577,24 @@ public class AppOpsManager { private final int mUid; private final List<OpEntry> mEntries; + @UnsupportedAppUsage public PackageOps(String packageName, int uid, List<OpEntry> entries) { mPackageName = packageName; mUid = uid; mEntries = entries; } + @UnsupportedAppUsage public String getPackageName() { return mPackageName; } + @UnsupportedAppUsage public int getUid() { return mUid; } + @UnsupportedAppUsage public List<OpEntry> getOps() { return mEntries; } @@ -1533,6 +1624,7 @@ public class AppOpsManager { } } + @UnsupportedAppUsage public static final Creator<PackageOps> CREATOR = new Creator<PackageOps>() { @Override public PackageOps createFromParcel(Parcel source) { return new PackageOps(source); @@ -1591,26 +1683,32 @@ public class AppOpsManager { this(op, mode, times, rejectTimes, duration, duration == -1, proxyUid, proxyPackage); } + @UnsupportedAppUsage public int getOp() { return mOp; } + @UnsupportedAppUsage public int getMode() { return mMode; } + @UnsupportedAppUsage public long getTime() { return maxTime(mTimes, 0, _NUM_UID_STATE); } + @UnsupportedAppUsage public long getLastAccessTime() { return maxTime(mTimes, 0, _NUM_UID_STATE); } + @UnsupportedAppUsage public long getLastAccessForegroundTime() { return maxTime(mTimes, UID_STATE_PERSISTENT, UID_STATE_LAST_NON_RESTRICTED + 1); } + @UnsupportedAppUsage public long getLastAccessBackgroundTime() { return maxTime(mTimes, UID_STATE_LAST_NON_RESTRICTED + 1, _NUM_UID_STATE); } @@ -1619,18 +1717,22 @@ public class AppOpsManager { return mTimes[uidState]; } + @UnsupportedAppUsage public long getRejectTime() { return maxTime(mRejectTimes, 0, _NUM_UID_STATE); } + @UnsupportedAppUsage public long getLastRejectTime() { return maxTime(mRejectTimes, 0, _NUM_UID_STATE); } + @UnsupportedAppUsage public long getLastRejectForegroundTime() { return maxTime(mRejectTimes, UID_STATE_PERSISTENT, UID_STATE_LAST_NON_RESTRICTED + 1); } + @UnsupportedAppUsage public long getLastRejectBackgroundTime() { return maxTime(mRejectTimes, UID_STATE_LAST_NON_RESTRICTED + 1, _NUM_UID_STATE); } @@ -1639,10 +1741,12 @@ public class AppOpsManager { return mRejectTimes[uidState]; } + @UnsupportedAppUsage public boolean isRunning() { return mRunning; } + @UnsupportedAppUsage public int getDuration() { return mDuration; } @@ -1741,6 +1845,7 @@ public class AppOpsManager { * @hide */ @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) + @UnsupportedAppUsage public List<AppOpsManager.PackageOps> getPackagesForOps(int[] ops) { try { return mService.getPackagesForOps(ops); @@ -1758,6 +1863,7 @@ public class AppOpsManager { * @hide */ @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) + @UnsupportedAppUsage public List<AppOpsManager.PackageOps> getOpsForPackage(int uid, String packageName, int[] ops) { try { return mService.getOpsForPackage(uid, packageName, ops); @@ -1870,6 +1976,7 @@ public class AppOpsManager { * @hide */ @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES) + @UnsupportedAppUsage public void setRestriction(int code, @AttributeUsage int usage, int mode, String[] exceptionPackages) { try { @@ -1882,6 +1989,7 @@ public class AppOpsManager { /** @hide */ @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES) + @UnsupportedAppUsage public void resetAllModes() { try { mService.resetAllModes(mContext.getUserId(), null); @@ -1931,6 +2039,7 @@ public class AppOpsManager { * @param callback Where to report changes. * @hide */ + @UnsupportedAppUsage public void startWatchingMode(String op, String packageName, int flags, final OnOpChangedListener callback) { startWatchingMode(strOpToOp(op), packageName, flags, callback); @@ -2088,6 +2197,7 @@ public class AppOpsManager { /** * {@hide} */ + @UnsupportedAppUsage public static int strOpToOp(String op) { Integer val = sOpStrToOp.get(op); if (val == null) { @@ -2140,6 +2250,7 @@ public class AppOpsManager { * Does not throw a security exception, does not translate {@link #MODE_FOREGROUND}. * @hide */ + @UnsupportedAppUsage public int unsafeCheckOpRaw(String op, int uid, String packageName) { try { return mService.checkOperation(strOpToOp(op), uid, packageName); @@ -2267,6 +2378,7 @@ public class AppOpsManager { * @throws SecurityException If the app has been configured to crash on this op. * @hide */ + @UnsupportedAppUsage public int checkOp(int op, int uid, String packageName) { try { int mode = mService.checkOperation(op, uid, packageName); @@ -2284,6 +2396,7 @@ public class AppOpsManager { * returns {@link #MODE_ERRORED}. * @hide */ + @UnsupportedAppUsage public int checkOpNoThrow(int op, int uid, String packageName) { try { int mode = mService.checkOperation(op, uid, packageName); @@ -2354,6 +2467,7 @@ public class AppOpsManager { * @throws SecurityException If the app has been configured to crash on this op. * @hide */ + @UnsupportedAppUsage public int noteOp(int op, int uid, String packageName) { final int mode = noteOpNoThrow(op, uid, packageName); if (mode == MODE_ERRORED) { @@ -2380,6 +2494,7 @@ public class AppOpsManager { * * @hide */ + @UnsupportedAppUsage public int noteProxyOp(int op, String proxiedPackageName) { int mode = noteProxyOpNoThrow(op, proxiedPackageName); if (mode == MODE_ERRORED) { @@ -2410,6 +2525,7 @@ public class AppOpsManager { * returns {@link #MODE_ERRORED}. * @hide */ + @UnsupportedAppUsage public int noteOpNoThrow(int op, int uid, String packageName) { try { return mService.noteOperation(op, uid, packageName); @@ -2419,11 +2535,13 @@ public class AppOpsManager { } /** @hide */ + @UnsupportedAppUsage public int noteOp(int op) { return noteOp(op, Process.myUid(), mContext.getOpPackageName()); } /** @hide */ + @UnsupportedAppUsage public static IBinder getToken(IAppOpsService service) { synchronized (AppOpsManager.class) { if (sToken != null) { diff --git a/core/java/android/app/Application.java b/core/java/android/app/Application.java index 4531f53bd86f..9b49835c5f0d 100644 --- a/core/java/android/app/Application.java +++ b/core/java/android/app/Application.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.CallSuper; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentCallbacks; import android.content.ComponentCallbacks2; import android.content.Context; @@ -48,13 +49,17 @@ import java.util.ArrayList; */ public class Application extends ContextWrapper implements ComponentCallbacks2 { private static final String TAG = "Application"; + @UnsupportedAppUsage private ArrayList<ComponentCallbacks> mComponentCallbacks = new ArrayList<ComponentCallbacks>(); + @UnsupportedAppUsage private ArrayList<ActivityLifecycleCallbacks> mActivityLifecycleCallbacks = new ArrayList<ActivityLifecycleCallbacks>(); + @UnsupportedAppUsage private ArrayList<OnProvideAssistDataListener> mAssistCallbacks = null; /** @hide */ + @UnsupportedAppUsage public LoadedApk mLoadedApk; public interface ActivityLifecycleCallbacks { @@ -208,11 +213,13 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { /** * @hide */ + @UnsupportedAppUsage /* package */ final void attach(Context context) { attachBaseContext(context); mLoadedApk = ContextImpl.getImpl(context).mPackageInfo; } + @UnsupportedAppUsage /* package */ void dispatchActivityCreated(Activity activity, Bundle savedInstanceState) { Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { @@ -223,6 +230,7 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { } } + @UnsupportedAppUsage /* package */ void dispatchActivityStarted(Activity activity) { Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { @@ -232,6 +240,7 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { } } + @UnsupportedAppUsage /* package */ void dispatchActivityResumed(Activity activity) { Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { @@ -241,6 +250,7 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { } } + @UnsupportedAppUsage /* package */ void dispatchActivityPaused(Activity activity) { Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { @@ -250,6 +260,7 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { } } + @UnsupportedAppUsage /* package */ void dispatchActivityStopped(Activity activity) { Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { @@ -259,6 +270,7 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { } } + @UnsupportedAppUsage /* package */ void dispatchActivitySaveInstanceState(Activity activity, Bundle outState) { Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { @@ -269,6 +281,7 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { } } + @UnsupportedAppUsage /* package */ void dispatchActivityDestroyed(Activity activity) { Object[] callbacks = collectActivityLifecycleCallbacks(); if (callbacks != null) { @@ -288,6 +301,7 @@ public class Application extends ContextWrapper implements ComponentCallbacks2 { return callbacks; } + @UnsupportedAppUsage private Object[] collectActivityLifecycleCallbacks() { Object[] callbacks = null; synchronized (mActivityLifecycleCallbacks) { diff --git a/core/java/android/app/ApplicationLoaders.java b/core/java/android/app/ApplicationLoaders.java index 0ed50f2bea97..30d6beed80dd 100644 --- a/core/java/android/app/ApplicationLoaders.java +++ b/core/java/android/app/ApplicationLoaders.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.os.Build; import android.os.GraphicsEnvironment; import android.os.Trace; @@ -29,6 +30,7 @@ import java.util.Collection; /** @hide */ public class ApplicationLoaders { + @UnsupportedAppUsage public static ApplicationLoaders getDefault() { return gApplicationLoaders; } @@ -134,6 +136,7 @@ public class ApplicationLoaders { baseDexClassLoader.addNativePath(libPaths); } + @UnsupportedAppUsage private final ArrayMap<String, ClassLoader> mLoaders = new ArrayMap<>(); private static final ApplicationLoaders gApplicationLoaders = new ApplicationLoaders(); diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 0e4483312fd2..d39b2566a684 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -20,6 +20,7 @@ import android.annotation.DrawableRes; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.StringRes; +import android.annotation.UnsupportedAppUsage; import android.annotation.UserIdInt; import android.annotation.XmlRes; import android.content.ComponentName; @@ -678,6 +679,7 @@ public class ApplicationPackageManager extends PackageManager { } @Override + @UnsupportedAppUsage public boolean shouldShowRequestPermissionRationale(String permission) { try { return mPM.shouldShowRequestPermissionRationale(permission, @@ -1504,6 +1506,7 @@ public class ApplicationPackageManager extends PackageManager { } } + @UnsupportedAppUsage static void configurationChanged() { synchronized (sSync) { sIconCache.clear(); @@ -1511,6 +1514,7 @@ public class ApplicationPackageManager extends PackageManager { } } + @UnsupportedAppUsage protected ApplicationPackageManager(ContextImpl context, IPackageManager pm) { mContext = context; @@ -1935,6 +1939,7 @@ public class ApplicationPackageManager extends PackageManager { } @Override + @UnsupportedAppUsage public @Nullable VolumeInfo getPackageCurrentVolume(ApplicationInfo app) { final StorageManager storage = mContext.getSystemService(StorageManager.class); return getPackageCurrentVolume(app, storage); @@ -2088,6 +2093,7 @@ public class ApplicationPackageManager extends PackageManager { } @Override + @UnsupportedAppUsage public void deletePackage(String packageName, IPackageDeleteObserver observer, int flags) { deletePackageAsUser(packageName, observer, flags, mContext.getUserId()); } @@ -2212,6 +2218,7 @@ public class ApplicationPackageManager extends PackageManager { } @Override + @UnsupportedAppUsage public void getPackageSizeInfoAsUser(String packageName, int userHandle, IPackageStatsObserver observer) { final String msg = "Shame on you for calling the hidden API " @@ -2655,6 +2662,7 @@ public class ApplicationPackageManager extends PackageManager { } private final ContextImpl mContext; + @UnsupportedAppUsage private final IPackageManager mPM; private static final Object sSync = new Object(); diff --git a/core/java/android/app/ContentProviderHolder.java b/core/java/android/app/ContentProviderHolder.java index f9998f4a40e4..10989902fea8 100644 --- a/core/java/android/app/ContentProviderHolder.java +++ b/core/java/android/app/ContentProviderHolder.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.content.ContentProviderNative; import android.content.IContentProvider; import android.content.pm.ProviderInfo; @@ -29,11 +30,15 @@ import android.os.Parcelable; * @hide */ public class ContentProviderHolder implements Parcelable { + @UnsupportedAppUsage public final ProviderInfo info; + @UnsupportedAppUsage public IContentProvider provider; public IBinder connection; + @UnsupportedAppUsage public boolean noReleaseNeeded; + @UnsupportedAppUsage public ContentProviderHolder(ProviderInfo _info) { info = _info; } @@ -68,6 +73,7 @@ public class ContentProviderHolder implements Parcelable { } }; + @UnsupportedAppUsage private ContentProviderHolder(Parcel source) { info = ProviderInfo.CREATOR.createFromParcel(source); provider = ContentProviderNative.asInterface( diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index 95117862a8da..f950f2f23417 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -20,6 +20,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.ContentProvider; @@ -154,36 +155,50 @@ class ContextImpl extends Context { * Map from package name, to preference name, to cached preferences. */ @GuardedBy("ContextImpl.class") + @UnsupportedAppUsage private static ArrayMap<String, ArrayMap<File, SharedPreferencesImpl>> sSharedPrefsCache; /** * Map from preference name to generated path. */ @GuardedBy("ContextImpl.class") + @UnsupportedAppUsage private ArrayMap<String, File> mSharedPrefsPaths; + @UnsupportedAppUsage final @NonNull ActivityThread mMainThread; + @UnsupportedAppUsage final @NonNull LoadedApk mPackageInfo; + @UnsupportedAppUsage private @Nullable ClassLoader mClassLoader; private final @Nullable IBinder mActivityToken; private final @NonNull UserHandle mUser; + @UnsupportedAppUsage private final ApplicationContentResolver mContentResolver; + @UnsupportedAppUsage private final String mBasePackageName; + @UnsupportedAppUsage private final String mOpPackageName; private final @NonNull ResourcesManager mResourcesManager; + @UnsupportedAppUsage private @NonNull Resources mResources; private @Nullable Display mDisplay; // may be null if default display + @UnsupportedAppUsage private final int mFlags; + @UnsupportedAppUsage private Context mOuterContext; + @UnsupportedAppUsage private int mThemeResource = 0; + @UnsupportedAppUsage private Resources.Theme mTheme = null; + @UnsupportedAppUsage private PackageManager mPackageManager; private Context mReceiverRestrictedContext = null; @@ -198,6 +213,7 @@ class ContextImpl extends Context { @GuardedBy("mSync") private File mDatabasesDir; @GuardedBy("mSync") + @UnsupportedAppUsage private File mPreferencesDir; @GuardedBy("mSync") private File mFilesDir; @@ -209,6 +225,7 @@ class ContextImpl extends Context { private File mCodeCacheDir; // The system service cache for the system services that are cached per-ContextImpl. + @UnsupportedAppUsage final Object[] mServiceCache = SystemServiceRegistry.createServiceCache(); static final int STATE_UNINITIALIZED = 0; @@ -233,6 +250,7 @@ class ContextImpl extends Context { @ServiceInitializationState final int[] mServiceInitializationStateArray = new int[mServiceCache.length]; + @UnsupportedAppUsage static ContextImpl getImpl(Context context) { Context nextContext; while ((context instanceof ContextWrapper) && @@ -544,6 +562,7 @@ class ContextImpl extends Context { } } + @UnsupportedAppUsage private File getPreferencesDir() { synchronized (mSync) { if (mPreferencesDir == null) { @@ -2218,6 +2237,7 @@ class ContextImpl extends Context { } @Override + @UnsupportedAppUsage public Display getDisplay() { if (mDisplay == null) { return mResourcesManager.getAdjustedDisplay(Display.DEFAULT_DISPLAY, @@ -2315,6 +2335,7 @@ class ContextImpl extends Context { mIsAutofillCompatEnabled = autofillCompatEnabled; } + @UnsupportedAppUsage static ContextImpl createSystemContext(ActivityThread mainThread) { LoadedApk packageInfo = new LoadedApk(mainThread); ContextImpl context = new ContextImpl(null, mainThread, packageInfo, null, null, null, 0, @@ -2338,6 +2359,7 @@ class ContextImpl extends Context { return context; } + @UnsupportedAppUsage static ContextImpl createAppContext(ActivityThread mainThread, LoadedApk packageInfo) { if (packageInfo == null) throw new IllegalArgumentException("packageInfo"); ContextImpl context = new ContextImpl(null, mainThread, packageInfo, null, null, null, 0, @@ -2346,6 +2368,7 @@ class ContextImpl extends Context { return context; } + @UnsupportedAppUsage static ContextImpl createActivityContext(ActivityThread mainThread, LoadedApk packageInfo, ActivityInfo activityInfo, IBinder activityToken, int displayId, Configuration overrideConfiguration) { @@ -2460,6 +2483,7 @@ class ContextImpl extends Context { mPackageInfo.installSystemApplicationInfo(info, classLoader); } + @UnsupportedAppUsage final void scheduleFinalCleanup(String who, String what) { mMainThread.scheduleContextCleanup(this, who, what); } @@ -2469,6 +2493,7 @@ class ContextImpl extends Context { mPackageInfo.removeContextRegistrations(getOuterContext(), who, what); } + @UnsupportedAppUsage final Context getReceiverRestrictedContext() { if (mReceiverRestrictedContext != null) { return mReceiverRestrictedContext; @@ -2476,15 +2501,18 @@ class ContextImpl extends Context { return mReceiverRestrictedContext = new ReceiverRestrictedContext(getOuterContext()); } + @UnsupportedAppUsage final void setOuterContext(Context context) { mOuterContext = context; } + @UnsupportedAppUsage final Context getOuterContext() { return mOuterContext; } @Override + @UnsupportedAppUsage public IBinder getActivityToken() { return mActivityToken; } @@ -2561,6 +2589,7 @@ class ContextImpl extends Context { // ---------------------------------------------------------------------- private static final class ApplicationContentResolver extends ContentResolver { + @UnsupportedAppUsage private final ActivityThread mMainThread; public ApplicationContentResolver(Context context, ActivityThread mainThread) { @@ -2569,6 +2598,7 @@ class ContextImpl extends Context { } @Override + @UnsupportedAppUsage protected IContentProvider acquireProvider(Context context, String auth) { return mMainThread.acquireProvider(context, ContentProvider.getAuthorityWithoutUserId(auth), diff --git a/core/java/android/app/DatePickerDialog.java b/core/java/android/app/DatePickerDialog.java index bd55a06c40f5..37a05f0e1d3a 100644 --- a/core/java/android/app/DatePickerDialog.java +++ b/core/java/android/app/DatePickerDialog.java @@ -19,6 +19,7 @@ package android.app; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.StyleRes; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; @@ -47,6 +48,7 @@ public class DatePickerDialog extends AlertDialog implements OnClickListener, private static final String MONTH = "month"; private static final String DAY = "day"; + @UnsupportedAppUsage private final DatePicker mDatePicker; private OnDateSetListener mDateSetListener; diff --git a/core/java/android/app/Dialog.java b/core/java/android/app/Dialog.java index 6557ac4bea11..b7bac52178b0 100644 --- a/core/java/android/app/Dialog.java +++ b/core/java/android/app/Dialog.java @@ -24,6 +24,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.StringRes; import android.annotation.StyleRes; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.content.Context; import android.content.ContextWrapper; @@ -93,11 +94,14 @@ import java.lang.ref.WeakReference; public class Dialog implements DialogInterface, Window.Callback, KeyEvent.Callback, OnCreateContextMenuListener, Window.OnWindowDismissedCallback { private static final String TAG = "Dialog"; + @UnsupportedAppUsage private Activity mOwnerActivity; private final WindowManager mWindowManager; + @UnsupportedAppUsage final Context mContext; + @UnsupportedAppUsage final Window mWindow; View mDecor; @@ -110,22 +114,30 @@ public class Dialog implements DialogInterface, Window.Callback, protected boolean mCancelable = true; private String mCancelAndDismissTaken; + @UnsupportedAppUsage private Message mCancelMessage; + @UnsupportedAppUsage private Message mDismissMessage; + @UnsupportedAppUsage private Message mShowMessage; + @UnsupportedAppUsage private OnKeyListener mOnKeyListener; private boolean mCreated = false; + @UnsupportedAppUsage private boolean mShowing = false; private boolean mCanceled = false; + @UnsupportedAppUsage private final Handler mHandler = new Handler(); private static final int DISMISS = 0x43; + @UnsupportedAppUsage private static final int CANCEL = 0x44; private static final int SHOW = 0x45; + @UnsupportedAppUsage private final Handler mListenersHandler; private SearchEvent mSearchEvent; @@ -361,6 +373,7 @@ public class Dialog implements DialogInterface, Window.Callback, } } + @UnsupportedAppUsage void dismissDialog() { if (mDecor == null || !mShowing) { return; diff --git a/core/java/android/app/DialogFragment.java b/core/java/android/app/DialogFragment.java index 3a355d97a5c2..bfc15c221702 100644 --- a/core/java/android/app/DialogFragment.java +++ b/core/java/android/app/DialogFragment.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; @@ -182,11 +183,15 @@ public class DialogFragment extends Fragment int mTheme = 0; boolean mCancelable = true; boolean mShowsDialog = true; + @UnsupportedAppUsage int mBackStackId = -1; Dialog mDialog; + @UnsupportedAppUsage boolean mViewDestroyed; + @UnsupportedAppUsage boolean mDismissed; + @UnsupportedAppUsage boolean mShownByMe; public DialogFragment() { @@ -236,6 +241,7 @@ public class DialogFragment extends Fragment } /** {@hide} */ + @UnsupportedAppUsage public void showAllowingStateLoss(FragmentManager manager, String tag) { mDismissed = false; mShownByMe = true; diff --git a/core/java/android/app/DownloadManager.java b/core/java/android/app/DownloadManager.java index b444f17c0b69..35999a223938 100644 --- a/core/java/android/app/DownloadManager.java +++ b/core/java/android/app/DownloadManager.java @@ -21,6 +21,7 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.ContentResolver; import android.content.ContentUris; import android.content.ContentValues; @@ -329,6 +330,7 @@ public class DownloadManager { * columns to request from DownloadProvider. * @hide */ + @UnsupportedAppUsage public static final String[] UNDERLYING_COLUMNS = new String[] { Downloads.Impl._ID, Downloads.Impl._DATA + " AS " + COLUMN_LOCAL_FILENAME, @@ -381,6 +383,7 @@ public class DownloadManager { @Deprecated public static final int NETWORK_BLUETOOTH = 1 << 2; + @UnsupportedAppUsage private Uri mUri; private Uri mDestinationUri; private List<Pair<String, String>> mRequestHeaders = new ArrayList<Pair<String, String>>(); @@ -860,6 +863,7 @@ public class DownloadManager { * @return this object * @hide */ + @UnsupportedAppUsage public Query setOnlyIncludeVisibleInDownloadsUi(boolean value) { mOnlyIncludeVisibleInDownloadsUi = value; return this; @@ -875,6 +879,7 @@ public class DownloadManager { * @return this object * @hide */ + @UnsupportedAppUsage public Query orderBy(String column, int direction) { if (direction != ORDER_ASCENDING && direction != ORDER_DESCENDING) { throw new IllegalArgumentException("Invalid direction: " + direction); @@ -996,6 +1001,7 @@ public class DownloadManager { * /my_downloads URIs, for clients that have permission to do so. * @hide */ + @UnsupportedAppUsage public void setAccessAllDownloads(boolean accessAllDownloads) { if (accessAllDownloads) { mBaseUri = Downloads.Impl.ALL_DOWNLOADS_CONTENT_URI; @@ -1005,6 +1011,7 @@ public class DownloadManager { } /** {@hide} */ + @UnsupportedAppUsage public void setAccessFilename(boolean accessFilename) { mAccessFilename = accessFilename; } @@ -1439,6 +1446,7 @@ public class DownloadManager { /** * Get a parameterized SQL WHERE clause to select a bunch of IDs. */ + @UnsupportedAppUsage static String getWhereClauseForIds(long[] ids) { StringBuilder whereClause = new StringBuilder(); whereClause.append("("); @@ -1456,6 +1464,7 @@ public class DownloadManager { /** * Get the selection args for a clause returned by {@link #getWhereClauseForIds(long[])}. */ + @UnsupportedAppUsage static String[] getWhereArgsForIds(long[] ids) { String[] whereArgs = new String[ids.length]; return getWhereArgsForIds(ids, whereArgs); diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java index 8e8270a0890f..9f4157f007f1 100644 --- a/core/java/android/app/Fragment.java +++ b/core/java/android/app/Fragment.java @@ -21,6 +21,7 @@ import android.annotation.CallSuper; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.StringRes; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentCallbacks2; import android.content.Context; import android.content.Intent; @@ -263,6 +264,7 @@ import java.lang.reflect.InvocationTargetException; */ @Deprecated public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListener { + @UnsupportedAppUsage private static final ArrayMap<String, Class<?>> sClassMap = new ArrayMap<String, Class<?>>(); @@ -279,13 +281,16 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene int mState = INITIALIZING; // When instantiated from saved state, this is the saved state. + @UnsupportedAppUsage Bundle mSavedFragmentState; SparseArray<Parcelable> mSavedViewState; // Index into active fragment array. + @UnsupportedAppUsage int mIndex = -1; // Internal unique name for this fragment; + @UnsupportedAppUsage String mWho; // Construction arguments; @@ -301,6 +306,7 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene int mTargetRequestCode; // True if the fragment is in the list of added fragments. + @UnsupportedAppUsage boolean mAdded; // If set this fragment is being removed from its activity. @@ -325,12 +331,15 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene // The fragment manager we are associated with. Set as soon as the // fragment is used in a transaction; cleared after it has been removed // from all transactions. + @UnsupportedAppUsage FragmentManagerImpl mFragmentManager; // Activity this fragment is attached to. + @UnsupportedAppUsage FragmentHostCallback mHost; // Private fragment manager for child fragments inside of this one. + @UnsupportedAppUsage FragmentManagerImpl mChildFragmentManager; // For use when restoring fragment state and descendant fragments are retained. @@ -343,6 +352,7 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene // The optional identifier for this fragment -- either the container ID if it // was dynamically added to the view hierarchy, or the ID supplied in // layout. + @UnsupportedAppUsage int mFragmentId; // When a fragment is being dynamically added to the view hierarchy, this @@ -380,6 +390,7 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene ViewGroup mContainer; // The View generated for this fragment. + @UnsupportedAppUsage View mView; // Whether this fragment should defer starting until after other fragments @@ -390,6 +401,7 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene boolean mUserVisibleHint = true; LoaderManagerImpl mLoaderManager; + @UnsupportedAppUsage boolean mLoadersStarted; boolean mCheckedForLoaderManager; diff --git a/core/java/android/app/FragmentController.java b/core/java/android/app/FragmentController.java index 40bc2483aa40..9316be7a7968 100644 --- a/core/java/android/app/FragmentController.java +++ b/core/java/android/app/FragmentController.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.res.Configuration; import android.os.Bundle; @@ -43,6 +44,7 @@ import java.util.List; */ @Deprecated public class FragmentController { + @UnsupportedAppUsage private final FragmentHostCallback<?> mHost; /** diff --git a/core/java/android/app/FragmentHostCallback.java b/core/java/android/app/FragmentHostCallback.java index b48817b1554d..1a12fdc40886 100644 --- a/core/java/android/app/FragmentHostCallback.java +++ b/core/java/android/app/FragmentHostCallback.java @@ -18,6 +18,7 @@ package android.app; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.Intent; import android.content.IntentSender; @@ -56,6 +57,7 @@ public abstract class FragmentHostCallback<E> extends FragmentContainer { private LoaderManagerImpl mLoaderManager; private boolean mCheckedForLoaderManager; /** Whether or not the fragment host loader manager was started */ + @UnsupportedAppUsage private boolean mLoadersStarted; public FragmentHostCallback(Context context, Handler handler, int windowAnimations) { diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java index 708450f672ee..5e7921b6cc6f 100644 --- a/core/java/android/app/FragmentManager.java +++ b/core/java/android/app/FragmentManager.java @@ -22,6 +22,7 @@ import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.PropertyValuesHolder; import android.animation.ValueAnimator; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.res.Configuration; @@ -688,7 +689,9 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate boolean mExecutingActions; int mNextFragmentIndex = 0; + @UnsupportedAppUsage SparseArray<Fragment> mActive; + @UnsupportedAppUsage final ArrayList<Fragment> mAdded = new ArrayList<>(); ArrayList<BackStackRecord> mBackStack; ArrayList<Fragment> mCreatedMenus; @@ -708,6 +711,7 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate Fragment mPrimaryNav; boolean mNeedMenuInvalidate; + @UnsupportedAppUsage boolean mStateSaved; boolean mDestroyed; String mNoTransactionsBecause; @@ -1097,6 +1101,7 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate } } + @UnsupportedAppUsage Animator loadAnimator(Fragment fragment, int transit, boolean enter, int transitionStyle) { Animator animObj = fragment.onCreateAnimator(transit, enter, fragment.getNextAnim()); @@ -2976,6 +2981,7 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate return 0; } + @UnsupportedAppUsage public void noteStateNotSaved() { mSavedNonConfig = null; mStateSaved = false; diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java index c7618fe62c87..ab0a31575174 100644 --- a/core/java/android/app/Instrumentation.java +++ b/core/java/android/app/Instrumentation.java @@ -19,6 +19,7 @@ package android.app; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.ActivityNotFoundException; import android.content.ComponentName; import android.content.Context; @@ -1369,6 +1370,7 @@ public class Instrumentation { /** * @hide */ + @UnsupportedAppUsage public void callActivityOnNewIntent(Activity activity, ReferrerIntent intent) { final String oldReferrer = activity.mReferrer; try { @@ -1632,6 +1634,7 @@ public class Instrumentation { * * {@hide} */ + @UnsupportedAppUsage public ActivityResult execStartActivity( Context who, IBinder contextThread, IBinder token, Activity target, Intent intent, int requestCode, Bundle options) { @@ -1685,6 +1688,7 @@ public class Instrumentation { * * {@hide} */ + @UnsupportedAppUsage public void execStartActivities(Context who, IBinder contextThread, IBinder token, Activity target, Intent[] intents, Bundle options) { execStartActivitiesAsUser(who, contextThread, token, target, intents, options, @@ -1703,6 +1707,7 @@ public class Instrumentation { * * {@hide} */ + @UnsupportedAppUsage public int execStartActivitiesAsUser(Context who, IBinder contextThread, IBinder token, Activity target, Intent[] intents, Bundle options, int userId) { @@ -1774,6 +1779,7 @@ public class Instrumentation { * * {@hide} */ + @UnsupportedAppUsage public ActivityResult execStartActivity( Context who, IBinder contextThread, IBinder token, String target, Intent intent, int requestCode, Bundle options) { @@ -1841,6 +1847,7 @@ public class Instrumentation { * * {@hide} */ + @UnsupportedAppUsage public ActivityResult execStartActivity( Context who, IBinder contextThread, IBinder token, String resultWho, Intent intent, int requestCode, Bundle options, UserHandle user) { @@ -1886,6 +1893,7 @@ public class Instrumentation { * Special version! * @hide */ + @UnsupportedAppUsage public ActivityResult execStartActivityAsCaller( Context who, IBinder contextThread, IBinder token, Activity target, Intent intent, int requestCode, Bundle options, boolean ignoreTargetSecurity, @@ -1932,6 +1940,7 @@ public class Instrumentation { * Special version! * @hide */ + @UnsupportedAppUsage public void execStartActivityFromAppTask( Context who, IBinder contextThread, IAppTask appTask, Intent intent, Bundle options) { @@ -1991,6 +2000,7 @@ public class Instrumentation { } /** @hide */ + @UnsupportedAppUsage public static void checkStartActivityResult(int res, Object intent) { if (!ActivityManager.isStartResultFatalError(res)) { return; diff --git a/core/java/android/app/IntentService.java b/core/java/android/app/IntentService.java index 95ec24cdb9c5..11c747f5db17 100644 --- a/core/java/android/app/IntentService.java +++ b/core/java/android/app/IntentService.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.annotation.WorkerThread; import android.annotation.Nullable; import android.content.Intent; @@ -62,6 +63,7 @@ import android.os.Message; */ public abstract class IntentService extends Service { private volatile Looper mServiceLooper; + @UnsupportedAppUsage private volatile ServiceHandler mServiceHandler; private String mName; private boolean mRedelivery; diff --git a/core/java/android/app/KeyguardManager.java b/core/java/android/app/KeyguardManager.java index 4a3fcaf3e64e..1ab6bb9d315d 100644 --- a/core/java/android/app/KeyguardManager.java +++ b/core/java/android/app/KeyguardManager.java @@ -22,6 +22,7 @@ import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.app.trust.ITrustManager; import android.content.Context; import android.content.Intent; @@ -415,6 +416,7 @@ public class KeyguardManager { * * @hide */ + @UnsupportedAppUsage public boolean isDeviceLocked(int userId) { try { return mTrustManager.isDeviceLocked(userId); @@ -440,6 +442,7 @@ public class KeyguardManager { * * @hide */ + @UnsupportedAppUsage public boolean isDeviceSecure(int userId) { try { return mTrustManager.isDeviceSecure(userId); diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java index 494b5474ad00..ddd944186705 100644 --- a/core/java/android/app/LoadedApk.java +++ b/core/java/android/app/LoadedApk.java @@ -18,6 +18,7 @@ package android.app; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; @@ -73,12 +74,14 @@ import java.util.List; import java.util.Objects; final class IntentReceiverLeaked extends AndroidRuntimeException { + @UnsupportedAppUsage public IntentReceiverLeaked(String msg) { super(msg); } } final class ServiceConnectionLeaked extends AndroidRuntimeException { + @UnsupportedAppUsage public ServiceConnectionLeaked(String msg) { super(msg); } @@ -93,36 +96,52 @@ public final class LoadedApk { static final boolean DEBUG = false; private static final String PROPERTY_NAME_APPEND_NATIVE = "pi.append_native_lib_paths"; + @UnsupportedAppUsage private final ActivityThread mActivityThread; + @UnsupportedAppUsage final String mPackageName; + @UnsupportedAppUsage private ApplicationInfo mApplicationInfo; + @UnsupportedAppUsage private String mAppDir; + @UnsupportedAppUsage private String mResDir; private String[] mOverlayDirs; + @UnsupportedAppUsage private String mDataDir; + @UnsupportedAppUsage private String mLibDir; + @UnsupportedAppUsage private File mDataDirFile; private File mDeviceProtectedDataDirFile; private File mCredentialProtectedDataDirFile; + @UnsupportedAppUsage private final ClassLoader mBaseClassLoader; private final boolean mSecurityViolation; private final boolean mIncludeCode; private final boolean mRegisterPackage; + @UnsupportedAppUsage private final DisplayAdjustments mDisplayAdjustments = new DisplayAdjustments(); /** WARNING: This may change. Don't hold external references to it. */ + @UnsupportedAppUsage Resources mResources; + @UnsupportedAppUsage private ClassLoader mClassLoader; + @UnsupportedAppUsage private Application mApplication; private String[] mSplitNames; private String[] mSplitAppDirs; + @UnsupportedAppUsage private String[] mSplitResDirs; private String[] mSplitClassLoaderNames; + @UnsupportedAppUsage private final ArrayMap<Context, ArrayMap<BroadcastReceiver, ReceiverDispatcher>> mReceivers = new ArrayMap<>(); private final ArrayMap<Context, ArrayMap<BroadcastReceiver, LoadedApk.ReceiverDispatcher>> mUnregisteredReceivers = new ArrayMap<>(); + @UnsupportedAppUsage private final ArrayMap<Context, ArrayMap<ServiceConnection, LoadedApk.ServiceDispatcher>> mServices = new ArrayMap<>(); private final ArrayMap<Context, ArrayMap<ServiceConnection, LoadedApk.ServiceDispatcher>> mUnboundServices @@ -236,10 +255,12 @@ public final class LoadedApk { return mAppComponentFactory; } + @UnsupportedAppUsage public String getPackageName() { return mPackageName; } + @UnsupportedAppUsage public ApplicationInfo getApplicationInfo() { return mApplicationInfo; } @@ -252,6 +273,7 @@ public final class LoadedApk { return mSecurityViolation; } + @UnsupportedAppUsage public CompatibilityInfo getCompatibilityInfo() { return mDisplayAdjustments.getCompatibilityInfo(); } @@ -804,6 +826,7 @@ public final class LoadedApk { } } + @UnsupportedAppUsage public ClassLoader getClassLoader() { synchronized (this) { if (mClassLoader == null) { @@ -972,6 +995,7 @@ public final class LoadedApk { } } + @UnsupportedAppUsage public String getAppDir() { return mAppDir; } @@ -980,6 +1004,7 @@ public final class LoadedApk { return mLibDir; } + @UnsupportedAppUsage public String getResDir() { return mResDir; } @@ -988,10 +1013,12 @@ public final class LoadedApk { return mSplitAppDirs; } + @UnsupportedAppUsage public String[] getSplitResDirs() { return mSplitResDirs; } + @UnsupportedAppUsage public String[] getOverlayDirs() { return mOverlayDirs; } @@ -1000,6 +1027,7 @@ public final class LoadedApk { return mDataDir; } + @UnsupportedAppUsage public File getDataDirFile() { return mDataDirFile; } @@ -1012,10 +1040,12 @@ public final class LoadedApk { return mCredentialProtectedDataDirFile; } + @UnsupportedAppUsage public AssetManager getAssets() { return getResources().getAssets(); } + @UnsupportedAppUsage public Resources getResources() { if (mResources == null) { final String[] splitPaths; @@ -1034,6 +1064,7 @@ public final class LoadedApk { return mResources; } + @UnsupportedAppUsage public Application makeApplication(boolean forceDefaultAppClass, Instrumentation instrumentation) { if (mApplication != null) { @@ -1102,6 +1133,7 @@ public final class LoadedApk { return app; } + @UnsupportedAppUsage private void rewriteRValues(ClassLoader cl, String packageName, int id) { final Class<?> rClazz; try { @@ -1324,7 +1356,9 @@ public final class LoadedApk { } final IIntentReceiver.Stub mIIntentReceiver; + @UnsupportedAppUsage final BroadcastReceiver mReceiver; + @UnsupportedAppUsage final Context mContext; final Handler mActivityThread; final Instrumentation mInstrumentation; @@ -1448,10 +1482,12 @@ public final class LoadedApk { return mLocation; } + @UnsupportedAppUsage BroadcastReceiver getIntentReceiver() { return mReceiver; } + @UnsupportedAppUsage IIntentReceiver getIIntentReceiver() { return mIIntentReceiver; } @@ -1489,6 +1525,7 @@ public final class LoadedApk { } + @UnsupportedAppUsage public final IServiceConnection getServiceDispatcher(ServiceConnection c, Context context, Handler handler, int flags) { synchronized (mServices) { @@ -1566,7 +1603,9 @@ public final class LoadedApk { static final class ServiceDispatcher { private final ServiceDispatcher.InnerConnection mIServiceConnection; + @UnsupportedAppUsage private final ServiceConnection mConnection; + @UnsupportedAppUsage private final Context mContext; private final Handler mActivityThread; private final ServiceConnectionLeaked mLocation; @@ -1582,6 +1621,7 @@ public final class LoadedApk { } private static class InnerConnection extends IServiceConnection.Stub { + @UnsupportedAppUsage final WeakReference<LoadedApk.ServiceDispatcher> mDispatcher; InnerConnection(LoadedApk.ServiceDispatcher sd) { @@ -1600,6 +1640,7 @@ public final class LoadedApk { private final ArrayMap<ComponentName, ServiceDispatcher.ConnectionInfo> mActiveConnections = new ArrayMap<ComponentName, ServiceDispatcher.ConnectionInfo>(); + @UnsupportedAppUsage ServiceDispatcher(ServiceConnection conn, Context context, Handler activityThread, int flags) { mIServiceConnection = new InnerConnection(this); @@ -1645,6 +1686,7 @@ public final class LoadedApk { return mConnection; } + @UnsupportedAppUsage IServiceConnection getIServiceConnection() { return mIServiceConnection; } diff --git a/core/java/android/app/LocalActivityManager.java b/core/java/android/app/LocalActivityManager.java index e297719f9e4c..a52fb1a07b84 100644 --- a/core/java/android/app/LocalActivityManager.java +++ b/core/java/android/app/LocalActivityManager.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityThread.ActivityClientRecord; import android.app.servertransaction.PendingTransactionActions; import android.content.Intent; @@ -73,18 +74,23 @@ public class LocalActivityManager { /** Thread our activities are running in. */ private final ActivityThread mActivityThread; /** The containing activity that owns the activities we create. */ + @UnsupportedAppUsage private final Activity mParent; /** The activity that is currently resumed. */ + @UnsupportedAppUsage private LocalActivityRecord mResumed; /** id -> record of all known activities. */ + @UnsupportedAppUsage private final Map<String, LocalActivityRecord> mActivities = new HashMap<String, LocalActivityRecord>(); /** array of all known activities for easy iterating. */ + @UnsupportedAppUsage private final ArrayList<LocalActivityRecord> mActivityArray = new ArrayList<LocalActivityRecord>(); /** True if only one activity can be resumed at a time */ + @UnsupportedAppUsage private boolean mSingleMode; /** Set to true once we find out the container is finishing. */ @@ -111,6 +117,7 @@ public class LocalActivityManager { mSingleMode = singleMode; } + @UnsupportedAppUsage private void moveToState(LocalActivityRecord r, int desiredState) { if (r.curState == RESTORED || r.curState == DESTROYED) { // startActivity() has not yet been called, so nothing to do. diff --git a/core/java/android/app/NativeActivity.java b/core/java/android/app/NativeActivity.java index ca663fd12a7c..25eb958b61e3 100644 --- a/core/java/android/app/NativeActivity.java +++ b/core/java/android/app/NativeActivity.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; @@ -70,6 +71,7 @@ public class NativeActivity extends Activity implements SurfaceHolder.Callback2, private NativeContentView mNativeContentView; private InputMethodManager mIMM; + @UnsupportedAppUsage private long mNativeHandle; private InputQueue mCurInputQueue; @@ -85,6 +87,7 @@ public class NativeActivity extends Activity implements SurfaceHolder.Callback2, private boolean mDestroyed; + @UnsupportedAppUsage private native long loadNativeCode(String path, String funcname, MessageQueue queue, String internalDataPath, String obbPath, String externalDataPath, int sdkVersion, AssetManager assetMgr, byte[] savedState, ClassLoader classLoader, String libraryPath); @@ -312,18 +315,22 @@ public class NativeActivity extends Activity implements SurfaceHolder.Callback2, } } + @UnsupportedAppUsage void setWindowFlags(int flags, int mask) { getWindow().setFlags(flags, mask); } + @UnsupportedAppUsage void setWindowFormat(int format) { getWindow().setFormat(format); } + @UnsupportedAppUsage void showIme(int mode) { mIMM.showSoftInput(mNativeContentView, mode); } + @UnsupportedAppUsage void hideIme(int mode) { mIMM.hideSoftInputFromWindow(mNativeContentView.getWindowToken(), mode); } diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 1ea93a419113..83130f1693b0 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -27,6 +27,7 @@ import android.annotation.RequiresPermission; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -868,6 +869,7 @@ public class Notification implements Parcelable */ public String category; + @UnsupportedAppUsage private String mGroupKey; /** @@ -913,6 +915,7 @@ public class Notification implements Parcelable * * @hide */ + @UnsupportedAppUsage public ArraySet<PendingIntent> allPendingIntents; /** @@ -1252,9 +1255,12 @@ public class Notification implements Parcelable */ public static final String EXTRA_FOREGROUND_APPS = "android.foregroundApps"; + @UnsupportedAppUsage private Icon mSmallIcon; + @UnsupportedAppUsage private Icon mLargeIcon; + @UnsupportedAppUsage private String mChannelId; private long mTimeout; @@ -1406,6 +1412,7 @@ public class Notification implements Parcelable public static final int SEMANTIC_ACTION_CALL = 10; private final Bundle mExtras; + @UnsupportedAppUsage private Icon mIcon; private final RemoteInput[] mRemoteInputs; private boolean mAllowGeneratedReplies = true; @@ -2060,6 +2067,7 @@ public class Notification implements Parcelable /** * @hide */ + @UnsupportedAppUsage public Notification(Context context, int icon, CharSequence tickerText, long when, CharSequence contentTitle, CharSequence contentText, Intent contentIntent) { @@ -3071,6 +3079,7 @@ public class Notification implements Parcelable * Used when notifying to clean up legacy small icons. * @hide */ + @UnsupportedAppUsage public void setSmallIcon(Icon icon) { mSmallIcon = icon; } @@ -3087,6 +3096,7 @@ public class Notification implements Parcelable /** * @hide */ + @UnsupportedAppUsage public boolean isGroupSummary() { return mGroupKey != null && (flags & FLAG_GROUP_SUMMARY) != 0; } @@ -3094,6 +3104,7 @@ public class Notification implements Parcelable /** * @hide */ + @UnsupportedAppUsage public boolean isGroupChild() { return mGroupKey != null && (flags & FLAG_GROUP_SUMMARY) == 0; } @@ -3172,6 +3183,7 @@ public class Notification implements Parcelable private Notification mN; private Bundle mUserExtras = new Bundle(); private Style mStyle; + @UnsupportedAppUsage private ArrayList<Action> mActions = new ArrayList<Action>(MAX_ACTION_BUTTONS); private ArrayList<Person> mPersonList = new ArrayList<>(); private NotificationColorUtil mColorUtil; @@ -4790,6 +4802,7 @@ public class Notification implements Parcelable /** * @hide */ + @UnsupportedAppUsage public String loadHeaderAppName() { CharSequence name = null; final PackageManager pm = mContext.getPackageManager(); @@ -5116,6 +5129,7 @@ public class Notification implements Parcelable * * @hide */ + @UnsupportedAppUsage public RemoteViews makePublicContentView() { return makePublicView(false /* ambient */); } @@ -5659,6 +5673,7 @@ public class Notification implements Parcelable return clone; } + @UnsupportedAppUsage private int getBaseLayoutResource() { return R.layout.notification_template_material_base; } @@ -7749,6 +7764,7 @@ public class Notification implements Parcelable * @hide */ @Override + @UnsupportedAppUsage public Notification buildStyled(Notification wip) { super.buildStyled(wip); if (wip.category == null) { diff --git a/core/java/android/app/NotificationChannel.java b/core/java/android/app/NotificationChannel.java index ba355f9f9c1d..7e90245af733 100644 --- a/core/java/android/app/NotificationChannel.java +++ b/core/java/android/app/NotificationChannel.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.Nullable; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.app.NotificationManager.Importance; import android.content.ContentResolver; import android.content.Context; @@ -132,6 +133,7 @@ public final class NotificationChannel implements Parcelable { private static final boolean DEFAULT_DELETED = false; private static final boolean DEFAULT_SHOW_BADGE = true; + @UnsupportedAppUsage private final String mId; private String mName; private String mDesc; @@ -299,6 +301,7 @@ public final class NotificationChannel implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public void setBlockableSystem(boolean blockableSystem) { mBlockableSystem = blockableSystem; } diff --git a/core/java/android/app/NotificationChannelGroup.java b/core/java/android/app/NotificationChannelGroup.java index 0fa3c7fa6492..17c5cba3ed2c 100644 --- a/core/java/android/app/NotificationChannelGroup.java +++ b/core/java/android/app/NotificationChannelGroup.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.content.Intent; import android.os.Parcel; import android.os.Parcelable; @@ -49,6 +50,7 @@ public final class NotificationChannelGroup implements Parcelable { private static final String ATT_ID = "id"; private static final String ATT_BLOCKED = "blocked"; + @UnsupportedAppUsage private final String mId; private CharSequence mName; private String mDescription; diff --git a/core/java/android/app/NotificationManager.java b/core/java/android/app/NotificationManager.java index f6dc5d15f385..4b25b8b6e1e0 100644 --- a/core/java/android/app/NotificationManager.java +++ b/core/java/android/app/NotificationManager.java @@ -21,6 +21,7 @@ import android.annotation.NonNull; import android.annotation.SdkConstant; import android.annotation.SystemService; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.app.Notification.Builder; import android.content.ComponentName; import android.content.Context; @@ -308,9 +309,11 @@ public class NotificationManager { */ public static final int IMPORTANCE_MAX = 5; + @UnsupportedAppUsage private static INotificationManager sService; /** @hide */ + @UnsupportedAppUsage static public INotificationManager getService() { if (sService != null) { @@ -321,12 +324,14 @@ public class NotificationManager { return sService; } + @UnsupportedAppUsage /*package*/ NotificationManager(Context context, Handler handler) { mContext = context; } /** {@hide} */ + @UnsupportedAppUsage public static NotificationManager from(Context context) { return (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); } @@ -373,6 +378,7 @@ public class NotificationManager { /** * @hide */ + @UnsupportedAppUsage public void notifyAsUser(String tag, int id, Notification notification, UserHandle user) { INotificationManager service = getService(); @@ -438,6 +444,7 @@ public class NotificationManager { /** * @hide */ + @UnsupportedAppUsage public void cancelAsUser(String tag, int id, UserHandle user) { INotificationManager service = getService(); @@ -666,6 +673,7 @@ public class NotificationManager { /** * @hide */ + @UnsupportedAppUsage public void setZenMode(int mode, Uri conditionId, String reason) { INotificationManager service = getService(); try { @@ -690,6 +698,7 @@ public class NotificationManager { /** * @hide */ + @UnsupportedAppUsage public ZenModeConfig getZenModeConfig() { INotificationManager service = getService(); try { diff --git a/core/java/android/app/PackageDeleteObserver.java b/core/java/android/app/PackageDeleteObserver.java index 9b83ec1995f7..20ae84ca8c39 100644 --- a/core/java/android/app/PackageDeleteObserver.java +++ b/core/java/android/app/PackageDeleteObserver.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.content.Intent; import android.content.pm.IPackageDeleteObserver2; diff --git a/core/java/android/app/PackageInstallObserver.java b/core/java/android/app/PackageInstallObserver.java index ff2867945f06..507ebe566d46 100644 --- a/core/java/android/app/PackageInstallObserver.java +++ b/core/java/android/app/PackageInstallObserver.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.content.Intent; import android.content.pm.IPackageInstallObserver2; import android.os.Bundle; @@ -59,6 +60,7 @@ public class PackageInstallObserver { * basic outcome * @hide */ + @UnsupportedAppUsage public void onPackageInstalled(String basePackageName, int returnCode, String msg, Bundle extras) { } diff --git a/core/java/android/app/PendingIntent.java b/core/java/android/app/PendingIntent.java index bdaf80e374df..75d95b2c2508 100644 --- a/core/java/android/app/PendingIntent.java +++ b/core/java/android/app/PendingIntent.java @@ -19,6 +19,7 @@ package android.app; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.IIntentReceiver; import android.content.IIntentSender; @@ -274,6 +275,7 @@ public final class PendingIntent implements Parcelable { * * @hide */ + @UnsupportedAppUsage public static void setOnMarshaledListener(OnMarshaledListener listener) { sOnMarshaledListener.set(listener); } @@ -362,6 +364,7 @@ public final class PendingIntent implements Parcelable { * Note that UserHandle.CURRENT will be interpreted at the time the * activity is started, not when the pending intent is created. */ + @UnsupportedAppUsage public static PendingIntent getActivityAsUser(Context context, int requestCode, @NonNull Intent intent, int flags, Bundle options, UserHandle user) { String packageName = context.getPackageName(); @@ -557,6 +560,7 @@ public final class PendingIntent implements Parcelable { * Note that UserHandle.CURRENT will be interpreted at the time the * broadcast is sent, not when the pending intent is created. */ + @UnsupportedAppUsage public static PendingIntent getBroadcastAsUser(Context context, int requestCode, Intent intent, int flags, UserHandle userHandle) { String packageName = context.getPackageName(); @@ -1084,6 +1088,7 @@ public final class PendingIntent implements Parcelable { * @hide * Check whether this PendingIntent will launch an Activity. */ + @UnsupportedAppUsage public boolean isActivity() { try { return ActivityManager.getService() @@ -1110,6 +1115,7 @@ public final class PendingIntent implements Parcelable { * @hide * Return the Intent of this PendingIntent. */ + @UnsupportedAppUsage public Intent getIntent() { try { return ActivityManager.getService() @@ -1123,6 +1129,7 @@ public final class PendingIntent implements Parcelable { * @hide * Return descriptive tag for this PendingIntent. */ + @UnsupportedAppUsage public String getTag(String prefix) { try { return ActivityManager.getService() diff --git a/core/java/android/app/PictureInPictureArgs.java b/core/java/android/app/PictureInPictureArgs.java index cbe8bb9deea1..adcc49546193 100644 --- a/core/java/android/app/PictureInPictureArgs.java +++ b/core/java/android/app/PictureInPictureArgs.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.graphics.Rect; import android.os.Parcel; import android.os.Parcelable; @@ -137,6 +138,7 @@ public final class PictureInPictureArgs implements Parcelable { * @hide */ @Deprecated + @UnsupportedAppUsage public PictureInPictureArgs() { } @@ -173,6 +175,7 @@ public final class PictureInPictureArgs implements Parcelable { * @hide */ @Deprecated + @UnsupportedAppUsage public void setAspectRatio(float aspectRatio) { // Temporary workaround mAspectRatio = new Rational((int) (aspectRatio * 1000000000), 1000000000); @@ -182,6 +185,7 @@ public final class PictureInPictureArgs implements Parcelable { * @hide */ @Deprecated + @UnsupportedAppUsage public void setActions(List<RemoteAction> actions) { if (mUserActions != null) { mUserActions = null; diff --git a/core/java/android/app/PictureInPictureParams.java b/core/java/android/app/PictureInPictureParams.java index 7313b0d941e5..b1dc15ca2e85 100644 --- a/core/java/android/app/PictureInPictureParams.java +++ b/core/java/android/app/PictureInPictureParams.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.graphics.Rect; import android.os.Parcel; import android.os.Parcelable; @@ -181,6 +182,7 @@ public final class PictureInPictureParams implements Parcelable { * @return the aspect ratio. If none is set, return 0. * @hide */ + @UnsupportedAppUsage public float getAspectRatio() { if (mAspectRatio != null) { return mAspectRatio.floatValue(); @@ -205,6 +207,7 @@ public final class PictureInPictureParams implements Parcelable { * @return the set of user actions. * @hide */ + @UnsupportedAppUsage public List<RemoteAction> getActions() { return mUserActions; } @@ -231,6 +234,7 @@ public final class PictureInPictureParams implements Parcelable { * @return the source rect hint * @hide */ + @UnsupportedAppUsage public Rect getSourceRectHint() { return mSourceRectHint; } diff --git a/core/java/android/app/Presentation.java b/core/java/android/app/Presentation.java index af55788e617f..cb72d4d5dc2c 100644 --- a/core/java/android/app/Presentation.java +++ b/core/java/android/app/Presentation.java @@ -20,6 +20,7 @@ import static android.content.Context.DISPLAY_SERVICE; import static android.content.Context.WINDOW_SERVICE; import static android.view.WindowManager.LayoutParams.TYPE_PRESENTATION; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.res.Resources; import android.hardware.display.DisplayManager; @@ -300,6 +301,7 @@ public class Presentation extends Dialog { return dm.equalsPhysical(getResources().getDisplayMetrics()); } + @UnsupportedAppUsage private static Context createPresentationContext( Context outerContext, Display display, int theme) { if (outerContext == null) { diff --git a/core/java/android/app/ProgressDialog.java b/core/java/android/app/ProgressDialog.java index 8a083ebcd7e9..1b10fd7cf86d 100644 --- a/core/java/android/app/ProgressDialog.java +++ b/core/java/android/app/ProgressDialog.java @@ -18,6 +18,7 @@ package android.app; import com.android.internal.R; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; @@ -63,10 +64,13 @@ public class ProgressDialog extends AlertDialog { */ public static final int STYLE_HORIZONTAL = 1; + @UnsupportedAppUsage private ProgressBar mProgress; + @UnsupportedAppUsage private TextView mMessageView; private int mProgressStyle = STYLE_SPINNER; + @UnsupportedAppUsage private TextView mProgressNumber; private String mProgressNumberFormat; private TextView mProgressPercent; diff --git a/core/java/android/app/QueuedWork.java b/core/java/android/app/QueuedWork.java index 56338f58f980..76265390fe1a 100644 --- a/core/java/android/app/QueuedWork.java +++ b/core/java/android/app/QueuedWork.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; @@ -70,6 +71,7 @@ public class QueuedWork { /** Finishers {@link #addFinisher added} and not yet {@link #removeFinisher removed} */ @GuardedBy("sLock") + @UnsupportedAppUsage private static final LinkedList<Runnable> sFinishers = new LinkedList<>(); /** {@link #getHandler() Lazily} created handler */ @@ -96,6 +98,7 @@ public class QueuedWork { * * @return the handler */ + @UnsupportedAppUsage private static Handler getHandler() { synchronized (sLock) { if (sHandler == null) { @@ -121,6 +124,7 @@ public class QueuedWork { * * @param finisher The runnable to add as finisher */ + @UnsupportedAppUsage public static void addFinisher(Runnable finisher) { synchronized (sLock) { sFinishers.add(finisher); @@ -132,6 +136,7 @@ public class QueuedWork { * * @param finisher The runnable to remove. */ + @UnsupportedAppUsage public static void removeFinisher(Runnable finisher) { synchronized (sLock) { sFinishers.remove(finisher); @@ -212,6 +217,7 @@ public class QueuedWork { * @param work The new runnable to process * @param shouldDelay If the message should be delayed */ + @UnsupportedAppUsage public static void queue(Runnable work, boolean shouldDelay) { Handler handler = getHandler(); diff --git a/core/java/android/app/ResourcesManager.java b/core/java/android/app/ResourcesManager.java index 30256b42e6a1..68869c65d7c9 100644 --- a/core/java/android/app/ResourcesManager.java +++ b/core/java/android/app/ResourcesManager.java @@ -20,6 +20,7 @@ import static android.app.ActivityThread.DEBUG_CONFIGURATION; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.pm.ActivityInfo; import android.content.res.ApkAssets; import android.content.res.AssetManager; @@ -76,18 +77,21 @@ public class ResourcesManager { * The global configuration upon which all Resources are based. Multi-window Resources * apply their overrides to this configuration. */ + @UnsupportedAppUsage private final Configuration mResConfiguration = new Configuration(); /** * A mapping of ResourceImpls and their configurations. These are heavy weight objects * which should be reused as much as possible. */ + @UnsupportedAppUsage private final ArrayMap<ResourcesKey, WeakReference<ResourcesImpl>> mResourceImpls = new ArrayMap<>(); /** * A list of Resource references that can be reused. */ + @UnsupportedAppUsage private final ArrayList<WeakReference<Resources>> mResourceReferences = new ArrayList<>(); private static class ApkKey { @@ -144,6 +148,7 @@ public class ResourcesManager { * Each Activity may has a base override configuration that is applied to each Resources object, * which in turn may have their own override configuration specified. */ + @UnsupportedAppUsage private final WeakHashMap<IBinder, ActivityResources> mActivityResourceReferences = new WeakHashMap<>(); @@ -153,6 +158,7 @@ public class ResourcesManager { private final ArrayMap<Pair<Integer, DisplayAdjustments>, WeakReference<Display>> mAdjustedDisplays = new ArrayMap<>(); + @UnsupportedAppUsage public static ResourcesManager getInstance() { synchronized (ResourcesManager.class) { if (sResourcesManager == null) { @@ -349,6 +355,7 @@ public class ResourcesManager { * @return a new AssetManager. */ @VisibleForTesting + @UnsupportedAppUsage protected @Nullable AssetManager createAssetManager(@NonNull final ResourcesKey key) { final AssetManager.Builder builder = new AssetManager.Builder(); @@ -1065,6 +1072,7 @@ public class ResourcesManager { * @param assetPath The main asset path for which to add the library asset path. * @param libAsset The library asset path to add. */ + @UnsupportedAppUsage public void appendLibAssetForMainAssetPath(String assetPath, String libAsset) { synchronized (this) { // Record which ResourcesImpl need updating diff --git a/core/java/android/app/ResultInfo.java b/core/java/android/app/ResultInfo.java index d5af08a655d8..4335488777ba 100644 --- a/core/java/android/app/ResultInfo.java +++ b/core/java/android/app/ResultInfo.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.content.Intent; import android.os.Parcel; import android.os.Parcelable; @@ -26,11 +27,15 @@ import java.util.Objects; * {@hide} */ public class ResultInfo implements Parcelable { + @UnsupportedAppUsage public final String mResultWho; + @UnsupportedAppUsage public final int mRequestCode; public final int mResultCode; + @UnsupportedAppUsage public final Intent mData; + @UnsupportedAppUsage public ResultInfo(String resultWho, int requestCode, int resultCode, Intent data) { mResultWho = resultWho; @@ -60,6 +65,7 @@ public class ResultInfo implements Parcelable { } } + @UnsupportedAppUsage public static final Parcelable.Creator<ResultInfo> CREATOR = new Parcelable.Creator<ResultInfo>() { public ResultInfo createFromParcel(Parcel in) { diff --git a/core/java/android/app/SearchDialog.java b/core/java/android/app/SearchDialog.java index 4abca9a13c4b..4a451509f538 100644 --- a/core/java/android/app/SearchDialog.java +++ b/core/java/android/app/SearchDialog.java @@ -17,6 +17,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; @@ -312,6 +313,7 @@ public class SearchDialog extends Dialog { * * @param working true to show spinner, false to hide spinner */ + @UnsupportedAppUsage public void setWorking(boolean working) { mWorkingSpinner.setAlpha(working ? 255 : 0); mWorkingSpinner.setVisible(working, false); @@ -373,6 +375,7 @@ public class SearchDialog extends Dialog { } } + @UnsupportedAppUsage static boolean isLandscapeMode(Context context) { return context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; @@ -517,6 +520,7 @@ public class SearchDialog extends Dialog { /** * Launch a search for the text in the query text field. */ + @UnsupportedAppUsage public void launchQuerySearch() { launchQuerySearch(KeyEvent.KEYCODE_UNKNOWN, null); } @@ -529,6 +533,7 @@ public class SearchDialog extends Dialog { * @param actionMsg The message for the action key that was pressed, * or <code>null</code> if none. */ + @UnsupportedAppUsage protected void launchQuerySearch(int actionKey, String actionMsg) { String query = mSearchAutoComplete.getText().toString(); String action = Intent.ACTION_SEARCH; diff --git a/core/java/android/app/SearchManager.java b/core/java/android/app/SearchManager.java index 49faf4029157..4fb19084eef6 100644 --- a/core/java/android/app/SearchManager.java +++ b/core/java/android/app/SearchManager.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.ActivityNotFoundException; import android.content.ComponentName; import android.content.ContentResolver; @@ -530,6 +531,7 @@ public class SearchManager * current search engine does not support voice search. * @hide */ + @UnsupportedAppUsage public final static String DISABLE_VOICE_SEARCH = "android.search.DISABLE_VOICE_SEARCH"; @@ -545,8 +547,10 @@ public class SearchManager /* package */ OnDismissListener mDismissListener = null; /* package */ OnCancelListener mCancelListener = null; + @UnsupportedAppUsage private SearchDialog mSearchDialog; + @UnsupportedAppUsage /*package*/ SearchManager(Context context, Handler handler) throws ServiceNotFoundException { mContext = context; mHandler = handler; @@ -609,6 +613,7 @@ public class SearchManager * * @hide */ + @UnsupportedAppUsage public void startSearch(String initialQuery, boolean selectInitialQuery, ComponentName launchActivity, @@ -710,6 +715,7 @@ public class SearchManager * * @hide */ + @UnsupportedAppUsage public ComponentName getWebSearchActivity() { try { return mService.getWebSearchActivity(); @@ -770,6 +776,7 @@ public class SearchManager * * @hide */ + @UnsupportedAppUsage public boolean isVisible() { return mSearchDialog == null? false : mSearchDialog.isShowing(); } @@ -866,6 +873,7 @@ public class SearchManager * * @hide because SearchableInfo is not part of the API. */ + @UnsupportedAppUsage public Cursor getSuggestions(SearchableInfo searchable, String query) { return getSuggestions(searchable, query, -1); } @@ -881,6 +889,7 @@ public class SearchManager * * @hide because SearchableInfo is not part of the API. */ + @UnsupportedAppUsage public Cursor getSuggestions(SearchableInfo searchable, String query, int limit) { if (searchable == null) { return null; @@ -970,6 +979,7 @@ public class SearchManager * * @hide */ + @UnsupportedAppUsage public void launchAssist(Bundle args) { try { if (mService == null) { diff --git a/core/java/android/app/SearchableInfo.java b/core/java/android/app/SearchableInfo.java index a95291514936..ae6d32ac6a40 100644 --- a/core/java/android/app/SearchableInfo.java +++ b/core/java/android/app/SearchableInfo.java @@ -20,6 +20,7 @@ import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.annotation.StringRes; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.content.Context; import android.content.pm.ActivityInfo; @@ -249,6 +250,7 @@ public final class SearchableInfo implements Parcelable { * @return Returns a context related to the searchable activity * @hide */ + @UnsupportedAppUsage public Context getActivityContext(Context context) { return createActivityContext(context, mSearchActivity); } @@ -278,6 +280,7 @@ public final class SearchableInfo implements Parcelable { * @return Returns a context related to the suggestion provider * @hide */ + @UnsupportedAppUsage public Context getProviderContext(Context context, Context activityContext) { Context theirContext = null; if (mSearchActivity.getPackageName().equals(mSuggestProviderPackage)) { @@ -307,6 +310,7 @@ public final class SearchableInfo implements Parcelable { * @param cName The component name of the searchable activity * @throws IllegalArgumentException if the searchability info is invalid or insufficient */ + @UnsupportedAppUsage private SearchableInfo(Context activityContext, AttributeSet attr, final ComponentName cName) { mSearchActivity = cName; @@ -450,6 +454,7 @@ public final class SearchableInfo implements Parcelable { * Gets the action message to use for queries. * @see android.R.styleable#SearchableActionKey_queryActionMsg */ + @UnsupportedAppUsage public String getQueryActionMsg() { return mQueryActionMsg; } @@ -458,6 +463,7 @@ public final class SearchableInfo implements Parcelable { * Gets the action message to use for suggestions. * @see android.R.styleable#SearchableActionKey_suggestActionMsg */ + @UnsupportedAppUsage public String getSuggestActionMsg() { return mSuggestActionMsg; } @@ -466,6 +472,7 @@ public final class SearchableInfo implements Parcelable { * Gets the name of the column to get the suggestion action message from. * @see android.R.styleable#SearchableActionKey_suggestActionMsgColumn */ + @UnsupportedAppUsage public String getSuggestActionMsgColumn() { return mSuggestActionMsgColumn; } @@ -490,6 +497,7 @@ public final class SearchableInfo implements Parcelable { * * @hide ActionKeyInfo is hidden */ + @UnsupportedAppUsage public ActionKeyInfo findActionKey(int keyCode) { if (mActionKeys == null) { return null; @@ -623,6 +631,7 @@ public final class SearchableInfo implements Parcelable { * * @hide deprecated functionality */ + @UnsupportedAppUsage public int getLabelId() { return mLabelId; } @@ -647,6 +656,7 @@ public final class SearchableInfo implements Parcelable { * * @hide deprecated functionality */ + @UnsupportedAppUsage public int getIconId() { return mIconId; } diff --git a/core/java/android/app/Service.java b/core/java/android/app/Service.java index ea0fd75bec90..67acfe906915 100644 --- a/core/java/android/app/Service.java +++ b/core/java/android/app/Service.java @@ -18,6 +18,7 @@ package android.app; import android.annotation.IntDef; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentCallbacks2; import android.content.ComponentName; import android.content.Intent; @@ -658,6 +659,7 @@ public abstract class Service extends ContextWrapper implements ComponentCallbac * @hide */ @Deprecated + @UnsupportedAppUsage public final void setForeground(boolean isForeground) { Log.w(TAG, "setForeground: ignoring old API call on " + getClass().getName()); } @@ -750,6 +752,7 @@ public abstract class Service extends ContextWrapper implements ComponentCallbac /** * @hide */ + @UnsupportedAppUsage public final void attach( Context context, ActivityThread thread, String className, IBinder token, @@ -777,10 +780,16 @@ public abstract class Service extends ContextWrapper implements ComponentCallbac } // set by the thread after the constructor and before onCreate(Bundle icicle) is called. + @UnsupportedAppUsage private ActivityThread mThread = null; + @UnsupportedAppUsage private String mClassName = null; + @UnsupportedAppUsage private IBinder mToken = null; + @UnsupportedAppUsage private Application mApplication = null; + @UnsupportedAppUsage private IActivityManager mActivityManager = null; + @UnsupportedAppUsage private boolean mStartCompatibility = false; } diff --git a/core/java/android/app/SharedPreferencesImpl.java b/core/java/android/app/SharedPreferencesImpl.java index 6ac15a5f8c91..0f8976fe924a 100644 --- a/core/java/android/app/SharedPreferencesImpl.java +++ b/core/java/android/app/SharedPreferencesImpl.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.SharedPreferences; import android.os.FileUtils; import android.os.Looper; @@ -63,6 +64,7 @@ final class SharedPreferencesImpl implements SharedPreferences { // - acquire SharedPreferencesImpl.mLock before EditorImpl.mLock // - acquire mWritingToDiskLock before EditorImpl.mLock + @UnsupportedAppUsage private final File mFile; private final File mBackupFile; private final int mMode; @@ -103,6 +105,7 @@ final class SharedPreferencesImpl implements SharedPreferences { private final ExponentiallyBucketedHistogram mSyncTimes = new ExponentiallyBucketedHistogram(16); private int mNumSync = 0; + @UnsupportedAppUsage SharedPreferencesImpl(File file, int mode) { mFile = file; mBackupFile = makeBackupFile(file); @@ -113,6 +116,7 @@ final class SharedPreferencesImpl implements SharedPreferences { startLoadFromDisk(); } + @UnsupportedAppUsage private void startLoadFromDisk() { synchronized (mLock) { mLoaded = false; @@ -195,6 +199,7 @@ final class SharedPreferencesImpl implements SharedPreferences { return new File(prefsFile.getPath() + ".bak"); } + @UnsupportedAppUsage void startReloadIfChangedUnexpectedly() { synchronized (mLock) { // TODO: wait for any pending writes to disk? diff --git a/core/java/android/app/StatusBarManager.java b/core/java/android/app/StatusBarManager.java index c8a831366e23..2718bfacb618 100644 --- a/core/java/android/app/StatusBarManager.java +++ b/core/java/android/app/StatusBarManager.java @@ -18,6 +18,7 @@ package android.app; import android.annotation.IntDef; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.Binder; import android.os.IBinder; @@ -39,11 +40,13 @@ import java.lang.annotation.RetentionPolicy; @SystemService(Context.STATUS_BAR_SERVICE) public class StatusBarManager { + @UnsupportedAppUsage public static final int DISABLE_EXPAND = View.STATUS_BAR_DISABLE_EXPAND; public static final int DISABLE_NOTIFICATION_ICONS = View.STATUS_BAR_DISABLE_NOTIFICATION_ICONS; public static final int DISABLE_NOTIFICATION_ALERTS = View.STATUS_BAR_DISABLE_NOTIFICATION_ALERTS; @Deprecated + @UnsupportedAppUsage public static final int DISABLE_NOTIFICATION_TICKER = View.STATUS_BAR_DISABLE_NOTIFICATION_TICKER; public static final int DISABLE_SYSTEM_INFO = View.STATUS_BAR_DISABLE_SYSTEM_INFO; @@ -57,6 +60,7 @@ public class StatusBarManager { public static final int DISABLE_NAVIGATION = View.STATUS_BAR_DISABLE_HOME | View.STATUS_BAR_DISABLE_RECENT; + @UnsupportedAppUsage public static final int DISABLE_NONE = 0x00000000; public static final int DISABLE_MASK = DISABLE_EXPAND | DISABLE_NOTIFICATION_ICONS @@ -107,14 +111,18 @@ public class StatusBarManager { public static final int CAMERA_LAUNCH_SOURCE_POWER_DOUBLE_TAP = 1; public static final int CAMERA_LAUNCH_SOURCE_LIFT_TRIGGER = 2; + @UnsupportedAppUsage private Context mContext; private IStatusBarService mService; + @UnsupportedAppUsage private IBinder mToken = new Binder(); + @UnsupportedAppUsage StatusBarManager(Context context) { mContext = context; } + @UnsupportedAppUsage private synchronized IStatusBarService getService() { if (mService == null) { mService = IStatusBarService.Stub.asInterface( @@ -130,6 +138,7 @@ public class StatusBarManager { * Disable some features in the status bar. Pass the bitwise-or of the DISABLE_* flags. * To re-enable everything, pass {@link #DISABLE_NONE}. */ + @UnsupportedAppUsage public void disable(int what) { try { final int userId = Binder.getCallingUserHandle().getIdentifier(); @@ -163,6 +172,7 @@ public class StatusBarManager { /** * Expand the notifications panel. */ + @UnsupportedAppUsage public void expandNotificationsPanel() { try { final IStatusBarService svc = getService(); @@ -177,6 +187,7 @@ public class StatusBarManager { /** * Collapse the notifications and settings panels. */ + @UnsupportedAppUsage public void collapsePanels() { try { final IStatusBarService svc = getService(); @@ -191,6 +202,7 @@ public class StatusBarManager { /** * Expand the settings panel. */ + @UnsupportedAppUsage public void expandSettingsPanel() { expandSettingsPanel(null); } @@ -198,6 +210,7 @@ public class StatusBarManager { /** * Expand the settings panel and open a subPanel, pass null to just open the settings panel. */ + @UnsupportedAppUsage public void expandSettingsPanel(String subPanel) { try { final IStatusBarService svc = getService(); @@ -209,6 +222,7 @@ public class StatusBarManager { } } + @UnsupportedAppUsage public void setIcon(String slot, int iconId, int iconLevel, String contentDescription) { try { final IStatusBarService svc = getService(); @@ -221,6 +235,7 @@ public class StatusBarManager { } } + @UnsupportedAppUsage public void removeIcon(String slot) { try { final IStatusBarService svc = getService(); @@ -232,6 +247,7 @@ public class StatusBarManager { } } + @UnsupportedAppUsage public void setIconVisibility(String slot, boolean visible) { try { final IStatusBarService svc = getService(); diff --git a/core/java/android/app/TaskStackListener.java b/core/java/android/app/TaskStackListener.java index 895d12a7c341..e23352a533e3 100644 --- a/core/java/android/app/TaskStackListener.java +++ b/core/java/android/app/TaskStackListener.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityManager.TaskSnapshot; import android.content.ComponentName; import android.os.RemoteException; @@ -27,40 +28,49 @@ import android.os.RemoteException; */ public abstract class TaskStackListener extends ITaskStackListener.Stub { @Override + @UnsupportedAppUsage public void onTaskStackChanged() throws RemoteException { } @Override + @UnsupportedAppUsage public void onActivityPinned(String packageName, int userId, int taskId, int stackId) throws RemoteException { } @Override + @UnsupportedAppUsage public void onActivityUnpinned() throws RemoteException { } @Override + @UnsupportedAppUsage public void onPinnedActivityRestartAttempt(boolean clearedTask) throws RemoteException { } @Override + @UnsupportedAppUsage public void onPinnedStackAnimationStarted() throws RemoteException { } @Override + @UnsupportedAppUsage public void onPinnedStackAnimationEnded() throws RemoteException { } @Override + @UnsupportedAppUsage public void onActivityForcedResizable(String packageName, int taskId, int reason) throws RemoteException { } @Override + @UnsupportedAppUsage public void onActivityDismissingDockedStack() throws RemoteException { } @Override + @UnsupportedAppUsage public void onActivityLaunchOnSecondaryDisplayFailed() throws RemoteException { } @@ -69,10 +79,12 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override + @UnsupportedAppUsage public void onTaskRemoved(int taskId) throws RemoteException { } @Override + @UnsupportedAppUsage public void onTaskMovedToFront(int taskId) throws RemoteException { } @@ -86,15 +98,18 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override + @UnsupportedAppUsage public void onActivityRequestedOrientationChanged(int taskId, int requestedOrientation) throws RemoteException { } @Override + @UnsupportedAppUsage public void onTaskProfileLocked(int taskId, int userId) throws RemoteException { } @Override + @UnsupportedAppUsage public void onTaskSnapshotChanged(int taskId, TaskSnapshot snapshot) throws RemoteException { } } diff --git a/core/java/android/app/TimePickerDialog.java b/core/java/android/app/TimePickerDialog.java index 8686944baeaa..1b281d521957 100644 --- a/core/java/android/app/TimePickerDialog.java +++ b/core/java/android/app/TimePickerDialog.java @@ -17,6 +17,7 @@ package android.app; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; @@ -43,6 +44,7 @@ public class TimePickerDialog extends AlertDialog implements OnClickListener, private static final String MINUTE = "minute"; private static final String IS_24_HOUR = "is24hour"; + @UnsupportedAppUsage private final TimePicker mTimePicker; private final OnTimeSetListener mTimeSetListener; diff --git a/core/java/android/app/UiAutomation.java b/core/java/android/app/UiAutomation.java index 5662aeae8110..8e4c20f997f9 100644 --- a/core/java/android/app/UiAutomation.java +++ b/core/java/android/app/UiAutomation.java @@ -23,6 +23,7 @@ import android.accessibilityservice.IAccessibilityServiceClient; import android.accessibilityservice.IAccessibilityServiceConnection; import android.annotation.NonNull; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.graphics.Bitmap; import android.graphics.Point; import android.graphics.Rect; @@ -190,6 +191,7 @@ public final class UiAutomation { * * @hide */ + @UnsupportedAppUsage public UiAutomation(Looper looper, IUiAutomationConnection connection) { if (looper == null) { throw new IllegalArgumentException("Looper cannot be null!"); @@ -206,6 +208,7 @@ public final class UiAutomation { * * @hide */ + @UnsupportedAppUsage public void connect() { connect(0); } @@ -277,6 +280,7 @@ public final class UiAutomation { * * @hide */ + @UnsupportedAppUsage public void disconnect() { synchronized (mLock) { if (mIsConnecting) { diff --git a/core/java/android/app/UiAutomationConnection.java b/core/java/android/app/UiAutomationConnection.java index d3828ab47883..e6347354b723 100644 --- a/core/java/android/app/UiAutomationConnection.java +++ b/core/java/android/app/UiAutomationConnection.java @@ -18,6 +18,7 @@ package android.app; import android.accessibilityservice.AccessibilityServiceInfo; import android.accessibilityservice.IAccessibilityServiceClient; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.pm.IPackageManager; import android.graphics.Bitmap; diff --git a/core/java/android/app/UiModeManager.java b/core/java/android/app/UiModeManager.java index 0da5e24929aa..4f172a4251d4 100644 --- a/core/java/android/app/UiModeManager.java +++ b/core/java/android/app/UiModeManager.java @@ -19,6 +19,7 @@ package android.app; import android.annotation.IntDef; import android.annotation.SystemService; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.res.Configuration; import android.os.RemoteException; @@ -126,6 +127,7 @@ public class UiModeManager { private IUiModeManager mService; + @UnsupportedAppUsage /*package*/ UiModeManager() throws ServiceNotFoundException { mService = IUiModeManager.Stub.asInterface( ServiceManager.getServiceOrThrow(Context.UI_MODE_SERVICE)); diff --git a/core/java/android/app/UserSwitchObserver.java b/core/java/android/app/UserSwitchObserver.java index c0f7a4cd63b7..25b243d95fa1 100644 --- a/core/java/android/app/UserSwitchObserver.java +++ b/core/java/android/app/UserSwitchObserver.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.os.IRemoteCallback; import android.os.RemoteException; diff --git a/core/java/android/app/Vr2dDisplayProperties.java b/core/java/android/app/Vr2dDisplayProperties.java index 0eb2af361ae9..e0b60e0dfab3 100644 --- a/core/java/android/app/Vr2dDisplayProperties.java +++ b/core/java/android/app/Vr2dDisplayProperties.java @@ -16,6 +16,7 @@ package android.app; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -41,6 +42,7 @@ public final class Vr2dDisplayProperties implements Parcelable { private final int mAddedFlags; private final int mRemovedFlags; + @UnsupportedAppUsage public Vr2dDisplayProperties(int width, int height, int dpi) { this(width, height, dpi, 0, 0); } @@ -165,6 +167,7 @@ public final class Vr2dDisplayProperties implements Parcelable { private int mHeight = -1; private int mDpi = -1; + @UnsupportedAppUsage public Builder() { } @@ -181,6 +184,7 @@ public final class Vr2dDisplayProperties implements Parcelable { /** * Toggles the virtual display functionality for 2D activities in VR. */ + @UnsupportedAppUsage public Builder setEnabled(boolean enabled) { if (enabled) { addFlags(FLAG_VIRTUAL_DISPLAY_ENABLED); @@ -211,6 +215,7 @@ public final class Vr2dDisplayProperties implements Parcelable { /** * Builds the Vr2dDisplayProperty instance. */ + @UnsupportedAppUsage public Vr2dDisplayProperties build() { return new Vr2dDisplayProperties(mWidth, mHeight, mDpi, mAddedFlags, mRemovedFlags); } diff --git a/core/java/android/app/VrManager.java b/core/java/android/app/VrManager.java index 61b90e1766e5..66d7a2507bb7 100644 --- a/core/java/android/app/VrManager.java +++ b/core/java/android/app/VrManager.java @@ -5,6 +5,7 @@ import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.content.Context; import android.os.Handler; @@ -48,6 +49,7 @@ public class VrManager { } } + @UnsupportedAppUsage private final IVrManager mService; private Map<VrStateCallback, CallbackEntry> mCallbackMap = new ArrayMap<>(); @@ -68,6 +70,7 @@ public class VrManager { android.Manifest.permission.RESTRICTED_VR_ACCESS, android.Manifest.permission.ACCESS_VR_STATE }) + @UnsupportedAppUsage public void registerVrStateCallback(VrStateCallback callback, @NonNull Handler handler) { if (callback == null || mCallbackMap.containsKey(callback)) { return; @@ -97,6 +100,7 @@ public class VrManager { android.Manifest.permission.RESTRICTED_VR_ACCESS, android.Manifest.permission.ACCESS_VR_STATE }) + @UnsupportedAppUsage public void unregisterVrStateCallback(VrStateCallback callback) { CallbackEntry entry = mCallbackMap.remove(callback); if (entry != null) { @@ -139,6 +143,7 @@ public class VrManager { android.Manifest.permission.RESTRICTED_VR_ACCESS, android.Manifest.permission.ACCESS_VR_STATE }) + @UnsupportedAppUsage public boolean getPersistentVrModeEnabled() { try { return mService.getPersistentVrModeEnabled(); @@ -175,6 +180,7 @@ public class VrManager { * {@hide} */ @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) + @UnsupportedAppUsage public void setVr2dDisplayProperties( Vr2dDisplayProperties vr2dDisplayProp) { try { diff --git a/core/java/android/app/VrStateCallback.java b/core/java/android/app/VrStateCallback.java index 742faa06fd1d..66cbf2ef2eb1 100644 --- a/core/java/android/app/VrStateCallback.java +++ b/core/java/android/app/VrStateCallback.java @@ -15,6 +15,8 @@ */ package android.app; +import android.annotation.UnsupportedAppUsage; + /** * Listens to VR Mode state changes. Use with methods in {@link VrManager}. * @@ -27,6 +29,7 @@ public abstract class VrStateCallback { * * @param enabled True when VR State is in persistent mode, false otherwise. */ + @UnsupportedAppUsage public void onPersistentVrStateChanged(boolean enabled) {} /** diff --git a/core/java/android/app/WallpaperColors.java b/core/java/android/app/WallpaperColors.java index 60e8a121dc45..3f7b42e960e3 100644 --- a/core/java/android/app/WallpaperColors.java +++ b/core/java/android/app/WallpaperColors.java @@ -18,6 +18,7 @@ package android.app; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; @@ -228,6 +229,7 @@ public final class WallpaperColors implements Parcelable { * @see WallpaperColors#fromDrawable(Drawable) * @hide */ + @UnsupportedAppUsage public WallpaperColors(@NonNull Color primaryColor, @Nullable Color secondaryColor, @Nullable Color tertiaryColor, int colorHints) { @@ -342,6 +344,7 @@ public final class WallpaperColors implements Parcelable { * @return True if dark text is supported. * @hide */ + @UnsupportedAppUsage public int getColorHints() { return mColorHints; } diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index fde756c13234..4e65f525f5ee 100644 --- a/core/java/android/app/WallpaperManager.java +++ b/core/java/android/app/WallpaperManager.java @@ -25,6 +25,7 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; @@ -493,6 +494,7 @@ public class WallpaperManager { } private static final Object sSync = new Object[0]; + @UnsupportedAppUsage private static Globals sGlobals; static void initGlobals(IWallpaperManager service, Looper looper) { @@ -517,6 +519,7 @@ public class WallpaperManager { } /** @hide */ + @UnsupportedAppUsage public IWallpaperManager getIWallpaperManager() { return sGlobals.mService; } @@ -820,6 +823,7 @@ public class WallpaperManager { * * @hide */ + @UnsupportedAppUsage public Bitmap getBitmap() { return getBitmap(false); } @@ -831,6 +835,7 @@ public class WallpaperManager { * @see Bitmap.Config#HARDWARE * @hide */ + @UnsupportedAppUsage public Bitmap getBitmap(boolean hardware) { return getBitmapAsUser(mContext.getUserId(), hardware); } @@ -886,6 +891,7 @@ public class WallpaperManager { * @param userId Owner of the wallpaper or UserHandle.USER_ALL. * @hide */ + @UnsupportedAppUsage public void addOnColorsChangedListener(@NonNull OnColorsChangedListener listener, @NonNull Handler handler, int userId) { sGlobals.addOnColorsChangedListener(listener, handler, userId); @@ -939,6 +945,7 @@ public class WallpaperManager { * @return {@link WallpaperColors} or null if colors are unknown. * @hide */ + @UnsupportedAppUsage public @Nullable WallpaperColors getWallpaperColors(int which, int userId) { return sGlobals.getWallpaperColors(which, userId); } @@ -958,6 +965,7 @@ public class WallpaperManager { * * @hide */ + @UnsupportedAppUsage public ParcelFileDescriptor getWallpaperFile(@SetWallpaperFlags int which, int userId) { if (which != FLAG_SYSTEM && which != FLAG_LOCK) { throw new IllegalArgumentException("Must request exactly one kind of wallpaper"); @@ -1268,6 +1276,7 @@ public class WallpaperManager { * requires permission {@link android.Manifest.permission#INTERACT_ACROSS_USERS_FULL}. * @hide */ + @UnsupportedAppUsage public int setBitmap(Bitmap fullImage, Rect visibleCropHint, boolean allowBackup, @SetWallpaperFlags int which, int userId) throws IOException { @@ -1658,6 +1667,7 @@ public class WallpaperManager { * @hide */ @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) + @UnsupportedAppUsage public boolean setWallpaperComponent(ComponentName name, int userId) { if (sGlobals.mService == null) { Log.w(TAG, "WallpaperService not running"); @@ -1835,6 +1845,7 @@ public class WallpaperManager { * * @hide */ + @UnsupportedAppUsage public static InputStream openDefaultWallpaper(Context context, @SetWallpaperFlags int which) { final String whichProp; final int defaultResId; diff --git a/core/java/android/app/admin/DeviceAdminInfo.java b/core/java/android/app/admin/DeviceAdminInfo.java index 5fbe5b398488..5fe1af0a18ba 100644 --- a/core/java/android/app/admin/DeviceAdminInfo.java +++ b/core/java/android/app/admin/DeviceAdminInfo.java @@ -17,6 +17,7 @@ package android.app.admin; import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.content.Context; import android.content.pm.ActivityInfo; @@ -180,6 +181,7 @@ public final class DeviceAdminInfo implements Parcelable { /** @hide */ public static class PolicyInfo { public final int ident; + @UnsupportedAppUsage public final String tag; public final int label; public final int description; @@ -479,6 +481,7 @@ public final class DeviceAdminInfo implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public ArrayList<PolicyInfo> getUsedPolicies() { ArrayList<PolicyInfo> res = new ArrayList<PolicyInfo>(); for (int i=0; i<sPoliciesDisplayOrder.size(); i++) { diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 22367b21221a..9b558dbc4248 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -30,6 +30,7 @@ import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.annotation.UserIdInt; import android.annotation.WorkerThread; import android.app.Activity; @@ -1136,6 +1137,7 @@ public class DevicePolicyManager { * * @hide */ + @UnsupportedAppUsage public static final String ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED = "android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED"; @@ -1859,6 +1861,7 @@ public class DevicePolicyManager { * @see #getActiveAdmins() * @hide */ + @UnsupportedAppUsage public @Nullable List<ComponentName> getActiveAdminsAsUser(int userId) { if (mService != null) { try { @@ -1886,6 +1889,7 @@ public class DevicePolicyManager { * or uninstalled. * @hide */ + @UnsupportedAppUsage public boolean packageHasActiveAdmins(String packageName, int userId) { if (mService != null) { try { @@ -2121,6 +2125,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getPasswordQuality(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -2186,6 +2191,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getPasswordMinimumLength(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -2255,6 +2261,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getPasswordMinimumUpperCase(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -2324,6 +2331,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getPasswordMinimumLowerCase(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -2392,6 +2400,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getPasswordMinimumLetters(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -2460,6 +2469,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getPasswordMinimumNumeric(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -2527,6 +2537,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getPasswordMinimumSymbols(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -2595,6 +2606,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getPasswordMinimumNonLetter(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -2746,6 +2758,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getPasswordHistoryLength(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -2872,6 +2885,7 @@ public class DevicePolicyManager { * * @hide */ + @UnsupportedAppUsage public int getCurrentFailedPasswordAttempts(int userHandle) { if (mService != null) { try { @@ -2952,6 +2966,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getMaximumFailedPasswordsForWipe(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -3224,6 +3239,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public long getMaximumTimeToLock(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -3297,6 +3313,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public long getRequiredStrongAuthTimeout(@Nullable ComponentName admin, @UserIdInt int userId) { if (mService != null) { try { @@ -3485,6 +3502,7 @@ public class DevicePolicyManager { * of the device admin that sets the proxy. * @hide */ + @UnsupportedAppUsage public @Nullable ComponentName setGlobalProxy(@NonNull ComponentName admin, Proxy proxySpec, List<String> exclusionList ) { throwIfParentInstance("setGlobalProxy"); @@ -3820,6 +3838,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getStorageEncryptionStatus(int userHandle) { if (mService != null) { try { @@ -4543,6 +4562,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public boolean getCameraDisabled(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -4798,6 +4818,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public int getKeyguardDisabledFeatures(@Nullable ComponentName admin, int userHandle) { if (mService != null) { try { @@ -4812,6 +4833,7 @@ public class DevicePolicyManager { /** * @hide */ + @UnsupportedAppUsage public void setActiveAdmin(@NonNull ComponentName policyReceiver, boolean refreshing, int userHandle) { if (mService != null) { @@ -4826,6 +4848,7 @@ public class DevicePolicyManager { /** * @hide */ + @UnsupportedAppUsage public void setActiveAdmin(@NonNull ComponentName policyReceiver, boolean refreshing) { setActiveAdmin(policyReceiver, refreshing, myUserId()); } @@ -4846,6 +4869,7 @@ public class DevicePolicyManager { /** * @hide */ + @UnsupportedAppUsage public void setActivePasswordState(PasswordMetrics metrics, int userHandle) { if (mService != null) { try { @@ -4872,6 +4896,7 @@ public class DevicePolicyManager { /** * @hide */ + @UnsupportedAppUsage public void reportFailedPasswordAttempt(int userHandle) { if (mService != null) { try { @@ -4885,6 +4910,7 @@ public class DevicePolicyManager { /** * @hide */ + @UnsupportedAppUsage public void reportSuccessfulPasswordAttempt(int userHandle) { if (mService != null) { try { @@ -5513,6 +5539,7 @@ public class DevicePolicyManager { * @see #getProfileOwner() * @hide */ + @UnsupportedAppUsage public @Nullable ComponentName getProfileOwnerAsUser(final int userId) throws IllegalArgumentException { if (mService != null) { @@ -5631,6 +5658,7 @@ public class DevicePolicyManager { * * @hide */ + @UnsupportedAppUsage public void setDefaultSmsApplication(@NonNull ComponentName admin, String packageName) { throwIfParentInstance("setDefaultSmsApplication"); if (mService != null) { @@ -5846,6 +5874,7 @@ public class DevicePolicyManager { } /** @hide per-user version */ + @UnsupportedAppUsage public @Nullable List<PersistableBundle> getTrustAgentConfiguration( @Nullable ComponentName admin, @NonNull ComponentName agent, int userHandle) { if (mService != null) { @@ -8796,6 +8825,7 @@ public class DevicePolicyManager { } } + @UnsupportedAppUsage private void throwIfParentInstance(String functionName) { if (mParentInstance) { throw new SecurityException(functionName + " cannot be called on the parent instance"); @@ -8878,6 +8908,7 @@ public class DevicePolicyManager { * mandatory or {@code null} if backups are not mandatory. * @hide */ + @UnsupportedAppUsage public ComponentName getMandatoryBackupTransport() { throwIfParentInstance("getMandatoryBackupTransport"); try { diff --git a/core/java/android/app/admin/SecurityLog.java b/core/java/android/app/admin/SecurityLog.java index 38b4f8ff8d67..170c8027cee3 100644 --- a/core/java/android/app/admin/SecurityLog.java +++ b/core/java/android/app/admin/SecurityLog.java @@ -18,6 +18,7 @@ package android.app.admin; import android.annotation.IntDef; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.os.Parcel; import android.os.Parcelable; @@ -476,6 +477,7 @@ public class SecurityLog { * Constructor used by native classes to generate SecurityEvent instances. * @hide */ + @UnsupportedAppUsage /* package */ SecurityEvent(byte[] data) { this(0, data); } diff --git a/core/java/android/app/assist/AssistContent.java b/core/java/android/app/assist/AssistContent.java index 1c9f573420ad..bdbce5282b94 100644 --- a/core/java/android/app/assist/AssistContent.java +++ b/core/java/android/app/assist/AssistContent.java @@ -1,5 +1,6 @@ package android.app.assist; +import android.annotation.UnsupportedAppUsage; import android.content.ClipData; import android.content.Intent; import android.net.Uri; @@ -13,12 +14,18 @@ import android.os.Parcelable; * {@link android.app.Activity#onProvideAssistContent Activity.onProvideAssistContent}. */ public class AssistContent implements Parcelable { + @UnsupportedAppUsage private boolean mIsAppProvidedIntent = false; private boolean mIsAppProvidedWebUri = false; + @UnsupportedAppUsage private Intent mIntent; + @UnsupportedAppUsage private String mStructuredData; + @UnsupportedAppUsage private ClipData mClipData; + @UnsupportedAppUsage private Uri mUri; + @UnsupportedAppUsage private final Bundle mExtras; public AssistContent() { @@ -148,6 +155,7 @@ public class AssistContent implements Parcelable { return mExtras; } + @UnsupportedAppUsage AssistContent(Parcel in) { if (in.readInt() != 0) { mIntent = Intent.CREATOR.createFromParcel(in); @@ -166,6 +174,7 @@ public class AssistContent implements Parcelable { mIsAppProvidedWebUri = in.readInt() == 1; } + @UnsupportedAppUsage void writeToParcelInternal(Parcel dest, int flags) { if (mIntent != null) { dest.writeInt(1); diff --git a/core/java/android/app/backup/BackupDataInput.java b/core/java/android/app/backup/BackupDataInput.java index 26f9e3ef5dda..2a98ca715a26 100644 --- a/core/java/android/app/backup/BackupDataInput.java +++ b/core/java/android/app/backup/BackupDataInput.java @@ -17,6 +17,7 @@ package android.app.backup; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import java.io.FileDescriptor; import java.io.IOException; @@ -67,7 +68,9 @@ public class BackupDataInput { private boolean mHeaderReady; private static class EntityHeader { + @UnsupportedAppUsage String key; + @UnsupportedAppUsage int dataSize; } diff --git a/core/java/android/app/backup/BackupDataInputStream.java b/core/java/android/app/backup/BackupDataInputStream.java index 94c78457d266..08880665d921 100644 --- a/core/java/android/app/backup/BackupDataInputStream.java +++ b/core/java/android/app/backup/BackupDataInputStream.java @@ -16,6 +16,7 @@ package android.app.backup; +import android.annotation.UnsupportedAppUsage; import java.io.InputStream; import java.io.IOException; @@ -37,7 +38,9 @@ import java.io.IOException; */ public class BackupDataInputStream extends InputStream { + @UnsupportedAppUsage String key; + @UnsupportedAppUsage int dataSize; BackupDataInput mData; diff --git a/core/java/android/app/backup/BackupDataOutput.java b/core/java/android/app/backup/BackupDataOutput.java index 5a66f3407417..01961e78777f 100644 --- a/core/java/android/app/backup/BackupDataOutput.java +++ b/core/java/android/app/backup/BackupDataOutput.java @@ -17,6 +17,7 @@ package android.app.backup; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.os.ParcelFileDescriptor; import java.io.FileDescriptor; @@ -67,6 +68,7 @@ public class BackupDataOutput { private final long mQuota; private final int mTransportFlags; + @UnsupportedAppUsage long mBackupWriter; /** diff --git a/core/java/android/app/backup/BackupHelperDispatcher.java b/core/java/android/app/backup/BackupHelperDispatcher.java index 681153236967..e9acdbfb61b9 100644 --- a/core/java/android/app/backup/BackupHelperDispatcher.java +++ b/core/java/android/app/backup/BackupHelperDispatcher.java @@ -16,6 +16,7 @@ package android.app.backup; +import android.annotation.UnsupportedAppUsage; import android.os.ParcelFileDescriptor; import android.util.Log; @@ -29,7 +30,9 @@ public class BackupHelperDispatcher { private static final String TAG = "BackupHelperDispatcher"; private static class Header { + @UnsupportedAppUsage int chunkSize; // not including the header + @UnsupportedAppUsage String keyPrefix; } diff --git a/core/java/android/app/backup/BackupManager.java b/core/java/android/app/backup/BackupManager.java index 43f69e1c98f7..4d74410e16a2 100644 --- a/core/java/android/app/backup/BackupManager.java +++ b/core/java/android/app/backup/BackupManager.java @@ -20,6 +20,7 @@ import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -192,8 +193,10 @@ public class BackupManager { public static final int ERROR_TRANSPORT_INVALID = -2; private Context mContext; + @UnsupportedAppUsage private static IBackupManager sService; + @UnsupportedAppUsage private static void checkServiceBinder() { if (sService == null) { sService = IBackupManager.Stub.asInterface( diff --git a/core/java/android/app/backup/FileBackupHelperBase.java b/core/java/android/app/backup/FileBackupHelperBase.java index 4ed5197aa6b4..0caab983448b 100644 --- a/core/java/android/app/backup/FileBackupHelperBase.java +++ b/core/java/android/app/backup/FileBackupHelperBase.java @@ -16,6 +16,7 @@ package android.app.backup; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.ParcelFileDescriptor; import android.util.Log; @@ -101,6 +102,7 @@ class FileBackupHelperBase { return (result == 0); } + @UnsupportedAppUsage public void writeNewStateDescription(ParcelFileDescriptor fd) { int result = writeSnapshot_native(mPtr, fd.getFileDescriptor()); // TODO: Do something with the error. diff --git a/core/java/android/app/backup/FullBackup.java b/core/java/android/app/backup/FullBackup.java index b7a8da59b170..9a595b2da59f 100644 --- a/core/java/android/app/backup/FullBackup.java +++ b/core/java/android/app/backup/FullBackup.java @@ -16,6 +16,7 @@ package android.app.backup; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.XmlResourceParser; @@ -90,6 +91,7 @@ public class FullBackup { /** * @hide */ + @UnsupportedAppUsage static public native int backupToTar(String packageName, String domain, String linkdomain, String rootpath, String path, FullBackupDataOutput output); diff --git a/core/java/android/app/backup/FullBackupDataOutput.java b/core/java/android/app/backup/FullBackupDataOutput.java index 18f428339941..0ce86534afdd 100644 --- a/core/java/android/app/backup/FullBackupDataOutput.java +++ b/core/java/android/app/backup/FullBackupDataOutput.java @@ -1,5 +1,6 @@ package android.app.backup; +import android.annotation.UnsupportedAppUsage; import android.os.ParcelFileDescriptor; /** @@ -9,6 +10,7 @@ import android.os.ParcelFileDescriptor; */ public class FullBackupDataOutput { // Currently a name-scoping shim around BackupDataOutput + @UnsupportedAppUsage private final BackupDataOutput mData; private final long mQuota; private final int mTransportFlags; @@ -65,14 +67,17 @@ public class FullBackupDataOutput { } /** @hide - used only internally to the backup manager service's stream construction */ + @UnsupportedAppUsage public FullBackupDataOutput(ParcelFileDescriptor fd) { this(fd, /*quota=*/ -1, /*transportFlags=*/ 0); } /** @hide */ + @UnsupportedAppUsage public BackupDataOutput getData() { return mData; } /** @hide - used for measurement pass */ + @UnsupportedAppUsage public void addSize(long size) { if (size > 0) { mSize += size; diff --git a/core/java/android/app/job/JobInfo.java b/core/java/android/app/job/JobInfo.java index 02afcc7cf706..9baa16f2b72b 100644 --- a/core/java/android/app/job/JobInfo.java +++ b/core/java/android/app/job/JobInfo.java @@ -29,6 +29,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; +import android.annotation.UnsupportedAppUsage; import android.content.ClipData; import android.content.ComponentName; import android.net.NetworkRequest; @@ -202,6 +203,7 @@ public class JobInfo implements Parcelable { * JobInfo priority if it is smaller). * @hide */ + @UnsupportedAppUsage public static final int PRIORITY_FOREGROUND_APP = 30; /** @@ -240,6 +242,7 @@ public class JobInfo implements Parcelable { * * @hide */ + @UnsupportedAppUsage public static final int FLAG_WILL_BE_FOREGROUND = 1 << 0; /** @@ -282,11 +285,13 @@ public class JobInfo implements Parcelable { */ public static final int CONSTRAINT_FLAG_STORAGE_NOT_LOW = 1 << 3; + @UnsupportedAppUsage private final int jobId; private final PersistableBundle extras; private final Bundle transientExtras; private final ClipData clipData; private final int clipGrantFlags; + @UnsupportedAppUsage private final ComponentName service; private final int constraintFlags; private final TriggerContentUri[] triggerContentUris; @@ -306,6 +311,7 @@ public class JobInfo implements Parcelable { private final long initialBackoffMillis; private final int backoffPolicy; private final int priority; + @UnsupportedAppUsage private final int flags; /** @@ -1009,12 +1015,14 @@ public class JobInfo implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public Builder setPriority(int priority) { mPriority = priority; return this; } /** @hide */ + @UnsupportedAppUsage public Builder setFlags(int flags) { mFlags = flags; return this; diff --git a/core/java/android/app/job/JobParameters.java b/core/java/android/app/job/JobParameters.java index d67f11bb6c2b..578a9aee539a 100644 --- a/core/java/android/app/job/JobParameters.java +++ b/core/java/android/app/job/JobParameters.java @@ -18,6 +18,7 @@ package android.app.job; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.app.job.IJobCallback; import android.content.ClipData; import android.net.Network; @@ -59,11 +60,13 @@ public class JobParameters implements Parcelable { } } + @UnsupportedAppUsage private final int jobId; private final PersistableBundle extras; private final Bundle transientExtras; private final ClipData clipData; private final int clipGrantFlags; + @UnsupportedAppUsage private final IBinder callback; private final boolean overrideDeadlineExpired; private final Uri[] mTriggeredContentUris; @@ -273,6 +276,7 @@ public class JobParameters implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public IJobCallback getCallback() { return IJobCallback.Stub.asInterface(callback); } diff --git a/core/java/android/app/job/JobWorkItem.java b/core/java/android/app/job/JobWorkItem.java index 995f5226d5a3..bfc6df260e80 100644 --- a/core/java/android/app/job/JobWorkItem.java +++ b/core/java/android/app/job/JobWorkItem.java @@ -19,6 +19,7 @@ package android.app.job; import static android.app.job.JobInfo.NETWORK_BYTES_UNKNOWN; import android.annotation.BytesLong; +import android.annotation.UnsupportedAppUsage; import android.content.Intent; import android.os.Parcel; import android.os.Parcelable; @@ -29,11 +30,15 @@ import android.os.Parcelable; * {@link JobParameters#dequeueWork() JobParameters.dequeueWork} for more details. */ final public class JobWorkItem implements Parcelable { + @UnsupportedAppUsage final Intent mIntent; final long mNetworkDownloadBytes; final long mNetworkUploadBytes; + @UnsupportedAppUsage int mDeliveryCount; + @UnsupportedAppUsage int mWorkId; + @UnsupportedAppUsage Object mGrants; /** @@ -219,6 +224,7 @@ final public class JobWorkItem implements Parcelable { } }; + @UnsupportedAppUsage JobWorkItem(Parcel in) { if (in.readInt() != 0) { mIntent = Intent.CREATOR.createFromParcel(in); diff --git a/core/java/android/app/trust/TrustManager.java b/core/java/android/app/trust/TrustManager.java index 8ab0b706a1e2..8fe0e0334692 100644 --- a/core/java/android/app/trust/TrustManager.java +++ b/core/java/android/app/trust/TrustManager.java @@ -19,6 +19,7 @@ package android.app.trust; import android.Manifest; import android.annotation.RequiresPermission; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.Handler; import android.os.IBinder; @@ -73,6 +74,7 @@ public class TrustManager { * * Requires the {@link android.Manifest.permission#ACCESS_KEYGUARD_SECURE_STORAGE} permission. */ + @UnsupportedAppUsage public void reportUnlockAttempt(boolean successful, int userId) { try { mService.reportUnlockAttempt(successful, userId); diff --git a/core/java/android/app/usage/ConfigurationStats.java b/core/java/android/app/usage/ConfigurationStats.java index 080216ce3b25..dff9b611010f 100644 --- a/core/java/android/app/usage/ConfigurationStats.java +++ b/core/java/android/app/usage/ConfigurationStats.java @@ -15,6 +15,7 @@ */ package android.app.usage; +import android.annotation.UnsupportedAppUsage; import android.content.res.Configuration; import android.os.Parcel; import android.os.Parcelable; @@ -28,31 +29,37 @@ public final class ConfigurationStats implements Parcelable { /** * {@hide} */ + @UnsupportedAppUsage public Configuration mConfiguration; /** * {@hide} */ + @UnsupportedAppUsage public long mBeginTimeStamp; /** * {@hide} */ + @UnsupportedAppUsage public long mEndTimeStamp; /** * {@hide} */ + @UnsupportedAppUsage public long mLastTimeActive; /** * {@hide} */ + @UnsupportedAppUsage public long mTotalTimeActive; /** * {@hide} */ + @UnsupportedAppUsage public int mActivationCount; /** diff --git a/core/java/android/app/usage/NetworkStatsManager.java b/core/java/android/app/usage/NetworkStatsManager.java index 9f46f207d645..59ae3347f417 100644 --- a/core/java/android/app/usage/NetworkStatsManager.java +++ b/core/java/android/app/usage/NetworkStatsManager.java @@ -21,6 +21,7 @@ import static com.android.internal.util.Preconditions.checkNotNull; import android.annotation.Nullable; import android.annotation.SystemService; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.app.usage.NetworkStats.Bucket; import android.content.Context; import android.net.ConnectivityManager; @@ -121,6 +122,7 @@ public class NetworkStatsManager { /** * {@hide} */ + @UnsupportedAppUsage public NetworkStatsManager(Context context) throws ServiceNotFoundException { this(context, INetworkStatsService.Stub.asInterface( ServiceManager.getServiceOrThrow(Context.NETWORK_STATS_SERVICE))); diff --git a/core/java/android/app/usage/UsageEvents.java b/core/java/android/app/usage/UsageEvents.java index 3e90af356da0..9f22ad193e42 100644 --- a/core/java/android/app/usage/UsageEvents.java +++ b/core/java/android/app/usage/UsageEvents.java @@ -17,6 +17,7 @@ package android.app.usage; import android.annotation.IntDef; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.content.res.Configuration; import android.os.Parcel; import android.os.Parcelable; @@ -177,27 +178,32 @@ public final class UsageEvents implements Parcelable { /** * {@hide} */ + @UnsupportedAppUsage public String mPackage; /** * {@hide} */ + @UnsupportedAppUsage public String mClass; /** * {@hide} */ + @UnsupportedAppUsage public long mTimeStamp; /** * {@hide} */ + @UnsupportedAppUsage public int mEventType; /** * Only present for {@link #CONFIGURATION_CHANGE} event types. * {@hide} */ + @UnsupportedAppUsage public Configuration mConfiguration; /** @@ -380,24 +386,30 @@ public final class UsageEvents implements Parcelable { } // Only used when creating the resulting events. Not used for reading/unparceling. + @UnsupportedAppUsage private List<Event> mEventsToWrite = null; // Only used for reading/unparceling events. + @UnsupportedAppUsage private Parcel mParcel = null; + @UnsupportedAppUsage private final int mEventCount; + @UnsupportedAppUsage private int mIndex = 0; /* * In order to save space, since ComponentNames will be duplicated everywhere, * we use a map and index into it. */ + @UnsupportedAppUsage private String[] mStringPool; /** * Construct the iterator from a parcel. * {@hide} */ + @UnsupportedAppUsage public UsageEvents(Parcel in) { byte[] bytes = in.readBlob(); Parcel data = Parcel.obtain(); @@ -482,6 +494,7 @@ public final class UsageEvents implements Parcelable { } } + @UnsupportedAppUsage private int findStringIndex(String str) { final int index = Arrays.binarySearch(mStringPool, str); if (index < 0) { @@ -493,6 +506,7 @@ public final class UsageEvents implements Parcelable { /** * Writes a single event to the parcel. Modify this when updating {@link Event}. */ + @UnsupportedAppUsage private void writeEventToParcel(Event event, Parcel p, int flags) { final int packageIndex; if (event.mPackage != null) { @@ -536,6 +550,7 @@ public final class UsageEvents implements Parcelable { /** * Reads a single event from the parcel. Modify this when updating {@link Event}. */ + @UnsupportedAppUsage private void readEventFromParcel(Parcel p, Event eventOut) { final int packageIndex = p.readInt(); if (packageIndex >= 0) { diff --git a/core/java/android/app/usage/UsageStats.java b/core/java/android/app/usage/UsageStats.java index 2b14841fb34b..0659a237d522 100644 --- a/core/java/android/app/usage/UsageStats.java +++ b/core/java/android/app/usage/UsageStats.java @@ -17,6 +17,7 @@ package android.app.usage; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -31,32 +32,38 @@ public final class UsageStats implements Parcelable { /** * {@hide} */ + @UnsupportedAppUsage public String mPackageName; /** * {@hide} */ + @UnsupportedAppUsage public long mBeginTimeStamp; /** * {@hide} */ + @UnsupportedAppUsage public long mEndTimeStamp; /** * Last time used by the user with an explicit action (notification, activity launch). * {@hide} */ + @UnsupportedAppUsage public long mLastTimeUsed; /** * {@hide} */ + @UnsupportedAppUsage public long mTotalTimeInForeground; /** * {@hide} */ + @UnsupportedAppUsage public int mLaunchCount; /** @@ -67,6 +74,7 @@ public final class UsageStats implements Parcelable { /** * {@hide} */ + @UnsupportedAppUsage public int mLastEvent; /** diff --git a/core/java/android/app/usage/UsageStatsManager.java b/core/java/android/app/usage/UsageStatsManager.java index 72d209abda16..0994332bcdc7 100644 --- a/core/java/android/app/usage/UsageStatsManager.java +++ b/core/java/android/app/usage/UsageStatsManager.java @@ -21,6 +21,7 @@ import android.annotation.NonNull; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.app.PendingIntent; import android.content.Context; import android.content.pm.ParceledListSlice; @@ -231,9 +232,12 @@ public final class UsageStatsManager { @SystemApi public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED"; + @UnsupportedAppUsage private static final UsageEvents sEmptyResults = new UsageEvents(); + @UnsupportedAppUsage private final Context mContext; + @UnsupportedAppUsage private final IUsageStatsManager mService; /** diff --git a/core/java/android/database/AbstractCursor.java b/core/java/android/database/AbstractCursor.java index 76fa008799dd..c6c2aa57f533 100644 --- a/core/java/android/database/AbstractCursor.java +++ b/core/java/android/database/AbstractCursor.java @@ -16,6 +16,7 @@ package android.database; +import android.annotation.UnsupportedAppUsage; import android.content.ContentResolver; import android.net.Uri; import android.os.Bundle; @@ -68,6 +69,7 @@ public abstract class AbstractCursor implements CrossProcessCursor { @Deprecated protected ContentResolver mContentResolver; + @UnsupportedAppUsage private Uri mNotifyUri; private final Object mSelfObserverLock = new Object(); @@ -77,6 +79,7 @@ public abstract class AbstractCursor implements CrossProcessCursor { private final DataSetObservable mDataSetObservable = new DataSetObservable(); private final ContentObservable mContentObservable = new ContentObservable(); + @UnsupportedAppUsage private Bundle mExtras = Bundle.EMPTY; /* -------------------------------------------------------- */ diff --git a/core/java/android/database/AbstractWindowedCursor.java b/core/java/android/database/AbstractWindowedCursor.java index 083485facb98..a988f0684fca 100644 --- a/core/java/android/database/AbstractWindowedCursor.java +++ b/core/java/android/database/AbstractWindowedCursor.java @@ -16,6 +16,8 @@ package android.database; +import android.annotation.UnsupportedAppUsage; + /** * A base class for Cursors that store their data in {@link CursorWindow}s. * <p> @@ -179,6 +181,7 @@ public abstract class AbstractWindowedCursor extends AbstractCursor { * Closes the cursor window and sets {@link #mWindow} to null. * @hide */ + @UnsupportedAppUsage protected void closeWindow() { if (mWindow != null) { mWindow.close(); @@ -193,6 +196,7 @@ public abstract class AbstractWindowedCursor extends AbstractCursor { * @param name The window name. * @hide */ + @UnsupportedAppUsage protected void clearOrCreateWindow(String name) { if (mWindow == null) { mWindow = new CursorWindow(name); @@ -203,6 +207,7 @@ public abstract class AbstractWindowedCursor extends AbstractCursor { /** @hide */ @Override + @UnsupportedAppUsage protected void onDeactivateOrClose() { super.onDeactivateOrClose(); closeWindow(); diff --git a/core/java/android/database/ContentObserver.java b/core/java/android/database/ContentObserver.java index 5f01e300bf42..798b7830ac50 100644 --- a/core/java/android/database/ContentObserver.java +++ b/core/java/android/database/ContentObserver.java @@ -16,6 +16,7 @@ package android.database; +import android.annotation.UnsupportedAppUsage; import android.net.Uri; import android.os.Handler; import android.os.UserHandle; @@ -59,6 +60,7 @@ public abstract class ContentObserver { * * {@hide} */ + @UnsupportedAppUsage public IContentObserver releaseContentObserver() { synchronized (mLock) { final Transport oldTransport = mTransport; diff --git a/core/java/android/database/CursorWindow.java b/core/java/android/database/CursorWindow.java index a748f4d2cbce..d9443d9a3c5f 100644 --- a/core/java/android/database/CursorWindow.java +++ b/core/java/android/database/CursorWindow.java @@ -17,6 +17,7 @@ package android.database; import android.annotation.BytesLong; +import android.annotation.UnsupportedAppUsage; import android.content.res.Resources; import android.database.sqlite.SQLiteClosable; import android.database.sqlite.SQLiteException; @@ -45,12 +46,14 @@ public class CursorWindow extends SQLiteClosable implements Parcelable { private static final String STATS_TAG = "CursorWindowStats"; // This static member will be evaluated when first used. + @UnsupportedAppUsage private static int sCursorWindowSize = -1; /** * The native CursorWindow object pointer. (FOR INTERNAL USE ONLY) * @hide */ + @UnsupportedAppUsage public long mWindowPtr; private int mStartPos; @@ -744,6 +747,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable { dispose(); } + @UnsupportedAppUsage private static final LongSparseArray<Integer> sWindowToPidMap = new LongSparseArray<Integer>(); private void recordNewWindow(int pid, long window) { @@ -765,6 +769,7 @@ public class CursorWindow extends SQLiteClosable implements Parcelable { } } + @UnsupportedAppUsage private String printStats() { StringBuilder buff = new StringBuilder(); int myPid = Process.myPid(); diff --git a/core/java/android/database/CursorWrapper.java b/core/java/android/database/CursorWrapper.java index 63a2792dd5d3..0d27dfb872f0 100644 --- a/core/java/android/database/CursorWrapper.java +++ b/core/java/android/database/CursorWrapper.java @@ -16,6 +16,7 @@ package android.database; +import android.annotation.UnsupportedAppUsage; import android.content.ContentResolver; import android.net.Uri; import android.os.Bundle; @@ -26,6 +27,7 @@ import android.os.Bundle; */ public class CursorWrapper implements Cursor { /** @hide */ + @UnsupportedAppUsage protected final Cursor mCursor; /** diff --git a/core/java/android/database/DatabaseUtils.java b/core/java/android/database/DatabaseUtils.java index 3d019f07cb84..47567c34baf1 100644 --- a/core/java/android/database/DatabaseUtils.java +++ b/core/java/android/database/DatabaseUtils.java @@ -16,6 +16,7 @@ package android.database; +import android.annotation.UnsupportedAppUsage; import android.content.ContentValues; import android.content.Context; import android.content.OperationApplicationException; @@ -232,6 +233,7 @@ public class DatabaseUtils { * @return object value type * @hide */ + @UnsupportedAppUsage public static int getTypeOfObject(Object obj) { if (obj == null) { return Cursor.FIELD_TYPE_NULL; @@ -760,6 +762,7 @@ public class DatabaseUtils { * the requested row. * @hide */ + @UnsupportedAppUsage public static int cursorPickFillWindowStartPosition( int cursorPosition, int cursorWindowCapacity) { return Math.max(cursorPosition - cursorWindowCapacity / 3, 0); diff --git a/core/java/android/database/MatrixCursor.java b/core/java/android/database/MatrixCursor.java index 5e107f23d3d4..5033296df9fb 100644 --- a/core/java/android/database/MatrixCursor.java +++ b/core/java/android/database/MatrixCursor.java @@ -16,6 +16,7 @@ package android.database; +import android.annotation.UnsupportedAppUsage; import java.util.ArrayList; /** @@ -26,7 +27,9 @@ import java.util.ArrayList; public class MatrixCursor extends AbstractCursor { private final String[] columnNames; + @UnsupportedAppUsage private Object[] data; + @UnsupportedAppUsage private int rowCount = 0; private final int columnCount; @@ -61,6 +64,7 @@ public class MatrixCursor extends AbstractCursor { /** * Gets value at the given column for the current row. */ + @UnsupportedAppUsage private Object get(int column) { if (column < 0 || column >= columnCount) { throw new CursorIndexOutOfBoundsException("Requested column: " diff --git a/core/java/android/database/sqlite/DatabaseObjectNotClosedException.java b/core/java/android/database/sqlite/DatabaseObjectNotClosedException.java index f28c70fe1efe..2af06e116da0 100644 --- a/core/java/android/database/sqlite/DatabaseObjectNotClosedException.java +++ b/core/java/android/database/sqlite/DatabaseObjectNotClosedException.java @@ -16,6 +16,8 @@ package android.database.sqlite; +import android.annotation.UnsupportedAppUsage; + /** * An exception that indicates that garbage-collector is finalizing a database object * that is not explicitly closed @@ -25,6 +27,7 @@ public class DatabaseObjectNotClosedException extends RuntimeException { private static final String s = "Application did not close the cursor or database object " + "that was opened here"; + @UnsupportedAppUsage public DatabaseObjectNotClosedException() { super(s); } diff --git a/core/java/android/database/sqlite/SQLiteClosable.java b/core/java/android/database/sqlite/SQLiteClosable.java index adfbc6e177ac..d6a71da105dd 100644 --- a/core/java/android/database/sqlite/SQLiteClosable.java +++ b/core/java/android/database/sqlite/SQLiteClosable.java @@ -16,6 +16,7 @@ package android.database.sqlite; +import android.annotation.UnsupportedAppUsage; import java.io.Closeable; /** @@ -24,6 +25,7 @@ import java.io.Closeable; * This class implements a primitive reference counting scheme for database objects. */ public abstract class SQLiteClosable implements Closeable { + @UnsupportedAppUsage private int mReferenceCount = 1; /** diff --git a/core/java/android/database/sqlite/SQLiteCursor.java b/core/java/android/database/sqlite/SQLiteCursor.java index 13e6f7182e8a..e3c409891c54 100644 --- a/core/java/android/database/sqlite/SQLiteCursor.java +++ b/core/java/android/database/sqlite/SQLiteCursor.java @@ -16,6 +16,7 @@ package android.database.sqlite; +import android.annotation.UnsupportedAppUsage; import android.database.AbstractWindowedCursor; import android.database.CursorWindow; import android.database.DatabaseUtils; @@ -39,12 +40,14 @@ public class SQLiteCursor extends AbstractWindowedCursor { static final int NO_COUNT = -1; /** The name of the table to edit */ + @UnsupportedAppUsage private final String mEditTable; /** The names of the columns in the rows */ private final String[] mColumns; /** The query object for the cursor */ + @UnsupportedAppUsage private final SQLiteQuery mQuery; /** The compiled query this cursor came from */ @@ -139,6 +142,7 @@ public class SQLiteCursor extends AbstractWindowedCursor { return mCount; } + @UnsupportedAppUsage private void fillWindow(int requiredPos) { clearOrCreateWindow(getDatabase().getPath()); try { diff --git a/core/java/android/database/sqlite/SQLiteCustomFunction.java b/core/java/android/database/sqlite/SQLiteCustomFunction.java index 02f3284b4258..ec204581aef5 100644 --- a/core/java/android/database/sqlite/SQLiteCustomFunction.java +++ b/core/java/android/database/sqlite/SQLiteCustomFunction.java @@ -16,13 +16,17 @@ package android.database.sqlite; +import android.annotation.UnsupportedAppUsage; + /** * Describes a custom SQL function. * * @hide */ public final class SQLiteCustomFunction { + @UnsupportedAppUsage public final String name; + @UnsupportedAppUsage public final int numArgs; public final SQLiteDatabase.CustomFunction callback; @@ -47,6 +51,7 @@ public final class SQLiteCustomFunction { // Called from native. @SuppressWarnings("unused") + @UnsupportedAppUsage private void dispatchCallback(String[] args) { callback.callback(args); } diff --git a/core/java/android/database/sqlite/SQLiteDatabase.java b/core/java/android/database/sqlite/SQLiteDatabase.java index 6adae25fc38d..424da7602a58 100644 --- a/core/java/android/database/sqlite/SQLiteDatabase.java +++ b/core/java/android/database/sqlite/SQLiteDatabase.java @@ -20,6 +20,7 @@ import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityManager; import android.content.ContentValues; import android.database.Cursor; @@ -91,6 +92,7 @@ public final class SQLiteDatabase extends SQLiteClosable { // Thread-local for database sessions that belong to this database. // Each thread has its own database session. // INVARIANT: Immutable. + @UnsupportedAppUsage private final ThreadLocal<SQLiteSession> mThreadSession = ThreadLocal .withInitial(this::createSession); @@ -124,12 +126,14 @@ public final class SQLiteDatabase extends SQLiteClosable { // The database configuration. // INVARIANT: Guarded by mLock. + @UnsupportedAppUsage private final SQLiteDatabaseConfiguration mConfigurationLocked; // The connection pool for the database, null when closed. // The pool itself is thread-safe, but the reference to it can only be acquired // when the lock is held. // INVARIANT: Guarded by mLock. + @UnsupportedAppUsage private SQLiteConnectionPool mConnectionPoolLocked; // True if the database has attached databases. @@ -189,6 +193,7 @@ public final class SQLiteDatabase extends SQLiteClosable { */ public static final int CONFLICT_NONE = 0; + @UnsupportedAppUsage private static final String[] CONFLICT_VALUES = new String[] {"", " OR ROLLBACK ", " OR ABORT ", " OR FAIL ", " OR IGNORE ", " OR REPLACE "}; @@ -399,6 +404,7 @@ public final class SQLiteDatabase extends SQLiteClosable { * @throws IllegalStateException if the thread does not yet have a session and * the database is not open. */ + @UnsupportedAppUsage SQLiteSession getThreadSession() { return mThreadSession.get(); // initialValue() throws if database closed } @@ -542,6 +548,7 @@ public final class SQLiteDatabase extends SQLiteClosable { beginTransaction(transactionListener, false); } + @UnsupportedAppUsage private void beginTransaction(SQLiteTransactionListener transactionListener, boolean exclusive) { acquireReference(); @@ -729,6 +736,7 @@ public final class SQLiteDatabase extends SQLiteClosable { return openDatabase(path.getPath(), openParams); } + @UnsupportedAppUsage private static SQLiteDatabase openDatabase(@NonNull String path, @NonNull OpenParams openParams) { Preconditions.checkArgument(openParams != null, "OpenParams cannot be null"); @@ -838,6 +846,7 @@ public final class SQLiteDatabase extends SQLiteClosable { * @see #isReadOnly() * @hide */ + @UnsupportedAppUsage public void reopenReadWrite() { synchronized (mLock) { throwIfNotOpenLocked(); @@ -2137,6 +2146,7 @@ public final class SQLiteDatabase extends SQLiteClosable { return dbStatsList; } + @UnsupportedAppUsage private void collectDbStats(ArrayList<DbStats> dbStatsList) { synchronized (mLock) { if (mConnectionPoolLocked != null) { @@ -2145,6 +2155,7 @@ public final class SQLiteDatabase extends SQLiteClosable { } } + @UnsupportedAppUsage private static ArrayList<SQLiteDatabase> getActiveDatabases() { ArrayList<SQLiteDatabase> databases = new ArrayList<SQLiteDatabase>(); synchronized (sActiveDatabases) { diff --git a/core/java/android/database/sqlite/SQLiteDatabaseConfiguration.java b/core/java/android/database/sqlite/SQLiteDatabaseConfiguration.java index bb62268ce742..48f10219921b 100644 --- a/core/java/android/database/sqlite/SQLiteDatabaseConfiguration.java +++ b/core/java/android/database/sqlite/SQLiteDatabaseConfiguration.java @@ -16,6 +16,7 @@ package android.database.sqlite; +import android.annotation.UnsupportedAppUsage; import java.util.ArrayList; import java.util.Locale; import java.util.regex.Pattern; @@ -67,6 +68,7 @@ public final class SQLiteDatabaseConfiguration { * * Default is 25. */ + @UnsupportedAppUsage public int maxSqlCacheSize; /** diff --git a/core/java/android/database/sqlite/SQLiteOpenHelper.java b/core/java/android/database/sqlite/SQLiteOpenHelper.java index 7ff66358de5f..1377806cb213 100644 --- a/core/java/android/database/sqlite/SQLiteOpenHelper.java +++ b/core/java/android/database/sqlite/SQLiteOpenHelper.java @@ -19,6 +19,7 @@ package android.database.sqlite; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.database.DatabaseErrorHandler; import android.database.SQLException; @@ -52,6 +53,7 @@ public abstract class SQLiteOpenHelper { private static final String TAG = SQLiteOpenHelper.class.getSimpleName(); private final Context mContext; + @UnsupportedAppUsage private final String mName; private final int mNewVersion; private final int mMinimumSupportedVersion; diff --git a/core/java/android/database/sqlite/SQLiteProgram.java b/core/java/android/database/sqlite/SQLiteProgram.java index 26e8c318299f..8304133cd41e 100644 --- a/core/java/android/database/sqlite/SQLiteProgram.java +++ b/core/java/android/database/sqlite/SQLiteProgram.java @@ -16,6 +16,7 @@ package android.database.sqlite; +import android.annotation.UnsupportedAppUsage; import android.database.DatabaseUtils; import android.os.CancellationSignal; @@ -31,10 +32,12 @@ public abstract class SQLiteProgram extends SQLiteClosable { private static final String[] EMPTY_STRING_ARRAY = new String[0]; private final SQLiteDatabase mDatabase; + @UnsupportedAppUsage private final String mSql; private final boolean mReadOnly; private final String[] mColumnNames; private final int mNumParameters; + @UnsupportedAppUsage private final Object[] mBindArgs; SQLiteProgram(SQLiteDatabase db, String sql, Object[] bindArgs, diff --git a/core/java/android/database/sqlite/SQLiteQueryBuilder.java b/core/java/android/database/sqlite/SQLiteQueryBuilder.java index c6c676f81758..1bd44fa5c2c6 100644 --- a/core/java/android/database/sqlite/SQLiteQueryBuilder.java +++ b/core/java/android/database/sqlite/SQLiteQueryBuilder.java @@ -16,6 +16,7 @@ package android.database.sqlite; +import android.annotation.UnsupportedAppUsage; import android.database.Cursor; import android.database.DatabaseUtils; import android.os.CancellationSignal; @@ -41,8 +42,11 @@ public class SQLiteQueryBuilder Pattern.compile("\\s*\\d+\\s*(,\\s*\\d+\\s*)?"); private Map<String, String> mProjectionMap = null; + @UnsupportedAppUsage private String mTables = ""; + @UnsupportedAppUsage private StringBuilder mWhereClause = null; // lazily created + @UnsupportedAppUsage private boolean mDistinct; private SQLiteDatabase.CursorFactory mFactory; private boolean mStrict; @@ -596,6 +600,7 @@ public class SQLiteQueryBuilder return query.toString(); } + @UnsupportedAppUsage private String[] computeProjection(String[] projectionIn) { if (projectionIn != null && projectionIn.length > 0) { if (mProjectionMap != null) { diff --git a/core/java/android/database/sqlite/SQLiteSession.java b/core/java/android/database/sqlite/SQLiteSession.java index d80ab1f2e867..a9ac9e7f882f 100644 --- a/core/java/android/database/sqlite/SQLiteSession.java +++ b/core/java/android/database/sqlite/SQLiteSession.java @@ -16,6 +16,7 @@ package android.database.sqlite; +import android.annotation.UnsupportedAppUsage; import android.database.CursorWindow; import android.database.DatabaseUtils; import android.os.CancellationSignal; @@ -291,6 +292,7 @@ public final class SQLiteSession { * @see #yieldTransaction * @see #endTransaction */ + @UnsupportedAppUsage public void beginTransaction(int transactionMode, SQLiteTransactionListener transactionListener, int connectionFlags, CancellationSignal cancellationSignal) { diff --git a/core/java/android/database/sqlite/SQLiteStatement.java b/core/java/android/database/sqlite/SQLiteStatement.java index b1092d765a9a..8f8f67625a33 100644 --- a/core/java/android/database/sqlite/SQLiteStatement.java +++ b/core/java/android/database/sqlite/SQLiteStatement.java @@ -16,6 +16,7 @@ package android.database.sqlite; +import android.annotation.UnsupportedAppUsage; import android.os.ParcelFileDescriptor; /** @@ -27,6 +28,7 @@ import android.os.ParcelFileDescriptor; * </p> */ public final class SQLiteStatement extends SQLiteProgram { + @UnsupportedAppUsage SQLiteStatement(SQLiteDatabase db, String sql, Object[] bindArgs) { super(db, sql, bindArgs, null); } diff --git a/core/java/android/database/sqlite/SqliteWrapper.java b/core/java/android/database/sqlite/SqliteWrapper.java index b019618a0f49..e3171640a25c 100644 --- a/core/java/android/database/sqlite/SqliteWrapper.java +++ b/core/java/android/database/sqlite/SqliteWrapper.java @@ -17,6 +17,7 @@ package android.database.sqlite; +import android.annotation.UnsupportedAppUsage; import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; @@ -44,6 +45,7 @@ public final class SqliteWrapper { return e.getMessage().equals(SQLITE_EXCEPTION_DETAIL_MESSAGE); } + @UnsupportedAppUsage public static void checkSQLiteException(Context context, SQLiteException e) { if (isLowMemory(e)) { Toast.makeText(context, com.android.internal.R.string.low_memory, @@ -53,6 +55,7 @@ public final class SqliteWrapper { } } + @UnsupportedAppUsage public static Cursor query(Context context, ContentResolver resolver, Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { try { @@ -73,6 +76,7 @@ public final class SqliteWrapper { return false; } } + @UnsupportedAppUsage public static int update(Context context, ContentResolver resolver, Uri uri, ContentValues values, String where, String[] selectionArgs) { try { @@ -84,6 +88,7 @@ public final class SqliteWrapper { } } + @UnsupportedAppUsage public static int delete(Context context, ContentResolver resolver, Uri uri, String where, String[] selectionArgs) { try { @@ -95,6 +100,7 @@ public final class SqliteWrapper { } } + @UnsupportedAppUsage public static Uri insert(Context context, ContentResolver resolver, Uri uri, ContentValues values) { try { diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 104134ab859e..fb916d38f3ba 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -22,6 +22,7 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; @@ -311,6 +312,7 @@ public class ConnectivityManager { * @hide */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) + @UnsupportedAppUsage public static final String INET_CONDITION_ACTION = "android.net.conn.INET_CONDITION_ACTION"; @@ -325,6 +327,7 @@ public class ConnectivityManager { * @hide */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) + @UnsupportedAppUsage public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED"; @@ -333,6 +336,7 @@ public class ConnectivityManager { * gives a String[] listing all the interfaces configured for * tethering and currently available for tethering. */ + @UnsupportedAppUsage public static final String EXTRA_AVAILABLE_TETHER = "availableArray"; /** @@ -347,6 +351,7 @@ public class ConnectivityManager { * gives a String[] listing all the interfaces currently tethered * (ie, has DHCPv4 support and packets potentially forwarded/NATed) */ + @UnsupportedAppUsage public static final String EXTRA_ACTIVE_TETHER = "tetherArray"; /** @@ -355,6 +360,7 @@ public class ConnectivityManager { * failed. Use {@link #getLastTetherError} to find the error code * for any interfaces listed here. */ + @UnsupportedAppUsage public static final String EXTRA_ERRORED_TETHER = "erroredArray"; /** @@ -459,6 +465,7 @@ public class ConnectivityManager { * The absence of a connection type. * @hide */ + @UnsupportedAppUsage public static final int TYPE_NONE = -1; /** @@ -575,6 +582,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated + @UnsupportedAppUsage public static final int TYPE_MOBILE_FOTA = 10; /** @@ -583,6 +591,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated + @UnsupportedAppUsage public static final int TYPE_MOBILE_IMS = 11; /** @@ -591,6 +600,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated + @UnsupportedAppUsage public static final int TYPE_MOBILE_CBS = 12; /** @@ -600,6 +610,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated + @UnsupportedAppUsage public static final int TYPE_WIFI_P2P = 13; /** @@ -608,6 +619,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated + @UnsupportedAppUsage public static final int TYPE_MOBILE_IA = 14; /** @@ -617,6 +629,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated + @UnsupportedAppUsage public static final int TYPE_MOBILE_EMERGENCY = 15; /** @@ -625,6 +638,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated + @UnsupportedAppUsage public static final int TYPE_PROXY = 16; /** @@ -707,6 +721,7 @@ public class ConnectivityManager { */ public static final String PRIVATE_DNS_DEFAULT_MODE_FALLBACK = PRIVATE_DNS_MODE_OPPORTUNISTIC; + @UnsupportedAppUsage private final IConnectivityManager mService; /** * A kludge to facilitate static access where a Context pointer isn't available, like in the @@ -743,6 +758,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated + @UnsupportedAppUsage public static String getNetworkTypeName(int type) { switch (type) { case TYPE_NONE: @@ -797,6 +813,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated + @UnsupportedAppUsage public static boolean isNetworkTypeMobile(int networkType) { switch (networkType) { case TYPE_MOBILE: @@ -1010,6 +1027,7 @@ public class ConnectivityManager { * {@hide} */ @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) + @UnsupportedAppUsage public NetworkInfo getActiveNetworkInfoForUid(int uid) { return getActiveNetworkInfoForUid(uid, false); } @@ -1107,6 +1125,7 @@ public class ConnectivityManager { */ @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public Network getNetworkForType(int networkType) { try { return mService.getNetworkForType(networkType); @@ -1135,6 +1154,7 @@ public class ConnectivityManager { * the Networks that applications run by the given user will use by default. * @hide */ + @UnsupportedAppUsage public NetworkCapabilities[] getDefaultNetworkCapabilitiesForUser(int userId) { try { return mService.getDefaultNetworkCapabilitiesForUser(userId); @@ -1153,6 +1173,7 @@ public class ConnectivityManager { * {@hide} */ @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public LinkProperties getActiveLinkProperties() { try { return mService.getActiveLinkProperties(); @@ -1177,6 +1198,7 @@ public class ConnectivityManager { */ @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public LinkProperties getLinkProperties(int networkType) { try { return mService.getLinkPropertiesForType(networkType); @@ -1332,6 +1354,7 @@ public class ConnectivityManager { return 1; } + @UnsupportedAppUsage private NetworkCapabilities networkCapabilitiesForFeature(int networkType, String feature) { if (networkType == TYPE_MOBILE) { switch (feature) { @@ -1495,6 +1518,7 @@ public class ConnectivityManager { }; } + @UnsupportedAppUsage private static final HashMap<NetworkCapabilities, LegacyRequest> sLegacyRequests = new HashMap<>(); @@ -1523,6 +1547,7 @@ public class ConnectivityManager { Log.d(TAG, "expireRequest with " + ourSeqNum + ", " + sequenceNum); } + @UnsupportedAppUsage private NetworkRequest requestNetworkForFeatureLocked(NetworkCapabilities netCap) { int delay = -1; int type = legacyTypeForNetworkCapabilities(netCap); @@ -1552,6 +1577,7 @@ public class ConnectivityManager { } } + @UnsupportedAppUsage private boolean removeRequestForFeature(NetworkCapabilities netCap) { final LegacyRequest l; synchronized (sLegacyRequests) { @@ -1619,10 +1645,13 @@ public class ConnectivityManager { /** @hide */ public static class PacketKeepaliveCallback { /** The requested keepalive was successfully started. */ + @UnsupportedAppUsage public void onStarted() {} /** The keepalive was successfully stopped. */ + @UnsupportedAppUsage public void onStopped() {} /** An error occurred. */ + @UnsupportedAppUsage public void onError(int error) {} } @@ -1689,6 +1718,7 @@ public class ConnectivityManager { mLooper.quit(); } + @UnsupportedAppUsage public void stop() { try { mService.stopKeepalive(mNetwork, mSlot); @@ -1744,6 +1774,7 @@ public class ConnectivityManager { * * @hide */ + @UnsupportedAppUsage public PacketKeepalive startNattKeepalive( Network network, int intervalSeconds, PacketKeepaliveCallback callback, InetAddress srcAddr, int srcPort, InetAddress dstAddr) { @@ -1805,6 +1836,7 @@ public class ConnectivityManager { * {@link #bindProcessToNetwork} API. */ @Deprecated + @UnsupportedAppUsage public boolean requestRouteToHostAddress(int networkType, InetAddress hostAddress) { checkLegacyRoutingApiAccess(); try { @@ -1848,12 +1880,14 @@ public class ConnectivityManager { * @hide */ @Deprecated + @UnsupportedAppUsage public void setBackgroundDataSetting(boolean allowBackgroundData) { // ignored } /** {@hide} */ @Deprecated + @UnsupportedAppUsage public NetworkQuotaInfo getActiveNetworkQuotaInfo() { try { return mService.getActiveNetworkQuotaInfo(); @@ -1867,6 +1901,7 @@ public class ConnectivityManager { * @deprecated Talk to TelephonyManager directly */ @Deprecated + @UnsupportedAppUsage public boolean getMobileDataEnabled() { IBinder b = ServiceManager.getService(Context.TELEPHONY_SERVICE); if (b != null) { @@ -1986,6 +2021,7 @@ public class ConnectivityManager { } /** {@hide} */ + @UnsupportedAppUsage public static ConnectivityManager from(Context context) { return (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); } @@ -2036,6 +2072,7 @@ public class ConnectivityManager { * @hide */ @Deprecated + @UnsupportedAppUsage private static ConnectivityManager getInstance() { if (getInstanceOrNull() == null) { throw new IllegalStateException("No ConnectivityManager yet constructed"); @@ -2052,6 +2089,7 @@ public class ConnectivityManager { * {@hide} */ @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public String[] getTetherableIfaces() { try { return mService.getTetherableIfaces(); @@ -2068,6 +2106,7 @@ public class ConnectivityManager { * {@hide} */ @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public String[] getTetheredIfaces() { try { return mService.getTetheredIfaces(); @@ -2090,6 +2129,7 @@ public class ConnectivityManager { * {@hide} */ @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public String[] getTetheringErroredIfaces() { try { return mService.getTetheringErroredIfaces(); @@ -2136,6 +2176,7 @@ public class ConnectivityManager { * * {@hide} */ + @UnsupportedAppUsage public int tether(String iface) { try { String pkgName = mContext.getOpPackageName(); @@ -2164,6 +2205,7 @@ public class ConnectivityManager { * * {@hide} */ + @UnsupportedAppUsage public int untether(String iface) { try { String pkgName = mContext.getOpPackageName(); @@ -2317,6 +2359,7 @@ public class ConnectivityManager { * {@hide} */ @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public String[] getTetherableUsbRegexs() { try { return mService.getTetherableUsbRegexs(); @@ -2336,6 +2379,7 @@ public class ConnectivityManager { * {@hide} */ @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public String[] getTetherableWifiRegexs() { try { return mService.getTetherableWifiRegexs(); @@ -2355,6 +2399,7 @@ public class ConnectivityManager { * {@hide} */ @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public String[] getTetherableBluetoothRegexs() { try { return mService.getTetherableBluetoothRegexs(); @@ -2380,6 +2425,7 @@ public class ConnectivityManager { * * {@hide} */ + @UnsupportedAppUsage public int setUsbTethering(boolean enable) { try { String pkgName = mContext.getOpPackageName(); @@ -2426,6 +2472,7 @@ public class ConnectivityManager { * {@hide} */ @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public int getLastTetherError(String iface) { try { return mService.getLastTetherError(iface); @@ -2579,6 +2626,7 @@ public class ConnectivityManager { */ @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) + @UnsupportedAppUsage public boolean isNetworkSupported(int networkType) { try { return mService.isNetworkSupported(networkType); @@ -2680,6 +2728,7 @@ public class ConnectivityManager { * @hide */ @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) + @UnsupportedAppUsage public void setAirplaneMode(boolean enable) { try { mService.setAirplaneMode(enable); @@ -2689,6 +2738,7 @@ public class ConnectivityManager { } /** {@hide} */ + @UnsupportedAppUsage public void registerNetworkFactory(Messenger messenger, String name) { try { mService.registerNetworkFactory(messenger, name); @@ -2698,6 +2748,7 @@ public class ConnectivityManager { } /** {@hide} */ + @UnsupportedAppUsage public void unregisterNetworkFactory(Messenger messenger) { try { mService.unregisterNetworkFactory(messenger); @@ -3786,6 +3837,7 @@ public class ConnectivityManager { * @deprecated This is strictly for legacy usage to support {@link #startUsingNetworkFeature}. */ @Deprecated + @UnsupportedAppUsage public static boolean setProcessDefaultNetworkForHostResolution(Network network) { return NetworkUtils.bindProcessToNetworkForHostResolution( network == null ? NETID_UNSET : network.netId); diff --git a/core/java/android/net/DhcpResults.java b/core/java/android/net/DhcpResults.java index 8c5f60395ca9..b5d822672e70 100644 --- a/core/java/android/net/DhcpResults.java +++ b/core/java/android/net/DhcpResults.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.net.NetworkUtils; import android.os.Parcel; import android.text.TextUtils; @@ -33,25 +34,32 @@ import java.util.Objects; public class DhcpResults extends StaticIpConfiguration { private static final String TAG = "DhcpResults"; + @UnsupportedAppUsage public Inet4Address serverAddress; /** Vendor specific information (from RFC 2132). */ + @UnsupportedAppUsage public String vendorInfo; + @UnsupportedAppUsage public int leaseDuration; /** Link MTU option. 0 means unset. */ + @UnsupportedAppUsage public int mtu; + @UnsupportedAppUsage public DhcpResults() { super(); } + @UnsupportedAppUsage public DhcpResults(StaticIpConfiguration source) { super(source); } /** copy constructor */ + @UnsupportedAppUsage public DhcpResults(DhcpResults source) { super(source); diff --git a/core/java/android/net/EthernetManager.java b/core/java/android/net/EthernetManager.java index ecccda588aec..72565024d3a5 100644 --- a/core/java/android/net/EthernetManager.java +++ b/core/java/android/net/EthernetManager.java @@ -17,6 +17,7 @@ package android.net; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.Handler; import android.os.Message; @@ -66,6 +67,7 @@ public class EthernetManager { * @param iface Ethernet interface name * @param isAvailable {@code true} if Ethernet port exists. */ + @UnsupportedAppUsage void onAvailabilityChanged(String iface, boolean isAvailable); } @@ -84,6 +86,7 @@ public class EthernetManager { * Get Ethernet configuration. * @return the Ethernet Configuration, contained in {@link IpConfiguration}. */ + @UnsupportedAppUsage public IpConfiguration getConfiguration(String iface) { try { return mService.getConfiguration(iface); @@ -95,6 +98,7 @@ public class EthernetManager { /** * Set Ethernet configuration. */ + @UnsupportedAppUsage public void setConfiguration(String iface, IpConfiguration config) { try { mService.setConfiguration(iface, config); @@ -106,6 +110,7 @@ public class EthernetManager { /** * Indicates whether the system currently has one or more Ethernet interfaces. */ + @UnsupportedAppUsage public boolean isAvailable() { return getAvailableInterfaces().length > 0; } @@ -115,6 +120,7 @@ public class EthernetManager { * * @param iface Ethernet interface name */ + @UnsupportedAppUsage public boolean isAvailable(String iface) { try { return mService.isAvailable(iface); @@ -128,6 +134,7 @@ public class EthernetManager { * @param listener A {@link Listener} to add. * @throws IllegalArgumentException If the listener is null. */ + @UnsupportedAppUsage public void addListener(Listener listener) { if (listener == null) { throw new IllegalArgumentException("listener must not be null"); @@ -145,6 +152,7 @@ public class EthernetManager { /** * Returns an array of available Ethernet interface names. */ + @UnsupportedAppUsage public String[] getAvailableInterfaces() { try { return mService.getAvailableInterfaces(); @@ -158,6 +166,7 @@ public class EthernetManager { * @param listener A {@link Listener} to remove. * @throws IllegalArgumentException If the listener is null. */ + @UnsupportedAppUsage public void removeListener(Listener listener) { if (listener == null) { throw new IllegalArgumentException("listener must not be null"); diff --git a/core/java/android/net/InterfaceConfiguration.java b/core/java/android/net/InterfaceConfiguration.java index 34cde089655d..b27415566368 100644 --- a/core/java/android/net/InterfaceConfiguration.java +++ b/core/java/android/net/InterfaceConfiguration.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -45,6 +46,7 @@ public class InterfaceConfiguration implements Parcelable { return builder.toString(); } + @UnsupportedAppUsage public Iterable<String> getFlags() { return mFlags; } @@ -54,11 +56,13 @@ public class InterfaceConfiguration implements Parcelable { return mFlags.contains(flag); } + @UnsupportedAppUsage public void clearFlag(String flag) { validateFlag(flag); mFlags.remove(flag); } + @UnsupportedAppUsage public void setFlag(String flag) { validateFlag(flag); mFlags.add(flag); @@ -67,6 +71,7 @@ public class InterfaceConfiguration implements Parcelable { /** * Set flags to mark interface as up. */ + @UnsupportedAppUsage public void setInterfaceUp() { mFlags.remove(FLAG_DOWN); mFlags.add(FLAG_UP); @@ -75,6 +80,7 @@ public class InterfaceConfiguration implements Parcelable { /** * Set flags to mark interface as down. */ + @UnsupportedAppUsage public void setInterfaceDown() { mFlags.remove(FLAG_UP); mFlags.add(FLAG_DOWN); @@ -92,6 +98,7 @@ public class InterfaceConfiguration implements Parcelable { return mAddr; } + @UnsupportedAppUsage public void setLinkAddress(LinkAddress addr) { mAddr = addr; } diff --git a/core/java/android/net/IpConfiguration.java b/core/java/android/net/IpConfiguration.java index fe69f2966de6..7543920e363f 100644 --- a/core/java/android/net/IpConfiguration.java +++ b/core/java/android/net/IpConfiguration.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.net.StaticIpConfiguration; import android.os.Parcel; import android.os.Parcelable; @@ -32,6 +33,7 @@ public class IpConfiguration implements Parcelable { public enum IpAssignment { /* Use statically configured IP settings. Configuration can be accessed * with staticIpConfiguration */ + @UnsupportedAppUsage STATIC, /* Use dynamically configured IP settigns */ DHCP, @@ -47,6 +49,7 @@ public class IpConfiguration implements Parcelable { public enum ProxySettings { /* No proxy is to be used. Any existing proxy settings * should be cleared. */ + @UnsupportedAppUsage NONE, /* Use statically configured proxy. Configuration can be accessed * with httpProxy. */ @@ -61,6 +64,7 @@ public class IpConfiguration implements Parcelable { public ProxySettings proxySettings; + @UnsupportedAppUsage public ProxyInfo httpProxy; private void init(IpAssignment ipAssignment, @@ -79,6 +83,7 @@ public class IpConfiguration implements Parcelable { init(IpAssignment.UNASSIGNED, ProxySettings.UNASSIGNED, null, null); } + @UnsupportedAppUsage public IpConfiguration(IpAssignment ipAssignment, ProxySettings proxySettings, StaticIpConfiguration staticIpConfiguration, diff --git a/core/java/android/net/LinkAddress.java b/core/java/android/net/LinkAddress.java index bcfe93882375..1bc0d327abde 100644 --- a/core/java/android/net/LinkAddress.java +++ b/core/java/android/net/LinkAddress.java @@ -25,6 +25,7 @@ import static android.system.OsConstants.RT_SCOPE_LINK; import static android.system.OsConstants.RT_SCOPE_SITE; import static android.system.OsConstants.RT_SCOPE_UNIVERSE; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.Pair; @@ -54,11 +55,13 @@ public class LinkAddress implements Parcelable { /** * IPv4 or IPv6 address. */ + @UnsupportedAppUsage private InetAddress address; /** * Prefix length. */ + @UnsupportedAppUsage private int prefixLength; /** @@ -112,6 +115,7 @@ public class LinkAddress implements Parcelable { * @return true if the address is IPv6. * @hide */ + @UnsupportedAppUsage public boolean isIPv6() { return address instanceof Inet6Address; } @@ -163,6 +167,7 @@ public class LinkAddress implements Parcelable { * @param prefixLength The prefix length. * @hide */ + @UnsupportedAppUsage public LinkAddress(InetAddress address, int prefixLength) { this(address, prefixLength, 0, 0); this.scope = scopeForUnicastAddress(address); @@ -185,6 +190,7 @@ public class LinkAddress implements Parcelable { * @param string The string to parse. * @hide */ + @UnsupportedAppUsage public LinkAddress(String address) { this(address, 0, 0); this.scope = scopeForUnicastAddress(this.address); @@ -255,6 +261,7 @@ public class LinkAddress implements Parcelable { * otherwise. * @hide */ + @UnsupportedAppUsage public boolean isSameAddressAs(LinkAddress other) { return address.equals(other.address) && prefixLength == other.prefixLength; } @@ -278,6 +285,7 @@ public class LinkAddress implements Parcelable { * TODO: Delete all callers and remove in favour of getPrefixLength(). * @hide */ + @UnsupportedAppUsage public int getNetworkPrefixLength() { return getPrefixLength(); } diff --git a/core/java/android/net/LinkProperties.java b/core/java/android/net/LinkProperties.java index bd2db92b7804..1b9a66cd6ea7 100644 --- a/core/java/android/net/LinkProperties.java +++ b/core/java/android/net/LinkProperties.java @@ -18,6 +18,7 @@ package android.net; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; @@ -48,6 +49,7 @@ import java.util.StringJoiner; */ public final class LinkProperties implements Parcelable { // The interface described by the network link. + @UnsupportedAppUsage private String mIfaceName; private ArrayList<LinkAddress> mLinkAddresses = new ArrayList<>(); private ArrayList<InetAddress> mDnses = new ArrayList<>(); @@ -103,9 +105,13 @@ public final class LinkProperties implements Parcelable { * @hide */ public enum ProvisioningChange { + @UnsupportedAppUsage STILL_NOT_PROVISIONED, + @UnsupportedAppUsage LOST_PROVISIONING, + @UnsupportedAppUsage GAINED_PROVISIONING, + @UnsupportedAppUsage STILL_PROVISIONED, } @@ -114,6 +120,7 @@ public final class LinkProperties implements Parcelable { * * @hide */ + @UnsupportedAppUsage public static ProvisioningChange compareProvisioning( LinkProperties before, LinkProperties after) { if (before.isProvisioned() && after.isProvisioned()) { @@ -154,12 +161,14 @@ public final class LinkProperties implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public LinkProperties() { } /** * @hide */ + @UnsupportedAppUsage public LinkProperties(LinkProperties source) { if (source != null) { mIfaceName = source.mIfaceName; @@ -186,6 +195,7 @@ public final class LinkProperties implements Parcelable { * @param iface The name of the network interface used for this link. * @hide */ + @UnsupportedAppUsage public void setInterfaceName(String iface) { mIfaceName = iface; ArrayList<RouteInfo> newRoutes = new ArrayList<>(mRoutes.size()); @@ -207,6 +217,7 @@ public final class LinkProperties implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public List<String> getAllInterfaceNames() { List<String> interfaceNames = new ArrayList<>(mStackedLinks.size() + 1); if (mIfaceName != null) interfaceNames.add(mIfaceName); @@ -226,6 +237,7 @@ public final class LinkProperties implements Parcelable { * @return An unmodifiable {@link List} of {@link InetAddress} for this link. * @hide */ + @UnsupportedAppUsage public List<InetAddress> getAddresses() { List<InetAddress> addresses = new ArrayList<>(); for (LinkAddress linkAddress : mLinkAddresses) { @@ -238,6 +250,7 @@ public final class LinkProperties implements Parcelable { * Returns all the addresses on this link and all the links stacked above it. * @hide */ + @UnsupportedAppUsage public List<InetAddress> getAllAddresses() { List<InetAddress> addresses = new ArrayList<>(); for (LinkAddress linkAddress : mLinkAddresses) { @@ -265,6 +278,7 @@ public final class LinkProperties implements Parcelable { * @return true if {@code address} was added or updated, false otherwise. * @hide */ + @UnsupportedAppUsage public boolean addLinkAddress(LinkAddress address) { if (address == null) { return false; @@ -315,6 +329,7 @@ public final class LinkProperties implements Parcelable { * Returns all the addresses on this link and all the links stacked above it. * @hide */ + @UnsupportedAppUsage public List<LinkAddress> getAllLinkAddresses() { List<LinkAddress> addresses = new ArrayList<>(mLinkAddresses); for (LinkProperties stacked: mStackedLinks.values()) { @@ -331,6 +346,7 @@ public final class LinkProperties implements Parcelable { * object. * @hide */ + @UnsupportedAppUsage public void setLinkAddresses(Collection<LinkAddress> addresses) { mLinkAddresses.clear(); for (LinkAddress address: addresses) { @@ -345,6 +361,7 @@ public final class LinkProperties implements Parcelable { * @return true if the DNS server was added, false if it was already present. * @hide */ + @UnsupportedAppUsage public boolean addDnsServer(InetAddress dnsServer) { if (dnsServer != null && !mDnses.contains(dnsServer)) { mDnses.add(dnsServer); @@ -360,6 +377,7 @@ public final class LinkProperties implements Parcelable { * @return true if the DNS server was removed, false if it did not exist. * @hide */ + @UnsupportedAppUsage public boolean removeDnsServer(InetAddress dnsServer) { if (dnsServer != null) { return mDnses.remove(dnsServer); @@ -374,6 +392,7 @@ public final class LinkProperties implements Parcelable { * @param dnsServers The {@link Collection} of DNS servers to set in this object. * @hide */ + @UnsupportedAppUsage public void setDnsServers(Collection<InetAddress> dnsServers) { mDnses.clear(); for (InetAddress dnsServer: dnsServers) { @@ -510,6 +529,7 @@ public final class LinkProperties implements Parcelable { * domains to search when resolving host names on this link. * @hide */ + @UnsupportedAppUsage public void setDomains(String domains) { mDomains = domains; } @@ -532,6 +552,7 @@ public final class LinkProperties implements Parcelable { * @param mtu The MTU to use for this link. * @hide */ + @UnsupportedAppUsage public void setMtu(int mtu) { mMtu = mtu; } @@ -543,6 +564,7 @@ public final class LinkProperties implements Parcelable { * @return The mtu value set for this link. * @hide */ + @UnsupportedAppUsage public int getMtu() { return mMtu; } @@ -555,6 +577,7 @@ public final class LinkProperties implements Parcelable { * * @hide */ + @UnsupportedAppUsage public void setTcpBufferSizes(String tcpBufferSizes) { mTcpBufferSizes = tcpBufferSizes; } @@ -566,6 +589,7 @@ public final class LinkProperties implements Parcelable { * * @hide */ + @UnsupportedAppUsage public String getTcpBufferSizes() { return mTcpBufferSizes; } @@ -589,6 +613,7 @@ public final class LinkProperties implements Parcelable { * * @hide */ + @UnsupportedAppUsage public boolean addRoute(RouteInfo route) { if (route != null) { String routeIface = route.getInterface(); @@ -615,6 +640,7 @@ public final class LinkProperties implements Parcelable { * * @hide */ + @UnsupportedAppUsage public boolean removeRoute(RouteInfo route) { return route != null && Objects.equals(mIfaceName, route.getInterface()) && @@ -645,6 +671,7 @@ public final class LinkProperties implements Parcelable { * Returns all the routes on this link and all the links stacked above it. * @hide */ + @UnsupportedAppUsage public List<RouteInfo> getAllRoutes() { List<RouteInfo> routes = new ArrayList<>(mRoutes); for (LinkProperties stacked: mStackedLinks.values()) { @@ -661,6 +688,7 @@ public final class LinkProperties implements Parcelable { * @param proxy A {@link ProxyInfo} defining the HTTP Proxy to use on this link. * @hide */ + @UnsupportedAppUsage public void setHttpProxy(ProxyInfo proxy) { mHttpProxy = proxy; } @@ -685,6 +713,7 @@ public final class LinkProperties implements Parcelable { * @return true if the link was stacked, false otherwise. * @hide */ + @UnsupportedAppUsage public boolean addStackedLink(LinkProperties link) { if (link != null && link.getInterfaceName() != null) { mStackedLinks.put(link.getInterfaceName(), link); @@ -715,6 +744,7 @@ public final class LinkProperties implements Parcelable { * Returns all the links stacked on top of this link. * @hide */ + @UnsupportedAppUsage public @NonNull List<LinkProperties> getStackedLinks() { if (mStackedLinks.isEmpty()) { return Collections.emptyList(); @@ -730,6 +760,7 @@ public final class LinkProperties implements Parcelable { * Clears this object to its initial state. * @hide */ + @UnsupportedAppUsage public void clear() { mIfaceName = null; mLinkAddresses.clear(); @@ -831,6 +862,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if there is an IPv4 address, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean hasIPv4Address() { for (LinkAddress address : mLinkAddresses) { if (address.getAddress() instanceof Inet4Address) { @@ -858,6 +890,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if there is a global preferred IPv6 address, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean hasGlobalIPv6Address() { for (LinkAddress address : mLinkAddresses) { if (address.getAddress() instanceof Inet6Address && address.isGlobalPreferred()) { @@ -873,6 +906,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if there is an IPv4 default route, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean hasIPv4DefaultRoute() { for (RouteInfo r : mRoutes) { if (r.isIPv4Default()) { @@ -888,6 +922,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if there is an IPv6 default route, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean hasIPv6DefaultRoute() { for (RouteInfo r : mRoutes) { if (r.isIPv6Default()) { @@ -903,6 +938,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if there is an IPv4 DNS server, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean hasIPv4DnsServer() { for (InetAddress ia : mDnses) { if (ia instanceof Inet4Address) { @@ -918,6 +954,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if there is an IPv6 DNS server, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean hasIPv6DnsServer() { for (InetAddress ia : mDnses) { if (ia instanceof Inet6Address) { @@ -947,6 +984,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if the link is provisioned, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean isIPv6Provisioned() { return (hasGlobalIPv6Address() && hasIPv6DefaultRoute() && @@ -960,6 +998,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if the link is provisioned, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean isProvisioned() { return (isIPv4Provisioned() || isIPv6Provisioned()); } @@ -971,6 +1010,7 @@ public final class LinkProperties implements Parcelable { * {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean isReachable(InetAddress ip) { final List<RouteInfo> allRoutes = getAllRoutes(); // If we don't have a route to this IP address, it's not reachable. @@ -1008,6 +1048,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if both are identical, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean isIdenticalInterfaceName(LinkProperties target) { return TextUtils.equals(getInterfaceName(), target.getInterfaceName()); } @@ -1019,6 +1060,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if both are identical, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean isIdenticalAddresses(LinkProperties target) { Collection<InetAddress> targetAddresses = target.getAddresses(); Collection<InetAddress> sourceAddresses = getAddresses(); @@ -1033,6 +1075,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if both are identical, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean isIdenticalDnses(LinkProperties target) { Collection<InetAddress> targetDnses = target.getDnsServers(); String targetDomains = target.getDomains(); @@ -1080,6 +1123,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if both are identical, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean isIdenticalRoutes(LinkProperties target) { Collection<RouteInfo> targetRoutes = target.getRoutes(); return (mRoutes.size() == targetRoutes.size()) ? @@ -1093,6 +1137,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if both are identical, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean isIdenticalHttpProxy(LinkProperties target) { return getHttpProxy() == null ? target.getHttpProxy() == null : getHttpProxy().equals(target.getHttpProxy()); @@ -1105,6 +1150,7 @@ public final class LinkProperties implements Parcelable { * @return {@code true} if both are identical, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean isIdenticalStackedLinks(LinkProperties target) { if (!mStackedLinks.keySet().equals(target.mStackedLinks.keySet())) { return false; diff --git a/core/java/android/net/LinkQualityInfo.java b/core/java/android/net/LinkQualityInfo.java index 9c8e61d8fc82..b6f88255c0e2 100644 --- a/core/java/android/net/LinkQualityInfo.java +++ b/core/java/android/net/LinkQualityInfo.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -189,6 +190,7 @@ public class LinkQualityInfo implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public void setPacketCount(long packetCount) { mPacketCount = packetCount; } @@ -204,6 +206,7 @@ public class LinkQualityInfo implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public void setPacketErrorCount(long packetErrorCount) { mPacketErrorCount = packetErrorCount; } @@ -265,6 +268,7 @@ public class LinkQualityInfo implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public void setLastDataSampleTime(long lastDataSampleTime) { mLastDataSampleTime = lastDataSampleTime; } @@ -280,6 +284,7 @@ public class LinkQualityInfo implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public void setDataSampleDuration(int dataSampleDuration) { mDataSampleDuration = dataSampleDuration; } diff --git a/core/java/android/net/LocalSocket.java b/core/java/android/net/LocalSocket.java index 8afa1ed3e4a5..6a2031b4131d 100644 --- a/core/java/android/net/LocalSocket.java +++ b/core/java/android/net/LocalSocket.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import java.io.Closeable; import java.io.FileDescriptor; import java.io.IOException; @@ -30,6 +31,7 @@ import java.net.SocketOptions; */ public class LocalSocket implements Closeable { + @UnsupportedAppUsage private final LocalSocketImpl impl; /** false if impl.create() needs to be called */ private volatile boolean implCreated; diff --git a/core/java/android/net/LocalSocketImpl.java b/core/java/android/net/LocalSocketImpl.java index 6e4a231bcd55..fe7632c25445 100644 --- a/core/java/android/net/LocalSocketImpl.java +++ b/core/java/android/net/LocalSocketImpl.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.system.ErrnoException; import android.system.Int32Ref; import android.system.Os; @@ -47,8 +48,10 @@ class LocalSocketImpl // These fields are accessed by native code; /** file descriptor array received during a previous read */ + @UnsupportedAppUsage FileDescriptor[] inboundFileDescriptors; /** file descriptor array that should be written during next write */ + @UnsupportedAppUsage FileDescriptor[] outboundFileDescriptors; /** @@ -207,6 +210,7 @@ class LocalSocketImpl /** * Create a new instance. */ + @UnsupportedAppUsage /*package*/ LocalSocketImpl() { } diff --git a/core/java/android/net/MacAddress.java b/core/java/android/net/MacAddress.java index 74d64704c8d2..98f356722bf3 100644 --- a/core/java/android/net/MacAddress.java +++ b/core/java/android/net/MacAddress.java @@ -18,6 +18,7 @@ package android.net; import android.annotation.IntDef; import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -50,6 +51,7 @@ public final class MacAddress implements Parcelable { * The MacAddress zero MAC address. * @hide */ + @UnsupportedAppUsage public static final MacAddress ALL_ZEROS_ADDRESS = new MacAddress(0); /** @hide */ diff --git a/core/java/android/net/MobileLinkQualityInfo.java b/core/java/android/net/MobileLinkQualityInfo.java index a01fc8006a13..06c739d6cf95 100644 --- a/core/java/android/net/MobileLinkQualityInfo.java +++ b/core/java/android/net/MobileLinkQualityInfo.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; /** @@ -93,6 +94,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { * returns mobile network type as defined by {@link android.telephony.TelephonyManager} * @return network type or {@link android.net.LinkQualityInfo#UNKNOWN_INT} */ + @UnsupportedAppUsage public int getMobileNetworkType() { return mMobileNetworkType; } @@ -100,6 +102,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setMobileNetworkType(int mobileNetworkType) { mMobileNetworkType = mobileNetworkType; } @@ -115,6 +118,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setRssi(int Rssi) { mRssi = Rssi; } @@ -130,6 +134,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setGsmErrorRate(int gsmErrorRate) { mGsmErrorRate = gsmErrorRate; } @@ -145,6 +150,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setCdmaDbm(int cdmaDbm) { mCdmaDbm = cdmaDbm; } @@ -160,6 +166,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setCdmaEcio(int cdmaEcio) { mCdmaEcio = cdmaEcio; } @@ -175,6 +182,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setEvdoDbm(int evdoDbm) { mEvdoDbm = evdoDbm; } @@ -190,6 +198,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setEvdoEcio(int evdoEcio) { mEvdoEcio = evdoEcio; } @@ -205,6 +214,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setEvdoSnr(int evdoSnr) { mEvdoSnr = evdoSnr; } @@ -220,6 +230,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setLteSignalStrength(int lteSignalStrength) { mLteSignalStrength = lteSignalStrength; } @@ -235,6 +246,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setLteRsrp(int lteRsrp) { mLteRsrp = lteRsrp; } @@ -250,6 +262,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setLteRsrq(int lteRsrq) { mLteRsrq = lteRsrq; } @@ -265,6 +278,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setLteRssnr(int lteRssnr) { mLteRssnr = lteRssnr; } @@ -280,6 +294,7 @@ public class MobileLinkQualityInfo extends LinkQualityInfo { /** * @hide */ + @UnsupportedAppUsage public void setLteCqi(int lteCqi) { mLteCqi = lteCqi; } diff --git a/core/java/android/net/Network.java b/core/java/android/net/Network.java index 512e35e70726..142023d40c0e 100644 --- a/core/java/android/net/Network.java +++ b/core/java/android/net/Network.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.system.ErrnoException; @@ -59,6 +60,7 @@ public class Network implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public final int netId; // Objects used to perform per-network operations such as getSocketFactory @@ -103,6 +105,7 @@ public class Network implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public Network(int netId) { this.netId = netId; } diff --git a/core/java/android/net/NetworkAgent.java b/core/java/android/net/NetworkAgent.java index 081d8d1290ac..114b423c3184 100644 --- a/core/java/android/net/NetworkAgent.java +++ b/core/java/android/net/NetworkAgent.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.net.ConnectivityManager.PacketKeepalive; import android.os.Bundle; @@ -351,6 +352,7 @@ public abstract class NetworkAgent extends Handler { /** * Called by the bearer code when it has new NetworkInfo data. */ + @UnsupportedAppUsage public void sendNetworkInfo(NetworkInfo networkInfo) { queueOrSendMessage(EVENT_NETWORK_INFO_CHANGED, new NetworkInfo(networkInfo)); } @@ -387,7 +389,7 @@ public abstract class NetworkAgent extends Handler { * {@link #saveAcceptUnvalidated} to respect the user's choice. */ public void explicitlySelected(boolean acceptUnvalidated) { - queueOrSendMessage(EVENT_SET_EXPLICITLY_SELECTED, acceptUnvalidated); + queueOrSendMessage(EVENT_SET_EXPLICITLY_SELECTED, acceptUnvalidated ? 1 : 0, 0); } /** diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java index 72b4bfd57d96..fd1e5f23382b 100644 --- a/core/java/android/net/NetworkCapabilities.java +++ b/core/java/android/net/NetworkCapabilities.java @@ -19,6 +19,7 @@ package android.net; import android.annotation.IntDef; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.net.ConnectivityManager.NetworkCallback; import android.os.Parcel; import android.os.Parcelable; @@ -56,6 +57,7 @@ public final class NetworkCapabilities implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public NetworkCapabilities() { clearAll(); mNetworkCapabilities = DEFAULT_CAPABILITIES; @@ -103,6 +105,7 @@ public final class NetworkCapabilities implements Parcelable { * Represents the network's capabilities. If any are specified they will be satisfied * by any Network that matches all of them. */ + @UnsupportedAppUsage private long mNetworkCapabilities; /** @@ -371,6 +374,7 @@ public final class NetworkCapabilities implements Parcelable { * @return This NetworkCapabilities instance, to facilitate chaining. * @hide */ + @UnsupportedAppUsage public NetworkCapabilities addCapability(@NetCapability int capability) { checkValidCapability(capability); mNetworkCapabilities |= 1 << capability; @@ -407,6 +411,7 @@ public final class NetworkCapabilities implements Parcelable { * @return This NetworkCapabilities instance, to facilitate chaining. * @hide */ + @UnsupportedAppUsage public NetworkCapabilities removeCapability(@NetCapability int capability) { checkValidCapability(capability); final long mask = ~(1 << capability); @@ -659,6 +664,7 @@ public final class NetworkCapabilities implements Parcelable { * @return This NetworkCapabilities instance, to facilitate chaining. * @hide */ + @UnsupportedAppUsage public NetworkCapabilities addTransportType(@Transport int transportType) { checkValidTransportType(transportType); mTransportTypes |= 1 << transportType; @@ -898,6 +904,7 @@ public final class NetworkCapabilities implements Parcelable { * specifier. See {@link #setNetworkSpecifier}. * @hide */ + @UnsupportedAppUsage public NetworkSpecifier getNetworkSpecifier() { return mNetworkSpecifier; } @@ -930,6 +937,7 @@ public final class NetworkCapabilities implements Parcelable { * Signal strength. This is a signed integer, and higher values indicate better signal. * The exact units are bearer-dependent. For example, Wi-Fi uses RSSI. */ + @UnsupportedAppUsage private int mSignalStrength = SIGNAL_STRENGTH_UNSPECIFIED; /** @@ -945,6 +953,7 @@ public final class NetworkCapabilities implements Parcelable { * @param signalStrength the bearer-specific signal strength. * @hide */ + @UnsupportedAppUsage public NetworkCapabilities setSignalStrength(int signalStrength) { mSignalStrength = signalStrength; return this; @@ -955,6 +964,7 @@ public final class NetworkCapabilities implements Parcelable { * * @hide */ + @UnsupportedAppUsage public boolean hasSignalStrength() { return mSignalStrength > SIGNAL_STRENGTH_UNSPECIFIED; } @@ -965,6 +975,7 @@ public final class NetworkCapabilities implements Parcelable { * @return The bearer-specific signal strength. * @hide */ + @UnsupportedAppUsage public int getSignalStrength() { return mSignalStrength; } @@ -1544,6 +1555,7 @@ public final class NetworkCapabilities implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public static String transportNamesOf(@Transport int[] types) { StringJoiner joiner = new StringJoiner("|"); if (types != null) { diff --git a/core/java/android/net/NetworkFactory.java b/core/java/android/net/NetworkFactory.java index e2f8d1a3f08b..010d72f3b17a 100644 --- a/core/java/android/net/NetworkFactory.java +++ b/core/java/android/net/NetworkFactory.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.Handler; import android.os.Looper; @@ -106,6 +107,7 @@ public class NetworkFactory extends Handler { private int mRefCount = 0; private Messenger mMessenger = null; + @UnsupportedAppUsage public NetworkFactory(Looper looper, Context context, String logTag, NetworkCapabilities filter) { super(looper); @@ -287,6 +289,7 @@ public class NetworkFactory extends Handler { sendMessage(obtainMessage(CMD_CANCEL_REQUEST, networkRequest)); } + @UnsupportedAppUsage public void setScoreFilter(int score) { sendMessage(obtainMessage(CMD_SET_SCORE, score, 0)); } @@ -304,6 +307,7 @@ public class NetworkFactory extends Handler { Log.d(LOG_TAG, s); } + @UnsupportedAppUsage public void dump(FileDescriptor fd, PrintWriter writer, String[] args) { final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " "); pw.println(toString()); diff --git a/core/java/android/net/NetworkInfo.java b/core/java/android/net/NetworkInfo.java index 999771a18ec0..d912dd105fe9 100644 --- a/core/java/android/net/NetworkInfo.java +++ b/core/java/android/net/NetworkInfo.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -129,6 +130,7 @@ public class NetworkInfo implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public NetworkInfo(int type, int subtype, String typeName, String subtypeName) { if (!ConnectivityManager.isNetworkTypeValid(type) && type != ConnectivityManager.TYPE_NONE) { @@ -143,6 +145,7 @@ public class NetworkInfo implements Parcelable { } /** {@hide} */ + @UnsupportedAppUsage public NetworkInfo(NetworkInfo source) { if (source != null) { synchronized (source) { @@ -209,6 +212,7 @@ public class NetworkInfo implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public void setSubtype(int subtype, String subtypeName) { synchronized (this) { mSubtype = subtype; @@ -317,6 +321,7 @@ public class NetworkInfo implements Parcelable { * @hide */ @Deprecated + @UnsupportedAppUsage public void setIsAvailable(boolean isAvailable) { synchronized (this) { mIsAvailable = isAvailable; @@ -347,6 +352,7 @@ public class NetworkInfo implements Parcelable { * @hide */ @Deprecated + @UnsupportedAppUsage public void setFailover(boolean isFailover) { synchronized (this) { mIsFailover = isFailover; @@ -377,6 +383,7 @@ public class NetworkInfo implements Parcelable { */ @VisibleForTesting @Deprecated + @UnsupportedAppUsage public void setRoaming(boolean isRoaming) { synchronized (this) { mIsRoaming = isRoaming; @@ -422,6 +429,7 @@ public class NetworkInfo implements Parcelable { * @hide */ @Deprecated + @UnsupportedAppUsage public void setDetailedState(DetailedState detailedState, String reason, String extraInfo) { synchronized (this) { this.mDetailedState = detailedState; diff --git a/core/java/android/net/NetworkPolicy.java b/core/java/android/net/NetworkPolicy.java index e84c85ee8edb..f8973ebaa0fc 100644 --- a/core/java/android/net/NetworkPolicy.java +++ b/core/java/android/net/NetworkPolicy.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.BackupUtils; @@ -49,14 +50,19 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> { public static final long LIMIT_DISABLED = -1; public static final long SNOOZE_NEVER = -1; + @UnsupportedAppUsage public NetworkTemplate template; public RecurrenceRule cycleRule; + @UnsupportedAppUsage public long warningBytes = WARNING_DISABLED; + @UnsupportedAppUsage public long limitBytes = LIMIT_DISABLED; public long lastWarningSnooze = SNOOZE_NEVER; public long lastLimitSnooze = SNOOZE_NEVER; public long lastRapidSnooze = SNOOZE_NEVER; + @UnsupportedAppUsage @Deprecated public boolean metered = true; + @UnsupportedAppUsage public boolean inferred = false; private static final long DEFAULT_MTU = 1500; @@ -77,6 +83,7 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> { } @Deprecated + @UnsupportedAppUsage public NetworkPolicy(NetworkTemplate template, int cycleDay, String cycleTimezone, long warningBytes, long limitBytes, long lastWarningSnooze, long lastLimitSnooze, boolean metered, boolean inferred) { @@ -143,6 +150,7 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> { /** * Test if given measurement is over {@link #warningBytes}. */ + @UnsupportedAppUsage public boolean isOverWarning(long totalBytes) { return warningBytes != WARNING_DISABLED && totalBytes >= warningBytes; } @@ -151,6 +159,7 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> { * Test if given measurement is near enough to {@link #limitBytes} to be * considered over-limit. */ + @UnsupportedAppUsage public boolean isOverLimit(long totalBytes) { // over-estimate, since kernel will trigger limit once first packet // trips over limit. @@ -161,6 +170,7 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> { /** * Clear any existing snooze values, setting to {@link #SNOOZE_NEVER}. */ + @UnsupportedAppUsage public void clearSnooze() { lastWarningSnooze = SNOOZE_NEVER; lastLimitSnooze = SNOOZE_NEVER; @@ -175,6 +185,7 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> { } @Override + @UnsupportedAppUsage public int compareTo(NetworkPolicy another) { if (another == null || another.limitBytes == LIMIT_DISABLED) { // other value is missing or disabled; we win @@ -225,6 +236,7 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> { .append("}").toString(); } + @UnsupportedAppUsage public static final Creator<NetworkPolicy> CREATOR = new Creator<NetworkPolicy>() { @Override public NetworkPolicy createFromParcel(Parcel in) { diff --git a/core/java/android/net/NetworkPolicyManager.java b/core/java/android/net/NetworkPolicyManager.java index 75fd77e70a1b..d5fb2e7d4d69 100644 --- a/core/java/android/net/NetworkPolicyManager.java +++ b/core/java/android/net/NetworkPolicyManager.java @@ -19,6 +19,7 @@ package android.net; import static android.content.pm.PackageManager.GET_SIGNATURES; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityManager; import android.content.Context; import android.content.Intent; @@ -121,6 +122,7 @@ public class NetworkPolicyManager { public static final int OVERRIDE_CONGESTED = 1 << 1; private final Context mContext; + @UnsupportedAppUsage private INetworkPolicyManager mService; public NetworkPolicyManager(Context context, INetworkPolicyManager service) { @@ -131,6 +133,7 @@ public class NetworkPolicyManager { mService = service; } + @UnsupportedAppUsage public static NetworkPolicyManager from(Context context) { return (NetworkPolicyManager) context.getSystemService(Context.NETWORK_POLICY_SERVICE); } @@ -141,6 +144,7 @@ public class NetworkPolicyManager { * @param policy should be {@link #POLICY_NONE} or any combination of {@code POLICY_} flags, * although it is not validated. */ + @UnsupportedAppUsage public void setUidPolicy(int uid, int policy) { try { mService.setUidPolicy(uid, policy); @@ -181,6 +185,7 @@ public class NetworkPolicyManager { } } + @UnsupportedAppUsage public int getUidPolicy(int uid) { try { return mService.getUidPolicy(uid); @@ -189,6 +194,7 @@ public class NetworkPolicyManager { } } + @UnsupportedAppUsage public int[] getUidsWithPolicy(int policy) { try { return mService.getUidsWithPolicy(policy); @@ -197,6 +203,7 @@ public class NetworkPolicyManager { } } + @UnsupportedAppUsage public void registerListener(INetworkPolicyListener listener) { try { mService.registerListener(listener); @@ -205,6 +212,7 @@ public class NetworkPolicyManager { } } + @UnsupportedAppUsage public void unregisterListener(INetworkPolicyListener listener) { try { mService.unregisterListener(listener); @@ -221,6 +229,7 @@ public class NetworkPolicyManager { } } + @UnsupportedAppUsage public NetworkPolicy[] getNetworkPolicies() { try { return mService.getNetworkPolicies(mContext.getOpPackageName()); @@ -229,6 +238,7 @@ public class NetworkPolicyManager { } } + @UnsupportedAppUsage public void setRestrictBackground(boolean restrictBackground) { try { mService.setRestrictBackground(restrictBackground); @@ -237,6 +247,7 @@ public class NetworkPolicyManager { } } + @UnsupportedAppUsage public boolean getRestrictBackground() { try { return mService.getRestrictBackground(); diff --git a/core/java/android/net/NetworkQuotaInfo.java b/core/java/android/net/NetworkQuotaInfo.java index b95f1d983180..e7182f7694c1 100644 --- a/core/java/android/net/NetworkQuotaInfo.java +++ b/core/java/android/net/NetworkQuotaInfo.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -36,14 +37,17 @@ public class NetworkQuotaInfo implements Parcelable { public NetworkQuotaInfo(Parcel in) { } + @UnsupportedAppUsage public long getEstimatedBytes() { return 0; } + @UnsupportedAppUsage public long getSoftLimitBytes() { return NO_LIMIT; } + @UnsupportedAppUsage public long getHardLimitBytes() { return NO_LIMIT; } @@ -57,6 +61,7 @@ public class NetworkQuotaInfo implements Parcelable { public void writeToParcel(Parcel out, int flags) { } + @UnsupportedAppUsage public static final Creator<NetworkQuotaInfo> CREATOR = new Creator<NetworkQuotaInfo>() { @Override public NetworkQuotaInfo createFromParcel(Parcel in) { diff --git a/core/java/android/net/NetworkRequest.java b/core/java/android/net/NetworkRequest.java index 16c2342a89b5..04b6b44013b9 100644 --- a/core/java/android/net/NetworkRequest.java +++ b/core/java/android/net/NetworkRequest.java @@ -17,6 +17,7 @@ package android.net; import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage; import android.net.NetworkCapabilities.NetCapability; import android.net.NetworkCapabilities.Transport; import android.os.Parcel; @@ -38,6 +39,7 @@ public class NetworkRequest implements Parcelable { * The {@link NetworkCapabilities} that define this request. * @hide */ + @UnsupportedAppUsage public final @NonNull NetworkCapabilities networkCapabilities; /** @@ -46,6 +48,7 @@ public class NetworkRequest implements Parcelable { * the request. * @hide */ + @UnsupportedAppUsage public final int requestId; /** @@ -53,6 +56,7 @@ public class NetworkRequest implements Parcelable { * Causes CONNECTIVITY_ACTION broadcasts to be sent. * @hide */ + @UnsupportedAppUsage public final int legacyType; /** @@ -241,6 +245,7 @@ public class NetworkRequest implements Parcelable { * @return The builder to facilitate chaining. * @hide */ + @UnsupportedAppUsage public Builder clearCapabilities() { mNetworkCapabilities.clearAll(); return this; @@ -339,6 +344,7 @@ public class NetworkRequest implements Parcelable { * @param signalStrength the bearer-specific signal strength. * @hide */ + @UnsupportedAppUsage public Builder setSignalStrength(int signalStrength) { mNetworkCapabilities.setSignalStrength(signalStrength); return this; diff --git a/core/java/android/net/NetworkState.java b/core/java/android/net/NetworkState.java index 321f9718ee8e..c545ee205df8 100644 --- a/core/java/android/net/NetworkState.java +++ b/core/java/android/net/NetworkState.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.Slog; @@ -33,6 +34,7 @@ public class NetworkState implements Parcelable { public final NetworkInfo networkInfo; public final LinkProperties linkProperties; public final NetworkCapabilities networkCapabilities; + @UnsupportedAppUsage public final Network network; public final String subscriberId; public final String networkId; @@ -58,6 +60,7 @@ public class NetworkState implements Parcelable { } } + @UnsupportedAppUsage public NetworkState(Parcel in) { networkInfo = in.readParcelable(null); linkProperties = in.readParcelable(null); @@ -82,6 +85,7 @@ public class NetworkState implements Parcelable { out.writeString(networkId); } + @UnsupportedAppUsage public static final Creator<NetworkState> CREATOR = new Creator<NetworkState>() { @Override public NetworkState createFromParcel(Parcel in) { diff --git a/core/java/android/net/NetworkStats.java b/core/java/android/net/NetworkStats.java index edf9bc1c6b39..e270fc2e3923 100644 --- a/core/java/android/net/NetworkStats.java +++ b/core/java/android/net/NetworkStats.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.os.SystemClock; @@ -110,25 +111,43 @@ public class NetworkStats implements Parcelable { * generated. */ private long elapsedRealtime; + @UnsupportedAppUsage private int size; + @UnsupportedAppUsage private int capacity; + @UnsupportedAppUsage private String[] iface; + @UnsupportedAppUsage private int[] uid; + @UnsupportedAppUsage private int[] set; + @UnsupportedAppUsage private int[] tag; + @UnsupportedAppUsage private int[] metered; + @UnsupportedAppUsage private int[] roaming; + @UnsupportedAppUsage private int[] defaultNetwork; + @UnsupportedAppUsage private long[] rxBytes; + @UnsupportedAppUsage private long[] rxPackets; + @UnsupportedAppUsage private long[] txBytes; + @UnsupportedAppUsage private long[] txPackets; + @UnsupportedAppUsage private long[] operations; public static class Entry { + @UnsupportedAppUsage public String iface; + @UnsupportedAppUsage public int uid; + @UnsupportedAppUsage public int set; + @UnsupportedAppUsage public int tag; /** * Note that this is only populated w/ the default value when read from /proc or written @@ -148,12 +167,17 @@ public class NetworkStats implements Parcelable { * getSummary(). */ public int defaultNetwork; + @UnsupportedAppUsage public long rxBytes; + @UnsupportedAppUsage public long rxPackets; + @UnsupportedAppUsage public long txBytes; + @UnsupportedAppUsage public long txPackets; public long operations; + @UnsupportedAppUsage public Entry() { this(IFACE_ALL, UID_ALL, SET_DEFAULT, TAG_NONE, 0L, 0L, 0L, 0L, 0L); } @@ -240,6 +264,7 @@ public class NetworkStats implements Parcelable { } } + @UnsupportedAppUsage public NetworkStats(long elapsedRealtime, int initialSize) { this.elapsedRealtime = elapsedRealtime; this.size = 0; @@ -263,6 +288,7 @@ public class NetworkStats implements Parcelable { } } + @UnsupportedAppUsage public NetworkStats(Parcel parcel) { elapsedRealtime = parcel.readLong(); size = parcel.readInt(); @@ -399,6 +425,7 @@ public class NetworkStats implements Parcelable { /** * Return specific stats entry. */ + @UnsupportedAppUsage public Entry getValues(int i, Entry recycle) { final Entry entry = recycle != null ? recycle : new Entry(); entry.iface = iface[i]; @@ -432,6 +459,7 @@ public class NetworkStats implements Parcelable { return SystemClock.elapsedRealtime() - elapsedRealtime; } + @UnsupportedAppUsage public int size() { return size; } @@ -460,6 +488,7 @@ public class NetworkStats implements Parcelable { * {@link #findIndex(String, int, int, int, int)} is unable to find match. Can * also be used to subtract values from existing rows. */ + @UnsupportedAppUsage public NetworkStats combineValues(Entry entry) { final int i = findIndex(entry.iface, entry.uid, entry.set, entry.tag, entry.metered, entry.roaming, entry.defaultNetwork); @@ -479,6 +508,7 @@ public class NetworkStats implements Parcelable { /** * Combine all values from another {@link NetworkStats} into this object. */ + @UnsupportedAppUsage public void combineAllValues(NetworkStats another) { NetworkStats.Entry entry = null; for (int i = 0; i < another.size; i++) { @@ -564,6 +594,7 @@ public class NetworkStats implements Parcelable { /** * Return list of unique UIDs known by this data structure. */ + @UnsupportedAppUsage public int[] getUniqueUids() { final SparseBooleanArray uids = new SparseBooleanArray(); for (int uid : this.uid) { @@ -582,6 +613,7 @@ public class NetworkStats implements Parcelable { * Return total bytes represented by this snapshot object, usually used when * checking if a {@link #subtract(NetworkStats)} delta passes a threshold. */ + @UnsupportedAppUsage public long getTotalBytes() { final Entry entry = getTotal(null); return entry.rxBytes + entry.txBytes; @@ -590,6 +622,7 @@ public class NetworkStats implements Parcelable { /** * Return total of all fields represented by this snapshot object. */ + @UnsupportedAppUsage public Entry getTotal(Entry recycle) { return getTotal(recycle, null, UID_ALL, false); } @@ -598,6 +631,7 @@ public class NetworkStats implements Parcelable { * Return total of all fields represented by this snapshot object matching * the requested {@link #uid}. */ + @UnsupportedAppUsage public Entry getTotal(Entry recycle, int limitUid) { return getTotal(recycle, null, limitUid, false); } @@ -610,6 +644,7 @@ public class NetworkStats implements Parcelable { return getTotal(recycle, limitIface, UID_ALL, false); } + @UnsupportedAppUsage public Entry getTotalIncludingTags(Entry recycle) { return getTotal(recycle, null, UID_ALL, true); } @@ -1085,6 +1120,7 @@ public class NetworkStats implements Parcelable { return 0; } + @UnsupportedAppUsage public static final Creator<NetworkStats> CREATOR = new Creator<NetworkStats>() { @Override public NetworkStats createFromParcel(Parcel in) { diff --git a/core/java/android/net/NetworkStatsHistory.java b/core/java/android/net/NetworkStatsHistory.java index a13ad659e767..d53e0326aeb1 100644 --- a/core/java/android/net/NetworkStatsHistory.java +++ b/core/java/android/net/NetworkStatsHistory.java @@ -30,6 +30,7 @@ import static android.text.format.DateUtils.SECOND_IN_MILLIS; import static com.android.internal.util.ArrayUtils.total; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.service.NetworkStatsHistoryBucketProto; @@ -89,16 +90,23 @@ public class NetworkStatsHistory implements Parcelable { public static class Entry { public static final long UNKNOWN = -1; + @UnsupportedAppUsage public long bucketDuration; + @UnsupportedAppUsage public long bucketStart; public long activeTime; + @UnsupportedAppUsage public long rxBytes; + @UnsupportedAppUsage public long rxPackets; + @UnsupportedAppUsage public long txBytes; + @UnsupportedAppUsage public long txPackets; public long operations; } + @UnsupportedAppUsage public NetworkStatsHistory(long bucketDuration) { this(bucketDuration, 10, FIELD_ALL); } @@ -125,6 +133,7 @@ public class NetworkStatsHistory implements Parcelable { recordEntireHistory(existing); } + @UnsupportedAppUsage public NetworkStatsHistory(Parcel in) { bucketDuration = in.readLong(); bucketStart = readLongArray(in); @@ -210,6 +219,7 @@ public class NetworkStatsHistory implements Parcelable { return 0; } + @UnsupportedAppUsage public int size() { return bucketCount; } @@ -218,6 +228,7 @@ public class NetworkStatsHistory implements Parcelable { return bucketDuration; } + @UnsupportedAppUsage public long getStart() { if (bucketCount > 0) { return bucketStart[0]; @@ -226,6 +237,7 @@ public class NetworkStatsHistory implements Parcelable { } } + @UnsupportedAppUsage public long getEnd() { if (bucketCount > 0) { return bucketStart[bucketCount - 1] + bucketDuration; @@ -245,6 +257,7 @@ public class NetworkStatsHistory implements Parcelable { * Return index of bucket that contains or is immediately before the * requested time. */ + @UnsupportedAppUsage public int getIndexBefore(long time) { int index = Arrays.binarySearch(bucketStart, 0, bucketCount, time); if (index < 0) { @@ -272,6 +285,7 @@ public class NetworkStatsHistory implements Parcelable { /** * Return specific stats entry. */ + @UnsupportedAppUsage public Entry getValues(int i, Entry recycle) { final Entry entry = recycle != null ? recycle : new Entry(); entry.bucketStart = bucketStart[i]; @@ -373,6 +387,7 @@ public class NetworkStatsHistory implements Parcelable { * Record an entire {@link NetworkStatsHistory} into this history. Usually * for combining together stats for external reporting. */ + @UnsupportedAppUsage public void recordEntireHistory(NetworkStatsHistory input) { recordHistory(input, Long.MIN_VALUE, Long.MAX_VALUE); } @@ -509,6 +524,7 @@ public class NetworkStatsHistory implements Parcelable { * Return interpolated data usage across the requested range. Interpolates * across buckets, so values may be rounded slightly. */ + @UnsupportedAppUsage public Entry getValues(long start, long end, Entry recycle) { return getValues(start, end, Long.MAX_VALUE, recycle); } @@ -517,6 +533,7 @@ public class NetworkStatsHistory implements Parcelable { * Return interpolated data usage across the requested range. Interpolates * across buckets, so values may be rounded slightly. */ + @UnsupportedAppUsage public Entry getValues(long start, long end, long now, Entry recycle) { final Entry entry = recycle != null ? recycle : new Entry(); entry.bucketDuration = end - start; @@ -701,6 +718,7 @@ public class NetworkStatsHistory implements Parcelable { return writer.toString(); } + @UnsupportedAppUsage public static final Creator<NetworkStatsHistory> CREATOR = new Creator<NetworkStatsHistory>() { @Override public NetworkStatsHistory createFromParcel(Parcel in) { diff --git a/core/java/android/net/NetworkTemplate.java b/core/java/android/net/NetworkTemplate.java index 74233fd990dc..bb75c6343659 100644 --- a/core/java/android/net/NetworkTemplate.java +++ b/core/java/android/net/NetworkTemplate.java @@ -34,6 +34,7 @@ import static android.net.NetworkStats.ROAMING_NO; import static android.net.NetworkStats.ROAMING_YES; import static android.net.wifi.WifiInfo.removeDoubleQuotes; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.BackupUtils; @@ -96,6 +97,7 @@ public class NetworkTemplate implements Parcelable { * Template to match {@link ConnectivityManager#TYPE_MOBILE} networks with * the given IMSI. */ + @UnsupportedAppUsage public static NetworkTemplate buildTemplateMobileAll(String subscriberId) { return new NetworkTemplate(MATCH_MOBILE, subscriberId, null); } @@ -104,6 +106,7 @@ public class NetworkTemplate implements Parcelable { * Template to match {@link ConnectivityManager#TYPE_MOBILE} networks, * regardless of IMSI. */ + @UnsupportedAppUsage public static NetworkTemplate buildTemplateMobileWildcard() { return new NetworkTemplate(MATCH_MOBILE_WILDCARD, null, null); } @@ -112,11 +115,13 @@ public class NetworkTemplate implements Parcelable { * Template to match all {@link ConnectivityManager#TYPE_WIFI} networks, * regardless of SSID. */ + @UnsupportedAppUsage public static NetworkTemplate buildTemplateWifiWildcard() { return new NetworkTemplate(MATCH_WIFI_WILDCARD, null, null); } @Deprecated + @UnsupportedAppUsage public static NetworkTemplate buildTemplateWifi() { return buildTemplateWifiWildcard(); } @@ -133,6 +138,7 @@ public class NetworkTemplate implements Parcelable { * Template to combine all {@link ConnectivityManager#TYPE_ETHERNET} style * networks together. */ + @UnsupportedAppUsage public static NetworkTemplate buildTemplateEthernet() { return new NetworkTemplate(MATCH_ETHERNET, null, null); } @@ -173,6 +179,7 @@ public class NetworkTemplate implements Parcelable { private final int mRoaming; private final int mDefaultNetwork; + @UnsupportedAppUsage public NetworkTemplate(int matchRule, String subscriberId, String networkId) { this(matchRule, subscriberId, new String[] { subscriberId }, networkId); } @@ -293,10 +300,12 @@ public class NetworkTemplate implements Parcelable { } } + @UnsupportedAppUsage public int getMatchRule() { return mMatchRule; } + @UnsupportedAppUsage public String getSubscriberId() { return mSubscriberId; } @@ -460,6 +469,7 @@ public class NetworkTemplate implements Parcelable { * active merge set [A,B], we'd return a new template that primarily matches * A, but also matches B. */ + @UnsupportedAppUsage public static NetworkTemplate normalize(NetworkTemplate template, String[] merged) { if (template.isMatchRuleMobile() && ArrayUtils.contains(merged, template.mSubscriberId)) { // Requested template subscriber is part of the merge group; return @@ -471,6 +481,7 @@ public class NetworkTemplate implements Parcelable { } } + @UnsupportedAppUsage public static final Creator<NetworkTemplate> CREATOR = new Creator<NetworkTemplate>() { @Override public NetworkTemplate createFromParcel(Parcel in) { diff --git a/core/java/android/net/NetworkUtils.java b/core/java/android/net/NetworkUtils.java index dc1f8054f6a7..599ccb287a26 100644 --- a/core/java/android/net/NetworkUtils.java +++ b/core/java/android/net/NetworkUtils.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.util.Log; import android.util.Pair; @@ -43,6 +44,7 @@ public class NetworkUtils { /** * Attaches a socket filter that accepts DHCP packets to the given socket. */ + @UnsupportedAppUsage public native static void attachDhcpFilter(FileDescriptor fd) throws SocketException; /** @@ -50,6 +52,7 @@ public class NetworkUtils { * @param fd the socket's {@link FileDescriptor}. * @param packetType the hardware address type, one of ARPHRD_*. */ + @UnsupportedAppUsage public native static void attachRaFilter(FileDescriptor fd, int packetType) throws SocketException; /** @@ -60,6 +63,7 @@ public class NetworkUtils { * @param fd the socket's {@link FileDescriptor}. * @param packetType the hardware address type, one of ARPHRD_*. */ + @UnsupportedAppUsage public native static void attachControlPacketFilter(FileDescriptor fd, int packetType) throws SocketException; @@ -108,6 +112,7 @@ public class NetworkUtils { * this socket will go directly to the underlying network, so its traffic will not be * forwarded through the VPN. */ + @UnsupportedAppUsage public static boolean protectFromVpn(FileDescriptor fd) { return protectFromVpn(fd.getInt$()); } @@ -131,6 +136,7 @@ public class NetworkUtils { * or {@link #intToInet4AddressHTL(int)} */ @Deprecated + @UnsupportedAppUsage public static InetAddress intToInetAddress(int hostAddress) { return intToInet4AddressHTL(hostAddress); } @@ -209,6 +215,7 @@ public class NetworkUtils { * or {@link #prefixLengthToV4NetmaskIntHTL(int)} */ @Deprecated + @UnsupportedAppUsage public static int prefixLengthToNetmaskInt(int prefixLength) throws IllegalArgumentException { return prefixLengthToV4NetmaskIntHTL(prefixLength); @@ -255,6 +262,7 @@ public class NetworkUtils { * @throws IllegalArgumentException the specified netmask was not contiguous. * @hide */ + @UnsupportedAppUsage public static int netmaskToPrefixLength(Inet4Address netmask) { // inetAddressToInt returns an int in *network* byte order. int i = Integer.reverseBytes(inetAddressToInt(netmask)); @@ -275,6 +283,7 @@ public class NetworkUtils { * @return the InetAddress * @hide */ + @UnsupportedAppUsage public static InetAddress numericToInetAddress(String addrString) throws IllegalArgumentException { return InetAddress.parseNumericAddress(addrString); @@ -349,6 +358,7 @@ public class NetworkUtils { /** * Returns the implicit netmask of an IPv4 address, as was the custom before 1993. */ + @UnsupportedAppUsage public static int getImplicitNetmask(Inet4Address address) { int firstByte = address.getAddress()[0] & 0xff; // Convert to an unsigned value. if (firstByte < 128) { @@ -439,6 +449,7 @@ public class NetworkUtils { * @param addr a string representing an ip addr * @return a string propertly trimmed */ + @UnsupportedAppUsage public static String trimV4AddrZeros(String addr) { if (addr == null) return null; String[] octets = addr.split("\\."); diff --git a/core/java/android/net/Proxy.java b/core/java/android/net/Proxy.java index e3551b0b2ca1..4600942806a8 100644 --- a/core/java/android/net/Proxy.java +++ b/core/java/android/net/Proxy.java @@ -18,6 +18,7 @@ package android.net; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.text.TextUtils; import android.util.Log; @@ -106,6 +107,7 @@ public final class Proxy { * A null value means that no host is to be used. * {@hide} */ + @UnsupportedAppUsage public static final java.net.Proxy getProxy(Context ctx, String url) { String host = ""; if ((url != null) && !isLocalHost(host)) { @@ -239,6 +241,7 @@ public final class Proxy { } /** @hide */ + @UnsupportedAppUsage public static final void setHttpProxySystemProperty(ProxyInfo p) { String host = null; String port = null; diff --git a/core/java/android/net/ProxyInfo.java b/core/java/android/net/ProxyInfo.java index 5f5e6235eb8b..e926fda336f4 100644 --- a/core/java/android/net/ProxyInfo.java +++ b/core/java/android/net/ProxyInfo.java @@ -17,6 +17,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; @@ -91,6 +92,7 @@ public class ProxyInfo implements Parcelable { * Create a ProxyProperties that points at a HTTP Proxy. * @hide */ + @UnsupportedAppUsage public ProxyInfo(String host, int port, String exclList) { mHost = host; mPort = port; diff --git a/core/java/android/net/RouteInfo.java b/core/java/android/net/RouteInfo.java index 90a2460ff20c..3e73d3d2d997 100644 --- a/core/java/android/net/RouteInfo.java +++ b/core/java/android/net/RouteInfo.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -55,6 +56,7 @@ public final class RouteInfo implements Parcelable { /** * The gateway address for this route. */ + @UnsupportedAppUsage private final InetAddress mGateway; /** @@ -79,6 +81,7 @@ public final class RouteInfo implements Parcelable { // Derived data members. // TODO: remove these. + @UnsupportedAppUsage private final boolean mIsHost; private final boolean mHasGateway; @@ -160,6 +163,7 @@ public final class RouteInfo implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public RouteInfo(IpPrefix destination, InetAddress gateway, String iface) { this(destination, gateway, iface, RTN_UNICAST); } @@ -167,6 +171,7 @@ public final class RouteInfo implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public RouteInfo(LinkAddress destination, InetAddress gateway, String iface) { this(destination == null ? null : new IpPrefix(destination.getAddress(), destination.getPrefixLength()), @@ -197,6 +202,7 @@ public final class RouteInfo implements Parcelable { * * TODO: Remove this. */ + @UnsupportedAppUsage public RouteInfo(LinkAddress destination, InetAddress gateway) { this(destination, gateway, null); } @@ -208,6 +214,7 @@ public final class RouteInfo implements Parcelable { * * @hide */ + @UnsupportedAppUsage public RouteInfo(InetAddress gateway) { this((IpPrefix) null, gateway, null); } @@ -258,6 +265,7 @@ public final class RouteInfo implements Parcelable { } } + @UnsupportedAppUsage private boolean isHost() { return (mDestination.getAddress() instanceof Inet4Address && mDestination.getPrefixLength() == 32) || @@ -355,6 +363,7 @@ public final class RouteInfo implements Parcelable { * @return {@code true} if a gateway is specified * @hide */ + @UnsupportedAppUsage public boolean hasGateway() { return mHasGateway; } @@ -379,6 +388,7 @@ public final class RouteInfo implements Parcelable { * * @hide */ + @UnsupportedAppUsage public static RouteInfo selectBestRoute(Collection<RouteInfo> routes, InetAddress dest) { if ((routes == null) || (dest == null)) return null; diff --git a/core/java/android/net/SSLCertificateSocketFactory.java b/core/java/android/net/SSLCertificateSocketFactory.java index d7eb477ad83b..31494d99738b 100644 --- a/core/java/android/net/SSLCertificateSocketFactory.java +++ b/core/java/android/net/SSLCertificateSocketFactory.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.SystemProperties; import android.util.Log; @@ -86,8 +87,10 @@ import javax.net.ssl.X509TrustManager; * requires root access. */ public class SSLCertificateSocketFactory extends SSLSocketFactory { + @UnsupportedAppUsage private static final String TAG = "SSLCertificateSocketFactory"; + @UnsupportedAppUsage private static final TrustManager[] INSECURE_TRUST_MANAGER = new TrustManager[] { new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return null; } @@ -96,16 +99,26 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { } }; + @UnsupportedAppUsage private SSLSocketFactory mInsecureFactory = null; + @UnsupportedAppUsage private SSLSocketFactory mSecureFactory = null; + @UnsupportedAppUsage private TrustManager[] mTrustManagers = null; + @UnsupportedAppUsage private KeyManager[] mKeyManagers = null; + @UnsupportedAppUsage private byte[] mNpnProtocols = null; + @UnsupportedAppUsage private byte[] mAlpnProtocols = null; + @UnsupportedAppUsage private PrivateKey mChannelIdPrivateKey = null; + @UnsupportedAppUsage private final int mHandshakeTimeoutMillis; + @UnsupportedAppUsage private final SSLClientSessionCache mSessionCache; + @UnsupportedAppUsage private final boolean mSecure; /** @deprecated Use {@link #getDefault(int)} instead. */ @@ -114,6 +127,7 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { this(handshakeTimeoutMillis, null, true); } + @UnsupportedAppUsage private SSLCertificateSocketFactory( int handshakeTimeoutMillis, SSLSessionCache cache, boolean secure) { mHandshakeTimeoutMillis = handshakeTimeoutMillis; @@ -201,6 +215,7 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { * * @hide */ + @UnsupportedAppUsage public static void verifyHostname(Socket socket, String hostname) throws IOException { if (!(socket instanceof SSLSocket)) { throw new IllegalArgumentException("Attempt to verify non-SSL socket"); @@ -222,6 +237,7 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { } } + @UnsupportedAppUsage private SSLSocketFactory makeSocketFactory( KeyManager[] keyManagers, TrustManager[] trustManagers) { try { @@ -235,11 +251,13 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { } } + @UnsupportedAppUsage private static boolean isSslCheckRelaxed() { return RoSystemProperties.DEBUGGABLE && SystemProperties.getBoolean("socket.relaxsslcheck", false); } + @UnsupportedAppUsage private synchronized SSLSocketFactory getDelegate() { // Relax the SSL check if instructed (for this factory, or systemwide) if (!mSecure || isSslCheckRelaxed()) { @@ -311,6 +329,7 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { * must be non-empty and of length less than 256. * @hide */ + @UnsupportedAppUsage public void setAlpnProtocols(byte[][] protocols) { this.mAlpnProtocols = toLengthPrefixedList(protocols); } @@ -365,6 +384,7 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { * @throws IllegalArgumentException if the socket was not created by this factory. * @hide */ + @UnsupportedAppUsage public byte[] getAlpnSelectedProtocol(Socket socket) { return castToOpenSSLSocket(socket).getAlpnSelectedProtocol(); } @@ -390,6 +410,7 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { * * @hide */ + @UnsupportedAppUsage public void setChannelIdPrivateKey(PrivateKey privateKey) { mChannelIdPrivateKey = privateKey; } @@ -429,11 +450,13 @@ public class SSLCertificateSocketFactory extends SSLSocketFactory { * * @hide */ + @UnsupportedAppUsage public void setSoWriteTimeout(Socket socket, int writeTimeoutMilliseconds) throws SocketException { castToOpenSSLSocket(socket).setSoWriteTimeout(writeTimeoutMilliseconds); } + @UnsupportedAppUsage private static OpenSSLSocketImpl castToOpenSSLSocket(Socket socket) { if (!(socket instanceof OpenSSLSocketImpl)) { throw new IllegalArgumentException("Socket not created by this factory: " diff --git a/core/java/android/net/SSLSessionCache.java b/core/java/android/net/SSLSessionCache.java index 65db2c381e1d..9667e82c988c 100644 --- a/core/java/android/net/SSLSessionCache.java +++ b/core/java/android/net/SSLSessionCache.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.util.Log; @@ -39,6 +40,7 @@ import javax.net.ssl.SSLSessionContext; */ public final class SSLSessionCache { private static final String TAG = "SSLSessionCache"; + @UnsupportedAppUsage /* package */ final SSLClientSessionCache mSessionCache; /** diff --git a/core/java/android/net/SntpClient.java b/core/java/android/net/SntpClient.java index ddf63caf06bf..10c0ce25e97b 100644 --- a/core/java/android/net/SntpClient.java +++ b/core/java/android/net/SntpClient.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.SystemClock; import android.util.Log; @@ -175,6 +176,7 @@ public class SntpClient { } @Deprecated + @UnsupportedAppUsage public boolean requestTime(String host, int timeout) { Log.w(TAG, "Shame on you for calling the hidden API requestTime()!"); return false; @@ -185,6 +187,7 @@ public class SntpClient { * * @return time value computed from NTP server response. */ + @UnsupportedAppUsage public long getNtpTime() { return mNtpTime; } @@ -195,6 +198,7 @@ public class SntpClient { * * @return reference clock corresponding to the NTP time. */ + @UnsupportedAppUsage public long getNtpTimeReference() { return mNtpTimeReference; } @@ -204,6 +208,7 @@ public class SntpClient { * * @return round trip time in milliseconds. */ + @UnsupportedAppUsage public long getRoundTripTime() { return mRoundTripTime; } diff --git a/core/java/android/net/StaticIpConfiguration.java b/core/java/android/net/StaticIpConfiguration.java index 58b1b88d8976..3aa56b90251f 100644 --- a/core/java/android/net/StaticIpConfiguration.java +++ b/core/java/android/net/StaticIpConfiguration.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.net.LinkAddress; import android.os.Parcelable; import android.os.Parcel; @@ -46,11 +47,16 @@ import java.util.Objects; * @hide */ public class StaticIpConfiguration implements Parcelable { + @UnsupportedAppUsage public LinkAddress ipAddress; + @UnsupportedAppUsage public InetAddress gateway; + @UnsupportedAppUsage public final ArrayList<InetAddress> dnsServers; + @UnsupportedAppUsage public String domains; + @UnsupportedAppUsage public StaticIpConfiguration() { dnsServers = new ArrayList<InetAddress>(); } @@ -80,6 +86,7 @@ public class StaticIpConfiguration implements Parcelable { * route to the gateway as well. This configuration is arguably invalid, but it used to work * in K and earlier, and other OSes appear to accept it. */ + @UnsupportedAppUsage public List<RouteInfo> getRoutes(String iface) { List<RouteInfo> routes = new ArrayList<RouteInfo>(3); if (ipAddress != null) { diff --git a/core/java/android/net/StringNetworkSpecifier.java b/core/java/android/net/StringNetworkSpecifier.java index cb7f6bfce713..b5d12f9d5b5d 100644 --- a/core/java/android/net/StringNetworkSpecifier.java +++ b/core/java/android/net/StringNetworkSpecifier.java @@ -16,6 +16,7 @@ package android.net; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; @@ -29,6 +30,7 @@ public final class StringNetworkSpecifier extends NetworkSpecifier implements Pa /** * Arbitrary string used to pass (additional) information to the network factory. */ + @UnsupportedAppUsage public final String specifier; public StringNetworkSpecifier(String specifier) { diff --git a/core/java/android/net/TrafficStats.java b/core/java/android/net/TrafficStats.java index 40d53b741d6b..44f7e48edabc 100644 --- a/core/java/android/net/TrafficStats.java +++ b/core/java/android/net/TrafficStats.java @@ -19,6 +19,7 @@ package android.net; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.app.DownloadManager; import android.app.backup.BackupManager; import android.app.usage.NetworkStatsManager; @@ -141,6 +142,7 @@ public class TrafficStats { private static INetworkStatsService sStatsService; + @UnsupportedAppUsage private synchronized static INetworkStatsService getStatsService() { if (sStatsService == null) { sStatsService = INetworkStatsService.Stub.asInterface( @@ -528,6 +530,7 @@ public class TrafficStats { } /** {@hide} */ + @UnsupportedAppUsage public static long getMobileTcpRxPackets() { long total = 0; for (String iface : getMobileIfaces()) { @@ -543,6 +546,7 @@ public class TrafficStats { } /** {@hide} */ + @UnsupportedAppUsage public static long getMobileTcpTxPackets() { long total = 0; for (String iface : getMobileIfaces()) { @@ -576,6 +580,7 @@ public class TrafficStats { } /** {@hide} */ + @UnsupportedAppUsage public static long getTxBytes(String iface) { try { return getStatsService().getIfaceStats(iface, TYPE_TX_BYTES); @@ -585,6 +590,7 @@ public class TrafficStats { } /** {@hide} */ + @UnsupportedAppUsage public static long getRxBytes(String iface) { try { return getStatsService().getIfaceStats(iface, TYPE_RX_BYTES); @@ -940,6 +946,7 @@ public class TrafficStats { * Interfaces are never removed from this list, so counters should always be * monotonic. */ + @UnsupportedAppUsage private static String[] getMobileIfaces() { try { return getStatsService().getMobileIfaces(); diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java index b7f5cdfabc46..9bcc6001615f 100644 --- a/core/java/android/net/Uri.java +++ b/core/java/android/net/Uri.java @@ -17,6 +17,7 @@ package android.net; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Intent; import android.os.Environment; import android.os.Parcel; @@ -133,6 +134,7 @@ public abstract class Uri implements Parcelable, Comparable<Uri> { /** * Prevents external subclassing. */ + @UnsupportedAppUsage private Uri() {} /** @@ -376,6 +378,7 @@ public abstract class Uri implements Parcelable, Comparable<Uri> { * to logs and other places where PII should be avoided. * @hide */ + @UnsupportedAppUsage public String toSafeString() { String scheme = getScheme(); String ssp = getSchemeSpecificPart(); @@ -2331,6 +2334,7 @@ public abstract class Uri implements Parcelable, Comparable<Uri> { * * @hide */ + @UnsupportedAppUsage public Uri getCanonicalUri() { if ("file".equals(getScheme())) { final String canonicalPath; diff --git a/core/java/android/net/VpnService.java b/core/java/android/net/VpnService.java index 712576f304d9..f0c0462cec18 100644 --- a/core/java/android/net/VpnService.java +++ b/core/java/android/net/VpnService.java @@ -21,6 +21,7 @@ import static android.system.OsConstants.AF_INET6; import android.annotation.RequiresPermission; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.app.Activity; import android.app.PendingIntent; import android.app.Service; @@ -440,7 +441,9 @@ public class VpnService extends Service { public class Builder { private final VpnConfig mConfig = new VpnConfig(); + @UnsupportedAppUsage private final List<LinkAddress> mAddresses = new ArrayList<LinkAddress>(); + @UnsupportedAppUsage private final List<RouteInfo> mRoutes = new ArrayList<RouteInfo>(); public Builder() { diff --git a/core/java/android/net/WebAddress.java b/core/java/android/net/WebAddress.java index 24d4eb8907fa..8026d765ee0c 100644 --- a/core/java/android/net/WebAddress.java +++ b/core/java/android/net/WebAddress.java @@ -19,6 +19,7 @@ package android.net; import static android.util.Patterns.GOOD_IRI_CHAR; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import java.util.Locale; import java.util.regex.Matcher; @@ -45,9 +46,13 @@ import java.util.regex.Pattern; @SystemApi public class WebAddress { + @UnsupportedAppUsage private String mScheme; + @UnsupportedAppUsage private String mHost; + @UnsupportedAppUsage private int mPort; + @UnsupportedAppUsage private String mPath; private String mAuthInfo; @@ -147,16 +152,19 @@ public class WebAddress { } /** {@hide} */ + @UnsupportedAppUsage public String getScheme() { return mScheme; } /** {@hide} */ + @UnsupportedAppUsage public void setHost(String host) { mHost = host; } /** {@hide} */ + @UnsupportedAppUsage public String getHost() { return mHost; } @@ -167,16 +175,19 @@ public class WebAddress { } /** {@hide} */ + @UnsupportedAppUsage public int getPort() { return mPort; } /** {@hide} */ + @UnsupportedAppUsage public void setPath(String path) { mPath = path; } /** {@hide} */ + @UnsupportedAppUsage public String getPath() { return mPath; } @@ -187,6 +198,7 @@ public class WebAddress { } /** {@hide} */ + @UnsupportedAppUsage public String getAuthInfo() { return mAuthInfo; } diff --git a/core/java/android/net/http/SslCertificate.java b/core/java/android/net/http/SslCertificate.java index 21ada363b3ea..6fcd6ebe148a 100644 --- a/core/java/android/net/http/SslCertificate.java +++ b/core/java/android/net/http/SslCertificate.java @@ -16,6 +16,7 @@ package android.net.http; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.Bundle; import android.text.format.DateFormat; @@ -77,6 +78,7 @@ public class SslCertificate { * be available, and saveState and restoreState can be simplified * to be unconditional. */ + @UnsupportedAppUsage private final X509Certificate mX509Certificate; /** @@ -257,6 +259,7 @@ public class SslCertificate { /** * Convenience for UI presentation, not intended as public API. */ + @UnsupportedAppUsage private static String getSerialNumber(X509Certificate x509Certificate) { if (x509Certificate == null) { return ""; @@ -271,6 +274,7 @@ public class SslCertificate { /** * Convenience for UI presentation, not intended as public API. */ + @UnsupportedAppUsage private static String getDigest(X509Certificate x509Certificate, String algorithm) { if (x509Certificate == null) { return ""; @@ -454,6 +458,7 @@ public class SslCertificate { * * @hide Used by Browser and Settings */ + @UnsupportedAppUsage public View inflateCertificateView(Context context) { LayoutInflater factory = LayoutInflater.from(context); diff --git a/core/java/android/net/http/SslError.java b/core/java/android/net/http/SslError.java index 1cd73d215d6e..fad6689ed055 100644 --- a/core/java/android/net/http/SslError.java +++ b/core/java/android/net/http/SslError.java @@ -16,6 +16,7 @@ package android.net.http; +import android.annotation.UnsupportedAppUsage; import java.security.cert.X509Certificate; /** @@ -67,16 +68,19 @@ public class SslError { * The SSL error set bitfield (each individual error is a bit index; * multiple individual errors can be OR-ed) */ + @UnsupportedAppUsage int mErrors; /** * The SSL certificate associated with the error set */ + @UnsupportedAppUsage final SslCertificate mCertificate; /** * The URL associated with the error set. */ + @UnsupportedAppUsage final String mUrl; /** diff --git a/core/java/android/net/metrics/ApfProgramEvent.java b/core/java/android/net/metrics/ApfProgramEvent.java index ad4588f139f9..5dabf35c4867 100644 --- a/core/java/android/net/metrics/ApfProgramEvent.java +++ b/core/java/android/net/metrics/ApfProgramEvent.java @@ -17,6 +17,7 @@ package android.net.metrics; import android.annotation.IntDef; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; @@ -47,13 +48,20 @@ public final class ApfProgramEvent implements Parcelable { @Retention(RetentionPolicy.SOURCE) public @interface Flags {} + @UnsupportedAppUsage public long lifetime; // Maximum computed lifetime of the program in seconds + @UnsupportedAppUsage public long actualLifetime; // Effective program lifetime in seconds + @UnsupportedAppUsage public int filteredRas; // Number of RAs filtered by the APF program + @UnsupportedAppUsage public int currentRas; // Total number of current RAs at generation time + @UnsupportedAppUsage public int programLength; // Length of the APF program in bytes + @UnsupportedAppUsage public int flags; // Bitfield compound of FLAG_* constants + @UnsupportedAppUsage public ApfProgramEvent() { } @@ -99,6 +107,7 @@ public final class ApfProgramEvent implements Parcelable { } }; + @UnsupportedAppUsage public static @Flags int flagsFor(boolean hasIPv4, boolean multicastFilterOn) { int bitfield = 0; if (hasIPv4) { diff --git a/core/java/android/net/metrics/ApfStats.java b/core/java/android/net/metrics/ApfStats.java index 76a781dd7daf..bb2a35c58667 100644 --- a/core/java/android/net/metrics/ApfStats.java +++ b/core/java/android/net/metrics/ApfStats.java @@ -16,6 +16,7 @@ package android.net.metrics; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -26,26 +27,37 @@ import android.os.Parcelable; public final class ApfStats implements Parcelable { /** time interval in milliseconds these stastistics covers. */ + @UnsupportedAppUsage public long durationMs; /** number of received RAs. */ + @UnsupportedAppUsage public int receivedRas; /** number of received RAs matching a known RA. */ + @UnsupportedAppUsage public int matchingRas; /** number of received RAs ignored due to the MAX_RAS limit. */ + @UnsupportedAppUsage public int droppedRas; /** number of received RAs with a minimum lifetime of 0. */ + @UnsupportedAppUsage public int zeroLifetimeRas; /** number of received RAs that could not be parsed. */ + @UnsupportedAppUsage public int parseErrors; /** number of APF program updates from receiving RAs.. */ + @UnsupportedAppUsage public int programUpdates; /** total number of APF program updates. */ + @UnsupportedAppUsage public int programUpdatesAll; /** number of APF program updates from allowing multicast traffic. */ + @UnsupportedAppUsage public int programUpdatesAllowingMulticast; /** maximum APF program size advertised by hardware. */ + @UnsupportedAppUsage public int maxProgramSize; + @UnsupportedAppUsage public ApfStats() { } diff --git a/core/java/android/net/metrics/DhcpClientEvent.java b/core/java/android/net/metrics/DhcpClientEvent.java index c5b78a50639d..98a7d7e8de9a 100644 --- a/core/java/android/net/metrics/DhcpClientEvent.java +++ b/core/java/android/net/metrics/DhcpClientEvent.java @@ -16,6 +16,7 @@ package android.net.metrics; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -34,6 +35,7 @@ public final class DhcpClientEvent implements Parcelable { public final String msg; public final int durationMs; + @UnsupportedAppUsage public DhcpClientEvent(String msg, int durationMs) { this.msg = msg; this.durationMs = durationMs; diff --git a/core/java/android/net/metrics/DhcpErrorEvent.java b/core/java/android/net/metrics/DhcpErrorEvent.java index 8b771979bc24..c6c06f0e59e9 100644 --- a/core/java/android/net/metrics/DhcpErrorEvent.java +++ b/core/java/android/net/metrics/DhcpErrorEvent.java @@ -16,6 +16,7 @@ package android.net.metrics; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.SparseArray; @@ -33,25 +34,41 @@ public final class DhcpErrorEvent implements Parcelable { public static final int DHCP_ERROR = 4; public static final int MISC_ERROR = 5; + @UnsupportedAppUsage public static final int L2_TOO_SHORT = makeErrorCode(L2_ERROR, 1); + @UnsupportedAppUsage public static final int L2_WRONG_ETH_TYPE = makeErrorCode(L2_ERROR, 2); + @UnsupportedAppUsage public static final int L3_TOO_SHORT = makeErrorCode(L3_ERROR, 1); + @UnsupportedAppUsage public static final int L3_NOT_IPV4 = makeErrorCode(L3_ERROR, 2); + @UnsupportedAppUsage public static final int L3_INVALID_IP = makeErrorCode(L3_ERROR, 3); + @UnsupportedAppUsage public static final int L4_NOT_UDP = makeErrorCode(L4_ERROR, 1); + @UnsupportedAppUsage public static final int L4_WRONG_PORT = makeErrorCode(L4_ERROR, 2); + @UnsupportedAppUsage public static final int BOOTP_TOO_SHORT = makeErrorCode(DHCP_ERROR, 1); + @UnsupportedAppUsage public static final int DHCP_BAD_MAGIC_COOKIE = makeErrorCode(DHCP_ERROR, 2); + @UnsupportedAppUsage public static final int DHCP_INVALID_OPTION_LENGTH = makeErrorCode(DHCP_ERROR, 3); + @UnsupportedAppUsage public static final int DHCP_NO_MSG_TYPE = makeErrorCode(DHCP_ERROR, 4); + @UnsupportedAppUsage public static final int DHCP_UNKNOWN_MSG_TYPE = makeErrorCode(DHCP_ERROR, 5); + @UnsupportedAppUsage public static final int DHCP_NO_COOKIE = makeErrorCode(DHCP_ERROR, 6); + @UnsupportedAppUsage public static final int BUFFER_UNDERFLOW = makeErrorCode(MISC_ERROR, 1); + @UnsupportedAppUsage public static final int RECEIVE_ERROR = makeErrorCode(MISC_ERROR, 2); + @UnsupportedAppUsage public static final int PARSING_ERROR = makeErrorCode(MISC_ERROR, 3); // error code byte format (MSB to LSB): @@ -61,6 +78,7 @@ public final class DhcpErrorEvent implements Parcelable { // byte 3: optional code public final int errorCode; + @UnsupportedAppUsage public DhcpErrorEvent(int errorCode) { this.errorCode = errorCode; } @@ -90,6 +108,7 @@ public final class DhcpErrorEvent implements Parcelable { } }; + @UnsupportedAppUsage public static int errorCodeWithOption(int errorCode, int option) { return (0xFFFF0000 & errorCode) | (0xFF & option); } diff --git a/core/java/android/net/metrics/IpConnectivityLog.java b/core/java/android/net/metrics/IpConnectivityLog.java index 4e57efa4d47b..998f4ba40daa 100644 --- a/core/java/android/net/metrics/IpConnectivityLog.java +++ b/core/java/android/net/metrics/IpConnectivityLog.java @@ -16,6 +16,7 @@ package android.net.metrics; +import android.annotation.UnsupportedAppUsage; import android.net.ConnectivityMetricsEvent; import android.net.IIpConnectivityMetrics; import android.os.Parcelable; @@ -37,6 +38,7 @@ public class IpConnectivityLog { private IIpConnectivityMetrics mService; + @UnsupportedAppUsage public IpConnectivityLog() { } @@ -104,6 +106,7 @@ public class IpConnectivityLog { * @param data is a Parcelable instance representing the event. * @return true if the event was successfully logged. */ + @UnsupportedAppUsage public boolean log(String ifname, Parcelable data) { ConnectivityMetricsEvent ev = makeEv(data); ev.ifname = ifname; @@ -130,6 +133,7 @@ public class IpConnectivityLog { * @param data is a Parcelable instance representing the event. * @return true if the event was successfully logged. */ + @UnsupportedAppUsage public boolean log(Parcelable data) { return log(makeEv(data)); } diff --git a/core/java/android/net/metrics/IpManagerEvent.java b/core/java/android/net/metrics/IpManagerEvent.java index f8a63ce5f1a3..c47650f87544 100644 --- a/core/java/android/net/metrics/IpManagerEvent.java +++ b/core/java/android/net/metrics/IpManagerEvent.java @@ -17,6 +17,7 @@ package android.net.metrics; import android.annotation.IntDef; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.SparseArray; @@ -53,6 +54,7 @@ public final class IpManagerEvent implements Parcelable { public final @EventType int eventType; public final long durationMs; + @UnsupportedAppUsage public IpManagerEvent(@EventType int eventType, long duration) { this.eventType = eventType; this.durationMs = duration; diff --git a/core/java/android/net/metrics/IpReachabilityEvent.java b/core/java/android/net/metrics/IpReachabilityEvent.java index 019c2c5a50e4..715c95e7270b 100644 --- a/core/java/android/net/metrics/IpReachabilityEvent.java +++ b/core/java/android/net/metrics/IpReachabilityEvent.java @@ -16,6 +16,7 @@ package android.net.metrics; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.SparseArray; @@ -48,6 +49,7 @@ public final class IpReachabilityEvent implements Parcelable { // byte 3: when byte 2 == PROBE, errno code from RTNetlink or IpReachabilityMonitor. public final int eventType; + @UnsupportedAppUsage public IpReachabilityEvent(int eventType) { this.eventType = eventType; } @@ -80,6 +82,7 @@ public final class IpReachabilityEvent implements Parcelable { /** * Returns the NUD failure event type code corresponding to the given conditions. */ + @UnsupportedAppUsage public static int nudFailureEventType(boolean isFromProbe, boolean isProvisioningLost) { if (isFromProbe) { return isProvisioningLost ? PROVISIONING_LOST : NUD_FAILED; diff --git a/core/java/android/net/metrics/RaEvent.java b/core/java/android/net/metrics/RaEvent.java index 3249f8001724..c41881ca34fb 100644 --- a/core/java/android/net/metrics/RaEvent.java +++ b/core/java/android/net/metrics/RaEvent.java @@ -16,6 +16,7 @@ package android.net.metrics; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -101,39 +102,47 @@ public final class RaEvent implements Parcelable { long rdnssLifetime = NO_LIFETIME; long dnsslLifetime = NO_LIFETIME; + @UnsupportedAppUsage public Builder() { } + @UnsupportedAppUsage public RaEvent build() { return new RaEvent(routerLifetime, prefixValidLifetime, prefixPreferredLifetime, routeInfoLifetime, rdnssLifetime, dnsslLifetime); } + @UnsupportedAppUsage public Builder updateRouterLifetime(long lifetime) { routerLifetime = updateLifetime(routerLifetime, lifetime); return this; } + @UnsupportedAppUsage public Builder updatePrefixValidLifetime(long lifetime) { prefixValidLifetime = updateLifetime(prefixValidLifetime, lifetime); return this; } + @UnsupportedAppUsage public Builder updatePrefixPreferredLifetime(long lifetime) { prefixPreferredLifetime = updateLifetime(prefixPreferredLifetime, lifetime); return this; } + @UnsupportedAppUsage public Builder updateRouteInfoLifetime(long lifetime) { routeInfoLifetime = updateLifetime(routeInfoLifetime, lifetime); return this; } + @UnsupportedAppUsage public Builder updateRdnssLifetime(long lifetime) { rdnssLifetime = updateLifetime(rdnssLifetime, lifetime); return this; } + @UnsupportedAppUsage public Builder updateDnsslLifetime(long lifetime) { dnsslLifetime = updateLifetime(dnsslLifetime, lifetime); return this; diff --git a/core/java/android/net/nsd/NsdServiceInfo.java b/core/java/android/net/nsd/NsdServiceInfo.java index bccaf60e697c..9ba17edfb91f 100644 --- a/core/java/android/net/nsd/NsdServiceInfo.java +++ b/core/java/android/net/nsd/NsdServiceInfo.java @@ -17,6 +17,7 @@ package android.net.nsd; import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage; import android.os.Parcelable; import android.os.Parcel; import android.text.TextUtils; @@ -185,6 +186,7 @@ public final class NsdServiceInfo implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public void setAttribute(String key, byte[] value) { if (TextUtils.isEmpty(key)) { throw new IllegalArgumentException("Key cannot be empty"); diff --git a/core/java/android/os/HwBlob.java b/core/java/android/os/HwBlob.java index 405651e992a3..6a5bb1c0a988 100644 --- a/core/java/android/os/HwBlob.java +++ b/core/java/android/os/HwBlob.java @@ -232,6 +232,14 @@ public class HwBlob { * @throws IndexOutOfBoundsException when [offset, offset + sizeof(jstring)] is out of range */ public native final void putString(long offset, String x); + /** + * Writes a native handle (without duplicating the underlying file descriptors) at an offset. + * + * @param offset location to write value + * @param x a {@link NativeHandle} instance to write + * @throws IndexOutOfBoundsException when [offset, offset + sizeof(jobject)] is out of range + */ + public native final void putNativeHandle(long offset, NativeHandle x); /** * Put a boolean array contiguously at an offset in the blob. diff --git a/core/java/android/os/HwParcel.java b/core/java/android/os/HwParcel.java index 0eb62c95ed71..7a51db2dc5f9 100644 --- a/core/java/android/os/HwParcel.java +++ b/core/java/android/os/HwParcel.java @@ -115,6 +115,13 @@ public class HwParcel { * @param val to write */ public native final void writeString(String val); + /** + * Writes a native handle (without duplicating the underlying + * file descriptors) to the end of the parcel. + * + * @param val to write + */ + public native final void writeNativeHandle(NativeHandle val); /** * Writes an array of boolean values to the end of the parcel. @@ -159,6 +166,11 @@ public class HwParcel { * @param val to write */ private native final void writeStringVector(String[] val); + /** + * Writes an array of native handles to the end of the parcel. + * @param val array of {@link NativeHandle} objects to write + */ + private native final void writeNativeHandleVector(NativeHandle[] val); /** * Helper method to write a list of Booleans to val. @@ -267,6 +279,14 @@ public class HwParcel { } /** + * Helper method to write a list of native handles to the end of the parcel. + * @param val list of {@link NativeHandle} objects to write + */ + public final void writeNativeHandleVector(ArrayList<NativeHandle> val) { + writeNativeHandleVector(val.toArray(new NativeHandle[val.size()])); + } + + /** * Write a hwbinder object to the end of the parcel. * @param binder value to write */ @@ -328,6 +348,30 @@ public class HwParcel { * @throws IllegalArgumentException if the parcel has no more data */ public native final String readString(); + /** + * Reads a native handle (without duplicating the underlying file + * descriptors) from the parcel. These file descriptors will only + * be open for the duration that the binder window is open. If they + * are needed further, you must call {@link NativeHandle#dup()}. + * + * @return a {@link NativeHandle} instance parsed from the parcel + * @throws IllegalArgumentException if the parcel has no more data + */ + public native final NativeHandle readNativeHandle(); + /** + * Reads an embedded native handle (without duplicating the underlying + * file descriptors) from the parcel. These file descriptors will only + * be open for the duration that the binder window is open. If they + * are needed further, you must call {@link NativeHandle#dup()}. You + * do not need to call close on the NativeHandle returned from this. + * + * @param parentHandle handle from which to read the embedded object + * @param offset offset into parent + * @return a {@link NativeHandle} instance parsed from the parcel + * @throws IllegalArgumentException if the parcel has no more data + */ + public native final NativeHandle readEmbeddedNativeHandle( + long parentHandle, long offset); /** * Reads an array of boolean values from the parcel. @@ -377,6 +421,12 @@ public class HwParcel { * @throws IllegalArgumentException if the parcel has no more data */ private native final String[] readStringVectorAsArray(); + /** + * Reads an array of native handles from the parcel. + * @return array of {@link NativeHandle} objects + * @throws IllegalArgumentException if the parcel has no more data + */ + private native final NativeHandle[] readNativeHandleAsArray(); /** * Convenience method to read a Boolean vector as an ArrayList. @@ -465,6 +515,15 @@ public class HwParcel { } /** + * Convenience method to read a vector of native handles as an ArrayList. + * @return array of {@link NativeHandle} objects. + * @throws IllegalArgumentException if the parcel has no more data + */ + public final ArrayList<NativeHandle> readNativeHandleVector() { + return new ArrayList<NativeHandle>(Arrays.asList(readNativeHandleAsArray())); + } + + /** * Reads a strong binder value from the parcel. * @return binder object read from parcel or null if no binder can be read * @throws IllegalArgumentException if the parcel has no more data diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl index 31dbafad62e3..20ca19bc04aa 100644 --- a/core/java/android/os/INetworkManagementService.aidl +++ b/core/java/android/os/INetworkManagementService.aidl @@ -372,11 +372,6 @@ interface INetworkManagementService void stopClatd(String interfaceName); /** - * Determine whether the clatd (464xlat) service has been started on the given interface. - */ - boolean isClatdStarted(String interfaceName); - - /** * Start listening for mobile activity state changes. */ void registerNetworkActivityListener(INetworkActivityListener listener); diff --git a/core/java/android/os/NativeHandle.java b/core/java/android/os/NativeHandle.java new file mode 100644 index 000000000000..fbecc8ec1cd9 --- /dev/null +++ b/core/java/android/os/NativeHandle.java @@ -0,0 +1,194 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.os; + +import android.annotation.NonNull; +import android.annotation.SystemApi; +import android.system.ErrnoException; +import android.system.Os; + +import java.io.Closeable; +import java.io.FileDescriptor; + +/** + * Collection representing a set of open file descriptors and an opaque data stream. + * + * @hide + */ +@SystemApi +public final class NativeHandle implements Closeable { + // whether this object owns mFds + private boolean mOwn = false; + private FileDescriptor[] mFds; + private int[] mInts; + + /** + * Constructs a {@link NativeHandle} object containing + * zero file descriptors and an empty data stream. + */ + public NativeHandle() { + this(new FileDescriptor[0], new int[0], false); + } + + /** + * Constructs a {@link NativeHandle} object containing the given + * {@link FileDescriptor} object and an empty data stream. + */ + public NativeHandle(@NonNull FileDescriptor descriptor, boolean own) { + this(new FileDescriptor[] {descriptor}, new int[0], own); + } + + /** + * Convenience method for creating a list of file descriptors. + * + * @hide + */ + private static FileDescriptor[] createFileDescriptorArray(@NonNull int[] fds) { + FileDescriptor[] list = new FileDescriptor[fds.length]; + for (int i = 0; i < fds.length; i++) { + FileDescriptor descriptor = new FileDescriptor(); + descriptor.setInt$(fds[i]); + list[i] = descriptor; + } + return list; + } + + /** + * Convenience method for instantiating a {@link NativeHandle} from JNI. It does + * not take ownership of the int[] params. It does not dupe the FileDescriptors. + * + * @hide + */ + private NativeHandle(@NonNull int[] fds, @NonNull int[] ints, boolean own) { + this(createFileDescriptorArray(fds), ints, own); + } + + /** + * Instantiate an opaque {@link NativeHandle} from fds and integers. + * + * @param own whether the fds are owned by this object and should be closed + */ + public NativeHandle(@NonNull FileDescriptor[] fds, @NonNull int[] ints, boolean own) { + mFds = fds.clone(); + mInts = ints.clone(); + mOwn = own; + } + + /** + * Returns whether this {@link NativeHandle} object contains a single file + * descriptor and nothing else. + * + * @return a boolean value + */ + public boolean hasSingleFileDescriptor() { + return mFds.length == 1 && mInts.length == 0; + } + + /** + * Explicitly duplicate NativeHandle (this dups all file descritptors). + * + * If this method is called, this must also be explicitly closed with + * {@link #close()}. + */ + public NativeHandle dup() throws java.io.IOException { + FileDescriptor[] fds = new FileDescriptor[mFds.length]; + try { + for (int i = 0; i < mFds.length; i++) { + fds[i] = Os.dup(mFds[i]); + } + } catch (ErrnoException e) { + e.rethrowAsIOException(); + } + return new NativeHandle(fds, mInts, true /*own*/); + } + + /** + * Closes the file descriptors if they are owned by this object. + * + * This also invalidates the object. + */ + @Override + public void close() throws java.io.IOException { + if (!mOwn) { + return; + } + + try { + for (FileDescriptor fd : mFds) { + Os.close(fd); + } + } catch (ErrnoException e) { + e.rethrowAsIOException(); + } + + mOwn = false; + mFds = null; + mInts = null; + } + + /** + * Returns the underlying lone file descriptor. + * + * @return a {@link FileDescriptor} object + * @throws IllegalStateException if this object contains either zero or + * more than one file descriptor, or a non-empty data stream. + */ + public FileDescriptor getFileDescriptor() { + if (!hasSingleFileDescriptor()) { + throw new IllegalStateException( + "NativeHandle is not single file descriptor. Contents must" + + " be retreived through getFileDescriptors and getInts."); + } + + return mFds[0]; + } + + /** + * Convenience method for fetching this object's file descriptors from JNI. + * @return a mutable copy of the underlying file descriptors (as an int[]) + * + * @hide + */ + private int[] getFdsAsIntArray() { + int numFds = mFds.length; + int[] fds = new int[numFds]; + + for (int i = 0; i < numFds; i++) { + fds[i] = mFds[i].getInt$(); + } + + return fds; + } + + /** + * Fetch file descriptors. + * + * @return the fds. + */ + public FileDescriptor[] getFileDescriptors() { + return mFds; + } + + /** + * Fetch opaque ints. Note: This object retains ownership of the data. + * + * @return the opaque data stream. + */ + public int[] getInts() { + return mInts; + } +} diff --git a/core/java/android/permissionpresenterservice/RuntimePermissionPresenterService.java b/core/java/android/permissionpresenterservice/RuntimePermissionPresenterService.java index 2931627f0ec0..e0bffaeb9d3e 100644 --- a/core/java/android/permissionpresenterservice/RuntimePermissionPresenterService.java +++ b/core/java/android/permissionpresenterservice/RuntimePermissionPresenterService.java @@ -17,6 +17,7 @@ package android.permissionpresenterservice; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.app.Service; import android.content.Context; import android.content.Intent; @@ -80,6 +81,7 @@ public abstract class RuntimePermissionPresenterService extends Service { * * @hide */ + @UnsupportedAppUsage public abstract void onRevokeRuntimePermission(String packageName, String permissionName); @Override diff --git a/core/java/android/provider/Browser.java b/core/java/android/provider/Browser.java index 7d05522cf5ce..30021b488dc5 100644 --- a/core/java/android/provider/Browser.java +++ b/core/java/android/provider/Browser.java @@ -16,6 +16,7 @@ package android.provider; +import android.annotation.UnsupportedAppUsage; import android.content.ContentResolver; import android.content.ContentUris; import android.content.ContentValues; @@ -218,6 +219,7 @@ public class Browser { * the string. * @hide pending API council approval */ + @UnsupportedAppUsage public static final void sendString(Context c, String stringToSend, String chooserDialogTitle) { @@ -323,6 +325,7 @@ public class Browser { * @hide pending API council approval */ @Deprecated + @UnsupportedAppUsage public static final String[] getVisitedHistory(ContentResolver cr) { return new String[0]; } diff --git a/core/java/android/provider/BrowserContract.java b/core/java/android/provider/BrowserContract.java index 118b5ebc182f..57dde6693001 100644 --- a/core/java/android/provider/BrowserContract.java +++ b/core/java/android/provider/BrowserContract.java @@ -17,6 +17,7 @@ package android.provider; import android.accounts.Account; +import android.annotation.UnsupportedAppUsage; import android.content.ContentProviderClient; import android.content.ContentProviderOperation; import android.content.ContentResolver; @@ -46,6 +47,7 @@ public class BrowserContract { public static final String AUTHORITY = "com.android.browser"; /** A content:// style uri to the authority for the browser provider */ + @UnsupportedAppUsage public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY); /** @@ -251,6 +253,7 @@ public class BrowserContract { /** * The content:// style URI for this table */ + @UnsupportedAppUsage public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "bookmarks"); /** @@ -300,6 +303,7 @@ public class BrowserContract { * The content:// style URI for the default folder * @hide */ + @UnsupportedAppUsage public static final Uri CONTENT_URI_DEFAULT_FOLDER = Uri.withAppendedPath(CONTENT_URI, "folder"); @@ -320,6 +324,7 @@ public class BrowserContract { * @param folderId the ID of the folder to point to * @hide */ + @UnsupportedAppUsage public static final Uri buildFolderUri(long folderId) { return ContentUris.withAppendedId(CONTENT_URI_DEFAULT_FOLDER, folderId); } @@ -407,6 +412,7 @@ public class BrowserContract { /** * Directory under {@link Bookmarks#CONTENT_URI} */ + @UnsupportedAppUsage public static final Uri CONTENT_URI = AUTHORITY_URI.buildUpon().appendPath("accounts").build(); @@ -444,6 +450,7 @@ public class BrowserContract { /** * The content:// style URI for this table */ + @UnsupportedAppUsage public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "history"); /** @@ -573,6 +580,7 @@ public class BrowserContract { /** * The content:// style URI for this table */ + @UnsupportedAppUsage public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "images"); /** @@ -673,6 +681,7 @@ public class BrowserContract { /** * The content:// style URI for this table */ + @UnsupportedAppUsage public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "combined"); /** diff --git a/core/java/android/provider/CalendarContract.java b/core/java/android/provider/CalendarContract.java index d9ce57af8c01..a8f3665072ae 100644 --- a/core/java/android/provider/CalendarContract.java +++ b/core/java/android/provider/CalendarContract.java @@ -19,6 +19,7 @@ package android.provider; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.UnsupportedAppUsage; import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; @@ -1664,6 +1665,7 @@ public final class CalendarContract { * * @hide */ + @UnsupportedAppUsage public static String[] PROVIDER_WRITABLE_COLUMNS = new String[] { ACCOUNT_NAME, ACCOUNT_TYPE, @@ -2288,6 +2290,7 @@ public final class CalendarContract { * if no such alarm exists. * @hide */ + @UnsupportedAppUsage public static final long findNextAlarmTime(ContentResolver cr, long millis) { String selection = ALARM_TIME + ">=" + millis; // TODO: construct an explicit SQL query so that we can add @@ -2321,6 +2324,7 @@ public final class CalendarContract { * @param manager the AlarmManager * @hide */ + @UnsupportedAppUsage public static final void rescheduleMissedAlarms(ContentResolver cr, Context context, AlarmManager manager) { // Get all the alerts that have been scheduled but have not fired @@ -2377,6 +2381,7 @@ public final class CalendarContract { * epoch * @hide */ + @UnsupportedAppUsage public static void scheduleAlarm(Context context, AlarmManager manager, long alarmTime) { if (DEBUG) { Time time = new Time(); diff --git a/core/java/android/provider/CallLog.java b/core/java/android/provider/CallLog.java index 70de09ebe85f..bc72c4e38411 100644 --- a/core/java/android/provider/CallLog.java +++ b/core/java/android/provider/CallLog.java @@ -17,6 +17,7 @@ package android.provider; +import android.annotation.UnsupportedAppUsage; import android.content.ContentProvider; import android.content.ContentResolver; import android.content.ContentValues; @@ -609,6 +610,7 @@ public class CallLog { * as they don't have permissions. * {@hide} */ + @UnsupportedAppUsage public static Uri addCall(CallerInfo ci, Context context, String number, String postDialDigits, String viaNumber, int presentation, int callType, int features, PhoneAccountHandle accountHandle, long start, int duration, diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index c94da9a12cad..61be7f785bb8 100644 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -20,6 +20,7 @@ import android.accounts.Account; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.ComponentName; @@ -1531,6 +1532,7 @@ public final class ContactsContract { * * @hide */ + @UnsupportedAppUsage public static final Uri CORP_CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "contacts_corp"); @@ -2023,6 +2025,7 @@ public final class ContactsContract { /** * @hide */ + @UnsupportedAppUsage public static final Builder builder() { return new Builder(); } @@ -6142,6 +6145,7 @@ public final class ContactsContract { * @hide */ @Deprecated + @UnsupportedAppUsage public static final CharSequence getDisplayLabel(Context context, int type, CharSequence label) { return getTypeLabel(context.getResources(), type, label); @@ -8519,6 +8523,7 @@ public final class ContactsContract { * Constructs the QuickContacts intent. * @hide */ + @UnsupportedAppUsage public static Intent composeQuickContactsIntent(Context context, Rect target, Uri lookupUri, int mode, String[] excludeMimes) { // When launching from an Activiy, we don't want to start a new task, but otherwise diff --git a/core/java/android/provider/ContactsInternal.java b/core/java/android/provider/ContactsInternal.java index 362eba93aaba..69c4b9b9abf2 100644 --- a/core/java/android/provider/ContactsInternal.java +++ b/core/java/android/provider/ContactsInternal.java @@ -15,6 +15,7 @@ */ package android.provider; +import android.annotation.UnsupportedAppUsage; import android.app.admin.DevicePolicyManager; import android.content.ActivityNotFoundException; import android.content.ContentUris; @@ -54,6 +55,7 @@ public class ContactsInternal { /** * Called by {@link ContactsContract} to star Quick Contact, possibly on the managed profile. */ + @UnsupportedAppUsage public static void startQuickContactWithErrorToast(Context context, Intent intent) { final Uri uri = intent.getData(); diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java index d96316a8e2d6..2b40c12a3a89 100644 --- a/core/java/android/provider/DocumentsContract.java +++ b/core/java/android/provider/DocumentsContract.java @@ -23,6 +23,7 @@ import static com.android.internal.util.Preconditions.checkCollectionElementsNot import static com.android.internal.util.Preconditions.checkCollectionNotEmpty; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.ContentProviderClient; import android.content.ContentResolver; import android.content.Context; @@ -637,6 +638,7 @@ public final class DocumentsContract { * @see #COLUMN_FLAGS * @hide */ + @UnsupportedAppUsage public static final int FLAG_ADVANCED = 1 << 17; /** @@ -700,6 +702,7 @@ public final class DocumentsContract { public static final String EXTRA_RESULT = "result"; /** {@hide} */ + @UnsupportedAppUsage public static final String METHOD_CREATE_DOCUMENT = "android:createDocument"; /** {@hide} */ public static final String METHOD_RENAME_DOCUMENT = "android:renameDocument"; @@ -735,11 +738,13 @@ public final class DocumentsContract { private static final String PATH_ROOT = "root"; private static final String PATH_RECENT = "recent"; + @UnsupportedAppUsage private static final String PATH_DOCUMENT = "document"; private static final String PATH_CHILDREN = "children"; private static final String PATH_SEARCH = "search"; // TODO(b/72055774): make private again once ScopedAccessProvider is refactored /** {@hide} */ + @UnsupportedAppUsage public static final String PATH_TREE = "tree"; private static final String PARAM_QUERY = "query"; @@ -1023,6 +1028,7 @@ public final class DocumentsContract { } /** {@hide} */ + @UnsupportedAppUsage public static Uri setManageMode(Uri uri) { return uri.buildUpon().appendQueryParameter(PARAM_MANAGE, "true").build(); } @@ -1066,6 +1072,7 @@ public final class DocumentsContract { } /** {@hide} */ + @UnsupportedAppUsage public static Bitmap getDocumentThumbnail( ContentProviderClient client, Uri documentUri, Point size, CancellationSignal signal) throws RemoteException, IOException { @@ -1321,6 +1328,7 @@ public final class DocumentsContract { } /** {@hide} */ + @UnsupportedAppUsage public static Uri moveDocument(ContentProviderClient client, Uri sourceDocumentUri, Uri sourceParentDocumentUri, Uri targetParentDocumentUri) throws RemoteException { final Bundle in = new Bundle(); diff --git a/core/java/android/provider/Downloads.java b/core/java/android/provider/Downloads.java index a2c5a92e52a2..e5fd29cc09b1 100644 --- a/core/java/android/provider/Downloads.java +++ b/core/java/android/provider/Downloads.java @@ -16,6 +16,7 @@ package android.provider; +import android.annotation.UnsupportedAppUsage; import android.app.DownloadManager; import android.content.Context; import android.net.NetworkPolicyManager; @@ -88,6 +89,7 @@ public final class Downloads { /** * The content:// URI to access downloads owned by the caller's UID. */ + @UnsupportedAppUsage public static final Uri CONTENT_URI = Uri.parse("content://downloads/my_downloads"); @@ -95,6 +97,7 @@ public final class Downloads { * The content URI for accessing all downloads across all UIDs (requires the * ACCESS_ALL_DOWNLOADS permission). */ + @UnsupportedAppUsage public static final Uri ALL_DOWNLOADS_CONTENT_URI = Uri.parse("content://downloads/all_downloads"); @@ -105,6 +108,7 @@ public final class Downloads { * The content URI for accessing publicly accessible downloads (i.e., it requires no * permissions to access this downloaded file) */ + @UnsupportedAppUsage public static final Uri PUBLICLY_ACCESSIBLE_DOWNLOADS_URI = Uri.parse("content://downloads/" + PUBLICLY_ACCESSIBLE_DOWNLOADS_URI_SEGMENT); @@ -134,6 +138,7 @@ public final class Downloads { * <P>Type: TEXT</P> * <P>Owner can Init/Read</P> */ + @UnsupportedAppUsage public static final String COLUMN_URI = "uri"; /** @@ -163,6 +168,7 @@ public final class Downloads { * <P>Type: TEXT</P> * <P>Owner can Init</P> */ + @UnsupportedAppUsage public static final String COLUMN_FILE_NAME_HINT = "hint"; /** @@ -178,6 +184,7 @@ public final class Downloads { * <P>Type: TEXT</P> * <P>Owner can Init/Read</P> */ + @UnsupportedAppUsage public static final String COLUMN_MIME_TYPE = "mimetype"; /** @@ -186,6 +193,7 @@ public final class Downloads { * <P>Type: INTEGER</P> * <P>Owner can Init</P> */ + @UnsupportedAppUsage public static final String COLUMN_DESTINATION = "destination"; /** @@ -195,6 +203,7 @@ public final class Downloads { * <P>Type: INTEGER</P> * <P>Owner can Init/Read/Write</P> */ + @UnsupportedAppUsage public static final String COLUMN_VISIBILITY = "visibility"; /** @@ -231,6 +240,7 @@ public final class Downloads { * <P>Type: TEXT</P> * <P>Owner can Init/Read</P> */ + @UnsupportedAppUsage public static final String COLUMN_NOTIFICATION_PACKAGE = "notificationpackage"; /** @@ -241,6 +251,7 @@ public final class Downloads { * <P>Type: TEXT</P> * <P>Owner can Init/Read</P> */ + @UnsupportedAppUsage public static final String COLUMN_NOTIFICATION_CLASS = "notificationclass"; /** @@ -249,6 +260,7 @@ public final class Downloads { * <P>Type: TEXT</P> * <P>Owner can Init</P> */ + @UnsupportedAppUsage public static final String COLUMN_NOTIFICATION_EXTRAS = "notificationextras"; /** @@ -258,6 +270,7 @@ public final class Downloads { * <P>Type: TEXT</P> * <P>Owner can Init</P> */ + @UnsupportedAppUsage public static final String COLUMN_COOKIE_DATA = "cookiedata"; /** @@ -274,6 +287,7 @@ public final class Downloads { * <P>Type: TEXT</P> * <P>Owner can Init</P> */ + @UnsupportedAppUsage public static final String COLUMN_REFERER = "referer"; /** @@ -311,6 +325,7 @@ public final class Downloads { * <P>Type: TEXT</P> * <P>Owner can Init/Read/Write</P> */ + @UnsupportedAppUsage public static final String COLUMN_TITLE = "title"; /** @@ -320,6 +335,7 @@ public final class Downloads { * <P>Type: TEXT</P> * <P>Owner can Init/Read/Write</P> */ + @UnsupportedAppUsage public static final String COLUMN_DESCRIPTION = "description"; /** @@ -328,6 +344,7 @@ public final class Downloads { * <P>Type: BOOLEAN</P> * <P>Owner can Init/Read</P> */ + @UnsupportedAppUsage public static final String COLUMN_IS_PUBLIC_API = "is_public_api"; /** @@ -336,6 +353,7 @@ public final class Downloads { * <P>Type: INTEGER</P> * <P>Owner can Init/Read</P> */ + @UnsupportedAppUsage public static final String COLUMN_ALLOWED_NETWORK_TYPES = "allowed_network_types"; /** @@ -344,6 +362,7 @@ public final class Downloads { * <P>Type: BOOLEAN</P> * <P>Owner can Init/Read</P> */ + @UnsupportedAppUsage public static final String COLUMN_ALLOW_ROAMING = "allow_roaming"; /** @@ -360,6 +379,7 @@ public final class Downloads { * <P>Type: INTEGER</P> * <P>Owner can Init/Read</P> */ + @UnsupportedAppUsage public static final String COLUMN_IS_VISIBLE_IN_DOWNLOADS_UI = "is_visible_in_downloads_ui"; /** @@ -376,6 +396,7 @@ public final class Downloads { * <P>Type: BOOLEAN</P> * <P>Owner can Read</P> */ + @UnsupportedAppUsage public static final String COLUMN_DELETED = "deleted"; /** @@ -392,6 +413,7 @@ public final class Downloads { * It can take the values: null or 0(not scanned), 1(scanned), 2 (not scannable). * <P>Type: TEXT</P> */ + @UnsupportedAppUsage public static final String COLUMN_MEDIA_SCANNED = "scanned"; /** @@ -465,6 +487,7 @@ public final class Downloads { * immediately after they are used, and are kept around by the download * manager as long as space is available. */ + @UnsupportedAppUsage public static final int DESTINATION_CACHE_PARTITION_PURGEABLE = 2; /** @@ -478,6 +501,7 @@ public final class Downloads { * This download will be saved to the location given by the file URI in * {@link #COLUMN_FILE_NAME_HINT}. */ + @UnsupportedAppUsage public static final int DESTINATION_FILE_URI = 4; /** @@ -525,6 +549,7 @@ public final class Downloads { /** * Returns whether the status is a success (i.e. 2xx). */ + @UnsupportedAppUsage public static boolean isStatusSuccess(int status) { return (status >= 200 && status < 300); } @@ -532,6 +557,7 @@ public final class Downloads { /** * Returns whether the status is an error (i.e. 4xx or 5xx). */ + @UnsupportedAppUsage public static boolean isStatusError(int status) { return (status >= 400 && status < 600); } @@ -556,6 +582,7 @@ public final class Downloads { * @param visibility the value of {@link #COLUMN_VISIBILITY}. * @return true if the notification should be displayed. false otherwise. */ + @UnsupportedAppUsage public static boolean isNotificationToBeDisplayed(int visibility) { return visibility == DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED || visibility == DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION; @@ -565,6 +592,7 @@ public final class Downloads { * Returns whether the download has completed (either with success or * error). */ + @UnsupportedAppUsage public static boolean isStatusCompleted(int status) { return (status >= 200 && status < 300) || (status >= 400 && status < 600); } @@ -795,6 +823,7 @@ public final class Downloads { * Prefix for ContentValues keys that contain HTTP header lines, to be passed to * DownloadProvider.insert(). */ + @UnsupportedAppUsage public static final String INSERT_KEY_PREFIX = "http_header_"; } } diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java index 1da6602d6983..149f2b40add5 100644 --- a/core/java/android/provider/MediaStore.java +++ b/core/java/android/provider/MediaStore.java @@ -18,6 +18,7 @@ package android.provider; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.UnsupportedAppUsage; import android.content.ContentProviderClient; import android.content.ContentResolver; import android.content.ContentUris; @@ -455,6 +456,7 @@ public final class MediaStore { * <P>Type: INTEGER (boolean)</P> * @hide */ + @UnsupportedAppUsage public static final String IS_DRM = "is_drm"; /** @@ -506,6 +508,7 @@ public final class MediaStore { * For use only by the MTP implementation. * @hide */ + @UnsupportedAppUsage public static Uri getMtpObjectsUri(String volumeName) { return Uri.parse(CONTENT_AUTHORITY_SLASH + volumeName + "/object"); @@ -515,6 +518,7 @@ public final class MediaStore { * For use only by the MTP implementation. * @hide */ + @UnsupportedAppUsage public static final Uri getMtpObjectsUri(String volumeName, long fileId) { return Uri.parse(CONTENT_AUTHORITY_SLASH + volumeName @@ -525,6 +529,7 @@ public final class MediaStore { * Used to implement the MTP GetObjectReferences and SetObjectReferences commands. * @hide */ + @UnsupportedAppUsage public static final Uri getMtpReferencesUri(String volumeName, long fileId) { return Uri.parse(CONTENT_AUTHORITY_SLASH + volumeName @@ -549,6 +554,7 @@ public final class MediaStore { * <P>Type: INTEGER</P> * @hide */ + @UnsupportedAppUsage public static final String STORAGE_ID = "storage_id"; /** @@ -556,6 +562,7 @@ public final class MediaStore { * <P>Type: INTEGER</P> * @hide */ + @UnsupportedAppUsage public static final String FORMAT = "format"; /** diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index a272293b42e7..88d09af6e511 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -37,6 +37,7 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.annotation.UserIdInt; import android.app.ActivityThread; import android.app.AppOpsManager; @@ -374,6 +375,7 @@ public final class Settings { * @hide */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) + @UnsupportedAppUsage public static final String ACTION_TRUSTED_CREDENTIALS_USER = "com.android.settings.TRUSTED_CREDENTIALS_USER"; @@ -684,6 +686,7 @@ public final class Settings { * @hide */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) + @UnsupportedAppUsage public static final String ACTION_USER_DICTIONARY_INSERT = "com.android.settings.USER_DICTIONARY_INSERT"; @@ -1451,7 +1454,9 @@ public final class Settings { public static final String ACTION_APP_NOTIFICATION_REDACTION = "android.settings.ACTION_APP_NOTIFICATION_REDACTION"; - /** @hide */ public static final String EXTRA_APP_UID = "app_uid"; + /** @hide */ + @UnsupportedAppUsage + public static final String EXTRA_APP_UID = "app_uid"; /** * Activity Action: Show a dialog with disabled by policy message. @@ -1951,6 +1956,7 @@ public final class Settings { @GuardedBy("mLock") private final Uri mUri; @GuardedBy("mLock") + @UnsupportedAppUsage private IContentProvider mContentProvider; public ContentProviderHolder(Uri uri) { @@ -1988,6 +1994,7 @@ public final class Settings { private final HashMap<String, String> mValues = new HashMap<>(); private final Uri mUri; + @UnsupportedAppUsage private final ContentProviderHolder mProviderHolder; // The method we'll call (or null, to not use) on the provider @@ -2027,6 +2034,7 @@ public final class Settings { return true; } + @UnsupportedAppUsage public String getStringForUser(ContentResolver cr, String name, final int userHandle) { final boolean isSelf = (userHandle == UserHandle.myUserId()); int currentGeneration = -1; @@ -2244,15 +2252,18 @@ public final class Settings { public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/system"); + @UnsupportedAppUsage private static final ContentProviderHolder sProviderHolder = new ContentProviderHolder(CONTENT_URI); + @UnsupportedAppUsage private static final NameValueCache sNameValueCache = new NameValueCache( CONTENT_URI, CALL_METHOD_GET_SYSTEM, CALL_METHOD_PUT_SYSTEM, sProviderHolder); + @UnsupportedAppUsage private static final HashSet<String> MOVED_TO_SECURE; static { MOVED_TO_SECURE = new HashSet<>(30); @@ -2289,7 +2300,9 @@ public final class Settings { MOVED_TO_SECURE.add(Secure.INSTALL_NON_MARKET_APPS); } + @UnsupportedAppUsage private static final HashSet<String> MOVED_TO_GLOBAL; + @UnsupportedAppUsage private static final HashSet<String> MOVED_TO_SECURE_THEN_GLOBAL; static { MOVED_TO_GLOBAL = new HashSet<>(); @@ -2375,6 +2388,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static String getStringForUser(ContentResolver resolver, String name, int userHandle) { if (MOVED_TO_SECURE.contains(name)) { @@ -2402,6 +2416,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static boolean putStringForUser(ContentResolver resolver, String name, String value, int userHandle) { if (MOVED_TO_SECURE.contains(name)) { @@ -2456,6 +2471,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static int getIntForUser(ContentResolver cr, String name, int def, int userHandle) { String v = getStringForUser(cr, name, userHandle); try { @@ -2489,6 +2505,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static int getIntForUser(ContentResolver cr, String name, int userHandle) throws SettingNotFoundException { String v = getStringForUser(cr, name, userHandle); @@ -2517,6 +2534,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static boolean putIntForUser(ContentResolver cr, String name, int value, int userHandle) { return putStringForUser(cr, name, Integer.toString(value), userHandle); @@ -2935,6 +2953,7 @@ public final class Settings { * {@hide} */ @Deprecated + @UnsupportedAppUsage public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS; @@ -3214,6 +3233,7 @@ public final class Settings { * or less (<0.0 >-1.0) bright. * @hide */ + @UnsupportedAppUsage public static final String SCREEN_AUTO_BRIGHTNESS_ADJ = "screen_auto_brightness_adj"; private static final Validator SCREEN_AUTO_BRIGHTNESS_ADJ_VALIDATOR = @@ -3404,6 +3424,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String MASTER_MONO = "master_mono"; private static final Validator MASTER_MONO_VALIDATOR = BOOLEAN_VALIDATOR; @@ -3440,6 +3461,7 @@ public final class Settings { * Kept for use by legacy database upgrade code in DatabaseHelper. * @hide */ + @UnsupportedAppUsage public static final String VIBRATE_IN_SILENT = "vibrate_in_silent"; private static final Validator VIBRATE_IN_SILENT_VALIDATOR = BOOLEAN_VALIDATOR; @@ -3742,6 +3764,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY = "hide_rotation_lock_toggle_for_accessibility"; @@ -3797,6 +3820,7 @@ public final class Settings { * boolean (1 or 0). * @hide */ + @UnsupportedAppUsage public static final String HEARING_AID = "hearing_aid"; /** @hide */ @@ -3811,6 +3835,7 @@ public final class Settings { * 3 = HCO * @hide */ + @UnsupportedAppUsage public static final String TTY_MODE = "tty_mode"; /** @hide */ @@ -3850,6 +3875,7 @@ public final class Settings { * pending. The value is boolean (1 or 0). * @hide */ + @UnsupportedAppUsage public static final String NOTIFICATION_LIGHT_PULSE = "notification_light_pulse"; /** @hide */ @@ -3861,6 +3887,7 @@ public final class Settings { * 1 = yes * @hide */ + @UnsupportedAppUsage public static final String POINTER_LOCATION = "pointer_location"; /** @hide */ @@ -3872,6 +3899,7 @@ public final class Settings { * 1 = yes * @hide */ + @UnsupportedAppUsage public static final String SHOW_TOUCHES = "show_touches"; /** @hide */ @@ -3907,6 +3935,7 @@ public final class Settings { * @hide */ @Deprecated + @UnsupportedAppUsage public static final String DOCK_SOUNDS_ENABLED = Global.DOCK_SOUNDS_ENABLED; private static final Validator DOCK_SOUNDS_ENABLED_VALIDATOR = BOOLEAN_VALIDATOR; @@ -3915,6 +3944,7 @@ public final class Settings { * Whether to play sounds when the keyguard is shown and dismissed. * @hide */ + @UnsupportedAppUsage public static final String LOCKSCREEN_SOUNDS_ENABLED = "lockscreen_sounds_enabled"; /** @hide */ @@ -3943,6 +3973,7 @@ public final class Settings { * @hide */ @Deprecated + @UnsupportedAppUsage public static final String DESK_DOCK_SOUND = Global.DESK_DOCK_SOUND; /** @@ -3951,6 +3982,7 @@ public final class Settings { * @hide */ @Deprecated + @UnsupportedAppUsage public static final String DESK_UNDOCK_SOUND = Global.DESK_UNDOCK_SOUND; /** @@ -3959,6 +3991,7 @@ public final class Settings { * @hide */ @Deprecated + @UnsupportedAppUsage public static final String CAR_DOCK_SOUND = Global.CAR_DOCK_SOUND; /** @@ -3967,6 +4000,7 @@ public final class Settings { * @hide */ @Deprecated + @UnsupportedAppUsage public static final String CAR_UNDOCK_SOUND = Global.CAR_UNDOCK_SOUND; /** @@ -3975,6 +4009,7 @@ public final class Settings { * @hide */ @Deprecated + @UnsupportedAppUsage public static final String LOCK_SOUND = Global.LOCK_SOUND; /** @@ -3983,6 +4018,7 @@ public final class Settings { * @hide */ @Deprecated + @UnsupportedAppUsage public static final String UNLOCK_SOUND = Global.UNLOCK_SOUND; /** @@ -4048,6 +4084,7 @@ public final class Settings { * +7 = fastest * @hide */ + @UnsupportedAppUsage public static final String POINTER_SPEED = "pointer_speed"; /** @hide */ @@ -4112,6 +4149,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String[] SETTINGS_TO_BACKUP = { STAY_ON_WHILE_PLUGGED_IN, // moved to global WIFI_USE_STATIC_IP, @@ -4180,6 +4218,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final Set<String> PUBLIC_SETTINGS = new ArraySet<>(); static { PUBLIC_SETTINGS.add(END_BUTTON_BEHAVIOR); @@ -4234,6 +4273,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final Set<String> PRIVATE_SETTINGS = new ArraySet<>(); static { PRIVATE_SETTINGS.add(WIFI_USE_STATIC_IP); @@ -4285,6 +4325,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final Map<String, Validator> VALIDATORS = new ArrayMap<>(); static { VALIDATORS.put(STAY_ON_WHILE_PLUGGED_IN, STAY_ON_WHILE_PLUGGED_IN_VALIDATOR); @@ -4369,6 +4410,7 @@ public final class Settings { * These entries are considered common between the personal and the managed profile, * since the managed profile doesn't get to change them. */ + @UnsupportedAppUsage private static final Set<String> CLONE_TO_MANAGED_PROFILE = new ArraySet<>(); static { CLONE_TO_MANAGED_PROFILE.add(DATE_FORMAT); @@ -4707,10 +4749,12 @@ public final class Settings { public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/secure"); + @UnsupportedAppUsage private static final ContentProviderHolder sProviderHolder = new ContentProviderHolder(CONTENT_URI); // Populated lazily, guarded by class object: + @UnsupportedAppUsage private static final NameValueCache sNameValueCache = new NameValueCache( CONTENT_URI, CALL_METHOD_GET_SECURE, @@ -4720,7 +4764,9 @@ public final class Settings { private static ILockSettings sLockSettings = null; private static boolean sIsSystemProcess; + @UnsupportedAppUsage private static final HashSet<String> MOVED_TO_LOCK_SETTINGS; + @UnsupportedAppUsage private static final HashSet<String> MOVED_TO_GLOBAL; static { MOVED_TO_LOCK_SETTINGS = new HashSet<>(3); @@ -4864,6 +4910,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static String getStringForUser(ContentResolver resolver, String name, int userHandle) { if (MOVED_TO_GLOBAL.contains(name)) { @@ -4918,12 +4965,14 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static boolean putStringForUser(ContentResolver resolver, String name, String value, int userHandle) { return putStringForUser(resolver, name, value, null, false, userHandle); } /** @hide */ + @UnsupportedAppUsage public static boolean putStringForUser(@NonNull ContentResolver resolver, @NonNull String name, @Nullable String value, @Nullable String tag, boolean makeDefault, @UserIdInt int userHandle) { @@ -5079,6 +5128,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static int getIntForUser(ContentResolver cr, String name, int def, int userHandle) { if (LOCATION_MODE.equals(name)) { // Map from to underlying location provider storage API to location mode @@ -5148,6 +5198,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static boolean putIntForUser(ContentResolver cr, String name, int value, int userHandle) { return putStringForUser(cr, name, Integer.toString(value), userHandle); @@ -5172,6 +5223,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static long getLongForUser(ContentResolver cr, String name, long def, int userHandle) { String valString = getStringForUser(cr, name, userHandle); @@ -5235,6 +5287,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static boolean putLongForUser(ContentResolver cr, String name, long value, int userHandle) { return putStringForUser(cr, name, Long.toString(value), userHandle); @@ -5788,6 +5841,7 @@ public final class Settings { * subject to current DeviceAdmin policy limits. * @hide */ + @UnsupportedAppUsage public static final String LOCK_SCREEN_LOCK_AFTER_TIMEOUT = "lock_screen_lock_after_timeout"; @@ -5829,6 +5883,7 @@ public final class Settings { * @deprecated */ @Deprecated + @UnsupportedAppUsage public static final String LOCK_SCREEN_OWNER_INFO_ENABLED = "lock_screen_owner_info_enabled"; @@ -5837,6 +5892,7 @@ public final class Settings { * in their full "private" form (same as when the device is unlocked). * @hide */ + @UnsupportedAppUsage public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications"; @@ -6270,6 +6326,7 @@ public final class Settings { * @see android.graphics.Typeface * @hide */ + @UnsupportedAppUsage public static final String ACCESSIBILITY_CAPTIONING_TYPEFACE = "accessibility_captioning_typeface"; @@ -6303,6 +6360,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED = "accessibility_display_daltonizer_enabled"; @@ -6321,6 +6379,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String ACCESSIBILITY_DISPLAY_DALTONIZER = "accessibility_display_daltonizer"; @@ -6334,6 +6393,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String ACCESSIBILITY_AUTOCLICK_ENABLED = "accessibility_autoclick_enabled"; @@ -6359,6 +6419,7 @@ public final class Settings { * (0 = false, 1 = true) * @hide */ + @UnsupportedAppUsage public static final String ACCESSIBILITY_LARGE_POINTER_ICON = "accessibility_large_pointer_icon"; @@ -6369,6 +6430,7 @@ public final class Settings { * The timeout for considering a press to be a long press in milliseconds. * @hide */ + @UnsupportedAppUsage public static final String LONG_PRESS_TIMEOUT = "long_press_timeout"; private static final Validator LONG_PRESS_TIMEOUT_VALIDATOR = @@ -6389,6 +6451,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String ENABLED_PRINT_SERVICES = "enabled_print_services"; @@ -6747,6 +6810,7 @@ public final class Settings { * Type: int ( 0 = disabled, 1 = enabled ) * @hide */ + @UnsupportedAppUsage public static final String BACKUP_ENABLED = "backup_enabled"; /** @@ -6755,6 +6819,7 @@ public final class Settings { * Type: int ( 0 = disabled, 1 = enabled ) * @hide */ + @UnsupportedAppUsage public static final String BACKUP_AUTO_RESTORE = "backup_auto_restore"; /** @@ -6762,12 +6827,14 @@ public final class Settings { * Type: int ( 0 = unprovisioned, 1 = fully provisioned ) * @hide */ + @UnsupportedAppUsage public static final String BACKUP_PROVISIONED = "backup_provisioned"; /** * Component of the transport to use for backup/restore. * @hide */ + @UnsupportedAppUsage public static final String BACKUP_TRANSPORT = "backup_transport"; /** @@ -6945,6 +7012,7 @@ public final class Settings { * Also prevents ANRs and crash dialogs from being suppressed. * @hide */ + @UnsupportedAppUsage public static final String ANR_SHOW_BACKGROUND = "anr_show_background"; /** @@ -6964,6 +7032,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String VOICE_RECOGNITION_SERVICE = "voice_recognition_service"; /** @@ -6972,6 +7041,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String PACKAGE_VERIFIER_USER_CONSENT = "package_verifier_user_consent"; @@ -6981,6 +7051,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String SELECTED_SPELL_CHECKER = "selected_spell_checker"; private static final Validator SELECTED_SPELL_CHECKER_VALIDATOR = COMPONENT_NAME_VALIDATOR; @@ -6991,6 +7062,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String SELECTED_SPELL_CHECKER_SUBTYPE = "selected_spell_checker_subtype"; @@ -7015,6 +7087,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String INCALL_POWER_BUTTON_BEHAVIOR = "incall_power_button_behavior"; private static final Validator INCALL_POWER_BUTTON_BEHAVIOR_VALIDATOR = @@ -7081,6 +7154,7 @@ public final class Settings { * Whether the device should doze if configured. * @hide */ + @UnsupportedAppUsage public static final String DOZE_ENABLED = "doze_enabled"; private static final Validator DOZE_ENABLED_VALIDATOR = BOOLEAN_VALIDATOR; @@ -7198,6 +7272,7 @@ public final class Settings { * The default NFC payment component * @hide */ + @UnsupportedAppUsage public static final String NFC_PAYMENT_DEFAULT_COMPONENT = "nfc_payment_default_component"; private static final Validator NFC_PAYMENT_DEFAULT_COMPONENT_VALIDATOR = @@ -7213,12 +7288,14 @@ public final class Settings { * Specifies the package name currently configured to be the primary sms application * @hide */ + @UnsupportedAppUsage public static final String SMS_DEFAULT_APPLICATION = "sms_default_application"; /** * Specifies the package name currently configured to be the default dialer application * @hide */ + @UnsupportedAppUsage public static final String DIALER_DEFAULT_APPLICATION = "dialer_default_application"; /** @@ -7320,6 +7397,7 @@ public final class Settings { * {@link NotificationManager#isNotificationAssistantAccessGranted(ComponentName)}. */ @Deprecated + @UnsupportedAppUsage public static final String ENABLED_NOTIFICATION_LISTENERS = "enabled_notification_listeners"; private static final Validator ENABLED_NOTIFICATION_LISTENERS_VALIDATOR = @@ -7356,6 +7434,7 @@ public final class Settings { private static final Validator SYNC_PARENT_SOUNDS_VALIDATOR = BOOLEAN_VALIDATOR; /** @hide */ + @UnsupportedAppUsage public static final String IMMERSIVE_MODE_CONFIRMATIONS = "immersive_mode_confirmations"; /** @@ -7398,6 +7477,7 @@ public final class Settings { * This preference enables notification display on the lockscreen. * @hide */ + @UnsupportedAppUsage public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications"; @@ -7459,6 +7539,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String ASSISTANT = "assistant"; /** @@ -7948,6 +8029,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String[] SETTINGS_TO_BACKUP = { BUGREPORT_IN_POWER_MENU, // moved to global ALLOW_MOCK_LOCATION, @@ -8455,6 +8537,7 @@ public final class Settings { * @hide * No longer used. Should be removed once all dependencies have been updated. */ + @UnsupportedAppUsage public static final String ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED = "enable_accessibility_global_gesture_enabled"; @@ -9033,6 +9116,7 @@ public final class Settings { * ConnectivityManager for more info. * @hide */ + @UnsupportedAppUsage public static final String MOBILE_DATA = "mobile_data"; /** @@ -9119,6 +9203,7 @@ public final class Settings { * scorer app, external network scores will neither be requested nor accepted. * @hide */ + @UnsupportedAppUsage public static final String NETWORK_SCORER_APP = "network_scorer_app"; /** @@ -9196,6 +9281,7 @@ public final class Settings { * 0 = do not verify apps before installation * @hide */ + @UnsupportedAppUsage public static final String PACKAGE_VERIFIER_ENABLE = "package_verifier_enable"; /** Timeout for package verification. @@ -9435,6 +9521,7 @@ public final class Settings { * by the system). * @hide */ + @UnsupportedAppUsage public static final String WEBVIEW_PROVIDER = "webview_provider"; /** @@ -9812,6 +9899,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String WIFI_SAVED_STATE = "wifi_saved_state"; /** @@ -9852,6 +9940,7 @@ public final class Settings { * the setting needs to be set to 0 to disable it. * @hide */ + @UnsupportedAppUsage public static final String WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED = "wifi_watchdog_poor_network_test_enabled"; @@ -11251,6 +11340,7 @@ public final class Settings { * See RIL_PreferredNetworkType in ril.h * @hide */ + @UnsupportedAppUsage public static final String PREFERRED_NETWORK_MODE = "preferred_network_mode"; @@ -11632,12 +11722,21 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String ZEN_MODE = "zen_mode"; - /** @hide */ public static final int ZEN_MODE_OFF = 0; - /** @hide */ public static final int ZEN_MODE_IMPORTANT_INTERRUPTIONS = 1; - /** @hide */ public static final int ZEN_MODE_NO_INTERRUPTIONS = 2; - /** @hide */ public static final int ZEN_MODE_ALARMS = 3; + /** @hide */ + @UnsupportedAppUsage + public static final int ZEN_MODE_OFF = 0; + /** @hide */ + @UnsupportedAppUsage + public static final int ZEN_MODE_IMPORTANT_INTERRUPTIONS = 1; + /** @hide */ + @UnsupportedAppUsage + public static final int ZEN_MODE_NO_INTERRUPTIONS = 2; + /** @hide */ + @UnsupportedAppUsage + public static final int ZEN_MODE_ALARMS = 3; /** @hide */ public static String zenModeToString(int mode) { if (mode == ZEN_MODE_IMPORTANT_INTERRUPTIONS) return "ZEN_MODE_IMPORTANT_INTERRUPTIONS"; @@ -11670,6 +11769,7 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String ZEN_MODE_CONFIG_ETAG = "zen_mode_config_etag"; /** @@ -11691,11 +11791,16 @@ public final class Settings { * * @hide */ + @UnsupportedAppUsage public static final String HEADS_UP_NOTIFICATIONS_ENABLED = "heads_up_notifications_enabled"; - /** @hide */ public static final int HEADS_UP_OFF = 0; - /** @hide */ public static final int HEADS_UP_ON = 1; + /** @hide */ + @UnsupportedAppUsage + public static final int HEADS_UP_OFF = 0; + /** @hide */ + @UnsupportedAppUsage + public static final int HEADS_UP_ON = 1; /** * The name of the device @@ -11717,6 +11822,7 @@ public final class Settings { * Type: int (0 for false, 1 for true) * @hide */ + @UnsupportedAppUsage public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt"; /** @@ -12188,10 +12294,12 @@ public final class Settings { public static final String[] LEGACY_RESTORE_SETTINGS = { }; + @UnsupportedAppUsage private static final ContentProviderHolder sProviderHolder = new ContentProviderHolder(CONTENT_URI); // Populated lazily, guarded by class object: + @UnsupportedAppUsage private static final NameValueCache sNameValueCache = new NameValueCache( CONTENT_URI, CALL_METHOD_GET_GLOBAL, @@ -12199,6 +12307,7 @@ public final class Settings { sProviderHolder); // Certain settings have been moved from global to the per-user secure namespace + @UnsupportedAppUsage private static final HashSet<String> MOVED_TO_SECURE; static { MOVED_TO_SECURE = new HashSet<>(1); @@ -12227,6 +12336,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static String getStringForUser(ContentResolver resolver, String name, int userHandle) { if (MOVED_TO_SECURE.contains(name)) { @@ -12353,6 +12463,7 @@ public final class Settings { } /** @hide */ + @UnsupportedAppUsage public static boolean putStringForUser(ContentResolver resolver, String name, String value, int userHandle) { return putStringForUser(resolver, name, value, null, false, userHandle); @@ -12607,6 +12718,7 @@ public final class Settings { * The supported values are 0 = disable or 1 = enable prompt. * @hide */ + @UnsupportedAppUsage public static final String MULTI_SIM_VOICE_PROMPT = "multi_sim_voice_prompt"; /** @@ -12636,6 +12748,7 @@ public final class Settings { * iccId,appType,appId,activationStatus,3gppIndex,3gpp2Index * @hide */ + @UnsupportedAppUsage public static final String[] MULTI_SIM_USER_PREFERRED_SUBS = {"user_preferred_sub1", "user_preferred_sub2","user_preferred_sub3"}; @@ -12985,6 +13098,7 @@ public final class Settings { /** * The content:// style URL for this table */ + @UnsupportedAppUsage public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/bookmarks"); @@ -13093,6 +13207,7 @@ public final class Settings { * cleared (the bookmark is not removed). * @return The unique content URL for the new bookmark entry. */ + @UnsupportedAppUsage public static Uri add(ContentResolver cr, Intent intent, String title, @@ -13204,6 +13319,7 @@ public final class Settings { * callingPackage, a negative result will be returned. * @hide */ + @UnsupportedAppUsage public static boolean isCallingPackageAllowedToWriteSettings(Context context, int uid, String callingPackage, boolean throwException) { return isCallingPackageAllowedToPerformAppOpsProtectedOperation(context, uid, @@ -13260,6 +13376,7 @@ public final class Settings { * a negative result will be returned. * @hide */ + @UnsupportedAppUsage public static boolean isCallingPackageAllowedToDrawOverlays(Context context, int uid, String callingPackage, boolean throwException) { return isCallingPackageAllowedToPerformAppOpsProtectedOperation(context, uid, @@ -13290,6 +13407,7 @@ public final class Settings { * OP_WRITE_SETTINGS * @hide */ + @UnsupportedAppUsage public static boolean isCallingPackageAllowedToPerformAppOpsProtectedOperation(Context context, int uid, String callingPackage, boolean throwException, int appOpsOpCode, String[] permissions, boolean makeNote) { diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java index 2b114d568045..15b2aaebd1c0 100644 --- a/core/java/android/service/dreams/DreamService.java +++ b/core/java/android/service/dreams/DreamService.java @@ -21,6 +21,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.UnsupportedAppUsage; import android.app.AlarmManager; import android.app.Service; import android.content.Intent; @@ -601,6 +602,7 @@ public class DreamService extends Service implements Window.Callback { * * @hide */ + @UnsupportedAppUsage public void setWindowless(boolean windowless) { mWindowless = windowless; } @@ -624,6 +626,7 @@ public class DreamService extends Service implements Window.Callback { * @see #startDozing * @hide For use by system UI components only. */ + @UnsupportedAppUsage public boolean canDoze() { return mCanDoze; } @@ -657,6 +660,7 @@ public class DreamService extends Service implements Window.Callback { * @see #stopDozing * @hide For use by system UI components only. */ + @UnsupportedAppUsage public void startDozing() { if (mCanDoze && !mDozing) { mDozing = true; @@ -690,6 +694,7 @@ public class DreamService extends Service implements Window.Callback { * @see #startDozing * @hide For use by system UI components only. */ + @UnsupportedAppUsage public void stopDozing() { if (mDozing) { mDozing = false; @@ -711,6 +716,7 @@ public class DreamService extends Service implements Window.Callback { * @see #setDozing(boolean) * @hide For use by system UI components only. */ + @UnsupportedAppUsage public boolean isDozing() { return mDozing; } @@ -767,6 +773,7 @@ public class DreamService extends Service implements Window.Callback { * * @hide For use by system UI components only. */ + @UnsupportedAppUsage public void setDozeScreenState(int state) { if (mDozeScreenState != state) { mDozeScreenState = state; @@ -785,6 +792,7 @@ public class DreamService extends Service implements Window.Callback { * @see #setDozeScreenBrightness * @hide For use by system UI components only. */ + @UnsupportedAppUsage public int getDozeScreenBrightness() { return mDozeScreenBrightness; } @@ -816,6 +824,7 @@ public class DreamService extends Service implements Window.Callback { * * @hide For use by system UI components only. */ + @UnsupportedAppUsage public void setDozeScreenBrightness(int brightness) { if (brightness != PowerManager.BRIGHTNESS_DEFAULT) { brightness = clampAbsoluteBrightness(brightness); diff --git a/core/java/android/service/euicc/EuiccProfileInfo.java b/core/java/android/service/euicc/EuiccProfileInfo.java index 4bbee616dca0..4a3978242a11 100644 --- a/core/java/android/service/euicc/EuiccProfileInfo.java +++ b/core/java/android/service/euicc/EuiccProfileInfo.java @@ -18,6 +18,7 @@ package android.service.euicc; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.service.carrier.CarrierIdentifier; @@ -143,6 +144,7 @@ public final class EuiccProfileInfo implements Parcelable { * @deprecated - Do not use. */ @Deprecated + @UnsupportedAppUsage public EuiccProfileInfo(String iccid, @Nullable UiccAccessRule[] accessRules, @Nullable String nickname) { if (!TextUtils.isDigitsOnly(iccid)) { diff --git a/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.java b/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.java index e2171ae6bc76..bd91ca00145d 100644 --- a/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.java +++ b/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.java @@ -17,6 +17,7 @@ package android.service.euicc; import android.annotation.Nullable; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.telephony.euicc.DownloadableSubscription; @@ -49,6 +50,7 @@ public final class GetDefaultDownloadableSubscriptionListResult implements Parce * @deprecated - Do no use. Use getResult() instead. */ @Deprecated + @UnsupportedAppUsage public final int result; @Nullable diff --git a/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.java b/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.java index 1edb5398add4..71f1d22d603d 100644 --- a/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.java +++ b/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.java @@ -17,6 +17,7 @@ package android.service.euicc; import android.annotation.Nullable; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.telephony.euicc.DownloadableSubscription; @@ -46,6 +47,7 @@ public final class GetDownloadableSubscriptionMetadataResult implements Parcelab * @deprecated - Do no use. Use getResult() instead. */ @Deprecated + @UnsupportedAppUsage public final int result; @Nullable diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java index a7d70d01b04a..5fc858f42692 100644 --- a/core/java/android/service/notification/NotificationListenerService.java +++ b/core/java/android/service/notification/NotificationListenerService.java @@ -21,6 +21,7 @@ import android.annotation.NonNull; import android.annotation.SdkConstant; import android.annotation.SystemApi; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityManager; import android.app.INotificationManager; import android.app.Notification; @@ -93,6 +94,7 @@ import java.util.List; */ public abstract class NotificationListenerService extends Service { + @UnsupportedAppUsage private final String TAG = getClass().getSimpleName(); /** @@ -274,9 +276,11 @@ public abstract class NotificationListenerService extends Service { private final Object mLock = new Object(); + @UnsupportedAppUsage private Handler mHandler; /** @hide */ + @UnsupportedAppUsage protected NotificationListenerWrapper mWrapper = null; private boolean isConnected = false; @@ -286,6 +290,7 @@ public abstract class NotificationListenerService extends Service { /** * @hide */ + @UnsupportedAppUsage protected INotificationManager mNoMan; /** @@ -507,6 +512,7 @@ public abstract class NotificationListenerService extends Service { } /** @hide */ + @UnsupportedAppUsage protected final INotificationManager getNotificationInterface() { if (mNoMan == null) { mNoMan = INotificationManager.Stub.asInterface( @@ -1065,6 +1071,7 @@ public abstract class NotificationListenerService extends Service { } /** @hide */ + @UnsupportedAppUsage protected boolean isBound() { if (mWrapper == null) { Log.w(TAG, "Notification listener service not yet bound."); @@ -1461,6 +1468,7 @@ public abstract class NotificationListenerService extends Service { * no such preference has been expressed. * @hide */ + @UnsupportedAppUsage public int getVisibilityOverride() { return mVisibilityOverride; } diff --git a/core/java/android/service/notification/StatusBarNotification.java b/core/java/android/service/notification/StatusBarNotification.java index d1ebc6eca214..dd97d524d829 100644 --- a/core/java/android/service/notification/StatusBarNotification.java +++ b/core/java/android/service/notification/StatusBarNotification.java @@ -16,6 +16,7 @@ package android.service.notification; +import android.annotation.UnsupportedAppUsage; import android.app.Notification; import android.app.NotificationChannel; import android.content.Context; @@ -30,18 +31,26 @@ import android.os.UserHandle; * the status bar and any {@link android.service.notification.NotificationListenerService}s. */ public class StatusBarNotification implements Parcelable { + @UnsupportedAppUsage private final String pkg; + @UnsupportedAppUsage private final int id; + @UnsupportedAppUsage private final String tag; private final String key; private String groupKey; private String overrideGroupKey; + @UnsupportedAppUsage private final int uid; private final String opPkg; + @UnsupportedAppUsage private final int initialPid; + @UnsupportedAppUsage private final Notification notification; + @UnsupportedAppUsage private final UserHandle user; + @UnsupportedAppUsage private final long postTime; private Context mContext; // used for inflation & icon expansion @@ -269,16 +278,19 @@ public class StatusBarNotification implements Parcelable { } /** The notifying app's calling uid. @hide */ + @UnsupportedAppUsage public int getUid() { return uid; } /** The package used for AppOps tracking. @hide */ + @UnsupportedAppUsage public String getOpPkg() { return opPkg; } /** @hide */ + @UnsupportedAppUsage public int getInitialPid() { return initialPid; } @@ -346,6 +358,7 @@ public class StatusBarNotification implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public Context getPackageContext(Context context) { if (mContext == null) { try { diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java index 5546e803342b..f6749ee66bb4 100644 --- a/core/java/android/service/notification/ZenModeConfig.java +++ b/core/java/android/service/notification/ZenModeConfig.java @@ -20,6 +20,7 @@ import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCRE import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS; import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityManager; import android.app.AlarmManager; import android.app.NotificationManager; @@ -145,6 +146,7 @@ public class ZenModeConfig implements Parcelable { private static final String RULE_ATT_CREATION_TIME = "creationTime"; private static final String RULE_ATT_ENABLER = "enabler"; + @UnsupportedAppUsage public boolean allowAlarms = DEFAULT_ALLOW_ALARMS; public boolean allowMedia = DEFAULT_ALLOW_MEDIA; public boolean allowSystem = DEFAULT_ALLOW_SYSTEM; @@ -161,8 +163,10 @@ public class ZenModeConfig implements Parcelable { public int version; public ZenRule manualRule; + @UnsupportedAppUsage public ArrayMap<String, ZenRule> automaticRules = new ArrayMap<>(); + @UnsupportedAppUsage public ZenModeConfig() { } public ZenModeConfig(Parcel source) { @@ -1007,6 +1011,7 @@ public class ZenModeConfig implements Parcelable { return true; } + @UnsupportedAppUsage public static ScheduleInfo tryParseScheduleConditionId(Uri conditionId) { final boolean isSchedule = conditionId != null && conditionId.getScheme().equals(Condition.SCHEME) @@ -1032,10 +1037,15 @@ public class ZenModeConfig implements Parcelable { } public static class ScheduleInfo { + @UnsupportedAppUsage public int[] days; + @UnsupportedAppUsage public int startHour; + @UnsupportedAppUsage public int startMinute; + @UnsupportedAppUsage public int endHour; + @UnsupportedAppUsage public int endMinute; public boolean exitAtAlarm; public long nextAlarm; @@ -1253,14 +1263,20 @@ public class ZenModeConfig implements Parcelable { } public static class ZenRule implements Parcelable { + @UnsupportedAppUsage public boolean enabled; + @UnsupportedAppUsage public boolean snoozing; // user manually disabled this instance + @UnsupportedAppUsage public String name; // required for automatic + @UnsupportedAppUsage public int zenMode; + @UnsupportedAppUsage public Uri conditionId; // required for automatic public Condition condition; // optional public ComponentName component; // optional public String id; // required for automatic (unique) + @UnsupportedAppUsage public long creationTime; // required for automatic public String enabler; // package name, only used for manual rules. diff --git a/core/java/android/service/voice/AlwaysOnHotwordDetector.java b/core/java/android/service/voice/AlwaysOnHotwordDetector.java index 76d89ef039c8..bd953cad2b75 100644 --- a/core/java/android/service/voice/AlwaysOnHotwordDetector.java +++ b/core/java/android/service/voice/AlwaysOnHotwordDetector.java @@ -19,6 +19,7 @@ package android.service.voice; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.app.Activity; import android.content.Intent; import android.hardware.soundtrigger.IRecognitionStatusCallback; @@ -266,6 +267,7 @@ public class AlwaysOnHotwordDetector { * @hide */ @Nullable + @UnsupportedAppUsage public Integer getCaptureSession() { if (mCaptureAvailable) { return mCaptureSession; diff --git a/core/java/android/service/voice/VoiceInteractionService.java b/core/java/android/service/voice/VoiceInteractionService.java index 8f79bcffa776..0bbc07e8063e 100644 --- a/core/java/android/service/voice/VoiceInteractionService.java +++ b/core/java/android/service/voice/VoiceInteractionService.java @@ -17,6 +17,7 @@ package android.service.voice; import android.annotation.SdkConstant; +import android.annotation.UnsupportedAppUsage; import android.app.Service; import android.content.ComponentName; import android.content.Context; @@ -294,6 +295,7 @@ public class VoiceInteractionService extends Service { * @return true if the keyphrase and locale combination is supported, false otherwise. * @hide */ + @UnsupportedAppUsage public final boolean isKeyphraseAndLocaleSupportedForHotword(String keyphrase, Locale locale) { if (mKeyphraseEnrollmentInfo == null) { return false; diff --git a/core/java/android/service/vr/VrListenerService.java b/core/java/android/service/vr/VrListenerService.java index fa3d065d28a7..3c384955a578 100644 --- a/core/java/android/service/vr/VrListenerService.java +++ b/core/java/android/service/vr/VrListenerService.java @@ -18,6 +18,7 @@ package android.service.vr; import android.annotation.NonNull; import android.annotation.SdkConstant; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityManager; import android.app.Service; import android.content.ComponentName; @@ -139,6 +140,7 @@ public abstract class VrListenerService extends Service { * @see android.R.attr#enableVrMode * @hide */ + @UnsupportedAppUsage public void onCurrentVrActivityChanged( ComponentName component, boolean running2dInVr, int pid) { // Override to implement. Default to old behaviour of sending null for 2D. diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index 7f75f0a68660..0dfd7633b2ff 100644 --- a/core/java/android/service/wallpaper/WallpaperService.java +++ b/core/java/android/service/wallpaper/WallpaperService.java @@ -19,6 +19,7 @@ package android.service.wallpaper; import android.annotation.Nullable; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.UnsupportedAppUsage; import android.app.Service; import android.app.WallpaperColors; import android.app.WallpaperManager; @@ -108,6 +109,7 @@ public abstract class WallpaperService extends Service { private static final int MSG_VISIBILITY_CHANGED = 10010; private static final int MSG_WALLPAPER_OFFSETS = 10020; private static final int MSG_WALLPAPER_COMMAND = 10025; + @UnsupportedAppUsage private static final int MSG_WINDOW_RESIZED = 10030; private static final int MSG_WINDOW_MOVED = 10035; private static final int MSG_TOUCH_EVENT = 10040; @@ -190,6 +192,7 @@ public abstract class WallpaperService extends Service { final Object mLock = new Object(); boolean mOffsetMessageEnqueued; + @UnsupportedAppUsage float mPendingXOffset; float mPendingYOffset; float mPendingXOffsetStep; @@ -479,6 +482,7 @@ public abstract class WallpaperService extends Service { } /** {@hide} */ + @UnsupportedAppUsage public void setFixedSizeAllowed(boolean allowed) { mFixedSizeAllowed = allowed; } diff --git a/core/java/android/text/AndroidBidi.java b/core/java/android/text/AndroidBidi.java index 72383cf377e9..bb7fb446d40c 100644 --- a/core/java/android/text/AndroidBidi.java +++ b/core/java/android/text/AndroidBidi.java @@ -16,6 +16,7 @@ package android.text; +import android.annotation.UnsupportedAppUsage; import android.icu.lang.UCharacter; import android.icu.lang.UCharacterDirection; import android.icu.lang.UProperty; @@ -61,6 +62,7 @@ public class AndroidBidi { /** * Runs the bidi algorithm on input text. */ + @UnsupportedAppUsage public static int bidi(int dir, char[] chs, byte[] chInfo) { if (chs == null || chInfo == null) { throw new NullPointerException(); diff --git a/core/java/android/text/BoringLayout.java b/core/java/android/text/BoringLayout.java index ce38ebb9bea7..29f231a0d65b 100644 --- a/core/java/android/text/BoringLayout.java +++ b/core/java/android/text/BoringLayout.java @@ -16,6 +16,7 @@ package android.text; +import android.annotation.UnsupportedAppUsage; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; @@ -320,6 +321,7 @@ public class BoringLayout extends Layout implements TextUtils.EllipsizeCallback * if boring. * @hide */ + @UnsupportedAppUsage public static Metrics isBoring(CharSequence text, TextPaint paint, TextDirectionHeuristic textDir, Metrics metrics) { final int textLength = text.length(); diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java index febca7ec9de1..c46c831b2f9d 100644 --- a/core/java/android/text/DynamicLayout.java +++ b/core/java/android/text/DynamicLayout.java @@ -20,6 +20,7 @@ import android.annotation.FloatRange; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.graphics.Paint; import android.graphics.Rect; import android.text.style.ReplacementSpan; @@ -353,6 +354,7 @@ public class DynamicLayout extends Layout { * @deprecated Use {@link Builder} instead. */ @Deprecated + @UnsupportedAppUsage public DynamicLayout(@NonNull CharSequence base, @NonNull CharSequence display, @NonNull TextPaint paint, @IntRange(from = 0) int width, @@ -944,6 +946,7 @@ public class DynamicLayout extends Layout { /** * @hide */ + @UnsupportedAppUsage public int[] getBlockEndLines() { return mBlockEndLines; } @@ -951,6 +954,7 @@ public class DynamicLayout extends Layout { /** * @hide */ + @UnsupportedAppUsage public int[] getBlockIndices() { return mBlockIndices; } @@ -973,6 +977,7 @@ public class DynamicLayout extends Layout { /** * @hide */ + @UnsupportedAppUsage public int getNumberOfBlocks() { return mNumberOfBlocks; } @@ -980,6 +985,7 @@ public class DynamicLayout extends Layout { /** * @hide */ + @UnsupportedAppUsage public int getIndexFirstChangedBlock() { return mIndexFirstChangedBlock; } @@ -987,6 +993,7 @@ public class DynamicLayout extends Layout { /** * @hide */ + @UnsupportedAppUsage public void setIndexFirstChangedBlock(int i) { mIndexFirstChangedBlock = i; } @@ -1169,6 +1176,7 @@ public class DynamicLayout extends Layout { private Rect mTempRect = new Rect(); + @UnsupportedAppUsage private static StaticLayout sStaticLayout = null; private static StaticLayout.Builder sBuilder = null; diff --git a/core/java/android/text/FontConfig.java b/core/java/android/text/FontConfig.java index 7386e3e88561..9e0fee337bc7 100644 --- a/core/java/android/text/FontConfig.java +++ b/core/java/android/text/FontConfig.java @@ -21,6 +21,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.graphics.fonts.FontVariationAxis; import android.net.Uri; @@ -43,6 +44,7 @@ public final class FontConfig { /** * Returns the ordered list of families included in the system fonts. */ + @UnsupportedAppUsage public @NonNull Family[] getFamilies() { return mFamilies; } @@ -89,6 +91,7 @@ public final class FontConfig { /** * Returns the index to be used to access this font when accessing a TTC file. */ + @UnsupportedAppUsage public int getTtcIndex() { return mTtcIndex; } @@ -96,6 +99,7 @@ public final class FontConfig { /** * Returns the list of axes associated to this font. */ + @UnsupportedAppUsage public @NonNull FontVariationAxis[] getAxes() { return mAxes; } @@ -103,6 +107,7 @@ public final class FontConfig { /** * Returns the weight value for this font. */ + @UnsupportedAppUsage public int getWeight() { return mWeight; } @@ -110,6 +115,7 @@ public final class FontConfig { /** * Returns whether this font is italic. */ + @UnsupportedAppUsage public boolean isItalic() { return mIsItalic; } @@ -224,6 +230,7 @@ public final class FontConfig { /** * Returns the name given by the system to this font family. */ + @UnsupportedAppUsage public @Nullable String getName() { return mName; } @@ -231,6 +238,7 @@ public final class FontConfig { /** * Returns the list of fonts included in this family. */ + @UnsupportedAppUsage public @Nullable Font[] getFonts() { return mFonts; } @@ -245,6 +253,7 @@ public final class FontConfig { /** * Returns the font variant for this family, e.g. "elegant" or "compact". May be null. */ + @UnsupportedAppUsage public @Variant int getVariant() { return mVariant; } diff --git a/core/java/android/text/Html.java b/core/java/android/text/Html.java index c3aac74d0f32..18f8db23db74 100644 --- a/core/java/android/text/Html.java +++ b/core/java/android/text/Html.java @@ -16,6 +16,7 @@ package android.text; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityThread; import android.app.Application; import android.content.res.Resources; @@ -628,6 +629,7 @@ public class Html { } } + @UnsupportedAppUsage private static void withinStyle(StringBuilder out, CharSequence text, int start, int end) { for (int i = start; i < end; i++) { diff --git a/core/java/android/text/InputFilter.java b/core/java/android/text/InputFilter.java index a507f2b373fc..a9a7b2f2fa7a 100644 --- a/core/java/android/text/InputFilter.java +++ b/core/java/android/text/InputFilter.java @@ -17,6 +17,7 @@ package android.text; import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage; import com.android.internal.util.Preconditions; @@ -164,6 +165,7 @@ public interface InputFilter * greater than the specified length. */ public static class LengthFilter implements InputFilter { + @UnsupportedAppUsage private final int mMax; public LengthFilter(int max) { diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java index 09af85db2620..3afa3252c5a3 100644 --- a/core/java/android/text/Layout.java +++ b/core/java/android/text/Layout.java @@ -18,6 +18,7 @@ package android.text; import android.annotation.IntDef; import android.annotation.IntRange; +import android.annotation.UnsupportedAppUsage; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; @@ -411,6 +412,7 @@ public abstract class Layout { /** * @hide */ + @UnsupportedAppUsage public void drawText(Canvas canvas, int firstLine, int lastLine) { int previousLineBottom = getLineTop(firstLine); int previousLineEnd = getLineStart(firstLine); @@ -576,6 +578,7 @@ public abstract class Layout { /** * @hide */ + @UnsupportedAppUsage public void drawBackground(Canvas canvas, Path highlight, Paint highlightPaint, int cursorOffsetVertical, int firstLine, int lastLine) { // First, draw LineBackgroundSpans. @@ -656,6 +659,7 @@ public abstract class Layout { * @return The range of lines that need to be drawn, possibly empty. * @hide */ + @UnsupportedAppUsage public long getLineRangeForDraw(Canvas canvas) { int dtop, dbottom; @@ -926,6 +930,7 @@ public abstract class Layout { * @return true if at a level boundary * @hide */ + @UnsupportedAppUsage public boolean isLevelBoundary(int offset) { int line = getLineForOffset(offset); Directions dirs = getLineDirections(line); @@ -1128,6 +1133,7 @@ public abstract class Layout { * optionally clamp it so that it doesn't exceed the width of the layout. * @hide */ + @UnsupportedAppUsage public float getPrimaryHorizontal(int offset, boolean clamped) { boolean trailing = primaryIsTrailingPrevious(offset); return getHorizontal(offset, trailing, clamped); @@ -1147,6 +1153,7 @@ public abstract class Layout { * optionally clamp it so that it doesn't exceed the width of the layout. * @hide */ + @UnsupportedAppUsage public float getSecondaryHorizontal(int offset, boolean clamped) { boolean trailing = primaryIsTrailingPrevious(offset); return getHorizontal(offset, !trailing, clamped); @@ -1771,6 +1778,7 @@ public abstract class Layout { * only robust for left-aligned displays. * @hide */ + @UnsupportedAppUsage public boolean shouldClampCursor(int line) { // Only clamp cursor position in left-aligned displays. switch (getParagraphAlignment(line)) { @@ -2421,6 +2429,7 @@ public abstract class Layout { } private CharSequence mText; + @UnsupportedAppUsage private TextPaint mPaint; private TextPaint mWorkPaint = new TextPaint(); private int mWidth; @@ -2446,6 +2455,7 @@ public abstract class Layout { /* package */ static final int DIR_REQUEST_LTR = 1; /* package */ static final int DIR_REQUEST_RTL = -1; + @UnsupportedAppUsage /* package */ static final int DIR_REQUEST_DEFAULT_LTR = 2; /* package */ static final int DIR_REQUEST_DEFAULT_RTL = -2; @@ -2459,8 +2469,10 @@ public abstract class Layout { ALIGN_OPPOSITE, ALIGN_CENTER, /** @hide */ + @UnsupportedAppUsage ALIGN_LEFT, /** @hide */ + @UnsupportedAppUsage ALIGN_RIGHT, } @@ -2468,11 +2480,13 @@ public abstract class Layout { /** @hide */ @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE) + @UnsupportedAppUsage public static final Directions DIRS_ALL_LEFT_TO_RIGHT = new Directions(new int[] { 0, RUN_LENGTH_MASK }); /** @hide */ @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE) + @UnsupportedAppUsage public static final Directions DIRS_ALL_RIGHT_TO_LEFT = new Directions(new int[] { 0, RUN_LENGTH_MASK | RUN_RTL_FLAG }); diff --git a/core/java/android/text/Selection.java b/core/java/android/text/Selection.java index 5256e471e974..68199a4f622e 100644 --- a/core/java/android/text/Selection.java +++ b/core/java/android/text/Selection.java @@ -17,6 +17,7 @@ package android.text; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import java.text.BreakIterator; @@ -448,6 +449,7 @@ public class Selection { } /** {@hide} */ + @UnsupportedAppUsage public static boolean moveToPreceding( Spannable text, PositionIterator iter, boolean extendSelection) { final int offset = iter.preceding(getSelectionEnd(text)); @@ -462,6 +464,7 @@ public class Selection { } /** {@hide} */ + @UnsupportedAppUsage public static boolean moveToFollowing( Spannable text, PositionIterator iter, boolean extendSelection) { final int offset = iter.following(getSelectionEnd(text)); diff --git a/core/java/android/text/SpanSet.java b/core/java/android/text/SpanSet.java index 00f14939a7ad..362825a005e9 100644 --- a/core/java/android/text/SpanSet.java +++ b/core/java/android/text/SpanSet.java @@ -16,6 +16,7 @@ package android.text; +import android.annotation.UnsupportedAppUsage; import java.lang.reflect.Array; import java.util.Arrays; @@ -32,6 +33,7 @@ public class SpanSet<E> { private final Class<? extends E> classType; int numberOfSpans; + @UnsupportedAppUsage E[] spans; int[] spanStarts; int[] spanEnds; diff --git a/core/java/android/text/SpannableStringBuilder.java b/core/java/android/text/SpannableStringBuilder.java index 41a9c45aed57..9d841e86c9fa 100644 --- a/core/java/android/text/SpannableStringBuilder.java +++ b/core/java/android/text/SpannableStringBuilder.java @@ -17,6 +17,7 @@ package android.text; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.graphics.BaseCanvas; import android.graphics.Paint; import android.util.Log; @@ -595,6 +596,7 @@ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable return false; } + @UnsupportedAppUsage private void sendToSpanWatchers(int replaceStart, int replaceEnd, int nbNewChars) { for (int i = 0; i < mSpanCount; i++) { int spanFlags = mSpanFlags[i]; @@ -861,6 +863,7 @@ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable * * @hide */ + @UnsupportedAppUsage public <T> T[] getSpans(int queryStart, int queryEnd, @Nullable Class<T> kind, boolean sortByInsertionOrder) { if (kind == null) return (T[]) ArrayUtils.emptyArray(Object.class); @@ -1230,6 +1233,7 @@ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable * [start, end[ range. * @hide */ + @UnsupportedAppUsage public String substring(int start, int end) { char[] buf = new char[end - start]; getChars(start, end, buf, 0); @@ -1765,18 +1769,26 @@ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable private InputFilter[] mFilters = NO_FILTERS; + @UnsupportedAppUsage private char[] mText; + @UnsupportedAppUsage private int mGapStart; + @UnsupportedAppUsage private int mGapLength; + @UnsupportedAppUsage private Object[] mSpans; + @UnsupportedAppUsage private int[] mSpanStarts; + @UnsupportedAppUsage private int[] mSpanEnds; private int[] mSpanMax; // see calcMax() for an explanation of what this array stores + @UnsupportedAppUsage private int[] mSpanFlags; private int[] mSpanOrder; // store the order of span insertion private int mSpanInsertCount; // counter for the span insertion + @UnsupportedAppUsage private int mSpanCount; private IdentityHashMap<Object, Integer> mIndexOfSpan; private int mLowWaterMark; // indices below this have not been touched diff --git a/core/java/android/text/SpannableStringInternal.java b/core/java/android/text/SpannableStringInternal.java index bcc2fda86074..7acd5399792c 100644 --- a/core/java/android/text/SpannableStringInternal.java +++ b/core/java/android/text/SpannableStringInternal.java @@ -21,6 +21,7 @@ import com.android.internal.util.GrowingArrayUtils; import libcore.util.EmptyArray; +import android.annotation.UnsupportedAppUsage; import java.lang.reflect.Array; /* package */ abstract class SpannableStringInternal @@ -50,6 +51,7 @@ import java.lang.reflect.Array; * * Due to backward compatibility reasons, we copy even NoCopySpan by default */ + @UnsupportedAppUsage /* package */ SpannableStringInternal(CharSequence source, int start, int end) { this(source, start, end, false /* ignoreNoCopySpan */); } @@ -148,6 +150,7 @@ import java.lang.reflect.Array; * * @return True if excluded, false if included. */ + @UnsupportedAppUsage private final boolean isOutOfCopyRange(int start, int end, int spanStart, int spanEnd) { if (spanStart > end || spanEnd < start) return true; if (spanStart != spanEnd && start != end) { @@ -174,14 +177,17 @@ import java.lang.reflect.Array; mText.getChars(start, end, dest, off); } + @UnsupportedAppUsage /* package */ void setSpan(Object what, int start, int end, int flags) { setSpan(what, start, end, flags, true/*enforceParagraph*/); } + @UnsupportedAppUsage private boolean isIndexFollowsNextLine(int index) { return index != 0 && index != length() && charAt(index - 1) != '\n'; } + @UnsupportedAppUsage private void setSpan(Object what, int start, int end, int flags, boolean enforceParagraph) { int nstart = start; int nend = end; @@ -248,6 +254,7 @@ import java.lang.reflect.Array; sendSpanAdded(what, nstart, nend); } + @UnsupportedAppUsage /* package */ void removeSpan(Object what) { removeSpan(what, 0 /* flags */); } @@ -281,6 +288,7 @@ import java.lang.reflect.Array; } } + @UnsupportedAppUsage public int getSpanStart(Object what) { int count = mSpanCount; Object[] spans = mSpans; @@ -295,6 +303,7 @@ import java.lang.reflect.Array; return -1; } + @UnsupportedAppUsage public int getSpanEnd(Object what) { int count = mSpanCount; Object[] spans = mSpans; @@ -309,6 +318,7 @@ import java.lang.reflect.Array; return -1; } + @UnsupportedAppUsage public int getSpanFlags(Object what) { int count = mSpanCount; Object[] spans = mSpans; @@ -323,6 +333,7 @@ import java.lang.reflect.Array; return 0; } + @UnsupportedAppUsage public <T> T[] getSpans(int queryStart, int queryEnd, Class<T> kind) { int count = 0; @@ -404,6 +415,7 @@ import java.lang.reflect.Array; return (T[]) nret; } + @UnsupportedAppUsage public int nextSpanTransition(int start, int limit, Class kind) { int count = mSpanCount; Object[] spans = mSpans; @@ -426,6 +438,7 @@ import java.lang.reflect.Array; return limit; } + @UnsupportedAppUsage private void sendSpanAdded(Object what, int start, int end) { SpanWatcher[] recip = getSpans(start, end, SpanWatcher.class); int n = recip.length; @@ -435,6 +448,7 @@ import java.lang.reflect.Array; } } + @UnsupportedAppUsage private void sendSpanRemoved(Object what, int start, int end) { SpanWatcher[] recip = getSpans(start, end, SpanWatcher.class); int n = recip.length; @@ -444,6 +458,7 @@ import java.lang.reflect.Array; } } + @UnsupportedAppUsage private void sendSpanChanged(Object what, int s, int e, int st, int en) { SpanWatcher[] recip = getSpans(Math.min(s, st), Math.max(e, en), SpanWatcher.class); @@ -454,10 +469,12 @@ import java.lang.reflect.Array; } } + @UnsupportedAppUsage private static String region(int start, int end) { return "(" + start + " ... " + end + ")"; } + @UnsupportedAppUsage private void checkRange(final String operation, int start, int end) { if (end < start) { throw new IndexOutOfBoundsException(operation + " " + @@ -534,25 +551,36 @@ import java.lang.reflect.Array; * * Due to backward compatibility reasons, we copy even NoCopySpan by default */ + @UnsupportedAppUsage private void copySpans(Spanned src, int start, int end) { copySpans(src, start, end, false); } + @UnsupportedAppUsage private void copySpans(SpannableStringInternal src, int start, int end) { copySpans(src, start, end, false); } + @UnsupportedAppUsage private String mText; + @UnsupportedAppUsage private Object[] mSpans; + @UnsupportedAppUsage private int[] mSpanData; + @UnsupportedAppUsage private int mSpanCount; + @UnsupportedAppUsage /* package */ static final Object[] EMPTY = new Object[0]; + @UnsupportedAppUsage private static final int START = 0; + @UnsupportedAppUsage private static final int END = 1; + @UnsupportedAppUsage private static final int FLAGS = 2; + @UnsupportedAppUsage private static final int COLUMNS = 3; } diff --git a/core/java/android/text/StaticLayout.java b/core/java/android/text/StaticLayout.java index 0899074174a2..44edad274a9f 100644 --- a/core/java/android/text/StaticLayout.java +++ b/core/java/android/text/StaticLayout.java @@ -20,6 +20,7 @@ import android.annotation.FloatRange; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.graphics.Paint; import android.text.AutoGrowArray.FloatArray; import android.text.style.LeadingMarginSpan; @@ -500,6 +501,7 @@ public class StaticLayout extends Layout { * @deprecated Use {@link Builder} instead. */ @Deprecated + @UnsupportedAppUsage public StaticLayout(CharSequence source, int bufstart, int bufend, TextPaint paint, int outerwidth, Alignment align, TextDirectionHeuristic textDir, @@ -1324,6 +1326,7 @@ public class StaticLayout extends Layout { * * @hide */ + @UnsupportedAppUsage public int getHeight(boolean cap) { if (cap && mLineCount >= mMaximumVisibleLineCount && mMaxLineHeight == -1 && Log.isLoggable(TAG, Log.WARN)) { @@ -1379,8 +1382,10 @@ public class StaticLayout extends Layout { @NonNull int[] recycleFlags, @NonNull float[] charWidths); + @UnsupportedAppUsage private int mLineCount; private int mTopPadding, mBottomPadding; + @UnsupportedAppUsage private int mColumns; private int mEllipsizedWidth; @@ -1408,11 +1413,15 @@ public class StaticLayout extends Layout { private static final int DESCENT = 2; private static final int EXTRA = 3; private static final int HYPHEN = 4; + @UnsupportedAppUsage private static final int ELLIPSIS_START = 5; private static final int ELLIPSIS_COUNT = 6; + @UnsupportedAppUsage private int[] mLines; + @UnsupportedAppUsage private Directions[] mLineDirections; + @UnsupportedAppUsage private int mMaximumVisibleLineCount = Integer.MAX_VALUE; private static final int START_MASK = 0x1FFFFFFF; @@ -1432,10 +1441,15 @@ public class StaticLayout extends Layout { // performing line breaking /*package*/ static class LineBreaks { private static final int INITIAL_SIZE = 16; + @UnsupportedAppUsage public int[] breaks = new int[INITIAL_SIZE]; + @UnsupportedAppUsage public float[] widths = new float[INITIAL_SIZE]; + @UnsupportedAppUsage public float[] ascents = new float[INITIAL_SIZE]; + @UnsupportedAppUsage public float[] descents = new float[INITIAL_SIZE]; + @UnsupportedAppUsage public int[] flags = new int[INITIAL_SIZE]; // hasTab // breaks, widths, and flags should all have the same length } diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java index 5bfd3e942934..90d8d43a36cc 100644 --- a/core/java/android/text/TextLine.java +++ b/core/java/android/text/TextLine.java @@ -18,6 +18,7 @@ package android.text; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Paint.FontMetricsInt; @@ -50,6 +51,7 @@ public class TextLine { private static final boolean DEBUG = false; private TextPaint mPaint; + @UnsupportedAppUsage private CharSequence mText; private int mStart; private int mLen; @@ -59,6 +61,7 @@ public class TextLine { private TabStops mTabs; private char[] mChars; private boolean mCharsValid; + @UnsupportedAppUsage private Spanned mSpanned; private PrecomputedText mComputed; @@ -68,16 +71,20 @@ public class TextLine { private final TextPaint mWorkPaint = new TextPaint(); private final TextPaint mActivePaint = new TextPaint(); + @UnsupportedAppUsage private final SpanSet<MetricAffectingSpan> mMetricAffectingSpanSpanSet = new SpanSet<MetricAffectingSpan>(MetricAffectingSpan.class); + @UnsupportedAppUsage private final SpanSet<CharacterStyle> mCharacterStyleSpanSet = new SpanSet<CharacterStyle>(CharacterStyle.class); + @UnsupportedAppUsage private final SpanSet<ReplacementSpan> mReplacementSpanSpanSet = new SpanSet<ReplacementSpan>(ReplacementSpan.class); private final DecorationInfo mDecorationInfo = new DecorationInfo(); private final ArrayList<DecorationInfo> mDecorations = new ArrayList<>(); + @UnsupportedAppUsage private static final TextLine[] sCached = new TextLine[3]; /** @@ -86,6 +93,7 @@ public class TextLine { * @return an uninitialized TextLine */ @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE) + @UnsupportedAppUsage public static TextLine obtain() { TextLine tl; synchronized (sCached) { diff --git a/core/java/android/text/TextPaint.java b/core/java/android/text/TextPaint.java index 5234fa9a594b..7bcc6859b8fc 100644 --- a/core/java/android/text/TextPaint.java +++ b/core/java/android/text/TextPaint.java @@ -18,6 +18,7 @@ package android.text; import android.annotation.ColorInt; import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage; import android.graphics.Paint; /** @@ -39,11 +40,13 @@ public class TextPaint extends Paint { * @hide */ @ColorInt + @UnsupportedAppUsage public int underlineColor = 0; /** * Thickness of the underline, in pixels. * @hide */ + @UnsupportedAppUsage public float underlineThickness; public TextPaint() { @@ -98,6 +101,7 @@ public class TextPaint extends Paint { * @param thickness underline thickness * @hide */ + @UnsupportedAppUsage public void setUnderlineText(int color, float thickness) { underlineColor = color; underlineThickness = thickness; diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java index 109149f113da..fda0a3ee4147 100644 --- a/core/java/android/text/TextUtils.java +++ b/core/java/android/text/TextUtils.java @@ -21,6 +21,7 @@ import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.PluralsRes; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.res.Resources; import android.icu.lang.UCharacter; @@ -1193,6 +1194,7 @@ public class TextUtils { /** * @hide */ + @UnsupportedAppUsage END_SMALL } @@ -1732,6 +1734,7 @@ public class TextUtils { /** * @hide */ + @UnsupportedAppUsage public static boolean isPrintableAsciiOnly(final CharSequence str) { final int len = str.length(); for (int i = 0; i < len; i++) { @@ -1957,6 +1960,7 @@ public class TextUtils { * @see #unpackRangeEndFromLong(long) * @hide */ + @UnsupportedAppUsage public static long packRangeInLong(int start, int end) { return (((long) start) << 32) | end; } @@ -1967,6 +1971,7 @@ public class TextUtils { * @see #packRangeInLong(int, int) * @hide */ + @UnsupportedAppUsage public static int unpackRangeStartFromLong(long range) { return (int) (range >>> 32); } @@ -1977,6 +1982,7 @@ public class TextUtils { * @see #packRangeInLong(int, int) * @hide */ + @UnsupportedAppUsage public static int unpackRangeEndFromLong(long range) { return (int) (range & 0x00000000FFFFFFFFL); } diff --git a/core/java/android/text/format/DateFormat.java b/core/java/android/text/format/DateFormat.java index 94025ef96f10..3c8de94c05f2 100755 --- a/core/java/android/text/format/DateFormat.java +++ b/core/java/android/text/format/DateFormat.java @@ -17,6 +17,7 @@ package android.text.format; import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.UserHandle; import android.provider.Settings; @@ -178,6 +179,7 @@ public class DateFormat { * * @hide */ + @UnsupportedAppUsage public static boolean is24HourFormat(Context context, int userHandle) { final String value = Settings.System.getStringForUser(context.getContentResolver(), Settings.System.TIME_12_24, userHandle); @@ -270,6 +272,7 @@ public class DateFormat { * @param context the application context * @hide */ + @UnsupportedAppUsage public static String getTimeFormatString(Context context) { return getTimeFormatString(context, context.getUserId()); } @@ -281,6 +284,7 @@ public class DateFormat { * @param userHandle the user handle of the user to query the format for * @hide */ + @UnsupportedAppUsage public static String getTimeFormatString(Context context, int userHandle) { final LocaleData d = LocaleData.get(context.getResources().getConfiguration().locale); return is24HourFormat(context, userHandle) ? d.timeFormat_Hm : d.timeFormat_hm; @@ -379,6 +383,7 @@ public class DateFormat { * * @hide */ + @UnsupportedAppUsage public static boolean hasSeconds(CharSequence inFormat) { return hasDesignator(inFormat, SECONDS); } @@ -392,6 +397,7 @@ public class DateFormat { * * @hide */ + @UnsupportedAppUsage public static boolean hasDesignator(CharSequence inFormat, char designator) { if (inFormat == null) return false; diff --git a/core/java/android/text/format/DateUtils.java b/core/java/android/text/format/DateUtils.java index e19b2c71b841..e94b8006d24a 100644 --- a/core/java/android/text/format/DateUtils.java +++ b/core/java/android/text/format/DateUtils.java @@ -16,6 +16,7 @@ package android.text.format; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; @@ -361,6 +362,7 @@ public class DateUtils * * @hide */ + @UnsupportedAppUsage public static CharSequence formatDuration(long millis) { return formatDuration(millis, LENGTH_LONG); } @@ -376,6 +378,7 @@ public class DateUtils * the briefest form available (e.g. "2h"). * @hide */ + @UnsupportedAppUsage public static CharSequence formatDuration(long millis, int abbrev) { final FormatWidth width; switch (abbrev) { diff --git a/core/java/android/text/format/Formatter.java b/core/java/android/text/format/Formatter.java index de86a66aeb8f..077d12de4d59 100644 --- a/core/java/android/text/format/Formatter.java +++ b/core/java/android/text/format/Formatter.java @@ -18,6 +18,7 @@ package android.text.format; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.res.Resources; import android.icu.text.MeasureFormat; @@ -114,6 +115,7 @@ public final class Formatter { } /** {@hide} */ + @UnsupportedAppUsage public static BytesResult formatBytes(Resources res, long sizeBytes, int flags) { final int unit = ((flags & FLAG_IEC_UNITS) != 0) ? 1024 : 1000; final boolean isNegative = (sizeBytes < 0); @@ -216,6 +218,7 @@ public final class Formatter { * @return the formatted elapsed time * @hide */ + @UnsupportedAppUsage public static String formatShortElapsedTime(Context context, long millis) { long secondsLong = millis / 1000; @@ -271,6 +274,7 @@ public final class Formatter { * @return the formatted elapsed time * @hide */ + @UnsupportedAppUsage public static String formatShortElapsedTimeRoundingUpToMinutes(Context context, long millis) { long minutesRoundedUp = (millis + MILLIS_PER_MINUTE - 1) / MILLIS_PER_MINUTE; diff --git a/core/java/android/text/method/AllCapsTransformationMethod.java b/core/java/android/text/method/AllCapsTransformationMethod.java index c807e7da4f1b..5a7c98d7ccdf 100644 --- a/core/java/android/text/method/AllCapsTransformationMethod.java +++ b/core/java/android/text/method/AllCapsTransformationMethod.java @@ -17,6 +17,7 @@ package android.text.method; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.graphics.Rect; import android.text.Spanned; @@ -38,6 +39,7 @@ public class AllCapsTransformationMethod implements TransformationMethod2 { private boolean mEnabled; private Locale mLocale; + @UnsupportedAppUsage public AllCapsTransformationMethod(@NonNull Context context) { mLocale = context.getResources().getConfiguration().getLocales().get(0); } diff --git a/core/java/android/text/method/HideReturnsTransformationMethod.java b/core/java/android/text/method/HideReturnsTransformationMethod.java index c6a90ca9cf5d..e753754a38d4 100644 --- a/core/java/android/text/method/HideReturnsTransformationMethod.java +++ b/core/java/android/text/method/HideReturnsTransformationMethod.java @@ -16,6 +16,8 @@ package android.text.method; +import android.annotation.UnsupportedAppUsage; + /** * This transformation method causes any carriage return characters (\r) * to be hidden by displaying them as zero-width non-breaking space @@ -48,5 +50,6 @@ extends ReplacementTransformationMethod { return sInstance; } + @UnsupportedAppUsage private static HideReturnsTransformationMethod sInstance; } diff --git a/core/java/android/text/method/LinkMovementMethod.java b/core/java/android/text/method/LinkMovementMethod.java index 549f8b3953dd..a0c44a8b6bdc 100644 --- a/core/java/android/text/method/LinkMovementMethod.java +++ b/core/java/android/text/method/LinkMovementMethod.java @@ -16,6 +16,7 @@ package android.text.method; +import android.annotation.UnsupportedAppUsage; import android.os.Build; import android.text.Layout; import android.text.NoCopySpan; @@ -274,6 +275,7 @@ public class LinkMovementMethod extends ScrollingMovementMethod { return sInstance; } + @UnsupportedAppUsage private static LinkMovementMethod sInstance; private static Object FROM_BELOW = new NoCopySpan.Concrete(); } diff --git a/core/java/android/text/method/MetaKeyKeyListener.java b/core/java/android/text/method/MetaKeyKeyListener.java index c3c7302ce090..ec7ed34bb5ba 100644 --- a/core/java/android/text/method/MetaKeyKeyListener.java +++ b/core/java/android/text/method/MetaKeyKeyListener.java @@ -16,6 +16,7 @@ package android.text.method; +import android.annotation.UnsupportedAppUsage; import android.text.Editable; import android.text.NoCopySpan; import android.text.Spannable; @@ -361,6 +362,7 @@ public abstract class MetaKeyKeyListener { * Start selecting text. * @hide pending API review */ + @UnsupportedAppUsage public static void startSelecting(View view, Spannable content) { content.setSpan(SELECTING, 0, 0, PRESSED); } @@ -370,6 +372,7 @@ public abstract class MetaKeyKeyListener { * call {@link android.text.Selection#setSelection} too. * @hide pending API review */ + @UnsupportedAppUsage public static void stopSelecting(View view, Spannable content) { content.removeSpan(SELECTING); } diff --git a/core/java/android/text/method/PasswordTransformationMethod.java b/core/java/android/text/method/PasswordTransformationMethod.java index 4485e3856619..479fdf4cbb23 100644 --- a/core/java/android/text/method/PasswordTransformationMethod.java +++ b/core/java/android/text/method/PasswordTransformationMethod.java @@ -16,6 +16,7 @@ package android.text.method; +import android.annotation.UnsupportedAppUsage; import android.graphics.Rect; import android.os.Handler; import android.os.SystemClock; @@ -261,6 +262,8 @@ implements TransformationMethod, TextWatcher } } + @UnsupportedAppUsage private static PasswordTransformationMethod sInstance; + @UnsupportedAppUsage private static char DOT = '\u2022'; } diff --git a/core/java/android/text/method/TransformationMethod2.java b/core/java/android/text/method/TransformationMethod2.java index ef00ecdb8179..0bf401a84df0 100644 --- a/core/java/android/text/method/TransformationMethod2.java +++ b/core/java/android/text/method/TransformationMethod2.java @@ -15,6 +15,8 @@ */ package android.text.method; +import android.annotation.UnsupportedAppUsage; + /** * TransformationMethod2 extends the TransformationMethod interface * and adds the ability to relax restrictions of TransformationMethod. @@ -29,5 +31,6 @@ public interface TransformationMethod2 extends TransformationMethod { * @param allowLengthChanges true to allow the transformation to change the length * of the input string. */ + @UnsupportedAppUsage public void setLengthChangesAllowed(boolean allowLengthChanges); } diff --git a/core/java/android/text/method/WordIterator.java b/core/java/android/text/method/WordIterator.java index 33e96a8638da..313567acb51f 100644 --- a/core/java/android/text/method/WordIterator.java +++ b/core/java/android/text/method/WordIterator.java @@ -17,6 +17,7 @@ package android.text.method; import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage; import android.icu.lang.UCharacter; import android.icu.lang.UProperty; import android.icu.text.BreakIterator; @@ -52,10 +53,12 @@ public class WordIterator implements Selection.PositionIterator { * Constructs a new WordIterator for the specified locale. * @param locale The locale to be used for analyzing the text. */ + @UnsupportedAppUsage public WordIterator(Locale locale) { mIterator = BreakIterator.getWordInstance(locale); } + @UnsupportedAppUsage public void setCharSequence(@NonNull CharSequence charSequence, int start, int end) { if (0 <= start && end <= charSequence.length()) { mCharSeq = charSequence; @@ -68,6 +71,7 @@ public class WordIterator implements Selection.PositionIterator { } /** {@inheritDoc} */ + @UnsupportedAppUsage public int preceding(int offset) { checkOffsetIsValid(offset); while (true) { @@ -79,6 +83,7 @@ public class WordIterator implements Selection.PositionIterator { } /** {@inheritDoc} */ + @UnsupportedAppUsage public int following(int offset) { checkOffsetIsValid(offset); while (true) { @@ -90,6 +95,7 @@ public class WordIterator implements Selection.PositionIterator { } /** {@inheritDoc} */ + @UnsupportedAppUsage public boolean isBoundary(int offset) { checkOffsetIsValid(offset); return mIterator.isBoundary(offset); @@ -102,6 +108,7 @@ public class WordIterator implements Selection.PositionIterator { * @param offset the given start position to search from. * @return the position of the last boundary preceding the given offset. */ + @UnsupportedAppUsage public int nextBoundary(int offset) { checkOffsetIsValid(offset); return mIterator.following(offset); @@ -114,6 +121,7 @@ public class WordIterator implements Selection.PositionIterator { * @param offset the given start position to search from. * @return the position of the last boundary preceding the given offset. */ + @UnsupportedAppUsage public int prevBoundary(int offset) { checkOffsetIsValid(offset); return mIterator.preceding(offset); @@ -131,6 +139,7 @@ public class WordIterator implements Selection.PositionIterator { * * @throws IllegalArgumentException is offset is not valid. */ + @UnsupportedAppUsage public int getBeginning(int offset) { // TODO: Check if usage of this can be updated to getBeginning(offset, true) if // so this method can be removed. @@ -150,6 +159,7 @@ public class WordIterator implements Selection.PositionIterator { * * @throws IllegalArgumentException is offset is not valid. */ + @UnsupportedAppUsage public int getEnd(int offset) { // TODO: Check if usage of this can be updated to getEnd(offset, true), if // so this method can be removed. @@ -170,6 +180,7 @@ public class WordIterator implements Selection.PositionIterator { * * @throws IllegalArgumentException is offset is not valid. */ + @UnsupportedAppUsage public int getPrevWordBeginningOnTwoWordsBoundary(int offset) { return getBeginning(offset, true); } @@ -188,6 +199,7 @@ public class WordIterator implements Selection.PositionIterator { * * @throws IllegalArgumentException is offset is not valid. */ + @UnsupportedAppUsage public int getNextWordEndOnTwoWordBoundary(int offset) { return getEnd(offset, true); } @@ -268,6 +280,7 @@ public class WordIterator implements Selection.PositionIterator { * * @param offset the offset to search from. */ + @UnsupportedAppUsage public int getPunctuationBeginning(int offset) { checkOffsetIsValid(offset); while (offset != BreakIterator.DONE && !isPunctuationStartBoundary(offset)) { @@ -284,6 +297,7 @@ public class WordIterator implements Selection.PositionIterator { * * @param offset the offset to search from. */ + @UnsupportedAppUsage public int getPunctuationEnd(int offset) { checkOffsetIsValid(offset); while (offset != BreakIterator.DONE && !isPunctuationEndBoundary(offset)) { @@ -300,6 +314,7 @@ public class WordIterator implements Selection.PositionIterator { * @param offset the offset to check from. * @return Whether the offset is after a punctuation character. */ + @UnsupportedAppUsage public boolean isAfterPunctuation(int offset) { if (mStart < offset && offset <= mEnd) { final int codePoint = Character.codePointBefore(mCharSeq, offset); @@ -315,6 +330,7 @@ public class WordIterator implements Selection.PositionIterator { * @param offset the offset to check from. * @return Whether the offset is at a punctuation character. */ + @UnsupportedAppUsage public boolean isOnPunctuation(int offset) { if (mStart <= offset && offset < mEnd) { final int codePoint = Character.codePointAt(mCharSeq, offset); diff --git a/core/java/android/text/style/BulletSpan.java b/core/java/android/text/style/BulletSpan.java index 70175c8611e4..401344779f07 100644 --- a/core/java/android/text/style/BulletSpan.java +++ b/core/java/android/text/style/BulletSpan.java @@ -21,6 +21,7 @@ import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Px; +import android.annotation.UnsupportedAppUsage; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; @@ -70,12 +71,15 @@ public class BulletSpan implements LeadingMarginSpan, ParcelableSpan { private static final int STANDARD_COLOR = 0; @Px + @UnsupportedAppUsage private final int mGapWidth; @Px private final int mBulletRadius; private Path mBulletPath = null; @ColorInt + @UnsupportedAppUsage private final int mColor; + @UnsupportedAppUsage private final boolean mWantColor; /** diff --git a/core/java/android/text/style/DynamicDrawableSpan.java b/core/java/android/text/style/DynamicDrawableSpan.java index 1b16f3345bfa..be772af529ef 100644 --- a/core/java/android/text/style/DynamicDrawableSpan.java +++ b/core/java/android/text/style/DynamicDrawableSpan.java @@ -19,6 +19,7 @@ package android.text.style; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Rect; @@ -78,6 +79,7 @@ public abstract class DynamicDrawableSpan extends ReplacementSpan { protected final int mVerticalAlignment; + @UnsupportedAppUsage private WeakReference<Drawable> mDrawableRef; /** diff --git a/core/java/android/text/style/EasyEditSpan.java b/core/java/android/text/style/EasyEditSpan.java index 9ee0b074459e..8f744f35bf03 100644 --- a/core/java/android/text/style/EasyEditSpan.java +++ b/core/java/android/text/style/EasyEditSpan.java @@ -17,6 +17,7 @@ package android.text.style; import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage; import android.app.PendingIntent; import android.os.Parcel; import android.text.ParcelableSpan; @@ -116,6 +117,7 @@ public class EasyEditSpan implements ParcelableSpan { * * @hide */ + @UnsupportedAppUsage public boolean isDeleteEnabled() { return mDeleteEnabled; } @@ -125,6 +127,7 @@ public class EasyEditSpan implements ParcelableSpan { * * @hide */ + @UnsupportedAppUsage public void setDeleteEnabled(boolean value) { mDeleteEnabled = value; } @@ -134,6 +137,7 @@ public class EasyEditSpan implements ParcelableSpan { * * @hide */ + @UnsupportedAppUsage public PendingIntent getPendingIntent() { return mPendingIntent; } diff --git a/core/java/android/text/style/ImageSpan.java b/core/java/android/text/style/ImageSpan.java index 95f0b43341a2..d4edde9ec589 100644 --- a/core/java/android/text/style/ImageSpan.java +++ b/core/java/android/text/style/ImageSpan.java @@ -19,6 +19,7 @@ package android.text.style; import android.annotation.DrawableRes; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -57,6 +58,7 @@ import java.io.InputStream; public class ImageSpan extends DynamicDrawableSpan { @Nullable + @UnsupportedAppUsage private Drawable mDrawable; @Nullable private Uri mContentUri; diff --git a/core/java/android/text/style/SpellCheckSpan.java b/core/java/android/text/style/SpellCheckSpan.java index 10275c22320d..6ffde38a3b75 100644 --- a/core/java/android/text/style/SpellCheckSpan.java +++ b/core/java/android/text/style/SpellCheckSpan.java @@ -16,6 +16,7 @@ package android.text.style; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.text.ParcelableSpan; import android.text.TextUtils; @@ -31,18 +32,22 @@ public class SpellCheckSpan implements ParcelableSpan { private boolean mSpellCheckInProgress; + @UnsupportedAppUsage public SpellCheckSpan() { mSpellCheckInProgress = false; } + @UnsupportedAppUsage public SpellCheckSpan(Parcel src) { mSpellCheckInProgress = (src.readInt() != 0); } + @UnsupportedAppUsage public void setSpellCheckInProgress(boolean inProgress) { mSpellCheckInProgress = inProgress; } + @UnsupportedAppUsage public boolean isSpellCheckInProgress() { return mSpellCheckInProgress; } diff --git a/core/java/android/text/style/SuggestionRangeSpan.java b/core/java/android/text/style/SuggestionRangeSpan.java index c1943d53407b..d958ddebaf5a 100644 --- a/core/java/android/text/style/SuggestionRangeSpan.java +++ b/core/java/android/text/style/SuggestionRangeSpan.java @@ -16,6 +16,7 @@ package android.text.style; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.text.ParcelableSpan; import android.text.TextPaint; @@ -30,11 +31,13 @@ import android.text.TextUtils; public class SuggestionRangeSpan extends CharacterStyle implements ParcelableSpan { private int mBackgroundColor; + @UnsupportedAppUsage public SuggestionRangeSpan() { // 0 is a fully transparent black. Has to be set using #setBackgroundColor mBackgroundColor = 0; } + @UnsupportedAppUsage public SuggestionRangeSpan(Parcel src) { mBackgroundColor = src.readInt(); } @@ -64,6 +67,7 @@ public class SuggestionRangeSpan extends CharacterStyle implements ParcelableSpa return TextUtils.SUGGESTION_RANGE_SPAN; } + @UnsupportedAppUsage public void setBackgroundColor(int backgroundColor) { mBackgroundColor = backgroundColor; } diff --git a/core/java/android/text/style/SuggestionSpan.java b/core/java/android/text/style/SuggestionSpan.java index 1b00db2e4ad3..521044778257 100644 --- a/core/java/android/text/style/SuggestionSpan.java +++ b/core/java/android/text/style/SuggestionSpan.java @@ -18,6 +18,7 @@ package android.text.style; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.Intent; import android.content.res.TypedArray; @@ -99,7 +100,9 @@ public class SuggestionSpan extends CharacterStyle implements ParcelableSpan { private final String mNotificationTargetPackageName; private final int mHashCode; + @UnsupportedAppUsage private float mEasyCorrectUnderlineThickness; + @UnsupportedAppUsage private int mEasyCorrectUnderlineColor; private float mMisspelledUnderlineThickness; @@ -264,6 +267,7 @@ public class SuggestionSpan extends CharacterStyle implements ParcelableSpan { * * @hide */ + @UnsupportedAppUsage public String getNotificationTargetClassName() { return mNotificationTargetClassName; } @@ -368,6 +372,7 @@ public class SuggestionSpan extends CharacterStyle implements ParcelableSpan { * * @hide */ + @UnsupportedAppUsage public int getUnderlineColor() { // The order here should match what is used in updateDrawState final boolean misspelled = (mFlags & FLAG_MISSPELLED) != 0; @@ -390,6 +395,7 @@ public class SuggestionSpan extends CharacterStyle implements ParcelableSpan { * * @hide */ + @UnsupportedAppUsage public void notifySelection(Context context, String original, int index) { final Intent intent = new Intent(); diff --git a/core/java/android/text/util/Linkify.java b/core/java/android/text/util/Linkify.java index c905f49569d7..9c8148de1e61 100644 --- a/core/java/android/text/util/Linkify.java +++ b/core/java/android/text/util/Linkify.java @@ -20,6 +20,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UiThread; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.telephony.PhoneNumberUtils; import android.telephony.TelephonyManager; @@ -783,6 +784,7 @@ public class Linkify { } } + @UnsupportedAppUsage private static void gatherTelLinks(ArrayList<LinkSpec> links, Spannable s, @Nullable Context context) { PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); diff --git a/core/java/android/util/ArrayMap.java b/core/java/android/util/ArrayMap.java index f1e937e83dc1..5108a796a036 100644 --- a/core/java/android/util/ArrayMap.java +++ b/core/java/android/util/ArrayMap.java @@ -18,6 +18,7 @@ package android.util; import libcore.util.EmptyArray; +import android.annotation.UnsupportedAppUsage; import java.util.Collection; import java.util.ConcurrentModificationException; import java.util.Map; @@ -70,16 +71,19 @@ public final class ArrayMap<K, V> implements Map<K, V> { /** * Maximum number of entries to have in array caches. */ + @UnsupportedAppUsage private static final int CACHE_SIZE = 10; /** * Special hash array value that indicates the container is immutable. */ + @UnsupportedAppUsage static final int[] EMPTY_IMMUTABLE_INTS = new int[0]; /** * @hide Special immutable empty ArrayMap. */ + @UnsupportedAppUsage public static final ArrayMap EMPTY = new ArrayMap<>(-1); /** @@ -88,14 +92,21 @@ public final class ArrayMap<K, V> implements Map<K, V> { * The first entry in the array is a pointer to the next array in the * list; the second entry is a pointer to the int[] hash code array for it. */ + @UnsupportedAppUsage static Object[] mBaseCache; + @UnsupportedAppUsage static int mBaseCacheSize; + @UnsupportedAppUsage static Object[] mTwiceBaseCache; + @UnsupportedAppUsage static int mTwiceBaseCacheSize; final boolean mIdentityHashCode; + @UnsupportedAppUsage int[] mHashes; + @UnsupportedAppUsage Object[] mArray; + @UnsupportedAppUsage int mSize; MapCollections<K, V> mCollections; @@ -111,6 +122,7 @@ public final class ArrayMap<K, V> implements Map<K, V> { } } + @UnsupportedAppUsage int indexOf(Object key, int hash) { final int N = mSize; @@ -149,6 +161,7 @@ public final class ArrayMap<K, V> implements Map<K, V> { return ~end; } + @UnsupportedAppUsage int indexOfNull() { final int N = mSize; @@ -187,6 +200,7 @@ public final class ArrayMap<K, V> implements Map<K, V> { return ~end; } + @UnsupportedAppUsage private void allocArrays(final int size) { if (mHashes == EMPTY_IMMUTABLE_INTS) { throw new UnsupportedOperationException("ArrayMap is immutable"); @@ -225,6 +239,7 @@ public final class ArrayMap<K, V> implements Map<K, V> { mArray = new Object[size<<1]; } + @UnsupportedAppUsage private static void freeArrays(final int[] hashes, final Object[] array, final int size) { if (hashes.length == (BASE_SIZE*2)) { synchronized (ArrayMap.class) { @@ -378,6 +393,7 @@ public final class ArrayMap<K, V> implements Map<K, V> { : indexOf(key, mIdentityHashCode ? System.identityHashCode(key) : key.hashCode()); } + @UnsupportedAppUsage int indexOfValue(Object value) { final int N = mSize*2; final Object[] array = mArray; @@ -535,6 +551,7 @@ public final class ArrayMap<K, V> implements Map<K, V> { * The array must already be large enough to contain the item. * @hide */ + @UnsupportedAppUsage public void append(K key, V value) { int index = mSize; final int hash = key == null ? 0 diff --git a/core/java/android/util/ArraySet.java b/core/java/android/util/ArraySet.java index 2eea7df4767b..526a950b4820 100644 --- a/core/java/android/util/ArraySet.java +++ b/core/java/android/util/ArraySet.java @@ -18,6 +18,7 @@ package android.util; import libcore.util.EmptyArray; +import android.annotation.UnsupportedAppUsage; import java.lang.reflect.Array; import java.util.Collection; import java.util.Iterator; @@ -70,11 +71,15 @@ public final class ArraySet<E> implements Collection<E>, Set<E> { static int sTwiceBaseCacheSize; final boolean mIdentityHashCode; + @UnsupportedAppUsage int[] mHashes; + @UnsupportedAppUsage Object[] mArray; + @UnsupportedAppUsage int mSize; MapCollections<E, E> mCollections; + @UnsupportedAppUsage private int indexOf(Object key, int hash) { final int N = mSize; @@ -113,6 +118,7 @@ public final class ArraySet<E> implements Collection<E>, Set<E> { return ~end; } + @UnsupportedAppUsage private int indexOfNull() { final int N = mSize; @@ -151,6 +157,7 @@ public final class ArraySet<E> implements Collection<E>, Set<E> { return ~end; } + @UnsupportedAppUsage private void allocArrays(final int size) { if (size == (BASE_SIZE * 2)) { synchronized (ArraySet.class) { @@ -208,6 +215,7 @@ public final class ArraySet<E> implements Collection<E>, Set<E> { mArray = new Object[size]; } + @UnsupportedAppUsage private static void freeArrays(final int[] hashes, final Object[] array, final int size) { if (hashes.length == (BASE_SIZE * 2)) { synchronized (ArraySet.class) { @@ -282,6 +290,7 @@ public final class ArraySet<E> implements Collection<E>, Set<E> { } /** {@hide} */ + @UnsupportedAppUsage public ArraySet(Collection<E> set) { this(); if (set != null) { diff --git a/core/java/android/util/Base64.java b/core/java/android/util/Base64.java index 1f2a5a7ca960..ecc0c9cc9de3 100644 --- a/core/java/android/util/Base64.java +++ b/core/java/android/util/Base64.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import java.io.UnsupportedEncodingException; /** @@ -737,5 +738,6 @@ public class Base64 { } } + @UnsupportedAppUsage private Base64() { } // don't instantiate } diff --git a/core/java/android/util/Base64OutputStream.java b/core/java/android/util/Base64OutputStream.java index 4535d1cea7a2..170ef6f5bc9e 100644 --- a/core/java/android/util/Base64OutputStream.java +++ b/core/java/android/util/Base64OutputStream.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import java.io.FilterOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -57,6 +58,7 @@ public class Base64OutputStream extends FilterOutputStream { * * @hide */ + @UnsupportedAppUsage public Base64OutputStream(OutputStream out, int flags, boolean encode) { super(out); this.flags = flags; diff --git a/core/java/android/util/DebugUtils.java b/core/java/android/util/DebugUtils.java index 46e316931935..e87fcff3ee4b 100644 --- a/core/java/android/util/DebugUtils.java +++ b/core/java/android/util/DebugUtils.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import java.io.PrintWriter; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -108,6 +109,7 @@ public class DebugUtils { } /** @hide */ + @UnsupportedAppUsage public static void buildShortClassTag(Object cls, StringBuilder out) { if (cls == null) { out.append("null"); diff --git a/core/java/android/util/DisplayMetrics.java b/core/java/android/util/DisplayMetrics.java index 13de172c811c..b092fcf4fc50 100644 --- a/core/java/android/util/DisplayMetrics.java +++ b/core/java/android/util/DisplayMetrics.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import android.os.SystemProperties; @@ -172,6 +173,7 @@ public class DisplayMetrics { * density for a specific display. */ @Deprecated + @UnsupportedAppUsage public static int DENSITY_DEVICE = getDeviceDensity(); /** @@ -234,12 +236,14 @@ public class DisplayMetrics { * being applied. * @hide */ + @UnsupportedAppUsage public int noncompatWidthPixels; /** * The reported display height prior to any compatibility mode scaling * being applied. * @hide */ + @UnsupportedAppUsage public int noncompatHeightPixels; /** * The reported display density prior to any compatibility mode scaling @@ -252,6 +256,7 @@ public class DisplayMetrics { * being applied. * @hide */ + @UnsupportedAppUsage public int noncompatDensityDpi; /** * The reported scaled density prior to any compatibility mode scaling diff --git a/core/java/android/util/EventLog.java b/core/java/android/util/EventLog.java index 92f218b4155a..65d825a71d81 100644 --- a/core/java/android/util/EventLog.java +++ b/core/java/android/util/EventLog.java @@ -17,6 +17,7 @@ package android.util; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import java.io.BufferedReader; import java.io.FileReader; @@ -82,6 +83,7 @@ public class EventLog { private static final byte FLOAT_TYPE = 4; /** @param data containing event, read from the system */ + @UnsupportedAppUsage /*package*/ Event(byte[] data) { mBuffer = ByteBuffer.wrap(data); mBuffer.order(ByteOrder.nativeOrder()); diff --git a/core/java/android/util/IconDrawableFactory.java b/core/java/android/util/IconDrawableFactory.java index 6a6c2ce4838e..d90b65e22171 100644 --- a/core/java/android/util/IconDrawableFactory.java +++ b/core/java/android/util/IconDrawableFactory.java @@ -15,6 +15,7 @@ */ package android.util; +import android.annotation.UnsupportedAppUsage; import android.annotation.UserIdInt; import android.content.Context; import android.content.pm.ApplicationInfo; @@ -52,6 +53,7 @@ public class IconDrawableFactory { return appInfo.isInstantApp() || mUm.isManagedProfile(userId); } + @UnsupportedAppUsage public Drawable getBadgedIcon(ApplicationInfo appInfo) { return getBadgedIcon(appInfo, UserHandle.getUserId(appInfo.uid)); } @@ -60,6 +62,7 @@ public class IconDrawableFactory { return getBadgedIcon(appInfo, appInfo, userId); } + @UnsupportedAppUsage public Drawable getBadgedIcon(PackageItemInfo itemInfo, ApplicationInfo appInfo, @UserIdInt int userId) { Drawable icon = mPm.loadUnbadgedItemIcon(itemInfo, appInfo); @@ -107,6 +110,7 @@ public class IconDrawableFactory { return Resources.getSystem().getColor(resourceId, null); } + @UnsupportedAppUsage public static IconDrawableFactory newInstance(Context context) { return new IconDrawableFactory(context, true); } diff --git a/core/java/android/util/LocalLog.java b/core/java/android/util/LocalLog.java index eb84479fef69..adfa4fc55567 100644 --- a/core/java/android/util/LocalLog.java +++ b/core/java/android/util/LocalLog.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import java.io.FileDescriptor; import java.io.PrintWriter; import java.time.LocalDateTime; @@ -31,11 +32,13 @@ public final class LocalLog { private final Deque<String> mLog; private final int mMaxLines; + @UnsupportedAppUsage public LocalLog(int maxLines) { mMaxLines = Math.max(0, maxLines); mLog = new ArrayDeque<>(mMaxLines); } + @UnsupportedAppUsage public void log(String msg) { if (mMaxLines <= 0) { return; @@ -50,6 +53,7 @@ public final class LocalLog { mLog.add(logLine); } + @UnsupportedAppUsage public synchronized void dump(FileDescriptor fd, PrintWriter pw, String[] args) { Iterator<String> itr = mLog.iterator(); while (itr.hasNext()) { @@ -69,6 +73,7 @@ public final class LocalLog { ReadOnlyLocalLog(LocalLog log) { mLog = log; } + @UnsupportedAppUsage public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { mLog.dump(fd, pw, args); } @@ -77,6 +82,7 @@ public final class LocalLog { } } + @UnsupportedAppUsage public ReadOnlyLocalLog readOnlyLocalLog() { return new ReadOnlyLocalLog(this); } diff --git a/core/java/android/util/Log.java b/core/java/android/util/Log.java index 7305f85469d8..6826b57ec3f2 100644 --- a/core/java/android/util/Log.java +++ b/core/java/android/util/Log.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import android.os.DeadSystemException; import com.android.internal.os.RuntimeInit; @@ -294,6 +295,7 @@ public final class Log { return wtf(LOG_ID_MAIN, tag, msg, tr, false, false); } + @UnsupportedAppUsage static int wtf(int logId, String tag, String msg, Throwable tr, boolean localStack, boolean system) { TerribleFailure what = new TerribleFailure(msg, tr); @@ -371,6 +373,7 @@ public final class Log { /** @hide */ public static final int LOG_ID_CRASH = 4; /** @hide */ + @UnsupportedAppUsage public static native int println_native(int bufID, int priority, String tag, String msg); /** diff --git a/core/java/android/util/LogWriter.java b/core/java/android/util/LogWriter.java index ce30631bac09..b062ace05700 100644 --- a/core/java/android/util/LogWriter.java +++ b/core/java/android/util/LogWriter.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import java.io.Writer; /** @hide */ @@ -37,6 +38,7 @@ public class LogWriter extends Writer { * {@link android.util.Log#ERROR Log.ERROR}. * @param tag A string tag to associate with each printed log statement. */ + @UnsupportedAppUsage public LogWriter(int priority, String tag) { mPriority = priority; mTag = tag; diff --git a/core/java/android/util/LongArray.java b/core/java/android/util/LongArray.java index 5ed1c8c05cba..6f4aa5211dea 100644 --- a/core/java/android/util/LongArray.java +++ b/core/java/android/util/LongArray.java @@ -17,6 +17,7 @@ package android.util; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import com.android.internal.util.ArrayUtils; import com.android.internal.util.Preconditions; @@ -44,6 +45,7 @@ public class LongArray implements Cloneable { /** * Creates an empty LongArray with the default initial capacity. */ + @UnsupportedAppUsage public LongArray() { this(10); } @@ -102,6 +104,7 @@ public class LongArray implements Cloneable { * * @throws IndexOutOfBoundsException when index < 0 || index > size() */ + @UnsupportedAppUsage public void add(int index, long value) { ensureCapacity(1); int rightSegment = mSize - index; @@ -165,6 +168,7 @@ public class LongArray implements Cloneable { /** * Returns the value at the specified position in this array. */ + @UnsupportedAppUsage public long get(int index) { ArrayUtils.checkBounds(mSize, index); return mValues[index]; @@ -204,6 +208,7 @@ public class LongArray implements Cloneable { /** * Returns the number of values in this array. */ + @UnsupportedAppUsage public int size() { return mSize; } diff --git a/core/java/android/util/LongSparseLongArray.java b/core/java/android/util/LongSparseLongArray.java index a3614572c0f3..d5af92234b31 100644 --- a/core/java/android/util/LongSparseLongArray.java +++ b/core/java/android/util/LongSparseLongArray.java @@ -19,6 +19,7 @@ package android.util; import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; +import android.annotation.UnsupportedAppUsage; import libcore.util.EmptyArray; /** @@ -45,8 +46,11 @@ import libcore.util.EmptyArray; * @hide */ public class LongSparseLongArray implements Cloneable { + @UnsupportedAppUsage private long[] mKeys; + @UnsupportedAppUsage private long[] mValues; + @UnsupportedAppUsage private int mSize; /** diff --git a/core/java/android/util/LruCache.java b/core/java/android/util/LruCache.java index 401548800ec8..f04e7cbc9e8f 100644 --- a/core/java/android/util/LruCache.java +++ b/core/java/android/util/LruCache.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import java.util.LinkedHashMap; import java.util.Map; @@ -60,6 +61,7 @@ import java.util.Map; * Support Package</a> for earlier releases. */ public class LruCache<K, V> { + @UnsupportedAppUsage private final LinkedHashMap<K, V> map; /** Size of this cache in units. Not necessarily the number of elements. */ diff --git a/core/java/android/util/MathUtils.java b/core/java/android/util/MathUtils.java index b2e24c357e3c..09da228443f7 100644 --- a/core/java/android/util/MathUtils.java +++ b/core/java/android/util/MathUtils.java @@ -16,6 +16,8 @@ package android.util; +import android.annotation.UnsupportedAppUsage; + /** * A class that contains utility methods related to numbers. * @@ -28,10 +30,12 @@ public final class MathUtils { private MathUtils() { } + @UnsupportedAppUsage public static float abs(float v) { return v > 0 ? v : -v; } + @UnsupportedAppUsage public static int constrain(int amount, int low, int high) { return amount < low ? low : (amount > high ? high : amount); } @@ -40,6 +44,7 @@ public final class MathUtils { return amount < low ? low : (amount > high ? high : amount); } + @UnsupportedAppUsage public static float constrain(float amount, float low, float high) { return amount < low ? low : (amount > high ? high : amount); } @@ -64,6 +69,7 @@ public final class MathUtils { return a > b ? a : b; } + @UnsupportedAppUsage public static float max(int a, int b) { return a > b ? a : b; } @@ -153,6 +159,7 @@ public final class MathUtils { return (float) Math.tan(angle); } + @UnsupportedAppUsage public static float lerp(float start, float stop, float amount) { return start + (stop - start) * amount; } diff --git a/core/java/android/util/NtpTrustedTime.java b/core/java/android/util/NtpTrustedTime.java index 30d7b6c0786c..da566c934ef7 100644 --- a/core/java/android/util/NtpTrustedTime.java +++ b/core/java/android/util/NtpTrustedTime.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; @@ -56,6 +57,7 @@ public class NtpTrustedTime implements TrustedTime { mTimeout = timeout; } + @UnsupportedAppUsage public static synchronized NtpTrustedTime getInstance(Context context) { if (sSingleton == null) { final Resources res = context.getResources(); @@ -80,6 +82,7 @@ public class NtpTrustedTime implements TrustedTime { } @Override + @UnsupportedAppUsage public boolean forceRefresh() { // We can't do this at initialization time: ConnectivityService might not be running yet. synchronized (this) { @@ -126,6 +129,7 @@ public class NtpTrustedTime implements TrustedTime { } @Override + @UnsupportedAppUsage public boolean hasCache() { return mHasCache; } @@ -149,6 +153,7 @@ public class NtpTrustedTime implements TrustedTime { } @Override + @UnsupportedAppUsage public long currentTimeMillis() { if (!mHasCache) { throw new IllegalStateException("Missing authoritative time source"); @@ -160,11 +165,13 @@ public class NtpTrustedTime implements TrustedTime { return mCachedNtpTime + getCacheAge(); } + @UnsupportedAppUsage public long getCachedNtpTime() { if (LOGD) Log.d(TAG, "getCachedNtpTime() cache hit"); return mCachedNtpTime; } + @UnsupportedAppUsage public long getCachedNtpTimeReference() { return mCachedNtpElapsedRealtime; } diff --git a/core/java/android/util/PathParser.java b/core/java/android/util/PathParser.java index 6f314d0df535..5342d5dfc81d 100644 --- a/core/java/android/util/PathParser.java +++ b/core/java/android/util/PathParser.java @@ -14,6 +14,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import android.graphics.Path; import dalvik.annotation.optimization.FastNative; @@ -28,6 +29,7 @@ public class PathParser { * @param pathString The string representing a path, the same as "d" string in svg file. * @return the generated Path object. */ + @UnsupportedAppUsage public static Path createPathFromPathData(String pathString) { if (pathString == null) { throw new IllegalArgumentException("Path string can not be null."); diff --git a/core/java/android/util/Pools.java b/core/java/android/util/Pools.java index f0b7e01dae48..e242fe5cfca3 100644 --- a/core/java/android/util/Pools.java +++ b/core/java/android/util/Pools.java @@ -16,6 +16,8 @@ package android.util; +import android.annotation.UnsupportedAppUsage; + /** * Helper class for crating pools of objects. An example use looks like this: * <pre> @@ -52,6 +54,7 @@ public final class Pools { /** * @return An instance from the pool if such, null otherwise. */ + @UnsupportedAppUsage public T acquire(); /** @@ -62,6 +65,7 @@ public final class Pools { * * @throws IllegalStateException If the instance is already in the pool. */ + @UnsupportedAppUsage public boolean release(T instance); } @@ -75,6 +79,7 @@ public final class Pools { * @param <T> The pooled type. */ public static class SimplePool<T> implements Pool<T> { + @UnsupportedAppUsage private final Object[] mPool; private int mPoolSize; @@ -86,6 +91,7 @@ public final class Pools { * * @throws IllegalArgumentException If the max pool size is less than zero. */ + @UnsupportedAppUsage public SimplePool(int maxPoolSize) { if (maxPoolSize <= 0) { throw new IllegalArgumentException("The max pool size must be > 0"); @@ -95,6 +101,7 @@ public final class Pools { @Override @SuppressWarnings("unchecked") + @UnsupportedAppUsage public T acquire() { if (mPoolSize > 0) { final int lastPooledIndex = mPoolSize - 1; @@ -107,6 +114,7 @@ public final class Pools { } @Override + @UnsupportedAppUsage public boolean release(T instance) { if (isInPool(instance)) { throw new IllegalStateException("Already in the pool!"); @@ -151,11 +159,13 @@ public final class Pools { } /** @see #SynchronizedPool(int, Object) */ + @UnsupportedAppUsage public SynchronizedPool(int maxPoolSize) { this(maxPoolSize, new Object()); } @Override + @UnsupportedAppUsage public T acquire() { synchronized (mLock) { return super.acquire(); @@ -163,6 +173,7 @@ public final class Pools { } @Override + @UnsupportedAppUsage public boolean release(T element) { synchronized (mLock) { return super.release(element); diff --git a/core/java/android/util/Rational.java b/core/java/android/util/Rational.java index 80d26d943ed7..39e8b14689da 100644 --- a/core/java/android/util/Rational.java +++ b/core/java/android/util/Rational.java @@ -17,6 +17,7 @@ package android.util; import static com.android.internal.util.Preconditions.*; +import android.annotation.UnsupportedAppUsage; import java.io.IOException; import java.io.InvalidObjectException; @@ -74,7 +75,9 @@ public final class Rational extends Number implements Comparable<Rational> { * Do not change the order of these fields or add new instance fields to maintain the * Serializable compatibility across API revisions. */ + @UnsupportedAppUsage private final int mNumerator; + @UnsupportedAppUsage private final int mDenominator; /** diff --git a/core/java/android/util/RecurrenceRule.java b/core/java/android/util/RecurrenceRule.java index 9c898766dc68..209a5912259b 100644 --- a/core/java/android/util/RecurrenceRule.java +++ b/core/java/android/util/RecurrenceRule.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -49,6 +50,7 @@ public class RecurrenceRule implements Parcelable { @VisibleForTesting public static Clock sClock = Clock.systemDefaultZone(); + @UnsupportedAppUsage public final ZonedDateTime start; public final ZonedDateTime end; public final Period period; @@ -65,6 +67,7 @@ public class RecurrenceRule implements Parcelable { } @Deprecated + @UnsupportedAppUsage public static RecurrenceRule buildRecurringMonthly(int dayOfMonth, ZoneId zone) { // Assume we started last January, since it has all possible days final ZonedDateTime now = ZonedDateTime.now(sClock).withZoneSameInstant(zone); diff --git a/core/java/android/util/Singleton.java b/core/java/android/util/Singleton.java index 8a38bdbfdc62..33135e6fd62c 100644 --- a/core/java/android/util/Singleton.java +++ b/core/java/android/util/Singleton.java @@ -16,6 +16,8 @@ package android.util; +import android.annotation.UnsupportedAppUsage; + /** * Singleton helper class for lazily initialization. * @@ -24,10 +26,12 @@ package android.util; * @hide */ public abstract class Singleton<T> { + @UnsupportedAppUsage private T mInstance; protected abstract T create(); + @UnsupportedAppUsage public final T get() { synchronized (this) { if (mInstance == null) { diff --git a/core/java/android/util/Slog.java b/core/java/android/util/Slog.java index 58a27037e03f..c9fc3f2d1bcc 100644 --- a/core/java/android/util/Slog.java +++ b/core/java/android/util/Slog.java @@ -16,6 +16,8 @@ package android.util; +import android.annotation.UnsupportedAppUsage; + /** * @hide */ @@ -24,6 +26,7 @@ public final class Slog { private Slog() { } + @UnsupportedAppUsage public static int v(String tag, String msg) { return Log.println_native(Log.LOG_ID_SYSTEM, Log.VERBOSE, tag, msg); } @@ -33,15 +36,18 @@ public final class Slog { msg + '\n' + Log.getStackTraceString(tr)); } + @UnsupportedAppUsage public static int d(String tag, String msg) { return Log.println_native(Log.LOG_ID_SYSTEM, Log.DEBUG, tag, msg); } + @UnsupportedAppUsage public static int d(String tag, String msg, Throwable tr) { return Log.println_native(Log.LOG_ID_SYSTEM, Log.DEBUG, tag, msg + '\n' + Log.getStackTraceString(tr)); } + @UnsupportedAppUsage public static int i(String tag, String msg) { return Log.println_native(Log.LOG_ID_SYSTEM, Log.INFO, tag, msg); } @@ -51,10 +57,12 @@ public final class Slog { msg + '\n' + Log.getStackTraceString(tr)); } + @UnsupportedAppUsage public static int w(String tag, String msg) { return Log.println_native(Log.LOG_ID_SYSTEM, Log.WARN, tag, msg); } + @UnsupportedAppUsage public static int w(String tag, String msg, Throwable tr) { return Log.println_native(Log.LOG_ID_SYSTEM, Log.WARN, tag, msg + '\n' + Log.getStackTraceString(tr)); @@ -64,10 +72,12 @@ public final class Slog { return Log.println_native(Log.LOG_ID_SYSTEM, Log.WARN, tag, Log.getStackTraceString(tr)); } + @UnsupportedAppUsage public static int e(String tag, String msg) { return Log.println_native(Log.LOG_ID_SYSTEM, Log.ERROR, tag, msg); } + @UnsupportedAppUsage public static int e(String tag, String msg, Throwable tr) { return Log.println_native(Log.LOG_ID_SYSTEM, Log.ERROR, tag, msg + '\n' + Log.getStackTraceString(tr)); @@ -78,6 +88,7 @@ public final class Slog { * will always be handled asynchronously. Primarily for use by coding running within * the system process. */ + @UnsupportedAppUsage public static int wtf(String tag, String msg) { return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, null, false, true); } @@ -94,6 +105,7 @@ public final class Slog { * will always be handled asynchronously. Primarily for use by coding running within * the system process. */ + @UnsupportedAppUsage public static int wtfStack(String tag, String msg) { return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, null, true, true); } @@ -112,10 +124,12 @@ public final class Slog { * and will always be handled asynchronously. Primarily for use by coding running within * the system process. */ + @UnsupportedAppUsage public static int wtf(String tag, String msg, Throwable tr) { return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, tr, false, true); } + @UnsupportedAppUsage public static int println(int priority, String tag, String msg) { return Log.println_native(Log.LOG_ID_SYSTEM, priority, tag, msg); } diff --git a/core/java/android/util/SparseArray.java b/core/java/android/util/SparseArray.java index b3400ef538b8..dc07494b15db 100644 --- a/core/java/android/util/SparseArray.java +++ b/core/java/android/util/SparseArray.java @@ -19,6 +19,7 @@ package android.util; import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; +import android.annotation.UnsupportedAppUsage; import libcore.util.EmptyArray; /** @@ -53,8 +54,11 @@ public class SparseArray<E> implements Cloneable { private static final Object DELETED = new Object(); private boolean mGarbage = false; + @UnsupportedAppUsage private int[] mKeys; + @UnsupportedAppUsage private Object[] mValues; + @UnsupportedAppUsage private int mSize; /** diff --git a/core/java/android/util/SparseBooleanArray.java b/core/java/android/util/SparseBooleanArray.java index 68d347c912bf..9c6b9698d1ae 100644 --- a/core/java/android/util/SparseBooleanArray.java +++ b/core/java/android/util/SparseBooleanArray.java @@ -19,6 +19,7 @@ package android.util; import com.android.internal.util.ArrayUtils; import com.android.internal.util.GrowingArrayUtils; +import android.annotation.UnsupportedAppUsage; import libcore.util.EmptyArray; /** @@ -303,7 +304,10 @@ public class SparseBooleanArray implements Cloneable { return buffer.toString(); } + @UnsupportedAppUsage private int[] mKeys; + @UnsupportedAppUsage private boolean[] mValues; + @UnsupportedAppUsage private int mSize; } diff --git a/core/java/android/util/SparseIntArray.java b/core/java/android/util/SparseIntArray.java index 3b832ddd286c..19547534aef5 100644 --- a/core/java/android/util/SparseIntArray.java +++ b/core/java/android/util/SparseIntArray.java @@ -21,6 +21,7 @@ import com.android.internal.util.GrowingArrayUtils; import java.util.Arrays; +import android.annotation.UnsupportedAppUsage; import libcore.util.EmptyArray; /** @@ -45,8 +46,11 @@ import libcore.util.EmptyArray; * order in the case of <code>valueAt(int)</code>.</p> */ public class SparseIntArray implements Cloneable { + @UnsupportedAppUsage private int[] mKeys; + @UnsupportedAppUsage private int[] mValues; + @UnsupportedAppUsage private int mSize; /** diff --git a/core/java/android/util/TimeUtils.java b/core/java/android/util/TimeUtils.java index 05b613c3c7c7..0e25038bbb38 100644 --- a/core/java/android/util/TimeUtils.java +++ b/core/java/android/util/TimeUtils.java @@ -16,6 +16,7 @@ package android.util; +import android.annotation.UnsupportedAppUsage; import android.os.SystemClock; import libcore.util.TimeZoneFinder; @@ -248,6 +249,7 @@ public class TimeUtils { } /** @hide Just for debugging; not internationalized. */ + @UnsupportedAppUsage public static void formatDuration(long duration, PrintWriter pw, int fieldLen) { synchronized (sFormatSync) { int len = formatDurationLocked(duration, fieldLen); @@ -264,6 +266,7 @@ public class TimeUtils { } /** @hide Just for debugging; not internationalized. */ + @UnsupportedAppUsage public static void formatDuration(long duration, PrintWriter pw) { formatDuration(duration, pw, 0); } @@ -297,6 +300,7 @@ public class TimeUtils { * @return String representation of the time. * @hide */ + @UnsupportedAppUsage public static String logTimeOfDay(long millis) { Calendar c = Calendar.getInstance(); if (millis >= 0) { diff --git a/core/java/android/util/TrustedTime.java b/core/java/android/util/TrustedTime.java index 263d7821a085..c78665d06e75 100644 --- a/core/java/android/util/TrustedTime.java +++ b/core/java/android/util/TrustedTime.java @@ -16,6 +16,8 @@ package android.util; +import android.annotation.UnsupportedAppUsage; + /** * Interface that provides trusted time information, possibly coming from an NTP * server. Implementations may cache answers until {@link #forceRefresh()}. @@ -27,17 +29,20 @@ public interface TrustedTime { * Force update with an external trusted time source, returning {@code true} * when successful. */ + @UnsupportedAppUsage public boolean forceRefresh(); /** * Check if this instance has cached a response from a trusted time source. */ + @UnsupportedAppUsage public boolean hasCache(); /** * Return time since last trusted time source contact, or * {@link Long#MAX_VALUE} if never contacted. */ + @UnsupportedAppUsage public long getCacheAge(); /** @@ -51,5 +56,6 @@ public interface TrustedTime { * Return current time similar to {@link System#currentTimeMillis()}, * possibly using a cached authoritative time source. */ + @UnsupportedAppUsage public long currentTimeMillis(); } diff --git a/core/jni/Android.bp b/core/jni/Android.bp index 88ffb3f87e5d..494a95741090 100644 --- a/core/jni/Android.bp +++ b/core/jni/Android.bp @@ -93,6 +93,7 @@ cc_library_shared { "android_os_HwBlob.cpp", "android_os_HwParcel.cpp", "android_os_HwRemoteBinder.cpp", + "android_os_NativeHandle.cpp", "android_os_MemoryFile.cpp", "android_os_MessageQueue.cpp", "android_os_Parcel.cpp", diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index d059253b116b..f7f10c49fbae 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -165,6 +165,7 @@ extern int register_android_os_HwBinder(JNIEnv *env); extern int register_android_os_HwBlob(JNIEnv *env); extern int register_android_os_HwParcel(JNIEnv *env); extern int register_android_os_HwRemoteBinder(JNIEnv *env); +extern int register_android_os_NativeHandle(JNIEnv *env); extern int register_android_os_MessageQueue(JNIEnv* env); extern int register_android_os_Parcel(JNIEnv* env); extern int register_android_os_SELinux(JNIEnv* env); @@ -1345,6 +1346,7 @@ static const RegJNIRec gRegJNI[] = { REG_JNI(register_android_os_HwBlob), REG_JNI(register_android_os_HwParcel), REG_JNI(register_android_os_HwRemoteBinder), + REG_JNI(register_android_os_NativeHandle), REG_JNI(register_android_os_VintfObject), REG_JNI(register_android_os_VintfRuntimeInfo), REG_JNI(register_android_nio_utils), diff --git a/core/jni/android_os_HwBlob.cpp b/core/jni/android_os_HwBlob.cpp index bb916d2431c5..cb55618c685c 100644 --- a/core/jni/android_os_HwBlob.cpp +++ b/core/jni/android_os_HwBlob.cpp @@ -21,6 +21,7 @@ #include "android_os_HwBlob.h" #include "android_os_HwParcel.h" +#include "android_os_NativeHandle.h" #include <nativehelper/JNIHelp.h> #include <android_runtime/AndroidRuntime.h> @@ -31,6 +32,7 @@ #include "core_jni_helpers.h" using android::AndroidRuntime; +using android::hardware::hidl_handle; using android::hardware::hidl_string; #define PACKAGE_PATH "android/os" @@ -82,6 +84,7 @@ sp<JHwBlob> JHwBlob::GetNativeContext(JNIEnv *env, jobject thiz) { JHwBlob::JHwBlob(JNIEnv *env, jobject thiz, size_t size) : mBuffer(nullptr), mSize(size), + mType(BlobType::GENERIC), mOwnsBuffer(true), mHandle(0) { if (size > 0) { @@ -159,6 +162,15 @@ size_t JHwBlob::size() const { return mSize; } +void JHwBlob::specializeBlobTo(BlobType type) { + CHECK_EQ(static_cast<int>(mType), static_cast<int>(BlobType::GENERIC)); + mType = type; +} + +JHwBlob::BlobType JHwBlob::type() const { + return mType; +} + status_t JHwBlob::putBlob(size_t offset, const sp<JHwBlob> &blob) { size_t index = mSubBlobs.add(); BlobInfo *info = &mSubBlobs.editItemAt(index); @@ -172,42 +184,52 @@ status_t JHwBlob::putBlob(size_t offset, const sp<JHwBlob> &blob) { } status_t JHwBlob::writeToParcel(hardware::Parcel *parcel) const { - size_t handle; + CHECK_EQ(static_cast<int>(mType), static_cast<int>(BlobType::GENERIC)); + + size_t handle = 0; status_t err = parcel->writeBuffer(data(), size(), &handle); if (err != OK) { return err; } - for (size_t i = 0; i < mSubBlobs.size(); ++i) { - const BlobInfo &info = mSubBlobs[i]; - - err = info.mBlob->writeEmbeddedToParcel(parcel, handle, info.mOffset); - - if (err != OK) { - return err; - } - } - - return OK; + return writeSubBlobsToParcel(parcel, handle); } status_t JHwBlob::writeEmbeddedToParcel( hardware::Parcel *parcel, size_t parentHandle, size_t parentOffset) const { - size_t handle; - status_t err = parcel->writeEmbeddedBuffer( - data(), size(), &handle, parentHandle, parentOffset); + size_t handle = 0; + status_t err = OK; + + switch (mType) { + case BlobType::GENERIC: { + err = parcel->writeEmbeddedBuffer(data(), size(), &handle, parentHandle, parentOffset); + break; + } + case BlobType::NATIVE_HANDLE: { + err = parcel->writeEmbeddedNativeHandle( + static_cast<const native_handle *>(data()), parentHandle, parentOffset); + + CHECK(mSubBlobs.empty()); + break; + } + default: { err = INVALID_OPERATION; } + } if (err != OK) { return err; } + return writeSubBlobsToParcel(parcel, handle); +} + +status_t JHwBlob::writeSubBlobsToParcel(hardware::Parcel *parcel, + size_t parentHandle) const { for (size_t i = 0; i < mSubBlobs.size(); ++i) { const BlobInfo &info = mSubBlobs[i]; - - err = info.mBlob->writeEmbeddedToParcel(parcel, handle, info.mOffset); + status_t err = info.mBlob->writeEmbeddedToParcel(parcel, parentHandle, info.mOffset); if (err != OK) { return err; @@ -252,7 +274,7 @@ static void releaseNativeContext(void *nativeContext) { } } -static jlong JHwBlob_native_init(JNIEnv *env) { +static jlong JHwBlob_native_init(JNIEnv *env, jclass /*clazz*/) { JHwBlob::InitClass(env); return reinterpret_cast<jlong>(&releaseNativeContext); @@ -456,6 +478,31 @@ static void JHwBlob_native_putString( blob->putBlob(offset + hidl_string::kOffsetOfBuffer, subBlob); } +static void JHwBlob_native_putNativeHandle(JNIEnv *env, jobject thiz, + jlong offset, jobject jHandle) { + std::unique_ptr<native_handle_t, int(*)(native_handle_t*)> nativeHandle( + JNativeHandle::MakeCppNativeHandle(env, jHandle, nullptr /* storage */), + native_handle_delete); + + size_t size = 0; + if (nativeHandle != nullptr) { + size = sizeof(native_handle_t) + nativeHandle->numFds * sizeof(int) + + nativeHandle->numInts * sizeof(int); + } + + ScopedLocalRef<jobject> subBlobObj(env, JHwBlob::NewObject(env, size)); + sp<JHwBlob> subBlob = JHwBlob::GetNativeContext(env, subBlobObj.get()); + subBlob->specializeBlobTo(JHwBlob::BlobType::NATIVE_HANDLE); + subBlob->write(0 /* offset */, nativeHandle.get(), size); + + hidl_handle cppHandle; + cppHandle.setTo(static_cast<native_handle_t *>(subBlob->data()), false /* shouldOwn */); + + sp<JHwBlob> blob = JHwBlob::GetNativeContext(env, thiz); + blob->write(offset, &cppHandle, sizeof(cppHandle)); + blob->putBlob(offset + hidl_handle::kOffsetOfNativeHandle, subBlob); +} + #define DEFINE_BLOB_ARRAY_PUTTER(Suffix,Type,NewType) \ static void JHwBlob_native_put ## Suffix ## Array( \ JNIEnv *env, jobject thiz, jlong offset, Type ## Array array) { \ @@ -563,6 +610,8 @@ static JNINativeMethod gMethods[] = { { "putFloat", "(JF)V", (void *)JHwBlob_native_putFloat }, { "putDouble", "(JD)V", (void *)JHwBlob_native_putDouble }, { "putString", "(JLjava/lang/String;)V", (void *)JHwBlob_native_putString }, + { "putNativeHandle", "(JL" PACKAGE_PATH "/NativeHandle;)V", + (void*)JHwBlob_native_putNativeHandle }, { "putBoolArray", "(J[Z)V", (void *)JHwBlob_native_putBoolArray }, { "putInt8Array", "(J[B)V", (void *)JHwBlob_native_putInt8Array }, diff --git a/core/jni/android_os_HwBlob.h b/core/jni/android_os_HwBlob.h index 6b1db639ac19..69a1b165af9a 100644 --- a/core/jni/android_os_HwBlob.h +++ b/core/jni/android_os_HwBlob.h @@ -27,6 +27,11 @@ namespace android { struct JHwBlob : public RefBase { + enum class BlobType { + GENERIC, + NATIVE_HANDLE, + }; + static void InitClass(JNIEnv *env); static sp<JHwBlob> SetNativeContext( @@ -54,6 +59,9 @@ struct JHwBlob : public RefBase { size_t size() const; + void specializeBlobTo(BlobType type); + BlobType type() const; + status_t putBlob(size_t offset, const sp<JHwBlob> &blob); status_t writeToParcel(hardware::Parcel *parcel) const; @@ -74,12 +82,15 @@ private: void *mBuffer; size_t mSize; + BlobType mType; bool mOwnsBuffer; size_t mHandle; Vector<BlobInfo> mSubBlobs; + status_t writeSubBlobsToParcel(hardware::Parcel *parcel, size_t parentHandle) const; + DISALLOW_COPY_AND_ASSIGN(JHwBlob); }; diff --git a/core/jni/android_os_HwParcel.cpp b/core/jni/android_os_HwParcel.cpp index 061349aee96f..7221ca11cc00 100644 --- a/core/jni/android_os_HwParcel.cpp +++ b/core/jni/android_os_HwParcel.cpp @@ -22,6 +22,7 @@ #include "android_os_HwBinder.h" #include "android_os_HwBlob.h" +#include "android_os_NativeHandle.h" #include "android_os_HwRemoteBinder.h" #include <nativehelper/JNIHelp.h> @@ -34,6 +35,7 @@ using android::AndroidRuntime; +using ::android::hardware::hidl_handle; using ::android::hardware::hidl_string; using ::android::hardware::hidl_vec; @@ -436,6 +438,18 @@ static void JHwParcel_native_writeString( signalExceptionForError(env, err); } +static void JHwParcel_native_writeNativeHandle(JNIEnv *env, jobject thiz, jobject valObj) { + sp<JHwParcel> impl = JHwParcel::GetNativeContext(env, thiz); + + EphemeralStorage *storage = impl->getStorage(); + native_handle_t *handle = JNativeHandle::MakeCppNativeHandle(env, valObj, storage); + + hardware::Parcel *parcel = impl->getParcel(); + status_t err = parcel->writeNativeHandleNoDup(handle); + + signalExceptionForError(env, err); +} + #define DEFINE_PARCEL_VECTOR_WRITER(Suffix,Type) \ static void JHwParcel_native_write ## Suffix ## Vector( \ JNIEnv *env, jobject thiz, Type ## Array valObj) { \ @@ -524,12 +538,96 @@ static void JHwParcel_native_writeBoolVector( signalExceptionForError(env, err); } +template<typename T> +static void WriteHidlVector(JNIEnv *env, jobject thiz, const hidl_vec<T> &vec) { + hardware::Parcel *parcel = JHwParcel::GetNativeContext(env, thiz)->getParcel(); + + size_t parentHandle; + status_t err = parcel->writeBuffer(&vec, sizeof(vec), &parentHandle); + + if (err == OK) { + size_t childHandle; + err = ::android::hardware::writeEmbeddedToParcel( + vec, + parcel, + parentHandle, + 0 /* parentOffset */, + &childHandle); + + for (size_t i = 0; (err == OK) && (i < vec.size()); ++i) { + err = ::android::hardware::writeEmbeddedToParcel( + vec[i], + parcel, + childHandle, + i * sizeof(T)); + } + } + + signalExceptionForError(env, err); +} + +static void JHwParcel_native_writeStringVector( + JNIEnv *env, jobject thiz, jobjectArray arrayObj) { + if (arrayObj == nullptr) { + jniThrowException(env, "java/lang/NullPointerException", nullptr); + return; + } + + sp<JHwParcel> impl = JHwParcel::GetNativeContext(env, thiz); + EphemeralStorage *storage = impl->getStorage(); + + void *vecPtr = storage->allocTemporaryStorage(sizeof(hidl_vec<hidl_string>)); + hidl_vec<hidl_string> *vec = new (vecPtr) hidl_vec<hidl_string>(); + + jsize len = env->GetArrayLength(arrayObj); + hidl_string *strings = storage->allocStringArray(len); + vec->setToExternal(strings, len, false /* shouldOwn */); + + for (jsize i = 0; i < len; ++i) { + ScopedLocalRef<jstring> stringObj(env, (jstring) env->GetObjectArrayElement(arrayObj, i)); + + const hidl_string *s = storage->allocTemporaryString(env, stringObj.get()); + strings[i].setToExternal(s->c_str(), s->size()); + } + + WriteHidlVector(env, thiz, *vec); +} + +static void JHwParcel_native_writeNativeHandleVector( + JNIEnv *env, jobject thiz, jobjectArray jHandleArray) { + if (jHandleArray == nullptr) { + jniThrowException(env, "java/lang/NullPointerException", nullptr); + return; + } + + sp<JHwParcel> impl = JHwParcel::GetNativeContext(env, thiz); + EphemeralStorage *storage = impl->getStorage(); + + void *vecPtr = storage->allocTemporaryStorage(sizeof(hidl_vec<hidl_handle>)); + hidl_vec<hidl_handle> *vec = new (vecPtr) hidl_vec<hidl_handle>(); + + jsize len = env->GetArrayLength(jHandleArray); + hidl_handle *handles = static_cast<hidl_handle *>( + storage->allocTemporaryStorage(len * sizeof(hidl_handle))); + + vec->setToExternal(handles, len, false /* shouldOwn */); + for (jsize i = 0; i < len; i++) { + ScopedLocalRef<jobject> jHandle(env, env->GetObjectArrayElement(jHandleArray, i)); + + native_handle_t* handle = JNativeHandle::MakeCppNativeHandle(env, jHandle.get(), storage); + + new (&(handles[i])) hidl_handle(); + handles[i].setTo(handle, false /* shouldOwn */); + } + + WriteHidlVector(env, thiz, *vec); +} + static void JHwParcel_native_writeStrongBinder( JNIEnv *env, jobject thiz, jobject binderObj) { sp<hardware::IBinder> binder; if (binderObj != NULL) { - ScopedLocalRef<jclass> hwBinderKlass( - env, FindClassOrDie(env, PACKAGE_PATH "/HwBinder")); + ScopedLocalRef<jclass> hwBinderKlass(env, FindClassOrDie(env, PACKAGE_PATH "/HwBinder")); ScopedLocalRef<jclass> hwRemoteBinderKlass( env, FindClassOrDie(env, PACKAGE_PATH "/HwRemoteBinder")); @@ -587,6 +685,37 @@ static jstring JHwParcel_native_readString(JNIEnv *env, jobject thiz) { return MakeStringObjFromHidlString(env, *s); } +static jobject ReadNativeHandle(JNIEnv *env, jobject thiz, jboolean embedded, + jlong parentHandle, jlong offset) { + hardware::Parcel *parcel = + JHwParcel::GetNativeContext(env, thiz)->getParcel(); + + const native_handle_t *handle = nullptr; + status_t err = OK; + + if (embedded) { + err = parcel->readNullableEmbeddedNativeHandle(parentHandle, offset, &handle); + } else { + err = parcel->readNullableNativeHandleNoDup(&handle); + } + + if (err != OK) { + signalExceptionForError(env, err); + return nullptr; + } + + return JNativeHandle::MakeJavaNativeHandleObj(env, handle); +} + +static jobject JHwParcel_native_readNativeHandle(JNIEnv *env, jobject thiz) { + return ReadNativeHandle(env, thiz, false /*embedded*/, 0L /*parentHandle*/, 0L /*offset*/); +} + +static jobject JHwParcel_native_readEmbeddedNativeHandle( + JNIEnv *env, jobject thiz, jlong parentHandle, jlong offset) { + return ReadNativeHandle(env, thiz, true /*embedded*/, parentHandle, offset); +} + #define DEFINE_PARCEL_VECTOR_READER(Suffix,Type,NewType) \ static Type ## Array JHwParcel_native_read ## Suffix ## Vector( \ JNIEnv *env, jobject thiz) { \ @@ -630,10 +759,8 @@ DEFINE_PARCEL_VECTOR_READER(Int64,jlong,Long) DEFINE_PARCEL_VECTOR_READER(Float,jfloat,Float) DEFINE_PARCEL_VECTOR_READER(Double,jdouble,Double) -static jbooleanArray JHwParcel_native_readBoolVector( - JNIEnv *env, jobject thiz) { - hardware::Parcel *parcel = - JHwParcel::GetNativeContext(env, thiz)->getParcel(); +static jbooleanArray JHwParcel_native_readBoolVector(JNIEnv *env, jobject thiz) { + hardware::Parcel *parcel = JHwParcel::GetNativeContext(env, thiz)->getParcel(); size_t parentHandle; @@ -692,101 +819,62 @@ static jobjectArray MakeStringArray( return arrayObj; } -static jobjectArray JHwParcel_native_readStringVector( - JNIEnv *env, jobject thiz) { - typedef hidl_vec<hidl_string> string_vec; +template<typename T> +static const hidl_vec<T> *ReadHidlVector(JNIEnv *env, jobject thiz) { + const hidl_vec<T> *vec; - hardware::Parcel *parcel = - JHwParcel::GetNativeContext(env, thiz)->getParcel(); + hardware::Parcel *parcel = JHwParcel::GetNativeContext(env, thiz)->getParcel(); size_t parentHandle; + status_t err = parcel->readBuffer(sizeof(hidl_vec<T>), + &parentHandle, reinterpret_cast<const void **>(&vec)); - const string_vec *vec; - status_t err = parcel->readBuffer(sizeof(*vec), &parentHandle, - reinterpret_cast<const void **>(&vec)); - - if (err != OK) { - signalExceptionForError(env, err); - return NULL; - } - - size_t childHandle; - err = ::android::hardware::readEmbeddedFromParcel( - const_cast<string_vec &>(*vec), - *parcel, parentHandle, 0 /* parentOffset */, &childHandle); + if (err == OK) { + size_t childHandle; + err = ::android::hardware::readEmbeddedFromParcel( + const_cast<hidl_vec<T> &>(*vec), + *parcel, parentHandle, + 0 /* parentOffset */, + &childHandle); - for (size_t i = 0; (err == OK) && (i < vec->size()); ++i) { - err = android::hardware::readEmbeddedFromParcel( - const_cast<hidl_string &>((*vec)[i]), + for (size_t i = 0; (err == OK) && (i < vec->size()); i++) { + err = android::hardware::readEmbeddedFromParcel( + const_cast<T &>((*vec)[i]), *parcel, childHandle, - i * sizeof(hidl_string) /* parentOffset */); + i * sizeof(T) /* parentOffset */); + } } if (err != OK) { signalExceptionForError(env, err); - return NULL; + return nullptr; } - return MakeStringArray(env, &(*vec)[0], vec->size()); + return vec; } -static void JHwParcel_native_writeStringVector( - JNIEnv *env, jobject thiz, jobjectArray arrayObj) { - typedef hidl_vec<hidl_string> string_vec; - - if (arrayObj == NULL) { - jniThrowException(env, "java/lang/NullPointerException", NULL); - return; - } - - jsize len = env->GetArrayLength(arrayObj); - - sp<JHwParcel> impl = JHwParcel::GetNativeContext(env, thiz); - - void *vecPtr = - impl->getStorage()->allocTemporaryStorage(sizeof(string_vec)); - - string_vec *vec = new (vecPtr) string_vec; - - hidl_string *strings = impl->getStorage()->allocStringArray(len); - vec->setToExternal(strings, len); - - for (jsize i = 0; i < len; ++i) { - ScopedLocalRef<jstring> stringObj( - env, - (jstring)env->GetObjectArrayElement(arrayObj, i)); - - const hidl_string *s = - impl->getStorage()->allocTemporaryString(env, stringObj.get()); - - strings[i].setToExternal(s->c_str(), s->size()); - } +static jobjectArray JHwParcel_native_readStringVector( + JNIEnv *env, jobject thiz) { + const hidl_vec<hidl_string> *vec = ReadHidlVector<hidl_string>(env, thiz); + return MakeStringArray(env, &(*vec)[0], vec->size()); +} - hardware::Parcel *parcel = impl->getParcel(); +static jobjectArray JHwParcel_native_readNativeHandleVector( + JNIEnv *env, jobject thiz) { + const hidl_vec<hidl_handle> *vec = ReadHidlVector<hidl_handle>(env, thiz); - size_t parentHandle; - status_t err = parcel->writeBuffer(vec, sizeof(*vec), &parentHandle); + jsize length = vec->size(); + jobjectArray objArray = JNativeHandle::AllocJavaNativeHandleObjArray( + env, length); - if (err == OK) { - size_t childHandle; - err = ::android::hardware::writeEmbeddedToParcel( - *vec, - parcel, - parentHandle, - 0 /* parentOffset */, - &childHandle); + for (jsize i = 0; i < length; i++) { + jobject jHandle = JNativeHandle::MakeJavaNativeHandleObj(env, (*vec)[i].getNativeHandle()); - for (size_t i = 0; (err == OK) && (i < vec->size()); ++i) { - err = ::android::hardware::writeEmbeddedToParcel( - (*vec)[i], - parcel, - childHandle, - i * sizeof(hidl_string)); - } + env->SetObjectArrayElement(objArray, i, jHandle); } - signalExceptionForError(env, err); + return objArray; } static jobject JHwParcel_native_readStrongBinder(JNIEnv *env, jobject thiz) { @@ -890,6 +978,9 @@ static JNINativeMethod gMethods[] = { { "writeString", "(Ljava/lang/String;)V", (void *)JHwParcel_native_writeString }, + { "writeNativeHandle", "(L" PACKAGE_PATH "/NativeHandle;)V", + (void *)JHwParcel_native_writeNativeHandle }, + { "writeBoolVector", "([Z)V", (void *)JHwParcel_native_writeBoolVector }, { "writeInt8Vector", "([B)V", (void *)JHwParcel_native_writeInt8Vector }, { "writeInt16Vector", "([S)V", (void *)JHwParcel_native_writeInt16Vector }, @@ -903,6 +994,9 @@ static JNINativeMethod gMethods[] = { { "writeStringVector", "([Ljava/lang/String;)V", (void *)JHwParcel_native_writeStringVector }, + { "writeNativeHandleVector", "([L" PACKAGE_PATH "/NativeHandle;)V", + (void *)JHwParcel_native_writeNativeHandleVector }, + { "writeStrongBinder", "(L" PACKAGE_PATH "/IHwBinder;)V", (void *)JHwParcel_native_writeStrongBinder }, @@ -920,6 +1014,12 @@ static JNINativeMethod gMethods[] = { { "readString", "()Ljava/lang/String;", (void *)JHwParcel_native_readString }, + { "readNativeHandle", "()L" PACKAGE_PATH "/NativeHandle;", + (void *)JHwParcel_native_readNativeHandle }, + + { "readEmbeddedNativeHandle", "(JJ)L" PACKAGE_PATH "/NativeHandle;", + (void *)JHwParcel_native_readEmbeddedNativeHandle }, + { "readBoolVectorAsArray", "()[Z", (void *)JHwParcel_native_readBoolVector }, @@ -944,6 +1044,9 @@ static JNINativeMethod gMethods[] = { { "readStringVectorAsArray", "()[Ljava/lang/String;", (void *)JHwParcel_native_readStringVector }, + { "readNativeHandleAsArray", "()[L" PACKAGE_PATH "/NativeHandle;", + (void *)JHwParcel_native_readNativeHandleVector }, + { "readStrongBinder", "()L" PACKAGE_PATH "/IHwBinder;", (void *)JHwParcel_native_readStrongBinder }, diff --git a/core/jni/android_os_NativeHandle.cpp b/core/jni/android_os_NativeHandle.cpp new file mode 100644 index 000000000000..770fdb0d5d20 --- /dev/null +++ b/core/jni/android_os_NativeHandle.cpp @@ -0,0 +1,103 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "android_os_NativeHandle.h" + +#include <nativehelper/JNIHelp.h> +#include <nativehelper/ScopedLocalRef.h> + +#include "core_jni_helpers.h" + +#define PACKAGE_PATH "android/os" +#define CLASS_NAME "NativeHandle" +#define CLASS_PATH PACKAGE_PATH "/" CLASS_NAME + +namespace android { + +static struct { + jclass clazz; + jmethodID constructID; // NativeHandle(int[] fds, int[] ints, boolean owns) + + jmethodID getFdsID; // int[] NativeHandle.getFds() + jmethodID getIntsID; // int[] NativeHandle.getInts() +} gNativeHandleFields; + +jobject JNativeHandle::MakeJavaNativeHandleObj( + JNIEnv *env, const native_handle_t *handle) { + if (handle == nullptr) { return nullptr; } + + const int numFds = handle->numFds; + ScopedLocalRef<jintArray> fds(env, env->NewIntArray(numFds)); + env->SetIntArrayRegion(fds.get(), 0, numFds, &(handle->data[0])); + + const int numInts = handle->numInts; + ScopedLocalRef<jintArray> ints(env, env->NewIntArray(numInts)); + env->SetIntArrayRegion(ints.get(), 0, numInts, &(handle->data[numFds])); + + return env->NewObject(gNativeHandleFields.clazz, + gNativeHandleFields.constructID, fds.get(), ints.get(), false /*own*/); +} + +native_handle_t *JNativeHandle::MakeCppNativeHandle( + JNIEnv *env, jobject jHandle, EphemeralStorage *storage) { + if (jHandle == nullptr) { return nullptr; } + + if (!env->IsInstanceOf(jHandle, gNativeHandleFields.clazz)) { + jniThrowException(env, "java/lang/ClassCastException", + "jHandle must be an instance of NativeHandle."); + return nullptr; + } + + ScopedLocalRef<jintArray> fds(env, (jintArray) env->CallObjectMethod( + jHandle, gNativeHandleFields.getFdsID)); + + ScopedLocalRef<jintArray> ints(env, (jintArray) env->CallObjectMethod( + jHandle, gNativeHandleFields.getIntsID)); + + const int numFds = (int) env->GetArrayLength(fds.get()); + const int numInts = (int) env->GetArrayLength(ints.get()); + + native_handle_t *handle = (storage == nullptr) + ? native_handle_create(numFds, numInts) + : storage->allocTemporaryNativeHandle(numFds, numInts); + + if (handle != nullptr) { + env->GetIntArrayRegion(fds.get(), 0, numFds, &(handle->data[0])); + env->GetIntArrayRegion(ints.get(), 0, numInts, &(handle->data[numFds])); + } else { + jniThrowException(env, "java/lang/OutOfMemoryError", + "Failed to allocate memory for native_handle_t."); + } + + return handle; +} + +jobjectArray JNativeHandle::AllocJavaNativeHandleObjArray(JNIEnv *env, jsize length) { + return env->NewObjectArray(length, gNativeHandleFields.clazz, nullptr); +} + +int register_android_os_NativeHandle(JNIEnv *env) { + jclass clazz = FindClassOrDie(env, CLASS_PATH); + gNativeHandleFields.clazz = MakeGlobalRefOrDie(env, clazz); + + gNativeHandleFields.constructID = GetMethodIDOrDie(env, clazz, "<init>", "([I[IZ)V"); + gNativeHandleFields.getFdsID = GetMethodIDOrDie(env, clazz, "getFdsAsIntArray", "()[I"); + gNativeHandleFields.getIntsID = GetMethodIDOrDie(env, clazz, "getInts", "()[I"); + + return 0; +} + +} diff --git a/core/jni/android_os_NativeHandle.h b/core/jni/android_os_NativeHandle.h new file mode 100644 index 000000000000..bbe3ebc1dbd0 --- /dev/null +++ b/core/jni/android_os_NativeHandle.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_OS_NATIVE_HANDLE_H +#define ANDROID_OS_NATIVE_HANDLE_H + +#include "hwbinder/EphemeralStorage.h" + +#include <cutils/native_handle.h> +#include <jni.h> + +namespace android { + +struct JNativeHandle { + + /** + * Returns a Java NativeHandle object representing the parameterized + * native_handle_t instance. + */ + static jobject MakeJavaNativeHandleObj(JNIEnv *env, const native_handle_t *handle); + + /** + * Returns a heap-allocated native_handle_t instance representing the + * parameterized Java object. Note that if no valid EphemeralStorage* + * parameter is supplied (storage is nullptr), the return value must + * be explicitly deallocated (using native_handle_delete). + */ + static native_handle_t* MakeCppNativeHandle(JNIEnv *env, jobject jHandle, + EphemeralStorage *storage); + + /** + * Returns an (uninitialized) array of Java NativeHandle objects. + */ + static jobjectArray AllocJavaNativeHandleObjArray(JNIEnv *env, jsize length); +}; + +} + +#endif // ANDROID_OS_NATIVE_HANDLE_H diff --git a/core/jni/android_os_Parcel.cpp b/core/jni/android_os_Parcel.cpp index bed239f97951..7ef06dc54945 100644 --- a/core/jni/android_os_Parcel.cpp +++ b/core/jni/android_os_Parcel.cpp @@ -336,8 +336,13 @@ static jbyteArray android_os_Parcel_createByteArray(JNIEnv* env, jclass clazz, j jbyte* a2 = (jbyte*)env->GetPrimitiveArrayCritical(ret, 0); if (a2) { const void* data = parcel->readInplace(len); - memcpy(a2, data, len); + if (data) { + memcpy(a2, data, len); + } env->ReleasePrimitiveArrayCritical(ret, a2, 0); + if (!data) { + ret = NULL; + } } } } @@ -360,9 +365,14 @@ static jboolean android_os_Parcel_readByteArray(JNIEnv* env, jclass clazz, jlong jbyte* ar = (jbyte*)env->GetPrimitiveArrayCritical((jarray)dest, 0); if (ar) { const void* data = parcel->readInplace(len); - memcpy(ar, data, len); + if (data) { + memcpy(ar, data, len); + ret = JNI_TRUE; + } else { + ret = JNI_FALSE; + } + env->ReleasePrimitiveArrayCritical((jarray)dest, ar, 0); - ret = JNI_TRUE; } } return ret; diff --git a/core/jni/android_util_MemoryIntArray.cpp b/core/jni/android_util_MemoryIntArray.cpp index 2dfbe3ecfef6..b68f9eca70cd 100644 --- a/core/jni/android_util_MemoryIntArray.cpp +++ b/core/jni/android_util_MemoryIntArray.cpp @@ -142,8 +142,6 @@ static void android_util_MemoryIntArray_close(JNIEnv* env, jobject clazz, jint f jniThrowException(env, "java/io/IOException", "ashmem unpinning failed"); return; } - - close(fd); } static jint android_util_MemoryIntArray_get(JNIEnv* env, jobject clazz, diff --git a/core/jni/hwbinder/EphemeralStorage.cpp b/core/jni/hwbinder/EphemeralStorage.cpp index 3b18f2b36b9e..95bb42ea57c6 100644 --- a/core/jni/hwbinder/EphemeralStorage.cpp +++ b/core/jni/hwbinder/EphemeralStorage.cpp @@ -71,6 +71,17 @@ const hidl_string *EphemeralStorage::allocTemporaryString( return s; } +native_handle_t *EphemeralStorage::allocTemporaryNativeHandle( + int numFds, int numInts) { + Item item; + item.mType = TYPE_NATIVE_HANDLE; + item.mObj = nullptr; + item.mPtr = native_handle_create(numFds, numInts); + mItems.push_back(item); + + return static_cast<native_handle_t*>(item.mPtr); +} + #define DEFINE_ALLOC_VECTOR_METHODS(Suffix,Type,NewType) \ const hidl_vec<Type> *EphemeralStorage::allocTemporary ## Suffix ## Vector( \ JNIEnv *env, Type ## Array arrayObj) { \ @@ -145,6 +156,13 @@ void EphemeralStorage::release(JNIEnv *env) { DEFINE_RELEASE_ARRAY_CASE(Float,jfloat,Float) DEFINE_RELEASE_ARRAY_CASE(Double,jdouble,Double) + case TYPE_NATIVE_HANDLE: + { + int err = native_handle_delete(static_cast<native_handle_t *>(item.mPtr)); + CHECK(err == 0); + break; + } + default: CHECK(!"Should not be here"); } diff --git a/core/jni/hwbinder/EphemeralStorage.h b/core/jni/hwbinder/EphemeralStorage.h index f07c782bfdf7..55ef74169eb1 100644 --- a/core/jni/hwbinder/EphemeralStorage.h +++ b/core/jni/hwbinder/EphemeralStorage.h @@ -43,6 +43,8 @@ struct EphemeralStorage { const ::android::hardware::hidl_string *allocTemporaryString( JNIEnv *env, jstring stringObj); + native_handle_t *allocTemporaryNativeHandle(int numFds, int numInts); + DECLARE_ALLOC_METHODS(Int8,jbyte) DECLARE_ALLOC_METHODS(Int16,jshort) DECLARE_ALLOC_METHODS(Int32,jint) @@ -61,6 +63,7 @@ private: TYPE_Int64_ARRAY, TYPE_Float_ARRAY, TYPE_Double_ARRAY, + TYPE_NATIVE_HANDLE, }; struct Item { diff --git a/location/java/android/location/Country.java b/location/java/android/location/Country.java index 7c1485d88a3e..6f82b7849a82 100644 --- a/location/java/android/location/Country.java +++ b/location/java/android/location/Country.java @@ -16,6 +16,7 @@ package android.location; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.os.SystemClock; @@ -78,6 +79,7 @@ public class Country implements Parcelable { * <li>{@link #COUNTRY_SOURCE_LOCALE}</li> * </ul> */ + @UnsupportedAppUsage public Country(final String countryIso, final int source) { if (countryIso == null || source < COUNTRY_SOURCE_NETWORK || source > COUNTRY_SOURCE_LOCALE) { @@ -107,6 +109,7 @@ public class Country implements Parcelable { /** * @return the ISO 3166-1 two letters country code */ + @UnsupportedAppUsage public final String getCountryIso() { return mCountryIso; } @@ -121,6 +124,7 @@ public class Country implements Parcelable { * <li>{@link #COUNTRY_SOURCE_LOCALE}</li> * </ul> */ + @UnsupportedAppUsage public final int getSource() { return mSource; } diff --git a/location/java/android/location/CountryDetector.java b/location/java/android/location/CountryDetector.java index ec6dfb713b10..119d1e0071e5 100644 --- a/location/java/android/location/CountryDetector.java +++ b/location/java/android/location/CountryDetector.java @@ -19,6 +19,7 @@ package android.location; import java.util.HashMap; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.Handler; import android.os.Looper; @@ -87,6 +88,7 @@ public class CountryDetector { * create an instance of this class is using the factory * Context.getSystemService. */ + @UnsupportedAppUsage public CountryDetector(ICountryDetector service) { mService = service; mListeners = new HashMap<CountryListener, ListenerTransport>(); @@ -98,6 +100,7 @@ public class CountryDetector { * @return the country if it is available immediately, otherwise null will * be returned. */ + @UnsupportedAppUsage public Country detectCountry() { try { return mService.detectCountry(); @@ -116,6 +119,7 @@ public class CountryDetector { * implement the callback mechanism. If looper is null then the * callbacks will be called on the main thread. */ + @UnsupportedAppUsage public void addCountryListener(CountryListener listener, Looper looper) { synchronized (mListeners) { if (!mListeners.containsKey(listener)) { @@ -133,6 +137,7 @@ public class CountryDetector { /** * Remove the listener */ + @UnsupportedAppUsage public void removeCountryListener(CountryListener listener) { synchronized (mListeners) { ListenerTransport transport = mListeners.get(listener); diff --git a/location/java/android/location/CountryListener.java b/location/java/android/location/CountryListener.java index e36db412eaec..70a83c5acdd9 100644 --- a/location/java/android/location/CountryListener.java +++ b/location/java/android/location/CountryListener.java @@ -16,6 +16,8 @@ package android.location; +import android.annotation.UnsupportedAppUsage; + /** * The listener for receiving the notification when the country is detected or * changed @@ -26,5 +28,6 @@ public interface CountryListener { /** * @param country the changed or detected country. */ + @UnsupportedAppUsage void onCountryDetected(Country country); } diff --git a/location/java/android/location/GeocoderParams.java b/location/java/android/location/GeocoderParams.java index 174fe3e0af2e..d90e4b528f31 100644 --- a/location/java/android/location/GeocoderParams.java +++ b/location/java/android/location/GeocoderParams.java @@ -16,6 +16,7 @@ package android.location; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.Parcel; import android.os.Parcelable; @@ -53,6 +54,7 @@ public class GeocoderParams implements Parcelable { /** * returns the Geocoder's locale */ + @UnsupportedAppUsage public Locale getLocale() { return mLocale; } @@ -60,6 +62,7 @@ public class GeocoderParams implements Parcelable { /** * returns the package name of the Geocoder's client */ + @UnsupportedAppUsage public String getClientPackage() { return mPackageName; } diff --git a/location/java/android/location/Geofence.java b/location/java/android/location/Geofence.java index 5de779a29cdd..ed2aa64879aa 100644 --- a/location/java/android/location/Geofence.java +++ b/location/java/android/location/Geofence.java @@ -16,6 +16,7 @@ package android.location; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -98,6 +99,7 @@ public final class Geofence implements Parcelable { } } + @UnsupportedAppUsage public static final Parcelable.Creator<Geofence> CREATOR = new Parcelable.Creator<Geofence>() { @Override public Geofence createFromParcel(Parcel in) { diff --git a/location/java/android/location/GpsStatus.java b/location/java/android/location/GpsStatus.java index b601cde35305..d90a597b1cbb 100644 --- a/location/java/android/location/GpsStatus.java +++ b/location/java/android/location/GpsStatus.java @@ -16,6 +16,7 @@ package android.location; +import android.annotation.UnsupportedAppUsage; import android.util.SparseArray; import java.util.Iterator; @@ -206,6 +207,7 @@ public final class GpsStatus { status.mAzimuths); } + @UnsupportedAppUsage void setTimeToFirstFix(int ttff) { mTimeToFirstFix = ttff; } diff --git a/location/java/android/location/Location.java b/location/java/android/location/Location.java index c9d2f7f8bfd4..682974cc26b0 100644 --- a/location/java/android/location/Location.java +++ b/location/java/android/location/Location.java @@ -17,6 +17,7 @@ package android.location; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -122,8 +123,10 @@ public class Location implements Parcelable { } }; + @UnsupportedAppUsage private String mProvider; private long mTime = 0; + @UnsupportedAppUsage private long mElapsedRealtimeNanos = 0; private double mLatitude = 0.0; private double mLongitude = 0.0; @@ -1151,6 +1154,7 @@ public class Location implements Parcelable { * @param value the Location to attach * @hide */ + @UnsupportedAppUsage public void setExtraLocation(String key, Location value) { if (mExtras == null) { mExtras = new Bundle(); diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java index 6eb3d8d151a6..6c4150c4a8c7 100644 --- a/location/java/android/location/LocationManager.java +++ b/location/java/android/location/LocationManager.java @@ -30,6 +30,7 @@ import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; @@ -74,6 +75,7 @@ public class LocationManager { private static final String TAG = "LocationManager"; private final Context mContext; + @UnsupportedAppUsage private final ILocationManager mService; private final GnssMeasurementCallbackTransport mGnssMeasurementCallbackTransport; private final GnssNavigationMessageCallbackTransport mGnssNavigationMessageCallbackTransport; @@ -995,6 +997,7 @@ public class LocationManager { } } + @UnsupportedAppUsage private void requestLocationUpdates(LocationRequest request, LocationListener listener, Looper looper, PendingIntent intent) { @@ -2319,6 +2322,7 @@ public class LocationManager { * * @hide */ + @UnsupportedAppUsage public boolean sendNiResponse(int notifId, int userResponse) { try { return mService.sendNiResponse(notifId, userResponse); diff --git a/location/java/android/location/LocationRequest.java b/location/java/android/location/LocationRequest.java index 96a0817ae561..2d7f7e309004 100644 --- a/location/java/android/location/LocationRequest.java +++ b/location/java/android/location/LocationRequest.java @@ -17,6 +17,7 @@ package android.location; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.os.SystemClock; @@ -141,16 +142,26 @@ public final class LocationRequest implements Parcelable { */ private static final double FASTEST_INTERVAL_FACTOR = 6.0; // 6x + @UnsupportedAppUsage private int mQuality = POWER_LOW; + @UnsupportedAppUsage private long mInterval = 60 * 60 * 1000; // 60 minutes + @UnsupportedAppUsage private long mFastestInterval = (long) (mInterval / FASTEST_INTERVAL_FACTOR); // 10 minutes + @UnsupportedAppUsage private boolean mExplicitFastestInterval = false; + @UnsupportedAppUsage private long mExpireAt = Long.MAX_VALUE; // no expiry + @UnsupportedAppUsage private int mNumUpdates = Integer.MAX_VALUE; // no expiry + @UnsupportedAppUsage private float mSmallestDisplacement = 0.0f; // meters + @UnsupportedAppUsage private WorkSource mWorkSource = null; + @UnsupportedAppUsage private boolean mHideFromAppOps = false; // True if this request shouldn't be counted by AppOps + @UnsupportedAppUsage private String mProvider = LocationManager.FUSED_PROVIDER; // for deprecated APIs that explicitly request a provider @@ -592,12 +603,14 @@ public final class LocationRequest implements Parcelable { return mHideFromAppOps; } + @UnsupportedAppUsage private static void checkInterval(long millis) { if (millis < 0) { throw new IllegalArgumentException("invalid interval: " + millis); } } + @UnsupportedAppUsage private static void checkQuality(int quality) { switch (quality) { case ACCURACY_FINE: @@ -612,12 +625,14 @@ public final class LocationRequest implements Parcelable { } } + @UnsupportedAppUsage private static void checkDisplacement(float meters) { if (meters < 0.0f) { throw new IllegalArgumentException("invalid displacement: " + meters); } } + @UnsupportedAppUsage private static void checkProvider(String name) { if (name == null) { throw new IllegalArgumentException("invalid provider: " + name); diff --git a/media/java/android/media/MediaHTTPService.java b/media/java/android/media/MediaHTTPService.java index 3a0e58a172fe..98517d1e363d 100644 --- a/media/java/android/media/MediaHTTPService.java +++ b/media/java/android/media/MediaHTTPService.java @@ -16,6 +16,7 @@ package android.media; +import android.annotation.Nullable; import android.os.IBinder; import android.util.Log; @@ -28,10 +29,10 @@ import java.util.List; /** @hide */ public class MediaHTTPService extends IMediaHTTPService.Stub { private static final String TAG = "MediaHTTPService"; - private List<HttpCookie> mCookies; + @Nullable private List<HttpCookie> mCookies; private Boolean mCookieStoreInitialized = new Boolean(false); - public MediaHTTPService(List<HttpCookie> cookies) { + public MediaHTTPService(@Nullable List<HttpCookie> cookies) { mCookies = cookies; Log.v(TAG, "MediaHTTPService(" + this + "): Cookies: " + cookies); } diff --git a/media/java/android/service/media/MediaBrowserService.java b/media/java/android/service/media/MediaBrowserService.java index ca7ab7ec6e64..5a60ac10fd82 100644 --- a/media/java/android/service/media/MediaBrowserService.java +++ b/media/java/android/service/media/MediaBrowserService.java @@ -21,6 +21,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.UnsupportedAppUsage; import android.app.Service; import android.content.Intent; import android.content.pm.PackageManager; @@ -89,6 +90,7 @@ public abstract class MediaBrowserService extends Service { * A key for passing the MediaItem to the ResultReceiver in getItem. * @hide */ + @UnsupportedAppUsage public static final String KEY_MEDIA_ITEM = "media_item"; private static final int RESULT_FLAG_OPTION_NOT_HANDLED = 1 << 0; @@ -149,6 +151,7 @@ public abstract class MediaBrowserService extends Service { private Object mDebug; private boolean mDetachCalled; private boolean mSendResultCalled; + @UnsupportedAppUsage private int mFlags; Result(Object debug) { diff --git a/media/lib/remotedisplay/Android.bp b/media/lib/remotedisplay/Android.bp new file mode 100644 index 000000000000..1e9320d1414d --- /dev/null +++ b/media/lib/remotedisplay/Android.bp @@ -0,0 +1,35 @@ +// +// Copyright (C) 2018 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +droiddoc { + name: "com.android.media.remotedisplay.stubs-gen-docs", + srcs: [ + "java/**/*.java", + ], + args: " -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 " + + " -stubpackages com.android.media.remotedisplay " + + " -nodocs ", + custom_template: "droiddoc-templates-sdk", + installable: false, +} + +java_library_static { + name: "com.android.media.remotedisplay.stubs", + srcs: [ + ":com.android.media.remotedisplay.stubs-gen-docs", + ], + sdk_version: "current", +} diff --git a/media/lib/remotedisplay/Android.mk b/media/lib/remotedisplay/Android.mk index 63f9f9197529..e88c0f1a8dc8 100644 --- a/media/lib/remotedisplay/Android.mk +++ b/media/lib/remotedisplay/Android.mk @@ -42,24 +42,3 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions LOCAL_SRC_FILES := $(LOCAL_MODULE) include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := com.android.media.remotedisplay.stubs-gen -LOCAL_MODULE_CLASS := JAVA_LIBRARIES -LOCAL_SRC_FILES := $(call all-java-files-under,java) -LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/com.android.media.remotedisplay.stubs_intermediates/src -LOCAL_DROIDDOC_OPTIONS:= \ - -hide 111 -hide 113 -hide 125 -hide 126 -hide 127 -hide 128 \ - -stubpackages com.android.media.remotedisplay \ - -nodocs -LOCAL_UNINSTALLABLE_MODULE := true -include $(BUILD_DROIDDOC) -com_android_media_remotedisplay_gen_stamp := $(full_target) - -include $(CLEAR_VARS) -LOCAL_MODULE := com.android.media.remotedisplay.stubs -LOCAL_SDK_VERSION := current -LOCAL_SOURCE_FILES_ALL_GENERATED := true -LOCAL_ADDITIONAL_DEPENDENCIES := $(com_android_media_remotedisplay_gen_stamp) -com_android_media_remotedisplay_gen_stamp := -include $(BUILD_STATIC_JAVA_LIBRARY) diff --git a/opengl/java/android/opengl/EGL14.java b/opengl/java/android/opengl/EGL14.java index 53ec6c8980ef..728e6e18cc31 100644 --- a/opengl/java/android/opengl/EGL14.java +++ b/opengl/java/android/opengl/EGL14.java @@ -18,6 +18,7 @@ package android.opengl; +import android.annotation.UnsupportedAppUsage; import android.graphics.SurfaceTexture; import android.view.Surface; import android.view.SurfaceView; @@ -163,6 +164,7 @@ public static final int EGL_CORE_NATIVE_ENGINE = 0x305B; /** * {@hide} */ + @UnsupportedAppUsage public static native EGLDisplay eglGetDisplay( long display_id ); diff --git a/opengl/java/android/opengl/GLES20.java b/opengl/java/android/opengl/GLES20.java index 137f2f5c2c5e..d66e7ac84a3b 100644 --- a/opengl/java/android/opengl/GLES20.java +++ b/opengl/java/android/opengl/GLES20.java @@ -19,6 +19,8 @@ package android.opengl; +import android.annotation.UnsupportedAppUsage; + /** OpenGL ES 2.0 */ public class GLES20 { @@ -824,6 +826,7 @@ public class GLES20 { // C function void glGetActiveAttrib ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name ) /** @hide Method is broken, but used to be public (b/6006380) */ + @UnsupportedAppUsage public static native void glGetActiveAttrib( int program, int index, @@ -872,6 +875,7 @@ public class GLES20 { // C function void glGetActiveUniform ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name ) /** @hide Method is broken, but used to be public (b/6006380) */ + @UnsupportedAppUsage public static native void glGetActiveUniform( int program, int index, diff --git a/opengl/java/android/opengl/GLSurfaceView.java b/opengl/java/android/opengl/GLSurfaceView.java index 0f0a7e9d1314..8a3e6a0b0fd5 100644 --- a/opengl/java/android/opengl/GLSurfaceView.java +++ b/opengl/java/android/opengl/GLSurfaceView.java @@ -16,6 +16,7 @@ package android.opengl; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.Trace; import android.util.AttributeSet; @@ -1235,6 +1236,7 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback EGLDisplay mEglDisplay; EGLSurface mEglSurface; EGLConfig mEglConfig; + @UnsupportedAppUsage EGLContext mEglContext; } @@ -1844,6 +1846,7 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback // End of member variables protected by the sGLThreadManager monitor. + @UnsupportedAppUsage private EglHelper mEglHelper; /** @@ -1919,7 +1922,9 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback private final WeakReference<GLSurfaceView> mThisWeakRef = new WeakReference<GLSurfaceView>(this); + @UnsupportedAppUsage private GLThread mGLThread; + @UnsupportedAppUsage private Renderer mRenderer; private boolean mDetached; private EGLConfigChooser mEGLConfigChooser; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java index f729120f98bc..c984579f5f9a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java @@ -976,7 +976,7 @@ public class NetworkControllerImpl extends BroadcastReceiver private SubscriptionInfo addSignalController(int id, int simSlotIndex) { SubscriptionInfo info = new SubscriptionInfo(id, "", simSlotIndex, "", "", 0, 0, "", 0, - null, null, null, ""); + null, null, null, "", false, null, null); MobileSignalController controller = new MobileSignalController(mContext, mConfig, mHasMobileDataFeature, mPhone, mCallbackHandler, this, info, mSubDefaults, mReceiverHandler.getLooper()); diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 914404be887f..ba5f32308a30 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2202,7 +2202,7 @@ public class ConnectivityService extends IConnectivityManager.Stub loge("ERROR: already-connected network explicitly selected."); } nai.networkMisc.explicitlySelected = true; - nai.networkMisc.acceptUnvalidated = (boolean) msg.obj; + nai.networkMisc.acceptUnvalidated = msg.arg1 == 1; break; } case NetworkAgent.EVENT_PACKET_KEEPALIVE: { diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java index 379140258f30..0d60d1d6e6d5 100644 --- a/services/core/java/com/android/server/NetworkManagementService.java +++ b/services/core/java/com/android/server/NetworkManagementService.java @@ -641,12 +641,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub SystemProperties.set(PROP_QTAGUID_ENABLED, mBandwidthControlEnabled ? "1" : "0"); - try { - mConnector.execute("strict", "enable"); - mStrictEnabled = true; - } catch (NativeDaemonConnectorException e) { - Log.wtf(TAG, "Failed strict enable", e); - } + mStrictEnabled = true; setDataSaverModeEnabled(mDataSaverMode); @@ -1804,26 +1799,26 @@ public class NetworkManagementService extends INetworkManagementService.Stub } private void applyUidCleartextNetworkPolicy(int uid, int policy) { - final String policyString; + final int policyValue; switch (policy) { case StrictMode.NETWORK_POLICY_ACCEPT: - policyString = "accept"; + policyValue = INetd.PENALTY_POLICY_ACCEPT; break; case StrictMode.NETWORK_POLICY_LOG: - policyString = "log"; + policyValue = INetd.PENALTY_POLICY_LOG; break; case StrictMode.NETWORK_POLICY_REJECT: - policyString = "reject"; + policyValue = INetd.PENALTY_POLICY_REJECT; break; default: throw new IllegalArgumentException("Unknown policy " + policy); } try { - mConnector.execute("strict", "set_uid_cleartext_policy", uid, policyString); + mNetdService.strictUidCleartextPenalty(uid, policyValue); mUidCleartextPolicy.put(uid, policy); - } catch (NativeDaemonConnectorException e) { - throw e.rethrowAsParcelableException(); + } catch (RemoteException | ServiceSpecificException e) { + throw new IllegalStateException(e); } } @@ -1841,6 +1836,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub return; } + // TODO: remove this code after removing prepareNativeDaemon() if (!mStrictEnabled) { // Module isn't enabled yet; stash the requested policy away to // apply later once the daemon is connected. @@ -2307,9 +2303,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG); try { - mConnector.execute("clatd", "start", interfaceName); - } catch (NativeDaemonConnectorException e) { - throw e.rethrowAsParcelableException(); + mNetdService.clatdStart(interfaceName); + } catch (RemoteException | ServiceSpecificException e) { + throw new IllegalStateException(e); } } @@ -2318,25 +2314,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG); try { - mConnector.execute("clatd", "stop", interfaceName); - } catch (NativeDaemonConnectorException e) { - throw e.rethrowAsParcelableException(); - } - } - - @Override - public boolean isClatdStarted(String interfaceName) { - mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG); - - final NativeDaemonEvent event; - try { - event = mConnector.execute("clatd", "status", interfaceName); - } catch (NativeDaemonConnectorException e) { - throw e.rethrowAsParcelableException(); + mNetdService.clatdStop(interfaceName); + } catch (RemoteException | ServiceSpecificException e) { + throw new IllegalStateException(e); } - - event.checkCode(ClatdStatusResult); - return event.getMessage().endsWith("started"); } @Override diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java index b0be4a9799bb..cf49d2a55d61 100644 --- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java +++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java @@ -409,7 +409,7 @@ public class PackageDexOptimizer { // TODO(calin): maybe add a separate call. mInstaller.dexopt(path, info.uid, info.packageName, isa, /*dexoptNeeded*/ 0, /*oatDir*/ null, dexoptFlags, - compilerFilter, info.volumeUuid, classLoaderContext, info.seInfoUser, + compilerFilter, info.volumeUuid, classLoaderContext, info.seInfo, options.isDowngrade(), info.targetSdkVersion, /*profileName*/ null, /*dexMetadataPath*/ null, getReasonName(reason)); } diff --git a/services/tests/servicestests/src/com/android/server/locksettings/MockWeaverService.java b/services/tests/servicestests/src/com/android/server/locksettings/MockWeaverService.java index 34831cd53dbe..7fb127831090 100644 --- a/services/tests/servicestests/src/com/android/server/locksettings/MockWeaverService.java +++ b/services/tests/servicestests/src/com/android/server/locksettings/MockWeaverService.java @@ -15,7 +15,7 @@ import android.util.Log; import java.util.ArrayList; import java.util.Arrays; -public class MockWeaverService implements IWeaver { +public class MockWeaverService extends IWeaver.Stub { private static final int MAX_SLOTS = 8; private static final int KEY_LENGTH = 256 / 8; @@ -55,54 +55,4 @@ public class MockWeaverService implements IWeaver { cb.onValues(WeaverStatus.FAILED, response); } } - - @Override - public IHwBinder asBinder() { - throw new UnsupportedOperationException(); - } - - @Override - public ArrayList<String> interfaceChain() throws RemoteException { - throw new UnsupportedOperationException(); - } - - @Override - public String interfaceDescriptor() throws RemoteException { - throw new UnsupportedOperationException(); - } - - @Override - public void setHALInstrumentation() throws RemoteException { - throw new UnsupportedOperationException(); - } - - @Override - public boolean linkToDeath(DeathRecipient recipient, long cookie) throws RemoteException { - throw new UnsupportedOperationException(); - } - - @Override - public void ping() throws RemoteException { - throw new UnsupportedOperationException(); - } - - @Override - public DebugInfo getDebugInfo() throws RemoteException { - throw new UnsupportedOperationException(); - } - - @Override - public void notifySyspropsChanged() throws RemoteException { - throw new UnsupportedOperationException(); - } - - @Override - public boolean unlinkToDeath(DeathRecipient recipient) throws RemoteException { - throw new UnsupportedOperationException(); - } - - @Override - public ArrayList<byte[]> getHashChain() throws RemoteException { - throw new UnsupportedOperationException(); - } } diff --git a/telephony/java/android/provider/Telephony.java b/telephony/java/android/provider/Telephony.java index f2438b833d90..f68aeae87647 100644 --- a/telephony/java/android/provider/Telephony.java +++ b/telephony/java/android/provider/Telephony.java @@ -19,6 +19,7 @@ package android.provider; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.app.job.JobService; import android.content.ComponentName; import android.content.ContentResolver; @@ -310,6 +311,7 @@ public final class Telephony { * Return cursor for table query. * @hide */ + @UnsupportedAppUsage public static Cursor query(ContentResolver cr, String[] projection, String where, String orderBy) { return cr.query(CONTENT_URI, projection, where, @@ -340,6 +342,7 @@ public final class Telephony { * @return the URI for the new message * @hide */ + @UnsupportedAppUsage public static Uri addMessageToUri(ContentResolver resolver, Uri uri, String address, String body, String subject, Long date, boolean read, boolean deliveryReport) { @@ -362,6 +365,7 @@ public final class Telephony { * @return the URI for the new message * @hide */ + @UnsupportedAppUsage public static Uri addMessageToUri(int subId, ContentResolver resolver, Uri uri, String address, String body, String subject, Long date, boolean read, boolean deliveryReport) { @@ -384,6 +388,7 @@ public final class Telephony { * @return the URI for the new message * @hide */ + @UnsupportedAppUsage public static Uri addMessageToUri(ContentResolver resolver, Uri uri, String address, String body, String subject, Long date, boolean read, boolean deliveryReport, long threadId) { @@ -408,6 +413,7 @@ public final class Telephony { * @return the URI for the new message * @hide */ + @UnsupportedAppUsage public static Uri addMessageToUri(int subId, ContentResolver resolver, Uri uri, String address, String body, String subject, Long date, boolean read, boolean deliveryReport, long threadId) { @@ -440,6 +446,7 @@ public final class Telephony { * @return true if the operation succeeded * @hide */ + @UnsupportedAppUsage public static boolean moveMessageToFolder(Context context, Uri uri, int folder, int error) { if (uri == null) { @@ -483,6 +490,7 @@ public final class Telephony { * outgoing message. * @hide */ + @UnsupportedAppUsage public static boolean isOutgoingFolder(int messageType) { return (messageType == MESSAGE_TYPE_FAILED) || (messageType == MESSAGE_TYPE_OUTBOX) @@ -524,6 +532,7 @@ public final class Telephony { * @return the URI for the new message * @hide */ + @UnsupportedAppUsage public static Uri addMessage(ContentResolver resolver, String address, String body, String subject, Long date, boolean read) { @@ -544,6 +553,7 @@ public final class Telephony { * @return the URI for the new message * @hide */ + @UnsupportedAppUsage public static Uri addMessage(int subId, ContentResolver resolver, String address, String body, String subject, Long date, boolean read) { return addMessageToUri(subId, resolver, CONTENT_URI, address, body, @@ -584,6 +594,7 @@ public final class Telephony { * @return the URI for the new message * @hide */ + @UnsupportedAppUsage public static Uri addMessage(ContentResolver resolver, String address, String body, String subject, Long date) { return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(), @@ -602,6 +613,7 @@ public final class Telephony { * @return the URI for the new message * @hide */ + @UnsupportedAppUsage public static Uri addMessage(int subId, ContentResolver resolver, String address, String body, String subject, Long date) { return addMessageToUri(subId, resolver, CONTENT_URI, address, body, @@ -629,6 +641,7 @@ public final class Telephony { /** * @hide */ + @UnsupportedAppUsage public static Uri addMessage(ContentResolver resolver, String address, String body, String subject, Long date) { return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(), @@ -647,6 +660,7 @@ public final class Telephony { * @return the URI for the new message * @hide */ + @UnsupportedAppUsage public static Uri addMessage(int subId, ContentResolver resolver, String address, String body, String subject, Long date) { return addMessageToUri(subId, resolver, CONTENT_URI, address, body, @@ -693,6 +707,7 @@ public final class Telephony { * @return the URI for the new message * @hide */ + @UnsupportedAppUsage public static Uri addMessage(ContentResolver resolver, String address, String body, String subject, Long date, boolean deliveryReport, long threadId) { @@ -1872,12 +1887,14 @@ public final class Telephony { */ public static final class Threads implements ThreadsColumns { + @UnsupportedAppUsage private static final String[] ID_PROJECTION = { BaseColumns._ID }; /** * Private {@code content://} style URL for this table. Used by * {@link #getOrCreateThreadId(android.content.Context, java.util.Set)}. */ + @UnsupportedAppUsage private static final Uri THREAD_ID_CONTENT_URI = Uri.parse( "content://mms-sms/threadID"); @@ -2006,6 +2023,7 @@ public final class Telephony { * </ul> * @hide */ + @UnsupportedAppUsage public static final Pattern NAME_ADDR_EMAIL_PATTERN = Pattern.compile("\\s*(\"[^\"]*\"|[^<>\"]+)\\s*<([^<>]+)>\\s*"); @@ -2033,6 +2051,7 @@ public final class Telephony { * Helper method to extract email address from address string. * @hide */ + @UnsupportedAppUsage public static String extractAddrSpec(String address) { Matcher match = NAME_ADDR_EMAIL_PATTERN.matcher(address); @@ -2049,6 +2068,7 @@ public final class Telephony { * @return true if address is an email address; false otherwise. * @hide */ + @UnsupportedAppUsage public static boolean isEmailAddress(String address) { if (TextUtils.isEmpty(address)) { return false; @@ -2066,6 +2086,7 @@ public final class Telephony { * @return true if number is a phone number; false otherwise. * @hide */ + @UnsupportedAppUsage public static boolean isPhoneNumber(String number) { if (TextUtils.isEmpty(number)) { return false; diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java index d76e39b83801..667ad91086b2 100644 --- a/telephony/java/android/telephony/SubscriptionInfo.java +++ b/telephony/java/android/telephony/SubscriptionInfo.java @@ -139,28 +139,6 @@ public class SubscriptionInfo implements Parcelable { */ public SubscriptionInfo(int id, String iccId, int simSlotIndex, CharSequence displayName, CharSequence carrierName, int nameSource, int iconTint, String number, int roaming, - Bitmap icon, String mcc, String mnc, String countryIso) { - this(id, iccId, simSlotIndex, displayName, carrierName, nameSource, iconTint, number, - roaming, icon, mcc, mnc, countryIso, false /* isEmbedded */, - null /* accessRules */, null /* accessRules */); - } - - /** - * @hide - */ - public SubscriptionInfo(int id, String iccId, int simSlotIndex, CharSequence displayName, - CharSequence carrierName, int nameSource, int iconTint, String number, int roaming, - Bitmap icon, String mcc, String mnc, String countryIso, boolean isEmbedded, - @Nullable UiccAccessRule[] accessRules) { - this(id, iccId, simSlotIndex, displayName, carrierName, nameSource, iconTint, number, - roaming, icon, mcc, mnc, countryIso, isEmbedded, accessRules, null /* cardId */); - } - - /** - * @hide - */ - public SubscriptionInfo(int id, String iccId, int simSlotIndex, CharSequence displayName, - CharSequence carrierName, int nameSource, int iconTint, String number, int roaming, Bitmap icon, String mcc, String mnc, String countryIso, boolean isEmbedded, @Nullable UiccAccessRule[] accessRules, String cardId) { this.mId = id; diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index 17e7c49f6289..8aa5bf659be2 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -301,7 +301,7 @@ public class SubscriptionManager { * <P>Type: TEXT (String)</P> * @hide */ - public static final String CARD_ID = "card_id"; + public static final String CARD_ID = "card_id"; /** * TelephonyProvider column name for the encoded {@link UiccAccessRule}s from @@ -1051,24 +1051,9 @@ public class SubscriptionManager { */ public int setIconTint(int tint, int subId) { if (VDBG) logd("[setIconTint]+ tint:" + tint + " subId:" + subId); - if (!isValidSubscriptionId(subId)) { - logd("[setIconTint]- fail"); - return -1; - } - - int result = 0; - - try { - ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); - if (iSub != null) { - result = iSub.setIconTint(tint, subId); - } - } catch (RemoteException ex) { - // ignore it - } - - return result; - + return setSubscriptionPropertyHelper(subId, "setIconTint", + (iSub)-> iSub.setIconTint(tint, subId) + ); } /** @@ -1096,24 +1081,9 @@ public class SubscriptionManager { logd("[setDisplayName]+ displayName:" + displayName + " subId:" + subId + " nameSource:" + nameSource); } - if (!isValidSubscriptionId(subId)) { - logd("[setDisplayName]- fail"); - return -1; - } - - int result = 0; - - try { - ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); - if (iSub != null) { - result = iSub.setDisplayNameUsingSrc(displayName, subId, nameSource); - } - } catch (RemoteException ex) { - // ignore it - } - - return result; - + return setSubscriptionPropertyHelper(subId, "setDisplayName", + (iSub)-> iSub.setDisplayNameUsingSrc(displayName, subId, nameSource) + ); } /** @@ -1124,24 +1094,13 @@ public class SubscriptionManager { * @hide */ public int setDisplayNumber(String number, int subId) { - if (number == null || !isValidSubscriptionId(subId)) { + if (number == null) { logd("[setDisplayNumber]- fail"); return -1; } - - int result = 0; - - try { - ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); - if (iSub != null) { - result = iSub.setDisplayNumber(number, subId); - } - } catch (RemoteException ex) { - // ignore it - } - - return result; - + return setSubscriptionPropertyHelper(subId, "setDisplayNumber", + (iSub)-> iSub.setDisplayNumber(number, subId) + ); } /** @@ -1153,23 +1112,9 @@ public class SubscriptionManager { */ public int setDataRoaming(int roaming, int subId) { if (VDBG) logd("[setDataRoaming]+ roaming:" + roaming + " subId:" + subId); - if (roaming < 0 || !isValidSubscriptionId(subId)) { - logd("[setDataRoaming]- fail"); - return -1; - } - - int result = 0; - - try { - ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); - if (iSub != null) { - result = iSub.setDataRoaming(roaming, subId); - } - } catch (RemoteException ex) { - // ignore it - } - - return result; + return setSubscriptionPropertyHelper(subId, "setDataRoaming", + (iSub)->iSub.setDataRoaming(roaming, subId) + ); } /** @@ -1994,4 +1939,29 @@ public class SubscriptionManager { } return false; } + + private interface CallISubMethodHelper { + int callMethod(ISub iSub) throws RemoteException; + } + + private int setSubscriptionPropertyHelper(int subId, String methodName, + CallISubMethodHelper helper) { + if (!isValidSubscriptionId(subId)) { + logd("[" + methodName + "]" + "- fail"); + return -1; + } + + int result = 0; + + try { + ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); + if (iSub != null) { + result = helper.callMethod(iSub); + } + } catch (RemoteException ex) { + // ignore it + } + + return result; + } } diff --git a/wifi/java/android/net/wifi/ScanResult.java b/wifi/java/android/net/wifi/ScanResult.java index f210b61e9f71..3a4e88b49daf 100644 --- a/wifi/java/android/net/wifi/ScanResult.java +++ b/wifi/java/android/net/wifi/ScanResult.java @@ -17,6 +17,7 @@ package android.net.wifi; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -40,6 +41,7 @@ public class ScanResult implements Parcelable { /** * Ascii encoded SSID. This will replace SSID when we deprecate it. @hide */ + @UnsupportedAppUsage public WifiSsid wifiSsid; /** @@ -51,12 +53,14 @@ public class ScanResult implements Parcelable { * The HESSID from the beacon. * @hide */ + @UnsupportedAppUsage public long hessid; /** * The ANQP Domain ID from the Hotspot 2.0 Indication element, if present. * @hide */ + @UnsupportedAppUsage public int anqpDomainId; /* @@ -214,6 +218,7 @@ public class ScanResult implements Parcelable { * @deprecated use is80211mcResponder() instead * @hide */ + @UnsupportedAppUsage public boolean is80211McRTTResponder; /** @@ -226,6 +231,7 @@ public class ScanResult implements Parcelable { * Timestamp representing date when this result was last seen, in milliseconds from 1970 * {@hide} */ + @UnsupportedAppUsage public long seen; /** @@ -284,6 +290,7 @@ public class ScanResult implements Parcelable { * Number of time autojoin used it * @hide */ + @UnsupportedAppUsage public int numUsage; /** @@ -291,6 +298,7 @@ public class ScanResult implements Parcelable { * {@link UNSPECIFIED}. * {@hide} */ + @UnsupportedAppUsage public int distanceCm; /** @@ -298,6 +306,7 @@ public class ScanResult implements Parcelable { * Else {@link UNSPECIFIED}. * {@hide} */ + @UnsupportedAppUsage public int distanceSdCm; /** {@hide} */ @@ -314,6 +323,7 @@ public class ScanResult implements Parcelable { * Defines flags; such as {@link #FLAG_PASSPOINT_NETWORK}. * {@hide} */ + @UnsupportedAppUsage public long flags; /** @@ -391,29 +401,45 @@ public class ScanResult implements Parcelable { * @hide * anqp lines from supplicant BSS response */ + @UnsupportedAppUsage public List<String> anqpLines; /** information elements from beacon * @hide */ public static class InformationElement { + @UnsupportedAppUsage public static final int EID_SSID = 0; + @UnsupportedAppUsage public static final int EID_SUPPORTED_RATES = 1; + @UnsupportedAppUsage public static final int EID_TIM = 5; + @UnsupportedAppUsage public static final int EID_BSS_LOAD = 11; + @UnsupportedAppUsage public static final int EID_ERP = 42; public static final int EID_HT_CAPABILITIES = 45; + @UnsupportedAppUsage public static final int EID_RSN = 48; + @UnsupportedAppUsage public static final int EID_EXTENDED_SUPPORTED_RATES = 50; + @UnsupportedAppUsage public static final int EID_HT_OPERATION = 61; + @UnsupportedAppUsage public static final int EID_INTERWORKING = 107; + @UnsupportedAppUsage public static final int EID_ROAMING_CONSORTIUM = 111; + @UnsupportedAppUsage public static final int EID_EXTENDED_CAPS = 127; public static final int EID_VHT_CAPABILITIES = 191; + @UnsupportedAppUsage public static final int EID_VHT_OPERATION = 192; + @UnsupportedAppUsage public static final int EID_VSA = 221; + @UnsupportedAppUsage public int id; + @UnsupportedAppUsage public byte[] bytes; public InformationElement() { @@ -428,6 +454,7 @@ public class ScanResult implements Parcelable { /** information elements found in the beacon * @hide */ + @UnsupportedAppUsage public InformationElement[] informationElements; /** ANQP response elements. @@ -704,6 +731,7 @@ public class ScanResult implements Parcelable { } /** Implement the Parcelable interface {@hide} */ + @UnsupportedAppUsage public static final Creator<ScanResult> CREATOR = new Creator<ScanResult>() { public ScanResult createFromParcel(Parcel in) { diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index 2918cf697dee..ce8d71d7ed2a 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -18,6 +18,7 @@ package android.net.wifi; import android.annotation.NonNull; import android.annotation.SystemApi; +import android.annotation.UnsupportedAppUsage; import android.content.pm.PackageManager; import android.net.IpConfiguration; import android.net.IpConfiguration.ProxySettings; @@ -61,6 +62,7 @@ public class WifiConfiguration implements Parcelable { public static final String pskVarName = "psk"; /** {@hide} */ @Deprecated + @UnsupportedAppUsage public static final String[] wepKeyVarNames = { "wep_key0", "wep_key1", "wep_key2", "wep_key3" }; /** {@hide} */ @Deprecated @@ -305,6 +307,7 @@ public class WifiConfiguration implements Parcelable { * By default, 2G is chosen * @hide */ + @UnsupportedAppUsage public int apBand = AP_BAND_2GHZ; /** @@ -314,6 +317,7 @@ public class WifiConfiguration implements Parcelable { * 0 - find a random available channel according to the apBand * @hide */ + @UnsupportedAppUsage public int apChannel = 0; /** @@ -438,12 +442,14 @@ public class WifiConfiguration implements Parcelable { * This network configuration is visible to and usable by other users on the * same device. */ + @UnsupportedAppUsage public boolean shared; /** * @hide */ @NonNull + @UnsupportedAppUsage private IpConfiguration mIpConfiguration; /** @@ -456,12 +462,14 @@ public class WifiConfiguration implements Parcelable { * @hide * default Gateway MAC address if known */ + @UnsupportedAppUsage public String defaultGwMacAddress; /** * @hide * last time we connected, this configuration had validated internet access */ + @UnsupportedAppUsage public boolean validatedInternetAccess; /** @@ -491,6 +499,7 @@ public class WifiConfiguration implements Parcelable { * @hide * Uid of last app issuing a connection related command */ + @UnsupportedAppUsage public int lastConnectUid; /** @@ -533,6 +542,7 @@ public class WifiConfiguration implements Parcelable { * the network we need to be before autojoin kicks in */ /** @hide **/ + @UnsupportedAppUsage public static int INVALID_RSSI = -127; // States for the userApproved field @@ -561,6 +571,7 @@ public class WifiConfiguration implements Parcelable { * @hide * Number of reports indicating no Internet Access */ + @UnsupportedAppUsage public int numNoInternetAccessReports; /** @@ -592,6 +603,7 @@ public class WifiConfiguration implements Parcelable { * this configuration and selects "don't ask again". * @hide */ + @UnsupportedAppUsage public boolean noInternetAccessExpected; /** @@ -624,6 +636,7 @@ public class WifiConfiguration implements Parcelable { * since we will now consider that the configuration belong to him. * @hide */ + @UnsupportedAppUsage public boolean selfAdded; /** @@ -1557,6 +1570,7 @@ public class WifiConfiguration implements Parcelable { * Helper function, idenfity if a configuration should be treated as an enterprise network * @hide */ + @UnsupportedAppUsage public boolean isEnterprise() { return (allowedKeyManagement.get(KeyMgmt.WPA_EAP) || allowedKeyManagement.get(KeyMgmt.IEEE8021X)) @@ -1740,6 +1754,7 @@ public class WifiConfiguration implements Parcelable { } /** {@hide} */ + @UnsupportedAppUsage public String getPrintableSsid() { if (SSID == null) return ""; final int length = SSID.length(); @@ -1840,6 +1855,7 @@ public class WifiConfiguration implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public int getAuthType() { if (allowedKeyManagement.cardinality() > 1) { throw new IllegalStateException("More than one auth type set"); @@ -1902,42 +1918,50 @@ public class WifiConfiguration implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public IpConfiguration getIpConfiguration() { return mIpConfiguration; } /** @hide */ + @UnsupportedAppUsage public void setIpConfiguration(IpConfiguration ipConfiguration) { if (ipConfiguration == null) ipConfiguration = new IpConfiguration(); mIpConfiguration = ipConfiguration; } /** @hide */ + @UnsupportedAppUsage public StaticIpConfiguration getStaticIpConfiguration() { return mIpConfiguration.getStaticIpConfiguration(); } /** @hide */ + @UnsupportedAppUsage public void setStaticIpConfiguration(StaticIpConfiguration staticIpConfiguration) { mIpConfiguration.setStaticIpConfiguration(staticIpConfiguration); } /** @hide */ + @UnsupportedAppUsage public IpConfiguration.IpAssignment getIpAssignment() { return mIpConfiguration.ipAssignment; } /** @hide */ + @UnsupportedAppUsage public void setIpAssignment(IpConfiguration.IpAssignment ipAssignment) { mIpConfiguration.ipAssignment = ipAssignment; } /** @hide */ + @UnsupportedAppUsage public IpConfiguration.ProxySettings getProxySettings() { return mIpConfiguration.proxySettings; } /** @hide */ + @UnsupportedAppUsage public void setProxySettings(IpConfiguration.ProxySettings proxySettings) { mIpConfiguration.proxySettings = proxySettings; } @@ -1991,6 +2015,7 @@ public class WifiConfiguration implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public void setProxy(ProxySettings settings, ProxyInfo proxy) { mIpConfiguration.proxySettings = settings; mIpConfiguration.httpProxy = proxy; @@ -2012,6 +2037,7 @@ public class WifiConfiguration implements Parcelable { } /** copy constructor {@hide} */ + @UnsupportedAppUsage public WifiConfiguration(WifiConfiguration source) { if (source != null) { networkId = source.networkId; @@ -2149,6 +2175,7 @@ public class WifiConfiguration implements Parcelable { } /** Implement the Parcelable interface {@hide} */ + @UnsupportedAppUsage public static final Creator<WifiConfiguration> CREATOR = new Creator<WifiConfiguration>() { public WifiConfiguration createFromParcel(Parcel in) { diff --git a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java index bb3af3cd1687..66c1a3c0ffbc 100644 --- a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java +++ b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java @@ -16,6 +16,7 @@ package android.net.wifi; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.security.Credentials; @@ -139,6 +140,7 @@ public class WifiEnterpriseConfig implements Parcelable { */ private static final List<String> UNQUOTED_KEYS = Arrays.asList(ENGINE_KEY, OPP_KEY_CACHING); + @UnsupportedAppUsage private HashMap<String, String> mFields = new HashMap<String, String>(); private X509Certificate[] mCaCerts; private PrivateKey mClientPrivateKey; @@ -574,6 +576,7 @@ public class WifiEnterpriseConfig implements Parcelable { * @param alias identifies the certificate * @hide */ + @UnsupportedAppUsage public void setCaCertificateAlias(String alias) { setFieldValue(CA_CERT_KEY, alias, CA_CERT_PREFIX); } @@ -612,6 +615,7 @@ public class WifiEnterpriseConfig implements Parcelable { * @return alias to the CA certificate * @hide */ + @UnsupportedAppUsage public String getCaCertificateAlias() { return getFieldValue(CA_CERT_KEY, CA_CERT_PREFIX); } @@ -760,6 +764,7 @@ public class WifiEnterpriseConfig implements Parcelable { * @param alias identifies the certificate * @hide */ + @UnsupportedAppUsage public void setClientCertificateAlias(String alias) { setFieldValue(CLIENT_CERT_KEY, alias, CLIENT_CERT_PREFIX); setFieldValue(PRIVATE_KEY_ID_KEY, alias, Credentials.USER_PRIVATE_KEY); @@ -778,6 +783,7 @@ public class WifiEnterpriseConfig implements Parcelable { * @return alias to the client certificate * @hide */ + @UnsupportedAppUsage public String getClientCertificateAlias() { return getFieldValue(CLIENT_CERT_KEY, CLIENT_CERT_PREFIX); } diff --git a/wifi/java/android/net/wifi/WifiInfo.java b/wifi/java/android/net/wifi/WifiInfo.java index 3eb13ce6f8b1..1e03891019f6 100644 --- a/wifi/java/android/net/wifi/WifiInfo.java +++ b/wifi/java/android/net/wifi/WifiInfo.java @@ -16,6 +16,7 @@ package android.net.wifi; +import android.annotation.UnsupportedAppUsage; import android.os.Parcelable; import android.os.Parcel; import android.net.NetworkInfo.DetailedState; @@ -48,6 +49,7 @@ public class WifiInfo implements Parcelable { * * @hide */ + @UnsupportedAppUsage public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00"; static { @@ -67,11 +69,14 @@ public class WifiInfo implements Parcelable { } private SupplicantState mSupplicantState; + @UnsupportedAppUsage private String mBSSID; + @UnsupportedAppUsage private WifiSsid mWifiSsid; private int mNetworkId; /** @hide **/ + @UnsupportedAppUsage public static final int INVALID_RSSI = -127; /** @hide **/ @@ -98,7 +103,9 @@ public class WifiInfo implements Parcelable { public static final String FREQUENCY_UNITS = "MHz"; private int mFrequency; + @UnsupportedAppUsage private InetAddress mIpAddress; + @UnsupportedAppUsage private String mMacAddress = DEFAULT_MAC_ADDRESS; private boolean mEphemeral; @@ -148,6 +155,7 @@ public class WifiInfo implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public int score; /** @@ -157,6 +165,7 @@ public class WifiInfo implements Parcelable { private boolean mMeteredHint; /** @hide */ + @UnsupportedAppUsage public WifiInfo() { mWifiSsid = null; mBSSID = null; @@ -248,11 +257,13 @@ public class WifiInfo implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public WifiSsid getWifiSsid() { return mWifiSsid; } /** @hide */ + @UnsupportedAppUsage public void setBSSID(String BSSID) { mBSSID = BSSID; } @@ -280,6 +291,7 @@ public class WifiInfo implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public void setRssi(int rssi) { if (rssi < INVALID_RSSI) rssi = INVALID_RSSI; @@ -298,6 +310,7 @@ public class WifiInfo implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public void setLinkSpeed(int linkSpeed) { this.mLinkSpeed = linkSpeed; } @@ -328,6 +341,7 @@ public class WifiInfo implements Parcelable { * @hide * TODO: makes real freq boundaries */ + @UnsupportedAppUsage public boolean is5GHz() { return ScanResult.is5GHz(mFrequency); } @@ -337,6 +351,7 @@ public class WifiInfo implements Parcelable { * @param macAddress the MAC address in {@code XX:XX:XX:XX:XX:XX} form * @hide */ + @UnsupportedAppUsage public void setMacAddress(String macAddress) { this.mMacAddress = macAddress; } @@ -366,6 +381,7 @@ public class WifiInfo implements Parcelable { } /** {@hide} */ + @UnsupportedAppUsage public boolean getMeteredHint() { return mMeteredHint; } @@ -376,11 +392,13 @@ public class WifiInfo implements Parcelable { } /** {@hide} */ + @UnsupportedAppUsage public boolean isEphemeral() { return mEphemeral; } /** @hide */ + @UnsupportedAppUsage public void setNetworkId(int id) { mNetworkId = id; } @@ -405,6 +423,7 @@ public class WifiInfo implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public void setSupplicantState(SupplicantState state) { mSupplicantState = state; } @@ -446,6 +465,7 @@ public class WifiInfo implements Parcelable { * @param stateName the name of the state, as a <code>String</code> returned * in an event sent by {@code wpa_supplicant}. */ + @UnsupportedAppUsage void setSupplicantState(String stateName) { mSupplicantState = valueOf(stateName); } @@ -463,6 +483,7 @@ public class WifiInfo implements Parcelable { } /** {@hide} */ + @UnsupportedAppUsage public static String removeDoubleQuotes(String string) { if (string == null) return null; final int length = string.length(); @@ -527,6 +548,7 @@ public class WifiInfo implements Parcelable { } /** Implement the Parcelable interface {@hide} */ + @UnsupportedAppUsage public static final Creator<WifiInfo> CREATOR = new Creator<WifiInfo>() { public WifiInfo createFromParcel(Parcel in) { diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index 25f35d0523a2..bc33fc02e3e5 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -25,6 +25,7 @@ import android.annotation.SuppressLint; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.pm.ParceledListSlice; import android.net.ConnectivityManager; @@ -774,6 +775,7 @@ public class WifiManager { * changed on wifi. * @hide */ + @UnsupportedAppUsage public static final String LINK_CONFIGURATION_CHANGED_ACTION = "android.net.wifi.LINK_CONFIGURATION_CHANGED"; @@ -889,9 +891,11 @@ public class WifiManager { public static final int WIFI_MODE_FULL_HIGH_PERF = 3; /** Anything worse than or equal to this will show 0 bars. */ + @UnsupportedAppUsage private static final int MIN_RSSI = -100; /** Anything better than or equal to this will show the max bars. */ + @UnsupportedAppUsage private static final int MAX_RSSI = -55; /** @@ -899,6 +903,7 @@ public class WifiManager { * {@link #RSSI_CHANGED_ACTION} broadcast * @hide */ + @UnsupportedAppUsage public static final int RSSI_LEVELS = 5; /** @@ -906,18 +911,21 @@ public class WifiManager { * 2.4 GHz and 5 GHz or make a dynamic decision on selecting the band. * @hide */ + @UnsupportedAppUsage public static final int WIFI_FREQUENCY_BAND_AUTO = 0; /** * Operation on 5 GHz alone * @hide */ + @UnsupportedAppUsage public static final int WIFI_FREQUENCY_BAND_5GHZ = 1; /** * Operation on 2.4 GHz alone * @hide */ + @UnsupportedAppUsage public static final int WIFI_FREQUENCY_BAND_2GHZ = 2; /** List of asyncronous notifications @@ -946,9 +954,11 @@ public class WifiManager { private static final int MAX_ACTIVE_LOCKS = 50; /* Number of currently active WifiLocks and MulticastLocks */ + @UnsupportedAppUsage private int mActiveLockCount; private Context mContext; + @UnsupportedAppUsage IWifiManager mService; private final int mTargetSdkVersion; @@ -1050,6 +1060,7 @@ public class WifiManager { * @throws UnsupportedOperationException if Passpoint is not enabled on the device. * @hide */ + @UnsupportedAppUsage public WifiConfiguration getMatchingWifiConfig(ScanResult scanResult) { try { return mService.getMatchingWifiConfig(scanResult); @@ -1740,6 +1751,7 @@ public class WifiManager { * * @hide */ + @UnsupportedAppUsage public String getCountryCode() { try { String country = mService.getCountryCode(); @@ -1754,6 +1766,7 @@ public class WifiManager { * @return {@code true} if supported, {@code false} otherwise. * @hide */ + @UnsupportedAppUsage public boolean isDualBandSupported() { try { return mService.isDualBandSupported(); @@ -2019,6 +2032,7 @@ public class WifiManager { * * @hide */ + @UnsupportedAppUsage public void cancelLocalOnlyHotspotRequest() { synchronized (mLock) { stopLocalOnlyHotspot(); @@ -2977,6 +2991,7 @@ public class WifiManager { * initialized again * @hide */ + @UnsupportedAppUsage public void connect(int networkId, ActionListener listener) { if (networkId < 0) throw new IllegalArgumentException("Network id cannot be negative"); getChannel().sendMessage(CONNECT_NETWORK, networkId, putListener(listener)); @@ -3002,6 +3017,7 @@ public class WifiManager { * initialized again * @hide */ + @UnsupportedAppUsage public void save(WifiConfiguration config, ActionListener listener) { if (config == null) throw new IllegalArgumentException("config cannot be null"); getChannel().sendMessage(SAVE_NETWORK, 0, putListener(listener), config); @@ -3020,6 +3036,7 @@ public class WifiManager { * initialized again * @hide */ + @UnsupportedAppUsage public void forget(int netId, ActionListener listener) { if (netId < 0) throw new IllegalArgumentException("Network id cannot be negative"); getChannel().sendMessage(FORGET_NETWORK, netId, putListener(listener)); @@ -3034,6 +3051,7 @@ public class WifiManager { * initialized again * @hide */ + @UnsupportedAppUsage public void disable(int netId, ActionListener listener) { if (netId < 0) throw new IllegalArgumentException("Network id cannot be negative"); getChannel().sendMessage(DISABLE_NETWORK, netId, putListener(listener)); @@ -3090,6 +3108,7 @@ public class WifiManager { * @return Messenger pointing to the WifiService handler * @hide */ + @UnsupportedAppUsage public Messenger getWifiServiceMessenger() { try { return mService.getWifiServiceMessenger(mContext.getOpPackageName()); @@ -3520,6 +3539,7 @@ public class WifiManager { * Initialize the multicast filtering to 'on' * @hide no intent to publish */ + @UnsupportedAppUsage public boolean initializeMulticastFiltering() { try { mService.initializeMulticastFiltering(); @@ -3544,6 +3564,7 @@ public class WifiManager { * @hide */ @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) + @UnsupportedAppUsage public void enableVerboseLogging (int verbose) { try { mService.enableVerboseLogging(verbose); @@ -3558,6 +3579,7 @@ public class WifiManager { * to decide what to show within the picker. * @hide */ + @UnsupportedAppUsage public int getVerboseLoggingLevel() { try { return mService.getVerboseLoggingLevel(); @@ -3584,6 +3606,7 @@ public class WifiManager { * @return Get Network object of current wifi network * @hide */ + @UnsupportedAppUsage public Network getCurrentNetwork() { try { return mService.getCurrentNetwork(); diff --git a/wifi/java/android/net/wifi/WifiSsid.java b/wifi/java/android/net/wifi/WifiSsid.java index 5deb80a842a1..9acbc146ce42 100644 --- a/wifi/java/android/net/wifi/WifiSsid.java +++ b/wifi/java/android/net/wifi/WifiSsid.java @@ -16,6 +16,7 @@ package android.net.wifi; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -42,9 +43,11 @@ import java.util.Locale; public class WifiSsid implements Parcelable { private static final String TAG = "WifiSsid"; + @UnsupportedAppUsage public final ByteArrayOutputStream octets = new ByteArrayOutputStream(32); private static final int HEX_RADIX = 16; + @UnsupportedAppUsage public static final String NONE = "<unknown ssid>"; private WifiSsid() { @@ -58,6 +61,7 @@ public class WifiSsid implements Parcelable { return wifiSsid; } + @UnsupportedAppUsage public static WifiSsid createFromAsciiEncoded(String asciiEncoded) { WifiSsid a = new WifiSsid(); a.convertToBytes(asciiEncoded); @@ -220,6 +224,7 @@ public class WifiSsid implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public byte[] getOctets() { return octets.toByteArray(); } @@ -246,6 +251,7 @@ public class WifiSsid implements Parcelable { } /** Implement the Parcelable interface {@hide} */ + @UnsupportedAppUsage public static final Creator<WifiSsid> CREATOR = new Creator<WifiSsid>() { public WifiSsid createFromParcel(Parcel in) { diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java b/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java index b019fd727ed2..67720961f8ed 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java @@ -16,6 +16,7 @@ package android.net.wifi.p2p; +import android.annotation.UnsupportedAppUsage; import android.net.wifi.WpsInfo; import android.os.Parcelable; import android.os.Parcel; @@ -40,6 +41,7 @@ public class WifiP2pConfig implements Parcelable { /** @hide */ public static final int MAX_GROUP_OWNER_INTENT = 15; /** @hide */ + @UnsupportedAppUsage public static final int MIN_GROUP_OWNER_INTENT = 0; /** @@ -52,6 +54,7 @@ public class WifiP2pConfig implements Parcelable { public int groupOwnerIntent = -1; /** @hide */ + @UnsupportedAppUsage public int netId = WifiP2pGroup.PERSISTENT_NET_ID; public WifiP2pConfig() { @@ -66,6 +69,7 @@ public class WifiP2pConfig implements Parcelable { } /** P2P-GO-NEG-REQUEST 42:fc:89:a8:96:09 dev_passwd_id=4 {@hide}*/ + @UnsupportedAppUsage public WifiP2pConfig(String supplicantEvent) throws IllegalArgumentException { String[] tokens = supplicantEvent.split(" "); diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java b/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java index a68bcd98cac5..36a50d615a04 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java @@ -16,6 +16,7 @@ package android.net.wifi.p2p; +import android.annotation.UnsupportedAppUsage; import android.os.Parcelable; import android.os.Parcel; import android.util.Log; @@ -94,18 +95,21 @@ public class WifiP2pDevice implements Parcelable { * WPS config methods supported * @hide */ + @UnsupportedAppUsage public int wpsConfigMethodsSupported; /** * Device capability * @hide */ + @UnsupportedAppUsage public int deviceCapability; /** * Group capability * @hide */ + @UnsupportedAppUsage public int groupCapability; public static final int CONNECTED = 0; @@ -118,6 +122,7 @@ public class WifiP2pDevice implements Parcelable { public int status = UNAVAILABLE; /** @hide */ + @UnsupportedAppUsage public WifiP2pWfdInfo wfdInfo; /** Detailed device string pattern with WFD info @@ -177,6 +182,7 @@ public class WifiP2pDevice implements Parcelable { * Note: The events formats can be looked up in the wpa_supplicant code * @hide */ + @UnsupportedAppUsage public WifiP2pDevice(String string) throws IllegalArgumentException { String[] tokens = string.split("[ \n]"); Matcher match; @@ -277,6 +283,7 @@ public class WifiP2pDevice implements Parcelable { * @throws IllegalArgumentException if the device is null or device address does not match * @hide */ + @UnsupportedAppUsage public void update(WifiP2pDevice device) { updateSupplicantDetails(device); status = device.status; diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java b/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java index 3d0bb3dcedcd..72edd56272d4 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java @@ -16,6 +16,7 @@ package android.net.wifi.p2p; +import android.annotation.UnsupportedAppUsage; import android.os.Parcelable; import android.os.Parcel; import android.net.wifi.p2p.WifiP2pDevice; @@ -83,6 +84,7 @@ public class WifiP2pDeviceList implements Parcelable { * @param device to be updated * @hide */ + @UnsupportedAppUsage public void update(WifiP2pDevice device) { updateSupplicantDetails(device); mDevices.get(device.deviceAddress).status = device.status; @@ -146,6 +148,7 @@ public class WifiP2pDeviceList implements Parcelable { * @return WifiP2pDevice device removed, or null if none removed * @hide */ + @UnsupportedAppUsage public WifiP2pDevice remove(String deviceAddress) { validateDeviceAddress(deviceAddress); return mDevices.remove(deviceAddress); diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java b/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java index 32673c771baa..01feb1ef5b42 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java @@ -16,6 +16,7 @@ package android.net.wifi.p2p; +import android.annotation.UnsupportedAppUsage; import android.os.Parcelable; import android.os.Parcel; @@ -37,6 +38,7 @@ public class WifiP2pGroup implements Parcelable { /** The temporary network id. * {@hide} */ + @UnsupportedAppUsage public static final int TEMPORARY_NET_ID = -1; /** The persistent network id. @@ -95,6 +97,7 @@ public class WifiP2pGroup implements Parcelable { * Note: The events formats can be looked up in the wpa_supplicant code * @hide */ + @UnsupportedAppUsage public WifiP2pGroup(String supplicantEvent) throws IllegalArgumentException { String[] tokens = supplicantEvent.split(" "); @@ -169,6 +172,7 @@ public class WifiP2pGroup implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public void setIsGroupOwner(boolean isGo) { mIsGroupOwner = isGo; } @@ -212,6 +216,7 @@ public class WifiP2pGroup implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public boolean isClientListEmpty() { return mClients.size() == 0; } @@ -242,6 +247,7 @@ public class WifiP2pGroup implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public void setInterface(String intf) { mInterface = intf; } @@ -252,11 +258,13 @@ public class WifiP2pGroup implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public int getNetworkId() { return mNetId; } /** @hide */ + @UnsupportedAppUsage public void setNetworkId(int netId) { this.mNetId = netId; } diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pGroupList.java b/wifi/java/android/net/wifi/p2p/WifiP2pGroupList.java index 64bb00b713c7..8d922539d06e 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pGroupList.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pGroupList.java @@ -18,6 +18,7 @@ package android.net.wifi.p2p; import java.util.Collection; import java.util.Map; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.LruCache; @@ -33,6 +34,7 @@ public class WifiP2pGroupList implements Parcelable { private static final int CREDENTIAL_MAX_NUM = 32; + @UnsupportedAppUsage private final LruCache<Integer, WifiP2pGroup> mGroups; private final GroupDeleteListener mListener; @@ -48,6 +50,7 @@ public class WifiP2pGroupList implements Parcelable { } /** @hide */ + @UnsupportedAppUsage public WifiP2pGroupList(WifiP2pGroupList source, GroupDeleteListener listener) { mListener = listener; mGroups = new LruCache<Integer, WifiP2pGroup>(CREDENTIAL_MAX_NUM) { @@ -72,6 +75,7 @@ public class WifiP2pGroupList implements Parcelable { * * @return the list of p2p group. */ + @UnsupportedAppUsage public Collection<WifiP2pGroup> getGroupList() { return mGroups.snapshot().values(); } diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java index 8075e178f2ed..57f3973a4eb5 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java @@ -19,6 +19,7 @@ package android.net.wifi.p2p; import android.annotation.SdkConstant; import android.annotation.SystemService; import android.annotation.SdkConstant.SdkConstantType; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.net.wifi.WpsInfo; import android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo; @@ -325,6 +326,7 @@ public class WifiP2pManager { public static final int CANCEL_CONNECT_SUCCEEDED = BASE + 12; /** @hide */ + @UnsupportedAppUsage public static final int CREATE_GROUP = BASE + 13; /** @hide */ public static final int CREATE_GROUP_FAILED = BASE + 14; @@ -486,6 +488,7 @@ public class WifiP2pManager { * @hide - hide this because it takes in a parameter of type IWifiP2pManager, which * is a system private class. */ + @UnsupportedAppUsage public WifiP2pManager(IWifiP2pManager service) { mService = service; } @@ -731,6 +734,7 @@ public class WifiP2pManager { /* package */ final Binder mBinder; + @UnsupportedAppUsage private AsyncChannel mAsyncChannel; private P2pHandler mHandler; Context mContext; @@ -887,6 +891,7 @@ public class WifiP2pManager { } } + @UnsupportedAppUsage private int putListener(Object listener) { if (listener == null) return INVALID_LISTENER_KEY; int key; @@ -1099,6 +1104,7 @@ public class WifiP2pManager { } /** @hide */ + @UnsupportedAppUsage public void setWifiP2pChannels(Channel c, int lc, int oc, ActionListener listener) { checkChannel(c); Bundle p2pChannels = new Bundle(); @@ -1117,6 +1123,7 @@ public class WifiP2pManager { * {@link ActionListener#onSuccess} or {@link ActionListener#onFailure}. * @hide */ + @UnsupportedAppUsage public void startWps(Channel c, WpsInfo wps, ActionListener listener) { checkChannel(c); c.mAsyncChannel.sendMessage(START_WPS, 0, c.putListener(listener), wps); @@ -1363,6 +1370,7 @@ public class WifiP2pManager { * @param c is the channel created at {@link #initialize} * @param listener for callback when group info is available. Can be null. */ + @UnsupportedAppUsage public void setDeviceName(Channel c, String devName, ActionListener listener) { checkChannel(c); WifiP2pDevice d = new WifiP2pDevice(); @@ -1371,6 +1379,7 @@ public class WifiP2pManager { } /** @hide */ + @UnsupportedAppUsage public void setWFDInfo( Channel c, WifiP2pWfdInfo wfdInfo, ActionListener listener) { @@ -1401,6 +1410,7 @@ public class WifiP2pManager { * @param listener for callbacks on success or failure. Can be null. * @hide */ + @UnsupportedAppUsage public void deletePersistentGroup(Channel c, int netId, ActionListener listener) { checkChannel(c); c.mAsyncChannel.sendMessage(DELETE_PERSISTENT_GROUP, netId, c.putListener(listener)); @@ -1413,6 +1423,7 @@ public class WifiP2pManager { * @param listener for callback when persistent group info list is available. Can be null. * @hide */ + @UnsupportedAppUsage public void requestPersistentGroupInfo(Channel c, PersistentGroupInfoListener listener) { checkChannel(c); c.mAsyncChannel.sendMessage(REQUEST_PERSISTENT_GROUP_INFO, 0, c.putListener(listener)); @@ -1425,6 +1436,7 @@ public class WifiP2pManager { /** @hide */ public static final int MIRACAST_SINK = 2; /** Internal use only @hide */ + @UnsupportedAppUsage public void setMiracastMode(int mode) { try { mService.setMiracastMode(mode); diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pProvDiscEvent.java b/wifi/java/android/net/wifi/p2p/WifiP2pProvDiscEvent.java index 98683cbcdce5..153e03cc4d9d 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pProvDiscEvent.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pProvDiscEvent.java @@ -16,6 +16,8 @@ package android.net.wifi.p2p; +import android.annotation.UnsupportedAppUsage; + /** * A class representing a Wi-Fi p2p provisional discovery request/response * See {@link #WifiP2pProvDiscEvent} for supported types @@ -32,13 +34,17 @@ public class WifiP2pProvDiscEvent { public static final int SHOW_PIN = 4; /* One of PBC_REQ, PBC_RSP, ENTER_PIN or SHOW_PIN */ + @UnsupportedAppUsage public int event; + @UnsupportedAppUsage public WifiP2pDevice device; /* Valid when event = SHOW_PIN */ + @UnsupportedAppUsage public String pin; + @UnsupportedAppUsage public WifiP2pProvDiscEvent() { device = new WifiP2pDevice(); } diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pWfdInfo.java b/wifi/java/android/net/wifi/p2p/WifiP2pWfdInfo.java index ebf5c2a474cc..ef1bff4c793c 100644 --- a/wifi/java/android/net/wifi/p2p/WifiP2pWfdInfo.java +++ b/wifi/java/android/net/wifi/p2p/WifiP2pWfdInfo.java @@ -16,6 +16,7 @@ package android.net.wifi.p2p; +import android.annotation.UnsupportedAppUsage; import android.os.Parcelable; import android.os.Parcel; @@ -53,9 +54,11 @@ public class WifiP2pWfdInfo implements Parcelable { private int mMaxThroughput; + @UnsupportedAppUsage public WifiP2pWfdInfo() { } + @UnsupportedAppUsage public WifiP2pWfdInfo(int devInfo, int ctrlPort, int maxTput) { mWfdEnabled = true; mDeviceInfo = devInfo; @@ -63,18 +66,22 @@ public class WifiP2pWfdInfo implements Parcelable { mMaxThroughput = maxTput; } + @UnsupportedAppUsage public boolean isWfdEnabled() { return mWfdEnabled; } + @UnsupportedAppUsage public void setWfdEnabled(boolean enabled) { mWfdEnabled = enabled; } + @UnsupportedAppUsage public int getDeviceType() { return (mDeviceInfo & DEVICE_TYPE); } + @UnsupportedAppUsage public boolean setDeviceType(int deviceType) { if (deviceType >= WFD_SOURCE && deviceType <= SOURCE_OR_PRIMARY_SINK) { mDeviceInfo &= ~DEVICE_TYPE; @@ -112,6 +119,7 @@ public class WifiP2pWfdInfo implements Parcelable { return (mDeviceInfo & SESSION_AVAILABLE) != 0; } + @UnsupportedAppUsage public void setSessionAvailable(boolean enabled) { if (enabled) { mDeviceInfo |= SESSION_AVAILABLE_BIT1; @@ -125,10 +133,12 @@ public class WifiP2pWfdInfo implements Parcelable { return mCtrlPort; } + @UnsupportedAppUsage public void setControlPort(int port) { mCtrlPort = port; } + @UnsupportedAppUsage public void setMaxThroughput(int maxThroughput) { mMaxThroughput = maxThroughput; } @@ -157,6 +167,7 @@ public class WifiP2pWfdInfo implements Parcelable { } /** copy constructor */ + @UnsupportedAppUsage public WifiP2pWfdInfo(WifiP2pWfdInfo source) { if (source != null) { mWfdEnabled = source.mWfdEnabled; @@ -182,6 +193,7 @@ public class WifiP2pWfdInfo implements Parcelable { } /** Implement the Parcelable interface */ + @UnsupportedAppUsage public static final Creator<WifiP2pWfdInfo> CREATOR = new Creator<WifiP2pWfdInfo>() { public WifiP2pWfdInfo createFromParcel(Parcel in) { diff --git a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo.java b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo.java index a4118dc95335..c9e9867e200d 100644 --- a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo.java +++ b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo.java @@ -16,6 +16,7 @@ package android.net.wifi.p2p.nsd; +import android.annotation.UnsupportedAppUsage; import android.net.nsd.DnsSdTxtRecord; import android.text.TextUtils; @@ -173,6 +174,7 @@ public class WifiP2pDnsSdServiceInfo extends WifiP2pServiceInfo { * @param version version number * @hide */ + @UnsupportedAppUsage static String createRequest(String dnsName, int dnsType, int version) { StringBuffer sb = new StringBuffer(); diff --git a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceInfo.java b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceInfo.java index b931475ed4ab..35631985bdfc 100644 --- a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceInfo.java +++ b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceInfo.java @@ -16,6 +16,7 @@ package android.net.wifi.p2p.nsd; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -83,6 +84,7 @@ public class WifiP2pServiceInfo implements Parcelable { * {"upnp", "10", "uuid:6859dede-8574-59ab-9322-123456789012::urn:schemas-upnp * -org:service:ContentDirectory:2"} */ + @UnsupportedAppUsage private List<String> mQueryList; /** @@ -91,6 +93,7 @@ public class WifiP2pServiceInfo implements Parcelable { * @param queryList query string for wpa_supplicant * @hide */ + @UnsupportedAppUsage protected WifiP2pServiceInfo(List<String> queryList) { if (queryList == null) { throw new IllegalArgumentException("query list cannot be null"); @@ -166,6 +169,7 @@ public class WifiP2pServiceInfo implements Parcelable { } /** Implement the Parcelable interface {@hide} */ + @UnsupportedAppUsage public static final Creator<WifiP2pServiceInfo> CREATOR = new Creator<WifiP2pServiceInfo>() { public WifiP2pServiceInfo createFromParcel(Parcel in) { diff --git a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceRequest.java b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceRequest.java index 7462b85c8b2d..2e7f44802ab2 100644 --- a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceRequest.java +++ b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceRequest.java @@ -16,6 +16,7 @@ package android.net.wifi.p2p.nsd; +import android.annotation.UnsupportedAppUsage; import android.net.wifi.p2p.WifiP2pManager; import android.os.Parcel; import android.os.Parcelable; @@ -72,6 +73,7 @@ public class WifiP2pServiceRequest implements Parcelable { * @param query The part of service specific query. * @hide */ + @UnsupportedAppUsage protected WifiP2pServiceRequest(int protocolType, String query) { validateQuery(query); @@ -262,6 +264,7 @@ public class WifiP2pServiceRequest implements Parcelable { } /** Implement the Parcelable interface {@hide} */ + @UnsupportedAppUsage public static final Creator<WifiP2pServiceRequest> CREATOR = new Creator<WifiP2pServiceRequest>() { public WifiP2pServiceRequest createFromParcel(Parcel in) { |