diff options
| author | 2018-08-20 11:20:41 -0700 | |
|---|---|---|
| committer | 2018-08-20 11:20:41 -0700 | |
| commit | 10d816c49d85e5a8b75b04d22ba3686c3e83713b (patch) | |
| tree | b73fa11e5379d49e2340565c8d4c55daec10e329 | |
| parent | 147350473e6fbd3271f2d818519d7642b1cd0ef6 (diff) | |
| parent | 49e1c134af19354a0f6d569e8f6ccef811143cc2 (diff) | |
resolve merge conflicts of 2382108d012e2200e7ed04668542ab15ca7be6b4 to stage-aosp-master
am: 49e1c134af
Change-Id: Ibe53538ff14d06275f0337b36a5c16160d31a8ff
74 files changed, 547 insertions, 464 deletions
diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt index 2629b85faac8..34bd568de169 100644 --- a/config/hiddenapi-light-greylist.txt +++ b/config/hiddenapi-light-greylist.txt @@ -518,215 +518,6 @@ Landroid/location/ILocationManager$Stub;-><init>()V Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager; Landroid/location/ILocationManager$Stub;->TRANSACTION_getAllProviders:I Landroid/location/ILocationManager;->getAllProviders()Ljava/util/List; -Landroid/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;->getStreamMaxVolume(I)I 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/IMediaScannerService;->scanFile(Ljava/lang/String;Ljava/lang/Stri 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; diff --git a/config/hiddenapi-vendor-list.txt b/config/hiddenapi-vendor-list.txt index 42aacbca6e74..cf1221587f70 100644 --- a/config/hiddenapi-vendor-list.txt +++ b/config/hiddenapi-vendor-list.txt @@ -41,20 +41,6 @@ Landroid/location/ILocationManager;->getNetworkProviderPackage()Ljava/lang/Strin Landroid/location/ILocationManager;->reportLocation(Landroid/location/Location;Z)V Landroid/location/INetInitiatedListener$Stub;-><init>()V Landroid/location/INetInitiatedListener;->sendNiResponse(II)Z -Landroid/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 diff --git a/media/java/android/media/AmrInputStream.java b/media/java/android/media/AmrInputStream.java index efaf2244e26c..5088798a2910 100644 --- a/media/java/android/media/AmrInputStream.java +++ b/media/java/android/media/AmrInputStream.java @@ -20,6 +20,7 @@ import java.io.InputStream; 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 @@ public final class AmrInputStream extends InputStream { /** * 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 c1a178a2bf83..8ac26553bab4 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 @@ public class AsyncPlayer { * * @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 9152ff2e99f7..e8bc62298c47 100644 --- a/media/java/android/media/AudioAttributes.java +++ b/media/java/android/media/AudioAttributes.java @@ -19,6 +19,7 @@ package android.media; 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 @@ public final class AudioAttributes implements Parcelable { 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 @@ public final class AudioAttributes implements Parcelable { * @param tag * @return the same Builder instance. */ + @UnsupportedAppUsage public Builder addTag(String tag) { mTags.add(tag); return this; @@ -675,6 +682,7 @@ public final class AudioAttributes implements Parcelable { * @param streamType * @return the same Builder instance. */ + @UnsupportedAppUsage public Builder setInternalLegacyStreamType(int streamType) { switch(streamType) { case AudioSystem.STREAM_VOICE_CALL: @@ -1016,6 +1024,7 @@ public final class AudioAttributes implements Parcelable { * @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 aea39a3a1623..62b18cbafcb1 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 @@ public class AudioDevicePort extends AudioPort { 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 @@ public class AudioDevicePort extends AudioPort { /** * 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 e468a535e726..0c647ea85c60 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 @@ package android.media; */ 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 e245425a4897..b7fc2e80d897 100644 --- a/media/java/android/media/AudioFormat.java +++ b/media/java/android/media/AudioFormat.java @@ -19,6 +19,7 @@ package android.media; 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 @@ public final class AudioFormat implements Parcelable { */ // 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 @@ public final class AudioFormat implements Parcelable { /** @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 57709d525415..dd129a26ee59 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 @@ public class AudioGain { // 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 ea6167996bb8..f5ebef85d302 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 @@ package android.media; */ 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 6493dac114b1..24f81f918af2 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 @@ package android.media; * 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 0c38c38e88ff..bbc51ce37a52 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -25,6 +25,7 @@ import android.annotation.SdkConstant.SdkConstantType; 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 @@ public class AudioManager { * @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 @@ public class AudioManager { /** * @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 @@ public class AudioManager { /** * @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 class AudioManager { 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 @@ public class AudioManager { * @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 @@ public class AudioManager { /** * @hide */ + @UnsupportedAppUsage public AudioManager(Context context) { setContext(context); mUseVolumeKeySounds = getContext().getResources().getBoolean( @@ -710,6 +719,7 @@ public class AudioManager { } } + @UnsupportedAppUsage private static IAudioService getService() { if (sService != null) { @@ -873,6 +883,7 @@ public class AudioManager { } /** @hide */ + @UnsupportedAppUsage public void setMasterMute(boolean mute, int flags) { final IAudioService service = getService(); try { @@ -907,6 +918,7 @@ public class AudioManager { * @see #setRingerMode(int) * @hide */ + @UnsupportedAppUsage public static boolean isValidRingerMode(int ringerMode) { if (ringerMode < 0 || ringerMode > RINGER_MODE_MAX) { return false; @@ -1055,6 +1067,7 @@ public class AudioManager { * * @hide */ + @UnsupportedAppUsage public int getLastAudibleStreamVolume(int streamType) { final IAudioService service = getService(); try { @@ -1213,6 +1226,7 @@ public class AudioManager { * * @hide */ + @UnsupportedAppUsage public boolean isMasterMute() { final IAudioService service = getService(); try { @@ -1229,6 +1243,7 @@ public class AudioManager { * * @hide */ + @UnsupportedAppUsage public void forceVolumeControlStream(int streamType) { final IAudioService service = getService(); try { @@ -1521,6 +1536,7 @@ public class AudioManager { * @see #stopBluetoothSco() * @see #ACTION_SCO_AUDIO_STATE_UPDATED */ + @UnsupportedAppUsage public void startBluetoothScoVirtualCall() { final IAudioService service = getService(); try { @@ -1844,6 +1860,7 @@ public class AudioManager { * 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 @@ public class AudioManager { /** * @hide Number of sound effects */ + @UnsupportedAppUsage public static final int NUM_SOUND_EFFECTS = 10; /** @@ -2224,6 +2242,7 @@ public class AudioManager { * 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 @@ public class AudioManager { * @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 @@ public class AudioManager { * 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 @@ public class AudioManager { * 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 @@ public class AudioManager { * * @hide pending API Council approval */ + @UnsupportedAppUsage public boolean isSilentMode() { int ringerMode = getRingerMode(); boolean silentMode = @@ -3631,15 +3654,19 @@ public class AudioManager { * 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 @@ public class AudioManager { * 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 @@ public class AudioManager { 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 class AudioManager { 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 @@ public class AudioManager { * * {@hide} */ + @UnsupportedAppUsage public int getDevicesForStream(int streamType) { switch (streamType) { case STREAM_VOICE_CALL: @@ -3885,6 +3920,7 @@ public class AudioManager { * @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 @@ public class AudioManager { * a better solution. * @hide */ + @UnsupportedAppUsage public int getOutputLatency(int streamType) { return AudioSystem.getOutputLatency(streamType); } @@ -4140,6 +4177,7 @@ public class AudioManager { * Only useful for volume controllers. * @hide */ + @UnsupportedAppUsage public void setRingerModeInternal(int ringerMode) { try { getService().setRingerModeInternal(ringerMode, getContext().getOpPackageName()); @@ -4152,6 +4190,7 @@ public class AudioManager { * Only useful for volume controllers. * @hide */ + @UnsupportedAppUsage public int getRingerModeInternal() { try { return getService().getRingerModeInternal(); @@ -4241,6 +4280,7 @@ public class AudioManager { * @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 @@ public class AudioManager { * patch[0] contains the newly created patch * @hide */ + @UnsupportedAppUsage public static int createAudioPatch(AudioPatch[] patch, AudioPortConfig[] sources, AudioPortConfig[] sinks) { @@ -4339,6 +4380,7 @@ public class AudioManager { * - {@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 @@ public class AudioManager { * @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 @@ public class AudioManager { * Register an audio port list update listener. * @hide */ + @UnsupportedAppUsage public void registerAudioPortUpdateListener(OnAudioPortUpdateListener l) { sAudioPortEventHandler.init(); sAudioPortEventHandler.registerListener(l); @@ -4405,6 +4449,7 @@ public class AudioManager { * 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 ba144bf4bf77..c4a5c4d86a41 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 @@ public class AudioMixPort extends AudioPort { 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 @@ public class AudioMixPort extends AudioPort { /** * 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 8eb9ef46faa9..315e46b725ad 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 @@ package android.media; 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 6c70213ad83a..d1f800694f50 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 @@ package android.media; */ 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 @@ public class AudioPatch { /** * Retrieve the list of sources of this audio patch. */ + @UnsupportedAppUsage public AudioPortConfig[] sources() { return mSources; } @@ -49,6 +54,7 @@ public class AudioPatch { /** * 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 047db19431c2..83eb240be743 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 class AudioPort { 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 @@ public class AudioPort { /** * Get the system unique device ID. */ + @UnsupportedAppUsage public int id() { return mHandle.id(); } @@ -105,6 +113,7 @@ public class AudioPort { /** * 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 f937cc29de2b..45e49a7fb3e1 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 @@ package android.media; */ 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 @@ public class AudioPortConfig { 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 @@ public class AudioPortConfig { /** * 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 ac3904a22882..f9a4b1e90ad2 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 @@ class AudioPortEventHandler { * Accessed by native methods: JNI Callback context. */ @SuppressWarnings("unused") + @UnsupportedAppUsage private long mJniCallback; void init() { @@ -170,6 +172,7 @@ class AudioPortEventHandler { } @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 54800ae213cd..452ba0f2e8ec 100644 --- a/media/java/android/media/AudioRecord.java +++ b/media/java/android/media/AudioRecord.java @@ -29,6 +29,7 @@ import java.util.List; 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 @@ public class AudioRecord implements AudioRouting * 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 @@ public class AudioRecord implements AudioRouting /** * 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 @@ public class AudioRecord implements AudioRouting /** * AudioAttributes */ + @UnsupportedAppUsage private AudioAttributes mAudioAttributes; private boolean mIsSubmixFullVolume = false; @@ -1720,6 +1726,7 @@ public class AudioRecord implements AudioRouting // 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 @@ public class AudioRecord implements AudioRouting // 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 @@ public class AudioRecord implements AudioRouting /** * @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 984c5542cb7b..9ada216d5e95 100644 --- a/media/java/android/media/AudioRecordingConfiguration.java +++ b/media/java/android/media/AudioRecordingConfiguration.java @@ -18,6 +18,7 @@ package android.media; 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 @@ public final class AudioRecordingConfiguration implements Parcelable { * <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 @@ public final class AudioRecordingConfiguration implements Parcelable { * <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 7c893d0e0fcf..39f3b317d210 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 class AudioSystem 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 @@ public class AudioSystem // 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 @@ public class AudioSystem * <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 @@ public class AudioSystem * * @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 @@ public class AudioSystem * * 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 @@ public class AudioSystem * * return true if any recorder using this source is currently recording */ + @UnsupportedAppUsage public static native boolean isSourceActive(int source); /* @@ -186,6 +193,7 @@ public class AudioSystem * 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 @@ public class AudioSystem * 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 @@ public class AudioSystem * 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 @@ public class AudioSystem } } + @UnsupportedAppUsage private static void errorCallbackFromNative(int error) { ErrorCallback errorCallback = null; @@ -272,6 +283,7 @@ public class AudioSystem } } + @UnsupportedAppUsage private static void dynamicPolicyCallbackFromNative(int event, String regId, int val) { DynamicPolicyCallback cb = null; @@ -336,6 +348,7 @@ public class AudioSystem * {@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 class AudioSystem 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 class AudioSystem 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 @@ public class AudioSystem 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 @@ public class AudioSystem 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 class AudioSystem 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 class AudioSystem 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 @@ public class AudioSystem * @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 class AudioSystem 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 87b5d437cb0e..aaf7dd793060 100644 --- a/media/java/android/media/AudioTrack.java +++ b/media/java/android/media/AudioTrack.java @@ -30,6 +30,7 @@ import android.annotation.CallbackExecutor; 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 @@ public class AudioTrack extends PlayerBase * {@link AudioManager#STREAM_ALARM}, {@link AudioManager#STREAM_NOTIFICATION}, and * {@link AudioManager#STREAM_DTMF}. */ + @UnsupportedAppUsage private int mStreamType = AudioManager.STREAM_MUSIC; /** @@ -399,12 +401,14 @@ public class AudioTrack extends PlayerBase * 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 @@ public class AudioTrack extends PlayerBase /** * @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 @@ public class AudioTrack extends PlayerBase * a better solution. * @hide */ + @UnsupportedAppUsage public int getLatency() { return native_get_latency(); } @@ -3125,6 +3131,7 @@ public class AudioTrack extends PlayerBase // 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 @@ public class AudioTrack extends PlayerBase /** * @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 d303a2e39882..aa123bdc9cff 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 @@ public class CamcorderProfile } // 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 f16cccfba21e..df5e918ba8d5 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 class DecoderCapabilities * */ public enum VideoDecoder { + @UnsupportedAppUsage VIDEO_DECODER_WMV, }; @@ -39,6 +41,7 @@ public class DecoderCapabilities * The AudioDecoder class represents the type of an audio decoder */ public enum AudioDecoder { + @UnsupportedAppUsage AUDIO_DECODER_WMA, }; @@ -51,6 +54,7 @@ public class DecoderCapabilities * 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 @@ public class DecoderCapabilities * 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 59c9b82b879c..c09c5fae1213 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 @@ public class EncoderCapabilities */ 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 @@ public class EncoderCapabilities * 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 aa457092ca3f..a959759b78de 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 @@ public class ExifInterface { // 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 @@ public class ExifInterface { 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 @@ public class ExifInterface { * 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 @@ public class ExifInterface { * 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 @@ public class ExifInterface { } /** {@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 a768dd3faf7b..dff5e9ae2e22 100644 --- a/media/java/android/media/Image.java +++ b/media/java/android/media/Image.java @@ -20,6 +20,7 @@ import java.nio.ByteBuffer; import java.lang.AutoCloseable; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.graphics.Rect; import android.hardware.HardwareBuffer; @@ -57,6 +58,7 @@ public abstract class Image implements AutoCloseable { /** * @hide */ + @UnsupportedAppUsage protected Image() { } @@ -378,6 +380,7 @@ public abstract class Image implements AutoCloseable { /** * @hide */ + @UnsupportedAppUsage protected Plane() { } diff --git a/media/java/android/media/JetPlayer.java b/media/java/android/media/JetPlayer.java index 7735e785a7ca..b12e647acc4b 100644 --- a/media/java/android/media/JetPlayer.java +++ b/media/java/android/media/JetPlayer.java @@ -21,6 +21,7 @@ import java.io.FileDescriptor; 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 @@ public class JetPlayer * Accessed by native methods: provides access to C++ JetPlayer object */ @SuppressWarnings("unused") + @UnsupportedAppUsage private long mNativePlayerInJavaObj; @@ -560,6 +562,7 @@ public class JetPlayer // 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 2207a2a6d4fe..76fc9e350ecc 100644 --- a/media/java/android/media/MediaCodec.java +++ b/media/java/android/media/MediaCodec.java @@ -19,6 +19,7 @@ package android.media; 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 @@ final public class MediaCodec { * 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 @@ final public class MediaCodec { index, true /* render */, true /* updatePTS */, renderTimestampNs); } + @UnsupportedAppUsage private native final void releaseOutputBuffer( int index, boolean render, boolean updatePTS, long timeNs); @@ -3525,6 +3528,7 @@ final public class MediaCodec { } } + @UnsupportedAppUsage private native final void setParameters(@NonNull String[] keys, @NonNull Object[] values); /** @@ -3555,6 +3559,7 @@ final public class MediaCodec { private native final MediaCodecInfo getOwnCodecInfo(); @NonNull + @UnsupportedAppUsage private native final ByteBuffer[] getBuffers(boolean input); @Nullable @@ -3575,6 +3580,7 @@ final public class MediaCodec { native_init(); } + @UnsupportedAppUsage private long mNativeContext; /** @hide */ diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java index 2cb58d043fc0..91d4fac1af29 100644 --- a/media/java/android/media/MediaCodecInfo.java +++ b/media/java/android/media/MediaCodecInfo.java @@ -18,6 +18,7 @@ package android.media; 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 @@ public final class MediaCodecInfo { 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 3a0a58e5172f..5124ac89154f 100644 --- a/media/java/android/media/MediaDrm.java +++ b/media/java/android/media/MediaDrm.java @@ -21,6 +21,7 @@ import android.annotation.NonNull; 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 @@ public final class MediaDrm implements AutoCloseable { * Get the opaque message data */ @NonNull + @UnsupportedAppUsage public byte[] getData() { return mData; } /** @@ -1481,6 +1483,7 @@ public final class MediaDrm implements AutoCloseable { * certificate server URL obtained from other sources. */ @NonNull + @UnsupportedAppUsage public String getDefaultUrl() { return mDefaultUrl; } } @@ -1497,6 +1500,7 @@ public final class MediaDrm implements AutoCloseable { * @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 @@ public final class MediaDrm implements AutoCloseable { * 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 @@ public final class MediaDrm implements AutoCloseable { * 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 @@ public final class MediaDrm implements AutoCloseable { * @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 @@ public final class MediaDrm implements AutoCloseable { * @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 35937de287a3..3b9b6dd6d889 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 class MediaFile { 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 class MediaFile { 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 @@ public class MediaFile { } } + @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 @@ public class MediaFile { 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 @@ public class MediaFile { 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 @@ public class MediaFile { 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 @@ public class MediaFile { 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 @@ public class MediaFile { } // 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 @@ public class MediaFile { 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 2a2f4fe757d5..d10cbbc295c7 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 final class MediaFormat { */ public static final String MIMETYPE_TEXT_CEA_708 = "text/cea-708"; + @UnsupportedAppUsage private Map<String, Object> mMap; /** @@ -946,6 +948,7 @@ public final class MediaFormat { 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 6bf52bdb60d3..ad25a06fabe2 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 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub { // 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 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub { } @Override + @UnsupportedAppUsage public IBinder connect(String uri, String headers) { if (VERBOSE) { Log.d(TAG, "connect: uri=" + uri + ", headers=" + headers); @@ -128,6 +138,7 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub { } @Override + @UnsupportedAppUsage public void disconnect() { teardownConnection(); mHeaders = null; @@ -312,6 +323,7 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub { } @Override + @UnsupportedAppUsage public int readAt(long offset, int size) { return native_readAt(offset, size); } @@ -381,6 +393,7 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub { } @Override + @UnsupportedAppUsage public synchronized String getMIMEType() { if (mConnection == null) { try { @@ -394,6 +407,7 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub { } @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 98517d1e363d..97a0df799101 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 @@ public class MediaHTTPService extends IMediaHTTPService.Stub { 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 dd069218463a..0749f58e460d 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 @@ public class MediaInserter { } } + @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 94d4d55639dc..2721ad12b16a 100644 --- a/media/java/android/media/MediaMetadata.java +++ b/media/java/android/media/MediaMetadata.java @@ -17,6 +17,7 @@ package android.media; 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 @@ public final class MediaMetadata implements Parcelable { * @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 f9a47a6534f8..57b648e709e9 100644 --- a/media/java/android/media/MediaMetadataRetriever.java +++ b/media/java/android/media/MediaMetadataRetriever.java @@ -19,6 +19,7 @@ package android.media; 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 @@ public class MediaMetadataRetriever return getEmbeddedPicture(EMBEDDED_PICTURE_TYPE_ANY); } + @UnsupportedAppUsage private native byte[] getEmbeddedPicture(int pictureType); /** @@ -675,9 +677,12 @@ public class MediaMetadataRetriever * 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 205ce8d512e5..c91d4d3de442 100644 --- a/media/java/android/media/MediaMuxer.java +++ b/media/java/android/media/MediaMuxer.java @@ -19,6 +19,7 @@ package android.media; 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 @@ final public class MediaMuxer { 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 @@ final public class MediaMuxer { 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 d532e526f2fb..ed4da22f69e7 100644 --- a/media/java/android/media/MediaPlayer.java +++ b/media/java/android/media/MediaPlayer.java @@ -20,6 +20,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityThread; import android.content.ContentProvider; import android.content.ContentResolver; @@ -597,6 +598,7 @@ public class MediaPlayer extends PlayerBase // FIXME: add link to getMetadata(boolean, boolean) {@hide} */ + @UnsupportedAppUsage public static final boolean METADATA_ALL = false; /** @@ -613,6 +615,7 @@ public class MediaPlayer extends PlayerBase // FIXME: add link to getMetadata(boolean, boolean) {@hide} */ + @UnsupportedAppUsage public static final boolean BYPASS_METADATA_FILTER = false; static { @@ -630,6 +633,7 @@ public class MediaPlayer extends PlayerBase 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 @@ public class MediaPlayer extends PlayerBase * player. * {@hide} */ + @UnsupportedAppUsage public Parcel newRequest() { Parcel parcel = Parcel.obtain(); parcel.writeInterfaceToken(IMEDIA_PLAYER); @@ -730,6 +735,7 @@ public class MediaPlayer extends PlayerBase * native player. * {@hide} */ + @UnsupportedAppUsage public void invoke(Parcel request, Parcel reply) { int retcode = native_invoke(request, reply); reply.setDataPosition(0); @@ -1139,11 +1145,13 @@ public class MediaPlayer extends PlayerBase * @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 @@ public class MediaPlayer extends PlayerBase 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 @@ public class MediaPlayer extends PlayerBase // FIXME: unhide. * {@hide} */ + @UnsupportedAppUsage public Metadata getMetadata(final boolean update_only, final boolean apply_filter) { Parcel reply = Parcel.obtain(); @@ -2234,6 +2244,7 @@ public class MediaPlayer extends PlayerBase * @return true if the parameter is set successfully, false otherwise * {@hide} */ + @UnsupportedAppUsage private native boolean setParameter(int key, Parcel value); /** @@ -2550,6 +2561,7 @@ public class MediaPlayer extends PlayerBase /** * Used to read a TrackInfo from a Parcel. */ + @UnsupportedAppUsage static final Parcelable.Creator<TrackInfo> CREATOR = new Parcelable.Creator<TrackInfo>() { @Override @@ -2660,6 +2672,7 @@ public class MediaPlayer extends PlayerBase private SubtitleController mSubtitleController; /** @hide */ + @UnsupportedAppUsage public void setSubtitleAnchor( SubtitleController controller, SubtitleController.Anchor anchor) { @@ -2764,6 +2777,7 @@ public class MediaPlayer extends PlayerBase } /** @hide */ + @UnsupportedAppUsage public void addSubtitleSource(InputStream is, MediaFormat format) throws IllegalStateException { @@ -3276,6 +3290,7 @@ public class MediaPlayer extends PlayerBase * * {@hide} pending API council */ + @UnsupportedAppUsage public void setRetransmitEndpoint(InetSocketAddress endpoint) throws IllegalStateException, IllegalArgumentException { @@ -3327,6 +3342,7 @@ public class MediaPlayer extends PlayerBase private TimeProvider mTimeProvider; /** @hide */ + @UnsupportedAppUsage public MediaTimeProvider getMediaTimeProvider() { if (mTimeProvider == null) { mTimeProvider = new TimeProvider(this); @@ -3723,6 +3739,7 @@ public class MediaPlayer extends PlayerBase mOnPreparedListener = listener; } + @UnsupportedAppUsage private OnPreparedListener mOnPreparedListener; /** @@ -3750,6 +3767,7 @@ public class MediaPlayer extends PlayerBase mOnCompletionListener = listener; } + @UnsupportedAppUsage private OnCompletionListener mOnCompletionListener; /** @@ -3822,6 +3840,7 @@ public class MediaPlayer extends PlayerBase mOnSeekCompleteListener = listener; } + @UnsupportedAppUsage private OnSeekCompleteListener mOnSeekCompleteListener; /** @@ -3883,6 +3902,7 @@ public class MediaPlayer extends PlayerBase mOnTimedTextListener = listener; } + @UnsupportedAppUsage private OnTimedTextListener mOnTimedTextListener; /** @@ -4162,6 +4182,7 @@ public class MediaPlayer extends PlayerBase mOnErrorListener = listener; } + @UnsupportedAppUsage private OnErrorListener mOnErrorListener; @@ -4231,6 +4252,7 @@ public class MediaPlayer extends PlayerBase * 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 @@ public class MediaPlayer extends PlayerBase * * {@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 @@ public class MediaPlayer extends PlayerBase 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 dcc872c16e15..c3d2d358050e 100644 --- a/media/java/android/media/MediaPlayer2.java +++ b/media/java/android/media/MediaPlayer2.java @@ -20,6 +20,7 @@ import android.annotation.CallbackExecutor; 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 @@ public abstract class MediaPlayer2 extends MediaPlayerBase * 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 @@ public abstract class MediaPlayer2 extends MediaPlayerBase * 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 b47b4cd17b5f..d4bfd6175a09 100644 --- a/media/java/android/media/MediaRecorder.java +++ b/media/java/android/media/MediaRecorder.java @@ -19,6 +19,7 @@ package android.media; 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 @@ public class MediaRecorder implements AudioRouting 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 @@ public class MediaRecorder implements AudioRouting // 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 @@ public class MediaRecorder implements AudioRouting mEventHandler.removeCallbacksAndMessages(null); } + @UnsupportedAppUsage private native void native_reset(); /** @@ -1500,13 +1509,17 @@ public class MediaRecorder implements AudioRouting */ 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 70ab8632a889..592672998b84 100644 --- a/media/java/android/media/MediaRouter.java +++ b/media/java/android/media/MediaRouter.java @@ -21,6 +21,7 @@ import android.annotation.DrawableRes; 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 @@ public class MediaRouter { } /** @hide */ + @UnsupportedAppUsage public RouteInfo getSelectedRoute() { return getSelectedRoute(ROUTE_TYPE_ANY); } @@ -937,6 +939,7 @@ public class MediaRouter { /** * @hide internal use */ + @UnsupportedAppUsage public void selectRouteInt(int types, RouteInfo route, boolean explicit) { selectRouteStatic(types, route, explicit); } @@ -1534,6 +1537,7 @@ public class MediaRouter { */ public static class RouteInfo { CharSequence mName; + @UnsupportedAppUsage int mNameResId; CharSequence mDescription; private CharSequence mStatus; @@ -1565,7 +1569,9 @@ public class MediaRouter { /** @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 @@ public class MediaRouter { return getName(context.getResources()); } + @UnsupportedAppUsage CharSequence getName(Resources res) { if (mNameResId != 0) { return res.getText(mNameResId); @@ -1777,6 +1784,7 @@ public class MediaRouter { /** * @hide */ + @UnsupportedAppUsage public int getStatusCode() { return mResolvedStatusCode; } @@ -1801,6 +1809,7 @@ public class MediaRouter { } /** @hide */ + @UnsupportedAppUsage public boolean matchesTypes(int types) { return (mSupportedTypes & types) != 0; } @@ -2031,6 +2040,7 @@ public class MediaRouter { } /** @hide */ + @UnsupportedAppUsage public String getDeviceAddress() { return mDeviceAddress; } @@ -2055,11 +2065,13 @@ public class MediaRouter { } /** @hide */ + @UnsupportedAppUsage public boolean isSelected() { return this == sStatic.mSelectedRoute; } /** @hide */ + @UnsupportedAppUsage public boolean isDefault() { return this == sStatic.mDefaultAudioVideo; } @@ -2070,6 +2082,7 @@ public class MediaRouter { } /** @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 8a757b86a5fa..02e1f2f530d1 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 @@ public class MediaScanner implements AutoCloseable { 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 @@ public class MediaScanner implements AutoCloseable { }; 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 @@ public class MediaScanner implements AutoCloseable { /** 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 @@ public class MediaScanner implements AutoCloseable { 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 @@ public class MediaScanner implements AutoCloseable { 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 @@ public class MediaScanner implements AutoCloseable { + 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 @@ public class MediaScanner implements AutoCloseable { 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 @@ public class MediaScanner implements AutoCloseable { 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 @@ public class MediaScanner implements AutoCloseable { } @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 @@ public class MediaScanner implements AutoCloseable { 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 @@ public class MediaScanner implements AutoCloseable { 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 @@ public class MediaScanner implements AutoCloseable { return false; } + @UnsupportedAppUsage public void setMimeType(String mimeType) { if ("audio/mp4".equals(mMimeType) && mimeType.startsWith("video")) { @@ -851,6 +877,7 @@ public class MediaScanner implements AutoCloseable { * * @return a map of values */ + @UnsupportedAppUsage private ContentValues toValues() { ContentValues map = new ContentValues(); @@ -907,6 +934,7 @@ public class MediaScanner implements AutoCloseable { return map; } + @UnsupportedAppUsage private Uri endFile(FileEntry entry, boolean ringtones, boolean notifications, boolean alarms, boolean music, boolean podcasts) throws RemoteException { @@ -1135,6 +1163,7 @@ public class MediaScanner implements AutoCloseable { Settings.System.putInt(cr, settingSetIndicatorName(settingName), 1); } + @UnsupportedAppUsage private int getFileTypeFromDrm(String path) { if (!isDrmEnabled()) { return 0; @@ -1185,6 +1214,7 @@ public class MediaScanner implements AutoCloseable { } } + @UnsupportedAppUsage private void prescan(String filePath, boolean prescanFiles) throws RemoteException { Cursor c = null; String where = null; @@ -1331,6 +1361,7 @@ public class MediaScanner implements AutoCloseable { } } + @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 @@ public class MediaScanner implements AutoCloseable { } // 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 @@ public class MediaScanner implements AutoCloseable { } } + @UnsupportedAppUsage public static boolean isNoMediaPath(String path) { if (path == null) { return false; @@ -1565,6 +1598,7 @@ public class MediaScanner implements AutoCloseable { } } + @UnsupportedAppUsage FileEntry makeEntryFor(String path) { String where; String[] selectionArgs; @@ -1900,6 +1934,7 @@ public class MediaScanner implements AutoCloseable { 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 4b8f81e01a1d..792a2ba678fd 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 @@ import java.util.TimeZone; /** * 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 @@ import java.util.TimeZone; /** * {@hide} */ + @UnsupportedAppUsage public Metadata() { } /** @@ -382,6 +388,7 @@ import java.util.TimeZone; * @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 @@ import java.util.TimeZone; /** * @return The set of metadata ID found. */ + @UnsupportedAppUsage public Set<Integer> keySet() { return mKeyToPosMap.keySet(); } @@ -425,6 +433,7 @@ import java.util.TimeZone; /** * @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 @@ import java.util.TimeZone; /** * {@hide} */ + @UnsupportedAppUsage public String getString(final int key) { checkType(key, STRING_VAL); return mParcel.readString(); @@ -447,6 +457,7 @@ import java.util.TimeZone; /** * {@hide} */ + @UnsupportedAppUsage public int getInt(final int key) { checkType(key, INTEGER_VAL); return mParcel.readInt(); @@ -455,6 +466,7 @@ import java.util.TimeZone; /** * 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 @@ import java.util.TimeZone; /** * {@hide} */ + @UnsupportedAppUsage public long getLong(final int key) { checkType(key, LONG_VAL); /** * {@hide} @@ -473,6 +486,7 @@ import java.util.TimeZone; /** * {@hide} */ + @UnsupportedAppUsage public double getDouble(final int key) { checkType(key, DOUBLE_VAL); return mParcel.readDouble(); @@ -481,6 +495,7 @@ import java.util.TimeZone; /** * {@hide} */ + @UnsupportedAppUsage public byte[] getByteArray(final int key) { checkType(key, BYTE_ARRAY_VAL); return mParcel.createByteArray(); @@ -489,6 +504,7 @@ import java.util.TimeZone; /** * {@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 d6399a4163fe..f805975d53b0 100644 --- a/media/java/android/media/MicrophoneInfo.java +++ b/media/java/android/media/MicrophoneInfo.java @@ -18,6 +18,7 @@ package android.media; 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 @@ public final class MicrophoneInfo { 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 98993676ce43..716e0cbf9fb4 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 @@ public class MiniThumbFile { * 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 b85e4d0106a1..6594dd79f981 100644 --- a/media/java/android/media/PlaybackParams.java +++ b/media/java/android/media/PlaybackParams.java @@ -18,6 +18,7 @@ package android.media; 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 final class PlaybackParams implements Parcelable { 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 6d32eff9e8d0..3b51c82e06c9 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 @@ import java.lang.IllegalArgumentException; * 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 @@ import java.lang.IllegalArgumentException; * 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 90f2163f1210..b6e3276a4e43 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 @@ import java.util.List; private int mArtworkHeight = -1; private boolean mEnabled = true; // synchronized on mInfoLock, for USE_SESSION apis. + @UnsupportedAppUsage private MediaController mCurrentSession; /** @@ -292,6 +294,7 @@ import java.util.List; * @return true if successful * @throws IllegalArgumentException */ + @UnsupportedAppUsage public boolean setArtworkConfiguration(boolean wantBitmap, int width, int height) throws IllegalArgumentException { synchronized (mInfoLock) { @@ -689,6 +692,7 @@ import java.util.List; * 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 5add65a93bcb..2be206f2f462 100644 --- a/media/java/android/media/RemoteDisplay.java +++ b/media/java/android/media/RemoteDisplay.java @@ -18,6 +18,7 @@ package android.media; import dalvik.system.CloseGuard; +import android.annotation.UnsupportedAppUsage; import android.os.Handler; import android.view.Surface; @@ -88,6 +89,7 @@ public final class RemoteDisplay { /** * Disconnects the remote display and stops listening for new connections. */ + @UnsupportedAppUsage public void dispose() { dispose(false); } @@ -125,6 +127,7 @@ public final class RemoteDisplay { } // 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 @@ public final class RemoteDisplay { } // Called from native. + @UnsupportedAppUsage private void notifyDisplayDisconnected() { mHandler.post(new Runnable() { @Override @@ -146,6 +150,7 @@ public final class RemoteDisplay { } // 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 1197f65925e2..f8a4605ded7a 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 @@ public final class RemoteDisplayState implements Parcelable { /** * 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 c0468dc920ec..32aba7fbd482 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 @@ public class Ringtone { 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 @@ public class Ringtone { 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 @@ public class Ringtone { * * @hide */ + @UnsupportedAppUsage public void setUri(Uri uri) { destroyLocalPlayer(); @@ -335,6 +340,7 @@ public class Ringtone { } /** {@hide} */ + @UnsupportedAppUsage public Uri getUri() { return mUri; } diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java index 0dddaf56ed4c..66feb1ddf272 100644 --- a/media/java/android/media/RingtoneManager.java +++ b/media/java/android/media/RingtoneManager.java @@ -21,6 +21,7 @@ import android.annotation.NonNull; 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 @@ public class RingtoneManager { private final Activity mActivity; private final Context mContext; + @UnsupportedAppUsage private Cursor mCursor; private int mType = TYPE_RINGTONE; @@ -602,6 +604,7 @@ public class RingtoneManager { } } + @UnsupportedAppUsage private Cursor getInternalRingtones() { return query( MediaStore.Audio.Media.INTERNAL_CONTENT_URI, INTERNAL_COLUMNS, @@ -613,6 +616,7 @@ public class RingtoneManager { 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 @@ public class RingtoneManager { * 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 fd72b39b17ab..1a241af7345d 100644 --- a/media/java/android/media/SubtitleController.java +++ b/media/java/android/media/SubtitleController.java @@ -19,6 +19,7 @@ package android.media; 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 @@ public class SubtitleController { private SubtitleTrack mSelectedTrack; private boolean mShowing; private CaptioningManager mCaptioningManager; + @UnsupportedAppUsage private Handler mHandler; private static final int WHAT_SHOW = 1; @@ -91,6 +93,7 @@ public class SubtitleController { * * @param timeProvider */ + @UnsupportedAppUsage public SubtitleController( Context context, MediaTimeProvider timeProvider, @@ -300,6 +303,7 @@ public class SubtitleController { } /** @hide - must be called from anchor thread */ + @UnsupportedAppUsage public void reset() { checkAnchorLooper(); hide(); @@ -344,6 +348,7 @@ public class SubtitleController { * * 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 @@ public class SubtitleController { * * 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 @@ public class SubtitleController { * @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 6c8e3231da3a..5596c325c557 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 @@ public abstract class SubtitleTrack implements MediaTimeProvider.OnMediaTimeList * * @param callback update callback */ + @UnsupportedAppUsage public void setOnChangedListener(OnChangedListener callback); /** @@ -685,6 +687,7 @@ public abstract class SubtitleTrack implements MediaTimeProvider.OnMediaTimeList * @param width width in pixels * @param height height in pixels */ + @UnsupportedAppUsage public void setSize(int width, int height); /** @@ -699,16 +702,19 @@ public abstract class SubtitleTrack implements MediaTimeProvider.OnMediaTimeList * * @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 429ef29fb85e..07ab06934eb3 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 @@ public class ThumbnailUtils { * 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 @@ public class ThumbnailUtils { * * @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 @@ public class ThumbnailUtils { * 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 @@ public class ThumbnailUtils { return roundedSize; } + @UnsupportedAppUsage private static int computeInitialSampleSize(BitmapFactory.Options options, int minSideLength, int maxNumOfPixels) { double w = options.outWidth; @@ -337,6 +342,7 @@ public class ThumbnailUtils { return b; } + @UnsupportedAppUsage private static void closeSilently(ParcelFileDescriptor c) { if (c == null) return; try { @@ -346,6 +352,7 @@ public class ThumbnailUtils { } } + @UnsupportedAppUsage private static ParcelFileDescriptor makeInputStream( Uri uri, ContentResolver cr) { try { @@ -358,6 +365,7 @@ public class ThumbnailUtils { /** * Transform source Bitmap to targeted width and height. */ + @UnsupportedAppUsage private static Bitmap transform(Matrix scaler, Bitmap source, int targetWidth, @@ -474,6 +482,7 @@ public class ThumbnailUtils { * 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 e6a7e1392b45..ebcea1995261 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 @@ public final class TimedText * 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 4661226cdb5c..c6d5ba3f9953 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 @@ public class ToneGenerator 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 9d587b94b1c8..34154ce93a8c 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 @@ public class TtmlRenderer extends SubtitleController.Renderer { 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 b654214ccb25..2f33e75ae68e 100644 --- a/media/java/android/media/VolumeShaper.java +++ b/media/java/android/media/VolumeShaper.java @@ -19,6 +19,7 @@ import android.annotation.IntDef; 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 @@ public final class VolumeShaper implements AutoCloseable { */ // 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 @@ public final class VolumeShaper implements AutoCloseable { * Direct constructor for VolumeShaper. * Use the Builder instead. */ + @UnsupportedAppUsage private Configuration(@Type int type, int id, @OptionFlag int optionFlags, @@ -1124,8 +1133,11 @@ public final class VolumeShaper implements AutoCloseable { 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 @@ public final class VolumeShaper implements AutoCloseable { } }; + @UnsupportedAppUsage private Operation(@Flag int flags, int replaceId, float xOffset) { mFlags = flags; mReplaceId = replaceId; @@ -1346,7 +1359,9 @@ public final class VolumeShaper implements AutoCloseable { * Not for public use. */ public static final class State implements Parcelable { + @UnsupportedAppUsage private float mVolume; + @UnsupportedAppUsage private float mXOffset; @Override @@ -1397,6 +1412,7 @@ public final class VolumeShaper implements AutoCloseable { } }; + @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 91c53fac1799..36458d7e1746 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 @@ public class WebVttRenderer extends SubtitleController.Renderer { 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 24c595f5594e..1a456f69458d 100644 --- a/media/java/android/media/audiofx/AudioEffect.java +++ b/media/java/android/media/audiofx/AudioEffect.java @@ -19,6 +19,7 @@ package android.media.audiofx; 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 @@ public class AudioEffect { * @hide */ + @UnsupportedAppUsage public AudioEffect(UUID type, UUID uuid, int priority, int audioSession) throws IllegalArgumentException, UnsupportedOperationException, RuntimeException { @@ -629,6 +631,7 @@ public class AudioEffect { * @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 @@ public class AudioEffect { * 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 @@ public class AudioEffect { * @see #getParameter(byte[], byte[]) * @hide */ + @UnsupportedAppUsage public int getParameter(int[] param, byte[] value) throws IllegalStateException { if (param.length > 2) { @@ -867,6 +872,7 @@ public class AudioEffect { * 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 @@ public class AudioEffect { /** * @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 f2b4fe093248..a7bdf4f506b2 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 @@ public class Visualizer { /** * 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 fca0cc7327ca..8bc1d35fef36 100644 --- a/media/java/android/media/audiopolicy/AudioMix.java +++ b/media/java/android/media/audiopolicy/AudioMix.java @@ -19,6 +19,7 @@ package android.media.audiopolicy; 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 @@ import java.util.Objects; @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 749a45e3d7bd..fbee62a86dcd 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 @@ public class AudioMixingRule { 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 @@ public class AudioMixingRule { 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 de22fa32c0ac..a4397b334e88 100644 --- a/media/java/android/media/session/MediaController.java +++ b/media/java/android/media/session/MediaController.java @@ -18,6 +18,7 @@ package android.media.session; 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 @@ public final class MediaController { /** * @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 fad7e3f55862..d43cd309d157 100644 --- a/media/java/android/media/session/MediaSession.java +++ b/media/java/android/media/session/MediaSession.java @@ -19,6 +19,7 @@ package android.media.session; 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 @@ public final class MediaSession { 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 @@ public final class MediaSession { * * @hide */ + @UnsupportedAppUsage public String getCallingPackage() { if (mCallback != null && mCallback.mCurrentControllerInfo != null) { return mCallback.mCurrentControllerInfo.getPackageName(); @@ -1304,6 +1307,7 @@ public final class MediaSession { 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 7c3af31a04d7..123c4f75d5b6 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 @@ public class MediaSessionLegacyHelper { .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 3f0b6c5276f5..fb10e6ee7333 100644 --- a/media/java/android/media/session/MediaSessionManager.java +++ b/media/java/android/media/session/MediaSessionManager.java @@ -22,6 +22,7 @@ import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.ComponentName; import android.content.Context; import android.media.AudioManager; @@ -144,6 +145,7 @@ public final class MediaSessionManager { * @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 7969ee757813..56e5566df29c 100644 --- a/media/java/android/media/soundtrigger/SoundTriggerDetector.java +++ b/media/java/android/media/soundtrigger/SoundTriggerDetector.java @@ -22,6 +22,7 @@ import android.annotation.NonNull; 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 @@ public final class SoundTriggerDetector { * @hide */ @Nullable + @UnsupportedAppUsage public byte[] getData() { if (!mTriggerAvailable) { return mData; @@ -191,6 +193,7 @@ public final class SoundTriggerDetector { * @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 c9ec7526fd6a..6a9d31ffaf20 100644 --- a/media/java/android/media/soundtrigger/SoundTriggerManager.java +++ b/media/java/android/media/soundtrigger/SoundTriggerManager.java @@ -23,6 +23,7 @@ import android.annotation.Nullable; 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 @@ public final class SoundTriggerManager { * @hide */ @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) + @UnsupportedAppUsage public int loadSoundModel(SoundModel soundModel) { if (soundModel == null) { return STATUS_ERROR; @@ -267,6 +269,7 @@ public final class SoundTriggerManager { * @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 @@ public final class SoundTriggerManager { * @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 @@ public final class SoundTriggerManager { * @hide */ @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) + @UnsupportedAppUsage public int stopRecognition(UUID soundModelId) { if (soundModelId == null) { return STATUS_ERROR; @@ -335,6 +340,7 @@ public final class SoundTriggerManager { * @hide */ @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) + @UnsupportedAppUsage public int unloadSoundModel(UUID soundModelId) { if (soundModelId == null) { return STATUS_ERROR; @@ -352,6 +358,7 @@ public final class SoundTriggerManager { * @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 74085d39162c..5cb8fb8bee3b 100644 --- a/media/java/android/media/tv/TvInputInfo.java +++ b/media/java/android/media/tv/TvInputInfo.java @@ -20,6 +20,7 @@ import android.annotation.IntDef; 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 @@ public final class TvInputInfo implements Parcelable { * 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 e24124dbe055..d9017b4fb14c 100644 --- a/media/java/android/media/tv/TvInputService.java +++ b/media/java/android/media/tv/TvInputService.java @@ -22,6 +22,7 @@ import android.annotation.NonNull; 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 @@ public abstract class TvInputService extends Service { 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; |