Merge "Code reformatting for upcoming automated code changes."
diff --git a/Android.bp b/Android.bp
index e57e23f..3b27ebc 100644
--- a/Android.bp
+++ b/Android.bp
@@ -793,6 +793,40 @@
     },
 }
 
+// ====  java proto device library (for test only)  ==============================
+java_library {
+    name: "platformprotosnano",
+    proto: {
+        type: "nano",
+        output_params: ["store_unknown_fields=true"],
+        include_dirs: ["external/protobuf/src"],
+    },
+
+    sdk_version: "current",
+    srcs: [
+        "core/proto/**/*.proto",
+        "libs/incident/proto/android/os/**/*.proto",
+    ],
+}
+
+// ====  java proto device library (for test only)  ==============================
+java_library {
+    name: "platformprotoslite",
+    proto: {
+        type: "lite",
+        include_dirs: ["external/protobuf/src"],
+    },
+
+    srcs: [
+        "core/proto/**/*.proto",
+        "libs/incident/proto/android/os/**/*.proto",
+    ],
+    // Protos have lots of MissingOverride and similar.
+    errorprone: {
+        javacflags: ["-XepDisableAllChecks"],
+    },
+}
+
 // ====  c++ proto device library  ==============================
 cc_library {
     name: "libplatformprotos",
diff --git a/Android.mk b/Android.mk
index edbb94d..29454e4 100644
--- a/Android.mk
+++ b/Android.mk
@@ -321,36 +321,6 @@
 	$(hide) mkdir -p $(OUT_DOCS)/offline-sdk
 	( unzip -qo $< -d $(OUT_DOCS)/offline-sdk && touch -f $@ ) || exit 1
 
-# ====  java proto device library (for test only)  ==============================
-include $(CLEAR_VARS)
-LOCAL_MODULE := platformprotosnano
-LOCAL_MODULE_TAGS := tests
-LOCAL_PROTOC_OPTIMIZE_TYPE := nano
-LOCAL_PROTOC_FLAGS := \
-    -Iexternal/protobuf/src
-LOCAL_PROTO_JAVA_OUTPUT_PARAMS := \
-    store_unknown_fields = true
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := \
-    $(call all-proto-files-under, core/proto) \
-    $(call all-proto-files-under, libs/incident/proto/android/os)
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-
-# ====  java proto device library (for test only)  ==============================
-include $(CLEAR_VARS)
-LOCAL_MODULE := platformprotoslite
-LOCAL_MODULE_TAGS := tests
-LOCAL_PROTOC_OPTIMIZE_TYPE := lite
-LOCAL_PROTOC_FLAGS := \
-    -Iexternal/protobuf/src
-LOCAL_SRC_FILES := \
-    $(call all-proto-files-under, core/proto) \
-    $(call all-proto-files-under, libs/incident/proto/android/os)
-# Protos have lots of MissingOverride and similar.
-LOCAL_ERROR_PRONE_FLAGS := -XepDisableAllChecks
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
 # ==== hiddenapi lists =======================================
 include $(CLEAR_VARS)
 
diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt
index 862e69f..51f0caa 100644
--- a/config/hiddenapi-light-greylist.txt
+++ b/config/hiddenapi-light-greylist.txt
@@ -518,215 +518,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/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;
-Landroid/media/AudioAttributes$Builder;->setInternalLegacyStreamType(I)Landroid/media/AudioAttributes$Builder;
-Landroid/media/AudioAttributes;->mContentType:I
-Landroid/media/AudioAttributes;->mFlags:I
-Landroid/media/AudioAttributes;->mFormattedTags:Ljava/lang/String;
-Landroid/media/AudioAttributes;->mSource:I
-Landroid/media/AudioAttributes;->mUsage:I
-Landroid/media/AudioAttributes;->toLegacyStreamType(Landroid/media/AudioAttributes;)I
-Landroid/media/AudioDevicePort;-><init>(Landroid/media/AudioHandle;Ljava/lang/String;[I[I[I[I[Landroid/media/AudioGain;ILjava/lang/String;)V
-Landroid/media/AudioDevicePort;->type()I
-Landroid/media/AudioDevicePortConfig;-><init>(Landroid/media/AudioDevicePort;IIILandroid/media/AudioGainConfig;)V
-Landroid/media/AudioFormat;-><init>(IIII)V
-Landroid/media/AudioFormat;->mChannelMask:I
-Landroid/media/AudioFormat;->mEncoding:I
-Landroid/media/AudioFormat;->mSampleRate:I
-Landroid/media/audiofx/AudioEffect;-><init>(Ljava/util/UUID;Ljava/util/UUID;II)V
-Landroid/media/audiofx/AudioEffect;->checkState(Ljava/lang/String;)V
-Landroid/media/audiofx/AudioEffect;->command(I[B[B)I
-Landroid/media/audiofx/AudioEffect;->getParameter([I[B)I
-Landroid/media/audiofx/AudioEffect;->getParameter([I[I)I
-Landroid/media/audiofx/AudioEffect;->setParameter([I[S)I
-Landroid/media/audiofx/Visualizer;->mId:I
-Landroid/media/AudioGain;-><init>(IIIIIIIII)V
-Landroid/media/AudioGainConfig;-><init>(ILandroid/media/AudioGain;II[II)V
-Landroid/media/AudioGainConfig;->mChannelMask:I
-Landroid/media/AudioGainConfig;->mIndex:I
-Landroid/media/AudioGainConfig;->mMode:I
-Landroid/media/AudioGainConfig;->mRampDurationMs:I
-Landroid/media/AudioGainConfig;->mValues:[I
-Landroid/media/AudioHandle;-><init>(I)V
-Landroid/media/AudioHandle;->mId:I
-Landroid/media/AudioManager;-><init>()V
-Landroid/media/AudioManager;-><init>(Landroid/content/Context;)V
-Landroid/media/AudioManager;->abandonAudioFocusForCall()V
-Landroid/media/AudioManager;->createAudioPatch([Landroid/media/AudioPatch;[Landroid/media/AudioPortConfig;[Landroid/media/AudioPortConfig;)I
-Landroid/media/AudioManager;->DEVICE_OUT_ANLG_DOCK_HEADSET:I
-Landroid/media/AudioManager;->DEVICE_OUT_BLUETOOTH_A2DP:I
-Landroid/media/AudioManager;->DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES:I
-Landroid/media/AudioManager;->DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER:I
-Landroid/media/AudioManager;->DEVICE_OUT_BLUETOOTH_SCO_HEADSET:I
-Landroid/media/AudioManager;->DEVICE_OUT_DGTL_DOCK_HEADSET:I
-Landroid/media/AudioManager;->DEVICE_OUT_EARPIECE:I
-Landroid/media/AudioManager;->DEVICE_OUT_HDMI:I
-Landroid/media/AudioManager;->DEVICE_OUT_SPEAKER:I
-Landroid/media/AudioManager;->DEVICE_OUT_WIRED_HEADPHONE:I
-Landroid/media/AudioManager;->DEVICE_OUT_WIRED_HEADSET:I
-Landroid/media/AudioManager;->EXTRA_VOLUME_STREAM_TYPE:Ljava/lang/String;
-Landroid/media/AudioManager;->EXTRA_VOLUME_STREAM_VALUE:Ljava/lang/String;
-Landroid/media/AudioManager;->forceVolumeControlStream(I)V
-Landroid/media/AudioManager;->getDevicesForStream(I)I
-Landroid/media/AudioManager;->getLastAudibleStreamVolume(I)I
-Landroid/media/AudioManager;->getOutputLatency(I)I
-Landroid/media/AudioManager;->getRingerModeInternal()I
-Landroid/media/AudioManager;->getService()Landroid/media/IAudioService;
-Landroid/media/AudioManager;->isMasterMute()Z
-Landroid/media/AudioManager;->isMusicActiveRemotely()Z
-Landroid/media/AudioManager;->isSilentMode()Z
-Landroid/media/AudioManager;->isValidRingerMode(I)Z
-Landroid/media/AudioManager;->listAudioPatches(Ljava/util/ArrayList;)I
-Landroid/media/AudioManager;->listAudioPorts(Ljava/util/ArrayList;)I
-Landroid/media/AudioManager;->mAudioFocusIdListenerMap:Ljava/util/concurrent/ConcurrentHashMap;
-Landroid/media/AudioManager;->NUM_SOUND_EFFECTS:I
-Landroid/media/AudioManager;->releaseAudioPatch(Landroid/media/AudioPatch;)I
-Landroid/media/AudioManager;->reloadAudioSettings()V
-Landroid/media/AudioManager;->requestAudioFocusForCall(II)V
-Landroid/media/AudioManager;->setMasterMute(ZI)V
-Landroid/media/AudioManager;->setRingerModeInternal(I)V
-Landroid/media/AudioManager;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;)V
-Landroid/media/AudioManager;->startBluetoothScoVirtualCall()V
-Landroid/media/AudioManager;->STREAM_BLUETOOTH_SCO:I
-Landroid/media/AudioManager;->STREAM_SYSTEM_ENFORCED:I
-Landroid/media/AudioManager;->STREAM_TTS:I
-Landroid/media/AudioManager;->VOLUME_CHANGED_ACTION:Ljava/lang/String;
-Landroid/media/AudioMixPort;-><init>(Landroid/media/AudioHandle;IILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V
-Landroid/media/AudioMixPort;->ioHandle()I
-Landroid/media/AudioMixPortConfig;-><init>(Landroid/media/AudioMixPort;IIILandroid/media/AudioGainConfig;)V
-Landroid/media/AudioPatch;-><init>(Landroid/media/AudioHandle;[Landroid/media/AudioPortConfig;[Landroid/media/AudioPortConfig;)V
-Landroid/media/AudioPatch;->mHandle:Landroid/media/AudioHandle;
-Landroid/media/AudioPatch;->sinks()[Landroid/media/AudioPortConfig;
-Landroid/media/AudioPatch;->sources()[Landroid/media/AudioPortConfig;
-Landroid/media/audiopolicy/AudioMix;->mCallbackFlags:I
-Landroid/media/audiopolicy/AudioMix;->mDeviceAddress:Ljava/lang/String;
-Landroid/media/audiopolicy/AudioMix;->mDeviceSystemType:I
-Landroid/media/audiopolicy/AudioMix;->mFormat:Landroid/media/AudioFormat;
-Landroid/media/audiopolicy/AudioMix;->mMixType:I
-Landroid/media/audiopolicy/AudioMix;->mRouteFlags:I
-Landroid/media/audiopolicy/AudioMix;->mRule:Landroid/media/audiopolicy/AudioMixingRule;
-Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;->mAttr:Landroid/media/AudioAttributes;
-Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;->mIntProp:I
-Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;->mRule:I
-Landroid/media/audiopolicy/AudioMixingRule;->mCriteria:Ljava/util/ArrayList;
-Landroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V
-Landroid/media/AudioPort;->id()I
-Landroid/media/AudioPort;->mActiveConfig:Landroid/media/AudioPortConfig;
-Landroid/media/AudioPort;->mGains:[Landroid/media/AudioGain;
-Landroid/media/AudioPort;->mHandle:Landroid/media/AudioHandle;
-Landroid/media/AudioPort;->mRole:I
-Landroid/media/AudioPort;->role()I
-Landroid/media/AudioPortConfig;-><init>(Landroid/media/AudioPort;IIILandroid/media/AudioGainConfig;)V
-Landroid/media/AudioPortConfig;->mChannelMask:I
-Landroid/media/AudioPortConfig;->mConfigMask:I
-Landroid/media/AudioPortConfig;->mFormat:I
-Landroid/media/AudioPortConfig;->mGain:Landroid/media/AudioGainConfig;
-Landroid/media/AudioPortConfig;->mPort:Landroid/media/AudioPort;
-Landroid/media/AudioPortConfig;->mSamplingRate:I
-Landroid/media/AudioPortConfig;->port()Landroid/media/AudioPort;
-Landroid/media/AudioPortEventHandler;->mJniCallback:J
-Landroid/media/AudioPortEventHandler;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/media/AudioRecord;->mAudioAttributes:Landroid/media/AudioAttributes;
-Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
-Landroid/media/AudioRecord;->mNativeCallbackCookie:J
-Landroid/media/AudioRecord;->mNativeDeviceCallback:J
-Landroid/media/AudioRecord;->mNativeRecorderInJavaObj:J
-Landroid/media/AudioRecord;->native_release()V
-Landroid/media/AudioRecord;->native_setup(Ljava/lang/Object;Ljava/lang/Object;[IIIII[ILjava/lang/String;J)I
-Landroid/media/AudioRecord;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/media/AudioRecordingConfiguration;->getClientPackageName()Ljava/lang/String;
-Landroid/media/AudioRecordingConfiguration;->getClientUid()I
-Landroid/media/AudioSystem;->DEVICE_IN_AMBIENT:I
-Landroid/media/AudioSystem;->DEVICE_IN_ANLG_DOCK_HEADSET:I
-Landroid/media/AudioSystem;->DEVICE_IN_AUX_DIGITAL:I
-Landroid/media/AudioSystem;->DEVICE_IN_BACK_MIC:I
-Landroid/media/AudioSystem;->DEVICE_IN_BLUETOOTH_A2DP:I
-Landroid/media/AudioSystem;->DEVICE_IN_BLUETOOTH_SCO_HEADSET:I
-Landroid/media/AudioSystem;->DEVICE_IN_BUILTIN_MIC:I
-Landroid/media/AudioSystem;->DEVICE_IN_COMMUNICATION:I
-Landroid/media/AudioSystem;->DEVICE_IN_DEFAULT:I
-Landroid/media/AudioSystem;->DEVICE_IN_DGTL_DOCK_HEADSET:I
-Landroid/media/AudioSystem;->DEVICE_IN_REMOTE_SUBMIX:I
-Landroid/media/AudioSystem;->DEVICE_IN_USB_ACCESSORY:I
-Landroid/media/AudioSystem;->DEVICE_IN_USB_DEVICE:I
-Landroid/media/AudioSystem;->DEVICE_IN_VOICE_CALL:I
-Landroid/media/AudioSystem;->DEVICE_IN_WIRED_HEADSET:I
-Landroid/media/AudioSystem;->DEVICE_OUT_ALL_USB:I
-Landroid/media/AudioSystem;->DEVICE_OUT_ANLG_DOCK_HEADSET:I
-Landroid/media/AudioSystem;->DEVICE_OUT_AUX_DIGITAL:I
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_A2DP:I
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES:I
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER:I
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_SCO:I
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_SCO_CARKIT:I
-Landroid/media/AudioSystem;->DEVICE_OUT_BLUETOOTH_SCO_HEADSET:I
-Landroid/media/AudioSystem;->DEVICE_OUT_DGTL_DOCK_HEADSET:I
-Landroid/media/AudioSystem;->DEVICE_OUT_EARPIECE:I
-Landroid/media/AudioSystem;->DEVICE_OUT_FM:I
-Landroid/media/AudioSystem;->DEVICE_OUT_REMOTE_SUBMIX:I
-Landroid/media/AudioSystem;->DEVICE_OUT_SPEAKER:I
-Landroid/media/AudioSystem;->DEVICE_OUT_TELEPHONY_TX:I
-Landroid/media/AudioSystem;->DEVICE_OUT_USB_ACCESSORY:I
-Landroid/media/AudioSystem;->DEVICE_OUT_USB_DEVICE:I
-Landroid/media/AudioSystem;->DEVICE_OUT_WIRED_HEADPHONE:I
-Landroid/media/AudioSystem;->DEVICE_OUT_WIRED_HEADSET:I
-Landroid/media/AudioSystem;->DEVICE_STATE_AVAILABLE:I
-Landroid/media/AudioSystem;->DEVICE_STATE_UNAVAILABLE:I
-Landroid/media/AudioSystem;->dynamicPolicyCallbackFromNative(ILjava/lang/String;I)V
-Landroid/media/AudioSystem;->errorCallbackFromNative(I)V
-Landroid/media/AudioSystem;->FORCE_ANALOG_DOCK:I
-Landroid/media/AudioSystem;->FORCE_BT_CAR_DOCK:I
-Landroid/media/AudioSystem;->FORCE_BT_DESK_DOCK:I
-Landroid/media/AudioSystem;->FORCE_DIGITAL_DOCK:I
-Landroid/media/AudioSystem;->FORCE_NONE:I
-Landroid/media/AudioSystem;->getDeviceConnectionState(ILjava/lang/String;)I
-Landroid/media/AudioSystem;->getDevicesForStream(I)I
-Landroid/media/AudioSystem;->getMasterMute()Z
-Landroid/media/AudioSystem;->getNumStreamTypes()I
-Landroid/media/AudioSystem;->getOutputDeviceName(I)Ljava/lang/String;
-Landroid/media/AudioSystem;->getOutputLatency(I)I
-Landroid/media/AudioSystem;->getPrimaryOutputFrameCount()I
-Landroid/media/AudioSystem;->getPrimaryOutputSamplingRate()I
-Landroid/media/AudioSystem;->initStreamVolume(III)I
-Landroid/media/AudioSystem;->isMicrophoneMuted()Z
-Landroid/media/AudioSystem;->isSourceActive(I)Z
-Landroid/media/AudioSystem;->isStreamActive(II)Z
-Landroid/media/AudioSystem;->muteMicrophone(Z)I
-Landroid/media/AudioSystem;->recordingCallbackFromNative(IIII[I)V
-Landroid/media/AudioSystem;->setDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;)I
-Landroid/media/AudioSystem;->setErrorCallback(Landroid/media/AudioSystem$ErrorCallback;)V
-Landroid/media/AudioSystem;->setMasterMute(Z)I
-Landroid/media/AudioSystem;->setPhoneState(I)I
-Landroid/media/AudioSystem;->setStreamVolumeIndex(III)I
-Landroid/media/AudioSystem;->STREAM_SYSTEM_ENFORCED:I
-Landroid/media/AudioTrack;->deferred_connect(J)V
-Landroid/media/AudioTrack;->getLatency()I
-Landroid/media/AudioTrack;->mJniData:J
-Landroid/media/AudioTrack;->mNativeTrackInJavaObj:J
-Landroid/media/AudioTrack;->mStreamType:I
-Landroid/media/AudioTrack;->native_release()V
-Landroid/media/AudioTrack;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-Landroid/media/CamcorderProfile;->native_get_camcorder_profile(II)Landroid/media/CamcorderProfile;
-Landroid/media/CamcorderProfile;->native_init()V
-Landroid/media/DecoderCapabilities$AudioDecoder;->AUDIO_DECODER_WMA:Landroid/media/DecoderCapabilities$AudioDecoder;
-Landroid/media/DecoderCapabilities$VideoDecoder;->VIDEO_DECODER_WMV:Landroid/media/DecoderCapabilities$VideoDecoder;
-Landroid/media/DecoderCapabilities;->getAudioDecoders()Ljava/util/List;
-Landroid/media/DecoderCapabilities;->getVideoDecoders()Ljava/util/List;
-Landroid/media/EncoderCapabilities$VideoEncoderCap;->mCodec:I
-Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMaxFrameHeight:I
-Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMaxFrameWidth:I
-Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMinFrameHeight:I
-Landroid/media/EncoderCapabilities$VideoEncoderCap;->mMinFrameWidth:I
-Landroid/media/EncoderCapabilities;->getVideoEncoders()Ljava/util/List;
-Landroid/media/ExifInterface;->convertRationalLatLonToFloat(Ljava/lang/String;Ljava/lang/String;)F
-Landroid/media/ExifInterface;->getDateTime()J
-Landroid/media/ExifInterface;->getGpsDateTime()J
-Landroid/media/ExifInterface;->mAttributes:[Ljava/util/HashMap;
-Landroid/media/ExifInterface;->mFilename:Ljava/lang/String;
-Landroid/media/ExifInterface;->mHasThumbnail:Z
-Landroid/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat;
 Landroid/media/IAudioFocusDispatcher;->dispatchAudioFocusChange(ILjava/lang/String;)V
 Landroid/media/IAudioRoutesObserver$Stub;-><init>()V
 Landroid/media/IAudioService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
@@ -736,8 +527,6 @@
 Landroid/media/IAudioService;->getStreamVolume(I)I
 Landroid/media/IAudioService;->setStreamVolume(IIILjava/lang/String;)V
 Landroid/media/IAudioService;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
-Landroid/media/Image$Plane;-><init>()V
-Landroid/media/Image;-><init>()V
 Landroid/media/IMediaRouterService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaRouterService;
 Landroid/media/IMediaScannerListener$Stub;-><init>()V
 Landroid/media/IMediaScannerService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaScannerService;
@@ -746,247 +535,9 @@
 Landroid/media/IRemoteDisplayCallback;->onStateChanged(Landroid/media/RemoteDisplayState;)V
 Landroid/media/IRingtonePlayer;->play(Landroid/os/IBinder;Landroid/net/Uri;Landroid/media/AudioAttributes;FZ)V
 Landroid/media/IVolumeController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IVolumeController;
-Landroid/media/JetPlayer;->mNativePlayerInJavaObj:J
-Landroid/media/JetPlayer;->postEventFromNative(Ljava/lang/Object;III)V
-Landroid/media/MediaCodec$CodecException;-><init>(IILjava/lang/String;)V
-Landroid/media/MediaCodec;->getBuffers(Z)[Ljava/nio/ByteBuffer;
-Landroid/media/MediaCodec;->mNativeContext:J
-Landroid/media/MediaCodec;->releaseOutputBuffer(IZZJ)V
-Landroid/media/MediaCodec;->setParameters([Ljava/lang/String;[Ljava/lang/Object;)V
-Landroid/media/MediaCodecInfo$VideoCapabilities;->create(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)Landroid/media/MediaCodecInfo$VideoCapabilities;
-Landroid/media/MediaFile$MediaFileType;->fileType:I
-Landroid/media/MediaFile$MediaFileType;->mimeType:Ljava/lang/String;
 Landroid/media/MediaFile;-><init>()V
-Landroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V
-Landroid/media/MediaFile;->FIRST_AUDIO_FILE_TYPE:I
-Landroid/media/MediaFile;->getFileTitle(Ljava/lang/String;)Ljava/lang/String;
-Landroid/media/MediaFile;->getFileType(Ljava/lang/String;)Landroid/media/MediaFile$MediaFileType;
-Landroid/media/MediaFile;->getFileTypeForMimeType(Ljava/lang/String;)I
-Landroid/media/MediaFile;->getMimeTypeForFile(Ljava/lang/String;)Ljava/lang/String;
-Landroid/media/MediaFile;->isAudioFileType(I)Z
-Landroid/media/MediaFile;->isDrmFileType(I)Z
-Landroid/media/MediaFile;->isImageFileType(I)Z
-Landroid/media/MediaFile;->isPlayListFileType(I)Z
-Landroid/media/MediaFile;->isVideoFileType(I)Z
-Landroid/media/MediaFile;->LAST_AUDIO_FILE_TYPE:I
-Landroid/media/MediaFile;->sFileTypeMap:Ljava/util/HashMap;
-Landroid/media/MediaFile;->sFileTypeToFormatMap:Ljava/util/HashMap;
-Landroid/media/MediaFile;->sFormatToMimeTypeMap:Ljava/util/HashMap;
-Landroid/media/MediaFile;->sMimeTypeToFormatMap:Ljava/util/HashMap;
-Landroid/media/MediaFormat;->getMap()Ljava/util/Map;
-Landroid/media/MediaFormat;->mMap:Ljava/util/Map;
-Landroid/media/MediaHTTPConnection;-><init>()V
-Landroid/media/MediaHTTPConnection;->connect(Ljava/lang/String;Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/media/MediaHTTPConnection;->disconnect()V
-Landroid/media/MediaHTTPConnection;->getMIMEType()Ljava/lang/String;
-Landroid/media/MediaHTTPConnection;->getUri()Ljava/lang/String;
-Landroid/media/MediaHTTPConnection;->mAllowCrossDomainRedirect:Z
-Landroid/media/MediaHTTPConnection;->mAllowCrossProtocolRedirect:Z
-Landroid/media/MediaHTTPConnection;->mConnection:Ljava/net/HttpURLConnection;
-Landroid/media/MediaHTTPConnection;->mCurrentOffset:J
-Landroid/media/MediaHTTPConnection;->mHeaders:Ljava/util/Map;
-Landroid/media/MediaHTTPConnection;->mTotalSize:J
-Landroid/media/MediaHTTPConnection;->mURL:Ljava/net/URL;
-Landroid/media/MediaHTTPConnection;->readAt(JI)I
-Landroid/media/MediaHTTPService;->createHttpServiceBinderIfNecessary(Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/media/MediaInserter;->flushAll()V
-Landroid/media/MediaMetadata;->getKeyFromMetadataEditorKey(I)Ljava/lang/String;
-Landroid/media/MediaMetadataRetriever;->getEmbeddedPicture(I)[B
-Landroid/media/MediaMetadataRetriever;->native_finalize()V
-Landroid/media/MediaMetadataRetriever;->native_init()V
-Landroid/media/MediaMetadataRetriever;->native_setup()V
-Landroid/media/MediaMuxer;->mCloseGuard:Ldalvik/system/CloseGuard;
-Landroid/media/MediaMuxer;->mNativeObject:J
-Landroid/media/MediaMuxer;->mState:I
-Landroid/media/MediaMuxer;->MUXER_STATE_STARTED:I
-Landroid/media/MediaMuxer;->MUXER_STATE_STOPPED:I
-Landroid/media/MediaMuxer;->MUXER_STATE_UNINITIALIZED:I
-Landroid/media/MediaMuxer;->nativeRelease(J)V
-Landroid/media/MediaMuxer;->nativeSetup(Ljava/io/FileDescriptor;I)J
-Landroid/media/MediaPlayer$TrackInfo;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/media/MediaPlayer2$TrackInfo;->getLanguage()Ljava/lang/String;
-Landroid/media/MediaPlayer2$TrackInfo;->getTrackType()I
-Landroid/media/MediaPlayer;->addSubtitleSource(Ljava/io/InputStream;Landroid/media/MediaFormat;)V
-Landroid/media/MediaPlayer;->BYPASS_METADATA_FILTER:Z
-Landroid/media/MediaPlayer;->getMediaTimeProvider()Landroid/media/MediaTimeProvider;
-Landroid/media/MediaPlayer;->getMetadata(ZZ)Landroid/media/Metadata;
-Landroid/media/MediaPlayer;->invoke(Landroid/os/Parcel;Landroid/os/Parcel;)V
-Landroid/media/MediaPlayer;->MEDIA_INFO_EXTERNAL_METADATA_UPDATE:I
-Landroid/media/MediaPlayer;->MEDIA_INFO_TIMED_TEXT_ERROR:I
-Landroid/media/MediaPlayer;->METADATA_ALL:Z
-Landroid/media/MediaPlayer;->mEventHandler:Landroid/media/MediaPlayer$EventHandler;
-Landroid/media/MediaPlayer;->mOnCompletionListener:Landroid/media/MediaPlayer$OnCompletionListener;
-Landroid/media/MediaPlayer;->mOnErrorListener:Landroid/media/MediaPlayer$OnErrorListener;
-Landroid/media/MediaPlayer;->mOnInfoListener:Landroid/media/MediaPlayer$OnInfoListener;
-Landroid/media/MediaPlayer;->mOnPreparedListener:Landroid/media/MediaPlayer$OnPreparedListener;
-Landroid/media/MediaPlayer;->mOnSeekCompleteListener:Landroid/media/MediaPlayer$OnSeekCompleteListener;
-Landroid/media/MediaPlayer;->mOnTimedTextListener:Landroid/media/MediaPlayer$OnTimedTextListener;
-Landroid/media/MediaPlayer;->newRequest()Landroid/os/Parcel;
-Landroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;Ljava/util/Map;)V
-Landroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)V
-Landroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;)V
-Landroid/media/MediaPlayer;->setParameter(ILandroid/os/Parcel;)Z
-Landroid/media/MediaPlayer;->setRetransmitEndpoint(Ljava/net/InetSocketAddress;)V
-Landroid/media/MediaPlayer;->setSubtitleAnchor(Landroid/media/SubtitleController;Landroid/media/SubtitleController$Anchor;)V
-Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
-Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
-Landroid/media/MediaRecorder;->mOnErrorListener:Landroid/media/MediaRecorder$OnErrorListener;
-Landroid/media/MediaRecorder;->mOnInfoListener:Landroid/media/MediaRecorder$OnInfoListener;
-Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
-Landroid/media/MediaRecorder;->mSurface:Landroid/view/Surface;
-Landroid/media/MediaRecorder;->native_finalize()V
-Landroid/media/MediaRecorder;->native_init()V
-Landroid/media/MediaRecorder;->native_reset()V
-Landroid/media/MediaRecorder;->native_setup(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/MediaRecorder;->setParameter(Ljava/lang/String;)V
-Landroid/media/MediaRecorder;->_prepare()V
-Landroid/media/MediaRouter$RouteInfo;->getDeviceAddress()Ljava/lang/String;
-Landroid/media/MediaRouter$RouteInfo;->getName(Landroid/content/res/Resources;)Ljava/lang/CharSequence;
-Landroid/media/MediaRouter$RouteInfo;->getStatusCode()I
-Landroid/media/MediaRouter$RouteInfo;->isDefault()Z
-Landroid/media/MediaRouter$RouteInfo;->isSelected()Z
-Landroid/media/MediaRouter$RouteInfo;->matchesTypes(I)Z
-Landroid/media/MediaRouter$RouteInfo;->mNameResId:I
-Landroid/media/MediaRouter$RouteInfo;->select()V
-Landroid/media/MediaRouter$RouteInfo;->STATUS_CONNECTING:I
-Landroid/media/MediaRouter;->getSelectedRoute()Landroid/media/MediaRouter$RouteInfo;
-Landroid/media/MediaRouter;->selectRouteInt(ILandroid/media/MediaRouter$RouteInfo;Z)V
-Landroid/media/MediaScanner$FileEntry;-><init>(JLjava/lang/String;JI)V
-Landroid/media/MediaScanner$FileEntry;->mLastModifiedChanged:Z
-Landroid/media/MediaScanner$FileEntry;->mRowId:J
-Landroid/media/MediaScanner$MyMediaScannerClient;->beginFile(Ljava/lang/String;Ljava/lang/String;JJZZ)Landroid/media/MediaScanner$FileEntry;
-Landroid/media/MediaScanner$MyMediaScannerClient;->doScanFile(Ljava/lang/String;Ljava/lang/String;JJZZZ)Landroid/net/Uri;
-Landroid/media/MediaScanner$MyMediaScannerClient;->endFile(Landroid/media/MediaScanner$FileEntry;ZZZZZ)Landroid/net/Uri;
-Landroid/media/MediaScanner$MyMediaScannerClient;->getFileTypeFromDrm(Ljava/lang/String;)I
-Landroid/media/MediaScanner$MyMediaScannerClient;->handleStringTag(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/media/MediaScanner$MyMediaScannerClient;->mFileType:I
-Landroid/media/MediaScanner$MyMediaScannerClient;->mIsDrm:Z
-Landroid/media/MediaScanner$MyMediaScannerClient;->mMimeType:Ljava/lang/String;
-Landroid/media/MediaScanner$MyMediaScannerClient;->mNoMedia:Z
-Landroid/media/MediaScanner$MyMediaScannerClient;->mPath:Ljava/lang/String;
-Landroid/media/MediaScanner$MyMediaScannerClient;->scanFile(Ljava/lang/String;JJZZ)V
-Landroid/media/MediaScanner$MyMediaScannerClient;->setMimeType(Ljava/lang/String;)V
-Landroid/media/MediaScanner$MyMediaScannerClient;->toValues()Landroid/content/ContentValues;
-Landroid/media/MediaScanner;-><init>(Landroid/content/Context;Ljava/lang/String;)V
-Landroid/media/MediaScanner;->FILES_PRESCAN_PROJECTION:[Ljava/lang/String;
-Landroid/media/MediaScanner;->isDrmEnabled()Z
-Landroid/media/MediaScanner;->isNoMediaPath(Ljava/lang/String;)Z
-Landroid/media/MediaScanner;->makeEntryFor(Ljava/lang/String;)Landroid/media/MediaScanner$FileEntry;
-Landroid/media/MediaScanner;->mAudioUri:Landroid/net/Uri;
-Landroid/media/MediaScanner;->mClient:Landroid/media/MediaScanner$MyMediaScannerClient;
-Landroid/media/MediaScanner;->mContext:Landroid/content/Context;
-Landroid/media/MediaScanner;->mDefaultAlarmAlertFilename:Ljava/lang/String;
-Landroid/media/MediaScanner;->mDefaultNotificationFilename:Ljava/lang/String;
-Landroid/media/MediaScanner;->mDefaultRingtoneFilename:Ljava/lang/String;
-Landroid/media/MediaScanner;->mFilesUri:Landroid/net/Uri;
-Landroid/media/MediaScanner;->mMediaInserter:Landroid/media/MediaInserter;
-Landroid/media/MediaScanner;->mPackageName:Ljava/lang/String;
-Landroid/media/MediaScanner;->postscan([Ljava/lang/String;)V
-Landroid/media/MediaScanner;->prescan(Ljava/lang/String;Z)V
-Landroid/media/MediaScanner;->scanSingleFile(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
-Landroid/media/MediaScanner;->setLocale(Ljava/lang/String;)V
-Landroid/media/Metadata;-><init>()V
-Landroid/media/Metadata;->getBoolean(I)Z
-Landroid/media/Metadata;->getByteArray(I)[B
-Landroid/media/Metadata;->getDate(I)Ljava/util/Date;
-Landroid/media/Metadata;->getDouble(I)D
-Landroid/media/Metadata;->getInt(I)I
-Landroid/media/Metadata;->getLong(I)J
-Landroid/media/Metadata;->getString(I)Ljava/lang/String;
-Landroid/media/Metadata;->has(I)Z
-Landroid/media/Metadata;->keySet()Ljava/util/Set;
-Landroid/media/Metadata;->parse(Landroid/os/Parcel;)Z
-Landroid/media/Metadata;->PAUSE_AVAILABLE:I
-Landroid/media/Metadata;->SEEK_AVAILABLE:I
-Landroid/media/Metadata;->SEEK_BACKWARD_AVAILABLE:I
-Landroid/media/Metadata;->SEEK_FORWARD_AVAILABLE:I
-Landroid/media/MicrophoneInfo;-><init>(Ljava/lang/String;ILjava/lang/String;IIILandroid/media/MicrophoneInfo$Coordinate3F;Landroid/media/MicrophoneInfo$Coordinate3F;Ljava/util/List;Ljava/util/List;FFFI)V
-Landroid/media/MiniThumbFile;->reset()V
-Landroid/media/PlaybackParams;->mAudioFallbackMode:I
-Landroid/media/PlaybackParams;->mAudioStretchMode:I
-Landroid/media/PlaybackParams;->mPitch:F
-Landroid/media/PlaybackParams;->mSet:I
-Landroid/media/PlaybackParams;->mSpeed:F
-Landroid/media/PlaybackParams;->SET_AUDIO_FALLBACK_MODE:I
-Landroid/media/PlaybackParams;->SET_AUDIO_STRETCH_MODE:I
-Landroid/media/PlaybackParams;->SET_PITCH:I
-Landroid/media/PlaybackParams;->SET_SPEED:I
 Landroid/media/projection/IMediaProjectionManager;->hasProjectionPermission(ILjava/lang/String;)Z
-Landroid/media/RemoteControlClient;->MEDIA_POSITION_READABLE:I
-Landroid/media/RemoteControlClient;->MEDIA_POSITION_WRITABLE:I
-Landroid/media/RemoteController;->getUpdateListener()Landroid/media/RemoteController$OnClientUpdateListener;
-Landroid/media/RemoteController;->mCurrentSession:Landroid/media/session/MediaController;
-Landroid/media/RemoteController;->setArtworkConfiguration(ZII)Z
-Landroid/media/RemoteDisplay;->dispose()V
-Landroid/media/RemoteDisplay;->notifyDisplayConnected(Landroid/view/Surface;IIII)V
-Landroid/media/RemoteDisplay;->notifyDisplayDisconnected()V
-Landroid/media/RemoteDisplay;->notifyDisplayError(I)V
-Landroid/media/RemoteDisplayState;-><init>()V
-Landroid/media/RemoteDisplayState;->displays:Ljava/util/ArrayList;
-Landroid/media/Ringtone;-><init>(Landroid/content/Context;Z)V
-Landroid/media/Ringtone;->getUri()Landroid/net/Uri;
-Landroid/media/Ringtone;->mLocalPlayer:Landroid/media/MediaPlayer;
-Landroid/media/Ringtone;->mUri:Landroid/net/Uri;
-Landroid/media/Ringtone;->setUri(Landroid/net/Uri;)V
-Landroid/media/RingtoneManager;->getInternalRingtones()Landroid/database/Cursor;
-Landroid/media/RingtoneManager;->getMediaRingtones(Landroid/content/Context;)Landroid/database/Cursor;
-Landroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;I)Landroid/media/Ringtone;
-Landroid/media/RingtoneManager;->mCursor:Landroid/database/Cursor;
 Landroid/media/session/ISessionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISessionManager;
-Landroid/media/session/MediaController;->controlsSameSession(Landroid/media/session/MediaController;)Z
-Landroid/media/session/MediaSession$QueueItem;->mId:J
-Landroid/media/session/MediaSession;->getCallingPackage()Ljava/lang/String;
-Landroid/media/session/MediaSession;->mCallback:Landroid/media/session/MediaSession$CallbackMessageHandler;
-Landroid/media/session/MediaSessionLegacyHelper;->getHelper(Landroid/content/Context;)Landroid/media/session/MediaSessionLegacyHelper;
-Landroid/media/session/MediaSessionManager;->getActiveSessionsForUser(Landroid/content/ComponentName;I)Ljava/util/List;
-Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->getCaptureSession()Ljava/lang/Integer;
-Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->getData()[B
-Landroid/media/soundtrigger/SoundTriggerManager;->isRecognitionActive(Ljava/util/UUID;)Z
-Landroid/media/soundtrigger/SoundTriggerManager;->loadSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;)I
-Landroid/media/soundtrigger/SoundTriggerManager;->startRecognition(Ljava/util/UUID;Landroid/app/PendingIntent;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Landroid/media/soundtrigger/SoundTriggerManager;->startRecognition(Ljava/util/UUID;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-Landroid/media/soundtrigger/SoundTriggerManager;->stopRecognition(Ljava/util/UUID;)I
-Landroid/media/soundtrigger/SoundTriggerManager;->unloadSoundModel(Ljava/util/UUID;)I
-Landroid/media/SubtitleController;-><init>(Landroid/content/Context;Landroid/media/MediaTimeProvider;Landroid/media/SubtitleController$Listener;)V
-Landroid/media/SubtitleController;->hide()V
-Landroid/media/SubtitleController;->mHandler:Landroid/os/Handler;
-Landroid/media/SubtitleController;->registerRenderer(Landroid/media/SubtitleController$Renderer;)V
-Landroid/media/SubtitleController;->reset()V
-Landroid/media/SubtitleController;->show()V
-Landroid/media/SubtitleTrack$RenderingWidget;->draw(Landroid/graphics/Canvas;)V
-Landroid/media/SubtitleTrack$RenderingWidget;->onAttachedToWindow()V
-Landroid/media/SubtitleTrack$RenderingWidget;->onDetachedFromWindow()V
-Landroid/media/SubtitleTrack$RenderingWidget;->setOnChangedListener(Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;)V
-Landroid/media/SubtitleTrack$RenderingWidget;->setSize(II)V
-Landroid/media/ThumbnailUtils;->closeSilently(Landroid/os/ParcelFileDescriptor;)V
-Landroid/media/ThumbnailUtils;->computeInitialSampleSize(Landroid/graphics/BitmapFactory$Options;II)I
-Landroid/media/ThumbnailUtils;->computeSampleSize(Landroid/graphics/BitmapFactory$Options;II)I
-Landroid/media/ThumbnailUtils;->createImageThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;
-Landroid/media/ThumbnailUtils;->createThumbnailFromEXIF(Ljava/lang/String;IILandroid/media/ThumbnailUtils$SizedThumbnailBitmap;)V
-Landroid/media/ThumbnailUtils;->makeInputStream(Landroid/net/Uri;Landroid/content/ContentResolver;)Landroid/os/ParcelFileDescriptor;
-Landroid/media/ThumbnailUtils;->TARGET_SIZE_MICRO_THUMBNAIL:I
-Landroid/media/ThumbnailUtils;->transform(Landroid/graphics/Matrix;Landroid/graphics/Bitmap;III)Landroid/graphics/Bitmap;
-Landroid/media/TimedText;->getObject(I)Ljava/lang/Object;
-Landroid/media/ToneGenerator;->mNativeContext:J
-Landroid/media/TtmlRenderer;-><init>(Landroid/content/Context;)V
-Landroid/media/tv/TvInputInfo;->getComponent()Landroid/content/ComponentName;
-Landroid/media/tv/TvInputService$Session;->mOverlayFrame:Landroid/graphics/Rect;
-Landroid/media/VolumeShaper$Configuration;-><init>(IIIDI[F[F)V
-Landroid/media/VolumeShaper$Configuration;->mDurationMs:D
-Landroid/media/VolumeShaper$Configuration;->mId:I
-Landroid/media/VolumeShaper$Configuration;->mInterpolatorType:I
-Landroid/media/VolumeShaper$Configuration;->mOptionFlags:I
-Landroid/media/VolumeShaper$Configuration;->mTimes:[F
-Landroid/media/VolumeShaper$Configuration;->mType:I
-Landroid/media/VolumeShaper$Configuration;->mVolumes:[F
-Landroid/media/VolumeShaper$Operation;-><init>(IIF)V
-Landroid/media/VolumeShaper$Operation;->mFlags:I
-Landroid/media/VolumeShaper$Operation;->mReplaceId:I
-Landroid/media/VolumeShaper$Operation;->mXOffset:F
-Landroid/media/VolumeShaper$State;-><init>(FF)V
-Landroid/media/VolumeShaper$State;->mVolume:F
-Landroid/media/VolumeShaper$State;->mXOffset:F
-Landroid/media/WebVttRenderer;-><init>(Landroid/content/Context;)V
 Landroid/net/IConnectivityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveLinkProperties()Landroid/net/LinkProperties;
 Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
@@ -1679,80 +1230,6 @@
 Landroid/os/WorkSource;->updateLocked(Landroid/os/WorkSource;ZZ)Z
 Landroid/os/ZygoteStartFailedEx;-><init>(Ljava/lang/String;)V
 Landroid/os/ZygoteStartFailedEx;-><init>(Ljava/lang/Throwable;)V
-Landroid/preference/DialogPreference;->mBuilder:Landroid/app/AlertDialog$Builder;
-Landroid/preference/DialogPreference;->mDialog:Landroid/app/Dialog;
-Landroid/preference/DialogPreference;->mDialogIcon:Landroid/graphics/drawable/Drawable;
-Landroid/preference/DialogPreference;->mDialogMessage:Ljava/lang/CharSequence;
-Landroid/preference/DialogPreference;->mDialogTitle:Ljava/lang/CharSequence;
-Landroid/preference/DialogPreference;->mNegativeButtonText:Ljava/lang/CharSequence;
-Landroid/preference/DialogPreference;->mPositiveButtonText:Ljava/lang/CharSequence;
-Landroid/preference/DialogPreference;->mWhichButtonClicked:I
-Landroid/preference/EditTextPreference;->mEditText:Landroid/widget/EditText;
-Landroid/preference/ListPreference;->mClickedDialogEntryIndex:I
-Landroid/preference/Preference;->getId()J
-Landroid/preference/Preference;->mLayoutResId:I
-Landroid/preference/Preference;->mSummary:Ljava/lang/CharSequence;
-Landroid/preference/Preference;->mWidgetLayoutResId:I
-Landroid/preference/Preference;->onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z
-Landroid/preference/Preference;->performClick(Landroid/preference/PreferenceScreen;)V
-Landroid/preference/Preference;->registerDependent(Landroid/preference/Preference;)V
-Landroid/preference/Preference;->setOnPreferenceChangeInternalListener(Landroid/preference/Preference$OnPreferenceChangeInternalListener;)V
-Landroid/preference/PreferenceActivity;->getHeaders()Ljava/util/List;
-Landroid/preference/PreferenceActivity;->mPreferenceManager:Landroid/preference/PreferenceManager;
-Landroid/preference/PreferenceActivity;->mPrefsContainer:Landroid/view/ViewGroup;
-Landroid/preference/PreferenceActivity;->postBindPreferences()V
-Landroid/preference/PreferenceActivity;->requirePreferenceManager()V
-Landroid/preference/PreferenceFragment;->getListView()Landroid/widget/ListView;
-Landroid/preference/PreferenceFragment;->mPreferenceManager:Landroid/preference/PreferenceManager;
-Landroid/preference/PreferenceManager;-><init>(Landroid/app/Activity;I)V
-Landroid/preference/PreferenceManager;-><init>(Landroid/content/Context;)V
-Landroid/preference/PreferenceManager;->dispatchActivityDestroy()V
-Landroid/preference/PreferenceManager;->dispatchActivityResult(IILandroid/content/Intent;)V
-Landroid/preference/PreferenceManager;->dispatchActivityStop()V
-Landroid/preference/PreferenceManager;->getActivity()Landroid/app/Activity;
-Landroid/preference/PreferenceManager;->getEditor()Landroid/content/SharedPreferences$Editor;
-Landroid/preference/PreferenceManager;->getFragment()Landroid/preference/PreferenceFragment;
-Landroid/preference/PreferenceManager;->getNextRequestCode()I
-Landroid/preference/PreferenceManager;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
-Landroid/preference/PreferenceManager;->inflateFromIntent(Landroid/content/Intent;Landroid/preference/PreferenceScreen;)Landroid/preference/PreferenceScreen;
-Landroid/preference/PreferenceManager;->inflateFromResource(Landroid/content/Context;ILandroid/preference/PreferenceScreen;)Landroid/preference/PreferenceScreen;
-Landroid/preference/PreferenceManager;->mActivityDestroyListeners:Ljava/util/List;
-Landroid/preference/PreferenceManager;->mFragment:Landroid/preference/PreferenceFragment;
-Landroid/preference/PreferenceManager;->mOnPreferenceTreeClickListener:Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;
-Landroid/preference/PreferenceManager;->mSharedPreferences:Landroid/content/SharedPreferences;
-Landroid/preference/PreferenceManager;->registerOnActivityDestroyListener(Landroid/preference/PreferenceManager$OnActivityDestroyListener;)V
-Landroid/preference/PreferenceManager;->registerOnActivityResultListener(Landroid/preference/PreferenceManager$OnActivityResultListener;)V
-Landroid/preference/PreferenceManager;->registerOnActivityStopListener(Landroid/preference/PreferenceManager$OnActivityStopListener;)V
-Landroid/preference/PreferenceManager;->setFragment(Landroid/preference/PreferenceFragment;)V
-Landroid/preference/PreferenceManager;->setNoCommit(Z)V
-Landroid/preference/PreferenceManager;->setPreferences(Landroid/preference/PreferenceScreen;)Z
-Landroid/preference/PreferenceManager;->shouldCommit()Z
-Landroid/preference/PreferenceManager;->unregisterOnActivityDestroyListener(Landroid/preference/PreferenceManager$OnActivityDestroyListener;)V
-Landroid/preference/PreferenceManager;->unregisterOnActivityResultListener(Landroid/preference/PreferenceManager$OnActivityResultListener;)V
-Landroid/preference/PreferenceManager;->unregisterOnActivityStopListener(Landroid/preference/PreferenceManager$OnActivityStopListener;)V
-Landroid/preference/PreferenceScreen;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/preference/PreferenceScreen;->mListView:Landroid/widget/ListView;
-Landroid/preference/PreferenceScreen;->mRootAdapter:Landroid/widget/ListAdapter;
-Landroid/preference/RingtonePreference;->mRequestCode:I
-Landroid/preference/SeekBarDialogPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/preference/SeekBarPreference;-><init>(Landroid/content/Context;)V
-Landroid/preference/SeekBarPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/preference/SeekBarPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-Landroid/preference/SeekBarVolumizer;-><init>(Landroid/content/Context;ILandroid/net/Uri;Landroid/preference/SeekBarVolumizer$Callback;)V
-Landroid/preference/SeekBarVolumizer;->mAudioManager:Landroid/media/AudioManager;
-Landroid/preference/SeekBarVolumizer;->mContext:Landroid/content/Context;
-Landroid/preference/SeekBarVolumizer;->mLastProgress:I
-Landroid/preference/SeekBarVolumizer;->mOriginalStreamVolume:I
-Landroid/preference/SeekBarVolumizer;->mRingtone:Landroid/media/Ringtone;
-Landroid/preference/SeekBarVolumizer;->mSeekBar:Landroid/widget/SeekBar;
-Landroid/preference/SeekBarVolumizer;->mStreamType:I
-Landroid/preference/SeekBarVolumizer;->stop()V
-Landroid/preference/SwitchPreference;->mListener:Landroid/preference/SwitchPreference$Listener;
-Landroid/preference/TwoStatePreference;->syncSummaryView(Landroid/view/View;)V
-Landroid/preference/VolumePreference$VolumeStore;->originalVolume:I
-Landroid/preference/VolumePreference$VolumeStore;->volume:I
-Landroid/preference/VolumePreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/preference/VolumePreference;->mStreamType:I
 Landroid/R$styleable;->ActionBar:[I
 Landroid/R$styleable;->ActionBar_background:I
 Landroid/R$styleable;->ActionBar_backgroundSplit:I
@@ -2485,37 +1962,6 @@
 Landroid/transition/TransitionManager;->sPendingTransitions:Ljava/util/ArrayList;
 Landroid/transition/TransitionManager;->sRunningTransitions:Ljava/lang/ThreadLocal;
 Landroid/util/Singleton;-><init>()V
-Landroid/view/accessibility/AccessibilityEvent;->mAction:I
-Landroid/view/accessibility/AccessibilityEvent;->mEventType:I
-Landroid/view/accessibility/AccessibilityInteractionClient;->clearCache()V
-Landroid/view/accessibility/AccessibilityInteractionClient;->getInstance()Landroid/view/accessibility/AccessibilityInteractionClient;
-Landroid/view/accessibility/AccessibilityInteractionClient;->setSameThreadMessage(Landroid/os/Message;)V
-Landroid/view/accessibility/AccessibilityManager;->DALTONIZER_SIMULATE_MONOCHROMACY:I
-Landroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
-Landroid/view/accessibility/AccessibilityManager;->isHighTextContrastEnabled()Z
-Landroid/view/accessibility/AccessibilityManager;->mAccessibilityStateChangeListeners:Landroid/util/ArrayMap;
-Landroid/view/accessibility/AccessibilityManager;->mHandler:Landroid/os/Handler;
-Landroid/view/accessibility/AccessibilityManager;->mIsEnabled:Z
-Landroid/view/accessibility/AccessibilityManager;->mIsHighTextContrastEnabled:Z
-Landroid/view/accessibility/AccessibilityManager;->mLock:Ljava/lang/Object;
-Landroid/view/accessibility/AccessibilityManager;->mService:Landroid/view/accessibility/IAccessibilityManager;
-Landroid/view/accessibility/AccessibilityManager;->mUserId:I
-Landroid/view/accessibility/AccessibilityManager;->setStateLocked(I)V
-Landroid/view/accessibility/AccessibilityManager;->sInstance:Landroid/view/accessibility/AccessibilityManager;
-Landroid/view/accessibility/AccessibilityManager;->sInstanceSync:Ljava/lang/Object;
-Landroid/view/accessibility/AccessibilityNodeInfo;->getAccessibilityViewId(J)I
-Landroid/view/accessibility/AccessibilityNodeInfo;->getSourceNodeId()J
-Landroid/view/accessibility/AccessibilityNodeInfo;->getVirtualDescendantId(J)I
-Landroid/view/accessibility/AccessibilityNodeInfo;->isSealed()Z
-Landroid/view/accessibility/AccessibilityNodeInfo;->mChildNodeIds:Landroid/util/LongArray;
-Landroid/view/accessibility/AccessibilityNodeInfo;->mSealed:Z
-Landroid/view/accessibility/AccessibilityNodeInfo;->mSourceNodeId:J
-Landroid/view/accessibility/AccessibilityNodeInfo;->refresh(Landroid/os/Bundle;Z)Z
-Landroid/view/accessibility/AccessibilityNodeInfo;->setSealed(Z)V
-Landroid/view/accessibility/AccessibilityRecord;->getSourceNodeId()J
-Landroid/view/accessibility/AccessibilityRecord;->mSealed:Z
-Landroid/view/accessibility/AccessibilityRecord;->mSourceNodeId:J
-Landroid/view/accessibility/CaptioningManager$CaptionStyle;->PRESETS:[Landroid/view/accessibility/CaptioningManager$CaptionStyle;
 Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V
 Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V
 Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setPerformAccessibilityActionResult(ZI)V
@@ -2524,129 +1970,12 @@
 Landroid/view/accessibility/IAccessibilityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityManager;
 Landroid/view/accessibility/IAccessibilityManager;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
 Landroid/view/AccessibilityIterators$AbstractTextSegmentIterator;-><init>()V
-Landroid/view/AccessibilityIterators$AbstractTextSegmentIterator;->mText:Ljava/lang/String;
-Landroid/view/ActionProvider;->reset()V
-Landroid/view/ActionProvider;->setSubUiVisibilityListener(Landroid/view/ActionProvider$SubUiVisibilityListener;)V
 Landroid/view/autofill/IAutoFillManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/view/autofill/IAutoFillManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutoFillManager;
-Landroid/view/Choreographer$CallbackQueue;->addCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)V
-Landroid/view/Choreographer$CallbackRecord;->run(J)V
-Landroid/view/Choreographer;->doFrame(JI)V
-Landroid/view/Choreographer;->getFrameTime()J
-Landroid/view/Choreographer;->getFrameTimeNanos()J
-Landroid/view/Choreographer;->mCallbackQueues:[Landroid/view/Choreographer$CallbackQueue;
-Landroid/view/Choreographer;->mDisplayEventReceiver:Landroid/view/Choreographer$FrameDisplayEventReceiver;
-Landroid/view/Choreographer;->mFrameIntervalNanos:J
-Landroid/view/Choreographer;->mLastFrameTimeNanos:J
-Landroid/view/Choreographer;->mLock:Ljava/lang/Object;
-Landroid/view/Choreographer;->scheduleVsyncLocked()V
-Landroid/view/Choreographer;->USE_VSYNC:Z
-Landroid/view/ContextThemeWrapper;->getThemeResId()I
-Landroid/view/ContextThemeWrapper;->initializeTheme()V
-Landroid/view/ContextThemeWrapper;->mInflater:Landroid/view/LayoutInflater;
-Landroid/view/ContextThemeWrapper;->mResources:Landroid/content/res/Resources;
-Landroid/view/ContextThemeWrapper;->mTheme:Landroid/content/res/Resources$Theme;
-Landroid/view/ContextThemeWrapper;->mThemeResource:I
-Landroid/view/Display$HdrCapabilities;-><init>([IFFF)V
-Landroid/view/Display$Mode;-><init>(IIIF)V
-Landroid/view/Display;->getAddress()Ljava/lang/String;
-Landroid/view/Display;->getDisplayAdjustments()Landroid/view/DisplayAdjustments;
-Landroid/view/Display;->getDisplayInfo(Landroid/view/DisplayInfo;)Z
-Landroid/view/Display;->getMaximumSizeDimension()I
-Landroid/view/Display;->getOwnerPackageName()Ljava/lang/String;
-Landroid/view/Display;->getType()I
-Landroid/view/Display;->mDisplayInfo:Landroid/view/DisplayInfo;
-Landroid/view/Display;->TYPE_HDMI:I
-Landroid/view/Display;->TYPE_UNKNOWN:I
-Landroid/view/Display;->TYPE_VIRTUAL:I
-Landroid/view/Display;->TYPE_WIFI:I
-Landroid/view/DisplayAdjustments;-><init>()V
-Landroid/view/DisplayAdjustments;->getConfiguration()Landroid/content/res/Configuration;
-Landroid/view/DisplayAdjustments;->setCompatibilityInfo(Landroid/content/res/CompatibilityInfo;)V
-Landroid/view/DisplayEventReceiver;-><init>(Landroid/os/Looper;)V
-Landroid/view/DisplayEventReceiver;->dispatchHotplug(JIZ)V
-Landroid/view/DisplayEventReceiver;->dispatchVsync(JII)V
-Landroid/view/DisplayEventReceiver;->mReceiverPtr:J
-Landroid/view/DisplayEventReceiver;->onHotplug(JIZ)V
-Landroid/view/DisplayEventReceiver;->onVsync(JII)V
-Landroid/view/DisplayEventReceiver;->scheduleVsync()V
-Landroid/view/DisplayInfo;-><init>()V
-Landroid/view/DisplayInfo;->displayCutout:Landroid/view/DisplayCutout;
-Landroid/view/DisplayInfo;->logicalHeight:I
-Landroid/view/DisplayInfo;->logicalWidth:I
-Landroid/view/DisplayInfo;->rotation:I
-Landroid/view/DisplayListCanvas;->callDrawGLFunction2(J)V
-Landroid/view/DisplayListCanvas;->drawCircle(Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;)V
-Landroid/view/DisplayListCanvas;->drawGLFunctor2(JLjava/lang/Runnable;)V
-Landroid/view/DragEvent;->mClipData:Landroid/content/ClipData;
-Landroid/view/DragEvent;->mClipDescription:Landroid/content/ClipDescription;
-Landroid/view/DragEvent;->obtain(Landroid/view/DragEvent;)Landroid/view/DragEvent;
-Landroid/view/FrameMetrics;->mTimingData:[J
-Landroid/view/FrameMetricsObserver;->mFrameMetrics:Landroid/view/FrameMetrics;
-Landroid/view/FrameMetricsObserver;->mMessageQueue:Landroid/os/MessageQueue;
-Landroid/view/FrameMetricsObserver;->notifyDataAvailable(I)V
-Landroid/view/GestureDetector;->LONGPRESS_TIMEOUT:I
-Landroid/view/GestureDetector;->mAlwaysInTapRegion:Z
-Landroid/view/GestureDetector;->mListener:Landroid/view/GestureDetector$OnGestureListener;
-Landroid/view/GestureDetector;->mMinimumFlingVelocity:I
-Landroid/view/GestureDetector;->mTouchSlopSquare:I
-Landroid/view/GhostView;->addGhost(Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/GhostView;
-Landroid/view/GhostView;->addGhost(Landroid/view/View;Landroid/view/ViewGroup;Landroid/graphics/Matrix;)Landroid/view/GhostView;
-Landroid/view/GhostView;->removeGhost(Landroid/view/View;)V
 Landroid/view/IApplicationToken$Stub;-><init>()V
 Landroid/view/IDockedStackListener$Stub;-><init>()V
 Landroid/view/IGraphicsStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/view/IGraphicsStats$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStats;
-Landroid/view/InputChannel;-><init>()V
-Landroid/view/InputChannel;->CREATOR:Landroid/os/Parcelable$Creator;
-Landroid/view/InputChannel;->mPtr:J
-Landroid/view/InputDevice;-><init>(IIILjava/lang/String;IILjava/lang/String;ZIILandroid/view/KeyCharacterMap;ZZZ)V
-Landroid/view/InputDevice;->addMotionRange(IIFFFFF)V
-Landroid/view/InputDevice;->isExternal()Z
-Landroid/view/InputDevice;->mIsExternal:Z
-Landroid/view/InputEvent;->getSequenceNumber()I
-Landroid/view/InputEventConsistencyVerifier;-><init>(Ljava/lang/Object;I)V
-Landroid/view/InputEventConsistencyVerifier;->isInstrumentationEnabled()Z
-Landroid/view/InputEventConsistencyVerifier;->onTouchEvent(Landroid/view/MotionEvent;I)V
-Landroid/view/InputEventConsistencyVerifier;->onUnhandledEvent(Landroid/view/InputEvent;I)V
-Landroid/view/InputEventReceiver;->dispatchBatchedInputEventPending()V
-Landroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;I)V
-Landroid/view/InputEventSender;->dispatchInputEventFinished(IZ)V
-Landroid/view/InputFilter;-><init>(Landroid/os/Looper;)V
-Landroid/view/InputFilter;->onInputEvent(Landroid/view/InputEvent;I)V
-Landroid/view/inputmethod/InputMethodInfo;->isDefault(Landroid/content/Context;)Z
-Landroid/view/inputmethod/InputMethodInfo;->mSubtypes:Landroid/view/inputmethod/InputMethodSubtypeArray;
-Landroid/view/inputmethod/InputMethodManager;->checkFocus()V
-Landroid/view/inputmethod/InputMethodManager;->closeCurrentInput()V
-Landroid/view/inputmethod/InputMethodManager;->finishInputLocked()V
-Landroid/view/inputmethod/InputMethodManager;->focusIn(Landroid/view/View;)V
-Landroid/view/inputmethod/InputMethodManager;->focusOut(Landroid/view/View;)V
-Landroid/view/inputmethod/InputMethodManager;->getClient()Lcom/android/internal/view/IInputMethodClient;
-Landroid/view/inputmethod/InputMethodManager;->getInputContext()Lcom/android/internal/view/IInputContext;
-Landroid/view/inputmethod/InputMethodManager;->getInputMethodWindowVisibleHeight()I
-Landroid/view/inputmethod/InputMethodManager;->getInstance()Landroid/view/inputmethod/InputMethodManager;
-Landroid/view/inputmethod/InputMethodManager;->isCursorAnchorInfoEnabled()Z
-Landroid/view/inputmethod/InputMethodManager;->mCurId:Ljava/lang/String;
-Landroid/view/inputmethod/InputMethodManager;->mCurMethod:Lcom/android/internal/view/IInputMethodSession;
-Landroid/view/inputmethod/InputMethodManager;->mCurRootView:Landroid/view/View;
-Landroid/view/inputmethod/InputMethodManager;->mCursorRect:Landroid/graphics/Rect;
-Landroid/view/inputmethod/InputMethodManager;->mH:Landroid/view/inputmethod/InputMethodManager$H;
-Landroid/view/inputmethod/InputMethodManager;->mNextServedView:Landroid/view/View;
-Landroid/view/inputmethod/InputMethodManager;->mServedInputConnectionWrapper:Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;
-Landroid/view/inputmethod/InputMethodManager;->mServedView:Landroid/view/View;
-Landroid/view/inputmethod/InputMethodManager;->mService:Lcom/android/internal/view/IInputMethodManager;
-Landroid/view/inputmethod/InputMethodManager;->mTmpCursorRect:Landroid/graphics/Rect;
-Landroid/view/inputmethod/InputMethodManager;->notifySuggestionPicked(Landroid/text/style/SuggestionSpan;Ljava/lang/String;I)V
-Landroid/view/inputmethod/InputMethodManager;->notifyUserAction()V
-Landroid/view/inputmethod/InputMethodManager;->onPreWindowFocus(Landroid/view/View;Z)V
-Landroid/view/inputmethod/InputMethodManager;->peekInstance()Landroid/view/inputmethod/InputMethodManager;
-Landroid/view/inputmethod/InputMethodManager;->registerSuggestionSpansForNotification([Landroid/text/style/SuggestionSpan;)V
-Landroid/view/inputmethod/InputMethodManager;->setUpdateCursorAnchorInfoMode(I)V
-Landroid/view/inputmethod/InputMethodManager;->showSoftInputUnchecked(ILandroid/os/ResultReceiver;)V
-Landroid/view/inputmethod/InputMethodManager;->sInstance:Landroid/view/inputmethod/InputMethodManager;
-Landroid/view/inputmethod/InputMethodManager;->windowDismissed(Landroid/os/IBinder;)V
-Landroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Ljava/util/List;)V
-Landroid/view/InputQueue;->finishInputEvent(JZ)V
 Landroid/view/IOnKeyguardExitResult;->onKeyguardExitResult(Z)V
 Landroid/view/IRecentsAnimationController;->setAnimationTargetsBehindSystemBars(Z)V
 Landroid/view/IRotationWatcher$Stub;-><init>()V
@@ -2703,658 +2032,16 @@
 Landroid/view/IWindowSession;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
 Landroid/view/IWindowSession;->wallpaperCommandComplete(Landroid/os/IBinder;Landroid/os/Bundle;)V
 Landroid/view/IWindowSession;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
-Landroid/view/KeyCharacterMap$FallbackAction;->keyCode:I
-Landroid/view/KeyCharacterMap$FallbackAction;->metaState:I
-Landroid/view/KeyCharacterMap;-><init>(J)V
-Landroid/view/KeyEvent;->actionToString(I)Ljava/lang/String;
-Landroid/view/KeyEvent;->isConfirmKey(I)Z
-Landroid/view/KeyEvent;->isDown()Z
-Landroid/view/KeyEvent;->mAction:I
-Landroid/view/KeyEvent;->mCharacters:Ljava/lang/String;
-Landroid/view/KeyEvent;->mDeviceId:I
-Landroid/view/KeyEvent;->mDownTime:J
-Landroid/view/KeyEvent;->META_ALL_MASK:I
-Landroid/view/KeyEvent;->META_ALT_LOCKED:I
-Landroid/view/KeyEvent;->META_CAP_LOCKED:I
-Landroid/view/KeyEvent;->META_INVALID_MODIFIER_MASK:I
-Landroid/view/KeyEvent;->META_LOCK_MASK:I
-Landroid/view/KeyEvent;->META_MODIFIER_MASK:I
-Landroid/view/KeyEvent;->META_SELECTING:I
-Landroid/view/KeyEvent;->META_SYMBOLIC_NAMES:[Ljava/lang/String;
-Landroid/view/KeyEvent;->META_SYM_LOCKED:I
-Landroid/view/KeyEvent;->META_SYNTHETIC_MASK:I
-Landroid/view/KeyEvent;->mEventTime:J
-Landroid/view/KeyEvent;->mFlags:I
-Landroid/view/KeyEvent;->mKeyCode:I
-Landroid/view/KeyEvent;->mMetaState:I
-Landroid/view/KeyEvent;->mRepeatCount:I
-Landroid/view/KeyEvent;->mScanCode:I
-Landroid/view/KeyEvent;->mSource:I
-Landroid/view/KeyEvent;->obtain(JJIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent;
-Landroid/view/KeyEvent;->recycle()V
-Landroid/view/LayoutInflater;->ATTRS_THEME:[I
-Landroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
-Landroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;Z)Landroid/view/View;
-Landroid/view/LayoutInflater;->mConstructorArgs:[Ljava/lang/Object;
-Landroid/view/LayoutInflater;->mConstructorSignature:[Ljava/lang/Class;
-Landroid/view/LayoutInflater;->mContext:Landroid/content/Context;
-Landroid/view/LayoutInflater;->mFactory2:Landroid/view/LayoutInflater$Factory2;
-Landroid/view/LayoutInflater;->mFactory:Landroid/view/LayoutInflater$Factory;
-Landroid/view/LayoutInflater;->mFactorySet:Z
-Landroid/view/LayoutInflater;->mPrivateFactory:Landroid/view/LayoutInflater$Factory2;
-Landroid/view/LayoutInflater;->parseInclude(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/Context;Landroid/view/View;Landroid/util/AttributeSet;)V
-Landroid/view/LayoutInflater;->sConstructorMap:Ljava/util/HashMap;
-Landroid/view/LayoutInflater;->setPrivateFactory(Landroid/view/LayoutInflater$Factory2;)V
-Landroid/view/MotionEvent$PointerCoords;->createArray(I)[Landroid/view/MotionEvent$PointerCoords;
-Landroid/view/MotionEvent$PointerCoords;->mPackedAxisBits:J
-Landroid/view/MotionEvent$PointerCoords;->mPackedAxisValues:[F
-Landroid/view/MotionEvent$PointerProperties;->createArray(I)[Landroid/view/MotionEvent$PointerProperties;
-Landroid/view/MotionEvent;->addBatch(Landroid/view/MotionEvent;)Z
-Landroid/view/MotionEvent;->copy()Landroid/view/MotionEvent;
-Landroid/view/MotionEvent;->getEventTimeNano()J
-Landroid/view/MotionEvent;->getPointerIdBits()I
-Landroid/view/MotionEvent;->HISTORY_CURRENT:I
-Landroid/view/MotionEvent;->mNativePtr:J
-Landroid/view/MotionEvent;->nativeGetRawAxisValue(JIII)F
-Landroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent;
-Landroid/view/MotionEvent;->scale(F)V
-Landroid/view/MotionEvent;->setDownTime(J)V
-Landroid/view/MotionEvent;->split(I)Landroid/view/MotionEvent;
-Landroid/view/NotificationHeaderView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-Landroid/view/PointerIcon;->load(Landroid/content/Context;)Landroid/view/PointerIcon;
-Landroid/view/PointerIcon;->mBitmap:Landroid/graphics/Bitmap;
-Landroid/view/PointerIcon;->mBitmapFrames:[Landroid/graphics/Bitmap;
-Landroid/view/PointerIcon;->mDurationPerFrame:I
-Landroid/view/PointerIcon;->mHotSpotX:F
-Landroid/view/PointerIcon;->mHotSpotY:F
-Landroid/view/PointerIcon;->mType:I
-Landroid/view/RemoteAnimationDefinition;->addRemoteAnimation(IILandroid/view/RemoteAnimationAdapter;)V
-Landroid/view/RemoteAnimationTarget;->clipRect:Landroid/graphics/Rect;
-Landroid/view/RemoteAnimationTarget;->contentInsets:Landroid/graphics/Rect;
-Landroid/view/RemoteAnimationTarget;->isNotInRecents:Z
-Landroid/view/RemoteAnimationTarget;->isTranslucent:Z
-Landroid/view/RemoteAnimationTarget;->leash:Landroid/view/SurfaceControl;
-Landroid/view/RemoteAnimationTarget;->mode:I
-Landroid/view/RemoteAnimationTarget;->position:Landroid/graphics/Point;
-Landroid/view/RemoteAnimationTarget;->prefixOrderIndex:I
-Landroid/view/RemoteAnimationTarget;->sourceContainerBounds:Landroid/graphics/Rect;
-Landroid/view/RemoteAnimationTarget;->taskId:I
-Landroid/view/RemoteAnimationTarget;->windowConfiguration:Landroid/app/WindowConfiguration;
-Landroid/view/RenderNode;->discardDisplayList()V
-Landroid/view/RenderNode;->offsetLeftAndRight(I)Z
-Landroid/view/RenderNode;->output()V
-Landroid/view/RenderNode;->setHasOverlappingRendering(Z)Z
-Landroid/view/RenderNode;->setProjectBackwards(Z)Z
-Landroid/view/RenderNodeAnimator;-><init>(IF)V
-Landroid/view/RenderNodeAnimator;-><init>(Landroid/graphics/CanvasProperty;F)V
-Landroid/view/RenderNodeAnimator;-><init>(Landroid/graphics/CanvasProperty;IF)V
-Landroid/view/RenderNodeAnimator;->callOnFinished(Landroid/view/RenderNodeAnimator;)V
-Landroid/view/RenderNodeAnimator;->mapViewPropertyToRenderProperty(I)I
-Landroid/view/RenderNodeAnimator;->setStartValue(F)V
-Landroid/view/RenderNodeAnimator;->setTarget(Landroid/view/View;)V
-Landroid/view/ScaleGestureDetector;->mListener:Landroid/view/ScaleGestureDetector$OnScaleGestureListener;
-Landroid/view/ScaleGestureDetector;->mMinSpan:I
-Landroid/view/ScaleGestureDetector;->mSpanSlop:I
-Landroid/view/Surface;-><init>()V
-Landroid/view/Surface;-><init>(J)V
-Landroid/view/Surface;->copyFrom(Landroid/view/SurfaceControl;)V
-Landroid/view/Surface;->destroy()V
-Landroid/view/Surface;->mLock:Ljava/lang/Object;
-Landroid/view/Surface;->mLockedObject:J
-Landroid/view/Surface;->mName:Ljava/lang/String;
-Landroid/view/Surface;->mNativeObject:J
-Landroid/view/Surface;->nativeRelease(J)V
-Landroid/view/Surface;->transferFrom(Landroid/view/Surface;)V
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;-><init>()V
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->appVsyncOffsetNanos:J
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->density:F
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->height:I
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->presentationDeadlineNanos:J
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->refreshRate:F
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->secure:Z
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->width:I
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->xDpi:F
-Landroid/view/SurfaceControl$PhysicalDisplayInfo;->yDpi:F
-Landroid/view/SurfaceControl;->closeTransaction()V
-Landroid/view/SurfaceControl;->createDisplay(Ljava/lang/String;Z)Landroid/os/IBinder;
-Landroid/view/SurfaceControl;->destroyDisplay(Landroid/os/IBinder;)V
-Landroid/view/SurfaceControl;->getBuiltInDisplay(I)Landroid/os/IBinder;
-Landroid/view/SurfaceControl;->getDisplayConfigs(Landroid/os/IBinder;)[Landroid/view/SurfaceControl$PhysicalDisplayInfo;
-Landroid/view/SurfaceControl;->HIDDEN:I
-Landroid/view/SurfaceControl;->hide()V
-Landroid/view/SurfaceControl;->openTransaction()V
-Landroid/view/SurfaceControl;->screenshot(Landroid/graphics/Rect;IIIIZI)Landroid/graphics/Bitmap;
-Landroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;Landroid/graphics/Rect;IIIIZZ)V
-Landroid/view/SurfaceControl;->setDisplayLayerStack(Landroid/os/IBinder;I)V
-Landroid/view/SurfaceControl;->setDisplayProjection(Landroid/os/IBinder;ILandroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/view/SurfaceControl;->setDisplaySurface(Landroid/os/IBinder;Landroid/view/Surface;)V
-Landroid/view/SurfaceControl;->setLayer(I)V
-Landroid/view/SurfaceControl;->setPosition(FF)V
-Landroid/view/SurfaceControl;->show()V
-Landroid/view/SurfaceSession;-><init>()V
-Landroid/view/SurfaceSession;->kill()V
-Landroid/view/SurfaceSession;->mNativeClient:J
-Landroid/view/SurfaceView;->isFixedSize()Z
-Landroid/view/SurfaceView;->mCallbacks:Ljava/util/ArrayList;
-Landroid/view/SurfaceView;->mDrawingStopped:Z
-Landroid/view/SurfaceView;->mDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener;
-Landroid/view/SurfaceView;->mFormat:I
-Landroid/view/SurfaceView;->mHaveFrame:Z
-Landroid/view/SurfaceView;->mIsCreating:Z
-Landroid/view/SurfaceView;->mLastLockTime:J
-Landroid/view/SurfaceView;->mRequestedFormat:I
-Landroid/view/SurfaceView;->mRequestedHeight:I
-Landroid/view/SurfaceView;->mRequestedWidth:I
-Landroid/view/SurfaceView;->mSurface:Landroid/view/Surface;
-Landroid/view/SurfaceView;->mSurfaceFrame:Landroid/graphics/Rect;
-Landroid/view/SurfaceView;->mSurfaceHolder:Landroid/view/SurfaceHolder;
-Landroid/view/SurfaceView;->mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock;
-Landroid/view/SurfaceView;->setFrame(IIII)Z
-Landroid/view/SurfaceView;->surfacePositionLost_uiRtSync(J)V
-Landroid/view/SurfaceView;->updateSurfacePosition_renderWorker(JIIII)V
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(III)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(IIILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(II)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextSelection;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionStarted(I)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;-><init>(Landroid/content/Context;I)V
-Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->logEvent(Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;)V
-Landroid/view/textclassifier/TextClassificationManager;->getTextClassifier(I)Landroid/view/textclassifier/TextClassifier;
-Landroid/view/textclassifier/TextClassifier;->classifyText(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextClassification$Options;)Landroid/view/textclassifier/TextClassification;
-Landroid/view/textclassifier/TextClassifier;->generateLinks(Ljava/lang/CharSequence;Landroid/view/textclassifier/TextLinks$Options;)Landroid/view/textclassifier/TextLinks;
-Landroid/view/textclassifier/TextClassifier;->suggestSelection(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextSelection$Options;)Landroid/view/textclassifier/TextSelection;
-Landroid/view/textclassifier/TextLinks$Options;-><init>()V
-Landroid/view/textservice/SpellCheckerSession;->mSpellCheckerSessionListener:Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;
-Landroid/view/textservice/TextServicesManager;->getCurrentSpellChecker()Landroid/view/textservice/SpellCheckerInfo;
-Landroid/view/textservice/TextServicesManager;->getCurrentSpellCheckerSubtype(Z)Landroid/view/textservice/SpellCheckerSubtype;
-Landroid/view/textservice/TextServicesManager;->getEnabledSpellCheckers()[Landroid/view/textservice/SpellCheckerInfo;
-Landroid/view/textservice/TextServicesManager;->getInstance()Landroid/view/textservice/TextServicesManager;
-Landroid/view/textservice/TextServicesManager;->isSpellCheckerEnabled()Z
-Landroid/view/TextureView;->destroyHardwareLayer()V
-Landroid/view/TextureView;->destroyHardwareResources()V
-Landroid/view/TextureView;->mLayer:Landroid/view/TextureLayer;
-Landroid/view/TextureView;->mNativeWindow:J
-Landroid/view/TextureView;->mOpaque:Z
-Landroid/view/TextureView;->mSurface:Landroid/graphics/SurfaceTexture;
-Landroid/view/TextureView;->mUpdateListener:Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;
-Landroid/view/TextureView;->mUpdateSurface:Z
-Landroid/view/TextureView;->nCreateNativeWindow(Landroid/graphics/SurfaceTexture;)V
-Landroid/view/TextureView;->nDestroyNativeWindow()V
-Landroid/view/TextureView;->onDetachedFromWindowInternal()V
-Landroid/view/ThreadedRenderer;->addRenderNode(Landroid/view/RenderNode;Z)V
-Landroid/view/ThreadedRenderer;->drawRenderNode(Landroid/view/RenderNode;)V
-Landroid/view/ThreadedRenderer;->removeRenderNode(Landroid/view/RenderNode;)V
-Landroid/view/ThreadedRenderer;->setContentDrawBounds(IIII)V
-Landroid/view/ThreadedRenderer;->setupDiskCache(Ljava/io/File;)V
-Landroid/view/TouchDelegate;->mDelegateTargeted:Z
-Landroid/view/VelocityTracker$Estimator;->confidence:F
-Landroid/view/VelocityTracker$Estimator;->degree:I
-Landroid/view/VelocityTracker$Estimator;->xCoeff:[F
-Landroid/view/VelocityTracker$Estimator;->yCoeff:[F
-Landroid/view/VelocityTracker;->obtain(Ljava/lang/String;)Landroid/view/VelocityTracker;
-Landroid/view/View$AccessibilityDelegate;->createAccessibilityNodeInfo(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeInfo;
 Landroid/view/View$AttachInfo$InvalidateInfo;-><init>()V
-Landroid/view/View$AttachInfo$InvalidateInfo;->bottom:I
-Landroid/view/View$AttachInfo$InvalidateInfo;->left:I
-Landroid/view/View$AttachInfo$InvalidateInfo;->right:I
-Landroid/view/View$AttachInfo$InvalidateInfo;->target:Landroid/view/View;
-Landroid/view/View$AttachInfo$InvalidateInfo;->top:I
-Landroid/view/View$AttachInfo;->mApplicationScale:F
-Landroid/view/View$AttachInfo;->mContentInsets:Landroid/graphics/Rect;
-Landroid/view/View$AttachInfo;->mDisplayState:I
-Landroid/view/View$AttachInfo;->mDrawingTime:J
-Landroid/view/View$AttachInfo;->mGivenInternalInsets:Landroid/view/ViewTreeObserver$InternalInsetsInfo;
-Landroid/view/View$AttachInfo;->mHandler:Landroid/os/Handler;
-Landroid/view/View$AttachInfo;->mHasWindowFocus:Z
-Landroid/view/View$AttachInfo;->mInTouchMode:Z
-Landroid/view/View$AttachInfo;->mKeepScreenOn:Z
-Landroid/view/View$AttachInfo;->mKeyDispatchState:Landroid/view/KeyEvent$DispatcherState;
-Landroid/view/View$AttachInfo;->mRecomputeGlobalAttributes:Z
-Landroid/view/View$AttachInfo;->mScalingRequired:Z
-Landroid/view/View$AttachInfo;->mScrollContainers:Ljava/util/ArrayList;
-Landroid/view/View$AttachInfo;->mSession:Landroid/view/IWindowSession;
-Landroid/view/View$AttachInfo;->mStableInsets:Landroid/graphics/Rect;
-Landroid/view/View$AttachInfo;->mTreeObserver:Landroid/view/ViewTreeObserver;
-Landroid/view/View$AttachInfo;->mViewScrollChanged:Z
-Landroid/view/View$AttachInfo;->mViewVisibilityChanged:Z
-Landroid/view/View$AttachInfo;->mVisibleInsets:Landroid/graphics/Rect;
-Landroid/view/View$AttachInfo;->mWindow:Landroid/view/IWindow;
-Landroid/view/View$DragShadowBuilder;->mView:Ljava/lang/ref/WeakReference;
 Landroid/view/View$ListenerInfo;-><init>()V
-Landroid/view/View$ListenerInfo;->mOnClickListener:Landroid/view/View$OnClickListener;
-Landroid/view/View$ListenerInfo;->mOnCreateContextMenuListener:Landroid/view/View$OnCreateContextMenuListener;
-Landroid/view/View$ListenerInfo;->mOnDragListener:Landroid/view/View$OnDragListener;
-Landroid/view/View$ListenerInfo;->mOnFocusChangeListener:Landroid/view/View$OnFocusChangeListener;
-Landroid/view/View$ListenerInfo;->mOnGenericMotionListener:Landroid/view/View$OnGenericMotionListener;
-Landroid/view/View$ListenerInfo;->mOnHoverListener:Landroid/view/View$OnHoverListener;
-Landroid/view/View$ListenerInfo;->mOnKeyListener:Landroid/view/View$OnKeyListener;
-Landroid/view/View$ListenerInfo;->mOnLongClickListener:Landroid/view/View$OnLongClickListener;
-Landroid/view/View$ListenerInfo;->mOnTouchListener:Landroid/view/View$OnTouchListener;
-Landroid/view/View$MeasureSpec;->makeSafeMeasureSpec(II)I
-Landroid/view/View$ScrollabilityCache;->host:Landroid/view/View;
-Landroid/view/View$ScrollabilityCache;->scrollBar:Landroid/widget/ScrollBarDrawable;
-Landroid/view/View$ScrollabilityCache;->state:I
-Landroid/view/View;-><init>()V
-Landroid/view/View;->applyDrawableToTransparentRegion(Landroid/graphics/drawable/Drawable;Landroid/graphics/Region;)V
-Landroid/view/View;->assignParent(Landroid/view/ViewParent;)V
-Landroid/view/View;->cancel(Landroid/view/View$SendViewScrolledAccessibilityEvent;)V
-Landroid/view/View;->clearAccessibilityFocus()V
-Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-Landroid/view/View;->computeOpaqueFlags()V
-Landroid/view/View;->createSnapshot(Landroid/view/ViewDebug$CanvasProvider;Z)Landroid/graphics/Bitmap;
-Landroid/view/View;->DBG:Z
-Landroid/view/View;->debug()V
-Landroid/view/View;->debug(I)V
-Landroid/view/View;->DEBUG_LAYOUT_PROPERTY:Ljava/lang/String;
-Landroid/view/View;->destroyHardwareResources()V
-Landroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V
-Landroid/view/View;->dispatchDetachedFromWindow()V
-Landroid/view/View;->dispatchPointerEvent(Landroid/view/MotionEvent;)Z
-Landroid/view/View;->drawBackground(Landroid/graphics/Canvas;)V
-Landroid/view/View;->ensureTransformationInfo()V
-Landroid/view/View;->findViewByAccessibilityId(I)Landroid/view/View;
-Landroid/view/View;->fitsSystemWindows()Z
-Landroid/view/View;->gatherTransparentRegion(Landroid/graphics/Region;)Z
-Landroid/view/View;->getAccessibilityDelegate()Landroid/view/View$AccessibilityDelegate;
-Landroid/view/View;->getAccessibilityViewId()I
-Landroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;)V
-Landroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;Z)V
-Landroid/view/View;->getHorizontalScrollFactor()F
-Landroid/view/View;->getInverseMatrix()Landroid/graphics/Matrix;
-Landroid/view/View;->getIterableTextForAccessibility()Ljava/lang/CharSequence;
-Landroid/view/View;->getIteratorForGranularity(I)Landroid/view/AccessibilityIterators$TextSegmentIterator;
-Landroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo;
-Landroid/view/View;->getLocationInSurface([I)V
-Landroid/view/View;->getLocationOnScreen()[I
-Landroid/view/View;->getRawTextAlignment()I
-Landroid/view/View;->getRawTextDirection()I
-Landroid/view/View;->getScrollCache()Landroid/view/View$ScrollabilityCache;
-Landroid/view/View;->getThreadedRenderer()Landroid/view/ThreadedRenderer;
-Landroid/view/View;->getTransitionAlpha()F
-Landroid/view/View;->getVerticalScrollFactor()F
-Landroid/view/View;->getViewRootImpl()Landroid/view/ViewRootImpl;
-Landroid/view/View;->getWindowDisplayFrame(Landroid/graphics/Rect;)V
-Landroid/view/View;->getWindowSession()Landroid/view/IWindowSession;
-Landroid/view/View;->hasIdentityMatrix()Z
-Landroid/view/View;->hasRtlSupport()Z
-Landroid/view/View;->includeForAccessibility()Z
-Landroid/view/View;->initializeScrollbarsInternal(Landroid/content/res/TypedArray;)V
-Landroid/view/View;->internalSetPadding(IIII)V
-Landroid/view/View;->invalidate(Z)V
-Landroid/view/View;->invalidateParentCaches()V
-Landroid/view/View;->invalidateParentIfNeeded()V
-Landroid/view/View;->invalidateViewProperty(ZZ)V
-Landroid/view/View;->isDraggingScrollBar()Z
-Landroid/view/View;->isInScrollingContainer()Z
-Landroid/view/View;->isLayoutRtl()Z
-Landroid/view/View;->isOnScrollbarThumb(FF)Z
-Landroid/view/View;->isPaddingResolved()Z
-Landroid/view/View;->isRootNamespace()Z
-Landroid/view/View;->isVisibleToUser()Z
-Landroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z
-Landroid/view/View;->mAccessibilityDelegate:Landroid/view/View$AccessibilityDelegate;
-Landroid/view/View;->mAccessibilityViewId:I
-Landroid/view/View;->makeOptionalFitsSystemWindows()V
-Landroid/view/View;->mAnimator:Landroid/view/ViewPropertyAnimator;
-Landroid/view/View;->mAttachInfo:Landroid/view/View$AttachInfo;
-Landroid/view/View;->mBackground:Landroid/graphics/drawable/Drawable;
-Landroid/view/View;->mBackgroundResource:I
-Landroid/view/View;->mBottom:I
-Landroid/view/View;->mCachingFailed:Z
-Landroid/view/View;->mContext:Landroid/content/Context;
-Landroid/view/View;->mDrawingCache:Landroid/graphics/Bitmap;
-Landroid/view/View;->mHasPerformedLongPress:Z
-Landroid/view/View;->mKeyedTags:Landroid/util/SparseArray;
-Landroid/view/View;->mLayoutParams:Landroid/view/ViewGroup$LayoutParams;
-Landroid/view/View;->mLeft:I
-Landroid/view/View;->mListenerInfo:Landroid/view/View$ListenerInfo;
-Landroid/view/View;->mMeasuredHeight:I
-Landroid/view/View;->mMeasuredWidth:I
-Landroid/view/View;->mMinHeight:I
-Landroid/view/View;->mMinWidth:I
-Landroid/view/View;->mPaddingBottom:I
-Landroid/view/View;->mPaddingLeft:I
-Landroid/view/View;->mPaddingRight:I
-Landroid/view/View;->mPaddingTop:I
-Landroid/view/View;->mParent:Landroid/view/ViewParent;
-Landroid/view/View;->mPendingCheckForTap:Landroid/view/View$CheckForTap;
-Landroid/view/View;->mPrivateFlags2:I
-Landroid/view/View;->mPrivateFlags3:I
-Landroid/view/View;->mPrivateFlags:I
-Landroid/view/View;->mRecreateDisplayList:Z
-Landroid/view/View;->mRenderNode:Landroid/view/RenderNode;
-Landroid/view/View;->mResources:Landroid/content/res/Resources;
-Landroid/view/View;->mRight:I
-Landroid/view/View;->mScrollCache:Landroid/view/View$ScrollabilityCache;
-Landroid/view/View;->mScrollX:I
-Landroid/view/View;->mScrollY:I
-Landroid/view/View;->mStartActivityRequestWho:Ljava/lang/String;
-Landroid/view/View;->mTag:Ljava/lang/Object;
-Landroid/view/View;->mTop:I
-Landroid/view/View;->mTransformationInfo:Landroid/view/View$TransformationInfo;
-Landroid/view/View;->mUnscaledDrawingCache:Landroid/graphics/Bitmap;
-Landroid/view/View;->mVerticalScrollbarPosition:I
-Landroid/view/View;->mViewFlags:I
-Landroid/view/View;->NAVIGATION_BAR_TRANSIENT:I
-Landroid/view/View;->notifySubtreeAccessibilityStateChangedIfNeeded()V
-Landroid/view/View;->notifyViewAccessibilityStateChangedIfNeeded(I)V
-Landroid/view/View;->onCloseSystemDialogs(Ljava/lang/String;)V
-Landroid/view/View;->onDetachedFromWindowInternal()V
-Landroid/view/View;->onDrawHorizontalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
-Landroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
-Landroid/view/View;->onFocusLost()V
-Landroid/view/View;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
-Landroid/view/View;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
-Landroid/view/View;->pointInView(FFF)Z
-Landroid/view/View;->recomputePadding()V
-Landroid/view/View;->removePerformClickCallback()V
-Landroid/view/View;->requestAccessibilityFocus()Z
-Landroid/view/View;->resetDisplayList()V
-Landroid/view/View;->resetPaddingToInitialValues()V
-Landroid/view/View;->resetResolvedDrawables()V
-Landroid/view/View;->resetResolvedLayoutDirection()V
-Landroid/view/View;->resetResolvedPadding()V
-Landroid/view/View;->resetResolvedTextAlignment()V
-Landroid/view/View;->resetResolvedTextDirection()V
-Landroid/view/View;->resetRtlProperties()V
-Landroid/view/View;->resolvePadding()V
-Landroid/view/View;->setAlphaNoInvalidation(F)Z
-Landroid/view/View;->setAnimationMatrix(Landroid/graphics/Matrix;)V
-Landroid/view/View;->setAssistBlocked(Z)V
-Landroid/view/View;->setDisabledSystemUiVisibility(I)V
-Landroid/view/View;->setFlags(II)V
-Landroid/view/View;->setFrame(IIII)Z
-Landroid/view/View;->setIsRootNamespace(Z)V
-Landroid/view/View;->setLeftTopRightBottom(IIII)V
-Landroid/view/View;->setTagInternal(ILjava/lang/Object;)V
-Landroid/view/View;->setTransitionAlpha(F)V
-Landroid/view/View;->startActivityForResult(Landroid/content/Intent;I)V
-Landroid/view/View;->STATUS_BAR_DISABLE_BACK:I
-Landroid/view/View;->STATUS_BAR_DISABLE_EXPAND:I
-Landroid/view/View;->STATUS_BAR_DISABLE_HOME:I
-Landroid/view/View;->STATUS_BAR_DISABLE_RECENT:I
-Landroid/view/View;->toGlobalMotionEvent(Landroid/view/MotionEvent;)Z
-Landroid/view/View;->toLocalMotionEvent(Landroid/view/MotionEvent;)Z
-Landroid/view/View;->transformMatrixToGlobal(Landroid/graphics/Matrix;)V
-Landroid/view/View;->transformMatrixToLocal(Landroid/graphics/Matrix;)V
-Landroid/view/View;->updateDisplayListIfDirty()Landroid/view/RenderNode;
-Landroid/view/ViewConfiguration;->getDeviceGlobalActionKeyTimeout()J
-Landroid/view/ViewConfiguration;->getDoubleTapMinTime()I
-Landroid/view/ViewConfiguration;->getDoubleTapSlop()I
-Landroid/view/ViewConfiguration;->getHoverTapSlop()I
-Landroid/view/ViewConfiguration;->getScaledDoubleTapTouchSlop()I
-Landroid/view/ViewConfiguration;->isFadingMarqueeEnabled()Z
-Landroid/view/ViewConfiguration;->mFadingMarqueeEnabled:Z
-Landroid/view/ViewConfiguration;->sConfigurations:Landroid/util/SparseArray;
-Landroid/view/ViewConfiguration;->SCROLL_FRICTION:F
-Landroid/view/ViewConfiguration;->sHasPermanentMenuKey:Z
-Landroid/view/ViewConfiguration;->sHasPermanentMenuKeySet:Z
-Landroid/view/ViewDebug;->dispatchCommand(Landroid/view/View;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;)V
-Landroid/view/ViewDebug;->dump(Landroid/view/View;ZZLjava/io/OutputStream;)V
-Landroid/view/ViewDebug;->getViewInstanceCount()J
-Landroid/view/ViewDebug;->getViewRootImplCount()J
-Landroid/view/ViewGroup$LayoutParams;-><init>()V
-Landroid/view/ViewGroup$MarginLayoutParams;->endMargin:I
-Landroid/view/ViewGroup$MarginLayoutParams;->setMarginsRelative(IIII)V
-Landroid/view/ViewGroup$MarginLayoutParams;->startMargin:I
-Landroid/view/ViewGroup$TouchTarget;-><init>()V
-Landroid/view/ViewGroup$TouchTarget;->child:Landroid/view/View;
-Landroid/view/ViewGroup;->addTransientView(Landroid/view/View;I)V
-Landroid/view/ViewGroup;->cancelTouchTarget(Landroid/view/View;)V
-Landroid/view/ViewGroup;->DBG:Z
-Landroid/view/ViewGroup;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V
-Landroid/view/ViewGroup;->dispatchDetachedFromWindow()V
-Landroid/view/ViewGroup;->dispatchGetDisplayList()V
-Landroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V
-Landroid/view/ViewGroup;->dispatchViewRemoved(Landroid/view/View;)V
-Landroid/view/ViewGroup;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V
-Landroid/view/ViewGroup;->FLAG_DISALLOW_INTERCEPT:I
-Landroid/view/ViewGroup;->FLAG_SUPPORT_STATIC_TRANSFORMATIONS:I
-Landroid/view/ViewGroup;->FLAG_USE_CHILD_DRAWING_ORDER:I
-Landroid/view/ViewGroup;->getTransientView(I)Landroid/view/View;
-Landroid/view/ViewGroup;->getTransientViewCount()I
-Landroid/view/ViewGroup;->isTransformedTouchPointInView(FFLandroid/view/View;Landroid/graphics/PointF;)Z
-Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V
-Landroid/view/ViewGroup;->mChildren:[Landroid/view/View;
-Landroid/view/ViewGroup;->mChildrenCount:I
-Landroid/view/ViewGroup;->mDisappearingChildren:Ljava/util/ArrayList;
-Landroid/view/ViewGroup;->mFirstTouchTarget:Landroid/view/ViewGroup$TouchTarget;
-Landroid/view/ViewGroup;->mFocused:Landroid/view/View;
-Landroid/view/ViewGroup;->mGroupFlags:I
-Landroid/view/ViewGroup;->mOnHierarchyChangeListener:Landroid/view/ViewGroup$OnHierarchyChangeListener;
-Landroid/view/ViewGroup;->mPersistentDrawingCache:I
-Landroid/view/ViewGroup;->offsetChildrenTopAndBottom(I)V
-Landroid/view/ViewGroup;->onChildVisibilityChanged(Landroid/view/View;II)V
-Landroid/view/ViewGroup;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-Landroid/view/ViewGroup;->removeTransientView(Landroid/view/View;)V
-Landroid/view/ViewGroup;->resetResolvedDrawables()V
-Landroid/view/ViewGroup;->resetResolvedLayoutDirection()V
-Landroid/view/ViewGroup;->resetResolvedPadding()V
-Landroid/view/ViewGroup;->resetResolvedTextAlignment()V
-Landroid/view/ViewGroup;->resetResolvedTextDirection()V
-Landroid/view/ViewGroup;->resolvePadding()V
-Landroid/view/ViewGroup;->suppressLayout(Z)V
-Landroid/view/ViewGroup;->transformPointToViewLocal([FLandroid/view/View;)V
-Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;F)V
-Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;I)V
-Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;Z)V
-Landroid/view/ViewOverlay;->getOverlayView()Landroid/view/ViewGroup;
-Landroid/view/ViewOverlay;->isEmpty()Z
-Landroid/view/ViewPropertyAnimator;->mRTBackend:Landroid/view/ViewPropertyAnimatorRT;
-Landroid/view/ViewRootImpl$CalledFromWrongThreadException;-><init>(Ljava/lang/String;)V
-Landroid/view/ViewRootImpl;->addConfigCallback(Landroid/view/ViewRootImpl$ConfigChangedCallback;)V
-Landroid/view/ViewRootImpl;->cancelInvalidate(Landroid/view/View;)V
-Landroid/view/ViewRootImpl;->detachFunctor(J)V
-Landroid/view/ViewRootImpl;->dispatchInputEvent(Landroid/view/InputEvent;)V
-Landroid/view/ViewRootImpl;->dispatchInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;)V
-Landroid/view/ViewRootImpl;->dispatchKeyFromIme(Landroid/view/KeyEvent;)V
-Landroid/view/ViewRootImpl;->dispatchResized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-Landroid/view/ViewRootImpl;->dispatchUnhandledInputEvent(Landroid/view/InputEvent;)V
-Landroid/view/ViewRootImpl;->enableHardwareAcceleration(Landroid/view/WindowManager$LayoutParams;)V
-Landroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;)V
-Landroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V
-Landroid/view/ViewRootImpl;->ensureTouchMode(Z)Z
-Landroid/view/ViewRootImpl;->getAccessibilityFocusedHost()Landroid/view/View;
-Landroid/view/ViewRootImpl;->getAccessibilityFocusedVirtualView()Landroid/view/accessibility/AccessibilityNodeInfo;
-Landroid/view/ViewRootImpl;->getLastTouchPoint(Landroid/graphics/Point;)V
-Landroid/view/ViewRootImpl;->getView()Landroid/view/View;
-Landroid/view/ViewRootImpl;->getWindowFlags()I
-Landroid/view/ViewRootImpl;->invalidate()V
-Landroid/view/ViewRootImpl;->invokeFunctor(JZ)V
-Landroid/view/ViewRootImpl;->mAdded:Z
-Landroid/view/ViewRootImpl;->mAttachInfo:Landroid/view/View$AttachInfo;
-Landroid/view/ViewRootImpl;->mContext:Landroid/content/Context;
-Landroid/view/ViewRootImpl;->mDirty:Landroid/graphics/Rect;
-Landroid/view/ViewRootImpl;->mFallbackEventHandler:Landroid/view/FallbackEventHandler;
-Landroid/view/ViewRootImpl;->mHeight:I
-Landroid/view/ViewRootImpl;->mLastScrolledFocus:Ljava/lang/ref/WeakReference;
-Landroid/view/ViewRootImpl;->mStopped:Z
-Landroid/view/ViewRootImpl;->mSurface:Landroid/view/Surface;
-Landroid/view/ViewRootImpl;->mView:Landroid/view/View;
-Landroid/view/ViewRootImpl;->mWidth:I
-Landroid/view/ViewRootImpl;->mWindowSession:Landroid/view/IWindowSession;
-Landroid/view/ViewRootImpl;->scheduleTraversals()V
-Landroid/view/ViewRootImpl;->setLocalDragState(Ljava/lang/Object;)V
-Landroid/view/ViewRootImpl;->sRunQueues:Ljava/lang/ThreadLocal;
 Landroid/view/ViewTreeObserver$InternalInsetsInfo;-><init>()V
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->contentInsets:Landroid/graphics/Rect;
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->mTouchableInsets:I
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->set(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->setTouchableInsets(I)V
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->touchableRegion:Landroid/graphics/Region;
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->TOUCHABLE_INSETS_REGION:I
-Landroid/view/ViewTreeObserver$InternalInsetsInfo;->visibleInsets:Landroid/graphics/Rect;
-Landroid/view/ViewTreeObserver;->addOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V
-Landroid/view/ViewTreeObserver;->dispatchOnComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
-Landroid/view/ViewTreeObserver;->dispatchOnGlobalFocusChange(Landroid/view/View;Landroid/view/View;)V
-Landroid/view/ViewTreeObserver;->dispatchOnScrollChanged()V
-Landroid/view/ViewTreeObserver;->dispatchOnTouchModeChanged(Z)V
-Landroid/view/ViewTreeObserver;->hasComputeInternalInsetsListeners()Z
-Landroid/view/ViewTreeObserver;->mOnComputeInternalInsetsListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray;
-Landroid/view/ViewTreeObserver;->mOnGlobalLayoutListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray;
-Landroid/view/ViewTreeObserver;->mOnScrollChangedListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray;
-Landroid/view/ViewTreeObserver;->mOnTouchModeChangeListeners:Ljava/util/concurrent/CopyOnWriteArrayList;
-Landroid/view/ViewTreeObserver;->removeOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V
-Landroid/view/Window;->addPrivateFlags(I)V
-Landroid/view/Window;->alwaysReadCloseOnTouchAttr()V
-Landroid/view/Window;->FEATURE_MAX:I
-Landroid/view/Window;->isDestroyed()Z
-Landroid/view/Window;->mAppName:Ljava/lang/String;
-Landroid/view/Window;->mAppToken:Landroid/os/IBinder;
-Landroid/view/Window;->mCallback:Landroid/view/Window$Callback;
-Landroid/view/Window;->mContext:Landroid/content/Context;
-Landroid/view/Window;->mDestroyed:Z
-Landroid/view/Window;->mFeatures:I
-Landroid/view/Window;->mHardwareAccelerated:Z
-Landroid/view/Window;->mLocalFeatures:I
-Landroid/view/Window;->mWindowAttributes:Landroid/view/WindowManager$LayoutParams;
-Landroid/view/Window;->mWindowManager:Landroid/view/WindowManager;
-Landroid/view/Window;->mWindowStyle:Landroid/content/res/TypedArray;
-Landroid/view/Window;->setCloseOnTouchOutside(Z)V
-Landroid/view/Window;->setCloseOnTouchOutsideIfNotSet(Z)V
-Landroid/view/Window;->setNeedsMenuKey(I)V
-Landroid/view/Window;->shouldCloseOnTouch(Landroid/content/Context;Landroid/view/MotionEvent;)Z
-Landroid/view/WindowAnimationFrameStats;->init(J[J)V
-Landroid/view/WindowContentFrameStats;->init(J[J[J[J)V
-Landroid/view/WindowInsets;-><init>(Landroid/graphics/Rect;)V
-Landroid/view/WindowInsets;->CONSUMED:Landroid/view/WindowInsets;
-Landroid/view/WindowInsets;->getSystemWindowInsets()Landroid/graphics/Rect;
-Landroid/view/WindowInsets;->inset(IIII)Landroid/view/WindowInsets;
-Landroid/view/WindowLeaked;-><init>(Ljava/lang/String;)V
-Landroid/view/WindowManager$LayoutParams;->backup()V
-Landroid/view/WindowManager$LayoutParams;->FLAG_SLIPPERY:I
-Landroid/view/WindowManager$LayoutParams;->hasSystemUiListeners:Z
-Landroid/view/WindowManager$LayoutParams;->hideTimeoutMilliseconds:J
-Landroid/view/WindowManager$LayoutParams;->inputFeatures:I
-Landroid/view/WindowManager$LayoutParams;->INPUT_FEATURE_DISABLE_USER_ACTIVITY:I
-Landroid/view/WindowManager$LayoutParams;->needsMenuKey:I
-Landroid/view/WindowManager$LayoutParams;->NEEDS_MENU_SET_FALSE:I
-Landroid/view/WindowManager$LayoutParams;->NEEDS_MENU_SET_TRUE:I
-Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_SHOW_FOR_ALL_USERS:I
-Landroid/view/WindowManager$LayoutParams;->restore()V
-Landroid/view/WindowManager$LayoutParams;->subtreeSystemUiVisibility:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_APPLICATION_MEDIA_OVERLAY:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_DISPLAY_OVERLAY:I
-Landroid/view/WindowManager$LayoutParams;->TYPE_SECURE_SYSTEM_OVERLAY:I
-Landroid/view/WindowManager$LayoutParams;->userActivityTimeout:J
-Landroid/view/WindowManagerGlobal;->getInstance()Landroid/view/WindowManagerGlobal;
-Landroid/view/WindowManagerGlobal;->getRootView(Ljava/lang/String;)Landroid/view/View;
-Landroid/view/WindowManagerGlobal;->getRootViews(Landroid/os/IBinder;)Ljava/util/ArrayList;
-Landroid/view/WindowManagerGlobal;->getViewRootNames()[Ljava/lang/String;
-Landroid/view/WindowManagerGlobal;->getWindowManagerService()Landroid/view/IWindowManager;
-Landroid/view/WindowManagerGlobal;->getWindowSession()Landroid/view/IWindowSession;
-Landroid/view/WindowManagerGlobal;->initialize()V
-Landroid/view/WindowManagerGlobal;->mLock:Ljava/lang/Object;
-Landroid/view/WindowManagerGlobal;->mParams:Ljava/util/ArrayList;
-Landroid/view/WindowManagerGlobal;->mRoots:Ljava/util/ArrayList;
-Landroid/view/WindowManagerGlobal;->mViews:Ljava/util/ArrayList;
-Landroid/view/WindowManagerGlobal;->peekWindowSession()Landroid/view/IWindowSession;
-Landroid/view/WindowManagerGlobal;->removeView(Landroid/view/View;Z)V
-Landroid/view/WindowManagerGlobal;->sDefaultWindowManager:Landroid/view/WindowManagerGlobal;
-Landroid/view/WindowManagerGlobal;->sWindowManagerService:Landroid/view/IWindowManager;
-Landroid/view/WindowManagerGlobal;->sWindowSession:Landroid/view/IWindowSession;
-Landroid/view/WindowManagerGlobal;->trimMemory(I)V
-Landroid/view/WindowManagerImpl;->mGlobal:Landroid/view/WindowManagerGlobal;
 Landroid/webkit/CacheManager$CacheResult;-><init>()V
-Landroid/webkit/CacheManager$CacheResult;->contentdisposition:Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->contentLength:J
-Landroid/webkit/CacheManager$CacheResult;->crossDomain:Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->encoding:Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->etag:Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->expires:J
-Landroid/webkit/CacheManager$CacheResult;->expiresString:Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->getContentDisposition()Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->getContentLength()J
-Landroid/webkit/CacheManager$CacheResult;->getEncoding()Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->getETag()Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->getExpires()J
-Landroid/webkit/CacheManager$CacheResult;->getExpiresString()Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->getHttpStatusCode()I
-Landroid/webkit/CacheManager$CacheResult;->getInputStream()Ljava/io/InputStream;
-Landroid/webkit/CacheManager$CacheResult;->getLastModified()Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->getLocalPath()Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->getLocation()Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->getMimeType()Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->getOutputStream()Ljava/io/OutputStream;
-Landroid/webkit/CacheManager$CacheResult;->httpStatusCode:I
-Landroid/webkit/CacheManager$CacheResult;->inStream:Ljava/io/InputStream;
-Landroid/webkit/CacheManager$CacheResult;->lastModified:Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->localPath:Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->location:Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->mimeType:Ljava/lang/String;
-Landroid/webkit/CacheManager$CacheResult;->outFile:Ljava/io/File;
-Landroid/webkit/CacheManager$CacheResult;->outStream:Ljava/io/OutputStream;
-Landroid/webkit/CacheManager$CacheResult;->setEncoding(Ljava/lang/String;)V
-Landroid/webkit/CacheManager$CacheResult;->setInputStream(Ljava/io/InputStream;)V
-Landroid/webkit/CacheManager;->cacheDisabled()Z
-Landroid/webkit/CacheManager;->endCacheTransaction()Z
-Landroid/webkit/CacheManager;->getCacheFile(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult;
-Landroid/webkit/CacheManager;->getCacheFileBaseDir()Ljava/io/File;
-Landroid/webkit/CacheManager;->saveCacheFile(Ljava/lang/String;JLandroid/webkit/CacheManager$CacheResult;)V
-Landroid/webkit/CacheManager;->saveCacheFile(Ljava/lang/String;Landroid/webkit/CacheManager$CacheResult;)V
-Landroid/webkit/CacheManager;->startCacheTransaction()Z
-Landroid/webkit/ConsoleMessage;->mLevel:Landroid/webkit/ConsoleMessage$MessageLevel;
-Landroid/webkit/ConsoleMessage;->mLineNumber:I
-Landroid/webkit/ConsoleMessage;->mMessage:Ljava/lang/String;
-Landroid/webkit/ConsoleMessage;->mSourceId:Ljava/lang/String;
 Landroid/webkit/IWebViewUpdateService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
 Landroid/webkit/IWebViewUpdateService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/webkit/IWebViewUpdateService;
 Landroid/webkit/IWebViewUpdateService;->getCurrentWebViewPackageName()Ljava/lang/String;
 Landroid/webkit/IWebViewUpdateService;->getValidWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
 Landroid/webkit/IWebViewUpdateService;->isFallbackPackage(Ljava/lang/String;)Z
-Landroid/webkit/JsResult;->mReceiver:Landroid/webkit/JsResult$ResultReceiver;
-Landroid/webkit/PluginData;-><init>(Ljava/io/InputStream;JLjava/util/Map;I)V
-Landroid/webkit/PluginData;->getContentLength()J
-Landroid/webkit/PluginData;->getHeaders()Ljava/util/Map;
-Landroid/webkit/PluginData;->getInputStream()Ljava/io/InputStream;
-Landroid/webkit/PluginData;->getStatusCode()I
-Landroid/webkit/UrlInterceptHandler;->getPluginData(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/PluginData;
-Landroid/webkit/UrlInterceptHandler;->service(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult;
-Landroid/webkit/UrlInterceptRegistry;->getPluginData(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/PluginData;
-Landroid/webkit/UrlInterceptRegistry;->registerHandler(Landroid/webkit/UrlInterceptHandler;)Z
-Landroid/webkit/UrlInterceptRegistry;->setUrlInterceptDisabled(Z)V
-Landroid/webkit/UrlInterceptRegistry;->unregisterHandler(Landroid/webkit/UrlInterceptHandler;)Z
-Landroid/webkit/URLUtil;->isResourceUrl(Ljava/lang/String;)Z
-Landroid/webkit/URLUtil;->parseContentDisposition(Ljava/lang/String;)Ljava/lang/String;
-Landroid/webkit/URLUtil;->verifyURLEncoding(Ljava/lang/String;)Z
-Landroid/webkit/WebResourceResponse;->mImmutable:Z
-Landroid/webkit/WebResourceResponse;->mStatusCode:I
-Landroid/webkit/WebSettings$TextSize;->value:I
-Landroid/webkit/WebSyncManager;->syncFromRamToFlash()V
-Landroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IILjava/util/Map;Z)V
-Landroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;ILjava/util/Map;Z)V
-Landroid/webkit/WebView;->checkThread()V
-Landroid/webkit/WebView;->debugDump()V
-Landroid/webkit/WebView;->disablePlatformNotifications()V
-Landroid/webkit/WebView;->emulateShiftHeld()V
-Landroid/webkit/WebView;->enablePlatformNotifications()V
-Landroid/webkit/WebView;->freeMemoryForTests()V
-Landroid/webkit/WebView;->getContentWidth()I
-Landroid/webkit/WebView;->getFactory()Landroid/webkit/WebViewFactoryProvider;
-Landroid/webkit/WebView;->getTouchIconUrl()Ljava/lang/String;
-Landroid/webkit/WebView;->getVisibleTitleHeight()I
-Landroid/webkit/WebView;->isPaused()Z
-Landroid/webkit/WebView;->mProvider:Landroid/webkit/WebViewProvider;
-Landroid/webkit/WebView;->mWebViewThread:Landroid/os/Looper;
-Landroid/webkit/WebView;->notifyFindDialogDismissed()V
-Landroid/webkit/WebView;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
-Landroid/webkit/WebView;->restorePicture(Landroid/os/Bundle;Ljava/io/File;)Z
-Landroid/webkit/WebView;->savePicture(Landroid/os/Bundle;Ljava/io/File;)Z
-Landroid/webkit/WebView;->sEnforceThreadChecking:Z
-Landroid/webkit/WebView;->setFrame(IIII)Z
-Landroid/webkit/WebViewDelegate;-><init>()V
-Landroid/webkit/WebViewFactory;->getProvider()Landroid/webkit/WebViewFactoryProvider;
-Landroid/webkit/WebViewFactory;->getProviderClass()Ljava/lang/Class;
-Landroid/webkit/WebViewFactory;->getUpdateService()Landroid/webkit/IWebViewUpdateService;
-Landroid/webkit/WebViewFactory;->getWebViewContextAndSetProvider()Landroid/content/Context;
-Landroid/webkit/WebViewFactory;->sPackageInfo:Landroid/content/pm/PackageInfo;
-Landroid/webkit/WebViewFactory;->sProviderInstance:Landroid/webkit/WebViewFactoryProvider;
-Landroid/webkit/WebViewProviderInfo;-><init>(Landroid/os/Parcel;)V
-Landroid/webkit/WebViewProviderResponse;->packageInfo:Landroid/content/pm/PackageInfo;
-Landroid/webkit/WebViewUpdateService;-><init>()V
 Landroid/widget/AbsListView$FlingRunnable;->endFling()V
 Landroid/widget/AbsListView$FlingRunnable;->mScroller:Landroid/widget/OverScroller;
 Landroid/widget/AbsListView$FlingRunnable;->start(I)V
@@ -5610,7 +4297,6 @@
 Ljava/util/zip/ZipOutputStream;->method:I
 Ljava/util/zip/ZipOutputStream;->names:Ljava/util/HashSet;
 Ljava/util/zip/ZipOutputStream;->written:J
-Ljavax/microedition/khronos/egl/EGL10;->eglReleaseThread()Z
 Ljavax/net/ssl/SSLServerSocketFactory;->defaultServerSocketFactory:Ljavax/net/ssl/SSLServerSocketFactory;
 Ljavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/net/Socket;Ljava/io/InputStream;Z)Ljava/net/Socket;
 Ljavax/net/ssl/SSLSocketFactory;->defaultSocketFactory:Ljavax/net/ssl/SSLSocketFactory;
diff --git a/config/hiddenapi-vendor-list.txt b/config/hiddenapi-vendor-list.txt
index 42aacbc..5c87a7b 100644
--- a/config/hiddenapi-vendor-list.txt
+++ b/config/hiddenapi-vendor-list.txt
@@ -41,20 +41,6 @@
 Landroid/location/ILocationManager;->reportLocation(Landroid/location/Location;Z)V
 Landroid/location/INetInitiatedListener$Stub;-><init>()V
 Landroid/location/INetInitiatedListener;->sendNiResponse(II)Z
-Landroid/media/AudioManager;->registerAudioPortUpdateListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V
-Landroid/media/AudioManager;->unregisterAudioPortUpdateListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V
-Landroid/media/AudioSystem;->checkAudioFlinger()I
-Landroid/media/AudioSystem;->getForceUse(I)I
-Landroid/media/AudioSystem;->getParameters(Ljava/lang/String;)Ljava/lang/String;
-Landroid/media/AudioSystem;->setForceUse(II)I
-Landroid/media/AudioSystem;->setParameters(Ljava/lang/String;)I
-Landroid/media/MediaDrm$Certificate;->getContent()[B
-Landroid/media/MediaDrm$Certificate;->getWrappedPrivateKey()[B
-Landroid/media/MediaDrm$CertificateRequest;->getData()[B
-Landroid/media/MediaDrm$CertificateRequest;->getDefaultUrl()Ljava/lang/String;
-Landroid/media/MediaDrm;->getCertificateRequest(ILjava/lang/String;)Landroid/media/MediaDrm$CertificateRequest;
-Landroid/media/MediaDrm;->provideCertificateResponse([B)Landroid/media/MediaDrm$Certificate;
-Landroid/media/MediaDrm;->signRSA([BLjava/lang/String;[B[B)[B
 Landroid/media/tv/ITvRemoteProvider$Stub;-><init>()V
 Landroid/media/tv/ITvRemoteServiceInput;->clearInputBridge(Landroid/os/IBinder;)V
 Landroid/media/tv/ITvRemoteServiceInput;->closeInputBridge(Landroid/os/IBinder;)V
@@ -247,12 +233,7 @@
 Landroid/telephony/TelephonyManager;->nvResetConfig(I)Z
 Landroid/telephony/TelephonyManager;->putIntAtIndex(Landroid/content/ContentResolver;Ljava/lang/String;II)Z
 Landroid/telephony/TelephonyManager;->setPreferredNetworkType(II)Z
-Landroid/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;
-Landroid/view/DisplayListCanvas;->drawRenderNode(Landroid/view/RenderNode;)V
 Landroid/view/IAppTransitionAnimationSpecsFuture$Stub;-><init>()V
-Landroid/view/InputEventReceiver;->onInputEvent(Landroid/view/InputEvent;I)V
 Landroid/view/IRecentsAnimationController;->finish(Z)V
 Landroid/view/IRecentsAnimationController;->screenshotTask(I)Landroid/app/ActivityManager$TaskSnapshot;
 Landroid/view/IRecentsAnimationController;->setInputConsumerEnabled(Z)V
@@ -270,41 +251,6 @@
 Landroid/view/IWindowManager;->overridePendingAppTransitionMultiThumbFuture(Landroid/view/IAppTransitionAnimationSpecsFuture;Landroid/os/IRemoteCallback;Z)V
 Landroid/view/IWindowManager;->overridePendingAppTransitionRemote(Landroid/view/RemoteAnimationAdapter;)V
 Landroid/view/IWindowManager;->setNavBarVirtualKeyHapticFeedbackEnabled(Z)V
-Landroid/view/RemoteAnimationAdapter;-><init>(Landroid/view/IRemoteAnimationRunner;JJ)V
-Landroid/view/RemoteAnimationDefinition;-><init>()V
-Landroid/view/RemoteAnimationDefinition;->addRemoteAnimation(ILandroid/view/RemoteAnimationAdapter;)V
-Landroid/view/RenderNode;->create(Ljava/lang/String;Landroid/view/View;)Landroid/view/RenderNode;
-Landroid/view/RenderNode;->end(Landroid/view/DisplayListCanvas;)V
-Landroid/view/RenderNode;->isValid()Z
-Landroid/view/RenderNode;->setClipToBounds(Z)Z
-Landroid/view/RenderNode;->setLeftTopRightBottom(IIII)Z
-Landroid/view/RenderNode;->start(II)Landroid/view/DisplayListCanvas;
-Landroid/view/Surface;->getNextFrameNumber()J
-Landroid/view/SurfaceControl$Transaction;-><init>()V
-Landroid/view/SurfaceControl$Transaction;->apply()V
-Landroid/view/SurfaceControl$Transaction;->deferTransactionUntil(Landroid/view/SurfaceControl;Landroid/os/IBinder;J)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->deferTransactionUntilSurface(Landroid/view/SurfaceControl;Landroid/view/Surface;J)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->hide(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setFinalCrop(Landroid/view/SurfaceControl;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;FFFF)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;Landroid/graphics/Matrix;[F)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setPosition(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/SurfaceControl;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/SurfaceControl$Transaction;->show(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-Landroid/view/ThreadedRenderer;->createHardwareBitmap(Landroid/view/RenderNode;II)Landroid/graphics/Bitmap;
-Landroid/view/View;->hideTooltip()V
-Landroid/view/View;->setTooltip(Ljava/lang/CharSequence;)V
-Landroid/webkit/WebSettings;->getPluginsPath()Ljava/lang/String;
-Landroid/webkit/WebSettings;->getUseDoubleTree()Z
-Landroid/webkit/WebSettings;->setPluginsPath(Ljava/lang/String;)V
-Landroid/webkit/WebSettings;->setUseDoubleTree(Z)V
-Landroid/webkit/WebView;->getPluginList()Landroid/webkit/PluginList;
-Landroid/webkit/WebView;->getZoomControls()Landroid/view/View;
-Landroid/webkit/WebView;->refreshPlugins(Z)V
 Landroid/widget/ListView;->lookForSelectablePosition(IZ)I
 Lcom/android/ims/ImsConfigListener;->onSetFeatureResponse(IIII)V
 Lcom/android/ims/internal/IImsCallSessionListener;->callSessionConferenceStateUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsConferenceState;)V
diff --git a/config/preloaded-classes b/config/preloaded-classes
index 0014793..63c583f 100644
--- a/config/preloaded-classes
+++ b/config/preloaded-classes
@@ -6236,9 +6236,9 @@
 org.json.JSONStringer
 org.json.JSONStringer$Scope
 org.json.JSONTokener
-org.kxml2.io.KXmlParser
-org.kxml2.io.KXmlParser$ValueContext
-org.kxml2.io.KXmlSerializer
+com.android.org.kxml2.io.KXmlParser
+com.android.org.kxml2.io.KXmlParser$ValueContext
+com.android.org.kxml2.io.KXmlSerializer
 org.w3c.dom.CharacterData
 org.w3c.dom.DOMImplementation
 org.w3c.dom.Document
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index 3c22905..4c655b5 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -446,6 +446,12 @@
      */
     public static final int IO_CAPABILITY_UNKNOWN = 255;
 
+    /** @hide */
+    @IntDef({IO_CAPABILITY_OUT, IO_CAPABILITY_IO, IO_CAPABILITY_IN, IO_CAPABILITY_NONE,
+            IO_CAPABILITY_KBDISP})
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface IoCapability {}
+
     /**
      * Broadcast Action: The local Bluetooth adapter has started the remote
      * device discovery process.
@@ -1292,6 +1298,7 @@
      * @hide
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)
+    @IoCapability
     public int getIoCapability() {
         if (getState() != STATE_ON) return BluetoothAdapter.IO_CAPABILITY_UNKNOWN;
         try {
@@ -1319,7 +1326,7 @@
      * @hide
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
-    public boolean setIoCapability(int capability) {
+    public boolean setIoCapability(@IoCapability int capability) {
         if (getState() != STATE_ON) return false;
         try {
             mServiceLock.readLock().lock();
@@ -1342,6 +1349,7 @@
      * @hide
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)
+    @IoCapability
     public int getLeIoCapability() {
         if (getState() != STATE_ON) return BluetoothAdapter.IO_CAPABILITY_UNKNOWN;
         try {
@@ -1369,7 +1377,7 @@
      * @hide
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
-    public boolean setLeIoCapability(int capability) {
+    public boolean setLeIoCapability(@IoCapability int capability) {
         if (getState() != STATE_ON) return false;
         try {
             mServiceLock.readLock().lock();
diff --git a/core/java/android/database/sqlite/SQLiteGlobal.java b/core/java/android/database/sqlite/SQLiteGlobal.java
index d6d9764..e6b6acf 100644
--- a/core/java/android/database/sqlite/SQLiteGlobal.java
+++ b/core/java/android/database/sqlite/SQLiteGlobal.java
@@ -39,11 +39,18 @@
 public final class SQLiteGlobal {
     private static final String TAG = "SQLiteGlobal";
 
+    /** @hide */
+    public static final String SYNC_MODE_FULL = "FULL";
+
     private static final Object sLock = new Object();
+
     private static int sDefaultPageSize;
 
     private static native int nativeReleaseMemory();
 
+    /** @hide */
+    public static volatile String sDefaultSyncMode;
+
     private SQLiteGlobal() {
     }
 
@@ -103,6 +110,11 @@
      * Gets the default database synchronization mode when WAL is not in use.
      */
     public static String getDefaultSyncMode() {
+        // Use the FULL synchronous mode for system processes by default.
+        String defaultMode = sDefaultSyncMode;
+        if (defaultMode != null) {
+            return defaultMode;
+        }
         return SystemProperties.get("debug.sqlite.syncmode",
                 Resources.getSystem().getString(
                 com.android.internal.R.string.db_default_sync_mode));
@@ -112,6 +124,11 @@
      * Gets the database synchronization mode when in WAL mode.
      */
     public static String getWALSyncMode() {
+        // Use the FULL synchronous mode for system processes by default.
+        String defaultMode = sDefaultSyncMode;
+        if (defaultMode != null) {
+            return defaultMode;
+        }
         return SystemProperties.get("debug.sqlite.wal.syncmode",
                 Resources.getSystem().getString(
                 com.android.internal.R.string.db_wal_sync_mode));
diff --git a/core/java/android/preference/DialogPreference.java b/core/java/android/preference/DialogPreference.java
index 3d57b4d..534ef8d 100644
--- a/core/java/android/preference/DialogPreference.java
+++ b/core/java/android/preference/DialogPreference.java
@@ -20,6 +20,7 @@
 import android.annotation.CallSuper;
 import android.annotation.DrawableRes;
 import android.annotation.StringRes;
+import android.annotation.UnsupportedAppUsage;
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
@@ -53,19 +54,27 @@
 public abstract class DialogPreference extends Preference implements
         DialogInterface.OnClickListener, DialogInterface.OnDismissListener,
         PreferenceManager.OnActivityDestroyListener {
+    @UnsupportedAppUsage
     private AlertDialog.Builder mBuilder;
     
+    @UnsupportedAppUsage
     private CharSequence mDialogTitle;
+    @UnsupportedAppUsage
     private CharSequence mDialogMessage;
+    @UnsupportedAppUsage
     private Drawable mDialogIcon;
+    @UnsupportedAppUsage
     private CharSequence mPositiveButtonText;
+    @UnsupportedAppUsage
     private CharSequence mNegativeButtonText;
     private int mDialogLayoutResId;
 
     /** The dialog, if it is showing. */
+    @UnsupportedAppUsage
     private Dialog mDialog;
 
     /** Which button was clicked. */
+    @UnsupportedAppUsage
     private int mWhichButtonClicked;
 
     public DialogPreference(
diff --git a/core/java/android/preference/EditTextPreference.java b/core/java/android/preference/EditTextPreference.java
index 9467c22..4d2ac67 100644
--- a/core/java/android/preference/EditTextPreference.java
+++ b/core/java/android/preference/EditTextPreference.java
@@ -17,6 +17,7 @@
 package android.preference;
 
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.content.res.TypedArray;
@@ -46,6 +47,7 @@
     /**
      * The edit text shown in the dialog.
      */
+    @UnsupportedAppUsage
     private EditText mEditText;
     
     private String mText;
diff --git a/core/java/android/preference/ListPreference.java b/core/java/android/preference/ListPreference.java
index 2700373..e7dec0e 100644
--- a/core/java/android/preference/ListPreference.java
+++ b/core/java/android/preference/ListPreference.java
@@ -17,6 +17,7 @@
 package android.preference;
 
 import android.annotation.ArrayRes;
+import android.annotation.UnsupportedAppUsage;
 import android.app.AlertDialog.Builder;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -41,6 +42,7 @@
     private CharSequence[] mEntryValues;
     private String mValue;
     private String mSummary;
+    @UnsupportedAppUsage
     private int mClickedDialogEntryIndex;
     private boolean mValueSet;
 
diff --git a/core/java/android/preference/Preference.java b/core/java/android/preference/Preference.java
index 4306bc4..98b69a8 100644
--- a/core/java/android/preference/Preference.java
+++ b/core/java/android/preference/Preference.java
@@ -21,6 +21,7 @@
 import android.annotation.LayoutRes;
 import android.annotation.Nullable;
 import android.annotation.StringRes;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
@@ -116,6 +117,7 @@
     private int mOrder = DEFAULT_ORDER;
     private CharSequence mTitle;
     private int mTitleRes;
+    @UnsupportedAppUsage
     private CharSequence mSummary;
     /**
      * mIconResId is overridden by mIcon, if mIcon is specified.
@@ -144,7 +146,9 @@
      */
     private boolean mShouldDisableView = true;
 
+    @UnsupportedAppUsage
     private int mLayoutResId = com.android.internal.R.layout.preference;
+    @UnsupportedAppUsage
     private int mWidgetLayoutResId;
 
     private OnPreferenceChangeInternalListener mListener;
@@ -974,6 +978,7 @@
      *
      * @return A unique ID for this Preference.
      */
+    @UnsupportedAppUsage
     long getId() {
         return mId;
     }
@@ -1126,6 +1131,7 @@
      *            processing). May be {@code null}.
      * @hide
      */
+    @UnsupportedAppUsage
     public void performClick(PreferenceScreen preferenceScreen) {
 
         if (!isEnabled()) {
@@ -1161,6 +1167,7 @@
      * @return True if the Preference handled the key. Returns false by default.
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean onKey(View v, int keyCode, KeyEvent event) {
         return false;
     }
@@ -1281,6 +1288,7 @@
      * @param listener The listener.
      * @see #notifyChanged()
      */
+    @UnsupportedAppUsage
     final void setOnPreferenceChangeInternalListener(OnPreferenceChangeInternalListener listener) {
         mListener = listener;
     }
@@ -1399,6 +1407,7 @@
      * @param dependent The dependent Preference that will be enabled/disabled
      *            according to the state of this Preference.
      */
+    @UnsupportedAppUsage
     private void registerDependent(Preference dependent) {
         if (mDependents == null) {
             mDependents = new ArrayList<Preference>();
diff --git a/core/java/android/preference/PreferenceActivity.java b/core/java/android/preference/PreferenceActivity.java
index 02fa7ed..d163909 100644
--- a/core/java/android/preference/PreferenceActivity.java
+++ b/core/java/android/preference/PreferenceActivity.java
@@ -19,6 +19,7 @@
 import android.animation.LayoutTransition;
 import android.annotation.Nullable;
 import android.annotation.StringRes;
+import android.annotation.UnsupportedAppUsage;
 import android.annotation.XmlRes;
 import android.app.Fragment;
 import android.app.FragmentBreadCrumbs;
@@ -198,6 +199,7 @@
 
     private FrameLayout mListFooter;
 
+    @UnsupportedAppUsage
     private ViewGroup mPrefsContainer;
 
     // Backup of the original activity title. This is used when navigating back to the headers list
@@ -215,6 +217,7 @@
 
     // --- State for old mode when showing a single preference list
 
+    @UnsupportedAppUsage
     private PreferenceManager mPreferenceManager;
 
     private Bundle mSavedInstanceState;
@@ -739,6 +742,7 @@
      * Returns the Header list
      * @hide
      */
+    @UnsupportedAppUsage
     public List<Header> getHeaders() {
         return mHeaders;
     }
@@ -1441,6 +1445,7 @@
      * Binding late is preferred as any custom preference types created in
      * {@link #onCreate(Bundle)} are able to have their views recycled.
      */
+    @UnsupportedAppUsage
     private void postBindPreferences() {
         if (mHandler.hasMessages(MSG_BIND_PREFERENCES)) return;
         mHandler.obtainMessage(MSG_BIND_PREFERENCES).sendToTarget();
@@ -1469,6 +1474,7 @@
         return mPreferenceManager;
     }
 
+    @UnsupportedAppUsage
     private void requirePreferenceManager() {
         if (mPreferenceManager == null) {
             if (mAdapter == null) {
diff --git a/core/java/android/preference/PreferenceFragment.java b/core/java/android/preference/PreferenceFragment.java
index 4c556ef..548895e 100644
--- a/core/java/android/preference/PreferenceFragment.java
+++ b/core/java/android/preference/PreferenceFragment.java
@@ -17,6 +17,7 @@
 package android.preference;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.annotation.XmlRes;
 import android.app.Activity;
 import android.app.Fragment;
@@ -113,6 +114,7 @@
 
     private static final String PREFERENCES_TAG = "android:preferences";
 
+    @UnsupportedAppUsage
     private PreferenceManager mPreferenceManager;
     private ListView mList;
     private boolean mHavePrefs;
@@ -402,6 +404,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public ListView getListView() {
         ensureList();
         return mList;
diff --git a/core/java/android/preference/PreferenceManager.java b/core/java/android/preference/PreferenceManager.java
index ea32dfd..b250b15 100644
--- a/core/java/android/preference/PreferenceManager.java
+++ b/core/java/android/preference/PreferenceManager.java
@@ -18,6 +18,7 @@
 
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.annotation.XmlRes;
 import android.app.Activity;
 import android.content.Context;
@@ -67,6 +68,7 @@
      * Fragment that owns this instance.
      */
     @Nullable
+    @UnsupportedAppUsage
     private PreferenceFragment mFragment;
 
     /**
@@ -90,6 +92,7 @@
      * Cached shared preferences.
      */
     @Nullable
+    @UnsupportedAppUsage
     private SharedPreferences mSharedPreferences;
 
     /**
@@ -152,6 +155,7 @@
      * List of activity destroy listeners.
      */
     @Nullable
+    @UnsupportedAppUsage
     private List<OnActivityDestroyListener> mActivityDestroyListeners;
 
     /**
@@ -161,11 +165,13 @@
     @Nullable
     private List<DialogInterface> mPreferencesScreens;
 
+    @UnsupportedAppUsage
     private OnPreferenceTreeClickListener mOnPreferenceTreeClickListener;
 
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public PreferenceManager(Activity activity, int firstRequestCode) {
         mActivity = activity;
         mNextRequestCode = firstRequestCode;
@@ -181,6 +187,7 @@
      * should be used ANY time a preference will be displayed, since some preference
      * types need an Activity for managed queries.
      */
+    @UnsupportedAppUsage
     /*package*/ PreferenceManager(Context context) {
         init(context);
     }
@@ -194,6 +201,7 @@
     /**
      * Sets the owning preference fragment
      */
+    @UnsupportedAppUsage
     void setFragment(PreferenceFragment fragment) {
         mFragment = fragment;
     }
@@ -202,6 +210,7 @@
      * Returns the owning preference fragment, if any.
      */
     @Nullable
+    @UnsupportedAppUsage
     PreferenceFragment getFragment() {
         return mFragment;
     }
@@ -260,6 +269,7 @@
      * @return The root hierarchy (if one was not provided, the new hierarchy's
      *         root).
      */
+    @UnsupportedAppUsage
     PreferenceScreen inflateFromIntent(Intent queryIntent, PreferenceScreen rootPreferences) {
         final List<ResolveInfo> activities = queryIntentActivities(queryIntent);
         final HashSet<String> inflatedRes = new HashSet<String>();
@@ -315,6 +325,7 @@
      *         root).
      * @hide
      */
+    @UnsupportedAppUsage
     public PreferenceScreen inflateFromResource(Context context, @XmlRes int resId,
             PreferenceScreen rootPreferences) {
         // Block commits
@@ -547,6 +558,7 @@
      * @return The {@link PreferenceScreen} object that is at the root of the hierarchy.
      */
     @Nullable
+    @UnsupportedAppUsage
     PreferenceScreen getPreferenceScreen() {
         return mPreferenceScreen;
     }
@@ -557,6 +569,7 @@
      * @param preferenceScreen The root {@link PreferenceScreen} of the preference hierarchy.
      * @return Whether the {@link PreferenceScreen} given is different than the previous.
      */
+    @UnsupportedAppUsage
     boolean setPreferences(PreferenceScreen preferenceScreen) {
         if (preferenceScreen != mPreferenceScreen) {
             mPreferenceScreen = preferenceScreen;
@@ -671,6 +684,7 @@
      *         has been set, this method returns {@code null}.
      * @see #shouldCommit()
      */
+    @UnsupportedAppUsage
     SharedPreferences.Editor getEditor() {
         if (mPreferenceDataStore != null) {
             return null;
@@ -696,10 +710,12 @@
      *
      * @return Whether the client should commit.
      */
+    @UnsupportedAppUsage
     boolean shouldCommit() {
         return !mNoCommit;
     }
 
+    @UnsupportedAppUsage
     private void setNoCommit(boolean noCommit) {
         if (!noCommit && mEditor != null) {
             try {
@@ -726,6 +742,7 @@
      * @see #mContext
      */
     @Nullable
+    @UnsupportedAppUsage
     Activity getActivity() {
         return mActivity;
     }
@@ -745,6 +762,7 @@
      *
      * @see OnActivityResultListener
      */
+    @UnsupportedAppUsage
     void registerOnActivityResultListener(OnActivityResultListener listener) {
         synchronized (this) {
             if (mActivityResultListeners == null) {
@@ -762,6 +780,7 @@
      *
      * @see OnActivityResultListener
      */
+    @UnsupportedAppUsage
     void unregisterOnActivityResultListener(OnActivityResultListener listener) {
         synchronized (this) {
             if (mActivityResultListeners != null) {
@@ -773,6 +792,7 @@
     /**
      * Called by the {@link PreferenceManager} to dispatch a subactivity result.
      */
+    @UnsupportedAppUsage
     void dispatchActivityResult(int requestCode, int resultCode, Intent data) {
         List<OnActivityResultListener> list;
 
@@ -795,6 +815,7 @@
      * @see OnActivityStopListener
      * @hide
      */
+    @UnsupportedAppUsage
     public void registerOnActivityStopListener(OnActivityStopListener listener) {
         synchronized (this) {
             if (mActivityStopListeners == null) {
@@ -813,6 +834,7 @@
      * @see OnActivityStopListener
      * @hide
      */
+    @UnsupportedAppUsage
     public void unregisterOnActivityStopListener(OnActivityStopListener listener) {
         synchronized (this) {
             if (mActivityStopListeners != null) {
@@ -825,6 +847,7 @@
      * Called by the {@link PreferenceManager} to dispatch the activity stop
      * event.
      */
+    @UnsupportedAppUsage
     void dispatchActivityStop() {
         List<OnActivityStopListener> list;
 
@@ -844,6 +867,7 @@
      *
      * @see OnActivityDestroyListener
      */
+    @UnsupportedAppUsage
     void registerOnActivityDestroyListener(OnActivityDestroyListener listener) {
         synchronized (this) {
             if (mActivityDestroyListeners == null) {
@@ -861,6 +885,7 @@
      *
      * @see OnActivityDestroyListener
      */
+    @UnsupportedAppUsage
     void unregisterOnActivityDestroyListener(OnActivityDestroyListener listener) {
         synchronized (this) {
             if (mActivityDestroyListeners != null) {
@@ -873,6 +898,7 @@
      * Called by the {@link PreferenceManager} to dispatch the activity destroy
      * event.
      */
+    @UnsupportedAppUsage
     void dispatchActivityDestroy() {
         List<OnActivityDestroyListener> list = null;
 
@@ -900,6 +926,7 @@
      * @return A unique request code that will never be used by anyone other
      *         than the caller of this method.
      */
+    @UnsupportedAppUsage
     int getNextRequestCode() {
         synchronized (this) {
             return mNextRequestCode++;
diff --git a/core/java/android/preference/PreferenceScreen.java b/core/java/android/preference/PreferenceScreen.java
index 2305b05..dd00a53 100644
--- a/core/java/android/preference/PreferenceScreen.java
+++ b/core/java/android/preference/PreferenceScreen.java
@@ -16,6 +16,7 @@
 
 package android.preference;
 
+import android.annotation.UnsupportedAppUsage;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -89,10 +90,12 @@
 public final class PreferenceScreen extends PreferenceGroup implements AdapterView.OnItemClickListener,
         DialogInterface.OnDismissListener {
 
+    @UnsupportedAppUsage
     private ListAdapter mRootAdapter;
     
     private Dialog mDialog;
 
+    @UnsupportedAppUsage
     private ListView mListView;
 
     private int mLayoutResId = com.android.internal.R.layout.preference_list_fragment;
@@ -103,6 +106,7 @@
      * Do NOT use this constructor, use {@link PreferenceManager#createPreferenceScreen(Context)}.
      * @hide-
      */
+    @UnsupportedAppUsage
     public PreferenceScreen(Context context, AttributeSet attrs) {
         super(context, attrs, com.android.internal.R.attr.preferenceScreenStyle);
 
diff --git a/core/java/android/preference/RingtonePreference.java b/core/java/android/preference/RingtonePreference.java
index a76bb09..cd751cd 100644
--- a/core/java/android/preference/RingtonePreference.java
+++ b/core/java/android/preference/RingtonePreference.java
@@ -16,6 +16,7 @@
 
 package android.preference;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.TypedArray;
@@ -49,6 +50,7 @@
     private boolean mShowDefault;
     private boolean mShowSilent;
     
+    @UnsupportedAppUsage
     private int mRequestCode;
 
     public RingtonePreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
diff --git a/core/java/android/preference/SeekBarDialogPreference.java b/core/java/android/preference/SeekBarDialogPreference.java
index eeb69a3..a8e5992 100644
--- a/core/java/android/preference/SeekBarDialogPreference.java
+++ b/core/java/android/preference/SeekBarDialogPreference.java
@@ -16,6 +16,7 @@
 
 package android.preference;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
@@ -47,6 +48,7 @@
         this(context, attrs, defStyleAttr, 0);
     }
 
+    @UnsupportedAppUsage
     public SeekBarDialogPreference(Context context, AttributeSet attrs) {
         this(context, attrs, R.attr.seekBarDialogPreferenceStyle);
     }
diff --git a/core/java/android/preference/SeekBarPreference.java b/core/java/android/preference/SeekBarPreference.java
index 1fabf3d..cd35f3d 100644
--- a/core/java/android/preference/SeekBarPreference.java
+++ b/core/java/android/preference/SeekBarPreference.java
@@ -16,6 +16,7 @@
 
 package android.preference;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.os.Parcel;
@@ -55,14 +56,17 @@
         setLayoutResource(layoutResId);
     }
 
+    @UnsupportedAppUsage
     public SeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr) {
         this(context, attrs, defStyleAttr, 0);
     }
 
+    @UnsupportedAppUsage
     public SeekBarPreference(Context context, AttributeSet attrs) {
         this(context, attrs, com.android.internal.R.attr.seekBarPreferenceStyle);
     }
 
+    @UnsupportedAppUsage
     public SeekBarPreference(Context context) {
         this(context, null);
     }
diff --git a/core/java/android/preference/SeekBarVolumizer.java b/core/java/android/preference/SeekBarVolumizer.java
index 0ed2526..07a3c9b 100644
--- a/core/java/android/preference/SeekBarVolumizer.java
+++ b/core/java/android/preference/SeekBarVolumizer.java
@@ -16,6 +16,7 @@
 
 package android.preference;
 
+import android.annotation.UnsupportedAppUsage;
 import android.app.NotificationManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -54,12 +55,15 @@
         void onMuted(boolean muted, boolean zenMuted);
     }
 
+    @UnsupportedAppUsage
     private final Context mContext;
     private final H mUiHandler = new H();
     private final Callback mCallback;
     private final Uri mDefaultUri;
+    @UnsupportedAppUsage
     private final AudioManager mAudioManager;
     private final NotificationManager mNotificationManager;
+    @UnsupportedAppUsage
     private final int mStreamType;
     private final int mMaxStreamVolume;
     private boolean mAffectedByRingerMode;
@@ -68,15 +72,19 @@
 
     private Handler mHandler;
     private Observer mVolumeObserver;
+    @UnsupportedAppUsage
     private int mOriginalStreamVolume;
     private int mLastAudibleStreamVolume;
     // When the old handler is destroyed and a new one is created, there could be a situation where
     // this is accessed at the same time in different handlers. So, access to this field needs to be
     // synchronized.
     @GuardedBy("this")
+    @UnsupportedAppUsage
     private Ringtone mRingtone;
+    @UnsupportedAppUsage
     private int mLastProgress = -1;
     private boolean mMuted;
+    @UnsupportedAppUsage
     private SeekBar mSeekBar;
     private int mVolumeBeforeMute = -1;
     private int mRingerMode;
@@ -93,6 +101,7 @@
     private boolean mAllowMedia;
     private boolean mAllowRinger;
 
+    @UnsupportedAppUsage
     public SeekBarVolumizer(Context context, int streamType, Uri defaultUri, Callback callback) {
         mContext = context;
         mAudioManager = context.getSystemService(AudioManager.class);
@@ -258,6 +267,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public void stop() {
         if (mHandler == null) return;  // already stopped
         postStopSample();
diff --git a/core/java/android/preference/SwitchPreference.java b/core/java/android/preference/SwitchPreference.java
index aa8674e..1ec18bb 100644
--- a/core/java/android/preference/SwitchPreference.java
+++ b/core/java/android/preference/SwitchPreference.java
@@ -17,6 +17,7 @@
 package android.preference;
 
 import android.annotation.StringRes;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.util.AttributeSet;
@@ -37,6 +38,7 @@
  * @attr ref android.R.styleable#SwitchPreference_disableDependentsState
  */
 public class SwitchPreference extends TwoStatePreference {
+    @UnsupportedAppUsage
     private final Listener mListener = new Listener();
 
     // Switch text for on and off states
diff --git a/core/java/android/preference/TwoStatePreference.java b/core/java/android/preference/TwoStatePreference.java
index 7037aca..2079a63 100644
--- a/core/java/android/preference/TwoStatePreference.java
+++ b/core/java/android/preference/TwoStatePreference.java
@@ -17,6 +17,7 @@
 package android.preference;
 
 import android.annotation.StringRes;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.content.res.TypedArray;
@@ -193,6 +194,7 @@
      * Sync a summary view contained within view's subhierarchy with the correct summary text.
      * @param view View where a summary should be located
      */
+    @UnsupportedAppUsage
     void syncSummaryView(View view) {
         // Sync the summary view
         TextView summaryView = (TextView) view.findViewById(com.android.internal.R.id.summary);
diff --git a/core/java/android/preference/VolumePreference.java b/core/java/android/preference/VolumePreference.java
index 8a66c24..ea1d1eb 100644
--- a/core/java/android/preference/VolumePreference.java
+++ b/core/java/android/preference/VolumePreference.java
@@ -16,6 +16,7 @@
 
 package android.preference;
 
+import android.annotation.UnsupportedAppUsage;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.res.TypedArray;
@@ -33,6 +34,7 @@
  */
 public class VolumePreference extends SeekBarDialogPreference implements
         PreferenceManager.OnActivityStopListener, View.OnKeyListener, SeekBarVolumizer.Callback {
+    @UnsupportedAppUsage
     private int mStreamType;
 
     /** May be null if the dialog isn't visible. */
@@ -52,6 +54,7 @@
         this(context, attrs, defStyleAttr, 0);
     }
 
+    @UnsupportedAppUsage
     public VolumePreference(Context context, AttributeSet attrs) {
         this(context, attrs, R.attr.seekBarDialogPreferenceStyle);
     }
@@ -196,7 +199,9 @@
     }
 
     public static class VolumeStore {
+        @UnsupportedAppUsage
         public int volume = -1;
+        @UnsupportedAppUsage
         public int originalVolume = -1;
     }
 
diff --git a/core/java/android/view/AccessibilityIterators.java b/core/java/android/view/AccessibilityIterators.java
index ca54bef..9f7560c 100644
--- a/core/java/android/view/AccessibilityIterators.java
+++ b/core/java/android/view/AccessibilityIterators.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.res.Configuration;
 
 import java.text.BreakIterator;
@@ -45,6 +46,7 @@
      */
     public static abstract class AbstractTextSegmentIterator implements TextSegmentIterator {
 
+        @UnsupportedAppUsage
         protected String mText;
 
         private final int[] mSegment = new int[2];
diff --git a/core/java/android/view/ActionProvider.java b/core/java/android/view/ActionProvider.java
index 353b4c2..cd7e67e 100644
--- a/core/java/android/view/ActionProvider.java
+++ b/core/java/android/view/ActionProvider.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.util.Log;
 
@@ -218,6 +219,7 @@
     /**
      * @hide Internal use only
      */
+    @UnsupportedAppUsage
     public void setSubUiVisibilityListener(SubUiVisibilityListener listener) {
         mSubUiVisibilityListener = listener;
     }
@@ -240,6 +242,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public void reset() {
         mVisibilityListener = null;
         mSubUiVisibilityListener = null;
diff --git a/core/java/android/view/AppTransitionAnimationSpec.java b/core/java/android/view/AppTransitionAnimationSpec.java
index 86a5fb7..6585e40 100644
--- a/core/java/android/view/AppTransitionAnimationSpec.java
+++ b/core/java/android/view/AppTransitionAnimationSpec.java
@@ -1,5 +1,6 @@
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.GraphicBuffer;
 import android.graphics.Rect;
 import android.os.Parcel;
@@ -18,6 +19,7 @@
     public final GraphicBuffer buffer;
     public final Rect rect;
 
+    @UnsupportedAppUsage
     public AppTransitionAnimationSpec(int taskId, GraphicBuffer buffer, Rect rect) {
         this.taskId = taskId;
         this.rect = rect;
diff --git a/core/java/android/view/BatchedInputEventReceiver.java b/core/java/android/view/BatchedInputEventReceiver.java
index b1d28e0..61ccac9 100644
--- a/core/java/android/view/BatchedInputEventReceiver.java
+++ b/core/java/android/view/BatchedInputEventReceiver.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Looper;
 
 /**
@@ -26,6 +27,7 @@
     Choreographer mChoreographer;
     private boolean mBatchedInputScheduled;
 
+    @UnsupportedAppUsage
     public BatchedInputEventReceiver(
             InputChannel inputChannel, Looper looper, Choreographer choreographer) {
         super(inputChannel, looper);
diff --git a/core/java/android/view/Choreographer.java b/core/java/android/view/Choreographer.java
index f8cfd0d..ce16ffc 100644
--- a/core/java/android/view/Choreographer.java
+++ b/core/java/android/view/Choreographer.java
@@ -20,6 +20,7 @@
 import static android.view.DisplayEventReceiver.VSYNC_SOURCE_SURFACE_FLINGER;
 
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.hardware.display.DisplayManagerGlobal;
 import android.os.Handler;
 import android.os.Looper;
@@ -130,6 +131,7 @@
             };
 
     // Enable/disable vsync for animations and drawing.
+    @UnsupportedAppUsage
     private static final boolean USE_VSYNC = SystemProperties.getBoolean(
             "debug.choreographer.vsync", true);
 
@@ -151,6 +153,7 @@
         public String toString() { return "FRAME_CALLBACK_TOKEN"; }
     };
 
+    @UnsupportedAppUsage
     private final Object mLock = new Object();
 
     private final Looper mLooper;
@@ -159,15 +162,19 @@
     // The display event receiver can only be accessed by the looper thread to which
     // it is attached.  We take care to ensure that we post message to the looper
     // if appropriate when interacting with the display event receiver.
+    @UnsupportedAppUsage
     private final FrameDisplayEventReceiver mDisplayEventReceiver;
 
     private CallbackRecord mCallbackPool;
 
+    @UnsupportedAppUsage
     private final CallbackQueue[] mCallbackQueues;
 
     private boolean mFrameScheduled;
     private boolean mCallbacksRunning;
+    @UnsupportedAppUsage
     private long mLastFrameTimeNanos;
+    @UnsupportedAppUsage
     private long mFrameIntervalNanos;
     private boolean mDebugPrintNextFrameTimeDelta;
     private int mFPSDivisor = 1;
@@ -265,6 +272,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public static Choreographer getSfInstance() {
         return sSfThreadInstance.get();
     }
@@ -556,6 +564,7 @@
      * @throws IllegalStateException if no frame is in progress.
      * @hide
      */
+    @UnsupportedAppUsage
     public long getFrameTime() {
         return getFrameTimeNanos() / TimeUtils.NANOS_PER_MS;
     }
@@ -568,6 +577,7 @@
      * @throws IllegalStateException if no frame is in progress.
      * @hide
      */
+    @UnsupportedAppUsage
     public long getFrameTimeNanos() {
         synchronized (mLock) {
             if (!mCallbacksRunning) {
@@ -627,6 +637,7 @@
         ThreadedRenderer.setFPSDivisor(divisor);
     }
 
+    @UnsupportedAppUsage
     void doFrame(long frameTimeNanos, int frame) {
         final long startNanos;
         synchronized (mLock) {
@@ -792,6 +803,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private void scheduleVsyncLocked() {
         mDisplayEventReceiver.scheduleVsync();
     }
@@ -942,6 +954,7 @@
         public Object action; // Runnable or FrameCallback
         public Object token;
 
+        @UnsupportedAppUsage
         public void run(long frameTimeNanos) {
             if (token == FRAME_CALLBACK_TOKEN) {
                 ((FrameCallback)action).doFrame(frameTimeNanos);
@@ -978,6 +991,7 @@
             return callbacks;
         }
 
+        @UnsupportedAppUsage
         public void addCallbackLocked(long dueTime, Object action, Object token) {
             CallbackRecord callback = obtainCallbackLocked(dueTime, action, token);
             CallbackRecord entry = mHead;
diff --git a/core/java/android/view/ContextThemeWrapper.java b/core/java/android/view/ContextThemeWrapper.java
index d3cc175..c77500a 100644
--- a/core/java/android/view/ContextThemeWrapper.java
+++ b/core/java/android/view/ContextThemeWrapper.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.StyleRes;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.ContextWrapper;
 import android.content.res.AssetManager;
@@ -28,10 +29,14 @@
  * wrapped context.
  */
 public class ContextThemeWrapper extends ContextWrapper {
+    @UnsupportedAppUsage
     private int mThemeResource;
+    @UnsupportedAppUsage
     private Resources.Theme mTheme;
+    @UnsupportedAppUsage
     private LayoutInflater mInflater;
     private Configuration mOverrideConfiguration;
+    @UnsupportedAppUsage
     private Resources mResources;
 
     /**
@@ -143,6 +148,7 @@
 
     /** @hide */
     @Override
+    @UnsupportedAppUsage
     public int getThemeResId() {
         return mThemeResource;
     }
@@ -186,6 +192,7 @@
         theme.applyStyle(resId, true);
     }
 
+    @UnsupportedAppUsage
     private void initializeTheme() {
         final boolean first = mTheme == null;
         if (first) {
diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java
index 31cfebc..476126c 100644
--- a/core/java/android/view/Display.java
+++ b/core/java/android/view/Display.java
@@ -20,6 +20,7 @@
 
 import android.annotation.IntDef;
 import android.annotation.RequiresPermission;
+import android.annotation.UnsupportedAppUsage;
 import android.app.KeyguardManager;
 import android.content.res.CompatibilityInfo;
 import android.content.res.Configuration;
@@ -78,6 +79,7 @@
     private final Resources mResources;
     private DisplayAdjustments mDisplayAdjustments;
 
+    @UnsupportedAppUsage
     private DisplayInfo mDisplayInfo; // never null
     private boolean mIsValid;
 
@@ -230,6 +232,7 @@
      * Display type: Unknown display type.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int TYPE_UNKNOWN = 0;
 
     /**
@@ -242,12 +245,14 @@
      * Display type: HDMI display.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int TYPE_HDMI = 2;
 
     /**
      * Display type: WiFi display.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int TYPE_WIFI = 3;
 
     /**
@@ -260,6 +265,7 @@
      * Display type: Virtual display.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int TYPE_VIRTUAL = 5;
 
     /**
@@ -458,6 +464,7 @@
      * @return True if the display is still valid.
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean getDisplayInfo(DisplayInfo outDisplayInfo) {
         synchronized (this) {
             updateDisplayInfoLocked();
@@ -505,6 +512,7 @@
      * @see #TYPE_VIRTUAL
      * @hide
      */
+    @UnsupportedAppUsage
     public int getType() {
         return mType;
     }
@@ -516,6 +524,7 @@
      * @return The display address.
      * @hide
      */
+    @UnsupportedAppUsage
     public String getAddress() {
         return mAddress;
     }
@@ -542,6 +551,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public String getOwnerPackageName() {
         return mOwnerPackageName;
     }
@@ -552,6 +562,7 @@
      * @return The display adjustments holder, or null if none is required.
      * @hide
      */
+    @UnsupportedAppUsage
     public DisplayAdjustments getDisplayAdjustments() {
         if (mResources != null) {
             final DisplayAdjustments currentAdjustements = mResources.getDisplayAdjustments();
@@ -675,6 +686,7 @@
      * mostly for wallpapers.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getMaximumSizeDimension() {
         synchronized (this) {
             updateDisplayInfoLocked();
@@ -1169,6 +1181,7 @@
         /**
          * @hide
          */
+        @UnsupportedAppUsage
         public Mode(int modeId, int width, int height, float refreshRate) {
             mModeId = modeId;
             mWidth = width;
@@ -1345,6 +1358,7 @@
         /**
          * @hide
          */
+        @UnsupportedAppUsage
         public HdrCapabilities(int[] supportedHdrTypes, float maxLuminance,
                 float maxAverageLuminance, float minLuminance) {
             mSupportedHdrTypes = supportedHdrTypes;
diff --git a/core/java/android/view/DisplayAdjustments.java b/core/java/android/view/DisplayAdjustments.java
index 790029b..da4d92fa 100644
--- a/core/java/android/view/DisplayAdjustments.java
+++ b/core/java/android/view/DisplayAdjustments.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.res.CompatibilityInfo;
 import android.content.res.Configuration;
 
@@ -28,6 +29,7 @@
     private volatile CompatibilityInfo mCompatInfo = CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO;
     private Configuration mConfiguration;
 
+    @UnsupportedAppUsage
     public DisplayAdjustments() {
     }
 
@@ -42,6 +44,7 @@
                 ? daj.mConfiguration : Configuration.EMPTY);
     }
 
+    @UnsupportedAppUsage
     public void setCompatibilityInfo(CompatibilityInfo compatInfo) {
         if (this == DEFAULT_DISPLAY_ADJUSTMENTS) {
             throw new IllegalArgumentException(
@@ -67,6 +70,7 @@
         mConfiguration.setTo(configuration != null ? configuration : Configuration.EMPTY);
     }
 
+    @UnsupportedAppUsage
     public Configuration getConfiguration() {
         return mConfiguration;
     }
diff --git a/core/java/android/view/DisplayEventReceiver.java b/core/java/android/view/DisplayEventReceiver.java
index cb98c88..edd3f1a 100644
--- a/core/java/android/view/DisplayEventReceiver.java
+++ b/core/java/android/view/DisplayEventReceiver.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Looper;
 import android.os.MessageQueue;
 import android.util.Log;
@@ -56,6 +57,7 @@
 
     private final CloseGuard mCloseGuard = CloseGuard.get();
 
+    @UnsupportedAppUsage
     private long mReceiverPtr;
 
     // We keep a reference message queue object here so that it is not
@@ -73,6 +75,7 @@
      *
      * @param looper The looper to use when invoking callbacks.
      */
+    @UnsupportedAppUsage
     public DisplayEventReceiver(Looper looper) {
         this(looper, VSYNC_SOURCE_APP);
     }
@@ -137,6 +140,7 @@
      * {@link SurfaceControl#BUILT_IN_DISPLAY_ID_MAIN}.
      * @param frame The frame number.  Increases by one for each vertical sync interval.
      */
+    @UnsupportedAppUsage
     public void onVsync(long timestampNanos, int builtInDisplayId, int frame) {
     }
 
@@ -149,6 +153,7 @@
      * {@link SurfaceControl#BUILT_IN_DISPLAY_ID_HDMI}.
      * @param connected True if the display is connected, false if it disconnected.
      */
+    @UnsupportedAppUsage
     public void onHotplug(long timestampNanos, int builtInDisplayId, boolean connected) {
     }
 
@@ -156,6 +161,7 @@
      * Schedules a single vertical sync pulse to be delivered when the next
      * display frame begins.
      */
+    @UnsupportedAppUsage
     public void scheduleVsync() {
         if (mReceiverPtr == 0) {
             Log.w(TAG, "Attempted to schedule a vertical sync pulse but the display event "
@@ -167,12 +173,14 @@
 
     // Called from native code.
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private void dispatchVsync(long timestampNanos, int builtInDisplayId, int frame) {
         onVsync(timestampNanos, builtInDisplayId, frame);
     }
 
     // Called from native code.
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private void dispatchHotplug(long timestampNanos, int builtInDisplayId, boolean connected) {
         onHotplug(timestampNanos, builtInDisplayId, connected);
     }
diff --git a/core/java/android/view/DisplayInfo.java b/core/java/android/view/DisplayInfo.java
index 913e592..2269012 100644
--- a/core/java/android/view/DisplayInfo.java
+++ b/core/java/android/view/DisplayInfo.java
@@ -22,6 +22,7 @@
 import static android.view.DisplayInfoProto.LOGICAL_WIDTH;
 import static android.view.DisplayInfoProto.NAME;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.res.CompatibilityInfo;
 import android.content.res.Configuration;
 import android.graphics.Rect;
@@ -115,6 +116,7 @@
      * Represents the usable size of the display which may be smaller than the
      * physical size when the system is emulating a smaller display.
      */
+    @UnsupportedAppUsage
     public int logicalWidth;
 
     /**
@@ -122,6 +124,7 @@
      * Represents the usable size of the display which may be smaller than the
      * physical size when the system is emulating a smaller display.
      */
+    @UnsupportedAppUsage
     public int logicalHeight;
 
     /**
@@ -153,6 +156,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public DisplayCutout displayCutout;
 
     /**
@@ -166,6 +170,7 @@
      * </p>
      */
     @Surface.Rotation
+    @UnsupportedAppUsage
     public int rotation;
 
     /**
@@ -273,6 +278,7 @@
         }
     };
 
+    @UnsupportedAppUsage
     public DisplayInfo() {
     }
 
diff --git a/core/java/android/view/DisplayListCanvas.java b/core/java/android/view/DisplayListCanvas.java
index 671532c..5409ce4 100644
--- a/core/java/android/view/DisplayListCanvas.java
+++ b/core/java/android/view/DisplayListCanvas.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Bitmap;
 import android.graphics.CanvasProperty;
 import android.graphics.Paint;
@@ -155,6 +156,7 @@
      *
      * @param drawGLFunction A native function pointer
      */
+    @UnsupportedAppUsage
     public void callDrawGLFunction2(long drawGLFunction) {
         nCallDrawGLFunction(mNativeCanvasWrapper, drawGLFunction, null);
     }
@@ -171,6 +173,7 @@
      * any references to the functor, just that the reference from this specific
      * canvas's display list has been released.
      */
+    @UnsupportedAppUsage
     public void drawGLFunctor2(long drawGLFunctor, @Nullable Runnable releasedCallback) {
         nCallDrawGLFunction(mNativeCanvasWrapper, drawGLFunctor, releasedCallback);
     }
@@ -185,6 +188,7 @@
      *
      * @param renderNode The RenderNode to draw.
      */
+    @UnsupportedAppUsage
     public void drawRenderNode(RenderNode renderNode) {
         nDrawRenderNode(mNativeCanvasWrapper, renderNode.getNativeDisplayList());
     }
@@ -206,6 +210,7 @@
     // Drawing
     ///////////////////////////////////////////////////////////////////////////
 
+    @UnsupportedAppUsage
     public void drawCircle(CanvasProperty<Float> cx, CanvasProperty<Float> cy,
             CanvasProperty<Float> radius, CanvasProperty<Paint> paint) {
         nDrawCircle(mNativeCanvasWrapper, cx.getNativeContainer(), cy.getNativeContainer(),
diff --git a/core/java/android/view/DragEvent.java b/core/java/android/view/DragEvent.java
index 2c9f871..bd4dda2 100644
--- a/core/java/android/view/DragEvent.java
+++ b/core/java/android/view/DragEvent.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.ClipData;
 import android.content.ClipDescription;
 import android.os.Parcel;
@@ -129,7 +130,9 @@
 
     int mAction;
     float mX, mY;
+    @UnsupportedAppUsage
     ClipDescription mClipDescription;
+    @UnsupportedAppUsage
     ClipData mClipData;
     IDragAndDropPermissions mDragAndDropPermissions;
 
@@ -313,6 +316,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public static DragEvent obtain(DragEvent source) {
         return obtain(source.mAction, source.mX, source.mY, source.mLocalState,
                 source.mClipDescription, source.mClipData, source.mDragAndDropPermissions,
diff --git a/core/java/android/view/FrameMetrics.java b/core/java/android/view/FrameMetrics.java
index 358a2d1..dcdef3e 100644
--- a/core/java/android/view/FrameMetrics.java
+++ b/core/java/android/view/FrameMetrics.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.IntDef;
+import android.annotation.UnsupportedAppUsage;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -249,6 +250,7 @@
         Index.INTENDED_VSYNC, Index.FRAME_COMPLETED,
     };
 
+    @UnsupportedAppUsage
     /* package */ final long[] mTimingData;
 
     /**
diff --git a/core/java/android/view/FrameMetricsObserver.java b/core/java/android/view/FrameMetricsObserver.java
index 9e81de0..597089b 100644
--- a/core/java/android/view/FrameMetricsObserver.java
+++ b/core/java/android/view/FrameMetricsObserver.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.os.Looper;
 import android.os.MessageQueue;
 
@@ -31,10 +32,12 @@
  * @hide
  */
 public class FrameMetricsObserver {
+    @UnsupportedAppUsage
     private MessageQueue mMessageQueue;
 
     private WeakReference<Window> mWindow;
 
+    @UnsupportedAppUsage
     private FrameMetrics mFrameMetrics;
 
     /* package */ Window.OnFrameMetricsAvailableListener mListener;
@@ -63,6 +66,7 @@
 
     // Called by native on the provided Handler
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private void notifyDataAvailable(int dropCount) {
         final Window window = mWindow.get();
         if (window != null) {
diff --git a/core/java/android/view/GestureDetector.java b/core/java/android/view/GestureDetector.java
index bc2953e..3ee5f1f 100644
--- a/core/java/android/view/GestureDetector.java
+++ b/core/java/android/view/GestureDetector.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.os.Handler;
 import android.os.Message;
@@ -216,12 +217,15 @@
         }
     }
 
+    @UnsupportedAppUsage
     private int mTouchSlopSquare;
     private int mDoubleTapTouchSlopSquare;
     private int mDoubleTapSlopSquare;
+    @UnsupportedAppUsage
     private int mMinimumFlingVelocity;
     private int mMaximumFlingVelocity;
 
+    @UnsupportedAppUsage
     private static final int LONGPRESS_TIMEOUT = ViewConfiguration.getLongPressTimeout();
     private static final int TAP_TIMEOUT = ViewConfiguration.getTapTimeout();
     private static final int DOUBLE_TAP_TIMEOUT = ViewConfiguration.getDoubleTapTimeout();
@@ -233,6 +237,7 @@
     private static final int TAP = 3;
 
     private final Handler mHandler;
+    @UnsupportedAppUsage
     private final OnGestureListener mListener;
     private OnDoubleTapListener mDoubleTapListener;
     private OnContextClickListener mContextClickListener;
@@ -241,6 +246,7 @@
     private boolean mDeferConfirmSingleTap;
     private boolean mInLongPress;
     private boolean mInContextClick;
+    @UnsupportedAppUsage
     private boolean mAlwaysInTapRegion;
     private boolean mAlwaysInBiggerTapRegion;
     private boolean mIgnoreNextUpEvent;
diff --git a/core/java/android/view/GhostView.java b/core/java/android/view/GhostView.java
index d1b96ba..fa7b067 100644
--- a/core/java/android/view/GhostView.java
+++ b/core/java/android/view/GhostView.java
@@ -15,6 +15,7 @@
  */
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Canvas;
 import android.graphics.Matrix;
 import android.widget.FrameLayout;
@@ -91,6 +92,7 @@
         host.transformMatrixToLocal(matrix);
     }
 
+    @UnsupportedAppUsage
     public static GhostView addGhost(View view, ViewGroup viewGroup, Matrix matrix) {
         if (!(view.getParent() instanceof ViewGroup)) {
             throw new IllegalArgumentException("Ghosted views must be parented by a ViewGroup");
@@ -131,10 +133,12 @@
         return ghostView;
     }
 
+    @UnsupportedAppUsage
     public static GhostView addGhost(View view, ViewGroup viewGroup) {
         return addGhost(view, viewGroup, null);
     }
 
+    @UnsupportedAppUsage
     public static void removeGhost(View view) {
         GhostView ghostView = view.mGhostView;
         if (ghostView != null) {
diff --git a/core/java/android/view/InputChannel.java b/core/java/android/view/InputChannel.java
index de195ae..b2dd6ac 100644
--- a/core/java/android/view/InputChannel.java
+++ b/core/java/android/view/InputChannel.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.util.Slog;
@@ -32,6 +33,7 @@
     
     private static final boolean DEBUG = false;
     
+    @UnsupportedAppUsage
     public static final Parcelable.Creator<InputChannel> CREATOR
             = new Parcelable.Creator<InputChannel>() {
         public InputChannel createFromParcel(Parcel source) {
@@ -46,6 +48,7 @@
     };
     
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private long mPtr; // used by native code
     
     private static native InputChannel[] nativeOpenInputChannelPair(String name);
@@ -63,6 +66,7 @@
      * It can be initialized by reading from a Parcel or by transferring the state of
      * another input channel into this one.
      */
+    @UnsupportedAppUsage
     public InputChannel() {
     }
 
diff --git a/core/java/android/view/InputDevice.java b/core/java/android/view/InputDevice.java
index 8405d9e..7295259 100644
--- a/core/java/android/view/InputDevice.java
+++ b/core/java/android/view/InputDevice.java
@@ -18,6 +18,7 @@
 
 import android.annotation.RequiresPermission;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
@@ -53,6 +54,7 @@
     private final int mProductId;
     private final String mDescriptor;
     private final InputDeviceIdentifier mIdentifier;
+    @UnsupportedAppUsage
     private final boolean mIsExternal;
     private final int mSources;
     private final int mKeyboardType;
@@ -405,6 +407,7 @@
     };
 
     // Called by native code.
+    @UnsupportedAppUsage
     private InputDevice(int id, int generation, int controllerNumber, String name, int vendorId,
             int productId, String descriptor, boolean isExternal, int sources, int keyboardType,
             KeyCharacterMap keyCharacterMap, boolean hasVibrator, boolean hasMicrophone,
@@ -608,6 +611,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isExternal() {
         return mIsExternal;
     }
@@ -739,6 +743,7 @@
     }
 
     // Called from native code.
+    @UnsupportedAppUsage
     private void addMotionRange(int axis, int source,
             float min, float max, float flat, float fuzz, float resolution) {
         mMotionRanges.add(new MotionRange(axis, source, min, max, flat, fuzz, resolution));
diff --git a/core/java/android/view/InputEvent.java b/core/java/android/view/InputEvent.java
index e2ad3ad..f874e1d 100644
--- a/core/java/android/view/InputEvent.java
+++ b/core/java/android/view/InputEvent.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -214,6 +215,7 @@
      * @return The unique sequence number of this event.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getSequenceNumber() {
         return mSeq;
     }
diff --git a/core/java/android/view/InputEventConsistencyVerifier.java b/core/java/android/view/InputEventConsistencyVerifier.java
index 7e8ec04..e4b1a8d 100644
--- a/core/java/android/view/InputEventConsistencyVerifier.java
+++ b/core/java/android/view/InputEventConsistencyVerifier.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Build;
 import android.util.Log;
 
@@ -115,6 +116,7 @@
      * @param caller The object to which the verifier is attached.
      * @param flags Flags to the verifier, or 0 if none.
      */
+    @UnsupportedAppUsage
     public InputEventConsistencyVerifier(Object caller, int flags) {
         this(caller, flags, null);
     }
@@ -135,6 +137,7 @@
      * Determines whether the instrumentation should be enabled.
      * @return True if it should be enabled.
      */
+    @UnsupportedAppUsage
     public static boolean isInstrumentationEnabled() {
         return IS_ENG_BUILD;
     }
@@ -319,6 +322,7 @@
      * where a subclass dispatching method delegates to its superclass's dispatching method
      * and both dispatching methods call into the consistency verifier.
      */
+    @UnsupportedAppUsage
     public void onTouchEvent(MotionEvent event, int nestingLevel) {
         if (!startEvent(event, nestingLevel, EVENT_TYPE_TOUCH)) {
             return;
@@ -579,6 +583,7 @@
      * where a subclass dispatching method delegates to its superclass's dispatching method
      * and both dispatching methods call into the consistency verifier.
      */
+    @UnsupportedAppUsage
     public void onUnhandledEvent(InputEvent event, int nestingLevel) {
         if (nestingLevel != mLastNestingLevel) {
             return;
diff --git a/core/java/android/view/InputEventReceiver.java b/core/java/android/view/InputEventReceiver.java
index c566a65..5cd87b4 100644
--- a/core/java/android/view/InputEventReceiver.java
+++ b/core/java/android/view/InputEventReceiver.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Looper;
 import android.os.MessageQueue;
 import android.util.Log;
@@ -114,6 +115,7 @@
      * @param displayId The display id on which input event triggered.
      * @param event The input event that was received.
      */
+    @UnsupportedAppUsage
     public void onInputEvent(InputEvent event, int displayId) {
         finishInputEvent(event, false);
     }
@@ -181,6 +183,7 @@
 
     // Called from native code.
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private void dispatchInputEvent(int seq, InputEvent event, int displayId) {
         mSeqMap.put(event.getSequenceNumber(), seq);
         onInputEvent(event, displayId);
@@ -188,6 +191,7 @@
 
     // Called from native code.
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private void dispatchBatchedInputEventPending() {
         onBatchedInputEventPending();
     }
diff --git a/core/java/android/view/InputEventSender.java b/core/java/android/view/InputEventSender.java
index b25fb65..c5f4c23 100644
--- a/core/java/android/view/InputEventSender.java
+++ b/core/java/android/view/InputEventSender.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Looper;
 import android.os.MessageQueue;
 import android.util.Log;
@@ -137,6 +138,7 @@
 
     // Called from native code.
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private void dispatchInputEventFinished(int seq, boolean handled) {
         onInputEventFinished(seq, handled);
     }
diff --git a/core/java/android/view/InputFilter.java b/core/java/android/view/InputFilter.java
index 0ab4dc0..3aaf31e 100644
--- a/core/java/android/view/InputFilter.java
+++ b/core/java/android/view/InputFilter.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
@@ -117,6 +118,7 @@
      *
      * @param looper The looper to run callbacks on.
      */
+    @UnsupportedAppUsage
     public InputFilter(Looper looper) {
         mH = new H(looper);
     }
@@ -186,6 +188,7 @@
      * @param event The input event that was received.
      * @param policyFlags The input event policy flags.
      */
+    @UnsupportedAppUsage
     public void onInputEvent(InputEvent event, int policyFlags) {
         sendInputEvent(event, policyFlags);
     }
diff --git a/core/java/android/view/InputQueue.java b/core/java/android/view/InputQueue.java
index 582ae79..69ebc46 100644
--- a/core/java/android/view/InputQueue.java
+++ b/core/java/android/view/InputQueue.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Looper;
 import android.os.MessageQueue;
 import android.util.LongSparseArray;
@@ -100,6 +101,7 @@
         mActiveEventArray.put(id, event);
     }
 
+    @UnsupportedAppUsage
     private void finishInputEvent(long id, boolean handled) {
         int index = mActiveEventArray.indexOfKey(id);
         if (index >= 0) {
diff --git a/core/java/android/view/KeyCharacterMap.java b/core/java/android/view/KeyCharacterMap.java
index 02202db..14646f7 100644
--- a/core/java/android/view/KeyCharacterMap.java
+++ b/core/java/android/view/KeyCharacterMap.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.hardware.input.InputManager;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -307,6 +308,7 @@
     }
 
     // Called from native
+    @UnsupportedAppUsage
     private KeyCharacterMap(long ptr) {
         mPtr = ptr;
     }
@@ -748,7 +750,9 @@
 
         private FallbackAction next;
 
+        @UnsupportedAppUsage
         public int keyCode;
+        @UnsupportedAppUsage
         public int metaState;
 
         private FallbackAction() {
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index a597405..0263cdf 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.method.MetaKeyKeyListener;
@@ -828,6 +829,7 @@
 
     // Symbolic names of all metakeys in bit order from least significant to most significant.
     // Accordingly there are exactly 32 values in this table.
+    @UnsupportedAppUsage
     private static final String[] META_SYMBOLIC_NAMES = new String[] {
         "META_SHIFT_ON",
         "META_ALT_ON",
@@ -896,6 +898,7 @@
      * Reserved for use by {@link MetaKeyKeyListener} for a published constant in its API.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int META_CAP_LOCKED = 0x100;
 
     /**
@@ -903,6 +906,7 @@
      * Reserved for use by {@link MetaKeyKeyListener} for a published constant in its API.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int META_ALT_LOCKED = 0x200;
 
     /**
@@ -910,6 +914,7 @@
      * Reserved for use by {@link MetaKeyKeyListener} for a published constant in its API.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int META_SYM_LOCKED = 0x400;
 
     /**
@@ -918,6 +923,7 @@
      * in its API that is currently being retained for legacy reasons.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int META_SELECTING = 0x800;
 
     /**
@@ -1237,16 +1243,27 @@
 
     private KeyEvent mNext;
 
+    @UnsupportedAppUsage
     private int mDeviceId;
+    @UnsupportedAppUsage
     private int mSource;
+    @UnsupportedAppUsage
     private int mMetaState;
+    @UnsupportedAppUsage
     private int mAction;
+    @UnsupportedAppUsage
     private int mKeyCode;
+    @UnsupportedAppUsage
     private int mScanCode;
+    @UnsupportedAppUsage
     private int mRepeatCount;
+    @UnsupportedAppUsage
     private int mFlags;
+    @UnsupportedAppUsage
     private long mDownTime;
+    @UnsupportedAppUsage
     private long mEventTime;
+    @UnsupportedAppUsage
     private String mCharacters;
 
     public interface Callback {
@@ -1555,6 +1572,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static KeyEvent obtain(long downTime, long eventTime, int action,
                     int code, int repeat, int metaState,
                     int deviceId, int scancode, int flags, int source, String characters) {
@@ -1608,6 +1626,7 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     public final void recycle() {
         super.recycle();
         mCharacters = null;
@@ -1727,6 +1746,7 @@
      * @deprecated
      * @hide
      */
+    @UnsupportedAppUsage
     @Deprecated public final boolean isDown() {
         return mAction == ACTION_DOWN;
     }
@@ -1788,6 +1808,7 @@
     /** Whether key will, by default, trigger a click on the focused view.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final boolean isConfirmKey(int keyCode) {
         switch (keyCode) {
             case KeyEvent.KEYCODE_DPAD_CENTER:
@@ -1978,6 +1999,7 @@
     }
 
     // Mask of all modifier key meta states.  Specifically excludes locked keys like caps lock.
+    @UnsupportedAppUsage
     private static final int META_MODIFIER_MASK =
             META_SHIFT_ON | META_SHIFT_LEFT_ON | META_SHIFT_RIGHT_ON
             | META_ALT_ON | META_ALT_LEFT_ON | META_ALT_RIGHT_ON
@@ -1986,19 +2008,23 @@
             | META_SYM_ON | META_FUNCTION_ON;
 
     // Mask of all lock key meta states.
+    @UnsupportedAppUsage
     private static final int META_LOCK_MASK =
             META_CAPS_LOCK_ON | META_NUM_LOCK_ON | META_SCROLL_LOCK_ON;
 
     // Mask of all valid meta states.
+    @UnsupportedAppUsage
     private static final int META_ALL_MASK = META_MODIFIER_MASK | META_LOCK_MASK;
 
     // Mask of all synthetic meta states that are reserved for API compatibility with
     // historical uses in MetaKeyKeyListener.
+    @UnsupportedAppUsage
     private static final int META_SYNTHETIC_MASK =
             META_CAP_LOCKED | META_ALT_LOCKED | META_SYM_LOCKED | META_SELECTING;
 
     // Mask of all meta states that are not valid use in specifying a modifier key.
     // These bits are known to be used for purposes other than specifying modifiers.
+    @UnsupportedAppUsage
     private static final int META_INVALID_MODIFIER_MASK =
             META_LOCK_MASK | META_SYNTHETIC_MASK;
 
@@ -2857,6 +2883,7 @@
      * @return The symbolic name of the specified action.
      * @hide
      */
+    @UnsupportedAppUsage
     public static String actionToString(int action) {
         switch (action) {
             case ACTION_DOWN:
diff --git a/core/java/android/view/LayoutInflater.java b/core/java/android/view/LayoutInflater.java
index 47b8d92..c520a99 100644
--- a/core/java/android/view/LayoutInflater.java
+++ b/core/java/android/view/LayoutInflater.java
@@ -19,6 +19,7 @@
 import android.annotation.LayoutRes;
 import android.annotation.Nullable;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.res.Resources;
 import android.content.res.TypedArray;
@@ -76,20 +77,28 @@
      * This field should be made private, so it is hidden from the SDK.
      * {@hide}
      */
+    @UnsupportedAppUsage
     protected final Context mContext;
 
     // these are optional, set by the caller
+    @UnsupportedAppUsage
     private boolean mFactorySet;
+    @UnsupportedAppUsage
     private Factory mFactory;
+    @UnsupportedAppUsage
     private Factory2 mFactory2;
+    @UnsupportedAppUsage
     private Factory2 mPrivateFactory;
     private Filter mFilter;
 
+    @UnsupportedAppUsage
     final Object[] mConstructorArgs = new Object[2];
 
+    @UnsupportedAppUsage
     static final Class<?>[] mConstructorSignature = new Class[] {
             Context.class, AttributeSet.class};
 
+    @UnsupportedAppUsage
     private static final HashMap<String, Constructor<? extends View>> sConstructorMap =
             new HashMap<String, Constructor<? extends View>>();
 
@@ -105,6 +114,7 @@
 
     private static final String ATTR_LAYOUT = "layout";
 
+    @UnsupportedAppUsage
     private static final int[] ATTRS_THEME = new int[] {
             com.android.internal.R.attr.theme };
 
@@ -327,6 +337,7 @@
     /**
      * @hide for use by framework
      */
+    @UnsupportedAppUsage
     public void setPrivateFactory(Factory2 factory) {
         if (mPrivateFactory == null) {
             mPrivateFactory = factory;
@@ -726,6 +737,7 @@
      * argument and should be used for everything except {@code &gt;include>}
      * tag parsing.
      */
+    @UnsupportedAppUsage
     private View createViewFromTag(View parent, String name, Context context, AttributeSet attrs) {
         return createViewFromTag(parent, name, context, attrs, false);
     }
@@ -745,6 +757,7 @@
      *                        attribute (if set) for the view being inflated,
      *                        {@code false} otherwise
      */
+    @UnsupportedAppUsage
     View createViewFromTag(View parent, String name, Context context, AttributeSet attrs,
             boolean ignoreThemeAttr) {
         if (name.equals("view")) {
@@ -893,6 +906,7 @@
         consumeChildElements(parser);
     }
 
+    @UnsupportedAppUsage
     private void parseInclude(XmlPullParser parser, Context context, View parent,
             AttributeSet attrs) throws XmlPullParserException, IOException {
         int type;
diff --git a/core/java/android/view/MotionEvent.java b/core/java/android/view/MotionEvent.java
index 1d7c1de..d173ec5 100644
--- a/core/java/android/view/MotionEvent.java
+++ b/core/java/android/view/MotionEvent.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Matrix;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -1437,6 +1438,7 @@
     }
 
     // Private value for history pos that obtains the current sample.
+    @UnsupportedAppUsage
     private static final int HISTORY_CURRENT = -0x80000000;
 
     private static final int MAX_RECYCLED = 10;
@@ -1465,6 +1467,7 @@
     }
 
     // Pointer to the native MotionEvent object that contains the actual data.
+    @UnsupportedAppUsage
     private long mNativePtr;
 
     private MotionEvent mNext;
@@ -1498,6 +1501,7 @@
     @FastNative
     private static native long nativeGetEventTimeNanos(long nativePtr, int historyPos);
     @FastNative
+    @UnsupportedAppUsage
     private static native float nativeGetRawAxisValue(long nativePtr,
             int axis, int pointerIndex, int historyPos);
     @FastNative
@@ -1582,6 +1586,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     static private MotionEvent obtain() {
         final MotionEvent ev;
         synchronized (gRecyclerLock) {
@@ -1832,6 +1837,7 @@
 
     /** @hide */
     @Override
+    @UnsupportedAppUsage
     public MotionEvent copy() {
         return obtain(this);
     }
@@ -1864,6 +1870,7 @@
      * @param scale The scale factor to apply.
      * @hide
      */
+    @UnsupportedAppUsage
     public final void scale(float scale) {
         if (scale != 1.0f) {
             nativeScale(mNativePtr, scale);
@@ -2002,6 +2009,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public final void setDownTime(long downTime) {
         nativeSetDownTimeNanos(mNativePtr, downTime * NS_PER_MS);
     }
@@ -2033,6 +2041,7 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     public final long getEventTimeNano() {
         return nativeGetEventTimeNanos(mNativePtr, HISTORY_CURRENT);
     }
@@ -3032,6 +3041,7 @@
      * @return True if batching was performed or false if batching was not possible.
      * @hide
      */
+    @UnsupportedAppUsage
     public final boolean addBatch(MotionEvent event) {
         final int action = nativeGetAction(mNativePtr);
         if (action != ACTION_MOVE && action != ACTION_HOVER_MOVE) {
@@ -3144,6 +3154,7 @@
      * Gets an integer where each pointer id present in the event is marked as a bit.
      * @hide
      */
+    @UnsupportedAppUsage
     public final int getPointerIdBits() {
         int idBits = 0;
         final int pointerCount = nativeGetPointerCount(mNativePtr);
@@ -3157,6 +3168,7 @@
      * Splits a motion event such that it includes only a subset of pointer ids.
      * @hide
      */
+    @UnsupportedAppUsage
     public final MotionEvent split(int idBits) {
         MotionEvent ev = obtain();
         synchronized (gSharedTempLock) {
@@ -3467,7 +3479,9 @@
      */
     public static final class PointerCoords {
         private static final int INITIAL_PACKED_AXIS_VALUES = 8;
+        @UnsupportedAppUsage
         private long mPackedAxisBits;
+        @UnsupportedAppUsage
         private float[] mPackedAxisValues;
 
         /**
@@ -3487,6 +3501,7 @@
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public static PointerCoords[] createArray(int size) {
             PointerCoords[] array = new PointerCoords[size];
             for (int i = 0; i < size; i++) {
@@ -3780,6 +3795,7 @@
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public static PointerProperties[] createArray(int size) {
             PointerProperties[] array = new PointerProperties[size];
             for (int i = 0; i < size; i++) {
diff --git a/core/java/android/view/NotificationHeaderView.java b/core/java/android/view/NotificationHeaderView.java
index a3676ba..81da76d7 100644
--- a/core/java/android/view/NotificationHeaderView.java
+++ b/core/java/android/view/NotificationHeaderView.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.app.AppOpsManager;
 import android.app.Notification;
 import android.content.Context;
@@ -85,6 +86,7 @@
         this(context, null);
     }
 
+    @UnsupportedAppUsage
     public NotificationHeaderView(Context context, @Nullable AttributeSet attrs) {
         this(context, attrs, 0);
     }
diff --git a/core/java/android/view/PointerIcon.java b/core/java/android/view/PointerIcon.java
index 8cb46b7..dc097a1 100644
--- a/core/java/android/view/PointerIcon.java
+++ b/core/java/android/view/PointerIcon.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.annotation.XmlRes;
 import android.content.Context;
 import android.content.res.Resources;
@@ -145,14 +146,20 @@
     private static final SparseArray<PointerIcon> gSystemIcons = new SparseArray<PointerIcon>();
     private static boolean sUseLargeIcons = false;
 
+    @UnsupportedAppUsage
     private final int mType;
     private int mSystemIconResourceId;
+    @UnsupportedAppUsage
     private Bitmap mBitmap;
+    @UnsupportedAppUsage
     private float mHotSpotX;
+    @UnsupportedAppUsage
     private float mHotSpotY;
     // The bitmaps for the additional frame of animated pointer icon. Note that the first frame
     // will be stored in mBitmap.
+    @UnsupportedAppUsage
     private Bitmap mBitmapFrames[];
+    @UnsupportedAppUsage
     private int mDurationPerFrame;
 
     private PointerIcon(int type) {
@@ -312,6 +319,7 @@
      * @throws IllegalArgumentException if context is null.
      * @hide
      */
+    @UnsupportedAppUsage
     public PointerIcon load(@NonNull Context context) {
         if (context == null) {
             throw new IllegalArgumentException("context must not be null");
diff --git a/core/java/android/view/RemoteAnimationAdapter.java b/core/java/android/view/RemoteAnimationAdapter.java
index a864e55..3c9ce78 100644
--- a/core/java/android/view/RemoteAnimationAdapter.java
+++ b/core/java/android/view/RemoteAnimationAdapter.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityOptions;
 import android.os.IBinder;
 import android.os.Parcel;
@@ -61,6 +62,7 @@
      * @param statusBarTransitionDelay The desired delay for all visual animations in the
      *        status bar caused by this app animation in millis.
      */
+    @UnsupportedAppUsage
     public RemoteAnimationAdapter(IRemoteAnimationRunner runner, long duration,
             long statusBarTransitionDelay) {
         mRunner = runner;
diff --git a/core/java/android/view/RemoteAnimationDefinition.java b/core/java/android/view/RemoteAnimationDefinition.java
index d2240e1..beb1c1d 100644
--- a/core/java/android/view/RemoteAnimationDefinition.java
+++ b/core/java/android/view/RemoteAnimationDefinition.java
@@ -19,6 +19,7 @@
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.app.WindowConfiguration;
 import android.app.WindowConfiguration.ActivityType;
 import android.os.Parcel;
@@ -36,6 +37,7 @@
 
     private final SparseArray<RemoteAnimationAdapterEntry> mTransitionAnimationMap;
 
+    @UnsupportedAppUsage
     public RemoteAnimationDefinition() {
         mTransitionAnimationMap = new SparseArray<>();
     }
@@ -48,6 +50,7 @@
      *                           parameter is involved in the transition.
      * @param adapter The adapter that described how to run the remote animation.
      */
+    @UnsupportedAppUsage
     public void addRemoteAnimation(@TransitionType int transition,
             @ActivityType int activityTypeFilter, RemoteAnimationAdapter adapter) {
         mTransitionAnimationMap.put(transition,
@@ -61,6 +64,7 @@
      * @param transition The transition type. Must be one of WindowManager.TRANSIT_* values.
      * @param adapter The adapter that described how to run the remote animation.
      */
+    @UnsupportedAppUsage
     public void addRemoteAnimation(@TransitionType int transition, RemoteAnimationAdapter adapter) {
         addRemoteAnimation(transition, ACTIVITY_TYPE_UNDEFINED, adapter);
     }
diff --git a/core/java/android/view/RemoteAnimationTarget.java b/core/java/android/view/RemoteAnimationTarget.java
index 5b2cc81..b201d55 100644
--- a/core/java/android/view/RemoteAnimationTarget.java
+++ b/core/java/android/view/RemoteAnimationTarget.java
@@ -28,6 +28,7 @@
 import static android.app.RemoteAnimationTargetProto.WINDOW_CONFIGURATION;
 
 import android.annotation.IntDef;
+import android.annotation.UnsupportedAppUsage;
 import android.app.WindowConfiguration;
 import android.graphics.Point;
 import android.graphics.Rect;
@@ -66,21 +67,25 @@
     /**
      * The {@link Mode} to describe whether this app is opening or closing.
      */
+    @UnsupportedAppUsage
     public final @Mode int mode;
 
     /**
      * The id of the task this app belongs to.
      */
+    @UnsupportedAppUsage
     public final int taskId;
 
     /**
      * The {@link SurfaceControl} object to actually control the transform of the app.
      */
+    @UnsupportedAppUsage
     public final SurfaceControl leash;
 
     /**
      * Whether the app is translucent and may reveal apps behind.
      */
+    @UnsupportedAppUsage
     public final boolean isTranslucent;
 
     /**
@@ -89,11 +94,13 @@
      * anything that extends beyond these bounds will not have any effect. This implies that any
      * clip-rect animation should likely stop at these bounds.
      */
+    @UnsupportedAppUsage
     public final Rect clipRect;
 
     /**
      * The insets of the main app window.
      */
+    @UnsupportedAppUsage
     public final Rect contentInsets;
 
     /**
@@ -101,6 +108,7 @@
      * to preserve original z-layer order in the hierarchy tree assuming no "boosting" needs to
      * happen.
      */
+    @UnsupportedAppUsage
     public final int prefixOrderIndex;
 
     /**
@@ -108,6 +116,7 @@
      * is modified from the controlling app, any animation transform needs to be offset by this
      * amount.
      */
+    @UnsupportedAppUsage
     public final Point position;
 
     /**
@@ -115,16 +124,19 @@
      * of the leash is modified from the controlling app, it needs to take the source container
      * bounds into account when calculating the crop.
      */
+    @UnsupportedAppUsage
     public final Rect sourceContainerBounds;
 
     /**
      * The window configuration for the target.
      */
+    @UnsupportedAppUsage
     public final WindowConfiguration windowConfiguration;
 
     /**
      * Whether the task is not presented in Recents UI.
      */
+    @UnsupportedAppUsage
     public boolean isNotInRecents;
 
     public RemoteAnimationTarget(int taskId, int mode, SurfaceControl leash, boolean isTranslucent,
diff --git a/core/java/android/view/RenderNode.java b/core/java/android/view/RenderNode.java
index 7c25fac..c28e335 100644
--- a/core/java/android/view/RenderNode.java
+++ b/core/java/android/view/RenderNode.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Matrix;
 import android.graphics.Outline;
 import android.graphics.Paint;
@@ -175,6 +176,7 @@
      *
      * @return A new RenderNode.
      */
+    @UnsupportedAppUsage
     public static RenderNode create(String name, @Nullable View owningView) {
         return new RenderNode(name, owningView);
     }
@@ -214,6 +216,7 @@
      * @see #end(DisplayListCanvas)
      * @see #isValid()
      */
+    @UnsupportedAppUsage
     public DisplayListCanvas start(int width, int height) {
         return DisplayListCanvas.obtain(this, width, height);
     }
@@ -226,6 +229,7 @@
      * @see #start(int, int)
      * @see #isValid()
      */
+    @UnsupportedAppUsage
     public void end(DisplayListCanvas canvas) {
         long displayList = canvas.finishRecording();
         nSetDisplayList(mNativeRenderNode, displayList);
@@ -237,6 +241,7 @@
      * during destruction of hardware resources, to ensure that we do not hold onto
      * obsolete resources after related resources are gone.
      */
+    @UnsupportedAppUsage
     public void discardDisplayList() {
         nSetDisplayList(mNativeRenderNode, 0);
     }
@@ -247,6 +252,7 @@
      *
      * @return boolean true if the display list is able to be replayed, false otherwise.
      */
+    @UnsupportedAppUsage
     public boolean isValid() {
         return nIsValid(mNativeRenderNode);
     }
@@ -300,6 +306,7 @@
      *
      * @param clipToBounds true if the display list should clip to its bounds
      */
+    @UnsupportedAppUsage
     public boolean setClipToBounds(boolean clipToBounds) {
         return nSetClipToBounds(mNativeRenderNode, clipToBounds);
     }
@@ -311,6 +318,7 @@
      * @param shouldProject true if the display list should be projected onto a
      *            containing volume.
      */
+    @UnsupportedAppUsage
     public boolean setProjectBackwards(boolean shouldProject) {
         return nSetProjectBackwards(mNativeRenderNode, shouldProject);
     }
@@ -451,6 +459,7 @@
      * @see android.view.View#hasOverlappingRendering()
      * @see #hasOverlappingRendering()
      */
+    @UnsupportedAppUsage
     public boolean setHasOverlappingRendering(boolean hasOverlappingRendering) {
         return nSetHasOverlappingRendering(mNativeRenderNode, hasOverlappingRendering);
     }
@@ -772,6 +781,7 @@
      * @see View#setRight(int)
      * @see View#setBottom(int)
      */
+    @UnsupportedAppUsage
     public boolean setLeftTopRightBottom(int left, int top, int right, int bottom) {
         return nSetLeftTopRightBottom(mNativeRenderNode, left, top, right, bottom);
     }
@@ -784,6 +794,7 @@
      *
      * @see View#offsetLeftAndRight(int)
      */
+    @UnsupportedAppUsage
     public boolean offsetLeftAndRight(int offset) {
         return nOffsetLeftAndRight(mNativeRenderNode, offset);
     }
@@ -804,6 +815,7 @@
      * Outputs the display list to the log. This method exists for use by
      * tools to output display lists for selected nodes to the log.
      */
+    @UnsupportedAppUsage
     public void output() {
         nOutput(mNativeRenderNode);
     }
diff --git a/core/java/android/view/RenderNodeAnimator.java b/core/java/android/view/RenderNodeAnimator.java
index d26a2f6..e48bcfd 100644
--- a/core/java/android/view/RenderNodeAnimator.java
+++ b/core/java/android/view/RenderNodeAnimator.java
@@ -19,6 +19,7 @@
 import android.animation.Animator;
 import android.animation.TimeInterpolator;
 import android.animation.ValueAnimator;
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.CanvasProperty;
 import android.graphics.Paint;
 import android.util.SparseIntArray;
@@ -103,10 +104,12 @@
     private long mStartDelay = 0;
     private long mStartTime;
 
+    @UnsupportedAppUsage
     public static int mapViewPropertyToRenderProperty(int viewProperty) {
         return sViewPropertyAnimatorMap.get(viewProperty);
     }
 
+    @UnsupportedAppUsage
     public RenderNodeAnimator(int property, float finalValue) {
         mRenderProperty = property;
         mFinalValue = finalValue;
@@ -114,6 +117,7 @@
         init(nCreateAnimator(property, finalValue));
     }
 
+    @UnsupportedAppUsage
     public RenderNodeAnimator(CanvasProperty<Float> property, float finalValue) {
         init(nCreateCanvasPropertyFloatAnimator(
                 property.getNativeContainer(), finalValue));
@@ -128,6 +132,7 @@
      *            {@link #PAINT_STROKE_WIDTH}
      * @param finalValue The target value for the property
      */
+    @UnsupportedAppUsage
     public RenderNodeAnimator(CanvasProperty<Paint> property, int paintField, float finalValue) {
         init(nCreateCanvasPropertyPaintAnimator(
                 property.getNativeContainer(), paintField, finalValue));
@@ -275,6 +280,7 @@
         throw new UnsupportedOperationException();
     }
 
+    @UnsupportedAppUsage
     public void setTarget(View view) {
         mViewTarget = view;
         setTarget(mViewTarget.mRenderNode);
@@ -295,6 +301,7 @@
         mTarget.addAnimator(this);
     }
 
+    @UnsupportedAppUsage
     public void setStartValue(float startValue) {
         checkMutable();
         nSetStartValue(mNativePtr.get(), startValue);
@@ -479,6 +486,7 @@
     }
 
     // Called by native
+    @UnsupportedAppUsage
     private static void callOnFinished(RenderNodeAnimator animator) {
         animator.onFinished();
     }
diff --git a/core/java/android/view/ScaleGestureDetector.java b/core/java/android/view/ScaleGestureDetector.java
index 9787494..c189afe 100644
--- a/core/java/android/view/ScaleGestureDetector.java
+++ b/core/java/android/view/ScaleGestureDetector.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.res.Resources;
 import android.os.Build;
@@ -123,6 +124,7 @@
     }
 
     private final Context mContext;
+    @UnsupportedAppUsage
     private final OnScaleGestureListener mListener;
 
     private float mFocusX;
@@ -141,7 +143,9 @@
     private long mCurrTime;
     private long mPrevTime;
     private boolean mInProgress;
+    @UnsupportedAppUsage
     private int mSpanSlop;
+    @UnsupportedAppUsage
     private int mMinSpan;
 
     private final Handler mHandler;
diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java
index df81a31..427f570 100644
--- a/core/java/android/view/Surface.java
+++ b/core/java/android/view/Surface.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.IntDef;
+import android.annotation.UnsupportedAppUsage;
 import android.content.res.CompatibilityInfo.Translator;
 import android.graphics.Canvas;
 import android.graphics.GraphicBuffer;
@@ -60,6 +61,7 @@
             throws OutOfResourcesException;
     private static native void nativeUnlockCanvasAndPost(long nativeObject, Canvas canvas);
 
+    @UnsupportedAppUsage
     private static native void nativeRelease(long nativeObject);
     private static native boolean nativeIsValid(long nativeObject);
     private static native boolean nativeIsConsumerRunningBehind(long nativeObject);
@@ -102,9 +104,13 @@
     private final CloseGuard mCloseGuard = CloseGuard.get();
 
     // Guarded state.
+    @UnsupportedAppUsage
     final Object mLock = new Object(); // protects the native state
+    @UnsupportedAppUsage
     private String mName;
+    @UnsupportedAppUsage
     long mNativeObject; // package scope only for SurfaceControl access
+    @UnsupportedAppUsage
     private long mLockedObject;
     private int mGenerationId; // incremented each time mNativeObject changes
     private final Canvas mCanvas = new CompatibleCanvas();
@@ -172,6 +178,7 @@
      * Create an empty surface, which will later be filled in by readFromParcel().
      * @hide
      */
+    @UnsupportedAppUsage
     public Surface() {
     }
 
@@ -203,6 +210,7 @@
     }
 
     /* called from android_view_Surface_createFromIGraphicBufferProducer() */
+    @UnsupportedAppUsage
     private Surface(long nativeObject) {
         synchronized (mLock) {
             setNativeObjectLocked(nativeObject);
@@ -245,6 +253,7 @@
      * called from the process that created the service.
      * @hide
      */
+    @UnsupportedAppUsage
     public void destroy() {
         release();
     }
@@ -293,6 +302,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public long getNextFrameNumber() {
         synchronized (mLock) {
             checkNotReleasedLocked();
@@ -485,6 +495,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void copyFrom(SurfaceControl other) {
         if (other == null) {
             throw new IllegalArgumentException("other must not be null");
@@ -544,6 +555,7 @@
      * @deprecated
      */
     @Deprecated
+    @UnsupportedAppUsage
     public void transferFrom(Surface other) {
         if (other == null) {
             throw new IllegalArgumentException("other must not be null");
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index ed8b005..2e98d03 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -28,6 +28,7 @@
 import static android.view.SurfaceControlProto.NAME;
 
 import android.annotation.Size;
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Bitmap;
 import android.graphics.GraphicBuffer;
 import android.graphics.Matrix;
@@ -179,6 +180,7 @@
     /**
      * Surface creation flag: Surface is created hidden
      */
+    @UnsupportedAppUsage
     public static final int HIDDEN = 0x00000004;
 
     /**
@@ -720,6 +722,7 @@
      */
 
     /** start a transaction */
+    @UnsupportedAppUsage
     public static void openTransaction() {
         synchronized (SurfaceControl.class) {
             if (sGlobalTransaction == null) {
@@ -756,6 +759,7 @@
     }
 
     /** end a transaction */
+    @UnsupportedAppUsage
     public static void closeTransaction() {
         closeTransaction(false);
     }
@@ -811,6 +815,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public void setLayer(int zorder) {
         checkNotReleased();
         synchronized(SurfaceControl.class) {
@@ -825,6 +830,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public void setPosition(float x, float y) {
         checkNotReleased();
         synchronized(SurfaceControl.class) {
@@ -846,6 +852,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public void hide() {
         checkNotReleased();
         synchronized(SurfaceControl.class) {
@@ -853,6 +860,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public void show() {
         checkNotReleased();
         synchronized(SurfaceControl.class) {
@@ -986,16 +994,26 @@
      * Describes the properties of a physical display known to surface flinger.
      */
     public static final class PhysicalDisplayInfo {
+        @UnsupportedAppUsage
         public int width;
+        @UnsupportedAppUsage
         public int height;
+        @UnsupportedAppUsage
         public float refreshRate;
+        @UnsupportedAppUsage
         public float density;
+        @UnsupportedAppUsage
         public float xDpi;
+        @UnsupportedAppUsage
         public float yDpi;
+        @UnsupportedAppUsage
         public boolean secure;
+        @UnsupportedAppUsage
         public long appVsyncOffsetNanos;
+        @UnsupportedAppUsage
         public long presentationDeadlineNanos;
 
+        @UnsupportedAppUsage
         public PhysicalDisplayInfo() {
         }
 
@@ -1055,6 +1073,7 @@
         nativeSetDisplayPowerMode(displayToken, mode);
     }
 
+    @UnsupportedAppUsage
     public static SurfaceControl.PhysicalDisplayInfo[] getDisplayConfigs(IBinder displayToken) {
         if (displayToken == null) {
             throw new IllegalArgumentException("displayToken must not be null");
@@ -1097,6 +1116,7 @@
         return nativeSetActiveColorMode(displayToken, colorMode);
     }
 
+    @UnsupportedAppUsage
     public static void setDisplayProjection(IBinder displayToken,
             int orientation, Rect layerStackRect, Rect displayRect) {
         synchronized (SurfaceControl.class) {
@@ -1105,12 +1125,14 @@
         }
     }
 
+    @UnsupportedAppUsage
     public static void setDisplayLayerStack(IBinder displayToken, int layerStack) {
         synchronized (SurfaceControl.class) {
             sGlobalTransaction.setDisplayLayerStack(displayToken, layerStack);
         }
     }
 
+    @UnsupportedAppUsage
     public static void setDisplaySurface(IBinder displayToken, Surface surface) {
         synchronized (SurfaceControl.class) {
             sGlobalTransaction.setDisplaySurface(displayToken, surface);
@@ -1130,6 +1152,7 @@
         return nativeGetHdrCapabilities(displayToken);
     }
 
+    @UnsupportedAppUsage
     public static IBinder createDisplay(String name, boolean secure) {
         if (name == null) {
             throw new IllegalArgumentException("name must not be null");
@@ -1137,6 +1160,7 @@
         return nativeCreateDisplay(name, secure);
     }
 
+    @UnsupportedAppUsage
     public static void destroyDisplay(IBinder displayToken) {
         if (displayToken == null) {
             throw new IllegalArgumentException("displayToken must not be null");
@@ -1144,6 +1168,7 @@
         nativeDestroyDisplay(displayToken);
     }
 
+    @UnsupportedAppUsage
     public static IBinder getBuiltInDisplay(int builtInDisplayId) {
         return nativeGetBuiltInDisplay(builtInDisplayId);
     }
@@ -1229,6 +1254,7 @@
      * if an error occurs. Make sure to call Bitmap.recycle() as soon as
      * possible, once its content is not needed anymore.
      */
+    @UnsupportedAppUsage
     public static Bitmap screenshot(Rect sourceCrop, int width, int height,
             int minLayer, int maxLayer, boolean useIdentityTransform,
             int rotation) {
@@ -1285,6 +1311,7 @@
                 false, rotation);
     }
 
+    @UnsupportedAppUsage
     private static void screenshot(IBinder display, Surface consumer, Rect sourceCrop,
             int width, int height, int minLayer, int maxLayer, boolean allLayers,
             boolean useIdentityTransform) {
@@ -1334,6 +1361,7 @@
         private final ArrayMap<SurfaceControl, Point> mResizedSurfaces = new ArrayMap<>();
         Runnable mFreeNativeResources;
 
+        @UnsupportedAppUsage
         public Transaction() {
             mNativeObject = nativeCreateTransaction();
             mFreeNativeResources
@@ -1344,6 +1372,7 @@
          * Apply the transaction, clearing it's state, and making it usable
          * as a new transaction.
          */
+        @UnsupportedAppUsage
         public void apply() {
             apply(false);
         }
@@ -1378,24 +1407,28 @@
             mResizedSurfaces.clear();
         }
 
+        @UnsupportedAppUsage
         public Transaction show(SurfaceControl sc) {
             sc.checkNotReleased();
             nativeSetFlags(mNativeObject, sc.mNativeObject, 0, SURFACE_HIDDEN);
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction hide(SurfaceControl sc) {
             sc.checkNotReleased();
             nativeSetFlags(mNativeObject, sc.mNativeObject, SURFACE_HIDDEN, SURFACE_HIDDEN);
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction setPosition(SurfaceControl sc, float x, float y) {
             sc.checkNotReleased();
             nativeSetPosition(mNativeObject, sc.mNativeObject, x, y);
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction setSize(SurfaceControl sc, int w, int h) {
             sc.checkNotReleased();
             mResizedSurfaces.put(sc, new Point(w, h));
@@ -1403,6 +1436,7 @@
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction setLayer(SurfaceControl sc, int z) {
             sc.checkNotReleased();
             nativeSetLayer(mNativeObject, sc.mNativeObject, z);
@@ -1423,12 +1457,14 @@
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction setAlpha(SurfaceControl sc, float alpha) {
             sc.checkNotReleased();
             nativeSetAlpha(mNativeObject, sc.mNativeObject, alpha);
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction setMatrix(SurfaceControl sc,
                 float dsdx, float dtdx, float dtdy, float dsdy) {
             sc.checkNotReleased();
@@ -1437,6 +1473,7 @@
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction setMatrix(SurfaceControl sc, Matrix matrix, float[] float9) {
             matrix.getValues(float9);
             setMatrix(sc, float9[MSCALE_X], float9[MSKEW_Y],
@@ -1445,6 +1482,7 @@
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction setWindowCrop(SurfaceControl sc, Rect crop) {
             sc.checkNotReleased();
             if (crop != null) {
@@ -1457,6 +1495,7 @@
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction setFinalCrop(SurfaceControl sc, Rect crop) {
             sc.checkNotReleased();
             if (crop != null) {
@@ -1475,6 +1514,7 @@
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction deferTransactionUntil(SurfaceControl sc, IBinder handle,
                 long frameNumber) {
             if (frameNumber < 0) {
@@ -1485,6 +1525,7 @@
             return this;
         }
 
+        @UnsupportedAppUsage
         public Transaction deferTransactionUntilSurface(SurfaceControl sc, Surface barrierSurface,
                 long frameNumber) {
             if (frameNumber < 0) {
@@ -1527,6 +1568,7 @@
          * Sets a color for the Surface.
          * @param color A float array with three values to represent r, g, b in range [0..1]
          */
+        @UnsupportedAppUsage
         public Transaction setColor(SurfaceControl sc, @Size(3) float[] color) {
             sc.checkNotReleased();
             nativeSetColor(mNativeObject, sc.mNativeObject, color);
diff --git a/core/java/android/view/SurfaceSession.java b/core/java/android/view/SurfaceSession.java
index b5912bc..d517a80 100644
--- a/core/java/android/view/SurfaceSession.java
+++ b/core/java/android/view/SurfaceSession.java
@@ -16,6 +16,8 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * An instance of this class represents a connection to the surface
  * flinger, from which you can create one or more Surface instances that will
@@ -24,6 +26,7 @@
  */
 public final class SurfaceSession {
     // Note: This field is accessed by native code.
+    @UnsupportedAppUsage
     private long mNativeClient; // SurfaceComposerClient*
 
     private static native long nativeCreate();
@@ -32,6 +35,7 @@
     private static native void nativeKill(long ptr);
 
     /** Create a new connection with the surface flinger. */
+    @UnsupportedAppUsage
     public SurfaceSession() {
         mNativeClient = nativeCreate();
     }
@@ -57,6 +61,7 @@
      * Unlike destroy(), after this call any surfaces that were created
      * from the session will no longer work.
      */
+    @UnsupportedAppUsage
     public void kill() {
         nativeKill(mNativeClient);
     }
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index 44c1780..6319a8f 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -20,6 +20,7 @@
 import static android.view.WindowManagerPolicyConstants.APPLICATION_MEDIA_SUBLAYER;
 import static android.view.WindowManagerPolicyConstants.APPLICATION_PANEL_SUBLAYER;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.res.CompatibilityInfo.Translator;
 import android.content.res.Configuration;
@@ -98,13 +99,17 @@
     private static final String TAG = "SurfaceView";
     private static final boolean DEBUG = false;
 
+    @UnsupportedAppUsage
     final ArrayList<SurfaceHolder.Callback> mCallbacks
             = new ArrayList<SurfaceHolder.Callback>();
 
     final int[] mLocation = new int[2];
 
+    @UnsupportedAppUsage
     final ReentrantLock mSurfaceLock = new ReentrantLock();
+    @UnsupportedAppUsage
     final Surface mSurface = new Surface();       // Current surface in use
+    @UnsupportedAppUsage
     boolean mDrawingStopped = true;
     // We use this to track if the application has produced a frame
     // in to the Surface. Up until that point, we should be careful not to punch
@@ -123,6 +128,7 @@
 
     int mSubLayer = APPLICATION_MEDIA_SUBLAYER;
 
+    @UnsupportedAppUsage
     boolean mIsCreating = false;
     private volatile boolean mRtHandlingPositionUpdates = false;
 
@@ -134,6 +140,7 @@
                     }
             };
 
+    @UnsupportedAppUsage
     private final ViewTreeObserver.OnPreDrawListener mDrawListener =
             new ViewTreeObserver.OnPreDrawListener() {
                 @Override
@@ -151,15 +158,20 @@
     boolean mViewVisibility = false;
     boolean mWindowStopped = false;
 
+    @UnsupportedAppUsage
     int mRequestedWidth = -1;
+    @UnsupportedAppUsage
     int mRequestedHeight = -1;
     /* Set SurfaceView's format to 565 by default to maintain backward
      * compatibility with applications assuming this format.
      */
+    @UnsupportedAppUsage
     int mRequestedFormat = PixelFormat.RGB_565;
 
+    @UnsupportedAppUsage
     boolean mHaveFrame = false;
     boolean mSurfaceCreated = false;
+    @UnsupportedAppUsage
     long mLastLockTime = 0;
 
     boolean mVisible = false;
@@ -167,7 +179,9 @@
     int mWindowSpaceTop = -1;
     int mSurfaceWidth = -1;
     int mSurfaceHeight = -1;
+    @UnsupportedAppUsage
     int mFormat = -1;
+    @UnsupportedAppUsage
     final Rect mSurfaceFrame = new Rect();
     int mLastSurfaceWidth = -1, mLastSurfaceHeight = -1;
     private Translator mTranslator;
@@ -340,6 +354,7 @@
 
     /** @hide */
     @Override
+    @UnsupportedAppUsage
     protected boolean setFrame(int left, int top, int right, int bottom) {
         boolean result = super.setFrame(left, top, right, bottom);
         updateSurface();
@@ -814,6 +829,7 @@
      * Called by native by a Rendering Worker thread to update the window position
      * @hide
      */
+    @UnsupportedAppUsage
     public final void updateSurfacePosition_renderWorker(long frameNumber,
             int left, int top, int right, int bottom) {
         if (mSurfaceControl == null) {
@@ -854,6 +870,7 @@
      * draw tree. UI thread is blocked at this point.
      * @hide
      */
+    @UnsupportedAppUsage
     public final void surfacePositionLost_uiRtSync(long frameNumber) {
         if (DEBUG) {
             Log.d(TAG, String.format("%d windowPositionLost, frameNr = %d",
@@ -909,6 +926,7 @@
      * @return true if the surface has dimensions that are fixed in size
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isFixedSize() {
         return (mRequestedWidth != -1 || mRequestedHeight != -1);
     }
@@ -928,6 +946,7 @@
         mSurfaceControl.setBackgroundColor(bgColor);
     }
 
+    @UnsupportedAppUsage
     private final SurfaceHolder mSurfaceHolder = new SurfaceHolder() {
         private static final String LOG_TAG = "SurfaceHolder";
 
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index 371794045..997e48fe 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
@@ -106,11 +107,14 @@
 public class TextureView extends View {
     private static final String LOG_TAG = "TextureView";
 
+    @UnsupportedAppUsage
     private TextureLayer mLayer;
+    @UnsupportedAppUsage
     private SurfaceTexture mSurface;
     private SurfaceTextureListener mListener;
     private boolean mHadSurface;
 
+    @UnsupportedAppUsage
     private boolean mOpaque = true;
 
     private final Matrix mMatrix = new Matrix();
@@ -118,6 +122,7 @@
 
     private final Object[] mLock = new Object[0];
     private boolean mUpdateLayer;
+    @UnsupportedAppUsage
     private boolean mUpdateSurface;
 
     private Canvas mCanvas;
@@ -125,6 +130,7 @@
 
     private final Object[] mNativeWindowLock = new Object[0];
     // Set by native code, do not write!
+    @UnsupportedAppUsage
     private long mNativeWindow;
 
     /**
@@ -217,6 +223,7 @@
 
     /** @hide */
     @Override
+    @UnsupportedAppUsage
     protected void onDetachedFromWindowInternal() {
         destroyHardwareLayer();
         releaseSurfaceTexture();
@@ -227,11 +234,13 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     protected void destroyHardwareResources() {
         super.destroyHardwareResources();
         destroyHardwareLayer();
     }
 
+    @UnsupportedAppUsage
     private void destroyHardwareLayer() {
         if (mLayer != null) {
             mLayer.detachSurfaceTexture();
@@ -786,6 +795,7 @@
         mListener = listener;
     }
 
+    @UnsupportedAppUsage
     private final SurfaceTexture.OnFrameAvailableListener mUpdateListener =
             new SurfaceTexture.OnFrameAvailableListener() {
         @Override
@@ -839,7 +849,9 @@
         public void onSurfaceTextureUpdated(SurfaceTexture surface);
     }
 
+    @UnsupportedAppUsage
     private native void nCreateNativeWindow(SurfaceTexture surface);
+    @UnsupportedAppUsage
     private native void nDestroyNativeWindow();
 
     private static native boolean nLockCanvas(long nativeWindow, Canvas canvas, Rect dirty);
diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java
index 5b61015..35d4308 100644
--- a/core/java/android/view/ThreadedRenderer.java
+++ b/core/java/android/view/ThreadedRenderer.java
@@ -18,6 +18,7 @@
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityManager;
 import android.content.Context;
 import android.content.res.TypedArray;
@@ -276,6 +277,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void setupDiskCache(File cacheDir) {
         ThreadedRenderer.setupShadersDiskCache(
                 new File(cacheDir, CACHE_PATH_SHADERS).getAbsolutePath(),
@@ -719,6 +721,7 @@
      * @param placeFront If true, the render node will be placed in front of the content node,
      *                   otherwise behind the content node.
      */
+    @UnsupportedAppUsage
     public void addRenderNode(RenderNode node, boolean placeFront) {
         nAddRenderNode(mNativeProxy, node.mNativeRenderNode, placeFront);
     }
@@ -727,6 +730,7 @@
      * Only especially added render nodes can be removed.
      * @param node The node which was added via addRenderNode which should get removed again.
      */
+    @UnsupportedAppUsage
     public void removeRenderNode(RenderNode node) {
         nRemoveRenderNode(mNativeProxy, node.mNativeRenderNode);
     }
@@ -736,6 +740,7 @@
      * nodes will get drawn and the content remains untouched.
      * @param node The node to be drawn.
      */
+    @UnsupportedAppUsage
     public void drawRenderNode(RenderNode node) {
         nDrawRenderNode(mNativeProxy, node.mNativeRenderNode);
     }
@@ -749,6 +754,7 @@
      * @param right The right side of the protected bounds.
      * @param bottom The bottom side of the protected bounds.
      */
+    @UnsupportedAppUsage
     public void setContentDrawBounds(int left, int top, int right, int bottom) {
         nSetContentDrawBounds(mNativeProxy, left, top, right, bottom);
     }
@@ -935,6 +941,7 @@
      * RenderNode. Note that the RenderNode should be created as a root node (so x/y of 0,0), and
      * not the RenderNode from a View.
      **/
+    @UnsupportedAppUsage
     public static Bitmap createHardwareBitmap(RenderNode node, int width, int height) {
         return nCreateHardwareBitmap(node.getNativeDisplayList(), width, height);
     }
diff --git a/core/java/android/view/TouchDelegate.java b/core/java/android/view/TouchDelegate.java
index d6c43e8..b361ab4 100644
--- a/core/java/android/view/TouchDelegate.java
+++ b/core/java/android/view/TouchDelegate.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Rect;
 
 /**
@@ -51,6 +52,7 @@
     /**
      * True if the delegate had been targeted on a down event (intersected mBounds).
      */
+    @UnsupportedAppUsage
     private boolean mDelegateTargeted;
 
     /**
diff --git a/core/java/android/view/VelocityTracker.java b/core/java/android/view/VelocityTracker.java
index 22b5cca..7154f2b 100644
--- a/core/java/android/view/VelocityTracker.java
+++ b/core/java/android/view/VelocityTracker.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.util.Pools.SynchronizedPool;
 
 /**
@@ -68,6 +69,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static VelocityTracker obtain(String strategy) {
         if (strategy == null) {
             return obtain();
@@ -235,21 +237,25 @@
         /**
          * Polynomial coefficients describing motion in X.
          */
+        @UnsupportedAppUsage
         public final float[] xCoeff = new float[MAX_DEGREE + 1];
 
         /**
          * Polynomial coefficients describing motion in Y.
          */
+        @UnsupportedAppUsage
         public final float[] yCoeff = new float[MAX_DEGREE + 1];
 
         /**
          * Polynomial degree, or zero if only position information is available.
          */
+        @UnsupportedAppUsage
         public int degree;
 
         /**
          * Confidence (coefficient of determination), between 0 (no fit) and 1 (perfect fit).
          */
+        @UnsupportedAppUsage
         public float confidence;
 
         /**
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 2c9e543..0e5f250 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -35,6 +35,7 @@
 import android.annotation.Size;
 import android.annotation.TestApi;
 import android.annotation.UiThread;
+import android.annotation.UnsupportedAppUsage;
 import android.content.ClipData;
 import android.content.Context;
 import android.content.ContextWrapper;
@@ -777,6 +778,7 @@
 @UiThread
 public class View implements Drawable.Callback, KeyEvent.Callback,
         AccessibilityEventSource {
+    @UnsupportedAppUsage
     private static final boolean DBG = false;
 
     /** @hide */
@@ -792,6 +794,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static final String DEBUG_LAYOUT_PROPERTY = "debug.layout";
 
     /**
@@ -2150,6 +2153,7 @@
     /**
      * Map used to store views' tags.
      */
+    @UnsupportedAppUsage
     private SparseArray<Object> mKeyedTags;
 
     /**
@@ -2168,6 +2172,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "measurement")
+    @UnsupportedAppUsage
     int mMeasuredWidth;
 
     /**
@@ -2175,6 +2180,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "measurement")
+    @UnsupportedAppUsage
     int mMeasuredHeight;
 
     /**
@@ -2186,6 +2192,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     boolean mRecreateDisplayList = false;
 
     /**
@@ -2212,6 +2219,7 @@
     private int mAutofillViewId = NO_ID;
 
     // ID for accessibility purposes. This ID must be unique for every window
+    @UnsupportedAppUsage
     private int mAccessibilityViewId = NO_ID;
 
     private int mAccessibilityCursorPosition = ACCESSIBILITY_CURSOR_POSITION_UNDEFINED;
@@ -2223,6 +2231,7 @@
      * @see #setTag(Object)
      * @see #getTag()
      */
+    @UnsupportedAppUsage
     protected Object mTag = null;
 
     // for mPrivateFlags:
@@ -3523,6 +3532,7 @@
      * Flag to make the status bar not expandable.  Unless you also
      * set {@link #STATUS_BAR_DISABLE_NOTIFICATION_ICONS}, new notifications will continue to show.
      */
+    @UnsupportedAppUsage
     public static final int STATUS_BAR_DISABLE_EXPAND = 0x00010000;
 
     /**
@@ -3577,6 +3587,7 @@
      * Flag to hide only the home button.  Don't use this
      * unless you're a special part of the system UI (i.e., setup wizard, keyguard).
      */
+    @UnsupportedAppUsage
     public static final int STATUS_BAR_DISABLE_HOME = 0x00200000;
 
     /**
@@ -3588,6 +3599,7 @@
      * Flag to hide only the back button. Don't use this
      * unless you're a special part of the system UI (i.e., setup wizard, keyguard).
      */
+    @UnsupportedAppUsage
     public static final int STATUS_BAR_DISABLE_BACK = 0x00400000;
 
     /**
@@ -3610,6 +3622,7 @@
      * Flag to hide only the recent apps button. Don't use this
      * unless you're a special part of the system UI (i.e., setup wizard, keyguard).
      */
+    @UnsupportedAppUsage
     public static final int STATUS_BAR_DISABLE_RECENT = 0x01000000;
 
     /**
@@ -3641,6 +3654,7 @@
      *
      * Flag to specify that the navigation bar is displayed in transient mode.
      */
+    @UnsupportedAppUsage
     public static final int NAVIGATION_BAR_TRANSIENT = 0x08000000;
 
     /**
@@ -3814,11 +3828,13 @@
      *
      * @see #getParent()
      */
+    @UnsupportedAppUsage
     protected ViewParent mParent;
 
     /**
      * {@hide}
      */
+    @UnsupportedAppUsage
     AttachInfo mAttachInfo;
 
     /**
@@ -3838,8 +3854,11 @@
     }, formatToHexString = true)
 
     /* @hide */
+    @UnsupportedAppUsage
     public int mPrivateFlags;
+    @UnsupportedAppUsage
     int mPrivateFlags2;
+    @UnsupportedAppUsage
     int mPrivateFlags3;
 
     /**
@@ -3951,6 +3970,7 @@
      * laid out.
      * {@hide}
      */
+    @UnsupportedAppUsage
     protected ViewGroup.LayoutParams mLayoutParams;
 
     /**
@@ -3958,6 +3978,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(formatToHexString = true)
+    @UnsupportedAppUsage
     int mViewFlags;
 
     static class TransformationInfo {
@@ -3995,6 +4016,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public TransformationInfo mTransformationInfo;
 
     /**
@@ -4011,6 +4033,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "layout")
+    @UnsupportedAppUsage
     protected int mLeft;
     /**
      * The distance in pixels from the left edge of this view's parent
@@ -4018,6 +4041,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "layout")
+    @UnsupportedAppUsage
     protected int mRight;
     /**
      * The distance in pixels from the top edge of this view's parent
@@ -4025,6 +4049,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "layout")
+    @UnsupportedAppUsage
     protected int mTop;
     /**
      * The distance in pixels from the top edge of this view's parent
@@ -4032,6 +4057,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "layout")
+    @UnsupportedAppUsage
     protected int mBottom;
 
     /**
@@ -4040,6 +4066,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "scrolling")
+    @UnsupportedAppUsage
     protected int mScrollX;
     /**
      * The offset, in pixels, by which the content of this view is scrolled
@@ -4047,6 +4074,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "scrolling")
+    @UnsupportedAppUsage
     protected int mScrollY;
 
     /**
@@ -4055,6 +4083,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "padding")
+    @UnsupportedAppUsage
     protected int mPaddingLeft = 0;
     /**
      * The right padding in pixels, that is the distance in pixels between the
@@ -4062,6 +4091,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "padding")
+    @UnsupportedAppUsage
     protected int mPaddingRight = 0;
     /**
      * The top padding in pixels, that is the distance in pixels between the
@@ -4069,6 +4099,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "padding")
+    @UnsupportedAppUsage
     protected int mPaddingTop;
     /**
      * The bottom padding in pixels, that is the distance in pixels between the
@@ -4076,6 +4107,7 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(category = "padding")
+    @UnsupportedAppUsage
     protected int mPaddingBottom;
 
     /**
@@ -4201,6 +4233,7 @@
     private LongSparseLongArray mMeasureCache;
 
     @ViewDebug.ExportedProperty(deepExport = true, prefix = "bg_")
+    @UnsupportedAppUsage
     private Drawable mBackground;
     private TintInfo mBackgroundTint;
 
@@ -4218,6 +4251,7 @@
      */
     private RenderNode mBackgroundRenderNode;
 
+    @UnsupportedAppUsage
     private int mBackgroundResource;
     private boolean mBackgroundSizeChanged;
 
@@ -4268,6 +4302,7 @@
          * This field should be made private, so it is hidden from the SDK.
          * {@hide}
          */
+        @UnsupportedAppUsage
         protected OnFocusChangeListener mOnFocusChangeListener;
 
         /**
@@ -4287,6 +4322,7 @@
          * This field should be made private, so it is hidden from the SDK.
          * {@hide}
          */
+        @UnsupportedAppUsage
         public OnClickListener mOnClickListener;
 
         /**
@@ -4294,6 +4330,7 @@
          * This field should be made private, so it is hidden from the SDK.
          * {@hide}
          */
+        @UnsupportedAppUsage
         protected OnLongClickListener mOnLongClickListener;
 
         /**
@@ -4308,16 +4345,22 @@
          * This field should be made private, so it is hidden from the SDK.
          * {@hide}
          */
+        @UnsupportedAppUsage
         protected OnCreateContextMenuListener mOnCreateContextMenuListener;
 
+        @UnsupportedAppUsage
         private OnKeyListener mOnKeyListener;
 
+        @UnsupportedAppUsage
         private OnTouchListener mOnTouchListener;
 
+        @UnsupportedAppUsage
         private OnHoverListener mOnHoverListener;
 
+        @UnsupportedAppUsage
         private OnGenericMotionListener mOnGenericMotionListener;
 
+        @UnsupportedAppUsage
         private OnDragListener mOnDragListener;
 
         private OnSystemUiVisibilityChangeListener mOnSystemUiVisibilityChangeListener;
@@ -4329,6 +4372,7 @@
         private ArrayList<OnUnhandledKeyEventListener> mUnhandledKeyListeners;
     }
 
+    @UnsupportedAppUsage
     ListenerInfo mListenerInfo;
 
     private static class TooltipInfo {
@@ -4407,10 +4451,13 @@
      * {@hide}
      */
     @ViewDebug.ExportedProperty(deepExport = true)
+    @UnsupportedAppUsage
     protected Context mContext;
 
+    @UnsupportedAppUsage
     private final Resources mResources;
 
+    @UnsupportedAppUsage
     private ScrollabilityCache mScrollCache;
 
     private int[] mDrawableState = null;
@@ -4466,6 +4513,7 @@
     boolean mDefaultFocusHighlightEnabled = true;
 
     private CheckForLongPress mPendingCheckForLongPress;
+    @UnsupportedAppUsage
     private CheckForTap mPendingCheckForTap = null;
     private PerformClick mPerformClick;
     private SendViewScrolledAccessibilityEvent mSendViewScrolledAccessibilityEvent;
@@ -4478,6 +4526,7 @@
      * a long press could be performed before the tap is checked, in which case the tap's action
      * should not be invoked.
      */
+    @UnsupportedAppUsage
     private boolean mHasPerformedLongPress;
 
     /**
@@ -4499,6 +4548,7 @@
      * of this view to at least this amount.
      */
     @ViewDebug.ExportedProperty(category = "measurement")
+    @UnsupportedAppUsage
     private int mMinHeight;
 
     /**
@@ -4506,6 +4556,7 @@
      * of this view to at least this amount.
      */
     @ViewDebug.ExportedProperty(category = "measurement")
+    @UnsupportedAppUsage
     private int mMinWidth;
 
     /**
@@ -4533,6 +4584,7 @@
     /**
      * Object that handles automatic animation of view properties.
      */
+    @UnsupportedAppUsage
     private ViewPropertyAnimator mAnimator = null;
 
     /**
@@ -4601,6 +4653,7 @@
     /**
      * Position of the vertical scroll bar.
      */
+    @UnsupportedAppUsage
     private int mVerticalScrollbarPosition;
 
     /**
@@ -4694,8 +4747,11 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean mCachingFailed;
+    @UnsupportedAppUsage
     private Bitmap mDrawingCache;
+    @UnsupportedAppUsage
     private Bitmap mUnscaledDrawingCache;
 
     /**
@@ -4705,6 +4761,7 @@
      * of the View content. Its DisplayList content is cleared on temporary detach and reset on
      * cleanup.
      */
+    @UnsupportedAppUsage
     final RenderNode mRenderNode;
 
     /**
@@ -4716,6 +4773,7 @@
     /**
      * Delegate for injecting accessibility functionality.
      */
+    @UnsupportedAppUsage
     AccessibilityDelegate mAccessibilityDelegate;
 
     /**
@@ -4777,6 +4835,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     String mStartActivityRequestWho;
 
     @Nullable
@@ -5672,6 +5731,7 @@
     /**
      * Non-public constructor for use in testing
      */
+    @UnsupportedAppUsage
     View() {
         mResources = null;
         mRenderNode = RenderNode.create(getClass().getName(), this);
@@ -5995,6 +6055,7 @@
      * @param a the styled attributes set to initialize the scrollbars from
      * @hide
      */
+    @UnsupportedAppUsage
     protected void initializeScrollbarsInternal(TypedArray a) {
         initScrollCache();
 
@@ -6087,6 +6148,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private ScrollabilityCache getScrollCache() {
         initScrollCache();
         return mScrollCache;
@@ -6138,6 +6200,7 @@
         return false;
     }
 
+    @UnsupportedAppUsage
     boolean isOnScrollbarThumb(float x, float y) {
         return isOnVerticalScrollbarThumb(x, y) || isOnHorizontalScrollbarThumb(x, y);
     }
@@ -6196,6 +6259,7 @@
         return false;
     }
 
+    @UnsupportedAppUsage
     boolean isDraggingScrollBar() {
         return mScrollCache != null
                 && mScrollCache.mScrollBarDraggingState != ScrollabilityCache.NOT_DRAGGING;
@@ -6284,6 +6348,7 @@
                 >>> SCROLL_INDICATORS_TO_PFLAGS3_LSHIFT;
     }
 
+    @UnsupportedAppUsage
     ListenerInfo getListenerInfo() {
         if (mListenerInfo != null) {
             return mListenerInfo;
@@ -6808,6 +6873,7 @@
      * @param requestCode The request code to use.
      * @hide
      */
+    @UnsupportedAppUsage
     public void startActivityForResult(Intent intent, int requestCode) {
         mStartActivityRequestWho = "@android:view:" + System.identityHashCode(this);
         getContext().startActivityForResult(mStartActivityRequestWho, intent, requestCode, null);
@@ -7591,6 +7657,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void onInitializeAccessibilityEventInternal(AccessibilityEvent event) {
         event.setSource(this);
         event.setClassName(getAccessibilityClassName());
@@ -7706,6 +7773,7 @@
      * @param outRect The output location
      * @hide
      */
+    @UnsupportedAppUsage
     public void getBoundsOnScreen(Rect outRect) {
         getBoundsOnScreen(outRect, false);
     }
@@ -7717,6 +7785,7 @@
      * @param clipToParent Whether to clip child bounds to the parent ones.
      * @hide
      */
+    @UnsupportedAppUsage
     public void getBoundsOnScreen(Rect outRect, boolean clipToParent) {
         if (mAttachInfo == null) {
             return;
@@ -8940,6 +9009,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isVisibleToUser() {
         return isVisibleToUser(null);
     }
@@ -8961,6 +9031,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     protected boolean isVisibleToUser(Rect boundInView) {
         if (mAttachInfo != null) {
             // Attached to invisible window means this view is not visible.
@@ -9004,6 +9075,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public AccessibilityDelegate getAccessibilityDelegate() {
         return mAccessibilityDelegate;
     }
@@ -9070,6 +9142,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public int getAccessibilityViewId() {
         if (mAccessibilityViewId == NO_ID) {
             mAccessibilityViewId = sNextAccessibilityViewId++;
@@ -9289,6 +9362,7 @@
      * @hide pending API council approval
      */
     @CallSuper
+    @UnsupportedAppUsage
     protected void onFocusLost() {
         resetPressedState();
     }
@@ -9814,6 +9888,7 @@
      * @hide
      * @param location an array of two integers in which to hold the coordinates
      */
+    @UnsupportedAppUsage
     public void getLocationInSurface(@Size(2) int[] location) {
         getLocationInWindow(location);
         if (mAttachInfo != null && mAttachInfo.mViewRootImpl != null) {
@@ -9847,6 +9922,7 @@
      * @return
      */
     @Deprecated
+    @UnsupportedAppUsage
     protected boolean computeFitSystemWindows(Rect inoutInsets, Rect outLocalInsets) {
         WindowInsets innerInsets = computeSystemWindowInsets(new WindowInsets(inoutInsets),
                 outLocalInsets);
@@ -9922,6 +9998,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public boolean fitsSystemWindows() {
         return getFitsSystemWindows();
     }
@@ -9948,6 +10025,7 @@
      * For use by PhoneWindow to make its own system window fitting optional.
      * @hide
      */
+    @UnsupportedAppUsage
     public void makeOptionalFitsSystemWindows() {
         setFlags(OPTIONAL_FITS_SYSTEM_WINDOWS, OPTIONAL_FITS_SYSTEM_WINDOWS);
     }
@@ -10292,6 +10370,7 @@
      * @hide
      */
     @ViewDebug.ExportedProperty(category = "layout")
+    @UnsupportedAppUsage
     public boolean isLayoutRtl() {
         return (getLayoutDirection() == LAYOUT_DIRECTION_RTL);
     }
@@ -10622,6 +10701,7 @@
      * @see #onProvideVirtualStructure
      * @attr ref android.R.styleable#View_assistBlocked
      */
+    @UnsupportedAppUsage
     public void setAssistBlocked(boolean enabled) {
         if (enabled) {
             mPrivateFlags3 |= PFLAG3_ASSIST_BLOCKED;
@@ -11311,6 +11391,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean requestAccessibilityFocus() {
         AccessibilityManager manager = AccessibilityManager.getInstance(mContext);
         if (!manager.isEnabled() || !manager.isTouchExplorationEnabled()) {
@@ -11340,6 +11421,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void clearAccessibilityFocus() {
         clearAccessibilityFocusNoCallbacks(0);
 
@@ -11854,6 +11936,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean includeForAccessibility() {
         if (mAttachInfo != null) {
             return (mAttachInfo.mAccessibilityFetchFlags
@@ -11900,6 +11983,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void notifyViewAccessibilityStateChangedIfNeeded(int changeType) {
         if (!AccessibilityManager.getInstance(mContext).isEnabled() || mAttachInfo == null) {
             return;
@@ -11958,6 +12042,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void notifySubtreeAccessibilityStateChangedIfNeeded() {
         if (!AccessibilityManager.getInstance(mContext).isEnabled() || mAttachInfo == null) {
             return;
@@ -12061,6 +12146,7 @@
     *
     * @hide
     */
+    @UnsupportedAppUsage
     public boolean performAccessibilityActionInternal(int action, Bundle arguments) {
         if (isNestedScrollingEnabled()
                 && (action == AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD
@@ -12238,6 +12324,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public CharSequence getIterableTextForAccessibility() {
         return getContentDescription();
     }
@@ -12301,6 +12388,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public TextSegmentIterator getIteratorForGranularity(int granularity) {
         switch (granularity) {
             case AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER: {
@@ -12747,6 +12835,7 @@
      * @return True if the event was handled by the view, false otherwise.
      * @hide
      */
+    @UnsupportedAppUsage
     public final boolean dispatchPointerEvent(MotionEvent event) {
         if (event.isTouchEvent()) {
             return dispatchTouchEvent(event);
@@ -13020,6 +13109,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void getWindowDisplayFrame(Rect outRect) {
         if (mAttachInfo != null) {
             try {
@@ -13882,6 +13972,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isInScrollingContainer() {
         ViewParent p = getParent();
         while (p != null && p instanceof ViewGroup) {
@@ -13905,6 +13996,7 @@
     /**
      * Remove the pending click action
      */
+    @UnsupportedAppUsage
     private void removePerformClickCallback() {
         if (mPerformClick != null) {
             removeCallbacks(mPerformClick);
@@ -14003,6 +14095,7 @@
      * @param flags Constant indicating the value which should be set
      * @param mask Constant indicating the bit range that should be changed
      */
+    @UnsupportedAppUsage
     void setFlags(int flags, int mask) {
         final boolean accessibilityEnabled =
                 AccessibilityManager.getInstance(mContext).isEnabled();
@@ -14541,10 +14634,12 @@
      *
      * @return True if the transform matrix is the identity matrix, false otherwise.
      */
+    @UnsupportedAppUsage
     final boolean hasIdentityMatrix() {
         return mRenderNode.hasIdentityMatrix();
     }
 
+    @UnsupportedAppUsage
     void ensureTransformationInfo() {
         if (mTransformationInfo == null) {
             mTransformationInfo = new TransformationInfo();
@@ -14559,6 +14654,7 @@
      * @return The inverse of the current matrix of this view.
      * @hide
      */
+    @UnsupportedAppUsage
     public final Matrix getInverseMatrix() {
         ensureTransformationInfo();
         if (mTransformationInfo.mInverseMatrix == null) {
@@ -15071,6 +15167,7 @@
      * @return true if the View subclass handles alpha (the return value for onSetAlpha()) and
      *         the new value for the alpha property is different from the old value
      */
+    @UnsupportedAppUsage
     boolean setAlphaNoInvalidation(float alpha) {
         ensureTransformationInfo();
         if (mTransformationInfo.mAlpha != alpha) {
@@ -15105,6 +15202,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void setTransitionAlpha(float alpha) {
         ensureTransformationInfo();
         if (mTransformationInfo.mTransitionAlpha != alpha) {
@@ -15136,6 +15234,7 @@
      * @hide
      */
     @ViewDebug.ExportedProperty(category = "drawing")
+    @UnsupportedAppUsage
     public float getTransitionAlpha() {
         return mTransformationInfo != null ? mTransformationInfo.mTransitionAlpha : 1;
     }
@@ -15621,6 +15720,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public void setAnimationMatrix(Matrix matrix) {
         invalidateViewProperty(true, false);
         mRenderNode.setAnimationMatrix(matrix);
@@ -15895,6 +15995,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean pointInView(float localX, float localY, float slop) {
         return localX >= -slop && localY >= -slop && localX < ((mRight - mLeft) + slop) &&
                 localY < ((mBottom - mTop) + slop);
@@ -16394,6 +16495,7 @@
      *            dimensions have not changed.
      * @hide
      */
+    @UnsupportedAppUsage
     public void invalidate(boolean invalidateCache) {
         invalidateInternal(0, 0, mRight - mLeft, mBottom - mTop, invalidateCache, true);
     }
@@ -16483,6 +16585,7 @@
      * @param forceRedraw Mark the view as DRAWN to force the invalidation to propagate, if display
      * list properties are not being used in this view
      */
+    @UnsupportedAppUsage
     void invalidateViewProperty(boolean invalidateParent, boolean forceRedraw) {
         if (!isHardwareAccelerated()
                 || !mRenderNode.isValid()
@@ -16534,6 +16637,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     protected void invalidateParentCaches() {
         if (mParent instanceof View) {
             ((View) mParent).mPrivateFlags |= PFLAG_INVALIDATED;
@@ -16549,6 +16653,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     protected void invalidateParentIfNeeded() {
         if (isHardwareAccelerated() && mParent instanceof View) {
             ((View) mParent).invalidate(true);
@@ -16585,6 +16690,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     protected void computeOpaqueFlags() {
         // Opaque if:
         //   - Has a background
@@ -16643,6 +16749,7 @@
      * @return The view root, or null if none.
      * @hide
      */
+    @UnsupportedAppUsage
     public ViewRootImpl getViewRootImpl() {
         if (mAttachInfo != null) {
             return mAttachInfo.mViewRootImpl;
@@ -16653,6 +16760,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public ThreadedRenderer getThreadedRenderer() {
         return mAttachInfo != null ? mAttachInfo.mThreadedRenderer : null;
     }
@@ -17143,6 +17251,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     protected void recomputePadding() {
         internalSetPadding(mUserPaddingLeft, mPaddingTop, mUserPaddingRight, mUserPaddingBottom);
     }
@@ -17753,6 +17862,7 @@
      * @see android.widget.ScrollBarDrawable
      * @hide
      */
+    @UnsupportedAppUsage
     protected void onDrawHorizontalScrollBar(Canvas canvas, Drawable scrollBar,
             int l, int t, int r, int b) {
         scrollBar.setBounds(l, t, r, b);
@@ -17773,6 +17883,7 @@
      * @see android.widget.ScrollBarDrawable
      * @hide
      */
+    @UnsupportedAppUsage
     protected void onDrawVerticalScrollBar(Canvas canvas, Drawable scrollBar,
             int l, int t, int r, int b) {
         scrollBar.setBounds(l, t, r, b);
@@ -17791,6 +17902,7 @@
      * Caller is responsible for calling requestLayout if necessary.
      * (This allows addViewInLayout to not request a new layout.)
      */
+    @UnsupportedAppUsage
     void assignParent(ViewParent parent) {
         if (mParent == null) {
             mParent = parent;
@@ -17873,6 +17985,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void resetRtlProperties() {
         resetResolvedLayoutDirection();
         resetResolvedTextDirection();
@@ -17935,6 +18048,7 @@
     /**
      * Return true if the application tag in the AndroidManifest has set "supportRtl" to true
      */
+    @UnsupportedAppUsage
     private boolean hasRtlSupport() {
         return mContext.getApplicationInfo().hasRtlSupport();
     }
@@ -18054,6 +18168,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void resetResolvedLayoutDirection() {
         // Reset the current resolved bits
         mPrivateFlags2 &= ~PFLAG2_LAYOUT_DIRECTION_RESOLVED_MASK;
@@ -18080,6 +18195,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     boolean isPaddingResolved() {
         return (mPrivateFlags2 & PFLAG2_PADDING_RESOLVED) == PFLAG2_PADDING_RESOLVED;
     }
@@ -18090,6 +18206,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void resolvePadding() {
         final int resolvedLayoutDirection = getLayoutDirection();
 
@@ -18153,6 +18270,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void resetResolvedPadding() {
         resetResolvedPaddingInternal();
     }
@@ -18186,6 +18304,7 @@
      * @hide
      */
     @CallSuper
+    @UnsupportedAppUsage
     protected void onDetachedFromWindowInternal() {
         mPrivateFlags &= ~PFLAG_CANCEL_NEXT_UP_EVENT;
         mPrivateFlags3 &= ~PFLAG3_IS_LAID_OUT;
@@ -18294,6 +18413,7 @@
      * communicate with the window manager.
      * @return the session object to communicate with the window manager
      */
+    @UnsupportedAppUsage
     /*package*/ IWindowSession getWindowSession() {
         return mAttachInfo != null ? mAttachInfo.mSession : null;
     }
@@ -18319,6 +18439,7 @@
      * @param info the {@link android.view.View.AttachInfo} to associated with
      *        this view
      */
+    @UnsupportedAppUsage
     void dispatchAttachedToWindow(AttachInfo info, int visibility) {
         mAttachInfo = info;
         if (mOverlay != null) {
@@ -18383,6 +18504,7 @@
         notifyEnterOrExitForAutoFillIfNeeded(true);
     }
 
+    @UnsupportedAppUsage
     void dispatchDetachedFromWindow() {
         AttachInfo info = mAttachInfo;
         if (info != null) {
@@ -18888,6 +19010,7 @@
      * @hide
      */
     @CallSuper
+    @UnsupportedAppUsage
     protected void destroyHardwareResources() {
         if (mOverlay != null) {
             mOverlay.getOverlayView().destroyHardwareResources();
@@ -19023,6 +19146,7 @@
      * @hide
      */
     @NonNull
+    @UnsupportedAppUsage
     public RenderNode updateDisplayListIfDirty() {
         final RenderNode renderNode = mRenderNode;
         if (!canHaveDisplayList()) {
@@ -19093,6 +19217,7 @@
         return renderNode;
     }
 
+    @UnsupportedAppUsage
     private void resetDisplayList() {
         mRenderNode.discardDisplayList();
         if (mBackgroundRenderNode != null) {
@@ -19493,6 +19618,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public Bitmap createSnapshot(ViewDebug.CanvasProvider canvasProvider, boolean skipChildren) {
         int width = mRight - mLeft;
         int height = mBottom - mTop;
@@ -20385,6 +20511,7 @@
      *
      * @param canvas Canvas on which to draw the background
      */
+    @UnsupportedAppUsage
     private void drawBackground(Canvas canvas) {
         final Drawable background = mBackground;
         if (background == null) {
@@ -20773,6 +20900,7 @@
      *         previous ones
      * {@hide}
      */
+    @UnsupportedAppUsage
     protected boolean setFrame(int left, int top, int right, int bottom) {
         boolean changed = false;
 
@@ -20840,6 +20968,7 @@
      * Same as setFrame, but public and hidden. For use in {@link android.transition.ChangeBounds}.
      * @hide
      */
+    @UnsupportedAppUsage
     public void setLeftTopRightBottom(int left, int top, int right, int bottom) {
         setFrame(left, top, right, bottom);
     }
@@ -21026,6 +21155,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     protected void resetResolvedDrawables() {
         resetResolvedDrawablesInternal();
     }
@@ -22025,6 +22155,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     protected void internalSetPadding(int left, int top, int right, int bottom) {
         mUserPaddingLeft = left;
         mUserPaddingRight = right;
@@ -22219,6 +22350,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public void resetPaddingToInitialValues() {
         if (isRtlCompatibilityMode()) {
             mPaddingLeft = mUserPaddingLeftInitial;
@@ -22398,6 +22530,7 @@
      * @return false if the transformation could not be applied
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean toGlobalMotionEvent(MotionEvent ev) {
         final AttachInfo info = mAttachInfo;
         if (info == null) {
@@ -22419,6 +22552,7 @@
      * @return false if the transformation could not be applied
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean toLocalMotionEvent(MotionEvent ev) {
         final AttachInfo info = mAttachInfo;
         if (info == null) {
@@ -22439,6 +22573,7 @@
      * @param m input matrix to modify
      * @hide
      */
+    @UnsupportedAppUsage
     public void transformMatrixToGlobal(Matrix m) {
         final ViewParent parent = mParent;
         if (parent instanceof View) {
@@ -22465,6 +22600,7 @@
      * @param m input matrix to modify
      * @hide
      */
+    @UnsupportedAppUsage
     public void transformMatrixToLocal(Matrix m) {
         final ViewParent parent = mParent;
         if (parent instanceof View) {
@@ -22491,6 +22627,7 @@
             @ViewDebug.IntToString(from = 0, to = "x"),
             @ViewDebug.IntToString(from = 1, to = "y")
     })
+    @UnsupportedAppUsage
     public int[] getLocationOnScreen() {
         int[] location = new int[2];
         getLocationOnScreen(location);
@@ -22671,6 +22808,7 @@
      * @param accessibilityId The searched accessibility id.
      * @return The found view.
      */
+    @UnsupportedAppUsage
     final <T extends View> T findViewByAccessibilityId(int accessibilityId) {
         if (accessibilityId < 0) {
             return null;
@@ -22807,6 +22945,7 @@
      * @param isRoot true if the view belongs to the root namespace, false
      *        otherwise
      */
+    @UnsupportedAppUsage
     public void setIsRootNamespace(boolean isRoot) {
         if (isRoot) {
             mPrivateFlags |= PFLAG_IS_ROOT_NAMESPACE;
@@ -22820,6 +22959,7 @@
      *
      * @return true if the view belongs to the root namespace, false otherwise
      */
+    @UnsupportedAppUsage
     public boolean isRootNamespace() {
         return (mPrivateFlags&PFLAG_IS_ROOT_NAMESPACE) != 0;
     }
@@ -22923,6 +23063,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void setTagInternal(int key, Object tag) {
         if ((key >>> 24) != 0x1) {
             throw new IllegalArgumentException("The key must be a framework-specific "
@@ -22946,6 +23087,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void debug() {
         debug(0);
     }
@@ -22959,6 +23101,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     protected void debug(int depth) {
         String output = debugIndent(depth - 1);
 
@@ -23581,6 +23724,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     public boolean gatherTransparentRegion(Region region) {
         final AttachInfo attachInfo = mAttachInfo;
         if (region != null && attachInfo != null) {
@@ -23808,6 +23952,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public void setDisabledSystemUiVisibility(int flags) {
         if (mAttachInfo != null) {
             if (mAttachInfo.mDisabledSystemUiVisibility != flags) {
@@ -23848,6 +23993,7 @@
      * </div>
      */
     public static class DragShadowBuilder {
+        @UnsupportedAppUsage
         private final WeakReference<View> mView;
 
         /**
@@ -24271,6 +24417,7 @@
      * it is ever exposed at all.
      * @hide
      */
+    @UnsupportedAppUsage
     public void onCloseSystemDialogs(String reason) {
     }
 
@@ -24289,6 +24436,7 @@
      * Drawable that are not transparent.
      * {@hide}
      */
+    @UnsupportedAppUsage
     public void applyDrawableToTransparentRegion(Drawable dr, Region region) {
         if (DBG) {
             Log.i("View", "Getting transparent region for: " + this);
@@ -24784,6 +24932,7 @@
      * @return The vertical scroll scale factor.
      * @hide
      */
+    @UnsupportedAppUsage
     protected float getVerticalScrollFactor() {
         if (mVerticalScrollFactor == 0) {
             TypedValue outValue = new TypedValue();
@@ -24804,6 +24953,7 @@
      * @return The horizontal scroll scale factor.
      * @hide
      */
+    @UnsupportedAppUsage
     protected float getHorizontalScrollFactor() {
         // TODO: Should use something else.
         return getVerticalScrollFactor();
@@ -24838,6 +24988,7 @@
             @ViewDebug.IntToString(from = TEXT_DIRECTION_FIRST_STRONG_LTR, to = "FIRST_STRONG_LTR"),
             @ViewDebug.IntToString(from = TEXT_DIRECTION_FIRST_STRONG_RTL, to = "FIRST_STRONG_RTL")
     })
+    @UnsupportedAppUsage
     public int getRawTextDirection() {
         return (mPrivateFlags2 & PFLAG2_TEXT_DIRECTION_MASK) >> PFLAG2_TEXT_DIRECTION_MASK_SHIFT;
     }
@@ -25024,6 +25175,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void resetResolvedTextDirection() {
         // Reset any previous text direction resolution
         mPrivateFlags2 &= ~(PFLAG2_TEXT_DIRECTION_RESOLVED | PFLAG2_TEXT_DIRECTION_RESOLVED_MASK);
@@ -25075,6 +25227,7 @@
             @ViewDebug.IntToString(from = TEXT_ALIGNMENT_VIEW_END, to = "VIEW_END")
     })
     @TextAlignment
+    @UnsupportedAppUsage
     public int getRawTextAlignment() {
         return (mPrivateFlags2 & PFLAG2_TEXT_ALIGNMENT_MASK) >> PFLAG2_TEXT_ALIGNMENT_MASK_SHIFT;
     }
@@ -25261,6 +25414,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void resetResolvedTextAlignment() {
         // Reset any previous text alignment resolution
         mPrivateFlags2 &= ~(PFLAG2_TEXT_ALIGNMENT_RESOLVED | PFLAG2_TEXT_ALIGNMENT_RESOLVED_MASK);
@@ -25763,6 +25917,7 @@
          *
          * @hide internal use only for compatibility with system widgets and older apps
          */
+        @UnsupportedAppUsage
         public static int makeSafeMeasureSpec(int size, int mode) {
             if (sUseZeroUnspecifiedMeasureSpec && mode == UNSPECIFIED) {
                 return 0;
@@ -26314,11 +26469,16 @@
             private static final SynchronizedPool<InvalidateInfo> sPool =
                     new SynchronizedPool<InvalidateInfo>(POOL_LIMIT);
 
+            @UnsupportedAppUsage
             View target;
 
+            @UnsupportedAppUsage
             int left;
+            @UnsupportedAppUsage
             int top;
+            @UnsupportedAppUsage
             int right;
+            @UnsupportedAppUsage
             int bottom;
 
             public static InvalidateInfo obtain() {
@@ -26332,8 +26492,10 @@
             }
         }
 
+        @UnsupportedAppUsage
         final IWindowSession mSession;
 
+        @UnsupportedAppUsage
         final IWindow mWindow;
 
         final IBinder mWindowToken;
@@ -26364,16 +26526,19 @@
          * constants declared by {@link View} (there are more display states than
          * screen states).
          */
+        @UnsupportedAppUsage
         int mDisplayState = Display.STATE_UNKNOWN;
 
         /**
          * Scale factor used by the compatibility mode
          */
+        @UnsupportedAppUsage
         float mApplicationScale;
 
         /**
          * Indicates whether the application is in compatibility mode
          */
+        @UnsupportedAppUsage
         boolean mScalingRequired;
 
         /**
@@ -26403,6 +26568,7 @@
          * of the screen decorations, these are the current insets for the
          * content of the window.
          */
+        @UnsupportedAppUsage
         final Rect mContentInsets = new Rect();
 
         /**
@@ -26410,6 +26576,7 @@
          * of the screen decorations, these are the current insets for the
          * actual visible parts of the window.
          */
+        @UnsupportedAppUsage
         final Rect mVisibleInsets = new Rect();
 
         /**
@@ -26417,6 +26584,7 @@
          * of the screen decorations, these are the current insets for the
          * stable system windows.
          */
+        @UnsupportedAppUsage
         final Rect mStableInsets = new Rect();
 
         final DisplayCutout.ParcelableWrapper mDisplayCutout =
@@ -26442,6 +26610,7 @@
          * be given to the window manager when changed to be used in laying
          * out windows behind it.
          */
+        @UnsupportedAppUsage
         final ViewTreeObserver.InternalInsetsInfo mGivenInternalInsets
                 = new ViewTreeObserver.InternalInsetsInfo();
 
@@ -26455,14 +26624,17 @@
          * used to determine if the window can be resized or must be panned
          * to adjust for a soft input area.
          */
+        @UnsupportedAppUsage
         final ArrayList<View> mScrollContainers = new ArrayList<View>();
 
+        @UnsupportedAppUsage
         final KeyEvent.DispatcherState mKeyDispatchState
                 = new KeyEvent.DispatcherState();
 
         /**
          * Indicates whether the view's window currently has the focus.
          */
+        @UnsupportedAppUsage
         boolean mHasWindowFocus;
 
         /**
@@ -26473,6 +26645,7 @@
         /**
          * Indicates the time at which drawing started to occur.
          */
+        @UnsupportedAppUsage
         long mDrawingTime;
 
         /**
@@ -26489,6 +26662,7 @@
         /**
          * Indicates whether the view's window is currently in touch mode.
          */
+        @UnsupportedAppUsage
         boolean mInTouchMode;
 
         /**
@@ -26501,6 +26675,7 @@
          * Indicates that ViewAncestor should trigger a global layout change
          * the next time it performs a traversal
          */
+        @UnsupportedAppUsage
         boolean mRecomputeGlobalAttributes;
 
         /**
@@ -26511,6 +26686,7 @@
         /**
          * Set during a traveral if any views want to keep the screen on.
          */
+        @UnsupportedAppUsage
         boolean mKeepScreenOn;
 
         /**
@@ -26548,11 +26724,13 @@
         /**
          * Set if the visibility of any views has changed.
          */
+        @UnsupportedAppUsage
         boolean mViewVisibilityChanged;
 
         /**
          * Set to true if a view has been scrolled.
          */
+        @UnsupportedAppUsage
         boolean mViewScrollChanged;
 
         /**
@@ -26588,6 +26766,7 @@
          * The view tree observer used to dispatch global events like
          * layout, pre-draw, touch mode change, etc.
          */
+        @UnsupportedAppUsage
         final ViewTreeObserver mTreeObserver;
 
         /**
@@ -26604,6 +26783,7 @@
          * A Handler supplied by a view's {@link android.view.ViewRootImpl}. This
          * handler can be used to pump events in the UI events queue.
          */
+        @UnsupportedAppUsage
         final Handler mHandler;
 
         /**
@@ -26766,8 +26946,10 @@
 
         public int scrollBarSize;
         public int scrollBarMinTouchTarget;
+        @UnsupportedAppUsage
         public ScrollBarDrawable scrollBar;
         public float[] interpolatorValues;
+        @UnsupportedAppUsage
         public View host;
 
         public final Paint paint;
@@ -26789,6 +26971,7 @@
         /**
          * The current state of the scrollbars: ON, OFF, or FADING
          */
+        @UnsupportedAppUsage
         public int state = OFF;
 
         private int mLastColor;
@@ -26907,6 +27090,7 @@
      * Remove the pending callback for sending a
      * {@link AccessibilityEvent#TYPE_VIEW_SCROLLED} accessibility event.
      */
+    @UnsupportedAppUsage
     private void cancel(@Nullable SendViewScrolledAccessibilityEvent callback) {
         if (callback == null || !callback.mIsPending) return;
         removeCallbacks(callback);
@@ -27221,6 +27405,7 @@
          *
          * @hide
          */
+        @UnsupportedAppUsage
         public AccessibilityNodeInfo createAccessibilityNodeInfo(View host) {
             return host.createAccessibilityNodeInfoInternal();
         }
@@ -27489,6 +27674,7 @@
     /**
      * @hide Binary compatibility stub. To be removed when we finalize O APIs.
      */
+    @UnsupportedAppUsage
     public void setTooltip(@Nullable CharSequence tooltipText) {
         setTooltipText(tooltipText);
     }
@@ -27538,6 +27724,7 @@
         return true;
     }
 
+    @UnsupportedAppUsage
     void hideTooltip() {
         if (mTooltipInfo == null) {
             return;
diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java
index 7a9de45..b4553ad 100644
--- a/core/java/android/view/ViewConfiguration.java
+++ b/core/java/android/view/ViewConfiguration.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.AppGlobals;
 import android.content.Context;
 import android.content.res.Configuration;
@@ -224,6 +225,7 @@
     /**
      * The coefficient of friction applied to flings/scrolls.
      */
+    @UnsupportedAppUsage
     private static final float SCROLL_FRICTION = 0.015f;
 
     /**
@@ -299,15 +301,19 @@
     private final int mMaximumDrawingCacheSize;
     private final int mOverscrollDistance;
     private final int mOverflingDistance;
+    @UnsupportedAppUsage
     private final boolean mFadingMarqueeEnabled;
     private final long mGlobalActionsKeyTimeout;
     private final float mVerticalScrollFactor;
     private final float mHorizontalScrollFactor;
     private final boolean mShowMenuShortcutsWhenKeyboardPresent;
 
+    @UnsupportedAppUsage
     private boolean sHasPermanentMenuKey;
+    @UnsupportedAppUsage
     private boolean sHasPermanentMenuKeySet;
 
+    @UnsupportedAppUsage
     static final SparseArray<ViewConfiguration> sConfigurations =
             new SparseArray<ViewConfiguration>(2);
 
@@ -589,6 +595,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static int getDoubleTapMinTime() {
         return DOUBLE_TAP_MIN_TIME;
     }
@@ -609,6 +616,7 @@
      * to a hover movement gesture.
      * @hide
      */
+    @UnsupportedAppUsage
     public static int getHoverTapSlop() {
         return HOVER_TAP_SLOP;
     }
@@ -662,6 +670,7 @@
      * potential double tap event
      * @hide
      */
+    @UnsupportedAppUsage
     public int getScaledDoubleTapTouchSlop() {
         return mDoubleTapTouchSlop;
     }
@@ -682,6 +691,7 @@
      *       for clients that still use its deprecated constructor.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static int getDoubleTapSlop() {
         return DOUBLE_TAP_SLOP;
     }
@@ -857,6 +867,7 @@
      *   the global actions dialog.
      * @hide
      */
+    @UnsupportedAppUsage
     public long getDeviceGlobalActionKeyTimeout() {
         return mGlobalActionsKeyTimeout;
     }
@@ -928,6 +939,7 @@
      * @hide
      * @return Whether or not marquee should use fading edges.
      */
+    @UnsupportedAppUsage
     public boolean isFadingMarqueeEnabled() {
         return mFadingMarqueeEnabled;
     }
diff --git a/core/java/android/view/ViewDebug.java b/core/java/android/view/ViewDebug.java
index 276f50a..f98541e 100644
--- a/core/java/android/view/ViewDebug.java
+++ b/core/java/android/view/ViewDebug.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Bitmap;
@@ -372,6 +373,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static long getViewInstanceCount() {
         return Debug.countInstancesOfClass(View.class);
     }
@@ -383,6 +385,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static long getViewRootImplCount() {
         return Debug.countInstancesOfClass(ViewRootImpl.class);
     }
@@ -434,6 +437,7 @@
     public static void stopHierarchyTracing() {
     }
 
+    @UnsupportedAppUsage
     static void dispatchCommand(View view, String command, String parameters,
             OutputStream clientStream) throws IOException {
 
@@ -804,6 +808,7 @@
      * @hide
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static void dump(View root, boolean skipChildren, boolean includeProperties,
             OutputStream clientStream) throws IOException {
         BufferedWriter out = null;
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index baa38bb..b965036 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -24,6 +24,7 @@
 import android.annotation.NonNull;
 import android.annotation.TestApi;
 import android.annotation.UiThread;
+import android.annotation.UnsupportedAppUsage;
 import android.content.ClipData;
 import android.content.Context;
 import android.content.Intent;
@@ -120,6 +121,7 @@
 public abstract class ViewGroup extends View implements ViewParent, ViewManager {
     private static final String TAG = "ViewGroup";
 
+    @UnsupportedAppUsage
     private static final boolean DBG = false;
 
     /**
@@ -128,6 +130,7 @@
      * This field should be made private, so it is hidden from the SDK.
      * {@hide}
      */
+    @UnsupportedAppUsage
     protected ArrayList<View> mDisappearingChildren;
 
     /**
@@ -136,9 +139,11 @@
      * This field should be made private, so it is hidden from the SDK.
      * {@hide}
      */
+    @UnsupportedAppUsage
     protected OnHierarchyChangeListener mOnHierarchyChangeListener;
 
     // The view contained within this ViewGroup that has or contains focus.
+    @UnsupportedAppUsage
     private View mFocused;
     // The view contained within this ViewGroup (excluding nested keyboard navigation clusters)
     // that is or contains a default-focus view.
@@ -183,6 +188,7 @@
     private Animation.AnimationListener mAnimationListener;
 
     // First touch target in the linked list of touch targets.
+    @UnsupportedAppUsage
     private TouchTarget mFirstTouchTarget;
 
     // For debugging only.  You can see these in hierarchyviewer.
@@ -230,6 +236,7 @@
             @ViewDebug.FlagToString(mask = FLAG_PADDING_NOT_NULL, equals = FLAG_PADDING_NOT_NULL,
                     name = "PADDING_NOT_NULL")
     }, formatToHexString = true)
+    @UnsupportedAppUsage
     protected int mGroupFlags;
 
     /**
@@ -290,6 +297,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     protected static final int FLAG_USE_CHILD_DRAWING_ORDER = 0x400;
 
     /**
@@ -303,6 +311,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     protected static final int FLAG_SUPPORT_STATIC_TRANSFORMATIONS = 0x800;
 
     // UNUSED FLAG VALUE: 0x1000;
@@ -356,6 +365,7 @@
      * When set, this ViewGroup should not intercept touch events.
      * {@hide}
      */
+    @UnsupportedAppUsage
     protected static final int FLAG_DISALLOW_INTERCEPT = 0x80000;
 
     /**
@@ -418,6 +428,7 @@
      * This field should be made private, so it is hidden from the SDK.
      * {@hide}
      */
+    @UnsupportedAppUsage
     protected int mPersistentDrawingCache;
 
     /**
@@ -530,9 +541,11 @@
     private static final int CHILD_TOP_INDEX = 1;
 
     // Child views of this ViewGroup
+    @UnsupportedAppUsage
     private View[] mChildren;
     // Number of valid children in the mChildren array, the rest should be null or not
     // considered as children
+    @UnsupportedAppUsage
     private int mChildrenCount;
 
     // Whether layout calls are currently being suppressed, controlled by calls to
@@ -1480,6 +1493,7 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     public void makeOptionalFitsSystemWindows() {
         super.makeOptionalFitsSystemWindows();
         final int count = mChildrenCount;
@@ -1508,6 +1522,7 @@
      * @param newVisibility The new visibility value (GONE, INVISIBLE, or VISIBLE).
      * @hide
      */
+    @UnsupportedAppUsage
     protected void onChildVisibilityChanged(View child, int oldVisibility, int newVisibility) {
         if (mTransition != null) {
             if (newVisibility == VISIBLE) {
@@ -2907,6 +2922,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private void cancelTouchTarget(View view) {
         TouchTarget predecessor = null;
         TouchTarget target = mFirstTouchTarget;
@@ -2955,6 +2971,7 @@
      * Child must not be null.
      * @hide
      */
+    @UnsupportedAppUsage
     protected boolean isTransformedTouchPointInView(float x, float y, View child,
             PointF outLocalPoint) {
         final float[] point = getTempPoint();
@@ -2971,6 +2988,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public void transformPointToViewLocal(float[] point, View child) {
         point[0] += mScrollX - child.mLeft;
         point[1] += mScrollY - child.mTop;
@@ -3392,6 +3410,7 @@
     }
 
     @Override
+    @UnsupportedAppUsage
     void dispatchAttachedToWindow(AttachInfo info, int visibility) {
         mGroupFlags |= FLAG_PREVENT_DISPATCH_ATTACHED_TO_WINDOW;
         super.dispatchAttachedToWindow(info, visibility);
@@ -3634,6 +3653,7 @@
 
     /** @hide */
     @Override
+    @UnsupportedAppUsage
     public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {
         super.onInitializeAccessibilityNodeInfoInternal(info);
         if (getAccessibilityNodeProvider() != null) {
@@ -3740,6 +3760,7 @@
     }
 
     @Override
+    @UnsupportedAppUsage
     void dispatchDetachedFromWindow() {
         // If we still have a touch target, we are still in the process of
         // dispatching motion events to a child; we need to get rid of that
@@ -4281,6 +4302,7 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     protected void dispatchGetDisplayList() {
         final int count = mChildrenCount;
         final View[] children = mChildren;
@@ -4660,6 +4682,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void addTransientView(View view, int index) {
         if (index < 0) {
             return;
@@ -4695,6 +4718,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void removeTransientView(View view) {
         if (mTransientViews == null) {
             return;
@@ -4722,6 +4746,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public int getTransientViewCount() {
         return mTransientIndices == null ? 0 : mTransientIndices.size();
     }
@@ -4755,6 +4780,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public View getTransientView(int position) {
         if (mTransientViews == null || position >= mTransientViews.size()) {
             return null;
@@ -4913,6 +4939,7 @@
         mOnHierarchyChangeListener = listener;
     }
 
+    @UnsupportedAppUsage
     void dispatchViewAdded(View child) {
         onViewAdded(child);
         if (mOnHierarchyChangeListener != null) {
@@ -4929,6 +4956,7 @@
     public void onViewAdded(View child) {
     }
 
+    @UnsupportedAppUsage
     void dispatchViewRemoved(View child) {
         onViewRemoved(child);
         if (mOnHierarchyChangeListener != null) {
@@ -6086,6 +6114,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void offsetChildrenTopAndBottom(int offset) {
         final int count = mChildrenCount;
         final View[] children = mChildren;
@@ -7004,6 +7033,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void suppressLayout(boolean suppress) {
         mSuppressLayout = suppress;
         if (!suppress) {
@@ -7301,6 +7331,7 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     public void resolvePadding() {
         super.resolvePadding();
         int count = getChildCount();
@@ -7344,6 +7375,7 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     public void resetResolvedLayoutDirection() {
         super.resetResolvedLayoutDirection();
 
@@ -7360,6 +7392,7 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     public void resetResolvedTextDirection() {
         super.resetResolvedTextDirection();
 
@@ -7376,6 +7409,7 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     public void resetResolvedTextAlignment() {
         super.resetResolvedTextAlignment();
 
@@ -7392,6 +7426,7 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     public void resetResolvedPadding() {
         super.resetResolvedPadding();
 
@@ -7408,6 +7443,7 @@
      * @hide
      */
     @Override
+    @UnsupportedAppUsage
     protected void resetResolvedDrawables() {
         super.resetResolvedDrawables();
 
@@ -7743,6 +7779,7 @@
          * Used internally by MarginLayoutParams.
          * @hide
          */
+        @UnsupportedAppUsage
         LayoutParams() {
         }
 
@@ -7883,6 +7920,7 @@
          * to this field.
          */
         @ViewDebug.ExportedProperty(category = "layout")
+        @UnsupportedAppUsage
         private int startMargin = DEFAULT_MARGIN_RELATIVE;
 
         /**
@@ -7891,6 +7929,7 @@
          * to this field.
          */
         @ViewDebug.ExportedProperty(category = "layout")
+        @UnsupportedAppUsage
         private int endMargin = DEFAULT_MARGIN_RELATIVE;
 
         /**
@@ -8120,6 +8159,7 @@
          *
          * @hide
          */
+        @UnsupportedAppUsage
         public void setMarginsRelative(int start, int top, int end, int bottom) {
             startMargin = start;
             topMargin = top;
@@ -8343,6 +8383,7 @@
         public static final int ALL_POINTER_IDS = -1; // all ones
 
         // The touched child view.
+        @UnsupportedAppUsage
         public View child;
 
         // The combined bit mask of pointer ids for all pointers captured by the target.
@@ -8351,6 +8392,7 @@
         // The next target in the target list.
         public TouchTarget next;
 
+        @UnsupportedAppUsage
         private TouchTarget() {
         }
 
@@ -8747,6 +8789,7 @@
 
     /** @hide */
     @Override
+    @UnsupportedAppUsage
     protected void encodeProperties(@NonNull ViewHierarchyEncoder encoder) {
         super.encodeProperties(encoder);
 
diff --git a/core/java/android/view/ViewHierarchyEncoder.java b/core/java/android/view/ViewHierarchyEncoder.java
index 8770216..d5716bf 100644
--- a/core/java/android/view/ViewHierarchyEncoder.java
+++ b/core/java/android/view/ViewHierarchyEncoder.java
@@ -2,6 +2,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 
 import java.io.ByteArrayOutputStream;
 import java.io.DataOutputStream;
@@ -90,6 +91,7 @@
         endPropertyMap();
     }
 
+    @UnsupportedAppUsage
     public void addProperty(@NonNull String name, boolean v) {
         writeShort(createPropertyIndex(name));
         writeBoolean(v);
@@ -100,16 +102,19 @@
         writeShort(s);
     }
 
+    @UnsupportedAppUsage
     public void addProperty(@NonNull String name, int v) {
         writeShort(createPropertyIndex(name));
         writeInt(v);
     }
 
+    @UnsupportedAppUsage
     public void addProperty(@NonNull String name, float v) {
         writeShort(createPropertyIndex(name));
         writeFloat(v);
     }
 
+    @UnsupportedAppUsage
     public void addProperty(@NonNull String name, @Nullable String s) {
         writeShort(createPropertyIndex(name));
         writeString(s);
diff --git a/core/java/android/view/ViewOverlay.java b/core/java/android/view/ViewOverlay.java
index 21123c1..e23c687 100644
--- a/core/java/android/view/ViewOverlay.java
+++ b/core/java/android/view/ViewOverlay.java
@@ -17,6 +17,7 @@
 
 import android.animation.LayoutTransition;
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Rect;
@@ -55,6 +56,7 @@
      * of the overlay
      * @return
      */
+    @UnsupportedAppUsage
     ViewGroup getOverlayView() {
         return mOverlayViewGroup;
     }
@@ -94,6 +96,7 @@
         mOverlayViewGroup.clear();
     }
 
+    @UnsupportedAppUsage
     boolean isEmpty() {
         return mOverlayViewGroup.isEmpty();
     }
diff --git a/core/java/android/view/ViewPropertyAnimator.java b/core/java/android/view/ViewPropertyAnimator.java
index 6c84b63..9fa8f9c 100644
--- a/core/java/android/view/ViewPropertyAnimator.java
+++ b/core/java/android/view/ViewPropertyAnimator.java
@@ -19,6 +19,7 @@
 import android.animation.Animator;
 import android.animation.TimeInterpolator;
 import android.animation.ValueAnimator;
+import android.annotation.UnsupportedAppUsage;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -111,6 +112,7 @@
     /**
      * A RenderThread-driven backend that may intercept startAnimation
      */
+    @UnsupportedAppUsage
     private ViewPropertyAnimatorRT mRTBackend;
 
     /**
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index b2e53ed7..954be0b 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -30,6 +30,7 @@
 import android.animation.LayoutTransition;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityManager;
 import android.app.ActivityThread;
 import android.app.ResourcesManager;
@@ -170,6 +171,7 @@
      */
     static final int MAX_TRACKBALL_DELAY = 250;
 
+    @UnsupportedAppUsage
     static final ThreadLocal<HandlerActionQueue> sRunQueues = new ThreadLocal<HandlerActionQueue>();
 
     static final ArrayList<Runnable> sFirstDrawHandlers = new ArrayList();
@@ -233,7 +235,9 @@
      */
     @GuardedBy("mWindowCallbacks")
     final ArrayList<WindowCallbacks> mWindowCallbacks = new ArrayList<>();
+    @UnsupportedAppUsage
     final Context mContext;
+    @UnsupportedAppUsage
     final IWindowSession mWindowSession;
     @NonNull Display mDisplay;
     final DisplayManager mDisplayManager;
@@ -255,6 +259,7 @@
 
     int mSeq;
 
+    @UnsupportedAppUsage
     View mView;
 
     View mAccessibilityFocusedHost;
@@ -287,6 +292,7 @@
 
     // Set to true if the owner of this window is in the stopped state,
     // so the window should no longer be active.
+    @UnsupportedAppUsage
     boolean mStopped = false;
 
     // Set to true if the owner of this window is in ambient mode,
@@ -306,8 +312,11 @@
     final Region mTransparentRegion;
     final Region mPreviousTransparentRegion;
 
+    @UnsupportedAppUsage
     int mWidth;
+    @UnsupportedAppUsage
     int mHeight;
+    @UnsupportedAppUsage
     Rect mDirty;
     public boolean mIsAnimating;
 
@@ -321,10 +330,12 @@
 
     CompatibilityInfo.Translator mTranslator;
 
+    @UnsupportedAppUsage
     final View.AttachInfo mAttachInfo;
     InputChannel mInputChannel;
     InputQueue.Callback mInputQueueCallback;
     InputQueue mInputQueue;
+    @UnsupportedAppUsage
     FallbackEventHandler mFallbackEventHandler;
     Choreographer mChoreographer;
 
@@ -389,8 +400,10 @@
 
     // These can be accessed by any thread, must be protected with a lock.
     // Surface can never be reassigned or cleared (use Surface.clear()).
+    @UnsupportedAppUsage
     public final Surface mSurface = new Surface();
 
+    @UnsupportedAppUsage
     boolean mAdded;
     boolean mAddedTouchMode;
 
@@ -425,6 +438,7 @@
     boolean mScrollMayChange;
     @SoftInputModeFlags
     int mSoftInputMode;
+    @UnsupportedAppUsage
     WeakReference<View> mLastScrolledFocus;
     int mScrollY;
     int mCurScrollY;
@@ -555,6 +569,7 @@
     }
 
     /** Add static config callback to be notified about global config changes. */
+    @UnsupportedAppUsage
     public static void addConfigCallback(ConfigChangedCallback callback) {
         synchronized (sConfigCallbacks) {
             sConfigCallbacks.add(callback);
@@ -891,6 +906,7 @@
         return (mWindowAttributes.flags & WindowManager.LayoutParams.FLAG_LOCAL_FOCUS_MODE) != 0;
     }
 
+    @UnsupportedAppUsage
     public int getWindowFlags() {
         return mWindowAttributes.flags;
     }
@@ -930,6 +946,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public void detachFunctor(long functor) {
         if (mAttachInfo.mThreadedRenderer != null) {
             // Fence so that any pending invokeFunctor() messages will be processed
@@ -947,6 +964,7 @@
      *                          has invoked. If false, the functor may be invoked
      *                          asynchronously.
      */
+    @UnsupportedAppUsage
     public static void invokeFunctor(long functor, boolean waitForCompletion) {
         ThreadedRenderer.invokeFunctor(functor, waitForCompletion);
     }
@@ -980,6 +998,7 @@
         mNextRtFrameCallback = callback;
     }
 
+    @UnsupportedAppUsage
     private void enableHardwareAcceleration(WindowManager.LayoutParams attrs) {
         mAttachInfo.mHardwareAccelerated = false;
         mAttachInfo.mHardwareAccelerationRequested = false;
@@ -1040,6 +1059,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public View getView() {
         return mView;
     }
@@ -1241,6 +1261,7 @@
         invalidate();
     }
 
+    @UnsupportedAppUsage
     void invalidate() {
         mDirty.set(0, 0, mWidth, mHeight);
         if (!mWillDrawSoon) {
@@ -1425,6 +1446,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     void scheduleTraversals() {
         if (!mTraversalScheduled) {
             mTraversalScheduled = true;
@@ -3665,6 +3687,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public View getAccessibilityFocusedHost() {
         return mAccessibilityFocusedHost;
     }
@@ -3672,6 +3695,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public AccessibilityNodeInfo getAccessibilityFocusedVirtualView() {
         return mAccessibilityFocusedVirtualView;
     }
@@ -4289,6 +4313,7 @@
      * @param inTouchMode Whether we want to be in touch mode.
      * @return True if the touch mode changed and focus changed was changed as a result
      */
+    @UnsupportedAppUsage
     boolean ensureTouchMode(boolean inTouchMode) {
         if (DBG) Log.d("touchmode", "ensureTouchMode(" + inTouchMode + "), current "
                 + "touch mode is " + mAttachInfo.mInTouchMode);
@@ -6284,6 +6309,7 @@
     }
 
     /* drag/drop */
+    @UnsupportedAppUsage
     void setLocalDragState(Object obj) {
         mLocalDragState = obj;
     }
@@ -6431,6 +6457,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public void getLastTouchPoint(Point outLocation) {
         outLocation.x = (int) mLastTouchPoint.x;
         outLocation.y = (int) mLastTouchPoint.y;
@@ -6829,6 +6856,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private void dispatchResized(Rect frame, Rect overscanInsets, Rect contentInsets,
             Rect visibleInsets, Rect stableInsets, Rect outsets, boolean reportDraw,
             MergedConfiguration mergedConfiguration, Rect backDropFrame, boolean forceLayout,
@@ -6993,10 +7021,12 @@
         }
     }
 
+    @UnsupportedAppUsage
     void enqueueInputEvent(InputEvent event) {
         enqueueInputEvent(event, null, 0, false);
     }
 
+    @UnsupportedAppUsage
     void enqueueInputEvent(InputEvent event,
             InputEventReceiver receiver, int flags, boolean processImmediately) {
         adjustInputEventForCompatibility(event);
@@ -7337,6 +7367,7 @@
         mInvalidateOnAnimationRunnable.addViewRect(info);
     }
 
+    @UnsupportedAppUsage
     public void cancelInvalidate(View view) {
         mHandler.removeMessages(MSG_INVALIDATE, view);
         // fixme: might leak the AttachInfo.InvalidateInfo objects instead of returning
@@ -7345,10 +7376,12 @@
         mInvalidateOnAnimationRunnable.removeView(view);
     }
 
+    @UnsupportedAppUsage
     public void dispatchInputEvent(InputEvent event) {
         dispatchInputEvent(event, null);
     }
 
+    @UnsupportedAppUsage
     public void dispatchInputEvent(InputEvent event, InputEventReceiver receiver) {
         SomeArgs args = SomeArgs.obtain();
         args.arg1 = event;
@@ -7364,6 +7397,7 @@
         mHandler.sendMessage(msg);
     }
 
+    @UnsupportedAppUsage
     public void dispatchKeyFromIme(KeyEvent event) {
         Message msg = mHandler.obtainMessage(MSG_DISPATCH_KEY_FROM_IME, event);
         msg.setAsynchronous(true);
@@ -7382,6 +7416,7 @@
      * Note that it is the responsibility of the caller of this API to recycle the InputEvent it
      * passes in.
      */
+    @UnsupportedAppUsage
     public void dispatchUnhandledInputEvent(InputEvent event) {
         if (event instanceof MotionEvent) {
             event = MotionEvent.obtain((MotionEvent) event);
@@ -8084,6 +8119,7 @@
     }
 
     public static final class CalledFromWrongThreadException extends AndroidRuntimeException {
+        @UnsupportedAppUsage
         public CalledFromWrongThreadException(String msg) {
             super(msg);
         }
diff --git a/core/java/android/view/ViewTreeObserver.java b/core/java/android/view/ViewTreeObserver.java
index 0973d0a..e39bfa6 100644
--- a/core/java/android/view/ViewTreeObserver.java
+++ b/core/java/android/view/ViewTreeObserver.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.graphics.Rect;
 import android.graphics.Region;
@@ -39,14 +40,18 @@
     private CopyOnWriteArrayList<OnWindowFocusChangeListener> mOnWindowFocusListeners;
     private CopyOnWriteArrayList<OnWindowAttachListener> mOnWindowAttachListeners;
     private CopyOnWriteArrayList<OnGlobalFocusChangeListener> mOnGlobalFocusListeners;
+    @UnsupportedAppUsage
     private CopyOnWriteArrayList<OnTouchModeChangeListener> mOnTouchModeChangeListeners;
     private CopyOnWriteArrayList<OnEnterAnimationCompleteListener>
             mOnEnterAnimationCompleteListeners;
 
     // Non-recursive listeners use CopyOnWriteArray
     // Any listener invoked from ViewRootImpl.performTraversals() should not be recursive
+    @UnsupportedAppUsage
     private CopyOnWriteArray<OnGlobalLayoutListener> mOnGlobalLayoutListeners;
+    @UnsupportedAppUsage
     private CopyOnWriteArray<OnComputeInternalInsetsListener> mOnComputeInternalInsetsListeners;
+    @UnsupportedAppUsage
     private CopyOnWriteArray<OnScrollChangedListener> mOnScrollChangedListeners;
     private CopyOnWriteArray<OnPreDrawListener> mOnPreDrawListeners;
     private CopyOnWriteArray<OnWindowShownListener> mOnWindowShownListeners;
@@ -209,12 +214,14 @@
          * Offsets from the frame of the window at which the content of
          * windows behind it should be placed.
          */
+        @UnsupportedAppUsage
         public final Rect contentInsets = new Rect();
 
         /**
          * Offsets from the frame of the window at which windows behind it
          * are visible.
          */
+        @UnsupportedAppUsage
         public final Rect visibleInsets = new Rect();
 
         /**
@@ -222,6 +229,7 @@
          * Only used when {@link #setTouchableInsets(int)} is called with
          * the option {@link #TOUCHABLE_INSETS_REGION}.
          */
+        @UnsupportedAppUsage
         public final Region touchableRegion = new Region();
 
         /**
@@ -246,6 +254,7 @@
          * Option for {@link #setTouchableInsets(int)}: the area inside of
          * the provided touchable region in {@link #touchableRegion} can be touched.
          */
+        @UnsupportedAppUsage
         public static final int TOUCHABLE_INSETS_REGION = 3;
 
         /**
@@ -253,10 +262,12 @@
          * {@link #TOUCHABLE_INSETS_FRAME}, {@link #TOUCHABLE_INSETS_CONTENT},
          * {@link #TOUCHABLE_INSETS_VISIBLE}, or {@link #TOUCHABLE_INSETS_REGION}.
          */
+        @UnsupportedAppUsage
         public void setTouchableInsets(int val) {
             mTouchableInsets = val;
         }
 
+        @UnsupportedAppUsage
         int mTouchableInsets;
 
         void reset() {
@@ -294,6 +305,7 @@
                     touchableRegion.equals(other.touchableRegion);
         }
 
+        @UnsupportedAppUsage
         void set(InternalInsetsInfo other) {
             contentInsets.set(other.contentInsets);
             visibleInsets.set(other.visibleInsets);
@@ -791,6 +803,7 @@
      * We are not yet ready to commit to this API and support it, so
      * @hide
      */
+    @UnsupportedAppUsage
     public void addOnComputeInternalInsetsListener(OnComputeInternalInsetsListener listener) {
         checkIsAlive();
 
@@ -814,6 +827,7 @@
      * We are not yet ready to commit to this API and support it, so
      * @hide
      */
+    @UnsupportedAppUsage
     public void removeOnComputeInternalInsetsListener(OnComputeInternalInsetsListener victim) {
         checkIsAlive();
         if (mOnComputeInternalInsetsListeners == null) {
@@ -913,6 +927,7 @@
     /**
      * Notifies registered listeners that focus has changed.
      */
+    @UnsupportedAppUsage
     final void dispatchOnGlobalFocusChange(View oldFocus, View newFocus) {
         // NOTE: because of the use of CopyOnWriteArrayList, we *must* use an iterator to
         // perform the dispatching. The iterator is a safe guard against listeners that
@@ -1024,6 +1039,7 @@
      *
      * @param inTouchMode True if the touch mode is now enabled, false otherwise.
      */
+    @UnsupportedAppUsage
     final void dispatchOnTouchModeChanged(boolean inTouchMode) {
         final CopyOnWriteArrayList<OnTouchModeChangeListener> listeners =
                 mOnTouchModeChangeListeners;
@@ -1037,6 +1053,7 @@
     /**
      * Notifies registered listeners that something has scrolled.
      */
+    @UnsupportedAppUsage
     final void dispatchOnScrollChanged() {
         // NOTE: because of the use of CopyOnWriteArrayList, we *must* use an iterator to
         // perform the dispatching. The iterator is a safe guard against listeners that
@@ -1059,6 +1076,7 @@
     /**
      * Returns whether there are listeners for computing internal insets.
      */
+    @UnsupportedAppUsage
     final boolean hasComputeInternalInsetsListeners() {
         final CopyOnWriteArray<OnComputeInternalInsetsListener> listeners =
                 mOnComputeInternalInsetsListeners;
@@ -1068,6 +1086,7 @@
     /**
      * Calls all listeners to compute the current insets.
      */
+    @UnsupportedAppUsage
     final void dispatchOnComputeInternalInsets(InternalInsetsInfo inoutInfo) {
         // NOTE: because of the use of CopyOnWriteArrayList, we *must* use an iterator to
         // perform the dispatching. The iterator is a safe guard against listeners that
diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java
index 93b3fc2..91a43f8 100644
--- a/core/java/android/view/Window.java
+++ b/core/java/android/view/Window.java
@@ -25,6 +25,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.StyleRes;
+import android.annotation.UnsupportedAppUsage;
 import android.app.WindowConfiguration;
 import android.content.Context;
 import android.content.pm.ActivityInfo;
@@ -151,6 +152,7 @@
      * Max value used as a feature ID
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int FEATURE_MAX = FEATURE_ACTIVITY_TRANSITIONS;
 
     /**
@@ -270,18 +272,25 @@
      */
     public static final int DECOR_CAPTION_SHADE_DARK = 2;
 
+    @UnsupportedAppUsage
     private final Context mContext;
 
+    @UnsupportedAppUsage
     private TypedArray mWindowStyle;
+    @UnsupportedAppUsage
     private Callback mCallback;
     private OnWindowDismissedCallback mOnWindowDismissedCallback;
     private OnWindowSwipeDismissedCallback mOnWindowSwipeDismissedCallback;
     private WindowControllerCallback mWindowControllerCallback;
     private OnRestrictedCaptionAreaChangedListener mOnRestrictedCaptionAreaChangedListener;
     private Rect mRestrictedCaptionAreaRect;
+    @UnsupportedAppUsage
     private WindowManager mWindowManager;
+    @UnsupportedAppUsage
     private IBinder mAppToken;
+    @UnsupportedAppUsage
     private String mAppName;
+    @UnsupportedAppUsage
     private boolean mHardwareAccelerated;
     private Window mContainer;
     private Window mActiveChild;
@@ -291,7 +300,9 @@
     private boolean mSetCloseOnTouchOutside = false;
     private int mForcedWindowFlags = 0;
 
+    @UnsupportedAppUsage
     private int mFeatures;
+    @UnsupportedAppUsage
     private int mLocalFeatures;
 
     private boolean mHaveWindowFormat = false;
@@ -300,12 +311,14 @@
 
     private boolean mHasSoftInputMode = false;
 
+    @UnsupportedAppUsage
     private boolean mDestroyed;
 
     private boolean mOverlayWithDecorCaptionEnabled = false;
     private boolean mCloseOnSwipeEnabled = false;
 
     // The current window attributes.
+    @UnsupportedAppUsage
     private final WindowManager.LayoutParams mWindowAttributes =
         new WindowManager.LayoutParams();
 
@@ -732,6 +745,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public final boolean isDestroyed() {
         return mDestroyed;
     }
@@ -1070,6 +1084,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public void addPrivateFlags(int flags) {
         setPrivateFlags(flags, flags);
     }
@@ -1120,6 +1135,7 @@
     /**
      * {@hide}
      */
+    @UnsupportedAppUsage
     protected void setNeedsMenuKey(int value) {
         final WindowManager.LayoutParams attrs = getAttributes();
         attrs.needsMenuKey = value;
@@ -1240,12 +1256,14 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public void setCloseOnTouchOutside(boolean close) {
         mCloseOnTouchOutside = close;
         mSetCloseOnTouchOutside = true;
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public void setCloseOnTouchOutsideIfNotSet(boolean close) {
         if (!mSetCloseOnTouchOutside) {
             mCloseOnTouchOutside = close;
@@ -1254,9 +1272,11 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public abstract void alwaysReadCloseOnTouchAttr();
 
     /** @hide */
+    @UnsupportedAppUsage
     public boolean shouldCloseOnTouch(Context context, MotionEvent event) {
         final boolean isOutside =
                 event.getAction() == MotionEvent.ACTION_DOWN && isOutOfBounds(context, event)
diff --git a/core/java/android/view/WindowAnimationFrameStats.java b/core/java/android/view/WindowAnimationFrameStats.java
index c60b96c..0233c86 100644
--- a/core/java/android/view/WindowAnimationFrameStats.java
+++ b/core/java/android/view/WindowAnimationFrameStats.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -47,6 +48,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void init(long refreshPeriodNano, long[] framesPresentedTimeNano) {
         mRefreshPeriodNano = refreshPeriodNano;
         mFramesPresentedTimeNano = framesPresentedTimeNano;
diff --git a/core/java/android/view/WindowContentFrameStats.java b/core/java/android/view/WindowContentFrameStats.java
index c6da2fb..96878e9 100644
--- a/core/java/android/view/WindowContentFrameStats.java
+++ b/core/java/android/view/WindowContentFrameStats.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -60,6 +61,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void init(long refreshPeriodNano, long[] framesPostedTimeNano,
             long[] framesPresentedTimeNano, long[] framesReadyTimeNano) {
         mRefreshPeriodNano = refreshPeriodNano;
diff --git a/core/java/android/view/WindowInsets.java b/core/java/android/view/WindowInsets.java
index fbd8141..8628da3 100644
--- a/core/java/android/view/WindowInsets.java
+++ b/core/java/android/view/WindowInsets.java
@@ -18,6 +18,7 @@
 package android.view;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Rect;
 
 import com.android.internal.util.Preconditions;
@@ -69,6 +70,7 @@
      * since it would allow them to inadvertently consume unknown insets by returning it.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final WindowInsets CONSUMED;
 
     static {
@@ -115,6 +117,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public WindowInsets(Rect systemWindowInsets) {
         this(systemWindowInsets, null, null, false, false, null);
     }
@@ -124,6 +127,7 @@
      * to the existing fitSystemWindows method and other similar internals.
      * @hide
      */
+    @UnsupportedAppUsage
     public Rect getSystemWindowInsets() {
         if (mTempRect == null) {
             mTempRect = new Rect();
@@ -578,6 +582,7 @@
      *
      * @hide pending API
      */
+    @UnsupportedAppUsage
     public WindowInsets inset(int left, int top, int right, int bottom) {
         Preconditions.checkArgumentNonnegative(left);
         Preconditions.checkArgumentNonnegative(top);
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index fc34a25..8b9b856 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -50,6 +50,7 @@
 import android.annotation.SystemApi;
 import android.annotation.SystemService;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.KeyguardManager;
 import android.app.Presentation;
 import android.content.Context;
@@ -675,6 +676,7 @@
          * is a big ugly hack so:
          * @hide
          */
+        @UnsupportedAppUsage
         public static final int TYPE_APPLICATION_MEDIA_OVERLAY  = FIRST_SUB_WINDOW + 4;
 
         /**
@@ -827,6 +829,7 @@
          * In multiuser systems shows only on the owning user's window.
          * @hide
          */
+        @UnsupportedAppUsage
         public static final int TYPE_SECURE_SYSTEM_OVERLAY = FIRST_SYSTEM_WINDOW+15;
 
         /**
@@ -902,6 +905,7 @@
          * In multiuser systems shows on all users' windows.
          * @hide
          */
+        @UnsupportedAppUsage
         public static final int TYPE_DISPLAY_OVERLAY = FIRST_SYSTEM_WINDOW+26;
 
         /**
@@ -1392,6 +1396,7 @@
          *
          * {@hide}
          */
+        @UnsupportedAppUsage
         public static final int FLAG_SLIPPERY = 0x20000000;
 
         /**
@@ -1555,6 +1560,7 @@
          * to determine its default behavior.
          *
          * {@hide} */
+        @UnsupportedAppUsage
         public static final int PRIVATE_FLAG_SHOW_FOR_ALL_USERS = 0x00000010;
 
         /**
@@ -1801,6 +1807,7 @@
          *
          * @hide
          */
+        @UnsupportedAppUsage
         public static final int NEEDS_MENU_SET_TRUE = 1;
 
         /**
@@ -1809,6 +1816,7 @@
          *
          * @hide
          */
+        @UnsupportedAppUsage
         public static final int NEEDS_MENU_SET_FALSE = 2;
 
         /**
@@ -1822,6 +1830,7 @@
          *
          * {@hide}
          */
+        @UnsupportedAppUsage
         public int needsMenuKey = NEEDS_MENU_UNSET;
 
         /**
@@ -2226,6 +2235,7 @@
          * The ui visibility as requested by the views in this hierarchy.
          * the combined value should be systemUiVisibility | subtreeSystemUiVisibility.
          */
+        @UnsupportedAppUsage
         public int subtreeSystemUiVisibility;
 
         /**
@@ -2235,6 +2245,7 @@
          *
          * @hide
          */
+        @UnsupportedAppUsage
         public boolean hasSystemUiListeners;
 
 
@@ -2386,6 +2397,7 @@
          *
          * @hide
          */
+        @UnsupportedAppUsage
         public static final int INPUT_FEATURE_DISABLE_USER_ACTIVITY = 0x00000004;
 
         /**
@@ -2396,6 +2408,7 @@
          * @see #INPUT_FEATURE_DISABLE_USER_ACTIVITY
          * @hide
          */
+        @UnsupportedAppUsage
         public int inputFeatures;
 
         /**
@@ -2411,6 +2424,7 @@
          *
          * @hide
          */
+        @UnsupportedAppUsage
         public long userActivityTimeout = -1;
 
         /**
@@ -2442,6 +2456,7 @@
          *
          * @hide
          */
+        @UnsupportedAppUsage
         public long hideTimeoutMilliseconds = -1;
 
         /**
@@ -3112,6 +3127,7 @@
          * Backup the layout parameters used in compatibility mode.
          * @see LayoutParams#restore()
          */
+        @UnsupportedAppUsage
         void backup() {
             int[] backup = mCompatibilityParamsBackup;
             if (backup == null) {
@@ -3128,6 +3144,7 @@
          * Restore the layout params' coordinates, size and gravity
          * @see LayoutParams#backup()
          */
+        @UnsupportedAppUsage
         void restore() {
             int[] backup = mCompatibilityParamsBackup;
             if (backup != null) {
diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java
index 08c2d0b..d810067 100644
--- a/core/java/android/view/WindowManagerGlobal.java
+++ b/core/java/android/view/WindowManagerGlobal.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.animation.ValueAnimator;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityManager;
 import android.content.ComponentCallbacks2;
 import android.content.Context;
@@ -131,14 +132,21 @@
     public static final int ADD_INVALID_DISPLAY = -9;
     public static final int ADD_INVALID_TYPE = -10;
 
+    @UnsupportedAppUsage
     private static WindowManagerGlobal sDefaultWindowManager;
+    @UnsupportedAppUsage
     private static IWindowManager sWindowManagerService;
+    @UnsupportedAppUsage
     private static IWindowSession sWindowSession;
 
+    @UnsupportedAppUsage
     private final Object mLock = new Object();
 
+    @UnsupportedAppUsage
     private final ArrayList<View> mViews = new ArrayList<View>();
+    @UnsupportedAppUsage
     private final ArrayList<ViewRootImpl> mRoots = new ArrayList<ViewRootImpl>();
+    @UnsupportedAppUsage
     private final ArrayList<WindowManager.LayoutParams> mParams =
             new ArrayList<WindowManager.LayoutParams>();
     private final ArraySet<View> mDyingViews = new ArraySet<View>();
@@ -148,10 +156,12 @@
     private WindowManagerGlobal() {
     }
 
+    @UnsupportedAppUsage
     public static void initialize() {
         getWindowManagerService();
     }
 
+    @UnsupportedAppUsage
     public static WindowManagerGlobal getInstance() {
         synchronized (WindowManagerGlobal.class) {
             if (sDefaultWindowManager == null) {
@@ -161,6 +171,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public static IWindowManager getWindowManagerService() {
         synchronized (WindowManagerGlobal.class) {
             if (sWindowManagerService == null) {
@@ -179,6 +190,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public static IWindowSession getWindowSession() {
         synchronized (WindowManagerGlobal.class) {
             if (sWindowSession == null) {
@@ -201,12 +213,14 @@
         }
     }
 
+    @UnsupportedAppUsage
     public static IWindowSession peekWindowSession() {
         synchronized (WindowManagerGlobal.class) {
             return sWindowSession;
         }
     }
 
+    @UnsupportedAppUsage
     public String[] getViewRootNames() {
         synchronized (mLock) {
             final int numRoots = mRoots.size();
@@ -218,6 +232,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public ArrayList<ViewRootImpl> getRootViews(IBinder token) {
         ArrayList<ViewRootImpl> views = new ArrayList<>();
         synchronized (mLock) {
@@ -264,6 +279,7 @@
         return null;
     }
 
+    @UnsupportedAppUsage
     public View getRootView(String name) {
         synchronized (mLock) {
             for (int i = mRoots.size() - 1; i >= 0; --i) {
@@ -385,6 +401,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public void removeView(View view, boolean immediate) {
         if (view == null) {
             throw new IllegalArgumentException("view must not be null");
@@ -500,6 +517,7 @@
         return false;
     }
 
+    @UnsupportedAppUsage
     public void trimMemory(int level) {
         if (ThreadedRenderer.isAvailable()) {
             if (shouldDestroyEglContext(level)) {
@@ -647,6 +665,7 @@
 }
 
 final class WindowLeaked extends AndroidRuntimeException {
+    @UnsupportedAppUsage
     public WindowLeaked(String msg) {
         super(msg);
     }
diff --git a/core/java/android/view/WindowManagerImpl.java b/core/java/android/view/WindowManagerImpl.java
index a8722f1..2339d35 100644
--- a/core/java/android/view/WindowManagerImpl.java
+++ b/core/java/android/view/WindowManagerImpl.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.graphics.Region;
 import android.os.Bundle;
@@ -54,6 +55,7 @@
  * @hide
  */
 public final class WindowManagerImpl implements WindowManager {
+    @UnsupportedAppUsage
     private final WindowManagerGlobal mGlobal = WindowManagerGlobal.getInstance();
     private final Context mContext;
     private final Window mParentWindow;
diff --git a/core/java/android/view/accessibility/AccessibilityEvent.java b/core/java/android/view/accessibility/AccessibilityEvent.java
index 7946e9e..4f13c9c 100644
--- a/core/java/android/view/accessibility/AccessibilityEvent.java
+++ b/core/java/android/view/accessibility/AccessibilityEvent.java
@@ -17,6 +17,7 @@
 package android.view.accessibility;
 
 import android.annotation.IntDef;
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
@@ -753,10 +754,12 @@
     private static final SynchronizedPool<AccessibilityEvent> sPool =
             new SynchronizedPool<>(MAX_POOL_SIZE);
 
+    @UnsupportedAppUsage
     private @EventType int mEventType;
     private CharSequence mPackageName;
     private long mEventTime;
     int mMovementGranularity;
+    @UnsupportedAppUsage
     int mAction;
     int mContentChangeTypes;
     int mWindowChangeTypes;
diff --git a/core/java/android/view/accessibility/AccessibilityInteractionClient.java b/core/java/android/view/accessibility/AccessibilityInteractionClient.java
index d60c481..4db6f4f 100644
--- a/core/java/android/view/accessibility/AccessibilityInteractionClient.java
+++ b/core/java/android/view/accessibility/AccessibilityInteractionClient.java
@@ -17,6 +17,7 @@
 package android.view.accessibility;
 
 import android.accessibilityservice.IAccessibilityServiceConnection;
+import android.annotation.UnsupportedAppUsage;
 import android.os.Binder;
 import android.os.Build;
 import android.os.Bundle;
@@ -112,6 +113,7 @@
     /**
      * @return The client for the current thread.
      */
+    @UnsupportedAppUsage
     public static AccessibilityInteractionClient getInstance() {
         final long threadId = Thread.currentThread().getId();
         return getInstanceForThread(threadId);
@@ -190,6 +192,7 @@
      *
      * @param message The message.
      */
+    @UnsupportedAppUsage
     public void setSameThreadMessage(Message message) {
         synchronized (mInstanceLock) {
             mSameThreadMessage = message;
@@ -625,6 +628,7 @@
         return false;
     }
 
+    @UnsupportedAppUsage
     public void clearCache() {
         sAccessibilityCache.clear();
     }
diff --git a/core/java/android/view/accessibility/AccessibilityManager.java b/core/java/android/view/accessibility/AccessibilityManager.java
index cbb23f1..c59c491 100644
--- a/core/java/android/view/accessibility/AccessibilityManager.java
+++ b/core/java/android/view/accessibility/AccessibilityManager.java
@@ -25,6 +25,7 @@
 import android.annotation.Nullable;
 import android.annotation.SdkConstant;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.PackageManager;
@@ -88,6 +89,7 @@
     public static final int DALTONIZER_DISABLED = -1;
 
     /** @hide */
+    @UnsupportedAppUsage
     public static final int DALTONIZER_SIMULATE_MONOCHROMACY = 0;
 
     /** @hide */
@@ -112,30 +114,39 @@
     public static final String ACTION_CHOOSE_ACCESSIBILITY_BUTTON =
             "com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON";
 
+    @UnsupportedAppUsage
     static final Object sInstanceSync = new Object();
 
+    @UnsupportedAppUsage
     private static AccessibilityManager sInstance;
 
+    @UnsupportedAppUsage
     private final Object mLock = new Object();
 
+    @UnsupportedAppUsage
     private IAccessibilityManager mService;
 
+    @UnsupportedAppUsage
     final int mUserId;
 
+    @UnsupportedAppUsage
     final Handler mHandler;
 
     final Handler.Callback mCallback;
 
+    @UnsupportedAppUsage
     boolean mIsEnabled;
 
     int mRelevantEventTypes = AccessibilityEvent.TYPES_ALL_MASK;
 
     boolean mIsTouchExplorationEnabled;
 
+    @UnsupportedAppUsage
     boolean mIsHighTextContrastEnabled;
 
     AccessibilityPolicy mAccessibilityPolicy;
 
+    @UnsupportedAppUsage
     private final ArrayMap<AccessibilityStateChangeListener, Handler>
             mAccessibilityStateChangeListeners = new ArrayMap<>();
 
@@ -318,6 +329,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static AccessibilityManager getInstance(Context context) {
         synchronized (sInstanceSync) {
             if (sInstance == null) {
@@ -430,6 +442,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isHighTextContrastEnabled() {
         synchronized (mLock) {
             IAccessibilityManager service = getServiceLocked();
@@ -916,6 +929,7 @@
      *
      * @param stateFlags The state flags.
      */
+    @UnsupportedAppUsage
     private void setStateLocked(int stateFlags) {
         final boolean enabled = (stateFlags & STATE_FLAG_ACCESSIBILITY_ENABLED) != 0;
         final boolean touchExplorationEnabled =
diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
index 6bacdfe..158ac6b 100644
--- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java
+++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
@@ -25,6 +25,7 @@
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.annotation.Nullable;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Rect;
 import android.os.Bundle;
 import android.os.Parcel;
@@ -662,6 +663,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static int getAccessibilityViewId(long accessibilityNodeId) {
         return (int) accessibilityNodeId;
     }
@@ -675,6 +677,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static int getVirtualDescendantId(long accessibilityNodeId) {
         return (int) ((accessibilityNodeId & VIRTUAL_DESCENDANT_ID_MASK)
                 >> VIRTUAL_DESCENDANT_ID_SHIFT);
@@ -702,10 +705,12 @@
 
     private static final AccessibilityNodeInfo DEFAULT = new AccessibilityNodeInfo();
 
+    @UnsupportedAppUsage
     private boolean mSealed;
 
     // Data.
     private int mWindowId = AccessibilityWindowInfo.UNDEFINED_WINDOW_ID;
+    @UnsupportedAppUsage
     private long mSourceNodeId = UNDEFINED_NODE_ID;
     private long mParentNodeId = UNDEFINED_NODE_ID;
     private long mLabelForId = UNDEFINED_NODE_ID;
@@ -731,6 +736,7 @@
     private String mViewIdResourceName;
     private ArrayList<String> mExtraDataKeys;
 
+    @UnsupportedAppUsage
     private LongArray mChildNodeIds;
     private ArrayList<AccessibilityAction> mActions;
 
@@ -865,6 +871,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean refresh(Bundle arguments, boolean bypassCache) {
         enforceSealed();
         if (!canPerformRequestOverConnection(mSourceNodeId)) {
@@ -3008,6 +3015,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public long getSourceNodeId() {
         return mSourceNodeId;
     }
@@ -3019,6 +3027,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void setSealed(boolean sealed) {
         mSealed = sealed;
     }
@@ -3030,6 +3039,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isSealed() {
         return mSealed;
     }
diff --git a/core/java/android/view/accessibility/AccessibilityRecord.java b/core/java/android/view/accessibility/AccessibilityRecord.java
index 0a709f8..769ea3e1 100644
--- a/core/java/android/view/accessibility/AccessibilityRecord.java
+++ b/core/java/android/view/accessibility/AccessibilityRecord.java
@@ -19,6 +19,7 @@
 import static com.android.internal.util.CollectionUtils.isEmpty;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcelable;
 import android.view.View;
 
@@ -82,6 +83,7 @@
     private AccessibilityRecord mNext;
     private boolean mIsInPool;
 
+    @UnsupportedAppUsage
     boolean mSealed;
     int mBooleanProperties = 0;
     int mCurrentItemIndex = UNDEFINED;
@@ -98,6 +100,7 @@
 
     int mAddedCount= UNDEFINED;
     int mRemovedCount = UNDEFINED;
+    @UnsupportedAppUsage
     long mSourceNodeId = AccessibilityNodeInfo.UNDEFINED_NODE_ID;
     int mSourceWindowId = AccessibilityWindowInfo.UNDEFINED_WINDOW_ID;
 
@@ -696,6 +699,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public long getSourceNodeId() {
         return mSourceNodeId;
     }
diff --git a/core/java/android/view/accessibility/CaptioningManager.java b/core/java/android/view/accessibility/CaptioningManager.java
index d6455e7..c42e9fe 100644
--- a/core/java/android/view/accessibility/CaptioningManager.java
+++ b/core/java/android/view/accessibility/CaptioningManager.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.database.ContentObserver;
@@ -286,6 +287,7 @@
         public static final CaptionStyle DEFAULT;
 
         /** @hide */
+        @UnsupportedAppUsage
         public static final CaptionStyle[] PRESETS;
 
         /** @hide */
diff --git a/core/java/android/view/inputmethod/InputMethodInfo.java b/core/java/android/view/inputmethod/InputMethodInfo.java
index f0f30a0..97b5740 100644
--- a/core/java/android/view/inputmethod/InputMethodInfo.java
+++ b/core/java/android/view/inputmethod/InputMethodInfo.java
@@ -17,6 +17,7 @@
 package android.view.inputmethod;
 
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
@@ -94,6 +95,7 @@
     /**
      * An array-like container of the subtypes.
      */
+    @UnsupportedAppUsage
     private final InputMethodSubtypeArray mSubtypes;
 
     private final boolean mIsAuxIme;
@@ -445,6 +447,7 @@
      * Return whether or not this ime is a default ime or not.
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isDefault(Context context) {
         if (mForceDefault) {
             return true;
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 7e6af49..53b224c 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -24,6 +24,7 @@
 import android.annotation.RequiresPermission;
 import android.annotation.SystemService;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.graphics.Rect;
@@ -223,6 +224,7 @@
 
     static final String PENDING_EVENT_COUNTER = "aq:imm";
 
+    @UnsupportedAppUsage
     static InputMethodManager sInstance;
 
     /**
@@ -270,11 +272,13 @@
     /** @hide */
     public static final int SHOW_IM_PICKER_MODE_EXCLUDE_AUXILIARY_SUBTYPES = 2;
 
+    @UnsupportedAppUsage
     final IInputMethodManager mService;
     final Looper mMainLooper;
 
     // For scheduling work on the main thread.  This also serves as our
     // global lock.
+    @UnsupportedAppUsage
     final H mH;
 
     // Our generic input connection if the current target does not have its own.
@@ -302,16 +306,19 @@
      * This is the root view of the overall window that currently has input
      * method focus.
      */
+    @UnsupportedAppUsage
     View mCurRootView;
     /**
      * This is the view that should currently be served by an input method,
      * regardless of the state of setting that up.
      */
+    @UnsupportedAppUsage
     View mServedView;
     /**
      * This is then next view that will be served by the input method, when
      * we get around to updating things.
      */
+    @UnsupportedAppUsage
     View mNextServedView;
     /**
      * This is set when we are in the process of connecting, to determine
@@ -327,6 +334,7 @@
     /**
      * The InputConnection that was last retrieved from the served view.
      */
+    @UnsupportedAppUsage
     ControlledInputConnectionWrapper mServedInputConnectionWrapper;
     /**
      * The completions that were last provided by the served view.
@@ -334,7 +342,9 @@
     CompletionInfo[] mCompletions;
 
     // Cursor position on the screen.
+    @UnsupportedAppUsage
     Rect mTmpCursorRect = new Rect();
+    @UnsupportedAppUsage
     Rect mCursorRect = new Rect();
     int mCursorSelStart;
     int mCursorSelEnd;
@@ -377,10 +387,12 @@
     /**
      * ID of the method we are bound to.
      */
+    @UnsupportedAppUsage
     String mCurId;
     /**
      * The actual instance of the method to make calls on it.
      */
+    @UnsupportedAppUsage
     IInputMethodSession mCurMethod;
     InputChannel mCurChannel;
     ImeInputEventSender mCurSender;
@@ -677,6 +689,7 @@
      * doesn't already exist.
      * @hide
      */
+    @UnsupportedAppUsage
     public static InputMethodManager getInstance() {
         synchronized (InputMethodManager.class) {
             if (sInstance == null) {
@@ -695,16 +708,19 @@
      * if it exists.
      * @hide
      */
+    @UnsupportedAppUsage
     public static InputMethodManager peekInstance() {
         return sInstance;
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public IInputMethodClient getClient() {
         return mClient;
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public IInputContext getInputContext() {
         return mIInputContext;
     }
@@ -808,6 +824,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public void registerSuggestionSpansForNotification(SuggestionSpan[] spans) {
         try {
             mService.registerSuggestionSpansForNotification(spans);
@@ -817,6 +834,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public void notifySuggestionPicked(SuggestionSpan span, String originalString, int index) {
         try {
             mService.notifySuggestionPicked(span, originalString, index);
@@ -922,6 +940,7 @@
     /**
      * Disconnect any existing input connection, clearing the served view.
      */
+    @UnsupportedAppUsage
     void finishInputLocked() {
         mNextServedView = null;
         if (mServedView != null) {
@@ -1086,6 +1105,7 @@
      * @hide
      */
     @Deprecated
+    @UnsupportedAppUsage
     public void showSoftInputUnchecked(int flags, ResultReceiver resultReceiver) {
         try {
             Log.w(TAG, "showSoftInputUnchecked() is a hidden method, which will be removed "
@@ -1392,6 +1412,7 @@
      * input method started before.
      * @hide
      */
+    @UnsupportedAppUsage
     public void windowDismissed(IBinder appWindowToken) {
         checkFocus();
         synchronized (mH) {
@@ -1406,6 +1427,7 @@
      * Call this when a view receives focus.
      * @hide
      */
+    @UnsupportedAppUsage
     public void focusIn(View view) {
         synchronized (mH) {
             focusInLocked(view);
@@ -1436,6 +1458,7 @@
      * Call this when a view loses focus.
      * @hide
      */
+    @UnsupportedAppUsage
     public void focusOut(View view) {
         synchronized (mH) {
             if (DEBUG) Log.v(TAG, "focusOut: view=" + dumpViewInfo(view)
@@ -1480,6 +1503,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public void checkFocus() {
         if (checkFocusNoStartInput(false)) {
             startInputInner(InputMethodClient.START_INPUT_REASON_CHECK_FOCUS, null, 0, 0, 0);
@@ -1527,6 +1551,7 @@
         return true;
     }
 
+    @UnsupportedAppUsage
     void closeCurrentInput() {
         try {
             mService.hideSoftInput(mClient, HIDE_NOT_ALWAYS, null);
@@ -1594,6 +1619,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public void onPreWindowFocus(View rootView, boolean hasWindowFocus) {
         synchronized (mH) {
             if (rootView == null) {
@@ -1697,6 +1723,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isCursorAnchorInfoEnabled() {
         synchronized (mH) {
             final boolean isImmediate = (mRequestUpdateCursorAnchorInfoMonitorMode &
@@ -1712,6 +1739,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void setUpdateCursorAnchorInfoMode(int flags) {
         synchronized (mH) {
             mRequestUpdateCursorAnchorInfoMonitorMode = flags;
@@ -2221,6 +2249,7 @@
      * Notify that a user took some action with this input method.
      * @hide
      */
+    @UnsupportedAppUsage
     public void notifyUserAction() {
         synchronized (mH) {
             if (mLastSentUserActionNotificationSequenceNumber ==
@@ -2289,6 +2318,7 @@
      * @return The current height of the input method window.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getInputMethodWindowVisibleHeight() {
         synchronized (mH) {
             try {
diff --git a/core/java/android/view/inputmethod/InputMethodSubtypeArray.java b/core/java/android/view/inputmethod/InputMethodSubtypeArray.java
index 6a748ce..8dd0dcd 100644
--- a/core/java/android/view/inputmethod/InputMethodSubtypeArray.java
+++ b/core/java/android/view/inputmethod/InputMethodSubtypeArray.java
@@ -16,6 +16,7 @@
 
 package android.view.inputmethod;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.util.Slog;
 
@@ -49,6 +50,7 @@
      * @param subtypes A list of {@link InputMethodSubtype} from which
      * {@link InputMethodSubtypeArray} will be created.
      */
+    @UnsupportedAppUsage
     public InputMethodSubtypeArray(final List<InputMethodSubtype> subtypes) {
         if (subtypes == null) {
             mCount = 0;
diff --git a/core/java/android/view/textclassifier/TextClassificationManager.java b/core/java/android/view/textclassifier/TextClassificationManager.java
index dc1194b..c6c66c4 100644
--- a/core/java/android/view/textclassifier/TextClassificationManager.java
+++ b/core/java/android/view/textclassifier/TextClassificationManager.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.database.ContentObserver;
 import android.os.ServiceManager;
@@ -107,6 +108,7 @@
      * @see TextClassifier#SYSTEM
      * @hide
      */
+    @UnsupportedAppUsage
     public TextClassifier getTextClassifier(@TextClassifierType int type) {
         switch (type) {
             case TextClassifier.LOCAL:
diff --git a/core/java/android/view/textclassifier/TextClassifier.java b/core/java/android/view/textclassifier/TextClassifier.java
index 24f531d..b9a6d97 100644
--- a/core/java/android/view/textclassifier/TextClassifier.java
+++ b/core/java/android/view/textclassifier/TextClassifier.java
@@ -21,6 +21,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.StringDef;
+import android.annotation.UnsupportedAppUsage;
 import android.annotation.WorkerThread;
 import android.os.LocaleList;
 import android.os.Looper;
@@ -212,6 +213,7 @@
 
     // TODO: Remove once apps can build against the latest sdk.
     /** @hide */
+    @UnsupportedAppUsage
     default TextSelection suggestSelection(
             @NonNull CharSequence text,
             @IntRange(from = 0) int selectionStartIndex,
@@ -291,6 +293,7 @@
 
     // TODO: Remove once apps can build against the latest sdk.
     /** @hide */
+    @UnsupportedAppUsage
     default TextClassification classifyText(
             @NonNull CharSequence text,
             @IntRange(from = 0) int startIndex,
@@ -332,6 +335,7 @@
 
     // TODO: Remove once apps can build against the latest sdk.
     /** @hide */
+    @UnsupportedAppUsage
     default TextLinks generateLinks(
             @NonNull CharSequence text, @Nullable TextLinks.Options options) {
         if (options == null) {
diff --git a/core/java/android/view/textclassifier/TextLinks.java b/core/java/android/view/textclassifier/TextLinks.java
index e7faf14..1cac3ed 100644
--- a/core/java/android/view/textclassifier/TextLinks.java
+++ b/core/java/android/view/textclassifier/TextLinks.java
@@ -20,6 +20,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.os.LocaleList;
 import android.os.Parcel;
@@ -652,6 +653,7 @@
 
         private String mCallingPackageName;
 
+        @UnsupportedAppUsage
         public Options() {
             this(null, null);
         }
diff --git a/core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.java b/core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.java
index f7d75cd..b530ddf 100644
--- a/core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.java
+++ b/core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.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.metrics.LogMaker;
 import android.util.Log;
@@ -99,6 +100,7 @@
     private boolean mSmartSelectionTriggered;
     private String mModelName;
 
+    @UnsupportedAppUsage
     public SmartSelectionEventTracker(@NonNull Context context, @WidgetType int widgetType) {
         mWidgetType = widgetType;
         mWidgetVersion = null;
@@ -117,6 +119,7 @@
      *
      * @param event the selection event
      */
+    @UnsupportedAppUsage
     public void logEvent(@NonNull SelectionEvent event) {
         Preconditions.checkNotNull(event);
 
@@ -440,6 +443,7 @@
          *
          * @param start  the word index of the selected word
          */
+        @UnsupportedAppUsage
         public static SelectionEvent selectionStarted(int start) {
             return new SelectionEvent(
                     start, start + 1, EventType.SELECTION_STARTED,
@@ -453,6 +457,7 @@
          * @param start  the start word (inclusive) index of the selection
          * @param end  the end word (exclusive) index of the selection
          */
+        @UnsupportedAppUsage
         public static SelectionEvent selectionModified(int start, int end) {
             return new SelectionEvent(
                     start, end, EventType.SELECTION_MODIFIED,
@@ -468,6 +473,7 @@
          * @param classification  the TextClassification object returned by the TextClassifier that
          *      classified the selected text
          */
+        @UnsupportedAppUsage
         public static SelectionEvent selectionModified(
                 int start, int end, @NonNull TextClassification classification) {
             final String entityType = classification.getEntityCount() > 0
@@ -487,6 +493,7 @@
          * @param selection  the TextSelection object returned by the TextClassifier for the
          *      specified selection
          */
+        @UnsupportedAppUsage
         public static SelectionEvent selectionModified(
                 int start, int end, @NonNull TextSelection selection) {
             final boolean smartSelection = getSourceClassifier(selection.getId())
@@ -515,6 +522,7 @@
          * @param end  the end word (exclusive) index of the selection
          * @param actionType  the action that was performed on the selection
          */
+        @UnsupportedAppUsage
         public static SelectionEvent selectionAction(
                 int start, int end, @ActionType int actionType) {
             return new SelectionEvent(
@@ -532,6 +540,7 @@
          * @param classification  the TextClassification object returned by the TextClassifier that
          *      classified the selected text
          */
+        @UnsupportedAppUsage
         public static SelectionEvent selectionAction(
                 int start, int end, @ActionType int actionType,
                 @NonNull TextClassification classification) {
diff --git a/core/java/android/view/textservice/SpellCheckerSession.java b/core/java/android/view/textservice/SpellCheckerSession.java
index 886f5c8..9733701 100644
--- a/core/java/android/view/textservice/SpellCheckerSession.java
+++ b/core/java/android/view/textservice/SpellCheckerSession.java
@@ -16,6 +16,7 @@
 
 package android.view.textservice;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Binder;
 import android.os.Handler;
 import android.os.HandlerThread;
@@ -97,6 +98,7 @@
     private final InternalListener mInternalListener;
     private final ITextServicesManager mTextServicesManager;
     private final SpellCheckerInfo mSpellCheckerInfo;
+    @UnsupportedAppUsage
     private final SpellCheckerSessionListener mSpellCheckerSessionListener;
     private final SpellCheckerSessionListenerImpl mSpellCheckerSessionListenerImpl;
 
diff --git a/core/java/android/view/textservice/TextServicesManager.java b/core/java/android/view/textservice/TextServicesManager.java
index 21ec42b..00a5a71 100644
--- a/core/java/android/view/textservice/TextServicesManager.java
+++ b/core/java/android/view/textservice/TextServicesManager.java
@@ -17,6 +17,7 @@
 package android.view.textservice;
 
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.os.Bundle;
 import android.os.RemoteException;
@@ -85,6 +86,7 @@
      * Retrieve the global TextServicesManager instance, creating it if it doesn't already exist.
      * @hide
      */
+    @UnsupportedAppUsage
     public static TextServicesManager getInstance() {
         synchronized (TextServicesManager.class) {
             if (sInstance == null) {
@@ -192,6 +194,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public SpellCheckerInfo[] getEnabledSpellCheckers() {
         try {
             final SpellCheckerInfo[] retval = mService.getEnabledSpellCheckers();
@@ -207,6 +210,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public SpellCheckerInfo getCurrentSpellChecker() {
         try {
             // Passing null as a locale for ICS
@@ -219,6 +223,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public SpellCheckerSubtype getCurrentSpellCheckerSubtype(
             boolean allowImplicitlySelectedSubtype) {
         try {
@@ -232,6 +237,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isSpellCheckerEnabled() {
         try {
             return mService.isSpellCheckerEnabled();
diff --git a/core/java/android/webkit/CacheManager.java b/core/java/android/webkit/CacheManager.java
index fc76029..563e00e 100644
--- a/core/java/android/webkit/CacheManager.java
+++ b/core/java/android/webkit/CacheManager.java
@@ -17,6 +17,7 @@
 package android.webkit;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 
 import java.io.File;
 import java.io.IOException;
@@ -50,22 +51,37 @@
     @Deprecated
     public static class CacheResult {
         // these fields are saved to the database
+        @UnsupportedAppUsage
         int httpStatusCode;
+        @UnsupportedAppUsage
         long contentLength;
+        @UnsupportedAppUsage
         long expires;
+        @UnsupportedAppUsage
         String expiresString;
+        @UnsupportedAppUsage
         String localPath;
+        @UnsupportedAppUsage
         String lastModified;
+        @UnsupportedAppUsage
         String etag;
+        @UnsupportedAppUsage
         String mimeType;
+        @UnsupportedAppUsage
         String location;
+        @UnsupportedAppUsage
         String encoding;
+        @UnsupportedAppUsage
         String contentdisposition;
+        @UnsupportedAppUsage
         String crossDomain;
 
         // these fields are NOT saved to the database
+        @UnsupportedAppUsage
         InputStream inStream;
+        @UnsupportedAppUsage
         OutputStream outStream;
+        @UnsupportedAppUsage
         File outFile;
 
         /**
@@ -73,6 +89,7 @@
          *
          * @return the status code of this cache entry
          */
+        @UnsupportedAppUsage
         public int getHttpStatusCode() {
             return httpStatusCode;
         }
@@ -82,6 +99,7 @@
          *
          * @return the content length of this cache entry
          */
+        @UnsupportedAppUsage
         public long getContentLength() {
             return contentLength;
         }
@@ -93,6 +111,7 @@
          *
          * @return the path of the file used to store this cache entry
          */
+        @UnsupportedAppUsage
         public String getLocalPath() {
             return localPath;
         }
@@ -103,6 +122,7 @@
          *
          * @return the expiry date of this cache entry
          */
+        @UnsupportedAppUsage
         public long getExpires() {
             return expires;
         }
@@ -113,6 +133,7 @@
          * @return the expiry date of this cache entry
          *
          */
+        @UnsupportedAppUsage
         public String getExpiresString() {
             return expiresString;
         }
@@ -123,6 +144,7 @@
          *
          * @return the date at which this cache entry was last modified
          */
+        @UnsupportedAppUsage
         public String getLastModified() {
             return lastModified;
         }
@@ -132,6 +154,7 @@
          *
          * @return the entity tag of this cache entry
          */
+        @UnsupportedAppUsage
         public String getETag() {
             return etag;
         }
@@ -141,6 +164,7 @@
          *
          * @return the MIME type of this cache entry
          */
+        @UnsupportedAppUsage
         public String getMimeType() {
             return mimeType;
         }
@@ -151,6 +175,7 @@
          *
          * @return the HTTP 'Location' header for this cache entry
          */
+        @UnsupportedAppUsage
         public String getLocation() {
             return location;
         }
@@ -160,6 +185,7 @@
          *
          * @return the encoding of this cache entry
          */
+        @UnsupportedAppUsage
         public String getEncoding() {
             return encoding;
         }
@@ -171,6 +197,7 @@
          * @return the HTTP 'Content-Disposition' header for this cache entry
          *
          */
+        @UnsupportedAppUsage
         public String getContentDisposition() {
             return contentdisposition;
         }
@@ -182,6 +209,7 @@
          *
          * @return an input stream to the content of this cache entry
          */
+        @UnsupportedAppUsage
         public InputStream getInputStream() {
             return inStream;
         }
@@ -194,6 +222,7 @@
          * @return an output stream to the content of this cache entry
          */
         // Note that this is always null for objects returned by getCacheFile()!
+        @UnsupportedAppUsage
         public OutputStream getOutputStream() {
             return outStream;
         }
@@ -204,6 +233,7 @@
          *
          * @param stream an input stream to the content of this cache entry
          */
+        @UnsupportedAppUsage
         public void setInputStream(InputStream stream) {
             this.inStream = stream;
         }
@@ -213,6 +243,7 @@
          *
          * @param encoding the encoding of this cache entry
          */
+        @UnsupportedAppUsage
         public void setEncoding(String encoding) {
             this.encoding = encoding;
         }
@@ -235,6 +266,7 @@
      */
     @Deprecated
     @Nullable
+    @UnsupportedAppUsage
     public static File getCacheFileBaseDir() {
         return null;
     }
@@ -246,6 +278,7 @@
      * @deprecated This method no longer has any effect and always returns {@code false}.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static boolean cacheDisabled() {
         return false;
     }
@@ -259,6 +292,7 @@
      * @deprecated This method no longer has any effect and always returns {@code false}.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static boolean startCacheTransaction() {
         return false;
     }
@@ -271,6 +305,7 @@
      * @deprecated This method no longer has any effect and always returns {@code false}.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static boolean endCacheTransaction() {
         return false;
     }
@@ -290,6 +325,7 @@
      */
     @Deprecated
     @Nullable
+    @UnsupportedAppUsage
     public static CacheResult getCacheFile(String url,
             Map<String, String> headers) {
         return null;
@@ -304,10 +340,12 @@
      * @deprecated Access to the HTTP cache will be removed in a future release.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static void saveCacheFile(String url, CacheResult cacheResult) {
         saveCacheFile(url, 0, cacheResult);
     }
 
+    @UnsupportedAppUsage
     static void saveCacheFile(String url, long postIdentifier,
             CacheResult cacheRet) {
         try {
diff --git a/core/java/android/webkit/ConsoleMessage.java b/core/java/android/webkit/ConsoleMessage.java
index a9c351a..6051956 100644
--- a/core/java/android/webkit/ConsoleMessage.java
+++ b/core/java/android/webkit/ConsoleMessage.java
@@ -16,6 +16,8 @@
 
 package android.webkit;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * Public class representing a JavaScript console message from WebCore. This could be a issued
  * by a call to one of the <code>console</code> logging functions (e.g.
@@ -34,9 +36,13 @@
         DEBUG
     };
 
+    @UnsupportedAppUsage
     private MessageLevel mLevel;
+    @UnsupportedAppUsage
     private String mMessage;
+    @UnsupportedAppUsage
     private String mSourceId;
+    @UnsupportedAppUsage
     private int mLineNumber;
 
     public ConsoleMessage(String message, String sourceId, int lineNumber, MessageLevel msgLevel) {
diff --git a/core/java/android/webkit/JsResult.java b/core/java/android/webkit/JsResult.java
index d36ab418..5bf6aab 100644
--- a/core/java/android/webkit/JsResult.java
+++ b/core/java/android/webkit/JsResult.java
@@ -17,6 +17,7 @@
 package android.webkit;
 
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 
 /**
  * An instance of this class is passed as a parameter in various {@link WebChromeClient} action
@@ -34,6 +35,7 @@
         public void onJsResultComplete(JsResult result);
     }
     // This is the caller of the prompt and is the object that is waiting.
+    @UnsupportedAppUsage
     private final ResultReceiver mReceiver;
     // This is a basic result of a confirm or prompt dialog.
     private boolean mResult;
diff --git a/core/java/android/webkit/PluginData.java b/core/java/android/webkit/PluginData.java
index 88fc9b7..8aeeb1c 100644
--- a/core/java/android/webkit/PluginData.java
+++ b/core/java/android/webkit/PluginData.java
@@ -16,6 +16,7 @@
 
 package android.webkit;
 
+import android.annotation.UnsupportedAppUsage;
 import java.io.InputStream;
 import java.util.Map;
 
@@ -69,6 +70,7 @@
      * deprecated, so is this class.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public PluginData(
             InputStream stream,
             long length,
@@ -90,6 +92,7 @@
      * deprecated, so is this class.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public InputStream getInputStream() {
         return mStream;
     }
@@ -104,6 +107,7 @@
      * deprecated, so is this class.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public long getContentLength() {
         return mContentLength;
     }
@@ -121,6 +125,7 @@
      * deprecated, so is this class.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public Map<String, String[]> getHeaders() {
         return mHeaders;
     }
@@ -135,6 +140,7 @@
      * deprecated, so is this class.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public int getStatusCode() {
         return mStatusCode;
     }
diff --git a/core/java/android/webkit/URLUtil.java b/core/java/android/webkit/URLUtil.java
index ed122a6..5d704cb0 100644
--- a/core/java/android/webkit/URLUtil.java
+++ b/core/java/android/webkit/URLUtil.java
@@ -17,6 +17,7 @@
 package android.webkit;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.net.ParseException;
 import android.net.Uri;
 import android.net.WebAddress;
@@ -139,6 +140,7 @@
     /**
      * @return {@code true} if the url is correctly URL encoded
      */
+    @UnsupportedAppUsage
     static boolean verifyURLEncoding(String url) {
         int count = url.length();
         if (count == 0) {
@@ -181,6 +183,7 @@
      * @return {@code true} if the url is a resource file.
      * @hide
      */
+    @UnsupportedAppUsage
     public static boolean isResourceUrl(String url) {
         return (null != url) && url.startsWith(RESOURCE_BASE);
     }
@@ -398,6 +401,7 @@
      * Unfortunately some servers do not quote the value so to maintain
      * consistent behaviour with other browsers, we allow unquoted values too.
      */
+    @UnsupportedAppUsage
     static String parseContentDisposition(String contentDisposition) {
         try {
             Matcher m = CONTENT_DISPOSITION_PATTERN.matcher(contentDisposition);
diff --git a/core/java/android/webkit/UrlInterceptHandler.java b/core/java/android/webkit/UrlInterceptHandler.java
index 0a6e51f..f23aae6b 100644
--- a/core/java/android/webkit/UrlInterceptHandler.java
+++ b/core/java/android/webkit/UrlInterceptHandler.java
@@ -17,6 +17,7 @@
 package android.webkit;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.webkit.CacheManager.CacheResult;
 import android.webkit.PluginData;
 
@@ -44,6 +45,7 @@
      */
     @Deprecated
     @Nullable
+    @UnsupportedAppUsage
     CacheResult service(String url, @Nullable Map<String, String> headers);
 
     /**
@@ -60,5 +62,6 @@
      */
     @Deprecated
     @Nullable
+    @UnsupportedAppUsage
     PluginData getPluginData(String url, @Nullable Map<String, String> headers);
 }
diff --git a/core/java/android/webkit/UrlInterceptRegistry.java b/core/java/android/webkit/UrlInterceptRegistry.java
index 700d6d9..eeb28d7 100644
--- a/core/java/android/webkit/UrlInterceptRegistry.java
+++ b/core/java/android/webkit/UrlInterceptRegistry.java
@@ -17,6 +17,7 @@
 package android.webkit;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.webkit.CacheManager.CacheResult;
 import android.webkit.PluginData;
 import android.webkit.UrlInterceptHandler;
@@ -55,6 +56,7 @@
      * deprecated, so is this class.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static synchronized void setUrlInterceptDisabled(boolean disabled) {
         mDisabled = disabled;
     }
@@ -85,6 +87,7 @@
      * deprecated, so is this class.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static synchronized boolean registerHandler(
             UrlInterceptHandler handler) {
         if (!getHandlers().contains(handler)) {
@@ -106,6 +109,7 @@
      * deprecated, so is this class.
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static synchronized boolean unregisterHandler(
             UrlInterceptHandler handler) {
         return getHandlers().remove(handler);
@@ -152,6 +156,7 @@
      */
     @Deprecated
     @Nullable
+    @UnsupportedAppUsage
     public static synchronized PluginData getPluginData(
             String url, Map<String, String> headers) {
         if (urlInterceptDisabled()) {
diff --git a/core/java/android/webkit/WebResourceResponse.java b/core/java/android/webkit/WebResourceResponse.java
index 7bc7b07..aae3056 100644
--- a/core/java/android/webkit/WebResourceResponse.java
+++ b/core/java/android/webkit/WebResourceResponse.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 
 import java.io.InputStream;
 import java.io.StringBufferInputStream;
@@ -29,9 +30,11 @@
  * response when the WebView requests a particular resource.
  */
 public class WebResourceResponse {
+    @UnsupportedAppUsage
     private boolean mImmutable;
     private String mMimeType;
     private String mEncoding;
+    @UnsupportedAppUsage
     private int mStatusCode;
     private String mReasonPhrase;
     private Map<String, String> mResponseHeaders;
diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java
index cba11a8..66e079e 100644
--- a/core/java/android/webkit/WebSettings.java
+++ b/core/java/android/webkit/WebSettings.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 
 import java.lang.annotation.ElementType;
@@ -92,6 +93,7 @@
         TextSize(int size) {
             value = size;
         }
+        @UnsupportedAppUsage
         int value;
     }
 
@@ -579,6 +581,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public void setUseDoubleTree(boolean use) {
         // Specified to do nothing, so no need for derived classes to override.
     }
@@ -591,6 +594,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public boolean getUseDoubleTree() {
         // Returns false unconditionally, so no need for derived classes to override.
         return false;
@@ -1002,6 +1006,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public void setPluginsPath(String pluginsPath) {
         // Specified to do nothing, so no need for derived classes to override.
     }
@@ -1197,6 +1202,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR2}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public String getPluginsPath() {
         // Unconditionally returns empty string, so no need for derived classes to override.
         return "";
diff --git a/core/java/android/webkit/WebSyncManager.java b/core/java/android/webkit/WebSyncManager.java
index 03b94e7..3fa1b01 100644
--- a/core/java/android/webkit/WebSyncManager.java
+++ b/core/java/android/webkit/WebSyncManager.java
@@ -16,6 +16,7 @@
 
 package android.webkit;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 
 /**
@@ -65,5 +66,6 @@
     protected void onSyncInit() {
     }
 
+    @UnsupportedAppUsage
     abstract void syncFromRamToFlash();
 }
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index d7f1d6e..2c236a6 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -20,6 +20,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.annotation.Widget;
 import android.content.Context;
 import android.content.Intent;
@@ -363,6 +364,7 @@
     // Throwing an exception for incorrect thread usage if the
     // build target is JB MR2 or newer. Defaults to false, and is
     // set in the WebView constructor.
+    @UnsupportedAppUsage
     private static volatile boolean sEnforceThreadChecking = false;
 
     /**
@@ -645,6 +647,7 @@
      * @hide This is used internally by dumprendertree, as it requires the JavaScript interfaces to
      *       be added synchronously, before a subsequent loadUrl call takes effect.
      */
+    @UnsupportedAppUsage
     protected WebView(Context context, AttributeSet attrs, int defStyleAttr,
             Map<String, Object> javaScriptInterfaces, boolean privateBrowsing) {
         this(context, attrs, defStyleAttr, 0, javaScriptInterfaces, privateBrowsing);
@@ -654,6 +657,7 @@
      * @hide
      */
     @SuppressWarnings("deprecation")  // for super() call into deprecated base class constructor.
+    @UnsupportedAppUsage
     protected WebView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes,
             Map<String, Object> javaScriptInterfaces, boolean privateBrowsing) {
         super(context, attrs, defStyleAttr, defStyleRes);
@@ -731,6 +735,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public int getVisibleTitleHeight() {
         checkThread();
         return mProvider.getVisibleTitleHeight();
@@ -835,6 +840,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static void enablePlatformNotifications() {
         // noop
     }
@@ -847,6 +853,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static void disablePlatformNotifications() {
         // noop
     }
@@ -856,6 +863,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void freeMemoryForTests() {
         getFactory().getStatics().freeMemoryForTests();
     }
@@ -900,6 +908,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public boolean savePicture(Bundle b, final File dest) {
         checkThread();
         return mProvider.savePicture(b, dest);
@@ -917,6 +926,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public boolean restorePicture(Bundle b, File src) {
         checkThread();
         return mProvider.restorePicture(b, src);
@@ -1534,6 +1544,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public String getTouchIconUrl() {
         return mProvider.getTouchIconUrl();
     }
@@ -1566,6 +1577,7 @@
      * @hide
      */
     @ViewDebug.ExportedProperty(category = "webview")
+    @UnsupportedAppUsage
     public int getContentWidth() {
         return mProvider.getContentWidth();
     }
@@ -1616,6 +1628,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isPaused() {
         return mProvider.isPaused();
     }
@@ -2126,6 +2139,7 @@
      * @hide
      */
     @Deprecated
+    @UnsupportedAppUsage
     public static synchronized PluginList getPluginList() {
         return new PluginList();
     }
@@ -2193,6 +2207,7 @@
      * @hide
      */
     @Deprecated
+    @UnsupportedAppUsage
     public void refreshPlugins(boolean reloadOpenPages) {
         checkThread();
     }
@@ -2205,6 +2220,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public void emulateShiftHeld() {
         checkThread();
     }
@@ -2265,6 +2281,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public View getZoomControls() {
         checkThread();
         return mProvider.getZoomControls();
@@ -2340,6 +2357,7 @@
      * @hide Since API level {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1}
      */
     @Deprecated
+    @UnsupportedAppUsage
     public void debugDump() {
         checkThread();
     }
@@ -2625,6 +2643,7 @@
     }
 
     // Only used by android.webkit.FindActionModeCallback.
+    @UnsupportedAppUsage
     void notifyFindDialogDismissed() {
         checkThread();
         mProvider.notifyFindDialogDismissed();
@@ -2634,6 +2653,7 @@
     // Private internal stuff
     //-------------------------------------------------------------------------
 
+    @UnsupportedAppUsage
     private WebViewProvider mProvider;
 
     /**
@@ -2677,12 +2697,15 @@
         }
     }
 
+    @UnsupportedAppUsage
     private static WebViewFactoryProvider getFactory() {
         return WebViewFactory.getProvider();
     }
 
+    @UnsupportedAppUsage
     private final Looper mWebViewThread = Looper.myLooper();
 
+    @UnsupportedAppUsage
     private void checkThread() {
         // Ignore mWebViewThread == null because this can be called during in the super class
         // constructor, before this class's own constructor has even started.
@@ -2963,6 +2986,7 @@
 
     /** @hide */
     @Override
+    @UnsupportedAppUsage
     protected void onDrawVerticalScrollBar(Canvas canvas, Drawable scrollBar,
             int l, int t, int r, int b) {
         mProvider.getViewDelegate().onDrawVerticalScrollBar(canvas, scrollBar, l, t, r, b);
@@ -3034,6 +3058,7 @@
 
     /** @hide */
     @Override
+    @UnsupportedAppUsage
     protected boolean setFrame(int left, int top, int right, int bottom) {
         return mProvider.getViewDelegate().setFrame(left, top, right, bottom);
     }
diff --git a/core/java/android/webkit/WebViewDelegate.java b/core/java/android/webkit/WebViewDelegate.java
index f067091..ba66571 100644
--- a/core/java/android/webkit/WebViewDelegate.java
+++ b/core/java/android/webkit/WebViewDelegate.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.app.Application;
 import android.app.ResourcesManager;
@@ -45,6 +46,7 @@
 @SystemApi
 public final class WebViewDelegate {
 
+    @UnsupportedAppUsage
     /* package */ WebViewDelegate() { }
 
     /**
diff --git a/core/java/android/webkit/WebViewFactory.java b/core/java/android/webkit/WebViewFactory.java
index e0ccda9..e9a9e8f 100644
--- a/core/java/android/webkit/WebViewFactory.java
+++ b/core/java/android/webkit/WebViewFactory.java
@@ -17,6 +17,7 @@
 package android.webkit;
 
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityManager;
 import android.app.AppGlobals;
 import android.app.Application;
@@ -59,8 +60,10 @@
 
     // Cache the factory both for efficiency, and ensure any one process gets all webviews from the
     // same provider.
+    @UnsupportedAppUsage
     private static WebViewFactoryProvider sProviderInstance;
     private static final Object sProviderLock = new Object();
+    @UnsupportedAppUsage
     private static PackageInfo sPackageInfo;
     private static Boolean sWebViewSupported;
     private static boolean sWebViewDisabled;
@@ -222,6 +225,7 @@
         return loadNativeRet;
     }
 
+    @UnsupportedAppUsage
     static WebViewFactoryProvider getProvider() {
         synchronized (sProviderLock) {
             // For now the main purpose of this function (and the factory abstraction) is to keep
@@ -359,6 +363,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private static Context getWebViewContextAndSetProvider() throws MissingWebViewPackageException {
         Application initialApplication = AppGlobals.getInitialApplication();
         try {
@@ -428,6 +433,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private static Class<WebViewFactoryProvider> getProviderClass() {
         Context webViewContext = null;
         Application initialApplication = AppGlobals.getInitialApplication();
@@ -509,6 +515,7 @@
     private static String WEBVIEW_UPDATE_SERVICE_NAME = "webviewupdate";
 
     /** @hide */
+    @UnsupportedAppUsage
     public static IWebViewUpdateService getUpdateService() {
         if (isWebViewSupported()) {
             return getUpdateServiceUnchecked();
diff --git a/core/java/android/webkit/WebViewProviderInfo.java b/core/java/android/webkit/WebViewProviderInfo.java
index b0e9f01..1704757 100644
--- a/core/java/android/webkit/WebViewProviderInfo.java
+++ b/core/java/android/webkit/WebViewProviderInfo.java
@@ -17,6 +17,7 @@
 package android.webkit;
 
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.pm.Signature;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -56,6 +57,7 @@
             }
         };
 
+    @UnsupportedAppUsage
     private WebViewProviderInfo(Parcel in) {
         packageName = in.readString();
         description = in.readString();
diff --git a/core/java/android/webkit/WebViewProviderResponse.java b/core/java/android/webkit/WebViewProviderResponse.java
index c0aeb59..0edcb6f 100644
--- a/core/java/android/webkit/WebViewProviderResponse.java
+++ b/core/java/android/webkit/WebViewProviderResponse.java
@@ -16,6 +16,7 @@
 
 package android.webkit;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.pm.PackageInfo;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -56,6 +57,7 @@
         out.writeInt(status);
     }
 
+    @UnsupportedAppUsage
     public final PackageInfo packageInfo;
     public final int status;
 }
diff --git a/core/java/android/webkit/WebViewUpdateService.java b/core/java/android/webkit/WebViewUpdateService.java
index 629891c..12d3221 100644
--- a/core/java/android/webkit/WebViewUpdateService.java
+++ b/core/java/android/webkit/WebViewUpdateService.java
@@ -17,6 +17,7 @@
 package android.webkit;
 
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.os.RemoteException;
 
 /**
@@ -25,6 +26,7 @@
 @SystemApi
 public final class WebViewUpdateService {
 
+    @UnsupportedAppUsage
     private WebViewUpdateService () {}
 
     /**
diff --git a/core/java/android/widget/MediaController.java b/core/java/android/widget/MediaController.java
index 8e04f1c..a418fad 100644
--- a/core/java/android/widget/MediaController.java
+++ b/core/java/android/widget/MediaController.java
@@ -77,7 +77,8 @@
     private View mDecor;
     private WindowManager.LayoutParams mDecorLayoutParams;
     private ProgressBar mProgress;
-    private TextView mEndTime, mCurrentTime;
+    private TextView mEndTime;
+    private TextView mCurrentTime;
     private boolean mShowing;
     private boolean mDragging;
     private static final int sDefaultTimeout = 3000;
diff --git a/core/jni/com_android_internal_content_NativeLibraryHelper.cpp b/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
index cc2646c..dc04269 100644
--- a/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
+++ b/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
@@ -27,6 +27,7 @@
 
 #include <zlib.h>
 
+#include <errno.h>
 #include <fcntl.h>
 #include <stdlib.h>
 #include <string.h>
@@ -567,7 +568,14 @@
         return 0;
     }
 
-    ZipFileRO* zipFile = ZipFileRO::openFd(fd, debugFilePath.c_str());
+    int dupedFd = dup(fd);
+    if (dupedFd == -1) {
+        jniThrowExceptionFmt(env, "java/lang/IllegalArgumentException",
+                             "Failed to dup FileDescriptor: %s", strerror(errno));
+        return 0;
+    }
+
+    ZipFileRO* zipFile = ZipFileRO::openFd(dupedFd, debugFilePath.c_str());
 
     return reinterpret_cast<jlong>(zipFile);
 }
diff --git a/media/java/android/media/AmrInputStream.java b/media/java/android/media/AmrInputStream.java
index efaf224..5088798 100644
--- a/media/java/android/media/AmrInputStream.java
+++ b/media/java/android/media/AmrInputStream.java
@@ -20,6 +20,7 @@
 import java.io.IOException;
 import java.nio.ByteBuffer;
 
+import android.annotation.UnsupportedAppUsage;
 import android.media.MediaCodec.BufferInfo;
 import android.util.Log;
 
@@ -53,6 +54,7 @@
     /**
      * DO NOT USE - use MediaCodec instead
      */
+    @UnsupportedAppUsage
     public AmrInputStream(InputStream inputStream) {
         Log.w(TAG, "@@@@ AmrInputStream is not a public API @@@@");
         mInputStream = inputStream;
diff --git a/media/java/android/media/AsyncPlayer.java b/media/java/android/media/AsyncPlayer.java
index c1a178a..8ac2655 100644
--- a/media/java/android/media/AsyncPlayer.java
+++ b/media/java/android/media/AsyncPlayer.java
@@ -17,6 +17,7 @@
 package android.media;
 
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.media.PlayerBase;
 import android.net.Uri;
@@ -248,6 +249,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void setUsesWakeLock(Context context) {
         if (mWakeLock != null || mThread != null) {
             // if either of these has happened, we've already played something.
diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java
index 9152ff2..e8bc622 100644
--- a/media/java/android/media/AudioAttributes.java
+++ b/media/java/android/media/AudioAttributes.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -372,11 +373,16 @@
     private final static int FLAG_ALL_PUBLIC = FLAG_AUDIBILITY_ENFORCED |
             FLAG_HW_AV_SYNC | FLAG_LOW_LATENCY;
 
+    @UnsupportedAppUsage
     private int mUsage = USAGE_UNKNOWN;
+    @UnsupportedAppUsage
     private int mContentType = CONTENT_TYPE_UNKNOWN;
+    @UnsupportedAppUsage
     private int mSource = MediaRecorder.AudioSource.AUDIO_SOURCE_INVALID;
+    @UnsupportedAppUsage
     private int mFlags = 0x0;
     private HashSet<String> mTags;
+    @UnsupportedAppUsage
     private String mFormattedTags;
     private Bundle mBundle; // lazy-initialized, may be null
 
@@ -646,6 +652,7 @@
          * @param tag
          * @return the same Builder instance.
          */
+        @UnsupportedAppUsage
         public Builder addTag(String tag) {
             mTags.add(tag);
             return this;
@@ -675,6 +682,7 @@
          * @param streamType
          * @return the same Builder instance.
          */
+        @UnsupportedAppUsage
         public Builder setInternalLegacyStreamType(int streamType) {
             switch(streamType) {
                 case AudioSystem.STREAM_VOICE_CALL:
@@ -1016,6 +1024,7 @@
      * @param aa non-null AudioAttributes.
      * @return a valid stream type for volume control that matches the attributes.
      */
+    @UnsupportedAppUsage
     public static int toLegacyStreamType(@NonNull AudioAttributes aa) {
         return toVolumeStreamType(false /*fromGetVolumeControlStream*/, aa);
     }
diff --git a/media/java/android/media/AudioDevicePort.java b/media/java/android/media/AudioDevicePort.java
index aea39a3..62b18cb 100644
--- a/media/java/android/media/AudioDevicePort.java
+++ b/media/java/android/media/AudioDevicePort.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.media.AudioSystem;
 
 /**
@@ -36,6 +37,7 @@
     private final int mType;
     private final String mAddress;
 
+    @UnsupportedAppUsage
     AudioDevicePort(AudioHandle handle, String deviceName,
             int[] samplingRates, int[] channelMasks, int[] channelIndexMasks,
             int[] formats, AudioGain[] gains, int type, String address) {
@@ -50,6 +52,7 @@
     /**
      * Get the device type (e.g AudioManager.DEVICE_OUT_SPEAKER)
      */
+    @UnsupportedAppUsage
     public int type() {
         return mType;
     }
diff --git a/media/java/android/media/AudioDevicePortConfig.java b/media/java/android/media/AudioDevicePortConfig.java
index e468a53..0c647ea 100644
--- a/media/java/android/media/AudioDevicePortConfig.java
+++ b/media/java/android/media/AudioDevicePortConfig.java
@@ -16,6 +16,8 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * An AudioDevicePortConfig describes a possible configuration of an output or input device
  * (speaker, headphone, microphone ...).
@@ -26,6 +28,7 @@
  */
 
 public class AudioDevicePortConfig extends AudioPortConfig {
+    @UnsupportedAppUsage
     AudioDevicePortConfig(AudioDevicePort devicePort, int samplingRate, int channelMask,
             int format, AudioGainConfig gain) {
         super((AudioPort)devicePort, samplingRate, channelMask, format, gain);
diff --git a/media/java/android/media/AudioFormat.java b/media/java/android/media/AudioFormat.java
index e245425..b7fc2e8 100644
--- a/media/java/android/media/AudioFormat.java
+++ b/media/java/android/media/AudioFormat.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -663,6 +664,7 @@
      */
     // Update sound trigger JNI in core/jni/android_hardware_SoundTrigger.cpp when modifying this
     // constructor
+    @UnsupportedAppUsage
     private AudioFormat(int encoding, int sampleRate, int channelMask, int channelIndexMask) {
         mEncoding = encoding;
         mSampleRate = sampleRate;
@@ -685,8 +687,11 @@
     /** @hide */
     public final static int AUDIO_FORMAT_HAS_PROPERTY_CHANNEL_INDEX_MASK = 0x1 << 3;
 
+    @UnsupportedAppUsage
     private int mEncoding;
+    @UnsupportedAppUsage
     private int mSampleRate;
+    @UnsupportedAppUsage
     private int mChannelMask;
     private int mChannelIndexMask;
     private int mPropertySetMask;
diff --git a/media/java/android/media/AudioGain.java b/media/java/android/media/AudioGain.java
index 57709d5..dd129a2 100644
--- a/media/java/android/media/AudioGain.java
+++ b/media/java/android/media/AudioGain.java
@@ -16,6 +16,8 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * The AudioGain describes a gain controller. Gain controllers are exposed by
  * audio ports when the gain is configurable at this port's input or output.
@@ -69,6 +71,7 @@
 
     // The channel mask passed to the constructor is as specified in AudioFormat
     // (e.g. AudioFormat.CHANNEL_OUT_STEREO)
+    @UnsupportedAppUsage
     AudioGain(int index, int mode, int channelMask,
                         int minValue, int maxValue, int defaultValue, int stepValue,
                         int rampDurationMinMs, int rampDurationMaxMs) {
diff --git a/media/java/android/media/AudioGainConfig.java b/media/java/android/media/AudioGainConfig.java
index ea61679..f5ebef8 100644
--- a/media/java/android/media/AudioGainConfig.java
+++ b/media/java/android/media/AudioGainConfig.java
@@ -16,6 +16,8 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * The AudioGainConfig is used by APIs setting or getting values on a given gain
  * controller. It contains a valid configuration (value, channels...) for a gain controller
@@ -26,12 +28,18 @@
  */
 public class AudioGainConfig {
     AudioGain mGain;
+    @UnsupportedAppUsage
     private final int mIndex;
+    @UnsupportedAppUsage
     private final int mMode;
+    @UnsupportedAppUsage
     private final int mChannelMask;
+    @UnsupportedAppUsage
     private final int mValues[];
+    @UnsupportedAppUsage
     private final int mRampDurationMs;
 
+    @UnsupportedAppUsage
     AudioGainConfig(int index, AudioGain gain, int mode, int channelMask,
             int[] values, int rampDurationMs) {
         mIndex = index;
diff --git a/media/java/android/media/AudioHandle.java b/media/java/android/media/AudioHandle.java
index 6493dac..24f81f9 100644
--- a/media/java/android/media/AudioHandle.java
+++ b/media/java/android/media/AudioHandle.java
@@ -16,6 +16,8 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * The AudioHandle is used by the audio framework implementation to
  * uniquely identify a particular component of the routing topology
@@ -23,8 +25,10 @@
  * It is not visible or used at the API.
  */
 class AudioHandle {
+    @UnsupportedAppUsage
     private final int mId;
 
+    @UnsupportedAppUsage
     AudioHandle(int id) {
         mId = id;
     }
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index 0c38c38..bbc51ce 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -25,6 +25,7 @@
 import android.annotation.SuppressLint;
 import android.annotation.SystemApi;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.bluetooth.BluetoothDevice;
@@ -154,6 +155,7 @@
      * @see #EXTRA_PREV_VOLUME_STREAM_VALUE
      */
     @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
+    @UnsupportedAppUsage
     public static final String VOLUME_CHANGED_ACTION = "android.media.VOLUME_CHANGED_ACTION";
 
     /**
@@ -220,6 +222,7 @@
     /**
      * @hide The stream type for the volume changed intent.
      */
+    @UnsupportedAppUsage
     public static final String EXTRA_VOLUME_STREAM_TYPE = "android.media.EXTRA_VOLUME_STREAM_TYPE";
 
     /**
@@ -236,6 +239,7 @@
     /**
      * @hide The volume associated with the stream for the volume changed intent.
      */
+    @UnsupportedAppUsage
     public static final String EXTRA_VOLUME_STREAM_VALUE =
         "android.media.EXTRA_VOLUME_STREAM_VALUE";
 
@@ -342,14 +346,17 @@
     public static final int STREAM_NOTIFICATION = AudioSystem.STREAM_NOTIFICATION;
     /** @hide Used to identify the volume of audio streams for phone calls when connected
      *        to bluetooth */
+    @UnsupportedAppUsage
     public static final int STREAM_BLUETOOTH_SCO = AudioSystem.STREAM_BLUETOOTH_SCO;
     /** @hide Used to identify the volume of audio streams for enforced system sounds
      *        in certain countries (e.g camera in Japan) */
+    @UnsupportedAppUsage
     public static final int STREAM_SYSTEM_ENFORCED = AudioSystem.STREAM_SYSTEM_ENFORCED;
     /** Used to identify the volume of audio streams for DTMF Tones */
     public static final int STREAM_DTMF = AudioSystem.STREAM_DTMF;
     /** @hide Used to identify the volume of audio streams exclusively transmitted through the
      *        speaker (TTS) of the device */
+    @UnsupportedAppUsage
     public static final int STREAM_TTS = AudioSystem.STREAM_TTS;
     /** Used to identify the volume of audio streams for accessibility prompts */
     public static final int STREAM_ACCESSIBILITY = AudioSystem.STREAM_ACCESSIBILITY;
@@ -675,6 +682,7 @@
      * @hide
      * For test purposes only, will throw NPE with some methods that require a Context.
      */
+    @UnsupportedAppUsage
     public AudioManager() {
         mUseVolumeKeySounds = true;
         mUseFixedVolume = false;
@@ -683,6 +691,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public AudioManager(Context context) {
         setContext(context);
         mUseVolumeKeySounds = getContext().getResources().getBoolean(
@@ -710,6 +719,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private static IAudioService getService()
     {
         if (sService != null) {
@@ -873,6 +883,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public void setMasterMute(boolean mute, int flags) {
         final IAudioService service = getService();
         try {
@@ -907,6 +918,7 @@
      * @see #setRingerMode(int)
      * @hide
      */
+    @UnsupportedAppUsage
     public static boolean isValidRingerMode(int ringerMode) {
         if (ringerMode < 0 || ringerMode > RINGER_MODE_MAX) {
             return false;
@@ -1055,6 +1067,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public int getLastAudibleStreamVolume(int streamType) {
         final IAudioService service = getService();
         try {
@@ -1213,6 +1226,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isMasterMute() {
         final IAudioService service = getService();
         try {
@@ -1229,6 +1243,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void forceVolumeControlStream(int streamType) {
         final IAudioService service = getService();
         try {
@@ -1521,6 +1536,7 @@
      * @see #stopBluetoothSco()
      * @see #ACTION_SCO_AUDIO_STATE_UPDATED
      */
+    @UnsupportedAppUsage
     public void startBluetoothScoVirtualCall() {
         final IAudioService service = getService();
         try {
@@ -1844,6 +1860,7 @@
      *   display). Note that BT audio sinks are not considered remote devices.
      * @return true if {@link AudioManager#STREAM_MUSIC} is active on a remote device
      */
+    @UnsupportedAppUsage
     public boolean isMusicActiveRemotely() {
         return AudioSystem.isStreamActiveRemotely(STREAM_MUSIC, 0);
     }
@@ -1994,6 +2011,7 @@
     /**
      * @hide Number of sound effects
      */
+    @UnsupportedAppUsage
     public static final int NUM_SOUND_EFFECTS = 10;
 
     /**
@@ -2224,6 +2242,7 @@
      * Map to convert focus event listener IDs, as used in the AudioService audio focus stack,
      * to actual listener objects.
      */
+    @UnsupportedAppUsage
     private final ConcurrentHashMap<String, FocusRequestInfo> mAudioFocusIdListenerMap =
             new ConcurrentHashMap<String, FocusRequestInfo>();
 
@@ -2800,6 +2819,7 @@
      * @param durationHint the type of focus request. AUDIOFOCUS_GAIN_TRANSIENT is recommended so
      *    media applications resume after a call
      */
+    @UnsupportedAppUsage
     public void requestAudioFocusForCall(int streamType, int durationHint) {
         final IAudioService service = getService();
         try {
@@ -2903,6 +2923,7 @@
      * when ringing ends and the call is rejected or not answered.
      * Should match one or more calls to {@link #requestAudioFocusForCall(int, int)}.
      */
+    @UnsupportedAppUsage
     public void abandonAudioFocusForCall() {
         final IAudioService service = getService();
         try {
@@ -3572,6 +3593,7 @@
      *  agent when audio settings are restored and causes the AudioService
      *  to read and apply restored settings.
      */
+    @UnsupportedAppUsage
     public void reloadAudioSettings() {
         final IAudioService service = getService();
         try {
@@ -3610,6 +3632,7 @@
      *
      * @hide pending API Council approval
      */
+    @UnsupportedAppUsage
     public boolean isSilentMode() {
         int ringerMode = getRingerMode();
         boolean silentMode =
@@ -3631,15 +3654,19 @@
      *  such as earbuds, earphones, or in-ear monitors (IEM). Those would be handled as a
      *  {@link #DEVICE_OUT_WIRED_HEADPHONE}.
      */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_EARPIECE = AudioSystem.DEVICE_OUT_EARPIECE;
     /** @hide
      *  The audio output device code for the built-in speaker */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_SPEAKER = AudioSystem.DEVICE_OUT_SPEAKER;
     /** @hide
      * The audio output device code for a wired headset with attached microphone */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_WIRED_HEADSET = AudioSystem.DEVICE_OUT_WIRED_HEADSET;
     /** @hide
      * The audio output device code for a wired headphone without attached microphone */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_WIRED_HEADPHONE = AudioSystem.DEVICE_OUT_WIRED_HEADPHONE;
     /** @hide
      * The audio output device code for a USB headphone with attached microphone */
@@ -3651,6 +3678,7 @@
      * The audio output device code for Bluetooth SCO Headset Profile (HSP) and
      * Hands-Free Profile (HFP), for voice
      */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_BLUETOOTH_SCO_HEADSET =
             AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_HEADSET;
     /** @hide
@@ -3659,13 +3687,16 @@
             AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_CARKIT;
     /** @hide
      * The audio output device code for generic Bluetooth A2DP, for music */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_BLUETOOTH_A2DP = AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP;
     /** @hide
      * The audio output device code for Bluetooth A2DP headphones, for music */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES =
             AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES;
     /** @hide
      * The audio output device code for Bluetooth A2DP external speaker, for music */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER =
             AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER;
     /** @hide
@@ -3674,16 +3705,19 @@
     public static final int DEVICE_OUT_AUX_DIGITAL = AudioSystem.DEVICE_OUT_AUX_DIGITAL;
     /** @hide
      * The audio output device code for HDMI */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_HDMI = AudioSystem.DEVICE_OUT_HDMI;
     /** @hide
      * The audio output device code for an analog wired headset attached via a
      *  docking station
      */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_ANLG_DOCK_HEADSET = AudioSystem.DEVICE_OUT_ANLG_DOCK_HEADSET;
     /** @hide
      * The audio output device code for a digital wired headset attached via a
      *  docking station
      */
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_DGTL_DOCK_HEADSET = AudioSystem.DEVICE_OUT_DGTL_DOCK_HEADSET;
     /** @hide
      * The audio output device code for a USB audio accessory. The accessory is in USB host
@@ -3862,6 +3896,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     public int getDevicesForStream(int streamType) {
         switch (streamType) {
         case STREAM_VOICE_CALL:
@@ -3885,6 +3920,7 @@
      * @param name   device name
      * {@hide}
      */
+    @UnsupportedAppUsage
     public void setWiredDeviceConnectionState(int type, int state, String address, String name) {
         final IAudioService service = getService();
         try {
@@ -4069,6 +4105,7 @@
      * a better solution.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getOutputLatency(int streamType) {
         return AudioSystem.getOutputLatency(streamType);
     }
@@ -4140,6 +4177,7 @@
      * Only useful for volume controllers.
      * @hide
      */
+    @UnsupportedAppUsage
     public void setRingerModeInternal(int ringerMode) {
         try {
             getService().setRingerModeInternal(ringerMode, getContext().getOpPackageName());
@@ -4152,6 +4190,7 @@
      * Only useful for volume controllers.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getRingerModeInternal() {
         try {
             return getService().getRingerModeInternal();
@@ -4241,6 +4280,7 @@
      * @param ports An AudioPort ArrayList where the list will be returned.
      * @hide
      */
+    @UnsupportedAppUsage
     public static int listAudioPorts(ArrayList<AudioPort> ports) {
         return updateAudioPortCache(ports, null, null);
     }
@@ -4322,6 +4362,7 @@
      *         patch[0] contains the newly created patch
      * @hide
      */
+    @UnsupportedAppUsage
     public static int createAudioPatch(AudioPatch[] patch,
                                  AudioPortConfig[] sources,
                                  AudioPortConfig[] sinks) {
@@ -4339,6 +4380,7 @@
      *         - {@link #ERROR} if patch cannot be released for any other reason.
      * @hide
      */
+    @UnsupportedAppUsage
     public static int releaseAudioPatch(AudioPatch patch) {
         return AudioSystem.releaseAudioPatch(patch);
     }
@@ -4348,6 +4390,7 @@
      * @param patches An AudioPatch array where the list will be returned.
      * @hide
      */
+    @UnsupportedAppUsage
     public static int listAudioPatches(ArrayList<AudioPatch> patches) {
         return updateAudioPortCache(null, patches, null);
     }
@@ -4396,6 +4439,7 @@
      * Register an audio port list update listener.
      * @hide
      */
+    @UnsupportedAppUsage
     public void registerAudioPortUpdateListener(OnAudioPortUpdateListener l) {
         sAudioPortEventHandler.init();
         sAudioPortEventHandler.registerListener(l);
@@ -4405,6 +4449,7 @@
      * Unregister an audio port list update listener.
      * @hide
      */
+    @UnsupportedAppUsage
     public void unregisterAudioPortUpdateListener(OnAudioPortUpdateListener l) {
         sAudioPortEventHandler.unregisterListener(l);
     }
diff --git a/media/java/android/media/AudioMixPort.java b/media/java/android/media/AudioMixPort.java
index ba144bf..c4a5c4d 100644
--- a/media/java/android/media/AudioMixPort.java
+++ b/media/java/android/media/AudioMixPort.java
@@ -16,6 +16,8 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * The AudioMixPort is a specialized type of AudioPort
  * describing an audio mix or stream at an input or output stream of the audio
@@ -30,6 +32,7 @@
 
     private final int mIoHandle;
 
+    @UnsupportedAppUsage
     AudioMixPort(AudioHandle handle, int ioHandle, int role, String deviceName,
             int[] samplingRates, int[] channelMasks, int[] channelIndexMasks,
             int[] formats, AudioGain[] gains) {
@@ -50,6 +53,7 @@
     /**
      * Get the device type (e.g AudioManager.DEVICE_OUT_SPEAKER)
      */
+    @UnsupportedAppUsage
     public int ioHandle() {
         return mIoHandle;
     }
diff --git a/media/java/android/media/AudioMixPortConfig.java b/media/java/android/media/AudioMixPortConfig.java
index 8eb9ef46..315e46b 100644
--- a/media/java/android/media/AudioMixPortConfig.java
+++ b/media/java/android/media/AudioMixPortConfig.java
@@ -16,6 +16,8 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * An AudioMixPortConfig describes a possible configuration of an output or input mixer.
  * It is used to specify a sink or source when creating a connection with
@@ -26,6 +28,7 @@
 
 public class AudioMixPortConfig extends AudioPortConfig {
 
+    @UnsupportedAppUsage
     AudioMixPortConfig(AudioMixPort mixPort, int samplingRate, int channelMask, int format,
                 AudioGainConfig gain) {
         super((AudioPort)mixPort, samplingRate, channelMask, format, gain);
diff --git a/media/java/android/media/AudioPatch.java b/media/java/android/media/AudioPatch.java
index 6c70213..d1f8006 100644
--- a/media/java/android/media/AudioPatch.java
+++ b/media/java/android/media/AudioPatch.java
@@ -16,6 +16,8 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
+
 
 /**
  * An AudioPatch describes a connection between audio sources and audio sinks.
@@ -29,10 +31,12 @@
  */
 public class AudioPatch {
 
+    @UnsupportedAppUsage
     private final AudioHandle mHandle;
     private final AudioPortConfig[] mSources;
     private final AudioPortConfig[] mSinks;
 
+    @UnsupportedAppUsage
     AudioPatch(AudioHandle patchHandle, AudioPortConfig[] sources, AudioPortConfig[] sinks) {
         mHandle = patchHandle;
         mSources = sources;
@@ -42,6 +46,7 @@
     /**
      * Retrieve the list of sources of this audio patch.
      */
+    @UnsupportedAppUsage
     public AudioPortConfig[] sources() {
         return mSources;
     }
@@ -49,6 +54,7 @@
     /**
      * Retreive the list of sinks of this audio patch.
      */
+    @UnsupportedAppUsage
     public AudioPortConfig[] sinks() {
         return mSinks;
     }
diff --git a/media/java/android/media/AudioPort.java b/media/java/android/media/AudioPort.java
index 047db19..83eb240 100644
--- a/media/java/android/media/AudioPort.java
+++ b/media/java/android/media/AudioPort.java
@@ -16,6 +16,8 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * An audio port is a node of the audio framework or hardware that can be connected to or
  * disconnect from another audio node to create a specific audio routing configuration.
@@ -66,16 +68,21 @@
     public static final int TYPE_SESSION = 3;
 
 
+    @UnsupportedAppUsage
     AudioHandle mHandle;
+    @UnsupportedAppUsage
     protected final int mRole;
     private final String mName;
     private final int[] mSamplingRates;
     private final int[] mChannelMasks;
     private final int[] mChannelIndexMasks;
     private final int[] mFormats;
+    @UnsupportedAppUsage
     private final AudioGain[] mGains;
+    @UnsupportedAppUsage
     private AudioPortConfig mActiveConfig;
 
+    @UnsupportedAppUsage
     AudioPort(AudioHandle handle, int role, String name,
             int[] samplingRates, int[] channelMasks, int[] channelIndexMasks,
             int[] formats, AudioGain[] gains) {
@@ -97,6 +104,7 @@
     /**
      * Get the system unique device ID.
      */
+    @UnsupportedAppUsage
     public int id() {
         return mHandle.id();
     }
@@ -105,6 +113,7 @@
     /**
      * Get the audio port role
      */
+    @UnsupportedAppUsage
     public int role() {
         return mRole;
     }
diff --git a/media/java/android/media/AudioPortConfig.java b/media/java/android/media/AudioPortConfig.java
index f937cc2..45e49a7 100644
--- a/media/java/android/media/AudioPortConfig.java
+++ b/media/java/android/media/AudioPortConfig.java
@@ -16,6 +16,8 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * An AudioPortConfig contains a possible configuration of an audio port chosen
  * among all possible attributes described by an AudioPort.
@@ -30,10 +32,15 @@
  */
 
 public class AudioPortConfig {
+    @UnsupportedAppUsage
     final AudioPort mPort;
+    @UnsupportedAppUsage
     private final int mSamplingRate;
+    @UnsupportedAppUsage
     private final int mChannelMask;
+    @UnsupportedAppUsage
     private final int mFormat;
+    @UnsupportedAppUsage
     private final AudioGainConfig mGain;
 
     // mConfigMask indicates which fields in this configuration should be
@@ -43,8 +50,10 @@
     static final int CHANNEL_MASK = 0x2;
     static final int FORMAT       = 0x4;
     static final int GAIN         = 0x8;
+    @UnsupportedAppUsage
     int mConfigMask;
 
+    @UnsupportedAppUsage
     AudioPortConfig(AudioPort port, int samplingRate, int channelMask, int format,
             AudioGainConfig gain) {
         mPort = port;
@@ -58,6 +67,7 @@
     /**
      * Returns the audio port this AudioPortConfig is issued from.
      */
+    @UnsupportedAppUsage
     public AudioPort port() {
         return mPort;
     }
diff --git a/media/java/android/media/AudioPortEventHandler.java b/media/java/android/media/AudioPortEventHandler.java
index ac3904a..f9a4b1e 100644
--- a/media/java/android/media/AudioPortEventHandler.java
+++ b/media/java/android/media/AudioPortEventHandler.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.Looper;
@@ -48,6 +49,7 @@
      * Accessed by native methods: JNI Callback context.
      */
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private long mJniCallback;
 
     void init() {
@@ -170,6 +172,7 @@
     }
 
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private static void postEventFromNative(Object module_ref,
                                             int what, int arg1, int arg2, Object obj) {
         AudioPortEventHandler eventHandler =
diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java
index 54800ae..452ba0f 100644
--- a/media/java/android/media/AudioRecord.java
+++ b/media/java/android/media/AudioRecord.java
@@ -29,6 +29,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.os.Binder;
 import android.os.Handler;
@@ -157,18 +158,21 @@
      * Accessed by native methods: provides access to C++ AudioRecord object
      */
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private long mNativeRecorderInJavaObj;
 
     /**
      * Accessed by native methods: provides access to the callback data.
      */
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private long mNativeCallbackCookie;
 
     /**
      * Accessed by native methods: provides access to the JNIDeviceCallback instance.
      */
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private long mNativeDeviceCallback;
 
 
@@ -233,6 +237,7 @@
     /**
      * Looper associated with the thread that creates the AudioRecord instance
      */
+    @UnsupportedAppUsage
     private Looper mInitializationLooper = null;
     /**
      * Size of the native audio buffer.
@@ -245,6 +250,7 @@
     /**
      * AudioAttributes
      */
+    @UnsupportedAppUsage
     private AudioAttributes mAudioAttributes;
     private boolean mIsSubmixFullVolume = false;
 
@@ -1720,6 +1726,7 @@
     // Java methods called from the native side
     //--------------------
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private static void postEventFromNative(Object audiorecord_ref,
             int what, int arg1, int arg2, Object obj) {
         //logd("Event posted from the native side: event="+ what + " args="+ arg1+" "+arg2);
@@ -1746,6 +1753,7 @@
     // Native methods called from the Java side
     //--------------------
 
+    @UnsupportedAppUsage
     private native final int native_setup(Object audiorecord_this,
             Object /*AudioAttributes*/ attributes,
             int[] sampleRate, int channelMask, int channelIndexMask, int audioFormat,
@@ -1758,6 +1766,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public native final void native_release();
 
     private native final int native_start(int syncEvent, int sessionId);
diff --git a/media/java/android/media/AudioRecordingConfiguration.java b/media/java/android/media/AudioRecordingConfiguration.java
index 984c554..9ada216 100644
--- a/media/java/android/media/AudioRecordingConfiguration.java
+++ b/media/java/android/media/AudioRecordingConfiguration.java
@@ -18,6 +18,7 @@
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.util.Log;
@@ -173,6 +174,7 @@
      * <br>When called without the permission, the result is an empty string.
      * @return the package name
      */
+    @UnsupportedAppUsage
     public String getClientPackageName() { return mClientPackageName; }
 
     /**
@@ -184,6 +186,7 @@
      * <br>The result is -1 without the permission.
      * @return the user id
      */
+    @UnsupportedAppUsage
     public int getClientUid() { return mClientUid; }
 
     /**
diff --git a/media/java/android/media/AudioSystem.java b/media/java/android/media/AudioSystem.java
index 7c893d0..39f3b31 100644
--- a/media/java/android/media/AudioSystem.java
+++ b/media/java/android/media/AudioSystem.java
@@ -17,6 +17,7 @@
 package android.media;
 
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.media.audiopolicy.AudioMix;
@@ -59,6 +60,7 @@
     public static final int STREAM_BLUETOOTH_SCO = 6;
     /** Used to identify the volume of audio streams for enforced system sounds in certain
      * countries (e.g camera in Japan) */
+    @UnsupportedAppUsage
     public static final int STREAM_SYSTEM_ENFORCED = 7;
     /** Used to identify the volume of audio streams for DTMF tones */
     public static final int STREAM_DTMF = 8;
@@ -74,6 +76,7 @@
 
     // Expose only the getter method publicly so we can change it in the future
     private static final int NUM_STREAM_TYPES = 11;
+    @UnsupportedAppUsage
     public static final int getNumStreamTypes() { return NUM_STREAM_TYPES; }
 
     public static final String[] STREAM_NAMES = new String[] {
@@ -97,6 +100,7 @@
      *           <var>false</var> to turn mute off
      * @return command completion status see AUDIO_STATUS_OK, see AUDIO_STATUS_ERROR
      */
+    @UnsupportedAppUsage
     public static native int muteMicrophone(boolean on);
 
     /*
@@ -104,6 +108,7 @@
      *
      * @return true if microphone is muted, false if it's not
      */
+    @UnsupportedAppUsage
     public static native boolean isMicrophoneMuted();
 
     /* modes for setPhoneState, must match AudioSystem.h audio_mode */
@@ -151,6 +156,7 @@
      *
      * return true if any track playing on this stream is active.
      */
+    @UnsupportedAppUsage
     public static native boolean isStreamActive(int stream, int inPastMs);
 
     /*
@@ -166,6 +172,7 @@
      *
      * return true if any recorder using this source is currently recording
      */
+    @UnsupportedAppUsage
     public static native boolean isSourceActive(int source);
 
     /*
@@ -186,6 +193,7 @@
      * param keyValuePairs  list of parameters key value pairs in the form:
      *    key1=value1;key2=value2;...
      */
+    @UnsupportedAppUsage
     public static native int setParameters(String keyValuePairs);
 
     /*
@@ -196,6 +204,7 @@
      * return value: list of parameters key value pairs in the form:
      *    key1=value1;key2=value2;...
      */
+    @UnsupportedAppUsage
     public static native String getParameters(String keys);
 
     // These match the enum AudioError in frameworks/base/core/jni/android_media_AudioSystem.cpp
@@ -227,6 +236,7 @@
      * Registers a callback to be invoked when an error occurs.
      * @param cb the callback to run
      */
+    @UnsupportedAppUsage
     public static void setErrorCallback(ErrorCallback cb)
     {
         synchronized (AudioSystem.class) {
@@ -237,6 +247,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private static void errorCallbackFromNative(int error)
     {
         ErrorCallback errorCallback = null;
@@ -272,6 +283,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private static void dynamicPolicyCallbackFromNative(int event, String regId, int val)
     {
         DynamicPolicyCallback cb = null;
@@ -336,6 +348,7 @@
      *     {@link AudioRecordingCallback#onRecordingConfigurationChanged(int, int, int, int, int[])}
      *     for the description of the record format.
      */
+    @UnsupportedAppUsage
     private static void recordingCallbackFromNative(int event, int uid, int session, int source,
             int[] recordingFormat) {
         AudioRecordingCallback cb = null;
@@ -374,27 +387,45 @@
     public static final int DEVICE_BIT_IN = 0x80000000;
     public static final int DEVICE_BIT_DEFAULT = 0x40000000;
     // output devices, be sure to update AudioManager.java also
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_EARPIECE = 0x1;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_SPEAKER = 0x2;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_WIRED_HEADSET = 0x4;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_WIRED_HEADPHONE = 0x8;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_BLUETOOTH_SCO = 0x10;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_BLUETOOTH_SCO_HEADSET = 0x20;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_BLUETOOTH_SCO_CARKIT = 0x40;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_BLUETOOTH_A2DP = 0x80;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES = 0x100;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER = 0x200;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_AUX_DIGITAL = 0x400;
     public static final int DEVICE_OUT_HDMI = DEVICE_OUT_AUX_DIGITAL;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_ANLG_DOCK_HEADSET = 0x800;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_DGTL_DOCK_HEADSET = 0x1000;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_USB_ACCESSORY = 0x2000;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_USB_DEVICE = 0x4000;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_REMOTE_SUBMIX = 0x8000;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_TELEPHONY_TX = 0x10000;
     public static final int DEVICE_OUT_LINE = 0x20000;
     public static final int DEVICE_OUT_HDMI_ARC = 0x40000;
     public static final int DEVICE_OUT_SPDIF = 0x80000;
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_FM = 0x100000;
     public static final int DEVICE_OUT_AUX_LINE = 0x200000;
     public static final int DEVICE_OUT_SPEAKER_SAFE = 0x400000;
@@ -441,6 +472,7 @@
     public static final int DEVICE_OUT_ALL_SCO = (DEVICE_OUT_BLUETOOTH_SCO |
                                                   DEVICE_OUT_BLUETOOTH_SCO_HEADSET |
                                                   DEVICE_OUT_BLUETOOTH_SCO_CARKIT);
+    @UnsupportedAppUsage
     public static final int DEVICE_OUT_ALL_USB = (DEVICE_OUT_USB_ACCESSORY |
                                                   DEVICE_OUT_USB_DEVICE |
                                                   DEVICE_OUT_USB_HEADSET);
@@ -452,31 +484,46 @@
              DEVICE_OUT_SPEAKER);
 
     // input devices
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_COMMUNICATION = DEVICE_BIT_IN | 0x1;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_AMBIENT = DEVICE_BIT_IN | 0x2;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_BUILTIN_MIC = DEVICE_BIT_IN | 0x4;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_BLUETOOTH_SCO_HEADSET = DEVICE_BIT_IN | 0x8;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_WIRED_HEADSET = DEVICE_BIT_IN | 0x10;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_AUX_DIGITAL = DEVICE_BIT_IN | 0x20;
     public static final int DEVICE_IN_HDMI = DEVICE_IN_AUX_DIGITAL;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_VOICE_CALL = DEVICE_BIT_IN | 0x40;
     public static final int DEVICE_IN_TELEPHONY_RX = DEVICE_IN_VOICE_CALL;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_BACK_MIC = DEVICE_BIT_IN | 0x80;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_REMOTE_SUBMIX = DEVICE_BIT_IN | 0x100;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_ANLG_DOCK_HEADSET = DEVICE_BIT_IN | 0x200;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_DGTL_DOCK_HEADSET = DEVICE_BIT_IN | 0x400;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_USB_ACCESSORY = DEVICE_BIT_IN | 0x800;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_USB_DEVICE = DEVICE_BIT_IN | 0x1000;
     public static final int DEVICE_IN_FM_TUNER = DEVICE_BIT_IN | 0x2000;
     public static final int DEVICE_IN_TV_TUNER = DEVICE_BIT_IN | 0x4000;
     public static final int DEVICE_IN_LINE = DEVICE_BIT_IN | 0x8000;
     public static final int DEVICE_IN_SPDIF = DEVICE_BIT_IN | 0x10000;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_BLUETOOTH_A2DP = DEVICE_BIT_IN | 0x20000;
     public static final int DEVICE_IN_LOOPBACK = DEVICE_BIT_IN | 0x40000;
     public static final int DEVICE_IN_IP = DEVICE_BIT_IN | 0x80000;
     public static final int DEVICE_IN_BUS = DEVICE_BIT_IN | 0x100000;
     public static final int DEVICE_IN_PROXY = DEVICE_BIT_IN | 0x1000000;
     public static final int DEVICE_IN_USB_HEADSET = DEVICE_BIT_IN | 0x2000000;
+    @UnsupportedAppUsage
     public static final int DEVICE_IN_DEFAULT = DEVICE_BIT_IN | DEVICE_BIT_DEFAULT;
 
     public static final int DEVICE_IN_ALL = (DEVICE_IN_COMMUNICATION |
@@ -509,7 +556,9 @@
                                                  DEVICE_IN_USB_HEADSET);
 
     // device states, must match AudioSystem::device_connection_state
+    @UnsupportedAppUsage
     public static final int DEVICE_STATE_UNAVAILABLE = 0;
+    @UnsupportedAppUsage
     public static final int DEVICE_STATE_AVAILABLE = 1;
     private static final int NUM_DEVICE_STATES = 1;
 
@@ -575,6 +624,7 @@
     public static final String DEVICE_IN_PROXY_NAME = "proxy";
     public static final String DEVICE_IN_USB_HEADSET_NAME = "usb_headset";
 
+    @UnsupportedAppUsage
     public static String getOutputDeviceName(int device)
     {
         switch(device) {
@@ -701,15 +751,20 @@
     public static final int PHONE_STATE_INCALL = 2;
 
     // device categories config for setForceUse, must match audio_policy_forced_cfg_t
+    @UnsupportedAppUsage
     public static final int FORCE_NONE = 0;
     public static final int FORCE_SPEAKER = 1;
     public static final int FORCE_HEADPHONES = 2;
     public static final int FORCE_BT_SCO = 3;
     public static final int FORCE_BT_A2DP = 4;
     public static final int FORCE_WIRED_ACCESSORY = 5;
+    @UnsupportedAppUsage
     public static final int FORCE_BT_CAR_DOCK = 6;
+    @UnsupportedAppUsage
     public static final int FORCE_BT_DESK_DOCK = 7;
+    @UnsupportedAppUsage
     public static final int FORCE_ANALOG_DOCK = 8;
+    @UnsupportedAppUsage
     public static final int FORCE_DIGITAL_DOCK = 9;
     public static final int FORCE_NO_BT_A2DP = 10;
     public static final int FORCE_SYSTEM_ENFORCED = 11;
@@ -775,22 +830,32 @@
      * @return command completion status, one of {@link #AUDIO_STATUS_OK},
      *     {@link #AUDIO_STATUS_ERROR} or {@link #AUDIO_STATUS_SERVER_DIED}
      */
+    @UnsupportedAppUsage
     public static native int setDeviceConnectionState(int device, int state,
                                                       String device_address, String device_name);
+    @UnsupportedAppUsage
     public static native int getDeviceConnectionState(int device, String device_address);
     public static native int handleDeviceConfigChange(int device,
                                                       String device_address,
                                                       String device_name);
+    @UnsupportedAppUsage
     public static native int setPhoneState(int state);
+    @UnsupportedAppUsage
     public static native int setForceUse(int usage, int config);
+    @UnsupportedAppUsage
     public static native int getForceUse(int usage);
+    @UnsupportedAppUsage
     public static native int initStreamVolume(int stream, int indexMin, int indexMax);
+    @UnsupportedAppUsage
     public static native int setStreamVolumeIndex(int stream, int index, int device);
     public static native int getStreamVolumeIndex(int stream, int device);
     public static native int setMasterVolume(float value);
     public static native float getMasterVolume();
+    @UnsupportedAppUsage
     public static native int setMasterMute(boolean mute);
+    @UnsupportedAppUsage
     public static native boolean getMasterMute();
+    @UnsupportedAppUsage
     public static native int getDevicesForStream(int stream);
 
     /** @hide returns true if master mono is enabled. */
@@ -799,11 +864,15 @@
     public static native int setMasterMono(boolean mono);
 
     // helpers for android.media.AudioManager.getProperty(), see description there for meaning
+    @UnsupportedAppUsage
     public static native int getPrimaryOutputSamplingRate();
+    @UnsupportedAppUsage
     public static native int getPrimaryOutputFrameCount();
+    @UnsupportedAppUsage
     public static native int getOutputLatency(int stream);
 
     public static native int setLowRamDevice(boolean isLowRamDevice, long totalMemory);
+    @UnsupportedAppUsage
     public static native int checkAudioFlinger();
 
     public static native int listAudioPorts(ArrayList<AudioPort> ports, int[] generation);
diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java
index 87b5d43..aaf7dd7 100644
--- a/media/java/android/media/AudioTrack.java
+++ b/media/java/android/media/AudioTrack.java
@@ -30,6 +30,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.content.Context;
 import android.os.Handler;
@@ -351,6 +352,7 @@
      *   {@link AudioManager#STREAM_ALARM}, {@link AudioManager#STREAM_NOTIFICATION}, and
      *   {@link AudioManager#STREAM_DTMF}.
      */
+    @UnsupportedAppUsage
     private int mStreamType = AudioManager.STREAM_MUSIC;
 
     /**
@@ -399,12 +401,14 @@
      * Accessed by native methods: provides access to C++ AudioTrack object.
      */
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     protected long mNativeTrackInJavaObj;
     /**
      * Accessed by native methods: provides access to the JNI data (i.e. resources used by
      * the native AudioTrack object, but not stored in it).
      */
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private long mJniData;
 
 
@@ -692,6 +696,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     /* package */ void deferred_connect(long nativeTrackInJavaObj) {
         if (mState != STATE_INITIALIZED) {
             // Note that for this native_setup, we are providing an already created/initialized
@@ -1501,6 +1506,7 @@
      * a better solution.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getLatency() {
         return native_get_latency();
     }
@@ -3125,6 +3131,7 @@
     // Java methods called from the native side
     //--------------------
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private static void postEventFromNative(Object audiotrack_ref,
             int what, int arg1, int arg2, Object obj) {
         //logd("Event posted from the native side: event="+ what + " args="+ arg1+" "+arg2);
@@ -3192,6 +3199,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public native final void native_release();
 
     private native final void native_start();
diff --git a/media/java/android/media/CamcorderProfile.java b/media/java/android/media/CamcorderProfile.java
index d303a2e..aa123bd 100644
--- a/media/java/android/media/CamcorderProfile.java
+++ b/media/java/android/media/CamcorderProfile.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.hardware.Camera;
 import android.hardware.Camera.CameraInfo;
 
@@ -495,7 +496,9 @@
     }
 
     // Methods implemented by JNI
+    @UnsupportedAppUsage
     private static native final void native_init();
+    @UnsupportedAppUsage
     private static native final CamcorderProfile native_get_camcorder_profile(
             int cameraId, int quality);
     private static native final boolean native_has_camcorder_profile(
diff --git a/media/java/android/media/DecoderCapabilities.java b/media/java/android/media/DecoderCapabilities.java
index f16cccf..df5e918 100644
--- a/media/java/android/media/DecoderCapabilities.java
+++ b/media/java/android/media/DecoderCapabilities.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import java.util.List;
 import java.util.ArrayList;
 
@@ -32,6 +33,7 @@
      *
      */
     public enum VideoDecoder {
+        @UnsupportedAppUsage
         VIDEO_DECODER_WMV,
     };
 
@@ -39,6 +41,7 @@
      * The AudioDecoder class represents the type of an audio decoder
      */
     public enum AudioDecoder {
+        @UnsupportedAppUsage
         AUDIO_DECODER_WMA,
     };
 
@@ -51,6 +54,7 @@
      * Returns the list of video decoder types
      * @see android.media.DecoderCapabilities.VideoDecoder
      */
+    @UnsupportedAppUsage
     public static List<VideoDecoder> getVideoDecoders() {
         List<VideoDecoder> decoderList = new ArrayList<VideoDecoder>();
         int nDecoders = native_get_num_video_decoders();
@@ -64,6 +68,7 @@
      * Returns the list of audio decoder types
      * @see android.media.DecoderCapabilities.AudioDecoder
      */
+    @UnsupportedAppUsage
     public static List<AudioDecoder> getAudioDecoders() {
         List<AudioDecoder> decoderList = new ArrayList<AudioDecoder>();
         int nDecoders = native_get_num_audio_decoders();
diff --git a/media/java/android/media/EncoderCapabilities.java b/media/java/android/media/EncoderCapabilities.java
index 59c9b82..c09c5fa 100644
--- a/media/java/android/media/EncoderCapabilities.java
+++ b/media/java/android/media/EncoderCapabilities.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import java.util.List;
 import java.util.ArrayList;
 
@@ -42,14 +43,19 @@
      */
     static public class VideoEncoderCap {
         // These are not modifiable externally, thus are public accessible
+        @UnsupportedAppUsage
         public final int mCodec;                // @see android.media.MediaRecorder.VideoEncoder
         public final int mMinBitRate;           // min bit rate (bps)
         public final int mMaxBitRate;           // max bit rate (bps)
         public final int mMinFrameRate;         // min frame rate (fps)
         public final int mMaxFrameRate;         // max frame rate (fps)
+        @UnsupportedAppUsage
         public final int mMinFrameWidth;        // min frame width (pixel)
+        @UnsupportedAppUsage
         public final int mMaxFrameWidth;        // max frame width (pixel)
+        @UnsupportedAppUsage
         public final int mMinFrameHeight;       // min frame height (pixel)
+        @UnsupportedAppUsage
         public final int mMaxFrameHeight;       // max frame height (pixel)
 
         // Private constructor called by JNI
@@ -127,6 +133,7 @@
      * Returns the capabilities of the supported video encoders.
      * @see android.media.EncoderCapabilities.VideoEncoderCap
      */
+    @UnsupportedAppUsage
     public static List<VideoEncoderCap> getVideoEncoders() {
         int nEncoders = native_get_num_video_encoders();
         if (nEncoders == 0) return null;
diff --git a/media/java/android/media/ExifInterface.java b/media/java/android/media/ExifInterface.java
index aa45709..a959759 100644
--- a/media/java/android/media/ExifInterface.java
+++ b/media/java/android/media/ExifInterface.java
@@ -17,6 +17,7 @@
 package android.media;
 
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.content.res.AssetManager;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
@@ -468,6 +469,7 @@
     // See http://www.exiv2.org/makernote.html#R11
     private static final int PEF_MAKER_NOTE_SKIP_SIZE = 6;
 
+    @UnsupportedAppUsage
     private static SimpleDateFormat sFormatter;
 
     // See Exchangeable image file format for digital still cameras: Exif version 2.2.
@@ -1293,14 +1295,17 @@
         sExifPointerTagMap.put(EXIF_POINTER_TAGS[5].number, IFD_TYPE_ORF_IMAGE_PROCESSING); // 8256
     }
 
+    @UnsupportedAppUsage
     private final String mFilename;
     private final FileDescriptor mSeekableFileDescriptor;
     private final AssetManager.AssetInputStream mAssetInputStream;
     private final boolean mIsInputStream;
     private int mMimeType;
+    @UnsupportedAppUsage
     private final HashMap[] mAttributes = new HashMap[EXIF_TAGS.length];
     private Set<Integer> mAttributesOffsets = new HashSet<>(EXIF_TAGS.length);
     private ByteOrder mExifByteOrder = ByteOrder.BIG_ENDIAN;
+    @UnsupportedAppUsage
     private boolean mHasThumbnail;
     // The following values used for indicating a thumbnail position.
     private int mThumbnailOffset;
@@ -2022,6 +2027,7 @@
      * Returns -1 if the date time information if not available.
      * @hide
      */
+    @UnsupportedAppUsage
     public long getDateTime() {
         String dateTimeString = getAttribute(TAG_DATETIME);
         if (dateTimeString == null
@@ -2058,6 +2064,7 @@
      * Returns -1 if the date time information if not available.
      * @hide
      */
+    @UnsupportedAppUsage
     public long getGpsDateTime() {
         String date = getAttribute(TAG_GPS_DATESTAMP);
         String time = getAttribute(TAG_GPS_TIMESTAMP);
@@ -2080,6 +2087,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public static float convertRationalLatLonToFloat(String rationalString, String ref) {
         try {
             String [] parts = rationalString.split(",");
diff --git a/media/java/android/media/Image.java b/media/java/android/media/Image.java
index a768dd3..dff5e9a 100644
--- a/media/java/android/media/Image.java
+++ b/media/java/android/media/Image.java
@@ -20,6 +20,7 @@
 import java.lang.AutoCloseable;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Rect;
 import android.hardware.HardwareBuffer;
 
@@ -57,6 +58,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     protected Image() {
     }
 
@@ -378,6 +380,7 @@
         /**
          * @hide
          */
+        @UnsupportedAppUsage
         protected Plane() {
         }
 
diff --git a/media/java/android/media/JetPlayer.java b/media/java/android/media/JetPlayer.java
index 7735e78..b12e647 100644
--- a/media/java/android/media/JetPlayer.java
+++ b/media/java/android/media/JetPlayer.java
@@ -21,6 +21,7 @@
 import java.lang.ref.WeakReference;
 import java.lang.CloneNotSupportedException;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.res.AssetFileDescriptor;
 import android.os.Looper;
 import android.os.Handler;
@@ -127,6 +128,7 @@
      * Accessed by native methods: provides access to C++ JetPlayer object 
      */
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private long mNativePlayerInJavaObj;
 
     
@@ -560,6 +562,7 @@
     // Called exclusively by native code
     //--------------------
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private static void postEventFromNative(Object jetplayer_ref,
             int what, int arg1, int arg2) {
         //logd("Event posted from the native side: event="+ what + " args="+ arg1+" "+arg2);
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index 2207a2a..76fc9e3 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.ImageFormat;
 import android.graphics.Rect;
 import android.graphics.SurfaceTexture;
@@ -2137,6 +2138,7 @@
      * Thrown when an internal codec error occurs.
      */
     public final static class CodecException extends IllegalStateException {
+        @UnsupportedAppUsage
         CodecException(int errorCode, int actionCode, @Nullable String detailMessage) {
             super(detailMessage);
             mErrorCode = errorCode;
@@ -2805,6 +2807,7 @@
                 index, true /* render */, true /* updatePTS */, renderTimestampNs);
     }
 
+    @UnsupportedAppUsage
     private native final void releaseOutputBuffer(
             int index, boolean render, boolean updatePTS, long timeNs);
 
@@ -3525,6 +3528,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private native final void setParameters(@NonNull String[] keys, @NonNull Object[] values);
 
     /**
@@ -3555,6 +3559,7 @@
     private native final MediaCodecInfo getOwnCodecInfo();
 
     @NonNull
+    @UnsupportedAppUsage
     private native final ByteBuffer[] getBuffers(boolean input);
 
     @Nullable
@@ -3575,6 +3580,7 @@
         native_init();
     }
 
+    @UnsupportedAppUsage
     private long mNativeContext;
 
     /** @hide */
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index 2cb58d0..91d4fac 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.util.Log;
 import android.util.Pair;
 import android.util.Range;
@@ -1588,6 +1589,7 @@
         private VideoCapabilities() { }
 
         /** @hide */
+        @UnsupportedAppUsage
         public static VideoCapabilities create(
                 MediaFormat info, CodecCapabilities parent) {
             VideoCapabilities caps = new VideoCapabilities();
diff --git a/media/java/android/media/MediaDrm.java b/media/java/android/media/MediaDrm.java
index 3a0a58e..5124ac8 100644
--- a/media/java/android/media/MediaDrm.java
+++ b/media/java/android/media/MediaDrm.java
@@ -21,6 +21,7 @@
 import android.annotation.Nullable;
 import android.annotation.StringDef;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.os.Handler;
 import android.os.Looper;
@@ -1473,6 +1474,7 @@
          * Get the opaque message data
          */
         @NonNull
+        @UnsupportedAppUsage
         public byte[] getData() { return mData; }
 
         /**
@@ -1481,6 +1483,7 @@
          * certificate server URL obtained from other sources.
          */
         @NonNull
+        @UnsupportedAppUsage
         public String getDefaultUrl() { return mDefaultUrl; }
     }
 
@@ -1497,6 +1500,7 @@
      * @hide - not part of the public API at this time
      */
     @NonNull
+    @UnsupportedAppUsage
     public CertificateRequest getCertificateRequest(
             @CertificateType int certType, @NonNull String certAuthority)
     {
@@ -1518,6 +1522,7 @@
          * Get the wrapped private key data
          */
         @NonNull
+        @UnsupportedAppUsage
         public byte[] getWrappedPrivateKey() {
             if (mWrappedKey == null) {
                 // this should never happen as mWrappedKey is initialized in
@@ -1532,6 +1537,7 @@
          * Get the PEM-encoded certificate chain
          */
         @NonNull
+        @UnsupportedAppUsage
         public byte[] getContent() {
             if (mCertificateData == null) {
                 // this should never happen as mCertificateData is initialized in
@@ -1565,6 +1571,7 @@
      * @hide - not part of the public API at this time
      */
     @NonNull
+    @UnsupportedAppUsage
     public Certificate provideCertificateResponse(@NonNull byte[] response)
             throws DeniedByServerException {
         return provideProvisionResponseNative(response);
@@ -1587,6 +1594,7 @@
      * @hide - not part of the public API at this time
      */
     @NonNull
+    @UnsupportedAppUsage
     public byte[] signRSA(
             @NonNull byte[] sessionId, @NonNull String algorithm,
             @NonNull byte[] wrappedKey, @NonNull byte[] message) {
diff --git a/media/java/android/media/MediaFile.java b/media/java/android/media/MediaFile.java
index 35937de..3b9b6dd 100644
--- a/media/java/android/media/MediaFile.java
+++ b/media/java/android/media/MediaFile.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.media.DecoderCapabilities;
 import android.media.DecoderCapabilities.VideoDecoder;
 import android.media.DecoderCapabilities.AudioDecoder;
@@ -43,7 +44,9 @@
     public static final int FILE_TYPE_AAC     = 8;
     public static final int FILE_TYPE_MKA     = 9;
     public static final int FILE_TYPE_FLAC    = 10;
+    @UnsupportedAppUsage
     private static final int FIRST_AUDIO_FILE_TYPE = FILE_TYPE_MP3;
+    @UnsupportedAppUsage
     private static final int LAST_AUDIO_FILE_TYPE = FILE_TYPE_FLAC;
 
     // MIDI file types
@@ -123,7 +126,9 @@
     public static final int FILE_TYPE_ZIP           = 107;
 
     public static class MediaFileType {
+        @UnsupportedAppUsage
         public final int fileType;
+        @UnsupportedAppUsage
         public final String mimeType;
 
         MediaFileType(int fileType, String mimeType) {
@@ -132,20 +137,25 @@
         }
     }
 
+    @UnsupportedAppUsage
     private static final HashMap<String, MediaFileType> sFileTypeMap
             = new HashMap<String, MediaFileType>();
     private static final HashMap<String, Integer> sMimeTypeMap
             = new HashMap<String, Integer>();
     // maps file extension to MTP format code
+    @UnsupportedAppUsage
     private static final HashMap<String, Integer> sFileTypeToFormatMap
             = new HashMap<String, Integer>();
     // maps mime type to MTP format code
+    @UnsupportedAppUsage
     private static final HashMap<String, Integer> sMimeTypeToFormatMap
             = new HashMap<String, Integer>();
     // maps MTP format code to mime type
+    @UnsupportedAppUsage
     private static final HashMap<Integer, String> sFormatToMimeTypeMap
             = new HashMap<Integer, String>();
 
+    @UnsupportedAppUsage
     static void addFileType(String extension, int fileType, String mimeType) {
         sFileTypeMap.put(extension, new MediaFileType(fileType, mimeType));
         sMimeTypeMap.put(mimeType, Integer.valueOf(fileType));
@@ -277,6 +287,7 @@
         addFileType("MPEG", FILE_TYPE_MP2PS, "video/mp2p");
     }
 
+    @UnsupportedAppUsage
     public static boolean isAudioFileType(int fileType) {
         return ((fileType >= FIRST_AUDIO_FILE_TYPE &&
                 fileType <= LAST_AUDIO_FILE_TYPE) ||
@@ -284,6 +295,7 @@
                 fileType <= LAST_MIDI_FILE_TYPE));
     }
 
+    @UnsupportedAppUsage
     public static boolean isVideoFileType(int fileType) {
         return (fileType >= FIRST_VIDEO_FILE_TYPE &&
                 fileType <= LAST_VIDEO_FILE_TYPE)
@@ -291,6 +303,7 @@
                 fileType <= LAST_VIDEO_FILE_TYPE2);
     }
 
+    @UnsupportedAppUsage
     public static boolean isImageFileType(int fileType) {
         return (fileType >= FIRST_IMAGE_FILE_TYPE &&
                 fileType <= LAST_IMAGE_FILE_TYPE)
@@ -303,16 +316,19 @@
                 fileType <= LAST_RAW_IMAGE_FILE_TYPE);
     }
 
+    @UnsupportedAppUsage
     public static boolean isPlayListFileType(int fileType) {
         return (fileType >= FIRST_PLAYLIST_FILE_TYPE &&
                 fileType <= LAST_PLAYLIST_FILE_TYPE);
     }
 
+    @UnsupportedAppUsage
     public static boolean isDrmFileType(int fileType) {
         return (fileType >= FIRST_DRM_FILE_TYPE &&
                 fileType <= LAST_DRM_FILE_TYPE);
     }
 
+    @UnsupportedAppUsage
     public static MediaFileType getFileType(String path) {
         int lastDot = path.lastIndexOf('.');
         if (lastDot < 0)
@@ -327,6 +343,7 @@
     }
 
     // generates a title based on file name
+    @UnsupportedAppUsage
     public static String getFileTitle(String path) {
         // extract file name after last slash
         int lastSlash = path.lastIndexOf('/');
@@ -344,11 +361,13 @@
         return path;
     }
 
+    @UnsupportedAppUsage
     public static int getFileTypeForMimeType(String mimeType) {
         Integer value = sMimeTypeMap.get(mimeType);
         return (value == null ? 0 : value.intValue());
     }
 
+    @UnsupportedAppUsage
     public static String getMimeTypeForFile(String path) {
         MediaFileType mediaFileType = getFileType(path);
         return (mediaFileType == null ? null : mediaFileType.mimeType);
diff --git a/media/java/android/media/MediaFormat.java b/media/java/android/media/MediaFormat.java
index 7c68b55..edb7cc3 100644
--- a/media/java/android/media/MediaFormat.java
+++ b/media/java/android/media/MediaFormat.java
@@ -17,6 +17,7 @@
 package android.media;
 
 import android.annotation.IntDef;
+import android.annotation.UnsupportedAppUsage;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -188,6 +189,7 @@
      */
     public static final String MIMETYPE_TEXT_CEA_708 = "text/cea-708";
 
+    @UnsupportedAppUsage
     private Map<String, Object> mMap;
 
     /**
@@ -946,6 +948,7 @@
         mMap = new HashMap();
     }
 
+    @UnsupportedAppUsage
     /* package private */ Map<String, Object> getMap() {
         return mMap;
     }
diff --git a/media/java/android/media/MediaHTTPConnection.java b/media/java/android/media/MediaHTTPConnection.java
index aae1f51..876c1c0 100644
--- a/media/java/android/media/MediaHTTPConnection.java
+++ b/media/java/android/media/MediaHTTPConnection.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.net.NetworkUtils;
 import android.os.IBinder;
 import android.os.StrictMode;
@@ -46,20 +47,28 @@
     // connection timeout - 30 sec
     private static final int CONNECT_TIMEOUT_MS = 30 * 1000;
 
+    @UnsupportedAppUsage
     private long mCurrentOffset = -1;
+    @UnsupportedAppUsage
     private URL mURL = null;
+    @UnsupportedAppUsage
     private Map<String, String> mHeaders = null;
+    @UnsupportedAppUsage
     private HttpURLConnection mConnection = null;
+    @UnsupportedAppUsage
     private long mTotalSize = -1;
     private InputStream mInputStream = null;
 
+    @UnsupportedAppUsage
     private boolean mAllowCrossDomainRedirect = true;
+    @UnsupportedAppUsage
     private boolean mAllowCrossProtocolRedirect = true;
 
     // from com.squareup.okhttp.internal.http
     private final static int HTTP_TEMP_REDIRECT = 307;
     private final static int MAX_REDIRECTS = 20;
 
+    @UnsupportedAppUsage
     public MediaHTTPConnection() {
         CookieHandler cookieHandler = CookieHandler.getDefault();
         if (cookieHandler == null) {
@@ -70,6 +79,7 @@
     }
 
     @Override
+    @UnsupportedAppUsage
     public IBinder connect(String uri, String headers) {
         if (VERBOSE) {
             Log.d(TAG, "connect: uri=" + uri + ", headers=" + headers);
@@ -128,6 +138,7 @@
     }
 
     @Override
+    @UnsupportedAppUsage
     public void disconnect() {
         teardownConnection();
         mHeaders = null;
@@ -312,6 +323,7 @@
     }
 
     @Override
+    @UnsupportedAppUsage
     public int readAt(long offset, int size) {
         return native_readAt(offset, size);
     }
@@ -379,6 +391,7 @@
     }
 
     @Override
+    @UnsupportedAppUsage
     public String getMIMEType() {
         if (mConnection == null) {
             try {
@@ -392,6 +405,7 @@
     }
 
     @Override
+    @UnsupportedAppUsage
     public String getUri() {
         return mURL.toString();
     }
diff --git a/media/java/android/media/MediaHTTPService.java b/media/java/android/media/MediaHTTPService.java
index 98517d1..97a0df7 100644
--- a/media/java/android/media/MediaHTTPService.java
+++ b/media/java/android/media/MediaHTTPService.java
@@ -17,6 +17,7 @@
 package android.media;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.os.IBinder;
 import android.util.Log;
 
@@ -83,6 +84,7 @@
         return new MediaHTTPConnection();
     }
 
+    @UnsupportedAppUsage
     /* package private */static IBinder createHttpServiceBinderIfNecessary(
             String path) {
         return createHttpServiceBinderIfNecessary(path, null);
diff --git a/media/java/android/media/MediaInserter.java b/media/java/android/media/MediaInserter.java
index dd06921..0749f58e 100644
--- a/media/java/android/media/MediaInserter.java
+++ b/media/java/android/media/MediaInserter.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.ContentProviderClient;
 import android.content.ContentValues;
 import android.net.Uri;
@@ -67,6 +68,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public void flushAll() throws RemoteException {
         flushAllPriority();
         for (Uri tableUri : mRowMap.keySet()){
diff --git a/media/java/android/media/MediaMetadata.java b/media/java/android/media/MediaMetadata.java
index 94d4d55..2721ad1 100644
--- a/media/java/android/media/MediaMetadata.java
+++ b/media/java/android/media/MediaMetadata.java
@@ -17,6 +17,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.StringDef;
+import android.annotation.UnsupportedAppUsage;
 import android.content.ContentResolver;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
@@ -626,6 +627,7 @@
      * @return The key used by this class or null if no mapping exists
      * @hide
      */
+    @UnsupportedAppUsage
     public static String getKeyFromMetadataEditorKey(int editorKey) {
         return EDITOR_KEY_MAPPING.get(editorKey, null);
     }
diff --git a/media/java/android/media/MediaMetadataRetriever.java b/media/java/android/media/MediaMetadataRetriever.java
index f9a47a6..57b648e 100644
--- a/media/java/android/media/MediaMetadataRetriever.java
+++ b/media/java/android/media/MediaMetadataRetriever.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.AssetFileDescriptor;
@@ -668,6 +669,7 @@
         return getEmbeddedPicture(EMBEDDED_PICTURE_TYPE_ANY);
     }
 
+    @UnsupportedAppUsage
     private native byte[] getEmbeddedPicture(int pictureType);
 
     /**
@@ -675,9 +677,12 @@
      * allocated internally.
      */
     public native void release();
+    @UnsupportedAppUsage
     private native void native_setup();
+    @UnsupportedAppUsage
     private static native void native_init();
 
+    @UnsupportedAppUsage
     private native final void native_finalize();
 
     @Override
diff --git a/media/java/android/media/MediaMuxer.java b/media/java/android/media/MediaMuxer.java
index 205ce8d..c91d4d3 100644
--- a/media/java/android/media/MediaMuxer.java
+++ b/media/java/android/media/MediaMuxer.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.media.MediaCodec;
 import android.media.MediaCodec.BufferInfo;
 import dalvik.system.CloseGuard;
@@ -283,8 +284,10 @@
     public @interface Format {}
 
     // All the native functions are listed here.
+    @UnsupportedAppUsage
     private static native long nativeSetup(@NonNull FileDescriptor fd, int format)
             throws IllegalArgumentException, IOException;
+    @UnsupportedAppUsage
     private static native void nativeRelease(long nativeObject);
     private static native void nativeStart(long nativeObject);
     private static native void nativeStop(long nativeObject);
@@ -298,16 +301,22 @@
             int offset, int size, long presentationTimeUs, @MediaCodec.BufferFlag int flags);
 
     // Muxer internal states.
+    @UnsupportedAppUsage
     private static final int MUXER_STATE_UNINITIALIZED  = -1;
     private static final int MUXER_STATE_INITIALIZED    = 0;
+    @UnsupportedAppUsage
     private static final int MUXER_STATE_STARTED        = 1;
+    @UnsupportedAppUsage
     private static final int MUXER_STATE_STOPPED        = 2;
 
+    @UnsupportedAppUsage
     private int mState = MUXER_STATE_UNINITIALIZED;
 
+    @UnsupportedAppUsage
     private final CloseGuard mCloseGuard = CloseGuard.get();
     private int mLastTrackIndex = -1;
 
+    @UnsupportedAppUsage
     private long mNativeObject;
 
     /**
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index ada91be..e6253ed 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -20,6 +20,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.content.ContentProvider;
 import android.content.ContentResolver;
@@ -597,6 +598,7 @@
        // FIXME: add link to getMetadata(boolean, boolean)
        {@hide}
      */
+    @UnsupportedAppUsage
     public static final boolean METADATA_ALL = false;
 
     /**
@@ -613,6 +615,7 @@
        // FIXME: add link to getMetadata(boolean, boolean)
        {@hide}
      */
+    @UnsupportedAppUsage
     public static final boolean BYPASS_METADATA_FILTER = false;
 
     static {
@@ -630,6 +633,7 @@
     private long mNativeSurfaceTexture;  // accessed by native methods
     private int mListenerContext; // accessed by native methods
     private SurfaceHolder mSurfaceHolder;
+    @UnsupportedAppUsage
     private EventHandler mEventHandler;
     private PowerManager.WakeLock mWakeLock = null;
     private boolean mScreenOnWhilePlaying;
@@ -710,6 +714,7 @@
      * player.
      * {@hide}
      */
+    @UnsupportedAppUsage
     public Parcel newRequest() {
         Parcel parcel = Parcel.obtain();
         parcel.writeInterfaceToken(IMEDIA_PLAYER);
@@ -730,6 +735,7 @@
      * native player.
      * {@hide}
      */
+    @UnsupportedAppUsage
     public void invoke(Parcel request, Parcel reply) {
         int retcode = native_invoke(request, reply);
         reply.setDataPosition(0);
@@ -1139,11 +1145,13 @@
      * @throws IllegalStateException if it is called in an invalid state
      * @hide pending API council
      */
+    @UnsupportedAppUsage
     public void setDataSource(String path, Map<String, String> headers)
             throws IOException, IllegalArgumentException, SecurityException, IllegalStateException {
         setDataSource(path, headers, null);
     }
 
+    @UnsupportedAppUsage
     private void setDataSource(String path, Map<String, String> headers, List<HttpCookie> cookies)
             throws IOException, IllegalArgumentException, SecurityException, IllegalStateException
     {
@@ -1164,6 +1172,7 @@
         setDataSource(path, keys, values, cookies);
     }
 
+    @UnsupportedAppUsage
     private void setDataSource(String path, String[] keys, String[] values,
             List<HttpCookie> cookies)
             throws IOException, IllegalArgumentException, SecurityException, IllegalStateException {
@@ -2010,6 +2019,7 @@
      // FIXME: unhide.
      * {@hide}
      */
+    @UnsupportedAppUsage
     public Metadata getMetadata(final boolean update_only,
                                 final boolean apply_filter) {
         Parcel reply = Parcel.obtain();
@@ -2234,6 +2244,7 @@
      * @return true if the parameter is set successfully, false otherwise
      * {@hide}
      */
+    @UnsupportedAppUsage
     private native boolean setParameter(int key, Parcel value);
 
     /**
@@ -2550,6 +2561,7 @@
         /**
          * Used to read a TrackInfo from a Parcel.
          */
+        @UnsupportedAppUsage
         static final Parcelable.Creator<TrackInfo> CREATOR
                 = new Parcelable.Creator<TrackInfo>() {
                     @Override
@@ -2660,6 +2672,7 @@
     private SubtitleController mSubtitleController;
 
     /** @hide */
+    @UnsupportedAppUsage
     public void setSubtitleAnchor(
             SubtitleController controller,
             SubtitleController.Anchor anchor) {
@@ -2764,6 +2777,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public void addSubtitleSource(InputStream is, MediaFormat format)
             throws IllegalStateException
     {
@@ -3276,6 +3290,7 @@
      *
      * {@hide} pending API council
      */
+    @UnsupportedAppUsage
     public void setRetransmitEndpoint(InetSocketAddress endpoint)
             throws IllegalStateException, IllegalArgumentException
     {
@@ -3327,6 +3342,7 @@
     private TimeProvider mTimeProvider;
 
     /** @hide */
+    @UnsupportedAppUsage
     public MediaTimeProvider getMediaTimeProvider() {
         if (mTimeProvider == null) {
             mTimeProvider = new TimeProvider(this);
@@ -3723,6 +3739,7 @@
         mOnPreparedListener = listener;
     }
 
+    @UnsupportedAppUsage
     private OnPreparedListener mOnPreparedListener;
 
     /**
@@ -3750,6 +3767,7 @@
         mOnCompletionListener = listener;
     }
 
+    @UnsupportedAppUsage
     private OnCompletionListener mOnCompletionListener;
 
     /**
@@ -3822,6 +3840,7 @@
         mOnSeekCompleteListener = listener;
     }
 
+    @UnsupportedAppUsage
     private OnSeekCompleteListener mOnSeekCompleteListener;
 
     /**
@@ -3883,6 +3902,7 @@
         mOnTimedTextListener = listener;
     }
 
+    @UnsupportedAppUsage
     private OnTimedTextListener mOnTimedTextListener;
 
     /**
@@ -4162,6 +4182,7 @@
         mOnErrorListener = listener;
     }
 
+    @UnsupportedAppUsage
     private OnErrorListener mOnErrorListener;
 
 
@@ -4231,6 +4252,7 @@
      *  JAVA framework to avoid triggering track scanning.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int MEDIA_INFO_EXTERNAL_METADATA_UPDATE = 803;
 
     /** Informs that audio is not playing. Note that playback of the video
@@ -4250,6 +4272,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     public static final int MEDIA_INFO_TIMED_TEXT_ERROR = 900;
 
     /** Subtitle track was not supported by the media framework.
@@ -4306,6 +4329,7 @@
         mOnInfoListener = listener;
     }
 
+    @UnsupportedAppUsage
     private OnInfoListener mOnInfoListener;
 
     // Modular DRM begin
diff --git a/media/java/android/media/MediaPlayer2.java b/media/java/android/media/MediaPlayer2.java
index dcc872c..c3d2d35 100644
--- a/media/java/android/media/MediaPlayer2.java
+++ b/media/java/android/media/MediaPlayer2.java
@@ -20,6 +20,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.graphics.SurfaceTexture;
 import android.net.Uri;
@@ -1475,6 +1476,7 @@
          * Gets the track type.
          * @return TrackType which indicates if the track is video, audio, timed text.
          */
+        @UnsupportedAppUsage
         public abstract int getTrackType();
 
         /**
@@ -1483,6 +1485,7 @@
          * When the language is unknown or could not be determined,
          * ISO-639-2 language code, "und", is returned.
          */
+        @UnsupportedAppUsage
         public abstract String getLanguage();
 
         /**
diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java
index b47b4cd..d4bfd61 100644
--- a/media/java/android/media/MediaRecorder.java
+++ b/media/java/android/media/MediaRecorder.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.hardware.Camera;
 import android.os.Bundle;
@@ -97,13 +98,19 @@
     private long mNativeContext;
 
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private Surface mSurface;
 
+    @UnsupportedAppUsage
     private String mPath;
+    @UnsupportedAppUsage
     private FileDescriptor mFd;
     private File mFile;
+    @UnsupportedAppUsage
     private EventHandler mEventHandler;
+    @UnsupportedAppUsage
     private OnErrorListener mOnErrorListener;
+    @UnsupportedAppUsage
     private OnInfoListener mOnInfoListener;
 
     private int mChannelCount;
@@ -942,6 +949,7 @@
     // native implementation
     private native void _setOutputFile(FileDescriptor fd) throws IllegalStateException, IOException;
     private native void _setNextOutputFile(FileDescriptor fd) throws IllegalStateException, IOException;
+    @UnsupportedAppUsage
     private native void _prepare() throws IllegalStateException, IOException;
 
     /**
@@ -1043,6 +1051,7 @@
         mEventHandler.removeCallbacksAndMessages(null);
     }
 
+    @UnsupportedAppUsage
     private native void native_reset();
 
     /**
@@ -1500,13 +1509,17 @@
      */
     public native void release();
 
+    @UnsupportedAppUsage
     private static native final void native_init();
 
+    @UnsupportedAppUsage
     private native final void native_setup(Object mediarecorder_this,
             String clientName, String opPackageName) throws IllegalStateException;
 
+    @UnsupportedAppUsage
     private native final void native_finalize();
 
+    @UnsupportedAppUsage
     private native void setParameter(String nameValuePair);
 
     /**
diff --git a/media/java/android/media/MediaRouter.java b/media/java/android/media/MediaRouter.java
index 70ab863..5926729 100644
--- a/media/java/android/media/MediaRouter.java
+++ b/media/java/android/media/MediaRouter.java
@@ -21,6 +21,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -784,6 +785,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public RouteInfo getSelectedRoute() {
         return getSelectedRoute(ROUTE_TYPE_ANY);
     }
@@ -937,6 +939,7 @@
     /**
      * @hide internal use
      */
+    @UnsupportedAppUsage
     public void selectRouteInt(int types, RouteInfo route, boolean explicit) {
         selectRouteStatic(types, route, explicit);
     }
@@ -1534,6 +1537,7 @@
      */
     public static class RouteInfo {
         CharSequence mName;
+        @UnsupportedAppUsage
         int mNameResId;
         CharSequence mDescription;
         private CharSequence mStatus;
@@ -1565,7 +1569,9 @@
 
         /** @hide */ public static final int STATUS_NONE = 0;
         /** @hide */ public static final int STATUS_SCANNING = 1;
-        /** @hide */ public static final int STATUS_CONNECTING = 2;
+        /** @hide */
+        @UnsupportedAppUsage
+        public static final int STATUS_CONNECTING = 2;
         /** @hide */ public static final int STATUS_AVAILABLE = 3;
         /** @hide */ public static final int STATUS_NOT_AVAILABLE = 4;
         /** @hide */ public static final int STATUS_IN_USE = 5;
@@ -1682,6 +1688,7 @@
             return getName(context.getResources());
         }
 
+        @UnsupportedAppUsage
         CharSequence getName(Resources res) {
             if (mNameResId != 0) {
                 return res.getText(mNameResId);
@@ -1777,6 +1784,7 @@
         /**
          * @hide
          */
+        @UnsupportedAppUsage
         public int getStatusCode() {
             return mResolvedStatusCode;
         }
@@ -1801,6 +1809,7 @@
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public boolean matchesTypes(int types) {
             return (mSupportedTypes & types) != 0;
         }
@@ -2031,6 +2040,7 @@
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public String getDeviceAddress() {
             return mDeviceAddress;
         }
@@ -2055,11 +2065,13 @@
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public boolean isSelected() {
             return this == sStatic.mSelectedRoute;
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public boolean isDefault() {
             return this == sStatic.mDefaultAudioVideo;
         }
@@ -2070,6 +2082,7 @@
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public void select() {
             selectRouteStatic(mSupportedTypes, this, true);
         }
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index 8a757b8..02e1f2f 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.ContentProviderClient;
 import android.content.ContentResolver;
 import android.content.ContentUris;
@@ -125,6 +126,7 @@
 
     private final static String TAG = "MediaScanner";
 
+    @UnsupportedAppUsage
     private static final String[] FILES_PRESCAN_PROJECTION = new String[] {
             Files.FileColumns._ID, // 0
             Files.FileColumns.DATA, // 1
@@ -317,14 +319,18 @@
     };
 
     private long mNativeContext;
+    @UnsupportedAppUsage
     private final Context mContext;
+    @UnsupportedAppUsage
     private final String mPackageName;
     private final String mVolumeName;
     private final ContentProviderClient mMediaProvider;
+    @UnsupportedAppUsage
     private final Uri mAudioUri;
     private final Uri mVideoUri;
     private final Uri mImagesUri;
     private final Uri mPlaylistsUri;
+    @UnsupportedAppUsage
     private final Uri mFilesUri;
     private final Uri mFilesUriNoNotify;
     private final boolean mProcessPlaylists;
@@ -347,10 +353,13 @@
     /** Whether the scanner has set a default sound for the alarm ringtone. */
     private boolean mDefaultAlarmSet;
     /** The filename for the default sound for the ringer ringtone. */
+    @UnsupportedAppUsage
     private String mDefaultRingtoneFilename;
     /** The filename for the default sound for the notification ringtone. */
+    @UnsupportedAppUsage
     private String mDefaultNotificationFilename;
     /** The filename for the default sound for the alarm ringtone. */
+    @UnsupportedAppUsage
     private String mDefaultAlarmAlertFilename;
     /**
      * The prefix for system properties that define the default sound for
@@ -362,12 +371,15 @@
     private final BitmapFactory.Options mBitmapOptions = new BitmapFactory.Options();
 
     private static class FileEntry {
+        @UnsupportedAppUsage
         long mRowId;
         String mPath;
         long mLastModified;
         int mFormat;
+        @UnsupportedAppUsage
         boolean mLastModifiedChanged;
 
+        @UnsupportedAppUsage
         FileEntry(long rowId, String path, long lastModified, int format) {
             mRowId = rowId;
             mPath = path;
@@ -391,10 +403,12 @@
     private final ArrayList<PlaylistEntry> mPlaylistEntries = new ArrayList<>();
     private final ArrayList<FileEntry> mPlayLists = new ArrayList<>();
 
+    @UnsupportedAppUsage
     private MediaInserter mMediaInserter;
 
     private DrmManagerClient mDrmManagerClient = null;
 
+    @UnsupportedAppUsage
     public MediaScanner(Context c, String volumeName) {
         native_setup();
         mContext = c;
@@ -458,8 +472,10 @@
                 + Settings.System.ALARM_ALERT);
     }
 
+    @UnsupportedAppUsage
     private final MyMediaScannerClient mClient = new MyMediaScannerClient();
 
+    @UnsupportedAppUsage
     private boolean isDrmEnabled() {
         String prop = SystemProperties.get("drm.service.enabled");
         return prop != null && prop.equals("true");
@@ -475,18 +491,23 @@
         private String mTitle;
         private String mComposer;
         private String mGenre;
+        @UnsupportedAppUsage
         private String mMimeType;
+        @UnsupportedAppUsage
         private int mFileType;
         private int mTrack;
         private int mYear;
         private int mDuration;
+        @UnsupportedAppUsage
         private String mPath;
         private long mDate;
         private long mLastModified;
         private long mFileSize;
         private String mWriter;
         private int mCompilation;
+        @UnsupportedAppUsage
         private boolean mIsDrm;
+        @UnsupportedAppUsage
         private boolean mNoMedia;   // flag to suppress file from appearing in media tables
         private boolean mScanSuccess;
         private int mWidth;
@@ -497,6 +518,7 @@
             mDateFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
         }
 
+        @UnsupportedAppUsage
         public FileEntry beginFile(String path, String mimeType, long lastModified,
                 long fileSize, boolean isDirectory, boolean noMedia) {
             mMimeType = mimeType;
@@ -574,6 +596,7 @@
         }
 
         @Override
+        @UnsupportedAppUsage
         public void scanFile(String path, long lastModified, long fileSize,
                 boolean isDirectory, boolean noMedia) {
             // This is the callback funtion from native codes.
@@ -581,6 +604,7 @@
             doScanFile(path, null, lastModified, fileSize, isDirectory, false, noMedia);
         }
 
+        @UnsupportedAppUsage
         public Uri doScanFile(String path, String mimeType, long lastModified,
                 long fileSize, boolean isDirectory, boolean scanAlways, boolean noMedia) {
             Uri result = null;
@@ -689,6 +713,7 @@
             return result;
         }
 
+        @UnsupportedAppUsage
         public void handleStringTag(String name, String value) {
             if (name.equalsIgnoreCase("title") || name.startsWith("title;")) {
                 // Don't trim() here, to preserve the special \001 character
@@ -833,6 +858,7 @@
             return false;
         }
 
+        @UnsupportedAppUsage
         public void setMimeType(String mimeType) {
             if ("audio/mp4".equals(mMimeType) &&
                     mimeType.startsWith("video")) {
@@ -851,6 +877,7 @@
          *
          * @return a map of values
          */
+        @UnsupportedAppUsage
         private ContentValues toValues() {
             ContentValues map = new ContentValues();
 
@@ -907,6 +934,7 @@
             return map;
         }
 
+        @UnsupportedAppUsage
         private Uri endFile(FileEntry entry, boolean ringtones, boolean notifications,
                 boolean alarms, boolean music, boolean podcasts)
                 throws RemoteException {
@@ -1135,6 +1163,7 @@
             Settings.System.putInt(cr, settingSetIndicatorName(settingName), 1);
         }
 
+        @UnsupportedAppUsage
         private int getFileTypeFromDrm(String path) {
             if (!isDrmEnabled()) {
                 return 0;
@@ -1185,6 +1214,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private void prescan(String filePath, boolean prescanFiles) throws RemoteException {
         Cursor c = null;
         String where = null;
@@ -1331,6 +1361,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private void postscan(final String[] directories) throws RemoteException {
 
         // handle playlists last, after we know what media files are on the storage.
@@ -1395,6 +1426,7 @@
     }
 
     // this function is used to scan a single file
+    @UnsupportedAppUsage
     public Uri scanSingleFile(String path, String mimeType) {
         try {
             prescan(path, true);
@@ -1467,6 +1499,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public static boolean isNoMediaPath(String path) {
         if (path == null) {
             return false;
@@ -1565,6 +1598,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     FileEntry makeEntryFor(String path) {
         String where;
         String[] selectionArgs;
@@ -1900,6 +1934,7 @@
 
     private native void processDirectory(String path, MediaScannerClient client);
     private native boolean processFile(String path, String mimeType, MediaScannerClient client);
+    @UnsupportedAppUsage
     private native void setLocale(String locale);
 
     public native byte[] extractAlbumArt(FileDescriptor fd);
diff --git a/media/java/android/media/Metadata.java b/media/java/android/media/Metadata.java
index 4b8f81e..792a2ba 100644
--- a/media/java/android/media/Metadata.java
+++ b/media/java/android/media/Metadata.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.util.Log;
 import android.util.MathUtils;
@@ -68,18 +69,22 @@
     /**
      * Indicate whether the media can be paused
      */
+    @UnsupportedAppUsage
     public static final int PAUSE_AVAILABLE         = 1; // Boolean
     /**
      * Indicate whether the media can be backward seeked
      */
+    @UnsupportedAppUsage
     public static final int SEEK_BACKWARD_AVAILABLE = 2; // Boolean
     /**
      * Indicate whether the media can be forward seeked
      */
+    @UnsupportedAppUsage
     public static final int SEEK_FORWARD_AVAILABLE  = 3; // Boolean
     /**
      * Indicate whether the media can be seeked
      */
+    @UnsupportedAppUsage
     public static final int SEEK_AVAILABLE          = 4; // Boolean
 
     // TODO: Should we use numbers compatible with the metadata retriever?
@@ -264,6 +269,7 @@
     /**
      * {@hide}
      */
+    @UnsupportedAppUsage
     public Metadata() { }
 
     /**
@@ -382,6 +388,7 @@
      * @return false if an error occurred.
      * {@hide}
      */
+    @UnsupportedAppUsage
     public boolean parse(Parcel parcel) {
         if (parcel.dataAvail() < kMetaHeaderSize) {
             Log.e(TAG, "Not enough data " + parcel.dataAvail());
@@ -418,6 +425,7 @@
     /**
      * @return The set of metadata ID found.
      */
+    @UnsupportedAppUsage
     public Set<Integer> keySet() {
         return mKeyToPosMap.keySet();
     }
@@ -425,6 +433,7 @@
     /**
      * @return true if a value is present for the given key.
      */
+    @UnsupportedAppUsage
     public boolean has(final int metadataId) {
         if (!checkMetadataId(metadataId)) {
             throw new IllegalArgumentException("Invalid key: " + metadataId);
@@ -439,6 +448,7 @@
     /**
      * {@hide}
      */
+    @UnsupportedAppUsage
     public String getString(final int key) {
         checkType(key, STRING_VAL);
         return mParcel.readString();
@@ -447,6 +457,7 @@
     /**
      * {@hide}
      */
+    @UnsupportedAppUsage
     public int getInt(final int key) {
         checkType(key, INTEGER_VAL);
         return mParcel.readInt();
@@ -455,6 +466,7 @@
     /**
      * Get the boolean value indicated by key
      */
+    @UnsupportedAppUsage
     public boolean getBoolean(final int key) {
         checkType(key, BOOLEAN_VAL);
         return mParcel.readInt() == 1;
@@ -463,6 +475,7 @@
     /**
      * {@hide}
      */
+    @UnsupportedAppUsage
     public long getLong(final int key) {
         checkType(key, LONG_VAL);    /**
      * {@hide}
@@ -473,6 +486,7 @@
     /**
      * {@hide}
      */
+    @UnsupportedAppUsage
     public double getDouble(final int key) {
         checkType(key, DOUBLE_VAL);
         return mParcel.readDouble();
@@ -481,6 +495,7 @@
     /**
      * {@hide}
      */
+    @UnsupportedAppUsage
     public byte[] getByteArray(final int key) {
         checkType(key, BYTE_ARRAY_VAL);
         return mParcel.createByteArray();
@@ -489,6 +504,7 @@
     /**
      * {@hide}
      */
+    @UnsupportedAppUsage
     public Date getDate(final int key) {
         checkType(key, DATE_VAL);
         final long timeSinceEpoch = mParcel.readLong();
diff --git a/media/java/android/media/MicrophoneInfo.java b/media/java/android/media/MicrophoneInfo.java
index d6399a4..f805975 100644
--- a/media/java/android/media/MicrophoneInfo.java
+++ b/media/java/android/media/MicrophoneInfo.java
@@ -18,6 +18,7 @@
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.util.Pair;
 
 import java.lang.annotation.Retention;
@@ -163,6 +164,7 @@
     private int mType;
     private int mDirectionality;
 
+    @UnsupportedAppUsage
     MicrophoneInfo(String deviceId, int type, String address, int location,
             int group, int indexInTheGroup, Coordinate3F position,
             Coordinate3F orientation, List<Pair<Float, Float>> frequencyResponse,
diff --git a/media/java/android/media/MiniThumbFile.java b/media/java/android/media/MiniThumbFile.java
index 9899367..716e0cb 100644
--- a/media/java/android/media/MiniThumbFile.java
+++ b/media/java/android/media/MiniThumbFile.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.net.Uri;
 import android.os.Environment;
 import android.util.Log;
@@ -59,6 +60,7 @@
      * We store different types of thumbnails in different files. To remain backward compatibility,
      * we should hashcode of content://media/external/images/media remains the same.
      */
+    @UnsupportedAppUsage
     public static synchronized void reset() {
         for (MiniThumbFile file : sThumbFiles.values()) {
             file.deactivate();
diff --git a/media/java/android/media/PlaybackParams.java b/media/java/android/media/PlaybackParams.java
index b85e4d0..6594dd7 100644
--- a/media/java/android/media/PlaybackParams.java
+++ b/media/java/android/media/PlaybackParams.java
@@ -18,6 +18,7 @@
 
 import android.annotation.IntDef;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -85,16 +86,25 @@
     public static final int AUDIO_STRETCH_MODE_VOICE = 1;
 
     // flags to indicate which params are actually set
+    @UnsupportedAppUsage
     private static final int SET_SPEED               = 1 << 0;
+    @UnsupportedAppUsage
     private static final int SET_PITCH               = 1 << 1;
+    @UnsupportedAppUsage
     private static final int SET_AUDIO_FALLBACK_MODE = 1 << 2;
+    @UnsupportedAppUsage
     private static final int SET_AUDIO_STRETCH_MODE  = 1 << 3;
+    @UnsupportedAppUsage
     private int mSet = 0;
 
     // params
+    @UnsupportedAppUsage
     private int mAudioFallbackMode = AUDIO_FALLBACK_MODE_DEFAULT;
+    @UnsupportedAppUsage
     private int mAudioStretchMode = AUDIO_STRETCH_MODE_DEFAULT;
+    @UnsupportedAppUsage
     private float mPitch = 1.0f;
+    @UnsupportedAppUsage
     private float mSpeed = 1.0f;
 
     public PlaybackParams() {
diff --git a/media/java/android/media/RemoteControlClient.java b/media/java/android/media/RemoteControlClient.java
index 6d32eff..3b51c82 100644
--- a/media/java/android/media/RemoteControlClient.java
+++ b/media/java/android/media/RemoteControlClient.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.app.PendingIntent;
 import android.content.ComponentName;
 import android.content.Intent;
@@ -820,6 +821,7 @@
      * position updates. The playback position being "readable" is considered from the application's
      * point of view.
      */
+    @UnsupportedAppUsage
     public static int MEDIA_POSITION_READABLE = 1 << 0;
     /**
      * @hide
@@ -827,6 +829,7 @@
      * playback position updates. The playback position being "writable"
      * is considered from the application's point of view.
      */
+    @UnsupportedAppUsage
     public static int MEDIA_POSITION_WRITABLE = 1 << 1;
 
     /** @hide */
diff --git a/media/java/android/media/RemoteController.java b/media/java/android/media/RemoteController.java
index 90f2163..b6e3276 100644
--- a/media/java/android/media/RemoteController.java
+++ b/media/java/android/media/RemoteController.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityManager;
 import android.content.ComponentName;
 import android.content.Context;
@@ -79,6 +80,7 @@
     private int mArtworkHeight = -1;
     private boolean mEnabled = true;
     // synchronized on mInfoLock, for USE_SESSION apis.
+    @UnsupportedAppUsage
     private MediaController mCurrentSession;
 
     /**
@@ -292,6 +294,7 @@
      * @return true if successful
      * @throws IllegalArgumentException
      */
+    @UnsupportedAppUsage
     public boolean setArtworkConfiguration(boolean wantBitmap, int width, int height)
             throws IllegalArgumentException {
         synchronized (mInfoLock) {
@@ -689,6 +692,7 @@
      * Used by AudioManager to access user listener receiving the client update notifications
      * @return
      */
+    @UnsupportedAppUsage
     OnClientUpdateListener getUpdateListener() {
         return mOnClientUpdateListener;
     }
diff --git a/media/java/android/media/RemoteDisplay.java b/media/java/android/media/RemoteDisplay.java
index 5add65a..2be206f 100644
--- a/media/java/android/media/RemoteDisplay.java
+++ b/media/java/android/media/RemoteDisplay.java
@@ -18,6 +18,7 @@
 
 import dalvik.system.CloseGuard;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Handler;
 import android.view.Surface;
 
@@ -88,6 +89,7 @@
     /**
      * Disconnects the remote display and stops listening for new connections.
      */
+    @UnsupportedAppUsage
     public void dispose() {
         dispose(false);
     }
@@ -125,6 +127,7 @@
     }
 
     // Called from native.
+    @UnsupportedAppUsage
     private void notifyDisplayConnected(final Surface surface,
             final int width, final int height, final int flags, final int session) {
         mHandler.post(new Runnable() {
@@ -136,6 +139,7 @@
     }
 
     // Called from native.
+    @UnsupportedAppUsage
     private void notifyDisplayDisconnected() {
         mHandler.post(new Runnable() {
             @Override
@@ -146,6 +150,7 @@
     }
 
     // Called from native.
+    @UnsupportedAppUsage
     private void notifyDisplayError(final int error) {
         mHandler.post(new Runnable() {
             @Override
diff --git a/media/java/android/media/RemoteDisplayState.java b/media/java/android/media/RemoteDisplayState.java
index 1197f65..f8a4605 100644
--- a/media/java/android/media/RemoteDisplayState.java
+++ b/media/java/android/media/RemoteDisplayState.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
@@ -40,8 +41,10 @@
     /**
      * A list of all remote displays.
      */
+    @UnsupportedAppUsage
     public final ArrayList<RemoteDisplayInfo> displays;
 
+    @UnsupportedAppUsage
     public RemoteDisplayState() {
         displays = new ArrayList<RemoteDisplayInfo>();
     }
diff --git a/media/java/android/media/Ringtone.java b/media/java/android/media/Ringtone.java
index c0468dc9..32aba7f 100644
--- a/media/java/android/media/Ringtone.java
+++ b/media/java/android/media/Ringtone.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.ContentProvider;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -71,9 +72,11 @@
     private final IRingtonePlayer mRemotePlayer;
     private final Binder mRemoteToken;
 
+    @UnsupportedAppUsage
     private MediaPlayer mLocalPlayer;
     private final MyOnCompletionListener mCompletionListener = new MyOnCompletionListener();
 
+    @UnsupportedAppUsage
     private Uri mUri;
     private String mTitle;
 
@@ -87,6 +90,7 @@
     private final Object mPlaybackSettingsLock = new Object();
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public Ringtone(Context context, boolean allowRemote) {
         mContext = context;
         mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
@@ -298,6 +302,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void setUri(Uri uri) {
         destroyLocalPlayer();
 
@@ -335,6 +340,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public Uri getUri() {
         return mUri;
     }
diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java
index 0dddaf5..66feb1d 100644
--- a/media/java/android/media/RingtoneManager.java
+++ b/media/java/android/media/RingtoneManager.java
@@ -21,6 +21,7 @@
 import android.annotation.RequiresPermission;
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
+import android.annotation.UnsupportedAppUsage;
 import android.annotation.WorkerThread;
 import android.app.Activity;
 import android.content.ContentProvider;
@@ -244,6 +245,7 @@
     private final Activity mActivity;
     private final Context mContext;
 
+    @UnsupportedAppUsage
     private Cursor mCursor;
 
     private int mType = TYPE_RINGTONE;
@@ -602,6 +604,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private Cursor getInternalRingtones() {
         return query(
                 MediaStore.Audio.Media.INTERNAL_CONTENT_URI, INTERNAL_COLUMNS,
@@ -613,6 +616,7 @@
         return getMediaRingtones(mContext);
     }
 
+    @UnsupportedAppUsage
     private Cursor getMediaRingtones(Context context) {
         if (PackageManager.PERMISSION_GRANTED != context.checkPermission(
                 android.Manifest.permission.READ_EXTERNAL_STORAGE,
@@ -727,6 +731,7 @@
      *            not be set (and the default used instead).
      * @see #getRingtone(Context, Uri)
      */
+    @UnsupportedAppUsage
     private static Ringtone getRingtone(final Context context, Uri ringtoneUri, int streamType) {
         try {
             final Ringtone r = new Ringtone(context, true);
diff --git a/media/java/android/media/SubtitleController.java b/media/java/android/media/SubtitleController.java
index fd72b39..1a241af 100644
--- a/media/java/android/media/SubtitleController.java
+++ b/media/java/android/media/SubtitleController.java
@@ -19,6 +19,7 @@
 import java.util.Locale;
 import java.util.Vector;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.media.MediaPlayer.TrackInfo;
 import android.media.SubtitleTrack.RenderingWidget;
@@ -41,6 +42,7 @@
     private SubtitleTrack mSelectedTrack;
     private boolean mShowing;
     private CaptioningManager mCaptioningManager;
+    @UnsupportedAppUsage
     private Handler mHandler;
 
     private static final int WHAT_SHOW = 1;
@@ -91,6 +93,7 @@
      *
      * @param timeProvider
      */
+    @UnsupportedAppUsage
     public SubtitleController(
             Context context,
             MediaTimeProvider timeProvider,
@@ -300,6 +303,7 @@
     }
 
     /** @hide - must be called from anchor thread */
+    @UnsupportedAppUsage
     public void reset() {
         checkAnchorLooper();
         hide();
@@ -344,6 +348,7 @@
      *
      * Should be called from the anchor's (UI) thread. {@see #Anchor.getSubtitleLooper}
      */
+    @UnsupportedAppUsage
     public void show() {
         processOnAnchor(mHandler.obtainMessage(WHAT_SHOW));
     }
@@ -361,6 +366,7 @@
      *
      * Should be called from the anchor's (UI) thread. {@see #Anchor.getSubtitleLooper}
      */
+    @UnsupportedAppUsage
     public void hide() {
         processOnAnchor(mHandler.obtainMessage(WHAT_HIDE));
     }
@@ -412,6 +418,7 @@
      * @param renderer a {@link SubtitleController.Renderer} object that adds
      *                 support for a subtitle format.
      */
+    @UnsupportedAppUsage
     public void registerRenderer(Renderer renderer) {
         synchronized(mRenderers) {
             // TODO how to get available renderers in the system
diff --git a/media/java/android/media/SubtitleTrack.java b/media/java/android/media/SubtitleTrack.java
index 6c8e323..5596c32 100644
--- a/media/java/android/media/SubtitleTrack.java
+++ b/media/java/android/media/SubtitleTrack.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Canvas;
 import android.media.MediaPlayer.TrackInfo;
 import android.os.Handler;
@@ -677,6 +678,7 @@
          *
          * @param callback update callback
          */
+        @UnsupportedAppUsage
         public void setOnChangedListener(OnChangedListener callback);
 
         /**
@@ -685,6 +687,7 @@
          * @param width width in pixels
          * @param height height in pixels
          */
+        @UnsupportedAppUsage
         public void setSize(int width, int height);
 
         /**
@@ -699,16 +702,19 @@
          *
          * @param c canvas on which to render subtitles
          */
+        @UnsupportedAppUsage
         public void draw(Canvas c);
 
         /**
          * Called when the widget is attached to a window.
          */
+        @UnsupportedAppUsage
         public void onAttachedToWindow();
 
         /**
          * Called when the widget is detached from a window.
          */
+        @UnsupportedAppUsage
         public void onDetachedFromWindow();
 
         /**
diff --git a/media/java/android/media/ThumbnailUtils.java b/media/java/android/media/ThumbnailUtils.java
index 429ef29..07ab069 100644
--- a/media/java/android/media/ThumbnailUtils.java
+++ b/media/java/android/media/ThumbnailUtils.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.ContentResolver;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
@@ -65,6 +66,7 @@
      * Constant used to indicate the dimension of micro thumbnail.
      * @hide Only used by media framework and media provider internally.
      */
+    @UnsupportedAppUsage
     public static final int TARGET_SIZE_MICRO_THUMBNAIL = 96;
 
     /**
@@ -81,6 +83,7 @@
      *
      * @hide This method is only used by media framework and media provider internally.
      */
+    @UnsupportedAppUsage
     public static Bitmap createImageThumbnail(String filePath, int kind) {
         boolean wantMini = (kind == Images.Thumbnails.MINI_KIND);
         int targetSize = wantMini
@@ -252,6 +255,7 @@
      * For example, BitmapFactory downsamples an image by 2 even though the
      * request is 3. So we round up the sample size to avoid OOM.
      */
+    @UnsupportedAppUsage
     private static int computeSampleSize(BitmapFactory.Options options,
             int minSideLength, int maxNumOfPixels) {
         int initialSize = computeInitialSampleSize(options, minSideLength,
@@ -270,6 +274,7 @@
         return roundedSize;
     }
 
+    @UnsupportedAppUsage
     private static int computeInitialSampleSize(BitmapFactory.Options options,
             int minSideLength, int maxNumOfPixels) {
         double w = options.outWidth;
@@ -337,6 +342,7 @@
         return b;
     }
 
+    @UnsupportedAppUsage
     private static void closeSilently(ParcelFileDescriptor c) {
       if (c == null) return;
       try {
@@ -346,6 +352,7 @@
       }
     }
 
+    @UnsupportedAppUsage
     private static ParcelFileDescriptor makeInputStream(
             Uri uri, ContentResolver cr) {
         try {
@@ -358,6 +365,7 @@
     /**
      * Transform source Bitmap to targeted width and height.
      */
+    @UnsupportedAppUsage
     private static Bitmap transform(Matrix scaler,
             Bitmap source,
             int targetWidth,
@@ -474,6 +482,7 @@
      * The functions returns a SizedThumbnailBitmap,
      * which contains a downsampled bitmap and the thumbnail data in EXIF if exists.
      */
+    @UnsupportedAppUsage
     private static void createThumbnailFromEXIF(String filePath, int targetSize,
             int maxPixels, SizedThumbnailBitmap sizedThumbBitmap) {
         if (filePath == null) return;
diff --git a/media/java/android/media/TimedText.java b/media/java/android/media/TimedText.java
index e6a7e13..ebcea19 100644
--- a/media/java/android/media/TimedText.java
+++ b/media/java/android/media/TimedText.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.graphics.Rect;
 import android.os.Parcel;
 import android.util.Log;
@@ -724,6 +725,7 @@
      * List of CharPos, Karaoke, Font, Style, and HyperText, or 3) an instance of
      * Justification.
      */
+    @UnsupportedAppUsage
     private Object getObject(final int key) {
         if (containsKey(key)) {
             return mKeyObjectMap.get(key);
diff --git a/media/java/android/media/ToneGenerator.java b/media/java/android/media/ToneGenerator.java
index 4661226..c6d5ba3 100644
--- a/media/java/android/media/ToneGenerator.java
+++ b/media/java/android/media/ToneGenerator.java
@@ -16,6 +16,8 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
+
 
 
 /**
@@ -893,5 +895,6 @@
     protected void finalize() { native_finalize(); }
 
     @SuppressWarnings("unused")
+    @UnsupportedAppUsage
     private long mNativeContext; // accessed by native methods
 }
diff --git a/media/java/android/media/TtmlRenderer.java b/media/java/android/media/TtmlRenderer.java
index 9d587b9..34154ce 100644
--- a/media/java/android/media/TtmlRenderer.java
+++ b/media/java/android/media/TtmlRenderer.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.text.TextUtils;
 import android.util.AttributeSet;
@@ -48,6 +49,7 @@
 
     private TtmlRenderingWidget mRenderingWidget;
 
+    @UnsupportedAppUsage
     public TtmlRenderer(Context context) {
         mContext = context;
     }
diff --git a/media/java/android/media/VolumeShaper.java b/media/java/android/media/VolumeShaper.java
index b654214..2f33e75 100644
--- a/media/java/android/media/VolumeShaper.java
+++ b/media/java/android/media/VolumeShaper.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -413,16 +414,23 @@
          */
 
         // type of VolumeShaper
+        @UnsupportedAppUsage
         private final int mType;
 
         // valid when mType is TYPE_ID
+        @UnsupportedAppUsage
         private final int mId;
 
         // valid when mType is TYPE_SCALE
+        @UnsupportedAppUsage
         private final int mOptionFlags;
+        @UnsupportedAppUsage
         private final double mDurationMs;
+        @UnsupportedAppUsage
         private final int mInterpolatorType;
+        @UnsupportedAppUsage
         private final float[] mTimes;
+        @UnsupportedAppUsage
         private final float[] mVolumes;
 
         @Override
@@ -565,6 +573,7 @@
          * Direct constructor for VolumeShaper.
          * Use the Builder instead.
          */
+        @UnsupportedAppUsage
         private Configuration(@Type int type,
                 int id,
                 @OptionFlag int optionFlags,
@@ -1124,8 +1133,11 @@
 
         private static final int FLAG_PUBLIC_ALL = FLAG_REVERSE | FLAG_TERMINATE;
 
+        @UnsupportedAppUsage
         private final int mFlags;
+        @UnsupportedAppUsage
         private final int mReplaceId;
+        @UnsupportedAppUsage
         private final float mXOffset;
 
         @Override
@@ -1187,6 +1199,7 @@
             }
         };
 
+        @UnsupportedAppUsage
         private Operation(@Flag int flags, int replaceId, float xOffset) {
             mFlags = flags;
             mReplaceId = replaceId;
@@ -1346,7 +1359,9 @@
      *  Not for public use.
      */
     public static final class State implements Parcelable {
+        @UnsupportedAppUsage
         private float mVolume;
+        @UnsupportedAppUsage
         private float mXOffset;
 
         @Override
@@ -1397,6 +1412,7 @@
             }
         };
 
+        @UnsupportedAppUsage
         /* package */ State(float volume, float xOffset) {
             mVolume = volume;
             mXOffset = xOffset;
diff --git a/media/java/android/media/WebVttRenderer.java b/media/java/android/media/WebVttRenderer.java
index 91c53fa..36458d7 100644
--- a/media/java/android/media/WebVttRenderer.java
+++ b/media/java/android/media/WebVttRenderer.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.text.Layout.Alignment;
 import android.text.SpannableStringBuilder;
@@ -44,6 +45,7 @@
 
     private WebVttRenderingWidget mRenderingWidget;
 
+    @UnsupportedAppUsage
     public WebVttRenderer(Context context) {
         mContext = context;
     }
diff --git a/media/java/android/media/audiofx/AudioEffect.java b/media/java/android/media/audiofx/AudioEffect.java
index 24c595f..1a456f6 100644
--- a/media/java/android/media/audiofx/AudioEffect.java
+++ b/media/java/android/media/audiofx/AudioEffect.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.ActivityThread;
 import android.os.Handler;
 import android.os.Looper;
@@ -400,6 +401,7 @@
      * @hide
      */
 
+    @UnsupportedAppUsage
     public AudioEffect(UUID type, UUID uuid, int priority, int audioSession)
             throws IllegalArgumentException, UnsupportedOperationException,
             RuntimeException {
@@ -629,6 +631,7 @@
      * @see #setParameter(byte[], byte[])
      * @hide
      */
+    @UnsupportedAppUsage
     public int setParameter(int[] param, short[] value)
             throws IllegalStateException {
         if (param.length > 2 || value.length > 2) {
@@ -778,6 +781,7 @@
      * In case of success, the returns the number of meaningful integers in value array.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getParameter(int[] param, int[] value)
             throws IllegalStateException {
         if (param.length > 2 || value.length > 2) {
@@ -846,6 +850,7 @@
      * @see #getParameter(byte[], byte[])
      * @hide
      */
+    @UnsupportedAppUsage
     public int getParameter(int[] param, byte[] value)
             throws IllegalStateException {
         if (param.length > 2) {
@@ -867,6 +872,7 @@
      * In case of failure, the returned value is negative and implementation specific.
      * @hide
      */
+    @UnsupportedAppUsage
     public int command(int cmdCode, byte[] command, byte[] reply)
             throws IllegalStateException {
         checkState("command()");
@@ -1277,6 +1283,7 @@
     /**
     * @hide
     */
+    @UnsupportedAppUsage
     public void checkState(String methodName) throws IllegalStateException {
         synchronized (mStateLock) {
             if (mState != STATE_INITIALIZED) {
diff --git a/media/java/android/media/audiofx/Visualizer.java b/media/java/android/media/audiofx/Visualizer.java
index f2b4fe0..a7bdf4f 100644
--- a/media/java/android/media/audiofx/Visualizer.java
+++ b/media/java/android/media/audiofx/Visualizer.java
@@ -16,6 +16,7 @@
 
 package android.media.audiofx;
 
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.util.Log;
 import java.lang.ref.WeakReference;
@@ -164,6 +165,7 @@
     /**
      * System wide unique Identifier of the visualizer engine used by this Visualizer instance
      */
+    @UnsupportedAppUsage
     private int mId;
 
     /**
diff --git a/media/java/android/media/audiopolicy/AudioMix.java b/media/java/android/media/audiopolicy/AudioMix.java
index fca0cc7..8bc1d35 100644
--- a/media/java/android/media/audiopolicy/AudioMix.java
+++ b/media/java/android/media/audiopolicy/AudioMix.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.media.AudioDeviceInfo;
 import android.media.AudioFormat;
 import android.media.AudioSystem;
@@ -33,17 +34,24 @@
 @SystemApi
 public class AudioMix {
 
+    @UnsupportedAppUsage
     private AudioMixingRule mRule;
+    @UnsupportedAppUsage
     private AudioFormat mFormat;
+    @UnsupportedAppUsage
     private int mRouteFlags;
+    @UnsupportedAppUsage
     private int mMixType = MIX_TYPE_INVALID;
 
     // written by AudioPolicy
     int mMixState = MIX_STATE_DISABLED;
+    @UnsupportedAppUsage
     int mCallbackFlags;
+    @UnsupportedAppUsage
     String mDeviceAddress;
 
     // initialized in constructor, read by AudioPolicyConfig
+    @UnsupportedAppUsage
     final int mDeviceSystemType; // an AudioSystem.DEVICE_* value, not AudioDeviceInfo.TYPE_*
 
     /**
diff --git a/media/java/android/media/audiopolicy/AudioMixingRule.java b/media/java/android/media/audiopolicy/AudioMixingRule.java
index 749a45e..fbee62a 100644
--- a/media/java/android/media/audiopolicy/AudioMixingRule.java
+++ b/media/java/android/media/audiopolicy/AudioMixingRule.java
@@ -17,6 +17,7 @@
 package android.media.audiopolicy;
 
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.media.AudioAttributes;
 import android.os.Parcel;
 import android.util.Log;
@@ -92,8 +93,11 @@
             RULE_EXCLUSION_MASK | RULE_MATCH_UID;
 
     static final class AudioMixMatchCriterion {
+        @UnsupportedAppUsage
         final AudioAttributes mAttr;
+        @UnsupportedAppUsage
         final int mIntProp;
+        @UnsupportedAppUsage
         final int mRule;
 
         /** input parameters must be valid */
@@ -157,6 +161,7 @@
 
     private final int mTargetMixType;
     int getTargetMixType() { return mTargetMixType; }
+    @UnsupportedAppUsage
     private final ArrayList<AudioMixMatchCriterion> mCriteria;
     ArrayList<AudioMixMatchCriterion> getCriteria() { return mCriteria; }
 
diff --git a/media/java/android/media/session/MediaController.java b/media/java/android/media/session/MediaController.java
index de22fa3..a4397b3 100644
--- a/media/java/android/media/session/MediaController.java
+++ b/media/java/android/media/session/MediaController.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.pm.ParceledListSlice;
@@ -506,6 +507,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean controlsSameSession(MediaController other) {
         if (other == null) return false;
         return mSessionBinder.asBinder() == other.getSessionBinder().asBinder();
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index fad7e3f..d43cd30 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.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.app.PendingIntent;
 import android.content.Context;
@@ -132,6 +133,7 @@
     private final CallbackStub mCbStub;
 
     // Do not change the name of mCallback. Support lib accesses this by using reflection.
+    @UnsupportedAppUsage
     private CallbackMessageHandler mCallback;
     private VolumeProvider mVolumeProvider;
     private PlaybackState mPlaybackState;
@@ -555,6 +557,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public String getCallingPackage() {
         if (mCallback != null && mCallback.mCurrentControllerInfo != null) {
             return mCallback.mCurrentControllerInfo.getPackageName();
@@ -1304,6 +1307,7 @@
         public static final int UNKNOWN_ID = -1;
 
         private final MediaDescription mDescription;
+        @UnsupportedAppUsage
         private final long mId;
 
         /**
diff --git a/media/java/android/media/session/MediaSessionLegacyHelper.java b/media/java/android/media/session/MediaSessionLegacyHelper.java
index 7c3af31..123c4f7 100644
--- a/media/java/android/media/session/MediaSessionLegacyHelper.java
+++ b/media/java/android/media/session/MediaSessionLegacyHelper.java
@@ -16,6 +16,7 @@
 
 package android.media.session;
 
+import android.annotation.UnsupportedAppUsage;
 import android.app.PendingIntent;
 import android.app.PendingIntent.CanceledException;
 import android.content.ComponentName;
@@ -65,6 +66,7 @@
                 .getSystemService(Context.MEDIA_SESSION_SERVICE);
     }
 
+    @UnsupportedAppUsage
     public static MediaSessionLegacyHelper getHelper(Context context) {
         synchronized (sLock) {
             if (sInstance == null) {
diff --git a/media/java/android/media/session/MediaSessionManager.java b/media/java/android/media/session/MediaSessionManager.java
index 3f0b6c5..fb10e6e 100644
--- a/media/java/android/media/session/MediaSessionManager.java
+++ b/media/java/android/media/session/MediaSessionManager.java
@@ -22,6 +22,7 @@
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.content.ComponentName;
 import android.content.Context;
 import android.media.AudioManager;
@@ -144,6 +145,7 @@
      * @return A list of controllers for ongoing sessions.
      * @hide
      */
+    @UnsupportedAppUsage
     public @NonNull List<MediaController> getActiveSessionsForUser(
             @Nullable ComponentName notificationListener, int userId) {
         ArrayList<MediaController> controllers = new ArrayList<MediaController>();
diff --git a/media/java/android/media/soundtrigger/SoundTriggerDetector.java b/media/java/android/media/soundtrigger/SoundTriggerDetector.java
index 7969ee7..56e5566 100644
--- a/media/java/android/media/soundtrigger/SoundTriggerDetector.java
+++ b/media/java/android/media/soundtrigger/SoundTriggerDetector.java
@@ -22,6 +22,7 @@
 import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.hardware.soundtrigger.IRecognitionStatusCallback;
 import android.hardware.soundtrigger.SoundTrigger;
 import android.hardware.soundtrigger.SoundTrigger.RecognitionConfig;
@@ -164,6 +165,7 @@
          * @hide
          */
         @Nullable
+        @UnsupportedAppUsage
         public byte[] getData() {
             if (!mTriggerAvailable) {
                 return mData;
@@ -191,6 +193,7 @@
          * @hide
          */
         @Nullable
+        @UnsupportedAppUsage
         public Integer getCaptureSession() {
             if (mCaptureAvailable) {
                 return mCaptureSession;
diff --git a/media/java/android/media/soundtrigger/SoundTriggerManager.java b/media/java/android/media/soundtrigger/SoundTriggerManager.java
index c9ec752..6a9d31f 100644
--- a/media/java/android/media/soundtrigger/SoundTriggerManager.java
+++ b/media/java/android/media/soundtrigger/SoundTriggerManager.java
@@ -23,6 +23,7 @@
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.app.PendingIntent;
 import android.content.ComponentName;
 import android.content.Context;
@@ -239,6 +240,7 @@
      * @hide
      */
     @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER)
+    @UnsupportedAppUsage
     public int loadSoundModel(SoundModel soundModel) {
         if (soundModel == null) {
             return STATUS_ERROR;
@@ -267,6 +269,7 @@
      * @hide
      */
     @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER)
+    @UnsupportedAppUsage
     public int startRecognition(UUID soundModelId, PendingIntent callbackIntent,
             RecognitionConfig config) {
         if (soundModelId == null || callbackIntent == null || config == null) {
@@ -300,6 +303,7 @@
      * @hide
      */
     @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER)
+    @UnsupportedAppUsage
     public int startRecognition(@NonNull UUID soundModelId, @Nullable Bundle params,
         @NonNull ComponentName detectionService, @NonNull RecognitionConfig config) {
         Preconditions.checkNotNull(soundModelId);
@@ -319,6 +323,7 @@
      * @hide
      */
     @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER)
+    @UnsupportedAppUsage
     public int stopRecognition(UUID soundModelId) {
         if (soundModelId == null) {
             return STATUS_ERROR;
@@ -335,6 +340,7 @@
      * @hide
      */
     @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER)
+    @UnsupportedAppUsage
     public int unloadSoundModel(UUID soundModelId) {
         if (soundModelId == null) {
             return STATUS_ERROR;
@@ -352,6 +358,7 @@
      * @hide
      */
     @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER)
+    @UnsupportedAppUsage
     public boolean isRecognitionActive(UUID soundModelId) {
         if (soundModelId == null) {
             return false;
diff --git a/media/java/android/media/tv/TvInputInfo.java b/media/java/android/media/tv/TvInputInfo.java
index 74085d3..5cb8fb8 100644
--- a/media/java/android/media/tv/TvInputInfo.java
+++ b/media/java/android/media/tv/TvInputInfo.java
@@ -20,6 +20,7 @@
 import android.annotation.NonNull;
 import android.annotation.StringRes;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -318,6 +319,7 @@
      * Returns the component of the service that implements this TV input.
      * @hide
      */
+    @UnsupportedAppUsage
     public ComponentName getComponent() {
         return new ComponentName(mService.serviceInfo.packageName, mService.serviceInfo.name);
     }
diff --git a/media/java/android/media/tv/TvInputService.java b/media/java/android/media/tv/TvInputService.java
index e24124d..d9017b4 100644
--- a/media/java/android/media/tv/TvInputService.java
+++ b/media/java/android/media/tv/TvInputService.java
@@ -22,6 +22,7 @@
 import android.annotation.Nullable;
 import android.annotation.SuppressLint;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityManager;
 import android.app.Service;
 import android.content.Context;
@@ -283,6 +284,7 @@
         private OverlayViewCleanUpTask mOverlayViewCleanUpTask;
         private boolean mOverlayViewEnabled;
         private IBinder mWindowToken;
+        @UnsupportedAppUsage
         private Rect mOverlayFrame;
         private long mStartPositionMs = TvInputManager.TIME_SHIFT_INVALID_TIME;
         private long mCurrentPositionMs = TvInputManager.TIME_SHIFT_INVALID_TIME;
diff --git a/opengl/java/javax/microedition/khronos/egl/EGL10.java b/opengl/java/javax/microedition/khronos/egl/EGL10.java
index 612d59c..8a25170 100644
--- a/opengl/java/javax/microedition/khronos/egl/EGL10.java
+++ b/opengl/java/javax/microedition/khronos/egl/EGL10.java
@@ -16,6 +16,7 @@
 
 package javax.microedition.khronos.egl;
 
+import android.annotation.UnsupportedAppUsage;
 import java.lang.String;
 
 public interface EGL10 extends EGL {
@@ -116,6 +117,7 @@
     String      eglQueryString(EGLDisplay display, int name);
     boolean     eglQuerySurface(EGLDisplay display, EGLSurface surface, int attribute, int[] value);
     /** @hide **/
+    @UnsupportedAppUsage
     boolean     eglReleaseThread();
     boolean     eglSwapBuffers(EGLDisplay display, EGLSurface surface);
     boolean     eglTerminate(EGLDisplay display);
diff --git a/packages/SettingsLib/OWNERS b/packages/SettingsLib/OWNERS
index 4211c272..d188c65 100644
--- a/packages/SettingsLib/OWNERS
+++ b/packages/SettingsLib/OWNERS
@@ -8,8 +8,8 @@
 evanlaird@google.com
 jackqdyulei@google.com
 jmonk@google.com
+leifhendrik@google.com
 mfritze@google.com
-nicoya@google.com
 rogerxue@google.com
 virgild@google.com
 zhfan@google.com
@@ -18,4 +18,4 @@
 miket@google.com
 
 # Exempt resource files (because they are in a flat directory and too hard to manage via OWNERS)
-per-file *.xml=*
\ No newline at end of file
+per-file *.xml=*
diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java
index aa426d3..99e0056 100644
--- a/services/core/java/com/android/server/BluetoothManagerService.java
+++ b/services/core/java/com/android/server/BluetoothManagerService.java
@@ -1161,6 +1161,26 @@
         }
 
         private boolean bindService() {
+            int state = BluetoothAdapter.STATE_OFF;
+            try {
+                mBluetoothLock.readLock().lock();
+                if (mBluetooth != null) {
+                    state = mBluetooth.getState();
+                }
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Unable to call getState", e);
+                return false;
+            } finally {
+                mBluetoothLock.readLock().unlock();
+            }
+
+            if (!mEnable || state != BluetoothAdapter.STATE_ON) {
+                if (DBG) {
+                    Slog.d(TAG, "Unable to bindService while Bluetooth is disabled");
+                }
+                return false;
+            }
+
             if (mIntent != null && mService == null && doBind(mIntent, this, 0,
                     UserHandle.CURRENT_OR_SELF)) {
                 Message msg = mHandler.obtainMessage(MESSAGE_BIND_PROFILE_SERVICE);
diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
index 738b0ca..8cccbb1 100644
--- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
+++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java
@@ -80,6 +80,7 @@
     private int mDisabled2 = 0;
 
     private final Object mLock = new Object();
+    private final DeathRecipient mDeathRecipient = new DeathRecipient();
     // encompasses lights-out mode and other flags defined on View
     private int mSystemUiVisibility = 0;
     private int mFullscreenStackSysUiVisibility;
@@ -93,6 +94,23 @@
     private IBinder mImeToken = null;
     private int mCurrentUserId;
 
+    private class DeathRecipient implements IBinder.DeathRecipient {
+        public void binderDied() {
+            mBar.asBinder().unlinkToDeath(this,0);
+            mBar = null;
+            notifyBarAttachChanged();
+        }
+
+        public void linkToDeath() {
+            try {
+                mBar.asBinder().linkToDeath(mDeathRecipient,0);
+            } catch (RemoteException e) {
+                Slog.e(TAG,"Unable to register Death Recipient for status bar", e);
+            }
+        }
+
+    }
+
     private class DisableRecord implements IBinder.DeathRecipient {
         int userId;
         String pkg;
@@ -859,16 +877,7 @@
 
         Slog.i(TAG, "registerStatusBar bar=" + bar);
         mBar = bar;
-        try {
-            mBar.asBinder().linkToDeath(new DeathRecipient() {
-                @Override
-                public void binderDied() {
-                    mBar = null;
-                    notifyBarAttachChanged();
-                }
-            }, 0);
-        } catch (RemoteException e) {
-        }
+        mDeathRecipient.linkToDeath();
         notifyBarAttachChanged();
         synchronized (mIcons) {
             for (String slot : mIcons.keySet()) {
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index fb53b0a..82a2895 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -28,6 +28,7 @@
 import android.content.res.Configuration;
 import android.content.res.Resources.Theme;
 import android.database.sqlite.SQLiteCompatibilityWalFlags;
+import android.database.sqlite.SQLiteGlobal;
 import android.os.BaseBundle;
 import android.os.Binder;
 import android.os.Build;
@@ -350,6 +351,10 @@
             Binder.setWarnOnBlocking(true);
             // The system server should always load safe labels
             PackageItemInfo.setForceSafeLabels(true);
+
+            // Default to FULL within the system server.
+            SQLiteGlobal.sDefaultSyncMode = SQLiteGlobal.SYNC_MODE_FULL;
+
             // Deactivate SQLiteCompatibilityWalFlags until settings provider is initialized
             SQLiteCompatibilityWalFlags.init(null);
 
diff --git a/tools/aapt2/process/SymbolTable.cpp b/tools/aapt2/process/SymbolTable.cpp
index fc4c9b5..70efbf5 100644
--- a/tools/aapt2/process/SymbolTable.cpp
+++ b/tools/aapt2/process/SymbolTable.cpp
@@ -194,6 +194,7 @@
 
   if (sr.package->id && sr.type->id && sr.entry->id) {
     symbol->id = ResourceId(sr.package->id.value(), sr.type->id.value(), sr.entry->id.value());
+    symbol->is_dynamic = (sr.package->id.value() == 0);
   }
 
   if (name.type == ResourceType::kAttr || name.type == ResourceType::kAttrPrivate) {