diff options
77 files changed, 808 insertions, 733 deletions
diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt index ff14f32190a3..31f62cac9cf4 100644 --- a/config/hiddenapi-light-greylist.txt +++ b/config/hiddenapi-light-greylist.txt @@ -1962,37 +1962,6 @@ Landroid/transition/TransitionManager;->getRunningTransitions()Landroid/util/Arr  Landroid/transition/TransitionManager;->sPendingTransitions:Ljava/util/ArrayList;  Landroid/transition/TransitionManager;->sRunningTransitions:Ljava/lang/ThreadLocal;  Landroid/util/Singleton;-><init>()V -Landroid/view/accessibility/AccessibilityEvent;->mAction:I -Landroid/view/accessibility/AccessibilityEvent;->mEventType:I -Landroid/view/accessibility/AccessibilityInteractionClient;->clearCache()V -Landroid/view/accessibility/AccessibilityInteractionClient;->getInstance()Landroid/view/accessibility/AccessibilityInteractionClient; -Landroid/view/accessibility/AccessibilityInteractionClient;->setSameThreadMessage(Landroid/os/Message;)V -Landroid/view/accessibility/AccessibilityManager;->DALTONIZER_SIMULATE_MONOCHROMACY:I -Landroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager; -Landroid/view/accessibility/AccessibilityManager;->isHighTextContrastEnabled()Z -Landroid/view/accessibility/AccessibilityManager;->mAccessibilityStateChangeListeners:Landroid/util/ArrayMap; -Landroid/view/accessibility/AccessibilityManager;->mHandler:Landroid/os/Handler; -Landroid/view/accessibility/AccessibilityManager;->mIsEnabled:Z -Landroid/view/accessibility/AccessibilityManager;->mIsHighTextContrastEnabled:Z -Landroid/view/accessibility/AccessibilityManager;->mLock:Ljava/lang/Object; -Landroid/view/accessibility/AccessibilityManager;->mService:Landroid/view/accessibility/IAccessibilityManager; -Landroid/view/accessibility/AccessibilityManager;->mUserId:I -Landroid/view/accessibility/AccessibilityManager;->setStateLocked(I)V -Landroid/view/accessibility/AccessibilityManager;->sInstance:Landroid/view/accessibility/AccessibilityManager; -Landroid/view/accessibility/AccessibilityManager;->sInstanceSync:Ljava/lang/Object; -Landroid/view/accessibility/AccessibilityNodeInfo;->getAccessibilityViewId(J)I -Landroid/view/accessibility/AccessibilityNodeInfo;->getSourceNodeId()J -Landroid/view/accessibility/AccessibilityNodeInfo;->getVirtualDescendantId(J)I -Landroid/view/accessibility/AccessibilityNodeInfo;->isSealed()Z -Landroid/view/accessibility/AccessibilityNodeInfo;->mChildNodeIds:Landroid/util/LongArray; -Landroid/view/accessibility/AccessibilityNodeInfo;->mSealed:Z -Landroid/view/accessibility/AccessibilityNodeInfo;->mSourceNodeId:J -Landroid/view/accessibility/AccessibilityNodeInfo;->refresh(Landroid/os/Bundle;Z)Z -Landroid/view/accessibility/AccessibilityNodeInfo;->setSealed(Z)V -Landroid/view/accessibility/AccessibilityRecord;->getSourceNodeId()J -Landroid/view/accessibility/AccessibilityRecord;->mSealed:Z -Landroid/view/accessibility/AccessibilityRecord;->mSourceNodeId:J -Landroid/view/accessibility/CaptioningManager$CaptionStyle;->PRESETS:[Landroid/view/accessibility/CaptioningManager$CaptionStyle;  Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V  Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V  Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setPerformAccessibilityActionResult(ZI)V @@ -2001,129 +1970,12 @@ Landroid/view/accessibility/IAccessibilityManager$Stub;-><init>()V  Landroid/view/accessibility/IAccessibilityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityManager;  Landroid/view/accessibility/IAccessibilityManager;->getEnabledAccessibilityServiceList(II)Ljava/util/List;  Landroid/view/AccessibilityIterators$AbstractTextSegmentIterator;-><init>()V -Landroid/view/AccessibilityIterators$AbstractTextSegmentIterator;->mText:Ljava/lang/String; -Landroid/view/ActionProvider;->reset()V -Landroid/view/ActionProvider;->setSubUiVisibilityListener(Landroid/view/ActionProvider$SubUiVisibilityListener;)V  Landroid/view/autofill/IAutoFillManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V  Landroid/view/autofill/IAutoFillManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutoFillManager; -Landroid/view/Choreographer$CallbackQueue;->addCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)V -Landroid/view/Choreographer$CallbackRecord;->run(J)V -Landroid/view/Choreographer;->doFrame(JI)V -Landroid/view/Choreographer;->getFrameTime()J -Landroid/view/Choreographer;->getFrameTimeNanos()J -Landroid/view/Choreographer;->mCallbackQueues:[Landroid/view/Choreographer$CallbackQueue; -Landroid/view/Choreographer;->mDisplayEventReceiver:Landroid/view/Choreographer$FrameDisplayEventReceiver; -Landroid/view/Choreographer;->mFrameIntervalNanos:J -Landroid/view/Choreographer;->mLastFrameTimeNanos:J -Landroid/view/Choreographer;->mLock:Ljava/lang/Object; -Landroid/view/Choreographer;->scheduleVsyncLocked()V -Landroid/view/Choreographer;->USE_VSYNC:Z -Landroid/view/ContextThemeWrapper;->getThemeResId()I -Landroid/view/ContextThemeWrapper;->initializeTheme()V -Landroid/view/ContextThemeWrapper;->mInflater:Landroid/view/LayoutInflater; -Landroid/view/ContextThemeWrapper;->mResources:Landroid/content/res/Resources; -Landroid/view/ContextThemeWrapper;->mTheme:Landroid/content/res/Resources$Theme; -Landroid/view/ContextThemeWrapper;->mThemeResource:I -Landroid/view/Display$HdrCapabilities;-><init>([IFFF)V -Landroid/view/Display$Mode;-><init>(IIIF)V -Landroid/view/Display;->getAddress()Ljava/lang/String; -Landroid/view/Display;->getDisplayAdjustments()Landroid/view/DisplayAdjustments; -Landroid/view/Display;->getDisplayInfo(Landroid/view/DisplayInfo;)Z -Landroid/view/Display;->getMaximumSizeDimension()I -Landroid/view/Display;->getOwnerPackageName()Ljava/lang/String; -Landroid/view/Display;->getType()I -Landroid/view/Display;->mDisplayInfo:Landroid/view/DisplayInfo; -Landroid/view/Display;->TYPE_HDMI:I -Landroid/view/Display;->TYPE_UNKNOWN:I -Landroid/view/Display;->TYPE_VIRTUAL:I -Landroid/view/Display;->TYPE_WIFI:I -Landroid/view/DisplayAdjustments;-><init>()V -Landroid/view/DisplayAdjustments;->getConfiguration()Landroid/content/res/Configuration; -Landroid/view/DisplayAdjustments;->setCompatibilityInfo(Landroid/content/res/CompatibilityInfo;)V -Landroid/view/DisplayEventReceiver;-><init>(Landroid/os/Looper;)V -Landroid/view/DisplayEventReceiver;->dispatchHotplug(JIZ)V -Landroid/view/DisplayEventReceiver;->dispatchVsync(JII)V -Landroid/view/DisplayEventReceiver;->mReceiverPtr:J -Landroid/view/DisplayEventReceiver;->onHotplug(JIZ)V -Landroid/view/DisplayEventReceiver;->onVsync(JII)V -Landroid/view/DisplayEventReceiver;->scheduleVsync()V -Landroid/view/DisplayInfo;-><init>()V -Landroid/view/DisplayInfo;->displayCutout:Landroid/view/DisplayCutout; -Landroid/view/DisplayInfo;->logicalHeight:I -Landroid/view/DisplayInfo;->logicalWidth:I -Landroid/view/DisplayInfo;->rotation:I -Landroid/view/DisplayListCanvas;->callDrawGLFunction2(J)V -Landroid/view/DisplayListCanvas;->drawCircle(Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;)V -Landroid/view/DisplayListCanvas;->drawGLFunctor2(JLjava/lang/Runnable;)V -Landroid/view/DragEvent;->mClipData:Landroid/content/ClipData; -Landroid/view/DragEvent;->mClipDescription:Landroid/content/ClipDescription; -Landroid/view/DragEvent;->obtain(Landroid/view/DragEvent;)Landroid/view/DragEvent; -Landroid/view/FrameMetrics;->mTimingData:[J -Landroid/view/FrameMetricsObserver;->mFrameMetrics:Landroid/view/FrameMetrics; -Landroid/view/FrameMetricsObserver;->mMessageQueue:Landroid/os/MessageQueue; -Landroid/view/FrameMetricsObserver;->notifyDataAvailable(I)V -Landroid/view/GestureDetector;->LONGPRESS_TIMEOUT:I -Landroid/view/GestureDetector;->mAlwaysInTapRegion:Z -Landroid/view/GestureDetector;->mListener:Landroid/view/GestureDetector$OnGestureListener; -Landroid/view/GestureDetector;->mMinimumFlingVelocity:I -Landroid/view/GestureDetector;->mTouchSlopSquare:I -Landroid/view/GhostView;->addGhost(Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/GhostView; -Landroid/view/GhostView;->addGhost(Landroid/view/View;Landroid/view/ViewGroup;Landroid/graphics/Matrix;)Landroid/view/GhostView; -Landroid/view/GhostView;->removeGhost(Landroid/view/View;)V  Landroid/view/IApplicationToken$Stub;-><init>()V  Landroid/view/IDockedStackListener$Stub;-><init>()V  Landroid/view/IGraphicsStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V  Landroid/view/IGraphicsStats$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStats; -Landroid/view/InputChannel;-><init>()V -Landroid/view/InputChannel;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/view/InputChannel;->mPtr:J -Landroid/view/InputDevice;-><init>(IIILjava/lang/String;IILjava/lang/String;ZIILandroid/view/KeyCharacterMap;ZZZ)V -Landroid/view/InputDevice;->addMotionRange(IIFFFFF)V -Landroid/view/InputDevice;->isExternal()Z -Landroid/view/InputDevice;->mIsExternal:Z -Landroid/view/InputEvent;->getSequenceNumber()I -Landroid/view/InputEventConsistencyVerifier;-><init>(Ljava/lang/Object;I)V -Landroid/view/InputEventConsistencyVerifier;->isInstrumentationEnabled()Z -Landroid/view/InputEventConsistencyVerifier;->onTouchEvent(Landroid/view/MotionEvent;I)V -Landroid/view/InputEventConsistencyVerifier;->onUnhandledEvent(Landroid/view/InputEvent;I)V -Landroid/view/InputEventReceiver;->dispatchBatchedInputEventPending()V -Landroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;I)V -Landroid/view/InputEventSender;->dispatchInputEventFinished(IZ)V -Landroid/view/InputFilter;-><init>(Landroid/os/Looper;)V -Landroid/view/InputFilter;->onInputEvent(Landroid/view/InputEvent;I)V -Landroid/view/inputmethod/InputMethodInfo;->isDefault(Landroid/content/Context;)Z -Landroid/view/inputmethod/InputMethodInfo;->mSubtypes:Landroid/view/inputmethod/InputMethodSubtypeArray; -Landroid/view/inputmethod/InputMethodManager;->checkFocus()V -Landroid/view/inputmethod/InputMethodManager;->closeCurrentInput()V -Landroid/view/inputmethod/InputMethodManager;->finishInputLocked()V -Landroid/view/inputmethod/InputMethodManager;->focusIn(Landroid/view/View;)V -Landroid/view/inputmethod/InputMethodManager;->focusOut(Landroid/view/View;)V -Landroid/view/inputmethod/InputMethodManager;->getClient()Lcom/android/internal/view/IInputMethodClient; -Landroid/view/inputmethod/InputMethodManager;->getInputContext()Lcom/android/internal/view/IInputContext; -Landroid/view/inputmethod/InputMethodManager;->getInputMethodWindowVisibleHeight()I -Landroid/view/inputmethod/InputMethodManager;->getInstance()Landroid/view/inputmethod/InputMethodManager; -Landroid/view/inputmethod/InputMethodManager;->isCursorAnchorInfoEnabled()Z -Landroid/view/inputmethod/InputMethodManager;->mCurId:Ljava/lang/String; -Landroid/view/inputmethod/InputMethodManager;->mCurMethod:Lcom/android/internal/view/IInputMethodSession; -Landroid/view/inputmethod/InputMethodManager;->mCurRootView:Landroid/view/View; -Landroid/view/inputmethod/InputMethodManager;->mCursorRect:Landroid/graphics/Rect; -Landroid/view/inputmethod/InputMethodManager;->mH:Landroid/view/inputmethod/InputMethodManager$H; -Landroid/view/inputmethod/InputMethodManager;->mNextServedView:Landroid/view/View; -Landroid/view/inputmethod/InputMethodManager;->mServedInputConnectionWrapper:Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper; -Landroid/view/inputmethod/InputMethodManager;->mServedView:Landroid/view/View; -Landroid/view/inputmethod/InputMethodManager;->mService:Lcom/android/internal/view/IInputMethodManager; -Landroid/view/inputmethod/InputMethodManager;->mTmpCursorRect:Landroid/graphics/Rect; -Landroid/view/inputmethod/InputMethodManager;->notifySuggestionPicked(Landroid/text/style/SuggestionSpan;Ljava/lang/String;I)V -Landroid/view/inputmethod/InputMethodManager;->notifyUserAction()V -Landroid/view/inputmethod/InputMethodManager;->onPreWindowFocus(Landroid/view/View;Z)V -Landroid/view/inputmethod/InputMethodManager;->peekInstance()Landroid/view/inputmethod/InputMethodManager; -Landroid/view/inputmethod/InputMethodManager;->registerSuggestionSpansForNotification([Landroid/text/style/SuggestionSpan;)V -Landroid/view/inputmethod/InputMethodManager;->setUpdateCursorAnchorInfoMode(I)V -Landroid/view/inputmethod/InputMethodManager;->showSoftInputUnchecked(ILandroid/os/ResultReceiver;)V -Landroid/view/inputmethod/InputMethodManager;->sInstance:Landroid/view/inputmethod/InputMethodManager; -Landroid/view/inputmethod/InputMethodManager;->windowDismissed(Landroid/os/IBinder;)V -Landroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Ljava/util/List;)V -Landroid/view/InputQueue;->finishInputEvent(JZ)V  Landroid/view/IOnKeyguardExitResult;->onKeyguardExitResult(Z)V  Landroid/view/IRecentsAnimationController;->setAnimationTargetsBehindSystemBars(Z)V  Landroid/view/IRotationWatcher$Stub;-><init>()V @@ -2180,561 +2032,9 @@ Landroid/view/IWindowSession;->setInTouchMode(Z)V  Landroid/view/IWindowSession;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V  Landroid/view/IWindowSession;->wallpaperCommandComplete(Landroid/os/IBinder;Landroid/os/Bundle;)V  Landroid/view/IWindowSession;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V -Landroid/view/KeyCharacterMap$FallbackAction;->keyCode:I -Landroid/view/KeyCharacterMap$FallbackAction;->metaState:I -Landroid/view/KeyCharacterMap;-><init>(J)V -Landroid/view/KeyEvent;->actionToString(I)Ljava/lang/String; -Landroid/view/KeyEvent;->isConfirmKey(I)Z -Landroid/view/KeyEvent;->isDown()Z -Landroid/view/KeyEvent;->mAction:I -Landroid/view/KeyEvent;->mCharacters:Ljava/lang/String; -Landroid/view/KeyEvent;->mDeviceId:I -Landroid/view/KeyEvent;->mDownTime:J -Landroid/view/KeyEvent;->META_ALL_MASK:I -Landroid/view/KeyEvent;->META_ALT_LOCKED:I -Landroid/view/KeyEvent;->META_CAP_LOCKED:I -Landroid/view/KeyEvent;->META_INVALID_MODIFIER_MASK:I -Landroid/view/KeyEvent;->META_LOCK_MASK:I -Landroid/view/KeyEvent;->META_MODIFIER_MASK:I -Landroid/view/KeyEvent;->META_SELECTING:I -Landroid/view/KeyEvent;->META_SYMBOLIC_NAMES:[Ljava/lang/String; -Landroid/view/KeyEvent;->META_SYM_LOCKED:I -Landroid/view/KeyEvent;->META_SYNTHETIC_MASK:I -Landroid/view/KeyEvent;->mEventTime:J -Landroid/view/KeyEvent;->mFlags:I -Landroid/view/KeyEvent;->mKeyCode:I -Landroid/view/KeyEvent;->mMetaState:I -Landroid/view/KeyEvent;->mRepeatCount:I -Landroid/view/KeyEvent;->mScanCode:I -Landroid/view/KeyEvent;->mSource:I -Landroid/view/KeyEvent;->obtain(JJIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent; -Landroid/view/KeyEvent;->recycle()V -Landroid/view/LayoutInflater;->ATTRS_THEME:[I -Landroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; -Landroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;Z)Landroid/view/View; -Landroid/view/LayoutInflater;->mConstructorArgs:[Ljava/lang/Object; -Landroid/view/LayoutInflater;->mConstructorSignature:[Ljava/lang/Class; -Landroid/view/LayoutInflater;->mContext:Landroid/content/Context; -Landroid/view/LayoutInflater;->mFactory2:Landroid/view/LayoutInflater$Factory2; -Landroid/view/LayoutInflater;->mFactory:Landroid/view/LayoutInflater$Factory; -Landroid/view/LayoutInflater;->mFactorySet:Z -Landroid/view/LayoutInflater;->mPrivateFactory:Landroid/view/LayoutInflater$Factory2; -Landroid/view/LayoutInflater;->parseInclude(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/Context;Landroid/view/View;Landroid/util/AttributeSet;)V -Landroid/view/LayoutInflater;->sConstructorMap:Ljava/util/HashMap; -Landroid/view/LayoutInflater;->setPrivateFactory(Landroid/view/LayoutInflater$Factory2;)V -Landroid/view/MotionEvent$PointerCoords;->createArray(I)[Landroid/view/MotionEvent$PointerCoords; -Landroid/view/MotionEvent$PointerCoords;->mPackedAxisBits:J -Landroid/view/MotionEvent$PointerCoords;->mPackedAxisValues:[F -Landroid/view/MotionEvent$PointerProperties;->createArray(I)[Landroid/view/MotionEvent$PointerProperties; -Landroid/view/MotionEvent;->addBatch(Landroid/view/MotionEvent;)Z -Landroid/view/MotionEvent;->copy()Landroid/view/MotionEvent; -Landroid/view/MotionEvent;->getEventTimeNano()J -Landroid/view/MotionEvent;->getPointerIdBits()I -Landroid/view/MotionEvent;->HISTORY_CURRENT:I -Landroid/view/MotionEvent;->mNativePtr:J -Landroid/view/MotionEvent;->nativeGetRawAxisValue(JIII)F -Landroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent; -Landroid/view/MotionEvent;->scale(F)V -Landroid/view/MotionEvent;->setDownTime(J)V -Landroid/view/MotionEvent;->split(I)Landroid/view/MotionEvent; -Landroid/view/NotificationHeaderView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V -Landroid/view/PointerIcon;->load(Landroid/content/Context;)Landroid/view/PointerIcon; -Landroid/view/PointerIcon;->mBitmap:Landroid/graphics/Bitmap; -Landroid/view/PointerIcon;->mBitmapFrames:[Landroid/graphics/Bitmap; -Landroid/view/PointerIcon;->mDurationPerFrame:I -Landroid/view/PointerIcon;->mHotSpotX:F -Landroid/view/PointerIcon;->mHotSpotY:F -Landroid/view/PointerIcon;->mType:I -Landroid/view/RemoteAnimationDefinition;->addRemoteAnimation(IILandroid/view/RemoteAnimationAdapter;)V -Landroid/view/RemoteAnimationTarget;->clipRect:Landroid/graphics/Rect; -Landroid/view/RemoteAnimationTarget;->contentInsets:Landroid/graphics/Rect; -Landroid/view/RemoteAnimationTarget;->isNotInRecents:Z -Landroid/view/RemoteAnimationTarget;->isTranslucent:Z -Landroid/view/RemoteAnimationTarget;->leash:Landroid/view/SurfaceControl; -Landroid/view/RemoteAnimationTarget;->mode:I -Landroid/view/RemoteAnimationTarget;->position:Landroid/graphics/Point; -Landroid/view/RemoteAnimationTarget;->prefixOrderIndex:I -Landroid/view/RemoteAnimationTarget;->sourceContainerBounds:Landroid/graphics/Rect; -Landroid/view/RemoteAnimationTarget;->taskId:I -Landroid/view/RemoteAnimationTarget;->windowConfiguration:Landroid/app/WindowConfiguration; -Landroid/view/RenderNode;->discardDisplayList()V -Landroid/view/RenderNode;->offsetLeftAndRight(I)Z -Landroid/view/RenderNode;->output()V -Landroid/view/RenderNode;->setHasOverlappingRendering(Z)Z -Landroid/view/RenderNode;->setProjectBackwards(Z)Z -Landroid/view/RenderNodeAnimator;-><init>(IF)V -Landroid/view/RenderNodeAnimator;-><init>(Landroid/graphics/CanvasProperty;F)V -Landroid/view/RenderNodeAnimator;-><init>(Landroid/graphics/CanvasProperty;IF)V -Landroid/view/RenderNodeAnimator;->callOnFinished(Landroid/view/RenderNodeAnimator;)V -Landroid/view/RenderNodeAnimator;->mapViewPropertyToRenderProperty(I)I -Landroid/view/RenderNodeAnimator;->setStartValue(F)V -Landroid/view/RenderNodeAnimator;->setTarget(Landroid/view/View;)V -Landroid/view/ScaleGestureDetector;->mListener:Landroid/view/ScaleGestureDetector$OnScaleGestureListener; -Landroid/view/ScaleGestureDetector;->mMinSpan:I -Landroid/view/ScaleGestureDetector;->mSpanSlop:I -Landroid/view/Surface;-><init>()V -Landroid/view/Surface;-><init>(J)V -Landroid/view/Surface;->copyFrom(Landroid/view/SurfaceControl;)V -Landroid/view/Surface;->destroy()V -Landroid/view/Surface;->mLock:Ljava/lang/Object; -Landroid/view/Surface;->mLockedObject:J -Landroid/view/Surface;->mName:Ljava/lang/String; -Landroid/view/Surface;->mNativeObject:J -Landroid/view/Surface;->nativeRelease(J)V -Landroid/view/Surface;->transferFrom(Landroid/view/Surface;)V -Landroid/view/SurfaceControl$PhysicalDisplayInfo;-><init>()V -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->appVsyncOffsetNanos:J -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->density:F -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->height:I -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->presentationDeadlineNanos:J -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->refreshRate:F -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->secure:Z -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->width:I -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->xDpi:F -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->yDpi:F -Landroid/view/SurfaceControl;->closeTransaction()V -Landroid/view/SurfaceControl;->createDisplay(Ljava/lang/String;Z)Landroid/os/IBinder; -Landroid/view/SurfaceControl;->destroyDisplay(Landroid/os/IBinder;)V -Landroid/view/SurfaceControl;->getBuiltInDisplay(I)Landroid/os/IBinder; -Landroid/view/SurfaceControl;->getDisplayConfigs(Landroid/os/IBinder;)[Landroid/view/SurfaceControl$PhysicalDisplayInfo; -Landroid/view/SurfaceControl;->HIDDEN:I -Landroid/view/SurfaceControl;->hide()V -Landroid/view/SurfaceControl;->openTransaction()V -Landroid/view/SurfaceControl;->screenshot(Landroid/graphics/Rect;III)Landroid/graphics/Bitmap; -Landroid/view/SurfaceControl;->screenshot(Landroid/graphics/Rect;IIIIZI)Landroid/graphics/Bitmap; -Landroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;Landroid/graphics/Rect;IIIIZZ)V -Landroid/view/SurfaceControl;->setDisplayLayerStack(Landroid/os/IBinder;I)V -Landroid/view/SurfaceControl;->setDisplayProjection(Landroid/os/IBinder;ILandroid/graphics/Rect;Landroid/graphics/Rect;)V -Landroid/view/SurfaceControl;->setDisplaySurface(Landroid/os/IBinder;Landroid/view/Surface;)V -Landroid/view/SurfaceControl;->setLayer(I)V -Landroid/view/SurfaceControl;->setPosition(FF)V -Landroid/view/SurfaceControl;->show()V -Landroid/view/SurfaceSession;-><init>()V -Landroid/view/SurfaceSession;->kill()V -Landroid/view/SurfaceSession;->mNativeClient:J -Landroid/view/SurfaceView;->isFixedSize()Z -Landroid/view/SurfaceView;->mCallbacks:Ljava/util/ArrayList; -Landroid/view/SurfaceView;->mDrawingStopped:Z -Landroid/view/SurfaceView;->mDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; -Landroid/view/SurfaceView;->mFormat:I -Landroid/view/SurfaceView;->mHaveFrame:Z -Landroid/view/SurfaceView;->mIsCreating:Z -Landroid/view/SurfaceView;->mLastLockTime:J -Landroid/view/SurfaceView;->mRequestedFormat:I -Landroid/view/SurfaceView;->mRequestedHeight:I -Landroid/view/SurfaceView;->mRequestedWidth:I -Landroid/view/SurfaceView;->mSurface:Landroid/view/Surface; -Landroid/view/SurfaceView;->mSurfaceFrame:Landroid/graphics/Rect; -Landroid/view/SurfaceView;->mSurfaceHolder:Landroid/view/SurfaceHolder; -Landroid/view/SurfaceView;->mSurfaceLock:Ljava/util/concurrent/locks/ReentrantLock; -Landroid/view/SurfaceView;->setFrame(IIII)Z -Landroid/view/SurfaceView;->surfacePositionLost_uiRtSync(J)V -Landroid/view/SurfaceView;->updateSurfacePosition_renderWorker(JIIII)V -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(III)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(IIILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(II)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextSelection;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionStarted(I)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker;-><init>(Landroid/content/Context;I)V -Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->logEvent(Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;)V -Landroid/view/textclassifier/TextClassificationManager;->getTextClassifier(I)Landroid/view/textclassifier/TextClassifier; -Landroid/view/textclassifier/TextClassifier;->classifyText(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextClassification$Options;)Landroid/view/textclassifier/TextClassification; -Landroid/view/textclassifier/TextClassifier;->generateLinks(Ljava/lang/CharSequence;Landroid/view/textclassifier/TextLinks$Options;)Landroid/view/textclassifier/TextLinks; -Landroid/view/textclassifier/TextClassifier;->suggestSelection(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextSelection$Options;)Landroid/view/textclassifier/TextSelection; -Landroid/view/textclassifier/TextLinks$Options;-><init>()V -Landroid/view/textservice/SpellCheckerSession;->mSpellCheckerSessionListener:Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener; -Landroid/view/textservice/TextServicesManager;->getCurrentSpellChecker()Landroid/view/textservice/SpellCheckerInfo; -Landroid/view/textservice/TextServicesManager;->getCurrentSpellCheckerSubtype(Z)Landroid/view/textservice/SpellCheckerSubtype; -Landroid/view/textservice/TextServicesManager;->getEnabledSpellCheckers()[Landroid/view/textservice/SpellCheckerInfo; -Landroid/view/textservice/TextServicesManager;->getInstance()Landroid/view/textservice/TextServicesManager; -Landroid/view/textservice/TextServicesManager;->isSpellCheckerEnabled()Z -Landroid/view/TextureView;->destroyHardwareLayer()V -Landroid/view/TextureView;->destroyHardwareResources()V -Landroid/view/TextureView;->mLayer:Landroid/view/TextureLayer; -Landroid/view/TextureView;->mNativeWindow:J -Landroid/view/TextureView;->mOpaque:Z -Landroid/view/TextureView;->mSurface:Landroid/graphics/SurfaceTexture; -Landroid/view/TextureView;->mUpdateListener:Landroid/graphics/SurfaceTexture$OnFrameAvailableListener; -Landroid/view/TextureView;->mUpdateSurface:Z -Landroid/view/TextureView;->nCreateNativeWindow(Landroid/graphics/SurfaceTexture;)V -Landroid/view/TextureView;->nDestroyNativeWindow()V -Landroid/view/TextureView;->onDetachedFromWindowInternal()V -Landroid/view/ThreadedRenderer;->addRenderNode(Landroid/view/RenderNode;Z)V -Landroid/view/ThreadedRenderer;->drawRenderNode(Landroid/view/RenderNode;)V -Landroid/view/ThreadedRenderer;->removeRenderNode(Landroid/view/RenderNode;)V -Landroid/view/ThreadedRenderer;->setContentDrawBounds(IIII)V -Landroid/view/ThreadedRenderer;->setupDiskCache(Ljava/io/File;)V -Landroid/view/TouchDelegate;->mDelegateTargeted:Z -Landroid/view/VelocityTracker$Estimator;->confidence:F -Landroid/view/VelocityTracker$Estimator;->degree:I -Landroid/view/VelocityTracker$Estimator;->xCoeff:[F -Landroid/view/VelocityTracker$Estimator;->yCoeff:[F -Landroid/view/VelocityTracker;->obtain(Ljava/lang/String;)Landroid/view/VelocityTracker; -Landroid/view/View$AccessibilityDelegate;->createAccessibilityNodeInfo(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeInfo;  Landroid/view/View$AttachInfo$InvalidateInfo;-><init>()V -Landroid/view/View$AttachInfo$InvalidateInfo;->bottom:I -Landroid/view/View$AttachInfo$InvalidateInfo;->left:I -Landroid/view/View$AttachInfo$InvalidateInfo;->right:I -Landroid/view/View$AttachInfo$InvalidateInfo;->target:Landroid/view/View; -Landroid/view/View$AttachInfo$InvalidateInfo;->top:I -Landroid/view/View$AttachInfo;->mApplicationScale:F -Landroid/view/View$AttachInfo;->mContentInsets:Landroid/graphics/Rect; -Landroid/view/View$AttachInfo;->mDisplayState:I -Landroid/view/View$AttachInfo;->mDrawingTime:J -Landroid/view/View$AttachInfo;->mGivenInternalInsets:Landroid/view/ViewTreeObserver$InternalInsetsInfo; -Landroid/view/View$AttachInfo;->mHandler:Landroid/os/Handler; -Landroid/view/View$AttachInfo;->mHasWindowFocus:Z -Landroid/view/View$AttachInfo;->mInTouchMode:Z -Landroid/view/View$AttachInfo;->mKeepScreenOn:Z -Landroid/view/View$AttachInfo;->mKeyDispatchState:Landroid/view/KeyEvent$DispatcherState; -Landroid/view/View$AttachInfo;->mRecomputeGlobalAttributes:Z -Landroid/view/View$AttachInfo;->mScalingRequired:Z -Landroid/view/View$AttachInfo;->mScrollContainers:Ljava/util/ArrayList; -Landroid/view/View$AttachInfo;->mSession:Landroid/view/IWindowSession; -Landroid/view/View$AttachInfo;->mStableInsets:Landroid/graphics/Rect; -Landroid/view/View$AttachInfo;->mTreeObserver:Landroid/view/ViewTreeObserver; -Landroid/view/View$AttachInfo;->mViewScrollChanged:Z -Landroid/view/View$AttachInfo;->mViewVisibilityChanged:Z -Landroid/view/View$AttachInfo;->mVisibleInsets:Landroid/graphics/Rect; -Landroid/view/View$AttachInfo;->mWindow:Landroid/view/IWindow; -Landroid/view/View$DragShadowBuilder;->mView:Ljava/lang/ref/WeakReference;  Landroid/view/View$ListenerInfo;-><init>()V -Landroid/view/View$ListenerInfo;->mOnClickListener:Landroid/view/View$OnClickListener; -Landroid/view/View$ListenerInfo;->mOnCreateContextMenuListener:Landroid/view/View$OnCreateContextMenuListener; -Landroid/view/View$ListenerInfo;->mOnDragListener:Landroid/view/View$OnDragListener; -Landroid/view/View$ListenerInfo;->mOnFocusChangeListener:Landroid/view/View$OnFocusChangeListener; -Landroid/view/View$ListenerInfo;->mOnGenericMotionListener:Landroid/view/View$OnGenericMotionListener; -Landroid/view/View$ListenerInfo;->mOnHoverListener:Landroid/view/View$OnHoverListener; -Landroid/view/View$ListenerInfo;->mOnKeyListener:Landroid/view/View$OnKeyListener; -Landroid/view/View$ListenerInfo;->mOnLongClickListener:Landroid/view/View$OnLongClickListener; -Landroid/view/View$ListenerInfo;->mOnTouchListener:Landroid/view/View$OnTouchListener; -Landroid/view/View$MeasureSpec;->makeSafeMeasureSpec(II)I -Landroid/view/View$ScrollabilityCache;->host:Landroid/view/View; -Landroid/view/View$ScrollabilityCache;->scrollBar:Landroid/widget/ScrollBarDrawable; -Landroid/view/View$ScrollabilityCache;->state:I -Landroid/view/View;-><init>()V -Landroid/view/View;->applyDrawableToTransparentRegion(Landroid/graphics/drawable/Drawable;Landroid/graphics/Region;)V -Landroid/view/View;->assignParent(Landroid/view/ViewParent;)V -Landroid/view/View;->cancel(Landroid/view/View$SendViewScrolledAccessibilityEvent;)V -Landroid/view/View;->clearAccessibilityFocus()V -Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z -Landroid/view/View;->computeOpaqueFlags()V -Landroid/view/View;->createSnapshot(Landroid/view/ViewDebug$CanvasProvider;Z)Landroid/graphics/Bitmap; -Landroid/view/View;->DBG:Z -Landroid/view/View;->debug()V -Landroid/view/View;->debug(I)V -Landroid/view/View;->DEBUG_LAYOUT_PROPERTY:Ljava/lang/String; -Landroid/view/View;->destroyHardwareResources()V -Landroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V -Landroid/view/View;->dispatchDetachedFromWindow()V -Landroid/view/View;->dispatchPointerEvent(Landroid/view/MotionEvent;)Z -Landroid/view/View;->drawBackground(Landroid/graphics/Canvas;)V -Landroid/view/View;->ensureTransformationInfo()V -Landroid/view/View;->findViewByAccessibilityId(I)Landroid/view/View; -Landroid/view/View;->fitsSystemWindows()Z -Landroid/view/View;->gatherTransparentRegion(Landroid/graphics/Region;)Z -Landroid/view/View;->getAccessibilityDelegate()Landroid/view/View$AccessibilityDelegate; -Landroid/view/View;->getAccessibilityViewId()I -Landroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;)V -Landroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;Z)V -Landroid/view/View;->getHorizontalScrollFactor()F -Landroid/view/View;->getInverseMatrix()Landroid/graphics/Matrix; -Landroid/view/View;->getIterableTextForAccessibility()Ljava/lang/CharSequence; -Landroid/view/View;->getIteratorForGranularity(I)Landroid/view/AccessibilityIterators$TextSegmentIterator; -Landroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo; -Landroid/view/View;->getLocationInSurface([I)V -Landroid/view/View;->getLocationOnScreen()[I -Landroid/view/View;->getRawTextAlignment()I -Landroid/view/View;->getRawTextDirection()I -Landroid/view/View;->getScrollCache()Landroid/view/View$ScrollabilityCache; -Landroid/view/View;->getThreadedRenderer()Landroid/view/ThreadedRenderer; -Landroid/view/View;->getTransitionAlpha()F -Landroid/view/View;->getVerticalScrollFactor()F -Landroid/view/View;->getViewRootImpl()Landroid/view/ViewRootImpl; -Landroid/view/View;->getWindowDisplayFrame(Landroid/graphics/Rect;)V -Landroid/view/View;->getWindowSession()Landroid/view/IWindowSession; -Landroid/view/View;->hasIdentityMatrix()Z -Landroid/view/View;->hasRtlSupport()Z -Landroid/view/View;->includeForAccessibility()Z -Landroid/view/View;->initializeScrollbarsInternal(Landroid/content/res/TypedArray;)V -Landroid/view/View;->internalSetPadding(IIII)V -Landroid/view/View;->invalidate(Z)V -Landroid/view/View;->invalidateParentCaches()V -Landroid/view/View;->invalidateParentIfNeeded()V -Landroid/view/View;->invalidateViewProperty(ZZ)V -Landroid/view/View;->isDraggingScrollBar()Z -Landroid/view/View;->isInScrollingContainer()Z -Landroid/view/View;->isLayoutRtl()Z -Landroid/view/View;->isOnScrollbarThumb(FF)Z -Landroid/view/View;->isPaddingResolved()Z -Landroid/view/View;->isRootNamespace()Z -Landroid/view/View;->isVisibleToUser()Z -Landroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z -Landroid/view/View;->mAccessibilityDelegate:Landroid/view/View$AccessibilityDelegate; -Landroid/view/View;->mAccessibilityViewId:I -Landroid/view/View;->makeOptionalFitsSystemWindows()V -Landroid/view/View;->mAnimator:Landroid/view/ViewPropertyAnimator; -Landroid/view/View;->mAttachInfo:Landroid/view/View$AttachInfo; -Landroid/view/View;->mBackground:Landroid/graphics/drawable/Drawable; -Landroid/view/View;->mBackgroundResource:I -Landroid/view/View;->mBottom:I -Landroid/view/View;->mCachingFailed:Z -Landroid/view/View;->mContext:Landroid/content/Context; -Landroid/view/View;->mDrawingCache:Landroid/graphics/Bitmap; -Landroid/view/View;->mHasPerformedLongPress:Z -Landroid/view/View;->mKeyedTags:Landroid/util/SparseArray; -Landroid/view/View;->mLayoutParams:Landroid/view/ViewGroup$LayoutParams; -Landroid/view/View;->mLeft:I -Landroid/view/View;->mListenerInfo:Landroid/view/View$ListenerInfo; -Landroid/view/View;->mMeasuredHeight:I -Landroid/view/View;->mMeasuredWidth:I -Landroid/view/View;->mMinHeight:I -Landroid/view/View;->mMinWidth:I -Landroid/view/View;->mPaddingBottom:I -Landroid/view/View;->mPaddingLeft:I -Landroid/view/View;->mPaddingRight:I -Landroid/view/View;->mPaddingTop:I -Landroid/view/View;->mParent:Landroid/view/ViewParent; -Landroid/view/View;->mPendingCheckForTap:Landroid/view/View$CheckForTap; -Landroid/view/View;->mPrivateFlags2:I -Landroid/view/View;->mPrivateFlags3:I -Landroid/view/View;->mPrivateFlags:I -Landroid/view/View;->mRecreateDisplayList:Z -Landroid/view/View;->mRenderNode:Landroid/view/RenderNode; -Landroid/view/View;->mResources:Landroid/content/res/Resources; -Landroid/view/View;->mRight:I -Landroid/view/View;->mScrollCache:Landroid/view/View$ScrollabilityCache; -Landroid/view/View;->mScrollX:I -Landroid/view/View;->mScrollY:I -Landroid/view/View;->mStartActivityRequestWho:Ljava/lang/String; -Landroid/view/View;->mTag:Ljava/lang/Object; -Landroid/view/View;->mTop:I -Landroid/view/View;->mTransformationInfo:Landroid/view/View$TransformationInfo; -Landroid/view/View;->mUnscaledDrawingCache:Landroid/graphics/Bitmap; -Landroid/view/View;->mVerticalScrollbarPosition:I -Landroid/view/View;->mViewFlags:I -Landroid/view/View;->NAVIGATION_BAR_TRANSIENT:I -Landroid/view/View;->notifySubtreeAccessibilityStateChangedIfNeeded()V -Landroid/view/View;->notifyViewAccessibilityStateChangedIfNeeded(I)V -Landroid/view/View;->onCloseSystemDialogs(Ljava/lang/String;)V -Landroid/view/View;->onDetachedFromWindowInternal()V -Landroid/view/View;->onDrawHorizontalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V -Landroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V -Landroid/view/View;->onFocusLost()V -Landroid/view/View;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V -Landroid/view/View;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z -Landroid/view/View;->pointInView(FFF)Z -Landroid/view/View;->recomputePadding()V -Landroid/view/View;->removePerformClickCallback()V -Landroid/view/View;->requestAccessibilityFocus()Z -Landroid/view/View;->resetDisplayList()V -Landroid/view/View;->resetPaddingToInitialValues()V -Landroid/view/View;->resetResolvedDrawables()V -Landroid/view/View;->resetResolvedLayoutDirection()V -Landroid/view/View;->resetResolvedPadding()V -Landroid/view/View;->resetResolvedTextAlignment()V -Landroid/view/View;->resetResolvedTextDirection()V -Landroid/view/View;->resetRtlProperties()V -Landroid/view/View;->resolvePadding()V -Landroid/view/View;->setAlphaNoInvalidation(F)Z -Landroid/view/View;->setAnimationMatrix(Landroid/graphics/Matrix;)V -Landroid/view/View;->setAssistBlocked(Z)V -Landroid/view/View;->setDisabledSystemUiVisibility(I)V -Landroid/view/View;->setFlags(II)V -Landroid/view/View;->setFrame(IIII)Z -Landroid/view/View;->setIsRootNamespace(Z)V -Landroid/view/View;->setLeftTopRightBottom(IIII)V -Landroid/view/View;->setTagInternal(ILjava/lang/Object;)V -Landroid/view/View;->setTransitionAlpha(F)V -Landroid/view/View;->startActivityForResult(Landroid/content/Intent;I)V -Landroid/view/View;->STATUS_BAR_DISABLE_BACK:I -Landroid/view/View;->STATUS_BAR_DISABLE_EXPAND:I -Landroid/view/View;->STATUS_BAR_DISABLE_HOME:I -Landroid/view/View;->STATUS_BAR_DISABLE_RECENT:I -Landroid/view/View;->toGlobalMotionEvent(Landroid/view/MotionEvent;)Z -Landroid/view/View;->toLocalMotionEvent(Landroid/view/MotionEvent;)Z -Landroid/view/View;->transformMatrixToGlobal(Landroid/graphics/Matrix;)V -Landroid/view/View;->transformMatrixToLocal(Landroid/graphics/Matrix;)V -Landroid/view/View;->updateDisplayListIfDirty()Landroid/view/RenderNode; -Landroid/view/ViewConfiguration;->getDeviceGlobalActionKeyTimeout()J -Landroid/view/ViewConfiguration;->getDoubleTapMinTime()I -Landroid/view/ViewConfiguration;->getDoubleTapSlop()I -Landroid/view/ViewConfiguration;->getHoverTapSlop()I -Landroid/view/ViewConfiguration;->getScaledDoubleTapTouchSlop()I -Landroid/view/ViewConfiguration;->isFadingMarqueeEnabled()Z -Landroid/view/ViewConfiguration;->mFadingMarqueeEnabled:Z -Landroid/view/ViewConfiguration;->sConfigurations:Landroid/util/SparseArray; -Landroid/view/ViewConfiguration;->SCROLL_FRICTION:F -Landroid/view/ViewConfiguration;->sHasPermanentMenuKey:Z -Landroid/view/ViewConfiguration;->sHasPermanentMenuKeySet:Z -Landroid/view/ViewDebug;->dispatchCommand(Landroid/view/View;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;)V -Landroid/view/ViewDebug;->dump(Landroid/view/View;ZZLjava/io/OutputStream;)V -Landroid/view/ViewDebug;->getViewInstanceCount()J -Landroid/view/ViewDebug;->getViewRootImplCount()J -Landroid/view/ViewGroup$LayoutParams;-><init>()V -Landroid/view/ViewGroup$MarginLayoutParams;->endMargin:I -Landroid/view/ViewGroup$MarginLayoutParams;->setMarginsRelative(IIII)V -Landroid/view/ViewGroup$MarginLayoutParams;->startMargin:I -Landroid/view/ViewGroup$TouchTarget;-><init>()V -Landroid/view/ViewGroup$TouchTarget;->child:Landroid/view/View; -Landroid/view/ViewGroup;->addTransientView(Landroid/view/View;I)V -Landroid/view/ViewGroup;->cancelTouchTarget(Landroid/view/View;)V -Landroid/view/ViewGroup;->DBG:Z -Landroid/view/ViewGroup;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V -Landroid/view/ViewGroup;->dispatchDetachedFromWindow()V -Landroid/view/ViewGroup;->dispatchGetDisplayList()V -Landroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V -Landroid/view/ViewGroup;->dispatchViewRemoved(Landroid/view/View;)V -Landroid/view/ViewGroup;->encodeProperties(Landroid/view/ViewHierarchyEncoder;)V -Landroid/view/ViewGroup;->FLAG_DISALLOW_INTERCEPT:I -Landroid/view/ViewGroup;->FLAG_SUPPORT_STATIC_TRANSFORMATIONS:I -Landroid/view/ViewGroup;->FLAG_USE_CHILD_DRAWING_ORDER:I -Landroid/view/ViewGroup;->getTransientView(I)Landroid/view/View; -Landroid/view/ViewGroup;->getTransientViewCount()I -Landroid/view/ViewGroup;->isTransformedTouchPointInView(FFLandroid/view/View;Landroid/graphics/PointF;)Z -Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V -Landroid/view/ViewGroup;->mChildren:[Landroid/view/View; -Landroid/view/ViewGroup;->mChildrenCount:I -Landroid/view/ViewGroup;->mDisappearingChildren:Ljava/util/ArrayList; -Landroid/view/ViewGroup;->mFirstTouchTarget:Landroid/view/ViewGroup$TouchTarget; -Landroid/view/ViewGroup;->mFocused:Landroid/view/View; -Landroid/view/ViewGroup;->mGroupFlags:I -Landroid/view/ViewGroup;->mOnHierarchyChangeListener:Landroid/view/ViewGroup$OnHierarchyChangeListener; -Landroid/view/ViewGroup;->mPersistentDrawingCache:I -Landroid/view/ViewGroup;->offsetChildrenTopAndBottom(I)V -Landroid/view/ViewGroup;->onChildVisibilityChanged(Landroid/view/View;II)V -Landroid/view/ViewGroup;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V -Landroid/view/ViewGroup;->removeTransientView(Landroid/view/View;)V -Landroid/view/ViewGroup;->resetResolvedDrawables()V -Landroid/view/ViewGroup;->resetResolvedLayoutDirection()V -Landroid/view/ViewGroup;->resetResolvedPadding()V -Landroid/view/ViewGroup;->resetResolvedTextAlignment()V -Landroid/view/ViewGroup;->resetResolvedTextDirection()V -Landroid/view/ViewGroup;->resolvePadding()V -Landroid/view/ViewGroup;->suppressLayout(Z)V -Landroid/view/ViewGroup;->transformPointToViewLocal([FLandroid/view/View;)V -Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;F)V -Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;I)V -Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;Ljava/lang/String;)V -Landroid/view/ViewHierarchyEncoder;->addProperty(Ljava/lang/String;Z)V -Landroid/view/ViewOverlay;->getOverlayView()Landroid/view/ViewGroup; -Landroid/view/ViewOverlay;->isEmpty()Z -Landroid/view/ViewPropertyAnimator;->mRTBackend:Landroid/view/ViewPropertyAnimatorRT; -Landroid/view/ViewRootImpl$CalledFromWrongThreadException;-><init>(Ljava/lang/String;)V -Landroid/view/ViewRootImpl;->addConfigCallback(Landroid/view/ViewRootImpl$ConfigChangedCallback;)V -Landroid/view/ViewRootImpl;->cancelInvalidate(Landroid/view/View;)V -Landroid/view/ViewRootImpl;->detachFunctor(J)V -Landroid/view/ViewRootImpl;->dispatchInputEvent(Landroid/view/InputEvent;)V -Landroid/view/ViewRootImpl;->dispatchInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;)V -Landroid/view/ViewRootImpl;->dispatchKeyFromIme(Landroid/view/KeyEvent;)V -Landroid/view/ViewRootImpl;->dispatchResized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V -Landroid/view/ViewRootImpl;->dispatchUnhandledInputEvent(Landroid/view/InputEvent;)V -Landroid/view/ViewRootImpl;->enableHardwareAcceleration(Landroid/view/WindowManager$LayoutParams;)V -Landroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;)V -Landroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V -Landroid/view/ViewRootImpl;->ensureTouchMode(Z)Z -Landroid/view/ViewRootImpl;->getAccessibilityFocusedHost()Landroid/view/View; -Landroid/view/ViewRootImpl;->getAccessibilityFocusedVirtualView()Landroid/view/accessibility/AccessibilityNodeInfo; -Landroid/view/ViewRootImpl;->getLastTouchPoint(Landroid/graphics/Point;)V -Landroid/view/ViewRootImpl;->getView()Landroid/view/View; -Landroid/view/ViewRootImpl;->getWindowFlags()I -Landroid/view/ViewRootImpl;->invalidate()V -Landroid/view/ViewRootImpl;->invokeFunctor(JZ)V -Landroid/view/ViewRootImpl;->mAdded:Z -Landroid/view/ViewRootImpl;->mAttachInfo:Landroid/view/View$AttachInfo; -Landroid/view/ViewRootImpl;->mContext:Landroid/content/Context; -Landroid/view/ViewRootImpl;->mDirty:Landroid/graphics/Rect; -Landroid/view/ViewRootImpl;->mFallbackEventHandler:Landroid/view/FallbackEventHandler; -Landroid/view/ViewRootImpl;->mHeight:I -Landroid/view/ViewRootImpl;->mLastScrolledFocus:Ljava/lang/ref/WeakReference; -Landroid/view/ViewRootImpl;->mStopped:Z -Landroid/view/ViewRootImpl;->mSurface:Landroid/view/Surface; -Landroid/view/ViewRootImpl;->mView:Landroid/view/View; -Landroid/view/ViewRootImpl;->mWidth:I -Landroid/view/ViewRootImpl;->mWindowSession:Landroid/view/IWindowSession; -Landroid/view/ViewRootImpl;->scheduleTraversals()V -Landroid/view/ViewRootImpl;->setLocalDragState(Ljava/lang/Object;)V -Landroid/view/ViewRootImpl;->sRunQueues:Ljava/lang/ThreadLocal;  Landroid/view/ViewTreeObserver$InternalInsetsInfo;-><init>()V -Landroid/view/ViewTreeObserver$InternalInsetsInfo;->contentInsets:Landroid/graphics/Rect; -Landroid/view/ViewTreeObserver$InternalInsetsInfo;->mTouchableInsets:I -Landroid/view/ViewTreeObserver$InternalInsetsInfo;->set(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V -Landroid/view/ViewTreeObserver$InternalInsetsInfo;->setTouchableInsets(I)V -Landroid/view/ViewTreeObserver$InternalInsetsInfo;->touchableRegion:Landroid/graphics/Region; -Landroid/view/ViewTreeObserver$InternalInsetsInfo;->TOUCHABLE_INSETS_REGION:I -Landroid/view/ViewTreeObserver$InternalInsetsInfo;->visibleInsets:Landroid/graphics/Rect; -Landroid/view/ViewTreeObserver;->addOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V -Landroid/view/ViewTreeObserver;->dispatchOnComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V -Landroid/view/ViewTreeObserver;->dispatchOnGlobalFocusChange(Landroid/view/View;Landroid/view/View;)V -Landroid/view/ViewTreeObserver;->dispatchOnScrollChanged()V -Landroid/view/ViewTreeObserver;->dispatchOnTouchModeChanged(Z)V -Landroid/view/ViewTreeObserver;->hasComputeInternalInsetsListeners()Z -Landroid/view/ViewTreeObserver;->mOnComputeInternalInsetsListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray; -Landroid/view/ViewTreeObserver;->mOnGlobalLayoutListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray; -Landroid/view/ViewTreeObserver;->mOnScrollChangedListeners:Landroid/view/ViewTreeObserver$CopyOnWriteArray; -Landroid/view/ViewTreeObserver;->mOnTouchModeChangeListeners:Ljava/util/concurrent/CopyOnWriteArrayList; -Landroid/view/ViewTreeObserver;->removeOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V -Landroid/view/Window;->addPrivateFlags(I)V -Landroid/view/Window;->alwaysReadCloseOnTouchAttr()V -Landroid/view/Window;->FEATURE_MAX:I -Landroid/view/Window;->isDestroyed()Z -Landroid/view/Window;->mAppName:Ljava/lang/String; -Landroid/view/Window;->mAppToken:Landroid/os/IBinder; -Landroid/view/Window;->mCallback:Landroid/view/Window$Callback; -Landroid/view/Window;->mContext:Landroid/content/Context; -Landroid/view/Window;->mDestroyed:Z -Landroid/view/Window;->mFeatures:I -Landroid/view/Window;->mHardwareAccelerated:Z -Landroid/view/Window;->mLocalFeatures:I -Landroid/view/Window;->mWindowAttributes:Landroid/view/WindowManager$LayoutParams; -Landroid/view/Window;->mWindowManager:Landroid/view/WindowManager; -Landroid/view/Window;->mWindowStyle:Landroid/content/res/TypedArray; -Landroid/view/Window;->setCloseOnTouchOutside(Z)V -Landroid/view/Window;->setCloseOnTouchOutsideIfNotSet(Z)V -Landroid/view/Window;->setNeedsMenuKey(I)V -Landroid/view/Window;->shouldCloseOnTouch(Landroid/content/Context;Landroid/view/MotionEvent;)Z -Landroid/view/WindowAnimationFrameStats;->init(J[J)V -Landroid/view/WindowContentFrameStats;->init(J[J[J[J)V -Landroid/view/WindowInsets;-><init>(Landroid/graphics/Rect;)V -Landroid/view/WindowInsets;->CONSUMED:Landroid/view/WindowInsets; -Landroid/view/WindowInsets;->getSystemWindowInsets()Landroid/graphics/Rect; -Landroid/view/WindowInsets;->inset(IIII)Landroid/view/WindowInsets; -Landroid/view/WindowLeaked;-><init>(Ljava/lang/String;)V -Landroid/view/WindowManager$LayoutParams;->backup()V -Landroid/view/WindowManager$LayoutParams;->FLAG_SLIPPERY:I -Landroid/view/WindowManager$LayoutParams;->hasSystemUiListeners:Z -Landroid/view/WindowManager$LayoutParams;->hideTimeoutMilliseconds:J -Landroid/view/WindowManager$LayoutParams;->inputFeatures:I -Landroid/view/WindowManager$LayoutParams;->INPUT_FEATURE_DISABLE_USER_ACTIVITY:I -Landroid/view/WindowManager$LayoutParams;->needsMenuKey:I -Landroid/view/WindowManager$LayoutParams;->NEEDS_MENU_SET_FALSE:I -Landroid/view/WindowManager$LayoutParams;->NEEDS_MENU_SET_TRUE:I -Landroid/view/WindowManager$LayoutParams;->PRIVATE_FLAG_SHOW_FOR_ALL_USERS:I -Landroid/view/WindowManager$LayoutParams;->restore()V -Landroid/view/WindowManager$LayoutParams;->subtreeSystemUiVisibility:I -Landroid/view/WindowManager$LayoutParams;->TYPE_APPLICATION_MEDIA_OVERLAY:I -Landroid/view/WindowManager$LayoutParams;->TYPE_DISPLAY_OVERLAY:I -Landroid/view/WindowManager$LayoutParams;->TYPE_SECURE_SYSTEM_OVERLAY:I -Landroid/view/WindowManager$LayoutParams;->userActivityTimeout:J -Landroid/view/WindowManagerGlobal;->getInstance()Landroid/view/WindowManagerGlobal; -Landroid/view/WindowManagerGlobal;->getRootView(Ljava/lang/String;)Landroid/view/View; -Landroid/view/WindowManagerGlobal;->getRootViews(Landroid/os/IBinder;)Ljava/util/ArrayList; -Landroid/view/WindowManagerGlobal;->getViewRootNames()[Ljava/lang/String; -Landroid/view/WindowManagerGlobal;->getWindowManagerService()Landroid/view/IWindowManager; -Landroid/view/WindowManagerGlobal;->getWindowSession()Landroid/view/IWindowSession; -Landroid/view/WindowManagerGlobal;->initialize()V -Landroid/view/WindowManagerGlobal;->mLock:Ljava/lang/Object; -Landroid/view/WindowManagerGlobal;->mParams:Ljava/util/ArrayList; -Landroid/view/WindowManagerGlobal;->mRoots:Ljava/util/ArrayList; -Landroid/view/WindowManagerGlobal;->mViews:Ljava/util/ArrayList; -Landroid/view/WindowManagerGlobal;->peekWindowSession()Landroid/view/IWindowSession; -Landroid/view/WindowManagerGlobal;->removeView(Landroid/view/View;Z)V -Landroid/view/WindowManagerGlobal;->sDefaultWindowManager:Landroid/view/WindowManagerGlobal; -Landroid/view/WindowManagerGlobal;->sWindowManagerService:Landroid/view/IWindowManager; -Landroid/view/WindowManagerGlobal;->sWindowSession:Landroid/view/IWindowSession; -Landroid/view/WindowManagerGlobal;->trimMemory(I)V -Landroid/view/WindowManagerImpl;->mGlobal:Landroid/view/WindowManagerGlobal;  Landroid/webkit/CacheManager$CacheResult;-><init>()V  Landroid/webkit/IWebViewUpdateService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V  Landroid/webkit/IWebViewUpdateService$Stub$Proxy;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse; diff --git a/config/hiddenapi-vendor-list.txt b/config/hiddenapi-vendor-list.txt index ef0d86dea128..5c87a7bb255a 100644 --- a/config/hiddenapi-vendor-list.txt +++ b/config/hiddenapi-vendor-list.txt @@ -233,12 +233,7 @@ Landroid/telephony/TelephonyManager;->isImsRegistered()Z  Landroid/telephony/TelephonyManager;->nvResetConfig(I)Z  Landroid/telephony/TelephonyManager;->putIntAtIndex(Landroid/content/ContentResolver;Ljava/lang/String;II)Z  Landroid/telephony/TelephonyManager;->setPreferredNetworkType(II)Z -Landroid/view/AppTransitionAnimationSpec;-><init>(ILandroid/graphics/GraphicBuffer;Landroid/graphics/Rect;)V -Landroid/view/BatchedInputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;Landroid/view/Choreographer;)V -Landroid/view/Choreographer;->getSfInstance()Landroid/view/Choreographer; -Landroid/view/DisplayListCanvas;->drawRenderNode(Landroid/view/RenderNode;)V  Landroid/view/IAppTransitionAnimationSpecsFuture$Stub;-><init>()V -Landroid/view/InputEventReceiver;->onInputEvent(Landroid/view/InputEvent;I)V  Landroid/view/IRecentsAnimationController;->finish(Z)V  Landroid/view/IRecentsAnimationController;->screenshotTask(I)Landroid/app/ActivityManager$TaskSnapshot;  Landroid/view/IRecentsAnimationController;->setInputConsumerEnabled(Z)V @@ -256,34 +251,6 @@ Landroid/view/IWindowManager;->getStableInsets(ILandroid/graphics/Rect;)V  Landroid/view/IWindowManager;->overridePendingAppTransitionMultiThumbFuture(Landroid/view/IAppTransitionAnimationSpecsFuture;Landroid/os/IRemoteCallback;Z)V  Landroid/view/IWindowManager;->overridePendingAppTransitionRemote(Landroid/view/RemoteAnimationAdapter;)V  Landroid/view/IWindowManager;->setNavBarVirtualKeyHapticFeedbackEnabled(Z)V -Landroid/view/RemoteAnimationAdapter;-><init>(Landroid/view/IRemoteAnimationRunner;JJ)V -Landroid/view/RemoteAnimationDefinition;-><init>()V -Landroid/view/RemoteAnimationDefinition;->addRemoteAnimation(ILandroid/view/RemoteAnimationAdapter;)V -Landroid/view/RenderNode;->create(Ljava/lang/String;Landroid/view/View;)Landroid/view/RenderNode; -Landroid/view/RenderNode;->end(Landroid/view/DisplayListCanvas;)V -Landroid/view/RenderNode;->isValid()Z -Landroid/view/RenderNode;->setClipToBounds(Z)Z -Landroid/view/RenderNode;->setLeftTopRightBottom(IIII)Z -Landroid/view/RenderNode;->start(II)Landroid/view/DisplayListCanvas; -Landroid/view/Surface;->getNextFrameNumber()J -Landroid/view/SurfaceControl$Transaction;-><init>()V -Landroid/view/SurfaceControl$Transaction;->apply()V -Landroid/view/SurfaceControl$Transaction;->deferTransactionUntil(Landroid/view/SurfaceControl;Landroid/os/IBinder;J)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->deferTransactionUntilSurface(Landroid/view/SurfaceControl;Landroid/view/Surface;J)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->hide(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setFinalCrop(Landroid/view/SurfaceControl;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;FFFF)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;Landroid/graphics/Matrix;[F)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setPosition(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/SurfaceControl;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->show(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; -Landroid/view/ThreadedRenderer;->createHardwareBitmap(Landroid/view/RenderNode;II)Landroid/graphics/Bitmap; -Landroid/view/View;->hideTooltip()V -Landroid/view/View;->setTooltip(Ljava/lang/CharSequence;)V  Landroid/widget/ListView;->lookForSelectablePosition(IZ)I  Lcom/android/ims/ImsConfigListener;->onSetFeatureResponse(IIII)V  Lcom/android/ims/internal/IImsCallSessionListener;->callSessionConferenceStateUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsConferenceState;)V diff --git a/core/java/android/view/AccessibilityIterators.java b/core/java/android/view/AccessibilityIterators.java index ca54bef1e780..9f7560c79166 100644 --- a/core/java/android/view/AccessibilityIterators.java +++ b/core/java/android/view/AccessibilityIterators.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.content.res.Configuration;  import java.text.BreakIterator; @@ -45,6 +46,7 @@ public final class AccessibilityIterators {       */      public static abstract class AbstractTextSegmentIterator implements TextSegmentIterator { +        @UnsupportedAppUsage          protected String mText;          private final int[] mSegment = new int[2]; diff --git a/core/java/android/view/ActionProvider.java b/core/java/android/view/ActionProvider.java index 353b4c26fe50..cd7e67e61b61 100644 --- a/core/java/android/view/ActionProvider.java +++ b/core/java/android/view/ActionProvider.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.util.Log; @@ -218,6 +219,7 @@ public abstract class ActionProvider {      /**       * @hide Internal use only       */ +    @UnsupportedAppUsage      public void setSubUiVisibilityListener(SubUiVisibilityListener listener) {          mSubUiVisibilityListener = listener;      } @@ -240,6 +242,7 @@ public abstract class ActionProvider {      /**       * @hide       */ +    @UnsupportedAppUsage      public void reset() {          mVisibilityListener = null;          mSubUiVisibilityListener = null; diff --git a/core/java/android/view/AppTransitionAnimationSpec.java b/core/java/android/view/AppTransitionAnimationSpec.java index 86a5fb761355..6585e40c67d1 100644 --- a/core/java/android/view/AppTransitionAnimationSpec.java +++ b/core/java/android/view/AppTransitionAnimationSpec.java @@ -1,5 +1,6 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.graphics.GraphicBuffer;  import android.graphics.Rect;  import android.os.Parcel; @@ -18,6 +19,7 @@ public class AppTransitionAnimationSpec implements Parcelable {      public final GraphicBuffer buffer;      public final Rect rect; +    @UnsupportedAppUsage      public AppTransitionAnimationSpec(int taskId, GraphicBuffer buffer, Rect rect) {          this.taskId = taskId;          this.rect = rect; diff --git a/core/java/android/view/BatchedInputEventReceiver.java b/core/java/android/view/BatchedInputEventReceiver.java index b1d28e000bc8..61ccac991eea 100644 --- a/core/java/android/view/BatchedInputEventReceiver.java +++ b/core/java/android/view/BatchedInputEventReceiver.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Looper;  /** @@ -26,6 +27,7 @@ public class BatchedInputEventReceiver extends InputEventReceiver {      Choreographer mChoreographer;      private boolean mBatchedInputScheduled; +    @UnsupportedAppUsage      public BatchedInputEventReceiver(              InputChannel inputChannel, Looper looper, Choreographer choreographer) {          super(inputChannel, looper); diff --git a/core/java/android/view/Choreographer.java b/core/java/android/view/Choreographer.java index f8cfd0da4952..ce16ffc82090 100644 --- a/core/java/android/view/Choreographer.java +++ b/core/java/android/view/Choreographer.java @@ -20,6 +20,7 @@ import static android.view.DisplayEventReceiver.VSYNC_SOURCE_APP;  import static android.view.DisplayEventReceiver.VSYNC_SOURCE_SURFACE_FLINGER;  import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage;  import android.hardware.display.DisplayManagerGlobal;  import android.os.Handler;  import android.os.Looper; @@ -130,6 +131,7 @@ public final class Choreographer {              };      // Enable/disable vsync for animations and drawing. +    @UnsupportedAppUsage      private static final boolean USE_VSYNC = SystemProperties.getBoolean(              "debug.choreographer.vsync", true); @@ -151,6 +153,7 @@ public final class Choreographer {          public String toString() { return "FRAME_CALLBACK_TOKEN"; }      }; +    @UnsupportedAppUsage      private final Object mLock = new Object();      private final Looper mLooper; @@ -159,15 +162,19 @@ public final class Choreographer {      // The display event receiver can only be accessed by the looper thread to which      // it is attached.  We take care to ensure that we post message to the looper      // if appropriate when interacting with the display event receiver. +    @UnsupportedAppUsage      private final FrameDisplayEventReceiver mDisplayEventReceiver;      private CallbackRecord mCallbackPool; +    @UnsupportedAppUsage      private final CallbackQueue[] mCallbackQueues;      private boolean mFrameScheduled;      private boolean mCallbacksRunning; +    @UnsupportedAppUsage      private long mLastFrameTimeNanos; +    @UnsupportedAppUsage      private long mFrameIntervalNanos;      private boolean mDebugPrintNextFrameTimeDelta;      private int mFPSDivisor = 1; @@ -265,6 +272,7 @@ public final class Choreographer {      /**       * @hide       */ +    @UnsupportedAppUsage      public static Choreographer getSfInstance() {          return sSfThreadInstance.get();      } @@ -556,6 +564,7 @@ public final class Choreographer {       * @throws IllegalStateException if no frame is in progress.       * @hide       */ +    @UnsupportedAppUsage      public long getFrameTime() {          return getFrameTimeNanos() / TimeUtils.NANOS_PER_MS;      } @@ -568,6 +577,7 @@ public final class Choreographer {       * @throws IllegalStateException if no frame is in progress.       * @hide       */ +    @UnsupportedAppUsage      public long getFrameTimeNanos() {          synchronized (mLock) {              if (!mCallbacksRunning) { @@ -627,6 +637,7 @@ public final class Choreographer {          ThreadedRenderer.setFPSDivisor(divisor);      } +    @UnsupportedAppUsage      void doFrame(long frameTimeNanos, int frame) {          final long startNanos;          synchronized (mLock) { @@ -792,6 +803,7 @@ public final class Choreographer {          }      } +    @UnsupportedAppUsage      private void scheduleVsyncLocked() {          mDisplayEventReceiver.scheduleVsync();      } @@ -942,6 +954,7 @@ public final class Choreographer {          public Object action; // Runnable or FrameCallback          public Object token; +        @UnsupportedAppUsage          public void run(long frameTimeNanos) {              if (token == FRAME_CALLBACK_TOKEN) {                  ((FrameCallback)action).doFrame(frameTimeNanos); @@ -978,6 +991,7 @@ public final class Choreographer {              return callbacks;          } +        @UnsupportedAppUsage          public void addCallbackLocked(long dueTime, Object action, Object token) {              CallbackRecord callback = obtainCallbackLocked(dueTime, action, token);              CallbackRecord entry = mHead; diff --git a/core/java/android/view/ContextThemeWrapper.java b/core/java/android/view/ContextThemeWrapper.java index d3cc175d3e1c..c77500a9fd70 100644 --- a/core/java/android/view/ContextThemeWrapper.java +++ b/core/java/android/view/ContextThemeWrapper.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.StyleRes; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.content.ContextWrapper;  import android.content.res.AssetManager; @@ -28,10 +29,14 @@ import android.content.res.Resources;   * wrapped context.   */  public class ContextThemeWrapper extends ContextWrapper { +    @UnsupportedAppUsage      private int mThemeResource; +    @UnsupportedAppUsage      private Resources.Theme mTheme; +    @UnsupportedAppUsage      private LayoutInflater mInflater;      private Configuration mOverrideConfiguration; +    @UnsupportedAppUsage      private Resources mResources;      /** @@ -143,6 +148,7 @@ public class ContextThemeWrapper extends ContextWrapper {      /** @hide */      @Override +    @UnsupportedAppUsage      public int getThemeResId() {          return mThemeResource;      } @@ -186,6 +192,7 @@ public class ContextThemeWrapper extends ContextWrapper {          theme.applyStyle(resId, true);      } +    @UnsupportedAppUsage      private void initializeTheme() {          final boolean first = mTheme == null;          if (first) { diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java index 31cfebcc3ae3..476126c9e6d0 100644 --- a/core/java/android/view/Display.java +++ b/core/java/android/view/Display.java @@ -20,6 +20,7 @@ import static android.Manifest.permission.CONFIGURE_DISPLAY_COLOR_MODE;  import android.annotation.IntDef;  import android.annotation.RequiresPermission; +import android.annotation.UnsupportedAppUsage;  import android.app.KeyguardManager;  import android.content.res.CompatibilityInfo;  import android.content.res.Configuration; @@ -78,6 +79,7 @@ public final class Display {      private final Resources mResources;      private DisplayAdjustments mDisplayAdjustments; +    @UnsupportedAppUsage      private DisplayInfo mDisplayInfo; // never null      private boolean mIsValid; @@ -230,6 +232,7 @@ public final class Display {       * Display type: Unknown display type.       * @hide       */ +    @UnsupportedAppUsage      public static final int TYPE_UNKNOWN = 0;      /** @@ -242,12 +245,14 @@ public final class Display {       * Display type: HDMI display.       * @hide       */ +    @UnsupportedAppUsage      public static final int TYPE_HDMI = 2;      /**       * Display type: WiFi display.       * @hide       */ +    @UnsupportedAppUsage      public static final int TYPE_WIFI = 3;      /** @@ -260,6 +265,7 @@ public final class Display {       * Display type: Virtual display.       * @hide       */ +    @UnsupportedAppUsage      public static final int TYPE_VIRTUAL = 5;      /** @@ -458,6 +464,7 @@ public final class Display {       * @return True if the display is still valid.       * @hide       */ +    @UnsupportedAppUsage      public boolean getDisplayInfo(DisplayInfo outDisplayInfo) {          synchronized (this) {              updateDisplayInfoLocked(); @@ -505,6 +512,7 @@ public final class Display {       * @see #TYPE_VIRTUAL       * @hide       */ +    @UnsupportedAppUsage      public int getType() {          return mType;      } @@ -516,6 +524,7 @@ public final class Display {       * @return The display address.       * @hide       */ +    @UnsupportedAppUsage      public String getAddress() {          return mAddress;      } @@ -542,6 +551,7 @@ public final class Display {       *       * @hide       */ +    @UnsupportedAppUsage      public String getOwnerPackageName() {          return mOwnerPackageName;      } @@ -552,6 +562,7 @@ public final class Display {       * @return The display adjustments holder, or null if none is required.       * @hide       */ +    @UnsupportedAppUsage      public DisplayAdjustments getDisplayAdjustments() {          if (mResources != null) {              final DisplayAdjustments currentAdjustements = mResources.getDisplayAdjustments(); @@ -675,6 +686,7 @@ public final class Display {       * mostly for wallpapers.       * @hide       */ +    @UnsupportedAppUsage      public int getMaximumSizeDimension() {          synchronized (this) {              updateDisplayInfoLocked(); @@ -1169,6 +1181,7 @@ public final class Display {          /**           * @hide           */ +        @UnsupportedAppUsage          public Mode(int modeId, int width, int height, float refreshRate) {              mModeId = modeId;              mWidth = width; @@ -1345,6 +1358,7 @@ public final class Display {          /**           * @hide           */ +        @UnsupportedAppUsage          public HdrCapabilities(int[] supportedHdrTypes, float maxLuminance,                  float maxAverageLuminance, float minLuminance) {              mSupportedHdrTypes = supportedHdrTypes; diff --git a/core/java/android/view/DisplayAdjustments.java b/core/java/android/view/DisplayAdjustments.java index 790029b9c09f..da4d92fa0c94 100644 --- a/core/java/android/view/DisplayAdjustments.java +++ b/core/java/android/view/DisplayAdjustments.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.content.res.CompatibilityInfo;  import android.content.res.Configuration; @@ -28,6 +29,7 @@ public class DisplayAdjustments {      private volatile CompatibilityInfo mCompatInfo = CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO;      private Configuration mConfiguration; +    @UnsupportedAppUsage      public DisplayAdjustments() {      } @@ -42,6 +44,7 @@ public class DisplayAdjustments {                  ? daj.mConfiguration : Configuration.EMPTY);      } +    @UnsupportedAppUsage      public void setCompatibilityInfo(CompatibilityInfo compatInfo) {          if (this == DEFAULT_DISPLAY_ADJUSTMENTS) {              throw new IllegalArgumentException( @@ -67,6 +70,7 @@ public class DisplayAdjustments {          mConfiguration.setTo(configuration != null ? configuration : Configuration.EMPTY);      } +    @UnsupportedAppUsage      public Configuration getConfiguration() {          return mConfiguration;      } diff --git a/core/java/android/view/DisplayEventReceiver.java b/core/java/android/view/DisplayEventReceiver.java index cb98c8816281..edd3f1a8de98 100644 --- a/core/java/android/view/DisplayEventReceiver.java +++ b/core/java/android/view/DisplayEventReceiver.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Looper;  import android.os.MessageQueue;  import android.util.Log; @@ -56,6 +57,7 @@ public abstract class DisplayEventReceiver {      private final CloseGuard mCloseGuard = CloseGuard.get(); +    @UnsupportedAppUsage      private long mReceiverPtr;      // We keep a reference message queue object here so that it is not @@ -73,6 +75,7 @@ public abstract class DisplayEventReceiver {       *       * @param looper The looper to use when invoking callbacks.       */ +    @UnsupportedAppUsage      public DisplayEventReceiver(Looper looper) {          this(looper, VSYNC_SOURCE_APP);      } @@ -137,6 +140,7 @@ public abstract class DisplayEventReceiver {       * {@link SurfaceControl#BUILT_IN_DISPLAY_ID_MAIN}.       * @param frame The frame number.  Increases by one for each vertical sync interval.       */ +    @UnsupportedAppUsage      public void onVsync(long timestampNanos, int builtInDisplayId, int frame) {      } @@ -149,6 +153,7 @@ public abstract class DisplayEventReceiver {       * {@link SurfaceControl#BUILT_IN_DISPLAY_ID_HDMI}.       * @param connected True if the display is connected, false if it disconnected.       */ +    @UnsupportedAppUsage      public void onHotplug(long timestampNanos, int builtInDisplayId, boolean connected) {      } @@ -156,6 +161,7 @@ public abstract class DisplayEventReceiver {       * Schedules a single vertical sync pulse to be delivered when the next       * display frame begins.       */ +    @UnsupportedAppUsage      public void scheduleVsync() {          if (mReceiverPtr == 0) {              Log.w(TAG, "Attempted to schedule a vertical sync pulse but the display event " @@ -167,12 +173,14 @@ public abstract class DisplayEventReceiver {      // Called from native code.      @SuppressWarnings("unused") +    @UnsupportedAppUsage      private void dispatchVsync(long timestampNanos, int builtInDisplayId, int frame) {          onVsync(timestampNanos, builtInDisplayId, frame);      }      // Called from native code.      @SuppressWarnings("unused") +    @UnsupportedAppUsage      private void dispatchHotplug(long timestampNanos, int builtInDisplayId, boolean connected) {          onHotplug(timestampNanos, builtInDisplayId, connected);      } diff --git a/core/java/android/view/DisplayInfo.java b/core/java/android/view/DisplayInfo.java index 913e5924c6a6..2269012f1da5 100644 --- a/core/java/android/view/DisplayInfo.java +++ b/core/java/android/view/DisplayInfo.java @@ -22,6 +22,7 @@ import static android.view.DisplayInfoProto.LOGICAL_HEIGHT;  import static android.view.DisplayInfoProto.LOGICAL_WIDTH;  import static android.view.DisplayInfoProto.NAME; +import android.annotation.UnsupportedAppUsage;  import android.content.res.CompatibilityInfo;  import android.content.res.Configuration;  import android.graphics.Rect; @@ -115,6 +116,7 @@ public final class DisplayInfo implements Parcelable {       * Represents the usable size of the display which may be smaller than the       * physical size when the system is emulating a smaller display.       */ +    @UnsupportedAppUsage      public int logicalWidth;      /** @@ -122,6 +124,7 @@ public final class DisplayInfo implements Parcelable {       * Represents the usable size of the display which may be smaller than the       * physical size when the system is emulating a smaller display.       */ +    @UnsupportedAppUsage      public int logicalHeight;      /** @@ -153,6 +156,7 @@ public final class DisplayInfo implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public DisplayCutout displayCutout;      /** @@ -166,6 +170,7 @@ public final class DisplayInfo implements Parcelable {       * </p>       */      @Surface.Rotation +    @UnsupportedAppUsage      public int rotation;      /** @@ -273,6 +278,7 @@ public final class DisplayInfo implements Parcelable {          }      }; +    @UnsupportedAppUsage      public DisplayInfo() {      } diff --git a/core/java/android/view/DisplayListCanvas.java b/core/java/android/view/DisplayListCanvas.java index 671532c90bc8..5409ce48a45f 100644 --- a/core/java/android/view/DisplayListCanvas.java +++ b/core/java/android/view/DisplayListCanvas.java @@ -18,6 +18,7 @@ package android.view;  import android.annotation.NonNull;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import android.graphics.Bitmap;  import android.graphics.CanvasProperty;  import android.graphics.Paint; @@ -155,6 +156,7 @@ public final class DisplayListCanvas extends RecordingCanvas {       *       * @param drawGLFunction A native function pointer       */ +    @UnsupportedAppUsage      public void callDrawGLFunction2(long drawGLFunction) {          nCallDrawGLFunction(mNativeCanvasWrapper, drawGLFunction, null);      } @@ -171,6 +173,7 @@ public final class DisplayListCanvas extends RecordingCanvas {       * any references to the functor, just that the reference from this specific       * canvas's display list has been released.       */ +    @UnsupportedAppUsage      public void drawGLFunctor2(long drawGLFunctor, @Nullable Runnable releasedCallback) {          nCallDrawGLFunction(mNativeCanvasWrapper, drawGLFunctor, releasedCallback);      } @@ -185,6 +188,7 @@ public final class DisplayListCanvas extends RecordingCanvas {       *       * @param renderNode The RenderNode to draw.       */ +    @UnsupportedAppUsage      public void drawRenderNode(RenderNode renderNode) {          nDrawRenderNode(mNativeCanvasWrapper, renderNode.getNativeDisplayList());      } @@ -206,6 +210,7 @@ public final class DisplayListCanvas extends RecordingCanvas {      // Drawing      /////////////////////////////////////////////////////////////////////////// +    @UnsupportedAppUsage      public void drawCircle(CanvasProperty<Float> cx, CanvasProperty<Float> cy,              CanvasProperty<Float> radius, CanvasProperty<Paint> paint) {          nDrawCircle(mNativeCanvasWrapper, cx.getNativeContainer(), cy.getNativeContainer(), diff --git a/core/java/android/view/DragEvent.java b/core/java/android/view/DragEvent.java index 2c9f87128bca..bd4dda211208 100644 --- a/core/java/android/view/DragEvent.java +++ b/core/java/android/view/DragEvent.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.content.ClipData;  import android.content.ClipDescription;  import android.os.Parcel; @@ -129,7 +130,9 @@ public class DragEvent implements Parcelable {      int mAction;      float mX, mY; +    @UnsupportedAppUsage      ClipDescription mClipDescription; +    @UnsupportedAppUsage      ClipData mClipData;      IDragAndDropPermissions mDragAndDropPermissions; @@ -313,6 +316,7 @@ public class DragEvent implements Parcelable {      }      /** @hide */ +    @UnsupportedAppUsage      public static DragEvent obtain(DragEvent source) {          return obtain(source.mAction, source.mX, source.mY, source.mLocalState,                  source.mClipDescription, source.mClipData, source.mDragAndDropPermissions, diff --git a/core/java/android/view/FrameMetrics.java b/core/java/android/view/FrameMetrics.java index 358a2d1e70d8..dcdef3eaa275 100644 --- a/core/java/android/view/FrameMetrics.java +++ b/core/java/android/view/FrameMetrics.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.IntDef; +import android.annotation.UnsupportedAppUsage;  import java.lang.annotation.Retention;  import java.lang.annotation.RetentionPolicy; @@ -249,6 +250,7 @@ public final class FrameMetrics {          Index.INTENDED_VSYNC, Index.FRAME_COMPLETED,      }; +    @UnsupportedAppUsage      /* package */ final long[] mTimingData;      /** diff --git a/core/java/android/view/FrameMetricsObserver.java b/core/java/android/view/FrameMetricsObserver.java index 9e81de0e09bb..597089b98e1a 100644 --- a/core/java/android/view/FrameMetricsObserver.java +++ b/core/java/android/view/FrameMetricsObserver.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage;  import android.os.Looper;  import android.os.MessageQueue; @@ -31,10 +32,12 @@ import java.lang.ref.WeakReference;   * @hide   */  public class FrameMetricsObserver { +    @UnsupportedAppUsage      private MessageQueue mMessageQueue;      private WeakReference<Window> mWindow; +    @UnsupportedAppUsage      private FrameMetrics mFrameMetrics;      /* package */ Window.OnFrameMetricsAvailableListener mListener; @@ -63,6 +66,7 @@ public class FrameMetricsObserver {      // Called by native on the provided Handler      @SuppressWarnings("unused") +    @UnsupportedAppUsage      private void notifyDataAvailable(int dropCount) {          final Window window = mWindow.get();          if (window != null) { diff --git a/core/java/android/view/GestureDetector.java b/core/java/android/view/GestureDetector.java index bc2953e0c0fe..3ee5f1fcc883 100644 --- a/core/java/android/view/GestureDetector.java +++ b/core/java/android/view/GestureDetector.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.os.Handler;  import android.os.Message; @@ -216,12 +217,15 @@ public class GestureDetector {          }      } +    @UnsupportedAppUsage      private int mTouchSlopSquare;      private int mDoubleTapTouchSlopSquare;      private int mDoubleTapSlopSquare; +    @UnsupportedAppUsage      private int mMinimumFlingVelocity;      private int mMaximumFlingVelocity; +    @UnsupportedAppUsage      private static final int LONGPRESS_TIMEOUT = ViewConfiguration.getLongPressTimeout();      private static final int TAP_TIMEOUT = ViewConfiguration.getTapTimeout();      private static final int DOUBLE_TAP_TIMEOUT = ViewConfiguration.getDoubleTapTimeout(); @@ -233,6 +237,7 @@ public class GestureDetector {      private static final int TAP = 3;      private final Handler mHandler; +    @UnsupportedAppUsage      private final OnGestureListener mListener;      private OnDoubleTapListener mDoubleTapListener;      private OnContextClickListener mContextClickListener; @@ -241,6 +246,7 @@ public class GestureDetector {      private boolean mDeferConfirmSingleTap;      private boolean mInLongPress;      private boolean mInContextClick; +    @UnsupportedAppUsage      private boolean mAlwaysInTapRegion;      private boolean mAlwaysInBiggerTapRegion;      private boolean mIgnoreNextUpEvent; diff --git a/core/java/android/view/GhostView.java b/core/java/android/view/GhostView.java index d1b96baa6062..fa7b067deb20 100644 --- a/core/java/android/view/GhostView.java +++ b/core/java/android/view/GhostView.java @@ -15,6 +15,7 @@   */  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.graphics.Canvas;  import android.graphics.Matrix;  import android.widget.FrameLayout; @@ -91,6 +92,7 @@ public class GhostView extends View {          host.transformMatrixToLocal(matrix);      } +    @UnsupportedAppUsage      public static GhostView addGhost(View view, ViewGroup viewGroup, Matrix matrix) {          if (!(view.getParent() instanceof ViewGroup)) {              throw new IllegalArgumentException("Ghosted views must be parented by a ViewGroup"); @@ -131,10 +133,12 @@ public class GhostView extends View {          return ghostView;      } +    @UnsupportedAppUsage      public static GhostView addGhost(View view, ViewGroup viewGroup) {          return addGhost(view, viewGroup, null);      } +    @UnsupportedAppUsage      public static void removeGhost(View view) {          GhostView ghostView = view.mGhostView;          if (ghostView != null) { diff --git a/core/java/android/view/InputChannel.java b/core/java/android/view/InputChannel.java index de195ae524c8..b2dd6ac9e971 100644 --- a/core/java/android/view/InputChannel.java +++ b/core/java/android/view/InputChannel.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Parcel;  import android.os.Parcelable;  import android.util.Slog; @@ -32,6 +33,7 @@ public final class InputChannel implements Parcelable {      private static final boolean DEBUG = false; +    @UnsupportedAppUsage      public static final Parcelable.Creator<InputChannel> CREATOR              = new Parcelable.Creator<InputChannel>() {          public InputChannel createFromParcel(Parcel source) { @@ -46,6 +48,7 @@ public final class InputChannel implements Parcelable {      };      @SuppressWarnings("unused") +    @UnsupportedAppUsage      private long mPtr; // used by native code      private static native InputChannel[] nativeOpenInputChannelPair(String name); @@ -63,6 +66,7 @@ public final class InputChannel implements Parcelable {       * It can be initialized by reading from a Parcel or by transferring the state of       * another input channel into this one.       */ +    @UnsupportedAppUsage      public InputChannel() {      } diff --git a/core/java/android/view/InputDevice.java b/core/java/android/view/InputDevice.java index 8405d9ea8c38..7295259a0f89 100644 --- a/core/java/android/view/InputDevice.java +++ b/core/java/android/view/InputDevice.java @@ -18,6 +18,7 @@ package android.view;  import android.annotation.RequiresPermission;  import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.hardware.input.InputDeviceIdentifier;  import android.hardware.input.InputManager; @@ -53,6 +54,7 @@ public final class InputDevice implements Parcelable {      private final int mProductId;      private final String mDescriptor;      private final InputDeviceIdentifier mIdentifier; +    @UnsupportedAppUsage      private final boolean mIsExternal;      private final int mSources;      private final int mKeyboardType; @@ -405,6 +407,7 @@ public final class InputDevice implements Parcelable {      };      // Called by native code. +    @UnsupportedAppUsage      private InputDevice(int id, int generation, int controllerNumber, String name, int vendorId,              int productId, String descriptor, boolean isExternal, int sources, int keyboardType,              KeyCharacterMap keyCharacterMap, boolean hasVibrator, boolean hasMicrophone, @@ -608,6 +611,7 @@ public final class InputDevice implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public boolean isExternal() {          return mIsExternal;      } @@ -739,6 +743,7 @@ public final class InputDevice implements Parcelable {      }      // Called from native code. +    @UnsupportedAppUsage      private void addMotionRange(int axis, int source,              float min, float max, float flat, float fuzz, float resolution) {          mMotionRanges.add(new MotionRange(axis, source, min, max, flat, fuzz, resolution)); diff --git a/core/java/android/view/InputEvent.java b/core/java/android/view/InputEvent.java index e2ad3ad45c64..f874e1df5548 100644 --- a/core/java/android/view/InputEvent.java +++ b/core/java/android/view/InputEvent.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Parcel;  import android.os.Parcelable; @@ -214,6 +215,7 @@ public abstract class InputEvent implements Parcelable {       * @return The unique sequence number of this event.       * @hide       */ +    @UnsupportedAppUsage      public int getSequenceNumber() {          return mSeq;      } diff --git a/core/java/android/view/InputEventConsistencyVerifier.java b/core/java/android/view/InputEventConsistencyVerifier.java index 7e8ec0469e56..e4b1a8d855ec 100644 --- a/core/java/android/view/InputEventConsistencyVerifier.java +++ b/core/java/android/view/InputEventConsistencyVerifier.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Build;  import android.util.Log; @@ -115,6 +116,7 @@ public final class InputEventConsistencyVerifier {       * @param caller The object to which the verifier is attached.       * @param flags Flags to the verifier, or 0 if none.       */ +    @UnsupportedAppUsage      public InputEventConsistencyVerifier(Object caller, int flags) {          this(caller, flags, null);      } @@ -135,6 +137,7 @@ public final class InputEventConsistencyVerifier {       * Determines whether the instrumentation should be enabled.       * @return True if it should be enabled.       */ +    @UnsupportedAppUsage      public static boolean isInstrumentationEnabled() {          return IS_ENG_BUILD;      } @@ -319,6 +322,7 @@ public final class InputEventConsistencyVerifier {       * where a subclass dispatching method delegates to its superclass's dispatching method       * and both dispatching methods call into the consistency verifier.       */ +    @UnsupportedAppUsage      public void onTouchEvent(MotionEvent event, int nestingLevel) {          if (!startEvent(event, nestingLevel, EVENT_TYPE_TOUCH)) {              return; @@ -579,6 +583,7 @@ public final class InputEventConsistencyVerifier {       * where a subclass dispatching method delegates to its superclass's dispatching method       * and both dispatching methods call into the consistency verifier.       */ +    @UnsupportedAppUsage      public void onUnhandledEvent(InputEvent event, int nestingLevel) {          if (nestingLevel != mLastNestingLevel) {              return; diff --git a/core/java/android/view/InputEventReceiver.java b/core/java/android/view/InputEventReceiver.java index c566a653da42..5cd87b404f05 100644 --- a/core/java/android/view/InputEventReceiver.java +++ b/core/java/android/view/InputEventReceiver.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Looper;  import android.os.MessageQueue;  import android.util.Log; @@ -114,6 +115,7 @@ public abstract class InputEventReceiver {       * @param displayId The display id on which input event triggered.       * @param event The input event that was received.       */ +    @UnsupportedAppUsage      public void onInputEvent(InputEvent event, int displayId) {          finishInputEvent(event, false);      } @@ -181,6 +183,7 @@ public abstract class InputEventReceiver {      // Called from native code.      @SuppressWarnings("unused") +    @UnsupportedAppUsage      private void dispatchInputEvent(int seq, InputEvent event, int displayId) {          mSeqMap.put(event.getSequenceNumber(), seq);          onInputEvent(event, displayId); @@ -188,6 +191,7 @@ public abstract class InputEventReceiver {      // Called from native code.      @SuppressWarnings("unused") +    @UnsupportedAppUsage      private void dispatchBatchedInputEventPending() {          onBatchedInputEventPending();      } diff --git a/core/java/android/view/InputEventSender.java b/core/java/android/view/InputEventSender.java index b25fb65b654c..c5f4c23b7b15 100644 --- a/core/java/android/view/InputEventSender.java +++ b/core/java/android/view/InputEventSender.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Looper;  import android.os.MessageQueue;  import android.util.Log; @@ -137,6 +138,7 @@ public abstract class InputEventSender {      // Called from native code.      @SuppressWarnings("unused") +    @UnsupportedAppUsage      private void dispatchInputEventFinished(int seq, boolean handled) {          onInputEventFinished(seq, handled);      } diff --git a/core/java/android/view/InputFilter.java b/core/java/android/view/InputFilter.java index 0ab4dc026e69..3aaf31ef406f 100644 --- a/core/java/android/view/InputFilter.java +++ b/core/java/android/view/InputFilter.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Handler;  import android.os.Looper;  import android.os.Message; @@ -117,6 +118,7 @@ public abstract class InputFilter extends IInputFilter.Stub {       *       * @param looper The looper to run callbacks on.       */ +    @UnsupportedAppUsage      public InputFilter(Looper looper) {          mH = new H(looper);      } @@ -186,6 +188,7 @@ public abstract class InputFilter extends IInputFilter.Stub {       * @param event The input event that was received.       * @param policyFlags The input event policy flags.       */ +    @UnsupportedAppUsage      public void onInputEvent(InputEvent event, int policyFlags) {          sendInputEvent(event, policyFlags);      } diff --git a/core/java/android/view/InputQueue.java b/core/java/android/view/InputQueue.java index 582ae79a743f..69ebc46cb456 100644 --- a/core/java/android/view/InputQueue.java +++ b/core/java/android/view/InputQueue.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Looper;  import android.os.MessageQueue;  import android.util.LongSparseArray; @@ -100,6 +101,7 @@ public final class InputQueue {          mActiveEventArray.put(id, event);      } +    @UnsupportedAppUsage      private void finishInputEvent(long id, boolean handled) {          int index = mActiveEventArray.indexOfKey(id);          if (index >= 0) { diff --git a/core/java/android/view/KeyCharacterMap.java b/core/java/android/view/KeyCharacterMap.java index 02202db52fac..14646f7ee3fa 100644 --- a/core/java/android/view/KeyCharacterMap.java +++ b/core/java/android/view/KeyCharacterMap.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.hardware.input.InputManager;  import android.os.Parcel;  import android.os.Parcelable; @@ -307,6 +308,7 @@ public class KeyCharacterMap implements Parcelable {      }      // Called from native +    @UnsupportedAppUsage      private KeyCharacterMap(long ptr) {          mPtr = ptr;      } @@ -748,7 +750,9 @@ public class KeyCharacterMap implements Parcelable {          private FallbackAction next; +        @UnsupportedAppUsage          public int keyCode; +        @UnsupportedAppUsage          public int metaState;          private FallbackAction() { diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java index a59740563ceb..0263cdf7a006 100644 --- a/core/java/android/view/KeyEvent.java +++ b/core/java/android/view/KeyEvent.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Parcel;  import android.os.Parcelable;  import android.text.method.MetaKeyKeyListener; @@ -828,6 +829,7 @@ public class KeyEvent extends InputEvent implements Parcelable {      // Symbolic names of all metakeys in bit order from least significant to most significant.      // Accordingly there are exactly 32 values in this table. +    @UnsupportedAppUsage      private static final String[] META_SYMBOLIC_NAMES = new String[] {          "META_SHIFT_ON",          "META_ALT_ON", @@ -896,6 +898,7 @@ public class KeyEvent extends InputEvent implements Parcelable {       * Reserved for use by {@link MetaKeyKeyListener} for a published constant in its API.       * @hide       */ +    @UnsupportedAppUsage      public static final int META_CAP_LOCKED = 0x100;      /** @@ -903,6 +906,7 @@ public class KeyEvent extends InputEvent implements Parcelable {       * Reserved for use by {@link MetaKeyKeyListener} for a published constant in its API.       * @hide       */ +    @UnsupportedAppUsage      public static final int META_ALT_LOCKED = 0x200;      /** @@ -910,6 +914,7 @@ public class KeyEvent extends InputEvent implements Parcelable {       * Reserved for use by {@link MetaKeyKeyListener} for a published constant in its API.       * @hide       */ +    @UnsupportedAppUsage      public static final int META_SYM_LOCKED = 0x400;      /** @@ -918,6 +923,7 @@ public class KeyEvent extends InputEvent implements Parcelable {       * in its API that is currently being retained for legacy reasons.       * @hide       */ +    @UnsupportedAppUsage      public static final int META_SELECTING = 0x800;      /** @@ -1237,16 +1243,27 @@ public class KeyEvent extends InputEvent implements Parcelable {      private KeyEvent mNext; +    @UnsupportedAppUsage      private int mDeviceId; +    @UnsupportedAppUsage      private int mSource; +    @UnsupportedAppUsage      private int mMetaState; +    @UnsupportedAppUsage      private int mAction; +    @UnsupportedAppUsage      private int mKeyCode; +    @UnsupportedAppUsage      private int mScanCode; +    @UnsupportedAppUsage      private int mRepeatCount; +    @UnsupportedAppUsage      private int mFlags; +    @UnsupportedAppUsage      private long mDownTime; +    @UnsupportedAppUsage      private long mEventTime; +    @UnsupportedAppUsage      private String mCharacters;      public interface Callback { @@ -1555,6 +1572,7 @@ public class KeyEvent extends InputEvent implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public static KeyEvent obtain(long downTime, long eventTime, int action,                      int code, int repeat, int metaState,                      int deviceId, int scancode, int flags, int source, String characters) { @@ -1608,6 +1626,7 @@ public class KeyEvent extends InputEvent implements Parcelable {       * @hide       */      @Override +    @UnsupportedAppUsage      public final void recycle() {          super.recycle();          mCharacters = null; @@ -1727,6 +1746,7 @@ public class KeyEvent extends InputEvent implements Parcelable {       * @deprecated       * @hide       */ +    @UnsupportedAppUsage      @Deprecated public final boolean isDown() {          return mAction == ACTION_DOWN;      } @@ -1788,6 +1808,7 @@ public class KeyEvent extends InputEvent implements Parcelable {      /** Whether key will, by default, trigger a click on the focused view.       * @hide       */ +    @UnsupportedAppUsage      public static final boolean isConfirmKey(int keyCode) {          switch (keyCode) {              case KeyEvent.KEYCODE_DPAD_CENTER: @@ -1978,6 +1999,7 @@ public class KeyEvent extends InputEvent implements Parcelable {      }      // Mask of all modifier key meta states.  Specifically excludes locked keys like caps lock. +    @UnsupportedAppUsage      private static final int META_MODIFIER_MASK =              META_SHIFT_ON | META_SHIFT_LEFT_ON | META_SHIFT_RIGHT_ON              | META_ALT_ON | META_ALT_LEFT_ON | META_ALT_RIGHT_ON @@ -1986,19 +2008,23 @@ public class KeyEvent extends InputEvent implements Parcelable {              | META_SYM_ON | META_FUNCTION_ON;      // Mask of all lock key meta states. +    @UnsupportedAppUsage      private static final int META_LOCK_MASK =              META_CAPS_LOCK_ON | META_NUM_LOCK_ON | META_SCROLL_LOCK_ON;      // Mask of all valid meta states. +    @UnsupportedAppUsage      private static final int META_ALL_MASK = META_MODIFIER_MASK | META_LOCK_MASK;      // Mask of all synthetic meta states that are reserved for API compatibility with      // historical uses in MetaKeyKeyListener. +    @UnsupportedAppUsage      private static final int META_SYNTHETIC_MASK =              META_CAP_LOCKED | META_ALT_LOCKED | META_SYM_LOCKED | META_SELECTING;      // Mask of all meta states that are not valid use in specifying a modifier key.      // These bits are known to be used for purposes other than specifying modifiers. +    @UnsupportedAppUsage      private static final int META_INVALID_MODIFIER_MASK =              META_LOCK_MASK | META_SYNTHETIC_MASK; @@ -2857,6 +2883,7 @@ public class KeyEvent extends InputEvent implements Parcelable {       * @return The symbolic name of the specified action.       * @hide       */ +    @UnsupportedAppUsage      public static String actionToString(int action) {          switch (action) {              case ACTION_DOWN: diff --git a/core/java/android/view/LayoutInflater.java b/core/java/android/view/LayoutInflater.java index 47b8d921da2e..c520a9958687 100644 --- a/core/java/android/view/LayoutInflater.java +++ b/core/java/android/view/LayoutInflater.java @@ -19,6 +19,7 @@ package android.view;  import android.annotation.LayoutRes;  import android.annotation.Nullable;  import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.content.res.Resources;  import android.content.res.TypedArray; @@ -76,20 +77,28 @@ public abstract class LayoutInflater {       * This field should be made private, so it is hidden from the SDK.       * {@hide}       */ +    @UnsupportedAppUsage      protected final Context mContext;      // these are optional, set by the caller +    @UnsupportedAppUsage      private boolean mFactorySet; +    @UnsupportedAppUsage      private Factory mFactory; +    @UnsupportedAppUsage      private Factory2 mFactory2; +    @UnsupportedAppUsage      private Factory2 mPrivateFactory;      private Filter mFilter; +    @UnsupportedAppUsage      final Object[] mConstructorArgs = new Object[2]; +    @UnsupportedAppUsage      static final Class<?>[] mConstructorSignature = new Class[] {              Context.class, AttributeSet.class}; +    @UnsupportedAppUsage      private static final HashMap<String, Constructor<? extends View>> sConstructorMap =              new HashMap<String, Constructor<? extends View>>(); @@ -105,6 +114,7 @@ public abstract class LayoutInflater {      private static final String ATTR_LAYOUT = "layout"; +    @UnsupportedAppUsage      private static final int[] ATTRS_THEME = new int[] {              com.android.internal.R.attr.theme }; @@ -327,6 +337,7 @@ public abstract class LayoutInflater {      /**       * @hide for use by framework       */ +    @UnsupportedAppUsage      public void setPrivateFactory(Factory2 factory) {          if (mPrivateFactory == null) {              mPrivateFactory = factory; @@ -726,6 +737,7 @@ public abstract class LayoutInflater {       * argument and should be used for everything except {@code >include>}       * tag parsing.       */ +    @UnsupportedAppUsage      private View createViewFromTag(View parent, String name, Context context, AttributeSet attrs) {          return createViewFromTag(parent, name, context, attrs, false);      } @@ -745,6 +757,7 @@ public abstract class LayoutInflater {       *                        attribute (if set) for the view being inflated,       *                        {@code false} otherwise       */ +    @UnsupportedAppUsage      View createViewFromTag(View parent, String name, Context context, AttributeSet attrs,              boolean ignoreThemeAttr) {          if (name.equals("view")) { @@ -893,6 +906,7 @@ public abstract class LayoutInflater {          consumeChildElements(parser);      } +    @UnsupportedAppUsage      private void parseInclude(XmlPullParser parser, Context context, View parent,              AttributeSet attrs) throws XmlPullParserException, IOException {          int type; diff --git a/core/java/android/view/MotionEvent.java b/core/java/android/view/MotionEvent.java index 1d7c1dedc62e..d173ec573330 100644 --- a/core/java/android/view/MotionEvent.java +++ b/core/java/android/view/MotionEvent.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage;  import android.graphics.Matrix;  import android.os.Parcel;  import android.os.Parcelable; @@ -1437,6 +1438,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {      }      // Private value for history pos that obtains the current sample. +    @UnsupportedAppUsage      private static final int HISTORY_CURRENT = -0x80000000;      private static final int MAX_RECYCLED = 10; @@ -1465,6 +1467,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {      }      // Pointer to the native MotionEvent object that contains the actual data. +    @UnsupportedAppUsage      private long mNativePtr;      private MotionEvent mNext; @@ -1498,6 +1501,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {      @FastNative      private static native long nativeGetEventTimeNanos(long nativePtr, int historyPos);      @FastNative +    @UnsupportedAppUsage      private static native float nativeGetRawAxisValue(long nativePtr,              int axis, int pointerIndex, int historyPos);      @FastNative @@ -1582,6 +1586,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {          }      } +    @UnsupportedAppUsage      static private MotionEvent obtain() {          final MotionEvent ev;          synchronized (gRecyclerLock) { @@ -1832,6 +1837,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {      /** @hide */      @Override +    @UnsupportedAppUsage      public MotionEvent copy() {          return obtain(this);      } @@ -1864,6 +1870,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {       * @param scale The scale factor to apply.       * @hide       */ +    @UnsupportedAppUsage      public final void scale(float scale) {          if (scale != 1.0f) {              nativeScale(mNativePtr, scale); @@ -2002,6 +2009,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public final void setDownTime(long downTime) {          nativeSetDownTimeNanos(mNativePtr, downTime * NS_PER_MS);      } @@ -2033,6 +2041,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {       * @hide       */      @Override +    @UnsupportedAppUsage      public final long getEventTimeNano() {          return nativeGetEventTimeNanos(mNativePtr, HISTORY_CURRENT);      } @@ -3032,6 +3041,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {       * @return True if batching was performed or false if batching was not possible.       * @hide       */ +    @UnsupportedAppUsage      public final boolean addBatch(MotionEvent event) {          final int action = nativeGetAction(mNativePtr);          if (action != ACTION_MOVE && action != ACTION_HOVER_MOVE) { @@ -3144,6 +3154,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {       * Gets an integer where each pointer id present in the event is marked as a bit.       * @hide       */ +    @UnsupportedAppUsage      public final int getPointerIdBits() {          int idBits = 0;          final int pointerCount = nativeGetPointerCount(mNativePtr); @@ -3157,6 +3168,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {       * Splits a motion event such that it includes only a subset of pointer ids.       * @hide       */ +    @UnsupportedAppUsage      public final MotionEvent split(int idBits) {          MotionEvent ev = obtain();          synchronized (gSharedTempLock) { @@ -3467,7 +3479,9 @@ public final class MotionEvent extends InputEvent implements Parcelable {       */      public static final class PointerCoords {          private static final int INITIAL_PACKED_AXIS_VALUES = 8; +        @UnsupportedAppUsage          private long mPackedAxisBits; +        @UnsupportedAppUsage          private float[] mPackedAxisValues;          /** @@ -3487,6 +3501,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {          }          /** @hide */ +        @UnsupportedAppUsage          public static PointerCoords[] createArray(int size) {              PointerCoords[] array = new PointerCoords[size];              for (int i = 0; i < size; i++) { @@ -3780,6 +3795,7 @@ public final class MotionEvent extends InputEvent implements Parcelable {          }          /** @hide */ +        @UnsupportedAppUsage          public static PointerProperties[] createArray(int size) {              PointerProperties[] array = new PointerProperties[size];              for (int i = 0; i < size; i++) { diff --git a/core/java/android/view/NotificationHeaderView.java b/core/java/android/view/NotificationHeaderView.java index a3676ba471ea..81da76d7d0ec 100644 --- a/core/java/android/view/NotificationHeaderView.java +++ b/core/java/android/view/NotificationHeaderView.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import android.app.AppOpsManager;  import android.app.Notification;  import android.content.Context; @@ -85,6 +86,7 @@ public class NotificationHeaderView extends ViewGroup {          this(context, null);      } +    @UnsupportedAppUsage      public NotificationHeaderView(Context context, @Nullable AttributeSet attrs) {          this(context, attrs, 0);      } diff --git a/core/java/android/view/PointerIcon.java b/core/java/android/view/PointerIcon.java index 8cb46b704c18..dc097a155d4d 100644 --- a/core/java/android/view/PointerIcon.java +++ b/core/java/android/view/PointerIcon.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage;  import android.annotation.XmlRes;  import android.content.Context;  import android.content.res.Resources; @@ -145,14 +146,20 @@ public final class PointerIcon implements Parcelable {      private static final SparseArray<PointerIcon> gSystemIcons = new SparseArray<PointerIcon>();      private static boolean sUseLargeIcons = false; +    @UnsupportedAppUsage      private final int mType;      private int mSystemIconResourceId; +    @UnsupportedAppUsage      private Bitmap mBitmap; +    @UnsupportedAppUsage      private float mHotSpotX; +    @UnsupportedAppUsage      private float mHotSpotY;      // The bitmaps for the additional frame of animated pointer icon. Note that the first frame      // will be stored in mBitmap. +    @UnsupportedAppUsage      private Bitmap mBitmapFrames[]; +    @UnsupportedAppUsage      private int mDurationPerFrame;      private PointerIcon(int type) { @@ -312,6 +319,7 @@ public final class PointerIcon implements Parcelable {       * @throws IllegalArgumentException if context is null.       * @hide       */ +    @UnsupportedAppUsage      public PointerIcon load(@NonNull Context context) {          if (context == null) {              throw new IllegalArgumentException("context must not be null"); diff --git a/core/java/android/view/RemoteAnimationAdapter.java b/core/java/android/view/RemoteAnimationAdapter.java index a864e550c256..3c9ce788b706 100644 --- a/core/java/android/view/RemoteAnimationAdapter.java +++ b/core/java/android/view/RemoteAnimationAdapter.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.app.ActivityOptions;  import android.os.IBinder;  import android.os.Parcel; @@ -61,6 +62,7 @@ public class RemoteAnimationAdapter implements Parcelable {       * @param statusBarTransitionDelay The desired delay for all visual animations in the       *        status bar caused by this app animation in millis.       */ +    @UnsupportedAppUsage      public RemoteAnimationAdapter(IRemoteAnimationRunner runner, long duration,              long statusBarTransitionDelay) {          mRunner = runner; diff --git a/core/java/android/view/RemoteAnimationDefinition.java b/core/java/android/view/RemoteAnimationDefinition.java index d2240e1f2775..beb1c1d2aa60 100644 --- a/core/java/android/view/RemoteAnimationDefinition.java +++ b/core/java/android/view/RemoteAnimationDefinition.java @@ -19,6 +19,7 @@ package android.view;  import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import android.app.WindowConfiguration;  import android.app.WindowConfiguration.ActivityType;  import android.os.Parcel; @@ -36,6 +37,7 @@ public class RemoteAnimationDefinition implements Parcelable {      private final SparseArray<RemoteAnimationAdapterEntry> mTransitionAnimationMap; +    @UnsupportedAppUsage      public RemoteAnimationDefinition() {          mTransitionAnimationMap = new SparseArray<>();      } @@ -48,6 +50,7 @@ public class RemoteAnimationDefinition implements Parcelable {       *                           parameter is involved in the transition.       * @param adapter The adapter that described how to run the remote animation.       */ +    @UnsupportedAppUsage      public void addRemoteAnimation(@TransitionType int transition,              @ActivityType int activityTypeFilter, RemoteAnimationAdapter adapter) {          mTransitionAnimationMap.put(transition, @@ -61,6 +64,7 @@ public class RemoteAnimationDefinition implements Parcelable {       * @param transition The transition type. Must be one of WindowManager.TRANSIT_* values.       * @param adapter The adapter that described how to run the remote animation.       */ +    @UnsupportedAppUsage      public void addRemoteAnimation(@TransitionType int transition, RemoteAnimationAdapter adapter) {          addRemoteAnimation(transition, ACTIVITY_TYPE_UNDEFINED, adapter);      } diff --git a/core/java/android/view/RemoteAnimationTarget.java b/core/java/android/view/RemoteAnimationTarget.java index 5b2cc81756c1..b201d5592ca0 100644 --- a/core/java/android/view/RemoteAnimationTarget.java +++ b/core/java/android/view/RemoteAnimationTarget.java @@ -28,6 +28,7 @@ import static android.app.RemoteAnimationTargetProto.TASK_ID;  import static android.app.RemoteAnimationTargetProto.WINDOW_CONFIGURATION;  import android.annotation.IntDef; +import android.annotation.UnsupportedAppUsage;  import android.app.WindowConfiguration;  import android.graphics.Point;  import android.graphics.Rect; @@ -66,21 +67,25 @@ public class RemoteAnimationTarget implements Parcelable {      /**       * The {@link Mode} to describe whether this app is opening or closing.       */ +    @UnsupportedAppUsage      public final @Mode int mode;      /**       * The id of the task this app belongs to.       */ +    @UnsupportedAppUsage      public final int taskId;      /**       * The {@link SurfaceControl} object to actually control the transform of the app.       */ +    @UnsupportedAppUsage      public final SurfaceControl leash;      /**       * Whether the app is translucent and may reveal apps behind.       */ +    @UnsupportedAppUsage      public final boolean isTranslucent;      /** @@ -89,11 +94,13 @@ public class RemoteAnimationTarget implements Parcelable {       * anything that extends beyond these bounds will not have any effect. This implies that any       * clip-rect animation should likely stop at these bounds.       */ +    @UnsupportedAppUsage      public final Rect clipRect;      /**       * The insets of the main app window.       */ +    @UnsupportedAppUsage      public final Rect contentInsets;      /** @@ -101,6 +108,7 @@ public class RemoteAnimationTarget implements Parcelable {       * to preserve original z-layer order in the hierarchy tree assuming no "boosting" needs to       * happen.       */ +    @UnsupportedAppUsage      public final int prefixOrderIndex;      /** @@ -108,6 +116,7 @@ public class RemoteAnimationTarget implements Parcelable {       * is modified from the controlling app, any animation transform needs to be offset by this       * amount.       */ +    @UnsupportedAppUsage      public final Point position;      /** @@ -115,16 +124,19 @@ public class RemoteAnimationTarget implements Parcelable {       * of the leash is modified from the controlling app, it needs to take the source container       * bounds into account when calculating the crop.       */ +    @UnsupportedAppUsage      public final Rect sourceContainerBounds;      /**       * The window configuration for the target.       */ +    @UnsupportedAppUsage      public final WindowConfiguration windowConfiguration;      /**       * Whether the task is not presented in Recents UI.       */ +    @UnsupportedAppUsage      public boolean isNotInRecents;      public RemoteAnimationTarget(int taskId, int mode, SurfaceControl leash, boolean isTranslucent, diff --git a/core/java/android/view/RenderNode.java b/core/java/android/view/RenderNode.java index 7c25fac3974e..c28e335e4eee 100644 --- a/core/java/android/view/RenderNode.java +++ b/core/java/android/view/RenderNode.java @@ -18,6 +18,7 @@ package android.view;  import android.annotation.NonNull;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import android.graphics.Matrix;  import android.graphics.Outline;  import android.graphics.Paint; @@ -175,6 +176,7 @@ public class RenderNode {       *       * @return A new RenderNode.       */ +    @UnsupportedAppUsage      public static RenderNode create(String name, @Nullable View owningView) {          return new RenderNode(name, owningView);      } @@ -214,6 +216,7 @@ public class RenderNode {       * @see #end(DisplayListCanvas)       * @see #isValid()       */ +    @UnsupportedAppUsage      public DisplayListCanvas start(int width, int height) {          return DisplayListCanvas.obtain(this, width, height);      } @@ -226,6 +229,7 @@ public class RenderNode {       * @see #start(int, int)       * @see #isValid()       */ +    @UnsupportedAppUsage      public void end(DisplayListCanvas canvas) {          long displayList = canvas.finishRecording();          nSetDisplayList(mNativeRenderNode, displayList); @@ -237,6 +241,7 @@ public class RenderNode {       * during destruction of hardware resources, to ensure that we do not hold onto       * obsolete resources after related resources are gone.       */ +    @UnsupportedAppUsage      public void discardDisplayList() {          nSetDisplayList(mNativeRenderNode, 0);      } @@ -247,6 +252,7 @@ public class RenderNode {       *       * @return boolean true if the display list is able to be replayed, false otherwise.       */ +    @UnsupportedAppUsage      public boolean isValid() {          return nIsValid(mNativeRenderNode);      } @@ -300,6 +306,7 @@ public class RenderNode {       *       * @param clipToBounds true if the display list should clip to its bounds       */ +    @UnsupportedAppUsage      public boolean setClipToBounds(boolean clipToBounds) {          return nSetClipToBounds(mNativeRenderNode, clipToBounds);      } @@ -311,6 +318,7 @@ public class RenderNode {       * @param shouldProject true if the display list should be projected onto a       *            containing volume.       */ +    @UnsupportedAppUsage      public boolean setProjectBackwards(boolean shouldProject) {          return nSetProjectBackwards(mNativeRenderNode, shouldProject);      } @@ -451,6 +459,7 @@ public class RenderNode {       * @see android.view.View#hasOverlappingRendering()       * @see #hasOverlappingRendering()       */ +    @UnsupportedAppUsage      public boolean setHasOverlappingRendering(boolean hasOverlappingRendering) {          return nSetHasOverlappingRendering(mNativeRenderNode, hasOverlappingRendering);      } @@ -772,6 +781,7 @@ public class RenderNode {       * @see View#setRight(int)       * @see View#setBottom(int)       */ +    @UnsupportedAppUsage      public boolean setLeftTopRightBottom(int left, int top, int right, int bottom) {          return nSetLeftTopRightBottom(mNativeRenderNode, left, top, right, bottom);      } @@ -784,6 +794,7 @@ public class RenderNode {       *       * @see View#offsetLeftAndRight(int)       */ +    @UnsupportedAppUsage      public boolean offsetLeftAndRight(int offset) {          return nOffsetLeftAndRight(mNativeRenderNode, offset);      } @@ -804,6 +815,7 @@ public class RenderNode {       * Outputs the display list to the log. This method exists for use by       * tools to output display lists for selected nodes to the log.       */ +    @UnsupportedAppUsage      public void output() {          nOutput(mNativeRenderNode);      } diff --git a/core/java/android/view/RenderNodeAnimator.java b/core/java/android/view/RenderNodeAnimator.java index d26a2f643ed4..e48bcfdb7203 100644 --- a/core/java/android/view/RenderNodeAnimator.java +++ b/core/java/android/view/RenderNodeAnimator.java @@ -19,6 +19,7 @@ package android.view;  import android.animation.Animator;  import android.animation.TimeInterpolator;  import android.animation.ValueAnimator; +import android.annotation.UnsupportedAppUsage;  import android.graphics.CanvasProperty;  import android.graphics.Paint;  import android.util.SparseIntArray; @@ -103,10 +104,12 @@ public class RenderNodeAnimator extends Animator {      private long mStartDelay = 0;      private long mStartTime; +    @UnsupportedAppUsage      public static int mapViewPropertyToRenderProperty(int viewProperty) {          return sViewPropertyAnimatorMap.get(viewProperty);      } +    @UnsupportedAppUsage      public RenderNodeAnimator(int property, float finalValue) {          mRenderProperty = property;          mFinalValue = finalValue; @@ -114,6 +117,7 @@ public class RenderNodeAnimator extends Animator {          init(nCreateAnimator(property, finalValue));      } +    @UnsupportedAppUsage      public RenderNodeAnimator(CanvasProperty<Float> property, float finalValue) {          init(nCreateCanvasPropertyFloatAnimator(                  property.getNativeContainer(), finalValue)); @@ -128,6 +132,7 @@ public class RenderNodeAnimator extends Animator {       *            {@link #PAINT_STROKE_WIDTH}       * @param finalValue The target value for the property       */ +    @UnsupportedAppUsage      public RenderNodeAnimator(CanvasProperty<Paint> property, int paintField, float finalValue) {          init(nCreateCanvasPropertyPaintAnimator(                  property.getNativeContainer(), paintField, finalValue)); @@ -275,6 +280,7 @@ public class RenderNodeAnimator extends Animator {          throw new UnsupportedOperationException();      } +    @UnsupportedAppUsage      public void setTarget(View view) {          mViewTarget = view;          setTarget(mViewTarget.mRenderNode); @@ -295,6 +301,7 @@ public class RenderNodeAnimator extends Animator {          mTarget.addAnimator(this);      } +    @UnsupportedAppUsage      public void setStartValue(float startValue) {          checkMutable();          nSetStartValue(mNativePtr.get(), startValue); @@ -479,6 +486,7 @@ public class RenderNodeAnimator extends Animator {      }      // Called by native +    @UnsupportedAppUsage      private static void callOnFinished(RenderNodeAnimator animator) {          animator.onFinished();      } diff --git a/core/java/android/view/ScaleGestureDetector.java b/core/java/android/view/ScaleGestureDetector.java index 9787494c5018..c189afefe5f8 100644 --- a/core/java/android/view/ScaleGestureDetector.java +++ b/core/java/android/view/ScaleGestureDetector.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.content.res.Resources;  import android.os.Build; @@ -123,6 +124,7 @@ public class ScaleGestureDetector {      }      private final Context mContext; +    @UnsupportedAppUsage      private final OnScaleGestureListener mListener;      private float mFocusX; @@ -141,7 +143,9 @@ public class ScaleGestureDetector {      private long mCurrTime;      private long mPrevTime;      private boolean mInProgress; +    @UnsupportedAppUsage      private int mSpanSlop; +    @UnsupportedAppUsage      private int mMinSpan;      private final Handler mHandler; diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java index df81a311bb89..427f570b1294 100644 --- a/core/java/android/view/Surface.java +++ b/core/java/android/view/Surface.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.IntDef; +import android.annotation.UnsupportedAppUsage;  import android.content.res.CompatibilityInfo.Translator;  import android.graphics.Canvas;  import android.graphics.GraphicBuffer; @@ -60,6 +61,7 @@ public class Surface implements Parcelable {              throws OutOfResourcesException;      private static native void nativeUnlockCanvasAndPost(long nativeObject, Canvas canvas); +    @UnsupportedAppUsage      private static native void nativeRelease(long nativeObject);      private static native boolean nativeIsValid(long nativeObject);      private static native boolean nativeIsConsumerRunningBehind(long nativeObject); @@ -102,9 +104,13 @@ public class Surface implements Parcelable {      private final CloseGuard mCloseGuard = CloseGuard.get();      // Guarded state. +    @UnsupportedAppUsage      final Object mLock = new Object(); // protects the native state +    @UnsupportedAppUsage      private String mName; +    @UnsupportedAppUsage      long mNativeObject; // package scope only for SurfaceControl access +    @UnsupportedAppUsage      private long mLockedObject;      private int mGenerationId; // incremented each time mNativeObject changes      private final Canvas mCanvas = new CompatibleCanvas(); @@ -172,6 +178,7 @@ public class Surface implements Parcelable {       * Create an empty surface, which will later be filled in by readFromParcel().       * @hide       */ +    @UnsupportedAppUsage      public Surface() {      } @@ -203,6 +210,7 @@ public class Surface implements Parcelable {      }      /* called from android_view_Surface_createFromIGraphicBufferProducer() */ +    @UnsupportedAppUsage      private Surface(long nativeObject) {          synchronized (mLock) {              setNativeObjectLocked(nativeObject); @@ -245,6 +253,7 @@ public class Surface implements Parcelable {       * called from the process that created the service.       * @hide       */ +    @UnsupportedAppUsage      public void destroy() {          release();      } @@ -293,6 +302,7 @@ public class Surface implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public long getNextFrameNumber() {          synchronized (mLock) {              checkNotReleasedLocked(); @@ -485,6 +495,7 @@ public class Surface implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public void copyFrom(SurfaceControl other) {          if (other == null) {              throw new IllegalArgumentException("other must not be null"); @@ -544,6 +555,7 @@ public class Surface implements Parcelable {       * @deprecated       */      @Deprecated +    @UnsupportedAppUsage      public void transferFrom(Surface other) {          if (other == null) {              throw new IllegalArgumentException("other must not be null"); diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index ed8b0053e5bf..2e98d033fa7f 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -28,6 +28,7 @@ import static android.view.SurfaceControlProto.HASH_CODE;  import static android.view.SurfaceControlProto.NAME;  import android.annotation.Size; +import android.annotation.UnsupportedAppUsage;  import android.graphics.Bitmap;  import android.graphics.GraphicBuffer;  import android.graphics.Matrix; @@ -179,6 +180,7 @@ public class SurfaceControl implements Parcelable {      /**       * Surface creation flag: Surface is created hidden       */ +    @UnsupportedAppUsage      public static final int HIDDEN = 0x00000004;      /** @@ -720,6 +722,7 @@ public class SurfaceControl implements Parcelable {       */      /** start a transaction */ +    @UnsupportedAppUsage      public static void openTransaction() {          synchronized (SurfaceControl.class) {              if (sGlobalTransaction == null) { @@ -756,6 +759,7 @@ public class SurfaceControl implements Parcelable {      }      /** end a transaction */ +    @UnsupportedAppUsage      public static void closeTransaction() {          closeTransaction(false);      } @@ -811,6 +815,7 @@ public class SurfaceControl implements Parcelable {          }      } +    @UnsupportedAppUsage      public void setLayer(int zorder) {          checkNotReleased();          synchronized(SurfaceControl.class) { @@ -825,6 +830,7 @@ public class SurfaceControl implements Parcelable {          }      } +    @UnsupportedAppUsage      public void setPosition(float x, float y) {          checkNotReleased();          synchronized(SurfaceControl.class) { @@ -846,6 +852,7 @@ public class SurfaceControl implements Parcelable {          }      } +    @UnsupportedAppUsage      public void hide() {          checkNotReleased();          synchronized(SurfaceControl.class) { @@ -853,6 +860,7 @@ public class SurfaceControl implements Parcelable {          }      } +    @UnsupportedAppUsage      public void show() {          checkNotReleased();          synchronized(SurfaceControl.class) { @@ -986,16 +994,26 @@ public class SurfaceControl implements Parcelable {       * Describes the properties of a physical display known to surface flinger.       */      public static final class PhysicalDisplayInfo { +        @UnsupportedAppUsage          public int width; +        @UnsupportedAppUsage          public int height; +        @UnsupportedAppUsage          public float refreshRate; +        @UnsupportedAppUsage          public float density; +        @UnsupportedAppUsage          public float xDpi; +        @UnsupportedAppUsage          public float yDpi; +        @UnsupportedAppUsage          public boolean secure; +        @UnsupportedAppUsage          public long appVsyncOffsetNanos; +        @UnsupportedAppUsage          public long presentationDeadlineNanos; +        @UnsupportedAppUsage          public PhysicalDisplayInfo() {          } @@ -1055,6 +1073,7 @@ public class SurfaceControl implements Parcelable {          nativeSetDisplayPowerMode(displayToken, mode);      } +    @UnsupportedAppUsage      public static SurfaceControl.PhysicalDisplayInfo[] getDisplayConfigs(IBinder displayToken) {          if (displayToken == null) {              throw new IllegalArgumentException("displayToken must not be null"); @@ -1097,6 +1116,7 @@ public class SurfaceControl implements Parcelable {          return nativeSetActiveColorMode(displayToken, colorMode);      } +    @UnsupportedAppUsage      public static void setDisplayProjection(IBinder displayToken,              int orientation, Rect layerStackRect, Rect displayRect) {          synchronized (SurfaceControl.class) { @@ -1105,12 +1125,14 @@ public class SurfaceControl implements Parcelable {          }      } +    @UnsupportedAppUsage      public static void setDisplayLayerStack(IBinder displayToken, int layerStack) {          synchronized (SurfaceControl.class) {              sGlobalTransaction.setDisplayLayerStack(displayToken, layerStack);          }      } +    @UnsupportedAppUsage      public static void setDisplaySurface(IBinder displayToken, Surface surface) {          synchronized (SurfaceControl.class) {              sGlobalTransaction.setDisplaySurface(displayToken, surface); @@ -1130,6 +1152,7 @@ public class SurfaceControl implements Parcelable {          return nativeGetHdrCapabilities(displayToken);      } +    @UnsupportedAppUsage      public static IBinder createDisplay(String name, boolean secure) {          if (name == null) {              throw new IllegalArgumentException("name must not be null"); @@ -1137,6 +1160,7 @@ public class SurfaceControl implements Parcelable {          return nativeCreateDisplay(name, secure);      } +    @UnsupportedAppUsage      public static void destroyDisplay(IBinder displayToken) {          if (displayToken == null) {              throw new IllegalArgumentException("displayToken must not be null"); @@ -1144,6 +1168,7 @@ public class SurfaceControl implements Parcelable {          nativeDestroyDisplay(displayToken);      } +    @UnsupportedAppUsage      public static IBinder getBuiltInDisplay(int builtInDisplayId) {          return nativeGetBuiltInDisplay(builtInDisplayId);      } @@ -1229,6 +1254,7 @@ public class SurfaceControl implements Parcelable {       * if an error occurs. Make sure to call Bitmap.recycle() as soon as       * possible, once its content is not needed anymore.       */ +    @UnsupportedAppUsage      public static Bitmap screenshot(Rect sourceCrop, int width, int height,              int minLayer, int maxLayer, boolean useIdentityTransform,              int rotation) { @@ -1285,6 +1311,7 @@ public class SurfaceControl implements Parcelable {                  false, rotation);      } +    @UnsupportedAppUsage      private static void screenshot(IBinder display, Surface consumer, Rect sourceCrop,              int width, int height, int minLayer, int maxLayer, boolean allLayers,              boolean useIdentityTransform) { @@ -1334,6 +1361,7 @@ public class SurfaceControl implements Parcelable {          private final ArrayMap<SurfaceControl, Point> mResizedSurfaces = new ArrayMap<>();          Runnable mFreeNativeResources; +        @UnsupportedAppUsage          public Transaction() {              mNativeObject = nativeCreateTransaction();              mFreeNativeResources @@ -1344,6 +1372,7 @@ public class SurfaceControl implements Parcelable {           * Apply the transaction, clearing it's state, and making it usable           * as a new transaction.           */ +        @UnsupportedAppUsage          public void apply() {              apply(false);          } @@ -1378,24 +1407,28 @@ public class SurfaceControl implements Parcelable {              mResizedSurfaces.clear();          } +        @UnsupportedAppUsage          public Transaction show(SurfaceControl sc) {              sc.checkNotReleased();              nativeSetFlags(mNativeObject, sc.mNativeObject, 0, SURFACE_HIDDEN);              return this;          } +        @UnsupportedAppUsage          public Transaction hide(SurfaceControl sc) {              sc.checkNotReleased();              nativeSetFlags(mNativeObject, sc.mNativeObject, SURFACE_HIDDEN, SURFACE_HIDDEN);              return this;          } +        @UnsupportedAppUsage          public Transaction setPosition(SurfaceControl sc, float x, float y) {              sc.checkNotReleased();              nativeSetPosition(mNativeObject, sc.mNativeObject, x, y);              return this;          } +        @UnsupportedAppUsage          public Transaction setSize(SurfaceControl sc, int w, int h) {              sc.checkNotReleased();              mResizedSurfaces.put(sc, new Point(w, h)); @@ -1403,6 +1436,7 @@ public class SurfaceControl implements Parcelable {              return this;          } +        @UnsupportedAppUsage          public Transaction setLayer(SurfaceControl sc, int z) {              sc.checkNotReleased();              nativeSetLayer(mNativeObject, sc.mNativeObject, z); @@ -1423,12 +1457,14 @@ public class SurfaceControl implements Parcelable {              return this;          } +        @UnsupportedAppUsage          public Transaction setAlpha(SurfaceControl sc, float alpha) {              sc.checkNotReleased();              nativeSetAlpha(mNativeObject, sc.mNativeObject, alpha);              return this;          } +        @UnsupportedAppUsage          public Transaction setMatrix(SurfaceControl sc,                  float dsdx, float dtdx, float dtdy, float dsdy) {              sc.checkNotReleased(); @@ -1437,6 +1473,7 @@ public class SurfaceControl implements Parcelable {              return this;          } +        @UnsupportedAppUsage          public Transaction setMatrix(SurfaceControl sc, Matrix matrix, float[] float9) {              matrix.getValues(float9);              setMatrix(sc, float9[MSCALE_X], float9[MSKEW_Y], @@ -1445,6 +1482,7 @@ public class SurfaceControl implements Parcelable {              return this;          } +        @UnsupportedAppUsage          public Transaction setWindowCrop(SurfaceControl sc, Rect crop) {              sc.checkNotReleased();              if (crop != null) { @@ -1457,6 +1495,7 @@ public class SurfaceControl implements Parcelable {              return this;          } +        @UnsupportedAppUsage          public Transaction setFinalCrop(SurfaceControl sc, Rect crop) {              sc.checkNotReleased();              if (crop != null) { @@ -1475,6 +1514,7 @@ public class SurfaceControl implements Parcelable {              return this;          } +        @UnsupportedAppUsage          public Transaction deferTransactionUntil(SurfaceControl sc, IBinder handle,                  long frameNumber) {              if (frameNumber < 0) { @@ -1485,6 +1525,7 @@ public class SurfaceControl implements Parcelable {              return this;          } +        @UnsupportedAppUsage          public Transaction deferTransactionUntilSurface(SurfaceControl sc, Surface barrierSurface,                  long frameNumber) {              if (frameNumber < 0) { @@ -1527,6 +1568,7 @@ public class SurfaceControl implements Parcelable {           * Sets a color for the Surface.           * @param color A float array with three values to represent r, g, b in range [0..1]           */ +        @UnsupportedAppUsage          public Transaction setColor(SurfaceControl sc, @Size(3) float[] color) {              sc.checkNotReleased();              nativeSetColor(mNativeObject, sc.mNativeObject, color); diff --git a/core/java/android/view/SurfaceSession.java b/core/java/android/view/SurfaceSession.java index b5912bc1e1c8..d517a802086b 100644 --- a/core/java/android/view/SurfaceSession.java +++ b/core/java/android/view/SurfaceSession.java @@ -16,6 +16,8 @@  package android.view; +import android.annotation.UnsupportedAppUsage; +  /**   * An instance of this class represents a connection to the surface   * flinger, from which you can create one or more Surface instances that will @@ -24,6 +26,7 @@ package android.view;   */  public final class SurfaceSession {      // Note: This field is accessed by native code. +    @UnsupportedAppUsage      private long mNativeClient; // SurfaceComposerClient*      private static native long nativeCreate(); @@ -32,6 +35,7 @@ public final class SurfaceSession {      private static native void nativeKill(long ptr);      /** Create a new connection with the surface flinger. */ +    @UnsupportedAppUsage      public SurfaceSession() {          mNativeClient = nativeCreate();      } @@ -57,6 +61,7 @@ public final class SurfaceSession {       * Unlike destroy(), after this call any surfaces that were created       * from the session will no longer work.       */ +    @UnsupportedAppUsage      public void kill() {          nativeKill(mNativeClient);      } diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 44c1780d0be5..6319a8f6c66d 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -20,6 +20,7 @@ import static android.view.WindowManagerPolicyConstants.APPLICATION_MEDIA_OVERLA  import static android.view.WindowManagerPolicyConstants.APPLICATION_MEDIA_SUBLAYER;  import static android.view.WindowManagerPolicyConstants.APPLICATION_PANEL_SUBLAYER; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.content.res.CompatibilityInfo.Translator;  import android.content.res.Configuration; @@ -98,13 +99,17 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb      private static final String TAG = "SurfaceView";      private static final boolean DEBUG = false; +    @UnsupportedAppUsage      final ArrayList<SurfaceHolder.Callback> mCallbacks              = new ArrayList<SurfaceHolder.Callback>();      final int[] mLocation = new int[2]; +    @UnsupportedAppUsage      final ReentrantLock mSurfaceLock = new ReentrantLock(); +    @UnsupportedAppUsage      final Surface mSurface = new Surface();       // Current surface in use +    @UnsupportedAppUsage      boolean mDrawingStopped = true;      // We use this to track if the application has produced a frame      // in to the Surface. Up until that point, we should be careful not to punch @@ -123,6 +128,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb      int mSubLayer = APPLICATION_MEDIA_SUBLAYER; +    @UnsupportedAppUsage      boolean mIsCreating = false;      private volatile boolean mRtHandlingPositionUpdates = false; @@ -134,6 +140,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb                      }              }; +    @UnsupportedAppUsage      private final ViewTreeObserver.OnPreDrawListener mDrawListener =              new ViewTreeObserver.OnPreDrawListener() {                  @Override @@ -151,15 +158,20 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb      boolean mViewVisibility = false;      boolean mWindowStopped = false; +    @UnsupportedAppUsage      int mRequestedWidth = -1; +    @UnsupportedAppUsage      int mRequestedHeight = -1;      /* Set SurfaceView's format to 565 by default to maintain backward       * compatibility with applications assuming this format.       */ +    @UnsupportedAppUsage      int mRequestedFormat = PixelFormat.RGB_565; +    @UnsupportedAppUsage      boolean mHaveFrame = false;      boolean mSurfaceCreated = false; +    @UnsupportedAppUsage      long mLastLockTime = 0;      boolean mVisible = false; @@ -167,7 +179,9 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb      int mWindowSpaceTop = -1;      int mSurfaceWidth = -1;      int mSurfaceHeight = -1; +    @UnsupportedAppUsage      int mFormat = -1; +    @UnsupportedAppUsage      final Rect mSurfaceFrame = new Rect();      int mLastSurfaceWidth = -1, mLastSurfaceHeight = -1;      private Translator mTranslator; @@ -340,6 +354,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb      /** @hide */      @Override +    @UnsupportedAppUsage      protected boolean setFrame(int left, int top, int right, int bottom) {          boolean result = super.setFrame(left, top, right, bottom);          updateSurface(); @@ -814,6 +829,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb       * Called by native by a Rendering Worker thread to update the window position       * @hide       */ +    @UnsupportedAppUsage      public final void updateSurfacePosition_renderWorker(long frameNumber,              int left, int top, int right, int bottom) {          if (mSurfaceControl == null) { @@ -854,6 +870,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb       * draw tree. UI thread is blocked at this point.       * @hide       */ +    @UnsupportedAppUsage      public final void surfacePositionLost_uiRtSync(long frameNumber) {          if (DEBUG) {              Log.d(TAG, String.format("%d windowPositionLost, frameNr = %d", @@ -909,6 +926,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb       * @return true if the surface has dimensions that are fixed in size       * @hide       */ +    @UnsupportedAppUsage      public boolean isFixedSize() {          return (mRequestedWidth != -1 || mRequestedHeight != -1);      } @@ -928,6 +946,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb          mSurfaceControl.setBackgroundColor(bgColor);      } +    @UnsupportedAppUsage      private final SurfaceHolder mSurfaceHolder = new SurfaceHolder() {          private static final String LOG_TAG = "SurfaceHolder"; diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java index 371794045f85..997e48fe61ac 100644 --- a/core/java/android/view/TextureView.java +++ b/core/java/android/view/TextureView.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.graphics.Bitmap;  import android.graphics.Canvas; @@ -106,11 +107,14 @@ import android.util.Log;  public class TextureView extends View {      private static final String LOG_TAG = "TextureView"; +    @UnsupportedAppUsage      private TextureLayer mLayer; +    @UnsupportedAppUsage      private SurfaceTexture mSurface;      private SurfaceTextureListener mListener;      private boolean mHadSurface; +    @UnsupportedAppUsage      private boolean mOpaque = true;      private final Matrix mMatrix = new Matrix(); @@ -118,6 +122,7 @@ public class TextureView extends View {      private final Object[] mLock = new Object[0];      private boolean mUpdateLayer; +    @UnsupportedAppUsage      private boolean mUpdateSurface;      private Canvas mCanvas; @@ -125,6 +130,7 @@ public class TextureView extends View {      private final Object[] mNativeWindowLock = new Object[0];      // Set by native code, do not write! +    @UnsupportedAppUsage      private long mNativeWindow;      /** @@ -217,6 +223,7 @@ public class TextureView extends View {      /** @hide */      @Override +    @UnsupportedAppUsage      protected void onDetachedFromWindowInternal() {          destroyHardwareLayer();          releaseSurfaceTexture(); @@ -227,11 +234,13 @@ public class TextureView extends View {       * @hide       */      @Override +    @UnsupportedAppUsage      protected void destroyHardwareResources() {          super.destroyHardwareResources();          destroyHardwareLayer();      } +    @UnsupportedAppUsage      private void destroyHardwareLayer() {          if (mLayer != null) {              mLayer.detachSurfaceTexture(); @@ -786,6 +795,7 @@ public class TextureView extends View {          mListener = listener;      } +    @UnsupportedAppUsage      private final SurfaceTexture.OnFrameAvailableListener mUpdateListener =              new SurfaceTexture.OnFrameAvailableListener() {          @Override @@ -839,7 +849,9 @@ public class TextureView extends View {          public void onSurfaceTextureUpdated(SurfaceTexture surface);      } +    @UnsupportedAppUsage      private native void nCreateNativeWindow(SurfaceTexture surface); +    @UnsupportedAppUsage      private native void nDestroyNativeWindow();      private static native boolean nLockCanvas(long nativeWindow, Canvas canvas, Rect dirty); diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java index 5952d782fa2a..0987b8a82b07 100644 --- a/core/java/android/view/ThreadedRenderer.java +++ b/core/java/android/view/ThreadedRenderer.java @@ -18,6 +18,7 @@ package android.view;  import android.annotation.IntDef;  import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage;  import android.app.ActivityManager;  import android.content.Context;  import android.content.res.TypedArray; @@ -276,6 +277,7 @@ public final class ThreadedRenderer {       *       * @hide       */ +    @UnsupportedAppUsage      public static void setupDiskCache(File cacheDir) {          ThreadedRenderer.setupShadersDiskCache(                  new File(cacheDir, CACHE_PATH_SHADERS).getAbsolutePath(), @@ -719,6 +721,7 @@ public final class ThreadedRenderer {       * @param placeFront If true, the render node will be placed in front of the content node,       *                   otherwise behind the content node.       */ +    @UnsupportedAppUsage      public void addRenderNode(RenderNode node, boolean placeFront) {          nAddRenderNode(mNativeProxy, node.mNativeRenderNode, placeFront);      } @@ -727,6 +730,7 @@ public final class ThreadedRenderer {       * Only especially added render nodes can be removed.       * @param node The node which was added via addRenderNode which should get removed again.       */ +    @UnsupportedAppUsage      public void removeRenderNode(RenderNode node) {          nRemoveRenderNode(mNativeProxy, node.mNativeRenderNode);      } @@ -736,6 +740,7 @@ public final class ThreadedRenderer {       * nodes will get drawn and the content remains untouched.       * @param node The node to be drawn.       */ +    @UnsupportedAppUsage      public void drawRenderNode(RenderNode node) {          nDrawRenderNode(mNativeProxy, node.mNativeRenderNode);      } @@ -749,6 +754,7 @@ public final class ThreadedRenderer {       * @param right The right side of the protected bounds.       * @param bottom The bottom side of the protected bounds.       */ +    @UnsupportedAppUsage      public void setContentDrawBounds(int left, int top, int right, int bottom) {          nSetContentDrawBounds(mNativeProxy, left, top, right, bottom);      } @@ -935,6 +941,7 @@ public final class ThreadedRenderer {       * RenderNode. Note that the RenderNode should be created as a root node (so x/y of 0,0), and       * not the RenderNode from a View.       **/ +    @UnsupportedAppUsage      public static Bitmap createHardwareBitmap(RenderNode node, int width, int height) {          return nCreateHardwareBitmap(node.getNativeDisplayList(), width, height);      } diff --git a/core/java/android/view/TouchDelegate.java b/core/java/android/view/TouchDelegate.java index d6c43e80390f..b361ab456b2a 100644 --- a/core/java/android/view/TouchDelegate.java +++ b/core/java/android/view/TouchDelegate.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.graphics.Rect;  /** @@ -51,6 +52,7 @@ public class TouchDelegate {      /**       * True if the delegate had been targeted on a down event (intersected mBounds).       */ +    @UnsupportedAppUsage      private boolean mDelegateTargeted;      /** diff --git a/core/java/android/view/VelocityTracker.java b/core/java/android/view/VelocityTracker.java index 22b5ccacf43a..7154f2bdee42 100644 --- a/core/java/android/view/VelocityTracker.java +++ b/core/java/android/view/VelocityTracker.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.util.Pools.SynchronizedPool;  /** @@ -68,6 +69,7 @@ public final class VelocityTracker {       *       * @hide       */ +    @UnsupportedAppUsage      public static VelocityTracker obtain(String strategy) {          if (strategy == null) {              return obtain(); @@ -235,21 +237,25 @@ public final class VelocityTracker {          /**           * Polynomial coefficients describing motion in X.           */ +        @UnsupportedAppUsage          public final float[] xCoeff = new float[MAX_DEGREE + 1];          /**           * Polynomial coefficients describing motion in Y.           */ +        @UnsupportedAppUsage          public final float[] yCoeff = new float[MAX_DEGREE + 1];          /**           * Polynomial degree, or zero if only position information is available.           */ +        @UnsupportedAppUsage          public int degree;          /**           * Confidence (coefficient of determination), between 0 (no fit) and 1 (perfect fit).           */ +        @UnsupportedAppUsage          public float confidence;          /** diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 2c9e543c3abd..0e5f25055c7e 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -35,6 +35,7 @@ import android.annotation.Nullable;  import android.annotation.Size;  import android.annotation.TestApi;  import android.annotation.UiThread; +import android.annotation.UnsupportedAppUsage;  import android.content.ClipData;  import android.content.Context;  import android.content.ContextWrapper; @@ -777,6 +778,7 @@ import java.util.function.Predicate;  @UiThread  public class View implements Drawable.Callback, KeyEvent.Callback,          AccessibilityEventSource { +    @UnsupportedAppUsage      private static final boolean DBG = false;      /** @hide */ @@ -792,6 +794,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public static final String DEBUG_LAYOUT_PROPERTY = "debug.layout";      /** @@ -2150,6 +2153,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * Map used to store views' tags.       */ +    @UnsupportedAppUsage      private SparseArray<Object> mKeyedTags;      /** @@ -2168,6 +2172,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "measurement") +    @UnsupportedAppUsage      int mMeasuredWidth;      /** @@ -2175,6 +2180,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "measurement") +    @UnsupportedAppUsage      int mMeasuredHeight;      /** @@ -2186,6 +2192,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * {@hide}       */ +    @UnsupportedAppUsage      boolean mRecreateDisplayList = false;      /** @@ -2212,6 +2219,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      private int mAutofillViewId = NO_ID;      // ID for accessibility purposes. This ID must be unique for every window +    @UnsupportedAppUsage      private int mAccessibilityViewId = NO_ID;      private int mAccessibilityCursorPosition = ACCESSIBILITY_CURSOR_POSITION_UNDEFINED; @@ -2223,6 +2231,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @see #setTag(Object)       * @see #getTag()       */ +    @UnsupportedAppUsage      protected Object mTag = null;      // for mPrivateFlags: @@ -3523,6 +3532,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * Flag to make the status bar not expandable.  Unless you also       * set {@link #STATUS_BAR_DISABLE_NOTIFICATION_ICONS}, new notifications will continue to show.       */ +    @UnsupportedAppUsage      public static final int STATUS_BAR_DISABLE_EXPAND = 0x00010000;      /** @@ -3577,6 +3587,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * Flag to hide only the home button.  Don't use this       * unless you're a special part of the system UI (i.e., setup wizard, keyguard).       */ +    @UnsupportedAppUsage      public static final int STATUS_BAR_DISABLE_HOME = 0x00200000;      /** @@ -3588,6 +3599,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * Flag to hide only the back button. Don't use this       * unless you're a special part of the system UI (i.e., setup wizard, keyguard).       */ +    @UnsupportedAppUsage      public static final int STATUS_BAR_DISABLE_BACK = 0x00400000;      /** @@ -3610,6 +3622,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * Flag to hide only the recent apps button. Don't use this       * unless you're a special part of the system UI (i.e., setup wizard, keyguard).       */ +    @UnsupportedAppUsage      public static final int STATUS_BAR_DISABLE_RECENT = 0x01000000;      /** @@ -3641,6 +3654,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * Flag to specify that the navigation bar is displayed in transient mode.       */ +    @UnsupportedAppUsage      public static final int NAVIGATION_BAR_TRANSIENT = 0x08000000;      /** @@ -3814,11 +3828,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @see #getParent()       */ +    @UnsupportedAppUsage      protected ViewParent mParent;      /**       * {@hide}       */ +    @UnsupportedAppUsage      AttachInfo mAttachInfo;      /** @@ -3838,8 +3854,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      }, formatToHexString = true)      /* @hide */ +    @UnsupportedAppUsage      public int mPrivateFlags; +    @UnsupportedAppUsage      int mPrivateFlags2; +    @UnsupportedAppUsage      int mPrivateFlags3;      /** @@ -3951,6 +3970,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * laid out.       * {@hide}       */ +    @UnsupportedAppUsage      protected ViewGroup.LayoutParams mLayoutParams;      /** @@ -3958,6 +3978,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(formatToHexString = true) +    @UnsupportedAppUsage      int mViewFlags;      static class TransformationInfo { @@ -3995,6 +4016,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      }      /** @hide */ +    @UnsupportedAppUsage      public TransformationInfo mTransformationInfo;      /** @@ -4011,6 +4033,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "layout") +    @UnsupportedAppUsage      protected int mLeft;      /**       * The distance in pixels from the left edge of this view's parent @@ -4018,6 +4041,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "layout") +    @UnsupportedAppUsage      protected int mRight;      /**       * The distance in pixels from the top edge of this view's parent @@ -4025,6 +4049,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "layout") +    @UnsupportedAppUsage      protected int mTop;      /**       * The distance in pixels from the top edge of this view's parent @@ -4032,6 +4057,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "layout") +    @UnsupportedAppUsage      protected int mBottom;      /** @@ -4040,6 +4066,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "scrolling") +    @UnsupportedAppUsage      protected int mScrollX;      /**       * The offset, in pixels, by which the content of this view is scrolled @@ -4047,6 +4074,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "scrolling") +    @UnsupportedAppUsage      protected int mScrollY;      /** @@ -4055,6 +4083,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "padding") +    @UnsupportedAppUsage      protected int mPaddingLeft = 0;      /**       * The right padding in pixels, that is the distance in pixels between the @@ -4062,6 +4091,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "padding") +    @UnsupportedAppUsage      protected int mPaddingRight = 0;      /**       * The top padding in pixels, that is the distance in pixels between the @@ -4069,6 +4099,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "padding") +    @UnsupportedAppUsage      protected int mPaddingTop;      /**       * The bottom padding in pixels, that is the distance in pixels between the @@ -4076,6 +4107,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(category = "padding") +    @UnsupportedAppUsage      protected int mPaddingBottom;      /** @@ -4201,6 +4233,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      private LongSparseLongArray mMeasureCache;      @ViewDebug.ExportedProperty(deepExport = true, prefix = "bg_") +    @UnsupportedAppUsage      private Drawable mBackground;      private TintInfo mBackgroundTint; @@ -4218,6 +4251,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       */      private RenderNode mBackgroundRenderNode; +    @UnsupportedAppUsage      private int mBackgroundResource;      private boolean mBackgroundSizeChanged; @@ -4268,6 +4302,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * This field should be made private, so it is hidden from the SDK.           * {@hide}           */ +        @UnsupportedAppUsage          protected OnFocusChangeListener mOnFocusChangeListener;          /** @@ -4287,6 +4322,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * This field should be made private, so it is hidden from the SDK.           * {@hide}           */ +        @UnsupportedAppUsage          public OnClickListener mOnClickListener;          /** @@ -4294,6 +4330,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * This field should be made private, so it is hidden from the SDK.           * {@hide}           */ +        @UnsupportedAppUsage          protected OnLongClickListener mOnLongClickListener;          /** @@ -4308,16 +4345,22 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * This field should be made private, so it is hidden from the SDK.           * {@hide}           */ +        @UnsupportedAppUsage          protected OnCreateContextMenuListener mOnCreateContextMenuListener; +        @UnsupportedAppUsage          private OnKeyListener mOnKeyListener; +        @UnsupportedAppUsage          private OnTouchListener mOnTouchListener; +        @UnsupportedAppUsage          private OnHoverListener mOnHoverListener; +        @UnsupportedAppUsage          private OnGenericMotionListener mOnGenericMotionListener; +        @UnsupportedAppUsage          private OnDragListener mOnDragListener;          private OnSystemUiVisibilityChangeListener mOnSystemUiVisibilityChangeListener; @@ -4329,6 +4372,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          private ArrayList<OnUnhandledKeyEventListener> mUnhandledKeyListeners;      } +    @UnsupportedAppUsage      ListenerInfo mListenerInfo;      private static class TooltipInfo { @@ -4407,10 +4451,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * {@hide}       */      @ViewDebug.ExportedProperty(deepExport = true) +    @UnsupportedAppUsage      protected Context mContext; +    @UnsupportedAppUsage      private final Resources mResources; +    @UnsupportedAppUsage      private ScrollabilityCache mScrollCache;      private int[] mDrawableState = null; @@ -4466,6 +4513,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      boolean mDefaultFocusHighlightEnabled = true;      private CheckForLongPress mPendingCheckForLongPress; +    @UnsupportedAppUsage      private CheckForTap mPendingCheckForTap = null;      private PerformClick mPerformClick;      private SendViewScrolledAccessibilityEvent mSendViewScrolledAccessibilityEvent; @@ -4478,6 +4526,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * a long press could be performed before the tap is checked, in which case the tap's action       * should not be invoked.       */ +    @UnsupportedAppUsage      private boolean mHasPerformedLongPress;      /** @@ -4499,6 +4548,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * of this view to at least this amount.       */      @ViewDebug.ExportedProperty(category = "measurement") +    @UnsupportedAppUsage      private int mMinHeight;      /** @@ -4506,6 +4556,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * of this view to at least this amount.       */      @ViewDebug.ExportedProperty(category = "measurement") +    @UnsupportedAppUsage      private int mMinWidth;      /** @@ -4533,6 +4584,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * Object that handles automatic animation of view properties.       */ +    @UnsupportedAppUsage      private ViewPropertyAnimator mAnimator = null;      /** @@ -4601,6 +4653,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * Position of the vertical scroll bar.       */ +    @UnsupportedAppUsage      private int mVerticalScrollbarPosition;      /** @@ -4694,8 +4747,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public boolean mCachingFailed; +    @UnsupportedAppUsage      private Bitmap mDrawingCache; +    @UnsupportedAppUsage      private Bitmap mUnscaledDrawingCache;      /** @@ -4705,6 +4761,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * of the View content. Its DisplayList content is cleared on temporary detach and reset on       * cleanup.       */ +    @UnsupportedAppUsage      final RenderNode mRenderNode;      /** @@ -4716,6 +4773,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * Delegate for injecting accessibility functionality.       */ +    @UnsupportedAppUsage      AccessibilityDelegate mAccessibilityDelegate;      /** @@ -4777,6 +4835,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * @hide       */ +    @UnsupportedAppUsage      String mStartActivityRequestWho;      @Nullable @@ -5672,6 +5731,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * Non-public constructor for use in testing       */ +    @UnsupportedAppUsage      View() {          mResources = null;          mRenderNode = RenderNode.create(getClass().getName(), this); @@ -5995,6 +6055,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param a the styled attributes set to initialize the scrollbars from       * @hide       */ +    @UnsupportedAppUsage      protected void initializeScrollbarsInternal(TypedArray a) {          initScrollCache(); @@ -6087,6 +6148,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          }      } +    @UnsupportedAppUsage      private ScrollabilityCache getScrollCache() {          initScrollCache();          return mScrollCache; @@ -6138,6 +6200,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          return false;      } +    @UnsupportedAppUsage      boolean isOnScrollbarThumb(float x, float y) {          return isOnVerticalScrollbarThumb(x, y) || isOnHorizontalScrollbarThumb(x, y);      } @@ -6196,6 +6259,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          return false;      } +    @UnsupportedAppUsage      boolean isDraggingScrollBar() {          return mScrollCache != null                  && mScrollCache.mScrollBarDraggingState != ScrollabilityCache.NOT_DRAGGING; @@ -6284,6 +6348,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,                  >>> SCROLL_INDICATORS_TO_PFLAGS3_LSHIFT;      } +    @UnsupportedAppUsage      ListenerInfo getListenerInfo() {          if (mListenerInfo != null) {              return mListenerInfo; @@ -6808,6 +6873,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param requestCode The request code to use.       * @hide       */ +    @UnsupportedAppUsage      public void startActivityForResult(Intent intent, int requestCode) {          mStartActivityRequestWho = "@android:view:" + System.identityHashCode(this);          getContext().startActivityForResult(mStartActivityRequestWho, intent, requestCode, null); @@ -7591,6 +7657,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void onInitializeAccessibilityEventInternal(AccessibilityEvent event) {          event.setSource(this);          event.setClassName(getAccessibilityClassName()); @@ -7706,6 +7773,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param outRect The output location       * @hide       */ +    @UnsupportedAppUsage      public void getBoundsOnScreen(Rect outRect) {          getBoundsOnScreen(outRect, false);      } @@ -7717,6 +7785,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param clipToParent Whether to clip child bounds to the parent ones.       * @hide       */ +    @UnsupportedAppUsage      public void getBoundsOnScreen(Rect outRect, boolean clipToParent) {          if (mAttachInfo == null) {              return; @@ -8940,6 +9009,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public boolean isVisibleToUser() {          return isVisibleToUser(null);      } @@ -8961,6 +9031,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      protected boolean isVisibleToUser(Rect boundInView) {          if (mAttachInfo != null) {              // Attached to invisible window means this view is not visible. @@ -9004,6 +9075,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public AccessibilityDelegate getAccessibilityDelegate() {          return mAccessibilityDelegate;      } @@ -9070,6 +9142,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public int getAccessibilityViewId() {          if (mAccessibilityViewId == NO_ID) {              mAccessibilityViewId = sNextAccessibilityViewId++; @@ -9289,6 +9362,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @hide pending API council approval       */      @CallSuper +    @UnsupportedAppUsage      protected void onFocusLost() {          resetPressedState();      } @@ -9814,6 +9888,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @hide       * @param location an array of two integers in which to hold the coordinates       */ +    @UnsupportedAppUsage      public void getLocationInSurface(@Size(2) int[] location) {          getLocationInWindow(location);          if (mAttachInfo != null && mAttachInfo.mViewRootImpl != null) { @@ -9847,6 +9922,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @return       */      @Deprecated +    @UnsupportedAppUsage      protected boolean computeFitSystemWindows(Rect inoutInsets, Rect outLocalInsets) {          WindowInsets innerInsets = computeSystemWindowInsets(new WindowInsets(inoutInsets),                  outLocalInsets); @@ -9922,6 +9998,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      }      /** @hide */ +    @UnsupportedAppUsage      public boolean fitsSystemWindows() {          return getFitsSystemWindows();      } @@ -9948,6 +10025,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * For use by PhoneWindow to make its own system window fitting optional.       * @hide       */ +    @UnsupportedAppUsage      public void makeOptionalFitsSystemWindows() {          setFlags(OPTIONAL_FITS_SYSTEM_WINDOWS, OPTIONAL_FITS_SYSTEM_WINDOWS);      } @@ -10292,6 +10370,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @hide       */      @ViewDebug.ExportedProperty(category = "layout") +    @UnsupportedAppUsage      public boolean isLayoutRtl() {          return (getLayoutDirection() == LAYOUT_DIRECTION_RTL);      } @@ -10622,6 +10701,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @see #onProvideVirtualStructure       * @attr ref android.R.styleable#View_assistBlocked       */ +    @UnsupportedAppUsage      public void setAssistBlocked(boolean enabled) {          if (enabled) {              mPrivateFlags3 |= PFLAG3_ASSIST_BLOCKED; @@ -11311,6 +11391,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public boolean requestAccessibilityFocus() {          AccessibilityManager manager = AccessibilityManager.getInstance(mContext);          if (!manager.isEnabled() || !manager.isTouchExplorationEnabled()) { @@ -11340,6 +11421,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void clearAccessibilityFocus() {          clearAccessibilityFocusNoCallbacks(0); @@ -11854,6 +11936,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public boolean includeForAccessibility() {          if (mAttachInfo != null) {              return (mAttachInfo.mAccessibilityFetchFlags @@ -11900,6 +11983,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void notifyViewAccessibilityStateChangedIfNeeded(int changeType) {          if (!AccessibilityManager.getInstance(mContext).isEnabled() || mAttachInfo == null) {              return; @@ -11958,6 +12042,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void notifySubtreeAccessibilityStateChangedIfNeeded() {          if (!AccessibilityManager.getInstance(mContext).isEnabled() || mAttachInfo == null) {              return; @@ -12061,6 +12146,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      *      * @hide      */ +    @UnsupportedAppUsage      public boolean performAccessibilityActionInternal(int action, Bundle arguments) {          if (isNestedScrollingEnabled()                  && (action == AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD @@ -12238,6 +12324,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public CharSequence getIterableTextForAccessibility() {          return getContentDescription();      } @@ -12301,6 +12388,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * @hide       */ +    @UnsupportedAppUsage      public TextSegmentIterator getIteratorForGranularity(int granularity) {          switch (granularity) {              case AccessibilityNodeInfo.MOVEMENT_GRANULARITY_CHARACTER: { @@ -12747,6 +12835,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @return True if the event was handled by the view, false otherwise.       * @hide       */ +    @UnsupportedAppUsage      public final boolean dispatchPointerEvent(MotionEvent event) {          if (event.isTouchEvent()) {              return dispatchTouchEvent(event); @@ -13020,6 +13109,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void getWindowDisplayFrame(Rect outRect) {          if (mAttachInfo != null) {              try { @@ -13882,6 +13972,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * @hide       */ +    @UnsupportedAppUsage      public boolean isInScrollingContainer() {          ViewParent p = getParent();          while (p != null && p instanceof ViewGroup) { @@ -13905,6 +13996,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * Remove the pending click action       */ +    @UnsupportedAppUsage      private void removePerformClickCallback() {          if (mPerformClick != null) {              removeCallbacks(mPerformClick); @@ -14003,6 +14095,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param flags Constant indicating the value which should be set       * @param mask Constant indicating the bit range that should be changed       */ +    @UnsupportedAppUsage      void setFlags(int flags, int mask) {          final boolean accessibilityEnabled =                  AccessibilityManager.getInstance(mContext).isEnabled(); @@ -14541,10 +14634,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @return True if the transform matrix is the identity matrix, false otherwise.       */ +    @UnsupportedAppUsage      final boolean hasIdentityMatrix() {          return mRenderNode.hasIdentityMatrix();      } +    @UnsupportedAppUsage      void ensureTransformationInfo() {          if (mTransformationInfo == null) {              mTransformationInfo = new TransformationInfo(); @@ -14559,6 +14654,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @return The inverse of the current matrix of this view.       * @hide       */ +    @UnsupportedAppUsage      public final Matrix getInverseMatrix() {          ensureTransformationInfo();          if (mTransformationInfo.mInverseMatrix == null) { @@ -15071,6 +15167,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @return true if the View subclass handles alpha (the return value for onSetAlpha()) and       *         the new value for the alpha property is different from the old value       */ +    @UnsupportedAppUsage      boolean setAlphaNoInvalidation(float alpha) {          ensureTransformationInfo();          if (mTransformationInfo.mAlpha != alpha) { @@ -15105,6 +15202,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void setTransitionAlpha(float alpha) {          ensureTransformationInfo();          if (mTransformationInfo.mTransitionAlpha != alpha) { @@ -15136,6 +15234,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @hide       */      @ViewDebug.ExportedProperty(category = "drawing") +    @UnsupportedAppUsage      public float getTransitionAlpha() {          return mTransformationInfo != null ? mTransformationInfo.mTransitionAlpha : 1;      } @@ -15621,6 +15720,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      }      /** @hide */ +    @UnsupportedAppUsage      public void setAnimationMatrix(Matrix matrix) {          invalidateViewProperty(true, false);          mRenderNode.setAnimationMatrix(matrix); @@ -15895,6 +15995,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public boolean pointInView(float localX, float localY, float slop) {          return localX >= -slop && localY >= -slop && localX < ((mRight - mLeft) + slop) &&                  localY < ((mBottom - mTop) + slop); @@ -16394,6 +16495,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *            dimensions have not changed.       * @hide       */ +    @UnsupportedAppUsage      public void invalidate(boolean invalidateCache) {          invalidateInternal(0, 0, mRight - mLeft, mBottom - mTop, invalidateCache, true);      } @@ -16483,6 +16585,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param forceRedraw Mark the view as DRAWN to force the invalidation to propagate, if display       * list properties are not being used in this view       */ +    @UnsupportedAppUsage      void invalidateViewProperty(boolean invalidateParent, boolean forceRedraw) {          if (!isHardwareAccelerated()                  || !mRenderNode.isValid() @@ -16534,6 +16637,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      protected void invalidateParentCaches() {          if (mParent instanceof View) {              ((View) mParent).mPrivateFlags |= PFLAG_INVALIDATED; @@ -16549,6 +16653,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      protected void invalidateParentIfNeeded() {          if (isHardwareAccelerated() && mParent instanceof View) {              ((View) mParent).invalidate(true); @@ -16585,6 +16690,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * @hide       */ +    @UnsupportedAppUsage      protected void computeOpaqueFlags() {          // Opaque if:          //   - Has a background @@ -16643,6 +16749,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @return The view root, or null if none.       * @hide       */ +    @UnsupportedAppUsage      public ViewRootImpl getViewRootImpl() {          if (mAttachInfo != null) {              return mAttachInfo.mViewRootImpl; @@ -16653,6 +16760,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * @hide       */ +    @UnsupportedAppUsage      public ThreadedRenderer getThreadedRenderer() {          return mAttachInfo != null ? mAttachInfo.mThreadedRenderer : null;      } @@ -17143,6 +17251,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * @hide       */ +    @UnsupportedAppUsage      protected void recomputePadding() {          internalSetPadding(mUserPaddingLeft, mPaddingTop, mUserPaddingRight, mUserPaddingBottom);      } @@ -17753,6 +17862,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @see android.widget.ScrollBarDrawable       * @hide       */ +    @UnsupportedAppUsage      protected void onDrawHorizontalScrollBar(Canvas canvas, Drawable scrollBar,              int l, int t, int r, int b) {          scrollBar.setBounds(l, t, r, b); @@ -17773,6 +17883,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @see android.widget.ScrollBarDrawable       * @hide       */ +    @UnsupportedAppUsage      protected void onDrawVerticalScrollBar(Canvas canvas, Drawable scrollBar,              int l, int t, int r, int b) {          scrollBar.setBounds(l, t, r, b); @@ -17791,6 +17902,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * Caller is responsible for calling requestLayout if necessary.       * (This allows addViewInLayout to not request a new layout.)       */ +    @UnsupportedAppUsage      void assignParent(ViewParent parent) {          if (mParent == null) {              mParent = parent; @@ -17873,6 +17985,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void resetRtlProperties() {          resetResolvedLayoutDirection();          resetResolvedTextDirection(); @@ -17935,6 +18048,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * Return true if the application tag in the AndroidManifest has set "supportRtl" to true       */ +    @UnsupportedAppUsage      private boolean hasRtlSupport() {          return mContext.getApplicationInfo().hasRtlSupport();      } @@ -18054,6 +18168,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void resetResolvedLayoutDirection() {          // Reset the current resolved bits          mPrivateFlags2 &= ~PFLAG2_LAYOUT_DIRECTION_RESOLVED_MASK; @@ -18080,6 +18195,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      boolean isPaddingResolved() {          return (mPrivateFlags2 & PFLAG2_PADDING_RESOLVED) == PFLAG2_PADDING_RESOLVED;      } @@ -18090,6 +18206,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void resolvePadding() {          final int resolvedLayoutDirection = getLayoutDirection(); @@ -18153,6 +18270,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void resetResolvedPadding() {          resetResolvedPaddingInternal();      } @@ -18186,6 +18304,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @hide       */      @CallSuper +    @UnsupportedAppUsage      protected void onDetachedFromWindowInternal() {          mPrivateFlags &= ~PFLAG_CANCEL_NEXT_UP_EVENT;          mPrivateFlags3 &= ~PFLAG3_IS_LAID_OUT; @@ -18294,6 +18413,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * communicate with the window manager.       * @return the session object to communicate with the window manager       */ +    @UnsupportedAppUsage      /*package*/ IWindowSession getWindowSession() {          return mAttachInfo != null ? mAttachInfo.mSession : null;      } @@ -18319,6 +18439,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param info the {@link android.view.View.AttachInfo} to associated with       *        this view       */ +    @UnsupportedAppUsage      void dispatchAttachedToWindow(AttachInfo info, int visibility) {          mAttachInfo = info;          if (mOverlay != null) { @@ -18383,6 +18504,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          notifyEnterOrExitForAutoFillIfNeeded(true);      } +    @UnsupportedAppUsage      void dispatchDetachedFromWindow() {          AttachInfo info = mAttachInfo;          if (info != null) { @@ -18888,6 +19010,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @hide       */      @CallSuper +    @UnsupportedAppUsage      protected void destroyHardwareResources() {          if (mOverlay != null) {              mOverlay.getOverlayView().destroyHardwareResources(); @@ -19023,6 +19146,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @hide       */      @NonNull +    @UnsupportedAppUsage      public RenderNode updateDisplayListIfDirty() {          final RenderNode renderNode = mRenderNode;          if (!canHaveDisplayList()) { @@ -19093,6 +19217,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          return renderNode;      } +    @UnsupportedAppUsage      private void resetDisplayList() {          mRenderNode.discardDisplayList();          if (mBackgroundRenderNode != null) { @@ -19493,6 +19618,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public Bitmap createSnapshot(ViewDebug.CanvasProvider canvasProvider, boolean skipChildren) {          int width = mRight - mLeft;          int height = mBottom - mTop; @@ -20385,6 +20511,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @param canvas Canvas on which to draw the background       */ +    @UnsupportedAppUsage      private void drawBackground(Canvas canvas) {          final Drawable background = mBackground;          if (background == null) { @@ -20773,6 +20900,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *         previous ones       * {@hide}       */ +    @UnsupportedAppUsage      protected boolean setFrame(int left, int top, int right, int bottom) {          boolean changed = false; @@ -20840,6 +20968,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * Same as setFrame, but public and hidden. For use in {@link android.transition.ChangeBounds}.       * @hide       */ +    @UnsupportedAppUsage      public void setLeftTopRightBottom(int left, int top, int right, int bottom) {          setFrame(left, top, right, bottom);      } @@ -21026,6 +21155,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * @hide       */ +    @UnsupportedAppUsage      protected void resetResolvedDrawables() {          resetResolvedDrawablesInternal();      } @@ -22025,6 +22155,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * @hide       */ +    @UnsupportedAppUsage      protected void internalSetPadding(int left, int top, int right, int bottom) {          mUserPaddingLeft = left;          mUserPaddingRight = right; @@ -22219,6 +22350,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * @hide       */ +    @UnsupportedAppUsage      public void resetPaddingToInitialValues() {          if (isRtlCompatibilityMode()) {              mPaddingLeft = mUserPaddingLeftInitial; @@ -22398,6 +22530,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @return false if the transformation could not be applied       * @hide       */ +    @UnsupportedAppUsage      public boolean toGlobalMotionEvent(MotionEvent ev) {          final AttachInfo info = mAttachInfo;          if (info == null) { @@ -22419,6 +22552,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @return false if the transformation could not be applied       * @hide       */ +    @UnsupportedAppUsage      public boolean toLocalMotionEvent(MotionEvent ev) {          final AttachInfo info = mAttachInfo;          if (info == null) { @@ -22439,6 +22573,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param m input matrix to modify       * @hide       */ +    @UnsupportedAppUsage      public void transformMatrixToGlobal(Matrix m) {          final ViewParent parent = mParent;          if (parent instanceof View) { @@ -22465,6 +22600,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param m input matrix to modify       * @hide       */ +    @UnsupportedAppUsage      public void transformMatrixToLocal(Matrix m) {          final ViewParent parent = mParent;          if (parent instanceof View) { @@ -22491,6 +22627,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,              @ViewDebug.IntToString(from = 0, to = "x"),              @ViewDebug.IntToString(from = 1, to = "y")      }) +    @UnsupportedAppUsage      public int[] getLocationOnScreen() {          int[] location = new int[2];          getLocationOnScreen(location); @@ -22671,6 +22808,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param accessibilityId The searched accessibility id.       * @return The found view.       */ +    @UnsupportedAppUsage      final <T extends View> T findViewByAccessibilityId(int accessibilityId) {          if (accessibilityId < 0) {              return null; @@ -22807,6 +22945,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @param isRoot true if the view belongs to the root namespace, false       *        otherwise       */ +    @UnsupportedAppUsage      public void setIsRootNamespace(boolean isRoot) {          if (isRoot) {              mPrivateFlags |= PFLAG_IS_ROOT_NAMESPACE; @@ -22820,6 +22959,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @return true if the view belongs to the root namespace, false otherwise       */ +    @UnsupportedAppUsage      public boolean isRootNamespace() {          return (mPrivateFlags&PFLAG_IS_ROOT_NAMESPACE) != 0;      } @@ -22923,6 +23063,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void setTagInternal(int key, Object tag) {          if ((key >>> 24) != 0x1) {              throw new IllegalArgumentException("The key must be a framework-specific " @@ -22946,6 +23087,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void debug() {          debug(0);      } @@ -22959,6 +23101,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      protected void debug(int depth) {          String output = debugIndent(depth - 1); @@ -23581,6 +23724,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * {@hide}       */ +    @UnsupportedAppUsage      public boolean gatherTransparentRegion(Region region) {          final AttachInfo attachInfo = mAttachInfo;          if (region != null && attachInfo != null) { @@ -23808,6 +23952,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      }      /** @hide */ +    @UnsupportedAppUsage      public void setDisabledSystemUiVisibility(int flags) {          if (mAttachInfo != null) {              if (mAttachInfo.mDisabledSystemUiVisibility != flags) { @@ -23848,6 +23993,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * </div>       */      public static class DragShadowBuilder { +        @UnsupportedAppUsage          private final WeakReference<View> mView;          /** @@ -24271,6 +24417,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * it is ever exposed at all.       * @hide       */ +    @UnsupportedAppUsage      public void onCloseSystemDialogs(String reason) {      } @@ -24289,6 +24436,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * Drawable that are not transparent.       * {@hide}       */ +    @UnsupportedAppUsage      public void applyDrawableToTransparentRegion(Drawable dr, Region region) {          if (DBG) {              Log.i("View", "Getting transparent region for: " + this); @@ -24784,6 +24932,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @return The vertical scroll scale factor.       * @hide       */ +    @UnsupportedAppUsage      protected float getVerticalScrollFactor() {          if (mVerticalScrollFactor == 0) {              TypedValue outValue = new TypedValue(); @@ -24804,6 +24953,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * @return The horizontal scroll scale factor.       * @hide       */ +    @UnsupportedAppUsage      protected float getHorizontalScrollFactor() {          // TODO: Should use something else.          return getVerticalScrollFactor(); @@ -24838,6 +24988,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,              @ViewDebug.IntToString(from = TEXT_DIRECTION_FIRST_STRONG_LTR, to = "FIRST_STRONG_LTR"),              @ViewDebug.IntToString(from = TEXT_DIRECTION_FIRST_STRONG_RTL, to = "FIRST_STRONG_RTL")      }) +    @UnsupportedAppUsage      public int getRawTextDirection() {          return (mPrivateFlags2 & PFLAG2_TEXT_DIRECTION_MASK) >> PFLAG2_TEXT_DIRECTION_MASK_SHIFT;      } @@ -25024,6 +25175,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void resetResolvedTextDirection() {          // Reset any previous text direction resolution          mPrivateFlags2 &= ~(PFLAG2_TEXT_DIRECTION_RESOLVED | PFLAG2_TEXT_DIRECTION_RESOLVED_MASK); @@ -25075,6 +25227,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,              @ViewDebug.IntToString(from = TEXT_ALIGNMENT_VIEW_END, to = "VIEW_END")      })      @TextAlignment +    @UnsupportedAppUsage      public int getRawTextAlignment() {          return (mPrivateFlags2 & PFLAG2_TEXT_ALIGNMENT_MASK) >> PFLAG2_TEXT_ALIGNMENT_MASK_SHIFT;      } @@ -25261,6 +25414,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       *       * @hide       */ +    @UnsupportedAppUsage      public void resetResolvedTextAlignment() {          // Reset any previous text alignment resolution          mPrivateFlags2 &= ~(PFLAG2_TEXT_ALIGNMENT_RESOLVED | PFLAG2_TEXT_ALIGNMENT_RESOLVED_MASK); @@ -25763,6 +25917,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           *           * @hide internal use only for compatibility with system widgets and older apps           */ +        @UnsupportedAppUsage          public static int makeSafeMeasureSpec(int size, int mode) {              if (sUseZeroUnspecifiedMeasureSpec && mode == UNSPECIFIED) {                  return 0; @@ -26314,11 +26469,16 @@ public class View implements Drawable.Callback, KeyEvent.Callback,              private static final SynchronizedPool<InvalidateInfo> sPool =                      new SynchronizedPool<InvalidateInfo>(POOL_LIMIT); +            @UnsupportedAppUsage              View target; +            @UnsupportedAppUsage              int left; +            @UnsupportedAppUsage              int top; +            @UnsupportedAppUsage              int right; +            @UnsupportedAppUsage              int bottom;              public static InvalidateInfo obtain() { @@ -26332,8 +26492,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback,              }          } +        @UnsupportedAppUsage          final IWindowSession mSession; +        @UnsupportedAppUsage          final IWindow mWindow;          final IBinder mWindowToken; @@ -26364,16 +26526,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * constants declared by {@link View} (there are more display states than           * screen states).           */ +        @UnsupportedAppUsage          int mDisplayState = Display.STATE_UNKNOWN;          /**           * Scale factor used by the compatibility mode           */ +        @UnsupportedAppUsage          float mApplicationScale;          /**           * Indicates whether the application is in compatibility mode           */ +        @UnsupportedAppUsage          boolean mScalingRequired;          /** @@ -26403,6 +26568,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * of the screen decorations, these are the current insets for the           * content of the window.           */ +        @UnsupportedAppUsage          final Rect mContentInsets = new Rect();          /** @@ -26410,6 +26576,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * of the screen decorations, these are the current insets for the           * actual visible parts of the window.           */ +        @UnsupportedAppUsage          final Rect mVisibleInsets = new Rect();          /** @@ -26417,6 +26584,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * of the screen decorations, these are the current insets for the           * stable system windows.           */ +        @UnsupportedAppUsage          final Rect mStableInsets = new Rect();          final DisplayCutout.ParcelableWrapper mDisplayCutout = @@ -26442,6 +26610,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * be given to the window manager when changed to be used in laying           * out windows behind it.           */ +        @UnsupportedAppUsage          final ViewTreeObserver.InternalInsetsInfo mGivenInternalInsets                  = new ViewTreeObserver.InternalInsetsInfo(); @@ -26455,14 +26624,17 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * used to determine if the window can be resized or must be panned           * to adjust for a soft input area.           */ +        @UnsupportedAppUsage          final ArrayList<View> mScrollContainers = new ArrayList<View>(); +        @UnsupportedAppUsage          final KeyEvent.DispatcherState mKeyDispatchState                  = new KeyEvent.DispatcherState();          /**           * Indicates whether the view's window currently has the focus.           */ +        @UnsupportedAppUsage          boolean mHasWindowFocus;          /** @@ -26473,6 +26645,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          /**           * Indicates the time at which drawing started to occur.           */ +        @UnsupportedAppUsage          long mDrawingTime;          /** @@ -26489,6 +26662,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          /**           * Indicates whether the view's window is currently in touch mode.           */ +        @UnsupportedAppUsage          boolean mInTouchMode;          /** @@ -26501,6 +26675,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * Indicates that ViewAncestor should trigger a global layout change           * the next time it performs a traversal           */ +        @UnsupportedAppUsage          boolean mRecomputeGlobalAttributes;          /** @@ -26511,6 +26686,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          /**           * Set during a traveral if any views want to keep the screen on.           */ +        @UnsupportedAppUsage          boolean mKeepScreenOn;          /** @@ -26548,11 +26724,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          /**           * Set if the visibility of any views has changed.           */ +        @UnsupportedAppUsage          boolean mViewVisibilityChanged;          /**           * Set to true if a view has been scrolled.           */ +        @UnsupportedAppUsage          boolean mViewScrollChanged;          /** @@ -26588,6 +26766,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * The view tree observer used to dispatch global events like           * layout, pre-draw, touch mode change, etc.           */ +        @UnsupportedAppUsage          final ViewTreeObserver mTreeObserver;          /** @@ -26604,6 +26783,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           * A Handler supplied by a view's {@link android.view.ViewRootImpl}. This           * handler can be used to pump events in the UI events queue.           */ +        @UnsupportedAppUsage          final Handler mHandler;          /** @@ -26766,8 +26946,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          public int scrollBarSize;          public int scrollBarMinTouchTarget; +        @UnsupportedAppUsage          public ScrollBarDrawable scrollBar;          public float[] interpolatorValues; +        @UnsupportedAppUsage          public View host;          public final Paint paint; @@ -26789,6 +26971,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          /**           * The current state of the scrollbars: ON, OFF, or FADING           */ +        @UnsupportedAppUsage          public int state = OFF;          private int mLastColor; @@ -26907,6 +27090,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,       * Remove the pending callback for sending a       * {@link AccessibilityEvent#TYPE_VIEW_SCROLLED} accessibility event.       */ +    @UnsupportedAppUsage      private void cancel(@Nullable SendViewScrolledAccessibilityEvent callback) {          if (callback == null || !callback.mIsPending) return;          removeCallbacks(callback); @@ -27221,6 +27405,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,           *           * @hide           */ +        @UnsupportedAppUsage          public AccessibilityNodeInfo createAccessibilityNodeInfo(View host) {              return host.createAccessibilityNodeInfoInternal();          } @@ -27489,6 +27674,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,      /**       * @hide Binary compatibility stub. To be removed when we finalize O APIs.       */ +    @UnsupportedAppUsage      public void setTooltip(@Nullable CharSequence tooltipText) {          setTooltipText(tooltipText);      } @@ -27538,6 +27724,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,          return true;      } +    @UnsupportedAppUsage      void hideTooltip() {          if (mTooltipInfo == null) {              return; diff --git a/core/java/android/view/ViewConfiguration.java b/core/java/android/view/ViewConfiguration.java index 7a9de45cbbf8..b4553adde283 100644 --- a/core/java/android/view/ViewConfiguration.java +++ b/core/java/android/view/ViewConfiguration.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage;  import android.app.AppGlobals;  import android.content.Context;  import android.content.res.Configuration; @@ -224,6 +225,7 @@ public class ViewConfiguration {      /**       * The coefficient of friction applied to flings/scrolls.       */ +    @UnsupportedAppUsage      private static final float SCROLL_FRICTION = 0.015f;      /** @@ -299,15 +301,19 @@ public class ViewConfiguration {      private final int mMaximumDrawingCacheSize;      private final int mOverscrollDistance;      private final int mOverflingDistance; +    @UnsupportedAppUsage      private final boolean mFadingMarqueeEnabled;      private final long mGlobalActionsKeyTimeout;      private final float mVerticalScrollFactor;      private final float mHorizontalScrollFactor;      private final boolean mShowMenuShortcutsWhenKeyboardPresent; +    @UnsupportedAppUsage      private boolean sHasPermanentMenuKey; +    @UnsupportedAppUsage      private boolean sHasPermanentMenuKeySet; +    @UnsupportedAppUsage      static final SparseArray<ViewConfiguration> sConfigurations =              new SparseArray<ViewConfiguration>(2); @@ -589,6 +595,7 @@ public class ViewConfiguration {       *       * @hide       */ +    @UnsupportedAppUsage      public static int getDoubleTapMinTime() {          return DOUBLE_TAP_MIN_TIME;      } @@ -609,6 +616,7 @@ public class ViewConfiguration {       * to a hover movement gesture.       * @hide       */ +    @UnsupportedAppUsage      public static int getHoverTapSlop() {          return HOVER_TAP_SLOP;      } @@ -662,6 +670,7 @@ public class ViewConfiguration {       * potential double tap event       * @hide       */ +    @UnsupportedAppUsage      public int getScaledDoubleTapTouchSlop() {          return mDoubleTapTouchSlop;      } @@ -682,6 +691,7 @@ public class ViewConfiguration {       *       for clients that still use its deprecated constructor.       */      @Deprecated +    @UnsupportedAppUsage      public static int getDoubleTapSlop() {          return DOUBLE_TAP_SLOP;      } @@ -857,6 +867,7 @@ public class ViewConfiguration {       *   the global actions dialog.       * @hide       */ +    @UnsupportedAppUsage      public long getDeviceGlobalActionKeyTimeout() {          return mGlobalActionsKeyTimeout;      } @@ -928,6 +939,7 @@ public class ViewConfiguration {       * @hide       * @return Whether or not marquee should use fading edges.       */ +    @UnsupportedAppUsage      public boolean isFadingMarqueeEnabled() {          return mFadingMarqueeEnabled;      } diff --git a/core/java/android/view/ViewDebug.java b/core/java/android/view/ViewDebug.java index 276f50a51e66..f98541eb111a 100644 --- a/core/java/android/view/ViewDebug.java +++ b/core/java/android/view/ViewDebug.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.content.res.Resources;  import android.graphics.Bitmap; @@ -372,6 +373,7 @@ public class ViewDebug {       *       * @hide       */ +    @UnsupportedAppUsage      public static long getViewInstanceCount() {          return Debug.countInstancesOfClass(View.class);      } @@ -383,6 +385,7 @@ public class ViewDebug {       *       * @hide       */ +    @UnsupportedAppUsage      public static long getViewRootImplCount() {          return Debug.countInstancesOfClass(ViewRootImpl.class);      } @@ -434,6 +437,7 @@ public class ViewDebug {      public static void stopHierarchyTracing() {      } +    @UnsupportedAppUsage      static void dispatchCommand(View view, String command, String parameters,              OutputStream clientStream) throws IOException { @@ -804,6 +808,7 @@ public class ViewDebug {       * @hide       */      @Deprecated +    @UnsupportedAppUsage      public static void dump(View root, boolean skipChildren, boolean includeProperties,              OutputStream clientStream) throws IOException {          BufferedWriter out = null; diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index baa38bb2f604..b965036b390a 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -24,6 +24,7 @@ import android.annotation.IdRes;  import android.annotation.NonNull;  import android.annotation.TestApi;  import android.annotation.UiThread; +import android.annotation.UnsupportedAppUsage;  import android.content.ClipData;  import android.content.Context;  import android.content.Intent; @@ -120,6 +121,7 @@ import java.util.function.Predicate;  public abstract class ViewGroup extends View implements ViewParent, ViewManager {      private static final String TAG = "ViewGroup"; +    @UnsupportedAppUsage      private static final boolean DBG = false;      /** @@ -128,6 +130,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * This field should be made private, so it is hidden from the SDK.       * {@hide}       */ +    @UnsupportedAppUsage      protected ArrayList<View> mDisappearingChildren;      /** @@ -136,9 +139,11 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * This field should be made private, so it is hidden from the SDK.       * {@hide}       */ +    @UnsupportedAppUsage      protected OnHierarchyChangeListener mOnHierarchyChangeListener;      // The view contained within this ViewGroup that has or contains focus. +    @UnsupportedAppUsage      private View mFocused;      // The view contained within this ViewGroup (excluding nested keyboard navigation clusters)      // that is or contains a default-focus view. @@ -183,6 +188,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager      private Animation.AnimationListener mAnimationListener;      // First touch target in the linked list of touch targets. +    @UnsupportedAppUsage      private TouchTarget mFirstTouchTarget;      // For debugging only.  You can see these in hierarchyviewer. @@ -230,6 +236,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager              @ViewDebug.FlagToString(mask = FLAG_PADDING_NOT_NULL, equals = FLAG_PADDING_NOT_NULL,                      name = "PADDING_NOT_NULL")      }, formatToHexString = true) +    @UnsupportedAppUsage      protected int mGroupFlags;      /** @@ -290,6 +297,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       *       * @hide       */ +    @UnsupportedAppUsage      protected static final int FLAG_USE_CHILD_DRAWING_ORDER = 0x400;      /** @@ -303,6 +311,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       *       * {@hide}       */ +    @UnsupportedAppUsage      protected static final int FLAG_SUPPORT_STATIC_TRANSFORMATIONS = 0x800;      // UNUSED FLAG VALUE: 0x1000; @@ -356,6 +365,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * When set, this ViewGroup should not intercept touch events.       * {@hide}       */ +    @UnsupportedAppUsage      protected static final int FLAG_DISALLOW_INTERCEPT = 0x80000;      /** @@ -418,6 +428,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * This field should be made private, so it is hidden from the SDK.       * {@hide}       */ +    @UnsupportedAppUsage      protected int mPersistentDrawingCache;      /** @@ -530,9 +541,11 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager      private static final int CHILD_TOP_INDEX = 1;      // Child views of this ViewGroup +    @UnsupportedAppUsage      private View[] mChildren;      // Number of valid children in the mChildren array, the rest should be null or not      // considered as children +    @UnsupportedAppUsage      private int mChildrenCount;      // Whether layout calls are currently being suppressed, controlled by calls to @@ -1480,6 +1493,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * @hide       */      @Override +    @UnsupportedAppUsage      public void makeOptionalFitsSystemWindows() {          super.makeOptionalFitsSystemWindows();          final int count = mChildrenCount; @@ -1508,6 +1522,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * @param newVisibility The new visibility value (GONE, INVISIBLE, or VISIBLE).       * @hide       */ +    @UnsupportedAppUsage      protected void onChildVisibilityChanged(View child, int oldVisibility, int newVisibility) {          if (mTransition != null) {              if (newVisibility == VISIBLE) { @@ -2907,6 +2922,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager          }      } +    @UnsupportedAppUsage      private void cancelTouchTarget(View view) {          TouchTarget predecessor = null;          TouchTarget target = mFirstTouchTarget; @@ -2955,6 +2971,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * Child must not be null.       * @hide       */ +    @UnsupportedAppUsage      protected boolean isTransformedTouchPointInView(float x, float y, View child,              PointF outLocalPoint) {          final float[] point = getTempPoint(); @@ -2971,6 +2988,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager      /**       * @hide       */ +    @UnsupportedAppUsage      public void transformPointToViewLocal(float[] point, View child) {          point[0] += mScrollX - child.mLeft;          point[1] += mScrollY - child.mTop; @@ -3392,6 +3410,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager      }      @Override +    @UnsupportedAppUsage      void dispatchAttachedToWindow(AttachInfo info, int visibility) {          mGroupFlags |= FLAG_PREVENT_DISPATCH_ATTACHED_TO_WINDOW;          super.dispatchAttachedToWindow(info, visibility); @@ -3634,6 +3653,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager      /** @hide */      @Override +    @UnsupportedAppUsage      public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {          super.onInitializeAccessibilityNodeInfoInternal(info);          if (getAccessibilityNodeProvider() != null) { @@ -3740,6 +3760,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager      }      @Override +    @UnsupportedAppUsage      void dispatchDetachedFromWindow() {          // If we still have a touch target, we are still in the process of          // dispatching motion events to a child; we need to get rid of that @@ -4281,6 +4302,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * @hide       */      @Override +    @UnsupportedAppUsage      protected void dispatchGetDisplayList() {          final int count = mChildrenCount;          final View[] children = mChildren; @@ -4660,6 +4682,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       *       * @hide       */ +    @UnsupportedAppUsage      public void addTransientView(View view, int index) {          if (index < 0) {              return; @@ -4695,6 +4718,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       *       * @hide       */ +    @UnsupportedAppUsage      public void removeTransientView(View view) {          if (mTransientViews == null) {              return; @@ -4722,6 +4746,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       *       * @hide       */ +    @UnsupportedAppUsage      public int getTransientViewCount() {          return mTransientIndices == null ? 0 : mTransientIndices.size();      } @@ -4755,6 +4780,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       *       * @hide       */ +    @UnsupportedAppUsage      public View getTransientView(int position) {          if (mTransientViews == null || position >= mTransientViews.size()) {              return null; @@ -4913,6 +4939,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager          mOnHierarchyChangeListener = listener;      } +    @UnsupportedAppUsage      void dispatchViewAdded(View child) {          onViewAdded(child);          if (mOnHierarchyChangeListener != null) { @@ -4929,6 +4956,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager      public void onViewAdded(View child) {      } +    @UnsupportedAppUsage      void dispatchViewRemoved(View child) {          onViewRemoved(child);          if (mOnHierarchyChangeListener != null) { @@ -6086,6 +6114,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       *       * @hide       */ +    @UnsupportedAppUsage      public void offsetChildrenTopAndBottom(int offset) {          final int count = mChildrenCount;          final View[] children = mChildren; @@ -7004,6 +7033,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       *       * @hide       */ +    @UnsupportedAppUsage      public void suppressLayout(boolean suppress) {          mSuppressLayout = suppress;          if (!suppress) { @@ -7301,6 +7331,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * @hide       */      @Override +    @UnsupportedAppUsage      public void resolvePadding() {          super.resolvePadding();          int count = getChildCount(); @@ -7344,6 +7375,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * @hide       */      @Override +    @UnsupportedAppUsage      public void resetResolvedLayoutDirection() {          super.resetResolvedLayoutDirection(); @@ -7360,6 +7392,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * @hide       */      @Override +    @UnsupportedAppUsage      public void resetResolvedTextDirection() {          super.resetResolvedTextDirection(); @@ -7376,6 +7409,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * @hide       */      @Override +    @UnsupportedAppUsage      public void resetResolvedTextAlignment() {          super.resetResolvedTextAlignment(); @@ -7392,6 +7426,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * @hide       */      @Override +    @UnsupportedAppUsage      public void resetResolvedPadding() {          super.resetResolvedPadding(); @@ -7408,6 +7443,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager       * @hide       */      @Override +    @UnsupportedAppUsage      protected void resetResolvedDrawables() {          super.resetResolvedDrawables(); @@ -7743,6 +7779,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager           * Used internally by MarginLayoutParams.           * @hide           */ +        @UnsupportedAppUsage          LayoutParams() {          } @@ -7883,6 +7920,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager           * to this field.           */          @ViewDebug.ExportedProperty(category = "layout") +        @UnsupportedAppUsage          private int startMargin = DEFAULT_MARGIN_RELATIVE;          /** @@ -7891,6 +7929,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager           * to this field.           */          @ViewDebug.ExportedProperty(category = "layout") +        @UnsupportedAppUsage          private int endMargin = DEFAULT_MARGIN_RELATIVE;          /** @@ -8120,6 +8159,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager           *           * @hide           */ +        @UnsupportedAppUsage          public void setMarginsRelative(int start, int top, int end, int bottom) {              startMargin = start;              topMargin = top; @@ -8343,6 +8383,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager          public static final int ALL_POINTER_IDS = -1; // all ones          // The touched child view. +        @UnsupportedAppUsage          public View child;          // The combined bit mask of pointer ids for all pointers captured by the target. @@ -8351,6 +8392,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager          // The next target in the target list.          public TouchTarget next; +        @UnsupportedAppUsage          private TouchTarget() {          } @@ -8747,6 +8789,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager      /** @hide */      @Override +    @UnsupportedAppUsage      protected void encodeProperties(@NonNull ViewHierarchyEncoder encoder) {          super.encodeProperties(encoder); diff --git a/core/java/android/view/ViewHierarchyEncoder.java b/core/java/android/view/ViewHierarchyEncoder.java index 87702161070b..d5716bfaaf00 100644 --- a/core/java/android/view/ViewHierarchyEncoder.java +++ b/core/java/android/view/ViewHierarchyEncoder.java @@ -2,6 +2,7 @@ package android.view;  import android.annotation.NonNull;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import java.io.ByteArrayOutputStream;  import java.io.DataOutputStream; @@ -90,6 +91,7 @@ public class ViewHierarchyEncoder {          endPropertyMap();      } +    @UnsupportedAppUsage      public void addProperty(@NonNull String name, boolean v) {          writeShort(createPropertyIndex(name));          writeBoolean(v); @@ -100,16 +102,19 @@ public class ViewHierarchyEncoder {          writeShort(s);      } +    @UnsupportedAppUsage      public void addProperty(@NonNull String name, int v) {          writeShort(createPropertyIndex(name));          writeInt(v);      } +    @UnsupportedAppUsage      public void addProperty(@NonNull String name, float v) {          writeShort(createPropertyIndex(name));          writeFloat(v);      } +    @UnsupportedAppUsage      public void addProperty(@NonNull String name, @Nullable String s) {          writeShort(createPropertyIndex(name));          writeString(s); diff --git a/core/java/android/view/ViewOverlay.java b/core/java/android/view/ViewOverlay.java index 21123c167792..e23c687af49b 100644 --- a/core/java/android/view/ViewOverlay.java +++ b/core/java/android/view/ViewOverlay.java @@ -17,6 +17,7 @@ package android.view;  import android.animation.LayoutTransition;  import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.graphics.Canvas;  import android.graphics.Rect; @@ -55,6 +56,7 @@ public class ViewOverlay {       * of the overlay       * @return       */ +    @UnsupportedAppUsage      ViewGroup getOverlayView() {          return mOverlayViewGroup;      } @@ -94,6 +96,7 @@ public class ViewOverlay {          mOverlayViewGroup.clear();      } +    @UnsupportedAppUsage      boolean isEmpty() {          return mOverlayViewGroup.isEmpty();      } diff --git a/core/java/android/view/ViewPropertyAnimator.java b/core/java/android/view/ViewPropertyAnimator.java index 6c84b63bb241..9fa8f9c35d42 100644 --- a/core/java/android/view/ViewPropertyAnimator.java +++ b/core/java/android/view/ViewPropertyAnimator.java @@ -19,6 +19,7 @@ package android.view;  import android.animation.Animator;  import android.animation.TimeInterpolator;  import android.animation.ValueAnimator; +import android.annotation.UnsupportedAppUsage;  import java.util.ArrayList;  import java.util.HashMap; @@ -111,6 +112,7 @@ public class ViewPropertyAnimator {      /**       * A RenderThread-driven backend that may intercept startAnimation       */ +    @UnsupportedAppUsage      private ViewPropertyAnimatorRT mRTBackend;      /** diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 6df0173d9684..fd11ef13f9ac 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -30,6 +30,7 @@ import android.Manifest;  import android.animation.LayoutTransition;  import android.annotation.NonNull;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import android.app.ActivityManager;  import android.app.ActivityThread;  import android.app.ResourcesManager; @@ -170,6 +171,7 @@ public final class ViewRootImpl implements ViewParent,       */      static final int MAX_TRACKBALL_DELAY = 250; +    @UnsupportedAppUsage      static final ThreadLocal<HandlerActionQueue> sRunQueues = new ThreadLocal<HandlerActionQueue>();      static final ArrayList<Runnable> sFirstDrawHandlers = new ArrayList(); @@ -233,7 +235,9 @@ public final class ViewRootImpl implements ViewParent,       */      @GuardedBy("mWindowCallbacks")      final ArrayList<WindowCallbacks> mWindowCallbacks = new ArrayList<>(); +    @UnsupportedAppUsage      final Context mContext; +    @UnsupportedAppUsage      final IWindowSession mWindowSession;      @NonNull Display mDisplay;      final DisplayManager mDisplayManager; @@ -255,6 +259,7 @@ public final class ViewRootImpl implements ViewParent,      int mSeq; +    @UnsupportedAppUsage      View mView;      View mAccessibilityFocusedHost; @@ -287,6 +292,7 @@ public final class ViewRootImpl implements ViewParent,      // Set to true if the owner of this window is in the stopped state,      // so the window should no longer be active. +    @UnsupportedAppUsage      boolean mStopped = false;      // Set to true if the owner of this window is in ambient mode, @@ -306,8 +312,11 @@ public final class ViewRootImpl implements ViewParent,      final Region mTransparentRegion;      final Region mPreviousTransparentRegion; +    @UnsupportedAppUsage      int mWidth; +    @UnsupportedAppUsage      int mHeight; +    @UnsupportedAppUsage      Rect mDirty;      public boolean mIsAnimating; @@ -321,10 +330,12 @@ public final class ViewRootImpl implements ViewParent,      CompatibilityInfo.Translator mTranslator; +    @UnsupportedAppUsage      final View.AttachInfo mAttachInfo;      InputChannel mInputChannel;      InputQueue.Callback mInputQueueCallback;      InputQueue mInputQueue; +    @UnsupportedAppUsage      FallbackEventHandler mFallbackEventHandler;      Choreographer mChoreographer; @@ -389,8 +400,10 @@ public final class ViewRootImpl implements ViewParent,      // These can be accessed by any thread, must be protected with a lock.      // Surface can never be reassigned or cleared (use Surface.clear()). +    @UnsupportedAppUsage      public final Surface mSurface = new Surface(); +    @UnsupportedAppUsage      boolean mAdded;      boolean mAddedTouchMode; @@ -425,6 +438,7 @@ public final class ViewRootImpl implements ViewParent,      boolean mScrollMayChange;      @SoftInputModeFlags      int mSoftInputMode; +    @UnsupportedAppUsage      WeakReference<View> mLastScrolledFocus;      int mScrollY;      int mCurScrollY; @@ -555,6 +569,7 @@ public final class ViewRootImpl implements ViewParent,      }      /** Add static config callback to be notified about global config changes. */ +    @UnsupportedAppUsage      public static void addConfigCallback(ConfigChangedCallback callback) {          synchronized (sConfigCallbacks) {              sConfigCallbacks.add(callback); @@ -891,6 +906,7 @@ public final class ViewRootImpl implements ViewParent,          return (mWindowAttributes.flags & WindowManager.LayoutParams.FLAG_LOCAL_FOCUS_MODE) != 0;      } +    @UnsupportedAppUsage      public int getWindowFlags() {          return mWindowAttributes.flags;      } @@ -930,6 +946,7 @@ public final class ViewRootImpl implements ViewParent,          }      } +    @UnsupportedAppUsage      public void detachFunctor(long functor) {          if (mAttachInfo.mThreadedRenderer != null) {              // Fence so that any pending invokeFunctor() messages will be processed @@ -947,6 +964,7 @@ public final class ViewRootImpl implements ViewParent,       *                          has invoked. If false, the functor may be invoked       *                          asynchronously.       */ +    @UnsupportedAppUsage      public static void invokeFunctor(long functor, boolean waitForCompletion) {          ThreadedRenderer.invokeFunctor(functor, waitForCompletion);      } @@ -980,6 +998,7 @@ public final class ViewRootImpl implements ViewParent,          mNextRtFrameCallback = callback;      } +    @UnsupportedAppUsage      private void enableHardwareAcceleration(WindowManager.LayoutParams attrs) {          mAttachInfo.mHardwareAccelerated = false;          mAttachInfo.mHardwareAccelerationRequested = false; @@ -1040,6 +1059,7 @@ public final class ViewRootImpl implements ViewParent,          }      } +    @UnsupportedAppUsage      public View getView() {          return mView;      } @@ -1241,6 +1261,7 @@ public final class ViewRootImpl implements ViewParent,          invalidate();      } +    @UnsupportedAppUsage      void invalidate() {          mDirty.set(0, 0, mWidth, mHeight);          if (!mWillDrawSoon) { @@ -1425,6 +1446,7 @@ public final class ViewRootImpl implements ViewParent,          }      } +    @UnsupportedAppUsage      void scheduleTraversals() {          if (!mTraversalScheduled) {              mTraversalScheduled = true; @@ -3664,6 +3686,7 @@ public final class ViewRootImpl implements ViewParent,      /**       * @hide       */ +    @UnsupportedAppUsage      public View getAccessibilityFocusedHost() {          return mAccessibilityFocusedHost;      } @@ -3671,6 +3694,7 @@ public final class ViewRootImpl implements ViewParent,      /**       * @hide       */ +    @UnsupportedAppUsage      public AccessibilityNodeInfo getAccessibilityFocusedVirtualView() {          return mAccessibilityFocusedVirtualView;      } @@ -4288,6 +4312,7 @@ public final class ViewRootImpl implements ViewParent,       * @param inTouchMode Whether we want to be in touch mode.       * @return True if the touch mode changed and focus changed was changed as a result       */ +    @UnsupportedAppUsage      boolean ensureTouchMode(boolean inTouchMode) {          if (DBG) Log.d("touchmode", "ensureTouchMode(" + inTouchMode + "), current "                  + "touch mode is " + mAttachInfo.mInTouchMode); @@ -6283,6 +6308,7 @@ public final class ViewRootImpl implements ViewParent,      }      /* drag/drop */ +    @UnsupportedAppUsage      void setLocalDragState(Object obj) {          mLocalDragState = obj;      } @@ -6430,6 +6456,7 @@ public final class ViewRootImpl implements ViewParent,          }      } +    @UnsupportedAppUsage      public void getLastTouchPoint(Point outLocation) {          outLocation.x = (int) mLastTouchPoint.x;          outLocation.y = (int) mLastTouchPoint.y; @@ -6828,6 +6855,7 @@ public final class ViewRootImpl implements ViewParent,          }      } +    @UnsupportedAppUsage      private void dispatchResized(Rect frame, Rect overscanInsets, Rect contentInsets,              Rect visibleInsets, Rect stableInsets, Rect outsets, boolean reportDraw,              MergedConfiguration mergedConfiguration, Rect backDropFrame, boolean forceLayout, @@ -6992,10 +7020,12 @@ public final class ViewRootImpl implements ViewParent,          }      } +    @UnsupportedAppUsage      void enqueueInputEvent(InputEvent event) {          enqueueInputEvent(event, null, 0, false);      } +    @UnsupportedAppUsage      void enqueueInputEvent(InputEvent event,              InputEventReceiver receiver, int flags, boolean processImmediately) {          adjustInputEventForCompatibility(event); @@ -7336,6 +7366,7 @@ public final class ViewRootImpl implements ViewParent,          mInvalidateOnAnimationRunnable.addViewRect(info);      } +    @UnsupportedAppUsage      public void cancelInvalidate(View view) {          mHandler.removeMessages(MSG_INVALIDATE, view);          // fixme: might leak the AttachInfo.InvalidateInfo objects instead of returning @@ -7344,10 +7375,12 @@ public final class ViewRootImpl implements ViewParent,          mInvalidateOnAnimationRunnable.removeView(view);      } +    @UnsupportedAppUsage      public void dispatchInputEvent(InputEvent event) {          dispatchInputEvent(event, null);      } +    @UnsupportedAppUsage      public void dispatchInputEvent(InputEvent event, InputEventReceiver receiver) {          SomeArgs args = SomeArgs.obtain();          args.arg1 = event; @@ -7363,6 +7396,7 @@ public final class ViewRootImpl implements ViewParent,          mHandler.sendMessage(msg);      } +    @UnsupportedAppUsage      public void dispatchKeyFromIme(KeyEvent event) {          Message msg = mHandler.obtainMessage(MSG_DISPATCH_KEY_FROM_IME, event);          msg.setAsynchronous(true); @@ -7381,6 +7415,7 @@ public final class ViewRootImpl implements ViewParent,       * Note that it is the responsibility of the caller of this API to recycle the InputEvent it       * passes in.       */ +    @UnsupportedAppUsage      public void dispatchUnhandledInputEvent(InputEvent event) {          if (event instanceof MotionEvent) {              event = MotionEvent.obtain((MotionEvent) event); @@ -8083,6 +8118,7 @@ public final class ViewRootImpl implements ViewParent,      }      public static final class CalledFromWrongThreadException extends AndroidRuntimeException { +        @UnsupportedAppUsage          public CalledFromWrongThreadException(String msg) {              super(msg);          } diff --git a/core/java/android/view/ViewTreeObserver.java b/core/java/android/view/ViewTreeObserver.java index 0973d0aa9b90..e39bfa699952 100644 --- a/core/java/android/view/ViewTreeObserver.java +++ b/core/java/android/view/ViewTreeObserver.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.graphics.Rect;  import android.graphics.Region; @@ -39,14 +40,18 @@ public final class ViewTreeObserver {      private CopyOnWriteArrayList<OnWindowFocusChangeListener> mOnWindowFocusListeners;      private CopyOnWriteArrayList<OnWindowAttachListener> mOnWindowAttachListeners;      private CopyOnWriteArrayList<OnGlobalFocusChangeListener> mOnGlobalFocusListeners; +    @UnsupportedAppUsage      private CopyOnWriteArrayList<OnTouchModeChangeListener> mOnTouchModeChangeListeners;      private CopyOnWriteArrayList<OnEnterAnimationCompleteListener>              mOnEnterAnimationCompleteListeners;      // Non-recursive listeners use CopyOnWriteArray      // Any listener invoked from ViewRootImpl.performTraversals() should not be recursive +    @UnsupportedAppUsage      private CopyOnWriteArray<OnGlobalLayoutListener> mOnGlobalLayoutListeners; +    @UnsupportedAppUsage      private CopyOnWriteArray<OnComputeInternalInsetsListener> mOnComputeInternalInsetsListeners; +    @UnsupportedAppUsage      private CopyOnWriteArray<OnScrollChangedListener> mOnScrollChangedListeners;      private CopyOnWriteArray<OnPreDrawListener> mOnPreDrawListeners;      private CopyOnWriteArray<OnWindowShownListener> mOnWindowShownListeners; @@ -209,12 +214,14 @@ public final class ViewTreeObserver {           * Offsets from the frame of the window at which the content of           * windows behind it should be placed.           */ +        @UnsupportedAppUsage          public final Rect contentInsets = new Rect();          /**           * Offsets from the frame of the window at which windows behind it           * are visible.           */ +        @UnsupportedAppUsage          public final Rect visibleInsets = new Rect();          /** @@ -222,6 +229,7 @@ public final class ViewTreeObserver {           * Only used when {@link #setTouchableInsets(int)} is called with           * the option {@link #TOUCHABLE_INSETS_REGION}.           */ +        @UnsupportedAppUsage          public final Region touchableRegion = new Region();          /** @@ -246,6 +254,7 @@ public final class ViewTreeObserver {           * Option for {@link #setTouchableInsets(int)}: the area inside of           * the provided touchable region in {@link #touchableRegion} can be touched.           */ +        @UnsupportedAppUsage          public static final int TOUCHABLE_INSETS_REGION = 3;          /** @@ -253,10 +262,12 @@ public final class ViewTreeObserver {           * {@link #TOUCHABLE_INSETS_FRAME}, {@link #TOUCHABLE_INSETS_CONTENT},           * {@link #TOUCHABLE_INSETS_VISIBLE}, or {@link #TOUCHABLE_INSETS_REGION}.           */ +        @UnsupportedAppUsage          public void setTouchableInsets(int val) {              mTouchableInsets = val;          } +        @UnsupportedAppUsage          int mTouchableInsets;          void reset() { @@ -294,6 +305,7 @@ public final class ViewTreeObserver {                      touchableRegion.equals(other.touchableRegion);          } +        @UnsupportedAppUsage          void set(InternalInsetsInfo other) {              contentInsets.set(other.contentInsets);              visibleInsets.set(other.visibleInsets); @@ -791,6 +803,7 @@ public final class ViewTreeObserver {       * We are not yet ready to commit to this API and support it, so       * @hide       */ +    @UnsupportedAppUsage      public void addOnComputeInternalInsetsListener(OnComputeInternalInsetsListener listener) {          checkIsAlive(); @@ -814,6 +827,7 @@ public final class ViewTreeObserver {       * We are not yet ready to commit to this API and support it, so       * @hide       */ +    @UnsupportedAppUsage      public void removeOnComputeInternalInsetsListener(OnComputeInternalInsetsListener victim) {          checkIsAlive();          if (mOnComputeInternalInsetsListeners == null) { @@ -913,6 +927,7 @@ public final class ViewTreeObserver {      /**       * Notifies registered listeners that focus has changed.       */ +    @UnsupportedAppUsage      final void dispatchOnGlobalFocusChange(View oldFocus, View newFocus) {          // NOTE: because of the use of CopyOnWriteArrayList, we *must* use an iterator to          // perform the dispatching. The iterator is a safe guard against listeners that @@ -1024,6 +1039,7 @@ public final class ViewTreeObserver {       *       * @param inTouchMode True if the touch mode is now enabled, false otherwise.       */ +    @UnsupportedAppUsage      final void dispatchOnTouchModeChanged(boolean inTouchMode) {          final CopyOnWriteArrayList<OnTouchModeChangeListener> listeners =                  mOnTouchModeChangeListeners; @@ -1037,6 +1053,7 @@ public final class ViewTreeObserver {      /**       * Notifies registered listeners that something has scrolled.       */ +    @UnsupportedAppUsage      final void dispatchOnScrollChanged() {          // NOTE: because of the use of CopyOnWriteArrayList, we *must* use an iterator to          // perform the dispatching. The iterator is a safe guard against listeners that @@ -1059,6 +1076,7 @@ public final class ViewTreeObserver {      /**       * Returns whether there are listeners for computing internal insets.       */ +    @UnsupportedAppUsage      final boolean hasComputeInternalInsetsListeners() {          final CopyOnWriteArray<OnComputeInternalInsetsListener> listeners =                  mOnComputeInternalInsetsListeners; @@ -1068,6 +1086,7 @@ public final class ViewTreeObserver {      /**       * Calls all listeners to compute the current insets.       */ +    @UnsupportedAppUsage      final void dispatchOnComputeInternalInsets(InternalInsetsInfo inoutInfo) {          // NOTE: because of the use of CopyOnWriteArrayList, we *must* use an iterator to          // perform the dispatching. The iterator is a safe guard against listeners that diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java index 93b3fc25509a..91a43f886ffe 100644 --- a/core/java/android/view/Window.java +++ b/core/java/android/view/Window.java @@ -25,6 +25,7 @@ import android.annotation.LayoutRes;  import android.annotation.NonNull;  import android.annotation.Nullable;  import android.annotation.StyleRes; +import android.annotation.UnsupportedAppUsage;  import android.app.WindowConfiguration;  import android.content.Context;  import android.content.pm.ActivityInfo; @@ -151,6 +152,7 @@ public abstract class Window {       * Max value used as a feature ID       * @hide       */ +    @UnsupportedAppUsage      public static final int FEATURE_MAX = FEATURE_ACTIVITY_TRANSITIONS;      /** @@ -270,18 +272,25 @@ public abstract class Window {       */      public static final int DECOR_CAPTION_SHADE_DARK = 2; +    @UnsupportedAppUsage      private final Context mContext; +    @UnsupportedAppUsage      private TypedArray mWindowStyle; +    @UnsupportedAppUsage      private Callback mCallback;      private OnWindowDismissedCallback mOnWindowDismissedCallback;      private OnWindowSwipeDismissedCallback mOnWindowSwipeDismissedCallback;      private WindowControllerCallback mWindowControllerCallback;      private OnRestrictedCaptionAreaChangedListener mOnRestrictedCaptionAreaChangedListener;      private Rect mRestrictedCaptionAreaRect; +    @UnsupportedAppUsage      private WindowManager mWindowManager; +    @UnsupportedAppUsage      private IBinder mAppToken; +    @UnsupportedAppUsage      private String mAppName; +    @UnsupportedAppUsage      private boolean mHardwareAccelerated;      private Window mContainer;      private Window mActiveChild; @@ -291,7 +300,9 @@ public abstract class Window {      private boolean mSetCloseOnTouchOutside = false;      private int mForcedWindowFlags = 0; +    @UnsupportedAppUsage      private int mFeatures; +    @UnsupportedAppUsage      private int mLocalFeatures;      private boolean mHaveWindowFormat = false; @@ -300,12 +311,14 @@ public abstract class Window {      private boolean mHasSoftInputMode = false; +    @UnsupportedAppUsage      private boolean mDestroyed;      private boolean mOverlayWithDecorCaptionEnabled = false;      private boolean mCloseOnSwipeEnabled = false;      // The current window attributes. +    @UnsupportedAppUsage      private final WindowManager.LayoutParams mWindowAttributes =          new WindowManager.LayoutParams(); @@ -732,6 +745,7 @@ public abstract class Window {      }      /** @hide */ +    @UnsupportedAppUsage      public final boolean isDestroyed() {          return mDestroyed;      } @@ -1070,6 +1084,7 @@ public abstract class Window {      }      /** @hide */ +    @UnsupportedAppUsage      public void addPrivateFlags(int flags) {          setPrivateFlags(flags, flags);      } @@ -1120,6 +1135,7 @@ public abstract class Window {      /**       * {@hide}       */ +    @UnsupportedAppUsage      protected void setNeedsMenuKey(int value) {          final WindowManager.LayoutParams attrs = getAttributes();          attrs.needsMenuKey = value; @@ -1240,12 +1256,14 @@ public abstract class Window {      }      /** @hide */ +    @UnsupportedAppUsage      public void setCloseOnTouchOutside(boolean close) {          mCloseOnTouchOutside = close;          mSetCloseOnTouchOutside = true;      }      /** @hide */ +    @UnsupportedAppUsage      public void setCloseOnTouchOutsideIfNotSet(boolean close) {          if (!mSetCloseOnTouchOutside) {              mCloseOnTouchOutside = close; @@ -1254,9 +1272,11 @@ public abstract class Window {      }      /** @hide */ +    @UnsupportedAppUsage      public abstract void alwaysReadCloseOnTouchAttr();      /** @hide */ +    @UnsupportedAppUsage      public boolean shouldCloseOnTouch(Context context, MotionEvent event) {          final boolean isOutside =                  event.getAction() == MotionEvent.ACTION_DOWN && isOutOfBounds(context, event) diff --git a/core/java/android/view/WindowAnimationFrameStats.java b/core/java/android/view/WindowAnimationFrameStats.java index c60b96ca76de..0233c862b984 100644 --- a/core/java/android/view/WindowAnimationFrameStats.java +++ b/core/java/android/view/WindowAnimationFrameStats.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Parcel;  import android.os.Parcelable; @@ -47,6 +48,7 @@ public final class WindowAnimationFrameStats extends FrameStats implements Parce       *       * @hide       */ +    @UnsupportedAppUsage      public void init(long refreshPeriodNano, long[] framesPresentedTimeNano) {          mRefreshPeriodNano = refreshPeriodNano;          mFramesPresentedTimeNano = framesPresentedTimeNano; diff --git a/core/java/android/view/WindowContentFrameStats.java b/core/java/android/view/WindowContentFrameStats.java index c6da2fb260b9..96878e90925c 100644 --- a/core/java/android/view/WindowContentFrameStats.java +++ b/core/java/android/view/WindowContentFrameStats.java @@ -16,6 +16,7 @@  package android.view; +import android.annotation.UnsupportedAppUsage;  import android.os.Parcel;  import android.os.Parcelable; @@ -60,6 +61,7 @@ public final class WindowContentFrameStats extends FrameStats implements Parcela       *       * @hide       */ +    @UnsupportedAppUsage      public void init(long refreshPeriodNano, long[] framesPostedTimeNano,              long[] framesPresentedTimeNano, long[] framesReadyTimeNano) {          mRefreshPeriodNano = refreshPeriodNano; diff --git a/core/java/android/view/WindowInsets.java b/core/java/android/view/WindowInsets.java index fbd8141ae27a..8628da374930 100644 --- a/core/java/android/view/WindowInsets.java +++ b/core/java/android/view/WindowInsets.java @@ -18,6 +18,7 @@  package android.view;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import android.graphics.Rect;  import com.android.internal.util.Preconditions; @@ -69,6 +70,7 @@ public final class WindowInsets {       * since it would allow them to inadvertently consume unknown insets by returning it.       * @hide       */ +    @UnsupportedAppUsage      public static final WindowInsets CONSUMED;      static { @@ -115,6 +117,7 @@ public final class WindowInsets {      }      /** @hide */ +    @UnsupportedAppUsage      public WindowInsets(Rect systemWindowInsets) {          this(systemWindowInsets, null, null, false, false, null);      } @@ -124,6 +127,7 @@ public final class WindowInsets {       * to the existing fitSystemWindows method and other similar internals.       * @hide       */ +    @UnsupportedAppUsage      public Rect getSystemWindowInsets() {          if (mTempRect == null) {              mTempRect = new Rect(); @@ -578,6 +582,7 @@ public final class WindowInsets {       *       * @hide pending API       */ +    @UnsupportedAppUsage      public WindowInsets inset(int left, int top, int right, int bottom) {          Preconditions.checkArgumentNonnegative(left);          Preconditions.checkArgumentNonnegative(top); diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index 67e06e7b2c98..84a460119726 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -50,6 +50,7 @@ import android.annotation.RequiresPermission;  import android.annotation.SystemApi;  import android.annotation.SystemService;  import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage;  import android.app.KeyguardManager;  import android.app.Presentation;  import android.content.Context; @@ -675,6 +676,7 @@ public interface WindowManager extends ViewManager {           * is a big ugly hack so:           * @hide           */ +        @UnsupportedAppUsage          public static final int TYPE_APPLICATION_MEDIA_OVERLAY  = FIRST_SUB_WINDOW + 4;          /** @@ -827,6 +829,7 @@ public interface WindowManager extends ViewManager {           * In multiuser systems shows only on the owning user's window.           * @hide           */ +        @UnsupportedAppUsage          public static final int TYPE_SECURE_SYSTEM_OVERLAY = FIRST_SYSTEM_WINDOW+15;          /** @@ -902,6 +905,7 @@ public interface WindowManager extends ViewManager {           * In multiuser systems shows on all users' windows.           * @hide           */ +        @UnsupportedAppUsage          public static final int TYPE_DISPLAY_OVERLAY = FIRST_SYSTEM_WINDOW+26;          /** @@ -1392,6 +1396,7 @@ public interface WindowManager extends ViewManager {           *           * {@hide}           */ +        @UnsupportedAppUsage          public static final int FLAG_SLIPPERY = 0x20000000;          /** @@ -1555,6 +1560,7 @@ public interface WindowManager extends ViewManager {           * to determine its default behavior.           *           * {@hide} */ +        @UnsupportedAppUsage          public static final int PRIVATE_FLAG_SHOW_FOR_ALL_USERS = 0x00000010;          /** @@ -1814,6 +1820,7 @@ public interface WindowManager extends ViewManager {           *           * @hide           */ +        @UnsupportedAppUsage          public static final int NEEDS_MENU_SET_TRUE = 1;          /** @@ -1822,6 +1829,7 @@ public interface WindowManager extends ViewManager {           *           * @hide           */ +        @UnsupportedAppUsage          public static final int NEEDS_MENU_SET_FALSE = 2;          /** @@ -1835,6 +1843,7 @@ public interface WindowManager extends ViewManager {           *           * {@hide}           */ +        @UnsupportedAppUsage          public int needsMenuKey = NEEDS_MENU_UNSET;          /** @@ -2239,6 +2248,7 @@ public interface WindowManager extends ViewManager {           * The ui visibility as requested by the views in this hierarchy.           * the combined value should be systemUiVisibility | subtreeSystemUiVisibility.           */ +        @UnsupportedAppUsage          public int subtreeSystemUiVisibility;          /** @@ -2248,6 +2258,7 @@ public interface WindowManager extends ViewManager {           *           * @hide           */ +        @UnsupportedAppUsage          public boolean hasSystemUiListeners; @@ -2399,6 +2410,7 @@ public interface WindowManager extends ViewManager {           *           * @hide           */ +        @UnsupportedAppUsage          public static final int INPUT_FEATURE_DISABLE_USER_ACTIVITY = 0x00000004;          /** @@ -2409,6 +2421,7 @@ public interface WindowManager extends ViewManager {           * @see #INPUT_FEATURE_DISABLE_USER_ACTIVITY           * @hide           */ +        @UnsupportedAppUsage          public int inputFeatures;          /** @@ -2424,6 +2437,7 @@ public interface WindowManager extends ViewManager {           *           * @hide           */ +        @UnsupportedAppUsage          public long userActivityTimeout = -1;          /** @@ -2455,6 +2469,7 @@ public interface WindowManager extends ViewManager {           *           * @hide           */ +        @UnsupportedAppUsage          public long hideTimeoutMilliseconds = -1;          /** @@ -3125,6 +3140,7 @@ public interface WindowManager extends ViewManager {           * Backup the layout parameters used in compatibility mode.           * @see LayoutParams#restore()           */ +        @UnsupportedAppUsage          void backup() {              int[] backup = mCompatibilityParamsBackup;              if (backup == null) { @@ -3141,6 +3157,7 @@ public interface WindowManager extends ViewManager {           * Restore the layout params' coordinates, size and gravity           * @see LayoutParams#backup()           */ +        @UnsupportedAppUsage          void restore() {              int[] backup = mCompatibilityParamsBackup;              if (backup != null) { diff --git a/core/java/android/view/WindowManagerGlobal.java b/core/java/android/view/WindowManagerGlobal.java index 08c2d0b7a98c..d810067c38de 100644 --- a/core/java/android/view/WindowManagerGlobal.java +++ b/core/java/android/view/WindowManagerGlobal.java @@ -17,6 +17,7 @@  package android.view;  import android.animation.ValueAnimator; +import android.annotation.UnsupportedAppUsage;  import android.app.ActivityManager;  import android.content.ComponentCallbacks2;  import android.content.Context; @@ -131,14 +132,21 @@ public final class WindowManagerGlobal {      public static final int ADD_INVALID_DISPLAY = -9;      public static final int ADD_INVALID_TYPE = -10; +    @UnsupportedAppUsage      private static WindowManagerGlobal sDefaultWindowManager; +    @UnsupportedAppUsage      private static IWindowManager sWindowManagerService; +    @UnsupportedAppUsage      private static IWindowSession sWindowSession; +    @UnsupportedAppUsage      private final Object mLock = new Object(); +    @UnsupportedAppUsage      private final ArrayList<View> mViews = new ArrayList<View>(); +    @UnsupportedAppUsage      private final ArrayList<ViewRootImpl> mRoots = new ArrayList<ViewRootImpl>(); +    @UnsupportedAppUsage      private final ArrayList<WindowManager.LayoutParams> mParams =              new ArrayList<WindowManager.LayoutParams>();      private final ArraySet<View> mDyingViews = new ArraySet<View>(); @@ -148,10 +156,12 @@ public final class WindowManagerGlobal {      private WindowManagerGlobal() {      } +    @UnsupportedAppUsage      public static void initialize() {          getWindowManagerService();      } +    @UnsupportedAppUsage      public static WindowManagerGlobal getInstance() {          synchronized (WindowManagerGlobal.class) {              if (sDefaultWindowManager == null) { @@ -161,6 +171,7 @@ public final class WindowManagerGlobal {          }      } +    @UnsupportedAppUsage      public static IWindowManager getWindowManagerService() {          synchronized (WindowManagerGlobal.class) {              if (sWindowManagerService == null) { @@ -179,6 +190,7 @@ public final class WindowManagerGlobal {          }      } +    @UnsupportedAppUsage      public static IWindowSession getWindowSession() {          synchronized (WindowManagerGlobal.class) {              if (sWindowSession == null) { @@ -201,12 +213,14 @@ public final class WindowManagerGlobal {          }      } +    @UnsupportedAppUsage      public static IWindowSession peekWindowSession() {          synchronized (WindowManagerGlobal.class) {              return sWindowSession;          }      } +    @UnsupportedAppUsage      public String[] getViewRootNames() {          synchronized (mLock) {              final int numRoots = mRoots.size(); @@ -218,6 +232,7 @@ public final class WindowManagerGlobal {          }      } +    @UnsupportedAppUsage      public ArrayList<ViewRootImpl> getRootViews(IBinder token) {          ArrayList<ViewRootImpl> views = new ArrayList<>();          synchronized (mLock) { @@ -264,6 +279,7 @@ public final class WindowManagerGlobal {          return null;      } +    @UnsupportedAppUsage      public View getRootView(String name) {          synchronized (mLock) {              for (int i = mRoots.size() - 1; i >= 0; --i) { @@ -385,6 +401,7 @@ public final class WindowManagerGlobal {          }      } +    @UnsupportedAppUsage      public void removeView(View view, boolean immediate) {          if (view == null) {              throw new IllegalArgumentException("view must not be null"); @@ -500,6 +517,7 @@ public final class WindowManagerGlobal {          return false;      } +    @UnsupportedAppUsage      public void trimMemory(int level) {          if (ThreadedRenderer.isAvailable()) {              if (shouldDestroyEglContext(level)) { @@ -647,6 +665,7 @@ public final class WindowManagerGlobal {  }  final class WindowLeaked extends AndroidRuntimeException { +    @UnsupportedAppUsage      public WindowLeaked(String msg) {          super(msg);      } diff --git a/core/java/android/view/WindowManagerImpl.java b/core/java/android/view/WindowManagerImpl.java index a8722f101ef4..2339d35f7317 100644 --- a/core/java/android/view/WindowManagerImpl.java +++ b/core/java/android/view/WindowManagerImpl.java @@ -17,6 +17,7 @@  package android.view;  import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.graphics.Region;  import android.os.Bundle; @@ -54,6 +55,7 @@ import java.util.List;   * @hide   */  public final class WindowManagerImpl implements WindowManager { +    @UnsupportedAppUsage      private final WindowManagerGlobal mGlobal = WindowManagerGlobal.getInstance();      private final Context mContext;      private final Window mParentWindow; diff --git a/core/java/android/view/accessibility/AccessibilityEvent.java b/core/java/android/view/accessibility/AccessibilityEvent.java index 7946e9e2f63d..4f13c9ca2449 100644 --- a/core/java/android/view/accessibility/AccessibilityEvent.java +++ b/core/java/android/view/accessibility/AccessibilityEvent.java @@ -17,6 +17,7 @@  package android.view.accessibility;  import android.annotation.IntDef; +import android.annotation.UnsupportedAppUsage;  import android.os.Parcel;  import android.os.Parcelable;  import android.text.TextUtils; @@ -753,10 +754,12 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par      private static final SynchronizedPool<AccessibilityEvent> sPool =              new SynchronizedPool<>(MAX_POOL_SIZE); +    @UnsupportedAppUsage      private @EventType int mEventType;      private CharSequence mPackageName;      private long mEventTime;      int mMovementGranularity; +    @UnsupportedAppUsage      int mAction;      int mContentChangeTypes;      int mWindowChangeTypes; diff --git a/core/java/android/view/accessibility/AccessibilityInteractionClient.java b/core/java/android/view/accessibility/AccessibilityInteractionClient.java index d60c48198e38..4db6f4f808f2 100644 --- a/core/java/android/view/accessibility/AccessibilityInteractionClient.java +++ b/core/java/android/view/accessibility/AccessibilityInteractionClient.java @@ -17,6 +17,7 @@  package android.view.accessibility;  import android.accessibilityservice.IAccessibilityServiceConnection; +import android.annotation.UnsupportedAppUsage;  import android.os.Binder;  import android.os.Build;  import android.os.Bundle; @@ -112,6 +113,7 @@ public final class AccessibilityInteractionClient      /**       * @return The client for the current thread.       */ +    @UnsupportedAppUsage      public static AccessibilityInteractionClient getInstance() {          final long threadId = Thread.currentThread().getId();          return getInstanceForThread(threadId); @@ -190,6 +192,7 @@ public final class AccessibilityInteractionClient       *       * @param message The message.       */ +    @UnsupportedAppUsage      public void setSameThreadMessage(Message message) {          synchronized (mInstanceLock) {              mSameThreadMessage = message; @@ -625,6 +628,7 @@ public final class AccessibilityInteractionClient          return false;      } +    @UnsupportedAppUsage      public void clearCache() {          sAccessibilityCache.clear();      } diff --git a/core/java/android/view/accessibility/AccessibilityManager.java b/core/java/android/view/accessibility/AccessibilityManager.java index cbb23f1a6c62..c59c491be878 100644 --- a/core/java/android/view/accessibility/AccessibilityManager.java +++ b/core/java/android/view/accessibility/AccessibilityManager.java @@ -25,6 +25,7 @@ import android.annotation.NonNull;  import android.annotation.Nullable;  import android.annotation.SdkConstant;  import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage;  import android.content.ComponentName;  import android.content.Context;  import android.content.pm.PackageManager; @@ -88,6 +89,7 @@ public final class AccessibilityManager {      public static final int DALTONIZER_DISABLED = -1;      /** @hide */ +    @UnsupportedAppUsage      public static final int DALTONIZER_SIMULATE_MONOCHROMACY = 0;      /** @hide */ @@ -112,30 +114,39 @@ public final class AccessibilityManager {      public static final String ACTION_CHOOSE_ACCESSIBILITY_BUTTON =              "com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON"; +    @UnsupportedAppUsage      static final Object sInstanceSync = new Object(); +    @UnsupportedAppUsage      private static AccessibilityManager sInstance; +    @UnsupportedAppUsage      private final Object mLock = new Object(); +    @UnsupportedAppUsage      private IAccessibilityManager mService; +    @UnsupportedAppUsage      final int mUserId; +    @UnsupportedAppUsage      final Handler mHandler;      final Handler.Callback mCallback; +    @UnsupportedAppUsage      boolean mIsEnabled;      int mRelevantEventTypes = AccessibilityEvent.TYPES_ALL_MASK;      boolean mIsTouchExplorationEnabled; +    @UnsupportedAppUsage      boolean mIsHighTextContrastEnabled;      AccessibilityPolicy mAccessibilityPolicy; +    @UnsupportedAppUsage      private final ArrayMap<AccessibilityStateChangeListener, Handler>              mAccessibilityStateChangeListeners = new ArrayMap<>(); @@ -318,6 +329,7 @@ public final class AccessibilityManager {       *       * @hide       */ +    @UnsupportedAppUsage      public static AccessibilityManager getInstance(Context context) {          synchronized (sInstanceSync) {              if (sInstance == null) { @@ -430,6 +442,7 @@ public final class AccessibilityManager {       *       * @hide       */ +    @UnsupportedAppUsage      public boolean isHighTextContrastEnabled() {          synchronized (mLock) {              IAccessibilityManager service = getServiceLocked(); @@ -916,6 +929,7 @@ public final class AccessibilityManager {       *       * @param stateFlags The state flags.       */ +    @UnsupportedAppUsage      private void setStateLocked(int stateFlags) {          final boolean enabled = (stateFlags & STATE_FLAG_ACCESSIBILITY_ENABLED) != 0;          final boolean touchExplorationEnabled = diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java index 6bacdfe052a5..158ac6b0cdb5 100644 --- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java +++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java @@ -25,6 +25,7 @@ import android.accessibilityservice.AccessibilityService;  import android.accessibilityservice.AccessibilityServiceInfo;  import android.annotation.Nullable;  import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage;  import android.graphics.Rect;  import android.os.Bundle;  import android.os.Parcel; @@ -662,6 +663,7 @@ public class AccessibilityNodeInfo implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public static int getAccessibilityViewId(long accessibilityNodeId) {          return (int) accessibilityNodeId;      } @@ -675,6 +677,7 @@ public class AccessibilityNodeInfo implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public static int getVirtualDescendantId(long accessibilityNodeId) {          return (int) ((accessibilityNodeId & VIRTUAL_DESCENDANT_ID_MASK)                  >> VIRTUAL_DESCENDANT_ID_SHIFT); @@ -702,10 +705,12 @@ public class AccessibilityNodeInfo implements Parcelable {      private static final AccessibilityNodeInfo DEFAULT = new AccessibilityNodeInfo(); +    @UnsupportedAppUsage      private boolean mSealed;      // Data.      private int mWindowId = AccessibilityWindowInfo.UNDEFINED_WINDOW_ID; +    @UnsupportedAppUsage      private long mSourceNodeId = UNDEFINED_NODE_ID;      private long mParentNodeId = UNDEFINED_NODE_ID;      private long mLabelForId = UNDEFINED_NODE_ID; @@ -731,6 +736,7 @@ public class AccessibilityNodeInfo implements Parcelable {      private String mViewIdResourceName;      private ArrayList<String> mExtraDataKeys; +    @UnsupportedAppUsage      private LongArray mChildNodeIds;      private ArrayList<AccessibilityAction> mActions; @@ -865,6 +871,7 @@ public class AccessibilityNodeInfo implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public boolean refresh(Bundle arguments, boolean bypassCache) {          enforceSealed();          if (!canPerformRequestOverConnection(mSourceNodeId)) { @@ -3008,6 +3015,7 @@ public class AccessibilityNodeInfo implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public long getSourceNodeId() {          return mSourceNodeId;      } @@ -3019,6 +3027,7 @@ public class AccessibilityNodeInfo implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public void setSealed(boolean sealed) {          mSealed = sealed;      } @@ -3030,6 +3039,7 @@ public class AccessibilityNodeInfo implements Parcelable {       *       * @hide       */ +    @UnsupportedAppUsage      public boolean isSealed() {          return mSealed;      } diff --git a/core/java/android/view/accessibility/AccessibilityRecord.java b/core/java/android/view/accessibility/AccessibilityRecord.java index c2ddc927b04e..b382a1863af3 100644 --- a/core/java/android/view/accessibility/AccessibilityRecord.java +++ b/core/java/android/view/accessibility/AccessibilityRecord.java @@ -19,6 +19,7 @@ package android.view.accessibility;  import static com.android.internal.util.CollectionUtils.isEmpty;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import android.os.Parcelable;  import android.view.View; @@ -82,6 +83,7 @@ public class AccessibilityRecord {      private AccessibilityRecord mNext;      private boolean mIsInPool; +    @UnsupportedAppUsage      boolean mSealed;      int mBooleanProperties = 0;      int mCurrentItemIndex = UNDEFINED; @@ -98,6 +100,7 @@ public class AccessibilityRecord {      int mAddedCount= UNDEFINED;      int mRemovedCount = UNDEFINED; +    @UnsupportedAppUsage      long mSourceNodeId = AccessibilityNodeInfo.UNDEFINED_NODE_ID;      int mSourceWindowId = AccessibilityWindowInfo.UNDEFINED_WINDOW_ID; @@ -696,6 +699,7 @@ public class AccessibilityRecord {       *       * @hide       */ +    @UnsupportedAppUsage      public long getSourceNodeId() {          return mSourceNodeId;      } diff --git a/core/java/android/view/accessibility/CaptioningManager.java b/core/java/android/view/accessibility/CaptioningManager.java index d6455e7270a9..c42e9fec91bf 100644 --- a/core/java/android/view/accessibility/CaptioningManager.java +++ b/core/java/android/view/accessibility/CaptioningManager.java @@ -19,6 +19,7 @@ package android.view.accessibility;  import android.annotation.NonNull;  import android.annotation.Nullable;  import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage;  import android.content.ContentResolver;  import android.content.Context;  import android.database.ContentObserver; @@ -286,6 +287,7 @@ public class CaptioningManager {          public static final CaptionStyle DEFAULT;          /** @hide */ +        @UnsupportedAppUsage          public static final CaptionStyle[] PRESETS;          /** @hide */ diff --git a/core/java/android/view/inputmethod/InputMethodInfo.java b/core/java/android/view/inputmethod/InputMethodInfo.java index f0f30a0df8ba..97b5740918ed 100644 --- a/core/java/android/view/inputmethod/InputMethodInfo.java +++ b/core/java/android/view/inputmethod/InputMethodInfo.java @@ -17,6 +17,7 @@  package android.view.inputmethod;  import android.annotation.NonNull; +import android.annotation.UnsupportedAppUsage;  import android.content.ComponentName;  import android.content.Context;  import android.content.pm.ApplicationInfo; @@ -94,6 +95,7 @@ public final class InputMethodInfo implements Parcelable {      /**       * An array-like container of the subtypes.       */ +    @UnsupportedAppUsage      private final InputMethodSubtypeArray mSubtypes;      private final boolean mIsAuxIme; @@ -445,6 +447,7 @@ public final class InputMethodInfo implements Parcelable {       * Return whether or not this ime is a default ime or not.       * @hide       */ +    @UnsupportedAppUsage      public boolean isDefault(Context context) {          if (mForceDefault) {              return true; diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index 7e6af49838ce..53b224c36cb2 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -24,6 +24,7 @@ import android.annotation.RequiresFeature;  import android.annotation.RequiresPermission;  import android.annotation.SystemService;  import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.content.pm.PackageManager;  import android.graphics.Rect; @@ -223,6 +224,7 @@ public final class InputMethodManager {      static final String PENDING_EVENT_COUNTER = "aq:imm"; +    @UnsupportedAppUsage      static InputMethodManager sInstance;      /** @@ -270,11 +272,13 @@ public final class InputMethodManager {      /** @hide */      public static final int SHOW_IM_PICKER_MODE_EXCLUDE_AUXILIARY_SUBTYPES = 2; +    @UnsupportedAppUsage      final IInputMethodManager mService;      final Looper mMainLooper;      // For scheduling work on the main thread.  This also serves as our      // global lock. +    @UnsupportedAppUsage      final H mH;      // Our generic input connection if the current target does not have its own. @@ -302,16 +306,19 @@ public final class InputMethodManager {       * This is the root view of the overall window that currently has input       * method focus.       */ +    @UnsupportedAppUsage      View mCurRootView;      /**       * This is the view that should currently be served by an input method,       * regardless of the state of setting that up.       */ +    @UnsupportedAppUsage      View mServedView;      /**       * This is then next view that will be served by the input method, when       * we get around to updating things.       */ +    @UnsupportedAppUsage      View mNextServedView;      /**       * This is set when we are in the process of connecting, to determine @@ -327,6 +334,7 @@ public final class InputMethodManager {      /**       * The InputConnection that was last retrieved from the served view.       */ +    @UnsupportedAppUsage      ControlledInputConnectionWrapper mServedInputConnectionWrapper;      /**       * The completions that were last provided by the served view. @@ -334,7 +342,9 @@ public final class InputMethodManager {      CompletionInfo[] mCompletions;      // Cursor position on the screen. +    @UnsupportedAppUsage      Rect mTmpCursorRect = new Rect(); +    @UnsupportedAppUsage      Rect mCursorRect = new Rect();      int mCursorSelStart;      int mCursorSelEnd; @@ -377,10 +387,12 @@ public final class InputMethodManager {      /**       * ID of the method we are bound to.       */ +    @UnsupportedAppUsage      String mCurId;      /**       * The actual instance of the method to make calls on it.       */ +    @UnsupportedAppUsage      IInputMethodSession mCurMethod;      InputChannel mCurChannel;      ImeInputEventSender mCurSender; @@ -677,6 +689,7 @@ public final class InputMethodManager {       * doesn't already exist.       * @hide       */ +    @UnsupportedAppUsage      public static InputMethodManager getInstance() {          synchronized (InputMethodManager.class) {              if (sInstance == null) { @@ -695,16 +708,19 @@ public final class InputMethodManager {       * if it exists.       * @hide       */ +    @UnsupportedAppUsage      public static InputMethodManager peekInstance() {          return sInstance;      }      /** @hide */ +    @UnsupportedAppUsage      public IInputMethodClient getClient() {          return mClient;      }      /** @hide */ +    @UnsupportedAppUsage      public IInputContext getInputContext() {          return mIInputContext;      } @@ -808,6 +824,7 @@ public final class InputMethodManager {      }      /** @hide */ +    @UnsupportedAppUsage      public void registerSuggestionSpansForNotification(SuggestionSpan[] spans) {          try {              mService.registerSuggestionSpansForNotification(spans); @@ -817,6 +834,7 @@ public final class InputMethodManager {      }      /** @hide */ +    @UnsupportedAppUsage      public void notifySuggestionPicked(SuggestionSpan span, String originalString, int index) {          try {              mService.notifySuggestionPicked(span, originalString, index); @@ -922,6 +940,7 @@ public final class InputMethodManager {      /**       * Disconnect any existing input connection, clearing the served view.       */ +    @UnsupportedAppUsage      void finishInputLocked() {          mNextServedView = null;          if (mServedView != null) { @@ -1086,6 +1105,7 @@ public final class InputMethodManager {       * @hide       */      @Deprecated +    @UnsupportedAppUsage      public void showSoftInputUnchecked(int flags, ResultReceiver resultReceiver) {          try {              Log.w(TAG, "showSoftInputUnchecked() is a hidden method, which will be removed " @@ -1392,6 +1412,7 @@ public final class InputMethodManager {       * input method started before.       * @hide       */ +    @UnsupportedAppUsage      public void windowDismissed(IBinder appWindowToken) {          checkFocus();          synchronized (mH) { @@ -1406,6 +1427,7 @@ public final class InputMethodManager {       * Call this when a view receives focus.       * @hide       */ +    @UnsupportedAppUsage      public void focusIn(View view) {          synchronized (mH) {              focusInLocked(view); @@ -1436,6 +1458,7 @@ public final class InputMethodManager {       * Call this when a view loses focus.       * @hide       */ +    @UnsupportedAppUsage      public void focusOut(View view) {          synchronized (mH) {              if (DEBUG) Log.v(TAG, "focusOut: view=" + dumpViewInfo(view) @@ -1480,6 +1503,7 @@ public final class InputMethodManager {      /**       * @hide       */ +    @UnsupportedAppUsage      public void checkFocus() {          if (checkFocusNoStartInput(false)) {              startInputInner(InputMethodClient.START_INPUT_REASON_CHECK_FOCUS, null, 0, 0, 0); @@ -1527,6 +1551,7 @@ public final class InputMethodManager {          return true;      } +    @UnsupportedAppUsage      void closeCurrentInput() {          try {              mService.hideSoftInput(mClient, HIDE_NOT_ALWAYS, null); @@ -1594,6 +1619,7 @@ public final class InputMethodManager {      }      /** @hide */ +    @UnsupportedAppUsage      public void onPreWindowFocus(View rootView, boolean hasWindowFocus) {          synchronized (mH) {              if (rootView == null) { @@ -1697,6 +1723,7 @@ public final class InputMethodManager {       *       * @hide       */ +    @UnsupportedAppUsage      public boolean isCursorAnchorInfoEnabled() {          synchronized (mH) {              final boolean isImmediate = (mRequestUpdateCursorAnchorInfoMonitorMode & @@ -1712,6 +1739,7 @@ public final class InputMethodManager {       *       * @hide       */ +    @UnsupportedAppUsage      public void setUpdateCursorAnchorInfoMode(int flags) {          synchronized (mH) {              mRequestUpdateCursorAnchorInfoMonitorMode = flags; @@ -2221,6 +2249,7 @@ public final class InputMethodManager {       * Notify that a user took some action with this input method.       * @hide       */ +    @UnsupportedAppUsage      public void notifyUserAction() {          synchronized (mH) {              if (mLastSentUserActionNotificationSequenceNumber == @@ -2289,6 +2318,7 @@ public final class InputMethodManager {       * @return The current height of the input method window.       * @hide       */ +    @UnsupportedAppUsage      public int getInputMethodWindowVisibleHeight() {          synchronized (mH) {              try { diff --git a/core/java/android/view/inputmethod/InputMethodSubtypeArray.java b/core/java/android/view/inputmethod/InputMethodSubtypeArray.java index 6a748cedc131..8dd0dcd45a1c 100644 --- a/core/java/android/view/inputmethod/InputMethodSubtypeArray.java +++ b/core/java/android/view/inputmethod/InputMethodSubtypeArray.java @@ -16,6 +16,7 @@  package android.view.inputmethod; +import android.annotation.UnsupportedAppUsage;  import android.os.Parcel;  import android.util.Slog; @@ -49,6 +50,7 @@ public class InputMethodSubtypeArray {       * @param subtypes A list of {@link InputMethodSubtype} from which       * {@link InputMethodSubtypeArray} will be created.       */ +    @UnsupportedAppUsage      public InputMethodSubtypeArray(final List<InputMethodSubtype> subtypes) {          if (subtypes == null) {              mCount = 0; diff --git a/core/java/android/view/textclassifier/TextClassificationManager.java b/core/java/android/view/textclassifier/TextClassificationManager.java index dc1194bbe07c..c6c66c4f3719 100644 --- a/core/java/android/view/textclassifier/TextClassificationManager.java +++ b/core/java/android/view/textclassifier/TextClassificationManager.java @@ -19,6 +19,7 @@ package android.view.textclassifier;  import android.annotation.NonNull;  import android.annotation.Nullable;  import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.database.ContentObserver;  import android.os.ServiceManager; @@ -107,6 +108,7 @@ public final class TextClassificationManager {       * @see TextClassifier#SYSTEM       * @hide       */ +    @UnsupportedAppUsage      public TextClassifier getTextClassifier(@TextClassifierType int type) {          switch (type) {              case TextClassifier.LOCAL: diff --git a/core/java/android/view/textclassifier/TextClassifier.java b/core/java/android/view/textclassifier/TextClassifier.java index 24f531ded05c..b9a6d9789de8 100644 --- a/core/java/android/view/textclassifier/TextClassifier.java +++ b/core/java/android/view/textclassifier/TextClassifier.java @@ -21,6 +21,7 @@ import android.annotation.IntRange;  import android.annotation.NonNull;  import android.annotation.Nullable;  import android.annotation.StringDef; +import android.annotation.UnsupportedAppUsage;  import android.annotation.WorkerThread;  import android.os.LocaleList;  import android.os.Looper; @@ -212,6 +213,7 @@ public interface TextClassifier {      // TODO: Remove once apps can build against the latest sdk.      /** @hide */ +    @UnsupportedAppUsage      default TextSelection suggestSelection(              @NonNull CharSequence text,              @IntRange(from = 0) int selectionStartIndex, @@ -291,6 +293,7 @@ public interface TextClassifier {      // TODO: Remove once apps can build against the latest sdk.      /** @hide */ +    @UnsupportedAppUsage      default TextClassification classifyText(              @NonNull CharSequence text,              @IntRange(from = 0) int startIndex, @@ -332,6 +335,7 @@ public interface TextClassifier {      // TODO: Remove once apps can build against the latest sdk.      /** @hide */ +    @UnsupportedAppUsage      default TextLinks generateLinks(              @NonNull CharSequence text, @Nullable TextLinks.Options options) {          if (options == null) { diff --git a/core/java/android/view/textclassifier/TextLinks.java b/core/java/android/view/textclassifier/TextLinks.java index e7faf142c55d..1cac3ede363a 100644 --- a/core/java/android/view/textclassifier/TextLinks.java +++ b/core/java/android/view/textclassifier/TextLinks.java @@ -20,6 +20,7 @@ import android.annotation.FloatRange;  import android.annotation.IntDef;  import android.annotation.NonNull;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.os.LocaleList;  import android.os.Parcel; @@ -652,6 +653,7 @@ public final class TextLinks implements Parcelable {          private String mCallingPackageName; +        @UnsupportedAppUsage          public Options() {              this(null, null);          } diff --git a/core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.java b/core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.java index f7d75cd89537..b530ddfe86d6 100644 --- a/core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.java +++ b/core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.java @@ -19,6 +19,7 @@ package android.view.textclassifier.logging;  import android.annotation.IntDef;  import android.annotation.NonNull;  import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.metrics.LogMaker;  import android.util.Log; @@ -99,6 +100,7 @@ public final class SmartSelectionEventTracker {      private boolean mSmartSelectionTriggered;      private String mModelName; +    @UnsupportedAppUsage      public SmartSelectionEventTracker(@NonNull Context context, @WidgetType int widgetType) {          mWidgetType = widgetType;          mWidgetVersion = null; @@ -117,6 +119,7 @@ public final class SmartSelectionEventTracker {       *       * @param event the selection event       */ +    @UnsupportedAppUsage      public void logEvent(@NonNull SelectionEvent event) {          Preconditions.checkNotNull(event); @@ -440,6 +443,7 @@ public final class SmartSelectionEventTracker {           *           * @param start  the word index of the selected word           */ +        @UnsupportedAppUsage          public static SelectionEvent selectionStarted(int start) {              return new SelectionEvent(                      start, start + 1, EventType.SELECTION_STARTED, @@ -453,6 +457,7 @@ public final class SmartSelectionEventTracker {           * @param start  the start word (inclusive) index of the selection           * @param end  the end word (exclusive) index of the selection           */ +        @UnsupportedAppUsage          public static SelectionEvent selectionModified(int start, int end) {              return new SelectionEvent(                      start, end, EventType.SELECTION_MODIFIED, @@ -468,6 +473,7 @@ public final class SmartSelectionEventTracker {           * @param classification  the TextClassification object returned by the TextClassifier that           *      classified the selected text           */ +        @UnsupportedAppUsage          public static SelectionEvent selectionModified(                  int start, int end, @NonNull TextClassification classification) {              final String entityType = classification.getEntityCount() > 0 @@ -487,6 +493,7 @@ public final class SmartSelectionEventTracker {           * @param selection  the TextSelection object returned by the TextClassifier for the           *      specified selection           */ +        @UnsupportedAppUsage          public static SelectionEvent selectionModified(                  int start, int end, @NonNull TextSelection selection) {              final boolean smartSelection = getSourceClassifier(selection.getId()) @@ -515,6 +522,7 @@ public final class SmartSelectionEventTracker {           * @param end  the end word (exclusive) index of the selection           * @param actionType  the action that was performed on the selection           */ +        @UnsupportedAppUsage          public static SelectionEvent selectionAction(                  int start, int end, @ActionType int actionType) {              return new SelectionEvent( @@ -532,6 +540,7 @@ public final class SmartSelectionEventTracker {           * @param classification  the TextClassification object returned by the TextClassifier that           *      classified the selected text           */ +        @UnsupportedAppUsage          public static SelectionEvent selectionAction(                  int start, int end, @ActionType int actionType,                  @NonNull TextClassification classification) { diff --git a/core/java/android/view/textservice/SpellCheckerSession.java b/core/java/android/view/textservice/SpellCheckerSession.java index 886f5c822fb4..9733701ee0f0 100644 --- a/core/java/android/view/textservice/SpellCheckerSession.java +++ b/core/java/android/view/textservice/SpellCheckerSession.java @@ -16,6 +16,7 @@  package android.view.textservice; +import android.annotation.UnsupportedAppUsage;  import android.os.Binder;  import android.os.Handler;  import android.os.HandlerThread; @@ -97,6 +98,7 @@ public class SpellCheckerSession {      private final InternalListener mInternalListener;      private final ITextServicesManager mTextServicesManager;      private final SpellCheckerInfo mSpellCheckerInfo; +    @UnsupportedAppUsage      private final SpellCheckerSessionListener mSpellCheckerSessionListener;      private final SpellCheckerSessionListenerImpl mSpellCheckerSessionListenerImpl; diff --git a/core/java/android/view/textservice/TextServicesManager.java b/core/java/android/view/textservice/TextServicesManager.java index 21ec42b1d557..00a5a717fdca 100644 --- a/core/java/android/view/textservice/TextServicesManager.java +++ b/core/java/android/view/textservice/TextServicesManager.java @@ -17,6 +17,7 @@  package android.view.textservice;  import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage;  import android.content.Context;  import android.os.Bundle;  import android.os.RemoteException; @@ -85,6 +86,7 @@ public final class TextServicesManager {       * Retrieve the global TextServicesManager instance, creating it if it doesn't already exist.       * @hide       */ +    @UnsupportedAppUsage      public static TextServicesManager getInstance() {          synchronized (TextServicesManager.class) {              if (sInstance == null) { @@ -192,6 +194,7 @@ public final class TextServicesManager {      /**       * @hide       */ +    @UnsupportedAppUsage      public SpellCheckerInfo[] getEnabledSpellCheckers() {          try {              final SpellCheckerInfo[] retval = mService.getEnabledSpellCheckers(); @@ -207,6 +210,7 @@ public final class TextServicesManager {      /**       * @hide       */ +    @UnsupportedAppUsage      public SpellCheckerInfo getCurrentSpellChecker() {          try {              // Passing null as a locale for ICS @@ -219,6 +223,7 @@ public final class TextServicesManager {      /**       * @hide       */ +    @UnsupportedAppUsage      public SpellCheckerSubtype getCurrentSpellCheckerSubtype(              boolean allowImplicitlySelectedSubtype) {          try { @@ -232,6 +237,7 @@ public final class TextServicesManager {      /**       * @hide       */ +    @UnsupportedAppUsage      public boolean isSpellCheckerEnabled() {          try {              return mService.isSpellCheckerEnabled();  |