Merge "Add @UnsupportedAppUsage annotations"
diff --git a/Android.bp b/Android.bp
index 2e3073f..ae0acad 100644
--- a/Android.bp
+++ b/Android.bp
@@ -898,6 +898,7 @@
"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 @@
"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 @@
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 139776b..4ec2265 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -57590,14 +57590,14 @@
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 98113c2..859ee98 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -3726,6 +3726,7 @@
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 @@
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 @@
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 @@
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 @@
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
@@ -5924,12 +5942,16 @@
ctor public ImsSsInfo(int, java.lang.String);
method public int describeContents();
method public java.lang.String getIcbNum();
+ method public int getProvisionStatus();
method public int getStatus();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
field public static final int DISABLED = 0; // 0x0
field public static final int ENABLED = 1; // 0x1
field public static final int NOT_REGISTERED = -1; // 0xffffffff
+ field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
+ field public static final int SERVICE_PROVISIONED = 1; // 0x1
+ field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
}
public final class ImsStreamMediaProfile implements android.os.Parcelable {
diff --git a/api/test-current.txt b/api/test-current.txt
index 4c3c0f8..8073341 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -256,8 +256,8 @@
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 4c4d1b9..012310c 100644
--- a/cmds/incident_helper/src/ih_util.cpp
+++ b/cmds/incident_helper/src/ih_util.cpp
@@ -97,7 +97,7 @@
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 @@
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 418dc3f..091410b 100644
--- a/cmds/incident_helper/src/main.cpp
+++ b/cmds/incident_helper/src/main.cpp
@@ -97,7 +97,7 @@
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 eed68b9..21ced9c 100644
--- a/cmds/incident_helper/src/parsers/CpuInfoParser.cpp
+++ b/cmds/incident_helper/src/parsers/CpuInfoParser.cpp
@@ -109,7 +109,7 @@
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 8d64064..d3cb4be 100644
--- a/cmds/incident_helper/src/parsers/PsParser.cpp
+++ b/cmds/incident_helper/src/parsers/PsParser.cpp
@@ -48,7 +48,7 @@
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 238d7d2..111934d 100644
--- a/config/hiddenapi-light-greylist.txt
+++ b/config/hiddenapi-light-greylist.txt
@@ -1,23 +1,5 @@
Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;-><init>()V
Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accessibilityservice/IAccessibilityServiceConnection;
-Landroid/accounts/Account;->accessId:Ljava/lang/String;
-Landroid/accounts/Account;->TAG:Ljava/lang/String;
-Landroid/accounts/AccountAndUser;-><init>(Landroid/accounts/Account;I)V
-Landroid/accounts/AccountAndUser;->account:Landroid/accounts/Account;
-Landroid/accounts/AccountAndUser;->userId:I
-Landroid/accounts/AccountAuthenticatorResponse;-><init>(Landroid/accounts/IAccountAuthenticatorResponse;)V
-Landroid/accounts/AccountManager$AmsTask;->mActivity:Landroid/app/Activity;
-Landroid/accounts/AccountManager$AmsTask;->mHandler:Landroid/os/Handler;
-Landroid/accounts/AccountManager$AmsTask;->mResponse:Landroid/accounts/IAccountManagerResponse;
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mAuthTokenType:Ljava/lang/String;
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mLoginOptions:Landroid/os/Bundle;
-Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mMyCallback:Landroid/accounts/AccountManagerCallback;
-Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
-Landroid/accounts/AccountManager;->confirmCredentialsAsUser(Landroid/accounts/Account;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;Landroid/os/UserHandle;)Landroid/accounts/AccountManagerFuture;
-Landroid/accounts/AccountManager;->getAccountsByTypeAsUser(Ljava/lang/String;Landroid/os/UserHandle;)[Landroid/accounts/Account;
-Landroid/accounts/AccountManager;->mContext:Landroid/content/Context;
-Landroid/accounts/AuthenticatorDescription;-><init>(Landroid/os/Parcel;)V
-Landroid/accounts/AuthenticatorDescription;-><init>(Ljava/lang/String;)V
Landroid/accounts/IAccountAuthenticator$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->mRemote:Landroid/os/IBinder;
Landroid/accounts/IAccountAuthenticator$Stub;-><init>()V
@@ -48,437 +30,13 @@
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
@@ -492,85 +50,7 @@
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
@@ -702,17 +182,6 @@
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;
@@ -762,158 +231,10 @@
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;
@@ -922,114 +243,15 @@
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/appwidget/AppWidgetHost;-><init>(Landroid/content/Context;ILandroid/widget/RemoteViews$OnClickHandler;Landroid/os/Looper;)V
-Landroid/appwidget/AppWidgetHost;->HANDLE_VIEW_DATA_CHANGED:I
-Landroid/appwidget/AppWidgetHost;->mHandler:Landroid/os/Handler;
-Landroid/appwidget/AppWidgetHost;->sService:Lcom/android/internal/appwidget/IAppWidgetService;
-Landroid/appwidget/AppWidgetHostView;->getDefaultPaddingForWidget(Landroid/content/Context;Landroid/content/pm/ApplicationInfo;Landroid/graphics/Rect;)Landroid/graphics/Rect;
-Landroid/appwidget/AppWidgetHostView;->mAppWidgetId:I
-Landroid/appwidget/AppWidgetHostView;->mInfo:Landroid/appwidget/AppWidgetProviderInfo;
-Landroid/appwidget/AppWidgetHostView;->updateAppWidgetSize(Landroid/os/Bundle;IIIIZ)V
-Landroid/appwidget/AppWidgetManager;->bindAppWidgetId(ILandroid/content/ComponentName;)V
-Landroid/appwidget/AppWidgetManager;->bindAppWidgetId(ILandroid/content/ComponentName;Landroid/os/Bundle;)V
-Landroid/appwidget/AppWidgetManager;->bindAppWidgetIdIfAllowed(IILandroid/content/ComponentName;Landroid/os/Bundle;)Z
-Landroid/appwidget/AppWidgetManager;->bindRemoteViewsService(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/IServiceConnection;I)Z
-Landroid/appwidget/AppWidgetManager;->getInstalledProviders(I)Ljava/util/List;
-Landroid/appwidget/AppWidgetManager;->getInstalledProvidersForProfile(ILandroid/os/UserHandle;Ljava/lang/String;)Ljava/util/List;
-Landroid/appwidget/AppWidgetManager;->mService:Lcom/android/internal/appwidget/IAppWidgetService;
-Landroid/appwidget/AppWidgetProviderInfo;->providerInfo:Landroid/content/pm/ActivityInfo;
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
@@ -1804,297 +1026,25 @@
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;
-Landroid/hardware/Camera$Parameters;->copyFrom(Landroid/hardware/Camera$Parameters;)V
-Landroid/hardware/Camera$Parameters;->dump()V
-Landroid/hardware/Camera$Parameters;->splitArea(Ljava/lang/String;)Ljava/util/ArrayList;
-Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
-Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;J)V
-Landroid/hardware/camera2/CameraCharacteristics$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_MAX_REGIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->LED_AVAILABLE_LEDS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->LENS_INFO_SHADING_MAP_SIZE:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->LOGICAL_MULTI_CAMERA_PHYSICAL_IDS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->mProperties:Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/CameraCharacteristics;->QUIRKS_USE_PARTIAL_RESULT:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_CHARACTERISTICS_KEYS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_REQUEST_KEYS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_RESULT_KEYS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_SESSION_KEYS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_MAX_NUM_OUTPUT_STREAMS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_FORMATS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_JPEG_MIN_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_JPEG_SIZES:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_MIN_FRAME_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_PROCESSED_SIZES:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_STALL_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_STREAM_CONFIGURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key;
-Landroid/hardware/camera2/CaptureRequest$Builder;->setPartOfCHSRequestList(Z)V
-Landroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
-Landroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;J)V
-Landroid/hardware/camera2/CaptureRequest$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
-Landroid/hardware/camera2/CaptureRequest;->getTargets()Ljava/util/Collection;
-Landroid/hardware/camera2/CaptureRequest;->JPEG_GPS_COORDINATES:Landroid/hardware/camera2/CaptureRequest$Key;
-Landroid/hardware/camera2/CaptureRequest;->JPEG_GPS_PROCESSING_METHOD:Landroid/hardware/camera2/CaptureRequest$Key;
-Landroid/hardware/camera2/CaptureRequest;->JPEG_GPS_TIMESTAMP:Landroid/hardware/camera2/CaptureRequest$Key;
-Landroid/hardware/camera2/CaptureRequest;->LED_TRANSMIT:Landroid/hardware/camera2/CaptureRequest$Key;
-Landroid/hardware/camera2/CaptureRequest;->mLogicalCameraSettings:Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/CaptureRequest;->REQUEST_ID:Landroid/hardware/camera2/CaptureRequest$Key;
-Landroid/hardware/camera2/CaptureRequest;->TONEMAP_CURVE_BLUE:Landroid/hardware/camera2/CaptureRequest$Key;
-Landroid/hardware/camera2/CaptureRequest;->TONEMAP_CURVE_GREEN:Landroid/hardware/camera2/CaptureRequest$Key;
-Landroid/hardware/camera2/CaptureRequest;->TONEMAP_CURVE_RED:Landroid/hardware/camera2/CaptureRequest$Key;
-Landroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
-Landroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-Landroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;J)V
-Landroid/hardware/camera2/CaptureResult$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
-Landroid/hardware/camera2/CaptureResult;->JPEG_GPS_COORDINATES:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->JPEG_GPS_PROCESSING_METHOD:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->JPEG_GPS_TIMESTAMP:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->LED_TRANSMIT:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->mResults:Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/CaptureResult;->QUIRKS_PARTIAL_RESULT:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->REQUEST_FRAME_COUNT:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->REQUEST_ID:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->STATISTICS_FACE_IDS:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->STATISTICS_FACE_LANDMARKS:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->STATISTICS_FACE_RECTANGLES:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->STATISTICS_FACE_SCORES:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->STATISTICS_LENS_SHADING_MAP:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->STATISTICS_OIS_TIMESTAMPS:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->STATISTICS_OIS_X_SHIFTS:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->STATISTICS_OIS_Y_SHIFTS:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->STATISTICS_PREDICTED_COLOR_GAINS:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->STATISTICS_PREDICTED_COLOR_TRANSFORM:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->SYNC_FRAME_NUMBER:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->TONEMAP_CURVE_BLUE:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->TONEMAP_CURVE_GREEN:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/CaptureResult;->TONEMAP_CURVE_RED:Landroid/hardware/camera2/CaptureResult$Key;
-Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->getTag()I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->mMetadataPtr:J
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeGetTagFromKeyLocal(Ljava/lang/String;)I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeGetTypeFromTagLocal(I)I
-Landroid/hardware/camera2/impl/CameraMetadataNative;->nativeReadValues(I)[B
-Landroid/hardware/camera2/utils/SurfaceUtils;->getSurfaceSize(Landroid/view/Surface;)Landroid/util/Size;
-Landroid/hardware/camera2/utils/TypeReference;-><init>()V
-Landroid/hardware/camera2/utils/TypeReference;->createSpecializedTypeReference(Ljava/lang/reflect/Type;)Landroid/hardware/camera2/utils/TypeReference;
-Landroid/hardware/Camera;->addCallbackBuffer([BI)V
-Landroid/hardware/Camera;->addRawImageCallbackBuffer([B)V
-Landroid/hardware/Camera;->CAMERA_HAL_API_VERSION_1_0:I
-Landroid/hardware/Camera;->getEmptyParameters()Landroid/hardware/Camera$Parameters;
-Landroid/hardware/Camera;->mNativeContext:J
-Landroid/hardware/Camera;->native_getParameters()Ljava/lang/String;
-Landroid/hardware/Camera;->native_setParameters(Ljava/lang/String;)V
-Landroid/hardware/Camera;->native_setup(Ljava/lang/Object;IILjava/lang/String;)I
-Landroid/hardware/Camera;->openLegacy(II)Landroid/hardware/Camera;
-Landroid/hardware/Camera;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/hardware/Camera;->previewEnabled()Z
-Landroid/hardware/Camera;->setPreviewSurface(Landroid/view/Surface;)V
-Landroid/hardware/display/DisplayManager;->ACTION_WIFI_DISPLAY_STATUS_CHANGED:Ljava/lang/String;
-Landroid/hardware/display/DisplayManager;->connectWifiDisplay(Ljava/lang/String;)V
-Landroid/hardware/display/DisplayManager;->disconnectWifiDisplay()V
-Landroid/hardware/display/DisplayManager;->EXTRA_WIFI_DISPLAY_STATUS:Ljava/lang/String;
-Landroid/hardware/display/DisplayManager;->forgetWifiDisplay(Ljava/lang/String;)V
-Landroid/hardware/display/DisplayManager;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
-Landroid/hardware/display/DisplayManager;->pauseWifiDisplay()V
-Landroid/hardware/display/DisplayManager;->renameWifiDisplay(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/hardware/display/DisplayManager;->resumeWifiDisplay()V
-Landroid/hardware/display/DisplayManager;->startWifiDisplayScan()V
-Landroid/hardware/display/DisplayManager;->stopWifiDisplayScan()V
-Landroid/hardware/display/DisplayManagerGlobal;->disconnectWifiDisplay()V
-Landroid/hardware/display/DisplayManagerGlobal;->getDisplayIds()[I
-Landroid/hardware/display/DisplayManagerGlobal;->getDisplayInfo(I)Landroid/view/DisplayInfo;
-Landroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
-Landroid/hardware/display/DisplayManagerGlobal;->mDm:Landroid/hardware/display/IDisplayManager;
-Landroid/hardware/display/DisplayManagerGlobal;->sInstance:Landroid/hardware/display/DisplayManagerGlobal;
Landroid/hardware/display/IDisplayManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/display/IDisplayManager;
Landroid/hardware/display/IDisplayManager;->getDisplayInfo(I)Landroid/view/DisplayInfo;
-Landroid/hardware/display/WifiDisplay;->canConnect()Z
-Landroid/hardware/display/WifiDisplay;->equals(Landroid/hardware/display/WifiDisplay;)Z
-Landroid/hardware/display/WifiDisplay;->getDeviceAddress()Ljava/lang/String;
-Landroid/hardware/display/WifiDisplay;->getDeviceAlias()Ljava/lang/String;
-Landroid/hardware/display/WifiDisplay;->getDeviceName()Ljava/lang/String;
-Landroid/hardware/display/WifiDisplay;->isAvailable()Z
-Landroid/hardware/display/WifiDisplay;->isRemembered()Z
-Landroid/hardware/display/WifiDisplayStatus;->DISPLAY_STATE_CONNECTED:I
-Landroid/hardware/display/WifiDisplayStatus;->DISPLAY_STATE_CONNECTING:I
-Landroid/hardware/display/WifiDisplayStatus;->DISPLAY_STATE_NOT_CONNECTED:I
-Landroid/hardware/display/WifiDisplayStatus;->FEATURE_STATE_ON:I
-Landroid/hardware/display/WifiDisplayStatus;->getActiveDisplay()Landroid/hardware/display/WifiDisplay;
-Landroid/hardware/display/WifiDisplayStatus;->getActiveDisplayState()I
-Landroid/hardware/display/WifiDisplayStatus;->getDisplays()[Landroid/hardware/display/WifiDisplay;
-Landroid/hardware/display/WifiDisplayStatus;->getFeatureState()I
-Landroid/hardware/display/WifiDisplayStatus;->getScanState()I
-Landroid/hardware/display/WifiDisplayStatus;->mActiveDisplay:Landroid/hardware/display/WifiDisplay;
-Landroid/hardware/display/WifiDisplayStatus;->mDisplays:[Landroid/hardware/display/WifiDisplay;
-Landroid/hardware/display/WifiDisplayStatus;->SCAN_STATE_NOT_SCANNING:I
-Landroid/hardware/fingerprint/Fingerprint;->getFingerId()I
-Landroid/hardware/fingerprint/Fingerprint;->getName()Ljava/lang/CharSequence;
-Landroid/hardware/fingerprint/FingerprintManager$AuthenticationResult;->getFingerprint()Landroid/hardware/fingerprint/Fingerprint;
-Landroid/hardware/fingerprint/FingerprintManager;->getAuthenticatorId()J
-Landroid/hardware/fingerprint/FingerprintManager;->getEnrolledFingerprints()Ljava/util/List;
-Landroid/hardware/fingerprint/FingerprintManager;->getEnrolledFingerprints(I)Ljava/util/List;
Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/hardware/fingerprint/IFingerprintService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/fingerprint/IFingerprintService;
-Landroid/hardware/HardwareBuffer;-><init>(J)V
-Landroid/hardware/HardwareBuffer;->mNativeObject:J
Landroid/hardware/ICameraService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICameraService;
Landroid/hardware/input/IInputManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/hardware/input/IInputManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/input/IInputManager;
Landroid/hardware/input/IInputManager$Stub;->TRANSACTION_injectInputEvent:I
Landroid/hardware/input/IInputManager;->injectInputEvent(Landroid/view/InputEvent;I)Z
-Landroid/hardware/input/InputManager;->createInputForwarder(I)Landroid/app/IInputForwarder;
-Landroid/hardware/input/InputManager;->getInstance()Landroid/hardware/input/InputManager;
-Landroid/hardware/input/InputManager;->injectInputEvent(Landroid/view/InputEvent;I)Z
-Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I
-Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager;
-Landroid/hardware/input/InputManager;->setPointerIconType(I)V
Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub;-><init>()V
Landroid/hardware/location/IContextHubService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubService;
-Landroid/hardware/Sensor;->getHandle()I
-Landroid/hardware/Sensor;->mFlags:I
-Landroid/hardware/Sensor;->TYPE_DEVICE_ORIENTATION:I
-Landroid/hardware/Sensor;->TYPE_PICK_UP_GESTURE:I
-Landroid/hardware/SensorEvent;-><init>(I)V
-Landroid/hardware/SensorManager;-><init>()V
-Landroid/hardware/SerialManager;->getSerialPorts()[Ljava/lang/String;
-Landroid/hardware/SerialManager;->openSerialPort(Ljava/lang/String;I)Landroid/hardware/SerialPort;
-Landroid/hardware/SerialPort;->close()V
-Landroid/hardware/SerialPort;->mNativeContext:I
-Landroid/hardware/SerialPort;->write(Ljava/nio/ByteBuffer;I)V
-Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;-><init>(II)V
-Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;->confidenceLevel:I
-Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;->userId:I
-Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V
-Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;-><init>(Ljava/util/UUID;Ljava/util/UUID;[B)V
-Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;-><init>(IILjava/lang/String;Ljava/lang/String;[I)V
-Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->id:I
-Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->locale:Ljava/lang/String;
-Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->recognitionModes:I
-Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->text:Ljava/lang/String;
-Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->users:[I
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;)V
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;->keyphraseExtras:[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;-><init>(III[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;)V
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->coarseConfidenceLevel:I
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->confidenceLevels:[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->id:I
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->recognitionModes:I
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;-><init>(Ljava/util/UUID;Ljava/util/UUID;[B[Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;)V
-Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->keyphrases:[Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIIZIZIZ)V
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->id:I
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->maxSoundModels:I
-Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->uuid:Ljava/util/UUID;
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;-><init>(ZZ[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;[B)V
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->captureRequested:Z
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->data:[B
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->keyphrases:[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->captureAvailable:Z
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->captureSession:I
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->data:[B
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->soundModelHandle:I
-Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->status:I
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->data:[B
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->uuid:Ljava/util/UUID;
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->vendorUuid:Ljava/util/UUID;
-Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;-><init>(II[B)V
-Landroid/hardware/soundtrigger/SoundTrigger;->attachModule(ILandroid/hardware/soundtrigger/SoundTrigger$StatusListener;Landroid/os/Handler;)Landroid/hardware/soundtrigger/SoundTriggerModule;
-Landroid/hardware/soundtrigger/SoundTrigger;->listModules(Ljava/util/ArrayList;)I
-Landroid/hardware/soundtrigger/SoundTriggerModule;->detach()V
-Landroid/hardware/soundtrigger/SoundTriggerModule;->loadSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;[I)I
-Landroid/hardware/soundtrigger/SoundTriggerModule;->mId:I
-Landroid/hardware/soundtrigger/SoundTriggerModule;->mNativeContext:J
-Landroid/hardware/soundtrigger/SoundTriggerModule;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/hardware/soundtrigger/SoundTriggerModule;->startRecognition(ILandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Landroid/hardware/soundtrigger/SoundTriggerModule;->stopRecognition(I)I
-Landroid/hardware/soundtrigger/SoundTriggerModule;->unloadSoundModel(I)I
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchAdditionalInfoEvent(III[F[I)V
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchFlushCompleteEvent(I)V
-Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchSensorEvent(I[FIJ)V
Landroid/hardware/usb/IUsbManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/hardware/usb/IUsbManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/usb/IUsbManager;
-Landroid/hardware/usb/UsbDevice;->mInterfaces:[Landroid/hardware/usb/UsbInterface;
-Landroid/hardware/usb/UsbDeviceConnection;->mNativeContext:J
-Landroid/hardware/usb/UsbManager;-><init>(Landroid/content/Context;Landroid/hardware/usb/IUsbManager;)V
-Landroid/hardware/usb/UsbManager;->ACTION_USB_STATE:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->getPorts()[Landroid/hardware/usb/UsbPort;
-Landroid/hardware/usb/UsbManager;->getPortStatus(Landroid/hardware/usb/UsbPort;)Landroid/hardware/usb/UsbPortStatus;
-Landroid/hardware/usb/UsbManager;->isFunctionEnabled(Ljava/lang/String;)Z
-Landroid/hardware/usb/UsbManager;->setCurrentFunction(Ljava/lang/String;Z)V
-Landroid/hardware/usb/UsbManager;->setPortRoles(Landroid/hardware/usb/UsbPort;II)V
-Landroid/hardware/usb/UsbManager;->USB_CONNECTED:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_DATA_UNLOCKED:Ljava/lang/String;
-Landroid/hardware/usb/UsbManager;->USB_FUNCTION_NONE:Ljava/lang/String;
-Landroid/hardware/usb/UsbPortStatus;->getCurrentDataRole()I
-Landroid/hardware/usb/UsbPortStatus;->getCurrentMode()I
-Landroid/hardware/usb/UsbPortStatus;->getCurrentPowerRole()I
-Landroid/hardware/usb/UsbPortStatus;->getSupportedRoleCombinations()I
-Landroid/hardware/usb/UsbPortStatus;->isConnected()Z
-Landroid/hardware/usb/UsbPortStatus;->isRoleCombinationSupported(II)Z
-Landroid/hardware/usb/UsbRequest;->mBuffer:Ljava/nio/ByteBuffer;
-Landroid/hardware/usb/UsbRequest;->mLength:I
-Landroid/hardware/usb/UsbRequest;->mNativeContext:J
Landroid/icu/impl/CurrencyData;-><init>()V
Landroid/icu/text/ArabicShaping;-><init>(I)V
Landroid/icu/text/ArabicShaping;->isAlefMaksouraChar(C)Z
@@ -2126,18 +1076,6 @@
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
@@ -2156,25 +1094,6 @@
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;
@@ -2644,10 +1563,6 @@
Landroid/media/VolumeShaper$State;->mVolume:F
Landroid/media/VolumeShaper$State;->mXOffset:F
Landroid/media/WebVttRenderer;-><init>(Landroid/content/Context;)V
-Landroid/mtp/MtpPropertyList;->append(IIIJ)V
-Landroid/mtp/MtpPropertyList;->append(IILjava/lang/String;)V
-Landroid/mtp/MtpStorage;->getPath()Ljava/lang/String;
-Landroid/mtp/MtpStorage;->getStorageId()I
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;
@@ -3125,13 +2040,6 @@
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;
@@ -3830,190 +2738,6 @@
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
@@ -4333,10 +3057,6 @@
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
@@ -4360,46 +3080,8 @@
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
@@ -4410,21 +3092,7 @@
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/speech/tts/TextToSpeech;->getCurrentEngine()Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech;->mConnectingServiceConnection:Landroid/speech/tts/TextToSpeech$Connection;
-Landroid/speech/tts/TextToSpeech;->mCurrentEngine:Ljava/lang/String;
-Landroid/speech/tts/TextToSpeech;->mInitListener:Landroid/speech/tts/TextToSpeech$OnInitListener;
-Landroid/speech/tts/TtsEngines;-><init>(Landroid/content/Context;)V
-Landroid/speech/tts/TtsEngines;->getEngines()Ljava/util/List;
-Landroid/speech/tts/TtsEngines;->getLocalePrefForEngine(Ljava/lang/String;)Ljava/util/Locale;
-Landroid/speech/tts/TtsEngines;->getSettingsIntent(Ljava/lang/String;)Landroid/content/Intent;
-Landroid/speech/tts/TtsEngines;->normalizeTTSLocale(Ljava/util/Locale;)Ljava/util/Locale;
-Landroid/speech/tts/TtsEngines;->parseLocaleString(Ljava/lang/String;)Ljava/util/Locale;
-Landroid/speech/tts/TtsEngines;->updateLocalePrefForEngine(Ljava/lang/String;Ljava/util/Locale;)V
Landroid/system/Int32Ref;->value:I
Landroid/system/OsConstants;-><init>()V
Landroid/system/OsConstants;->AF_NETLINK:I
@@ -4990,97 +3658,7 @@
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 64d7a5b..ed95197 100644
--- a/config/hiddenapi-vendor-list.txt
+++ b/config/hiddenapi-vendor-list.txt
@@ -1,24 +1,3 @@
-Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
-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
@@ -40,37 +19,8 @@
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/AssociationRequest;->getDeviceFilters()Ljava/util/List;
-Landroid/companion/AssociationRequest;->isSingleDevice()Z
-Landroid/companion/BluetoothDeviceFilter;->getAddress()Ljava/lang/String;
-Landroid/companion/BluetoothDeviceFilterUtils;->getDeviceDisplayNameInternal(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
-Landroid/companion/BluetoothDeviceFilterUtils;->getDeviceDisplayNameInternal(Landroid/net/wifi/ScanResult;)Ljava/lang/String;
-Landroid/companion/BluetoothDeviceFilterUtils;->getDeviceMacAddress(Landroid/os/Parcelable;)Ljava/lang/String;
-Landroid/companion/BluetoothLeDeviceFilter;->getScanFilter()Landroid/bluetooth/le/ScanFilter;
-Landroid/companion/DeviceFilter;->getDeviceDisplayName(Landroid/os/Parcelable;)Ljava/lang/String;
-Landroid/companion/DeviceFilter;->matches(Landroid/os/Parcelable;)Z
Landroid/companion/ICompanionDeviceDiscoveryService$Stub;-><init>()V
Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;->onDeviceSelected(Ljava/lang/String;ILjava/lang/String;)V
Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;->onDeviceSelectionCancel()V
@@ -97,12 +47,6 @@
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/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
-Landroid/hardware/display/DisplayManagerGlobal;->getInstance()Landroid/hardware/display/DisplayManagerGlobal;
-Landroid/hardware/display/DisplayManagerGlobal;->getRealDisplay(I)Landroid/view/Display;
-Landroid/hardware/location/GeofenceHardware;-><init>(Landroid/hardware/location/IGeofenceHardware;)V
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;
@@ -111,7 +55,6 @@
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
@@ -372,22 +315,7 @@
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
@@ -492,22 +420,6 @@
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/accounts/Account.java b/core/java/android/accounts/Account.java
index b6e85f1..f07f5ec 100644
--- a/core/java/android/accounts/Account.java
+++ b/core/java/android/accounts/Account.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.os.Parcelable;
import android.os.Parcel;
@@ -36,6 +37,7 @@
* suitable for use as the key of a {@link java.util.Map}
*/
public class Account implements Parcelable {
+ @UnsupportedAppUsage
private static final String TAG = "Account";
@GuardedBy("sAccessedAccounts")
@@ -43,6 +45,7 @@
public final String name;
public final String type;
+ @UnsupportedAppUsage
private final @Nullable String accessId;
public boolean equals(Object o) {
diff --git a/core/java/android/accounts/AccountAndUser.java b/core/java/android/accounts/AccountAndUser.java
index 04157cc..b0d5343 100644
--- a/core/java/android/accounts/AccountAndUser.java
+++ b/core/java/android/accounts/AccountAndUser.java
@@ -16,15 +16,20 @@
package android.accounts;
+import android.annotation.UnsupportedAppUsage;
+
/**
* Used to store the Account and the UserId this account is associated with.
*
* @hide
*/
public class AccountAndUser {
+ @UnsupportedAppUsage
public Account account;
+ @UnsupportedAppUsage
public int userId;
+ @UnsupportedAppUsage
public AccountAndUser(Account account, int userId) {
this.account = account;
this.userId = userId;
diff --git a/core/java/android/accounts/AccountAuthenticatorResponse.java b/core/java/android/accounts/AccountAuthenticatorResponse.java
index 41f26ac..bcc9f90 100644
--- a/core/java/android/accounts/AccountAuthenticatorResponse.java
+++ b/core/java/android/accounts/AccountAuthenticatorResponse.java
@@ -16,6 +16,7 @@
package android.accounts;
+import android.annotation.UnsupportedAppUsage;
import android.os.Bundle;
import android.os.Parcelable;
import android.os.Parcel;
@@ -33,6 +34,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public AccountAuthenticatorResponse(IAccountAuthenticatorResponse response) {
mAccountAuthenticatorResponse = response;
}
diff --git a/core/java/android/accounts/AccountManager.java b/core/java/android/accounts/AccountManager.java
index 5176d71e..3189d08 100644
--- a/core/java/android/accounts/AccountManager.java
+++ b/core/java/android/accounts/AccountManager.java
@@ -27,6 +27,7 @@
import android.annotation.SystemService;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.BroadcastBehavior;
+import android.annotation.UnsupportedAppUsage;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
@@ -336,6 +337,7 @@
public static final String ACCOUNT_ACCESS_TOKEN_TYPE =
"com.android.AccountManager.ACCOUNT_ACCESS_TOKEN_TYPE";
+ @UnsupportedAppUsage
private final Context mContext;
private final IAccountManager mService;
private final Handler mMainHandler;
@@ -409,6 +411,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public AccountManager(Context context, IAccountManager service) {
mContext = context;
mService = service;
@@ -418,6 +421,7 @@
/**
* @hide used for testing only
*/
+ @UnsupportedAppUsage
public AccountManager(Context context, IAccountManager service, Handler handler) {
mContext = context;
mService = service;
@@ -685,6 +689,7 @@
/** @hide Same as {@link #getAccountsByType(String)} but for a specific user. */
@NonNull
+ @UnsupportedAppUsage
public Account[] getAccountsByTypeAsUser(String type, UserHandle userHandle) {
try {
return mService.getAccountsAsUser(type, userHandle.getIdentifier(),
@@ -2014,6 +2019,7 @@
* Same as {@link #confirmCredentials(Account, Bundle, Activity, AccountManagerCallback, Handler)}
* but for the specified user.
*/
+ @UnsupportedAppUsage
public AccountManagerFuture<Bundle> confirmCredentialsAsUser(final Account account,
final Bundle options,
final Activity activity,
@@ -2225,9 +2231,12 @@
}
private abstract class AmsTask extends FutureTask<Bundle> implements AccountManagerFuture<Bundle> {
+ @UnsupportedAppUsage
final IAccountManagerResponse mResponse;
+ @UnsupportedAppUsage
final Handler mHandler;
final AccountManagerCallback<Bundle> mCallback;
+ @UnsupportedAppUsage
final Activity mActivity;
public AmsTask(Activity activity, Handler handler, AccountManagerCallback<Bundle> callback) {
super(new Callable<Bundle>() {
@@ -2552,10 +2561,13 @@
}
volatile AccountManagerFuture<Bundle> mFuture = null;
final String mAccountType;
+ @UnsupportedAppUsage
final String mAuthTokenType;
final String[] mFeatures;
final Bundle mAddAccountOptions;
+ @UnsupportedAppUsage
final Bundle mLoginOptions;
+ @UnsupportedAppUsage
final AccountManagerCallback<Bundle> mMyCallback;
private volatile int mNumAccounts = 0;
diff --git a/core/java/android/accounts/AuthenticatorDescription.java b/core/java/android/accounts/AuthenticatorDescription.java
index 5d9abb0..6875867 100644
--- a/core/java/android/accounts/AuthenticatorDescription.java
+++ b/core/java/android/accounts/AuthenticatorDescription.java
@@ -16,6 +16,7 @@
package android.accounts;
+import android.annotation.UnsupportedAppUsage;
import android.os.Parcelable;
import android.os.Parcel;
@@ -76,6 +77,7 @@
return new AuthenticatorDescription(type);
}
+ @UnsupportedAppUsage
private AuthenticatorDescription(String type) {
this.type = type;
this.packageName = null;
@@ -86,6 +88,7 @@
this.customTokens = false;
}
+ @UnsupportedAppUsage
private AuthenticatorDescription(Parcel source) {
this.type = source.readString();
this.packageName = source.readString();
diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java
index 04ff48c..831cac2 100644
--- a/core/java/android/app/ActionBar.java
+++ b/core/java/android/app/ActionBar.java
@@ -22,6 +22,7 @@
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 @@
* 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 @@
}
/** @hide */
+ @UnsupportedAppUsage
public void setShowHideAnimationEnabled(boolean enabled) {
}
@@ -1092,6 +1095,7 @@
}
/** @hide */
+ @UnsupportedAppUsage
public boolean collapseActionView() {
return false;
}
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index a6d2be0..7f4ea1d 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -31,6 +31,7 @@
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 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 @@
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 @@
/*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 @@
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 @@
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 @@
private Thread mUiThread;
+ @UnsupportedAppUsage
ActivityTransitionState mActivityTransitionState = new ActivityTransitionState();
SharedElementCallback mEnterTransitionListener = SharedElementCallback.NULL_CALLBACK;
SharedElementCallback mExitTransitionListener = SharedElementCallback.NULL_CALLBACK;
@@ -1657,6 +1689,7 @@
*
* @param outState place to store the saved state.
*/
+ @UnsupportedAppUsage
private void saveManagedDialogs(Bundle outState) {
if (mManagedDialogs == null) {
return;
@@ -2514,6 +2547,7 @@
* @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 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public void setPersistent(boolean isPersistent) {
}
@@ -4656,6 +4691,7 @@
/**
* @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 @@
/**
* @hide Implement to provide correct calling token.
*/
+ @UnsupportedAppUsage
public void startActivityAsUser(Intent intent, UserHandle user) {
startActivityAsUser(intent, null, user);
}
@@ -5264,6 +5301,7 @@
* @hide
*/
@Override
+ @UnsupportedAppUsage
public void startActivityForResult(
String who, Intent intent, int requestCode, @Nullable Bundle options) {
Uri referrer = onProvideReferrer();
@@ -5590,6 +5628,7 @@
* 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 @@
* @return The ActivityOptions passed to {@link #convertToTranslucent}.
* @hide
*/
+ @UnsupportedAppUsage
ActivityOptions getActivityOptions() {
try {
return ActivityOptions.fromBundle(
@@ -7037,10 +7077,12 @@
// ------------------ 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 @@
}
/** @hide */
+ @UnsupportedAppUsage
public final IBinder getActivityToken() {
return mParent != null ? mParent.getActivityToken() : mToken;
}
@@ -7127,6 +7170,7 @@
performCreate(icicle, null);
}
+ @UnsupportedAppUsage
final void performCreate(Bundle icicle, PersistableBundle persistentState) {
mCanEnterPictureInPicture = true;
restoreHasCurrentPermissionRequest(icicle);
@@ -7427,6 +7471,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public final boolean isResumed() {
return mResumed;
}
@@ -7444,6 +7489,7 @@
}
}
+ @UnsupportedAppUsage
void dispatchActivityResult(String who, int requestCode, int resultCode, Intent data,
String reason) {
if (false) Log.v(
@@ -7811,6 +7857,7 @@
* @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 @@
* @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 228067c..d4aa01b 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 @@
* 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 83630f4..55bbbc9 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -25,6 +25,7 @@
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 @@
private static int gMaxRecentTasks = -1;
+ @UnsupportedAppUsage
private final Context mContext;
private static volatile boolean sSystemReady = false;
@@ -427,6 +429,7 @@
* for a startActivity operation.
* @hide
*/
+ @UnsupportedAppUsage
public static final int INTENT_SENDER_ACTIVITY = 2;
/**
@@ -490,18 +493,22 @@
/** @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 @@
/** @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 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 @@
Point mAppTaskThumbnailSize;
+ @UnsupportedAppUsage
/*package*/ ActivityManager(Context context, Handler handler) {
mContext = context;
}
@@ -889,6 +901,7 @@
}
/** @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 @@
}
/** @hide */
+ @UnsupportedAppUsage
public static boolean isLowRamDeviceStatic() {
return RoSystemProperties.CONFIG_LOW_RAM ||
(Build.IS_DEBUGGABLE && DEVELOPMENT_FORCE_LOW_RAM);
@@ -958,6 +972,7 @@
* (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 @@
* 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 @@
* Sets the icon for this task description.
* @hide
*/
+ @UnsupportedAppUsage
public void setIcon(Bitmap icon) {
mIcon = icon;
}
@@ -1297,11 +1314,13 @@
}
/** @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 @@
* @return The background color.
* @hide
*/
+ @UnsupportedAppUsage
public int getBackgroundColor() {
return mColorBackground;
}
@@ -1489,24 +1509,28 @@
* 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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public int affiliatedTaskColor;
/**
@@ -1554,18 +1579,21 @@
* 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 @@
/**
* @return The graphic buffer representing the screenshot.
*/
+ @UnsupportedAppUsage
public GraphicBuffer getSnapshot() {
return mSnapshot;
}
@@ -2149,6 +2178,7 @@
/**
* @return The screen orientation the screenshot was taken in.
*/
+ @UnsupportedAppUsage
public int getOrientation() {
return mOrientation;
}
@@ -2157,6 +2187,7 @@
* @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 @@
/**
* @return Whether this snapshot is a down-sampled version of the full resolution.
*/
+ @UnsupportedAppUsage
public boolean isReducedResolution() {
return mReducedResolution;
}
@@ -2172,6 +2204,7 @@
* @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 @@
/**
* @return The scale this snapshot was taken in.
*/
+ @UnsupportedAppUsage
public float getScale() {
return mScale;
}
@@ -2542,12 +2576,16 @@
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 @@
* @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 @@
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 @@
*/
@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 @@
* persistent system app.
* @hide
*/
+ @UnsupportedAppUsage
public static final int FLAG_PERSISTENT = 1<<1;
/**
@@ -2985,6 +3037,7 @@
* persistent system app.
* @hide
*/
+ @UnsupportedAppUsage
public static final int FLAG_HAS_ACTIVITIES = 1<<2;
/**
@@ -2992,6 +3045,7 @@
* {@link #FLAG_CANT_SAVE_STATE}.
* @hide
*/
+ @UnsupportedAppUsage
public int flags;
/**
@@ -3145,6 +3199,7 @@
* 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 @@
* Current process state, as per PROCESS_STATE_* constants.
* @hide
*/
+ @UnsupportedAppUsage
public int processState;
public RunningAppProcessInfo() {
@@ -3665,6 +3721,7 @@
* 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 @@
}*/
/** @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 @@
* @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 @@
* @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 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public static IActivityManager getService() {
return IActivityManagerSingleton.get();
}
+ @UnsupportedAppUsage
private static final Singleton<IActivityManager> IActivityManagerSingleton =
new Singleton<IActivityManager>() {
@Override
@@ -4285,6 +4347,7 @@
* @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 4c558f3..37509e1 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 @@
*
* @deprecated use IActivityManager.Stub.asInterface instead.
*/
+ @UnsupportedAppUsage
static public IActivityManager asInterface(IBinder obj) {
return IActivityManager.Stub.asInterface(obj);
}
@@ -39,6 +41,7 @@
*
* @deprecated use ActivityManager.getService instead.
*/
+ @UnsupportedAppUsage
static public IActivityManager getDefault() {
return ActivityManager.getService();
}
@@ -48,6 +51,7 @@
*
* @deprecated use ActivityManagerInternal.isSystemReady instead.
*/
+ @UnsupportedAppUsage
static public boolean isSystemReady() {
return ActivityManager.isSystemReady();
}
@@ -55,6 +59,7 @@
/**
* @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 ecd99a7..b2b85d4 100644
--- a/core/java/android/app/ActivityOptions.java
+++ b/core/java/android/app/ActivityOptions.java
@@ -25,6 +25,7 @@
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 @@
* 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 @@
* 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 @@
* @hide
*/
@RequiresPermission(CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS)
+ @UnsupportedAppUsage
public static ActivityOptions makeRemoteAnimation(
RemoteAnimationAdapter remoteAnimationAdapter) {
final ActivityOptions opts = new ActivityOptions();
@@ -1278,6 +1282,7 @@
}
/** @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 87b3349..9c516d2 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -27,6 +27,7 @@
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 @@
@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 @@
// 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 @@
}
// 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 @@
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 @@
ProfilerInfo profilerInfo;
+ @UnsupportedAppUsage
ActivityInfo activityInfo;
+ @UnsupportedAppUsage
CompatibilityInfo compatInfo;
+ @UnsupportedAppUsage
public LoadedApk packageInfo;
List<ResultInfo> pendingResults;
@@ -406,12 +442,14 @@
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 @@
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 @@
this.intent = intent;
}
+ @UnsupportedAppUsage
Intent intent;
+ @UnsupportedAppUsage
ActivityInfo info;
+ @UnsupportedAppUsage
CompatibilityInfo compatInfo;
public String toString() {
return "ReceiverData{intent=" + intent + " packageName=" +
@@ -591,9 +635,13 @@
}
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 @@
}
static final class BindServiceData {
+ @UnsupportedAppUsage
IBinder token;
+ @UnsupportedAppUsage
Intent intent;
boolean rebind;
public String toString() {
@@ -612,10 +662,12 @@
}
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 @@
}
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 @@
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 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 @@
}
}
+ @UnsupportedAppUsage
public static ActivityThread currentActivityThread() {
return sCurrentActivityThread;
}
@@ -1887,23 +1961,27 @@
? 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 @@
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 @@
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 @@
}
@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 @@
}
}
+ @UnsupportedAppUsage
ActivityThread() {
mResourcesManager = ResourcesManager.getInstance();
}
+ @UnsupportedAppUsage
public ApplicationThread getApplicationThread()
{
return mAppThread;
}
+ @UnsupportedAppUsage
public Instrumentation getInstrumentation()
{
return mInstrumentation;
@@ -2113,6 +2199,7 @@
return mProfiler.profileFile;
}
+ @UnsupportedAppUsage
public Looper getLooper() {
return mLooper;
}
@@ -2121,14 +2208,17 @@
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 @@
}
}
+ @UnsupportedAppUsage
void scheduleGcIdler() {
if (!mGcIdlerScheduled) {
mGcIdlerScheduled = true;
@@ -2660,6 +2751,7 @@
proto.end(asToken);
}
+ @UnsupportedAppUsage
public void registerOnActivityPausedListener(Activity activity,
OnActivityPausedListener listener) {
synchronized (mOnPauseListeners) {
@@ -2672,6 +2764,7 @@
}
}
+ @UnsupportedAppUsage
public void unregisterOnActivityPausedListener(Activity activity,
OnActivityPausedListener listener) {
synchronized (mOnPauseListeners) {
@@ -2693,6 +2786,7 @@
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 @@
return performLaunchActivity(r, null /* customIntent */);
}
+ @UnsupportedAppUsage
public final Activity getActivity(IBinder token) {
return mActivities.get(token).activity;
}
@@ -2732,6 +2827,7 @@
return mActivities.get(token);
}
+ @UnsupportedAppUsage
public final void sendActivityResult(
IBinder token, String id, int requestCode,
int resultCode, Intent data) {
@@ -3109,6 +3205,7 @@
}
}
+ @UnsupportedAppUsage
void performNewIntents(IBinder token, List<ReferrerIntent> intents, boolean andPause) {
final ActivityClientRecord r = mActivities.get(token);
if (r == null) {
@@ -3329,6 +3426,7 @@
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 @@
}
}
+ @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 @@
}
/** 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 @@
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 @@
}
}
+ @UnsupportedAppUsage
private void installContentProviders(
Context context, List<ProviderInfo> providers) {
final ArrayList<ContentProviderHolder> results = new ArrayList<>();
@@ -5951,6 +6053,7 @@
}
}
+ @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 @@
}
}
+ @UnsupportedAppUsage
public final IContentProvider acquireExistingProvider(
Context c, String auth, int userId, boolean stable) {
synchronized (mProviderMap) {
@@ -6095,6 +6199,7 @@
}
}
+ @UnsupportedAppUsage
public final boolean releaseProvider(IContentProvider provider, boolean stable) {
if (provider == null) {
return false;
@@ -6227,6 +6332,7 @@
}
}
+ @UnsupportedAppUsage
final void handleUnstableProviderDied(IBinder provider, boolean fromClient) {
synchronized (mProviderMap) {
handleUnstableProviderDiedLocked(provider, fromClient);
@@ -6328,6 +6434,7 @@
* 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 @@
System.exit(0);
}
+ @UnsupportedAppUsage
private void attach(boolean system, long startSeq) {
sCurrentActivityThread = this;
mSystemThread = system;
@@ -6559,6 +6667,7 @@
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 @@
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 e469098..6123026 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 @@
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 @@
* @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 @@
* @see StateCallback
* @see #startActivity(Intent)
*/
+ @UnsupportedAppUsage
public void startActivity(@NonNull PendingIntent pendingIntent) {
final ActivityOptions options = prepareActivityOptions();
try {
@@ -229,6 +233,7 @@
*
* @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 124f933..92fbd59 100644
--- a/core/java/android/app/AlarmManager.java
+++ b/core/java/android/app/AlarmManager.java
@@ -21,6 +21,7 @@
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 @@
"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 @@
* other alarms.
* @hide
*/
+ @UnsupportedAppUsage
public static final int FLAG_STANDALONE = 1<<0;
/**
@@ -146,6 +150,7 @@
* 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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final int FLAG_ALLOW_WHILE_IDLE_UNRESTRICTED = 1<<3;
/**
@@ -175,8 +181,10 @@
* 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 @@
*
* @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 07b4b9c..dbc8c5d 100644
--- a/core/java/android/app/AlertDialog.java
+++ b/core/java/android/app/AlertDialog.java
@@ -21,6 +21,7 @@
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 @@
* </div>
*/
public class AlertDialog extends Dialog implements DialogInterface {
+ @UnsupportedAppUsage
private AlertController mAlert;
/**
@@ -449,6 +451,7 @@
}
public static class Builder {
+ @UnsupportedAppUsage
private final AlertController.AlertParams P;
/**
@@ -1049,6 +1052,7 @@
* @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 @@
/**
* @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 2b6db8b..1f737b6 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 @@
* 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 @@
* 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 @@
* 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 c58b91e..de84281 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -22,6 +22,7 @@
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 @@
*/
final Context mContext;
+ @UnsupportedAppUsage
final IAppOpsService mService;
final ArrayMap<OnOpChangedListener, IAppOpsCallback> mModeWatchers = new ArrayMap<>();
final ArrayMap<OnOpActiveChangedListener, IAppOpsActiveCallback> mActiveWatchers =
@@ -116,6 +118,7 @@
* checked is currently in the foreground, otherwise {@link #MODE_IGNORED}.
* @hide
*/
+ @UnsupportedAppUsage
public static final int MODE_FOREGROUND = 4;
/**
@@ -124,6 +127,7 @@
* 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 @@
// - 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 @@
* 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 @@
* Retrieve the op switch that controls the given operation.
* @hide
*/
+ @UnsupportedAppUsage
public static int opToSwitch(int op) {
return sOpToSwitch[op];
}
@@ -1401,6 +1485,7 @@
* 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 @@
* 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 @@
* 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 @@
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 @@
}
}
+ @UnsupportedAppUsage
public static final Creator<PackageOps> CREATOR = new Creator<PackageOps>() {
@Override public PackageOps createFromParcel(Parcel source) {
return new PackageOps(source);
@@ -1591,26 +1683,32 @@
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 @@
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 @@
return mRejectTimes[uidState];
}
+ @UnsupportedAppUsage
public boolean isRunning() {
return mRunning;
}
+ @UnsupportedAppUsage
public int getDuration() {
return mDuration;
}
@@ -1741,6 +1845,7 @@
* @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 @@
* @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 @@
* @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 @@
/** @hide */
@RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES)
+ @UnsupportedAppUsage
public void resetAllModes() {
try {
mService.resetAllModes(mContext.getUserId(), null);
@@ -1931,6 +2039,7 @@
* @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 @@
/**
* {@hide}
*/
+ @UnsupportedAppUsage
public static int strOpToOp(String op) {
Integer val = sOpStrToOp.get(op);
if (val == null) {
@@ -2140,6 +2250,7 @@
* 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 @@
* @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 @@
* 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 @@
* @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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public int noteProxyOp(int op, String proxiedPackageName) {
int mode = noteProxyOpNoThrow(op, proxiedPackageName);
if (mode == MODE_ERRORED) {
@@ -2410,6 +2525,7 @@
* 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 @@
}
/** @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 4531f53..9b49835 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 @@
*/
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 @@
/**
* @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 @@
}
}
+ @UnsupportedAppUsage
/* package */ void dispatchActivityStarted(Activity activity) {
Object[] callbacks = collectActivityLifecycleCallbacks();
if (callbacks != null) {
@@ -232,6 +240,7 @@
}
}
+ @UnsupportedAppUsage
/* package */ void dispatchActivityResumed(Activity activity) {
Object[] callbacks = collectActivityLifecycleCallbacks();
if (callbacks != null) {
@@ -241,6 +250,7 @@
}
}
+ @UnsupportedAppUsage
/* package */ void dispatchActivityPaused(Activity activity) {
Object[] callbacks = collectActivityLifecycleCallbacks();
if (callbacks != null) {
@@ -250,6 +260,7 @@
}
}
+ @UnsupportedAppUsage
/* package */ void dispatchActivityStopped(Activity activity) {
Object[] callbacks = collectActivityLifecycleCallbacks();
if (callbacks != null) {
@@ -259,6 +270,7 @@
}
}
+ @UnsupportedAppUsage
/* package */ void dispatchActivitySaveInstanceState(Activity activity, Bundle outState) {
Object[] callbacks = collectActivityLifecycleCallbacks();
if (callbacks != null) {
@@ -269,6 +281,7 @@
}
}
+ @UnsupportedAppUsage
/* package */ void dispatchActivityDestroyed(Activity activity) {
Object[] callbacks = collectActivityLifecycleCallbacks();
if (callbacks != null) {
@@ -288,6 +301,7 @@
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 0ed50f2..30d6bee 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 @@
/** @hide */
public class ApplicationLoaders {
+ @UnsupportedAppUsage
public static ApplicationLoaders getDefault() {
return gApplicationLoaders;
}
@@ -134,6 +136,7 @@
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 0e44833..d39b256 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -20,6 +20,7 @@
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 @@
}
@Override
+ @UnsupportedAppUsage
public boolean shouldShowRequestPermissionRationale(String permission) {
try {
return mPM.shouldShowRequestPermissionRationale(permission,
@@ -1504,6 +1506,7 @@
}
}
+ @UnsupportedAppUsage
static void configurationChanged() {
synchronized (sSync) {
sIconCache.clear();
@@ -1511,6 +1514,7 @@
}
}
+ @UnsupportedAppUsage
protected ApplicationPackageManager(ContextImpl context,
IPackageManager pm) {
mContext = context;
@@ -1935,6 +1939,7 @@
}
@Override
+ @UnsupportedAppUsage
public @Nullable VolumeInfo getPackageCurrentVolume(ApplicationInfo app) {
final StorageManager storage = mContext.getSystemService(StorageManager.class);
return getPackageCurrentVolume(app, storage);
@@ -2088,6 +2093,7 @@
}
@Override
+ @UnsupportedAppUsage
public void deletePackage(String packageName, IPackageDeleteObserver observer, int flags) {
deletePackageAsUser(packageName, observer, flags, mContext.getUserId());
}
@@ -2212,6 +2218,7 @@
}
@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 @@
}
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 f9998f4..1098990 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 @@
* @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 @@
}
};
+ @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 9511786..f950f2f 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -20,6 +20,7 @@
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 @@
* 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 @@
@GuardedBy("mSync")
private File mDatabasesDir;
@GuardedBy("mSync")
+ @UnsupportedAppUsage
private File mPreferencesDir;
@GuardedBy("mSync")
private File mFilesDir;
@@ -209,6 +225,7 @@
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 @@
@ServiceInitializationState
final int[] mServiceInitializationStateArray = new int[mServiceCache.length];
+ @UnsupportedAppUsage
static ContextImpl getImpl(Context context) {
Context nextContext;
while ((context instanceof ContextWrapper) &&
@@ -544,6 +562,7 @@
}
}
+ @UnsupportedAppUsage
private File getPreferencesDir() {
synchronized (mSync) {
if (mPreferencesDir == null) {
@@ -2218,6 +2237,7 @@
}
@Override
+ @UnsupportedAppUsage
public Display getDisplay() {
if (mDisplay == null) {
return mResourcesManager.getAdjustedDisplay(Display.DEFAULT_DISPLAY,
@@ -2315,6 +2335,7 @@
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 @@
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 @@
return context;
}
+ @UnsupportedAppUsage
static ContextImpl createActivityContext(ActivityThread mainThread,
LoadedApk packageInfo, ActivityInfo activityInfo, IBinder activityToken, int displayId,
Configuration overrideConfiguration) {
@@ -2460,6 +2483,7 @@
mPackageInfo.installSystemApplicationInfo(info, classLoader);
}
+ @UnsupportedAppUsage
final void scheduleFinalCleanup(String who, String what) {
mMainThread.scheduleContextCleanup(this, who, what);
}
@@ -2469,6 +2493,7 @@
mPackageInfo.removeContextRegistrations(getOuterContext(), who, what);
}
+ @UnsupportedAppUsage
final Context getReceiverRestrictedContext() {
if (mReceiverRestrictedContext != null) {
return mReceiverRestrictedContext;
@@ -2476,15 +2501,18 @@
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 @@
// ----------------------------------------------------------------------
private static final class ApplicationContentResolver extends ContentResolver {
+ @UnsupportedAppUsage
private final ActivityThread mMainThread;
public ApplicationContentResolver(Context context, ActivityThread mainThread) {
@@ -2569,6 +2598,7 @@
}
@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 bd55a06..37a05f0 100644
--- a/core/java/android/app/DatePickerDialog.java
+++ b/core/java/android/app/DatePickerDialog.java
@@ -19,6 +19,7 @@
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 @@
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 6557ac4..b7bac52 100644
--- a/core/java/android/app/Dialog.java
+++ b/core/java/android/app/Dialog.java
@@ -24,6 +24,7 @@
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 @@
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 @@
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 @@
}
}
+ @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 3a355d9..bfc15c2 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 @@
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 @@
}
/** {@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 b444f17..35999a2 100644
--- a/core/java/android/app/DownloadManager.java
+++ b/core/java/android/app/DownloadManager.java
@@ -21,6 +21,7 @@
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 @@
* 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 @@
@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 @@
* @return this object
* @hide
*/
+ @UnsupportedAppUsage
public Query setOnlyIncludeVisibleInDownloadsUi(boolean value) {
mOnlyIncludeVisibleInDownloadsUi = value;
return this;
@@ -875,6 +879,7 @@
* @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 @@
* /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 @@
}
/** {@hide} */
+ @UnsupportedAppUsage
public void setAccessFilename(boolean accessFilename) {
mAccessFilename = accessFilename;
}
@@ -1439,6 +1446,7 @@
/**
* 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 @@
/**
* 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 8e8270a..9f4157f 100644
--- a/core/java/android/app/Fragment.java
+++ b/core/java/android/app/Fragment.java
@@ -21,6 +21,7 @@
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 @@
*/
@Deprecated
public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListener {
+ @UnsupportedAppUsage
private static final ArrayMap<String, Class<?>> sClassMap =
new ArrayMap<String, Class<?>>();
@@ -279,13 +281,16 @@
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 @@
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 @@
// 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 @@
// 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 @@
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 @@
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 40bc248..9316be7 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 @@
*/
@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 b48817b..1a12fdc 100644
--- a/core/java/android/app/FragmentHostCallback.java
+++ b/core/java/android/app/FragmentHostCallback.java
@@ -18,6 +18,7 @@
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 @@
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 708450f..5e7921b 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -22,6 +22,7 @@
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 @@
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 @@
Fragment mPrimaryNav;
boolean mNeedMenuInvalidate;
+ @UnsupportedAppUsage
boolean mStateSaved;
boolean mDestroyed;
String mNoTransactionsBecause;
@@ -1097,6 +1101,7 @@
}
}
+ @UnsupportedAppUsage
Animator loadAnimator(Fragment fragment, int transit, boolean enter,
int transitionStyle) {
Animator animObj = fragment.onCreateAnimator(transit, enter, fragment.getNextAnim());
@@ -2976,6 +2981,7 @@
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 c7618fe..ab0a315 100644
--- a/core/java/android/app/Instrumentation.java
+++ b/core/java/android/app/Instrumentation.java
@@ -19,6 +19,7 @@
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 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public void callActivityOnNewIntent(Activity activity, ReferrerIntent intent) {
final String oldReferrer = activity.mReferrer;
try {
@@ -1632,6 +1634,7 @@
*
* {@hide}
*/
+ @UnsupportedAppUsage
public ActivityResult execStartActivity(
Context who, IBinder contextThread, IBinder token, Activity target,
Intent intent, int requestCode, Bundle options) {
@@ -1685,6 +1688,7 @@
*
* {@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 @@
*
* {@hide}
*/
+ @UnsupportedAppUsage
public int execStartActivitiesAsUser(Context who, IBinder contextThread,
IBinder token, Activity target, Intent[] intents, Bundle options,
int userId) {
@@ -1774,6 +1779,7 @@
*
* {@hide}
*/
+ @UnsupportedAppUsage
public ActivityResult execStartActivity(
Context who, IBinder contextThread, IBinder token, String target,
Intent intent, int requestCode, Bundle options) {
@@ -1841,6 +1847,7 @@
*
* {@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 @@
* 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 @@
* Special version!
* @hide
*/
+ @UnsupportedAppUsage
public void execStartActivityFromAppTask(
Context who, IBinder contextThread, IAppTask appTask,
Intent intent, Bundle options) {
@@ -1991,6 +2000,7 @@
}
/** @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 95ec24c..11c747f 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 @@
*/
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 4a3fcaf..1ab6bb9 100644
--- a/core/java/android/app/KeyguardManager.java
+++ b/core/java/android/app/KeyguardManager.java
@@ -22,6 +22,7 @@
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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public boolean isDeviceLocked(int userId) {
try {
return mTrustManager.isDeviceLocked(userId);
@@ -440,6 +442,7 @@
*
* @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 494b547..ddd9441 100644
--- a/core/java/android/app/LoadedApk.java
+++ b/core/java/android/app/LoadedApk.java
@@ -18,6 +18,7 @@
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.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 @@
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 @@
return mAppComponentFactory;
}
+ @UnsupportedAppUsage
public String getPackageName() {
return mPackageName;
}
+ @UnsupportedAppUsage
public ApplicationInfo getApplicationInfo() {
return mApplicationInfo;
}
@@ -252,6 +273,7 @@
return mSecurityViolation;
}
+ @UnsupportedAppUsage
public CompatibilityInfo getCompatibilityInfo() {
return mDisplayAdjustments.getCompatibilityInfo();
}
@@ -804,6 +826,7 @@
}
}
+ @UnsupportedAppUsage
public ClassLoader getClassLoader() {
synchronized (this) {
if (mClassLoader == null) {
@@ -972,6 +995,7 @@
}
}
+ @UnsupportedAppUsage
public String getAppDir() {
return mAppDir;
}
@@ -980,6 +1004,7 @@
return mLibDir;
}
+ @UnsupportedAppUsage
public String getResDir() {
return mResDir;
}
@@ -988,10 +1013,12 @@
return mSplitAppDirs;
}
+ @UnsupportedAppUsage
public String[] getSplitResDirs() {
return mSplitResDirs;
}
+ @UnsupportedAppUsage
public String[] getOverlayDirs() {
return mOverlayDirs;
}
@@ -1000,6 +1027,7 @@
return mDataDir;
}
+ @UnsupportedAppUsage
public File getDataDirFile() {
return mDataDirFile;
}
@@ -1012,10 +1040,12 @@
return mCredentialProtectedDataDirFile;
}
+ @UnsupportedAppUsage
public AssetManager getAssets() {
return getResources().getAssets();
}
+ @UnsupportedAppUsage
public Resources getResources() {
if (mResources == null) {
final String[] splitPaths;
@@ -1034,6 +1064,7 @@
return mResources;
}
+ @UnsupportedAppUsage
public Application makeApplication(boolean forceDefaultAppClass,
Instrumentation instrumentation) {
if (mApplication != null) {
@@ -1102,6 +1133,7 @@
return app;
}
+ @UnsupportedAppUsage
private void rewriteRValues(ClassLoader cl, String packageName, int id) {
final Class<?> rClazz;
try {
@@ -1324,7 +1356,9 @@
}
final IIntentReceiver.Stub mIIntentReceiver;
+ @UnsupportedAppUsage
final BroadcastReceiver mReceiver;
+ @UnsupportedAppUsage
final Context mContext;
final Handler mActivityThread;
final Instrumentation mInstrumentation;
@@ -1448,10 +1482,12 @@
return mLocation;
}
+ @UnsupportedAppUsage
BroadcastReceiver getIntentReceiver() {
return mReceiver;
}
+ @UnsupportedAppUsage
IIntentReceiver getIIntentReceiver() {
return mIIntentReceiver;
}
@@ -1489,6 +1525,7 @@
}
+ @UnsupportedAppUsage
public final IServiceConnection getServiceDispatcher(ServiceConnection c,
Context context, Handler handler, int flags) {
synchronized (mServices) {
@@ -1566,7 +1603,9 @@
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 @@
}
private static class InnerConnection extends IServiceConnection.Stub {
+ @UnsupportedAppUsage
final WeakReference<LoadedApk.ServiceDispatcher> mDispatcher;
InnerConnection(LoadedApk.ServiceDispatcher sd) {
@@ -1600,6 +1640,7 @@
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 @@
return mConnection;
}
+ @UnsupportedAppUsage
IServiceConnection getIServiceConnection() {
return mIServiceConnection;
}
diff --git a/core/java/android/app/LocalActivityManager.java b/core/java/android/app/LocalActivityManager.java
index e297719..a52fb1a 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 @@
/** 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 @@
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 ca663fd..25eb958 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 @@
private NativeContentView mNativeContentView;
private InputMethodManager mIMM;
+ @UnsupportedAppUsage
private long mNativeHandle;
private InputQueue mCurInputQueue;
@@ -85,6 +87,7 @@
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 @@
}
}
+ @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 1ea93a4..83130f1 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -27,6 +27,7 @@
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 String category;
+ @UnsupportedAppUsage
private String mGroupKey;
/**
@@ -913,6 +915,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public ArraySet<PendingIntent> allPendingIntents;
/**
@@ -1252,9 +1255,12 @@
*/
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 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 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public Notification(Context context, int icon, CharSequence tickerText, long when,
CharSequence contentTitle, CharSequence contentText, Intent contentIntent)
{
@@ -3071,6 +3079,7 @@
* Used when notifying to clean up legacy small icons.
* @hide
*/
+ @UnsupportedAppUsage
public void setSmallIcon(Icon icon) {
mSmallIcon = icon;
}
@@ -3087,6 +3096,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public boolean isGroupSummary() {
return mGroupKey != null && (flags & FLAG_GROUP_SUMMARY) != 0;
}
@@ -3094,6 +3104,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public boolean isGroupChild() {
return mGroupKey != null && (flags & FLAG_GROUP_SUMMARY) == 0;
}
@@ -3172,6 +3183,7 @@
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 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public String loadHeaderAppName() {
CharSequence name = null;
final PackageManager pm = mContext.getPackageManager();
@@ -5116,6 +5129,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public RemoteViews makePublicContentView() {
return makePublicView(false /* ambient */);
}
@@ -5659,6 +5673,7 @@
return clone;
}
+ @UnsupportedAppUsage
private int getBaseLayoutResource() {
return R.layout.notification_template_material_base;
}
@@ -7749,6 +7764,7 @@
* @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 ba355f9..7e90245 100644
--- a/core/java/android/app/NotificationChannel.java
+++ b/core/java/android/app/NotificationChannel.java
@@ -17,6 +17,7 @@
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 @@
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 @@
/**
* @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 0fa3c7f..17c5cba 100644
--- a/core/java/android/app/NotificationChannelGroup.java
+++ b/core/java/android/app/NotificationChannelGroup.java
@@ -17,6 +17,7 @@
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 @@
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 f6dc5d1..4b25b8b 100644
--- a/core/java/android/app/NotificationManager.java
+++ b/core/java/android/app/NotificationManager.java
@@ -21,6 +21,7 @@
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 static final int IMPORTANCE_MAX = 5;
+ @UnsupportedAppUsage
private static INotificationManager sService;
/** @hide */
+ @UnsupportedAppUsage
static public INotificationManager getService()
{
if (sService != null) {
@@ -321,12 +324,14 @@
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 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public void notifyAsUser(String tag, int id, Notification notification, UserHandle user)
{
INotificationManager service = getService();
@@ -438,6 +444,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public void cancelAsUser(String tag, int id, UserHandle user)
{
INotificationManager service = getService();
@@ -666,6 +673,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public void setZenMode(int mode, Uri conditionId, String reason) {
INotificationManager service = getService();
try {
@@ -690,6 +698,7 @@
/**
* @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 9b83ec1..20ae84c 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 ff28679..507ebe5 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 @@
* 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 bdaf80e..75d95b2 100644
--- a/core/java/android/app/PendingIntent.java
+++ b/core/java/android/app/PendingIntent.java
@@ -19,6 +19,7 @@
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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static void setOnMarshaledListener(OnMarshaledListener listener) {
sOnMarshaledListener.set(listener);
}
@@ -362,6 +364,7 @@
* 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 @@
* 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 @@
* @hide
* Check whether this PendingIntent will launch an Activity.
*/
+ @UnsupportedAppUsage
public boolean isActivity() {
try {
return ActivityManager.getService()
@@ -1110,6 +1115,7 @@
* @hide
* Return the Intent of this PendingIntent.
*/
+ @UnsupportedAppUsage
public Intent getIntent() {
try {
return ActivityManager.getService()
@@ -1123,6 +1129,7 @@
* @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 cbe8bb9..adcc495 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 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public PictureInPictureArgs() {
}
@@ -173,6 +175,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public void setAspectRatio(float aspectRatio) {
// Temporary workaround
mAspectRatio = new Rational((int) (aspectRatio * 1000000000), 1000000000);
@@ -182,6 +185,7 @@
* @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 7313b0d..b1dc15c 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 @@
* @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 @@
* @return the set of user actions.
* @hide
*/
+ @UnsupportedAppUsage
public List<RemoteAction> getActions() {
return mUserActions;
}
@@ -231,6 +234,7 @@
* @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 af55788..cb72d4d 100644
--- a/core/java/android/app/Presentation.java
+++ b/core/java/android/app/Presentation.java
@@ -20,6 +20,7 @@
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 @@
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 8a083eb..1b10fd7 100644
--- a/core/java/android/app/ProgressDialog.java
+++ b/core/java/android/app/ProgressDialog.java
@@ -18,6 +18,7 @@
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 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 56338f5..7626539 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 @@
/** 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 @@
*
* @return the handler
*/
+ @UnsupportedAppUsage
private static Handler getHandler() {
synchronized (sLock) {
if (sHandler == null) {
@@ -121,6 +124,7 @@
*
* @param finisher The runnable to add as finisher
*/
+ @UnsupportedAppUsage
public static void addFinisher(Runnable finisher) {
synchronized (sLock) {
sFinishers.add(finisher);
@@ -132,6 +136,7 @@
*
* @param finisher The runnable to remove.
*/
+ @UnsupportedAppUsage
public static void removeFinisher(Runnable finisher) {
synchronized (sLock) {
sFinishers.remove(finisher);
@@ -212,6 +217,7 @@
* @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 30256b4..68869c65 100644
--- a/core/java/android/app/ResourcesManager.java
+++ b/core/java/android/app/ResourcesManager.java
@@ -20,6 +20,7 @@
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 @@
* 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 @@
* 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 @@
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 @@
* @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 @@
* @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 d5af08a..4335488 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 @@
* {@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 @@
}
}
+ @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 4abca9a..4a45150 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 @@
*
* @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 @@
}
}
+ @UnsupportedAppUsage
static boolean isLandscapeMode(Context context) {
return context.getResources().getConfiguration().orientation
== Configuration.ORIENTATION_LANDSCAPE;
@@ -517,6 +520,7 @@
/**
* Launch a search for the text in the query text field.
*/
+ @UnsupportedAppUsage
public void launchQuerySearch() {
launchQuerySearch(KeyEvent.KEYCODE_UNKNOWN, null);
}
@@ -529,6 +533,7 @@
* @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 49faf40..4fb1908 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 @@
* 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 @@
/* 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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void startSearch(String initialQuery,
boolean selectInitialQuery,
ComponentName launchActivity,
@@ -710,6 +715,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public ComponentName getWebSearchActivity() {
try {
return mService.getWebSearchActivity();
@@ -770,6 +776,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public boolean isVisible() {
return mSearchDialog == null? false : mSearchDialog.isShowing();
}
@@ -866,6 +873,7 @@
*
* @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 @@
*
* @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 @@
*
* @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 a952915..ae6d32a 100644
--- a/core/java/android/app/SearchableInfo.java
+++ b/core/java/android/app/SearchableInfo.java
@@ -20,6 +20,7 @@
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 @@
* @return Returns a context related to the searchable activity
* @hide
*/
+ @UnsupportedAppUsage
public Context getActivityContext(Context context) {
return createActivityContext(context, mSearchActivity);
}
@@ -278,6 +280,7 @@
* @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 @@
* @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 @@
* Gets the action message to use for queries.
* @see android.R.styleable#SearchableActionKey_queryActionMsg
*/
+ @UnsupportedAppUsage
public String getQueryActionMsg() {
return mQueryActionMsg;
}
@@ -458,6 +463,7 @@
* Gets the action message to use for suggestions.
* @see android.R.styleable#SearchableActionKey_suggestActionMsg
*/
+ @UnsupportedAppUsage
public String getSuggestActionMsg() {
return mSuggestActionMsg;
}
@@ -466,6 +472,7 @@
* 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 @@
*
* @hide ActionKeyInfo is hidden
*/
+ @UnsupportedAppUsage
public ActionKeyInfo findActionKey(int keyCode) {
if (mActionKeys == null) {
return null;
@@ -623,6 +631,7 @@
*
* @hide deprecated functionality
*/
+ @UnsupportedAppUsage
public int getLabelId() {
return mLabelId;
}
@@ -647,6 +656,7 @@
*
* @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 ea0fd75..67acfe9 100644
--- a/core/java/android/app/Service.java
+++ b/core/java/android/app/Service.java
@@ -18,6 +18,7 @@
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 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public final void setForeground(boolean isForeground) {
Log.w(TAG, "setForeground: ignoring old API call on " + getClass().getName());
}
@@ -750,6 +752,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public final void attach(
Context context,
ActivityThread thread, String className, IBinder token,
@@ -777,10 +780,16 @@
}
// 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 6ac15a5..0f8976f 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 @@
// - 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 @@
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 @@
startLoadFromDisk();
}
+ @UnsupportedAppUsage
private void startLoadFromDisk() {
synchronized (mLock) {
mLoaded = false;
@@ -195,6 +199,7 @@
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 c8a8313..2718bfa 100644
--- a/core/java/android/app/StatusBarManager.java
+++ b/core/java/android/app/StatusBarManager.java
@@ -18,6 +18,7 @@
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 @@
@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 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 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 @@
* 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 @@
/**
* Expand the notifications panel.
*/
+ @UnsupportedAppUsage
public void expandNotificationsPanel() {
try {
final IStatusBarService svc = getService();
@@ -177,6 +187,7 @@
/**
* Collapse the notifications and settings panels.
*/
+ @UnsupportedAppUsage
public void collapsePanels() {
try {
final IStatusBarService svc = getService();
@@ -191,6 +202,7 @@
/**
* Expand the settings panel.
*/
+ @UnsupportedAppUsage
public void expandSettingsPanel() {
expandSettingsPanel(null);
}
@@ -198,6 +210,7 @@
/**
* 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 @@
}
}
+ @UnsupportedAppUsage
public void setIcon(String slot, int iconId, int iconLevel, String contentDescription) {
try {
final IStatusBarService svc = getService();
@@ -221,6 +235,7 @@
}
}
+ @UnsupportedAppUsage
public void removeIcon(String slot) {
try {
final IStatusBarService svc = getService();
@@ -232,6 +247,7 @@
}
}
+ @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 895d12a..e23352a 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 @@
*/
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 @@
}
@Override
+ @UnsupportedAppUsage
public void onTaskRemoved(int taskId) throws RemoteException {
}
@Override
+ @UnsupportedAppUsage
public void onTaskMovedToFront(int taskId) throws RemoteException {
}
@@ -86,15 +98,18 @@
}
@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 8686944..1b281d5 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 @@
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 5662aea..8e4c20f 100644
--- a/core/java/android/app/UiAutomation.java
+++ b/core/java/android/app/UiAutomation.java
@@ -23,6 +23,7 @@
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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public UiAutomation(Looper looper, IUiAutomationConnection connection) {
if (looper == null) {
throw new IllegalArgumentException("Looper cannot be null!");
@@ -206,6 +208,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void connect() {
connect(0);
}
@@ -277,6 +280,7 @@
*
* @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 d3828ab..e634735 100644
--- a/core/java/android/app/UiAutomationConnection.java
+++ b/core/java/android/app/UiAutomationConnection.java
@@ -18,6 +18,7 @@
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 0da5e24..4f172a4 100644
--- a/core/java/android/app/UiModeManager.java
+++ b/core/java/android/app/UiModeManager.java
@@ -19,6 +19,7 @@
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 @@
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 c0f7a4c..25b243d 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 0eb2af3..e0b60e0 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 @@
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 @@
private int mHeight = -1;
private int mDpi = -1;
+ @UnsupportedAppUsage
public Builder() {
}
@@ -181,6 +184,7 @@
/**
* 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 @@
/**
* 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 61b90e1..66d7a25 100644
--- a/core/java/android/app/VrManager.java
+++ b/core/java/android/app/VrManager.java
@@ -5,6 +5,7 @@
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 @@
}
}
+ @UnsupportedAppUsage
private final IVrManager mService;
private Map<VrStateCallback, CallbackEntry> mCallbackMap = new ArrayMap<>();
@@ -68,6 +70,7 @@
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 @@
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 @@
android.Manifest.permission.RESTRICTED_VR_ACCESS,
android.Manifest.permission.ACCESS_VR_STATE
})
+ @UnsupportedAppUsage
public boolean getPersistentVrModeEnabled() {
try {
return mService.getPersistentVrModeEnabled();
@@ -175,6 +180,7 @@
* {@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 742faa06..66cbf2e 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 @@
*
* @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 60e8a12..3f7b42e 100644
--- a/core/java/android/app/WallpaperColors.java
+++ b/core/java/android/app/WallpaperColors.java
@@ -18,6 +18,7 @@
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 @@
* @see WallpaperColors#fromDrawable(Drawable)
* @hide
*/
+ @UnsupportedAppUsage
public WallpaperColors(@NonNull Color primaryColor, @Nullable Color secondaryColor,
@Nullable Color tertiaryColor, int colorHints) {
@@ -342,6 +344,7 @@
* @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 fde756c..4e65f52 100644
--- a/core/java/android/app/WallpaperManager.java
+++ b/core/java/android/app/WallpaperManager.java
@@ -25,6 +25,7 @@
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 @@
}
private static final Object sSync = new Object[0];
+ @UnsupportedAppUsage
private static Globals sGlobals;
static void initGlobals(IWallpaperManager service, Looper looper) {
@@ -517,6 +519,7 @@
}
/** @hide */
+ @UnsupportedAppUsage
public IWallpaperManager getIWallpaperManager() {
return sGlobals.mService;
}
@@ -820,6 +823,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Bitmap getBitmap() {
return getBitmap(false);
}
@@ -831,6 +835,7 @@
* @see Bitmap.Config#HARDWARE
* @hide
*/
+ @UnsupportedAppUsage
public Bitmap getBitmap(boolean hardware) {
return getBitmapAsUser(mContext.getUserId(), hardware);
}
@@ -886,6 +891,7 @@
* @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 @@
* @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 @@
*
* @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 @@
* 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 @@
* @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 @@
*
* @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 5fbe5b3..5fe1af0 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 @@
/** @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 @@
}
/** @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 22367b2..9b558db 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -30,6 +30,7 @@
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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED
= "android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED";
@@ -1859,6 +1861,7 @@
* @see #getActiveAdmins()
* @hide
*/
+ @UnsupportedAppUsage
public @Nullable List<ComponentName> getActiveAdminsAsUser(int userId) {
if (mService != null) {
try {
@@ -1886,6 +1889,7 @@
* or uninstalled.
* @hide
*/
+ @UnsupportedAppUsage
public boolean packageHasActiveAdmins(String packageName, int userId) {
if (mService != null) {
try {
@@ -2121,6 +2125,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getPasswordQuality(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -2186,6 +2191,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getPasswordMinimumLength(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -2255,6 +2261,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getPasswordMinimumUpperCase(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -2324,6 +2331,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getPasswordMinimumLowerCase(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -2392,6 +2400,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getPasswordMinimumLetters(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -2460,6 +2469,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getPasswordMinimumNumeric(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -2527,6 +2537,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getPasswordMinimumSymbols(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -2595,6 +2606,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getPasswordMinimumNonLetter(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -2746,6 +2758,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getPasswordHistoryLength(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -2872,6 +2885,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public int getCurrentFailedPasswordAttempts(int userHandle) {
if (mService != null) {
try {
@@ -2952,6 +2966,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getMaximumFailedPasswordsForWipe(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -3224,6 +3239,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public long getMaximumTimeToLock(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -3297,6 +3313,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public long getRequiredStrongAuthTimeout(@Nullable ComponentName admin, @UserIdInt int userId) {
if (mService != null) {
try {
@@ -3485,6 +3502,7 @@
* 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 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getStorageEncryptionStatus(int userHandle) {
if (mService != null) {
try {
@@ -4543,6 +4562,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public boolean getCameraDisabled(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -4798,6 +4818,7 @@
}
/** @hide per-user version */
+ @UnsupportedAppUsage
public int getKeyguardDisabledFeatures(@Nullable ComponentName admin, int userHandle) {
if (mService != null) {
try {
@@ -4812,6 +4833,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public void setActiveAdmin(@NonNull ComponentName policyReceiver, boolean refreshing,
int userHandle) {
if (mService != null) {
@@ -4826,6 +4848,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public void setActiveAdmin(@NonNull ComponentName policyReceiver, boolean refreshing) {
setActiveAdmin(policyReceiver, refreshing, myUserId());
}
@@ -4846,6 +4869,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public void setActivePasswordState(PasswordMetrics metrics, int userHandle) {
if (mService != null) {
try {
@@ -4872,6 +4896,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public void reportFailedPasswordAttempt(int userHandle) {
if (mService != null) {
try {
@@ -4885,6 +4910,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public void reportSuccessfulPasswordAttempt(int userHandle) {
if (mService != null) {
try {
@@ -5513,6 +5539,7 @@
* @see #getProfileOwner()
* @hide
*/
+ @UnsupportedAppUsage
public @Nullable ComponentName getProfileOwnerAsUser(final int userId)
throws IllegalArgumentException {
if (mService != null) {
@@ -5631,6 +5658,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void setDefaultSmsApplication(@NonNull ComponentName admin, String packageName) {
throwIfParentInstance("setDefaultSmsApplication");
if (mService != null) {
@@ -5846,6 +5874,7 @@
}
/** @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 @@
}
}
+ @UnsupportedAppUsage
private void throwIfParentInstance(String functionName) {
if (mParentInstance) {
throw new SecurityException(functionName + " cannot be called on the parent instance");
@@ -8878,6 +8908,7 @@
* 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 38b4f8f..170c802 100644
--- a/core/java/android/app/admin/SecurityLog.java
+++ b/core/java/android/app/admin/SecurityLog.java
@@ -18,6 +18,7 @@
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 @@
* 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 1c9f573..bdbce52 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 @@
* {@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 @@
return mExtras;
}
+ @UnsupportedAppUsage
AssistContent(Parcel in) {
if (in.readInt() != 0) {
mIntent = Intent.CREATOR.createFromParcel(in);
@@ -166,6 +174,7 @@
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 26f9e3e..2a98ca7 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 @@
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 94c7845..0888066 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 @@
*/
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 5a66f34..01961e7 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 @@
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 6811532..e9acdbf 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 @@
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 43f69e1..4d74410 100644
--- a/core/java/android/app/backup/BackupManager.java
+++ b/core/java/android/app/backup/BackupManager.java
@@ -20,6 +20,7 @@
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 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 4ed5197..0caab98 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 @@
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 b7a8da5..9a595b2 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 @@
/**
* @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 18f4283..0ce8653 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 @@
*/
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 @@
}
/** @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 02afcc7..9baa16f 100644
--- a/core/java/android/app/job/JobInfo.java
+++ b/core/java/android/app/job/JobInfo.java
@@ -29,6 +29,7 @@
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 @@
* JobInfo priority if it is smaller).
* @hide
*/
+ @UnsupportedAppUsage
public static final int PRIORITY_FOREGROUND_APP = 30;
/**
@@ -240,6 +242,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final int FLAG_WILL_BE_FOREGROUND = 1 << 0;
/**
@@ -282,11 +285,13 @@
*/
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 @@
private final long initialBackoffMillis;
private final int backoffPolicy;
private final int priority;
+ @UnsupportedAppUsage
private final int flags;
/**
@@ -1009,12 +1015,14 @@
}
/** @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 d67f11b..578a9ae 100644
--- a/core/java/android/app/job/JobParameters.java
+++ b/core/java/android/app/job/JobParameters.java
@@ -18,6 +18,7 @@
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 @@
}
}
+ @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 @@
}
/** @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 995f522..bfc6df2 100644
--- a/core/java/android/app/job/JobWorkItem.java
+++ b/core/java/android/app/job/JobWorkItem.java
@@ -19,6 +19,7 @@
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 @@
* {@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 @@
}
};
+ @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 8ab0b70..8fe0e03 100644
--- a/core/java/android/app/trust/TrustManager.java
+++ b/core/java/android/app/trust/TrustManager.java
@@ -19,6 +19,7 @@
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 @@
*
* 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 080216c..dff9b61 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 @@
/**
* {@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 9f46f20..59ae334 100644
--- a/core/java/android/app/usage/NetworkStatsManager.java
+++ b/core/java/android/app/usage/NetworkStatsManager.java
@@ -21,6 +21,7 @@
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 @@
/**
* {@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 3e90af3..9f22ad1 100644
--- a/core/java/android/app/usage/UsageEvents.java
+++ b/core/java/android/app/usage/UsageEvents.java
@@ -17,6 +17,7 @@
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 @@
/**
* {@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 @@
}
// 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 @@
}
}
+ @UnsupportedAppUsage
private int findStringIndex(String str) {
final int index = Arrays.binarySearch(mStringPool, str);
if (index < 0) {
@@ -493,6 +506,7 @@
/**
* 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 @@
/**
* 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 2b14841..0659a23 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 @@
/**
* {@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 @@
/**
* {@hide}
*/
+ @UnsupportedAppUsage
public int mLastEvent;
/**
diff --git a/core/java/android/app/usage/UsageStatsManager.java b/core/java/android/app/usage/UsageStatsManager.java
index 72d209a..0994332 100644
--- a/core/java/android/app/usage/UsageStatsManager.java
+++ b/core/java/android/app/usage/UsageStatsManager.java
@@ -21,6 +21,7 @@
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 @@
@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/appwidget/AppWidgetHost.java b/core/java/android/appwidget/AppWidgetHost.java
index 49cc498..f003d4b 100644
--- a/core/java/android/appwidget/AppWidgetHost.java
+++ b/core/java/android/appwidget/AppWidgetHost.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Context;
@@ -53,14 +54,17 @@
static final int HANDLE_UPDATE = 1;
static final int HANDLE_PROVIDER_CHANGED = 2;
static final int HANDLE_PROVIDERS_CHANGED = 3;
+ @UnsupportedAppUsage
static final int HANDLE_VIEW_DATA_CHANGED = 4;
final static Object sServiceLock = new Object();
+ @UnsupportedAppUsage
static IAppWidgetService sService;
static boolean sServiceInitialized = false;
private DisplayMetrics mDisplayMetrics;
private String mContextOpPackageName;
+ @UnsupportedAppUsage
private final Handler mHandler;
private final int mHostId;
private final Callbacks mCallbacks;
@@ -156,6 +160,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public AppWidgetHost(Context context, int hostId, OnClickHandler handler, Looper looper) {
mContextOpPackageName = context.getOpPackageName();
mHostId = hostId;
diff --git a/core/java/android/appwidget/AppWidgetHostView.java b/core/java/android/appwidget/AppWidgetHostView.java
index ab0eb92..a9187b6 100644
--- a/core/java/android/appwidget/AppWidgetHostView.java
+++ b/core/java/android/appwidget/AppWidgetHostView.java
@@ -16,6 +16,7 @@
package android.appwidget;
+import android.annotation.UnsupportedAppUsage;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.ApplicationInfo;
@@ -70,7 +71,9 @@
Context mContext;
Context mRemoteContext;
+ @UnsupportedAppUsage
int mAppWidgetId;
+ @UnsupportedAppUsage
AppWidgetProviderInfo mInfo;
View mView;
int mViewMode = VIEW_MODE_NOINIT;
@@ -174,6 +177,7 @@
return getDefaultPaddingForWidget(context, appInfo, padding);
}
+ @UnsupportedAppUsage
private static Rect getDefaultPaddingForWidget(Context context, ApplicationInfo appInfo,
Rect padding) {
if (padding == null) {
@@ -284,6 +288,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public void updateAppWidgetSize(Bundle newOptions, int minWidth, int minHeight, int maxWidth,
int maxHeight, boolean ignorePadding) {
if (newOptions == null) {
diff --git a/core/java/android/appwidget/AppWidgetManager.java b/core/java/android/appwidget/AppWidgetManager.java
index 20248b9..dbc1c19 100644
--- a/core/java/android/appwidget/AppWidgetManager.java
+++ b/core/java/android/appwidget/AppWidgetManager.java
@@ -23,6 +23,7 @@
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
import android.app.IServiceConnection;
import android.app.PendingIntent;
import android.content.ComponentName;
@@ -463,6 +464,7 @@
private final Context mContext;
private final String mPackageName;
+ @UnsupportedAppUsage
private final IAppWidgetService mService;
private final DisplayMetrics mDisplayMetrics;
@@ -816,6 +818,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public List<AppWidgetProviderInfo> getInstalledProviders(int categoryFilter) {
if (mService == null) {
return Collections.emptyList();
@@ -842,6 +845,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public List<AppWidgetProviderInfo> getInstalledProvidersForProfile(int categoryFilter,
@Nullable UserHandle profile, @Nullable String packageName) {
if (mService == null) {
@@ -902,6 +906,7 @@
* provider for this AppWidget.
* @hide
*/
+ @UnsupportedAppUsage
public void bindAppWidgetId(int appWidgetId, ComponentName provider) {
if (mService == null) {
return;
@@ -924,6 +929,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void bindAppWidgetId(int appWidgetId, ComponentName provider, Bundle options) {
if (mService == null) {
return;
@@ -1094,6 +1100,7 @@
* @see Context#getServiceDispatcher(ServiceConnection, Handler, int)
* @hide
*/
+ @UnsupportedAppUsage
public boolean bindRemoteViewsService(Context context, int appWidgetId, Intent intent,
IServiceConnection connection, @Context.BindServiceFlags int flags) {
if (mService == null) {
@@ -1139,6 +1146,7 @@
}
}
+ @UnsupportedAppUsage
private boolean bindAppWidgetIdIfAllowed(int appWidgetId, int profileId,
ComponentName provider, Bundle options) {
if (mService == null) {
diff --git a/core/java/android/appwidget/AppWidgetProviderInfo.java b/core/java/android/appwidget/AppWidgetProviderInfo.java
index 6dd85ca..53315cc 100644
--- a/core/java/android/appwidget/AppWidgetProviderInfo.java
+++ b/core/java/android/appwidget/AppWidgetProviderInfo.java
@@ -18,6 +18,7 @@
import android.annotation.IntDef;
import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
@@ -270,6 +271,7 @@
public int widgetFeatures;
/** @hide */
+ @UnsupportedAppUsage
public ActivityInfo providerInfo;
public AppWidgetProviderInfo() {
diff --git a/core/java/android/companion/AssociationRequest.java b/core/java/android/companion/AssociationRequest.java
index 922224a..db54f08 100644
--- a/core/java/android/companion/AssociationRequest.java
+++ b/core/java/android/companion/AssociationRequest.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
import android.provider.OneTimeUseBuilder;
@@ -59,12 +60,14 @@
}
/** @hide */
+ @UnsupportedAppUsage
public boolean isSingleDevice() {
return mSingleDevice;
}
/** @hide */
@NonNull
+ @UnsupportedAppUsage
public List<DeviceFilter<?>> getDeviceFilters() {
return mDeviceFilters;
}
diff --git a/core/java/android/companion/BluetoothDeviceFilter.java b/core/java/android/companion/BluetoothDeviceFilter.java
index 84e1536..7507e17 100644
--- a/core/java/android/companion/BluetoothDeviceFilter.java
+++ b/core/java/android/companion/BluetoothDeviceFilter.java
@@ -25,6 +25,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.bluetooth.BluetoothDevice;
import android.os.Parcel;
import android.os.ParcelUuid;
@@ -99,6 +100,7 @@
/** @hide */
@Nullable
+ @UnsupportedAppUsage
public String getAddress() {
return mAddress;
}
diff --git a/core/java/android/companion/BluetoothDeviceFilterUtils.java b/core/java/android/companion/BluetoothDeviceFilterUtils.java
index 4ee38fe..bd507a6 100644
--- a/core/java/android/companion/BluetoothDeviceFilterUtils.java
+++ b/core/java/android/companion/BluetoothDeviceFilterUtils.java
@@ -21,6 +21,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.le.ScanFilter;
import android.net.wifi.ScanResult;
@@ -124,14 +125,17 @@
Log.i(LOG_TAG, getDeviceDisplayNameInternal(device) + (result ? " ~ " : " !~ ") + criteria);
}
+ @UnsupportedAppUsage
public static String getDeviceDisplayNameInternal(@NonNull BluetoothDevice device) {
return firstNotEmpty(device.getAliasName(), device.getAddress());
}
+ @UnsupportedAppUsage
public static String getDeviceDisplayNameInternal(@NonNull ScanResult device) {
return firstNotEmpty(device.SSID, device.BSSID);
}
+ @UnsupportedAppUsage
public static String getDeviceMacAddress(@NonNull Parcelable device) {
if (device instanceof BluetoothDevice) {
return ((BluetoothDevice) device).getAddress();
diff --git a/core/java/android/companion/BluetoothLeDeviceFilter.java b/core/java/android/companion/BluetoothLeDeviceFilter.java
index 7fb768c..1de931e 100644
--- a/core/java/android/companion/BluetoothLeDeviceFilter.java
+++ b/core/java/android/companion/BluetoothLeDeviceFilter.java
@@ -25,6 +25,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.le.ScanFilter;
import android.bluetooth.le.ScanRecord;
@@ -92,6 +93,7 @@
/** @hide */
@NonNull
+ @UnsupportedAppUsage
public ScanFilter getScanFilter() {
return mScanFilter;
}
diff --git a/core/java/android/companion/DeviceFilter.java b/core/java/android/companion/DeviceFilter.java
index 10135a4..dc7cf82 100644
--- a/core/java/android/companion/DeviceFilter.java
+++ b/core/java/android/companion/DeviceFilter.java
@@ -19,6 +19,7 @@
import android.annotation.IntDef;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.os.Parcelable;
import java.lang.annotation.Retention;
@@ -44,9 +45,11 @@
*
* @hide
*/
+ @UnsupportedAppUsage
boolean matches(D device);
/** @hide */
+ @UnsupportedAppUsage
String getDeviceDisplayName(D device);
/** @hide */
diff --git a/core/java/android/database/AbstractCursor.java b/core/java/android/database/AbstractCursor.java
index 76fa008..c6c2aa5 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 @@
@Deprecated
protected ContentResolver mContentResolver;
+ @UnsupportedAppUsage
private Uri mNotifyUri;
private final Object mSelfObserverLock = new Object();
@@ -77,6 +79,7 @@
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 083485f..a988f068 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 @@
* Closes the cursor window and sets {@link #mWindow} to null.
* @hide
*/
+ @UnsupportedAppUsage
protected void closeWindow() {
if (mWindow != null) {
mWindow.close();
@@ -193,6 +196,7 @@
* @param name The window name.
* @hide
*/
+ @UnsupportedAppUsage
protected void clearOrCreateWindow(String name) {
if (mWindow == null) {
mWindow = new CursorWindow(name);
@@ -203,6 +207,7 @@
/** @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 5f01e30..798b783 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 @@
*
* {@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 a748f4d..d9443d9 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 @@
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 @@
dispose();
}
+ @UnsupportedAppUsage
private static final LongSparseArray<Integer> sWindowToPidMap = new LongSparseArray<Integer>();
private void recordNewWindow(int pid, long window) {
@@ -765,6 +769,7 @@
}
}
+ @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 63a2792..0d27dfb 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 @@
*/
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 3d019f0..47567c3 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 @@
* @return object value type
* @hide
*/
+ @UnsupportedAppUsage
public static int getTypeOfObject(Object obj) {
if (obj == null) {
return Cursor.FIELD_TYPE_NULL;
@@ -760,6 +762,7 @@
* 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 5e107f2..5033296 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 @@
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 @@
/**
* 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 f28c70f..2af06e1 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 @@
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 adfbc6e..d6a71da 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 @@
* 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 13e6f71..e3c4098 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 @@
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 @@
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 02f3284..ec20458 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 @@
// 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 6adae25..424da76 100644
--- a/core/java/android/database/sqlite/SQLiteDatabase.java
+++ b/core/java/android/database/sqlite/SQLiteDatabase.java
@@ -20,6 +20,7 @@
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 @@
// 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 @@
// 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 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 @@
* @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 @@
beginTransaction(transactionListener, false);
}
+ @UnsupportedAppUsage
private void beginTransaction(SQLiteTransactionListener transactionListener,
boolean exclusive) {
acquireReference();
@@ -729,6 +736,7 @@
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 @@
* @see #isReadOnly()
* @hide
*/
+ @UnsupportedAppUsage
public void reopenReadWrite() {
synchronized (mLock) {
throwIfNotOpenLocked();
@@ -2137,6 +2146,7 @@
return dbStatsList;
}
+ @UnsupportedAppUsage
private void collectDbStats(ArrayList<DbStats> dbStatsList) {
synchronized (mLock) {
if (mConnectionPoolLocked != null) {
@@ -2145,6 +2155,7 @@
}
}
+ @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 bb62268..48f1021 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 @@
*
* 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 7ff6635..1377806 100644
--- a/core/java/android/database/sqlite/SQLiteOpenHelper.java
+++ b/core/java/android/database/sqlite/SQLiteOpenHelper.java
@@ -19,6 +19,7 @@
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 @@
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 26e8c31..8304133 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 @@
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 c6c676f..1bd44fa 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 @@
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 @@
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 d80ab1f..a9ac9e7 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 @@
* @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 b1092d76..8f8f676 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 @@
* </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 b019618..e317164 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 @@
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 @@
}
}
+ @UnsupportedAppUsage
public static Cursor query(Context context, ContentResolver resolver, Uri uri,
String[] projection, String selection, String[] selectionArgs, String sortOrder) {
try {
@@ -73,6 +76,7 @@
return false;
}
}
+ @UnsupportedAppUsage
public static int update(Context context, ContentResolver resolver, Uri uri,
ContentValues values, String where, String[] selectionArgs) {
try {
@@ -84,6 +88,7 @@
}
}
+ @UnsupportedAppUsage
public static int delete(Context context, ContentResolver resolver, Uri uri,
String where, String[] selectionArgs) {
try {
@@ -95,6 +100,7 @@
}
}
+ @UnsupportedAppUsage
public static Uri insert(Context context, ContentResolver resolver,
Uri uri, ContentValues values) {
try {
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index 9350aab..d8cdf60 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -21,6 +21,7 @@
import android.annotation.Nullable;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
+import android.annotation.UnsupportedAppUsage;
import android.app.ActivityThread;
import android.app.AppOpsManager;
import android.content.Context;
@@ -164,6 +165,7 @@
private static final int CAMERA_MSG_PREVIEW_METADATA = 0x400;
private static final int CAMERA_MSG_FOCUS_MOVE = 0x800;
+ @UnsupportedAppUsage
private long mNativeContext; // accessed by native methods
private EventHandler mEventHandler;
private ShutterCallback mShutterCallback;
@@ -236,6 +238,7 @@
* Camera HAL device API version 1.0
* @hide
*/
+ @UnsupportedAppUsage
public static final int CAMERA_HAL_API_VERSION_1_0 = 0x100;
/**
@@ -451,6 +454,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static Camera openLegacy(int cameraId, int halVersion) {
if (halVersion < CAMERA_HAL_API_VERSION_1_0) {
throw new IllegalArgumentException("Invalid HAL version " + halVersion);
@@ -606,6 +610,7 @@
release();
}
+ @UnsupportedAppUsage
private native final int native_setup(Object camera_this, int cameraId, int halVersion,
String packageName);
@@ -718,6 +723,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public native final void setPreviewSurface(Surface surface) throws IOException;
/**
@@ -841,6 +847,7 @@
* FIXME: Unhide before release
* @hide
*/
+ @UnsupportedAppUsage
public native final boolean previewEnabled();
/**
@@ -1014,11 +1021,13 @@
*
* {@hide}
*/
+ @UnsupportedAppUsage
public final void addRawImageCallbackBuffer(byte[] callbackBuffer)
{
addCallbackBuffer(callbackBuffer, CAMERA_MSG_RAW_IMAGE);
}
+ @UnsupportedAppUsage
private final void addCallbackBuffer(byte[] callbackBuffer, int msgType)
{
// CAMERA_MSG_VIDEO_FRAME may be allowed in the future.
@@ -1265,6 +1274,7 @@
}
}
+ @UnsupportedAppUsage
private static void postEventFromNative(Object camera_ref,
int what, int arg1, int arg2, Object obj)
{
@@ -2077,7 +2087,9 @@
mDetailedErrorCallback = cb;
}
+ @UnsupportedAppUsage
private native final void native_setParameters(String params);
+ @UnsupportedAppUsage
private native final String native_getParameters();
/**
@@ -2126,6 +2138,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static Parameters getEmptyParameters() {
Camera camera = new Camera();
return camera.new Parameters();
@@ -2660,6 +2673,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void copyFrom(Parameters other) {
if (other == null) {
throw new NullPointerException("other must not be null");
@@ -2691,6 +2705,7 @@
* @deprecated
*/
@Deprecated
+ @UnsupportedAppUsage
public void dump() {
Log.e(TAG, "dump: size=" + mMap.size());
for (String k : mMap.keySet()) {
@@ -4409,6 +4424,7 @@
// Splits a comma delimited string to an ArrayList of Area objects.
// Example string: "(-10,-10,0,0,300),(0,0,10,10,700)". Return null if
// the passing string is null or the size is 0 or (0,0,0,0,0).
+ @UnsupportedAppUsage
private ArrayList<Area> splitArea(String str) {
if (str == null || str.charAt(0) != '('
|| str.charAt(str.length() - 1) != ')') {
diff --git a/core/java/android/hardware/HardwareBuffer.java b/core/java/android/hardware/HardwareBuffer.java
index 9aa3f40..c17aabb 100644
--- a/core/java/android/hardware/HardwareBuffer.java
+++ b/core/java/android/hardware/HardwareBuffer.java
@@ -19,6 +19,7 @@
import android.annotation.IntDef;
import android.annotation.LongDef;
import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
@@ -89,6 +90,7 @@
public static final int S_UI8 = 0x35;
// Note: do not rename, this field is used by native code
+ @UnsupportedAppUsage
private long mNativeObject;
// Invoked on destruction
@@ -182,6 +184,7 @@
* Private use only. See {@link #create(int, int, int, int, long)}. May also be
* called from JNI using an already allocated native <code>HardwareBuffer</code>.
*/
+ @UnsupportedAppUsage
private HardwareBuffer(long nativeObject) {
mNativeObject = nativeObject;
diff --git a/core/java/android/hardware/Sensor.java b/core/java/android/hardware/Sensor.java
index 7297426..4aa6fab 100644
--- a/core/java/android/hardware/Sensor.java
+++ b/core/java/android/hardware/Sensor.java
@@ -18,6 +18,7 @@
package android.hardware;
import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
import android.os.Build;
/**
@@ -504,6 +505,7 @@
*
* @hide Expected to be used internally for always on display.
*/
+ @UnsupportedAppUsage
public static final int TYPE_PICK_UP_GESTURE = 25;
/**
@@ -543,6 +545,7 @@
* @hide Expected to be used internally for auto-rotate and speaker rotation.
*
*/
+ @UnsupportedAppUsage
public static final int TYPE_DEVICE_ORIENTATION = 27;
/**
@@ -891,6 +894,7 @@
private String mStringType;
private String mRequiredPermission;
private int mMaxDelay;
+ @UnsupportedAppUsage
private int mFlags;
private int mId;
@@ -1014,6 +1018,7 @@
}
/** @hide */
+ @UnsupportedAppUsage
public int getHandle() {
return mHandle;
}
diff --git a/core/java/android/hardware/SensorEvent.java b/core/java/android/hardware/SensorEvent.java
index bbd04a3..8c910b2 100644
--- a/core/java/android/hardware/SensorEvent.java
+++ b/core/java/android/hardware/SensorEvent.java
@@ -16,6 +16,8 @@
package android.hardware;
+import android.annotation.UnsupportedAppUsage;
+
/**
* This class represents a {@link android.hardware.Sensor Sensor} event and
* holds information such as the sensor's type, the time-stamp, accuracy and of
@@ -649,6 +651,7 @@
*/
public long timestamp;
+ @UnsupportedAppUsage
SensorEvent(int valueSize) {
values = new float[valueSize];
}
diff --git a/core/java/android/hardware/SensorManager.java b/core/java/android/hardware/SensorManager.java
index 35aaf78..3b251c9b 100644
--- a/core/java/android/hardware/SensorManager.java
+++ b/core/java/android/hardware/SensorManager.java
@@ -18,6 +18,7 @@
import android.annotation.SystemApi;
import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.os.Build;
import android.os.Handler;
@@ -368,6 +369,7 @@
/**
* {@hide}
*/
+ @UnsupportedAppUsage
public SensorManager() {
}
diff --git a/core/java/android/hardware/SerialManager.java b/core/java/android/hardware/SerialManager.java
index 610f6a5..571c3cc 100644
--- a/core/java/android/hardware/SerialManager.java
+++ b/core/java/android/hardware/SerialManager.java
@@ -17,6 +17,7 @@
package android.hardware;
import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
@@ -46,6 +47,7 @@
*
* @return names of available serial ports
*/
+ @UnsupportedAppUsage
public String[] getSerialPorts() {
try {
return mService.getSerialPorts();
@@ -65,6 +67,7 @@
* @param speed at which to open the serial port
* @return the serial port
*/
+ @UnsupportedAppUsage
public SerialPort openSerialPort(String name, int speed) throws IOException {
try {
ParcelFileDescriptor pfd = mService.openSerialPort(name);
diff --git a/core/java/android/hardware/SerialPort.java b/core/java/android/hardware/SerialPort.java
index 5d83d9c..78ac3c0 100644
--- a/core/java/android/hardware/SerialPort.java
+++ b/core/java/android/hardware/SerialPort.java
@@ -16,6 +16,7 @@
package android.hardware;
+import android.annotation.UnsupportedAppUsage;
import android.os.ParcelFileDescriptor;
import java.io.FileDescriptor;
@@ -31,6 +32,7 @@
private static final String TAG = "SerialPort";
// used by the JNI code
+ @UnsupportedAppUsage
private int mNativeContext;
private final String mName;
private ParcelFileDescriptor mFileDescriptor;
@@ -59,6 +61,7 @@
/**
* Closes the serial port
*/
+ @UnsupportedAppUsage
public void close() throws IOException {
if (mFileDescriptor != null) {
mFileDescriptor.close();
@@ -102,6 +105,7 @@
* @param buffer to write
* @param length number of bytes to write
*/
+ @UnsupportedAppUsage
public void write(ByteBuffer buffer, int length) throws IOException {
if (buffer.isDirect()) {
native_write_direct(buffer, length);
diff --git a/core/java/android/hardware/SystemSensorManager.java b/core/java/android/hardware/SystemSensorManager.java
index 1174cb6..7abfabf 100644
--- a/core/java/android/hardware/SystemSensorManager.java
+++ b/core/java/android/hardware/SystemSensorManager.java
@@ -16,6 +16,7 @@
package android.hardware;
+import android.annotation.UnsupportedAppUsage;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -758,10 +759,13 @@
if (sensor == null) throw new NullPointerException();
return nativeDisableSensor(mNativeSensorEventQueue, sensor.getHandle());
}
+ @UnsupportedAppUsage
protected abstract void dispatchSensorEvent(int handle, float[] values, int accuracy,
long timestamp);
+ @UnsupportedAppUsage
protected abstract void dispatchFlushCompleteEvent(int handle);
+ @UnsupportedAppUsage
protected void dispatchAdditionalInfoEvent(
int handle, int type, int serial, float[] floatValues, int[] intValues) {
// default implementation is do nothing
diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java
index 87c64cd..afb2b0e 100644
--- a/core/java/android/hardware/camera2/CameraCharacteristics.java
+++ b/core/java/android/hardware/camera2/CameraCharacteristics.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.camera2.impl.PublicKey;
import android.hardware.camera2.impl.SyntheticKey;
@@ -72,6 +73,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Key(String name, Class<T> type, long vendorId) {
mKey = new CameraMetadataNative.Key<T>(name, type, vendorId);
}
@@ -90,6 +92,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Key(String name, Class<T> type) {
mKey = new CameraMetadataNative.Key<T>(name, type);
}
@@ -99,6 +102,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Key(String name, TypeReference<T> typeReference) {
mKey = new CameraMetadataNative.Key<T>(name, typeReference);
}
@@ -168,6 +172,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public CameraMetadataNative.Key<T> getNativeKey() {
return mKey;
}
@@ -180,6 +185,7 @@
}
}
+ @UnsupportedAppUsage
private final CameraMetadataNative mProperties;
private List<CameraCharacteristics.Key<?>> mKeys;
private List<CaptureRequest.Key<?>> mAvailableRequestKeys;
@@ -767,6 +773,7 @@
* @see CaptureRequest#CONTROL_AWB_REGIONS
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<int[]> CONTROL_MAX_REGIONS =
new Key<int[]>("android.control.maxRegions", int[].class);
@@ -872,6 +879,7 @@
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<android.hardware.camera2.params.HighSpeedVideoConfiguration[]> CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS =
new Key<android.hardware.camera2.params.HighSpeedVideoConfiguration[]>("android.control.availableHighSpeedVideoConfigurations", android.hardware.camera2.params.HighSpeedVideoConfiguration[].class);
@@ -1140,6 +1148,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<android.util.Size> LENS_INFO_SHADING_MAP_SIZE =
new Key<android.util.Size>("android.lens.info.shadingMapSize", android.util.Size.class);
@@ -1479,6 +1488,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final Key<Byte> QUIRKS_USE_PARTIAL_RESULT =
new Key<Byte>("android.quirks.usePartialResult", byte.class);
@@ -1516,6 +1526,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<int[]> REQUEST_MAX_NUM_OUTPUT_STREAMS =
new Key<int[]>("android.request.maxNumOutputStreams", int[].class);
@@ -1755,6 +1766,7 @@
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<int[]> REQUEST_AVAILABLE_REQUEST_KEYS =
new Key<int[]>("android.request.availableRequestKeys", int[].class);
@@ -1780,6 +1792,7 @@
* @see CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<int[]> REQUEST_AVAILABLE_RESULT_KEYS =
new Key<int[]>("android.request.availableResultKeys", int[].class);
@@ -1792,6 +1805,7 @@
* <p>This key is available on all devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<int[]> REQUEST_AVAILABLE_CHARACTERISTICS_KEYS =
new Key<int[]>("android.request.availableCharacteristicsKeys", int[].class);
@@ -1838,6 +1852,7 @@
* <p>This key is available on all devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<int[]> REQUEST_AVAILABLE_SESSION_KEYS =
new Key<int[]>("android.request.availableSessionKeys", int[].class);
@@ -1858,6 +1873,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<int[]> REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS =
new Key<int[]>("android.request.availablePhysicalCameraRequestKeys", int[].class);
@@ -1873,6 +1889,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final Key<int[]> SCALER_AVAILABLE_FORMATS =
new Key<int[]>("android.scaler.availableFormats", int[].class);
@@ -1895,6 +1912,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final Key<long[]> SCALER_AVAILABLE_JPEG_MIN_DURATIONS =
new Key<long[]>("android.scaler.availableJpegMinDurations", long[].class);
@@ -1913,6 +1931,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final Key<android.util.Size[]> SCALER_AVAILABLE_JPEG_SIZES =
new Key<android.util.Size[]>("android.scaler.availableJpegSizes", android.util.Size[].class);
@@ -1954,6 +1973,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final Key<long[]> SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS =
new Key<long[]>("android.scaler.availableProcessedMinDurations", long[].class);
@@ -1978,6 +1998,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final Key<android.util.Size[]> SCALER_AVAILABLE_PROCESSED_SIZES =
new Key<android.util.Size[]>("android.scaler.availableProcessedSizes", android.util.Size[].class);
@@ -2033,6 +2054,7 @@
* @see CameraCharacteristics#REQUEST_MAX_NUM_INPUT_STREAMS
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<android.hardware.camera2.params.ReprocessFormatsMap> SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP =
new Key<android.hardware.camera2.params.ReprocessFormatsMap>("android.scaler.availableInputOutputFormatsMap", android.hardware.camera2.params.ReprocessFormatsMap.class);
@@ -2125,6 +2147,7 @@
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<android.hardware.camera2.params.StreamConfiguration[]> SCALER_AVAILABLE_STREAM_CONFIGURATIONS =
new Key<android.hardware.camera2.params.StreamConfiguration[]>("android.scaler.availableStreamConfigurations", android.hardware.camera2.params.StreamConfiguration[].class);
@@ -2147,6 +2170,7 @@
* @see CaptureRequest#SENSOR_FRAME_DURATION
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<android.hardware.camera2.params.StreamConfigurationDuration[]> SCALER_AVAILABLE_MIN_FRAME_DURATIONS =
new Key<android.hardware.camera2.params.StreamConfigurationDuration[]>("android.scaler.availableMinFrameDurations", android.hardware.camera2.params.StreamConfigurationDuration[].class);
@@ -2215,6 +2239,7 @@
* @see CaptureRequest#SENSOR_FRAME_DURATION
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<android.hardware.camera2.params.StreamConfigurationDuration[]> SCALER_AVAILABLE_STALL_DURATIONS =
new Key<android.hardware.camera2.params.StreamConfigurationDuration[]>("android.scaler.availableStallDurations", android.hardware.camera2.params.StreamConfigurationDuration[].class);
@@ -3110,6 +3135,7 @@
* @see #LED_AVAILABLE_LEDS_TRANSMIT
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<int[]> LED_AVAILABLE_LEDS =
new Key<int[]>("android.led.availableLeds", int[].class);
@@ -3280,6 +3306,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<android.hardware.camera2.params.StreamConfiguration[]> DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS =
new Key<android.hardware.camera2.params.StreamConfiguration[]>("android.depth.availableDepthStreamConfigurations", android.hardware.camera2.params.StreamConfiguration[].class);
@@ -3306,6 +3333,7 @@
* @see CaptureRequest#SENSOR_FRAME_DURATION
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<android.hardware.camera2.params.StreamConfigurationDuration[]> DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS =
new Key<android.hardware.camera2.params.StreamConfigurationDuration[]>("android.depth.availableDepthMinFrameDurations", android.hardware.camera2.params.StreamConfigurationDuration[].class);
@@ -3329,6 +3357,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<android.hardware.camera2.params.StreamConfigurationDuration[]> DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS =
new Key<android.hardware.camera2.params.StreamConfigurationDuration[]>("android.depth.availableDepthStallDurations", android.hardware.camera2.params.StreamConfigurationDuration[].class);
@@ -3372,6 +3401,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<byte[]> LOGICAL_MULTI_CAMERA_PHYSICAL_IDS =
new Key<byte[]>("android.logicalMultiCamera.physicalIds", byte[].class);
diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java
index 411a97e..66ce2d0 100644
--- a/core/java/android/hardware/camera2/CaptureRequest.java
+++ b/core/java/android/hardware/camera2/CaptureRequest.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.camera2.impl.PublicKey;
import android.hardware.camera2.impl.SyntheticKey;
@@ -107,6 +108,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Key(String name, Class<T> type, long vendorId) {
mKey = new CameraMetadataNative.Key<T>(name, type, vendorId);
}
@@ -116,6 +118,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Key(String name, Class<T> type) {
mKey = new CameraMetadataNative.Key<T>(name, type);
}
@@ -125,6 +128,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Key(String name, TypeReference<T> typeReference) {
mKey = new CameraMetadataNative.Key<T>(name, typeReference);
}
@@ -194,6 +198,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public CameraMetadataNative.Key<T> getNativeKey() {
return mKey;
}
@@ -223,6 +228,7 @@
private static final ArraySet<Surface> mEmptySurfaceSet = new ArraySet<Surface>();
private String mLogicalCameraId;
+ @UnsupportedAppUsage
private CameraMetadataNative mLogicalCameraSettings;
private final HashMap<String, CameraMetadataNative> mPhysicalCameraSettings =
new HashMap<String, CameraMetadataNative>();
@@ -598,6 +604,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public Collection<Surface> getTargets() {
return Collections.unmodifiableCollection(mSurfaceSet);
}
@@ -886,6 +893,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void setPartOfCHSRequestList(boolean partOfCHSList) {
mRequest.mIsPartOfCHSRequestList = partOfCHSList;
}
@@ -2072,6 +2080,7 @@
* <p>This key is available on all devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<double[]> JPEG_GPS_COORDINATES =
new Key<double[]>("android.jpeg.gpsCoordinates", double[].class);
@@ -2082,6 +2091,7 @@
* <p>This key is available on all devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<String> JPEG_GPS_PROCESSING_METHOD =
new Key<String>("android.jpeg.gpsProcessingMethod", String.class);
@@ -2092,6 +2102,7 @@
* <p>This key is available on all devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<Long> JPEG_GPS_TIMESTAMP =
new Key<Long>("android.jpeg.gpsTimestamp", long.class);
@@ -2427,6 +2438,7 @@
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<Integer> REQUEST_ID =
new Key<Integer>("android.request.id", int.class);
@@ -2818,6 +2830,7 @@
* @see CaptureRequest#TONEMAP_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<float[]> TONEMAP_CURVE_BLUE =
new Key<float[]>("android.tonemap.curveBlue", float[].class);
@@ -2835,6 +2848,7 @@
* @see CaptureRequest#TONEMAP_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<float[]> TONEMAP_CURVE_GREEN =
new Key<float[]>("android.tonemap.curveGreen", float[].class);
@@ -2897,6 +2911,7 @@
* @see CaptureRequest#TONEMAP_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<float[]> TONEMAP_CURVE_RED =
new Key<float[]>("android.tonemap.curveRed", float[].class);
@@ -3071,6 +3086,7 @@
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<Boolean> LED_TRANSMIT =
new Key<Boolean>("android.led.transmit", boolean.class);
diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java
index 6439338..db080ca 100644
--- a/core/java/android/hardware/camera2/CaptureResult.java
+++ b/core/java/android/hardware/camera2/CaptureResult.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.camera2.impl.CaptureResultExtras;
import android.hardware.camera2.impl.PublicKey;
@@ -78,6 +79,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Key(String name, Class<T> type, long vendorId) {
mKey = new CameraMetadataNative.Key<T>(name, type, vendorId);
}
@@ -96,6 +98,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Key(String name, Class<T> type) {
mKey = new CameraMetadataNative.Key<T>(name, type);
}
@@ -105,6 +108,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Key(String name, TypeReference<T> typeReference) {
mKey = new CameraMetadataNative.Key<T>(name, typeReference);
}
@@ -174,6 +178,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public CameraMetadataNative.Key<T> getNativeKey() {
return mKey;
}
@@ -184,6 +189,7 @@
}
}
+ @UnsupportedAppUsage
private final CameraMetadataNative mResults;
private final CaptureRequest mRequest;
private final int mSequenceId;
@@ -2398,6 +2404,7 @@
* <p>This key is available on all devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<double[]> JPEG_GPS_COORDINATES =
new Key<double[]>("android.jpeg.gpsCoordinates", double[].class);
@@ -2408,6 +2415,7 @@
* <p>This key is available on all devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<String> JPEG_GPS_PROCESSING_METHOD =
new Key<String>("android.jpeg.gpsProcessingMethod", String.class);
@@ -2418,6 +2426,7 @@
* <p>This key is available on all devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<Long> JPEG_GPS_TIMESTAMP =
new Key<Long>("android.jpeg.gpsTimestamp", long.class);
@@ -3044,6 +3053,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final Key<Boolean> QUIRKS_PARTIAL_RESULT =
new Key<Boolean>("android.quirks.partialResult", boolean.class);
@@ -3062,6 +3072,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final Key<Integer> REQUEST_FRAME_COUNT =
new Key<Integer>("android.request.frameCount", int.class);
@@ -3075,6 +3086,7 @@
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<Integer> REQUEST_ID =
new Key<Integer>("android.request.id", int.class);
@@ -3618,6 +3630,7 @@
* @see CaptureRequest#STATISTICS_FACE_DETECT_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<int[]> STATISTICS_FACE_IDS =
new Key<int[]>("android.statistics.faceIds", int[].class);
@@ -3633,6 +3646,7 @@
* @see CaptureRequest#STATISTICS_FACE_DETECT_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<int[]> STATISTICS_FACE_LANDMARKS =
new Key<int[]>("android.statistics.faceLandmarks", int[].class);
@@ -3648,6 +3662,7 @@
* @see CaptureRequest#STATISTICS_FACE_DETECT_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<android.graphics.Rect[]> STATISTICS_FACE_RECTANGLES =
new Key<android.graphics.Rect[]>("android.statistics.faceRectangles", android.graphics.Rect[].class);
@@ -3662,6 +3677,7 @@
* @see CaptureRequest#STATISTICS_FACE_DETECT_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<byte[]> STATISTICS_FACE_SCORES =
new Key<byte[]>("android.statistics.faceScores", byte[].class);
@@ -3821,6 +3837,7 @@
* @see CameraCharacteristics#SENSOR_INFO_LENS_SHADING_APPLIED
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<float[]> STATISTICS_LENS_SHADING_MAP =
new Key<float[]>("android.statistics.lensShadingMap", float[].class);
@@ -3844,6 +3861,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final Key<float[]> STATISTICS_PREDICTED_COLOR_GAINS =
new Key<float[]>("android.statistics.predictedColorGains", float[].class);
@@ -3870,6 +3888,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final Key<Rational[]> STATISTICS_PREDICTED_COLOR_TRANSFORM =
new Key<Rational[]>("android.statistics.predictedColorTransform", Rational[].class);
@@ -4006,6 +4025,7 @@
* @see CaptureResult#SENSOR_TIMESTAMP
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<long[]> STATISTICS_OIS_TIMESTAMPS =
new Key<long[]>("android.statistics.oisTimestamps", long[].class);
@@ -4021,6 +4041,7 @@
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<float[]> STATISTICS_OIS_X_SHIFTS =
new Key<float[]>("android.statistics.oisXShifts", float[].class);
@@ -4036,6 +4057,7 @@
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<float[]> STATISTICS_OIS_Y_SHIFTS =
new Key<float[]>("android.statistics.oisYShifts", float[].class);
@@ -4070,6 +4092,7 @@
* @see CaptureRequest#TONEMAP_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<float[]> TONEMAP_CURVE_BLUE =
new Key<float[]>("android.tonemap.curveBlue", float[].class);
@@ -4087,6 +4110,7 @@
* @see CaptureRequest#TONEMAP_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<float[]> TONEMAP_CURVE_GREEN =
new Key<float[]>("android.tonemap.curveGreen", float[].class);
@@ -4149,6 +4173,7 @@
* @see CaptureRequest#TONEMAP_MODE
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<float[]> TONEMAP_CURVE_RED =
new Key<float[]>("android.tonemap.curveRed", float[].class);
@@ -4323,6 +4348,7 @@
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<Boolean> LED_TRANSMIT =
new Key<Boolean>("android.led.transmit", boolean.class);
@@ -4412,6 +4438,7 @@
* @see #SYNC_FRAME_NUMBER_UNKNOWN
* @hide
*/
+ @UnsupportedAppUsage
public static final Key<Long> SYNC_FRAME_NUMBER =
new Key<Long>("android.sync.frameNumber", long.class);
diff --git a/core/java/android/hardware/camera2/impl/CameraMetadataNative.java b/core/java/android/hardware/camera2/impl/CameraMetadataNative.java
index 4baf263..8a2a29f 100644
--- a/core/java/android/hardware/camera2/impl/CameraMetadataNative.java
+++ b/core/java/android/hardware/camera2/impl/CameraMetadataNative.java
@@ -16,6 +16,7 @@
package android.hardware.camera2.impl;
+import android.annotation.UnsupportedAppUsage;
import android.graphics.ImageFormat;
import android.graphics.Point;
import android.graphics.Rect;
@@ -231,6 +232,7 @@
*
* @return The tag numeric value corresponding to the string
*/
+ @UnsupportedAppUsage
public final int getTag() {
if (!mHasTag) {
mTag = CameraMetadataNative.getTag(mName, mVendorId);
@@ -1185,6 +1187,7 @@
return true;
}
+ @UnsupportedAppUsage
private long mMetadataPtr; // native CameraMetadata*
private native long nativeAllocate();
@@ -1199,13 +1202,16 @@
private native synchronized boolean nativeIsEmpty();
private native synchronized int nativeGetEntryCount();
+ @UnsupportedAppUsage
private native synchronized byte[] nativeReadValues(int tag);
private native synchronized void nativeWriteValues(int tag, byte[] src);
private native synchronized void nativeDump() throws IOException; // dump to ALOGD
private native synchronized ArrayList nativeGetAllVendorKeys(Class keyClass);
+ @UnsupportedAppUsage
private native synchronized int nativeGetTagFromKeyLocal(String keyName)
throws IllegalArgumentException;
+ @UnsupportedAppUsage
private native synchronized int nativeGetTypeFromTagLocal(int tag)
throws IllegalArgumentException;
private static native int nativeGetTagFromKey(String keyName, long vendorId)
diff --git a/core/java/android/hardware/camera2/utils/SurfaceUtils.java b/core/java/android/hardware/camera2/utils/SurfaceUtils.java
index 9247844..d3c4505 100644
--- a/core/java/android/hardware/camera2/utils/SurfaceUtils.java
+++ b/core/java/android/hardware/camera2/utils/SurfaceUtils.java
@@ -16,6 +16,7 @@
package android.hardware.camera2.utils;
+import android.annotation.UnsupportedAppUsage;
import android.graphics.ImageFormat;
import android.hardware.camera2.legacy.LegacyCameraDevice;
import android.hardware.camera2.legacy.LegacyExceptionUtils.BufferQueueAbandonedException;
@@ -77,6 +78,7 @@
*
* @throws IllegalArgumentException if the surface is already abandoned.
*/
+ @UnsupportedAppUsage
public static Size getSurfaceSize(Surface surface) {
try {
return LegacyCameraDevice.getSurfaceSize(surface);
diff --git a/core/java/android/hardware/camera2/utils/TypeReference.java b/core/java/android/hardware/camera2/utils/TypeReference.java
index 24ce124..d9ba31b 100644
--- a/core/java/android/hardware/camera2/utils/TypeReference.java
+++ b/core/java/android/hardware/camera2/utils/TypeReference.java
@@ -16,6 +16,7 @@
package android.hardware.camera2.utils;
+import android.annotation.UnsupportedAppUsage;
import java.lang.reflect.Array;
import java.lang.reflect.GenericArrayType;
import java.lang.reflect.ParameterizedType;
@@ -55,6 +56,7 @@
*
* @see TypeReference
*/
+ @UnsupportedAppUsage
protected TypeReference() {
ParameterizedType thisType = (ParameterizedType)getClass().getGenericSuperclass();
@@ -136,6 +138,7 @@
*
* @throws IllegalArgumentException if {@code type} had any type variables
*/
+ @UnsupportedAppUsage
public static TypeReference<?> createSpecializedTypeReference(Type type) {
return new SpecializedBaseTypeReference(type);
}
diff --git a/core/java/android/hardware/display/DisplayManager.java b/core/java/android/hardware/display/DisplayManager.java
index b182fa2..e700cac 100644
--- a/core/java/android/hardware/display/DisplayManager.java
+++ b/core/java/android/hardware/display/DisplayManager.java
@@ -23,6 +23,7 @@
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
import android.app.KeyguardManager;
import android.content.Context;
import android.graphics.Point;
@@ -62,6 +63,7 @@
* </p>
* @hide
*/
+ @UnsupportedAppUsage
public static final String ACTION_WIFI_DISPLAY_STATUS_CHANGED =
"android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED";
@@ -69,6 +71,7 @@
* Contains a {@link WifiDisplayStatus} object.
* @hide
*/
+ @UnsupportedAppUsage
public static final String EXTRA_WIFI_DISPLAY_STATUS =
"android.hardware.display.extra.WIFI_DISPLAY_STATUS";
@@ -437,6 +440,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void startWifiDisplayScan() {
mGlobal.startWifiDisplayScan();
}
@@ -449,6 +453,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void stopWifiDisplayScan() {
mGlobal.stopWifiDisplayScan();
}
@@ -466,16 +471,19 @@
* @param deviceAddress The MAC address of the device to which we should connect.
* @hide
*/
+ @UnsupportedAppUsage
public void connectWifiDisplay(String deviceAddress) {
mGlobal.connectWifiDisplay(deviceAddress);
}
/** @hide */
+ @UnsupportedAppUsage
public void pauseWifiDisplay() {
mGlobal.pauseWifiDisplay();
}
/** @hide */
+ @UnsupportedAppUsage
public void resumeWifiDisplay() {
mGlobal.resumeWifiDisplay();
}
@@ -485,6 +493,7 @@
* The results are sent as a {@link #ACTION_WIFI_DISPLAY_STATUS_CHANGED} broadcast.
* @hide
*/
+ @UnsupportedAppUsage
public void disconnectWifiDisplay() {
mGlobal.disconnectWifiDisplay();
}
@@ -504,6 +513,7 @@
* or empty if no alias should be used.
* @hide
*/
+ @UnsupportedAppUsage
public void renameWifiDisplay(String deviceAddress, String alias) {
mGlobal.renameWifiDisplay(deviceAddress, alias);
}
@@ -519,6 +529,7 @@
* @param deviceAddress The MAC address of the device to forget.
* @hide
*/
+ @UnsupportedAppUsage
public void forgetWifiDisplay(String deviceAddress) {
mGlobal.forgetWifiDisplay(deviceAddress);
}
@@ -531,6 +542,7 @@
* @return The current Wifi display status.
* @hide
*/
+ @UnsupportedAppUsage
public WifiDisplayStatus getWifiDisplayStatus() {
return mGlobal.getWifiDisplayStatus();
}
diff --git a/core/java/android/hardware/display/DisplayManagerGlobal.java b/core/java/android/hardware/display/DisplayManagerGlobal.java
index d968a3e..7304ab4 100644
--- a/core/java/android/hardware/display/DisplayManagerGlobal.java
+++ b/core/java/android/hardware/display/DisplayManagerGlobal.java
@@ -16,6 +16,7 @@
package android.hardware.display;
+import android.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.pm.ParceledListSlice;
import android.content.res.Resources;
@@ -66,10 +67,12 @@
public static final int EVENT_DISPLAY_CHANGED = 2;
public static final int EVENT_DISPLAY_REMOVED = 3;
+ @UnsupportedAppUsage
private static DisplayManagerGlobal sInstance;
private final Object mLock = new Object();
+ @UnsupportedAppUsage
private final IDisplayManager mDm;
private DisplayManagerCallback mCallback;
@@ -91,6 +94,7 @@
* @return The display manager instance, may be null early in system startup
* before the display manager has been fully initialized.
*/
+ @UnsupportedAppUsage
public static DisplayManagerGlobal getInstance() {
synchronized (DisplayManagerGlobal.class) {
if (sInstance == null) {
@@ -110,6 +114,7 @@
* @return Information about the specified display, or null if it does not exist.
* This object belongs to an internal cache and should be treated as if it were immutable.
*/
+ @UnsupportedAppUsage
public DisplayInfo getDisplayInfo(int displayId) {
try {
synchronized (mLock) {
@@ -146,6 +151,7 @@
*
* @return An array containing all display ids.
*/
+ @UnsupportedAppUsage
public int[] getDisplayIds() {
try {
synchronized (mLock) {
@@ -209,6 +215,7 @@
* @param displayId The logical display id.
* @return The display object, or null if there is no display with the given id.
*/
+ @UnsupportedAppUsage
public Display getRealDisplay(int displayId) {
return getCompatibleDisplay(displayId, DisplayAdjustments.DEFAULT_DISPLAY_ADJUSTMENTS);
}
@@ -337,6 +344,7 @@
}
}
+ @UnsupportedAppUsage
public void disconnectWifiDisplay() {
try {
mDm.disconnectWifiDisplay();
@@ -369,6 +377,7 @@
}
}
+ @UnsupportedAppUsage
public WifiDisplayStatus getWifiDisplayStatus() {
try {
return mDm.getWifiDisplayStatus();
diff --git a/core/java/android/hardware/display/WifiDisplay.java b/core/java/android/hardware/display/WifiDisplay.java
index bb32c19..12486e8 100644
--- a/core/java/android/hardware/display/WifiDisplay.java
+++ b/core/java/android/hardware/display/WifiDisplay.java
@@ -16,6 +16,7 @@
package android.hardware.display;
+import android.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
@@ -76,6 +77,7 @@
/**
* Gets the MAC address of the Wifi display device.
*/
+ @UnsupportedAppUsage
public String getDeviceAddress() {
return mDeviceAddress;
}
@@ -83,6 +85,7 @@
/**
* Gets the name of the Wifi display device.
*/
+ @UnsupportedAppUsage
public String getDeviceName() {
return mDeviceName;
}
@@ -94,6 +97,7 @@
* provided by the user when renaming the device.
* </p>
*/
+ @UnsupportedAppUsage
public String getDeviceAlias() {
return mDeviceAlias;
}
@@ -101,6 +105,7 @@
/**
* Returns true if device is available, false otherwise.
*/
+ @UnsupportedAppUsage
public boolean isAvailable() {
return mIsAvailable;
}
@@ -108,6 +113,7 @@
/**
* Returns true if device can be connected to (not in use), false otherwise.
*/
+ @UnsupportedAppUsage
public boolean canConnect() {
return mCanConnect;
}
@@ -115,6 +121,7 @@
/**
* Returns true if device has been remembered, false otherwise.
*/
+ @UnsupportedAppUsage
public boolean isRemembered() {
return mIsRemembered;
}
@@ -136,6 +143,7 @@
* Returns true if the two displays have the same identity (address, name and alias).
* This method does not compare the current status of the displays.
*/
+ @UnsupportedAppUsage
public boolean equals(WifiDisplay other) {
return other != null
&& mDeviceAddress.equals(other.mDeviceAddress)
diff --git a/core/java/android/hardware/display/WifiDisplayStatus.java b/core/java/android/hardware/display/WifiDisplayStatus.java
index b645662..c267834 100644
--- a/core/java/android/hardware/display/WifiDisplayStatus.java
+++ b/core/java/android/hardware/display/WifiDisplayStatus.java
@@ -16,6 +16,7 @@
package android.hardware.display;
+import android.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
@@ -34,7 +35,9 @@
private final int mFeatureState;
private final int mScanState;
private final int mActiveDisplayState;
+ @UnsupportedAppUsage
private final WifiDisplay mActiveDisplay;
+ @UnsupportedAppUsage
private final WifiDisplay[] mDisplays;
/** Session info needed for Miracast Certification */
@@ -47,18 +50,23 @@
/** Feature state: Wifi display is turned off in settings. */
public static final int FEATURE_STATE_OFF = 2;
/** Feature state: Wifi display is turned on in settings. */
+ @UnsupportedAppUsage
public static final int FEATURE_STATE_ON = 3;
/** Scan state: Not currently scanning. */
+ @UnsupportedAppUsage
public static final int SCAN_STATE_NOT_SCANNING = 0;
/** Scan state: Currently scanning. */
public static final int SCAN_STATE_SCANNING = 1;
/** Display state: Not connected. */
+ @UnsupportedAppUsage
public static final int DISPLAY_STATE_NOT_CONNECTED = 0;
/** Display state: Connecting to active display. */
+ @UnsupportedAppUsage
public static final int DISPLAY_STATE_CONNECTING = 1;
/** Display state: Connected to active display. */
+ @UnsupportedAppUsage
public static final int DISPLAY_STATE_CONNECTED = 2;
public static final Creator<WifiDisplayStatus> CREATOR = new Creator<WifiDisplayStatus>() {
@@ -117,6 +125,7 @@
* connecting to displays have been met.
* </p>
*/
+ @UnsupportedAppUsage
public int getFeatureState() {
return mFeatureState;
}
@@ -126,6 +135,7 @@
*
* @return One of: {@link #SCAN_STATE_NOT_SCANNING} or {@link #SCAN_STATE_SCANNING}.
*/
+ @UnsupportedAppUsage
public int getScanState() {
return mScanState;
}
@@ -136,6 +146,7 @@
* @return One of: {@link #DISPLAY_STATE_NOT_CONNECTED}, {@link #DISPLAY_STATE_CONNECTING},
* or {@link #DISPLAY_STATE_CONNECTED}.
*/
+ @UnsupportedAppUsage
public int getActiveDisplayState() {
return mActiveDisplayState;
}
@@ -144,6 +155,7 @@
* Gets the Wifi display that is currently active. It may be connecting or
* connected.
*/
+ @UnsupportedAppUsage
public WifiDisplay getActiveDisplay() {
return mActiveDisplay;
}
@@ -153,6 +165,7 @@
* Wifi displays as reported by the most recent scan, and all remembered
* Wifi displays (not necessarily available at the time).
*/
+ @UnsupportedAppUsage
public WifiDisplay[] getDisplays() {
return mDisplays;
}
diff --git a/core/java/android/hardware/fingerprint/Fingerprint.java b/core/java/android/hardware/fingerprint/Fingerprint.java
index c7ce8fa..66f43f2 100644
--- a/core/java/android/hardware/fingerprint/Fingerprint.java
+++ b/core/java/android/hardware/fingerprint/Fingerprint.java
@@ -15,6 +15,7 @@
*/
package android.hardware.fingerprint;
+import android.annotation.UnsupportedAppUsage;
import android.hardware.biometrics.BiometricAuthenticator;
import android.os.Parcel;
import android.os.Parcelable;
@@ -47,6 +48,7 @@
* Gets the human-readable name for the given fingerprint.
* @return name given to finger
*/
+ @UnsupportedAppUsage
public CharSequence getName() { return mName; }
/**
@@ -55,6 +57,7 @@
* @return device-specific id for this finger
* @hide
*/
+ @UnsupportedAppUsage
public int getFingerId() { return mFingerId; }
/**
diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java
index ebbfe1c..74858e4 100644
--- a/core/java/android/hardware/fingerprint/FingerprintManager.java
+++ b/core/java/android/hardware/fingerprint/FingerprintManager.java
@@ -27,6 +27,7 @@
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission;
import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
import android.app.ActivityManager;
import android.content.Context;
import android.content.pm.PackageManager;
@@ -188,6 +189,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public Fingerprint getFingerprint() { return mFingerprint; }
/**
@@ -718,6 +720,7 @@
* @hide
*/
@RequiresPermission(USE_FINGERPRINT)
+ @UnsupportedAppUsage
public List<Fingerprint> getEnrolledFingerprints(int userId) {
if (mService != null) try {
return mService.getEnrolledFingerprints(userId, mContext.getOpPackageName());
@@ -734,6 +737,7 @@
* @hide
*/
@RequiresPermission(USE_FINGERPRINT)
+ @UnsupportedAppUsage
public List<Fingerprint> getEnrolledFingerprints() {
return getEnrolledFingerprints(mContext.getUserId());
}
@@ -801,6 +805,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public long getAuthenticatorId() {
if (mService != null) {
try {
diff --git a/core/java/android/hardware/input/InputManager.java b/core/java/android/hardware/input/InputManager.java
index 6ae7a14..6ed5090 100644
--- a/core/java/android/hardware/input/InputManager.java
+++ b/core/java/android/hardware/input/InputManager.java
@@ -20,6 +20,7 @@
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
import android.app.IInputForwarder;
import android.content.Context;
import android.media.AudioAttributes;
@@ -64,6 +65,7 @@
private static InputManager sInstance;
+ @UnsupportedAppUsage
private final IInputManager mIm;
// Guarded by mInputDevicesLock
@@ -181,6 +183,7 @@
* Waits for the event to be delivered to the application and handled.
* @hide
*/
+ @UnsupportedAppUsage
public static final int INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH = 2; // see InputDispatcher.h
/** @hide */
@@ -223,6 +226,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static InputManager getInstance() {
synchronized (InputManager.class) {
if (sInstance == null) {
@@ -866,6 +870,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public boolean injectInputEvent(InputEvent event, int mode) {
if (event == null) {
throw new IllegalArgumentException("event must not be null");
@@ -891,6 +896,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void setPointerIconType(int iconId) {
try {
mIm.setPointerIconType(iconId);
@@ -938,6 +944,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public IInputForwarder createInputForwarder(int displayId) {
try {
return mIm.createInputForwarder(displayId);
diff --git a/core/java/android/hardware/location/GeofenceHardware.java b/core/java/android/hardware/location/GeofenceHardware.java
index 66dd9fc..23d8d01 100644
--- a/core/java/android/hardware/location/GeofenceHardware.java
+++ b/core/java/android/hardware/location/GeofenceHardware.java
@@ -16,6 +16,7 @@
package android.hardware.location;
import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
import android.location.Location;
import android.os.Build;
import android.os.RemoteException;
@@ -168,6 +169,7 @@
GeofenceHardwareMonitorCallbackWrapper>();
/** @hide */
+ @UnsupportedAppUsage
public GeofenceHardware(IGeofenceHardware service) {
mService = service;
}
diff --git a/core/java/android/hardware/soundtrigger/SoundTrigger.java b/core/java/android/hardware/soundtrigger/SoundTrigger.java
index dde8a33..007f4bc 100644
--- a/core/java/android/hardware/soundtrigger/SoundTrigger.java
+++ b/core/java/android/hardware/soundtrigger/SoundTrigger.java
@@ -24,6 +24,7 @@
import android.annotation.Nullable;
import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
import android.media.AudioFormat;
import android.os.Handler;
import android.os.Parcel;
@@ -72,6 +73,7 @@
****************************************************************************/
public static class ModuleProperties implements Parcelable {
/** Unique module ID provided by the native service */
+ @UnsupportedAppUsage
public final int id;
/** human readable voice detection engine implementor */
@@ -81,12 +83,14 @@
public final String description;
/** Unique voice engine Id (changes with each version) */
+ @UnsupportedAppUsage
public final UUID uuid;
/** Voice detection engine version */
public final int version;
/** Maximum number of active sound models */
+ @UnsupportedAppUsage
public final int maxSoundModels;
/** Maximum number of key phrases */
@@ -114,6 +118,7 @@
* recognition callback event */
public final boolean returnsTriggerInEvent;
+ @UnsupportedAppUsage
ModuleProperties(int id, String implementor, String description,
String uuid, int version, int maxSoundModels, int maxKeyphrases,
int maxUsers, int recognitionModes, boolean supportsCaptureTransition,
@@ -225,15 +230,18 @@
public static final int TYPE_GENERIC_SOUND = 1;
/** Unique sound model identifier */
+ @UnsupportedAppUsage
public final UUID uuid;
/** Sound model type (e.g. TYPE_KEYPHRASE); */
public final int type;
/** Unique sound model vendor identifier */
+ @UnsupportedAppUsage
public final UUID vendorUuid;
/** Opaque data. For use by vendor implementation and enrollment application */
+ @UnsupportedAppUsage
public final byte[] data;
public SoundModel(UUID uuid, UUID vendorUuid, int type, byte[] data) {
@@ -289,21 +297,27 @@
****************************************************************************/
public static class Keyphrase implements Parcelable {
/** Unique identifier for this keyphrase */
+ @UnsupportedAppUsage
public final int id;
/** Recognition modes supported for this key phrase in the model */
+ @UnsupportedAppUsage
public final int recognitionModes;
/** Locale of the keyphrase. JAVA Locale string e.g en_US */
+ @UnsupportedAppUsage
public final String locale;
/** Key phrase text */
+ @UnsupportedAppUsage
public final String text;
/** Users this key phrase has been trained for. countains sound trigger specific user IDs
* derived from system user IDs {@link android.os.UserHandle#getIdentifier()}. */
+ @UnsupportedAppUsage
public final int[] users;
+ @UnsupportedAppUsage
public Keyphrase(int id, int recognitionModes, String locale, String text, int[] users) {
this.id = id;
this.recognitionModes = recognitionModes;
@@ -412,8 +426,10 @@
****************************************************************************/
public static class KeyphraseSoundModel extends SoundModel implements Parcelable {
/** Key phrases in this sound model */
+ @UnsupportedAppUsage
public final Keyphrase[] keyphrases; // keyword phrases in model
+ @UnsupportedAppUsage
public KeyphraseSoundModel(
UUID uuid, UUID vendorUuid, byte[] data, Keyphrase[] keyphrases) {
super(uuid, vendorUuid, TYPE_KEYPHRASE, data);
@@ -511,6 +527,7 @@
}
};
+ @UnsupportedAppUsage
public GenericSoundModel(UUID uuid, UUID vendorUuid, byte[] data) {
super(uuid, vendorUuid, TYPE_GENERIC_SOUND, data);
}
@@ -606,6 +623,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public final int status;
/**
*
@@ -613,12 +631,14 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public final int soundModelHandle;
/**
* True if it is possible to capture audio from this utterance buffered by the hardware
*
* @hide
*/
+ @UnsupportedAppUsage
public final boolean captureAvailable;
/**
* Audio session ID to be used when capturing the utterance with an AudioRecord
@@ -626,6 +646,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public final int captureSession;
/**
* Delay in ms between end of model detection and start of audio available for capture.
@@ -659,9 +680,11 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public final byte[] data;
/** @hide */
+ @UnsupportedAppUsage
public RecognitionEvent(int status, int soundModelHandle, boolean captureAvailable,
int captureSession, int captureDelayMs, int capturePreambleMs,
boolean triggerInData, AudioFormat captureFormat, byte[] data) {
@@ -865,6 +888,7 @@
public static class RecognitionConfig implements Parcelable {
/** True if the DSP should capture the trigger sound and make it available for further
* capture. */
+ @UnsupportedAppUsage
public final boolean captureRequested;
/**
* True if the service should restart listening after the DSP triggers.
@@ -873,11 +897,14 @@
public final boolean allowMultipleTriggers;
/** List of all keyphrases in the sound model for which recognition should be performed with
* options for each keyphrase. */
+ @UnsupportedAppUsage
public final KeyphraseRecognitionExtra keyphrases[];
/** Opaque data for use by system applications who know about voice engine internals,
* typically during enrollment. */
+ @UnsupportedAppUsage
public final byte[] data;
+ @UnsupportedAppUsage
public RecognitionConfig(boolean captureRequested, boolean allowMultipleTriggers,
KeyphraseRecognitionExtra[] keyphrases, byte[] data) {
this.captureRequested = captureRequested;
@@ -938,9 +965,12 @@
* @hide
*/
public static class ConfidenceLevel implements Parcelable {
+ @UnsupportedAppUsage
public final int userId;
+ @UnsupportedAppUsage
public final int confidenceLevel;
+ @UnsupportedAppUsage
public ConfidenceLevel(int userId, int confidenceLevel) {
this.userId = userId;
this.confidenceLevel = confidenceLevel;
@@ -1014,19 +1044,24 @@
*/
public static class KeyphraseRecognitionExtra implements Parcelable {
/** The keyphrase ID */
+ @UnsupportedAppUsage
public final int id;
/** Recognition modes matched for this event */
+ @UnsupportedAppUsage
public final int recognitionModes;
/** Confidence level for mode RECOGNITION_MODE_VOICE_TRIGGER when user identification
* is not performed */
+ @UnsupportedAppUsage
public final int coarseConfidenceLevel;
/** Confidence levels for all users recognized (KeyphraseRecognitionEvent) or to
* be recognized (RecognitionConfig) */
+ @UnsupportedAppUsage
public final ConfidenceLevel[] confidenceLevels;
+ @UnsupportedAppUsage
public KeyphraseRecognitionExtra(int id, int recognitionModes, int coarseConfidenceLevel,
ConfidenceLevel[] confidenceLevels) {
this.id = id;
@@ -1114,8 +1149,10 @@
*/
public static class KeyphraseRecognitionEvent extends RecognitionEvent implements Parcelable {
/** Indicates if the key phrase is present in the buffered audio available for capture */
+ @UnsupportedAppUsage
public final KeyphraseRecognitionExtra[] keyphraseExtras;
+ @UnsupportedAppUsage
public KeyphraseRecognitionEvent(int status, int soundModelHandle, boolean captureAvailable,
int captureSession, int captureDelayMs, int capturePreambleMs,
boolean triggerInData, AudioFormat captureFormat, byte[] data,
@@ -1236,6 +1273,7 @@
* @hide
*/
public static class GenericRecognitionEvent extends RecognitionEvent implements Parcelable {
+ @UnsupportedAppUsage
public GenericRecognitionEvent(int status, int soundModelHandle,
boolean captureAvailable, int captureSession, int captureDelayMs,
int capturePreambleMs, boolean triggerInData, AudioFormat captureFormat,
@@ -1305,6 +1343,7 @@
/** New sound model data */
public final byte[] data;
+ @UnsupportedAppUsage
SoundModelEvent(int status, int soundModelHandle, byte[] data) {
this.status = status;
this.soundModelHandle = soundModelHandle;
@@ -1405,6 +1444,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static native int listModules(ArrayList <ModuleProperties> modules);
/**
@@ -1418,6 +1458,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static SoundTriggerModule attachModule(int moduleId,
StatusListener listener,
Handler handler) {
diff --git a/core/java/android/hardware/soundtrigger/SoundTriggerModule.java b/core/java/android/hardware/soundtrigger/SoundTriggerModule.java
index e23a2bb..838765b 100644
--- a/core/java/android/hardware/soundtrigger/SoundTriggerModule.java
+++ b/core/java/android/hardware/soundtrigger/SoundTriggerModule.java
@@ -16,6 +16,7 @@
package android.hardware.soundtrigger;
+import android.annotation.UnsupportedAppUsage;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
@@ -28,8 +29,10 @@
* @hide
*/
public class SoundTriggerModule {
+ @UnsupportedAppUsage
private long mNativeContext;
+ @UnsupportedAppUsage
private int mId;
private NativeEventHandlerDelegate mEventHandlerDelegate;
@@ -56,6 +59,7 @@
* Detach from this module. The {@link SoundTrigger.StatusListener} callback will not be called
* anymore and associated resources will be released.
* */
+ @UnsupportedAppUsage
public native void detach();
/**
@@ -73,6 +77,7 @@
* service fails
* - {@link SoundTrigger#STATUS_INVALID_OPERATION} if the call is out of sequence
*/
+ @UnsupportedAppUsage
public native int loadSoundModel(SoundTrigger.SoundModel model, int[] soundModelHandle);
/**
@@ -87,6 +92,7 @@
* - {@link SoundTrigger#STATUS_DEAD_OBJECT} if the binder transaction to the native
* service fails
*/
+ @UnsupportedAppUsage
public native int unloadSoundModel(int soundModelHandle);
/**
@@ -106,6 +112,7 @@
* service fails
* - {@link SoundTrigger#STATUS_INVALID_OPERATION} if the call is out of sequence
*/
+ @UnsupportedAppUsage
public native int startRecognition(int soundModelHandle, SoundTrigger.RecognitionConfig config);
/**
@@ -121,6 +128,7 @@
* service fails
* - {@link SoundTrigger#STATUS_INVALID_OPERATION} if the call is out of sequence
*/
+ @UnsupportedAppUsage
public native int stopRecognition(int soundModelHandle);
private class NativeEventHandlerDelegate {
@@ -181,6 +189,7 @@
}
@SuppressWarnings("unused")
+ @UnsupportedAppUsage
private static void postEventFromNative(Object module_ref,
int what, int arg1, int arg2, Object obj) {
SoundTriggerModule module = (SoundTriggerModule)((WeakReference)module_ref).get();
diff --git a/core/java/android/hardware/usb/UsbDevice.java b/core/java/android/hardware/usb/UsbDevice.java
index 1e98301..26c5a95 100644
--- a/core/java/android/hardware/usb/UsbDevice.java
+++ b/core/java/android/hardware/usb/UsbDevice.java
@@ -18,6 +18,7 @@
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
import com.android.internal.util.Preconditions;
@@ -60,6 +61,7 @@
private @Nullable Parcelable[] mConfigurations;
/** All interfaces on the device. Initialized on first call to getInterfaceList */
+ @UnsupportedAppUsage
private @Nullable UsbInterface[] mInterfaces;
/**
diff --git a/core/java/android/hardware/usb/UsbDeviceConnection.java b/core/java/android/hardware/usb/UsbDeviceConnection.java
index 9e5174a..71297c1 100644
--- a/core/java/android/hardware/usb/UsbDeviceConnection.java
+++ b/core/java/android/hardware/usb/UsbDeviceConnection.java
@@ -20,6 +20,7 @@
import android.annotation.Nullable;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.os.Build;
import android.os.ParcelFileDescriptor;
@@ -46,6 +47,7 @@
private Context mContext;
// used by the JNI code
+ @UnsupportedAppUsage
private long mNativeContext;
private final CloseGuard mCloseGuard = CloseGuard.get();
diff --git a/core/java/android/hardware/usb/UsbManager.java b/core/java/android/hardware/usb/UsbManager.java
index 46142e3..3141be4 100644
--- a/core/java/android/hardware/usb/UsbManager.java
+++ b/core/java/android/hardware/usb/UsbManager.java
@@ -25,6 +25,7 @@
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemApi;
import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
@@ -87,6 +88,7 @@
*
* {@hide}
*/
+ @UnsupportedAppUsage
public static final String ACTION_USB_STATE =
"android.hardware.usb.action.USB_STATE";
@@ -163,6 +165,7 @@
*
* {@hide}
*/
+ @UnsupportedAppUsage
public static final String USB_CONNECTED = "connected";
/**
@@ -189,6 +192,7 @@
*
* {@hide}
*/
+ @UnsupportedAppUsage
public static final String USB_DATA_UNLOCKED = "unlocked";
/**
@@ -197,6 +201,7 @@
*
* {@hide}
*/
+ @UnsupportedAppUsage
public static final String USB_FUNCTION_NONE = "none";
/**
@@ -363,6 +368,7 @@
/**
* {@hide}
*/
+ @UnsupportedAppUsage
public UsbManager(Context context, IUsbManager service) {
mContext = context;
mService = service;
@@ -645,6 +651,7 @@
* {@hide}
*/
@Deprecated
+ @UnsupportedAppUsage
public boolean isFunctionEnabled(String function) {
try {
return mService.isFunctionEnabled(function);
@@ -693,6 +700,7 @@
* {@hide}
*/
@Deprecated
+ @UnsupportedAppUsage
public void setCurrentFunction(String functions, boolean usbDataUnlocked) {
try {
mService.setCurrentFunction(functions, usbDataUnlocked);
@@ -774,6 +782,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public UsbPort[] getPorts() {
if (mService == null) {
return null;
@@ -793,6 +802,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public UsbPortStatus getPortStatus(UsbPort port) {
Preconditions.checkNotNull(port, "port must not be null");
@@ -822,6 +832,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void setPortRoles(UsbPort port, int powerRole, int dataRole) {
Preconditions.checkNotNull(port, "port must not be null");
UsbPort.checkRoles(powerRole, dataRole);
diff --git a/core/java/android/hardware/usb/UsbPortStatus.java b/core/java/android/hardware/usb/UsbPortStatus.java
index 5c0e81a..2cd8209 100644
--- a/core/java/android/hardware/usb/UsbPortStatus.java
+++ b/core/java/android/hardware/usb/UsbPortStatus.java
@@ -16,6 +16,7 @@
package android.hardware.usb;
+import android.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
@@ -47,6 +48,7 @@
*
* @return True if there is anything connected to the port.
*/
+ @UnsupportedAppUsage
public boolean isConnected() {
return mCurrentMode != 0;
}
@@ -57,6 +59,7 @@
* @return The current mode: {@link UsbPort#MODE_DFP}, {@link UsbPort#MODE_UFP},
* or 0 if nothing is connected.
*/
+ @UnsupportedAppUsage
public int getCurrentMode() {
return mCurrentMode;
}
@@ -67,6 +70,7 @@
* @return The current power role: {@link UsbPort#POWER_ROLE_SOURCE},
* {@link UsbPort#POWER_ROLE_SINK}, or 0 if nothing is connected.
*/
+ @UnsupportedAppUsage
public int getCurrentPowerRole() {
return mCurrentPowerRole;
}
@@ -77,6 +81,7 @@
* @return The current data role: {@link UsbPort#DATA_ROLE_HOST},
* {@link UsbPort#DATA_ROLE_DEVICE}, or 0 if nothing is connected.
*/
+ @UnsupportedAppUsage
public int getCurrentDataRole() {
return mCurrentDataRole;
}
@@ -90,12 +95,14 @@
* @param dataRole The data role to check: either {@link UsbPort#DATA_ROLE_HOST}
* or {@link UsbPort#DATA_ROLE_DEVICE}, or 0 if no data role.
*/
+ @UnsupportedAppUsage
public boolean isRoleCombinationSupported(int powerRole, int dataRole) {
return (mSupportedRoleCombinations &
UsbPort.combineRolesAsBit(powerRole, dataRole)) != 0;
}
/** @hide */
+ @UnsupportedAppUsage
public int getSupportedRoleCombinations() {
return mSupportedRoleCombinations;
}
diff --git a/core/java/android/hardware/usb/UsbRequest.java b/core/java/android/hardware/usb/UsbRequest.java
index f59c87e..7abf3e9 100644
--- a/core/java/android/hardware/usb/UsbRequest.java
+++ b/core/java/android/hardware/usb/UsbRequest.java
@@ -17,6 +17,7 @@
package android.hardware.usb;
import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
import android.os.Build;
import android.util.Log;
@@ -47,14 +48,17 @@
static final int MAX_USBFS_BUFFER_SIZE = 16384;
// used by the JNI code
+ @UnsupportedAppUsage
private long mNativeContext;
private UsbEndpoint mEndpoint;
/** The buffer that is currently being read / written */
+ @UnsupportedAppUsage
private ByteBuffer mBuffer;
/** The amount of data to read / write when using {@link #queue} */
+ @UnsupportedAppUsage
private int mLength;
// for client use
diff --git a/core/java/android/net/NetworkAgent.java b/core/java/android/net/NetworkAgent.java
index 52a2354..e6b3fa8 100644
--- a/core/java/android/net/NetworkAgent.java
+++ b/core/java/android/net/NetworkAgent.java
@@ -372,7 +372,7 @@
if (score < 0) {
throw new IllegalArgumentException("Score must be >= 0");
}
- queueOrSendMessage(EVENT_NETWORK_SCORE_CHANGED, new Integer(score));
+ queueOrSendMessage(EVENT_NETWORK_SCORE_CHANGED, score, 0);
}
/**
@@ -387,7 +387,7 @@
* {@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/os/BinderProxy.java b/core/java/android/os/BinderProxy.java
index dc09c51..e492f88 100644
--- a/core/java/android/os/BinderProxy.java
+++ b/core/java/android/os/BinderProxy.java
@@ -240,6 +240,9 @@
} else {
try {
key = bp.getInterfaceDescriptor();
+ if ((key == null || key.isEmpty()) && !bp.isBinderAlive()) {
+ key = "<proxy to dead node>";
+ }
} catch (Throwable t) {
key = "<exception during getDescriptor>";
}
diff --git a/core/java/android/os/HwBlob.java b/core/java/android/os/HwBlob.java
index 405651e..6a5bb1c 100644
--- a/core/java/android/os/HwBlob.java
+++ b/core/java/android/os/HwBlob.java
@@ -232,6 +232,14 @@
* @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 0eb62c95..7a51db2 100644
--- a/core/java/android/os/HwParcel.java
+++ b/core/java/android/os/HwParcel.java
@@ -115,6 +115,13 @@
* @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 @@
* @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 @@
}
/**
+ * 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 @@
* @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 @@
* @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 @@
}
/**
+ * 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 31dbafa..20ca19b 100644
--- a/core/java/android/os/INetworkManagementService.aidl
+++ b/core/java/android/os/INetworkManagementService.aidl
@@ -372,11 +372,6 @@
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 0000000..fbecc8e
--- /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/provider/Browser.java b/core/java/android/provider/Browser.java
index 7d05522..30021b4 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 @@
* the string.
* @hide pending API council approval
*/
+ @UnsupportedAppUsage
public static final void sendString(Context c,
String stringToSend,
String chooserDialogTitle) {
@@ -323,6 +325,7 @@
* @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 118b5eb..57dde66 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 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 @@
/**
* The content:// style URI for this table
*/
+ @UnsupportedAppUsage
public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "bookmarks");
/**
@@ -300,6 +303,7 @@
* 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 @@
* @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 @@
/**
* Directory under {@link Bookmarks#CONTENT_URI}
*/
+ @UnsupportedAppUsage
public static final Uri CONTENT_URI =
AUTHORITY_URI.buildUpon().appendPath("accounts").build();
@@ -444,6 +450,7 @@
/**
* The content:// style URI for this table
*/
+ @UnsupportedAppUsage
public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "history");
/**
@@ -573,6 +580,7 @@
/**
* The content:// style URI for this table
*/
+ @UnsupportedAppUsage
public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "images");
/**
@@ -673,6 +681,7 @@
/**
* 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 d9ce57a..a8f3665 100644
--- a/core/java/android/provider/CalendarContract.java
+++ b/core/java/android/provider/CalendarContract.java
@@ -19,6 +19,7 @@
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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static String[] PROVIDER_WRITABLE_COLUMNS = new String[] {
ACCOUNT_NAME,
ACCOUNT_TYPE,
@@ -2288,6 +2290,7 @@
* 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 @@
* @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 @@
* 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 70de09e..bc72c4e 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 @@
* 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 c94da9a..61be7f7 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -20,6 +20,7 @@
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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final Uri CORP_CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI,
"contacts_corp");
@@ -2023,6 +2025,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public static final Builder builder() {
return new Builder();
}
@@ -6142,6 +6145,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final CharSequence getDisplayLabel(Context context, int type,
CharSequence label) {
return getTypeLabel(context.getResources(), type, label);
@@ -8519,6 +8523,7 @@
* 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 362eba9..69c4b9b 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 @@
/**
* 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 d96316a..2b40c12 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.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 @@
* @see #COLUMN_FLAGS
* @hide
*/
+ @UnsupportedAppUsage
public static final int FLAG_ADVANCED = 1 << 17;
/**
@@ -700,6 +702,7 @@
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 @@
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 @@
}
/** {@hide} */
+ @UnsupportedAppUsage
public static Uri setManageMode(Uri uri) {
return uri.buildUpon().appendQueryParameter(PARAM_MANAGE, "true").build();
}
@@ -1066,6 +1072,7 @@
}
/** {@hide} */
+ @UnsupportedAppUsage
public static Bitmap getDocumentThumbnail(
ContentProviderClient client, Uri documentUri, Point size, CancellationSignal signal)
throws RemoteException, IOException {
@@ -1321,6 +1328,7 @@
}
/** {@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 a2c5a92..e5fd29c 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 @@
/**
* 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 @@
* 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 @@
* 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 @@
* <P>Type: TEXT</P>
* <P>Owner can Init/Read</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_URI = "uri";
/**
@@ -163,6 +168,7 @@
* <P>Type: TEXT</P>
* <P>Owner can Init</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_FILE_NAME_HINT = "hint";
/**
@@ -178,6 +184,7 @@
* <P>Type: TEXT</P>
* <P>Owner can Init/Read</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_MIME_TYPE = "mimetype";
/**
@@ -186,6 +193,7 @@
* <P>Type: INTEGER</P>
* <P>Owner can Init</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_DESTINATION = "destination";
/**
@@ -195,6 +203,7 @@
* <P>Type: INTEGER</P>
* <P>Owner can Init/Read/Write</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_VISIBILITY = "visibility";
/**
@@ -231,6 +240,7 @@
* <P>Type: TEXT</P>
* <P>Owner can Init/Read</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_NOTIFICATION_PACKAGE = "notificationpackage";
/**
@@ -241,6 +251,7 @@
* <P>Type: TEXT</P>
* <P>Owner can Init/Read</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_NOTIFICATION_CLASS = "notificationclass";
/**
@@ -249,6 +260,7 @@
* <P>Type: TEXT</P>
* <P>Owner can Init</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_NOTIFICATION_EXTRAS = "notificationextras";
/**
@@ -258,6 +270,7 @@
* <P>Type: TEXT</P>
* <P>Owner can Init</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_COOKIE_DATA = "cookiedata";
/**
@@ -274,6 +287,7 @@
* <P>Type: TEXT</P>
* <P>Owner can Init</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_REFERER = "referer";
/**
@@ -311,6 +325,7 @@
* <P>Type: TEXT</P>
* <P>Owner can Init/Read/Write</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_TITLE = "title";
/**
@@ -320,6 +335,7 @@
* <P>Type: TEXT</P>
* <P>Owner can Init/Read/Write</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_DESCRIPTION = "description";
/**
@@ -328,6 +344,7 @@
* <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 @@
* <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 @@
* <P>Type: BOOLEAN</P>
* <P>Owner can Init/Read</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_ALLOW_ROAMING = "allow_roaming";
/**
@@ -360,6 +379,7 @@
* <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 @@
* <P>Type: BOOLEAN</P>
* <P>Owner can Read</P>
*/
+ @UnsupportedAppUsage
public static final String COLUMN_DELETED = "deleted";
/**
@@ -392,6 +413,7 @@
* 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 @@
* 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 @@
* 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 @@
/**
* 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 @@
/**
* 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 @@
* @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 @@
* 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 @@
* 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 1da6602..149f2b4 100644
--- a/core/java/android/provider/MediaStore.java
+++ b/core/java/android/provider/MediaStore.java
@@ -18,6 +18,7 @@
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 @@
* <P>Type: INTEGER (boolean)</P>
* @hide
*/
+ @UnsupportedAppUsage
public static final String IS_DRM = "is_drm";
/**
@@ -506,6 +508,7 @@
* 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 @@
* 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 @@
* 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 @@
* <P>Type: INTEGER</P>
* @hide
*/
+ @UnsupportedAppUsage
public static final String STORAGE_ID = "storage_id";
/**
@@ -556,6 +562,7 @@
* <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 4347a30..0affe58 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -37,6 +37,7 @@
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 @@
* @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 @@
* @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 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 @@
@GuardedBy("mLock")
private final Uri mUri;
@GuardedBy("mLock")
+ @UnsupportedAppUsage
private IContentProvider mContentProvider;
public ContentProviderHolder(Uri uri) {
@@ -1988,6 +1994,7 @@
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 @@
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 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 @@
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 @@
}
/** @hide */
+ @UnsupportedAppUsage
public static String getStringForUser(ContentResolver resolver, String name,
int userHandle) {
if (MOVED_TO_SECURE.contains(name)) {
@@ -2402,6 +2416,7 @@
}
/** @hide */
+ @UnsupportedAppUsage
public static boolean putStringForUser(ContentResolver resolver, String name, String value,
int userHandle) {
if (MOVED_TO_SECURE.contains(name)) {
@@ -2456,6 +2471,7 @@
}
/** @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 @@
}
/** @hide */
+ @UnsupportedAppUsage
public static int getIntForUser(ContentResolver cr, String name, int userHandle)
throws SettingNotFoundException {
String v = getStringForUser(cr, name, userHandle);
@@ -2517,6 +2534,7 @@
}
/** @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 @@
* {@hide}
*/
@Deprecated
+ @UnsupportedAppUsage
public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS =
Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS;
@@ -3214,6 +3233,7 @@
* 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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String MASTER_MONO = "master_mono";
private static final Validator MASTER_MONO_VALIDATOR = BOOLEAN_VALIDATOR;
@@ -3440,6 +3461,7 @@
* 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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY =
"hide_rotation_lock_toggle_for_accessibility";
@@ -3797,6 +3820,7 @@
* boolean (1 or 0).
* @hide
*/
+ @UnsupportedAppUsage
public static final String HEARING_AID = "hearing_aid";
/** @hide */
@@ -3811,6 +3835,7 @@
* 3 = HCO
* @hide
*/
+ @UnsupportedAppUsage
public static final String TTY_MODE = "tty_mode";
/** @hide */
@@ -3850,6 +3875,7 @@
* 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 @@
* 1 = yes
* @hide
*/
+ @UnsupportedAppUsage
public static final String POINTER_LOCATION = "pointer_location";
/** @hide */
@@ -3872,6 +3899,7 @@
* 1 = yes
* @hide
*/
+ @UnsupportedAppUsage
public static final String SHOW_TOUCHES = "show_touches";
/** @hide */
@@ -3907,6 +3935,7 @@
* @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 @@
* 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 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final String DESK_DOCK_SOUND = Global.DESK_DOCK_SOUND;
/**
@@ -3951,6 +3982,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final String DESK_UNDOCK_SOUND = Global.DESK_UNDOCK_SOUND;
/**
@@ -3959,6 +3991,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final String CAR_DOCK_SOUND = Global.CAR_DOCK_SOUND;
/**
@@ -3967,6 +4000,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final String CAR_UNDOCK_SOUND = Global.CAR_UNDOCK_SOUND;
/**
@@ -3975,6 +4009,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final String LOCK_SOUND = Global.LOCK_SOUND;
/**
@@ -3983,6 +4018,7 @@
* @hide
*/
@Deprecated
+ @UnsupportedAppUsage
public static final String UNLOCK_SOUND = Global.UNLOCK_SOUND;
/**
@@ -4048,6 +4084,7 @@
* +7 = fastest
* @hide
*/
+ @UnsupportedAppUsage
public static final String POINTER_SPEED = "pointer_speed";
/** @hide */
@@ -4112,6 +4149,7 @@
*
* @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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final Set<String> PUBLIC_SETTINGS = new ArraySet<>();
static {
PUBLIC_SETTINGS.add(END_BUTTON_BEHAVIOR);
@@ -4234,6 +4273,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final Set<String> PRIVATE_SETTINGS = new ArraySet<>();
static {
PRIVATE_SETTINGS.add(WIFI_USE_STATIC_IP);
@@ -4285,6 +4325,7 @@
*
* @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 @@
* 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 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 @@
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 @@
}
/** @hide */
+ @UnsupportedAppUsage
public static String getStringForUser(ContentResolver resolver, String name,
int userHandle) {
if (MOVED_TO_GLOBAL.contains(name)) {
@@ -4918,12 +4965,14 @@
}
/** @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 @@
}
/** @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 @@
}
/** @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 @@
}
/** @hide */
+ @UnsupportedAppUsage
public static long getLongForUser(ContentResolver cr, String name, long def,
int userHandle) {
String valString = getStringForUser(cr, name, userHandle);
@@ -5235,6 +5287,7 @@
}
/** @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 @@
* 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 @@
* @deprecated
*/
@Deprecated
+ @UnsupportedAppUsage
public static final String LOCK_SCREEN_OWNER_INFO_ENABLED =
"lock_screen_owner_info_enabled";
@@ -5837,6 +5892,7 @@
* 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 @@
* @see android.graphics.Typeface
* @hide
*/
+ @UnsupportedAppUsage
public static final String ACCESSIBILITY_CAPTIONING_TYPEFACE =
"accessibility_captioning_typeface";
@@ -6303,6 +6360,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED =
"accessibility_display_daltonizer_enabled";
@@ -6321,6 +6379,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String ACCESSIBILITY_DISPLAY_DALTONIZER =
"accessibility_display_daltonizer";
@@ -6334,6 +6393,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String ACCESSIBILITY_AUTOCLICK_ENABLED =
"accessibility_autoclick_enabled";
@@ -6359,6 +6419,7 @@
* (0 = false, 1 = true)
* @hide
*/
+ @UnsupportedAppUsage
public static final String ACCESSIBILITY_LARGE_POINTER_ICON =
"accessibility_large_pointer_icon";
@@ -6369,6 +6430,7 @@
* 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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String ENABLED_PRINT_SERVICES =
"enabled_print_services";
@@ -6747,6 +6810,7 @@
* Type: int ( 0 = disabled, 1 = enabled )
* @hide
*/
+ @UnsupportedAppUsage
public static final String BACKUP_ENABLED = "backup_enabled";
/**
@@ -6755,6 +6819,7 @@
* Type: int ( 0 = disabled, 1 = enabled )
* @hide
*/
+ @UnsupportedAppUsage
public static final String BACKUP_AUTO_RESTORE = "backup_auto_restore";
/**
@@ -6762,12 +6827,14 @@
* 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 @@
* 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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String VOICE_RECOGNITION_SERVICE = "voice_recognition_service";
/**
@@ -6972,6 +7041,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String PACKAGE_VERIFIER_USER_CONSENT =
"package_verifier_user_consent";
@@ -6981,6 +7051,7 @@
*
* @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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String SELECTED_SPELL_CHECKER_SUBTYPE =
"selected_spell_checker_subtype";
@@ -7015,6 +7087,7 @@
*
* @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 @@
* 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 @@
* 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 @@
* 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 @@
* {@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 @@
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 @@
* 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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String ASSISTANT = "assistant";
/**
@@ -7948,6 +8029,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String[] SETTINGS_TO_BACKUP = {
BUGREPORT_IN_POWER_MENU, // moved to global
ALLOW_MOCK_LOCATION,
@@ -8455,6 +8537,7 @@
* @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 @@
* ConnectivityManager for more info.
* @hide
*/
+ @UnsupportedAppUsage
public static final String MOBILE_DATA = "mobile_data";
/**
@@ -9119,6 +9203,7 @@
* 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 @@
* 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 @@
* by the system).
* @hide
*/
+ @UnsupportedAppUsage
public static final String WEBVIEW_PROVIDER = "webview_provider";
/**
@@ -9812,6 +9899,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String WIFI_SAVED_STATE = "wifi_saved_state";
/**
@@ -9852,6 +9940,7 @@
* 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";
@@ -11243,6 +11332,7 @@
* See RIL_PreferredNetworkType in ril.h
* @hide
*/
+ @UnsupportedAppUsage
public static final String PREFERRED_NETWORK_MODE =
"preferred_network_mode";
@@ -11624,12 +11714,21 @@
*
* @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";
@@ -11662,6 +11761,7 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public static final String ZEN_MODE_CONFIG_ETAG = "zen_mode_config_etag";
/**
@@ -11683,11 +11783,16 @@
*
* @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
@@ -11709,6 +11814,7 @@
* Type: int (0 for false, 1 for true)
* @hide
*/
+ @UnsupportedAppUsage
public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
/**
@@ -12180,10 +12286,12 @@
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,
@@ -12191,6 +12299,7 @@
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);
@@ -12219,6 +12328,7 @@
}
/** @hide */
+ @UnsupportedAppUsage
public static String getStringForUser(ContentResolver resolver, String name,
int userHandle) {
if (MOVED_TO_SECURE.contains(name)) {
@@ -12345,6 +12455,7 @@
}
/** @hide */
+ @UnsupportedAppUsage
public static boolean putStringForUser(ContentResolver resolver,
String name, String value, int userHandle) {
return putStringForUser(resolver, name, value, null, false, userHandle);
@@ -12599,6 +12710,7 @@
* The supported values are 0 = disable or 1 = enable prompt.
* @hide
*/
+ @UnsupportedAppUsage
public static final String MULTI_SIM_VOICE_PROMPT = "multi_sim_voice_prompt";
/**
@@ -12628,6 +12740,7 @@
* 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"};
@@ -12977,6 +13090,7 @@
/**
* The content:// style URL for this table
*/
+ @UnsupportedAppUsage
public static final Uri CONTENT_URI =
Uri.parse("content://" + AUTHORITY + "/bookmarks");
@@ -13085,6 +13199,7 @@
* 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,
@@ -13196,6 +13311,7 @@
* 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,
@@ -13252,6 +13368,7 @@
* a negative result will be returned.
* @hide
*/
+ @UnsupportedAppUsage
public static boolean isCallingPackageAllowedToDrawOverlays(Context context, int uid,
String callingPackage, boolean throwException) {
return isCallingPackageAllowedToPerformAppOpsProtectedOperation(context, uid,
@@ -13282,6 +13399,7 @@
* 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 2b114d5..15b2aae 100644
--- a/core/java/android/service/dreams/DreamService.java
+++ b/core/java/android/service/dreams/DreamService.java
@@ -21,6 +21,7 @@
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 @@
*
* @hide
*/
+ @UnsupportedAppUsage
public void setWindowless(boolean windowless) {
mWindowless = windowless;
}
@@ -624,6 +626,7 @@
* @see #startDozing
* @hide For use by system UI components only.
*/
+ @UnsupportedAppUsage
public boolean canDoze() {
return mCanDoze;
}
@@ -657,6 +660,7 @@
* @see #stopDozing
* @hide For use by system UI components only.
*/
+ @UnsupportedAppUsage
public void startDozing() {
if (mCanDoze && !mDozing) {
mDozing = true;
@@ -690,6 +694,7 @@
* @see #startDozing
* @hide For use by system UI components only.
*/
+ @UnsupportedAppUsage
public void stopDozing() {
if (mDozing) {
mDozing = false;
@@ -711,6 +716,7 @@
* @see #setDozing(boolean)
* @hide For use by system UI components only.
*/
+ @UnsupportedAppUsage
public boolean isDozing() {
return mDozing;
}
@@ -767,6 +773,7 @@
*
* @hide For use by system UI components only.
*/
+ @UnsupportedAppUsage
public void setDozeScreenState(int state) {
if (mDozeScreenState != state) {
mDozeScreenState = state;
@@ -785,6 +792,7 @@
* @see #setDozeScreenBrightness
* @hide For use by system UI components only.
*/
+ @UnsupportedAppUsage
public int getDozeScreenBrightness() {
return mDozeScreenBrightness;
}
@@ -816,6 +824,7 @@
*
* @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 4bbee61..4a39782 100644
--- a/core/java/android/service/euicc/EuiccProfileInfo.java
+++ b/core/java/android/service/euicc/EuiccProfileInfo.java
@@ -18,6 +18,7 @@
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 @@
* @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 e2171ae..bd91ca0 100644
--- a/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.java
+++ b/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.java
@@ -17,6 +17,7 @@
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 @@
* @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 1edb539..71f1d22 100644
--- a/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.java
+++ b/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.java
@@ -17,6 +17,7 @@
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 @@
* @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 a7d70d0..5fc858f 100644
--- a/core/java/android/service/notification/NotificationListenerService.java
+++ b/core/java/android/service/notification/NotificationListenerService.java
@@ -21,6 +21,7 @@
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 @@
*/
public abstract class NotificationListenerService extends Service {
+ @UnsupportedAppUsage
private final String TAG = getClass().getSimpleName();
/**
@@ -274,9 +276,11 @@
private final Object mLock = new Object();
+ @UnsupportedAppUsage
private Handler mHandler;
/** @hide */
+ @UnsupportedAppUsage
protected NotificationListenerWrapper mWrapper = null;
private boolean isConnected = false;
@@ -286,6 +290,7 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
protected INotificationManager mNoMan;
/**
@@ -507,6 +512,7 @@
}
/** @hide */
+ @UnsupportedAppUsage
protected final INotificationManager getNotificationInterface() {
if (mNoMan == null) {
mNoMan = INotificationManager.Stub.asInterface(
@@ -1065,6 +1071,7 @@
}
/** @hide */
+ @UnsupportedAppUsage
protected boolean isBound() {
if (mWrapper == null) {
Log.w(TAG, "Notification listener service not yet bound.");
@@ -1461,6 +1468,7 @@
* 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 d1ebc6e..dd97d52 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 @@
* 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 @@
}
/** 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 @@
/**
* @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 5546e80..f6749ee 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_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 @@
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 int version;
public ZenRule manualRule;
+ @UnsupportedAppUsage
public ArrayMap<String, ZenRule> automaticRules = new ArrayMap<>();
+ @UnsupportedAppUsage
public ZenModeConfig() { }
public ZenModeConfig(Parcel source) {
@@ -1007,6 +1011,7 @@
return true;
}
+ @UnsupportedAppUsage
public static ScheduleInfo tryParseScheduleConditionId(Uri conditionId) {
final boolean isSchedule = conditionId != null
&& conditionId.getScheme().equals(Condition.SCHEME)
@@ -1032,10 +1037,15 @@
}
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 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 76d89ef..bd953ca 100644
--- a/core/java/android/service/voice/AlwaysOnHotwordDetector.java
+++ b/core/java/android/service/voice/AlwaysOnHotwordDetector.java
@@ -19,6 +19,7 @@
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 @@
* @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 8f79bcf..0bbc07e 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 @@
* @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 fa3d065..3c38495 100644
--- a/core/java/android/service/vr/VrListenerService.java
+++ b/core/java/android/service/vr/VrListenerService.java
@@ -18,6 +18,7 @@
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 @@
* @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 7f75f0a..0dfd763 100644
--- a/core/java/android/service/wallpaper/WallpaperService.java
+++ b/core/java/android/service/wallpaper/WallpaperService.java
@@ -19,6 +19,7 @@
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 @@
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 @@
final Object mLock = new Object();
boolean mOffsetMessageEnqueued;
+ @UnsupportedAppUsage
float mPendingXOffset;
float mPendingYOffset;
float mPendingXOffsetStep;
@@ -479,6 +482,7 @@
}
/** {@hide} */
+ @UnsupportedAppUsage
public void setFixedSizeAllowed(boolean allowed) {
mFixedSizeAllowed = allowed;
}
diff --git a/core/java/android/speech/tts/TextToSpeech.java b/core/java/android/speech/tts/TextToSpeech.java
index 01562b3..797228e 100644
--- a/core/java/android/speech/tts/TextToSpeech.java
+++ b/core/java/android/speech/tts/TextToSpeech.java
@@ -20,6 +20,7 @@
import android.annotation.RawRes;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
+import android.annotation.UnsupportedAppUsage;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
@@ -668,8 +669,10 @@
}
private final Context mContext;
+ @UnsupportedAppUsage
private Connection mConnectingServiceConnection;
private Connection mServiceConnection;
+ @UnsupportedAppUsage
private OnInitListener mInitListener;
// Written from an unspecified application thread, read from
// a binder thread.
@@ -686,6 +689,7 @@
private final Map<CharSequence, Uri> mUtterances;
private final Bundle mParams = new Bundle();
private final TtsEngines mEnginesHelper;
+ @UnsupportedAppUsage
private volatile String mCurrentEngine = null;
/**
@@ -1425,6 +1429,7 @@
* @return the engine currently in use by this TextToSpeech instance.
* @hide
*/
+ @UnsupportedAppUsage
public String getCurrentEngine() {
return mCurrentEngine;
}
diff --git a/core/java/android/speech/tts/TtsEngines.java b/core/java/android/speech/tts/TtsEngines.java
index a8c3453..a7b280b 100644
--- a/core/java/android/speech/tts/TtsEngines.java
+++ b/core/java/android/speech/tts/TtsEngines.java
@@ -30,6 +30,7 @@
import static android.provider.Settings.Secure.getString;
+import android.annotation.UnsupportedAppUsage;
import android.provider.Settings;
import android.speech.tts.TextToSpeech.Engine;
import android.speech.tts.TextToSpeech.EngineInfo;
@@ -101,6 +102,7 @@
sNormalizeCountry = Collections.unmodifiableMap(normalizeCountry);
}
+ @UnsupportedAppUsage
public TtsEngines(Context ctx) {
mContext = ctx;
}
@@ -155,6 +157,7 @@
*
* @return A list of engine info objects. The list can be empty, but never {@code null}.
*/
+ @UnsupportedAppUsage
public List<EngineInfo> getEngines() {
PackageManager pm = mContext.getPackageManager();
Intent intent = new Intent(Engine.INTENT_ACTION_TTS_SERVICE);
@@ -194,6 +197,7 @@
/**
* @return an intent that can launch the settings activity for a given tts engine.
*/
+ @UnsupportedAppUsage
public Intent getSettingsIntent(String engine) {
PackageManager pm = mContext.getPackageManager();
Intent intent = new Intent(Engine.INTENT_ACTION_TTS_SERVICE);
@@ -327,6 +331,7 @@
* @param engineName the engine to return the locale for.
* @return the locale preference for this engine. Will be non null.
*/
+ @UnsupportedAppUsage
public Locale getLocalePrefForEngine(String engineName) {
return getLocalePrefForEngine(engineName,
getString(mContext.getContentResolver(), Settings.Secure.TTS_DEFAULT_LOCALE));
@@ -376,6 +381,7 @@
* country codes ({@link Locale#getISO3Language()} and {@link Locale#getISO3Country()}),
* if it fails to do so, we return null.
*/
+ @UnsupportedAppUsage
public Locale parseLocaleString(String localeString) {
String language = "", country = "", variant = "";
if (!TextUtils.isEmpty(localeString)) {
@@ -436,6 +442,7 @@
* This method tries to convert three-letter language and country codes into their two-letter
* equivalents. If it fails to do so, it keeps the value from the TTS locale.
*/
+ @UnsupportedAppUsage
public static Locale normalizeTTSLocale(Locale ttsLocale) {
String language = ttsLocale.getLanguage();
if (!TextUtils.isEmpty(language)) {
@@ -514,6 +521,7 @@
* the passed locale is null, an empty string will be serialized; that empty string, when
* read back, will evaluate to {@link Locale#getDefault()}.
*/
+ @UnsupportedAppUsage
public synchronized void updateLocalePrefForEngine(String engineName, Locale newLocale) {
final String prefList = Settings.Secure.getString(mContext.getContentResolver(),
Settings.Secure.TTS_DEFAULT_LOCALE);
diff --git a/core/java/android/util/ArrayMap.java b/core/java/android/util/ArrayMap.java
index f1e937e..5108a79 100644
--- a/core/java/android/util/ArrayMap.java
+++ b/core/java/android/util/ArrayMap.java
@@ -18,6 +18,7 @@
import libcore.util.EmptyArray;
+import android.annotation.UnsupportedAppUsage;
import java.util.Collection;
import java.util.ConcurrentModificationException;
import java.util.Map;
@@ -70,16 +71,19 @@
/**
* 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 @@
* 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 @@
}
}
+ @UnsupportedAppUsage
int indexOf(Object key, int hash) {
final int N = mSize;
@@ -149,6 +161,7 @@
return ~end;
}
+ @UnsupportedAppUsage
int indexOfNull() {
final int N = mSize;
@@ -187,6 +200,7 @@
return ~end;
}
+ @UnsupportedAppUsage
private void allocArrays(final int size) {
if (mHashes == EMPTY_IMMUTABLE_INTS) {
throw new UnsupportedOperationException("ArrayMap is immutable");
@@ -225,6 +239,7 @@
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 @@
: 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 @@
* 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 2eea7df..526a950 100644
--- a/core/java/android/util/ArraySet.java
+++ b/core/java/android/util/ArraySet.java
@@ -18,6 +18,7 @@
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 @@
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 @@
return ~end;
}
+ @UnsupportedAppUsage
private int indexOfNull() {
final int N = mSize;
@@ -151,6 +157,7 @@
return ~end;
}
+ @UnsupportedAppUsage
private void allocArrays(final int size) {
if (size == (BASE_SIZE * 2)) {
synchronized (ArraySet.class) {
@@ -208,6 +215,7 @@
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 @@
}
/** {@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 1f2a5a7..ecc0c9c 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 @@
}
}
+ @UnsupportedAppUsage
private Base64() { } // don't instantiate
}
diff --git a/core/java/android/util/Base64OutputStream.java b/core/java/android/util/Base64OutputStream.java
index 4535d1c..170ef6f 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 @@
*
* @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 46e3169..e87fcff 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 @@
}
/** @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 13de172..b092fcf 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 @@
* density for a specific display.
*/
@Deprecated
+ @UnsupportedAppUsage
public static int DENSITY_DEVICE = getDeviceDensity();
/**
@@ -234,12 +236,14 @@
* 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 @@
* 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 92f218b..65d825a 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 @@
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 6a6c2ce..d90b65e 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 @@
return appInfo.isInstantApp() || mUm.isManagedProfile(userId);
}
+ @UnsupportedAppUsage
public Drawable getBadgedIcon(ApplicationInfo appInfo) {
return getBadgedIcon(appInfo, UserHandle.getUserId(appInfo.uid));
}
@@ -60,6 +62,7 @@
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 @@
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 eb84479f..adfa4fc 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 @@
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 @@
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 @@
ReadOnlyLocalLog(LocalLog log) {
mLog = log;
}
+ @UnsupportedAppUsage
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
mLog.dump(fd, pw, args);
}
@@ -77,6 +82,7 @@
}
}
+ @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 7305f85..6826b57 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 @@
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 @@
/** @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 ce30631..b062ace 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 @@
* {@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 5ed1c8c..6f4aa52 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 @@
/**
* Creates an empty LongArray with the default initial capacity.
*/
+ @UnsupportedAppUsage
public LongArray() {
this(10);
}
@@ -102,6 +104,7 @@
*
* @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 @@
/**
* 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 @@
/**
* 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 a361457..d5af922 100644
--- a/core/java/android/util/LongSparseLongArray.java
+++ b/core/java/android/util/LongSparseLongArray.java
@@ -19,6 +19,7 @@
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.GrowingArrayUtils;
+import android.annotation.UnsupportedAppUsage;
import libcore.util.EmptyArray;
/**
@@ -45,8 +46,11 @@
* @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 4015488..f04e7cb 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 @@
* 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 b2e24c3..09da228 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 @@
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 @@
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 @@
return a > b ? a : b;
}
+ @UnsupportedAppUsage
public static float max(int a, int b) {
return a > b ? a : b;
}
@@ -153,6 +159,7 @@
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/MemoryIntArray.java b/core/java/android/util/MemoryIntArray.java
index bf33519..d5bec0f 100644
--- a/core/java/android/util/MemoryIntArray.java
+++ b/core/java/android/util/MemoryIntArray.java
@@ -20,9 +20,10 @@
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
-import libcore.io.IoUtils;
import dalvik.system.CloseGuard;
+import libcore.io.IoUtils;
+
import java.io.Closeable;
import java.io.IOException;
import java.util.UUID;
@@ -56,7 +57,7 @@
private final boolean mIsOwner;
private final long mMemoryAddr;
- private int mFd = -1;
+ private ParcelFileDescriptor mFd;
/**
* Creates a new instance.
@@ -71,8 +72,8 @@
}
mIsOwner = true;
final String name = UUID.randomUUID().toString();
- mFd = nativeCreate(name, size);
- mMemoryAddr = nativeOpen(mFd, mIsOwner);
+ mFd = ParcelFileDescriptor.adoptFd(nativeCreate(name, size));
+ mMemoryAddr = nativeOpen(mFd.getFd(), mIsOwner);
mCloseGuard.open("close");
}
@@ -82,8 +83,8 @@
if (pfd == null) {
throw new IOException("No backing file descriptor");
}
- mFd = pfd.detachFd();
- mMemoryAddr = nativeOpen(mFd, mIsOwner);
+ mFd = ParcelFileDescriptor.adoptFd(pfd.detachFd());
+ mMemoryAddr = nativeOpen(mFd.getFd(), mIsOwner);
mCloseGuard.open("close");
}
@@ -105,7 +106,7 @@
public int get(int index) throws IOException {
enforceNotClosed();
enforceValidIndex(index);
- return nativeGet(mFd, mMemoryAddr, index);
+ return nativeGet(mFd.getFd(), mMemoryAddr, index);
}
/**
@@ -121,7 +122,7 @@
enforceNotClosed();
enforceWritable();
enforceValidIndex(index);
- nativeSet(mFd, mMemoryAddr, index, value);
+ nativeSet(mFd.getFd(), mMemoryAddr, index, value);
}
/**
@@ -131,7 +132,7 @@
*/
public int size() throws IOException {
enforceNotClosed();
- return nativeSize(mFd);
+ return nativeSize(mFd.getFd());
}
/**
@@ -142,8 +143,9 @@
@Override
public void close() throws IOException {
if (!isClosed()) {
- nativeClose(mFd, mMemoryAddr, mIsOwner);
- mFd = -1;
+ nativeClose(mFd.getFd(), mMemoryAddr, mIsOwner);
+ mFd.close();
+ mFd = null;
mCloseGuard.close();
}
}
@@ -152,7 +154,7 @@
* @return Whether this array is closed and shouldn't be used.
*/
public boolean isClosed() {
- return mFd == -1;
+ return mFd == null;
}
@Override
@@ -175,13 +177,8 @@
@Override
public void writeToParcel(Parcel parcel, int flags) {
- ParcelFileDescriptor pfd = ParcelFileDescriptor.adoptFd(mFd);
- try {
- // Don't let writing to a parcel to close our fd - plz
- parcel.writeParcelable(pfd, flags & ~Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
- } finally {
- pfd.detachFd();
- }
+ // Don't let writing to a parcel to close our fd - plz
+ parcel.writeParcelable(mFd, flags & ~Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
}
@Override
@@ -195,13 +192,13 @@
if (getClass() != obj.getClass()) {
return false;
}
- MemoryIntArray other = (MemoryIntArray) obj;
- return mFd == other.mFd;
+
+ return false;
}
@Override
public int hashCode() {
- return mFd;
+ return mFd.hashCode();
}
private void enforceNotClosed() {
diff --git a/core/java/android/util/NtpTrustedTime.java b/core/java/android/util/NtpTrustedTime.java
index 30d7b6c..da566c9 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 @@
mTimeout = timeout;
}
+ @UnsupportedAppUsage
public static synchronized NtpTrustedTime getInstance(Context context) {
if (sSingleton == null) {
final Resources res = context.getResources();
@@ -80,6 +82,7 @@
}
@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 @@
}
@Override
+ @UnsupportedAppUsage
public boolean hasCache() {
return mHasCache;
}
@@ -149,6 +153,7 @@
}
@Override
+ @UnsupportedAppUsage
public long currentTimeMillis() {
if (!mHasCache) {
throw new IllegalStateException("Missing authoritative time source");
@@ -160,11 +165,13 @@
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 6f314d0..5342d5d 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 @@
* @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 f0b7e01..e242fe5 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 @@
/**
* @return An instance from the pool if such, null otherwise.
*/
+ @UnsupportedAppUsage
public T acquire();
/**
@@ -62,6 +65,7 @@
*
* @throws IllegalStateException If the instance is already in the pool.
*/
+ @UnsupportedAppUsage
public boolean release(T instance);
}
@@ -75,6 +79,7 @@
* @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 @@
*
* @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 @@
@Override
@SuppressWarnings("unchecked")
+ @UnsupportedAppUsage
public T acquire() {
if (mPoolSize > 0) {
final int lastPooledIndex = mPoolSize - 1;
@@ -107,6 +114,7 @@
}
@Override
+ @UnsupportedAppUsage
public boolean release(T instance) {
if (isInPool(instance)) {
throw new IllegalStateException("Already in the pool!");
@@ -151,11 +159,13 @@
}
/** @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 @@
}
@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 80d26d9..39e8b14 100644
--- a/core/java/android/util/Rational.java
+++ b/core/java/android/util/Rational.java
@@ -17,6 +17,7 @@
import static com.android.internal.util.Preconditions.*;
+import android.annotation.UnsupportedAppUsage;
import java.io.IOException;
import java.io.InvalidObjectException;
@@ -74,7 +75,9 @@
* 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 9c89876..209a5912 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 @@
@VisibleForTesting
public static Clock sClock = Clock.systemDefaultZone();
+ @UnsupportedAppUsage
public final ZonedDateTime start;
public final ZonedDateTime end;
public final Period period;
@@ -65,6 +67,7 @@
}
@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 8a38bdb..33135e6 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 @@
* @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 58a2703..c9fc3f2 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 @@
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 @@
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 @@
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 @@
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 @@
* 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 @@
* 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 @@
* 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 b3400ef..dc07494 100644
--- a/core/java/android/util/SparseArray.java
+++ b/core/java/android/util/SparseArray.java
@@ -19,6 +19,7 @@
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.GrowingArrayUtils;
+import android.annotation.UnsupportedAppUsage;
import libcore.util.EmptyArray;
/**
@@ -53,8 +54,11 @@
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 68d347c..9c6b969 100644
--- a/core/java/android/util/SparseBooleanArray.java
+++ b/core/java/android/util/SparseBooleanArray.java
@@ -19,6 +19,7 @@
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.GrowingArrayUtils;
+import android.annotation.UnsupportedAppUsage;
import libcore.util.EmptyArray;
/**
@@ -303,7 +304,10 @@
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 3b832dd..1954753 100644
--- a/core/java/android/util/SparseIntArray.java
+++ b/core/java/android/util/SparseIntArray.java
@@ -21,6 +21,7 @@
import java.util.Arrays;
+import android.annotation.UnsupportedAppUsage;
import libcore.util.EmptyArray;
/**
@@ -45,8 +46,11 @@
* 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 05b613c..0e25038 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 @@
}
/** @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 @@
}
/** @hide Just for debugging; not internationalized. */
+ @UnsupportedAppUsage
public static void formatDuration(long duration, PrintWriter pw) {
formatDuration(duration, pw, 0);
}
@@ -297,6 +300,7 @@
* @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 263d782..c78665d 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 @@
* 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 @@
* 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 88ffb3f..494a957 100644
--- a/core/jni/Android.bp
+++ b/core/jni/Android.bp
@@ -93,6 +93,7 @@
"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 d059253..f7f10c4 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -165,6 +165,7 @@
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 @@
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 bb916d2..cb55618 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 @@
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 @@
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::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 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 @@
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 @@
{ "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 6b1db63..69a1b16 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 @@
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 @@
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 061349a..7221ca1 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 @@
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 @@
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 @@
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(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 @@
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;
-
- 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);
-
- for (size_t i = 0; (err == OK) && (i < vec->size()); ++i) {
- err = android::hardware::readEmbeddedFromParcel(
- const_cast<hidl_string &>((*vec)[i]),
- *parcel,
- childHandle,
- i * sizeof(hidl_string) /* parentOffset */);
- }
-
- if (err != OK) {
- signalExceptionForError(env, err);
- return NULL;
- }
-
- return MakeStringArray(env, &(*vec)[0], vec->size());
-}
-
-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());
- }
-
- hardware::Parcel *parcel = impl->getParcel();
-
- size_t parentHandle;
- status_t err = parcel->writeBuffer(vec, sizeof(*vec), &parentHandle);
+ status_t err = parcel->readBuffer(sizeof(hidl_vec<T>),
+ &parentHandle, reinterpret_cast<const void **>(&vec));
if (err == OK) {
size_t childHandle;
- err = ::android::hardware::writeEmbeddedToParcel(
- *vec,
- parcel,
- parentHandle,
+ 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::writeEmbeddedToParcel(
- (*vec)[i],
- parcel,
+ 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));
+ i * sizeof(T) /* parentOffset */);
}
}
- signalExceptionForError(env, err);
+ if (err != OK) {
+ signalExceptionForError(env, err);
+ return nullptr;
+ }
+
+ return vec;
+}
+
+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());
+}
+
+static jobjectArray JHwParcel_native_readNativeHandleVector(
+ JNIEnv *env, jobject thiz) {
+ const hidl_vec<hidl_handle> *vec = ReadHidlVector<hidl_handle>(env, thiz);
+
+ jsize length = vec->size();
+ jobjectArray objArray = JNativeHandle::AllocJavaNativeHandleObjArray(
+ env, length);
+
+ for (jsize i = 0; i < length; i++) {
+ jobject jHandle = JNativeHandle::MakeJavaNativeHandleObj(env, (*vec)[i].getNativeHandle());
+
+ env->SetObjectArrayElement(objArray, i, jHandle);
+ }
+
+ return objArray;
}
static jobject JHwParcel_native_readStrongBinder(JNIEnv *env, jobject thiz) {
@@ -890,6 +978,9 @@
{ "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 @@
{ "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 @@
{ "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 @@
{ "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 0000000..770fdb0
--- /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 0000000..bbe3ebc
--- /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 bed239f..7ef06dc 100644
--- a/core/jni/android_os_Parcel.cpp
+++ b/core/jni/android_os_Parcel.cpp
@@ -336,8 +336,13 @@
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 @@
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_os_VintfObject.cpp b/core/jni/android_os_VintfObject.cpp
index 17ab956..e64d2af 100644
--- a/core/jni/android_os_VintfObject.cpp
+++ b/core/jni/android_os_VintfObject.cpp
@@ -96,7 +96,7 @@
return toJavaStringArray(env, cStrings);
}
-static jint verify(JNIEnv* env, jobjectArray packageInfo, android::vintf::DisabledChecks checks) {
+static jint verify(JNIEnv* env, jobjectArray packageInfo, android::vintf::CheckFlags::Type checks) {
std::vector<std::string> cPackageInfo;
if (packageInfo) {
size_t count = env->GetArrayLength(packageInfo);
@@ -116,11 +116,11 @@
}
static jint android_os_VintfObject_verify(JNIEnv* env, jclass, jobjectArray packageInfo) {
- return verify(env, packageInfo, ::android::vintf::ENABLE_ALL_CHECKS);
+ return verify(env, packageInfo, ::android::vintf::CheckFlags::ENABLE_ALL_CHECKS);
}
static jint android_os_VintfObject_verifyWithoutAvb(JNIEnv* env, jclass) {
- return verify(env, nullptr, ::android::vintf::DISABLE_AVB_CHECK);
+ return verify(env, nullptr, ::android::vintf::CheckFlags::DISABLE_AVB_CHECK);
}
static jobjectArray android_os_VintfObject_getHalNamesAndVersions(JNIEnv* env, jclass) {
diff --git a/core/jni/android_util_MemoryIntArray.cpp b/core/jni/android_util_MemoryIntArray.cpp
index 2dfbe3e..b68f9ec 100644
--- a/core/jni/android_util_MemoryIntArray.cpp
+++ b/core/jni/android_util_MemoryIntArray.cpp
@@ -142,8 +142,6 @@
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 3b18f2b..95bb42e 100644
--- a/core/jni/hwbinder/EphemeralStorage.cpp
+++ b/core/jni/hwbinder/EphemeralStorage.cpp
@@ -71,6 +71,17 @@
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 @@
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 f07c782..55ef741 100644
--- a/core/jni/hwbinder/EphemeralStorage.h
+++ b/core/jni/hwbinder/EphemeralStorage.h
@@ -43,6 +43,8 @@
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 @@
TYPE_Int64_ARRAY,
TYPE_Float_ARRAY,
TYPE_Double_ARRAY,
+ TYPE_NATIVE_HANDLE,
};
struct Item {
diff --git a/core/res/res/values-mcc214/config.xml b/core/res/res/values-mcc214/config.xml
new file mode 100644
index 0000000..9410848
--- /dev/null
+++ b/core/res/res/values-mcc214/config.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 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 my 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.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- String array containing numbers that shouldn't be logged
+ 016 present here for Spain's gender violence number -->
+ <string-array translatable="false" name="unloggable_phone_numbers">
+ <item>016</item>
+ </string-array>
+</resources>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 9d36694..8be4aa9 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2706,6 +2706,9 @@
empty string is passed in -->
<string name="config_ims_package"/>
+ <!-- String array containing numbers that shouldn't be logged. Country-specific. -->
+ <string-array name="unloggable_phone_numbers" />
+
<!-- Flag specifying whether or not IMS will use the dynamic ImsResolver -->
<bool name="config_dynamic_bind_ims">false</bool>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 65606e3..2305e31 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2233,6 +2233,7 @@
<java-symbol type="drawable" name="decor_maximize_button_light" />
<java-symbol type="color" name="decor_button_dark_color" />
<java-symbol type="color" name="decor_button_light_color" />
+ <java-symbol type="array" name="unloggable_phone_numbers" />
<!-- From TelephonyProvider -->
<java-symbol type="xml" name="apns" />
diff --git a/core/tests/utiltests/jni/android_util_MemoryIntArrayTest.cpp b/core/tests/utiltests/jni/android_util_MemoryIntArrayTest.cpp
index 57ee2d5..4b14284 100644
--- a/core/tests/utiltests/jni/android_util_MemoryIntArrayTest.cpp
+++ b/core/tests/utiltests/jni/android_util_MemoryIntArrayTest.cpp
@@ -21,36 +21,6 @@
#include <sys/ioctl.h>
#include <sys/mman.h>
-jint android_util_MemoryIntArrayTest_createAshmem(__attribute__((unused)) JNIEnv* env,
- __attribute__((unused)) jobject clazz,
- jstring name, jint size)
-{
-
- if (name == NULL) {
- return -1;
- }
-
- if (size < 0) {
- return -1;
- }
-
- const char* nameStr = env->GetStringUTFChars(name, NULL);
- const int ashmemSize = sizeof(std::atomic_int) * size;
- int fd = ashmem_create_region(nameStr, ashmemSize);
- env->ReleaseStringUTFChars(name, nameStr);
-
- if (fd < 0) {
- return -1;
- }
-
- int setProtResult = ashmem_set_prot_region(fd, PROT_READ | PROT_WRITE);
- if (setProtResult < 0) {
- return -1;
- }
-
- return fd;
-}
-
void android_util_MemoryIntArrayTest_setAshmemSize(__attribute__((unused)) JNIEnv* env,
__attribute__((unused)) jobject clazz, jint fd, jint size)
{
diff --git a/core/tests/utiltests/jni/registration.cpp b/core/tests/utiltests/jni/registration.cpp
index 0c84d98..d4fc2fb 100644
--- a/core/tests/utiltests/jni/registration.cpp
+++ b/core/tests/utiltests/jni/registration.cpp
@@ -16,25 +16,14 @@
#include <jni.h>
-extern jint android_util_MemoryIntArrayTest_createAshmem(JNIEnv* env,
- jobject clazz, jstring name, jint size);
extern void android_util_MemoryIntArrayTest_setAshmemSize(JNIEnv* env,
jobject clazz, jint fd, jint size);
extern "C" {
- JNIEXPORT jint JNICALL Java_android_util_MemoryIntArrayTest_nativeCreateAshmem(
- JNIEnv * env, jobject obj, jstring name, jint size);
JNIEXPORT void JNICALL Java_android_util_MemoryIntArrayTest_nativeSetAshmemSize(
JNIEnv * env, jobject obj, jint fd, jint size);
};
-JNIEXPORT jint JNICALL Java_android_util_MemoryIntArrayTest_nativeCreateAshmem(
- __attribute__((unused)) JNIEnv * env,__attribute__((unused)) jobject obj,
- jstring name, jint size)
-{
- return android_util_MemoryIntArrayTest_createAshmem(env, obj, name, size);
-}
-
JNIEXPORT void JNICALL Java_android_util_MemoryIntArrayTest_nativeSetAshmemSize(
__attribute__((unused)) JNIEnv * env,__attribute__((unused)) jobject obj,
jint fd, jint size)
diff --git a/core/tests/utiltests/src/android/util/MemoryIntArrayTest.java b/core/tests/utiltests/src/android/util/MemoryIntArrayTest.java
index 85817bb..24b33ef 100644
--- a/core/tests/utiltests/src/android/util/MemoryIntArrayTest.java
+++ b/core/tests/utiltests/src/android/util/MemoryIntArrayTest.java
@@ -23,6 +23,7 @@
import static org.junit.Assert.fail;
import android.os.Parcel;
+import android.os.ParcelFileDescriptor;
import android.support.test.runner.AndroidJUnit4;
import libcore.io.IoUtils;
import org.junit.Test;
@@ -251,13 +252,11 @@
// Create a MemoryIntArray to muck with
MemoryIntArray array = new MemoryIntArray(1);
- // Create the fd to stuff in the MemoryIntArray
- final int fd = nativeCreateAshmem("foo", 1);
-
- // Replace the fd with our ahsmem region
- Field fdFiled = MemoryIntArray.class.getDeclaredField("mFd");
- fdFiled.setAccessible(true);
- fdFiled.set(array, fd);
+ // Grab the internal ashmem fd.
+ Field fdField = MemoryIntArray.class.getDeclaredField("mFd");
+ fdField.setAccessible(true);
+ int fd = ((ParcelFileDescriptor)fdField.get(array)).getFd();
+ assertTrue("fd must be valid", fd != -1);
CountDownLatch countDownLatch = new CountDownLatch(2);
@@ -292,10 +291,9 @@
}
if (!success) {
- fail("MemoryIntArray should catch ahshmem size changing under it");
+ fail("MemoryIntArray should catch ashmem size changing under it");
}
}
- private native int nativeCreateAshmem(String name, int size);
private native void nativeSetAshmemSize(int fd, int size);
}
diff --git a/location/java/android/location/Country.java b/location/java/android/location/Country.java
index 7c1485d..6f82b78 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 @@
* <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 @@
/**
* @return the ISO 3166-1 two letters country code
*/
+ @UnsupportedAppUsage
public final String getCountryIso() {
return mCountryIso;
}
@@ -121,6 +124,7 @@
* <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 ec6dfb7..119d1e0 100644
--- a/location/java/android/location/CountryDetector.java
+++ b/location/java/android/location/CountryDetector.java
@@ -19,6 +19,7 @@
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 @@
* 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 @@
* @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 @@
* 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 @@
/**
* 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 e36db41..70a83c5 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 @@
/**
* @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 174fe3e..d90e4b5 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 @@
/**
* returns the Geocoder's locale
*/
+ @UnsupportedAppUsage
public Locale getLocale() {
return mLocale;
}
@@ -60,6 +62,7 @@
/**
* 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 5de779a..ed2aa64 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 @@
}
}
+ @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 b601cde..d90a597 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 @@
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 c9d2f7f..682974c 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 @@
}
};
+ @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 @@
* @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 6eb3d8d..6c4150c 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -30,6 +30,7 @@
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 @@
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 @@
}
}
+ @UnsupportedAppUsage
private void requestLocationUpdates(LocationRequest request, LocationListener listener,
Looper looper, PendingIntent intent) {
@@ -2319,6 +2322,7 @@
*
* @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 96a0817..2d7f7e3 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 @@
*/
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 @@
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 @@
}
}
+ @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 3a0e58a..98517d1 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 @@
/** @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/mtp/MtpPropertyList.java b/media/java/android/mtp/MtpPropertyList.java
index ede90da..557f099 100644
--- a/media/java/android/mtp/MtpPropertyList.java
+++ b/media/java/android/mtp/MtpPropertyList.java
@@ -16,6 +16,7 @@
package android.mtp;
+import android.annotation.UnsupportedAppUsage;
import java.util.ArrayList;
import java.util.List;
@@ -49,6 +50,7 @@
mStringValues = new ArrayList<>();
}
+ @UnsupportedAppUsage
public void append(int handle, int property, int type, long value) {
mObjectHandles.add(handle);
mPropertyCodes.add(property);
@@ -57,6 +59,7 @@
mStringValues.add(null);
}
+ @UnsupportedAppUsage
public void append(int handle, int property, String value) {
mObjectHandles.add(handle);
mPropertyCodes.add(property);
diff --git a/media/java/android/mtp/MtpStorage.java b/media/java/android/mtp/MtpStorage.java
index 2625e0c..c714b3c 100644
--- a/media/java/android/mtp/MtpStorage.java
+++ b/media/java/android/mtp/MtpStorage.java
@@ -16,6 +16,7 @@
package android.mtp;
+import android.annotation.UnsupportedAppUsage;
import android.os.storage.StorageVolume;
/**
@@ -46,6 +47,7 @@
*
* @return the storage ID
*/
+ @UnsupportedAppUsage
public final int getStorageId() {
return mStorageId;
}
@@ -55,6 +57,7 @@
*
* @return the storage file path
*/
+ @UnsupportedAppUsage
public final String getPath() {
return mPath;
}
diff --git a/media/java/android/service/media/MediaBrowserService.java b/media/java/android/service/media/MediaBrowserService.java
index ca7ab7e..5a60ac1 100644
--- a/media/java/android/service/media/MediaBrowserService.java
+++ b/media/java/android/service/media/MediaBrowserService.java
@@ -21,6 +21,7 @@
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 @@
* 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 @@
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 0000000..1e9320d
--- /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 63f9f91..e88c0f1 100644
--- a/media/lib/remotedisplay/Android.mk
+++ b/media/lib/remotedisplay/Android.mk
@@ -42,24 +42,3 @@
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 53ec6c8..728e6e1 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 @@
/**
* {@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 137f2f5..d66e7ac 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 @@
// 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 @@
// 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 0f0a7e9d..8a3e6a0 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 @@
EGLDisplay mEglDisplay;
EGLSurface mEglSurface;
EGLConfig mEglConfig;
+ @UnsupportedAppUsage
EGLContext mEglContext;
}
@@ -1844,6 +1846,7 @@
// End of member variables protected by the sGLThreadManager monitor.
+ @UnsupportedAppUsage
private EglHelper mEglHelper;
/**
@@ -1919,7 +1922,9 @@
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 f729120..c984579 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 @@
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/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java
index 1bdb7ad..196d9bc 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerServiceImpl.java
@@ -119,7 +119,9 @@
// 3 Removed because of a revert.
if (oldVersion < 4) {
// Delay this so that we can wait for everything to be registered first.
- new Handler(Dependency.get(Dependency.BG_LOOPER)).postDelayed(() -> clearAll(), 5000);
+ final int user = mCurrentUser;
+ new Handler(Dependency.get(Dependency.BG_LOOPER)).postDelayed(
+ () -> clearAllFromUser(user), 5000);
}
setValue(TUNER_VERSION, newVersion);
}
@@ -221,6 +223,10 @@
@Override
public void clearAll() {
+ clearAllFromUser(mCurrentUser);
+ }
+
+ public void clearAllFromUser(int user) {
// A couple special cases.
Settings.Global.putString(mContentResolver, DemoMode.DEMO_MODE_ALLOWED, null);
Intent intent = new Intent(DemoMode.ACTION_DEMO);
@@ -231,7 +237,7 @@
if (ArrayUtils.contains(RESET_BLACKLIST, key)) {
continue;
}
- Settings.Secure.putString(mContentResolver, key, null);
+ Settings.Secure.putStringForUser(mContentResolver, key, null, user);
}
}
diff --git a/packages/WAPPushManager/AndroidManifest.xml b/packages/WAPPushManager/AndroidManifest.xml
index 89e9d6a..14e6e91 100644
--- a/packages/WAPPushManager/AndroidManifest.xml
+++ b/packages/WAPPushManager/AndroidManifest.xml
@@ -24,7 +24,8 @@
android:protectionLevel="signatureOrSystem" />
<original-package android:name="com.android.smspush" />
- <application>
+ <application
+ android:allowClearUserData="false">
<service android:name=".WapPushManager"
android:permission="com.android.smspush.WAPPUSH_MANAGER_BIND"
android:exported="true">
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 6b3f8f8..ba5f323 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -2194,8 +2194,7 @@
break;
}
case NetworkAgent.EVENT_NETWORK_SCORE_CHANGED: {
- Integer score = (Integer) msg.obj;
- if (score != null) updateNetworkScore(nai, score.intValue());
+ updateNetworkScore(nai, msg.arg1);
break;
}
case NetworkAgent.EVENT_SET_EXPLICITLY_SELECTED: {
@@ -2203,7 +2202,7 @@
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 3791402..0d60d1d 100644
--- a/services/core/java/com/android/server/NetworkManagementService.java
+++ b/services/core/java/com/android/server/NetworkManagementService.java
@@ -641,12 +641,7 @@
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 @@
}
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 @@
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 @@
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,28 +2314,13 @@
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
try {
- mConnector.execute("clatd", "stop", interfaceName);
- } catch (NativeDaemonConnectorException e) {
- throw e.rethrowAsParcelableException();
+ mNetdService.clatdStop(interfaceName);
+ } catch (RemoteException | ServiceSpecificException e) {
+ throw new IllegalStateException(e);
}
}
@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();
- }
-
- event.checkCode(ClatdStatusResult);
- return event.getMessage().endsWith("started");
- }
-
- @Override
public void registerNetworkActivityListener(INetworkActivityListener listener) {
mNetworkActivityListeners.register(listener);
}
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
index b0be4a9..cf49d2a 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 @@
// 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/telephony/java/android/provider/Telephony.java b/telephony/java/android/provider/Telephony.java
index f2438b8..f68aeae 100644
--- a/telephony/java/android/provider/Telephony.java
+++ b/telephony/java/android/provider/Telephony.java
@@ -19,6 +19,7 @@
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 @@
* 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 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
* outgoing message.
* @hide
*/
+ @UnsupportedAppUsage
public static boolean isOutgoingFolder(int messageType) {
return (messageType == MESSAGE_TYPE_FAILED)
|| (messageType == MESSAGE_TYPE_OUTBOX)
@@ -524,6 +532,7 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
/**
* @hide
*/
+ @UnsupportedAppUsage
public static Uri addMessage(ContentResolver resolver,
String address, String body, String subject, Long date) {
return addMessageToUri(SubscriptionManager.getDefaultSmsSubscriptionId(),
@@ -647,6 +660,7 @@
* @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 @@
* @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 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 @@
* </ul>
* @hide
*/
+ @UnsupportedAppUsage
public static final Pattern NAME_ADDR_EMAIL_PATTERN =
Pattern.compile("\\s*(\"[^\"]*\"|[^<>\"]+)\\s*<([^<>]+)>\\s*");
@@ -2033,6 +2051,7 @@
* 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 @@
* @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 @@
* @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/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 55fb7e3..d737669 100644
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -200,6 +200,13 @@
public static final String
KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL = "allow_emergency_numbers_in_call_log_bool";
+ /**
+ * A string array containing numbers that shouldn't be included in the call log.
+ * @hide
+ */
+ public static final String KEY_UNLOGGABLE_NUMBERS_STRING_ARRAY =
+ "unloggable_numbers_string_array";
+
/** If true, removes the Voice Privacy option from Call Settings */
public static final String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL = "voice_privacy_disable_ui_bool";
@@ -2008,6 +2015,7 @@
sDefaults.putBoolean(KEY_AUTO_RETRY_FAILED_WIFI_EMERGENCY_CALL, false);
sDefaults.putBoolean(KEY_ADDITIONAL_CALL_SETTING_BOOL, true);
sDefaults.putBoolean(KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL, false);
+ sDefaults.putStringArray(KEY_UNLOGGABLE_NUMBERS_STRING_ARRAY, null);
sDefaults.putBoolean(KEY_ALLOW_LOCAL_DTMF_TONES_BOOL, true);
sDefaults.putBoolean(KEY_PLAY_CALL_RECORDING_TONE_BOOL, false);
sDefaults.putBoolean(KEY_APN_EXPAND_BOOL, true);
diff --git a/telephony/java/android/telephony/CellIdentity.java b/telephony/java/android/telephony/CellIdentity.java
index 2a41829..c240dbb 100644
--- a/telephony/java/android/telephony/CellIdentity.java
+++ b/telephony/java/android/telephony/CellIdentity.java
@@ -17,14 +17,11 @@
package android.telephony;
import android.annotation.CallSuper;
-import android.annotation.IntDef;
import android.annotation.Nullable;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
import java.util.Objects;
/**
@@ -32,44 +29,6 @@
* CellIdentityXxx which represents cell identity for specific network access technology.
*/
public abstract class CellIdentity implements Parcelable {
- /**
- * Cell identity type
- * @hide
- */
- @Retention(RetentionPolicy.SOURCE)
- @IntDef(prefix = "TYPE_", value = {TYPE_GSM, TYPE_CDMA, TYPE_LTE, TYPE_WCDMA, TYPE_TDSCDMA})
- public @interface Type {}
-
- /**
- * Unknown cell identity type
- * @hide
- */
- public static final int TYPE_UNKNOWN = 0;
- /**
- * GSM cell identity type
- * @hide
- */
- public static final int TYPE_GSM = 1;
- /**
- * CDMA cell identity type
- * @hide
- */
- public static final int TYPE_CDMA = 2;
- /**
- * LTE cell identity type
- * @hide
- */
- public static final int TYPE_LTE = 3;
- /**
- * WCDMA cell identity type
- * @hide
- */
- public static final int TYPE_WCDMA = 4;
- /**
- * TDS-CDMA cell identity type
- * @hide
- */
- public static final int TYPE_TDSCDMA = 5;
/** @hide */
public static final int INVALID_CHANNEL_NUMBER = -1;
@@ -138,7 +97,9 @@
* @hide
* @return The type of the cell identity
*/
- public @Type int getType() { return mType; }
+ public @CellInfo.Type int getType() {
+ return mType;
+ }
/**
* Returns the channel number of the cell identity.
@@ -217,11 +178,12 @@
public CellIdentity createFromParcel(Parcel in) {
int type = in.readInt();
switch (type) {
- case TYPE_GSM: return CellIdentityGsm.createFromParcelBody(in);
- case TYPE_WCDMA: return CellIdentityWcdma.createFromParcelBody(in);
- case TYPE_CDMA: return CellIdentityCdma.createFromParcelBody(in);
- case TYPE_LTE: return CellIdentityLte.createFromParcelBody(in);
- case TYPE_TDSCDMA: return CellIdentityTdscdma.createFromParcelBody(in);
+ case CellInfo.TYPE_GSM: return CellIdentityGsm.createFromParcelBody(in);
+ case CellInfo.TYPE_WCDMA: return CellIdentityWcdma.createFromParcelBody(in);
+ case CellInfo.TYPE_CDMA: return CellIdentityCdma.createFromParcelBody(in);
+ case CellInfo.TYPE_LTE: return CellIdentityLte.createFromParcelBody(in);
+ case CellInfo.TYPE_TDSCDMA:
+ return CellIdentityTdscdma.createFromParcelBody(in);
default: throw new IllegalArgumentException("Bad Cell identity Parcel");
}
}
diff --git a/telephony/java/android/telephony/CellIdentityCdma.java b/telephony/java/android/telephony/CellIdentityCdma.java
index 58a2c45..2809066 100644
--- a/telephony/java/android/telephony/CellIdentityCdma.java
+++ b/telephony/java/android/telephony/CellIdentityCdma.java
@@ -54,7 +54,7 @@
* @hide
*/
public CellIdentityCdma() {
- super(TAG, TYPE_CDMA, null, null, null, null);
+ super(TAG, CellInfo.TYPE_CDMA, null, null, null, null);
mNetworkId = Integer.MAX_VALUE;
mSystemId = Integer.MAX_VALUE;
mBasestationId = Integer.MAX_VALUE;
@@ -94,7 +94,7 @@
*/
public CellIdentityCdma(int nid, int sid, int bid, int lon, int lat, String alphal,
String alphas) {
- super(TAG, TYPE_CDMA, null, null, alphal, alphas);
+ super(TAG, CellInfo.TYPE_CDMA, null, null, alphal, alphas);
mNetworkId = nid;
mSystemId = sid;
mBasestationId = bid;
@@ -213,7 +213,7 @@
@Override
public void writeToParcel(Parcel dest, int flags) {
if (DBG) log("writeToParcel(Parcel, int): " + toString());
- super.writeToParcel(dest, TYPE_CDMA);
+ super.writeToParcel(dest, CellInfo.TYPE_CDMA);
dest.writeInt(mNetworkId);
dest.writeInt(mSystemId);
dest.writeInt(mBasestationId);
@@ -223,7 +223,7 @@
/** Construct from Parcel, type has already been processed */
private CellIdentityCdma(Parcel in) {
- super(TAG, TYPE_CDMA, in);
+ super(TAG, CellInfo.TYPE_CDMA, in);
mNetworkId = in.readInt();
mSystemId = in.readInt();
mBasestationId = in.readInt();
diff --git a/telephony/java/android/telephony/CellIdentityGsm.java b/telephony/java/android/telephony/CellIdentityGsm.java
index c697880..4031254 100644
--- a/telephony/java/android/telephony/CellIdentityGsm.java
+++ b/telephony/java/android/telephony/CellIdentityGsm.java
@@ -42,7 +42,7 @@
* @hide
*/
public CellIdentityGsm() {
- super(TAG, TYPE_GSM, null, null, null, null);
+ super(TAG, CellInfo.TYPE_GSM, null, null, null, null);
mLac = Integer.MAX_VALUE;
mCid = Integer.MAX_VALUE;
mArfcn = Integer.MAX_VALUE;
@@ -92,7 +92,7 @@
*/
public CellIdentityGsm(int lac, int cid, int arfcn, int bsic, String mccStr,
String mncStr, String alphal, String alphas) {
- super(TAG, TYPE_GSM, mccStr, mncStr, alphal, alphas);
+ super(TAG, CellInfo.TYPE_GSM, mccStr, mncStr, alphal, alphas);
mLac = lac;
mCid = cid;
mArfcn = arfcn;
@@ -237,7 +237,7 @@
@Override
public void writeToParcel(Parcel dest, int flags) {
if (DBG) log("writeToParcel(Parcel, int): " + toString());
- super.writeToParcel(dest, TYPE_GSM);
+ super.writeToParcel(dest, CellInfo.TYPE_GSM);
dest.writeInt(mLac);
dest.writeInt(mCid);
dest.writeInt(mArfcn);
@@ -246,7 +246,7 @@
/** Construct from Parcel, type has already been processed */
private CellIdentityGsm(Parcel in) {
- super(TAG, TYPE_GSM, in);
+ super(TAG, CellInfo.TYPE_GSM, in);
mLac = in.readInt();
mCid = in.readInt();
mArfcn = in.readInt();
diff --git a/telephony/java/android/telephony/CellIdentityLte.java b/telephony/java/android/telephony/CellIdentityLte.java
index 177fced..5257372 100644
--- a/telephony/java/android/telephony/CellIdentityLte.java
+++ b/telephony/java/android/telephony/CellIdentityLte.java
@@ -44,7 +44,7 @@
* @hide
*/
public CellIdentityLte() {
- super(TAG, TYPE_LTE, null, null, null, null);
+ super(TAG, CellInfo.TYPE_LTE, null, null, null, null);
mCi = Integer.MAX_VALUE;
mPci = Integer.MAX_VALUE;
mTac = Integer.MAX_VALUE;
@@ -99,7 +99,7 @@
*/
public CellIdentityLte(int ci, int pci, int tac, int earfcn, int bandwidth, String mccStr,
String mncStr, String alphal, String alphas) {
- super(TAG, TYPE_LTE, mccStr, mncStr, alphal, alphas);
+ super(TAG, CellInfo.TYPE_LTE, mccStr, mncStr, alphal, alphas);
mCi = ci;
mPci = pci;
mTac = tac;
@@ -241,7 +241,7 @@
@Override
public void writeToParcel(Parcel dest, int flags) {
if (DBG) log("writeToParcel(Parcel, int): " + toString());
- super.writeToParcel(dest, TYPE_LTE);
+ super.writeToParcel(dest, CellInfo.TYPE_LTE);
dest.writeInt(mCi);
dest.writeInt(mPci);
dest.writeInt(mTac);
@@ -251,7 +251,7 @@
/** Construct from Parcel, type has already been processed */
private CellIdentityLte(Parcel in) {
- super(TAG, TYPE_LTE, in);
+ super(TAG, CellInfo.TYPE_LTE, in);
mCi = in.readInt();
mPci = in.readInt();
mTac = in.readInt();
diff --git a/telephony/java/android/telephony/CellIdentityTdscdma.java b/telephony/java/android/telephony/CellIdentityTdscdma.java
index b99fe46..21b9601 100644
--- a/telephony/java/android/telephony/CellIdentityTdscdma.java
+++ b/telephony/java/android/telephony/CellIdentityTdscdma.java
@@ -40,7 +40,7 @@
* @hide
*/
public CellIdentityTdscdma() {
- super(TAG, TYPE_TDSCDMA, null, null, null, null);
+ super(TAG, CellInfo.TYPE_TDSCDMA, null, null, null, null);
mLac = Integer.MAX_VALUE;
mCid = Integer.MAX_VALUE;
mCpid = Integer.MAX_VALUE;
@@ -75,7 +75,7 @@
*/
public CellIdentityTdscdma(String mcc, String mnc, int lac, int cid, int cpid, int uarfcn,
String alphal, String alphas) {
- super(TAG, TYPE_TDSCDMA, mcc, mnc, alphal, alphas);
+ super(TAG, CellInfo.TYPE_TDSCDMA, mcc, mnc, alphal, alphas);
mLac = lac;
mCid = cid;
mCpid = cpid;
@@ -175,7 +175,7 @@
@Override
public void writeToParcel(Parcel dest, int flags) {
if (DBG) log("writeToParcel(Parcel, int): " + toString());
- super.writeToParcel(dest, TYPE_TDSCDMA);
+ super.writeToParcel(dest, CellInfo.TYPE_TDSCDMA);
dest.writeInt(mLac);
dest.writeInt(mCid);
dest.writeInt(mCpid);
@@ -184,7 +184,7 @@
/** Construct from Parcel, type has already been processed */
private CellIdentityTdscdma(Parcel in) {
- super(TAG, TYPE_TDSCDMA, in);
+ super(TAG, CellInfo.TYPE_TDSCDMA, in);
mLac = in.readInt();
mCid = in.readInt();
mCpid = in.readInt();
diff --git a/telephony/java/android/telephony/CellIdentityWcdma.java b/telephony/java/android/telephony/CellIdentityWcdma.java
index 43f9406..a4ac8e3 100644
--- a/telephony/java/android/telephony/CellIdentityWcdma.java
+++ b/telephony/java/android/telephony/CellIdentityWcdma.java
@@ -42,7 +42,7 @@
* @hide
*/
public CellIdentityWcdma() {
- super(TAG, TYPE_TDSCDMA, null, null, null, null);
+ super(TAG, CellInfo.TYPE_WCDMA, null, null, null, null);
mLac = Integer.MAX_VALUE;
mCid = Integer.MAX_VALUE;
mPsc = Integer.MAX_VALUE;
@@ -93,7 +93,7 @@
*/
public CellIdentityWcdma (int lac, int cid, int psc, int uarfcn,
String mccStr, String mncStr, String alphal, String alphas) {
- super(TAG, TYPE_WCDMA, mccStr, mncStr, alphal, alphas);
+ super(TAG, CellInfo.TYPE_WCDMA, mccStr, mncStr, alphal, alphas);
mLac = lac;
mCid = cid;
mPsc = psc;
@@ -227,7 +227,7 @@
@Override
public void writeToParcel(Parcel dest, int flags) {
if (DBG) log("writeToParcel(Parcel, int): " + toString());
- super.writeToParcel(dest, TYPE_WCDMA);
+ super.writeToParcel(dest, CellInfo.TYPE_WCDMA);
dest.writeInt(mLac);
dest.writeInt(mCid);
dest.writeInt(mPsc);
@@ -236,7 +236,7 @@
/** Construct from Parcel, type has already been processed */
private CellIdentityWcdma(Parcel in) {
- super(TAG, TYPE_WCDMA, in);
+ super(TAG, CellInfo.TYPE_WCDMA, in);
mLac = in.readInt();
mCid = in.readInt();
mPsc = in.readInt();
diff --git a/telephony/java/android/telephony/CellInfo.java b/telephony/java/android/telephony/CellInfo.java
index bffeb17..6b320f4 100644
--- a/telephony/java/android/telephony/CellInfo.java
+++ b/telephony/java/android/telephony/CellInfo.java
@@ -29,17 +29,43 @@
*/
public abstract class CellInfo implements Parcelable {
- // Type fields for parceling
- /** @hide */
- protected static final int TYPE_GSM = 1;
- /** @hide */
- protected static final int TYPE_CDMA = 2;
- /** @hide */
- protected static final int TYPE_LTE = 3;
- /** @hide */
- protected static final int TYPE_WCDMA = 4;
- /** @hide */
- protected static final int TYPE_TDCDMA = 5;
+ /**
+ * Cell identity type
+ * @hide
+ */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(prefix = "TYPE_", value = {TYPE_GSM, TYPE_CDMA, TYPE_LTE, TYPE_WCDMA, TYPE_TDSCDMA})
+ public @interface Type {}
+ /**
+ * Unknown cell identity type
+ * @hide
+ */
+ public static final int TYPE_UNKNOWN = 0;
+ /**
+ * GSM cell identity type
+ * @hide
+ */
+ public static final int TYPE_GSM = 1;
+ /**
+ * CDMA cell identity type
+ * @hide
+ */
+ public static final int TYPE_CDMA = 2;
+ /**
+ * LTE cell identity type
+ * @hide
+ */
+ public static final int TYPE_LTE = 3;
+ /**
+ * WCDMA cell identity type
+ * @hide
+ */
+ public static final int TYPE_WCDMA = 4;
+ /**
+ * TD-SCDMA cell identity type
+ * @hide
+ */
+ public static final int TYPE_TDSCDMA = 5;
// Type to distinguish where time stamp gets recorded.
@@ -161,6 +187,7 @@
public int getTimeStampType() {
return mTimeStampType;
}
+
/** @hide */
public void setTimeStampType(int timeStampType) {
if (timeStampType < TIMESTAMP_TYPE_UNKNOWN || timeStampType > TIMESTAMP_TYPE_JAVA_RIL) {
@@ -272,7 +299,7 @@
case TYPE_CDMA: return CellInfoCdma.createFromParcelBody(in);
case TYPE_LTE: return CellInfoLte.createFromParcelBody(in);
case TYPE_WCDMA: return CellInfoWcdma.createFromParcelBody(in);
- case TYPE_TDCDMA: return CellInfoTdscdma.createFromParcelBody(in);
+ case TYPE_TDSCDMA: return CellInfoTdscdma.createFromParcelBody(in);
default: throw new RuntimeException("Bad CellInfo Parcel");
}
}
diff --git a/telephony/java/android/telephony/CellInfoTdscdma.java b/telephony/java/android/telephony/CellInfoTdscdma.java
index 4fb1bce..40cadde 100644
--- a/telephony/java/android/telephony/CellInfoTdscdma.java
+++ b/telephony/java/android/telephony/CellInfoTdscdma.java
@@ -110,7 +110,7 @@
/** Implement the Parcelable interface */
@Override
public void writeToParcel(Parcel dest, int flags) {
- super.writeToParcel(dest, flags, TYPE_TDCDMA);
+ super.writeToParcel(dest, flags, TYPE_TDSCDMA);
mCellIdentityTdscdma.writeToParcel(dest, flags);
mCellSignalStrengthTdscdma.writeToParcel(dest, flags);
}
diff --git a/telephony/java/android/telephony/NeighboringCellInfo.java b/telephony/java/android/telephony/NeighboringCellInfo.java
index 25851e3..b7ccee5 100644
--- a/telephony/java/android/telephony/NeighboringCellInfo.java
+++ b/telephony/java/android/telephony/NeighboringCellInfo.java
@@ -16,16 +16,16 @@
package android.telephony;
-import android.os.Parcel;
-import android.os.Parcelable;
-import static android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN;
import static android.telephony.TelephonyManager.NETWORK_TYPE_EDGE;
import static android.telephony.TelephonyManager.NETWORK_TYPE_GPRS;
-import static android.telephony.TelephonyManager.NETWORK_TYPE_UMTS;
import static android.telephony.TelephonyManager.NETWORK_TYPE_HSDPA;
-import static android.telephony.TelephonyManager.NETWORK_TYPE_HSUPA;
import static android.telephony.TelephonyManager.NETWORK_TYPE_HSPA;
+import static android.telephony.TelephonyManager.NETWORK_TYPE_HSUPA;
+import static android.telephony.TelephonyManager.NETWORK_TYPE_UMTS;
+import static android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN;
+import android.os.Parcel;
+import android.os.Parcelable;
/**
@@ -100,6 +100,39 @@
mCid = cid;
}
+ /** @hide */
+ public NeighboringCellInfo(final CellInfoGsm info) {
+ mNetworkType = TelephonyManager.NETWORK_TYPE_GPRS;
+
+ mRssi = info.getCellSignalStrength().getAsuLevel();
+ if (mRssi == Integer.MAX_VALUE) mRssi = UNKNOWN_RSSI;
+
+ mLac = info.getCellIdentity().getLac();
+ if (mLac == Integer.MAX_VALUE) mLac = UNKNOWN_CID;
+
+ mCid = info.getCellIdentity().getCid();
+ if (mCid == Integer.MAX_VALUE) mCid = UNKNOWN_CID;
+
+ mPsc = UNKNOWN_CID;
+ }
+
+ /** @hide */
+ public NeighboringCellInfo(final CellInfoWcdma info) {
+ mNetworkType = TelephonyManager.NETWORK_TYPE_UMTS;
+
+ mRssi = info.getCellSignalStrength().getAsuLevel();
+ if (mRssi == Integer.MAX_VALUE) mRssi = UNKNOWN_RSSI;
+
+ mLac = info.getCellIdentity().getLac();
+ if (mLac == Integer.MAX_VALUE) mLac = UNKNOWN_CID;
+
+ mCid = info.getCellIdentity().getCid();
+ if (mCid == Integer.MAX_VALUE) mCid = UNKNOWN_CID;
+
+ mPsc = info.getCellIdentity().getPsc();
+ if (mPsc == Integer.MAX_VALUE) mPsc = UNKNOWN_CID;
+ }
+
/**
* Initialize the object from rssi, location string, and radioType
* radioType is one of following
diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java
index d76e39b..667ad91 100644
--- a/telephony/java/android/telephony/SubscriptionInfo.java
+++ b/telephony/java/android/telephony/SubscriptionInfo.java
@@ -139,28 +139,6 @@
*/
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/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 290d838..eda6192 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -1528,7 +1528,7 @@
* @return List of NeighboringCellInfo or null if info unavailable.
*
* @deprecated Use {@link #getAllCellInfo} which returns a superset of the information
- * from NeighboringCellInfo.
+ * from NeighboringCellInfo, including LTE cell information.
*/
@Deprecated
@RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION)
@@ -6680,14 +6680,12 @@
@Deprecated
public boolean isTtyModeSupported() {
try {
- ITelephony telephony = getITelephony();
- if (telephony != null) {
- return telephony.isTtyModeSupported();
+ TelecomManager telecomManager = TelecomManager.from(mContext);
+ if (telecomManager != null) {
+ return telecomManager.isTtySupported();
}
- } catch (RemoteException e) {
- Log.e(TAG, "Error calling ITelephony#isTtyModeSupported", e);
} catch (SecurityException e) {
- Log.e(TAG, "Permission error calling ITelephony#isTtyModeSupported", e);
+ Log.e(TAG, "Permission error calling TelecomManager#isTtySupported", e);
}
return false;
}
diff --git a/telephony/java/android/telephony/ims/ImsSsInfo.java b/telephony/java/android/telephony/ims/ImsSsInfo.java
index c6f8622..e924a25 100644
--- a/telephony/java/android/telephony/ims/ImsSsInfo.java
+++ b/telephony/java/android/telephony/ims/ImsSsInfo.java
@@ -16,10 +16,14 @@
package android.telephony.ims;
+import android.annotation.IntDef;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
/**
* Provides the result to the update operation for the supplementary service configuration.
*
@@ -34,6 +38,30 @@
public static final int DISABLED = 0;
public static final int ENABLED = 1;
+ /**
+ * Provision status of service
+ */
+ /** @hide */
+ @IntDef({
+ SERVICE_PROVISIONING_UNKNOWN,
+ SERVICE_NOT_PROVISIONED,
+ SERVICE_PROVISIONED
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ServiceProvisionStatus {}
+ /**
+ * Unknown provision status for the service.
+ */
+ public static final int SERVICE_PROVISIONING_UNKNOWN = (-1);
+ /**
+ * Service is not provisioned.
+ */
+ public static final int SERVICE_NOT_PROVISIONED = 0;
+ /**
+ * Service is provisioned.
+ */
+ public static final int SERVICE_PROVISIONED = 1;
+
// 0: disabled, 1: enabled
/** @hide */
// TODO: Make private, do not modify this field directly, use getter!
@@ -41,6 +69,8 @@
/** @hide */
// TODO: Make private, do not modify this field directly, use getter!
public String mIcbNum;
+ /** @hide */
+ public int mProvisionStatus = SERVICE_PROVISIONING_UNKNOWN;
/**@hide*/
// TODO: Remove! Do not use this constructor, instead use public version.
@@ -74,16 +104,30 @@
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mStatus);
out.writeString(mIcbNum);
+ out.writeInt(mProvisionStatus);
}
@Override
public String toString() {
- return super.toString() + ", Status: " + ((mStatus == 0) ? "disabled" : "enabled");
+ return super.toString() + ", Status: " + ((mStatus == 0) ? "disabled" : "enabled")
+ + ", ProvisionStatus: " + provisionStatusToString(mProvisionStatus);
+ }
+
+ private static String provisionStatusToString(int pStatus) {
+ switch (pStatus) {
+ case SERVICE_NOT_PROVISIONED:
+ return "Service not provisioned";
+ case SERVICE_PROVISIONED:
+ return "Service provisioned";
+ default:
+ return "Service provisioning unknown";
+ }
}
private void readFromParcel(Parcel in) {
mStatus = in.readInt();
mIcbNum = in.readString();
+ mProvisionStatus = in.readInt();
}
public static final Creator<ImsSsInfo> CREATOR =
@@ -112,4 +156,15 @@
public String getIcbNum() {
return mIcbNum;
}
+
+ /**
+ * @return Supplementary Service Provision status. Valid Values are:
+ * {@link #SERVICE_PROVISIONING_UNKNOWN},
+ * {@link #SERVICE_NOT_PROVISIONED},
+ * {@link #SERVICE_PROVISIONED}
+ */
+ @ServiceProvisionStatus
+ public int getProvisionStatus() {
+ return mProvisionStatus;
+ }
}