diff options
247 files changed, 12836 insertions, 6197 deletions
diff --git a/boot/boot-image-profile.txt b/boot/boot-image-profile.txt index 1a316120a816..854d4ee3dd9c 100644 --- a/boot/boot-image-profile.txt +++ b/boot/boot-image-profile.txt @@ -26,6 +26,7 @@ HSPLandroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/accounts/Account;->equals(Ljava/lang/Object;)Z HSPLandroid/accounts/Account;->hashCode()I +HSPLandroid/accounts/Account;->onAccountAccessed(Ljava/lang/String;)V HSPLandroid/accounts/Account;->toString()Ljava/lang/String; HSPLandroid/accounts/Account;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/accounts/AccountManager$10;-><init>(Landroid/accounts/AccountManager;Landroid/app/Activity;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;Landroid/accounts/Account;Ljava/lang/String;ZLandroid/os/Bundle;)V @@ -125,13 +126,13 @@ HSPLandroid/animation/AnimationHandler$$ExternalSyntheticLambda0;->doFrame(J)V HSPLandroid/animation/AnimationHandler$1;-><init>(Landroid/animation/AnimationHandler;)V HSPLandroid/animation/AnimationHandler$1;->doFrame(J)V+]Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;Landroid/animation/AnimationHandler$MyFrameCallbackProvider;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;-><init>(Landroid/animation/AnimationHandler;)V -HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->getFrameTime()J -HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V +HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->getFrameTime()J+]Landroid/view/Choreographer;Landroid/view/Choreographer; +HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V+]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/animation/AnimationHandler;-><init>()V -HSPLandroid/animation/AnimationHandler;->addAnimationFrameCallback(Landroid/animation/AnimationHandler$AnimationFrameCallback;J)V+]Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;Landroid/animation/AnimationHandler$MyFrameCallbackProvider;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/animation/AnimationHandler;->autoCancelBasedOn(Landroid/animation/ObjectAnimator;)V -HSPLandroid/animation/AnimationHandler;->cleanUpList()V -HSPLandroid/animation/AnimationHandler;->doAnimationFrame(J)V+]Landroid/animation/AnimationHandler$AnimationFrameCallback;Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator;,Lcom/android/internal/dynamicanimation/animation/SpringAnimation;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimationHandler;->addAnimationFrameCallback(Landroid/animation/AnimationHandler$AnimationFrameCallback;J)V +HSPLandroid/animation/AnimationHandler;->autoCancelBasedOn(Landroid/animation/ObjectAnimator;)V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimationHandler;->cleanUpList()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimationHandler;->doAnimationFrame(J)V+]Landroid/animation/AnimationHandler$AnimationFrameCallback;Landroid/animation/ObjectAnimator;,Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator;,Lcom/android/internal/dynamicanimation/animation/SpringAnimation;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/AnimationHandler;->getAnimationCount()I HSPLandroid/animation/AnimationHandler;->getInstance()Landroid/animation/AnimationHandler; HSPLandroid/animation/AnimationHandler;->getProvider()Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider; @@ -156,18 +157,18 @@ HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6;-><init> HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6;->call(Ljava/lang/Object;Ljava/lang/Object;Z)V HSPLandroid/animation/Animator$AnimatorCaller;-><clinit>()V HSPLandroid/animation/Animator$AnimatorCaller;->lambda$static$0(Landroid/animation/Animator$AnimatorListener;Landroid/animation/Animator;Z)V -HSPLandroid/animation/Animator$AnimatorCaller;->lambda$static$4(Landroid/animation/ValueAnimator$AnimatorUpdateListener;Landroid/animation/ValueAnimator;Z)V +HSPLandroid/animation/Animator$AnimatorCaller;->lambda$static$4(Landroid/animation/ValueAnimator$AnimatorUpdateListener;Landroid/animation/ValueAnimator;Z)V+]Landroid/animation/ValueAnimator$AnimatorUpdateListener;missing_types HSPLandroid/animation/Animator$AnimatorConstantState;-><init>(Landroid/animation/Animator;)V HSPLandroid/animation/Animator$AnimatorConstantState;->getChangingConfigurations()I HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Landroid/animation/Animator; HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Ljava/lang/Object; -HSPLandroid/animation/Animator$AnimatorListener;->onAnimationEnd(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;megamorphic_types -HSPLandroid/animation/Animator$AnimatorListener;->onAnimationStart(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;megamorphic_types +HSPLandroid/animation/Animator$AnimatorListener;->onAnimationEnd(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;missing_types +HSPLandroid/animation/Animator$AnimatorListener;->onAnimationStart(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;missing_types HSPLandroid/animation/Animator;-><init>()V -HSPLandroid/animation/Animator;->addListener(Landroid/animation/Animator$AnimatorListener;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/Animator;->addListener(Landroid/animation/Animator$AnimatorListener;)V HSPLandroid/animation/Animator;->addPauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V HSPLandroid/animation/Animator;->appendChangingConfigurations(I)V -HSPLandroid/animation/Animator;->callOnList(Ljava/util/ArrayList;Landroid/animation/Animator$AnimatorCaller;Ljava/lang/Object;Z)V+]Landroid/animation/Animator$AnimatorCaller;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference; +HSPLandroid/animation/Animator;->callOnList(Ljava/util/ArrayList;Landroid/animation/Animator$AnimatorCaller;Ljava/lang/Object;Z)V+]Landroid/animation/Animator$AnimatorCaller;Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda1;,Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda0;,Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6;,Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda2;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference; HSPLandroid/animation/Animator;->clone()Landroid/animation/Animator; HSPLandroid/animation/Animator;->createConstantState()Landroid/content/res/ConstantState; HSPLandroid/animation/Animator;->getBackgroundPauseDelay()J @@ -176,10 +177,10 @@ HSPLandroid/animation/Animator;->getListeners()Ljava/util/ArrayList; HSPLandroid/animation/Animator;->getStartAndEndTimes(Landroid/util/LongArray;J)V HSPLandroid/animation/Animator;->notifyEndListeners(Z)V HSPLandroid/animation/Animator;->notifyListeners(Landroid/animation/Animator$AnimatorCaller;Z)V -HSPLandroid/animation/Animator;->notifyStartListeners(Z)V+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/Animator;->notifyStartListeners(Z)V HSPLandroid/animation/Animator;->pause()V HSPLandroid/animation/Animator;->removeAllListeners()V -HSPLandroid/animation/Animator;->removeListener(Landroid/animation/Animator$AnimatorListener;)V +HSPLandroid/animation/Animator;->removeListener(Landroid/animation/Animator$AnimatorListener;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/Animator;->setAllowRunningAsynchronously(Z)V HSPLandroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLandroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;)Landroid/util/PathParser$PathData; HSPLandroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; @@ -201,53 +202,53 @@ HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationCancel(Landroid/anima HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationStart(Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorSet$1;-><init>(Landroid/animation/AnimatorSet;)V -HSPLandroid/animation/AnimatorSet$1;->onAnimationEnd(Landroid/animation/Animator;)V +HSPLandroid/animation/AnimatorSet$1;->onAnimationEnd(Landroid/animation/Animator;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLandroid/animation/AnimatorSet$2;-><init>(Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;)V HSPLandroid/animation/AnimatorSet$2;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorSet$3;-><init>(Landroid/animation/AnimatorSet;)V -HSPLandroid/animation/AnimatorSet$3;->compare(Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent;)I +HSPLandroid/animation/AnimatorSet$3;->compare(Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent;)I+]Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent; HSPLandroid/animation/AnimatorSet$3;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/animation/AnimatorSet$AnimationEvent;-><init>(Landroid/animation/AnimatorSet$Node;I)V -HSPLandroid/animation/AnimatorSet$AnimationEvent;->getTime()J +HSPLandroid/animation/AnimatorSet$AnimationEvent;->getTime()J+]Landroid/animation/Animator;Landroid/animation/ObjectAnimator; HSPLandroid/animation/AnimatorSet$Builder;-><init>(Landroid/animation/AnimatorSet;Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorSet$Builder;->after(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder; HSPLandroid/animation/AnimatorSet$Builder;->before(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder; HSPLandroid/animation/AnimatorSet$Builder;->with(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder; HSPLandroid/animation/AnimatorSet$Node;-><init>(Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorSet$Node;->addChild(Landroid/animation/AnimatorSet$Node;)V -HSPLandroid/animation/AnimatorSet$Node;->addParent(Landroid/animation/AnimatorSet$Node;)V +HSPLandroid/animation/AnimatorSet$Node;->addParent(Landroid/animation/AnimatorSet$Node;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node; HSPLandroid/animation/AnimatorSet$Node;->addParents(Ljava/util/ArrayList;)V -HSPLandroid/animation/AnimatorSet$Node;->addSibling(Landroid/animation/AnimatorSet$Node;)V -HSPLandroid/animation/AnimatorSet$Node;->clone()Landroid/animation/AnimatorSet$Node;+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/AnimatorSet$Node;->addSibling(Landroid/animation/AnimatorSet$Node;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node; +HSPLandroid/animation/AnimatorSet$Node;->clone()Landroid/animation/AnimatorSet$Node;+]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet$SeekState;-><init>(Landroid/animation/AnimatorSet;)V HSPLandroid/animation/AnimatorSet$SeekState;->getPlayTimeNormalized()J HSPLandroid/animation/AnimatorSet$SeekState;->isActive()Z HSPLandroid/animation/AnimatorSet$SeekState;->reset()V -HSPLandroid/animation/AnimatorSet;-><init>()V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimatorSet;-><init>()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->addAnimationCallback(J)V -HSPLandroid/animation/AnimatorSet;->addAnimationEndListener()V +HSPLandroid/animation/AnimatorSet;->addAnimationEndListener()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->cancel()V HSPLandroid/animation/AnimatorSet;->clone()Landroid/animation/Animator; -HSPLandroid/animation/AnimatorSet;->clone()Landroid/animation/AnimatorSet;+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/HashMap;Ljava/util/HashMap; -HSPLandroid/animation/AnimatorSet;->createDependencyGraph()V+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator;]Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimatorSet;->clone()Landroid/animation/AnimatorSet;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/AnimatorSet;->createDependencyGraph()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->doAnimationFrame(J)Z+]Landroid/animation/AnimatorSet$SeekState;Landroid/animation/AnimatorSet$SeekState;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/animation/AnimatorSet;->end()V -HSPLandroid/animation/AnimatorSet;->endAnimation()V +HSPLandroid/animation/AnimatorSet;->end()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator; +HSPLandroid/animation/AnimatorSet;->endAnimation()V+]Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;]Landroid/animation/AnimatorSet$SeekState;Landroid/animation/AnimatorSet$SeekState;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/AnimatorSet;->ensureChildStartAndEndTimes()[J HSPLandroid/animation/AnimatorSet;->findLatestEventIdForTime(J)I HSPLandroid/animation/AnimatorSet;->findNextIndex(J[J)I HSPLandroid/animation/AnimatorSet;->findSiblings(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V HSPLandroid/animation/AnimatorSet;->getChangingConfigurations()I -HSPLandroid/animation/AnimatorSet;->getChildAnimations()Ljava/util/ArrayList; -HSPLandroid/animation/AnimatorSet;->getNodeForAnimation(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Node; +HSPLandroid/animation/AnimatorSet;->getChildAnimations()Ljava/util/ArrayList;+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimatorSet;->getNodeForAnimation(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Node;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/AnimatorSet;->getStartAndEndTimes(Landroid/util/LongArray;J)V HSPLandroid/animation/AnimatorSet;->getStartDelay()J HSPLandroid/animation/AnimatorSet;->getTotalDuration()J -HSPLandroid/animation/AnimatorSet;->handleAnimationEvents(IIJ)V -HSPLandroid/animation/AnimatorSet;->initAnimation()V +HSPLandroid/animation/AnimatorSet;->handleAnimationEvents(IIJ)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/AnimatorSet;->initAnimation()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->initChildren()V -HSPLandroid/animation/AnimatorSet;->isEmptySet(Landroid/animation/AnimatorSet;)Z -HSPLandroid/animation/AnimatorSet;->isInitialized()Z +HSPLandroid/animation/AnimatorSet;->isEmptySet(Landroid/animation/AnimatorSet;)Z+]Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimatorSet;->isInitialized()Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->isRunning()Z HSPLandroid/animation/AnimatorSet;->isStarted()Z HSPLandroid/animation/AnimatorSet;->play(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder; @@ -257,46 +258,46 @@ HSPLandroid/animation/AnimatorSet;->playTogether([Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorSet;->pulseAnimationFrame(J)Z HSPLandroid/animation/AnimatorSet;->pulseFrame(Landroid/animation/AnimatorSet$Node;J)V HSPLandroid/animation/AnimatorSet;->removeAnimationCallback()V -HSPLandroid/animation/AnimatorSet;->removeAnimationEndListener()V +HSPLandroid/animation/AnimatorSet;->removeAnimationEndListener()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->setDuration(J)Landroid/animation/Animator; HSPLandroid/animation/AnimatorSet;->setDuration(J)Landroid/animation/AnimatorSet; HSPLandroid/animation/AnimatorSet;->setInterpolator(Landroid/animation/TimeInterpolator;)V HSPLandroid/animation/AnimatorSet;->setStartDelay(J)V -HSPLandroid/animation/AnimatorSet;->setTarget(Ljava/lang/Object;)V +HSPLandroid/animation/AnimatorSet;->setTarget(Ljava/lang/Object;)V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/AnimatorSet;->shouldPlayTogether()Z HSPLandroid/animation/AnimatorSet;->skipToEndValue(Z)V -HSPLandroid/animation/AnimatorSet;->sortAnimationEvents()V+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimatorSet;->sortAnimationEvents()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->start()V -HSPLandroid/animation/AnimatorSet;->start(ZZ)V -HSPLandroid/animation/AnimatorSet;->startAnimation()V +HSPLandroid/animation/AnimatorSet;->start(ZZ)V+]Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/AnimatorSet;->startAnimation()V+]Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;]Landroid/animation/AnimatorSet$SeekState;Landroid/animation/AnimatorSet$SeekState;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->startWithoutPulsing(Z)V -HSPLandroid/animation/AnimatorSet;->updateAnimatorsDuration()V -HSPLandroid/animation/AnimatorSet;->updatePlayTime(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V +HSPLandroid/animation/AnimatorSet;->updateAnimatorsDuration()V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; +HSPLandroid/animation/AnimatorSet;->updatePlayTime(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator; HSPLandroid/animation/ArgbEvaluator;-><init>()V -HSPLandroid/animation/ArgbEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/lang/Integer;Ljava/lang/Integer; +HSPLandroid/animation/ArgbEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/animation/ArgbEvaluator;->getInstance()Landroid/animation/ArgbEvaluator; HSPLandroid/animation/FloatKeyframeSet;-><init>([Landroid/animation/Keyframe$FloatKeyframe;)V HSPLandroid/animation/FloatKeyframeSet;->clone()Landroid/animation/FloatKeyframeSet; HSPLandroid/animation/FloatKeyframeSet;->clone()Landroid/animation/Keyframes; -HSPLandroid/animation/FloatKeyframeSet;->getFloatValue(F)F+]Landroid/animation/Keyframe$FloatKeyframe;Landroid/animation/Keyframe$FloatKeyframe;]Ljava/util/List;Ljava/util/Arrays$ArrayList; +HSPLandroid/animation/FloatKeyframeSet;->getFloatValue(F)F+]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Landroid/animation/Keyframe$FloatKeyframe;Landroid/animation/Keyframe$FloatKeyframe; HSPLandroid/animation/FloatKeyframeSet;->getValue(F)Ljava/lang/Object; HSPLandroid/animation/IntKeyframeSet;-><init>([Landroid/animation/Keyframe$IntKeyframe;)V -HSPLandroid/animation/IntKeyframeSet;->clone()Landroid/animation/IntKeyframeSet;+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe;]Ljava/util/List;Ljava/util/Arrays$ArrayList; +HSPLandroid/animation/IntKeyframeSet;->clone()Landroid/animation/IntKeyframeSet;+]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe; HSPLandroid/animation/IntKeyframeSet;->clone()Landroid/animation/Keyframes; -HSPLandroid/animation/IntKeyframeSet;->getIntValue(F)I+]Landroid/animation/Keyframe$IntKeyframe;Landroid/animation/Keyframe$IntKeyframe;]Ljava/util/List;Ljava/util/Arrays$ArrayList; +HSPLandroid/animation/IntKeyframeSet;->getIntValue(F)I HSPLandroid/animation/Keyframe$FloatKeyframe;-><init>(F)V HSPLandroid/animation/Keyframe$FloatKeyframe;-><init>(FF)V HSPLandroid/animation/Keyframe$FloatKeyframe;->clone()Landroid/animation/Keyframe$FloatKeyframe;+]Landroid/animation/Keyframe$FloatKeyframe;Landroid/animation/Keyframe$FloatKeyframe; HSPLandroid/animation/Keyframe$FloatKeyframe;->clone()Landroid/animation/Keyframe; HSPLandroid/animation/Keyframe$FloatKeyframe;->getFloatValue()F HSPLandroid/animation/Keyframe$FloatKeyframe;->getValue()Ljava/lang/Object; -HSPLandroid/animation/Keyframe$FloatKeyframe;->setValue(Ljava/lang/Object;)V +HSPLandroid/animation/Keyframe$FloatKeyframe;->setValue(Ljava/lang/Object;)V+]Ljava/lang/Object;Ljava/lang/Float;]Ljava/lang/Float;Ljava/lang/Float; HSPLandroid/animation/Keyframe$IntKeyframe;-><init>(FI)V -HSPLandroid/animation/Keyframe$IntKeyframe;->clone()Landroid/animation/Keyframe$IntKeyframe;+]Landroid/animation/Keyframe$IntKeyframe;Landroid/animation/Keyframe$IntKeyframe; +HSPLandroid/animation/Keyframe$IntKeyframe;->clone()Landroid/animation/Keyframe$IntKeyframe; HSPLandroid/animation/Keyframe$IntKeyframe;->clone()Landroid/animation/Keyframe; HSPLandroid/animation/Keyframe$IntKeyframe;->getIntValue()I HSPLandroid/animation/Keyframe$IntKeyframe;->getValue()Ljava/lang/Object; -HSPLandroid/animation/Keyframe$IntKeyframe;->setValue(Ljava/lang/Object;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/lang/Object;Ljava/lang/Integer; +HSPLandroid/animation/Keyframe$IntKeyframe;->setValue(Ljava/lang/Object;)V HSPLandroid/animation/Keyframe$ObjectKeyframe;-><init>(FLjava/lang/Object;)V HSPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe$ObjectKeyframe; HSPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe; @@ -312,17 +313,17 @@ HSPLandroid/animation/Keyframe;->ofObject(FLjava/lang/Object;)Landroid/animation HSPLandroid/animation/Keyframe;->setInterpolator(Landroid/animation/TimeInterpolator;)V HSPLandroid/animation/Keyframe;->setValueWasSetOnStart(Z)V HSPLandroid/animation/Keyframe;->valueWasSetOnStart()Z -HSPLandroid/animation/KeyframeSet;-><init>([Landroid/animation/Keyframe;)V+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$FloatKeyframe;,Landroid/animation/Keyframe$IntKeyframe;,Landroid/animation/Keyframe$ObjectKeyframe; +HSPLandroid/animation/KeyframeSet;-><init>([Landroid/animation/Keyframe;)V+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$ObjectKeyframe;,Landroid/animation/Keyframe$IntKeyframe;,Landroid/animation/Keyframe$FloatKeyframe; HSPLandroid/animation/KeyframeSet;->clone()Landroid/animation/KeyframeSet; HSPLandroid/animation/KeyframeSet;->clone()Landroid/animation/Keyframes; HSPLandroid/animation/KeyframeSet;->getKeyframes()Ljava/util/List; -HSPLandroid/animation/KeyframeSet;->getValue(F)Ljava/lang/Object;+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$ObjectKeyframe;]Landroid/animation/TypeEvaluator;Landroid/animation/ArgbEvaluator; +HSPLandroid/animation/KeyframeSet;->getValue(F)Ljava/lang/Object;+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$ObjectKeyframe; HSPLandroid/animation/KeyframeSet;->ofFloat([F)Landroid/animation/KeyframeSet; HSPLandroid/animation/KeyframeSet;->ofInt([I)Landroid/animation/KeyframeSet; HSPLandroid/animation/KeyframeSet;->ofObject([Ljava/lang/Object;)Landroid/animation/KeyframeSet; HSPLandroid/animation/KeyframeSet;->setEvaluator(Landroid/animation/TypeEvaluator;)V HSPLandroid/animation/LayoutTransition$1;->onAnimationEnd(Landroid/animation/Animator;)V -HSPLandroid/animation/LayoutTransition$2;->onLayoutChange(Landroid/view/View;IIIIIIII)V+]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe;]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Ljava/lang/Object;Ljava/lang/Integer;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap; +HSPLandroid/animation/LayoutTransition$2;->onLayoutChange(Landroid/view/View;IIIIIIII)V HSPLandroid/animation/LayoutTransition$3;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/animation/LayoutTransition$3;->onAnimationStart(Landroid/animation/Animator;)V HSPLandroid/animation/LayoutTransition$4;->onAnimationEnd(Landroid/animation/Animator;)V @@ -350,20 +351,20 @@ HSPLandroid/animation/LayoutTransition;->setAnimator(ILandroid/animation/Animato HSPLandroid/animation/LayoutTransition;->setDuration(J)V HSPLandroid/animation/LayoutTransition;->setInterpolator(ILandroid/animation/TimeInterpolator;)V HSPLandroid/animation/LayoutTransition;->setStartDelay(IJ)V -HSPLandroid/animation/LayoutTransition;->setupChangeAnimation(Landroid/view/ViewGroup;ILandroid/animation/Animator;JLandroid/view/View;)V+]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Landroid/view/View;missing_types]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/animation/LayoutTransition;->setupChangeAnimation(Landroid/view/ViewGroup;ILandroid/animation/Animator;JLandroid/view/View;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/view/View;missing_types]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator; HSPLandroid/animation/LayoutTransition;->showChild(Landroid/view/ViewGroup;Landroid/view/View;I)V HSPLandroid/animation/LayoutTransition;->startChangingAnimations()V HSPLandroid/animation/ObjectAnimator;-><init>()V HSPLandroid/animation/ObjectAnimator;-><init>(Ljava/lang/Object;Landroid/util/Property;)V HSPLandroid/animation/ObjectAnimator;-><init>(Ljava/lang/Object;Ljava/lang/String;)V -HSPLandroid/animation/ObjectAnimator;->animateValue(F)V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; +HSPLandroid/animation/ObjectAnimator;->animateValue(F)V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/ObjectAnimator;->clone()Landroid/animation/Animator; HSPLandroid/animation/ObjectAnimator;->clone()Landroid/animation/ObjectAnimator; -HSPLandroid/animation/ObjectAnimator;->getNameForTrace()Ljava/lang/String;+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLandroid/animation/ObjectAnimator;->getPropertyName()Ljava/lang/String;+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLandroid/animation/ObjectAnimator;->getTarget()Ljava/lang/Object;+]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/animation/ObjectAnimator;->getNameForTrace()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator; +HSPLandroid/animation/ObjectAnimator;->getPropertyName()Ljava/lang/String;+]Landroid/util/Property;missing_types +HSPLandroid/animation/ObjectAnimator;->getTarget()Ljava/lang/Object; HSPLandroid/animation/ObjectAnimator;->hasSameTargetAndProperties(Landroid/animation/Animator;)Z -HSPLandroid/animation/ObjectAnimator;->initAnimation()V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; +HSPLandroid/animation/ObjectAnimator;->initAnimation()V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/ObjectAnimator;->isInitialized()Z HSPLandroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator; HSPLandroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator; @@ -376,7 +377,7 @@ HSPLandroid/animation/ObjectAnimator;->setAutoCancel(Z)V HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/Animator; HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator; HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ValueAnimator; -HSPLandroid/animation/ObjectAnimator;->setFloatValues([F)V +HSPLandroid/animation/ObjectAnimator;->setFloatValues([F)V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator; HSPLandroid/animation/ObjectAnimator;->setIntValues([I)V HSPLandroid/animation/ObjectAnimator;->setObjectValues([Ljava/lang/Object;)V HSPLandroid/animation/ObjectAnimator;->setProperty(Landroid/util/Property;)V @@ -402,50 +403,50 @@ HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->calculate HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object; -HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V+]Landroid/util/FloatProperty;Landroid/view/View$12;,Landroid/view/View$13;]Landroid/util/Property;missing_types +HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V+]Landroid/util/FloatProperty;Landroid/view/View$2;,Landroid/view/View$12;,Landroid/view/View$13;,Landroid/view/View$5; HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setFloatValues([F)V HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setProperty(Landroid/util/Property;)V -HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V +HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/Long;Ljava/lang/Long; HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;-><init>(Ljava/lang/String;[I)V -HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->calculateValue(F)V +HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->calculateValue(F)V+]Landroid/animation/Keyframes$IntKeyframes;Landroid/animation/IntKeyframeSet; HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder; -HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;+]Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder; +HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object; HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setIntValues([I)V -HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V+]Ljava/lang/Long;Ljava/lang/Long;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/Long;Ljava/lang/Long; HSPLandroid/animation/PropertyValuesHolder$PropertyValues;-><init>()V -HSPLandroid/animation/PropertyValuesHolder;-><init>(Landroid/util/Property;)V +HSPLandroid/animation/PropertyValuesHolder;-><init>(Landroid/util/Property;)V+]Landroid/util/Property;missing_types HSPLandroid/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;)V HSPLandroid/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;Landroid/animation/PropertyValuesHolder-IA;)V -HSPLandroid/animation/PropertyValuesHolder;->calculateValue(F)V -HSPLandroid/animation/PropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;+]Landroid/animation/Keyframes;Landroid/animation/FloatKeyframeSet;,Landroid/animation/IntKeyframeSet;,Landroid/animation/KeyframeSet; +HSPLandroid/animation/PropertyValuesHolder;->calculateValue(F)V+]Landroid/animation/Keyframes;Landroid/animation/KeyframeSet; +HSPLandroid/animation/PropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;+]Landroid/animation/Keyframes;Landroid/animation/KeyframeSet;,Landroid/animation/IntKeyframeSet;,Landroid/animation/FloatKeyframeSet; HSPLandroid/animation/PropertyValuesHolder;->convertBack(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/animation/PropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object; HSPLandroid/animation/PropertyValuesHolder;->getMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLandroid/animation/PropertyValuesHolder;->getPropertyFunction(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method; HSPLandroid/animation/PropertyValuesHolder;->getPropertyName()Ljava/lang/String; -HSPLandroid/animation/PropertyValuesHolder;->getPropertyValues(Landroid/animation/PropertyValuesHolder$PropertyValues;)V+]Landroid/animation/Keyframes;Landroid/animation/FloatKeyframeSet;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;]Ljava/util/List;Ljava/util/Arrays$ArrayList; +HSPLandroid/animation/PropertyValuesHolder;->getPropertyValues(Landroid/animation/PropertyValuesHolder$PropertyValues;)V HSPLandroid/animation/PropertyValuesHolder;->getValueType()Ljava/lang/Class; -HSPLandroid/animation/PropertyValuesHolder;->init()V+]Landroid/animation/Keyframes;Landroid/animation/KeyframeSet; +HSPLandroid/animation/PropertyValuesHolder;->init()V HSPLandroid/animation/PropertyValuesHolder;->ofFloat(Landroid/util/Property;[F)Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder;->ofFloat(Ljava/lang/String;[F)Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder;->ofInt(Ljava/lang/String;[I)Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder;->ofKeyframes(Ljava/lang/String;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder;->ofObject(Ljava/lang/String;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder; -HSPLandroid/animation/PropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V +HSPLandroid/animation/PropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder;->setEvaluator(Landroid/animation/TypeEvaluator;)V HSPLandroid/animation/PropertyValuesHolder;->setFloatValues([F)V HSPLandroid/animation/PropertyValuesHolder;->setIntValues([I)V HSPLandroid/animation/PropertyValuesHolder;->setObjectValues([Ljava/lang/Object;)V HSPLandroid/animation/PropertyValuesHolder;->setProperty(Landroid/util/Property;)V HSPLandroid/animation/PropertyValuesHolder;->setPropertyName(Ljava/lang/String;)V -HSPLandroid/animation/PropertyValuesHolder;->setupEndValue(Ljava/lang/Object;)V+]Landroid/animation/Keyframes;Landroid/animation/IntKeyframeSet;]Ljava/util/List;Ljava/util/Arrays$ArrayList; +HSPLandroid/animation/PropertyValuesHolder;->setupEndValue(Ljava/lang/Object;)V HSPLandroid/animation/PropertyValuesHolder;->setupGetter(Ljava/lang/Class;)V -HSPLandroid/animation/PropertyValuesHolder;->setupSetterAndGetter(Ljava/lang/Object;)V+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$FloatKeyframe;,Landroid/animation/Keyframe$IntKeyframe;,Landroid/animation/Keyframe$ObjectKeyframe;]Landroid/animation/Keyframes;Landroid/animation/FloatKeyframeSet;,Landroid/animation/IntKeyframeSet;,Landroid/animation/KeyframeSet;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;]Ljava/lang/Object;missing_types]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;]Ljava/util/List;Ljava/util/Arrays$ArrayList; -HSPLandroid/animation/PropertyValuesHolder;->setupSetterOrGetter(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;+]Ljava/util/HashMap;Ljava/util/HashMap; -HSPLandroid/animation/PropertyValuesHolder;->setupStartValue(Ljava/lang/Object;)V+]Landroid/animation/Keyframes;Landroid/animation/IntKeyframeSet;]Ljava/util/List;Ljava/util/Arrays$ArrayList; -HSPLandroid/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Landroid/animation/Keyframe;)V+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe;]Ljava/lang/Object;missing_types]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method; +HSPLandroid/animation/PropertyValuesHolder;->setupSetterAndGetter(Ljava/lang/Object;)V+]Ljava/lang/Object;missing_types]Landroid/animation/Keyframes;Landroid/animation/IntKeyframeSet;,Landroid/animation/FloatKeyframeSet;,Landroid/animation/KeyframeSet;]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe;,Landroid/animation/Keyframe$FloatKeyframe;,Landroid/animation/Keyframe$ObjectKeyframe;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;]Landroid/util/Property;missing_types]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method; +HSPLandroid/animation/PropertyValuesHolder;->setupSetterOrGetter(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method; +HSPLandroid/animation/PropertyValuesHolder;->setupStartValue(Ljava/lang/Object;)V +HSPLandroid/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Landroid/animation/Keyframe;)V+]Ljava/lang/Object;missing_types]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe; HSPLandroid/animation/StateListAnimator$1;-><init>(Landroid/animation/StateListAnimator;)V HSPLandroid/animation/StateListAnimator$1;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;-><init>(Landroid/animation/StateListAnimator;)V @@ -453,10 +454,10 @@ HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInst HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInstance()Ljava/lang/Object; HSPLandroid/animation/StateListAnimator$Tuple;-><init>([ILandroid/animation/Animator;)V HSPLandroid/animation/StateListAnimator;-><init>()V -HSPLandroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V HSPLandroid/animation/StateListAnimator;->appendChangingConfigurations(I)V HSPLandroid/animation/StateListAnimator;->clearTarget()V -HSPLandroid/animation/StateListAnimator;->clone()Landroid/animation/StateListAnimator;+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;]Landroid/animation/StateListAnimator;Landroid/animation/StateListAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/StateListAnimator;->clone()Landroid/animation/StateListAnimator; HSPLandroid/animation/StateListAnimator;->createConstantState()Landroid/content/res/ConstantState; HSPLandroid/animation/StateListAnimator;->getChangingConfigurations()I HSPLandroid/animation/StateListAnimator;->getTarget()Landroid/view/View; @@ -472,17 +473,17 @@ HSPLandroid/animation/ValueAnimator;-><init>()V HSPLandroid/animation/ValueAnimator;->addAnimationCallback(J)V HSPLandroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V HSPLandroid/animation/ValueAnimator;->animateBasedOnTime(J)Z+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; -HSPLandroid/animation/ValueAnimator;->animateValue(F)V+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder;]Landroid/animation/TimeInterpolator;missing_types]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->animateValue(F)V+]Landroid/animation/TimeInterpolator;missing_types]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;,Landroid/animation/ObjectAnimator; HSPLandroid/animation/ValueAnimator;->areAnimatorsEnabled()Z HSPLandroid/animation/ValueAnimator;->cancel()V HSPLandroid/animation/ValueAnimator;->clampFraction(F)F HSPLandroid/animation/ValueAnimator;->clone()Landroid/animation/Animator; -HSPLandroid/animation/ValueAnimator;->clone()Landroid/animation/ValueAnimator;+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder;]Ljava/util/HashMap;Ljava/util/HashMap; -HSPLandroid/animation/ValueAnimator;->doAnimationFrame(J)Z+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->clone()Landroid/animation/ValueAnimator;+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; +HSPLandroid/animation/ValueAnimator;->doAnimationFrame(J)Z+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;,Landroid/animation/ObjectAnimator; HSPLandroid/animation/ValueAnimator;->end()V -HSPLandroid/animation/ValueAnimator;->endAnimation()V+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->endAnimation()V HSPLandroid/animation/ValueAnimator;->getAnimatedFraction()F -HSPLandroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; +HSPLandroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder; HSPLandroid/animation/ValueAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler; HSPLandroid/animation/ValueAnimator;->getCurrentAnimationsCount()I HSPLandroid/animation/ValueAnimator;->getCurrentIteration(F)I @@ -513,25 +514,25 @@ HSPLandroid/animation/ValueAnimator;->removeAnimationCallback()V HSPLandroid/animation/ValueAnimator;->resolveDurationScale()F HSPLandroid/animation/ValueAnimator;->setAllowRunningAsynchronously(Z)V HSPLandroid/animation/ValueAnimator;->setAnimationHandler(Landroid/animation/AnimationHandler;)V -HSPLandroid/animation/ValueAnimator;->setCurrentFraction(F)V+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->setCurrentFraction(F)V HSPLandroid/animation/ValueAnimator;->setCurrentPlayTime(J)V HSPLandroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/Animator; HSPLandroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator; HSPLandroid/animation/ValueAnimator;->setDurationScale(F)V HSPLandroid/animation/ValueAnimator;->setEvaluator(Landroid/animation/TypeEvaluator;)V -HSPLandroid/animation/ValueAnimator;->setFloatValues([F)V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->setFloatValues([F)V HSPLandroid/animation/ValueAnimator;->setIntValues([I)V HSPLandroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V HSPLandroid/animation/ValueAnimator;->setObjectValues([Ljava/lang/Object;)V HSPLandroid/animation/ValueAnimator;->setRepeatCount(I)V HSPLandroid/animation/ValueAnimator;->setRepeatMode(I)V HSPLandroid/animation/ValueAnimator;->setStartDelay(J)V -HSPLandroid/animation/ValueAnimator;->setValues([Landroid/animation/PropertyValuesHolder;)V+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/animation/ValueAnimator;->setValues([Landroid/animation/PropertyValuesHolder;)V HSPLandroid/animation/ValueAnimator;->shouldPlayBackward(IZ)Z HSPLandroid/animation/ValueAnimator;->skipToEndValue(Z)V HSPLandroid/animation/ValueAnimator;->start()V -HSPLandroid/animation/ValueAnimator;->start(Z)V+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; -HSPLandroid/animation/ValueAnimator;->startAnimation()V+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->start(Z)V +HSPLandroid/animation/ValueAnimator;->startAnimation()V HSPLandroid/animation/ValueAnimator;->startWithoutPulsing(Z)V HSPLandroid/app/Activity$1;-><init>(Landroid/app/Activity;)V HSPLandroid/app/Activity$1;->isTaskRoot()Z @@ -545,7 +546,7 @@ HSPLandroid/app/Activity;-><init>()V HSPLandroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;Landroid/os/IBinder;Landroid/os/IBinder;)V HSPLandroid/app/Activity;->attachBaseContext(Landroid/content/Context;)V HSPLandroid/app/Activity;->cancelInputsAndStartExitTransition(Landroid/os/Bundle;)V -HSPLandroid/app/Activity;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/app/Activity;->collectActivityLifecycleCallbacks()[Ljava/lang/Object; HSPLandroid/app/Activity;->dispatchActivityCreated(Landroid/os/Bundle;)V HSPLandroid/app/Activity;->dispatchActivityPostCreated(Landroid/os/Bundle;)V HSPLandroid/app/Activity;->dispatchActivityPostResumed()V @@ -608,7 +609,7 @@ HSPLandroid/app/Activity;->onCreate(Landroid/os/Bundle;)V HSPLandroid/app/Activity;->onCreateDescription()Ljava/lang/CharSequence; HSPLandroid/app/Activity;->onCreateOptionsMenu(Landroid/view/Menu;)Z HSPLandroid/app/Activity;->onCreatePanelMenu(ILandroid/view/Menu;)Z -HSPLandroid/app/Activity;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;+]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/app/Activity;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/app/Activity;->onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/app/Activity;->onDestroy()V HSPLandroid/app/Activity;->onDetachedFromWindow()V @@ -639,7 +640,7 @@ HSPLandroid/app/Activity;->onTouchEvent(Landroid/view/MotionEvent;)Z HSPLandroid/app/Activity;->onTrimMemory(I)V HSPLandroid/app/Activity;->onUserInteraction()V HSPLandroid/app/Activity;->onUserLeaveHint()V -HSPLandroid/app/Activity;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V +HSPLandroid/app/Activity;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V+]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/view/WindowManager;Landroid/view/WindowManagerImpl; HSPLandroid/app/Activity;->onWindowFocusChanged(Z)V HSPLandroid/app/Activity;->overridePendingTransition(II)V HSPLandroid/app/Activity;->overridePendingTransition(III)V @@ -689,10 +690,10 @@ HSPLandroid/app/ActivityClient;->activityResumed(Landroid/os/IBinder;Z)V HSPLandroid/app/ActivityClient;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V HSPLandroid/app/ActivityClient;->activityTopResumedStateLost()V HSPLandroid/app/ActivityClient;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z -HSPLandroid/app/ActivityClient;->getActivityClientController()Landroid/app/IActivityClientController;+]Landroid/app/ActivityClient$ActivityClientControllerSingleton;Landroid/app/ActivityClient$ActivityClientControllerSingleton; +HSPLandroid/app/ActivityClient;->getActivityClientController()Landroid/app/IActivityClientController; HSPLandroid/app/ActivityClient;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName; HSPLandroid/app/ActivityClient;->getDisplayId(Landroid/os/IBinder;)I -HSPLandroid/app/ActivityClient;->getInstance()Landroid/app/ActivityClient;+]Landroid/util/Singleton;Landroid/app/ActivityClient$1; +HSPLandroid/app/ActivityClient;->getInstance()Landroid/app/ActivityClient; HSPLandroid/app/ActivityClient;->getTaskForActivity(Landroid/os/IBinder;Z)I HSPLandroid/app/ActivityClient;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;III)V HSPLandroid/app/ActivityClient;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)V @@ -868,7 +869,7 @@ HSPLandroid/app/ActivityThread$DumpResourcesData;-><init>()V HSPLandroid/app/ActivityThread$GcIdler;-><init>(Landroid/app/ActivityThread;)V HSPLandroid/app/ActivityThread$GcIdler;->queueIdle()Z HSPLandroid/app/ActivityThread$H;-><init>(Landroid/app/ActivityThread;)V -HSPLandroid/app/ActivityThread$H;->handleMessage(Landroid/os/Message;)V +HSPLandroid/app/ActivityThread$H;->handleMessage(Landroid/os/Message;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/app/ActivityThread;Landroid/app/ActivityThread;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/app/servertransaction/TransactionExecutor;Landroid/app/servertransaction/TransactionExecutor; HSPLandroid/app/ActivityThread$Idler;-><init>(Landroid/app/ActivityThread;)V HSPLandroid/app/ActivityThread$Idler;-><init>(Landroid/app/ActivityThread;Landroid/app/ActivityThread$Idler-IA;)V HSPLandroid/app/ActivityThread$Idler;->queueIdle()Z @@ -924,8 +925,8 @@ HSPLandroid/app/ActivityThread;->deliverNewIntents(Landroid/app/ActivityThread$A HSPLandroid/app/ActivityThread;->deliverResults(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/util/List;Ljava/lang/String;)V HSPLandroid/app/ActivityThread;->dumpMemoryInfo(Landroid/util/proto/ProtoOutputStream;JLjava/lang/String;IIIIIIZIII)V HSPLandroid/app/ActivityThread;->getActivitiesToBeDestroyed()Ljava/util/Map; -HSPLandroid/app/ActivityThread;->getActivity(Landroid/os/IBinder;)Landroid/app/Activity;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLandroid/app/ActivityThread;->getActivityClient(Landroid/os/IBinder;)Landroid/app/ActivityThread$ActivityClientRecord;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/app/ActivityThread;->getActivity(Landroid/os/IBinder;)Landroid/app/Activity; +HSPLandroid/app/ActivityThread;->getActivityClient(Landroid/os/IBinder;)Landroid/app/ActivityThread$ActivityClientRecord; HSPLandroid/app/ActivityThread;->getApplication()Landroid/app/Application; HSPLandroid/app/ActivityThread;->getApplicationThread()Landroid/app/ActivityThread$ApplicationThread; HSPLandroid/app/ActivityThread;->getBackupAgentName(Landroid/app/ActivityThread$CreateBackupAgentData;)Ljava/lang/String; @@ -935,7 +936,7 @@ HSPLandroid/app/ActivityThread;->getFloatCoreSetting(Ljava/lang/String;F)F HSPLandroid/app/ActivityThread;->getGetProviderKey(Ljava/lang/String;I)Landroid/app/ActivityThread$ProviderKey; HSPLandroid/app/ActivityThread;->getHandler()Landroid/os/Handler; HSPLandroid/app/ActivityThread;->getInstrumentation()Landroid/app/Instrumentation; -HSPLandroid/app/ActivityThread;->getIntCoreSetting(Ljava/lang/String;I)I +HSPLandroid/app/ActivityThread;->getIntCoreSetting(Ljava/lang/String;I)I+]Landroid/os/Bundle;Landroid/os/Bundle; HSPLandroid/app/ActivityThread;->getIntentBeingBroadcast()Landroid/content/Intent; HSPLandroid/app/ActivityThread;->getLooper()Landroid/os/Looper; HSPLandroid/app/ActivityThread;->getOperationTypeFromBackupMode(I)I @@ -957,7 +958,7 @@ HSPLandroid/app/ActivityThread;->handleBindApplication(Landroid/app/ActivityThre HSPLandroid/app/ActivityThread;->handleBindService(Landroid/app/ActivityThread$BindServiceData;)V HSPLandroid/app/ActivityThread;->handleConfigurationChanged(Landroid/content/res/Configuration;I)V HSPLandroid/app/ActivityThread;->handleCreateBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V -HSPLandroid/app/ActivityThread;->handleCreateService(Landroid/app/ActivityThread$CreateServiceData;)V +HSPLandroid/app/ActivityThread;->handleCreateService(Landroid/app/ActivityThread$CreateServiceData;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/LoadedApk;Landroid/app/LoadedApk;]Landroid/app/ActivityThread;Landroid/app/ActivityThread;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Ljava/util/List;Ljava/util/Collections$EmptyList;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/app/IActivityManager;Landroid/app/IActivityManager$Stub$Proxy; HSPLandroid/app/ActivityThread;->handleDestroyBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V HSPLandroid/app/ActivityThread;->handleDispatchPackageBroadcast(I[Ljava/lang/String;)V HSPLandroid/app/ActivityThread;->handleDumpGfxInfo(Landroid/app/ActivityThread$DumpComponentInfo;)V @@ -997,10 +998,11 @@ HSPLandroid/app/ActivityThread;->isProtectedComponent(Landroid/content/pm/Activi HSPLandroid/app/ActivityThread;->isProtectedComponent(Landroid/content/pm/ComponentInfo;Ljava/lang/String;)Z HSPLandroid/app/ActivityThread;->isProtectedComponent(Landroid/content/pm/ServiceInfo;)Z HSPLandroid/app/ActivityThread;->isSystem()Z +HSPLandroid/app/ActivityThread;->lambda$getGetProviderKey$3(Landroid/app/ActivityThread$ProviderKey;)Landroid/app/ActivityThread$ProviderKey; HSPLandroid/app/ActivityThread;->main([Ljava/lang/String;)V HSPLandroid/app/ActivityThread;->onCoreSettingsChange()V HSPLandroid/app/ActivityThread;->peekPackageInfo(Ljava/lang/String;Z)Landroid/app/LoadedApk; -HSPLandroid/app/ActivityThread;->performLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/Intent;)Landroid/app/Activity;+]Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/ActivityThread$ActivityClientRecord;]Landroid/app/ActivityThread;Landroid/app/ActivityThread;]Landroid/app/ConfigurationController;Landroid/app/ConfigurationController;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/app/Instrumentation;Landroid/app/Instrumentation;]Landroid/app/LoadedApk;Landroid/app/LoadedApk;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/List;Ljava/util/Collections$EmptyList; +HSPLandroid/app/ActivityThread;->performLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/Intent;)Landroid/app/Activity; HSPLandroid/app/ActivityThread;->performPauseActivity(Landroid/app/ActivityThread$ActivityClientRecord;ZLjava/lang/String;Landroid/app/servertransaction/PendingTransactionActions;)Landroid/os/Bundle; HSPLandroid/app/ActivityThread;->performPauseActivityIfNeeded(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/lang/String;)V HSPLandroid/app/ActivityThread;->performRestartActivity(Landroid/app/ActivityThread$ActivityClientRecord;Z)V @@ -1071,7 +1073,7 @@ HSPLandroid/app/AppComponentFactory;->instantiateProvider(Ljava/lang/ClassLoader HSPLandroid/app/AppComponentFactory;->instantiateReceiver(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/content/BroadcastReceiver; HSPLandroid/app/AppComponentFactory;->instantiateService(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Service; HSPLandroid/app/AppGlobals;->getInitialApplication()Landroid/app/Application; -HSPLandroid/app/AppGlobals;->getIntCoreSetting(Ljava/lang/String;I)I +HSPLandroid/app/AppGlobals;->getIntCoreSetting(Ljava/lang/String;I)I+]Landroid/app/ActivityThread;Landroid/app/ActivityThread; HSPLandroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager; HSPLandroid/app/AppOpsManager$1;->onNoted(Landroid/app/SyncNotedAppOp;)V HSPLandroid/app/AppOpsManager$1;->onSelfNoted(Landroid/app/SyncNotedAppOp;)V @@ -1164,7 +1166,7 @@ HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreStarted(La HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreStopped(Landroid/app/Activity;)V HSPLandroid/app/Application;-><init>()V HSPLandroid/app/Application;->attach(Landroid/content/Context;)V -HSPLandroid/app/Application;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/app/Application;->collectActivityLifecycleCallbacks()[Ljava/lang/Object; HSPLandroid/app/Application;->dispatchActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V HSPLandroid/app/Application;->dispatchActivityDestroyed(Landroid/app/Activity;)V HSPLandroid/app/Application;->dispatchActivityPaused(Landroid/app/Activity;)V @@ -1264,7 +1266,7 @@ HSPLandroid/app/ApplicationPackageManager;->getInstalledPackages(Landroid/conten HSPLandroid/app/ApplicationPackageManager;->getInstalledPackagesAsUser(II)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->getInstalledPackagesAsUser(Landroid/content/pm/PackageManager$PackageInfoFlags;I)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/app/ApplicationPackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;+]Landroid/app/ApplicationPackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/Intent;Landroid/content/Intent;]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/app/ApplicationPackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/ApplicationPackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/Intent;Landroid/content/Intent; HSPLandroid/app/ApplicationPackageManager;->getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo; HSPLandroid/app/ApplicationPackageManager;->getNameForUid(I)Ljava/lang/String; HSPLandroid/app/ApplicationPackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo; @@ -1288,7 +1290,7 @@ HSPLandroid/app/ApplicationPackageManager;->getProviderInfo(Landroid/content/Com HSPLandroid/app/ApplicationPackageManager;->getReceiverInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo; HSPLandroid/app/ApplicationPackageManager;->getReceiverInfo(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ActivityInfo; HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/Resources; -HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Landroid/content/pm/ApplicationInfo;Landroid/content/res/Configuration;)Landroid/content/res/Resources; +HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Landroid/content/pm/ApplicationInfo;Landroid/content/res/Configuration;)Landroid/content/res/Resources;+]Landroid/app/ActivityThread;Landroid/app/ActivityThread;]Ljava/lang/Object;Ljava/lang/String; HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources; HSPLandroid/app/ApplicationPackageManager;->getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo; HSPLandroid/app/ApplicationPackageManager;->getServiceInfo(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ServiceInfo; @@ -1298,7 +1300,7 @@ HSPLandroid/app/ApplicationPackageManager;->getSystemSharedLibraryNames()[Ljava/ HSPLandroid/app/ApplicationPackageManager;->getText(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence; HSPLandroid/app/ApplicationPackageManager;->getUserBadgeColor(Landroid/os/UserHandle;Z)I HSPLandroid/app/ApplicationPackageManager;->getUserBadgedIcon(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable; -HSPLandroid/app/ApplicationPackageManager;->getUserId()I +HSPLandroid/app/ApplicationPackageManager;->getUserId()I+]Landroid/app/ContextImpl;Landroid/app/ContextImpl; HSPLandroid/app/ApplicationPackageManager;->getUserManager()Landroid/os/UserManager; HSPLandroid/app/ApplicationPackageManager;->getXml(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/content/res/XmlResourceParser; HSPLandroid/app/ApplicationPackageManager;->handlePackageBroadcast(I[Ljava/lang/String;Z)V @@ -1323,7 +1325,7 @@ HSPLandroid/app/ApplicationPackageManager;->queryBroadcastReceiversAsUser(Landro HSPLandroid/app/ApplicationPackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->queryIntentActivities(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;II)Ljava/util/List; -HSPLandroid/app/ApplicationPackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;I)Ljava/util/List;+]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/IPackageManager;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/content/pm/PackageManager$ResolveInfoFlags;Landroid/content/pm/PackageManager$ResolveInfoFlags;]Landroid/content/pm/ParceledListSlice;Landroid/content/pm/ParceledListSlice; +HSPLandroid/app/ApplicationPackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;I)Ljava/util/List;+]Landroid/content/pm/IPackageManager;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager$ResolveInfoFlags;Landroid/content/pm/PackageManager$ResolveInfoFlags;]Landroid/content/pm/ParceledListSlice;Landroid/content/pm/ParceledListSlice;]Landroid/content/Intent;Landroid/content/Intent; HSPLandroid/app/ApplicationPackageManager;->queryIntentContentProviders(Landroid/content/Intent;I)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->queryIntentContentProviders(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->queryIntentContentProvidersAsUser(Landroid/content/Intent;II)Ljava/util/List; @@ -1411,7 +1413,7 @@ HSPLandroid/app/ContextImpl$ApplicationContentResolver;->releaseProvider(Landroi HSPLandroid/app/ContextImpl$ApplicationContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z HSPLandroid/app/ContextImpl$ApplicationContentResolver;->resolveUserIdFromAuthority(Ljava/lang/String;)I HSPLandroid/app/ContextImpl$ApplicationContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V -HSPLandroid/app/ContextImpl;-><init>(Landroid/app/ContextImpl;Landroid/app/ActivityThread;Landroid/app/LoadedApk;Landroid/content/ContextParams;Ljava/lang/String;Landroid/content/AttributionSource;Ljava/lang/String;Landroid/os/IBinder;Landroid/os/UserHandle;ILjava/lang/ClassLoader;Ljava/lang/String;IZ)V+]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/app/LoadedApk;Landroid/app/LoadedApk;]Landroid/content/ContextParams;Landroid/content/ContextParams; +HSPLandroid/app/ContextImpl;-><init>(Landroid/app/ContextImpl;Landroid/app/ActivityThread;Landroid/app/LoadedApk;Landroid/content/ContextParams;Ljava/lang/String;Landroid/content/AttributionSource;Ljava/lang/String;Landroid/os/IBinder;Landroid/os/UserHandle;ILjava/lang/ClassLoader;Ljava/lang/String;IZ)V+]Landroid/app/LoadedApk;Landroid/app/LoadedApk;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/content/ContextParams;Landroid/content/ContextParams; HSPLandroid/app/ContextImpl;->bindIsolatedService(Landroid/content/Intent;ILjava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z HSPLandroid/app/ContextImpl;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z HSPLandroid/app/ContextImpl;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z @@ -1431,7 +1433,7 @@ HSPLandroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landr HSPLandroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Ljava/lang/String;)Landroid/app/ContextImpl; HSPLandroid/app/ContextImpl;->createApplicationContext(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context; HSPLandroid/app/ContextImpl;->createAttributionContext(Ljava/lang/String;)Landroid/content/Context; -HSPLandroid/app/ContextImpl;->createAttributionSource(Ljava/lang/String;Landroid/content/AttributionSource;Ljava/util/Set;ZI)Landroid/content/AttributionSource;+]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/permission/PermissionManager;Landroid/permission/PermissionManager;]Ljava/util/Set;missing_types +HSPLandroid/app/ContextImpl;->createAttributionSource(Ljava/lang/String;Landroid/content/AttributionSource;Ljava/util/Set;ZI)Landroid/content/AttributionSource;+]Ljava/util/Set;missing_types]Landroid/permission/PermissionManager;Landroid/permission/PermissionManager;]Landroid/app/ContextImpl;Landroid/app/ContextImpl; HSPLandroid/app/ContextImpl;->createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context; HSPLandroid/app/ContextImpl;->createContext(Landroid/content/ContextParams;)Landroid/content/Context; HSPLandroid/app/ContextImpl;->createContextAsUser(Landroid/os/UserHandle;I)Landroid/content/Context; @@ -1510,11 +1512,11 @@ HSPLandroid/app/ContextImpl;->getPackageResourcePath()Ljava/lang/String; HSPLandroid/app/ContextImpl;->getPreferencesDir()Ljava/io/File; HSPLandroid/app/ContextImpl;->getReceiverRestrictedContext()Landroid/content/Context; HSPLandroid/app/ContextImpl;->getResources()Landroid/content/res/Resources; -HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences; -HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; -HSPLandroid/app/ContextImpl;->getSharedPreferencesCacheLocked()Landroid/util/ArrayMap; +HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/ContextImpl;Landroid/app/ContextImpl; +HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/LoadedApk;Landroid/app/LoadedApk;]Landroid/app/ContextImpl;Landroid/app/ContextImpl; +HSPLandroid/app/ContextImpl;->getSharedPreferencesCacheLocked()Landroid/util/ArrayMap;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/ContextImpl;Landroid/app/ContextImpl; HSPLandroid/app/ContextImpl;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File; -HSPLandroid/app/ContextImpl;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; +HSPLandroid/app/ContextImpl;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;+]Ljava/lang/Object;Ljava/lang/String;]Landroid/app/ContextImpl;Landroid/app/ContextImpl; HSPLandroid/app/ContextImpl;->getSystemServiceName(Ljava/lang/Class;)Ljava/lang/String; HSPLandroid/app/ContextImpl;->getTheme()Landroid/content/res/Resources$Theme; HSPLandroid/app/ContextImpl;->getThemeResId()I @@ -1733,13 +1735,13 @@ HSPLandroid/app/FragmentManagerImpl;->addAddedFragments(Landroid/util/ArraySet;) HSPLandroid/app/FragmentManagerImpl;->addFragment(Landroid/app/Fragment;Z)V HSPLandroid/app/FragmentManagerImpl;->attachController(Landroid/app/FragmentHostCallback;Landroid/app/FragmentContainer;Landroid/app/Fragment;)V HSPLandroid/app/FragmentManagerImpl;->beginTransaction()Landroid/app/FragmentTransaction; -HSPLandroid/app/FragmentManagerImpl;->burpActive()V+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/app/FragmentManagerImpl;->burpActive()V HSPLandroid/app/FragmentManagerImpl;->checkStateLoss()V HSPLandroid/app/FragmentManagerImpl;->cleanupExec()V HSPLandroid/app/FragmentManagerImpl;->dispatchActivityCreated()V HSPLandroid/app/FragmentManagerImpl;->dispatchCreate()V HSPLandroid/app/FragmentManagerImpl;->dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z -HSPLandroid/app/FragmentManagerImpl;->dispatchMoveToState(I)V+]Landroid/app/FragmentManagerImpl;Landroid/app/FragmentManagerImpl; +HSPLandroid/app/FragmentManagerImpl;->dispatchMoveToState(I)V HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentActivityCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentAttached(Landroid/app/Fragment;Landroid/content/Context;Z)V HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V @@ -1762,9 +1764,9 @@ HSPLandroid/app/FragmentManagerImpl;->dispatchStop()V HSPLandroid/app/FragmentManagerImpl;->doPendingDeferredStart()V HSPLandroid/app/FragmentManagerImpl;->endAnimatingAwayFragments()V HSPLandroid/app/FragmentManagerImpl;->enqueueAction(Landroid/app/FragmentManagerImpl$OpGenerator;Z)V -HSPLandroid/app/FragmentManagerImpl;->ensureExecReady(Z)V+]Landroid/app/FragmentHostCallback;Landroid/app/Activity$HostCallbacks;]Landroid/os/Handler;Landroid/os/Handler; +HSPLandroid/app/FragmentManagerImpl;->ensureExecReady(Z)V HSPLandroid/app/FragmentManagerImpl;->ensureInflatedFragmentView(Landroid/app/Fragment;)V -HSPLandroid/app/FragmentManagerImpl;->execPendingActions()Z+]Landroid/app/FragmentManagerImpl;Landroid/app/FragmentManagerImpl; +HSPLandroid/app/FragmentManagerImpl;->execPendingActions()Z HSPLandroid/app/FragmentManagerImpl;->executeOps(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V HSPLandroid/app/FragmentManagerImpl;->executeOpsTogether(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V HSPLandroid/app/FragmentManagerImpl;->executePendingTransactions()Z @@ -1782,9 +1784,9 @@ HSPLandroid/app/FragmentManagerImpl;->makeActive(Landroid/app/Fragment;)V HSPLandroid/app/FragmentManagerImpl;->makeInactive(Landroid/app/Fragment;)V HSPLandroid/app/FragmentManagerImpl;->makeRemovedFragmentsInvisible(Landroid/util/ArraySet;)V HSPLandroid/app/FragmentManagerImpl;->moveFragmentToExpectedState(Landroid/app/Fragment;)V -HSPLandroid/app/FragmentManagerImpl;->moveToState(IZ)V+]Landroid/app/FragmentManagerImpl;Landroid/app/FragmentManagerImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/app/FragmentManagerImpl;->moveToState(IZ)V HSPLandroid/app/FragmentManagerImpl;->moveToState(Landroid/app/Fragment;IIIZ)V -HSPLandroid/app/FragmentManagerImpl;->noteStateNotSaved()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/app/FragmentManagerImpl;->noteStateNotSaved()V HSPLandroid/app/FragmentManagerImpl;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/app/FragmentManagerImpl;->performPendingDeferredStart(Landroid/app/Fragment;)V HSPLandroid/app/FragmentManagerImpl;->popBackStackImmediate()Z @@ -1798,7 +1800,7 @@ HSPLandroid/app/FragmentManagerImpl;->saveFragmentBasicState(Landroid/app/Fragme HSPLandroid/app/FragmentManagerImpl;->saveNonConfig()V HSPLandroid/app/FragmentManagerImpl;->scheduleCommit()V HSPLandroid/app/FragmentManagerImpl;->setRetaining(Landroid/app/FragmentManagerNonConfig;)V -HSPLandroid/app/FragmentManagerImpl;->startPendingDeferredFragments()V+]Landroid/app/FragmentManagerImpl;Landroid/app/FragmentManagerImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/app/FragmentManagerImpl;->startPendingDeferredFragments()V HSPLandroid/app/FragmentManagerState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/FragmentManagerState; HSPLandroid/app/FragmentManagerState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/app/FragmentManagerState;-><init>(Landroid/os/Parcel;)V @@ -1841,11 +1843,12 @@ HSPLandroid/app/IActivityManager$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/app/IActivityManager$Stub$Proxy;->attachApplication(Landroid/app/IApplicationThread;J)V HSPLandroid/app/IActivityManager$Stub$Proxy;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;I)V HSPLandroid/app/IActivityManager$Stub$Proxy;->bindServiceInstance(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;JLjava/lang/String;Ljava/lang/String;I)I -HSPLandroid/app/IActivityManager$Stub$Proxy;->broadcastIntentWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I+]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/IActivityManager$Stub$Proxy;->broadcastIntentWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I HSPLandroid/app/IActivityManager$Stub$Proxy;->cancelIntentSender(Landroid/content/IIntentSender;)V HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermission(Ljava/lang/String;II)I -HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermissionForDevice(Ljava/lang/String;III)I+]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermissionForDevice(Ljava/lang/String;III)I+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/IActivityManager$Stub$Proxy;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I +HSPLandroid/app/IActivityManager$Stub$Proxy;->finishAttachApplication(J)V HSPLandroid/app/IActivityManager$Stub$Proxy;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V HSPLandroid/app/IActivityManager$Stub$Proxy;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder; HSPLandroid/app/IActivityManager$Stub$Proxy;->getCurrentUser()Landroid/content/pm/UserInfo; @@ -1872,7 +1875,7 @@ HSPLandroid/app/IActivityManager$Stub$Proxy;->registerStrictModeCallback(Landroi HSPLandroid/app/IActivityManager$Stub$Proxy;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V HSPLandroid/app/IActivityManager$Stub$Proxy;->removeContentProvider(Landroid/os/IBinder;Z)V HSPLandroid/app/IActivityManager$Stub$Proxy;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V -HSPLandroid/app/IActivityManager$Stub$Proxy;->serviceDoneExecuting(Landroid/os/IBinder;IIILandroid/content/Intent;)V+]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/IActivityManager$Stub$Proxy;->serviceDoneExecuting(Landroid/os/IBinder;IIILandroid/content/Intent;)V+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/IActivityManager$Stub$Proxy;->setRenderThread(I)V HSPLandroid/app/IActivityManager$Stub$Proxy;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V HSPLandroid/app/IActivityManager$Stub$Proxy;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;I)Landroid/content/ComponentName; @@ -1931,7 +1934,7 @@ HSPLandroid/app/INotificationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/app/INotificationManager$Stub$Proxy;->areNotificationsEnabled(Ljava/lang/String;)Z HSPLandroid/app/INotificationManager$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelAllNotifications(Ljava/lang/String;I)V -HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V+]Landroid/app/INotificationManager$Stub$Proxy;Landroid/app/INotificationManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V HSPLandroid/app/INotificationManager$Stub$Proxy;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V @@ -2035,7 +2038,7 @@ HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;-><i HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;->run()V HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;-><init>(Landroid/app/LoadedApk$ReceiverDispatcher;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIILjava/lang/String;)V HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->getRunnable()Ljava/lang/Runnable; -HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->lambda$getRunnable$0()V+]Landroid/app/LoadedApk$ReceiverDispatcher$Args;Landroid/app/LoadedApk$ReceiverDispatcher$Args;]Landroid/content/Intent;Landroid/content/Intent;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->lambda$getRunnable$0()V HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIILjava/lang/String;)V HSPLandroid/app/LoadedApk$ReceiverDispatcher;-><init>(Landroid/app/IApplicationThread;Landroid/content/BroadcastReceiver;Landroid/content/Context;Landroid/os/Handler;Landroid/app/Instrumentation;Z)V @@ -2263,7 +2266,7 @@ HSPLandroid/app/Notification$Style;->restoreFromExtras(Landroid/os/Bundle;)V HSPLandroid/app/Notification$Style;->setBuilder(Landroid/app/Notification$Builder;)V HSPLandroid/app/Notification$Style;->validate(Landroid/content/Context;)V HSPLandroid/app/Notification;-><init>()V -HSPLandroid/app/Notification;-><init>(Landroid/os/Parcel;)V +HSPLandroid/app/Notification;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/Notification;->addFieldsFromContext(Landroid/content/Context;Landroid/app/Notification;)V HSPLandroid/app/Notification;->addFieldsFromContext(Landroid/content/pm/ApplicationInfo;Landroid/app/Notification;)V HSPLandroid/app/Notification;->areStyledNotificationsVisiblyDifferent(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z @@ -2288,7 +2291,7 @@ HSPLandroid/app/Notification;->isForegroundService()Z HSPLandroid/app/Notification;->isGroupChild()Z HSPLandroid/app/Notification;->isGroupSummary()Z HSPLandroid/app/Notification;->isMediaNotification()Z -HSPLandroid/app/Notification;->readFromParcelImpl(Landroid/os/Parcel;)V +HSPLandroid/app/Notification;->readFromParcelImpl(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/graphics/drawable/Icon$1;,Landroid/app/PendingIntent$1;,Landroid/media/AudioAttributes$1;]Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/Notification;->reduceImageSizes(Landroid/content/Context;)V HSPLandroid/app/Notification;->reduceImageSizesForRemoteView(Landroid/widget/RemoteViews;Landroid/content/Context;Z)V HSPLandroid/app/Notification;->removeTextSizeSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; @@ -2298,10 +2301,10 @@ HSPLandroid/app/Notification;->suppressAlertingDueToGrouping()Z HSPLandroid/app/Notification;->toString()Ljava/lang/String; HSPLandroid/app/Notification;->visibilityToString(I)Ljava/lang/String; HSPLandroid/app/Notification;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/app/Notification;->writeToParcelImpl(Landroid/os/Parcel;I)V +HSPLandroid/app/Notification;->writeToParcelImpl(Landroid/os/Parcel;I)V+]Landroid/app/PendingIntent;Landroid/app/PendingIntent;]Landroid/media/AudioAttributes;Landroid/media/AudioAttributes;]Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/NotificationChannel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/NotificationChannel; -HSPLandroid/app/NotificationChannel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/app/NotificationChannel;-><init>(Landroid/os/Parcel;)V +HSPLandroid/app/NotificationChannel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/app/NotificationChannel$1;Landroid/app/NotificationChannel$1; +HSPLandroid/app/NotificationChannel;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/net/Uri$1;,Landroid/media/AudioAttributes$1;]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/net/Uri;Landroid/net/Uri$StringUri; HSPLandroid/app/NotificationChannel;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V HSPLandroid/app/NotificationChannel;->canBubble()Z HSPLandroid/app/NotificationChannel;->canBypassDnd()Z @@ -2320,7 +2323,7 @@ HSPLandroid/app/NotificationChannel;->getLockscreenVisibility()I HSPLandroid/app/NotificationChannel;->getName()Ljava/lang/CharSequence; HSPLandroid/app/NotificationChannel;->getOriginalImportance()I HSPLandroid/app/NotificationChannel;->getSound()Landroid/net/Uri; -HSPLandroid/app/NotificationChannel;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/app/NotificationChannel;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/app/NotificationChannel;->getUserLockedFields()I HSPLandroid/app/NotificationChannel;->getVibrationPattern()[J HSPLandroid/app/NotificationChannel;->hasUserSetImportance()Z @@ -2363,7 +2366,7 @@ HSPLandroid/app/NotificationManager;->areNotificationsEnabled()Z HSPLandroid/app/NotificationManager;->cancel(I)V HSPLandroid/app/NotificationManager;->cancel(Ljava/lang/String;I)V HSPLandroid/app/NotificationManager;->cancelAll()V -HSPLandroid/app/NotificationManager;->cancelAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)V+]Landroid/app/INotificationManager;Landroid/app/INotificationManager$Stub$Proxy;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;]Landroid/os/UserHandle;Landroid/os/UserHandle; +HSPLandroid/app/NotificationManager;->cancelAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)V HSPLandroid/app/NotificationManager;->createNotificationChannel(Landroid/app/NotificationChannel;)V HSPLandroid/app/NotificationManager;->createNotificationChannelGroup(Landroid/app/NotificationChannelGroup;)V HSPLandroid/app/NotificationManager;->createNotificationChannelGroups(Ljava/util/List;)V @@ -2386,6 +2389,7 @@ HSPLandroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V HSPLandroid/app/NotificationManager;->notify(Ljava/lang/String;ILandroid/app/Notification;)V HSPLandroid/app/NotificationManager;->notifyAsUser(Ljava/lang/String;ILandroid/app/Notification;Landroid/os/UserHandle;)V HSPLandroid/app/NotificationManager;->zenModeToInterruptionFilter(I)I +HSPLandroid/app/PendingIntent$$ExternalSyntheticLambda3;->get()Ljava/lang/Object; HSPLandroid/app/PendingIntent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/PendingIntent; HSPLandroid/app/PendingIntent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/app/PendingIntent$FinishedDispatcher;-><init>(Landroid/app/PendingIntent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;)V @@ -2443,7 +2447,7 @@ HSPLandroid/app/PictureInPictureParams$1;->createFromParcel(Landroid/os/Parcel;) HSPLandroid/app/PictureInPictureParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/app/PictureInPictureParams;-><init>(Landroid/os/Parcel;)V HSPLandroid/app/PropertyInvalidatedCache$1;-><init>(Landroid/app/PropertyInvalidatedCache;IFZ)V -HSPLandroid/app/PropertyInvalidatedCache$1;->removeEldestEntry(Ljava/util/Map$Entry;)Z+]Landroid/app/PropertyInvalidatedCache$1;Landroid/app/PropertyInvalidatedCache$1; +HSPLandroid/app/PropertyInvalidatedCache$1;->removeEldestEntry(Ljava/util/Map$Entry;)Z HSPLandroid/app/PropertyInvalidatedCache$DefaultComputer;-><init>(Landroid/app/PropertyInvalidatedCache;)V HSPLandroid/app/PropertyInvalidatedCache$NoPreloadHolder;-><clinit>()V HSPLandroid/app/PropertyInvalidatedCache$NoPreloadHolder;->next()J @@ -2470,7 +2474,7 @@ HSPLandroid/app/PropertyInvalidatedCache;->invalidateCacheLocked(Ljava/lang/Stri HSPLandroid/app/PropertyInvalidatedCache;->isDisabled()Z HSPLandroid/app/PropertyInvalidatedCache;->isReservedNonce(J)Z HSPLandroid/app/PropertyInvalidatedCache;->maybeCheckConsistency(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/app/PropertyInvalidatedCache;->query(Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/app/PropertyInvalidatedCache;megamorphic_types]Ljava/util/LinkedHashMap;Landroid/app/PropertyInvalidatedCache$1; +HSPLandroid/app/PropertyInvalidatedCache;->query(Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Landroid/app/PropertyInvalidatedCache$1;]Landroid/app/PropertyInvalidatedCache;megamorphic_types HSPLandroid/app/PropertyInvalidatedCache;->recompute(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/app/PropertyInvalidatedCache;->refresh(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/app/PropertyInvalidatedCache;->registerCache()V @@ -2539,7 +2543,7 @@ HSPLandroid/app/ResourcesManager;->createResources(Landroid/content/res/Resource HSPLandroid/app/ResourcesManager;->createResourcesForActivity(Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Landroid/content/res/Configuration;Ljava/lang/Integer;Ljava/lang/ClassLoader;Landroid/app/ResourcesManager$ApkAssetsSupplier;)Landroid/content/res/Resources; HSPLandroid/app/ResourcesManager;->createResourcesForActivityLocked(Landroid/os/IBinder;Landroid/content/res/Configuration;Ljava/lang/Integer;Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources; HSPLandroid/app/ResourcesManager;->createResourcesImpl(Landroid/content/res/ResourcesKey;Landroid/app/ResourcesManager$ApkAssetsSupplier;)Landroid/content/res/ResourcesImpl; -HSPLandroid/app/ResourcesManager;->createResourcesLocked(Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources; +HSPLandroid/app/ResourcesManager;->createResourcesLocked(Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;+]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/app/ResourcesManager;->extractApkKeys(Landroid/content/res/ResourcesKey;)Ljava/util/ArrayList;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/app/ResourcesManager;->findKeyForResourceImplLocked(Landroid/content/res/ResourcesImpl;)Landroid/content/res/ResourcesKey; HSPLandroid/app/ResourcesManager;->findOrCreateResourcesImplForKeyLocked(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl; @@ -2561,7 +2565,7 @@ HSPLandroid/app/ResourcesManager;->initializeApplicationPaths(Ljava/lang/String; HSPLandroid/app/ResourcesManager;->isSameResourcesOverrideConfig(Landroid/os/IBinder;Landroid/content/res/Configuration;)Z HSPLandroid/app/ResourcesManager;->lambda$cleanupReferences$1(Ljava/util/function/Function;Ljava/util/HashSet;Ljava/lang/Object;)Z HSPLandroid/app/ResourcesManager;->lambda$createResourcesForActivityLocked$0(Landroid/app/ResourcesManager$ActivityResource;)Ljava/lang/ref/WeakReference; -HSPLandroid/app/ResourcesManager;->loadApkAssets(Landroid/app/ResourcesManager$ApkKey;)Landroid/content/res/ApkAssets;+]Landroid/content/res/ApkAssets;Landroid/content/res/ApkAssets;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/app/ResourcesManager;->loadApkAssets(Landroid/app/ResourcesManager$ApkKey;)Landroid/content/res/ApkAssets; HSPLandroid/app/ResourcesManager;->overlayPathToIdmapPath(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/app/ResourcesManager;->rebaseActivityOverrideConfig(Landroid/app/ResourcesManager$ActivityResource;Landroid/content/res/Configuration;I)Landroid/content/res/ResourcesKey; HSPLandroid/app/ResourcesManager;->rebaseKeyForActivity(Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Z)V @@ -2613,7 +2617,7 @@ HSPLandroid/app/SharedPreferencesImpl$EditorImpl;-><init>(Landroid/app/SharedPre HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->apply()V HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->clear()Landroid/content/SharedPreferences$Editor; HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->commit()Z -HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->commitToMemory()Landroid/app/SharedPreferencesImpl$MemoryCommitResult; +HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->commitToMemory()Landroid/app/SharedPreferencesImpl$MemoryCommitResult;+]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/lang/Object;Ljava/lang/String;,Ljava/lang/Boolean;,Ljava/lang/Long;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/Set;Ljava/util/HashMap$EntrySet; HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->notifyListeners(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;)V HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->putFloat(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor; @@ -2658,7 +2662,7 @@ HSPLandroid/app/SharedPreferencesImpl;->registerOnSharedPreferenceChangeListener HSPLandroid/app/SharedPreferencesImpl;->startLoadFromDisk()V HSPLandroid/app/SharedPreferencesImpl;->startReloadIfChangedUnexpectedly()V HSPLandroid/app/SharedPreferencesImpl;->unregisterOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V -HSPLandroid/app/SharedPreferencesImpl;->writeToFile(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V +HSPLandroid/app/SharedPreferencesImpl;->writeToFile(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V+]Ljava/io/File;Ljava/io/File;]Lcom/android/internal/util/ExponentiallyBucketedHistogram;Lcom/android/internal/util/ExponentiallyBucketedHistogram;]Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;]Ljava/io/FileOutputStream;Ljava/io/FileOutputStream; HSPLandroid/app/StackTrace;-><init>(Ljava/lang/String;)V HSPLandroid/app/StatusBarManager;-><init>(Landroid/content/Context;)V HSPLandroid/app/SyncNotedAppOp$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/SyncNotedAppOp; @@ -2743,9 +2747,11 @@ HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager; HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Landroid/os/storage/StorageManager; HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2764,6 +2770,7 @@ HSPLandroid/app/SystemServiceRegistry$56;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$57;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$58;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$59;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$60;->createService(Landroid/app/ContextImpl;)Landroid/view/WindowManager; HSPLandroid/app/SystemServiceRegistry$60;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$61;->createService(Landroid/app/ContextImpl;)Landroid/os/UserManager; HSPLandroid/app/SystemServiceRegistry$61;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2774,6 +2781,7 @@ HSPLandroid/app/SystemServiceRegistry$64;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$65;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$66;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$67;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$68;->createService(Landroid/app/ContextImpl;)Landroid/companion/virtual/VirtualDeviceManager;+]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLandroid/app/SystemServiceRegistry$68;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$71;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$74;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2802,7 +2810,7 @@ HSPLandroid/app/SystemServiceRegistry$97;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$98;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$99;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$9;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; -HSPLandroid/app/SystemServiceRegistry$CachedServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$CachedServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;+]Landroid/app/SystemServiceRegistry$CachedServiceFetcher;megamorphic_types]Ljava/lang/Object;[Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$StaticServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry;->createServiceCache()[Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry;->getSystemService(Landroid/app/ContextImpl;Ljava/lang/String;)Ljava/lang/Object;+]Landroid/app/SystemServiceRegistry$ServiceFetcher;megamorphic_types @@ -2857,6 +2865,7 @@ HSPLandroid/app/WindowConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Lja HSPLandroid/app/WindowConfiguration;-><init>()V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/app/WindowConfiguration;-><init>(Landroid/os/Parcel;)V HSPLandroid/app/WindowConfiguration;->activityTypeToString(I)Ljava/lang/String; +HSPLandroid/app/WindowConfiguration;->areConfigurationsEqualForDisplay(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/app/WindowConfiguration;->canReceiveKeys()Z HSPLandroid/app/WindowConfiguration;->compareTo(Landroid/app/WindowConfiguration;)I HSPLandroid/app/WindowConfiguration;->diff(Landroid/app/WindowConfiguration;Z)J+]Landroid/graphics/Rect;Landroid/graphics/Rect; @@ -2868,17 +2877,19 @@ HSPLandroid/app/WindowConfiguration;->getDisplayRotation()I HSPLandroid/app/WindowConfiguration;->getMaxBounds()Landroid/graphics/Rect; HSPLandroid/app/WindowConfiguration;->getRotation()I HSPLandroid/app/WindowConfiguration;->getWindowingMode()I +HSPLandroid/app/WindowConfiguration;->hasWindowDecorCaption()Z HSPLandroid/app/WindowConfiguration;->hasWindowShadow()Z HSPLandroid/app/WindowConfiguration;->inMultiWindowMode(I)Z HSPLandroid/app/WindowConfiguration;->isFloating(I)Z -HSPLandroid/app/WindowConfiguration;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/WindowConfiguration;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/app/WindowConfiguration;->setActivityType(I)V HSPLandroid/app/WindowConfiguration;->setAlwaysOnTop(I)V -HSPLandroid/app/WindowConfiguration;->setAppBounds(IIII)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; -HSPLandroid/app/WindowConfiguration;->setAppBounds(Landroid/graphics/Rect;)V -HSPLandroid/app/WindowConfiguration;->setBounds(Landroid/graphics/Rect;)V +HSPLandroid/app/WindowConfiguration;->setAppBounds(IIII)V +HSPLandroid/app/WindowConfiguration;->setAppBounds(Landroid/graphics/Rect;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HSPLandroid/app/WindowConfiguration;->setBounds(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/app/WindowConfiguration;->setDisplayRotation(I)V -HSPLandroid/app/WindowConfiguration;->setMaxBounds(Landroid/graphics/Rect;)V +HSPLandroid/app/WindowConfiguration;->setDisplayWindowingMode(I)V +HSPLandroid/app/WindowConfiguration;->setMaxBounds(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/app/WindowConfiguration;->setRotation(I)V HSPLandroid/app/WindowConfiguration;->setTo(Landroid/app/WindowConfiguration;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/app/WindowConfiguration;->setTo(Landroid/app/WindowConfiguration;I)V @@ -2887,7 +2898,7 @@ HSPLandroid/app/WindowConfiguration;->setWindowingMode(I)V HSPLandroid/app/WindowConfiguration;->tasksAreFloating()Z HSPLandroid/app/WindowConfiguration;->toString()Ljava/lang/String; HSPLandroid/app/WindowConfiguration;->unset()V -HSPLandroid/app/WindowConfiguration;->updateFrom(Landroid/app/WindowConfiguration;)I+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/app/WindowConfiguration;->updateFrom(Landroid/app/WindowConfiguration;)I+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/app/WindowConfiguration;->windowingModeToString(I)Ljava/lang/String; HSPLandroid/app/WindowConfiguration;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/app/admin/DevicePolicyManager$$ExternalSyntheticLambda5;-><init>(Landroid/app/admin/DevicePolicyManager;)V @@ -3153,10 +3164,10 @@ HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Landroid/app/job/J HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/app/job/JobInfo$TriggerContentUri;-><init>(Landroid/net/Uri;I)V HSPLandroid/app/job/JobInfo$TriggerContentUri;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/app/job/JobInfo;-><init>(Landroid/app/job/JobInfo$Builder;)V +HSPLandroid/app/job/JobInfo;-><init>(Landroid/app/job/JobInfo$Builder;)V+]Landroid/os/PersistableBundle;Landroid/os/PersistableBundle;]Landroid/os/Bundle;Landroid/os/Bundle; HSPLandroid/app/job/JobInfo;-><init>(Landroid/app/job/JobInfo$Builder;Landroid/app/job/JobInfo-IA;)V -HSPLandroid/app/job/JobInfo;-><init>(Landroid/os/Parcel;)V -HSPLandroid/app/job/JobInfo;->enforceValidity(ZZZZ)V+]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/net/NetworkRequest;Landroid/net/NetworkRequest;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/app/job/JobInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/net/NetworkRequest$1;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/job/JobInfo;->enforceValidity(ZZZZ)V+]Landroid/net/NetworkRequest;Landroid/net/NetworkRequest;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLandroid/app/job/JobInfo;->getExtras()Landroid/os/PersistableBundle; HSPLandroid/app/job/JobInfo;->getFlags()I HSPLandroid/app/job/JobInfo;->getFlexMillis()J @@ -3175,7 +3186,7 @@ HSPLandroid/app/job/JobInfo;->isPersisted()Z HSPLandroid/app/job/JobInfo;->isRequireCharging()Z HSPLandroid/app/job/JobInfo;->isRequireDeviceIdle()Z HSPLandroid/app/job/JobInfo;->validateTraceTag(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/app/job/JobInfo;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/app/job/JobInfo;->writeToParcel(Landroid/os/Parcel;I)V+]Landroid/net/NetworkRequest;Landroid/net/NetworkRequest;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobParameters; HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/app/job/JobParameters;-><init>(Landroid/os/Parcel;)V @@ -3263,13 +3274,14 @@ HSPLandroid/app/servertransaction/ActivityResultItem;->getPostExecutionState()I HSPLandroid/app/servertransaction/ActivityTransactionItem;-><init>()V HSPLandroid/app/servertransaction/ClientTransaction$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ClientTransaction; HSPLandroid/app/servertransaction/ClientTransaction$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/app/servertransaction/ClientTransaction;-><init>(Landroid/os/Parcel;)V+]Landroid/app/servertransaction/ClientTransactionItem;megamorphic_types]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;Landroid/app/servertransaction/ClientTransaction;]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/app/servertransaction/ClientTransaction;-><init>(Landroid/os/Parcel;)V HSPLandroid/app/servertransaction/ClientTransaction;-><init>(Landroid/os/Parcel;Landroid/app/servertransaction/ClientTransaction-IA;)V HSPLandroid/app/servertransaction/ClientTransaction;->getCallbacks()Ljava/util/List; HSPLandroid/app/servertransaction/ClientTransaction;->getLifecycleStateRequest()Landroid/app/servertransaction/ActivityLifecycleItem; -HSPLandroid/app/servertransaction/ClientTransaction;->preExecute(Landroid/app/ClientTransactionHandler;)V+]Landroid/app/servertransaction/ClientTransactionItem;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/app/servertransaction/ClientTransaction;->preExecute(Landroid/app/ClientTransactionHandler;)V HSPLandroid/app/servertransaction/ClientTransactionItem;-><init>()V HSPLandroid/app/servertransaction/ClientTransactionItem;->getPostExecutionState()I +HSPLandroid/app/servertransaction/ClientTransactionItem;->isActivityLifecycleItem()Z HSPLandroid/app/servertransaction/ClientTransactionItem;->shouldHaveDefinedPreExecutionState()Z HSPLandroid/app/servertransaction/ConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ConfigurationChangeItem; HSPLandroid/app/servertransaction/ConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -3330,11 +3342,13 @@ HSPLandroid/app/servertransaction/TransactionExecutor;->cycleToPath(Landroid/app HSPLandroid/app/servertransaction/TransactionExecutor;->execute(Landroid/app/servertransaction/ClientTransaction;)V HSPLandroid/app/servertransaction/TransactionExecutor;->executeCallbacks(Landroid/app/servertransaction/ClientTransaction;)V HSPLandroid/app/servertransaction/TransactionExecutor;->executeLifecycleState(Landroid/app/servertransaction/ClientTransaction;)V -HSPLandroid/app/servertransaction/TransactionExecutor;->performLifecycleSequence(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/util/IntArray;Landroid/app/servertransaction/ClientTransaction;)V+]Landroid/app/ClientTransactionHandler;Landroid/app/ActivityThread;]Landroid/util/IntArray;Landroid/util/IntArray; +HSPLandroid/app/servertransaction/TransactionExecutor;->executeNonLifecycleItem(Landroid/app/servertransaction/ClientTransaction;Landroid/app/servertransaction/ClientTransactionItem;Z)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/servertransaction/TransactionExecutorHelper;Landroid/app/servertransaction/TransactionExecutorHelper;]Landroid/app/ClientTransactionHandler;Landroid/app/ActivityThread;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/app/servertransaction/ClientTransactionItem;megamorphic_types]Landroid/content/Context;missing_types]Ljava/util/Map;Ljava/util/Collections$SynchronizedMap;]Landroid/app/servertransaction/TransactionExecutor;Landroid/app/servertransaction/TransactionExecutor; +HSPLandroid/app/servertransaction/TransactionExecutor;->executeTransactionItems(Landroid/app/servertransaction/ClientTransaction;)V+]Landroid/app/servertransaction/ClientTransaction;Landroid/app/servertransaction/ClientTransaction;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/servertransaction/ClientTransactionItem;megamorphic_types +HSPLandroid/app/servertransaction/TransactionExecutor;->performLifecycleSequence(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/util/IntArray;Landroid/app/servertransaction/ClientTransaction;)V HSPLandroid/app/servertransaction/TransactionExecutorHelper;-><init>()V HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getClosestOfStates(Landroid/app/ActivityThread$ActivityClientRecord;[I)I HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getClosestPreExecutionState(Landroid/app/ActivityThread$ActivityClientRecord;I)I -HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getLifecyclePath(IIZ)Landroid/util/IntArray;+]Landroid/util/IntArray;Landroid/util/IntArray; +HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getLifecyclePath(IIZ)Landroid/util/IntArray; HSPLandroid/app/servertransaction/TransactionExecutorHelper;->lastCallbackRequestingState(Landroid/app/servertransaction/ClientTransaction;)I HSPLandroid/app/slice/ISliceManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri; @@ -3426,10 +3440,10 @@ HSPLandroid/app/usage/UsageEvents$Event;->getTimeStamp()J HSPLandroid/app/usage/UsageEvents;-><init>(Landroid/os/Parcel;)V HSPLandroid/app/usage/UsageEvents;->getNextEvent(Landroid/app/usage/UsageEvents$Event;)Z HSPLandroid/app/usage/UsageEvents;->hasNextEvent()Z -HSPLandroid/app/usage/UsageEvents;->readEventFromParcel(Landroid/os/Parcel;Landroid/app/usage/UsageEvents$Event;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;Landroid/content/res/Configuration$1; -HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/UsageStats;+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; -HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/app/usage/UsageStats$1;Landroid/app/usage/UsageStats$1; -HSPLandroid/app/usage/UsageStats$1;->readBundleToEventMap(Landroid/os/Bundle;Landroid/util/ArrayMap;)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; +HSPLandroid/app/usage/UsageEvents;->readEventFromParcel(Landroid/os/Parcel;Landroid/app/usage/UsageEvents$Event;)V +HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/UsageStats;+]Landroid/os/Bundle;Landroid/os/Bundle;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; +HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/app/usage/UsageStats$1;->readBundleToEventMap(Landroid/os/Bundle;Landroid/util/ArrayMap;)V HSPLandroid/app/usage/UsageStats;-><init>()V HSPLandroid/app/usage/UsageStats;->getPackageName()Ljava/lang/String; HSPLandroid/app/usage/UsageStats;->update(Ljava/lang/String;JII)V @@ -3452,7 +3466,7 @@ HSPLandroid/appwidget/AppWidgetProvider;-><init>()V HSPLandroid/appwidget/AppWidgetProvider;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLandroid/appwidget/AppWidgetProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/appwidget/AppWidgetProviderInfo; HSPLandroid/appwidget/AppWidgetProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/appwidget/AppWidgetProviderInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/appwidget/AppWidgetProviderInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/appwidget/AppWidgetProviderInfo;->getProfile()Landroid/os/UserHandle; HSPLandroid/appwidget/AppWidgetProviderInfo;->updateDimensions(Landroid/util/DisplayMetrics;)V HSPLandroid/appwidget/AppWidgetProviderInfo;->writeToParcel(Landroid/os/Parcel;I)V @@ -3463,6 +3477,10 @@ HSPLandroid/companion/virtual/IVirtualDeviceManager$Stub$Proxy;->getDeviceIdForD HSPLandroid/companion/virtual/IVirtualDeviceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/companion/virtual/IVirtualDeviceManager; HSPLandroid/companion/virtual/VirtualDeviceManager;-><init>(Landroid/companion/virtual/IVirtualDeviceManager;Landroid/content/Context;)V HSPLandroid/companion/virtual/VirtualDeviceManager;->getDeviceIdForDisplayId(I)I +HSPLandroid/companion/virtual/flags/FeatureFlagsImpl;-><init>()V +HSPLandroid/companion/virtual/flags/FeatureFlagsImpl;->enableNativeVdm()Z +HSPLandroid/companion/virtual/flags/Flags;-><clinit>()V +HSPLandroid/companion/virtual/flags/Flags;->enableNativeVdm()Z+]Landroid/companion/virtual/flags/FeatureFlags;Landroid/companion/virtual/flags/FeatureFlagsImpl; HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->cancelSync(Landroid/content/ISyncContext;)V HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->isCallerSystem()Z HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V @@ -3489,6 +3507,7 @@ HSPLandroid/content/AttributionSource$ScopedParcelState;->close()V HSPLandroid/content/AttributionSource$ScopedParcelState;->getParcel()Landroid/os/Parcel; HSPLandroid/content/AttributionSource;-><clinit>()V HSPLandroid/content/AttributionSource;-><init>(IILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;[Ljava/lang/String;ILandroid/content/AttributionSource;)V +HSPLandroid/content/AttributionSource;-><init>(IILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;[Ljava/lang/String;Landroid/content/AttributionSource;)V HSPLandroid/content/AttributionSource;-><init>(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;ILandroid/content/AttributionSource;)V HSPLandroid/content/AttributionSource;-><init>(ILjava/lang/String;Ljava/lang/String;)V HSPLandroid/content/AttributionSource;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;)V @@ -3600,20 +3619,22 @@ HSPLandroid/content/ComponentName;->getClassName()Ljava/lang/String; HSPLandroid/content/ComponentName;->getPackageName()Ljava/lang/String; HSPLandroid/content/ComponentName;->getShortClassName()Ljava/lang/String; HSPLandroid/content/ComponentName;->hashCode()I -HSPLandroid/content/ComponentName;->readFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/ComponentName;->readFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName; HSPLandroid/content/ComponentName;->toShortString()Ljava/lang/String; HSPLandroid/content/ComponentName;->toString()Ljava/lang/String; -HSPLandroid/content/ComponentName;->unflattenFromString(Ljava/lang/String;)Landroid/content/ComponentName; +HSPLandroid/content/ComponentName;->unflattenFromString(Ljava/lang/String;)Landroid/content/ComponentName;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String; HSPLandroid/content/ComponentName;->writeToParcel(Landroid/content/ComponentName;Landroid/os/Parcel;)V HSPLandroid/content/ComponentName;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions; HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda1;-><init>()V HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda1;->apply(I)Ljava/lang/Object; +HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda2;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->-$$Nest$smcreateFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions$ContentProtectionOptions; HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;-><init>(ZILjava/util/List;Ljava/util/List;I)V HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions$ContentProtectionOptions; -HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->createGroupsFromParcel(Landroid/os/Parcel;)Ljava/util/List;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/stream/IntStream;Ljava/util/stream/IntPipeline$Head;]Ljava/util/stream/Stream;Ljava/util/stream/IntPipeline$4;,Ljava/util/stream/ReferencePipeline$11; +HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->createGroupsFromParcel(Landroid/os/Parcel;)Ljava/util/List;+]Ljava/util/stream/Stream;Ljava/util/stream/IntPipeline$4;,Ljava/util/stream/ReferencePipeline$11;,Ljava/util/stream/ReferencePipeline$15;,Ljava/util/stream/IntPipeline$1;]Ljava/util/stream/IntStream;Ljava/util/stream/IntPipeline$Head;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->lambda$createGroupsFromParcel$0(I)Ljava/util/ArrayList; HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->writeToParcel(Landroid/os/Parcel;)V HSPLandroid/content/ContentCaptureOptions;-><init>(IIIIILandroid/util/ArraySet;)V @@ -3648,6 +3669,7 @@ HSPLandroid/content/ContentProvider;->checkUser(IILandroid/content/Context;)Z HSPLandroid/content/ContentProvider;->clearCallingIdentity()Landroid/content/ContentProvider$CallingIdentity; HSPLandroid/content/ContentProvider;->coerceToLocalContentProvider(Landroid/content/IContentProvider;)Landroid/content/ContentProvider; HSPLandroid/content/ContentProvider;->delete(Landroid/net/Uri;Landroid/os/Bundle;)I +HSPLandroid/content/ContentProvider;->deniedAccessSystemUserOnlyProvider(IZ)Z HSPLandroid/content/ContentProvider;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V HSPLandroid/content/ContentProvider;->enforceReadPermissionInner(Landroid/net/Uri;Landroid/content/AttributionSource;)I HSPLandroid/content/ContentProvider;->enforceWritePermissionInner(Landroid/net/Uri;Landroid/content/AttributionSource;)I @@ -3724,7 +3746,7 @@ HSPLandroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/Stri HSPLandroid/content/ContentProviderOperation$Builder;->withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder; HSPLandroid/content/ContentProviderOperation;-><init>(Landroid/content/ContentProviderOperation$Builder;)V HSPLandroid/content/ContentProviderOperation;->apply(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult; -HSPLandroid/content/ContentProviderOperation;->applyInternal(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult; +HSPLandroid/content/ContentProviderOperation;->applyInternal(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;+]Landroid/content/ContentProviderOperation;Landroid/content/ContentProviderOperation; HSPLandroid/content/ContentProviderOperation;->getUri()Landroid/net/Uri; HSPLandroid/content/ContentProviderOperation;->isInsert()Z HSPLandroid/content/ContentProviderOperation;->isReadOperation()Z @@ -3736,7 +3758,7 @@ HSPLandroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landr HSPLandroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder; HSPLandroid/content/ContentProviderOperation;->resolveExtrasBackReferences([Landroid/content/ContentProviderResult;I)Landroid/os/Bundle; HSPLandroid/content/ContentProviderOperation;->resolveSelectionArgsBackReferences([Landroid/content/ContentProviderResult;I)[Ljava/lang/String; -HSPLandroid/content/ContentProviderOperation;->resolveValueBackReferences([Landroid/content/ContentProviderResult;I)Landroid/content/ContentValues; +HSPLandroid/content/ContentProviderOperation;->resolveValueBackReferences([Landroid/content/ContentProviderResult;I)Landroid/content/ContentValues;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/ContentValues;Landroid/content/ContentValues; HSPLandroid/content/ContentProviderOperation;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/ContentProviderProxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/content/ContentProviderProxy;->asBinder()Landroid/os/IBinder; @@ -3745,7 +3767,7 @@ HSPLandroid/content/ContentProviderProxy;->createCancellationSignal()Landroid/os HSPLandroid/content/ContentProviderProxy;->delete(Landroid/content/AttributionSource;Landroid/net/Uri;Landroid/os/Bundle;)I HSPLandroid/content/ContentProviderProxy;->insert(Landroid/content/AttributionSource;Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri; HSPLandroid/content/ContentProviderProxy;->openTypedAssetFile(Landroid/content/AttributionSource;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor; -HSPLandroid/content/ContentProviderProxy;->query(Landroid/content/AttributionSource;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor; +HSPLandroid/content/ContentProviderProxy;->query(Landroid/content/AttributionSource;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;+]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Landroid/os/Parcelable$Creator;Landroid/database/BulkCursorDescriptor$1;]Landroid/database/IBulkCursor;Landroid/database/BulkCursorProxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/ICancellationSignal;Landroid/os/ICancellationSignal$Stub$Proxy;]Landroid/database/BulkCursorToCursorAdaptor;Landroid/database/BulkCursorToCursorAdaptor;]Landroid/database/IContentObserver;Landroid/database/ContentObserver$Transport;]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; HSPLandroid/content/ContentProviderProxy;->update(Landroid/content/AttributionSource;Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I HSPLandroid/content/ContentProviderResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentProviderResult; HSPLandroid/content/ContentProviderResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -3862,7 +3884,7 @@ HSPLandroid/content/ContentValues;->putNull(Ljava/lang/String;)V HSPLandroid/content/ContentValues;->putObject(Ljava/lang/String;Ljava/lang/Object;)V HSPLandroid/content/ContentValues;->remove(Ljava/lang/String;)V HSPLandroid/content/ContentValues;->size()I -HSPLandroid/content/ContentValues;->toString()Ljava/lang/String;+]Landroid/content/ContentValues;Landroid/content/ContentValues;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; +HSPLandroid/content/ContentValues;->toString()Ljava/lang/String; HSPLandroid/content/ContentValues;->valueSet()Ljava/util/Set; HSPLandroid/content/ContentValues;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/Context;-><init>()V @@ -3876,11 +3898,11 @@ HSPLandroid/content/Context;->getString(I[Ljava/lang/Object;)Ljava/lang/String; HSPLandroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/content/Context;->getText(I)Ljava/lang/CharSequence; HSPLandroid/content/Context;->getToken(Landroid/content/Context;)Landroid/os/IBinder; -HSPLandroid/content/Context;->isAutofillCompatibilityEnabled()Z+]Landroid/content/Context;missing_types -HSPLandroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;+]Landroid/content/Context;missing_types]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme; -HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme; -HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/Context;missing_types]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme; -HSPLandroid/content/Context;->obtainStyledAttributes([I)Landroid/content/res/TypedArray;+]Landroid/content/Context;missing_types]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme; +HSPLandroid/content/Context;->isAutofillCompatibilityEnabled()Z +HSPLandroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray; +HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; +HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/Context;missing_types +HSPLandroid/content/Context;->obtainStyledAttributes([I)Landroid/content/res/TypedArray; HSPLandroid/content/Context;->registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V HSPLandroid/content/Context;->unregisterComponentCallbacks(Landroid/content/ComponentCallbacks;)V HSPLandroid/content/ContextParams$Builder;-><init>()V @@ -3927,25 +3949,25 @@ HSPLandroid/content/ContextWrapper;->enforceCallingPermission(Ljava/lang/String; HSPLandroid/content/ContextWrapper;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V HSPLandroid/content/ContextWrapper;->fileList()[Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getActivityToken()Landroid/os/IBinder; -HSPLandroid/content/ContextWrapper;->getApplicationContext()Landroid/content/Context;+]Landroid/content/Context;missing_types +HSPLandroid/content/ContextWrapper;->getApplicationContext()Landroid/content/Context; HSPLandroid/content/ContextWrapper;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getAssets()Landroid/content/res/AssetManager; HSPLandroid/content/ContextWrapper;->getAttributionSource()Landroid/content/AttributionSource; HSPLandroid/content/ContextWrapper;->getAttributionTag()Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient; -HSPLandroid/content/ContextWrapper;->getAutofillOptions()Landroid/content/AutofillOptions;+]Landroid/content/Context;missing_types +HSPLandroid/content/ContextWrapper;->getAutofillOptions()Landroid/content/AutofillOptions; HSPLandroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context; HSPLandroid/content/ContextWrapper;->getBasePackageName()Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getCacheDir()Ljava/io/File; HSPLandroid/content/ContextWrapper;->getClassLoader()Ljava/lang/ClassLoader; HSPLandroid/content/ContextWrapper;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions; -HSPLandroid/content/ContextWrapper;->getContentResolver()Landroid/content/ContentResolver; +HSPLandroid/content/ContextWrapper;->getContentResolver()Landroid/content/ContentResolver;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getDataDir()Ljava/io/File; HSPLandroid/content/ContextWrapper;->getDatabasePath(Ljava/lang/String;)Ljava/io/File; HSPLandroid/content/ContextWrapper;->getDeviceId()I HSPLandroid/content/ContextWrapper;->getDir(Ljava/lang/String;I)Ljava/io/File; HSPLandroid/content/ContextWrapper;->getDisplay()Landroid/view/Display; -HSPLandroid/content/ContextWrapper;->getDisplayId()I +HSPLandroid/content/ContextWrapper;->getDisplayId()I+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getDisplayNoVerify()Landroid/view/Display; HSPLandroid/content/ContextWrapper;->getExternalCacheDir()Ljava/io/File; HSPLandroid/content/ContextWrapper;->getExternalCacheDirs()[Ljava/io/File; @@ -3961,21 +3983,21 @@ HSPLandroid/content/ContextWrapper;->getNextAutofillId()I HSPLandroid/content/ContextWrapper;->getNoBackupFilesDir()Ljava/io/File; HSPLandroid/content/ContextWrapper;->getOpPackageName()Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getPackageCodePath()Ljava/lang/String; -HSPLandroid/content/ContextWrapper;->getPackageManager()Landroid/content/pm/PackageManager; +HSPLandroid/content/ContextWrapper;->getPackageManager()Landroid/content/pm/PackageManager;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getPackageName()Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getPackageResourcePath()Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getResources()Landroid/content/res/Resources; -HSPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; +HSPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File; -HSPLandroid/content/ContextWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; +HSPLandroid/content/ContextWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getSystemServiceName(Ljava/lang/Class;)Ljava/lang/String;+]Landroid/content/Context;missing_types -HSPLandroid/content/ContextWrapper;->getTheme()Landroid/content/res/Resources$Theme; +HSPLandroid/content/ContextWrapper;->getTheme()Landroid/content/res/Resources$Theme;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getUser()Landroid/os/UserHandle; HSPLandroid/content/ContextWrapper;->getUserId()I HSPLandroid/content/ContextWrapper;->getWindowContextToken()Landroid/os/IBinder; HSPLandroid/content/ContextWrapper;->grantUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V HSPLandroid/content/ContextWrapper;->isDeviceProtectedStorage()Z -HSPLandroid/content/ContextWrapper;->isRestricted()Z+]Landroid/content/Context;missing_types +HSPLandroid/content/ContextWrapper;->isRestricted()Z HSPLandroid/content/ContextWrapper;->isUiContext()Z HSPLandroid/content/ContextWrapper;->openFileInput(Ljava/lang/String;)Ljava/io/FileInputStream; HSPLandroid/content/ContextWrapper;->openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream; @@ -4061,7 +4083,7 @@ HSPLandroid/content/Intent;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/Intent;-><init>(Ljava/lang/String;)V HSPLandroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V HSPLandroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;Landroid/content/Context;Ljava/lang/Class;)V -HSPLandroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLandroid/content/Intent;->addFlags(I)Landroid/content/Intent; HSPLandroid/content/Intent;->cloneFilter()Landroid/content/Intent; HSPLandroid/content/Intent;->filterEquals(Landroid/content/Intent;)Z @@ -4126,8 +4148,8 @@ HSPLandroid/content/Intent;->putExtras(Landroid/content/Intent;)Landroid/content HSPLandroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent; HSPLandroid/content/Intent;->putParcelableArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent; HSPLandroid/content/Intent;->putStringArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent; -HSPLandroid/content/Intent;->readFromParcel(Landroid/os/Parcel;)V -HSPLandroid/content/Intent;->removeCategory(Ljava/lang/String;)V +HSPLandroid/content/Intent;->readFromParcel(Landroid/os/Parcel;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/os/Parcelable$Creator;Landroid/net/Uri$1;,Landroid/graphics/Rect$1;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/content/Intent;Landroid/content/Intent; +HSPLandroid/content/Intent;->removeCategory(Ljava/lang/String;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLandroid/content/Intent;->removeExtra(Ljava/lang/String;)V HSPLandroid/content/Intent;->replaceExtras(Landroid/os/Bundle;)Landroid/content/Intent; HSPLandroid/content/Intent;->resolveActivity(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName; @@ -4152,13 +4174,13 @@ HSPLandroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Inte HSPLandroid/content/Intent;->setSelector(Landroid/content/Intent;)V HSPLandroid/content/Intent;->setSourceBounds(Landroid/graphics/Rect;)V HSPLandroid/content/Intent;->setType(Ljava/lang/String;)Landroid/content/Intent; -HSPLandroid/content/Intent;->toShortString(Ljava/lang/StringBuilder;ZZZZ)V +HSPLandroid/content/Intent;->toShortString(Ljava/lang/StringBuilder;ZZZZ)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLandroid/content/Intent;->toString()Ljava/lang/String; HSPLandroid/content/Intent;->toString(Ljava/lang/StringBuilder;)V HSPLandroid/content/Intent;->toUri(I)Ljava/lang/String; HSPLandroid/content/Intent;->toUriFragment(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V HSPLandroid/content/Intent;->toUriInner(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V -HSPLandroid/content/Intent;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/content/Intent;->writeToParcel(Landroid/os/Parcel;I)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/IntentFilter$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V HSPLandroid/content/IntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/IntentFilter; HSPLandroid/content/IntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -4222,7 +4244,7 @@ HSPLandroid/content/IntentFilter;->setOrder(I)V HSPLandroid/content/IntentFilter;->setPriority(I)V HSPLandroid/content/IntentFilter;->setVisibilityToInstantApp(I)V HSPLandroid/content/IntentFilter;->typesIterator()Ljava/util/Iterator; -HSPLandroid/content/IntentFilter;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/content/IntentFilter;->writeToParcel(Landroid/os/Parcel;I)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/IntentSender;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/LocusId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/LocusId; HSPLandroid/content/LocusId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -4298,7 +4320,7 @@ HSPLandroid/content/UriMatcher;-><init>(I)V HSPLandroid/content/UriMatcher;-><init>(ILjava/lang/String;)V HSPLandroid/content/UriMatcher;->addURI(Ljava/lang/String;Ljava/lang/String;I)V HSPLandroid/content/UriMatcher;->createChild(Ljava/lang/String;)Landroid/content/UriMatcher; -HSPLandroid/content/UriMatcher;->match(Landroid/net/Uri;)I +HSPLandroid/content/UriMatcher;->match(Landroid/net/Uri;)I+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/Object;Ljava/lang/String;]Ljava/util/List;Landroid/net/Uri$PathSegments;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri; HSPLandroid/content/om/OverlayInfo;->ensureValidState()V HSPLandroid/content/om/OverlayInfo;->isEnabled()Z HSPLandroid/content/pm/ActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ActivityInfo; @@ -4306,7 +4328,7 @@ HSPLandroid/content/pm/ActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Lja HSPLandroid/content/pm/ActivityInfo$1;->newArray(I)[Landroid/content/pm/ActivityInfo; HSPLandroid/content/pm/ActivityInfo$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/content/pm/ActivityInfo$WindowLayout;-><init>(Landroid/os/Parcel;)V -HSPLandroid/content/pm/ActivityInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Ljava/util/Set;Landroid/util/ArraySet; +HSPLandroid/content/pm/ActivityInfo;-><init>(Landroid/os/Parcel;)V+]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/Set;Landroid/util/ArraySet; HSPLandroid/content/pm/ActivityInfo;->activityInfoConfigNativeToJava(I)I HSPLandroid/content/pm/ActivityInfo;->getRealConfigChanged()I HSPLandroid/content/pm/ActivityInfo;->getThemeResource()I @@ -4325,7 +4347,7 @@ HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;) HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/ApplicationInfo;-><init>()V HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/content/pm/ApplicationInfo;)V -HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/os/Parcel;Landroid/os/Parcel;]Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Ljava/util/Set;Ljava/util/Collections$EmptySet; +HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;)V+]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/Set;Ljava/util/Collections$EmptySet; HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/ApplicationInfo-IA;)V HSPLandroid/content/pm/ApplicationInfo;->getAllApkPaths()[Ljava/lang/String; HSPLandroid/content/pm/ApplicationInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; @@ -4362,16 +4384,16 @@ HSPLandroid/content/pm/ApplicationInfo;->setSplitCodePaths([Ljava/lang/String;)V HSPLandroid/content/pm/ApplicationInfo;->setSplitResourcePaths([Ljava/lang/String;)V HSPLandroid/content/pm/ApplicationInfo;->setVersionCode(J)V HSPLandroid/content/pm/ApplicationInfo;->toString()Ljava/lang/String; -HSPLandroid/content/pm/ApplicationInfo;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/content/pm/ApplicationInfo;->writeToParcel(Landroid/os/Parcel;I)V+]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/UUID;Ljava/util/UUID; HSPLandroid/content/pm/Attribution$1;-><init>()V HSPLandroid/content/pm/Attribution;-><clinit>()V HSPLandroid/content/pm/BaseParceledListSlice$1;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -HSPLandroid/content/pm/BaseParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V +HSPLandroid/content/pm/BaseParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V+]Landroid/content/pm/BaseParceledListSlice;Landroid/content/pm/ParceledListSlice;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/BaseParceledListSlice;-><init>(Ljava/util/List;)V HSPLandroid/content/pm/BaseParceledListSlice;->getList()Ljava/util/List; HSPLandroid/content/pm/BaseParceledListSlice;->readCreator(Landroid/os/Parcelable$Creator;Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object; -HSPLandroid/content/pm/BaseParceledListSlice;->readVerifyAndAddElement(Landroid/os/Parcelable$Creator;Landroid/os/Parcel;Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class; -HSPLandroid/content/pm/BaseParceledListSlice;->verifySameType(Ljava/lang/Class;Ljava/lang/Class;)V+]Ljava/lang/Object;Ljava/lang/Class; +HSPLandroid/content/pm/BaseParceledListSlice;->readVerifyAndAddElement(Landroid/os/Parcelable$Creator;Landroid/os/Parcel;Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;+]Ljava/lang/Object;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/content/pm/BaseParceledListSlice;->verifySameType(Ljava/lang/Class;Ljava/lang/Class;)V HSPLandroid/content/pm/BaseParceledListSlice;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/pm/Checksum$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/Checksum; HSPLandroid/content/pm/Checksum$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -4380,12 +4402,12 @@ HSPLandroid/content/pm/Checksum;->getType()I HSPLandroid/content/pm/Checksum;->getValue()[B HSPLandroid/content/pm/ComponentInfo;-><init>()V HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/content/pm/ComponentInfo;)V -HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/content/pm/ApplicationInfo$1;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/ComponentInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; HSPLandroid/content/pm/ComponentInfo;->getComponentName()Landroid/content/ComponentName; HSPLandroid/content/pm/ComponentInfo;->getIconResource()I HSPLandroid/content/pm/ComponentInfo;->isEnabled()Z -HSPLandroid/content/pm/ComponentInfo;->loadUnsafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence; +HSPLandroid/content/pm/ComponentInfo;->loadUnsafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;+]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HSPLandroid/content/pm/ComponentInfo;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/pm/ConfigurationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ConfigurationInfo; HSPLandroid/content/pm/ConfigurationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -4394,9 +4416,13 @@ HSPLandroid/content/pm/CrossProfileApps;-><init>(Landroid/content/Context;Landro HSPLandroid/content/pm/CrossProfileApps;->getTargetUserProfiles()Ljava/util/List; HSPLandroid/content/pm/FallbackCategoryProvider;->getFallbackCategory(Ljava/lang/String;)I HSPLandroid/content/pm/FallbackCategoryProvider;->loadFallbacks()V +HSPLandroid/content/pm/FeatureFlagsImpl;-><init>()V +HSPLandroid/content/pm/FeatureFlagsImpl;->relativeReferenceIntentFilters()Z HSPLandroid/content/pm/FeatureInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/FeatureInfo; HSPLandroid/content/pm/FeatureInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/FeatureInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/Flags;-><clinit>()V +HSPLandroid/content/pm/Flags;->relativeReferenceIntentFilters()Z+]Landroid/content/pm/FeatureFlags;Landroid/content/pm/FeatureFlagsImpl; HSPLandroid/content/pm/ICrossProfileApps$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/content/pm/ICrossProfileApps$Stub$Proxy;->getTargetUserProfiles(Ljava/lang/String;)Ljava/util/List; HSPLandroid/content/pm/ICrossProfileApps$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/ICrossProfileApps; @@ -4418,15 +4444,15 @@ HSPLandroid/content/pm/IPackageManager$Stub$Proxy;-><init>(Landroid/os/IBinder;) HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getActivityInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ActivityInfo; -HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationEnabledSetting(Ljava/lang/String;I)I+]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationInfo(Ljava/lang/String;JI)Landroid/content/pm/ApplicationInfo;+]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationEnabledSetting(Ljava/lang/String;I)I+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationInfo(Ljava/lang/String;JI)Landroid/content/pm/ApplicationInfo; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledApplications(JI)Landroid/content/pm/ParceledListSlice; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledPackages(JI)Landroid/content/pm/ParceledListSlice; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getNameForUid(I)Ljava/lang/String; -HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInfo(Ljava/lang/String;JI)Landroid/content/pm/PackageInfo;+]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInfo(Ljava/lang/String;JI)Landroid/content/pm/PackageInfo;+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInstaller()Landroid/content/pm/IPackageInstaller; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageUid(Ljava/lang/String;JI)I HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesForUid(I)[Ljava/lang/String; @@ -4444,7 +4470,7 @@ HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->lambda$notifyDexLoad$1(Landr HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyDexLoad(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)V HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyPackageUse(Ljava/lang/String;I)V HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyPackagesReplacedReceived([Ljava/lang/String;)V -HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice; +HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice; @@ -4496,7 +4522,7 @@ HSPLandroid/content/pm/ModuleInfo;->getPackageName()Ljava/lang/String; HSPLandroid/content/pm/PackageInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInfo; HSPLandroid/content/pm/PackageInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/PackageInfo;-><init>()V -HSPLandroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;Landroid/content/pm/ApplicationInfo$1;,Landroid/content/pm/SigningInfo$1; +HSPLandroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/content/pm/ApplicationInfo$1;,Landroid/content/pm/SigningInfo$1;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/PackageInfo-IA;)V HSPLandroid/content/pm/PackageInfo;->composeLongVersionCode(II)J HSPLandroid/content/pm/PackageInfo;->getLongVersionCode()J @@ -4520,7 +4546,7 @@ HSPLandroid/content/pm/PackageInstaller;->getSessionInfo(I)Landroid/content/pm/P HSPLandroid/content/pm/PackageInstaller;->registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;Landroid/os/Handler;)V HSPLandroid/content/pm/PackageItemInfo;-><init>()V HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/content/pm/PackageItemInfo;)V -HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/text/TextUtils$1;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/PackageItemInfo;->forceSafeLabels()V HSPLandroid/content/pm/PackageItemInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable; HSPLandroid/content/pm/PackageItemInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence; @@ -4678,7 +4704,7 @@ HSPLandroid/content/pm/RegisteredServicesCache;->containsType(Ljava/util/ArrayLi HSPLandroid/content/pm/ResolveInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ResolveInfo; HSPLandroid/content/pm/ResolveInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/ResolveInfo;-><init>()V -HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/content/pm/ServiceInfo$1;,Landroid/content/pm/ActivityInfo$1;,Landroid/text/TextUtils$1;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/ResolveInfo-IA;)V HSPLandroid/content/pm/ResolveInfo;->getComponentInfo()Landroid/content/pm/ComponentInfo; HSPLandroid/content/pm/ResolveInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable; @@ -4691,8 +4717,8 @@ HSPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/content/pm/ServiceInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/pm/ServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SharedLibraryInfo; -HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class; +HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/content/pm/SharedLibraryInfo$1;Landroid/content/pm/SharedLibraryInfo$1; +HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/SharedLibraryInfo-IA;)V HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;JILandroid/content/pm/VersionedPackage;Ljava/util/List;Ljava/util/List;Z)V HSPLandroid/content/pm/SharedLibraryInfo;->addDependency(Landroid/content/pm/SharedLibraryInfo;)V @@ -4702,7 +4728,7 @@ HSPLandroid/content/pm/SharedLibraryInfo;->getName()Ljava/lang/String; HSPLandroid/content/pm/SharedLibraryInfo;->getPath()Ljava/lang/String; HSPLandroid/content/pm/SharedLibraryInfo;->isNative()Z HSPLandroid/content/pm/SharedLibraryInfo;->isSdk()Z -HSPLandroid/content/pm/SharedLibraryInfo;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/content/pm/SharedLibraryInfo;->writeToParcel(Landroid/os/Parcel;I)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/ShortcutInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ShortcutInfo; HSPLandroid/content/pm/ShortcutInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/ShortcutInfo$Builder;-><init>(Landroid/content/Context;Ljava/lang/String;)V @@ -4715,7 +4741,7 @@ HSPLandroid/content/pm/ShortcutInfo$Builder;->setLongLabel(Ljava/lang/CharSequen HSPLandroid/content/pm/ShortcutInfo$Builder;->setLongLived(Z)Landroid/content/pm/ShortcutInfo$Builder; HSPLandroid/content/pm/ShortcutInfo$Builder;->setRank(I)Landroid/content/pm/ShortcutInfo$Builder; HSPLandroid/content/pm/ShortcutInfo$Builder;->setShortLabel(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder; -HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo$Builder;)V +HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo$Builder;)V+]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo; HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/pm/ShortcutInfo;->addFlags(I)V HSPLandroid/content/pm/ShortcutInfo;->cloneCapabilityBindings(Ljava/util/Map;)Ljava/util/Map; @@ -4766,7 +4792,7 @@ HSPLandroid/content/pm/Signature$1;->createFromParcel(Landroid/os/Parcel;)Landro HSPLandroid/content/pm/Signature$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/Signature$1;->newArray(I)[Landroid/content/pm/Signature; HSPLandroid/content/pm/Signature$1;->newArray(I)[Ljava/lang/Object; -HSPLandroid/content/pm/Signature;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/pm/Signature;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/pm/Signature;-><init>(Landroid/os/Parcel;Landroid/content/pm/Signature-IA;)V HSPLandroid/content/pm/Signature;-><init>(Ljava/lang/String;)V HSPLandroid/content/pm/Signature;-><init>([B)V @@ -4779,11 +4805,11 @@ HSPLandroid/content/pm/Signature;->toChars([C[I)[C HSPLandroid/content/pm/Signature;->toCharsString()Ljava/lang/String; HSPLandroid/content/pm/SigningDetails$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SigningDetails; HSPLandroid/content/pm/SigningDetails$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/content/pm/SigningDetails;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class; +HSPLandroid/content/pm/SigningDetails;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/SigningDetails;->getSignatures()[Landroid/content/pm/Signature; HSPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SigningInfo; HSPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/content/pm/SigningInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/content/pm/SigningDetails$1; +HSPLandroid/content/pm/SigningInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/pm/SigningInfo;->getApkContentsSigners()[Landroid/content/pm/Signature; HSPLandroid/content/pm/SigningInfo;->getSigningCertificateHistory()[Landroid/content/pm/Signature; HSPLandroid/content/pm/SigningInfo;->hasMultipleSigners()Z @@ -4793,7 +4819,7 @@ HSPLandroid/content/pm/StringParceledListSlice$1;->createFromParcel(Landroid/os/ HSPLandroid/content/pm/StringParceledListSlice;->getList()Ljava/util/List; HSPLandroid/content/pm/UserInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/UserInfo; HSPLandroid/content/pm/UserInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/content/pm/UserInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/pm/UserInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/pm/UserInfo;->getUserHandle()Landroid/os/UserHandle; HSPLandroid/content/pm/UserInfo;->isAdmin()Z HSPLandroid/content/pm/UserInfo;->isEnabled()Z @@ -4812,8 +4838,8 @@ HSPLandroid/content/pm/UserPackage;->hashCode()I HSPLandroid/content/pm/UserPackage;->of(ILjava/lang/String;)Landroid/content/pm/UserPackage; HSPLandroid/content/pm/UserProperties;->isPresent(J)Z HSPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/VersionedPackage; -HSPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/content/pm/VersionedPackage;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/content/pm/VersionedPackage$1;Landroid/content/pm/VersionedPackage$1; +HSPLandroid/content/pm/VersionedPackage;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/VersionedPackage;-><init>(Landroid/os/Parcel;Landroid/content/pm/VersionedPackage-IA;)V HSPLandroid/content/pm/VersionedPackage;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/pm/dex/ArtManager;->getCurrentProfilePath(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String; @@ -4930,7 +4956,7 @@ HSPLandroid/content/res/AssetManager;->getResourceTypeName(I)Ljava/lang/String; HSPLandroid/content/res/AssetManager;->getResourceValue(IILandroid/util/TypedValue;Z)Z+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; HSPLandroid/content/res/AssetManager;->getSizeConfigurations()[Landroid/content/res/Configuration; HSPLandroid/content/res/AssetManager;->getSystem()Landroid/content/res/AssetManager; -HSPLandroid/content/res/AssetManager;->getThemeValue(JILandroid/util/TypedValue;Z)Z+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; +HSPLandroid/content/res/AssetManager;->getThemeValue(JILandroid/util/TypedValue;Z)Z HSPLandroid/content/res/AssetManager;->incRefsLocked(J)V HSPLandroid/content/res/AssetManager;->isUpToDate()Z HSPLandroid/content/res/AssetManager;->list(Ljava/lang/String;)[Ljava/lang/String; @@ -4969,13 +4995,13 @@ HSPLandroid/content/res/ColorStateList;->getChangingConfigurations()I HSPLandroid/content/res/ColorStateList;->getColorForState([II)I HSPLandroid/content/res/ColorStateList;->getConstantState()Landroid/content/res/ConstantState; HSPLandroid/content/res/ColorStateList;->getDefaultColor()I -HSPLandroid/content/res/ColorStateList;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/util/AttributeSet;Landroid/content/res/XmlBlock$Parser;]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/content/res/ColorStateList;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/content/res/ColorStateList;->isStateful()Z HSPLandroid/content/res/ColorStateList;->modulateColor(IFF)I HSPLandroid/content/res/ColorStateList;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; HSPLandroid/content/res/ColorStateList;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor; HSPLandroid/content/res/ColorStateList;->onColorsChanged()V -HSPLandroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList; HSPLandroid/content/res/ColorStateList;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/res/CompatibilityInfo$2;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/CompatibilityInfo; HSPLandroid/content/res/CompatibilityInfo$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -5007,11 +5033,11 @@ HSPLandroid/content/res/Configuration;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/res/Configuration;-><init>(Landroid/os/Parcel;Landroid/content/res/Configuration-IA;)V HSPLandroid/content/res/Configuration;->compareTo(Landroid/content/res/Configuration;)I HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;)I -HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;ZZ)I+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/os/LocaleList;Landroid/os/LocaleList; +HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;ZZ)I HSPLandroid/content/res/Configuration;->diffPublicOnly(Landroid/content/res/Configuration;)I HSPLandroid/content/res/Configuration;->equals(Landroid/content/res/Configuration;)Z HSPLandroid/content/res/Configuration;->equals(Ljava/lang/Object;)Z -HSPLandroid/content/res/Configuration;->fixUpLocaleList()V+]Landroid/os/LocaleList;Landroid/os/LocaleList;]Ljava/lang/Object;Ljava/util/Locale; +HSPLandroid/content/res/Configuration;->fixUpLocaleList()V HSPLandroid/content/res/Configuration;->generateDelta(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration; HSPLandroid/content/res/Configuration;->getGrammaticalGender()I HSPLandroid/content/res/Configuration;->getLayoutDirection()I @@ -5023,19 +5049,19 @@ HSPLandroid/content/res/Configuration;->isOtherSeqNewer(Landroid/content/res/Con HSPLandroid/content/res/Configuration;->isScreenRound()Z HSPLandroid/content/res/Configuration;->isScreenWideColorGamut()Z HSPLandroid/content/res/Configuration;->needNewResources(II)Z -HSPLandroid/content/res/Configuration;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/res/Configuration;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/content/res/Configuration;->readFromProto(Landroid/util/proto/ProtoInputStream;J)V HSPLandroid/content/res/Configuration;->reduceScreenLayout(III)I HSPLandroid/content/res/Configuration;->resetScreenLayout(I)I HSPLandroid/content/res/Configuration;->setLayoutDirection(Ljava/util/Locale;)V HSPLandroid/content/res/Configuration;->setLocale(Ljava/util/Locale;)V HSPLandroid/content/res/Configuration;->setLocales(Landroid/os/LocaleList;)V -HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Ljava/lang/Object;Ljava/util/Locale;]Ljava/util/Locale;Ljava/util/Locale; +HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V+]Ljava/lang/Object;Ljava/util/Locale;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;II)V HSPLandroid/content/res/Configuration;->setToDefaults()V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->toString()Ljava/lang/String; HSPLandroid/content/res/Configuration;->unset()V -HSPLandroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Ljava/lang/Object;Ljava/util/Locale;]Ljava/util/Locale;Ljava/util/Locale; +HSPLandroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I+]Ljava/lang/Object;Ljava/util/Locale;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/res/ConfigurationBoundResourceCache;-><init>()V HSPLandroid/content/res/ConfigurationBoundResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object; @@ -5054,10 +5080,10 @@ HSPLandroid/content/res/DrawableCache;->getInstance(JLandroid/content/res/Resour HSPLandroid/content/res/DrawableCache;->shouldInvalidateEntry(Landroid/graphics/drawable/Drawable$ConstantState;I)Z HSPLandroid/content/res/DrawableCache;->shouldInvalidateEntry(Ljava/lang/Object;I)Z HSPLandroid/content/res/FeatureFlagsImpl;->defaultLocale()Z -HSPLandroid/content/res/Flags;->defaultLocale()Z +HSPLandroid/content/res/Flags;->defaultLocale()Z+]Landroid/content/res/FeatureFlags;Landroid/content/res/FeatureFlagsImpl; HSPLandroid/content/res/FontResourcesParser;->parse(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry; -HSPLandroid/content/res/FontResourcesParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;+]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; -HSPLandroid/content/res/FontResourcesParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Ljava/util/List;Ljava/util/ArrayList;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/content/res/FontResourcesParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry; +HSPLandroid/content/res/FontResourcesParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry; HSPLandroid/content/res/FontScaleConverterFactory;->forScale(F)Landroid/content/res/FontScaleConverter; HSPLandroid/content/res/FontScaleConverterFactory;->isNonLinearFontScalingActive(F)Z HSPLandroid/content/res/GradientColor;-><init>()V @@ -5076,28 +5102,28 @@ HSPLandroid/content/res/Resources$NotFoundException;-><init>(Ljava/lang/String;) HSPLandroid/content/res/Resources$Theme;-><init>(Landroid/content/res/Resources;)V HSPLandroid/content/res/Resources$Theme;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme-IA;)V HSPLandroid/content/res/Resources$Theme;->applyStyle(IZ)V -HSPLandroid/content/res/Resources$Theme;->equals(Ljava/lang/Object;)Z+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey;]Ljava/lang/Object;Landroid/content/res/Resources$Theme; +HSPLandroid/content/res/Resources$Theme;->equals(Ljava/lang/Object;)Z HSPLandroid/content/res/Resources$Theme;->getAppliedStyleResId()I HSPLandroid/content/res/Resources$Theme;->getChangingConfigurations()I -HSPLandroid/content/res/Resources$Theme;->getKey()Landroid/content/res/Resources$ThemeKey;+]Landroid/content/res/ResourcesImpl$ThemeImpl;Landroid/content/res/ResourcesImpl$ThemeImpl; +HSPLandroid/content/res/Resources$Theme;->getKey()Landroid/content/res/Resources$ThemeKey; HSPLandroid/content/res/Resources$Theme;->getParentThemeIdentifier(I)I HSPLandroid/content/res/Resources$Theme;->getResources()Landroid/content/res/Resources; HSPLandroid/content/res/Resources$Theme;->getTheme()[Ljava/lang/String; HSPLandroid/content/res/Resources$Theme;->hashCode()I -HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;+]Landroid/content/res/ResourcesImpl$ThemeImpl;Landroid/content/res/ResourcesImpl$ThemeImpl; +HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray; HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/res/ResourcesImpl$ThemeImpl;Landroid/content/res/ResourcesImpl$ThemeImpl; HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes([I)Landroid/content/res/TypedArray; HSPLandroid/content/res/Resources$Theme;->rebase()V HSPLandroid/content/res/Resources$Theme;->rebase(Landroid/content/res/ResourcesImpl;)V -HSPLandroid/content/res/Resources$Theme;->resolveAttribute(ILandroid/util/TypedValue;Z)Z+]Landroid/content/res/ResourcesImpl$ThemeImpl;Landroid/content/res/ResourcesImpl$ThemeImpl; +HSPLandroid/content/res/Resources$Theme;->resolveAttribute(ILandroid/util/TypedValue;Z)Z HSPLandroid/content/res/Resources$Theme;->resolveAttributes([I[I)Landroid/content/res/TypedArray; HSPLandroid/content/res/Resources$Theme;->setImpl(Landroid/content/res/ResourcesImpl$ThemeImpl;)V HSPLandroid/content/res/Resources$Theme;->setTo(Landroid/content/res/Resources$Theme;)V -HSPLandroid/content/res/Resources$Theme;->toString()Ljava/lang/String;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/content/res/Resources$Theme;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLandroid/content/res/Resources$ThemeKey;-><init>()V HSPLandroid/content/res/Resources$ThemeKey;->append(IZ)V HSPLandroid/content/res/Resources$ThemeKey;->clone()Landroid/content/res/Resources$ThemeKey; -HSPLandroid/content/res/Resources$ThemeKey;->equals(Ljava/lang/Object;)Z+]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey;]Ljava/lang/Object;Landroid/content/res/Resources$ThemeKey; +HSPLandroid/content/res/Resources$ThemeKey;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Landroid/content/res/Resources$ThemeKey;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey; HSPLandroid/content/res/Resources$ThemeKey;->hashCode()I HSPLandroid/content/res/Resources$ThemeKey;->moveToLast(I)V HSPLandroid/content/res/Resources$ThemeKey;->setTo(Landroid/content/res/Resources$ThemeKey;)V+][I[I][Z[Z @@ -5116,12 +5142,12 @@ HSPLandroid/content/res/Resources;->getAttributeSetSourceResId(Landroid/util/Att HSPLandroid/content/res/Resources;->getBoolean(I)Z HSPLandroid/content/res/Resources;->getClassLoader()Ljava/lang/ClassLoader; HSPLandroid/content/res/Resources;->getColor(I)I -HSPLandroid/content/res/Resources;->getColor(ILandroid/content/res/Resources$Theme;)I+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getColor(ILandroid/content/res/Resources$Theme;)I HSPLandroid/content/res/Resources;->getColorStateList(I)Landroid/content/res/ColorStateList; HSPLandroid/content/res/Resources;->getColorStateList(ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; HSPLandroid/content/res/Resources;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; HSPLandroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; -HSPLandroid/content/res/Resources;->getDimension(I)F+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getDimension(I)F HSPLandroid/content/res/Resources;->getDimensionPixelOffset(I)I HSPLandroid/content/res/Resources;->getDimensionPixelSize(I)I HSPLandroid/content/res/Resources;->getDisplayAdjustments()Landroid/view/DisplayAdjustments; @@ -5129,7 +5155,7 @@ HSPLandroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetr HSPLandroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable; HSPLandroid/content/res/Resources;->getDrawable(ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; HSPLandroid/content/res/Resources;->getDrawableForDensity(II)Landroid/graphics/drawable/Drawable; -HSPLandroid/content/res/Resources;->getDrawableForDensity(IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getDrawableForDensity(IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; HSPLandroid/content/res/Resources;->getDrawableInflater()Landroid/graphics/drawable/DrawableInflater; HSPLandroid/content/res/Resources;->getFloat(I)F HSPLandroid/content/res/Resources;->getFont(Landroid/util/TypedValue;I)Landroid/graphics/Typeface; @@ -5143,7 +5169,7 @@ HSPLandroid/content/res/Resources;->getLoaders()Ljava/util/List; HSPLandroid/content/res/Resources;->getQuantityString(II)Ljava/lang/String; HSPLandroid/content/res/Resources;->getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String; HSPLandroid/content/res/Resources;->getQuantityText(II)Ljava/lang/CharSequence; -HSPLandroid/content/res/Resources;->getResourceEntryName(I)Ljava/lang/String;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getResourceEntryName(I)Ljava/lang/String; HSPLandroid/content/res/Resources;->getResourceName(I)Ljava/lang/String; HSPLandroid/content/res/Resources;->getResourcePackageName(I)Ljava/lang/String; HSPLandroid/content/res/Resources;->getResourceTypeName(I)Ljava/lang/String; @@ -5151,24 +5177,24 @@ HSPLandroid/content/res/Resources;->getSizeConfigurations()[Landroid/content/res HSPLandroid/content/res/Resources;->getStateListAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache; HSPLandroid/content/res/Resources;->getString(I)Ljava/lang/String; HSPLandroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; -HSPLandroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String; HSPLandroid/content/res/Resources;->getSystem()Landroid/content/res/Resources; HSPLandroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence; HSPLandroid/content/res/Resources;->getTextArray(I)[Ljava/lang/CharSequence; -HSPLandroid/content/res/Resources;->getValue(ILandroid/util/TypedValue;Z)V+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getValue(ILandroid/util/TypedValue;Z)V HSPLandroid/content/res/Resources;->getValueForDensity(IILandroid/util/TypedValue;Z)V HSPLandroid/content/res/Resources;->getXml(I)Landroid/content/res/XmlResourceParser; HSPLandroid/content/res/Resources;->hasOverrideDisplayAdjustments()Z -HSPLandroid/content/res/Resources;->loadColorStateList(Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->loadColorStateList(Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; HSPLandroid/content/res/Resources;->loadComplexColor(Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor; HSPLandroid/content/res/Resources;->loadDrawable(Landroid/util/TypedValue;IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; -HSPLandroid/content/res/Resources;->loadXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Ljava/lang/CharSequence;Ljava/lang/String; -HSPLandroid/content/res/Resources;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; -HSPLandroid/content/res/Resources;->newTheme()Landroid/content/res/Resources$Theme;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/content/res/Resources;->loadXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser; +HSPLandroid/content/res/Resources;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser; +HSPLandroid/content/res/Resources;->newTheme()Landroid/content/res/Resources$Theme; HSPLandroid/content/res/Resources;->obtainAttributes(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; -HSPLandroid/content/res/Resources;->obtainAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->obtainAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; HSPLandroid/content/res/Resources;->obtainTempTypedValue()Landroid/util/TypedValue; -HSPLandroid/content/res/Resources;->obtainTypedArray(I)Landroid/content/res/TypedArray;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->obtainTypedArray(I)Landroid/content/res/TypedArray; HSPLandroid/content/res/Resources;->openRawResource(I)Ljava/io/InputStream; HSPLandroid/content/res/Resources;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream; HSPLandroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor; @@ -5198,26 +5224,26 @@ HSPLandroid/content/res/ResourcesImpl$LookupStack;-><init>(Landroid/content/res/ HSPLandroid/content/res/ResourcesImpl$LookupStack;->contains(I)Z HSPLandroid/content/res/ResourcesImpl$LookupStack;->pop()V HSPLandroid/content/res/ResourcesImpl$LookupStack;->push(I)V -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;-><init>(Landroid/content/res/ResourcesImpl;)V+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->applyStyle(IZ)V+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;-><init>(Landroid/content/res/ResourcesImpl;)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->applyStyle(IZ)V HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->finalize()V HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getAppliedStyleResId()I HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getChangingConfigurations()I HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getKey()Landroid/content/res/Resources$ThemeKey; HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getParentThemeIdentifier(I)I HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getTheme()[Ljava/lang/String; -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->obtainStyledAttributes(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->obtainStyledAttributes(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->rebase()V HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->rebase(Landroid/content/res/AssetManager;)V -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttribute(ILandroid/util/TypedValue;Z)Z+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttribute(ILandroid/util/TypedValue;Z)Z HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttributes(Landroid/content/res/Resources$Theme;[I[I)Landroid/content/res/TypedArray; -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->setTo(Landroid/content/res/ResourcesImpl$ThemeImpl;)V+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey;]Landroid/content/res/ResourcesImpl$ThemeImpl;Landroid/content/res/ResourcesImpl$ThemeImpl; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->setTo(Landroid/content/res/ResourcesImpl$ThemeImpl;)V HSPLandroid/content/res/ResourcesImpl;->-$$Nest$sfgetsThemeRegistry()Llibcore/util/NativeAllocationRegistry; -HSPLandroid/content/res/ResourcesImpl;-><init>(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;Landroid/view/DisplayAdjustments;)V+]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments; +HSPLandroid/content/res/ResourcesImpl;-><init>(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;Landroid/view/DisplayAdjustments;)V+]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; HSPLandroid/content/res/ResourcesImpl;->adjustLanguageTag(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/content/res/ResourcesImpl;->attrForQuantityCode(Ljava/lang/String;)I -HSPLandroid/content/res/ResourcesImpl;->cacheDrawable(Landroid/util/TypedValue;ZLandroid/content/res/DrawableCache;Landroid/content/res/Resources$Theme;ZJLandroid/graphics/drawable/Drawable;I)V -HSPLandroid/content/res/ResourcesImpl;->calcConfigChanges(Landroid/content/res/Configuration;)I+]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments; +HSPLandroid/content/res/ResourcesImpl;->cacheDrawable(Landroid/util/TypedValue;ZLandroid/content/res/DrawableCache;Landroid/content/res/Resources$Theme;ZJLandroid/graphics/drawable/Drawable;I)V+]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/graphics/drawable/Drawable;megamorphic_types +HSPLandroid/content/res/ResourcesImpl;->calcConfigChanges(Landroid/content/res/Configuration;)I HSPLandroid/content/res/ResourcesImpl;->decodeImageDrawable(Landroid/content/res/AssetManager$AssetInputStream;Landroid/content/res/Resources;Landroid/util/TypedValue;)Landroid/graphics/drawable/Drawable; HSPLandroid/content/res/ResourcesImpl;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V HSPLandroid/content/res/ResourcesImpl;->finishPreloading()V @@ -5225,7 +5251,7 @@ HSPLandroid/content/res/ResourcesImpl;->flushLayoutCache()V HSPLandroid/content/res/ResourcesImpl;->getAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache; HSPLandroid/content/res/ResourcesImpl;->getAssets()Landroid/content/res/AssetManager; HSPLandroid/content/res/ResourcesImpl;->getAttributeSetSourceResId(Landroid/util/AttributeSet;)I -HSPLandroid/content/res/ResourcesImpl;->getColorStateListFromInt(Landroid/util/TypedValue;J)Landroid/content/res/ColorStateList;+]Landroid/content/res/ConstantState;Landroid/content/res/ColorStateList$ColorStateListFactory;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray; +HSPLandroid/content/res/ResourcesImpl;->getColorStateListFromInt(Landroid/util/TypedValue;J)Landroid/content/res/ColorStateList; HSPLandroid/content/res/ResourcesImpl;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; HSPLandroid/content/res/ResourcesImpl;->getConfiguration()Landroid/content/res/Configuration; HSPLandroid/content/res/ResourcesImpl;->getDisplayAdjustments()Landroid/view/DisplayAdjustments; @@ -5239,7 +5265,7 @@ HSPLandroid/content/res/ResourcesImpl;->getResourcePackageName(I)Ljava/lang/Stri HSPLandroid/content/res/ResourcesImpl;->getResourceTypeName(I)Ljava/lang/String; HSPLandroid/content/res/ResourcesImpl;->getSizeConfigurations()[Landroid/content/res/Configuration; HSPLandroid/content/res/ResourcesImpl;->getStateListAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache; -HSPLandroid/content/res/ResourcesImpl;->getValue(ILandroid/util/TypedValue;Z)V+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; +HSPLandroid/content/res/ResourcesImpl;->getValue(ILandroid/util/TypedValue;Z)V HSPLandroid/content/res/ResourcesImpl;->getValueForDensity(IILandroid/util/TypedValue;Z)V HSPLandroid/content/res/ResourcesImpl;->isIntLike(Ljava/lang/String;)Z HSPLandroid/content/res/ResourcesImpl;->lambda$decodeImageDrawable$1(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V @@ -5247,18 +5273,18 @@ HSPLandroid/content/res/ResourcesImpl;->lambda$new$0()Landroid/content/res/Resou HSPLandroid/content/res/ResourcesImpl;->loadColorStateList(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; HSPLandroid/content/res/ResourcesImpl;->loadComplexColor(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor; HSPLandroid/content/res/ResourcesImpl;->loadComplexColorForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor; -HSPLandroid/content/res/ResourcesImpl;->loadComplexColorFromName(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/TypedValue;I)Landroid/content/res/ComplexColor;+]Landroid/content/res/ComplexColor;Landroid/content/res/ColorStateList;,Landroid/content/res/GradientColor;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache;]Landroid/content/res/ConstantState;Landroid/content/res/ColorStateList$ColorStateListFactory;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray; -HSPLandroid/content/res/ResourcesImpl;->loadDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;+]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/graphics/drawable/Drawable$ConstantState;megamorphic_types]Landroid/graphics/drawable/Drawable;megamorphic_types]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray; -HSPLandroid/content/res/ResourcesImpl;->loadDrawableForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;II)Landroid/graphics/drawable/Drawable;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/ResourcesImpl$LookupStack;Landroid/content/res/ResourcesImpl$LookupStack;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Ljava/lang/CharSequence;Ljava/lang/String;]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; -HSPLandroid/content/res/ResourcesImpl;->loadFont(Landroid/content/res/Resources;Landroid/util/TypedValue;I)Landroid/graphics/Typeface;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Ljava/lang/CharSequence;Ljava/lang/String;]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/content/res/ResourcesImpl;->loadComplexColorFromName(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/TypedValue;I)Landroid/content/res/ComplexColor;+]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache; +HSPLandroid/content/res/ResourcesImpl;->loadDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;+]Landroid/graphics/drawable/Drawable$ConstantState;megamorphic_types]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/graphics/drawable/Drawable;megamorphic_types +HSPLandroid/content/res/ResourcesImpl;->loadDrawableForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;II)Landroid/graphics/drawable/Drawable; +HSPLandroid/content/res/ResourcesImpl;->loadFont(Landroid/content/res/Resources;Landroid/util/TypedValue;I)Landroid/graphics/Typeface; HSPLandroid/content/res/ResourcesImpl;->loadXmlDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILjava/lang/String;)Landroid/graphics/drawable/Drawable; -HSPLandroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/XmlBlock;Landroid/content/res/XmlBlock;]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;+]Ljava/lang/Object;Ljava/lang/String;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/XmlBlock;Landroid/content/res/XmlBlock; HSPLandroid/content/res/ResourcesImpl;->newThemeImpl()Landroid/content/res/ResourcesImpl$ThemeImpl; HSPLandroid/content/res/ResourcesImpl;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream; HSPLandroid/content/res/ResourcesImpl;->openRawResourceFd(ILandroid/util/TypedValue;)Landroid/content/res/AssetFileDescriptor; HSPLandroid/content/res/ResourcesImpl;->startPreloading()V -HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V+]Landroid/app/ResourcesManager;Landroid/app/ResourcesManager;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Ljava/util/Locale;Ljava/util/Locale; -HSPLandroid/content/res/ResourcesImpl;->updateConfigurationImpl(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Z)V+]Landroid/app/ResourcesManager;Landroid/app/ResourcesManager;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Ljava/lang/Object;Ljava/util/Locale;]Ljava/util/Locale;Ljava/util/Locale; +HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/app/ResourcesManager;Landroid/app/ResourcesManager;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache; +HSPLandroid/content/res/ResourcesImpl;->updateConfigurationImpl(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Z)V+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/app/ResourcesManager;Landroid/app/ResourcesManager;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache;]Ljava/lang/Object;Ljava/util/Locale; HSPLandroid/content/res/ResourcesImpl;->verifyPreloadConfig(IIILjava/lang/String;)Z HSPLandroid/content/res/ResourcesKey;-><init>(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;[Landroid/content/res/loader/ResourcesLoader;)V HSPLandroid/content/res/ResourcesKey;->equals(Ljava/lang/Object;)Z @@ -5271,9 +5297,9 @@ HSPLandroid/content/res/StringBlock;->finalize()V HSPLandroid/content/res/StringBlock;->get(I)Ljava/lang/CharSequence; HSPLandroid/content/res/StringBlock;->getSequence(I)Ljava/lang/CharSequence;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLandroid/content/res/ThemedResourceCache;-><init>()V -HSPLandroid/content/res/ThemedResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object;+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/content/res/ThemedResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object; HSPLandroid/content/res/ThemedResourceCache;->getGeneration()I -HSPLandroid/content/res/ThemedResourceCache;->getThemedLocked(Landroid/content/res/Resources$Theme;Z)Landroid/util/LongSparseArray;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/content/res/ThemedResourceCache;->getThemedLocked(Landroid/content/res/Resources$Theme;Z)Landroid/util/LongSparseArray; HSPLandroid/content/res/ThemedResourceCache;->getUnthemedLocked(Z)Landroid/util/LongSparseArray; HSPLandroid/content/res/ThemedResourceCache;->onConfigurationChange(I)V HSPLandroid/content/res/ThemedResourceCache;->pruneEntriesLocked(Landroid/util/LongSparseArray;I)Z @@ -5285,24 +5311,24 @@ HSPLandroid/content/res/TypedArray;->extractThemeAttrs()[I HSPLandroid/content/res/TypedArray;->extractThemeAttrs([I)[I HSPLandroid/content/res/TypedArray;->getBoolean(IZ)Z HSPLandroid/content/res/TypedArray;->getChangingConfigurations()I+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; -HSPLandroid/content/res/TypedArray;->getColor(II)I+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/content/res/Resources;Landroid/content/res/Resources; +HSPLandroid/content/res/TypedArray;->getColor(II)I HSPLandroid/content/res/TypedArray;->getColorStateList(I)Landroid/content/res/ColorStateList;+]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLandroid/content/res/TypedArray;->getComplexColor(I)Landroid/content/res/ComplexColor; HSPLandroid/content/res/TypedArray;->getDimension(IF)F HSPLandroid/content/res/TypedArray;->getDimensionPixelOffset(II)I HSPLandroid/content/res/TypedArray;->getDimensionPixelSize(II)I -HSPLandroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; +HSPLandroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/content/res/TypedArray;->getDrawableForDensity(II)Landroid/graphics/drawable/Drawable;+]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLandroid/content/res/TypedArray;->getFloat(IF)F -HSPLandroid/content/res/TypedArray;->getFont(I)Landroid/graphics/Typeface;+]Landroid/content/res/Resources;Landroid/content/res/Resources; +HSPLandroid/content/res/TypedArray;->getFont(I)Landroid/graphics/Typeface; HSPLandroid/content/res/TypedArray;->getFraction(IIIF)F HSPLandroid/content/res/TypedArray;->getIndex(I)I HSPLandroid/content/res/TypedArray;->getIndexCount()I HSPLandroid/content/res/TypedArray;->getInt(II)I HSPLandroid/content/res/TypedArray;->getInteger(II)I HSPLandroid/content/res/TypedArray;->getLayoutDimension(II)I -HSPLandroid/content/res/TypedArray;->getLayoutDimension(ILjava/lang/String;)I+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLandroid/content/res/TypedArray;->getNonConfigurationString(II)Ljava/lang/String; +HSPLandroid/content/res/TypedArray;->getLayoutDimension(ILjava/lang/String;)I +HSPLandroid/content/res/TypedArray;->getNonConfigurationString(II)Ljava/lang/String;+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/content/res/TypedArray;->getNonResourceString(I)Ljava/lang/String; HSPLandroid/content/res/TypedArray;->getPositionDescription()Ljava/lang/String; HSPLandroid/content/res/TypedArray;->getResourceId(II)I @@ -5316,7 +5342,7 @@ HSPLandroid/content/res/TypedArray;->getValueAt(ILandroid/util/TypedValue;)Z HSPLandroid/content/res/TypedArray;->hasValue(I)Z HSPLandroid/content/res/TypedArray;->hasValueOrEmpty(I)Z HSPLandroid/content/res/TypedArray;->length()I -HSPLandroid/content/res/TypedArray;->loadStringValueAt(I)Ljava/lang/CharSequence;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/content/res/TypedArray;->loadStringValueAt(I)Ljava/lang/CharSequence;+]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Validator;Landroid/content/res/Validator; HSPLandroid/content/res/TypedArray;->obtain(Landroid/content/res/Resources;I)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue; HSPLandroid/content/res/TypedArray;->recycle()V+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; @@ -5333,7 +5359,7 @@ HSPLandroid/content/res/XmlBlock$Parser;->getAttributeName(I)Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getAttributeNameResource(I)I HSPLandroid/content/res/XmlBlock$Parser;->getAttributeResourceValue(II)I HSPLandroid/content/res/XmlBlock$Parser;->getAttributeResourceValue(Ljava/lang/String;Ljava/lang/String;I)I -HSPLandroid/content/res/XmlBlock$Parser;->getAttributeValue(I)Ljava/lang/String; +HSPLandroid/content/res/XmlBlock$Parser;->getAttributeValue(I)Ljava/lang/String;+]Landroid/content/res/StringBlock;Landroid/content/res/StringBlock; HSPLandroid/content/res/XmlBlock$Parser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getClassAttribute()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getDepth()I @@ -5342,14 +5368,14 @@ HSPLandroid/content/res/XmlBlock$Parser;->getLineNumber()I HSPLandroid/content/res/XmlBlock$Parser;->getName()Ljava/lang/String;+]Landroid/content/res/StringBlock;Landroid/content/res/StringBlock; HSPLandroid/content/res/XmlBlock$Parser;->getPooledString(I)Ljava/lang/CharSequence;+]Landroid/content/res/StringBlock;Landroid/content/res/StringBlock; HSPLandroid/content/res/XmlBlock$Parser;->getPositionDescription()Ljava/lang/String; -HSPLandroid/content/res/XmlBlock$Parser;->getSequenceString(Ljava/lang/CharSequence;)Ljava/lang/String;+]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/content/res/XmlBlock$Parser;->getSequenceString(Ljava/lang/CharSequence;)Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getSourceResId()I HSPLandroid/content/res/XmlBlock$Parser;->getText()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->isEmptyElementTag()Z -HSPLandroid/content/res/XmlBlock$Parser;->next()I+]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/content/res/XmlBlock$Parser;->next()I+]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser;]Landroid/content/res/Validator;Landroid/content/res/Validator; HSPLandroid/content/res/XmlBlock$Parser;->nextTag()I HSPLandroid/content/res/XmlBlock$Parser;->nextText()Ljava/lang/String; -HSPLandroid/content/res/XmlBlock$Parser;->require(ILjava/lang/String;Ljava/lang/String;)V+]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser;]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/content/res/XmlBlock$Parser;->require(ILjava/lang/String;Ljava/lang/String;)V HSPLandroid/content/res/XmlBlock;->-$$Nest$fgetmOpenCount(Landroid/content/res/XmlBlock;)I HSPLandroid/content/res/XmlBlock;->-$$Nest$fputmOpenCount(Landroid/content/res/XmlBlock;I)V HSPLandroid/content/res/XmlBlock;->-$$Nest$smnativeGetAttributeCount(J)I @@ -5363,7 +5389,7 @@ HSPLandroid/content/res/XmlBlock;->-$$Nest$smnativeGetLineNumber(J)I HSPLandroid/content/res/XmlBlock;->-$$Nest$smnativeGetText(J)I HSPLandroid/content/res/XmlBlock;-><init>(Landroid/content/res/AssetManager;J)V HSPLandroid/content/res/XmlBlock;->close()V -HSPLandroid/content/res/XmlBlock;->decOpenCountLocked()V+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/StringBlock;Landroid/content/res/StringBlock;]Ljava/lang/Object;Landroid/content/res/XmlBlock; +HSPLandroid/content/res/XmlBlock;->decOpenCountLocked()V HSPLandroid/content/res/XmlBlock;->finalize()V HSPLandroid/content/res/XmlBlock;->newParser()Landroid/content/res/XmlResourceParser; HSPLandroid/content/res/XmlBlock;->newParser(I)Landroid/content/res/XmlResourceParser; @@ -5373,29 +5399,29 @@ HSPLandroid/content/type/DefaultMimeMapFactory;->lambda$create$0(Ljava/lang/Clas HSPLandroid/content/type/DefaultMimeMapFactory;->parseTypes(Llibcore/content/type/MimeMap$Builder;Ljava/util/function/Function;Ljava/lang/String;)V HSPLandroid/database/AbstractCursor$SelfContentObserver;-><init>(Landroid/database/AbstractCursor;)V HSPLandroid/database/AbstractCursor$SelfContentObserver;->onChange(Z)V -HSPLandroid/database/AbstractCursor;-><init>()V -HSPLandroid/database/AbstractCursor;->checkPosition()V+]Landroid/database/AbstractCursor;Landroid/database/BulkCursorToCursorAdaptor;,Landroid/database/sqlite/SQLiteCursor; -HSPLandroid/database/AbstractCursor;->close()V +HSPLandroid/database/AbstractCursor;-><init>()V+]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; +HSPLandroid/database/AbstractCursor;->checkPosition()V+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor; +HSPLandroid/database/AbstractCursor;->close()V+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor;,Landroid/database/MatrixCursor;]Landroid/database/ContentObservable;Landroid/database/ContentObservable;]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; HSPLandroid/database/AbstractCursor;->fillWindow(ILandroid/database/CursorWindow;)V HSPLandroid/database/AbstractCursor;->finalize()V+]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; -HSPLandroid/database/AbstractCursor;->getColumnCount()I +HSPLandroid/database/AbstractCursor;->getColumnCount()I+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor; HSPLandroid/database/AbstractCursor;->getColumnIndex(Ljava/lang/String;)I HSPLandroid/database/AbstractCursor;->getColumnIndexOrThrow(Ljava/lang/String;)I -HSPLandroid/database/AbstractCursor;->getColumnName(I)Ljava/lang/String; +HSPLandroid/database/AbstractCursor;->getColumnName(I)Ljava/lang/String;+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor; HSPLandroid/database/AbstractCursor;->getExtras()Landroid/os/Bundle; HSPLandroid/database/AbstractCursor;->getPosition()I HSPLandroid/database/AbstractCursor;->getWantsAllOnMoveCalls()Z HSPLandroid/database/AbstractCursor;->getWindow()Landroid/database/CursorWindow; -HSPLandroid/database/AbstractCursor;->isAfterLast()Z +HSPLandroid/database/AbstractCursor;->isAfterLast()Z+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/AbstractCursor;->isClosed()Z HSPLandroid/database/AbstractCursor;->isLast()Z HSPLandroid/database/AbstractCursor;->move(I)Z HSPLandroid/database/AbstractCursor;->moveToFirst()Z HSPLandroid/database/AbstractCursor;->moveToLast()Z -HSPLandroid/database/AbstractCursor;->moveToNext()Z -HSPLandroid/database/AbstractCursor;->moveToPosition(I)Z +HSPLandroid/database/AbstractCursor;->moveToNext()Z+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/MatrixCursor;,Landroid/database/BulkCursorToCursorAdaptor; +HSPLandroid/database/AbstractCursor;->moveToPosition(I)Z+]Landroid/database/AbstractCursor;missing_types HSPLandroid/database/AbstractCursor;->onChange(Z)V -HSPLandroid/database/AbstractCursor;->onDeactivateOrClose()V +HSPLandroid/database/AbstractCursor;->onDeactivateOrClose()V+]Landroid/database/DataSetObservable;Landroid/database/DataSetObservable; HSPLandroid/database/AbstractCursor;->onMove(II)Z HSPLandroid/database/AbstractCursor;->registerContentObserver(Landroid/database/ContentObserver;)V HSPLandroid/database/AbstractCursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V @@ -5406,18 +5432,18 @@ HSPLandroid/database/AbstractCursor;->unregisterContentObserver(Landroid/databas HSPLandroid/database/AbstractWindowedCursor;-><init>()V HSPLandroid/database/AbstractWindowedCursor;->checkPosition()V HSPLandroid/database/AbstractWindowedCursor;->clearOrCreateWindow(Ljava/lang/String;)V -HSPLandroid/database/AbstractWindowedCursor;->closeWindow()V +HSPLandroid/database/AbstractWindowedCursor;->closeWindow()V+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/AbstractWindowedCursor;->getBlob(I)[B -HSPLandroid/database/AbstractWindowedCursor;->getDouble(I)D +HSPLandroid/database/AbstractWindowedCursor;->getDouble(I)D+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/AbstractWindowedCursor;->getFloat(I)F -HSPLandroid/database/AbstractWindowedCursor;->getInt(I)I+]Landroid/database/AbstractWindowedCursor;Landroid/database/BulkCursorToCursorAdaptor;,Landroid/database/sqlite/SQLiteCursor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; -HSPLandroid/database/AbstractWindowedCursor;->getLong(I)J+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; -HSPLandroid/database/AbstractWindowedCursor;->getString(I)Ljava/lang/String;+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; +HSPLandroid/database/AbstractWindowedCursor;->getInt(I)I+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; +HSPLandroid/database/AbstractWindowedCursor;->getLong(I)J+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; +HSPLandroid/database/AbstractWindowedCursor;->getString(I)Ljava/lang/String;+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/AbstractWindowedCursor;->getType(I)I HSPLandroid/database/AbstractWindowedCursor;->getWindow()Landroid/database/CursorWindow; HSPLandroid/database/AbstractWindowedCursor;->hasWindow()Z HSPLandroid/database/AbstractWindowedCursor;->isNull(I)Z+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; -HSPLandroid/database/AbstractWindowedCursor;->onDeactivateOrClose()V +HSPLandroid/database/AbstractWindowedCursor;->onDeactivateOrClose()V+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/AbstractWindowedCursor;->setWindow(Landroid/database/CursorWindow;)V HSPLandroid/database/BulkCursorDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Landroid/database/BulkCursorDescriptor; HSPLandroid/database/BulkCursorDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -5438,7 +5464,7 @@ HSPLandroid/database/BulkCursorToCursorAdaptor;->getColumnNames()[Ljava/lang/Str HSPLandroid/database/BulkCursorToCursorAdaptor;->getCount()I HSPLandroid/database/BulkCursorToCursorAdaptor;->getObserver()Landroid/database/IContentObserver; HSPLandroid/database/BulkCursorToCursorAdaptor;->initialize(Landroid/database/BulkCursorDescriptor;)V -HSPLandroid/database/BulkCursorToCursorAdaptor;->onMove(II)Z +HSPLandroid/database/BulkCursorToCursorAdaptor;->onMove(II)Z+]Landroid/database/IBulkCursor;Landroid/database/BulkCursorProxy;]Landroid/database/BulkCursorToCursorAdaptor;Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/BulkCursorToCursorAdaptor;->throwIfCursorIsClosed()V HSPLandroid/database/ContentObservable;-><init>()V HSPLandroid/database/ContentObservable;->dispatchChange(ZLandroid/net/Uri;)V @@ -5477,18 +5503,18 @@ HSPLandroid/database/CursorWindow$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/database/CursorWindow;-><init>(Landroid/os/Parcel;)V HSPLandroid/database/CursorWindow;-><init>(Landroid/os/Parcel;Landroid/database/CursorWindow-IA;)V HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;)V -HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;J)V +HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;J)V+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/database/CursorWindow;->allocRow()Z HSPLandroid/database/CursorWindow;->clear()V -HSPLandroid/database/CursorWindow;->dispose()V -HSPLandroid/database/CursorWindow;->finalize()V -HSPLandroid/database/CursorWindow;->getBlob(II)[B+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; +HSPLandroid/database/CursorWindow;->dispose()V+]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; +HSPLandroid/database/CursorWindow;->finalize()V+]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; +HSPLandroid/database/CursorWindow;->getBlob(II)[B HSPLandroid/database/CursorWindow;->getCursorWindowSize()I -HSPLandroid/database/CursorWindow;->getDouble(II)D +HSPLandroid/database/CursorWindow;->getDouble(II)D+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/CursorWindow;->getFloat(II)F -HSPLandroid/database/CursorWindow;->getInt(II)I +HSPLandroid/database/CursorWindow;->getInt(II)I+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/CursorWindow;->getLong(II)J+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; -HSPLandroid/database/CursorWindow;->getNumRows()I +HSPLandroid/database/CursorWindow;->getNumRows()I+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/CursorWindow;->getStartPosition()I HSPLandroid/database/CursorWindow;->getString(II)Ljava/lang/String;+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/CursorWindow;->getType(II)I+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; @@ -5510,16 +5536,16 @@ HSPLandroid/database/CursorWrapper;->getColumnName(I)Ljava/lang/String; HSPLandroid/database/CursorWrapper;->getColumnNames()[Ljava/lang/String; HSPLandroid/database/CursorWrapper;->getCount()I HSPLandroid/database/CursorWrapper;->getExtras()Landroid/os/Bundle; -HSPLandroid/database/CursorWrapper;->getInt(I)I +HSPLandroid/database/CursorWrapper;->getInt(I)I+]Landroid/database/Cursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/content/ContentProviderClient$CursorWrapperInner;,Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/CursorWrapper;->getLong(I)J HSPLandroid/database/CursorWrapper;->getPosition()I HSPLandroid/database/CursorWrapper;->getString(I)Ljava/lang/String; HSPLandroid/database/CursorWrapper;->getType(I)I HSPLandroid/database/CursorWrapper;->getWrappedCursor()Landroid/database/Cursor; -HSPLandroid/database/CursorWrapper;->isAfterLast()Z +HSPLandroid/database/CursorWrapper;->isAfterLast()Z+]Landroid/database/Cursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/content/ContentProviderClient$CursorWrapperInner;,Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/CursorWrapper;->isClosed()Z HSPLandroid/database/CursorWrapper;->isLast()Z -HSPLandroid/database/CursorWrapper;->isNull(I)Z +HSPLandroid/database/CursorWrapper;->isNull(I)Z+]Landroid/database/Cursor;Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/CursorWrapper;->moveToFirst()Z HSPLandroid/database/CursorWrapper;->moveToLast()Z HSPLandroid/database/CursorWrapper;->moveToNext()Z @@ -5527,9 +5553,9 @@ HSPLandroid/database/CursorWrapper;->moveToPosition(I)Z HSPLandroid/database/CursorWrapper;->registerContentObserver(Landroid/database/ContentObserver;)V HSPLandroid/database/DataSetObservable;-><init>()V HSPLandroid/database/DataSetObservable;->notifyChanged()V -HSPLandroid/database/DataSetObservable;->notifyInvalidated()V +HSPLandroid/database/DataSetObservable;->notifyInvalidated()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/DataSetObserver;-><init>()V -HSPLandroid/database/DatabaseUtils;->appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V +HSPLandroid/database/DatabaseUtils;->appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/database/DatabaseUtils;->categorizeStatement(Ljava/lang/String;Ljava/lang/String;)I+]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/String;Ljava/lang/String; HSPLandroid/database/DatabaseUtils;->cursorFillWindow(Landroid/database/Cursor;ILandroid/database/CursorWindow;)V HSPLandroid/database/DatabaseUtils;->getSqlStatementPrefixSimple(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; @@ -5584,16 +5610,16 @@ HSPLandroid/database/MergeCursor;->getString(I)Ljava/lang/String; HSPLandroid/database/MergeCursor;->onMove(II)Z HSPLandroid/database/Observable;-><init>()V HSPLandroid/database/Observable;->registerObserver(Ljava/lang/Object;)V -HSPLandroid/database/Observable;->unregisterAll()V +HSPLandroid/database/Observable;->unregisterAll()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/Observable;->unregisterObserver(Ljava/lang/Object;)V HSPLandroid/database/sqlite/FeatureFlagsImpl;-><init>()V HSPLandroid/database/sqlite/FeatureFlagsImpl;->sqliteAllowTempTables()Z HSPLandroid/database/sqlite/Flags;-><clinit>()V -HSPLandroid/database/sqlite/Flags;->sqliteAllowTempTables()Z +HSPLandroid/database/sqlite/Flags;->sqliteAllowTempTables()Z+]Landroid/database/sqlite/FeatureFlags;Landroid/database/sqlite/FeatureFlagsImpl; HSPLandroid/database/sqlite/SQLiteClosable;-><init>()V HSPLandroid/database/sqlite/SQLiteClosable;->acquireReference()V -HSPLandroid/database/sqlite/SQLiteClosable;->close()V -HSPLandroid/database/sqlite/SQLiteClosable;->releaseReference()V+]Landroid/database/sqlite/SQLiteClosable;Landroid/database/CursorWindow;,Landroid/database/sqlite/SQLiteDatabase;,Landroid/database/sqlite/SQLiteQuery;,Landroid/database/sqlite/SQLiteStatement; +HSPLandroid/database/sqlite/SQLiteClosable;->close()V+]Landroid/database/sqlite/SQLiteClosable;Landroid/database/CursorWindow;,Landroid/database/sqlite/SQLiteStatement;,Landroid/database/sqlite/SQLiteDatabase;,Landroid/database/sqlite/SQLiteQuery; +HSPLandroid/database/sqlite/SQLiteClosable;->releaseReference()V+]Landroid/database/sqlite/SQLiteClosable;Landroid/database/CursorWindow;,Landroid/database/sqlite/SQLiteStatement;,Landroid/database/sqlite/SQLiteDatabase;,Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->getTruncateSize()J HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->init(Ljava/lang/String;)V HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->initIfNeeded()V @@ -5607,7 +5633,7 @@ HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->beginOperation(Ljava HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->dump(Landroid/util/Printer;)V HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperation(I)V HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperationDeferLog(I)Z -HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperationDeferLogLocked(I)Z +HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperationDeferLogLocked(I)Z+]Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteConnectionPool; HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->failOperation(ILjava/lang/Exception;)V HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->getOperationLocked(I)Landroid/database/sqlite/SQLiteConnection$Operation; HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->newOperationCookieLocked(I)I @@ -5623,38 +5649,38 @@ HSPLandroid/database/sqlite/SQLiteConnection$PreparedStatementCache;->getStateme HSPLandroid/database/sqlite/SQLiteConnection;->-$$Nest$fgetmConnectionPtr(Landroid/database/sqlite/SQLiteConnection;)J HSPLandroid/database/sqlite/SQLiteConnection;->-$$Nest$mfinalizePreparedStatement(Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V HSPLandroid/database/sqlite/SQLiteConnection;->-$$Nest$smnativePrepareStatement(JLjava/lang/String;)J -HSPLandroid/database/sqlite/SQLiteConnection;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)V +HSPLandroid/database/sqlite/SQLiteConnection;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)V+]Landroid/database/sqlite/SQLiteDatabaseConfiguration;Landroid/database/sqlite/SQLiteDatabaseConfiguration;]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; HSPLandroid/database/sqlite/SQLiteConnection;->acquirePreparedStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteConnection$PreparedStatement; HSPLandroid/database/sqlite/SQLiteConnection;->acquirePreparedStatementLI(Ljava/lang/String;)Landroid/database/sqlite/SQLiteConnection$PreparedStatement;+]Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache; -HSPLandroid/database/sqlite/SQLiteConnection;->applyBlockGuardPolicy(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V -HSPLandroid/database/sqlite/SQLiteConnection;->attachCancellationSignal(Landroid/os/CancellationSignal;)V -HSPLandroid/database/sqlite/SQLiteConnection;->bindArguments(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V+]Ljava/lang/Number;Ljava/lang/Double;,Ljava/lang/Integer;,Ljava/lang/Long;]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/database/sqlite/SQLiteConnection;->applyBlockGuardPolicy(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V+]Landroid/database/sqlite/SQLiteDatabaseConfiguration;Landroid/database/sqlite/SQLiteDatabaseConfiguration;]Ldalvik/system/BlockGuard$Policy;Ldalvik/system/BlockGuard$1;,Landroid/os/StrictMode$AndroidBlockGuardPolicy; +HSPLandroid/database/sqlite/SQLiteConnection;->attachCancellationSignal(Landroid/os/CancellationSignal;)V+]Landroid/os/CancellationSignal;Landroid/os/CancellationSignal; +HSPLandroid/database/sqlite/SQLiteConnection;->bindArguments(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V+]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/Number;Ljava/lang/Integer;,Ljava/lang/Double;,Ljava/lang/Long; HSPLandroid/database/sqlite/SQLiteConnection;->canonicalizeSyncMode(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteConnection;->checkDatabaseWiped()V HSPLandroid/database/sqlite/SQLiteConnection;->close()V HSPLandroid/database/sqlite/SQLiteConnection;->collectDbStats(Ljava/util/ArrayList;)V -HSPLandroid/database/sqlite/SQLiteConnection;->detachCancellationSignal(Landroid/os/CancellationSignal;)V +HSPLandroid/database/sqlite/SQLiteConnection;->detachCancellationSignal(Landroid/os/CancellationSignal;)V+]Landroid/os/CancellationSignal;Landroid/os/CancellationSignal; HSPLandroid/database/sqlite/SQLiteConnection;->dispose(Z)V HSPLandroid/database/sqlite/SQLiteConnection;->dumpUnsafe(Landroid/util/Printer;Z)V -HSPLandroid/database/sqlite/SQLiteConnection;->execute(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog;]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection; -HSPLandroid/database/sqlite/SQLiteConnection;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)I -HSPLandroid/database/sqlite/SQLiteConnection;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZLandroid/os/CancellationSignal;)I +HSPLandroid/database/sqlite/SQLiteConnection;->execute(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)I+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZLandroid/os/CancellationSignal;)I+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/CursorWindow;Landroid/database/CursorWindow;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J -HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog;]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection; -HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String;+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->executePerConnectionSqlFromConfiguration(I)V HSPLandroid/database/sqlite/SQLiteConnection;->finalize()V HSPLandroid/database/sqlite/SQLiteConnection;->finalizePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V HSPLandroid/database/sqlite/SQLiteConnection;->getConnectionId()I HSPLandroid/database/sqlite/SQLiteConnection;->getMainDbStatsUnsafe(IJJ)Landroid/database/sqlite/SQLiteDebug$DbStats; HSPLandroid/database/sqlite/SQLiteConnection;->isCacheable(I)Z -HSPLandroid/database/sqlite/SQLiteConnection;->isPreparedStatementInCache(Ljava/lang/String;)Z +HSPLandroid/database/sqlite/SQLiteConnection;->isPreparedStatementInCache(Ljava/lang/String;)Z+]Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache; HSPLandroid/database/sqlite/SQLiteConnection;->isPrimaryConnection()Z HSPLandroid/database/sqlite/SQLiteConnection;->maybeTruncateWalFile()V HSPLandroid/database/sqlite/SQLiteConnection;->obtainPreparedStatement(Ljava/lang/String;JIIZJ)Landroid/database/sqlite/SQLiteConnection$PreparedStatement; -HSPLandroid/database/sqlite/SQLiteConnection;->open()V +HSPLandroid/database/sqlite/SQLiteConnection;->open()V+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->open(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)Landroid/database/sqlite/SQLiteConnection; -HSPLandroid/database/sqlite/SQLiteConnection;->prepare(Ljava/lang/String;Landroid/database/sqlite/SQLiteStatementInfo;)V +HSPLandroid/database/sqlite/SQLiteConnection;->prepare(Ljava/lang/String;Landroid/database/sqlite/SQLiteStatementInfo;)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->reconfigure(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V HSPLandroid/database/sqlite/SQLiteConnection;->recyclePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V HSPLandroid/database/sqlite/SQLiteConnection;->releasePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V @@ -5679,6 +5705,7 @@ HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connect HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->handleMessage(Landroid/os/Message;)V HSPLandroid/database/sqlite/SQLiteConnectionPool;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V HSPLandroid/database/sqlite/SQLiteConnectionPool;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection; +HSPLandroid/database/sqlite/SQLiteConnectionPool;->clearAcquiredConnectionsPreparedStatementCache()V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Ljava/util/Iterator;Ljava/util/WeakHashMap$KeyIterator;]Ljava/util/Set;Ljava/util/WeakHashMap$KeySet; HSPLandroid/database/sqlite/SQLiteConnectionPool;->close()V HSPLandroid/database/sqlite/SQLiteConnectionPool;->closeAvailableConnectionLocked(I)Z HSPLandroid/database/sqlite/SQLiteConnectionPool;->closeAvailableConnectionsAndLogExceptionsLocked()V @@ -5692,13 +5719,13 @@ HSPLandroid/database/sqlite/SQLiteConnectionPool;->discardAcquiredConnectionsLoc HSPLandroid/database/sqlite/SQLiteConnectionPool;->dispose(Z)V HSPLandroid/database/sqlite/SQLiteConnectionPool;->dump(Landroid/util/Printer;ZLandroid/util/ArraySet;)V HSPLandroid/database/sqlite/SQLiteConnectionPool;->finalize()V -HSPLandroid/database/sqlite/SQLiteConnectionPool;->finishAcquireConnectionLocked(Landroid/database/sqlite/SQLiteConnection;I)V +HSPLandroid/database/sqlite/SQLiteConnectionPool;->finishAcquireConnectionLocked(Landroid/database/sqlite/SQLiteConnection;I)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap; HSPLandroid/database/sqlite/SQLiteConnectionPool;->getPath()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteConnectionPool;->getPriority(I)I HSPLandroid/database/sqlite/SQLiteConnectionPool;->isSessionBlockingImportantConnectionWaitersLocked(ZI)Z HSPLandroid/database/sqlite/SQLiteConnectionPool;->markAcquiredConnectionsLocked(Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;)V HSPLandroid/database/sqlite/SQLiteConnectionPool;->obtainConnectionWaiterLocked(Ljava/lang/Thread;JIZLjava/lang/String;I)Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter; -HSPLandroid/database/sqlite/SQLiteConnectionPool;->onStatementExecuted(J)V +HSPLandroid/database/sqlite/SQLiteConnectionPool;->onStatementExecuted(J)V+]Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/concurrent/atomic/AtomicLong; HSPLandroid/database/sqlite/SQLiteConnectionPool;->open()V HSPLandroid/database/sqlite/SQLiteConnectionPool;->open(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)Landroid/database/sqlite/SQLiteConnectionPool; HSPLandroid/database/sqlite/SQLiteConnectionPool;->openConnectionLocked(Landroid/database/sqlite/SQLiteDatabaseConfiguration;Z)Landroid/database/sqlite/SQLiteConnection; @@ -5706,23 +5733,23 @@ HSPLandroid/database/sqlite/SQLiteConnectionPool;->reconfigure(Landroid/database HSPLandroid/database/sqlite/SQLiteConnectionPool;->reconfigureAllConnectionsLocked()V HSPLandroid/database/sqlite/SQLiteConnectionPool;->recycleConnectionLocked(Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;)Z HSPLandroid/database/sqlite/SQLiteConnectionPool;->recycleConnectionWaiterLocked(Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;)V -HSPLandroid/database/sqlite/SQLiteConnectionPool;->releaseConnection(Landroid/database/sqlite/SQLiteConnection;)V +HSPLandroid/database/sqlite/SQLiteConnectionPool;->releaseConnection(Landroid/database/sqlite/SQLiteConnection;)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteConnectionPool;->setMaxConnectionPoolSizeLocked()V HSPLandroid/database/sqlite/SQLiteConnectionPool;->shouldYieldConnection(Landroid/database/sqlite/SQLiteConnection;I)Z HSPLandroid/database/sqlite/SQLiteConnectionPool;->throwIfClosedLocked()V -HSPLandroid/database/sqlite/SQLiteConnectionPool;->tryAcquireNonPrimaryConnectionLocked(Ljava/lang/String;I)Landroid/database/sqlite/SQLiteConnection; +HSPLandroid/database/sqlite/SQLiteConnectionPool;->tryAcquireNonPrimaryConnectionLocked(Ljava/lang/String;I)Landroid/database/sqlite/SQLiteConnection;+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteConnectionPool;->tryAcquirePrimaryConnectionLocked(I)Landroid/database/sqlite/SQLiteConnection; -HSPLandroid/database/sqlite/SQLiteConnectionPool;->waitForConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection; +HSPLandroid/database/sqlite/SQLiteConnectionPool;->waitForConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection;+]Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean; HSPLandroid/database/sqlite/SQLiteConnectionPool;->wakeConnectionWaitersLocked()V HSPLandroid/database/sqlite/SQLiteConstraintException;-><init>(Ljava/lang/String;)V -HSPLandroid/database/sqlite/SQLiteCursor;-><init>(Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)V -HSPLandroid/database/sqlite/SQLiteCursor;->close()V -HSPLandroid/database/sqlite/SQLiteCursor;->fillWindow(I)V +HSPLandroid/database/sqlite/SQLiteCursor;-><init>(Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)V+]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery; +HSPLandroid/database/sqlite/SQLiteCursor;->close()V+]Landroid/database/sqlite/SQLiteCursorDriver;Landroid/database/sqlite/SQLiteDirectCursorDriver;]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery; +HSPLandroid/database/sqlite/SQLiteCursor;->fillWindow(I)V+]Landroid/database/CursorWindow;Landroid/database/CursorWindow;]Landroid/database/sqlite/SQLiteCursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteCursor;->finalize()V -HSPLandroid/database/sqlite/SQLiteCursor;->getColumnIndex(Ljava/lang/String;)I +HSPLandroid/database/sqlite/SQLiteCursor;->getColumnIndex(Ljava/lang/String;)I+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/Map;Ljava/util/HashMap; HSPLandroid/database/sqlite/SQLiteCursor;->getColumnNames()[Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteCursor;->getCount()I -HSPLandroid/database/sqlite/SQLiteCursor;->getDatabase()Landroid/database/sqlite/SQLiteDatabase; +HSPLandroid/database/sqlite/SQLiteCursor;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;+]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteCursor;->onMove(II)Z+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/sqlite/SQLiteDatabase$$ExternalSyntheticLambda0;-><init>(Landroid/database/sqlite/SQLiteDatabase;)V HSPLandroid/database/sqlite/SQLiteDatabase$$ExternalSyntheticLambda0;->get()Ljava/lang/Object; @@ -5749,13 +5776,13 @@ HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->-$$Nest$fgetmOpenFlags(L HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->-$$Nest$fgetmSyncMode(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;-><init>(ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;-><init>(ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$OpenParams-IA;)V -HSPLandroid/database/sqlite/SQLiteDatabase;-><init>(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V +HSPLandroid/database/sqlite/SQLiteDatabase;-><init>(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V+]Landroid/database/sqlite/SQLiteDatabaseConfiguration;Landroid/database/sqlite/SQLiteDatabaseConfiguration; HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransaction()V HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransaction(Landroid/database/sqlite/SQLiteTransactionListener;Z)V HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionNonExclusive()V HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionWithListener(Landroid/database/sqlite/SQLiteTransactionListener;)V HSPLandroid/database/sqlite/SQLiteDatabase;->collectDbStats(Ljava/util/ArrayList;)V -HSPLandroid/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;+]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; +HSPLandroid/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement; HSPLandroid/database/sqlite/SQLiteDatabase;->createSession()Landroid/database/sqlite/SQLiteSession; HSPLandroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;)Z @@ -5770,7 +5797,7 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V HSPLandroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;[Ljava/lang/Object;)V HSPLandroid/database/sqlite/SQLiteDatabase;->executeSql(Ljava/lang/String;[Ljava/lang/Object;)I HSPLandroid/database/sqlite/SQLiteDatabase;->finalize()V -HSPLandroid/database/sqlite/SQLiteDatabase;->findEditTable(Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/database/sqlite/SQLiteDatabase;->findEditTable(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabase;->getActiveDatabasePools()Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteDatabase;->getActiveDatabases()Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteDatabase;->getFileTimestamps(Ljava/lang/String;)Ljava/lang/String; @@ -5778,12 +5805,12 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->getMaximumSize()J HSPLandroid/database/sqlite/SQLiteDatabase;->getPageSize()J HSPLandroid/database/sqlite/SQLiteDatabase;->getPath()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadDefaultConnectionFlags(Z)I -HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadSession()Landroid/database/sqlite/SQLiteSession; +HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadSession()Landroid/database/sqlite/SQLiteSession;+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; HSPLandroid/database/sqlite/SQLiteDatabase;->getVersion()I -HSPLandroid/database/sqlite/SQLiteDatabase;->inTransaction()Z +HSPLandroid/database/sqlite/SQLiteDatabase;->inTransaction()Z+]Landroid/database/sqlite/SQLiteSession;Landroid/database/sqlite/SQLiteSession;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J HSPLandroid/database/sqlite/SQLiteDatabase;->insertOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J -HSPLandroid/database/sqlite/SQLiteDatabase;->insertWithOnConflict(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;I)J+]Landroid/content/ContentValues;Landroid/content/ContentValues;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase;]Landroid/database/sqlite/SQLiteStatement;Landroid/database/sqlite/SQLiteStatement;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; +HSPLandroid/database/sqlite/SQLiteDatabase;->insertWithOnConflict(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;I)J HSPLandroid/database/sqlite/SQLiteDatabase;->isMainThread()Z HSPLandroid/database/sqlite/SQLiteDatabase;->isOpen()Z HSPLandroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z @@ -5801,11 +5828,11 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang HSPLandroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; HSPLandroid/database/sqlite/SQLiteDatabase;->query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; HSPLandroid/database/sqlite/SQLiteDatabase;->query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor; -HSPLandroid/database/sqlite/SQLiteDatabase;->queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor; +HSPLandroid/database/sqlite/SQLiteDatabase;->queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;+]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; HSPLandroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor; -HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor; +HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;+]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; +HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;+]Landroid/database/sqlite/SQLiteCursorDriver;Landroid/database/sqlite/SQLiteDirectCursorDriver;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteDatabase;->releaseMemory()I HSPLandroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J HSPLandroid/database/sqlite/SQLiteDatabase;->replaceOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J @@ -5813,26 +5840,26 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->setForeignKeyConstraintsEnabled(Z)V HSPLandroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V HSPLandroid/database/sqlite/SQLiteDatabase;->throwIfNotOpenLocked()V HSPLandroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I -HSPLandroid/database/sqlite/SQLiteDatabase;->updateWithOnConflict(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;I)I +HSPLandroid/database/sqlite/SQLiteDatabase;->updateWithOnConflict(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;I)I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ContentValues;Landroid/content/ContentValues;]Landroid/database/sqlite/SQLiteStatement;Landroid/database/sqlite/SQLiteStatement;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; HSPLandroid/database/sqlite/SQLiteDatabase;->validateSql(Ljava/lang/String;Landroid/os/CancellationSignal;)V HSPLandroid/database/sqlite/SQLiteDatabase;->yieldIfContendedHelper(ZJ)Z HSPLandroid/database/sqlite/SQLiteDatabase;->yieldIfContendedSafely(J)Z HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Ljava/lang/String;I)V -HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isInMemoryDb()Z +HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isInMemoryDb()Z+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isLegacyCompatibilityWalEnabled()Z HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isReadOnlyDatabase()Z HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isWalEnabledInternal()Z HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->resolveJournalMode()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->resolveSyncMode()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->stripPathForLogs(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V +HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Object;Ljava/lang/String;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteDebug$NoPreloadHolder;-><clinit>()V HSPLandroid/database/sqlite/SQLiteDebug;->getDatabaseInfo()Landroid/database/sqlite/SQLiteDebug$PagerStats; HSPLandroid/database/sqlite/SQLiteDebug;->shouldLogSlowQuery(J)Z HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)V HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->cursorClosed()V -HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->query(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;[Ljava/lang/String;)Landroid/database/Cursor; +HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->query(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;[Ljava/lang/String;)Landroid/database/Cursor;+]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteException;-><init>(Ljava/lang/String;)V HSPLandroid/database/sqlite/SQLiteGlobal;->checkDbWipe()Z HSPLandroid/database/sqlite/SQLiteGlobal;->getDefaultJournalMode()Ljava/lang/String; @@ -5849,7 +5876,7 @@ HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;L HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;IILandroid/database/DatabaseErrorHandler;)V HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)V HSPLandroid/database/sqlite/SQLiteOpenHelper;->close()V -HSPLandroid/database/sqlite/SQLiteOpenHelper;->getDatabaseLocked(Z)Landroid/database/sqlite/SQLiteDatabase; +HSPLandroid/database/sqlite/SQLiteOpenHelper;->getDatabaseLocked(Z)Landroid/database/sqlite/SQLiteDatabase;+]Ljava/io/File;Ljava/io/File;]Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteOpenHelper;->getDatabaseName()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteOpenHelper;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteOpenHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; @@ -5859,9 +5886,9 @@ HSPLandroid/database/sqlite/SQLiteOpenHelper;->setFilePermissionsForDb(Ljava/lan HSPLandroid/database/sqlite/SQLiteOpenHelper;->setIdleConnectionTimeout(J)V HSPLandroid/database/sqlite/SQLiteOpenHelper;->setOpenParamsBuilder(Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V HSPLandroid/database/sqlite/SQLiteOpenHelper;->setWriteAheadLoggingEnabled(Z)V -HSPLandroid/database/sqlite/SQLiteProgram;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V +HSPLandroid/database/sqlite/SQLiteProgram;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/database/sqlite/SQLiteSession;Landroid/database/sqlite/SQLiteSession;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteProgram;->bind(ILjava/lang/Object;)V -HSPLandroid/database/sqlite/SQLiteProgram;->bindAllArgsAsStrings([Ljava/lang/String;)V +HSPLandroid/database/sqlite/SQLiteProgram;->bindAllArgsAsStrings([Ljava/lang/String;)V+]Landroid/database/sqlite/SQLiteProgram;Landroid/database/sqlite/SQLiteQuery;,Landroid/database/sqlite/SQLiteStatement; HSPLandroid/database/sqlite/SQLiteProgram;->bindBlob(I[B)V HSPLandroid/database/sqlite/SQLiteProgram;->bindDouble(ID)V HSPLandroid/database/sqlite/SQLiteProgram;->bindLong(IJ)V @@ -5870,19 +5897,19 @@ HSPLandroid/database/sqlite/SQLiteProgram;->bindString(ILjava/lang/String;)V HSPLandroid/database/sqlite/SQLiteProgram;->clearBindings()V HSPLandroid/database/sqlite/SQLiteProgram;->getBindArgs()[Ljava/lang/Object; HSPLandroid/database/sqlite/SQLiteProgram;->getColumnNames()[Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteProgram;->getConnectionFlags()I +HSPLandroid/database/sqlite/SQLiteProgram;->getConnectionFlags()I+]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteProgram;->getDatabase()Landroid/database/sqlite/SQLiteDatabase; -HSPLandroid/database/sqlite/SQLiteProgram;->getSession()Landroid/database/sqlite/SQLiteSession; +HSPLandroid/database/sqlite/SQLiteProgram;->getSession()Landroid/database/sqlite/SQLiteSession;+]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteProgram;->getSql()Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteProgram;->onAllReferencesReleased()V +HSPLandroid/database/sqlite/SQLiteProgram;->onAllReferencesReleased()V+]Landroid/database/sqlite/SQLiteProgram;Landroid/database/sqlite/SQLiteStatement;,Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteQuery;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Landroid/os/CancellationSignal;)V -HSPLandroid/database/sqlite/SQLiteQuery;->fillWindow(Landroid/database/CursorWindow;IIZ)I +HSPLandroid/database/sqlite/SQLiteQuery;->fillWindow(Landroid/database/CursorWindow;IIZ)I+]Landroid/database/sqlite/SQLiteSession;Landroid/database/sqlite/SQLiteSession;]Landroid/database/CursorWindow;Landroid/database/CursorWindow;]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteQueryBuilder;-><init>()V -HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V -HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)V +HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendWhere(Ljava/lang/CharSequence;)V HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQuery([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQueryString(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQueryString(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeProjection([Ljava/lang/String;)[Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeSingleProjection(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeSingleProjectionOrThrow(Ljava/lang/String;)Ljava/lang/String; @@ -5902,25 +5929,25 @@ HSPLandroid/database/sqlite/SQLiteQueryBuilder;->wrap(Ljava/lang/String;)Ljava/l HSPLandroid/database/sqlite/SQLiteSession$Transaction;-><init>()V HSPLandroid/database/sqlite/SQLiteSession$Transaction;-><init>(Landroid/database/sqlite/SQLiteSession$Transaction-IA;)V HSPLandroid/database/sqlite/SQLiteSession;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;)V -HSPLandroid/database/sqlite/SQLiteSession;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)V +HSPLandroid/database/sqlite/SQLiteSession;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)V+]Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteConnectionPool; HSPLandroid/database/sqlite/SQLiteSession;->beginTransaction(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V HSPLandroid/database/sqlite/SQLiteSession;->beginTransactionUnchecked(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V HSPLandroid/database/sqlite/SQLiteSession;->closeOpenDependents()V+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque; HSPLandroid/database/sqlite/SQLiteSession;->endTransaction(Landroid/os/CancellationSignal;)V HSPLandroid/database/sqlite/SQLiteSession;->endTransactionUnchecked(Landroid/os/CancellationSignal;Z)V -HSPLandroid/database/sqlite/SQLiteSession;->execute(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)V -HSPLandroid/database/sqlite/SQLiteSession;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)I -HSPLandroid/database/sqlite/SQLiteSession;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZILandroid/os/CancellationSignal;)I +HSPLandroid/database/sqlite/SQLiteSession;->execute(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection; +HSPLandroid/database/sqlite/SQLiteSession;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)I+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection; +HSPLandroid/database/sqlite/SQLiteSession;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZILandroid/os/CancellationSignal;)I+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection; HSPLandroid/database/sqlite/SQLiteSession;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J HSPLandroid/database/sqlite/SQLiteSession;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J HSPLandroid/database/sqlite/SQLiteSession;->executeForString(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteSession;->executeSpecial(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z +HSPLandroid/database/sqlite/SQLiteSession;->executeSpecial(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z+]Landroid/os/CancellationSignal;Landroid/os/CancellationSignal; HSPLandroid/database/sqlite/SQLiteSession;->hasNestedTransaction()Z HSPLandroid/database/sqlite/SQLiteSession;->hasTransaction()Z HSPLandroid/database/sqlite/SQLiteSession;->obtainTransaction(ILandroid/database/sqlite/SQLiteTransactionListener;)Landroid/database/sqlite/SQLiteSession$Transaction; -HSPLandroid/database/sqlite/SQLiteSession;->prepare(Ljava/lang/String;ILandroid/os/CancellationSignal;Landroid/database/sqlite/SQLiteStatementInfo;)V +HSPLandroid/database/sqlite/SQLiteSession;->prepare(Ljava/lang/String;ILandroid/os/CancellationSignal;Landroid/database/sqlite/SQLiteStatementInfo;)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/os/CancellationSignal;Landroid/os/CancellationSignal; HSPLandroid/database/sqlite/SQLiteSession;->recycleTransaction(Landroid/database/sqlite/SQLiteSession$Transaction;)V -HSPLandroid/database/sqlite/SQLiteSession;->releaseConnection()V +HSPLandroid/database/sqlite/SQLiteSession;->releaseConnection()V+]Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteConnectionPool; HSPLandroid/database/sqlite/SQLiteSession;->setTransactionSuccessful()V HSPLandroid/database/sqlite/SQLiteSession;->throwIfNestedTransaction()V HSPLandroid/database/sqlite/SQLiteSession;->throwIfNoTransaction()V @@ -5930,7 +5957,7 @@ HSPLandroid/database/sqlite/SQLiteSession;->yieldTransactionUnchecked(JLandroid/ HSPLandroid/database/sqlite/SQLiteStatement;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;)V HSPLandroid/database/sqlite/SQLiteStatement;->execute()V+]Landroid/database/sqlite/SQLiteSession;Landroid/database/sqlite/SQLiteSession;]Landroid/database/sqlite/SQLiteStatement;Landroid/database/sqlite/SQLiteStatement; HSPLandroid/database/sqlite/SQLiteStatement;->executeInsert()J -HSPLandroid/database/sqlite/SQLiteStatement;->executeUpdateDelete()I +HSPLandroid/database/sqlite/SQLiteStatement;->executeUpdateDelete()I+]Landroid/database/sqlite/SQLiteSession;Landroid/database/sqlite/SQLiteSession;]Landroid/database/sqlite/SQLiteStatement;Landroid/database/sqlite/SQLiteStatement; HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForLong()J HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForString()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteStatementInfo;-><init>()V @@ -5965,33 +5992,33 @@ HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/g HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V HSPLandroid/graphics/BaseCanvas;->drawColor(I)V HSPLandroid/graphics/BaseCanvas;->drawLine(FFFFLandroid/graphics/Paint;)V -HSPLandroid/graphics/BaseCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V+]Landroid/graphics/Path;Landroid/graphics/Path; +HSPLandroid/graphics/BaseCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V HSPLandroid/graphics/BaseCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V HSPLandroid/graphics/BaseCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V HSPLandroid/graphics/BaseCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V -HSPLandroid/graphics/BaseCanvas;->throwIfHasHwFeaturesInSwMode(Landroid/graphics/Paint;)V+]Landroid/graphics/BaseCanvas;Landroid/graphics/Canvas; +HSPLandroid/graphics/BaseCanvas;->throwIfHasHwFeaturesInSwMode(Landroid/graphics/Paint;)V HSPLandroid/graphics/BaseCanvas;->throwIfHasHwFeaturesInSwMode(Landroid/graphics/Shader;)V HSPLandroid/graphics/BaseCanvas;->throwIfHwBitmapInSwMode(Landroid/graphics/Bitmap;)V HSPLandroid/graphics/BaseRecordingCanvas;-><init>(J)V -HSPLandroid/graphics/BaseRecordingCanvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V +HSPLandroid/graphics/BaseRecordingCanvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V+]Landroid/graphics/BaseRecordingCanvas;Landroid/graphics/RecordingCanvas; HSPLandroid/graphics/BaseRecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V -HSPLandroid/graphics/BaseRecordingCanvas;->drawCircle(FFFLandroid/graphics/Paint;)V +HSPLandroid/graphics/BaseRecordingCanvas;->drawCircle(FFFLandroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint; HSPLandroid/graphics/BaseRecordingCanvas;->drawColor(I)V HSPLandroid/graphics/BaseRecordingCanvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawLine(FFFFLandroid/graphics/Paint;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawOval(FFFFLandroid/graphics/Paint;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V -HSPLandroid/graphics/BaseRecordingCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V+]Landroid/graphics/Paint;missing_types]Landroid/graphics/Path;Landroid/graphics/Path; +HSPLandroid/graphics/BaseRecordingCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/Path;Landroid/graphics/Path; HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(FFFFLandroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint; HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V+]Landroid/graphics/BaseRecordingCanvas;Landroid/graphics/RecordingCanvas; -HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint; +HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(FFFFFFLandroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint; -HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V+]Landroid/graphics/BaseRecordingCanvas;Landroid/graphics/RecordingCanvas; -HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V +HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V +HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/Layout$Ellipsizer; HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V -HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V +HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;Landroid/text/SpannableString; HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V HSPLandroid/graphics/Bitmap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Bitmap; HSPLandroid/graphics/Bitmap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -6072,7 +6099,7 @@ HSPLandroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;II)V HSPLandroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V HSPLandroid/graphics/BitmapShader;->createNativeInstance(JZ)J HSPLandroid/graphics/BitmapShader;->shouldDiscardNativeInstance(Z)Z -HSPLandroid/graphics/BlendMode;->blendModeToPorterDuffMode(Landroid/graphics/BlendMode;)Landroid/graphics/PorterDuff$Mode;+]Landroid/graphics/BlendMode;Landroid/graphics/BlendMode; +HSPLandroid/graphics/BlendMode;->blendModeToPorterDuffMode(Landroid/graphics/BlendMode;)Landroid/graphics/PorterDuff$Mode; HSPLandroid/graphics/BlendMode;->fromValue(I)Landroid/graphics/BlendMode; HSPLandroid/graphics/BlendMode;->getXfermode()Landroid/graphics/Xfermode; HSPLandroid/graphics/BlendMode;->toValue(Landroid/graphics/BlendMode;)I @@ -6136,8 +6163,8 @@ HSPLandroid/graphics/Canvas;->rotate(FFF)V HSPLandroid/graphics/Canvas;->save()I HSPLandroid/graphics/Canvas;->save(I)I HSPLandroid/graphics/Canvas;->saveLayer(FFFFLandroid/graphics/Paint;I)I -HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;)I+]Landroid/graphics/Canvas;Landroid/graphics/Canvas;,Landroid/graphics/RecordingCanvas; -HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I+]Landroid/graphics/Canvas;Landroid/graphics/Canvas;,Landroid/graphics/RecordingCanvas; +HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;)I +HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I HSPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFI)I HSPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFII)I HSPLandroid/graphics/Canvas;->saveUnclippedLayer(IIII)I @@ -6170,7 +6197,7 @@ HSPLandroid/graphics/Color;->green()F HSPLandroid/graphics/Color;->green(I)I HSPLandroid/graphics/Color;->green(J)F HSPLandroid/graphics/Color;->luminance()F -HSPLandroid/graphics/Color;->pack(FFFFLandroid/graphics/ColorSpace;)J+]Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$Rgb; +HSPLandroid/graphics/Color;->pack(FFFFLandroid/graphics/ColorSpace;)J HSPLandroid/graphics/Color;->pack(I)J HSPLandroid/graphics/Color;->parseColor(Ljava/lang/String;)I HSPLandroid/graphics/Color;->red()F @@ -6296,8 +6323,8 @@ HSPLandroid/graphics/HardwareRendererObserver$$ExternalSyntheticLambda0;-><init> HSPLandroid/graphics/HardwareRendererObserver$$ExternalSyntheticLambda0;->run()V HSPLandroid/graphics/HardwareRendererObserver;-><init>(Landroid/graphics/HardwareRendererObserver$OnFrameMetricsAvailableListener;[JLandroid/os/Handler;Z)V HSPLandroid/graphics/HardwareRendererObserver;->getNativeInstance()J -HSPLandroid/graphics/HardwareRendererObserver;->invokeDataAvailable(Ljava/lang/ref/WeakReference;)Z -HSPLandroid/graphics/HardwareRendererObserver;->notifyDataAvailable()V +HSPLandroid/graphics/HardwareRendererObserver;->invokeDataAvailable(Ljava/lang/ref/WeakReference;)Z+]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/graphics/HardwareRendererObserver;->notifyDataAvailable()V+]Landroid/os/Handler;Landroid/os/Handler;,Landroid/view/ViewRootImpl$ViewRootHandler; HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;-><init>(Landroid/content/res/AssetManager$AssetInputStream;Landroid/content/res/Resources;Landroid/util/TypedValue;)V HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->createImageDecoder(Z)Landroid/graphics/ImageDecoder; HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->getDensity()I @@ -6362,18 +6389,18 @@ HSPLandroid/graphics/LeakyTypefaceStorage;->writeTypefaceToParcel(Landroid/graph HSPLandroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V HSPLandroid/graphics/LinearGradient;-><init>(FFFFJJLandroid/graphics/Shader$TileMode;)V HSPLandroid/graphics/LinearGradient;-><init>(FFFF[I[FLandroid/graphics/Shader$TileMode;)V -HSPLandroid/graphics/LinearGradient;-><init>(FFFF[J[FLandroid/graphics/Shader$TileMode;)V +HSPLandroid/graphics/LinearGradient;-><init>(FFFF[J[FLandroid/graphics/Shader$TileMode;)V+][J[J HSPLandroid/graphics/LinearGradient;-><init>(FFFF[J[FLandroid/graphics/Shader$TileMode;Landroid/graphics/ColorSpace;)V -HSPLandroid/graphics/LinearGradient;->createNativeInstance(JZ)J+]Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$Rgb;]Landroid/graphics/LinearGradient;Landroid/graphics/LinearGradient; +HSPLandroid/graphics/LinearGradient;->createNativeInstance(JZ)J HSPLandroid/graphics/MaskFilter;->finalize()V HSPLandroid/graphics/Matrix;-><init>()V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; -HSPLandroid/graphics/Matrix;-><init>(Landroid/graphics/Matrix;)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/graphics/Matrix;-><init>(Landroid/graphics/Matrix;)V HSPLandroid/graphics/Matrix;->checkPointArrays([FI[FII)V HSPLandroid/graphics/Matrix;->equals(Ljava/lang/Object;)Z HSPLandroid/graphics/Matrix;->getValues([F)V HSPLandroid/graphics/Matrix;->invert(Landroid/graphics/Matrix;)Z HSPLandroid/graphics/Matrix;->isIdentity()Z -HSPLandroid/graphics/Matrix;->mapPoints([F)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; +HSPLandroid/graphics/Matrix;->mapPoints([F)V HSPLandroid/graphics/Matrix;->mapPoints([FI[FII)V HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z @@ -6411,18 +6438,18 @@ HSPLandroid/graphics/Outline;-><init>()V HSPLandroid/graphics/Outline;->isEmpty()Z HSPLandroid/graphics/Outline;->setAlpha(F)V HSPLandroid/graphics/Outline;->setConvexPath(Landroid/graphics/Path;)V -HSPLandroid/graphics/Outline;->setEmpty()V+]Landroid/graphics/Path;Landroid/graphics/Path;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/graphics/Outline;->setEmpty()V+]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/graphics/Outline;->setOval(IIII)V HSPLandroid/graphics/Outline;->setOval(Landroid/graphics/Rect;)V HSPLandroid/graphics/Outline;->setPath(Landroid/graphics/Path;)V -HSPLandroid/graphics/Outline;->setRect(IIII)V +HSPLandroid/graphics/Outline;->setRect(IIII)V+]Landroid/graphics/Outline;Landroid/graphics/Outline; HSPLandroid/graphics/Outline;->setRect(Landroid/graphics/Rect;)V -HSPLandroid/graphics/Outline;->setRoundRect(IIIIF)V+]Landroid/graphics/Outline;Landroid/graphics/Outline;]Landroid/graphics/Rect;Landroid/graphics/Rect; -HSPLandroid/graphics/Outline;->setRoundRect(Landroid/graphics/Rect;F)V+]Landroid/graphics/Outline;Landroid/graphics/Outline; +HSPLandroid/graphics/Outline;->setRoundRect(IIIIF)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/Outline;Landroid/graphics/Outline; +HSPLandroid/graphics/Outline;->setRoundRect(Landroid/graphics/Rect;F)V HSPLandroid/graphics/Paint$FontMetrics;-><init>()V HSPLandroid/graphics/Paint$FontMetricsInt;-><init>()V HSPLandroid/graphics/Paint;-><init>()V -HSPLandroid/graphics/Paint;-><init>(I)V+]Landroid/graphics/Paint;missing_types]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/graphics/Paint;-><init>(I)V+]Landroid/graphics/Paint;Landroid/graphics/Paint;,Landroid/text/TextPaint;]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; HSPLandroid/graphics/Paint;-><init>(Landroid/graphics/Paint;)V HSPLandroid/graphics/Paint;->ascent()F HSPLandroid/graphics/Paint;->descent()F @@ -6434,17 +6461,18 @@ HSPLandroid/graphics/Paint;->getFlags()I HSPLandroid/graphics/Paint;->getFontFeatureSettings()Ljava/lang/String; HSPLandroid/graphics/Paint;->getFontMetrics()Landroid/graphics/Paint$FontMetrics; HSPLandroid/graphics/Paint;->getFontMetrics(Landroid/graphics/Paint$FontMetrics;)F -HSPLandroid/graphics/Paint;->getFontMetricsInt()Landroid/graphics/Paint$FontMetricsInt; +HSPLandroid/graphics/Paint;->getFontMetricsInt()Landroid/graphics/Paint$FontMetricsInt;+]Landroid/graphics/Paint;Landroid/text/TextPaint; HSPLandroid/graphics/Paint;->getFontMetricsInt(Landroid/graphics/Paint$FontMetricsInt;)I -HSPLandroid/graphics/Paint;->getFontMetricsInt(Ljava/lang/CharSequence;IIIIZLandroid/graphics/Paint$FontMetricsInt;)V+]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/graphics/Paint;->getFontMetricsInt(Ljava/lang/CharSequence;IIIIZLandroid/graphics/Paint$FontMetricsInt;)V HSPLandroid/graphics/Paint;->getFontVariationSettings()Ljava/lang/String; HSPLandroid/graphics/Paint;->getHinting()I HSPLandroid/graphics/Paint;->getLetterSpacing()F HSPLandroid/graphics/Paint;->getMaskFilter()Landroid/graphics/MaskFilter; -HSPLandroid/graphics/Paint;->getNativeInstance()J+]Landroid/graphics/ColorFilter;Landroid/graphics/BlendModeColorFilter;,Landroid/graphics/PorterDuffColorFilter;]Landroid/graphics/Paint;missing_types]Landroid/graphics/Shader;Landroid/graphics/BitmapShader;,Landroid/graphics/LinearGradient;,Landroid/graphics/drawable/RippleShader; +HSPLandroid/graphics/Paint;->getNativeInstance()J+]Landroid/graphics/ColorFilter;Landroid/graphics/PorterDuffColorFilter;,Landroid/graphics/BlendModeColorFilter;]Landroid/graphics/Paint;missing_types]Landroid/graphics/Shader;Landroid/graphics/LinearGradient;,Landroid/graphics/drawable/RippleShader;,Landroid/graphics/BitmapShader;,Landroid/graphics/RadialGradient; HSPLandroid/graphics/Paint;->getRunAdvance(Ljava/lang/CharSequence;IIIIZI)F HSPLandroid/graphics/Paint;->getRunAdvance([CIIIIZI)F HSPLandroid/graphics/Paint;->getRunCharacterAdvance(Ljava/lang/CharSequence;IIIIZI[FI)F +HSPLandroid/graphics/Paint;->getRunCharacterAdvance(Ljava/lang/CharSequence;IIIIZI[FILandroid/graphics/RectF;Landroid/graphics/Paint$RunInfo;)F+]Landroid/graphics/Paint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;megamorphic_types HSPLandroid/graphics/Paint;->getRunCharacterAdvance([CIIIIZI[FI)F HSPLandroid/graphics/Paint;->getShader()Landroid/graphics/Shader; HSPLandroid/graphics/Paint;->getShadowLayerColor()I @@ -6458,7 +6486,7 @@ HSPLandroid/graphics/Paint;->getStrokeMiter()F HSPLandroid/graphics/Paint;->getStrokeWidth()F HSPLandroid/graphics/Paint;->getStyle()Landroid/graphics/Paint$Style; HSPLandroid/graphics/Paint;->getTextAlign()Landroid/graphics/Paint$Align; -HSPLandroid/graphics/Paint;->getTextBounds(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V +HSPLandroid/graphics/Paint;->getTextBounds(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V+]Landroid/graphics/Paint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;Landroid/text/SpannableString; HSPLandroid/graphics/Paint;->getTextBounds(Ljava/lang/String;IILandroid/graphics/Rect;)V HSPLandroid/graphics/Paint;->getTextBounds([CIILandroid/graphics/Rect;)V HSPLandroid/graphics/Paint;->getTextLocale()Ljava/util/Locale; @@ -6504,7 +6532,7 @@ HSPLandroid/graphics/Paint;->setMaskFilter(Landroid/graphics/MaskFilter;)Landroi HSPLandroid/graphics/Paint;->setPathEffect(Landroid/graphics/PathEffect;)Landroid/graphics/PathEffect; HSPLandroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader; HSPLandroid/graphics/Paint;->setShadowLayer(FFFI)V -HSPLandroid/graphics/Paint;->setShadowLayer(FFFJ)V+]Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$Rgb; +HSPLandroid/graphics/Paint;->setShadowLayer(FFFJ)V HSPLandroid/graphics/Paint;->setStartHyphenEdit(I)V HSPLandroid/graphics/Paint;->setStrokeCap(Landroid/graphics/Paint$Cap;)V HSPLandroid/graphics/Paint;->setStrokeJoin(Landroid/graphics/Paint$Join;)V @@ -6519,9 +6547,9 @@ HSPLandroid/graphics/Paint;->setTextSkewX(F)V HSPLandroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface; HSPLandroid/graphics/Paint;->setUnderlineText(Z)V HSPLandroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode; -HSPLandroid/graphics/Paint;->syncTextLocalesWithMinikin()V+]Landroid/os/LocaleList;Landroid/os/LocaleList;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/graphics/Paint;->syncTextLocalesWithMinikin()V+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/os/LocaleList;Landroid/os/LocaleList; HSPLandroid/graphics/PaintFlagsDrawFilter;-><init>(II)V -HSPLandroid/graphics/Path;-><init>()V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/graphics/Path;-><init>()V HSPLandroid/graphics/Path;-><init>(Landroid/graphics/Path;)V HSPLandroid/graphics/Path;->addArc(FFFFFF)V HSPLandroid/graphics/Path;->addArc(Landroid/graphics/RectF;FF)V @@ -6530,7 +6558,7 @@ HSPLandroid/graphics/Path;->addOval(FFFFLandroid/graphics/Path$Direction;)V HSPLandroid/graphics/Path;->addOval(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V HSPLandroid/graphics/Path;->addPath(Landroid/graphics/Path;Landroid/graphics/Matrix;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/graphics/Path;->addRect(FFFFLandroid/graphics/Path$Direction;)V -HSPLandroid/graphics/Path;->addRect(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V+]Landroid/graphics/Path;Landroid/graphics/Path; +HSPLandroid/graphics/Path;->addRect(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V HSPLandroid/graphics/Path;->addRoundRect(FFFFFFLandroid/graphics/Path$Direction;)V HSPLandroid/graphics/Path;->addRoundRect(FFFF[FLandroid/graphics/Path$Direction;)V HSPLandroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Path$Direction;)V @@ -6548,8 +6576,8 @@ HSPLandroid/graphics/Path;->isEmpty()Z HSPLandroid/graphics/Path;->lineTo(FF)V HSPLandroid/graphics/Path;->moveTo(FF)V HSPLandroid/graphics/Path;->offset(FF)V -HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z+]Landroid/graphics/Path;Landroid/graphics/Path; -HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z+]Landroid/graphics/Path$Op;Landroid/graphics/Path$Op; +HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z +HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z HSPLandroid/graphics/Path;->rLineTo(FF)V HSPLandroid/graphics/Path;->readOnlyNI()J HSPLandroid/graphics/Path;->reset()V+]Landroid/graphics/Path;Landroid/graphics/Path; @@ -6589,7 +6617,7 @@ HSPLandroid/graphics/Point;->toString()Ljava/lang/String; HSPLandroid/graphics/PointF;-><init>()V HSPLandroid/graphics/PointF;-><init>(FF)V HSPLandroid/graphics/PointF;->equals(FF)Z -HSPLandroid/graphics/PointF;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Landroid/graphics/PointF; +HSPLandroid/graphics/PointF;->equals(Ljava/lang/Object;)Z HSPLandroid/graphics/PointF;->length()F HSPLandroid/graphics/PointF;->length(FF)F HSPLandroid/graphics/PointF;->set(FF)V @@ -6616,8 +6644,8 @@ HSPLandroid/graphics/RecordingCanvas;->isHardwareAccelerated()Z HSPLandroid/graphics/RecordingCanvas;->obtain(Landroid/graphics/RenderNode;II)Landroid/graphics/RecordingCanvas;+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/graphics/RecordingCanvas;->recycle()V+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/graphics/RecordingCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V -HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Rect;+]Landroid/graphics/Rect;Landroid/graphics/Rect; -HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/graphics/Rect$1;Landroid/graphics/Rect$1; +HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Rect; +HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/graphics/Rect$1;->newArray(I)[Landroid/graphics/Rect; HSPLandroid/graphics/Rect$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/graphics/Rect;-><init>()V @@ -6644,7 +6672,7 @@ HSPLandroid/graphics/Rect;->isEmpty()Z HSPLandroid/graphics/Rect;->isValid()Z HSPLandroid/graphics/Rect;->offset(II)V HSPLandroid/graphics/Rect;->offsetTo(II)V -HSPLandroid/graphics/Rect;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/graphics/Rect;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/graphics/Rect;->scale(F)V HSPLandroid/graphics/Rect;->set(IIII)V HSPLandroid/graphics/Rect;->set(Landroid/graphics/Rect;)V @@ -6653,7 +6681,7 @@ HSPLandroid/graphics/Rect;->setIntersect(Landroid/graphics/Rect;Landroid/graphic HSPLandroid/graphics/Rect;->toShortString(Ljava/lang/StringBuilder;)Ljava/lang/String; HSPLandroid/graphics/Rect;->toString()Ljava/lang/String; HSPLandroid/graphics/Rect;->union(IIII)V -HSPLandroid/graphics/Rect;->union(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/graphics/Rect;->union(Landroid/graphics/Rect;)V HSPLandroid/graphics/Rect;->width()I HSPLandroid/graphics/Rect;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/graphics/RectF;-><init>()V @@ -6707,7 +6735,7 @@ HSPLandroid/graphics/RenderNode$CompositePositionUpdateListener;->without(Landro HSPLandroid/graphics/RenderNode$PositionUpdateListener;->callPositionChanged(Ljava/lang/ref/WeakReference;JIIII)Z HSPLandroid/graphics/RenderNode$PositionUpdateListener;->callPositionLost(Ljava/lang/ref/WeakReference;J)Z HSPLandroid/graphics/RenderNode;-><init>(J)V -HSPLandroid/graphics/RenderNode;-><init>(Ljava/lang/String;Landroid/graphics/RenderNode$AnimationHost;)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/graphics/RenderNode;-><init>(Ljava/lang/String;Landroid/graphics/RenderNode$AnimationHost;)V HSPLandroid/graphics/RenderNode;->addPositionUpdateListener(Landroid/graphics/RenderNode$PositionUpdateListener;)V HSPLandroid/graphics/RenderNode;->adopt(J)Landroid/graphics/RenderNode; HSPLandroid/graphics/RenderNode;->beginRecording(II)Landroid/graphics/RecordingCanvas; @@ -6717,7 +6745,7 @@ HSPLandroid/graphics/RenderNode;->discardDisplayList()V HSPLandroid/graphics/RenderNode;->endRecording()V+]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas; HSPLandroid/graphics/RenderNode;->getClipToOutline()Z HSPLandroid/graphics/RenderNode;->getElevation()F -HSPLandroid/graphics/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V +HSPLandroid/graphics/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/graphics/RenderNode;->getPivotY()F HSPLandroid/graphics/RenderNode;->getRotationX()F HSPLandroid/graphics/RenderNode;->getRotationY()F @@ -6734,7 +6762,7 @@ HSPLandroid/graphics/RenderNode;->offsetTopAndBottom(I)Z HSPLandroid/graphics/RenderNode;->removePositionUpdateListener(Landroid/graphics/RenderNode$PositionUpdateListener;)V HSPLandroid/graphics/RenderNode;->setAlpha(F)Z HSPLandroid/graphics/RenderNode;->setAmbientShadowColor(I)Z -HSPLandroid/graphics/RenderNode;->setAnimationMatrix(Landroid/graphics/Matrix;)Z+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; +HSPLandroid/graphics/RenderNode;->setAnimationMatrix(Landroid/graphics/Matrix;)Z HSPLandroid/graphics/RenderNode;->setClipToBounds(Z)Z HSPLandroid/graphics/RenderNode;->setClipToOutline(Z)Z HSPLandroid/graphics/RenderNode;->setElevation(F)Z @@ -6771,7 +6799,7 @@ HSPLandroid/graphics/Shader;->detectColorSpace([J)Landroid/graphics/ColorSpace; HSPLandroid/graphics/Shader;->discardNativeInstance()V HSPLandroid/graphics/Shader;->discardNativeInstanceLocked()V HSPLandroid/graphics/Shader;->getNativeInstance()J -HSPLandroid/graphics/Shader;->getNativeInstance(Z)J+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/Shader;Landroid/graphics/BitmapShader;,Landroid/graphics/LinearGradient;,Landroid/graphics/drawable/RippleShader;]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/graphics/Shader;->getNativeInstance(Z)J HSPLandroid/graphics/Shader;->setLocalMatrix(Landroid/graphics/Matrix;)V HSPLandroid/graphics/Shader;->shouldDiscardNativeInstance(Z)Z HSPLandroid/graphics/SurfaceTexture$1;->handleMessage(Landroid/os/Message;)V @@ -6789,7 +6817,7 @@ HSPLandroid/graphics/TextureLayer;-><init>(Landroid/graphics/HardwareRenderer;J) HSPLandroid/graphics/TextureLayer;->close()V HSPLandroid/graphics/TextureLayer;->detachSurfaceTexture()V HSPLandroid/graphics/Typeface$Builder;->build()Landroid/graphics/Typeface; -HSPLandroid/graphics/Typeface$Builder;->createAssetUid(Landroid/content/res/AssetManager;Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;IILjava/lang/String;)Ljava/lang/String;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/graphics/Typeface$Builder;->createAssetUid(Landroid/content/res/AssetManager;Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;IILjava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; HSPLandroid/graphics/Typeface$CustomFallbackBuilder;-><init>(Landroid/graphics/fonts/FontFamily;)V HSPLandroid/graphics/Typeface$CustomFallbackBuilder;->build()Landroid/graphics/Typeface; HSPLandroid/graphics/Typeface$CustomFallbackBuilder;->setStyle(Landroid/graphics/fonts/FontStyle;)Landroid/graphics/Typeface$CustomFallbackBuilder; @@ -6803,9 +6831,9 @@ HSPLandroid/graphics/Typeface;->createWeightStyle(Landroid/graphics/Typeface;IZ) HSPLandroid/graphics/Typeface;->defaultFromStyle(I)Landroid/graphics/Typeface; HSPLandroid/graphics/Typeface;->deserializeFontMap(Ljava/nio/ByteBuffer;Ljava/util/Map;)[J HSPLandroid/graphics/Typeface;->equals(Ljava/lang/Object;)Z -HSPLandroid/graphics/Typeface;->findFromCache(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;+]Landroid/util/LruCache;Landroid/util/LruCache; +HSPLandroid/graphics/Typeface;->findFromCache(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface; HSPLandroid/graphics/Typeface;->getStyle()I -HSPLandroid/graphics/Typeface;->getSystemDefaultTypeface(Ljava/lang/String;)Landroid/graphics/Typeface;+]Ljava/util/Map;Landroid/util/ArrayMap; +HSPLandroid/graphics/Typeface;->getSystemDefaultTypeface(Ljava/lang/String;)Landroid/graphics/Typeface; HSPLandroid/graphics/Typeface;->getSystemFontFamilyName()Ljava/lang/String; HSPLandroid/graphics/Typeface;->hasFontFamily(Ljava/lang/String;)Z HSPLandroid/graphics/Typeface;->readString(Ljava/nio/ByteBuffer;)Ljava/lang/String; @@ -6914,7 +6942,7 @@ HSPLandroid/graphics/drawable/AnimatedVectorDrawable$2;->onAnimationEnd(Landroid HSPLandroid/graphics/drawable/AnimatedVectorDrawable$2;->onAnimationStart(Landroid/animation/Animator;)V HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;-><init>(IFLjava/lang/String;)V HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/animation/Animator; -HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/graphics/drawable/Drawable$Callback;Landroid/content/res/Resources;)V +HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/graphics/drawable/Drawable$Callback;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/Drawable$ConstantState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable; HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->addPendingAnimator(IFLjava/lang/String;)V HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->addTargetAnimator(Ljava/lang/String;Landroid/animation/Animator;)V HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->canApplyTheme()Z @@ -7068,7 +7096,7 @@ HSPLandroid/graphics/drawable/ColorDrawable;-><init>(Landroid/graphics/drawable/ HSPLandroid/graphics/drawable/ColorDrawable;-><init>(Landroid/graphics/drawable/ColorDrawable$ColorState;Landroid/content/res/Resources;Landroid/graphics/drawable/ColorDrawable-IA;)V HSPLandroid/graphics/drawable/ColorDrawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/ColorDrawable;->clearMutated()V -HSPLandroid/graphics/drawable/ColorDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/drawable/ColorDrawable;Landroid/graphics/drawable/ColorDrawable; +HSPLandroid/graphics/drawable/ColorDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/drawable/ColorDrawable;Landroid/graphics/drawable/ColorDrawable;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/graphics/drawable/ColorDrawable;->getAlpha()I HSPLandroid/graphics/drawable/ColorDrawable;->getChangingConfigurations()I HSPLandroid/graphics/drawable/ColorDrawable;->getColor()I @@ -7083,7 +7111,7 @@ HSPLandroid/graphics/drawable/ColorDrawable;->setAlpha(I)V HSPLandroid/graphics/drawable/ColorDrawable;->setColor(I)V HSPLandroid/graphics/drawable/ColorDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V HSPLandroid/graphics/drawable/ColorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V -HSPLandroid/graphics/drawable/ColorDrawable;->updateLocalState(Landroid/content/res/Resources;)V +HSPLandroid/graphics/drawable/ColorDrawable;->updateLocalState(Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/ColorDrawable;Landroid/graphics/drawable/ColorDrawable; HSPLandroid/graphics/drawable/ColorDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/Drawable$ConstantState;-><init>()V HSPLandroid/graphics/drawable/Drawable$ConstantState;->canApplyTheme()Z @@ -7094,7 +7122,7 @@ HSPLandroid/graphics/drawable/Drawable;->applyTheme(Landroid/content/res/Resourc HSPLandroid/graphics/drawable/Drawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/Drawable;->clearColorFilter()V HSPLandroid/graphics/drawable/Drawable;->clearMutated()V -HSPLandroid/graphics/drawable/Drawable;->copyBounds(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/graphics/drawable/Drawable;->copyBounds(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/Drawable;->createFromXmlForDensity(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/Drawable;->createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/Drawable;->createFromXmlInnerForDensity(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; @@ -7110,7 +7138,7 @@ HSPLandroid/graphics/drawable/Drawable;->getIntrinsicWidth()I HSPLandroid/graphics/drawable/Drawable;->getLayoutDirection()I HSPLandroid/graphics/drawable/Drawable;->getLevel()I HSPLandroid/graphics/drawable/Drawable;->getMinimumHeight()I+]Landroid/graphics/drawable/Drawable;missing_types -HSPLandroid/graphics/drawable/Drawable;->getMinimumWidth()I+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/ColorDrawable;,Landroid/graphics/drawable/GradientDrawable; +HSPLandroid/graphics/drawable/Drawable;->getMinimumWidth()I+]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/graphics/drawable/Drawable;->getOutline(Landroid/graphics/Outline;)V HSPLandroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z HSPLandroid/graphics/drawable/Drawable;->getState()[I @@ -7127,13 +7155,13 @@ HSPLandroid/graphics/drawable/Drawable;->onBoundsChange(Landroid/graphics/Rect;) HSPLandroid/graphics/drawable/Drawable;->onLevelChange(I)Z HSPLandroid/graphics/drawable/Drawable;->onStateChange([I)Z HSPLandroid/graphics/drawable/Drawable;->parseBlendMode(ILandroid/graphics/BlendMode;)Landroid/graphics/BlendMode; -HSPLandroid/graphics/drawable/Drawable;->resolveDensity(Landroid/content/res/Resources;I)I+]Landroid/content/res/Resources;Landroid/content/res/Resources; +HSPLandroid/graphics/drawable/Drawable;->resolveDensity(Landroid/content/res/Resources;I)I HSPLandroid/graphics/drawable/Drawable;->resolveOpacity(II)I HSPLandroid/graphics/drawable/Drawable;->scaleFromDensity(FII)F HSPLandroid/graphics/drawable/Drawable;->scaleFromDensity(IIIZ)I HSPLandroid/graphics/drawable/Drawable;->scheduleSelf(Ljava/lang/Runnable;J)V HSPLandroid/graphics/drawable/Drawable;->setAutoMirrored(Z)V -HSPLandroid/graphics/drawable/Drawable;->setBounds(IIII)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/Drawable;->setBounds(IIII)V HSPLandroid/graphics/drawable/Drawable;->setBounds(Landroid/graphics/Rect;)V+]Landroid/graphics/drawable/Drawable;megamorphic_types HSPLandroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V HSPLandroid/graphics/drawable/Drawable;->setChangingConfigurations(I)V @@ -7143,20 +7171,20 @@ HSPLandroid/graphics/drawable/Drawable;->setHotspot(FF)V HSPLandroid/graphics/drawable/Drawable;->setLayoutDirection(I)Z HSPLandroid/graphics/drawable/Drawable;->setLevel(I)Z HSPLandroid/graphics/drawable/Drawable;->setSrcDensityOverride(I)V -HSPLandroid/graphics/drawable/Drawable;->setState([I)Z+]Landroid/graphics/drawable/Drawable;megamorphic_types +HSPLandroid/graphics/drawable/Drawable;->setState([I)Z+]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/graphics/drawable/Drawable;->setTint(I)V HSPLandroid/graphics/drawable/Drawable;->setTintList(Landroid/content/res/ColorStateList;)V HSPLandroid/graphics/drawable/Drawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V -HSPLandroid/graphics/drawable/Drawable;->setVisible(ZZ)Z+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/Drawable;->setVisible(ZZ)Z HSPLandroid/graphics/drawable/Drawable;->unscheduleSelf(Ljava/lang/Runnable;)V -HSPLandroid/graphics/drawable/Drawable;->updateBlendModeFilter(Landroid/graphics/BlendModeColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/BlendMode;)Landroid/graphics/BlendModeColorFilter;+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/BlendModeColorFilter;Landroid/graphics/BlendModeColorFilter;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable;,Landroid/graphics/drawable/ShapeDrawable;,Landroid/graphics/drawable/VectorDrawable; +HSPLandroid/graphics/drawable/Drawable;->updateBlendModeFilter(Landroid/graphics/BlendModeColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/BlendMode;)Landroid/graphics/BlendModeColorFilter;+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/BlendModeColorFilter;Landroid/graphics/BlendModeColorFilter;]Landroid/graphics/drawable/Drawable;megamorphic_types HSPLandroid/graphics/drawable/Drawable;->updateTintFilter(Landroid/graphics/PorterDuffColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuffColorFilter; HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;-><init>()V HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;-><init>(Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback-IA;)V HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->unwrap()Landroid/graphics/drawable/Drawable$Callback; HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->wrap(Landroid/graphics/drawable/Drawable$Callback;)Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback; -HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;-><init>(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;Landroid/graphics/drawable/DrawableContainer;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/Drawable;megamorphic_types]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;-><init>(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;Landroid/graphics/drawable/DrawableContainer;Landroid/content/res/Resources;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/graphics/drawable/Drawable;megamorphic_types HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->addChild(Landroid/graphics/drawable/Drawable;)I HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->canApplyTheme()Z @@ -7199,11 +7227,11 @@ HSPLandroid/graphics/drawable/DrawableContainer;->getOpacity()I HSPLandroid/graphics/drawable/DrawableContainer;->getOpticalInsets()Landroid/graphics/Insets; HSPLandroid/graphics/drawable/DrawableContainer;->getOutline(Landroid/graphics/Outline;)V HSPLandroid/graphics/drawable/DrawableContainer;->getPadding(Landroid/graphics/Rect;)Z -HSPLandroid/graphics/drawable/DrawableContainer;->initializeDrawableForDisplay(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;]Landroid/graphics/drawable/DrawableContainer;Landroid/graphics/drawable/AnimatedStateListDrawable;,Landroid/graphics/drawable/StateListDrawable;,Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable; +HSPLandroid/graphics/drawable/DrawableContainer;->initializeDrawableForDisplay(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;]Landroid/graphics/drawable/DrawableContainer;Landroid/graphics/drawable/AnimatedStateListDrawable;,Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable;,Landroid/graphics/drawable/StateListDrawable;]Landroid/graphics/drawable/Drawable;megamorphic_types HSPLandroid/graphics/drawable/DrawableContainer;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/DrawableContainer;->isAutoMirrored()Z HSPLandroid/graphics/drawable/DrawableContainer;->isStateful()Z -HSPLandroid/graphics/drawable/DrawableContainer;->jumpToCurrentState()V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/DrawableContainer;->jumpToCurrentState()V HSPLandroid/graphics/drawable/DrawableContainer;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/DrawableContainer;->needsMirroring()Z HSPLandroid/graphics/drawable/DrawableContainer;->onBoundsChange(Landroid/graphics/Rect;)V @@ -7237,27 +7265,27 @@ HSPLandroid/graphics/drawable/DrawableWrapper;->applyTheme(Landroid/content/res/ HSPLandroid/graphics/drawable/DrawableWrapper;->canApplyTheme()Z HSPLandroid/graphics/drawable/DrawableWrapper;->clearMutated()V HSPLandroid/graphics/drawable/DrawableWrapper;->draw(Landroid/graphics/Canvas;)V -HSPLandroid/graphics/drawable/DrawableWrapper;->getChangingConfigurations()I+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;Landroid/graphics/drawable/InsetDrawable$InsetState; +HSPLandroid/graphics/drawable/DrawableWrapper;->getChangingConfigurations()I HSPLandroid/graphics/drawable/DrawableWrapper;->getColorFilter()Landroid/graphics/ColorFilter; HSPLandroid/graphics/drawable/DrawableWrapper;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState; HSPLandroid/graphics/drawable/DrawableWrapper;->getDrawable()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/DrawableWrapper;->getIntrinsicHeight()I HSPLandroid/graphics/drawable/DrawableWrapper;->getIntrinsicWidth()I HSPLandroid/graphics/drawable/DrawableWrapper;->getOpacity()I -HSPLandroid/graphics/drawable/DrawableWrapper;->getPadding(Landroid/graphics/Rect;)Z+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/DrawableWrapper;->getPadding(Landroid/graphics/Rect;)Z HSPLandroid/graphics/drawable/DrawableWrapper;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/DrawableWrapper;->inflateChildDrawable(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V -HSPLandroid/graphics/drawable/DrawableWrapper;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable$Callback;Landroid/graphics/drawable/RippleDrawable;]Landroid/graphics/drawable/DrawableWrapper;Landroid/graphics/drawable/InsetDrawable; +HSPLandroid/graphics/drawable/DrawableWrapper;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/DrawableWrapper;->isStateful()Z HSPLandroid/graphics/drawable/DrawableWrapper;->jumpToCurrentState()V HSPLandroid/graphics/drawable/DrawableWrapper;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/DrawableWrapper;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState; HSPLandroid/graphics/drawable/DrawableWrapper;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/DrawableWrapper;->onLevelChange(I)Z -HSPLandroid/graphics/drawable/DrawableWrapper;->onStateChange([I)Z+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/DrawableWrapper;missing_types +HSPLandroid/graphics/drawable/DrawableWrapper;->onStateChange([I)Z HSPLandroid/graphics/drawable/DrawableWrapper;->setAlpha(I)V HSPLandroid/graphics/drawable/DrawableWrapper;->setColorFilter(Landroid/graphics/ColorFilter;)V -HSPLandroid/graphics/drawable/DrawableWrapper;->setDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/DrawableWrapper;missing_types +HSPLandroid/graphics/drawable/DrawableWrapper;->setDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/DrawableWrapper;->setHotspot(FF)V HSPLandroid/graphics/drawable/DrawableWrapper;->setTintBlendMode(Landroid/graphics/BlendMode;)V HSPLandroid/graphics/drawable/DrawableWrapper;->setTintList(Landroid/content/res/ColorStateList;)V @@ -7266,7 +7294,7 @@ HSPLandroid/graphics/drawable/DrawableWrapper;->updateLocalState(Landroid/conten HSPLandroid/graphics/drawable/DrawableWrapper;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->-$$Nest$mcomputeOpacity(Landroid/graphics/drawable/GradientDrawable$GradientState;)V HSPLandroid/graphics/drawable/GradientDrawable$GradientState;-><init>(Landroid/graphics/drawable/GradientDrawable$GradientState;Landroid/content/res/Resources;)V -HSPLandroid/graphics/drawable/GradientDrawable$GradientState;-><init>(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V +HSPLandroid/graphics/drawable/GradientDrawable$GradientState;-><init>(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V+]Landroid/graphics/drawable/GradientDrawable$GradientState;Landroid/graphics/drawable/GradientDrawable$GradientState; HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->applyDensityScaling(II)V HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->canApplyTheme()Z HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->computeOpacity()V @@ -7287,8 +7315,8 @@ HSPLandroid/graphics/drawable/GradientDrawable;->applyTheme(Landroid/content/res HSPLandroid/graphics/drawable/GradientDrawable;->applyThemeChildElements(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/GradientDrawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/GradientDrawable;->clearMutated()V -HSPLandroid/graphics/drawable/GradientDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Paint;Landroid/graphics/Paint; -HSPLandroid/graphics/drawable/GradientDrawable;->ensureValidRect()Z+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/graphics/drawable/GradientDrawable;Landroid/graphics/drawable/GradientDrawable; +HSPLandroid/graphics/drawable/GradientDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;,Landroid/graphics/Canvas; +HSPLandroid/graphics/drawable/GradientDrawable;->ensureValidRect()Z HSPLandroid/graphics/drawable/GradientDrawable;->getChangingConfigurations()I HSPLandroid/graphics/drawable/GradientDrawable;->getColorFilter()Landroid/graphics/ColorFilter; HSPLandroid/graphics/drawable/GradientDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState; @@ -7308,7 +7336,7 @@ HSPLandroid/graphics/drawable/GradientDrawable;->mutate()Landroid/graphics/drawa HSPLandroid/graphics/drawable/GradientDrawable;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/GradientDrawable;->onLevelChange(I)Z HSPLandroid/graphics/drawable/GradientDrawable;->onStateChange([I)Z -HSPLandroid/graphics/drawable/GradientDrawable;->setAlpha(I)V +HSPLandroid/graphics/drawable/GradientDrawable;->setAlpha(I)V+]Landroid/graphics/drawable/GradientDrawable;Landroid/graphics/drawable/GradientDrawable; HSPLandroid/graphics/drawable/GradientDrawable;->setColor(I)V HSPLandroid/graphics/drawable/GradientDrawable;->setColor(Landroid/content/res/ColorStateList;)V HSPLandroid/graphics/drawable/GradientDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V @@ -7329,7 +7357,7 @@ HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawablePadding(L HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableSize(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableSolid(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableStroke(Landroid/content/res/TypedArray;)V -HSPLandroid/graphics/drawable/GradientDrawable;->updateLocalState(Landroid/content/res/Resources;)V+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/drawable/GradientDrawable;Landroid/graphics/drawable/GradientDrawable; +HSPLandroid/graphics/drawable/GradientDrawable;->updateLocalState(Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/GradientDrawable;Landroid/graphics/drawable/GradientDrawable;]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/Paint;Landroid/graphics/Paint; HSPLandroid/graphics/drawable/GradientDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/Icon$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/drawable/Icon; HSPLandroid/graphics/drawable/Icon$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -7354,7 +7382,7 @@ HSPLandroid/graphics/drawable/Icon;->setBitmap(Landroid/graphics/Bitmap;)V HSPLandroid/graphics/drawable/Icon;->setTint(I)Landroid/graphics/drawable/Icon; HSPLandroid/graphics/drawable/Icon;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->-$$Nest$fputmThemeAttrs(Landroid/graphics/drawable/InsetDrawable$InsetState;[I)V -HSPLandroid/graphics/drawable/InsetDrawable$InsetState;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/InsetDrawable$InsetValue;Landroid/graphics/drawable/InsetDrawable$InsetValue; +HSPLandroid/graphics/drawable/InsetDrawable$InsetState;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;)V HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->applyDensityScaling(II)V HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->onDensityChanged(II)V @@ -7370,19 +7398,19 @@ HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/ HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;Landroid/graphics/drawable/InsetDrawable-IA;)V HSPLandroid/graphics/drawable/InsetDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/InsetDrawable;->getInset(Landroid/content/res/TypedArray;ILandroid/graphics/drawable/InsetDrawable$InsetValue;)Landroid/graphics/drawable/InsetDrawable$InsetValue; -HSPLandroid/graphics/drawable/InsetDrawable;->getInsets(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/InsetDrawable$InsetValue;Landroid/graphics/drawable/InsetDrawable$InsetValue;]Landroid/graphics/drawable/InsetDrawable;missing_types -HSPLandroid/graphics/drawable/InsetDrawable;->getIntrinsicHeight()I+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/InsetDrawable;missing_types -HSPLandroid/graphics/drawable/InsetDrawable;->getIntrinsicWidth()I+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/InsetDrawable;missing_types +HSPLandroid/graphics/drawable/InsetDrawable;->getInsets(Landroid/graphics/Rect;)V+]Landroid/graphics/drawable/InsetDrawable;Landroid/graphics/drawable/InsetDrawable;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/InsetDrawable$InsetValue;Landroid/graphics/drawable/InsetDrawable$InsetValue; +HSPLandroid/graphics/drawable/InsetDrawable;->getIntrinsicHeight()I +HSPLandroid/graphics/drawable/InsetDrawable;->getIntrinsicWidth()I HSPLandroid/graphics/drawable/InsetDrawable;->getOpacity()I -HSPLandroid/graphics/drawable/InsetDrawable;->getOutline(Landroid/graphics/Outline;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/InsetDrawable;missing_types +HSPLandroid/graphics/drawable/InsetDrawable;->getOutline(Landroid/graphics/Outline;)V HSPLandroid/graphics/drawable/InsetDrawable;->getPadding(Landroid/graphics/Rect;)Z HSPLandroid/graphics/drawable/InsetDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/InsetDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState; -HSPLandroid/graphics/drawable/InsetDrawable;->onBoundsChange(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/InsetDrawable$InsetValue;Landroid/graphics/drawable/InsetDrawable$InsetValue; +HSPLandroid/graphics/drawable/InsetDrawable;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/InsetDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/InsetDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;-><init>(I)V -HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/graphics/drawable/LayerDrawable;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/Drawable$ConstantState;megamorphic_types]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/graphics/drawable/LayerDrawable;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/Drawable$ConstantState;missing_types]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;->applyDensityScaling(II)V HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;->setDensity(I)V @@ -7402,11 +7430,11 @@ HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->newDrawable(Landroid/co HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->onDensityChanged(II)V HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->setDensity(I)V HSPLandroid/graphics/drawable/LayerDrawable;-><init>()V -HSPLandroid/graphics/drawable/LayerDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/LayerDrawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)V HSPLandroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/LayerDrawable$LayerState;)V -HSPLandroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/Drawable;[IIIIII)Landroid/graphics/drawable/LayerDrawable$ChildDrawable;+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/LayerDrawable;missing_types -HSPLandroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;)I+]Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/graphics/drawable/RippleDrawable$RippleState; +HSPLandroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/Drawable;[IIIIII)Landroid/graphics/drawable/LayerDrawable$ChildDrawable; +HSPLandroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;)I HSPLandroid/graphics/drawable/LayerDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/LayerDrawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/LayerDrawable;->clearMutated()V @@ -7420,23 +7448,23 @@ HSPLandroid/graphics/drawable/LayerDrawable;->findIndexByLayerId(I)I HSPLandroid/graphics/drawable/LayerDrawable;->getChangingConfigurations()I HSPLandroid/graphics/drawable/LayerDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState; HSPLandroid/graphics/drawable/LayerDrawable;->getDrawable(I)Landroid/graphics/drawable/Drawable; -HSPLandroid/graphics/drawable/LayerDrawable;->getIntrinsicHeight()I+]Landroid/graphics/drawable/Drawable;missing_types -HSPLandroid/graphics/drawable/LayerDrawable;->getIntrinsicWidth()I+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/LayerDrawable;Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/LayerDrawable;->getIntrinsicHeight()I +HSPLandroid/graphics/drawable/LayerDrawable;->getIntrinsicWidth()I HSPLandroid/graphics/drawable/LayerDrawable;->getNumberOfLayers()I HSPLandroid/graphics/drawable/LayerDrawable;->getOpacity()I -HSPLandroid/graphics/drawable/LayerDrawable;->getOutline(Landroid/graphics/Outline;)V+]Landroid/graphics/Outline;Landroid/graphics/Outline; -HSPLandroid/graphics/drawable/LayerDrawable;->getPadding(Landroid/graphics/Rect;)Z+]Landroid/graphics/drawable/LayerDrawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;->getOutline(Landroid/graphics/Outline;)V +HSPLandroid/graphics/drawable/LayerDrawable;->getPadding(Landroid/graphics/Rect;)Z HSPLandroid/graphics/drawable/LayerDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/LayerDrawable;->inflateLayers(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V -HSPLandroid/graphics/drawable/LayerDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/graphics/drawable/LayerDrawable$LayerState;,Landroid/graphics/drawable/RippleDrawable$RippleState;]Landroid/graphics/drawable/LayerDrawable;Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/LayerDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/LayerDrawable;->isAutoMirrored()Z HSPLandroid/graphics/drawable/LayerDrawable;->isProjected()Z HSPLandroid/graphics/drawable/LayerDrawable;->isStateful()Z -HSPLandroid/graphics/drawable/LayerDrawable;->jumpToCurrentState()V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;->jumpToCurrentState()V HSPLandroid/graphics/drawable/LayerDrawable;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/LayerDrawable;->onBoundsChange(Landroid/graphics/Rect;)V -HSPLandroid/graphics/drawable/LayerDrawable;->onStateChange([I)Z+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/LayerDrawable;Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/RippleDrawable; -HSPLandroid/graphics/drawable/LayerDrawable;->refreshChildPadding(ILandroid/graphics/drawable/LayerDrawable$ChildDrawable;)Z+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;->onStateChange([I)Z +HSPLandroid/graphics/drawable/LayerDrawable;->refreshChildPadding(ILandroid/graphics/drawable/LayerDrawable$ChildDrawable;)Z HSPLandroid/graphics/drawable/LayerDrawable;->refreshPadding()V HSPLandroid/graphics/drawable/LayerDrawable;->resolveGravity(IIIII)I HSPLandroid/graphics/drawable/LayerDrawable;->resumeChildInvalidation()V @@ -7452,10 +7480,10 @@ HSPLandroid/graphics/drawable/LayerDrawable;->setLayerInset(IIIII)V HSPLandroid/graphics/drawable/LayerDrawable;->setPaddingMode(I)V HSPLandroid/graphics/drawable/LayerDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V HSPLandroid/graphics/drawable/LayerDrawable;->setTintList(Landroid/content/res/ColorStateList;)V -HSPLandroid/graphics/drawable/LayerDrawable;->setVisible(ZZ)Z+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;->setVisible(ZZ)Z HSPLandroid/graphics/drawable/LayerDrawable;->suspendChildInvalidation()V HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerBounds(Landroid/graphics/Rect;)V -HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerBoundsInternal(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/LayerDrawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerBoundsInternal(Landroid/graphics/Rect;)V+]Landroid/graphics/drawable/LayerDrawable;Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/RippleDrawable;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerFromTypedArray(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/LayerDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/NinePatchDrawable$$ExternalSyntheticLambda0;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V @@ -7552,12 +7580,12 @@ HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->newDrawable()Landroid HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->onDensityChanged(II)V HSPLandroid/graphics/drawable/RippleDrawable;-><init>()V -HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/content/res/ColorStateList;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/RippleDrawable;missing_types -HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/graphics/drawable/RippleDrawable$RippleState;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/content/res/ColorStateList;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V +HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/graphics/drawable/RippleDrawable$RippleState;Landroid/content/res/Resources;)V HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/graphics/drawable/RippleDrawable$RippleState;Landroid/content/res/Resources;Landroid/graphics/drawable/RippleDrawable-IA;)V HSPLandroid/graphics/drawable/RippleDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/RippleDrawable;->canApplyTheme()Z -HSPLandroid/graphics/drawable/RippleDrawable;->cancelExitingRipples()V+]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/RippleDrawable;->cancelExitingRipples()V HSPLandroid/graphics/drawable/RippleDrawable;->clearHotspots()V HSPLandroid/graphics/drawable/RippleDrawable;->computeRadius()F HSPLandroid/graphics/drawable/RippleDrawable;->createAnimationProperties(FFFFFF)Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties; @@ -7566,27 +7594,27 @@ HSPLandroid/graphics/drawable/RippleDrawable;->createConstantState(Landroid/grap HSPLandroid/graphics/drawable/RippleDrawable;->draw(Landroid/graphics/Canvas;)V HSPLandroid/graphics/drawable/RippleDrawable;->drawBackgroundAndRipples(Landroid/graphics/Canvas;)V HSPLandroid/graphics/drawable/RippleDrawable;->drawContent(Landroid/graphics/Canvas;)V -HSPLandroid/graphics/drawable/RippleDrawable;->drawPatterned(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;]Landroid/graphics/drawable/RippleAnimationSession;Landroid/graphics/drawable/RippleAnimationSession;]Landroid/graphics/drawable/RippleDrawable;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/RippleDrawable;->drawPatterned(Landroid/graphics/Canvas;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/drawable/RippleAnimationSession;Landroid/graphics/drawable/RippleAnimationSession; HSPLandroid/graphics/drawable/RippleDrawable;->drawPatternedBackground(Landroid/graphics/Canvas;FF)V HSPLandroid/graphics/drawable/RippleDrawable;->exitPatternedAnimation()V -HSPLandroid/graphics/drawable/RippleDrawable;->exitPatternedBackgroundAnimation()V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Landroid/graphics/drawable/RippleDrawable;missing_types +HSPLandroid/graphics/drawable/RippleDrawable;->exitPatternedBackgroundAnimation()V HSPLandroid/graphics/drawable/RippleDrawable;->getComputedRadius()I HSPLandroid/graphics/drawable/RippleDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState; -HSPLandroid/graphics/drawable/RippleDrawable;->getDirtyBounds()Landroid/graphics/Rect;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleDrawable;missing_types +HSPLandroid/graphics/drawable/RippleDrawable;->getDirtyBounds()Landroid/graphics/Rect;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; HSPLandroid/graphics/drawable/RippleDrawable;->getMaskType()I HSPLandroid/graphics/drawable/RippleDrawable;->getOpacity()I HSPLandroid/graphics/drawable/RippleDrawable;->getOutline(Landroid/graphics/Outline;)V+]Landroid/graphics/Outline;Landroid/graphics/Outline;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/InsetDrawable;,Landroid/graphics/drawable/StateListDrawable; HSPLandroid/graphics/drawable/RippleDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V -HSPLandroid/graphics/drawable/RippleDrawable;->invalidateSelf()V+]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/RippleDrawable;->invalidateSelf()V HSPLandroid/graphics/drawable/RippleDrawable;->invalidateSelf(Z)V -HSPLandroid/graphics/drawable/RippleDrawable;->isBounded()Z+]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/RippleDrawable;->isBounded()Z HSPLandroid/graphics/drawable/RippleDrawable;->isProjected()Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; HSPLandroid/graphics/drawable/RippleDrawable;->isStateful()Z HSPLandroid/graphics/drawable/RippleDrawable;->jumpToCurrentState()V HSPLandroid/graphics/drawable/RippleDrawable;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/RippleDrawable;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/RippleDrawable;->onHotspotBoundsChanged()V -HSPLandroid/graphics/drawable/RippleDrawable;->onStateChange([I)Z+]Landroid/graphics/drawable/RippleDrawable;missing_types +HSPLandroid/graphics/drawable/RippleDrawable;->onStateChange([I)Z HSPLandroid/graphics/drawable/RippleDrawable;->pruneRipples()V HSPLandroid/graphics/drawable/RippleDrawable;->setBackgroundActive(ZZZZ)V HSPLandroid/graphics/drawable/RippleDrawable;->setColor(Landroid/content/res/ColorStateList;)V @@ -7595,11 +7623,11 @@ HSPLandroid/graphics/drawable/RippleDrawable;->setHotspotBounds(IIII)V HSPLandroid/graphics/drawable/RippleDrawable;->setPaddingMode(I)V HSPLandroid/graphics/drawable/RippleDrawable;->setRippleActive(Z)V HSPLandroid/graphics/drawable/RippleDrawable;->setVisible(ZZ)Z -HSPLandroid/graphics/drawable/RippleDrawable;->startBackgroundAnimation()V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; +HSPLandroid/graphics/drawable/RippleDrawable;->startBackgroundAnimation()V HSPLandroid/graphics/drawable/RippleDrawable;->tryRippleEnter()V HSPLandroid/graphics/drawable/RippleDrawable;->updateLocalState()V HSPLandroid/graphics/drawable/RippleDrawable;->updateMaskShaderIfNeeded()V -HSPLandroid/graphics/drawable/RippleDrawable;->updateRipplePaint()Landroid/graphics/Paint;+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/BitmapShader;Landroid/graphics/BitmapShader;]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/PorterDuffColorFilter;Landroid/graphics/PorterDuffColorFilter;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;]Landroid/graphics/drawable/RippleAnimationSession;Landroid/graphics/drawable/RippleAnimationSession;]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable;]Landroid/graphics/drawable/RippleShader;Landroid/graphics/drawable/RippleShader;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/RippleDrawable;->updateRipplePaint()Landroid/graphics/Paint; HSPLandroid/graphics/drawable/RippleDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/RippleDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/RippleForeground$1;->onAnimationEnd(Landroid/animation/Animator;)V @@ -7659,7 +7687,7 @@ HSPLandroid/graphics/drawable/ScaleDrawable;->draw(Landroid/graphics/Canvas;)V HSPLandroid/graphics/drawable/ScaleDrawable;->getPercent(Landroid/content/res/TypedArray;IF)F HSPLandroid/graphics/drawable/ScaleDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/ScaleDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState; -HSPLandroid/graphics/drawable/ScaleDrawable;->onBoundsChange(Landroid/graphics/Rect;)V +HSPLandroid/graphics/drawable/ScaleDrawable;->onBoundsChange(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/ScaleDrawable;Landroid/graphics/drawable/ScaleDrawable;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable; HSPLandroid/graphics/drawable/ScaleDrawable;->onLevelChange(I)Z HSPLandroid/graphics/drawable/ScaleDrawable;->updateLocalState()V HSPLandroid/graphics/drawable/ScaleDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V @@ -7677,7 +7705,7 @@ HSPLandroid/graphics/drawable/ShapeDrawable;->getOpacity()I HSPLandroid/graphics/drawable/ShapeDrawable;->getOutline(Landroid/graphics/Outline;)V HSPLandroid/graphics/drawable/ShapeDrawable;->getPadding(Landroid/graphics/Rect;)Z HSPLandroid/graphics/drawable/ShapeDrawable;->getPaint()Landroid/graphics/Paint; -HSPLandroid/graphics/drawable/ShapeDrawable;->isStateful()Z+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList; +HSPLandroid/graphics/drawable/ShapeDrawable;->isStateful()Z HSPLandroid/graphics/drawable/ShapeDrawable;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/ShapeDrawable;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/ShapeDrawable;->onDraw(Landroid/graphics/drawable/shapes/Shape;Landroid/graphics/Canvas;Landroid/graphics/Paint;)V @@ -7687,7 +7715,7 @@ HSPLandroid/graphics/drawable/ShapeDrawable;->setIntrinsicWidth(I)V HSPLandroid/graphics/drawable/ShapeDrawable;->setShape(Landroid/graphics/drawable/shapes/Shape;)V HSPLandroid/graphics/drawable/ShapeDrawable;->setTintList(Landroid/content/res/ColorStateList;)V HSPLandroid/graphics/drawable/ShapeDrawable;->updateLocalState()V -HSPLandroid/graphics/drawable/ShapeDrawable;->updateShape()V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/ShapeDrawable;Landroid/graphics/drawable/PaintDrawable;]Landroid/graphics/drawable/shapes/Shape;Landroid/graphics/drawable/shapes/OvalShape;,Landroid/graphics/drawable/shapes/RoundRectShape; +HSPLandroid/graphics/drawable/ShapeDrawable;->updateShape()V HSPLandroid/graphics/drawable/StateListDrawable$StateListState;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;Landroid/graphics/drawable/StateListDrawable;Landroid/content/res/Resources;)V HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->addStateSet([ILandroid/graphics/drawable/Drawable;)I HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->canApplyTheme()Z @@ -7736,23 +7764,23 @@ HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getProperty(Ljava/lang/ HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getPropertyIndex(Ljava/lang/String;)I HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->isStateful()Z -HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->onStateChange([I)Z+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/drawable/VectorDrawable$VFullPath;Landroid/graphics/drawable/VectorDrawable$VFullPath; -HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V+]Landroid/content/res/ComplexColor;Landroid/content/res/ColorStateList;,Landroid/content/res/GradientColor;]Landroid/content/res/GradientColor;Landroid/content/res/GradientColor;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/Shader;Landroid/graphics/LinearGradient;]Ljava/lang/String;Ljava/lang/String;]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; +HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->onStateChange([I)Z +HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/content/res/ComplexColor;Landroid/content/res/ColorStateList;]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->-$$Nest$fgetmChangingConfigurations(Landroid/graphics/drawable/VectorDrawable$VGroup;)I HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->-$$Nest$fgetmNativePtr(Landroid/graphics/drawable/VectorDrawable$VGroup;)J HSPLandroid/graphics/drawable/VectorDrawable$VGroup;-><init>()V -HSPLandroid/graphics/drawable/VectorDrawable$VGroup;-><init>(Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/util/ArrayMap;)V+]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->addChild(Landroid/graphics/drawable/VectorDrawable$VObject;)V+]Landroid/graphics/drawable/VectorDrawable$VObject;Landroid/graphics/drawable/VectorDrawable$VClipPath;,Landroid/graphics/drawable/VectorDrawable$VFullPath;,Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/VectorDrawable$VGroup;-><init>(Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/util/ArrayMap;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->addChild(Landroid/graphics/drawable/VectorDrawable$VObject;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/graphics/drawable/VectorDrawable$VObject;Landroid/graphics/drawable/VectorDrawable$VGroup;,Landroid/graphics/drawable/VectorDrawable$VFullPath; HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->canApplyTheme()Z HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getGroupName()Ljava/lang/String; HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getNativePtr()J -HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getNativeSize()I+]Landroid/graphics/drawable/VectorDrawable$VObject;Landroid/graphics/drawable/VectorDrawable$VClipPath;,Landroid/graphics/drawable/VectorDrawable$VFullPath;,Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getNativeSize()I HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getProperty(Ljava/lang/String;)Landroid/util/Property; HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->isStateful()Z -HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->onStateChange([I)Z+]Landroid/graphics/drawable/VectorDrawable$VObject;Landroid/graphics/drawable/VectorDrawable$VFullPath;,Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setTree(Lcom/android/internal/util/VirtualRefBasePtr;)V+]Landroid/graphics/drawable/VectorDrawable$VObject;Landroid/graphics/drawable/VectorDrawable$VClipPath;,Landroid/graphics/drawable/VectorDrawable$VFullPath;,Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->onStateChange([I)Z +HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setTree(Lcom/android/internal/util/VirtualRefBasePtr;)V HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/VectorDrawable$VObject;-><init>()V HSPLandroid/graphics/drawable/VectorDrawable$VObject;->isTreeValid()Z @@ -7766,21 +7794,21 @@ HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;-><init>(Landro HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->applyDensityScaling(II)V HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->canApplyTheme()Z -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->canReuseCache()Z+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->canReuseCache()Z HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->createNativeTree(Landroid/graphics/drawable/VectorDrawable$VGroup;)V -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->createNativeTreeFromCopy(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VGroup;)V+]Lcom/android/internal/util/VirtualRefBasePtr;Lcom/android/internal/util/VirtualRefBasePtr;]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->createNativeTreeFromCopy(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VGroup;)V HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->finalize()V -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getAlpha()F+]Lcom/android/internal/util/VirtualRefBasePtr;Lcom/android/internal/util/VirtualRefBasePtr; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getAlpha()F HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getChangingConfigurations()I -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getNativeRenderer()J+]Lcom/android/internal/util/VirtualRefBasePtr;Lcom/android/internal/util/VirtualRefBasePtr; -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->isStateful()Z+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getNativeRenderer()J +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->isStateful()Z HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->newDrawable()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->onStateChange([I)Z -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->onTreeConstructionFinished()V+]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->onTreeConstructionFinished()V+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup; HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setAlpha(F)Z HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setDensity(I)Z -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setViewportSize(FF)V+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setViewportSize(FF)V HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->updateCacheStates()V HSPLandroid/graphics/drawable/VectorDrawable;->-$$Nest$smnAddChild(JJ)V HSPLandroid/graphics/drawable/VectorDrawable;->-$$Nest$smnCreateFullPath()J @@ -7803,37 +7831,37 @@ HSPLandroid/graphics/drawable/VectorDrawable;->-$$Nest$smnUpdateGroupProperties( HSPLandroid/graphics/drawable/VectorDrawable;-><init>()V HSPLandroid/graphics/drawable/VectorDrawable;-><init>(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/content/res/Resources;)V HSPLandroid/graphics/drawable/VectorDrawable;-><init>(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/content/res/Resources;Landroid/graphics/drawable/VectorDrawable-IA;)V -HSPLandroid/graphics/drawable/VectorDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V +HSPLandroid/graphics/drawable/VectorDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/graphics/drawable/VectorDrawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/VectorDrawable;->clearMutated()V HSPLandroid/graphics/drawable/VectorDrawable;->computeVectorSize()V -HSPLandroid/graphics/drawable/VectorDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/ColorFilter;Landroid/graphics/BlendModeColorFilter;,Landroid/graphics/PorterDuffColorFilter;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable;]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; -HSPLandroid/graphics/drawable/VectorDrawable;->getAlpha()I+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; +HSPLandroid/graphics/drawable/VectorDrawable;->draw(Landroid/graphics/Canvas;)V +HSPLandroid/graphics/drawable/VectorDrawable;->getAlpha()I HSPLandroid/graphics/drawable/VectorDrawable;->getChangingConfigurations()I HSPLandroid/graphics/drawable/VectorDrawable;->getColorFilter()Landroid/graphics/ColorFilter; HSPLandroid/graphics/drawable/VectorDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState; HSPLandroid/graphics/drawable/VectorDrawable;->getIntrinsicHeight()I -HSPLandroid/graphics/drawable/VectorDrawable;->getIntrinsicWidth()I+]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable; +HSPLandroid/graphics/drawable/VectorDrawable;->getIntrinsicWidth()I HSPLandroid/graphics/drawable/VectorDrawable;->getNativeTree()J HSPLandroid/graphics/drawable/VectorDrawable;->getOpacity()I HSPLandroid/graphics/drawable/VectorDrawable;->getPixelSize()F HSPLandroid/graphics/drawable/VectorDrawable;->getTargetByName(Ljava/lang/String;)Ljava/lang/Object; -HSPLandroid/graphics/drawable/VectorDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Lcom/android/internal/util/VirtualRefBasePtr;Lcom/android/internal/util/VirtualRefBasePtr;]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; -HSPLandroid/graphics/drawable/VectorDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V+]Landroid/graphics/drawable/VectorDrawable$VClipPath;Landroid/graphics/drawable/VectorDrawable$VClipPath;]Landroid/graphics/drawable/VectorDrawable$VFullPath;Landroid/graphics/drawable/VectorDrawable$VFullPath;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/lang/Object;Ljava/lang/String;]Ljava/util/Stack;Ljava/util/Stack;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/graphics/drawable/VectorDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime;]Lcom/android/internal/util/VirtualRefBasePtr;Lcom/android/internal/util/VirtualRefBasePtr;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup; +HSPLandroid/graphics/drawable/VectorDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser;]Ljava/lang/Object;Ljava/lang/String;]Ljava/util/Stack;Ljava/util/Stack;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Landroid/graphics/drawable/VectorDrawable$VFullPath;Landroid/graphics/drawable/VectorDrawable$VFullPath; HSPLandroid/graphics/drawable/VectorDrawable;->isAutoMirrored()Z -HSPLandroid/graphics/drawable/VectorDrawable;->isStateful()Z+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; +HSPLandroid/graphics/drawable/VectorDrawable;->isStateful()Z HSPLandroid/graphics/drawable/VectorDrawable;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/VectorDrawable;->needMirroring()Z -HSPLandroid/graphics/drawable/VectorDrawable;->onStateChange([I)Z+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable; +HSPLandroid/graphics/drawable/VectorDrawable;->onStateChange([I)Z HSPLandroid/graphics/drawable/VectorDrawable;->setAllowCaching(Z)V HSPLandroid/graphics/drawable/VectorDrawable;->setAlpha(I)V HSPLandroid/graphics/drawable/VectorDrawable;->setAutoMirrored(Z)V HSPLandroid/graphics/drawable/VectorDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V HSPLandroid/graphics/drawable/VectorDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V -HSPLandroid/graphics/drawable/VectorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V+]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable; -HSPLandroid/graphics/drawable/VectorDrawable;->updateColorFilters(Landroid/graphics/BlendMode;Landroid/content/res/ColorStateList;)V+]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable; +HSPLandroid/graphics/drawable/VectorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V +HSPLandroid/graphics/drawable/VectorDrawable;->updateColorFilters(Landroid/graphics/BlendMode;Landroid/content/res/ColorStateList;)V HSPLandroid/graphics/drawable/VectorDrawable;->updateLocalState(Landroid/content/res/Resources;)V -HSPLandroid/graphics/drawable/VectorDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; +HSPLandroid/graphics/drawable/VectorDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/graphics/drawable/shapes/OvalShape;-><init>()V HSPLandroid/graphics/drawable/shapes/OvalShape;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V HSPLandroid/graphics/drawable/shapes/OvalShape;->getOutline(Landroid/graphics/Outline;)V @@ -7910,13 +7938,13 @@ HSPLandroid/graphics/text/LineBreaker;->computeLineBreaks(Landroid/graphics/text HSPLandroid/graphics/text/MeasuredText$Builder;-><init>([C)V HSPLandroid/graphics/text/MeasuredText$Builder;->appendReplacementRun(Landroid/graphics/Paint;IF)Landroid/graphics/text/MeasuredText$Builder; HSPLandroid/graphics/text/MeasuredText$Builder;->appendStyleRun(Landroid/graphics/Paint;IZ)Landroid/graphics/text/MeasuredText$Builder; -HSPLandroid/graphics/text/MeasuredText$Builder;->appendStyleRun(Landroid/graphics/Paint;Landroid/graphics/text/LineBreakConfig;IZ)Landroid/graphics/text/MeasuredText$Builder;+]Landroid/graphics/Paint;Landroid/text/TextPaint; +HSPLandroid/graphics/text/MeasuredText$Builder;->appendStyleRun(Landroid/graphics/Paint;Landroid/graphics/text/LineBreakConfig;IZ)Landroid/graphics/text/MeasuredText$Builder; HSPLandroid/graphics/text/MeasuredText$Builder;->build()Landroid/graphics/text/MeasuredText; HSPLandroid/graphics/text/MeasuredText$Builder;->ensureNativePtrNoReuse()V HSPLandroid/graphics/text/MeasuredText$Builder;->setComputeHyphenation(I)Landroid/graphics/text/MeasuredText$Builder; HSPLandroid/graphics/text/MeasuredText$Builder;->setComputeHyphenation(Z)Landroid/graphics/text/MeasuredText$Builder; HSPLandroid/graphics/text/MeasuredText$Builder;->setComputeLayout(Z)Landroid/graphics/text/MeasuredText$Builder; -HSPLandroid/graphics/text/MeasuredText;->getCharWidthAt(I)F+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/graphics/text/MeasuredText;->getCharWidthAt(I)F HSPLandroid/graphics/text/MeasuredText;->getChars()[C HSPLandroid/graphics/text/MeasuredText;->getNativePtr()J HSPLandroid/hardware/Camera$CameraInfo;-><init>()V @@ -7939,6 +7967,7 @@ HSPLandroid/hardware/HardwareBuffer;->isClosed()Z HSPLandroid/hardware/ICameraService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/hardware/ICameraService$Stub$Proxy;->addListener(Landroid/hardware/ICameraServiceListener;)[Landroid/hardware/CameraStatus; HSPLandroid/hardware/ICameraService$Stub$Proxy;->asBinder()Landroid/os/IBinder; +HSPLandroid/hardware/ICameraService$Stub$Proxy;->getCameraCharacteristics(Ljava/lang/String;IZ)Landroid/hardware/camera2/impl/CameraMetadataNative; HSPLandroid/hardware/ICameraService$Stub$Proxy;->getConcurrentCameraIds()[Landroid/hardware/camera2/utils/ConcurrentCameraIdCombination; HSPLandroid/hardware/ICameraService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICameraService; HSPLandroid/hardware/ICameraServiceListener$Stub;->getMaxTransactionId()I @@ -7986,7 +8015,7 @@ HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->removeSensor(Landroid/ HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;-><init>(Landroid/hardware/SensorEventListener;Landroid/os/Looper;Landroid/hardware/SystemSensorManager;Ljava/lang/String;)V HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchAdditionalInfoEvent(III[F[I)V -HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchSensorEvent(I[FIJ)V+]Landroid/hardware/Sensor;Landroid/hardware/Sensor;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchSensorEvent(I[FIJ)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/hardware/Sensor;Landroid/hardware/Sensor;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V HSPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V HSPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->dispatchSensorEvent(I[FIJ)V @@ -8021,11 +8050,19 @@ HSPLandroid/hardware/camera2/CameraCharacteristics;->overrideProperty(Landroid/h HSPLandroid/hardware/camera2/CameraManager$AvailabilityCallback;-><init>()V HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/String;Ljava/lang/String;)I +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$3;-><init>(Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;Landroid/hardware/camera2/CameraManager$AvailabilityCallback;)V HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->asBinder()Landroid/os/IBinder; +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->cameraIdHasConcurrentStreamsLocked(Ljava/lang/String;)Z HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->connectCameraServiceLocked()V +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->extractCameraIdListLocked()[Ljava/lang/String; HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->get()Landroid/hardware/camera2/CameraManager$CameraManagerGlobal; +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraIdList()[Ljava/lang/String; HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraService()Landroid/hardware/ICameraService; HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onCameraAccessPrioritiesChanged()V +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onStatusChanged(ILjava/lang/String;)V +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onStatusChangedLocked(ILjava/lang/String;)V +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChanged(ILjava/lang/String;)V +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChangedLocked(ILjava/lang/String;)V HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->postSingleAccessPriorityChangeUpdate(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Ljava/util/concurrent/Executor;)V HSPLandroid/hardware/camera2/CameraManager$FoldStateListener;->addDeviceStateListener(Landroid/hardware/camera2/CameraManager$DeviceStateListener;)V HSPLandroid/hardware/camera2/CameraManager$FoldStateListener;->handleStateChange(I)V @@ -8035,6 +8072,7 @@ HSPLandroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String HSPLandroid/hardware/camera2/CameraManager;->getDisplaySize()Landroid/util/Size; HSPLandroid/hardware/camera2/CameraManager;->getPhysicalCameraMultiResolutionConfigs(Ljava/lang/String;Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/ICameraService;)Ljava/util/Map; HSPLandroid/hardware/camera2/CameraManager;->registerDeviceStateListener(Landroid/hardware/camera2/CameraCharacteristics;)V +HSPLandroid/hardware/camera2/CameraManager;->shouldOverrideToPortrait(Landroid/content/Context;)Z HSPLandroid/hardware/camera2/CameraMetadata;-><init>()V HSPLandroid/hardware/camera2/CameraMetadata;->setNativeInstance(Landroid/hardware/camera2/impl/CameraMetadataNative;)V HSPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraHandlerExecutor;->execute(Ljava/lang/Runnable;)V @@ -8181,7 +8219,9 @@ HSPLandroid/hardware/display/DisplayManagerGlobal$1;-><init>(Landroid/hardware/d HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Integer;)Landroid/view/DisplayInfo; HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;->run()V +HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;-><init>(Landroid/hardware/display/DisplayManager$DisplayListener;Ljava/util/concurrent/Executor;JLjava/lang/String;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->clearEvents()V +HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->handleDisplayEventInner(IILandroid/view/DisplayInfo;Z)V+]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;]Landroid/hardware/display/DisplayManager$DisplayListener;missing_types HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback-IA;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;->onDisplayEvent(II)V @@ -8202,6 +8242,7 @@ HSPLandroid/hardware/display/DisplayManagerGlobal;->getPreferredWideGamutColorSp HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landroid/graphics/Point; HSPLandroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus; HSPLandroid/hardware/display/DisplayManagerGlobal;->initExtraLogging()Z +HSPLandroid/hardware/display/DisplayManagerGlobal;->maybeLogAllDisplayListeners()V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Ljava/util/concurrent/Executor;JLjava/lang/String;)V+]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList; HSPLandroid/hardware/display/DisplayManagerGlobal;->registerNativeChoreographerForRefreshRateCallbacks()V @@ -8321,7 +8362,7 @@ HSPLandroid/hardware/location/NanoAppMessage;->getNanoAppId()J HSPLandroid/hardware/location/NanoAppMessage;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppState; HSPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;)V +HSPLandroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/hardware/location/NanoAppState;->getNanoAppId()J HSPLandroid/hardware/security/keymint/KeyParameter$1;-><init>()V HSPLandroid/hardware/security/keymint/KeyParameter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/security/keymint/KeyParameter; @@ -8434,7 +8475,7 @@ HSPLandroid/icu/impl/FormattedStringBuilder;->copyFrom(Landroid/icu/impl/Formatt HSPLandroid/icu/impl/FormattedStringBuilder;->fieldAt(I)Ljava/lang/Object; HSPLandroid/icu/impl/FormattedStringBuilder;->getCapacity()I HSPLandroid/icu/impl/FormattedStringBuilder;->insert(ILjava/lang/CharSequence;IILjava/lang/Object;)I -HSPLandroid/icu/impl/FormattedStringBuilder;->insert(ILjava/lang/CharSequence;Ljava/lang/Object;)I +HSPLandroid/icu/impl/FormattedStringBuilder;->insert(ILjava/lang/CharSequence;Ljava/lang/Object;)I+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/icu/impl/FormattedStringBuilder;->insert(I[C[Ljava/lang/Object;)I HSPLandroid/icu/impl/FormattedStringBuilder;->insertCodePoint(IILjava/lang/Object;)I HSPLandroid/icu/impl/FormattedStringBuilder;->length()I @@ -8445,7 +8486,7 @@ HSPLandroid/icu/impl/FormattedStringBuilder;->toFieldArray()[Ljava/lang/Object; HSPLandroid/icu/impl/FormattedStringBuilder;->toString()Ljava/lang/String; HSPLandroid/icu/impl/FormattedStringBuilder;->unwrapField(Ljava/lang/Object;)Ljava/text/Format$Field; HSPLandroid/icu/impl/FormattedValueStringBuilderImpl;->isIntOrGroup(Ljava/lang/Object;)Z -HSPLandroid/icu/impl/FormattedValueStringBuilderImpl;->nextFieldPosition(Landroid/icu/impl/FormattedStringBuilder;Ljava/text/FieldPosition;)Z +HSPLandroid/icu/impl/FormattedValueStringBuilderImpl;->nextFieldPosition(Landroid/icu/impl/FormattedStringBuilder;Ljava/text/FieldPosition;)Z+]Landroid/icu/text/ConstrainedFieldPosition;Landroid/icu/text/ConstrainedFieldPosition;]Ljava/text/FieldPosition;Ljava/text/DontCareFieldPosition; HSPLandroid/icu/impl/FormattedValueStringBuilderImpl;->nextPosition(Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/text/ConstrainedFieldPosition;Ljava/text/Format$Field;)Z+]Landroid/icu/text/ConstrainedFieldPosition;Landroid/icu/text/ConstrainedFieldPosition; HSPLandroid/icu/impl/Grego;->dayOfWeek(J)I HSPLandroid/icu/impl/Grego;->dayToFields(J[I)[I @@ -8466,7 +8507,7 @@ HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->addBaseNamesInFolder(Ljava/lang HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer; HSPLandroid/icu/impl/ICUBinary;->addBaseNamesInFileFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;I)I -HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I +HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/icu/impl/ICUBinary;->getBytes(Ljava/nio/ByteBuffer;II)[B HSPLandroid/icu/impl/ICUBinary;->getChars(Ljava/nio/ByteBuffer;II)[C HSPLandroid/icu/impl/ICUBinary;->getData(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Ljava/nio/ByteBuffer; @@ -8502,7 +8543,7 @@ HSPLandroid/icu/impl/ICUCurrencyMetaInfo$UniqueList;->add(Ljava/lang/Object;)V HSPLandroid/icu/impl/ICUCurrencyMetaInfo$UniqueList;->create()Landroid/icu/impl/ICUCurrencyMetaInfo$UniqueList; HSPLandroid/icu/impl/ICUCurrencyMetaInfo$UniqueList;->list()Ljava/util/List; HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collect(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List; -HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collectRegion(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;ILandroid/icu/impl/ICUResourceBundle;)V +HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collectRegion(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;ILandroid/icu/impl/ICUResourceBundle;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/ICUResourceBundle;Landroid/icu/impl/ICUResourceBundleImpl$ResourceString;,Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;,Landroid/icu/impl/ICUResourceBundleImpl$ResourceArray;]Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/impl/ICUCurrencyMetaInfo$CurrencyCollector; HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->currencies(Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List; HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->currencyDigits(Ljava/lang/String;Landroid/icu/util/Currency$CurrencyUsage;)Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits; HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->getDate(Landroid/icu/impl/ICUResourceBundle;JZ)J @@ -8510,9 +8551,9 @@ HSPLandroid/icu/impl/ICUData;->checkStreamForBinaryData(Ljava/io/InputStream;Lja HSPLandroid/icu/impl/ICUData;->getStream(Ljava/lang/ClassLoader;Ljava/lang/String;Z)Ljava/io/InputStream; HSPLandroid/icu/impl/ICULocaleService$ICUResourceBundleFactory;->getSupportedIDs()Ljava/util/Set; HSPLandroid/icu/impl/ICULocaleService$ICUResourceBundleFactory;->loader()Ljava/lang/ClassLoader; -HSPLandroid/icu/impl/ICULocaleService$LocaleKey;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V +HSPLandroid/icu/impl/ICULocaleService$LocaleKey;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->createWithCanonical(Landroid/icu/util/ULocale;Ljava/lang/String;I)Landroid/icu/impl/ICULocaleService$LocaleKey; -HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentDescriptor()Ljava/lang/String; +HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentDescriptor()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/icu/impl/ICULocaleService$LocaleKey;Landroid/icu/impl/ICULocaleService$LocaleKey; HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentID()Ljava/lang/String; HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentLocale()Landroid/icu/util/ULocale; HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->fallback()Z @@ -8544,20 +8585,21 @@ HSPLandroid/icu/impl/ICUResourceBundle$Loader;-><init>(Landroid/icu/impl/ICUReso HSPLandroid/icu/impl/ICUResourceBundle$WholeBundle;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundleReader;)V HSPLandroid/icu/impl/ICUResourceBundle;->-$$Nest$mgetNoFallback(Landroid/icu/impl/ICUResourceBundle;)Z HSPLandroid/icu/impl/ICUResourceBundle;->-$$Nest$sfgetDEBUG()Z +HSPLandroid/icu/impl/ICUResourceBundle;->-$$Nest$smgetParentLocaleID(Ljava/lang/String;Ljava/lang/String;Landroid/icu/impl/ICUResourceBundle$OpenType;)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundle;->-$$Nest$sminstantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundle$OpenType;)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;)V HSPLandroid/icu/impl/ICUResourceBundle;-><init>(Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)V HSPLandroid/icu/impl/ICUResourceBundle;->addBundleBaseNamesFromClassLoader(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Set;)V HSPLandroid/icu/impl/ICUResourceBundle;->at(I)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->at(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle; -HSPLandroid/icu/impl/ICUResourceBundle;->countPathKeys(Ljava/lang/String;)I +HSPLandroid/icu/impl/ICUResourceBundle;->countPathKeys(Ljava/lang/String;)I+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundle;->createBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->createFullLocaleNameSet(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/util/Set; HSPLandroid/icu/impl/ICUResourceBundle;->equals(Ljava/lang/Object;)Z HSPLandroid/icu/impl/ICUResourceBundle;->findResourceWithFallback(Ljava/lang/String;Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->findResourceWithFallback([Ljava/lang/String;ILandroid/icu/impl/ICUResourceBundle;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->findStringWithFallback(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundle;->findStringWithFallback(Ljava/lang/String;Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;)Ljava/lang/String; +HSPLandroid/icu/impl/ICUResourceBundle;->findStringWithFallback(Ljava/lang/String;Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;)Ljava/lang/String;+]Landroid/icu/impl/ICUResourceBundleReader$Container;Landroid/icu/impl/ICUResourceBundleReader$Table;,Landroid/icu/impl/ICUResourceBundleReader$Table1632;,Landroid/icu/impl/ICUResourceBundleReader$Table16;]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/ICUResourceBundle;Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;]Landroid/icu/impl/ICUResourceBundleReader;Landroid/icu/impl/ICUResourceBundleReader; HSPLandroid/icu/impl/ICUResourceBundle;->findTopLevel(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->findTopLevel(Ljava/lang/String;)Landroid/icu/util/UResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->findWithFallback(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle; @@ -8590,7 +8632,7 @@ HSPLandroid/icu/impl/ICUResourceBundle;->getResPathKeys([Ljava/lang/String;I)V HSPLandroid/icu/impl/ICUResourceBundle;->getStringWithFallback(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundle;->getULocale()Landroid/icu/util/ULocale; HSPLandroid/icu/impl/ICUResourceBundle;->getWithFallback(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle; -HSPLandroid/icu/impl/ICUResourceBundle;->instantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundle$OpenType;)Landroid/icu/impl/ICUResourceBundle; +HSPLandroid/icu/impl/ICUResourceBundle;->instantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundle$OpenType;)Landroid/icu/impl/ICUResourceBundle;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/icu/impl/ICUResourceBundle$OpenType;Landroid/icu/impl/ICUResourceBundle$OpenType;]Landroid/icu/impl/CacheBase;Landroid/icu/impl/ICUResourceBundle$1; HSPLandroid/icu/impl/ICUResourceBundle;->setParent(Ljava/util/ResourceBundle;)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceArray;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceArray;->getStringArray()[Ljava/lang/String; @@ -8602,22 +8644,22 @@ HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceBinary;->getBinary([B)[B HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->createBundleObject(ILjava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle; -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getContainerResource(I)I +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getContainerResource(I)I+]Landroid/icu/impl/ICUResourceBundleReader$Container;Landroid/icu/impl/ICUResourceBundleReader$Table1632;,Landroid/icu/impl/ICUResourceBundleReader$Table16; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getSize()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getString(I)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceInt;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceInt;->getInt()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceIntVector;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceIntVector;->getIntVector()[I -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/ICUResourceBundleReader;Landroid/icu/impl/ICUResourceBundleReader; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;->getString()Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;->getType()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;I)V -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V+]Landroid/icu/impl/ICUResourceBundleReader;Landroid/icu/impl/ICUResourceBundleReader; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->findString(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->getType()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(ILjava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle; -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle; +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;+]Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;]Landroid/icu/impl/ICUResourceBundleReader$Table;Landroid/icu/impl/ICUResourceBundleReader$Table;,Landroid/icu/impl/ICUResourceBundleReader$Table1632;,Landroid/icu/impl/ICUResourceBundleReader$Table16; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGetObject(Ljava/lang/String;)Ljava/lang/Object; HSPLandroid/icu/impl/ICUResourceBundleImpl;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;)V HSPLandroid/icu/impl/ICUResourceBundleImpl;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V @@ -8648,13 +8690,13 @@ HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray()[Ljav HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray(Landroid/icu/impl/ICUResourceBundleReader$Array;)[Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getTable()Landroid/icu/impl/UResource$Table; HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getType()I -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object; -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;-><init>(I)V HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->findSimple(I)I -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object;+]Ljava/lang/ref/SoftReference;Ljava/lang/ref/SoftReference;]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->makeKey(I)I -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfCleared([Ljava/lang/Object;ILjava/lang/Object;I)Ljava/lang/Object; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->storeDirectly(I)Z HSPLandroid/icu/impl/ICUResourceBundleReader$Table1632;-><init>(Landroid/icu/impl/ICUResourceBundleReader;I)V @@ -8664,7 +8706,7 @@ HSPLandroid/icu/impl/ICUResourceBundleReader$Table;-><init>()V HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->findTableItem(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/CharSequence;)I HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->findValue(Ljava/lang/CharSequence;Landroid/icu/impl/UResource$Value;)Z HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getKey(Landroid/icu/impl/ICUResourceBundleReader;I)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getKeyAndValue(ILandroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)Z +HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getKeyAndValue(ILandroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)Z+]Landroid/icu/impl/ICUResourceBundleReader$Table;Landroid/icu/impl/ICUResourceBundleReader$Table1632;,Landroid/icu/impl/ICUResourceBundleReader$Table16; HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getResource(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/String;)I HSPLandroid/icu/impl/ICUResourceBundleReader;->-$$Nest$fgetb16BitUnits(Landroid/icu/impl/ICUResourceBundleReader;)Ljava/nio/CharBuffer; HSPLandroid/icu/impl/ICUResourceBundleReader;->-$$Nest$fgetpoolStringIndex16Limit(Landroid/icu/impl/ICUResourceBundleReader;)I @@ -8688,7 +8730,7 @@ HSPLandroid/icu/impl/ICUResourceBundleReader;->getAlias(I)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleReader;->getArray(I)Landroid/icu/impl/ICUResourceBundleReader$Array; HSPLandroid/icu/impl/ICUResourceBundleReader;->getBinary(I[B)[B HSPLandroid/icu/impl/ICUResourceBundleReader;->getChars(II)[C -HSPLandroid/icu/impl/ICUResourceBundleReader;->getFullName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getFullName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/icu/impl/ICUResourceBundleReader;->getIndexesInt(I)I HSPLandroid/icu/impl/ICUResourceBundleReader;->getInt(I)I HSPLandroid/icu/impl/ICUResourceBundleReader;->getIntVector(I)[I @@ -8698,10 +8740,10 @@ HSPLandroid/icu/impl/ICUResourceBundleReader;->getNoFallback()Z HSPLandroid/icu/impl/ICUResourceBundleReader;->getReader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundleReader; HSPLandroid/icu/impl/ICUResourceBundleReader;->getResourceByteOffset(I)I HSPLandroid/icu/impl/ICUResourceBundleReader;->getRootResource()I -HSPLandroid/icu/impl/ICUResourceBundleReader;->getString(I)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundleReader;->getStringV2(I)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable(I)Landroid/icu/impl/ICUResourceBundleReader$Table; -HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable16KeyOffsets(I)[C +HSPLandroid/icu/impl/ICUResourceBundleReader;->getString(I)Ljava/lang/String;+]Landroid/icu/impl/ICUResourceBundleReader;Landroid/icu/impl/ICUResourceBundleReader; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getStringV2(I)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;]Ljava/nio/CharBuffer;Ljava/nio/ByteBufferAsCharBuffer;]Ljava/lang/CharSequence;Ljava/nio/ByteBufferAsCharBuffer; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable(I)Landroid/icu/impl/ICUResourceBundleReader$Table;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;]Landroid/icu/impl/ICUResourceBundleReader$Table;Landroid/icu/impl/ICUResourceBundleReader$Table16;,Landroid/icu/impl/ICUResourceBundleReader$Table1632; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable16KeyOffsets(I)[C+]Ljava/nio/CharBuffer;Ljava/nio/ByteBufferAsCharBuffer; HSPLandroid/icu/impl/ICUResourceBundleReader;->getTableKeyOffsets(I)[C HSPLandroid/icu/impl/ICUResourceBundleReader;->init(Ljava/nio/ByteBuffer;)V HSPLandroid/icu/impl/ICUResourceBundleReader;->makeKeyStringFromBytes([BI)Ljava/lang/String; @@ -8711,10 +8753,10 @@ HSPLandroid/icu/impl/ICUService$CacheEntry;-><init>(Ljava/lang/String;Ljava/lang HSPLandroid/icu/impl/ICUService$Key;-><init>(Ljava/lang/String;)V HSPLandroid/icu/impl/ICUService;->clearServiceCache()V HSPLandroid/icu/impl/ICUService;->getKey(Landroid/icu/impl/ICUService$Key;[Ljava/lang/String;)Ljava/lang/Object; -HSPLandroid/icu/impl/ICUService;->getKey(Landroid/icu/impl/ICUService$Key;[Ljava/lang/String;Landroid/icu/impl/ICUService$Factory;)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUService;->getKey(Landroid/icu/impl/ICUService$Key;[Ljava/lang/String;Landroid/icu/impl/ICUService$Factory;)Ljava/lang/Object;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;]Landroid/icu/impl/ICURWLock;Landroid/icu/impl/ICURWLock;]Landroid/icu/impl/ICUService$Key;Landroid/icu/impl/ICULocaleService$LocaleKey; HSPLandroid/icu/impl/ICUService;->isDefault()Z -HSPLandroid/icu/impl/IDNA2003;->convertIDNToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer; -HSPLandroid/icu/impl/IDNA2003;->convertToASCII(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer; +HSPLandroid/icu/impl/IDNA2003;->convertIDNToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuffer;Ljava/lang/StringBuffer; +HSPLandroid/icu/impl/IDNA2003;->convertToASCII(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;+]Landroid/icu/text/UCharacterIterator;Landroid/icu/impl/ReplaceableUCharacterIterator;]Ljava/lang/StringBuffer;Ljava/lang/StringBuffer; HSPLandroid/icu/impl/IDNA2003;->getSeparatorIndex([CII)I HSPLandroid/icu/impl/IDNA2003;->isLDHChar(I)Z HSPLandroid/icu/impl/IDNA2003;->isLabelSeparator(I)Z @@ -8722,9 +8764,9 @@ HSPLandroid/icu/impl/LocaleIDParser$1;-><init>(Landroid/icu/impl/LocaleIDParser; HSPLandroid/icu/impl/LocaleIDParser$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/icu/impl/LocaleIDParser$1;->compare(Ljava/lang/String;Ljava/lang/String;)I HSPLandroid/icu/impl/LocaleIDParser;-><init>(Ljava/lang/String;)V -HSPLandroid/icu/impl/LocaleIDParser;-><init>(Ljava/lang/String;Z)V +HSPLandroid/icu/impl/LocaleIDParser;-><init>(Ljava/lang/String;Z)V+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/LocaleIDParser;->addSeparator()V -HSPLandroid/icu/impl/LocaleIDParser;->append(C)V +HSPLandroid/icu/impl/LocaleIDParser;->append(C)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/icu/impl/LocaleIDParser;->append(Ljava/lang/String;)V HSPLandroid/icu/impl/LocaleIDParser;->atTerminator()Z HSPLandroid/icu/impl/LocaleIDParser;->getBaseName()Ljava/lang/String; @@ -8748,10 +8790,10 @@ HSPLandroid/icu/impl/LocaleIDParser;->isTerminator(C)Z HSPLandroid/icu/impl/LocaleIDParser;->isTerminatorOrIDSeparator(C)Z HSPLandroid/icu/impl/LocaleIDParser;->next()C HSPLandroid/icu/impl/LocaleIDParser;->parseBaseName()V -HSPLandroid/icu/impl/LocaleIDParser;->parseCountry()I +HSPLandroid/icu/impl/LocaleIDParser;->parseCountry()I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/icu/impl/LocaleIDParser;->parseKeywords()I -HSPLandroid/icu/impl/LocaleIDParser;->parseLanguage()I -HSPLandroid/icu/impl/LocaleIDParser;->parseScript()I +HSPLandroid/icu/impl/LocaleIDParser;->parseLanguage()I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/icu/impl/LocaleIDParser;->parseScript()I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/icu/impl/LocaleIDParser;->parseVariant()I HSPLandroid/icu/impl/LocaleIDParser;->reset()V HSPLandroid/icu/impl/LocaleIDParser;->setKeywordValue(Ljava/lang/String;Ljava/lang/String;)V @@ -8780,7 +8822,7 @@ HSPLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->flushAndAppendZeroCC(Lja HSPLandroid/icu/impl/Normalizer2Impl;->addToStartSet(Landroid/icu/util/MutableCodePointTrie;II)V HSPLandroid/icu/impl/Normalizer2Impl;->composeQuickCheck(Ljava/lang/CharSequence;IIZZ)I HSPLandroid/icu/impl/Normalizer2Impl;->decompose(IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)V -HSPLandroid/icu/impl/Normalizer2Impl;->decompose(Ljava/lang/CharSequence;IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)I +HSPLandroid/icu/impl/Normalizer2Impl;->decompose(Ljava/lang/CharSequence;IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)I+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/icu/impl/Normalizer2Impl;->decomposeAndAppend(Ljava/lang/CharSequence;ZLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)V HSPLandroid/icu/impl/Normalizer2Impl;->ensureCanonIterData()Landroid/icu/impl/Normalizer2Impl; HSPLandroid/icu/impl/Normalizer2Impl;->getRawNorm16(I)I @@ -8810,11 +8852,11 @@ HSPLandroid/icu/impl/OlsonTimeZone;->initialDstOffset()I HSPLandroid/icu/impl/OlsonTimeZone;->initialRawOffset()I HSPLandroid/icu/impl/OlsonTimeZone;->isFrozen()Z HSPLandroid/icu/impl/OlsonTimeZone;->loadRule(Landroid/icu/util/UResourceBundle;Ljava/lang/String;)Landroid/icu/util/UResourceBundle; -HSPLandroid/icu/impl/OlsonTimeZone;->toString()Ljava/lang/String; +HSPLandroid/icu/impl/OlsonTimeZone;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/icu/impl/PatternProps;->isWhiteSpace(I)Z HSPLandroid/icu/impl/PatternProps;->skipWhiteSpace(Ljava/lang/CharSequence;I)I HSPLandroid/icu/impl/PatternTokenizer;-><init>()V -HSPLandroid/icu/impl/PatternTokenizer;->next(Ljava/lang/StringBuffer;)I +HSPLandroid/icu/impl/PatternTokenizer;->next(Ljava/lang/StringBuffer;)I+]Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet; HSPLandroid/icu/impl/PatternTokenizer;->quoteLiteral(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/impl/PatternTokenizer;->setExtraQuotingCharacters(Landroid/icu/text/UnicodeSet;)Landroid/icu/impl/PatternTokenizer; HSPLandroid/icu/impl/PatternTokenizer;->setPattern(Ljava/lang/String;)Landroid/icu/impl/PatternTokenizer; @@ -8835,7 +8877,7 @@ HSPLandroid/icu/impl/RBBIDataWrapper;->get(Ljava/nio/ByteBuffer;)Landroid/icu/im HSPLandroid/icu/impl/ReplaceableUCharacterIterator;-><init>(Ljava/lang/String;)V HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->getLength()I HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->getText([CI)I -HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->next()I +HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->next()I+]Landroid/icu/text/Replaceable;Landroid/icu/text/ReplaceableString; HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->setIndex(I)V HSPLandroid/icu/impl/RuleCharacterIterator;->_advance(I)V HSPLandroid/icu/impl/RuleCharacterIterator;->_current()I @@ -8862,14 +8904,14 @@ HSPLandroid/icu/impl/StaticUnicodeSets;->chooseFrom(Ljava/lang/String;Landroid/i HSPLandroid/icu/impl/StaticUnicodeSets;->get(Landroid/icu/impl/StaticUnicodeSets$Key;)Landroid/icu/text/UnicodeSet; HSPLandroid/icu/impl/StringSegment;-><init>(Ljava/lang/String;Z)V HSPLandroid/icu/impl/StringSegment;->adjustOffset(I)V -HSPLandroid/icu/impl/StringSegment;->charAt(I)C+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/icu/impl/StringSegment;->charAt(I)C HSPLandroid/icu/impl/StringSegment;->codePointsEqual(IIZ)Z -HSPLandroid/icu/impl/StringSegment;->getCodePoint()I+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/icu/impl/StringSegment;->getCodePoint()I HSPLandroid/icu/impl/StringSegment;->getCommonPrefixLength(Ljava/lang/CharSequence;)I HSPLandroid/icu/impl/StringSegment;->getOffset()I -HSPLandroid/icu/impl/StringSegment;->getPrefixLengthInternal(Ljava/lang/CharSequence;Z)I+]Landroid/icu/impl/StringSegment;Landroid/icu/impl/StringSegment;]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/icu/impl/StringSegment;->getPrefixLengthInternal(Ljava/lang/CharSequence;Z)I HSPLandroid/icu/impl/StringSegment;->length()I -HSPLandroid/icu/impl/StringSegment;->startsWith(Landroid/icu/text/UnicodeSet;)Z+]Landroid/icu/impl/StringSegment;Landroid/icu/impl/StringSegment;]Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet; +HSPLandroid/icu/impl/StringSegment;->startsWith(Landroid/icu/text/UnicodeSet;)Z HSPLandroid/icu/impl/StringSegment;->startsWith(Ljava/lang/CharSequence;)Z HSPLandroid/icu/impl/TextTrieMap$Node;-><init>(Landroid/icu/impl/TextTrieMap;)V HSPLandroid/icu/impl/TextTrieMap;-><init>(Z)V @@ -8927,7 +8969,7 @@ HSPLandroid/icu/impl/Trie2_32;->get(I)I HSPLandroid/icu/impl/Trie2_32;->getFromU16SingleLead(C)I HSPLandroid/icu/impl/UBiDiProps;->getClass(I)I HSPLandroid/icu/impl/UBiDiProps;->getClassFromProps(I)I -HSPLandroid/icu/impl/UCaseProps;->fold(II)I+]Landroid/icu/impl/Trie2_16;Landroid/icu/impl/Trie2_16; +HSPLandroid/icu/impl/UCaseProps;->fold(II)I HSPLandroid/icu/impl/UCaseProps;->getCaseLocale(Ljava/lang/String;)I HSPLandroid/icu/impl/UCaseProps;->getCaseLocale(Ljava/util/Locale;)I HSPLandroid/icu/impl/UCaseProps;->getDelta(I)I @@ -8959,7 +9001,7 @@ HSPLandroid/icu/impl/UResource$Sink;-><init>()V HSPLandroid/icu/impl/UResource$Value;-><init>()V HSPLandroid/icu/impl/UResource$Value;->toString()Ljava/lang/String; HSPLandroid/icu/impl/Utility;->addExact(II)I -HSPLandroid/icu/impl/Utility;->appendTo(Ljava/lang/CharSequence;Ljava/lang/Appendable;)Ljava/lang/Appendable; +HSPLandroid/icu/impl/Utility;->appendTo(Ljava/lang/CharSequence;Ljava/lang/Appendable;)Ljava/lang/Appendable;+]Ljava/lang/Appendable;Ljava/lang/StringBuffer; HSPLandroid/icu/impl/Utility;->arrayEquals([BLjava/lang/Object;)Z HSPLandroid/icu/impl/Utility;->arrayRegionMatches([BI[BII)Z HSPLandroid/icu/impl/Utility;->sameObjects(Ljava/lang/Object;Ljava/lang/Object;)Z @@ -9090,9 +9132,9 @@ HSPLandroid/icu/impl/locale/BaseLocale$Key;->-$$Nest$fget_scrt(Landroid/icu/impl HSPLandroid/icu/impl/locale/BaseLocale$Key;->-$$Nest$fget_vart(Landroid/icu/impl/locale/BaseLocale$Key;)Ljava/lang/String; HSPLandroid/icu/impl/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/icu/impl/locale/BaseLocale$Key;->equals(Ljava/lang/Object;)Z -HSPLandroid/icu/impl/locale/BaseLocale$Key;->hashCode()I +HSPLandroid/icu/impl/locale/BaseLocale$Key;->hashCode()I+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/locale/BaseLocale$Key;->normalize(Landroid/icu/impl/locale/BaseLocale$Key;)Landroid/icu/impl/locale/BaseLocale$Key; -HSPLandroid/icu/impl/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V +HSPLandroid/icu/impl/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/icu/impl/locale/BaseLocale-IA;)V HSPLandroid/icu/impl/locale/BaseLocale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/icu/impl/locale/BaseLocale; HSPLandroid/icu/impl/locale/BaseLocale;->getLanguage()Ljava/lang/String; @@ -9113,7 +9155,7 @@ HSPLandroid/icu/impl/locale/LocaleObjectCache;->cleanStaleEntries()V HSPLandroid/icu/impl/locale/LocaleObjectCache;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/icu/impl/number/AdoptingModifierStore$1;-><clinit>()V HSPLandroid/icu/impl/number/AdoptingModifierStore;-><init>(Landroid/icu/impl/number/Modifier;Landroid/icu/impl/number/Modifier;Landroid/icu/impl/number/Modifier;Landroid/icu/impl/number/Modifier;)V -HSPLandroid/icu/impl/number/AdoptingModifierStore;->getModifierWithoutPlural(Landroid/icu/impl/number/Modifier$Signum;)Landroid/icu/impl/number/Modifier; +HSPLandroid/icu/impl/number/AdoptingModifierStore;->getModifierWithoutPlural(Landroid/icu/impl/number/Modifier$Signum;)Landroid/icu/impl/number/Modifier;+]Landroid/icu/impl/number/Modifier$Signum;Landroid/icu/impl/number/Modifier$Signum; HSPLandroid/icu/impl/number/AffixUtils;->containsType(Ljava/lang/CharSequence;I)Z HSPLandroid/icu/impl/number/AffixUtils;->escape(Ljava/lang/CharSequence;)Ljava/lang/String; HSPLandroid/icu/impl/number/AffixUtils;->getFieldForType(I)Landroid/icu/text/NumberFormat$Field; @@ -9128,14 +9170,14 @@ HSPLandroid/icu/impl/number/AffixUtils;->makeTag(IIII)J HSPLandroid/icu/impl/number/AffixUtils;->nextToken(JLjava/lang/CharSequence;)J HSPLandroid/icu/impl/number/AffixUtils;->unescape(Ljava/lang/CharSequence;Landroid/icu/impl/FormattedStringBuilder;ILandroid/icu/impl/number/AffixUtils$SymbolProvider;Landroid/icu/text/NumberFormat$Field;)I HSPLandroid/icu/impl/number/AffixUtils;->unescapedCount(Ljava/lang/CharSequence;ZLandroid/icu/impl/number/AffixUtils$SymbolProvider;)I -HSPLandroid/icu/impl/number/ConstantAffixModifier;->apply(Landroid/icu/impl/FormattedStringBuilder;II)I +HSPLandroid/icu/impl/number/ConstantAffixModifier;->apply(Landroid/icu/impl/FormattedStringBuilder;II)I+]Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/FormattedStringBuilder; HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;-><init>(Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/FormattedStringBuilder;ZZ)V HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;-><init>(Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/FormattedStringBuilder;ZZLandroid/icu/impl/number/Modifier$Parameters;)V -HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;->apply(Landroid/icu/impl/FormattedStringBuilder;II)I +HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;->apply(Landroid/icu/impl/FormattedStringBuilder;II)I+]Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/FormattedStringBuilder; HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;->getPrefixLength()I HSPLandroid/icu/impl/number/CurrencySpacingEnabledModifier;->applyCurrencySpacing(Landroid/icu/impl/FormattedStringBuilder;IIIILandroid/icu/text/DecimalFormatSymbols;)I HSPLandroid/icu/impl/number/CurrencySpacingEnabledModifier;->applyCurrencySpacingAffix(Landroid/icu/impl/FormattedStringBuilder;IBLandroid/icu/text/DecimalFormatSymbols;)I -HSPLandroid/icu/impl/number/CustomSymbolCurrency;->resolve(Landroid/icu/util/Currency;Landroid/icu/util/ULocale;Landroid/icu/text/DecimalFormatSymbols;)Landroid/icu/util/Currency; +HSPLandroid/icu/impl/number/CustomSymbolCurrency;->resolve(Landroid/icu/util/Currency;Landroid/icu/util/ULocale;Landroid/icu/text/DecimalFormatSymbols;)Landroid/icu/util/Currency;+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/util/Currency;Landroid/icu/util/Currency; HSPLandroid/icu/impl/number/DecimalFormatProperties;-><init>()V HSPLandroid/icu/impl/number/DecimalFormatProperties;->_clear()Landroid/icu/impl/number/DecimalFormatProperties; HSPLandroid/icu/impl/number/DecimalFormatProperties;->_copyFrom(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/DecimalFormatProperties; @@ -9215,14 +9257,14 @@ HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;-><init>()V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToBigDecimal(Ljava/math/BigDecimal;)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToBigInteger(Ljava/math/BigInteger;)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToDoubleFast(D)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToLong(J)V +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToLong(J)V+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->adjustMagnitude(I)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->appendDigit(BIZ)V+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->appendDigit(BIZ)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->applyMaxInteger(I)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->convertToAccurateDouble()V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->copyFrom(Landroid/icu/impl/number/DecimalQuantity;)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->fitsInLong()Z+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getDigit(I)B +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->fitsInLong()Z +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getDigit(I)B+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getLowerDisplayMagnitude()I HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getMagnitude()I HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getPluralOperand(Landroid/icu/text/PluralRules$Operand;)D @@ -9235,18 +9277,18 @@ HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->isZeroish()Z HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->negate()V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->populateUFieldPosition(Ljava/text/FieldPosition;)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->roundToMagnitude(ILjava/math/MathContext;)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->roundToMagnitude(ILjava/math/MathContext;Z)V +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->roundToMagnitude(ILjava/math/MathContext;Z)V+]Ljava/math/MathContext;Ljava/math/MathContext;]Ljava/math/RoundingMode;Ljava/math/RoundingMode;]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->safeSubtract(II)I HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setMinFraction(I)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setMinInteger(I)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToBigDecimal(Ljava/math/BigDecimal;)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToDouble(D)V +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToDouble(D)V+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToInt(I)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToLong(J)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->signum()Landroid/icu/impl/number/Modifier$Signum; -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->toLong(Z)J+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; -HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>()V+]Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; -HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(D)V +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->signum()Landroid/icu/impl/number/Modifier$Signum;+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->toLong(Z)J +HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>()V +HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(D)V+]Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(I)V HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(J)V HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(Ljava/lang/Number;)V @@ -9278,14 +9320,14 @@ HSPLandroid/icu/impl/number/MacroProps;-><init>()V HSPLandroid/icu/impl/number/MacroProps;->fallback(Landroid/icu/impl/number/MacroProps;)V HSPLandroid/icu/impl/number/MicroProps;-><init>(Z)V HSPLandroid/icu/impl/number/MicroProps;->clone()Ljava/lang/Object; -HSPLandroid/icu/impl/number/MicroProps;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps; +HSPLandroid/icu/impl/number/MicroProps;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;+]Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/MicroProps; HSPLandroid/icu/impl/number/Modifier$Signum;->values()[Landroid/icu/impl/number/Modifier$Signum; HSPLandroid/icu/impl/number/MultiplierFormatHandler;-><init>(Landroid/icu/number/Scale;Landroid/icu/impl/number/MicroPropsGenerator;)V HSPLandroid/icu/impl/number/MultiplierFormatHandler;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps; HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;-><init>(Landroid/icu/impl/number/AdoptingModifierStore;Landroid/icu/text/PluralRules;)V HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->addToChain(Landroid/icu/impl/number/MicroPropsGenerator;)Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier; -HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->applyToMicros(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;)V -HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps; +HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->applyToMicros(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;)V+]Landroid/icu/impl/number/AdoptingModifierStore;Landroid/icu/impl/number/AdoptingModifierStore;]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;+]Landroid/icu/impl/number/MicroPropsGenerator;Landroid/icu/impl/number/MicroProps;]Landroid/icu/number/Precision;Landroid/icu/number/Precision$FractionRounderImpl;]Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier; HSPLandroid/icu/impl/number/MutablePatternModifier;-><init>(Z)V HSPLandroid/icu/impl/number/MutablePatternModifier;->addToChain(Landroid/icu/impl/number/MicroPropsGenerator;)Landroid/icu/impl/number/MicroPropsGenerator; HSPLandroid/icu/impl/number/MutablePatternModifier;->apply(Landroid/icu/impl/FormattedStringBuilder;II)I @@ -9315,7 +9357,7 @@ HSPLandroid/icu/impl/number/PatternStringParser;->consumeAffix(Landroid/icu/impl HSPLandroid/icu/impl/number/PatternStringParser;->consumeExponent(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V HSPLandroid/icu/impl/number/PatternStringParser;->consumeFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V HSPLandroid/icu/impl/number/PatternStringParser;->consumeFractionFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V -HSPLandroid/icu/impl/number/PatternStringParser;->consumeIntegerFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V +HSPLandroid/icu/impl/number/PatternStringParser;->consumeIntegerFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V+]Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParserState; HSPLandroid/icu/impl/number/PatternStringParser;->consumeLiteral(Landroid/icu/impl/number/PatternStringParser$ParserState;)V HSPLandroid/icu/impl/number/PatternStringParser;->consumePadding(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;Landroid/icu/impl/number/Padder$PadPosition;)V HSPLandroid/icu/impl/number/PatternStringParser;->consumePattern(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;)V @@ -9328,9 +9370,9 @@ HSPLandroid/icu/impl/number/PatternStringUtils$PatternSignType;-><clinit>()V HSPLandroid/icu/impl/number/PatternStringUtils$PatternSignType;-><init>(Ljava/lang/String;I)V HSPLandroid/icu/impl/number/PatternStringUtils$PatternSignType;->values()[Landroid/icu/impl/number/PatternStringUtils$PatternSignType; HSPLandroid/icu/impl/number/PatternStringUtils;->patternInfoToStringBuilder(Landroid/icu/impl/number/AffixPatternProvider;ZLandroid/icu/impl/number/PatternStringUtils$PatternSignType;ZLandroid/icu/impl/StandardPlural;ZLjava/lang/StringBuilder;)V -HSPLandroid/icu/impl/number/PatternStringUtils;->propertiesToPatternString(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/lang/String; +HSPLandroid/icu/impl/number/PatternStringUtils;->propertiesToPatternString(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/PropertiesAffixPatternProvider;]Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/DecimalFormatProperties; HSPLandroid/icu/impl/number/PatternStringUtils;->resolveSignDisplay(Landroid/icu/number/NumberFormatter$SignDisplay;Landroid/icu/impl/number/Modifier$Signum;)Landroid/icu/impl/number/PatternStringUtils$PatternSignType; -HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;-><init>(Landroid/icu/impl/number/DecimalFormatProperties;)V +HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;-><init>(Landroid/icu/impl/number/DecimalFormatProperties;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/DecimalFormatProperties; HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->charAt(II)C HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->containsSymbolType(I)Z HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->currencyAsDecimal()Z @@ -9338,7 +9380,7 @@ HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->forProperties(Landr HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->getString(I)Ljava/lang/String; HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasBody()Z HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasCurrencySign()Z -HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasNegativeSubpattern()Z +HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasNegativeSubpattern()Z+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->length(I)I HSPLandroid/icu/impl/number/RoundingUtils;->getMathContextOr34Digits(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/math/MathContext; HSPLandroid/icu/impl/number/RoundingUtils;->getMathContextOrUnlimited(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/math/MathContext; @@ -9350,14 +9392,14 @@ HSPLandroid/icu/impl/number/SimpleModifier;->apply(Landroid/icu/impl/FormattedSt HSPLandroid/icu/impl/number/parse/AffixMatcher$1;->compare(Landroid/icu/impl/number/parse/AffixMatcher;Landroid/icu/impl/number/parse/AffixMatcher;)I HSPLandroid/icu/impl/number/parse/AffixMatcher$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/icu/impl/number/parse/AffixMatcher;-><init>(Landroid/icu/impl/number/parse/AffixPatternMatcher;Landroid/icu/impl/number/parse/AffixPatternMatcher;I)V -HSPLandroid/icu/impl/number/parse/AffixMatcher;->createMatchers(Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/parse/NumberParserImpl;Landroid/icu/impl/number/parse/AffixTokenMatcherFactory;Landroid/icu/impl/number/parse/IgnorablesMatcher;I)V+]Landroid/icu/impl/number/parse/NumberParserImpl;Landroid/icu/impl/number/parse/NumberParserImpl;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/icu/impl/number/parse/AffixMatcher;->createMatchers(Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/parse/NumberParserImpl;Landroid/icu/impl/number/parse/AffixTokenMatcherFactory;Landroid/icu/impl/number/parse/IgnorablesMatcher;I)V HSPLandroid/icu/impl/number/parse/AffixMatcher;->getInstance(Landroid/icu/impl/number/parse/AffixPatternMatcher;Landroid/icu/impl/number/parse/AffixPatternMatcher;I)Landroid/icu/impl/number/parse/AffixMatcher; HSPLandroid/icu/impl/number/parse/AffixMatcher;->isInteresting(Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/parse/IgnorablesMatcher;I)Z HSPLandroid/icu/impl/number/parse/AffixMatcher;->length(Landroid/icu/impl/number/parse/AffixPatternMatcher;)I HSPLandroid/icu/impl/number/parse/AffixMatcher;->match(Landroid/icu/impl/StringSegment;Landroid/icu/impl/number/parse/ParsedNumber;)Z HSPLandroid/icu/impl/number/parse/AffixMatcher;->matched(Landroid/icu/impl/number/parse/AffixPatternMatcher;Ljava/lang/String;)Z HSPLandroid/icu/impl/number/parse/AffixMatcher;->postProcess(Landroid/icu/impl/number/parse/ParsedNumber;)V -HSPLandroid/icu/impl/number/parse/AffixMatcher;->smokeTest(Landroid/icu/impl/StringSegment;)Z+]Landroid/icu/impl/number/parse/AffixPatternMatcher;Landroid/icu/impl/number/parse/AffixPatternMatcher; +HSPLandroid/icu/impl/number/parse/AffixMatcher;->smokeTest(Landroid/icu/impl/StringSegment;)Z HSPLandroid/icu/impl/number/parse/AffixPatternMatcher;-><init>(Ljava/lang/String;)V HSPLandroid/icu/impl/number/parse/AffixPatternMatcher;->consumeToken(I)V HSPLandroid/icu/impl/number/parse/AffixPatternMatcher;->equals(Ljava/lang/Object;)Z @@ -9365,10 +9407,10 @@ HSPLandroid/icu/impl/number/parse/AffixPatternMatcher;->fromAffixPattern(Ljava/l HSPLandroid/icu/impl/number/parse/AffixPatternMatcher;->getPattern()Ljava/lang/String; HSPLandroid/icu/impl/number/parse/AffixTokenMatcherFactory;-><init>()V HSPLandroid/icu/impl/number/parse/AffixTokenMatcherFactory;->minusSign()Landroid/icu/impl/number/parse/MinusSignMatcher; -HSPLandroid/icu/impl/number/parse/DecimalMatcher;-><init>(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;I)V+]Landroid/icu/impl/number/Grouper;Landroid/icu/impl/number/Grouper;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols; +HSPLandroid/icu/impl/number/parse/DecimalMatcher;-><init>(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;I)V HSPLandroid/icu/impl/number/parse/DecimalMatcher;->getInstance(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;I)Landroid/icu/impl/number/parse/DecimalMatcher; HSPLandroid/icu/impl/number/parse/DecimalMatcher;->match(Landroid/icu/impl/StringSegment;Landroid/icu/impl/number/parse/ParsedNumber;)Z -HSPLandroid/icu/impl/number/parse/DecimalMatcher;->match(Landroid/icu/impl/StringSegment;Landroid/icu/impl/number/parse/ParsedNumber;I)Z +HSPLandroid/icu/impl/number/parse/DecimalMatcher;->match(Landroid/icu/impl/StringSegment;Landroid/icu/impl/number/parse/ParsedNumber;I)Z+]Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/number/parse/ParsedNumber;Landroid/icu/impl/number/parse/ParsedNumber;]Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;]Landroid/icu/impl/StringSegment;Landroid/icu/impl/StringSegment; HSPLandroid/icu/impl/number/parse/DecimalMatcher;->postProcess(Landroid/icu/impl/number/parse/ParsedNumber;)V HSPLandroid/icu/impl/number/parse/DecimalMatcher;->smokeTest(Landroid/icu/impl/StringSegment;)Z HSPLandroid/icu/impl/number/parse/DecimalMatcher;->validateGroup(IIZ)Z @@ -9379,14 +9421,14 @@ HSPLandroid/icu/impl/number/parse/NanMatcher;->getInstance(Landroid/icu/text/Dec HSPLandroid/icu/impl/number/parse/NumberParserImpl;-><init>(I)V HSPLandroid/icu/impl/number/parse/NumberParserImpl;->addMatcher(Landroid/icu/impl/number/parse/NumberParseMatcher;)V HSPLandroid/icu/impl/number/parse/NumberParserImpl;->addMatchers(Ljava/util/Collection;)V -HSPLandroid/icu/impl/number/parse/NumberParserImpl;->createParserFromProperties(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Z)Landroid/icu/impl/number/parse/NumberParserImpl; +HSPLandroid/icu/impl/number/parse/NumberParserImpl;->createParserFromProperties(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Z)Landroid/icu/impl/number/parse/NumberParserImpl;+]Landroid/icu/impl/number/Grouper;Landroid/icu/impl/number/Grouper;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/PropertiesAffixPatternProvider;]Landroid/icu/impl/number/parse/NumberParserImpl;Landroid/icu/impl/number/parse/NumberParserImpl;]Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/DecimalFormatProperties; HSPLandroid/icu/impl/number/parse/NumberParserImpl;->freeze()V HSPLandroid/icu/impl/number/parse/NumberParserImpl;->getParseFlags()I HSPLandroid/icu/impl/number/parse/NumberParserImpl;->parse(Ljava/lang/String;IZLandroid/icu/impl/number/parse/ParsedNumber;)V HSPLandroid/icu/impl/number/parse/NumberParserImpl;->parseGreedy(Landroid/icu/impl/StringSegment;Landroid/icu/impl/number/parse/ParsedNumber;)V HSPLandroid/icu/impl/number/parse/ParsedNumber;-><init>()V HSPLandroid/icu/impl/number/parse/ParsedNumber;->clear()V -HSPLandroid/icu/impl/number/parse/ParsedNumber;->getNumber(I)Ljava/lang/Number;+]Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/impl/number/parse/ParsedNumber;->getNumber(I)Ljava/lang/Number; HSPLandroid/icu/impl/number/parse/ParsedNumber;->postProcess()V HSPLandroid/icu/impl/number/parse/ParsedNumber;->seenNumber()Z HSPLandroid/icu/impl/number/parse/ParsedNumber;->setCharsConsumed(Landroid/icu/impl/StringSegment;)V @@ -9395,7 +9437,7 @@ HSPLandroid/icu/impl/number/parse/RequireAffixValidator;-><init>()V HSPLandroid/icu/impl/number/parse/RequireAffixValidator;->postProcess(Landroid/icu/impl/number/parse/ParsedNumber;)V HSPLandroid/icu/impl/number/parse/RequireNumberValidator;-><init>()V HSPLandroid/icu/impl/number/parse/RequireNumberValidator;->postProcess(Landroid/icu/impl/number/parse/ParsedNumber;)V -HSPLandroid/icu/impl/number/parse/ScientificMatcher;-><init>(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;)V+]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet; +HSPLandroid/icu/impl/number/parse/ScientificMatcher;-><init>(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;)V HSPLandroid/icu/impl/number/parse/ScientificMatcher;->getInstance(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;)Landroid/icu/impl/number/parse/ScientificMatcher; HSPLandroid/icu/impl/number/parse/ScientificMatcher;->minusSignSet()Landroid/icu/text/UnicodeSet; HSPLandroid/icu/impl/number/parse/ScientificMatcher;->plusSignSet()Landroid/icu/text/UnicodeSet; @@ -9423,7 +9465,7 @@ HSPLandroid/icu/impl/number/range/StandardPluralRanges;->getSetForLocale(Landroi HSPLandroid/icu/impl/number/range/StandardPluralRanges;->setCapacity(I)V HSPLandroid/icu/lang/UCharacter;->codePointAt(Ljava/lang/CharSequence;I)I HSPLandroid/icu/lang/UCharacter;->digit(I)I -HSPLandroid/icu/lang/UCharacter;->foldCase(II)I+]Landroid/icu/impl/UCaseProps;Landroid/icu/impl/UCaseProps; +HSPLandroid/icu/lang/UCharacter;->foldCase(II)I HSPLandroid/icu/lang/UCharacter;->foldCase(IZ)I HSPLandroid/icu/lang/UCharacter;->getPropertyValueEnumNoThrow(ILjava/lang/CharSequence;)I HSPLandroid/icu/lang/UCharacter;->getType(I)I @@ -9439,33 +9481,33 @@ HSPLandroid/icu/number/IntegerWidth;-><init>(II)V HSPLandroid/icu/number/IntegerWidth;->truncateAt(I)Landroid/icu/number/IntegerWidth; HSPLandroid/icu/number/IntegerWidth;->zeroFillTo(I)Landroid/icu/number/IntegerWidth; HSPLandroid/icu/number/LocalizedNumberFormatter;-><init>(Landroid/icu/number/NumberFormatterSettings;ILjava/lang/Object;)V -HSPLandroid/icu/number/LocalizedNumberFormatter;->computeCompiled()Z +HSPLandroid/icu/number/LocalizedNumberFormatter;->computeCompiled()Z+]Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;]Landroid/icu/number/LocalizedNumberFormatter;Landroid/icu/number/LocalizedNumberFormatter;]Ljava/lang/Long;Ljava/lang/Long; HSPLandroid/icu/number/LocalizedNumberFormatter;->create(ILjava/lang/Object;)Landroid/icu/number/LocalizedNumberFormatter; HSPLandroid/icu/number/LocalizedNumberFormatter;->create(ILjava/lang/Object;)Landroid/icu/number/NumberFormatterSettings; HSPLandroid/icu/number/LocalizedNumberFormatter;->format(D)Landroid/icu/number/FormattedNumber; HSPLandroid/icu/number/LocalizedNumberFormatter;->format(J)Landroid/icu/number/FormattedNumber; HSPLandroid/icu/number/LocalizedNumberFormatter;->format(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/number/FormattedNumber; -HSPLandroid/icu/number/LocalizedNumberFormatter;->formatImpl(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;)Landroid/icu/impl/number/MicroProps; +HSPLandroid/icu/number/LocalizedNumberFormatter;->formatImpl(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;)Landroid/icu/impl/number/MicroProps;+]Landroid/icu/number/NumberFormatterImpl;Landroid/icu/number/NumberFormatterImpl; HSPLandroid/icu/number/LocalizedNumberFormatter;->getAffixImpl(ZZ)Ljava/lang/String; HSPLandroid/icu/number/NumberFormatter;->fromDecimalFormat(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/number/UnlocalizedNumberFormatter; HSPLandroid/icu/number/NumberFormatter;->with()Landroid/icu/number/UnlocalizedNumberFormatter; HSPLandroid/icu/number/NumberFormatterImpl;-><init>(Landroid/icu/impl/number/MacroProps;)V -HSPLandroid/icu/number/NumberFormatterImpl;->format(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;)Landroid/icu/impl/number/MicroProps; +HSPLandroid/icu/number/NumberFormatterImpl;->format(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;)Landroid/icu/impl/number/MicroProps;+]Landroid/icu/number/NumberFormatterImpl;Landroid/icu/number/NumberFormatterImpl; HSPLandroid/icu/number/NumberFormatterImpl;->formatStatic(Landroid/icu/impl/number/MacroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;)Landroid/icu/impl/number/MicroProps; HSPLandroid/icu/number/NumberFormatterImpl;->getPrefixSuffix(BLandroid/icu/impl/StandardPlural;Landroid/icu/impl/FormattedStringBuilder;)I HSPLandroid/icu/number/NumberFormatterImpl;->getPrefixSuffixImpl(Landroid/icu/impl/number/MicroPropsGenerator;BLandroid/icu/impl/FormattedStringBuilder;)I HSPLandroid/icu/number/NumberFormatterImpl;->getPrefixSuffixStatic(Landroid/icu/impl/number/MacroProps;BLandroid/icu/impl/StandardPlural;Landroid/icu/impl/FormattedStringBuilder;)I -HSPLandroid/icu/number/NumberFormatterImpl;->macrosToMicroGenerator(Landroid/icu/impl/number/MacroProps;Landroid/icu/impl/number/MicroProps;Z)Landroid/icu/impl/number/MicroPropsGenerator;+]Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/PropertiesAffixPatternProvider;]Landroid/icu/impl/number/Grouper;Landroid/icu/impl/number/Grouper;]Landroid/icu/impl/number/MutablePatternModifier;Landroid/icu/impl/number/MutablePatternModifier;]Landroid/icu/number/Precision;Landroid/icu/number/Precision$FractionRounderImpl;]Landroid/icu/text/NumberingSystem;Landroid/icu/text/NumberingSystem; -HSPLandroid/icu/number/NumberFormatterImpl;->preProcess(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps; +HSPLandroid/icu/number/NumberFormatterImpl;->macrosToMicroGenerator(Landroid/icu/impl/number/MacroProps;Landroid/icu/impl/number/MicroProps;Z)Landroid/icu/impl/number/MicroPropsGenerator;+]Landroid/icu/impl/number/MutablePatternModifier;Landroid/icu/impl/number/MutablePatternModifier;]Landroid/icu/text/NumberingSystem;Landroid/icu/text/NumberingSystem;]Landroid/icu/impl/number/Grouper;Landroid/icu/impl/number/Grouper;]Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/PropertiesAffixPatternProvider;]Landroid/icu/number/Precision;Landroid/icu/number/Precision$FractionRounderImpl; +HSPLandroid/icu/number/NumberFormatterImpl;->preProcess(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;+]Landroid/icu/impl/number/MicroPropsGenerator;Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/number/NumberFormatterImpl;->preProcessUnsafe(Landroid/icu/impl/number/MacroProps;Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps; HSPLandroid/icu/number/NumberFormatterImpl;->unitIsBaseUnit(Landroid/icu/util/MeasureUnit;)Z HSPLandroid/icu/number/NumberFormatterImpl;->unitIsCurrency(Landroid/icu/util/MeasureUnit;)Z HSPLandroid/icu/number/NumberFormatterImpl;->unitIsPercent(Landroid/icu/util/MeasureUnit;)Z HSPLandroid/icu/number/NumberFormatterImpl;->unitIsPermille(Landroid/icu/util/MeasureUnit;)Z -HSPLandroid/icu/number/NumberFormatterImpl;->writeAffixes(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/FormattedStringBuilder;II)I -HSPLandroid/icu/number/NumberFormatterImpl;->writeFractionDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I -HSPLandroid/icu/number/NumberFormatterImpl;->writeIntegerDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I -HSPLandroid/icu/number/NumberFormatterImpl;->writeNumber(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I +HSPLandroid/icu/number/NumberFormatterImpl;->writeAffixes(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/FormattedStringBuilder;II)I+]Landroid/icu/impl/number/Padder;Landroid/icu/impl/number/Padder;]Landroid/icu/impl/number/Modifier;Landroid/icu/impl/number/ConstantMultiFieldModifier;,Landroid/icu/impl/number/ConstantAffixModifier; +HSPLandroid/icu/number/NumberFormatterImpl;->writeFractionDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I+]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/number/NumberFormatterImpl;->writeIntegerDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I+]Landroid/icu/impl/number/Grouper;Landroid/icu/impl/number/Grouper;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/FormattedStringBuilder;]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/number/NumberFormatterImpl;->writeNumber(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I+]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/number/NumberFormatterSettings;-><init>(Landroid/icu/number/NumberFormatterSettings;ILjava/lang/Object;)V HSPLandroid/icu/number/NumberFormatterSettings;->macros(Landroid/icu/impl/number/MacroProps;)Landroid/icu/number/NumberFormatterSettings; HSPLandroid/icu/number/NumberFormatterSettings;->perUnit(Landroid/icu/util/MeasureUnit;)Landroid/icu/number/NumberFormatterSettings; @@ -9473,9 +9515,9 @@ HSPLandroid/icu/number/NumberFormatterSettings;->resolve()Landroid/icu/impl/numb HSPLandroid/icu/number/NumberFormatterSettings;->unit(Landroid/icu/util/MeasureUnit;)Landroid/icu/number/NumberFormatterSettings; HSPLandroid/icu/number/NumberFormatterSettings;->unitWidth(Landroid/icu/number/NumberFormatter$UnitWidth;)Landroid/icu/number/NumberFormatterSettings; HSPLandroid/icu/number/NumberPropertyMapper;->create(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/number/UnlocalizedNumberFormatter; -HSPLandroid/icu/number/NumberPropertyMapper;->oldToNew(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/MacroProps; +HSPLandroid/icu/number/NumberPropertyMapper;->oldToNew(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/MacroProps;+]Ljava/math/MathContext;Ljava/math/MathContext;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/PropertiesAffixPatternProvider;]Landroid/icu/number/Precision;Landroid/icu/number/Precision$FractionRounderImpl;,Landroid/icu/number/Precision$CurrencyRounderImpl;]Landroid/icu/number/IntegerWidth;Landroid/icu/number/IntegerWidth;]Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/DecimalFormatProperties;]Landroid/icu/number/CurrencyPrecision;Landroid/icu/number/Precision$CurrencyRounderImpl;]Landroid/icu/util/Currency;Landroid/icu/util/Currency; HSPLandroid/icu/number/Precision$FractionRounderImpl;-><init>(II)V -HSPLandroid/icu/number/Precision$FractionRounderImpl;->apply(Landroid/icu/impl/number/DecimalQuantity;)V +HSPLandroid/icu/number/Precision$FractionRounderImpl;->apply(Landroid/icu/impl/number/DecimalQuantity;)V+]Landroid/icu/number/Precision$FractionRounderImpl;Landroid/icu/number/Precision$FractionRounderImpl;]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/number/Precision$FractionRounderImpl;->createCopy()Landroid/icu/number/Precision$FractionRounderImpl; HSPLandroid/icu/number/Precision$FractionRounderImpl;->createCopy()Landroid/icu/number/Precision; HSPLandroid/icu/number/Precision;->-$$Nest$smgetDisplayMagnitudeFraction(I)I @@ -9486,7 +9528,7 @@ HSPLandroid/icu/number/Precision;->constructFraction(II)Landroid/icu/number/Frac HSPLandroid/icu/number/Precision;->constructFromCurrency(Landroid/icu/number/CurrencyPrecision;Landroid/icu/util/Currency;)Landroid/icu/number/Precision; HSPLandroid/icu/number/Precision;->getDisplayMagnitudeFraction(I)I HSPLandroid/icu/number/Precision;->getRoundingMagnitudeFraction(I)I -HSPLandroid/icu/number/Precision;->setResolvedMinFraction(Landroid/icu/impl/number/DecimalQuantity;I)V +HSPLandroid/icu/number/Precision;->setResolvedMinFraction(Landroid/icu/impl/number/DecimalQuantity;I)V+]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/number/Precision;->withLocaleData(Landroid/icu/util/Currency;)Landroid/icu/number/Precision; HSPLandroid/icu/number/Precision;->withMode(Ljava/math/MathContext;)Landroid/icu/number/Precision; HSPLandroid/icu/number/Scale;->applyTo(Landroid/icu/impl/number/DecimalQuantity;)V @@ -9535,7 +9577,7 @@ HSPLandroid/icu/text/CollationKey;->toByteArray()[B HSPLandroid/icu/text/Collator$ServiceShim;-><init>()V HSPLandroid/icu/text/Collator;-><init>()V HSPLandroid/icu/text/Collator;->clone()Ljava/lang/Object; -HSPLandroid/icu/text/Collator;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator; +HSPLandroid/icu/text/Collator;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator;+]Landroid/icu/text/Collator$ServiceShim;Landroid/icu/text/CollatorServiceShim;]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/util/ULocale;Landroid/icu/util/ULocale; HSPLandroid/icu/text/Collator;->getInstance(Ljava/util/Locale;)Landroid/icu/text/Collator; HSPLandroid/icu/text/Collator;->getShim()Landroid/icu/text/Collator$ServiceShim; HSPLandroid/icu/text/CollatorServiceShim$CService$1CollatorFactory;->handleCreate(Landroid/icu/util/ULocale;ILandroid/icu/impl/ICUService;)Ljava/lang/Object; @@ -9543,13 +9585,13 @@ HSPLandroid/icu/text/CollatorServiceShim$CService;->validateFallbackLocale()Ljav HSPLandroid/icu/text/CollatorServiceShim;-><init>()V HSPLandroid/icu/text/CollatorServiceShim;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator; HSPLandroid/icu/text/CollatorServiceShim;->makeInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator; -HSPLandroid/icu/text/ConstrainedFieldPosition;-><init>()V +HSPLandroid/icu/text/ConstrainedFieldPosition;-><init>()V+]Landroid/icu/text/ConstrainedFieldPosition;Landroid/icu/text/ConstrainedFieldPosition; HSPLandroid/icu/text/ConstrainedFieldPosition;->constrainField(Ljava/text/Format$Field;)V HSPLandroid/icu/text/ConstrainedFieldPosition;->getField()Ljava/text/Format$Field; HSPLandroid/icu/text/ConstrainedFieldPosition;->getFieldValue()Ljava/lang/Object; HSPLandroid/icu/text/ConstrainedFieldPosition;->getLimit()I HSPLandroid/icu/text/ConstrainedFieldPosition;->getStart()I -HSPLandroid/icu/text/ConstrainedFieldPosition;->matchesField(Ljava/text/Format$Field;Ljava/lang/Object;)Z +HSPLandroid/icu/text/ConstrainedFieldPosition;->matchesField(Ljava/text/Format$Field;Ljava/lang/Object;)Z+]Landroid/icu/text/ConstrainedFieldPosition$ConstraintType;Landroid/icu/text/ConstrainedFieldPosition$ConstraintType; HSPLandroid/icu/text/ConstrainedFieldPosition;->reset()V HSPLandroid/icu/text/ConstrainedFieldPosition;->setState(Ljava/text/Format$Field;Ljava/lang/Object;II)V HSPLandroid/icu/text/CurrencyDisplayNames;-><init>()V @@ -9602,6 +9644,7 @@ HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/text/DateFo HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/util/ULocale;Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)V HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/util/ULocale;Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;Landroid/icu/text/DateFormatSymbols$AospExtendedDateFormatSymbols;)V HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/util/ULocale;Ljava/lang/String;)V +HSPLandroid/icu/text/DateFormatSymbols;->loadDayPeriodStrings(Ljava/util/Map;)[Ljava/lang/String; HSPLandroid/icu/text/DateFormatSymbols;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V HSPLandroid/icu/text/DateFormatSymbols;->setTimeSeparatorString(Ljava/lang/String;)V HSPLandroid/icu/text/DateIntervalFormat;-><init>(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/text/SimpleDateFormat;)V @@ -9647,7 +9690,7 @@ HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->fieldIsNumeric(I HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getBasePattern()Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getDistance(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;)I HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getFieldMask()I -HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->set(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$FormatParser;Z)Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher; +HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->set(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$FormatParser;Z)Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/text/DateTimePatternGenerator$VariableField;Landroid/icu/text/DateTimePatternGenerator$VariableField;]Landroid/icu/text/DateTimePatternGenerator$FormatParser;Landroid/icu/text/DateTimePatternGenerator$FormatParser;]Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HSPLandroid/icu/text/DateTimePatternGenerator$DisplayWidth;->cldrKey()Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;-><init>()V HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;->addExtra(I)V @@ -9659,7 +9702,7 @@ HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->addVariable(Ljava/l HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->getItems()Ljava/util/List; HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->quoteLiteral(Ljava/lang/String;)Ljava/lang/Object; HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->set(Ljava/lang/String;)Landroid/icu/text/DateTimePatternGenerator$FormatParser; -HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->set(Ljava/lang/String;Z)Landroid/icu/text/DateTimePatternGenerator$FormatParser; +HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->set(Ljava/lang/String;Z)Landroid/icu/text/DateTimePatternGenerator$FormatParser;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/lang/StringBuffer;Ljava/lang/StringBuffer;]Landroid/icu/impl/PatternTokenizer;Landroid/icu/impl/PatternTokenizer; HSPLandroid/icu/text/DateTimePatternGenerator$PatternInfo;-><init>()V HSPLandroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;-><init>(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;)V HSPLandroid/icu/text/DateTimePatternGenerator$PatternWithSkeletonFlag;-><init>(Ljava/lang/String;Z)V @@ -9702,9 +9745,9 @@ HSPLandroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String HSPLandroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;I)Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;IZ)Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator;->getBestRaw(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;)Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher; -HSPLandroid/icu/text/DateTimePatternGenerator;->getCLDRFieldAndWidthNumber(Landroid/icu/impl/UResource$Key;)I +HSPLandroid/icu/text/DateTimePatternGenerator;->getCLDRFieldAndWidthNumber(Landroid/icu/impl/UResource$Key;)I+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Key; HSPLandroid/icu/text/DateTimePatternGenerator;->getCalendarTypeToUse(Landroid/icu/util/ULocale;)Ljava/lang/String; -HSPLandroid/icu/text/DateTimePatternGenerator;->getCanonicalIndex(Ljava/lang/String;Z)I +HSPLandroid/icu/text/DateTimePatternGenerator;->getCanonicalIndex(Ljava/lang/String;Z)I+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator;->getDateTimeFormat()Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator;->getFieldDisplayName(ILandroid/icu/text/DateTimePatternGenerator$DisplayWidth;)Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator;->getFilteredPattern(Landroid/icu/text/DateTimePatternGenerator$FormatParser;Ljava/util/BitSet;)Ljava/lang/String; @@ -9727,8 +9770,8 @@ HSPLandroid/icu/text/DateTimePatternGenerator;->setFieldDisplayName(ILandroid/ic HSPLandroid/icu/text/DecimalFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;)V HSPLandroid/icu/text/DecimalFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;I)V HSPLandroid/icu/text/DecimalFormat;->clone()Ljava/lang/Object; -HSPLandroid/icu/text/DecimalFormat;->fieldPositionHelper(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;Ljava/text/FieldPosition;I)V -HSPLandroid/icu/text/DecimalFormat;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer; +HSPLandroid/icu/text/DecimalFormat;->fieldPositionHelper(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;Ljava/text/FieldPosition;I)V+]Ljava/text/FieldPosition;Ljava/text/DontCareFieldPosition;]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/text/DecimalFormat;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;+]Landroid/icu/number/LocalizedNumberFormatter;Landroid/icu/number/LocalizedNumberFormatter;]Ljava/lang/StringBuffer;Ljava/lang/StringBuffer; HSPLandroid/icu/text/DecimalFormat;->format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer; HSPLandroid/icu/text/DecimalFormat;->getDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols; HSPLandroid/icu/text/DecimalFormat;->getMaximumFractionDigits()I @@ -9743,7 +9786,7 @@ HSPLandroid/icu/text/DecimalFormat;->getPositiveSuffix()Ljava/lang/String; HSPLandroid/icu/text/DecimalFormat;->isParseBigDecimal()Z HSPLandroid/icu/text/DecimalFormat;->isParseIntegerOnly()Z HSPLandroid/icu/text/DecimalFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number; -HSPLandroid/icu/text/DecimalFormat;->refreshFormatter()V +HSPLandroid/icu/text/DecimalFormat;->refreshFormatter()V+]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/number/UnlocalizedNumberFormatter;Landroid/icu/number/UnlocalizedNumberFormatter;]Landroid/icu/text/DecimalFormat;Landroid/icu/text/DecimalFormat; HSPLandroid/icu/text/DecimalFormat;->setCurrency(Landroid/icu/util/Currency;)V HSPLandroid/icu/text/DecimalFormat;->setDecimalSeparatorAlwaysShown(Z)V HSPLandroid/icu/text/DecimalFormat;->setGroupingUsed(Z)V @@ -9755,7 +9798,7 @@ HSPLandroid/icu/text/DecimalFormat;->setParseIntegerOnly(Z)V HSPLandroid/icu/text/DecimalFormat;->setParseStrictMode(Landroid/icu/impl/number/DecimalFormatProperties$ParseMode;)V HSPLandroid/icu/text/DecimalFormat;->setPropertiesFromPattern(Ljava/lang/String;I)V HSPLandroid/icu/text/DecimalFormat;->toNumberFormatter()Landroid/icu/number/LocalizedNumberFormatter; -HSPLandroid/icu/text/DecimalFormat;->toPattern()Ljava/lang/String;+]Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/DecimalFormatProperties; +HSPLandroid/icu/text/DecimalFormat;->toPattern()Ljava/lang/String; HSPLandroid/icu/text/DecimalFormatSymbols$1;->createInstance(Landroid/icu/util/ULocale;Ljava/lang/Void;)Landroid/icu/text/DecimalFormatSymbols$CacheData; HSPLandroid/icu/text/DecimalFormatSymbols$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/icu/text/DecimalFormatSymbols$CacheData;-><init>(Landroid/icu/util/ULocale;[Ljava/lang/String;[Ljava/lang/String;)V @@ -9797,7 +9840,7 @@ HSPLandroid/icu/text/DecimalFormatSymbols;->getPlusSignString()Ljava/lang/String HSPLandroid/icu/text/DecimalFormatSymbols;->getULocale()Landroid/icu/util/ULocale; HSPLandroid/icu/text/DecimalFormatSymbols;->getZeroDigit()C HSPLandroid/icu/text/DecimalFormatSymbols;->initSpacingInfo(Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;)V -HSPLandroid/icu/text/DecimalFormatSymbols;->initialize(Landroid/icu/util/ULocale;Landroid/icu/text/NumberingSystem;)V +HSPLandroid/icu/text/DecimalFormatSymbols;->initialize(Landroid/icu/util/ULocale;Landroid/icu/text/NumberingSystem;)V+]Landroid/icu/impl/CurrencyData$CurrencyDisplayInfoProvider;Landroid/icu/impl/ICUCurrencyDisplayInfoProvider;]Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/impl/CurrencyData$CurrencyDisplayInfo;Landroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo; HSPLandroid/icu/text/DecimalFormatSymbols;->loadData(Landroid/icu/util/ULocale;)Landroid/icu/text/DecimalFormatSymbols$CacheData; HSPLandroid/icu/text/DecimalFormatSymbols;->setApproximatelySignString(Ljava/lang/String;)V HSPLandroid/icu/text/DecimalFormatSymbols;->setCurrency(Landroid/icu/util/Currency;)V @@ -9993,7 +10036,7 @@ HSPLandroid/icu/text/RuleBasedCollator;->checkNotFrozen()V HSPLandroid/icu/text/RuleBasedCollator;->clone()Ljava/lang/Object; HSPLandroid/icu/text/RuleBasedCollator;->cloneAsThawed()Landroid/icu/text/RuleBasedCollator; HSPLandroid/icu/text/RuleBasedCollator;->compare(Ljava/lang/String;Ljava/lang/String;)I -HSPLandroid/icu/text/RuleBasedCollator;->doCompare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I +HSPLandroid/icu/text/RuleBasedCollator;->doCompare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I+]Landroid/icu/impl/coll/CollationData;Landroid/icu/impl/coll/CollationData;]Landroid/icu/impl/coll/SharedObject$Reference;Landroid/icu/impl/coll/SharedObject$Reference;]Ljava/lang/CharSequence;Ljava/lang/String;]Landroid/icu/impl/coll/CollationSettings;Landroid/icu/impl/coll/CollationSettings; HSPLandroid/icu/text/RuleBasedCollator;->freeze()Landroid/icu/text/Collator; HSPLandroid/icu/text/RuleBasedCollator;->getCollationBuffer()Landroid/icu/text/RuleBasedCollator$CollationBuffer; HSPLandroid/icu/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;)Landroid/icu/text/CollationKey; @@ -10071,7 +10114,7 @@ HSPLandroid/icu/text/UnicodeSet;->checkFrozen()V HSPLandroid/icu/text/UnicodeSet;->clear()Landroid/icu/text/UnicodeSet; HSPLandroid/icu/text/UnicodeSet;->clone()Ljava/lang/Object; HSPLandroid/icu/text/UnicodeSet;->compact()Landroid/icu/text/UnicodeSet; -HSPLandroid/icu/text/UnicodeSet;->contains(I)Z +HSPLandroid/icu/text/UnicodeSet;->contains(I)Z+]Landroid/icu/impl/BMPSet;Landroid/icu/impl/BMPSet; HSPLandroid/icu/text/UnicodeSet;->contains(Ljava/lang/CharSequence;)Z HSPLandroid/icu/text/UnicodeSet;->containsAll(Ljava/lang/String;)Z HSPLandroid/icu/text/UnicodeSet;->findCodePoint(I)I @@ -10372,17 +10415,19 @@ HSPLandroid/icu/util/ULocale$Builder;->setLanguage(Ljava/lang/String;)Landroid/i HSPLandroid/icu/util/ULocale$Builder;->setRegion(Ljava/lang/String;)Landroid/icu/util/ULocale$Builder; HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->getDefault(Landroid/icu/util/ULocale$Category;)Ljava/util/Locale; HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toLocale(Landroid/icu/util/ULocale;)Ljava/util/Locale; -HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toULocale(Ljava/util/Locale;)Landroid/icu/util/ULocale; +HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toULocale(Ljava/util/Locale;)Landroid/icu/util/ULocale;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/Locale;Ljava/util/Locale;]Ljava/util/Set;Ljava/util/Collections$EmptySet; HSPLandroid/icu/util/ULocale;->-$$Nest$smgetInstance(Landroid/icu/impl/locale/BaseLocale;Landroid/icu/impl/locale/LocaleExtensions;)Landroid/icu/util/ULocale; HSPLandroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V HSPLandroid/icu/util/ULocale;-><init>(Ljava/lang/String;Ljava/util/Locale;)V HSPLandroid/icu/util/ULocale;-><init>(Ljava/lang/String;Ljava/util/Locale;Landroid/icu/util/ULocale-IA;)V HSPLandroid/icu/util/ULocale;->addLikelySubtags(Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale; HSPLandroid/icu/util/ULocale;->appendTag(Ljava/lang/String;Ljava/lang/StringBuilder;)V -HSPLandroid/icu/util/ULocale;->base()Landroid/icu/impl/locale/BaseLocale; +HSPLandroid/icu/util/ULocale;->base()Landroid/icu/impl/locale/BaseLocale;+]Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;]Landroid/icu/impl/LocaleIDParser;Landroid/icu/impl/LocaleIDParser; HSPLandroid/icu/util/ULocale;->canonicalize(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->createCanonical(Ljava/lang/String;)Landroid/icu/util/ULocale; +HSPLandroid/icu/util/ULocale;->createLikelySubtagsString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->createTagString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/icu/util/ULocale;->createTagString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->equals(Ljava/lang/Object;)Z HSPLandroid/icu/util/ULocale;->forLocale(Ljava/util/Locale;)Landroid/icu/util/ULocale; HSPLandroid/icu/util/ULocale;->getBaseName()Ljava/lang/String; @@ -10397,7 +10442,7 @@ HSPLandroid/icu/util/ULocale;->getKeywords()Ljava/util/Iterator; HSPLandroid/icu/util/ULocale;->getKeywords(Ljava/lang/String;)Ljava/util/Iterator; HSPLandroid/icu/util/ULocale;->getLanguage()Ljava/lang/String; HSPLandroid/icu/util/ULocale;->getName()Ljava/lang/String; -HSPLandroid/icu/util/ULocale;->getName(Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/icu/util/ULocale;->getName(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/CacheBase;Landroid/icu/util/ULocale$1; HSPLandroid/icu/util/ULocale;->getRegionForSupplementalData(Landroid/icu/util/ULocale;Z)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->getScript()Ljava/lang/String; HSPLandroid/icu/util/ULocale;->getScript(Ljava/lang/String;)Ljava/lang/String; @@ -10408,6 +10453,7 @@ HSPLandroid/icu/util/ULocale;->hashCode()I HSPLandroid/icu/util/ULocale;->isEmptyString(Ljava/lang/String;)Z HSPLandroid/icu/util/ULocale;->isKnownCanonicalizedLocale(Ljava/lang/String;)Z HSPLandroid/icu/util/ULocale;->isRightToLeft()Z +HSPLandroid/icu/util/ULocale;->lookupLikelySubtags(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->lscvToID(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->parseTagString(Ljava/lang/String;[Ljava/lang/String;)I HSPLandroid/icu/util/ULocale;->setKeywordValue(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/ULocale; @@ -10480,7 +10526,7 @@ HSPLandroid/location/Location;->setVerticalAccuracyMeters(F)V HSPLandroid/location/Location;->toString()Ljava/lang/String; HSPLandroid/location/Location;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/AudioAttributes; -HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/media/AudioAttributes$1;Landroid/media/AudioAttributes$1; HSPLandroid/media/AudioAttributes$Builder;-><init>()V HSPLandroid/media/AudioAttributes$Builder;-><init>(Landroid/media/AudioAttributes;)V HSPLandroid/media/AudioAttributes$Builder;->addTag(Ljava/lang/String;)Landroid/media/AudioAttributes$Builder; @@ -10506,7 +10552,7 @@ HSPLandroid/media/AudioAttributes;->-$$Nest$fputmTags(Landroid/media/AudioAttrib HSPLandroid/media/AudioAttributes;->-$$Nest$fputmUsage(Landroid/media/AudioAttributes;I)V HSPLandroid/media/AudioAttributes;-><init>()V HSPLandroid/media/AudioAttributes;-><init>(Landroid/media/AudioAttributes-IA;)V -HSPLandroid/media/AudioAttributes;-><init>(Landroid/os/Parcel;)V +HSPLandroid/media/AudioAttributes;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/media/AudioAttributes;->areHapticChannelsMuted()Z HSPLandroid/media/AudioAttributes;->equals(Ljava/lang/Object;)Z HSPLandroid/media/AudioAttributes;->getAllFlags()I @@ -10642,7 +10688,7 @@ HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;-><init>(Landroid/medi HSPLandroid/media/AudioPlaybackConfiguration;->getAudioAttributes()Landroid/media/AudioAttributes; HSPLandroid/media/AudioPlaybackConfiguration;->isActive()Z HSPLandroid/media/AudioPort$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I -HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;Ljava/util/List;[Landroid/media/AudioGain;Ljava/util/List;)V +HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;Ljava/util/List;[Landroid/media/AudioGain;Ljava/util/List;)V+]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/stream/Stream;Ljava/util/stream/IntPipeline$4;,Ljava/util/stream/ReferencePipeline$Head;]Ljava/util/stream/IntStream;Ljava/util/stream/IntPipeline$Head;,Ljava/util/stream/ReferencePipeline$4;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/media/AudioProfile;Landroid/media/AudioProfile;]Ljava/util/Set;Ljava/util/HashSet; HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V HSPLandroid/media/AudioPort;->handle()Landroid/media/AudioHandle; HSPLandroid/media/AudioPort;->id()I @@ -10762,8 +10808,8 @@ HSPLandroid/media/MediaCodec$BufferMap$CodecBuffer;->setByteBuffer(Ljava/nio/Byt HSPLandroid/media/MediaCodec$BufferMap;-><init>()V HSPLandroid/media/MediaCodec$BufferMap;-><init>(Landroid/media/MediaCodec$BufferMap-IA;)V HSPLandroid/media/MediaCodec$BufferMap;->clear()V -HSPLandroid/media/MediaCodec$BufferMap;->put(ILjava/nio/ByteBuffer;)V -HSPLandroid/media/MediaCodec$BufferMap;->remove(I)V +HSPLandroid/media/MediaCodec$BufferMap;->put(ILjava/nio/ByteBuffer;)V+]Landroid/media/MediaCodec$BufferMap$CodecBuffer;Landroid/media/MediaCodec$BufferMap$CodecBuffer;]Ljava/util/Map;Ljava/util/HashMap; +HSPLandroid/media/MediaCodec$BufferMap;->remove(I)V+]Landroid/media/MediaCodec$BufferMap$CodecBuffer;Landroid/media/MediaCodec$BufferMap$CodecBuffer;]Ljava/util/Map;Ljava/util/HashMap; HSPLandroid/media/MediaCodec$CryptoInfo$Pattern;-><init>(II)V HSPLandroid/media/MediaCodec$CryptoInfo$Pattern;->set(II)V HSPLandroid/media/MediaCodec$CryptoInfo;-><init>()V @@ -10775,18 +10821,18 @@ HSPLandroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/vie HSPLandroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;Landroid/os/IHwBinder;I)V HSPLandroid/media/MediaCodec;->createByCodecName(Ljava/lang/String;)Landroid/media/MediaCodec; HSPLandroid/media/MediaCodec;->dequeueInputBuffer(J)I -HSPLandroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I +HSPLandroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I+]Landroid/media/MediaCodec$BufferInfo;Landroid/media/MediaCodec$BufferInfo;]Ljava/util/Map;Ljava/util/HashMap; HSPLandroid/media/MediaCodec;->finalize()V HSPLandroid/media/MediaCodec;->freeAllTrackedBuffers()V -HSPLandroid/media/MediaCodec;->getInputBuffer(I)Ljava/nio/ByteBuffer; -HSPLandroid/media/MediaCodec;->getOutputBuffer(I)Ljava/nio/ByteBuffer; +HSPLandroid/media/MediaCodec;->getInputBuffer(I)Ljava/nio/ByteBuffer;+]Landroid/media/MediaCodec$BufferMap;Landroid/media/MediaCodec$BufferMap; +HSPLandroid/media/MediaCodec;->getOutputBuffer(I)Ljava/nio/ByteBuffer;+]Landroid/media/MediaCodec$BufferMap;Landroid/media/MediaCodec$BufferMap; HSPLandroid/media/MediaCodec;->getOutputFormat()Landroid/media/MediaFormat; -HSPLandroid/media/MediaCodec;->lockAndGetContext()J -HSPLandroid/media/MediaCodec;->queueInputBuffer(IIIJI)V +HSPLandroid/media/MediaCodec;->lockAndGetContext()J+]Ljava/util/concurrent/locks/Lock;Ljava/util/concurrent/locks/ReentrantLock; +HSPLandroid/media/MediaCodec;->queueInputBuffer(IIIJI)V+]Landroid/media/MediaCodec$BufferMap;Landroid/media/MediaCodec$BufferMap; HSPLandroid/media/MediaCodec;->release()V HSPLandroid/media/MediaCodec;->releaseOutputBuffer(IZ)V -HSPLandroid/media/MediaCodec;->releaseOutputBufferInternal(IZZJ)V -HSPLandroid/media/MediaCodec;->setAndUnlockContext(J)V +HSPLandroid/media/MediaCodec;->releaseOutputBufferInternal(IZZJ)V+]Landroid/media/MediaCodec$BufferMap;Landroid/media/MediaCodec$BufferMap;]Ljava/util/Map;Ljava/util/HashMap; +HSPLandroid/media/MediaCodec;->setAndUnlockContext(J)V+]Ljava/util/concurrent/locks/Lock;Ljava/util/concurrent/locks/ReentrantLock; HSPLandroid/media/MediaCodec;->start()V HSPLandroid/media/MediaCodec;->stop()V HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->applyLevelLimits()V @@ -11281,6 +11327,10 @@ HSPLandroid/metrics/LogMaker;->setCategory(I)Landroid/metrics/LogMaker; HSPLandroid/metrics/LogMaker;->setComponentName(Landroid/content/ComponentName;)Landroid/metrics/LogMaker; HSPLandroid/metrics/LogMaker;->setSubtype(I)Landroid/metrics/LogMaker; HSPLandroid/metrics/LogMaker;->setType(I)Landroid/metrics/LogMaker; +HSPLandroid/multiuser/FeatureFlagsImpl;-><init>()V +HSPLandroid/multiuser/FeatureFlagsImpl;->enableSystemUserOnlyForServicesAndProviders()Z +HSPLandroid/multiuser/Flags;-><clinit>()V +HSPLandroid/multiuser/Flags;->enableSystemUserOnlyForServicesAndProviders()Z+]Landroid/multiuser/FeatureFlags;Landroid/multiuser/FeatureFlagsImpl; HSPLandroid/net/Credentials;-><init>(III)V HSPLandroid/net/Credentials;->getPid()I HSPLandroid/net/Credentials;->getUid()I @@ -11373,8 +11423,8 @@ HSPLandroid/net/TelephonyNetworkSpecifier;->equals(Ljava/lang/Object;)Z HSPLandroid/net/TelephonyNetworkSpecifier;->hashCode()I HSPLandroid/net/TelephonyNetworkSpecifier;->toString()Ljava/lang/String; HSPLandroid/net/TelephonyNetworkSpecifier;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/Uri; -HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/Uri;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/net/Uri$1;Landroid/net/Uri$1; HSPLandroid/net/Uri$1;->newArray(I)[Landroid/net/Uri; HSPLandroid/net/Uri$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/net/Uri$AbstractHierarchicalUri;-><init>()V @@ -11409,11 +11459,11 @@ HSPLandroid/net/Uri$Builder;->path(Landroid/net/Uri$PathPart;)Landroid/net/Uri$B HSPLandroid/net/Uri$Builder;->path(Ljava/lang/String;)Landroid/net/Uri$Builder; HSPLandroid/net/Uri$Builder;->query(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder; HSPLandroid/net/Uri$Builder;->scheme(Ljava/lang/String;)Landroid/net/Uri$Builder; -HSPLandroid/net/Uri$Builder;->toString()Ljava/lang/String; +HSPLandroid/net/Uri$Builder;->toString()Ljava/lang/String;+]Landroid/net/Uri$Builder;Landroid/net/Uri$Builder;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri; HSPLandroid/net/Uri$HierarchicalUri;-><init>(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$PathPart;Landroid/net/Uri$Part;Landroid/net/Uri$Part;)V -HSPLandroid/net/Uri$HierarchicalUri;->appendSspTo(Ljava/lang/StringBuilder;)V -HSPLandroid/net/Uri$HierarchicalUri;->buildUpon()Landroid/net/Uri$Builder; -HSPLandroid/net/Uri$HierarchicalUri;->generatePath(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart;+]Landroid/net/Uri$Part;Landroid/net/Uri$Part$EmptyPart;,Landroid/net/Uri$Part; +HSPLandroid/net/Uri$HierarchicalUri;->appendSspTo(Ljava/lang/StringBuilder;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/net/Uri$Part;Landroid/net/Uri$Part;,Landroid/net/Uri$Part$EmptyPart;]Landroid/net/Uri$PathPart;Landroid/net/Uri$PathPart; +HSPLandroid/net/Uri$HierarchicalUri;->buildUpon()Landroid/net/Uri$Builder;+]Landroid/net/Uri$Builder;Landroid/net/Uri$Builder; +HSPLandroid/net/Uri$HierarchicalUri;->generatePath(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart;+]Landroid/net/Uri$Part;Landroid/net/Uri$Part$EmptyPart;,Landroid/net/Uri$Part;]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->getAuthority()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->getEncodedAuthority()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->getEncodedFragment()Ljava/lang/String; @@ -11426,7 +11476,7 @@ HSPLandroid/net/Uri$HierarchicalUri;->getQuery()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->getScheme()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->getSchemeSpecificPart()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->isHierarchical()Z -HSPLandroid/net/Uri$HierarchicalUri;->makeUriString()Ljava/lang/String; +HSPLandroid/net/Uri$HierarchicalUri;->makeUriString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/net/Uri$Part;Landroid/net/Uri$Part$EmptyPart; HSPLandroid/net/Uri$HierarchicalUri;->readFrom(Landroid/os/Parcel;)Landroid/net/Uri; HSPLandroid/net/Uri$HierarchicalUri;->toString()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->writeToParcel(Landroid/os/Parcel;I)V @@ -11447,13 +11497,13 @@ HSPLandroid/net/Uri$Part;->isEmpty()Z HSPLandroid/net/Uri$Part;->nonNull(Landroid/net/Uri$Part;)Landroid/net/Uri$Part; HSPLandroid/net/Uri$PathPart;-><init>(Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/net/Uri$PathPart;->appendDecodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart; -HSPLandroid/net/Uri$PathPart;->appendEncodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart; +HSPLandroid/net/Uri$PathPart;->appendEncodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/net/Uri$PathPart;Landroid/net/Uri$PathPart; HSPLandroid/net/Uri$PathPart;->from(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$PathPart; HSPLandroid/net/Uri$PathPart;->fromDecoded(Ljava/lang/String;)Landroid/net/Uri$PathPart; HSPLandroid/net/Uri$PathPart;->fromEncoded(Ljava/lang/String;)Landroid/net/Uri$PathPart; HSPLandroid/net/Uri$PathPart;->getEncoded()Ljava/lang/String; -HSPLandroid/net/Uri$PathPart;->getPathSegments()Landroid/net/Uri$PathSegments; -HSPLandroid/net/Uri$PathPart;->makeAbsolute(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart; +HSPLandroid/net/Uri$PathPart;->getPathSegments()Landroid/net/Uri$PathSegments;+]Ljava/lang/String;Ljava/lang/String;]Landroid/net/Uri$PathSegmentsBuilder;Landroid/net/Uri$PathSegmentsBuilder;]Landroid/net/Uri$PathPart;Landroid/net/Uri$PathPart; +HSPLandroid/net/Uri$PathPart;->makeAbsolute(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$PathSegments;-><init>([Ljava/lang/String;I)V HSPLandroid/net/Uri$PathSegments;->get(I)Ljava/lang/Object; HSPLandroid/net/Uri$PathSegments;->get(I)Ljava/lang/String; @@ -11462,9 +11512,9 @@ HSPLandroid/net/Uri$PathSegmentsBuilder;->add(Ljava/lang/String;)V HSPLandroid/net/Uri$PathSegmentsBuilder;->build()Landroid/net/Uri$PathSegments; HSPLandroid/net/Uri$StringUri;-><init>(Ljava/lang/String;)V HSPLandroid/net/Uri$StringUri;-><init>(Ljava/lang/String;Landroid/net/Uri$StringUri-IA;)V -HSPLandroid/net/Uri$StringUri;->buildUpon()Landroid/net/Uri$Builder; -HSPLandroid/net/Uri$StringUri;->findFragmentSeparator()I -HSPLandroid/net/Uri$StringUri;->findSchemeSeparator()I +HSPLandroid/net/Uri$StringUri;->buildUpon()Landroid/net/Uri$Builder;+]Landroid/net/Uri$Builder;Landroid/net/Uri$Builder;]Landroid/net/Uri$StringUri;Landroid/net/Uri$StringUri; +HSPLandroid/net/Uri$StringUri;->findFragmentSeparator()I+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/net/Uri$StringUri;->findSchemeSeparator()I+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->getAuthority()Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->getAuthorityPart()Landroid/net/Uri$Part; HSPLandroid/net/Uri$StringUri;->getEncodedAuthority()Ljava/lang/String; @@ -11482,11 +11532,11 @@ HSPLandroid/net/Uri$StringUri;->getScheme()Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->getSchemeSpecificPart()Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->isHierarchical()Z HSPLandroid/net/Uri$StringUri;->isRelative()Z -HSPLandroid/net/Uri$StringUri;->parseAuthority(Ljava/lang/String;I)Ljava/lang/String; +HSPLandroid/net/Uri$StringUri;->parseAuthority(Ljava/lang/String;I)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->parseFragment()Ljava/lang/String; -HSPLandroid/net/Uri$StringUri;->parsePath()Ljava/lang/String; +HSPLandroid/net/Uri$StringUri;->parsePath()Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->parsePath(Ljava/lang/String;I)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; -HSPLandroid/net/Uri$StringUri;->parseQuery()Ljava/lang/String; +HSPLandroid/net/Uri$StringUri;->parseQuery()Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->parseScheme()Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->toString()Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->writeToParcel(Landroid/os/Parcel;I)V @@ -11503,8 +11553,8 @@ HSPLandroid/net/Uri;->equals(Ljava/lang/Object;)Z HSPLandroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri; HSPLandroid/net/Uri;->fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/net/Uri;->getBooleanQueryParameter(Ljava/lang/String;Z)Z -HSPLandroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;+]Landroid/net/Uri;Landroid/net/Uri$StringUri;]Ljava/lang/String;Ljava/lang/String; -HSPLandroid/net/Uri;->getQueryParameterNames()Ljava/util/Set;+]Landroid/net/Uri;Landroid/net/Uri$StringUri;]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Set;Ljava/util/LinkedHashSet; +HSPLandroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Landroid/net/Uri;Landroid/net/Uri$StringUri; +HSPLandroid/net/Uri;->getQueryParameterNames()Ljava/util/Set;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Set;Ljava/util/LinkedHashSet;]Landroid/net/Uri;Landroid/net/Uri$StringUri; HSPLandroid/net/Uri;->hashCode()I HSPLandroid/net/Uri;->isAbsolute()Z HSPLandroid/net/Uri;->isAllowed(CLjava/lang/String;)Z+]Ljava/lang/String;Ljava/lang/String; @@ -11514,9 +11564,9 @@ HSPLandroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/net/Uri;->toSafeString()Ljava/lang/String; HSPLandroid/net/Uri;->withAppendedPath(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/net/Uri;->writeToParcel(Landroid/os/Parcel;Landroid/net/Uri;)V -HSPLandroid/net/UriCodec;->appendDecoded(Ljava/lang/StringBuilder;Ljava/lang/String;ZLjava/nio/charset/Charset;Z)V+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer;]Ljava/nio/charset/Charset;Lcom/android/icu/charset/CharsetICU;]Ljava/nio/charset/CharsetDecoder;Lcom/android/icu/charset/CharsetDecoderICU; +HSPLandroid/net/UriCodec;->appendDecoded(Ljava/lang/StringBuilder;Ljava/lang/String;ZLjava/nio/charset/Charset;Z)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String;]Ljava/nio/charset/Charset;Lcom/android/icu/charset/CharsetICU;]Ljava/nio/charset/CharsetDecoder;Lcom/android/icu/charset/CharsetDecoderICU;]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; HSPLandroid/net/UriCodec;->decode(Ljava/lang/String;ZLjava/nio/charset/Charset;Z)Ljava/lang/String; -HSPLandroid/net/UriCodec;->flushDecodingByteAccumulator(Ljava/lang/StringBuilder;Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Z)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer;]Ljava/nio/charset/CharsetDecoder;Lcom/android/icu/charset/CharsetDecoderICU; +HSPLandroid/net/UriCodec;->flushDecodingByteAccumulator(Ljava/lang/StringBuilder;Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Z)V+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/nio/charset/CharsetDecoder;Lcom/android/icu/charset/CharsetDecoderICU; HSPLandroid/net/UriCodec;->getNextCharacter(Ljava/lang/String;IILjava/lang/String;)C HSPLandroid/net/UriCodec;->hexCharToValue(C)I HSPLandroid/net/WebAddress;-><init>(Ljava/lang/String;)V @@ -11533,6 +11583,7 @@ HSPLandroid/net/vcn/VcnTransportInfo$1;-><init>()V HSPLandroid/net/vcn/VcnTransportInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/vcn/VcnTransportInfo; HSPLandroid/net/vcn/VcnTransportInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/net/vcn/VcnTransportInfo;-><clinit>()V +HSPLandroid/nfc/NfcFrameworkInitializer;->setNfcServiceManager(Landroid/nfc/NfcServiceManager;)V HSPLandroid/nfc/NfcServiceManager;-><init>()V HSPLandroid/nfc/cardemulation/AidGroup$1;->createFromParcel(Landroid/os/Parcel;)Landroid/nfc/cardemulation/AidGroup; HSPLandroid/nfc/cardemulation/AidGroup$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -11584,13 +11635,13 @@ HSPLandroid/os/AsyncTask;->postResultIfNotInvoked(Ljava/lang/Object;)V HSPLandroid/os/BaseBundle;-><init>()V HSPLandroid/os/BaseBundle;-><init>(I)V HSPLandroid/os/BaseBundle;-><init>(Landroid/os/BaseBundle;)V -HSPLandroid/os/BaseBundle;-><init>(Landroid/os/BaseBundle;Z)V +HSPLandroid/os/BaseBundle;-><init>(Landroid/os/BaseBundle;Z)V+]Landroid/os/BaseBundle;Landroid/os/Bundle;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/BaseBundle;-><init>(Landroid/os/Parcel;I)V -HSPLandroid/os/BaseBundle;-><init>(Ljava/lang/ClassLoader;I)V+]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;-><init>(Ljava/lang/ClassLoader;I)V+]Ljava/lang/Object;Landroid/os/Bundle;,Landroid/os/PersistableBundle;]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/os/BaseBundle;->clear()V HSPLandroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z HSPLandroid/os/BaseBundle;->deepCopyValue(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/os/BaseBundle;->get(Ljava/lang/String;)Ljava/lang/Object; +HSPLandroid/os/BaseBundle;->get(Ljava/lang/String;)Ljava/lang/Object;+]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->get(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/os/BaseBundle;->getArrayList(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/ArrayList; HSPLandroid/os/BaseBundle;->getBoolean(Ljava/lang/String;)Z @@ -11599,9 +11650,9 @@ HSPLandroid/os/BaseBundle;->getBooleanArray(Ljava/lang/String;)[Z HSPLandroid/os/BaseBundle;->getByteArray(Ljava/lang/String;)[B HSPLandroid/os/BaseBundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence; HSPLandroid/os/BaseBundle;->getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence; -HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;F)F +HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;F)F+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Float;Ljava/lang/Float;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;)I -HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;I)I +HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;I)I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->getIntArray(Ljava/lang/String;)[I HSPLandroid/os/BaseBundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList; HSPLandroid/os/BaseBundle;->getLong(Ljava/lang/String;)J @@ -11611,18 +11662,18 @@ HSPLandroid/os/BaseBundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializ HSPLandroid/os/BaseBundle;->getSerializable(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/Serializable; HSPLandroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/os/BaseBundle;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/os/BaseBundle;->getStringArray(Ljava/lang/String;)[Ljava/lang/String; +HSPLandroid/os/BaseBundle;->getStringArray(Ljava/lang/String;)[Ljava/lang/String;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList; -HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;)Ljava/lang/Object; -HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroid/os/BaseBundle;->getValueAt(ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroid/os/BaseBundle;->initializeFromParcelLocked(Landroid/os/Parcel;ZZ)V -HSPLandroid/os/BaseBundle;->isEmpty()Z +HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;)Ljava/lang/Object;+]Landroid/os/BaseBundle;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/BaseBundle;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;->getValueAt(ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Class;Ljava/lang/Class; +HSPLandroid/os/BaseBundle;->initializeFromParcelLocked(Landroid/os/Parcel;ZZ)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/BaseBundle;->isEmpty()Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->isEmptyParcel()Z HSPLandroid/os/BaseBundle;->isEmptyParcel(Landroid/os/Parcel;)Z HSPLandroid/os/BaseBundle;->isParcelled()Z -HSPLandroid/os/BaseBundle;->keySet()Ljava/util/Set;+]Landroid/os/BaseBundle;Landroid/os/Bundle;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/os/BaseBundle;->keySet()Ljava/util/Set;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->putAll(Landroid/os/PersistableBundle;)V HSPLandroid/os/BaseBundle;->putAll(Landroid/util/ArrayMap;)V HSPLandroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V @@ -11631,7 +11682,7 @@ HSPLandroid/os/BaseBundle;->putByteArray(Ljava/lang/String;[B)V HSPLandroid/os/BaseBundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V HSPLandroid/os/BaseBundle;->putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V HSPLandroid/os/BaseBundle;->putDouble(Ljava/lang/String;D)V -HSPLandroid/os/BaseBundle;->putFloat(Ljava/lang/String;F)V +HSPLandroid/os/BaseBundle;->putFloat(Ljava/lang/String;F)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V HSPLandroid/os/BaseBundle;->putIntArray(Ljava/lang/String;[I)V HSPLandroid/os/BaseBundle;->putLong(Ljava/lang/String;J)V @@ -11641,16 +11692,16 @@ HSPLandroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/os/BaseBundle;->putStringArray(Ljava/lang/String;[Ljava/lang/String;)V HSPLandroid/os/BaseBundle;->putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V HSPLandroid/os/BaseBundle;->readFromParcelInner(Landroid/os/Parcel;)V -HSPLandroid/os/BaseBundle;->readFromParcelInner(Landroid/os/Parcel;I)V -HSPLandroid/os/BaseBundle;->recycleParcel(Landroid/os/Parcel;)V +HSPLandroid/os/BaseBundle;->readFromParcelInner(Landroid/os/Parcel;I)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/BaseBundle;->recycleParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/BaseBundle;->remove(Ljava/lang/String;)V HSPLandroid/os/BaseBundle;->setClassLoader(Ljava/lang/ClassLoader;)V HSPLandroid/os/BaseBundle;->setShouldDefuse(Z)V -HSPLandroid/os/BaseBundle;->size()I -HSPLandroid/os/BaseBundle;->unparcel()V+]Landroid/os/BaseBundle;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;->size()I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;->unparcel()V+]Landroid/os/BaseBundle;Landroid/os/Bundle;,Landroid/os/PersistableBundle; HSPLandroid/os/BaseBundle;->unparcel(Z)V -HSPLandroid/os/BaseBundle;->unwrapLazyValueFromMapLocked(ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Ljava/util/function/BiFunction;Landroid/os/Parcel$LazyValue; -HSPLandroid/os/BaseBundle;->writeToParcelInner(Landroid/os/Parcel;I)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/os/BaseBundle;->unwrapLazyValueFromMapLocked(ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/BiFunction;Landroid/os/Parcel$LazyValue;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/os/BaseBundle;->writeToParcelInner(Landroid/os/Parcel;I)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/BatteryManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Landroid/os/IBatteryPropertiesRegistrar;)V HSPLandroid/os/BatteryManager;->getIntProperty(I)I HSPLandroid/os/BatteryManager;->getLongProperty(I)J @@ -11717,12 +11768,12 @@ HSPLandroid/os/Binder;->setTransactionCallback(Landroid/os/IBinderCallback;)V HSPLandroid/os/Binder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z HSPLandroid/os/Binder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z HSPLandroid/os/Binder;->withCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;)V -HSPLandroid/os/BinderProxy$ProxyMap;->get(J)Landroid/os/BinderProxy;+]Ljava/lang/Long;Ljava/lang/Long;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/os/BinderProxy$ProxyMap;->get(J)Landroid/os/BinderProxy; HSPLandroid/os/BinderProxy$ProxyMap;->hash(J)I HSPLandroid/os/BinderProxy$ProxyMap;->remove(II)V HSPLandroid/os/BinderProxy$ProxyMap;->set(JLandroid/os/BinderProxy;)V HSPLandroid/os/BinderProxy;-><init>(J)V -HSPLandroid/os/BinderProxy;->getInstance(JJ)Landroid/os/BinderProxy;+]Landroid/os/BinderProxy$ProxyMap;Landroid/os/BinderProxy$ProxyMap;]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/os/BinderProxy;->getInstance(JJ)Landroid/os/BinderProxy; HSPLandroid/os/BinderProxy;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V+]Ljava/util/List;Ljava/util/Collections$SynchronizedRandomAccessList; HSPLandroid/os/BinderProxy;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface; HSPLandroid/os/BinderProxy;->sendDeathNotice(Landroid/os/IBinder$DeathRecipient;Landroid/os/IBinder;)V @@ -11761,7 +11812,7 @@ HSPLandroid/os/Bundle;->getFloat(Ljava/lang/String;F)F HSPLandroid/os/Bundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList; HSPLandroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable; HSPLandroid/os/Bundle;->getParcelable(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable; +HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable;+]Landroid/os/Bundle;Landroid/os/Bundle; HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;Ljava/lang/Class;)[Ljava/lang/Object; HSPLandroid/os/Bundle;->getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList; HSPLandroid/os/Bundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable; @@ -11769,10 +11820,10 @@ HSPLandroid/os/Bundle;->getSerializable(Ljava/lang/String;Ljava/lang/Class;)Ljav HSPLandroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray; HSPLandroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList; HSPLandroid/os/Bundle;->hasFileDescriptors()Z -HSPLandroid/os/Bundle;->maybePrefillHasFds()V +HSPLandroid/os/Bundle;->maybePrefillHasFds()V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Bundle;->putAll(Landroid/os/Bundle;)V HSPLandroid/os/Bundle;->putBinder(Ljava/lang/String;Landroid/os/IBinder;)V -HSPLandroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V HSPLandroid/os/Bundle;->putByteArray(Ljava/lang/String;[B)V HSPLandroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V HSPLandroid/os/Bundle;->putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V @@ -11939,7 +11990,7 @@ HSPLandroid/os/FileObserver;-><init>(Ljava/io/File;I)V HSPLandroid/os/FileObserver;-><init>(Ljava/lang/String;I)V HSPLandroid/os/FileObserver;-><init>(Ljava/util/List;I)V HSPLandroid/os/FileObserver;->startWatching()V -HSPLandroid/os/FileUtils;->buildValidExtFilename(Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/os/FileUtils;->buildValidExtFilename(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/Object;Ljava/lang/String; HSPLandroid/os/FileUtils;->bytesToFile(Ljava/lang/String;[B)V HSPLandroid/os/FileUtils;->closeQuietly(Ljava/lang/AutoCloseable;)V HSPLandroid/os/FileUtils;->contains(Ljava/io/File;Ljava/io/File;)Z @@ -12011,7 +12062,7 @@ HSPLandroid/os/Handler;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message HSPLandroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; HSPLandroid/os/Handler;->post(Ljava/lang/Runnable;)Z+]Landroid/os/Handler;missing_types HSPLandroid/os/Handler;->postAtFrontOfQueue(Ljava/lang/Runnable;)Z -HSPLandroid/os/Handler;->postAtTime(Ljava/lang/Runnable;J)Z +HSPLandroid/os/Handler;->postAtTime(Ljava/lang/Runnable;J)Z+]Landroid/os/Handler;Landroid/view/ViewRootImpl$ViewRootHandler; HSPLandroid/os/Handler;->postAtTime(Ljava/lang/Runnable;Ljava/lang/Object;J)Z HSPLandroid/os/Handler;->postDelayed(Ljava/lang/Runnable;IJ)Z HSPLandroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z @@ -12024,7 +12075,7 @@ HSPLandroid/os/Handler;->runWithScissors(Ljava/lang/Runnable;J)Z HSPLandroid/os/Handler;->sendEmptyMessage(I)Z HSPLandroid/os/Handler;->sendEmptyMessageAtTime(IJ)Z HSPLandroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z -HSPLandroid/os/Handler;->sendMessage(Landroid/os/Message;)Z +HSPLandroid/os/Handler;->sendMessage(Landroid/os/Message;)Z+]Landroid/os/Handler;missing_types HSPLandroid/os/Handler;->sendMessageAtFrontOfQueue(Landroid/os/Message;)Z HSPLandroid/os/Handler;->sendMessageAtTime(Landroid/os/Message;J)Z HSPLandroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z+]Landroid/os/Handler;missing_types @@ -12070,6 +12121,7 @@ HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub;->asInterface(Landroid/os/IB HSPLandroid/os/IDeviceIdleController$Stub$Proxy;->isPowerSaveWhitelistApp(Ljava/lang/String;)Z HSPLandroid/os/IDeviceIdleController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdleController; HSPLandroid/os/IHintManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V +HSPLandroid/os/IHintManager$Stub$Proxy;->createHintSession(Landroid/os/IBinder;[IJ)Landroid/os/IHintSession; HSPLandroid/os/IHintManager$Stub$Proxy;->getHintSessionPreferredRate()J HSPLandroid/os/IHintManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IHintManager; HSPLandroid/os/IHintSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IHintSession; @@ -12164,14 +12216,14 @@ HSPLandroid/os/IpcDataCache;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/ HSPLandroid/os/IpcDataCache;-><init>(Landroid/os/IpcDataCache$Config;Landroid/os/IpcDataCache$QueryHandler;)V HSPLandroid/os/IpcDataCache;-><init>(Landroid/os/IpcDataCache$Config;Landroid/os/IpcDataCache$RemoteCall;)V HSPLandroid/os/IpcDataCache;->query(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/LocaleList;+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/os/LocaleList$1;Landroid/os/LocaleList$1; -HSPLandroid/os/LocaleList;-><init>([Ljava/util/Locale;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/HashSet;Ljava/util/HashSet;]Ljava/util/Locale;Ljava/util/Locale; +HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/LocaleList; +HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/os/LocaleList;-><init>([Ljava/util/Locale;)V HSPLandroid/os/LocaleList;->computeFirstMatch(Ljava/util/Collection;Z)Ljava/util/Locale; HSPLandroid/os/LocaleList;->computeFirstMatchIndex(Ljava/util/Collection;Z)I -HSPLandroid/os/LocaleList;->equals(Ljava/lang/Object;)Z +HSPLandroid/os/LocaleList;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Ljava/util/Locale; HSPLandroid/os/LocaleList;->findFirstMatchIndex(Ljava/util/Locale;)I -HSPLandroid/os/LocaleList;->forLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList;+]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/os/LocaleList;->forLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList; HSPLandroid/os/LocaleList;->get(I)Ljava/util/Locale; HSPLandroid/os/LocaleList;->getAdjustedDefault()Landroid/os/LocaleList; HSPLandroid/os/LocaleList;->getDefault()Landroid/os/LocaleList;+]Ljava/lang/Object;Ljava/util/Locale; @@ -12193,10 +12245,10 @@ HSPLandroid/os/Looper;-><init>(Z)V HSPLandroid/os/Looper;->getMainLooper()Landroid/os/Looper; HSPLandroid/os/Looper;->getQueue()Landroid/os/MessageQueue; HSPLandroid/os/Looper;->getThread()Ljava/lang/Thread; -HSPLandroid/os/Looper;->getThresholdOverride()I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Thread;Landroid/os/HandlerThread; +HSPLandroid/os/Looper;->getThresholdOverride()I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Thread;missing_types HSPLandroid/os/Looper;->isCurrentThread()Z HSPLandroid/os/Looper;->loop()V -HSPLandroid/os/Looper;->loopOnce(Landroid/os/Looper;JI)Z+]Landroid/os/Handler;missing_types]Landroid/os/Message;Landroid/os/Message;]Landroid/os/MessageQueue;Landroid/os/MessageQueue; +HSPLandroid/os/Looper;->loopOnce(Landroid/os/Looper;JI)Z+]Landroid/os/Handler;megamorphic_types]Landroid/os/Message;Landroid/os/Message;]Landroid/os/MessageQueue;Landroid/os/MessageQueue; HSPLandroid/os/Looper;->myLooper()Landroid/os/Looper;+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal; HSPLandroid/os/Looper;->myQueue()Landroid/os/MessageQueue; HSPLandroid/os/Looper;->prepare()V @@ -12230,7 +12282,7 @@ HSPLandroid/os/Message;->peekData()Landroid/os/Bundle; HSPLandroid/os/Message;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/os/Message;->recycle()V HSPLandroid/os/Message;->recycleUnchecked()V -HSPLandroid/os/Message;->sendToTarget()V +HSPLandroid/os/Message;->sendToTarget()V+]Landroid/os/Handler;megamorphic_types HSPLandroid/os/Message;->setAsynchronous(Z)V HSPLandroid/os/Message;->setCallback(Ljava/lang/Runnable;)Landroid/os/Message; HSPLandroid/os/Message;->setData(Landroid/os/Bundle;)V @@ -12249,13 +12301,13 @@ HSPLandroid/os/MessageQueue;->enqueueMessage(Landroid/os/Message;J)Z+]Landroid/o HSPLandroid/os/MessageQueue;->finalize()V HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;ILjava/lang/Object;)Z HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z -HSPLandroid/os/MessageQueue;->next()Landroid/os/Message;+]Landroid/os/Message;Landroid/os/Message;]Landroid/os/MessageQueue$IdleHandler;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/os/MessageQueue;->next()Landroid/os/Message;+]Landroid/os/MessageQueue$IdleHandler;missing_types]Landroid/os/Message;Landroid/os/Message;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/os/MessageQueue;->postSyncBarrier()I HSPLandroid/os/MessageQueue;->postSyncBarrier(J)I+]Landroid/os/Message;Landroid/os/Message; HSPLandroid/os/MessageQueue;->quit(Z)V HSPLandroid/os/MessageQueue;->removeAllFutureMessagesLocked()V HSPLandroid/os/MessageQueue;->removeAllMessagesLocked()V -HSPLandroid/os/MessageQueue;->removeCallbacksAndMessages(Landroid/os/Handler;Ljava/lang/Object;)V+]Landroid/os/Message;Landroid/os/Message; +HSPLandroid/os/MessageQueue;->removeCallbacksAndMessages(Landroid/os/Handler;Ljava/lang/Object;)V HSPLandroid/os/MessageQueue;->removeIdleHandler(Landroid/os/MessageQueue$IdleHandler;)V HSPLandroid/os/MessageQueue;->removeMessages(Landroid/os/Handler;ILjava/lang/Object;)V+]Landroid/os/Message;Landroid/os/Message; HSPLandroid/os/MessageQueue;->removeMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)V+]Landroid/os/Message;Landroid/os/Message; @@ -12276,12 +12328,12 @@ HSPLandroid/os/Parcel$2;-><init>(Landroid/os/Parcel;Ljava/io/InputStream;Ljava/l HSPLandroid/os/Parcel$2;->resolveClass(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;+]Ljava/io/ObjectStreamClass;Ljava/io/ObjectStreamClass; HSPLandroid/os/Parcel$LazyValue;-><init>(Landroid/os/Parcel;IIILjava/lang/ClassLoader;)V HSPLandroid/os/Parcel$LazyValue;->apply(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/os/Parcel$LazyValue;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/os/Parcel$LazyValue;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/os/Parcel$LazyValue;Landroid/os/Parcel$LazyValue; HSPLandroid/os/Parcel$LazyValue;->writeToParcel(Landroid/os/Parcel;)V HSPLandroid/os/Parcel$ReadWriteHelper;->readString16(Landroid/os/Parcel;)Ljava/lang/String;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel$ReadWriteHelper;->readString8(Landroid/os/Parcel;)Ljava/lang/String;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel$ReadWriteHelper;->writeString16(Landroid/os/Parcel;Ljava/lang/String;)V+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/os/Parcel$ReadWriteHelper;->writeString8(Landroid/os/Parcel;Ljava/lang/String;)V +HSPLandroid/os/Parcel$ReadWriteHelper;->writeString8(Landroid/os/Parcel;Ljava/lang/String;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->-$$Nest$mreadValue(Landroid/os/Parcel;Ljava/lang/ClassLoader;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/os/Parcel;-><init>(J)V HSPLandroid/os/Parcel;->adoptClassCookies(Landroid/os/Parcel;)V @@ -12294,21 +12346,21 @@ HSPLandroid/os/Parcel;->createBooleanArray()[Z HSPLandroid/os/Parcel;->createByteArray()[B HSPLandroid/os/Parcel;->createException(ILjava/lang/String;)Ljava/lang/Exception; HSPLandroid/os/Parcel;->createExceptionOrNull(ILjava/lang/String;)Ljava/lang/Exception; -HSPLandroid/os/Parcel;->createFloatArray()[F+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->createFloatArray()[F HSPLandroid/os/Parcel;->createIntArray()[I+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/os/Parcel;->createLongArray()[J +HSPLandroid/os/Parcel;->createLongArray()[J+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->createString16Array()[Ljava/lang/String;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->createString8Array()[Ljava/lang/String;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->createStringArray()[Ljava/lang/String; -HSPLandroid/os/Parcel;->createStringArrayList()Ljava/util/ArrayList; -HSPLandroid/os/Parcel;->createTypedArray(Landroid/os/Parcelable$Creator;)[Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;missing_types -HSPLandroid/os/Parcel;->createTypedArrayList(Landroid/os/Parcelable$Creator;)Ljava/util/ArrayList;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/os/Parcel;->createStringArrayList()Ljava/util/ArrayList;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->createTypedArray(Landroid/os/Parcelable$Creator;)[Ljava/lang/Object;+]Landroid/os/Parcelable$Creator;missing_types]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->createTypedArrayList(Landroid/os/Parcelable$Creator;)Ljava/util/ArrayList;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->dataAvail()I HSPLandroid/os/Parcel;->dataPosition()I HSPLandroid/os/Parcel;->dataSize()I HSPLandroid/os/Parcel;->destroy()V HSPLandroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -HSPLandroid/os/Parcel;->enforceNoDataAvail()V +HSPLandroid/os/Parcel;->enforceNoDataAvail()V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->ensureReadSquashableParcelables()V HSPLandroid/os/Parcel;->ensureWithinMemoryLimit(II)V HSPLandroid/os/Parcel;->finalize()V @@ -12330,33 +12382,33 @@ HSPLandroid/os/Parcel;->obtain(Landroid/os/IBinder;)Landroid/os/Parcel; HSPLandroid/os/Parcel;->pushAllowFds(Z)Z HSPLandroid/os/Parcel;->readArrayList(Ljava/lang/ClassLoader;)Ljava/util/ArrayList; HSPLandroid/os/Parcel;->readArrayList(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/ArrayList; -HSPLandroid/os/Parcel;->readArrayListInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/ArrayList; -HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;IZZLjava/lang/ClassLoader;)I +HSPLandroid/os/Parcel;->readArrayListInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/ArrayList;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;IZZLjava/lang/ClassLoader;)I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;Ljava/lang/ClassLoader;)V HSPLandroid/os/Parcel;->readArrayMapInternal(Landroid/util/ArrayMap;ILjava/lang/ClassLoader;)V -HSPLandroid/os/Parcel;->readArraySet(Ljava/lang/ClassLoader;)Landroid/util/ArraySet;+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLandroid/os/Parcel;->readArraySet(Ljava/lang/ClassLoader;)Landroid/util/ArraySet; HSPLandroid/os/Parcel;->readBinderList(Ljava/util/List;)V HSPLandroid/os/Parcel;->readBlob()[B HSPLandroid/os/Parcel;->readBoolean()Z+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readBooleanArray([Z)V -HSPLandroid/os/Parcel;->readBundle()Landroid/os/Bundle; -HSPLandroid/os/Parcel;->readBundle(Ljava/lang/ClassLoader;)Landroid/os/Bundle; -HSPLandroid/os/Parcel;->readByte()B +HSPLandroid/os/Parcel;->readBundle()Landroid/os/Bundle;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readBundle(Ljava/lang/ClassLoader;)Landroid/os/Bundle;+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readByte()B+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readByteArray([B)V HSPLandroid/os/Parcel;->readCallingWorkSourceUid()I -HSPLandroid/os/Parcel;->readCharSequence()Ljava/lang/CharSequence; +HSPLandroid/os/Parcel;->readCharSequence()Ljava/lang/CharSequence;+]Landroid/os/Parcelable$Creator;Landroid/text/TextUtils$1; HSPLandroid/os/Parcel;->readCharSequenceArray()[Ljava/lang/CharSequence; HSPLandroid/os/Parcel;->readDouble()D -HSPLandroid/os/Parcel;->readException()V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readException()V HSPLandroid/os/Parcel;->readException(ILjava/lang/String;)V -HSPLandroid/os/Parcel;->readExceptionCode()I+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readExceptionCode()I HSPLandroid/os/Parcel;->readFloat()F HSPLandroid/os/Parcel;->readFloatArray([F)V HSPLandroid/os/Parcel;->readHashMap(Ljava/lang/ClassLoader;)Ljava/util/HashMap; HSPLandroid/os/Parcel;->readHashMapInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/HashMap; HSPLandroid/os/Parcel;->readInt()I HSPLandroid/os/Parcel;->readIntArray([I)V -HSPLandroid/os/Parcel;->readLazyValue(Ljava/lang/ClassLoader;)Ljava/lang/Object; +HSPLandroid/os/Parcel;->readLazyValue(Ljava/lang/ClassLoader;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readList(Ljava/util/List;Ljava/lang/ClassLoader;)V HSPLandroid/os/Parcel;->readList(Ljava/util/List;Ljava/lang/ClassLoader;Ljava/lang/Class;)V HSPLandroid/os/Parcel;->readListInternal(Ljava/util/List;ILjava/lang/ClassLoader;)V @@ -12370,25 +12422,25 @@ HSPLandroid/os/Parcel;->readParcelable(Ljava/lang/ClassLoader;)Landroid/os/Parce HSPLandroid/os/Parcel;->readParcelable(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/os/Parcel;->readParcelableArray(Ljava/lang/ClassLoader;)[Landroid/os/Parcelable; HSPLandroid/os/Parcel;->readParcelableArray(Ljava/lang/ClassLoader;Ljava/lang/Class;)[Ljava/lang/Object; -HSPLandroid/os/Parcel;->readParcelableArrayInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)[Ljava/lang/Object; +HSPLandroid/os/Parcel;->readParcelableArrayInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)[Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readParcelableCreator(Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator; -HSPLandroid/os/Parcel;->readParcelableCreatorInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Landroid/os/Parcelable$Creator;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/reflect/Field;Ljava/lang/reflect/Field;]Ljava/util/HashMap;Ljava/util/HashMap; -HSPLandroid/os/Parcel;->readParcelableInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcelable$Creator;megamorphic_types +HSPLandroid/os/Parcel;->readParcelableCreatorInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Landroid/os/Parcelable$Creator;+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/Object;Landroid/os/Parcel;]Ljava/lang/reflect/Field;Ljava/lang/reflect/Field;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readParcelableInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcelable$Creator;megamorphic_types]Landroid/os/Parcelable$ClassLoaderCreator;Landroid/content/pm/ParceledListSlice$1; HSPLandroid/os/Parcel;->readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List; HSPLandroid/os/Parcel;->readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/List; -HSPLandroid/os/Parcel;->readParcelableListInternal(Ljava/util/List;Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/List;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/os/Parcel;->readParcelableListInternal(Ljava/util/List;Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readPersistableBundle()Landroid/os/PersistableBundle; HSPLandroid/os/Parcel;->readPersistableBundle(Ljava/lang/ClassLoader;)Landroid/os/PersistableBundle; HSPLandroid/os/Parcel;->readRawFileDescriptor()Ljava/io/FileDescriptor; HSPLandroid/os/Parcel;->readSerializable()Ljava/io/Serializable; -HSPLandroid/os/Parcel;->readSerializableInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/io/ObjectInputStream;Landroid/os/Parcel$2; +HSPLandroid/os/Parcel;->readSerializableInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object;+]Ljava/io/ObjectInputStream;Landroid/os/Parcel$2;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readSize()Landroid/util/Size; HSPLandroid/os/Parcel;->readSparseArray(Ljava/lang/ClassLoader;)Landroid/util/SparseArray; HSPLandroid/os/Parcel;->readSparseArray(Ljava/lang/ClassLoader;Ljava/lang/Class;)Landroid/util/SparseArray; HSPLandroid/os/Parcel;->readSparseArrayInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Landroid/util/SparseArray; HSPLandroid/os/Parcel;->readSparseIntArray()Landroid/util/SparseIntArray; HSPLandroid/os/Parcel;->readSparseIntArrayInternal(Landroid/util/SparseIntArray;I)V -HSPLandroid/os/Parcel;->readSquashed(Landroid/os/Parcel$SquashReadHelper;)Landroid/os/Parcelable; +HSPLandroid/os/Parcel;->readSquashed(Landroid/os/Parcel$SquashReadHelper;)Landroid/os/Parcelable;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/Parcel$SquashReadHelper;Landroid/content/pm/ApplicationInfo$1$$ExternalSyntheticLambda0;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readString()Ljava/lang/String;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readString16()Ljava/lang/String;+]Landroid/os/Parcel$ReadWriteHelper;Landroid/os/Parcel$ReadWriteHelper; HSPLandroid/os/Parcel;->readString16Array([Ljava/lang/String;)V @@ -12399,11 +12451,11 @@ HSPLandroid/os/Parcel;->readStringArray()[Ljava/lang/String;+]Landroid/os/Parcel HSPLandroid/os/Parcel;->readStringArray([Ljava/lang/String;)V HSPLandroid/os/Parcel;->readStringList(Ljava/util/List;)V HSPLandroid/os/Parcel;->readStrongBinder()Landroid/os/IBinder; -HSPLandroid/os/Parcel;->readTypedArray([Ljava/lang/Object;Landroid/os/Parcelable$Creator;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readTypedArray([Ljava/lang/Object;Landroid/os/Parcelable$Creator;)V HSPLandroid/os/Parcel;->readTypedList(Ljava/util/List;Landroid/os/Parcelable$Creator;)V -HSPLandroid/os/Parcel;->readTypedObject(Landroid/os/Parcelable$Creator;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;megamorphic_types +HSPLandroid/os/Parcel;->readTypedObject(Landroid/os/Parcelable$Creator;)Ljava/lang/Object;+]Landroid/os/Parcelable$Creator;megamorphic_types]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readValue(ILjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroid/os/Parcel;->readValue(ILjava/lang/ClassLoader;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class; +HSPLandroid/os/Parcel;->readValue(ILjava/lang/ClassLoader;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readValue(Ljava/lang/ClassLoader;)Ljava/lang/Object; HSPLandroid/os/Parcel;->readValue(Ljava/lang/ClassLoader;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->recycle()V @@ -12415,11 +12467,11 @@ HSPLandroid/os/Parcel;->setDataSize(I)V HSPLandroid/os/Parcel;->setReadWriteHelper(Landroid/os/Parcel$ReadWriteHelper;)V HSPLandroid/os/Parcel;->unmarshall([BII)V HSPLandroid/os/Parcel;->writeArrayMap(Landroid/util/ArrayMap;)V -HSPLandroid/os/Parcel;->writeArrayMapInternal(Landroid/util/ArrayMap;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/os/Parcel;->writeArrayMapInternal(Landroid/util/ArrayMap;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeArraySet(Landroid/util/ArraySet;)V HSPLandroid/os/Parcel;->writeBinderList(Ljava/util/List;)V HSPLandroid/os/Parcel;->writeBlob([B)V -HSPLandroid/os/Parcel;->writeBoolean(Z)V +HSPLandroid/os/Parcel;->writeBoolean(Z)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeBooleanArray([Z)V HSPLandroid/os/Parcel;->writeBundle(Landroid/os/Bundle;)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeByte(B)V @@ -12434,38 +12486,38 @@ HSPLandroid/os/Parcel;->writeFloatArray([F)V HSPLandroid/os/Parcel;->writeInt(I)V HSPLandroid/os/Parcel;->writeIntArray([I)V HSPLandroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -HSPLandroid/os/Parcel;->writeList(Ljava/util/List;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/os/Parcel;->writeList(Ljava/util/List;)V HSPLandroid/os/Parcel;->writeLong(J)V HSPLandroid/os/Parcel;->writeLongArray([J)V HSPLandroid/os/Parcel;->writeMap(Ljava/util/Map;)V HSPLandroid/os/Parcel;->writeMapInternal(Ljava/util/Map;)V HSPLandroid/os/Parcel;->writeNoException()V -HSPLandroid/os/Parcel;->writeParcelable(Landroid/os/Parcelable;I)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable;missing_types -HSPLandroid/os/Parcel;->writeParcelableArray([Landroid/os/Parcelable;I)V -HSPLandroid/os/Parcel;->writeParcelableCreator(Landroid/os/Parcelable;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;missing_types +HSPLandroid/os/Parcel;->writeParcelable(Landroid/os/Parcelable;I)V+]Landroid/os/Parcelable;missing_types]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->writeParcelableArray([Landroid/os/Parcelable;I)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->writeParcelableCreator(Landroid/os/Parcelable;)V+]Ljava/lang/Object;missing_types]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeParcelableList(Ljava/util/List;I)V HSPLandroid/os/Parcel;->writePersistableBundle(Landroid/os/PersistableBundle;)V HSPLandroid/os/Parcel;->writeSerializable(Ljava/io/Serializable;)V -HSPLandroid/os/Parcel;->writeSparseArray(Landroid/util/SparseArray;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/os/Parcel;->writeSparseArray(Landroid/util/SparseArray;)V HSPLandroid/os/Parcel;->writeSparseBooleanArray(Landroid/util/SparseBooleanArray;)V HSPLandroid/os/Parcel;->writeSparseIntArray(Landroid/util/SparseIntArray;)V HSPLandroid/os/Parcel;->writeString(Ljava/lang/String;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeString16(Ljava/lang/String;)V+]Landroid/os/Parcel$ReadWriteHelper;Landroid/os/Parcel$ReadWriteHelper; -HSPLandroid/os/Parcel;->writeString16Array([Ljava/lang/String;)V +HSPLandroid/os/Parcel;->writeString16Array([Ljava/lang/String;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeString16NoHelper(Ljava/lang/String;)V -HSPLandroid/os/Parcel;->writeString8(Ljava/lang/String;)V +HSPLandroid/os/Parcel;->writeString8(Ljava/lang/String;)V+]Landroid/os/Parcel$ReadWriteHelper;Landroid/os/Parcel$ReadWriteHelper; HSPLandroid/os/Parcel;->writeString8Array([Ljava/lang/String;)V HSPLandroid/os/Parcel;->writeString8NoHelper(Ljava/lang/String;)V -HSPLandroid/os/Parcel;->writeStringArray([Ljava/lang/String;)V +HSPLandroid/os/Parcel;->writeStringArray([Ljava/lang/String;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeStringList(Ljava/util/List;)V HSPLandroid/os/Parcel;->writeStrongBinder(Landroid/os/IBinder;)V -HSPLandroid/os/Parcel;->writeStrongInterface(Landroid/os/IInterface;)V -HSPLandroid/os/Parcel;->writeTypedArray([Landroid/os/Parcelable;I)V +HSPLandroid/os/Parcel;->writeStrongInterface(Landroid/os/IInterface;)V+]Landroid/os/IInterface;Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;,Landroid/app/ActivityThread$ApplicationThread;,Landroid/view/ViewRootImpl$W;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->writeTypedArray([Landroid/os/Parcelable;I)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeTypedArrayMap(Landroid/util/ArrayMap;I)V HSPLandroid/os/Parcel;->writeTypedList(Ljava/util/List;)V HSPLandroid/os/Parcel;->writeTypedList(Ljava/util/List;I)V -HSPLandroid/os/Parcel;->writeTypedObject(Landroid/os/Parcelable;I)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable;Landroid/app/FragmentState;,Landroid/content/Intent;,Landroid/os/Bundle;,Landroid/view/SurfaceControl$Transaction; -HSPLandroid/os/Parcel;->writeValue(ILjava/lang/Object;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Integer;Ljava/lang/Integer; +HSPLandroid/os/Parcel;->writeTypedObject(Landroid/os/Parcelable;I)V+]Landroid/os/Parcelable;Landroid/view/WindowManager$LayoutParams;,Landroid/content/Intent;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->writeValue(ILjava/lang/Object;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Ljava/lang/Long;Ljava/lang/Long;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeValue(Ljava/lang/Object;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/ParcelFileDescriptor$2;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ParcelFileDescriptor; HSPLandroid/os/ParcelFileDescriptor$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -12655,7 +12707,7 @@ HSPLandroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinde HSPLandroid/os/ServiceManager;->getServiceOrThrow(Ljava/lang/String;)Landroid/os/IBinder; HSPLandroid/os/ServiceManager;->initServiceCache(Ljava/util/Map;)V HSPLandroid/os/ServiceManager;->isDeclared(Ljava/lang/String;)Z -HSPLandroid/os/ServiceManager;->rawGetService(Ljava/lang/String;)Landroid/os/IBinder;+]Landroid/os/IServiceManager;Landroid/os/ServiceManagerProxy;]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger; +HSPLandroid/os/ServiceManager;->rawGetService(Ljava/lang/String;)Landroid/os/IBinder;+]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger;]Landroid/os/IServiceManager;Landroid/os/ServiceManagerProxy; HSPLandroid/os/ServiceManager;->waitForDeclaredService(Ljava/lang/String;)Landroid/os/IBinder; HSPLandroid/os/ServiceManagerProxy;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V HSPLandroid/os/ServiceManagerProxy;->checkService(Ljava/lang/String;)Landroid/os/IBinder; @@ -12714,7 +12766,7 @@ HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->handleViolationWithTimingAtt HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->lambda$handleViolationWithTimingAttempt$0(Landroid/view/IWindowManager;Ljava/util/ArrayList;)V HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onCustomSlowCall(Ljava/lang/String;)V HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onNetwork()V -HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onReadFromDisk()V +HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onReadFromDisk()V+]Landroid/os/StrictMode$AndroidBlockGuardPolicy;Landroid/os/StrictMode$AndroidBlockGuardPolicy; HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onThreadPolicyViolation(Landroid/os/StrictMode$ViolationInfo;)V HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onUnbufferedIO()V HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onWriteToDisk()V @@ -12756,7 +12808,7 @@ HSPLandroid/os/StrictMode$ThreadSpanState;-><init>(Landroid/os/StrictMode$Thread HSPLandroid/os/StrictMode$UnsafeIntentStrictModeCallback;-><init>()V HSPLandroid/os/StrictMode$UnsafeIntentStrictModeCallback;-><init>(Landroid/os/StrictMode$UnsafeIntentStrictModeCallback-IA;)V HSPLandroid/os/StrictMode$ViolationInfo;->-$$Nest$fgetmViolation(Landroid/os/StrictMode$ViolationInfo;)Landroid/os/strictmode/Violation; -HSPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/Parcel;Z)V +HSPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/Parcel;Z)V+]Ljava/util/Deque;Ljava/util/ArrayDeque;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/strictmode/Violation;I)V HSPLandroid/os/StrictMode$ViolationInfo;->getStackTrace()Ljava/lang/String; HSPLandroid/os/StrictMode$ViolationInfo;->hashCode()I @@ -13084,7 +13136,7 @@ HSPLandroid/os/storage/StorageManager;-><init>(Landroid/content/Context;Landroid HSPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/io/FileDescriptor;JI)V HSPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/util/UUID;JI)V HSPLandroid/os/storage/StorageManager;->convert(Ljava/lang/String;)Ljava/util/UUID; -HSPLandroid/os/storage/StorageManager;->convert(Ljava/util/UUID;)Ljava/lang/String; +HSPLandroid/os/storage/StorageManager;->convert(Ljava/util/UUID;)Ljava/lang/String;+]Ljava/lang/Object;Ljava/util/UUID; HSPLandroid/os/storage/StorageManager;->getAllocatableBytes(Ljava/util/UUID;I)J HSPLandroid/os/storage/StorageManager;->getStorageVolume(Ljava/io/File;I)Landroid/os/storage/StorageVolume; HSPLandroid/os/storage/StorageManager;->getStorageVolume([Landroid/os/storage/StorageVolume;Ljava/io/File;)Landroid/os/storage/StorageVolume; @@ -13173,9 +13225,10 @@ HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getTargetSdk()I HSPLandroid/permission/PermissionManager;-><clinit>()V HSPLandroid/permission/PermissionManager;-><init>(Landroid/content/Context;)V HSPLandroid/permission/PermissionManager;->addOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V -HSPLandroid/permission/PermissionManager;->checkPermissionUncached(Ljava/lang/String;III)I+]Landroid/app/IActivityManager;Landroid/app/IActivityManager$Stub$Proxy; +HSPLandroid/permission/PermissionManager;->checkPermissionUncached(Ljava/lang/String;III)I+]Landroid/app/IActivityManager;Landroid/app/IActivityManager$Stub$Proxy;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/permission/PermissionManager;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)I HSPLandroid/permission/PermissionManager;->getPermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo; +HSPLandroid/permission/PermissionManager;->getPersistentDeviceId(I)Ljava/lang/String; HSPLandroid/permission/PermissionManager;->getSplitPermissions()Ljava/util/List; HSPLandroid/permission/PermissionManager;->removeOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V HSPLandroid/permission/PermissionManager;->splitPermissionInfoListToNonParcelableList(Ljava/util/List;)Ljava/util/List; @@ -13235,15 +13288,15 @@ HSPLandroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;L HSPLandroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I HSPLandroid/provider/Settings$Global;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J HSPLandroid/provider/Settings$Global;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; +HSPLandroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;+]Landroid/provider/Settings$NameValueCache;Landroid/provider/Settings$NameValueCache;]Ljava/util/HashSet;Ljava/util/HashSet; HSPLandroid/provider/Settings$Global;->getUriFor(Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/provider/Settings$Global;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z HSPLandroid/provider/Settings$Global;->putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z HSPLandroid/provider/Settings$Global;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z HSPLandroid/provider/Settings$Global;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZIZ)Z HSPLandroid/provider/Settings$NameValueCache$$ExternalSyntheticLambda0;-><init>(Landroid/provider/Settings$NameValueCache;)V -HSPLandroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; -HSPLandroid/provider/Settings$NameValueCache;->getStringsForPrefixStripPrefix(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/List;)Ljava/util/Map;+]Landroid/content/ContentResolver;Landroid/app/ContextImpl$ApplicationContentResolver;]Landroid/content/IContentProvider;Landroid/content/ContentProvider$Transport;,Landroid/content/ContentProviderProxy;]Landroid/net/Uri;Landroid/net/Uri$StringUri;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/provider/Settings$ContentProviderHolder;Landroid/provider/Settings$ContentProviderHolder;]Landroid/provider/Settings$GenerationTracker;Landroid/provider/Settings$GenerationTracker;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/String;Ljava/lang/String;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/Iterator;Ljava/util/Arrays$ArrayItr;,Ljava/util/HashMap$EntryIterator;]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/util/Set;Ljava/util/HashMap$EntrySet; +HSPLandroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/IContentProvider;Landroid/content/ContentProviderProxy;]Landroid/provider/Settings$GenerationTracker;Landroid/provider/Settings$GenerationTracker;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/provider/Settings$ContentProviderHolder;Landroid/provider/Settings$ContentProviderHolder;]Landroid/content/ContentResolver;Landroid/app/ContextImpl$ApplicationContentResolver;]Landroid/net/Uri;Landroid/net/Uri$StringUri; +HSPLandroid/provider/Settings$NameValueCache;->getStringsForPrefixStripPrefix(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/List;)Ljava/util/Map;+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Landroid/provider/Settings$GenerationTracker;Landroid/provider/Settings$GenerationTracker;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/provider/Settings$ContentProviderHolder;Landroid/provider/Settings$ContentProviderHolder;]Ljava/util/Set;Ljava/util/HashMap$EntrySet;]Ljava/lang/String;Ljava/lang/String;]Landroid/content/IContentProvider;Landroid/content/ContentProviderProxy;,Landroid/content/ContentProvider$Transport;]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Landroid/content/ContentResolver;Landroid/app/ContextImpl$ApplicationContentResolver;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;,Ljava/util/Arrays$ArrayItr;]Landroid/net/Uri;Landroid/net/Uri$StringUri; HSPLandroid/provider/Settings$NameValueCache;->isCallerExemptFromReadableRestriction()Z HSPLandroid/provider/Settings$NameValueCache;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZIZ)Z HSPLandroid/provider/Settings$NameValueTable;->getUriFor(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; @@ -13254,7 +13307,7 @@ HSPLandroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentRes HSPLandroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I HSPLandroid/provider/Settings$Secure;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J HSPLandroid/provider/Settings$Secure;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)J -HSPLandroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;+]Landroid/content/ContentResolver;Landroid/app/ContextImpl$ApplicationContentResolver; HSPLandroid/provider/Settings$Secure;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; HSPLandroid/provider/Settings$Secure;->getUriFor(Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/provider/Settings$Secure;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z @@ -13269,7 +13322,7 @@ HSPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;L HSPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I HSPLandroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)I HSPLandroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I -HSPLandroid/provider/Settings$System;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; +HSPLandroid/provider/Settings$System;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;+]Landroid/provider/Settings$NameValueCache;Landroid/provider/Settings$NameValueCache;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/HashSet;Ljava/util/HashSet; HSPLandroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z HSPLandroid/provider/Settings$System;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z @@ -13288,6 +13341,8 @@ HSPLandroid/provider/Settings;->parseLongSettingWithDefault(Ljava/lang/String;J) HSPLandroid/provider/Telephony$Sms;->getDefaultSmsPackage(Landroid/content/Context;)Ljava/lang/String; HSPLandroid/renderscript/RenderScriptCacheDir;->setupDiskCache(Ljava/io/File;)V HSPLandroid/se/omapi/SeServiceManager;-><init>()V +HSPLandroid/security/FeatureFlagsImpl;-><init>()V +HSPLandroid/security/Flags;-><clinit>()V HSPLandroid/security/KeyChain$1;-><init>(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/CountDownLatch;)V HSPLandroid/security/KeyChain$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V HSPLandroid/security/KeyChain$KeyChainConnection;-><init>(Landroid/content/Context;Landroid/content/ServiceConnection;Landroid/security/IKeyChainService;)V @@ -13304,6 +13359,7 @@ HSPLandroid/security/KeyStore2;->getKeyEntry(Landroid/system/keystore2/KeyDescri HSPLandroid/security/KeyStore2;->getKeyStoreException(ILjava/lang/String;)Landroid/security/KeyStoreException; HSPLandroid/security/KeyStore2;->getService(Z)Landroid/system/keystore2/IKeystoreService; HSPLandroid/security/KeyStore2;->handleRemoteExceptionWithRetry(Landroid/security/KeyStore2$CheckedRemoteRequest;)Ljava/lang/Object; +HSPLandroid/security/KeyStore;->getInstance()Landroid/security/KeyStore; HSPLandroid/security/KeyStoreException;-><init>(ILjava/lang/String;)V HSPLandroid/security/KeyStoreException;-><init>(ILjava/lang/String;Ljava/lang/String;)V HSPLandroid/security/KeyStoreException;->getErrorCode()I @@ -13633,18 +13689,18 @@ HSPLandroid/service/notification/NotificationListenerService$NotificationListene HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationChannelGroupModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationChannelModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V -HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V +HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V+]Landroid/os/Handler;Landroid/service/notification/NotificationListenerService$MyHandler;]Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/os/Message;Landroid/os/Message; HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRankingUpdate(Landroid/service/notification/NotificationRankingUpdate;)V HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>()V -HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>(Landroid/os/Parcel;)V +HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Object;Landroid/service/notification/NotificationListenerService$Ranking;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/service/notification/NotificationListenerService$Ranking;->getChannel()Landroid/app/NotificationChannel; HSPLandroid/service/notification/NotificationListenerService$Ranking;->getKey()Ljava/lang/String; -HSPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Landroid/service/notification/NotificationListenerService$Ranking;)V +HSPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Landroid/service/notification/NotificationListenerService$Ranking;)V+]Landroid/service/notification/NotificationListenerService$Ranking;Landroid/service/notification/NotificationListenerService$Ranking; HSPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Ljava/lang/String;IZIIILjava/lang/CharSequence;Ljava/lang/String;Landroid/app/NotificationChannel;Ljava/util/ArrayList;Ljava/util/ArrayList;ZIZJZLjava/util/ArrayList;Ljava/util/ArrayList;ZZZLandroid/content/pm/ShortcutInfo;IZIZ)V HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/NotificationListenerService$RankingMap; HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/service/notification/NotificationListenerService$RankingMap;-><init>(Landroid/os/Parcel;)V +HSPLandroid/service/notification/NotificationListenerService$RankingMap;-><init>(Landroid/os/Parcel;)V+]Landroid/service/notification/NotificationListenerService$Ranking;Landroid/service/notification/NotificationListenerService$Ranking;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Object;Landroid/service/notification/NotificationListenerService$RankingMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getOrderedKeys()[Ljava/lang/String; HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getRanking(Ljava/lang/String;Landroid/service/notification/NotificationListenerService$Ranking;)Z HSPLandroid/service/notification/NotificationListenerService;-><init>()V @@ -13673,7 +13729,7 @@ HSPLandroid/service/notification/NotificationRankingUpdate;-><init>(Landroid/os/ HSPLandroid/service/notification/NotificationRankingUpdate;->getRankingMap()Landroid/service/notification/NotificationListenerService$RankingMap; HSPLandroid/service/notification/StatusBarNotification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/StatusBarNotification; HSPLandroid/service/notification/StatusBarNotification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/service/notification/StatusBarNotification;-><init>(Landroid/os/Parcel;)V +HSPLandroid/service/notification/StatusBarNotification;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Lcom/android/internal/logging/InstanceId$1;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/service/notification/StatusBarNotification;->getGroupKey()Ljava/lang/String; HSPLandroid/service/notification/StatusBarNotification;->getId()I HSPLandroid/service/notification/StatusBarNotification;->getInstanceId()Lcom/android/internal/logging/InstanceId; @@ -13692,7 +13748,7 @@ HSPLandroid/service/notification/StatusBarNotification;->groupKey()Ljava/lang/St HSPLandroid/service/notification/StatusBarNotification;->isAppGroup()Z HSPLandroid/service/notification/StatusBarNotification;->isGroup()Z HSPLandroid/service/notification/StatusBarNotification;->isOngoing()Z -HSPLandroid/service/notification/StatusBarNotification;->key()Ljava/lang/String; +HSPLandroid/service/notification/StatusBarNotification;->key()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/UserHandle;Landroid/os/UserHandle; HSPLandroid/service/notification/ZenModeConfig$ZenRule$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/ZenModeConfig$ZenRule; HSPLandroid/service/notification/ZenModeConfig$ZenRule$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/service/notification/ZenModeConfig$ZenRule;-><init>(Landroid/os/Parcel;)V @@ -13940,7 +13996,7 @@ HSPLandroid/telecom/PhoneAccountHandle;->getComponentName()Landroid/content/Comp HSPLandroid/telecom/PhoneAccountHandle;->getId()Ljava/lang/String; HSPLandroid/telecom/PhoneAccountHandle;->getUserHandle()Landroid/os/UserHandle; HSPLandroid/telecom/PhoneAccountHandle;->hashCode()I -HSPLandroid/telecom/PhoneAccountHandle;->toString()Ljava/lang/String; +HSPLandroid/telecom/PhoneAccountHandle;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLandroid/telecom/PhoneAccountHandle;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/telecom/TelecomManager;-><init>(Landroid/content/Context;)V HSPLandroid/telecom/TelecomManager;-><init>(Landroid/content/Context;Lcom/android/internal/telecom/ITelecomService;)V @@ -14079,7 +14135,7 @@ HSPLandroid/telephony/ModemActivityInfo;->toString()Ljava/lang/String; HSPLandroid/telephony/NetworkRegistrationInfo$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/telephony/NetworkRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/NetworkRegistrationInfo; HSPLandroid/telephony/NetworkRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/telephony/NetworkRegistrationInfo;)V HSPLandroid/telephony/NetworkRegistrationInfo;->domainToString(I)Ljava/lang/String; HSPLandroid/telephony/NetworkRegistrationInfo;->getAccessNetworkTechnology()I @@ -14103,7 +14159,7 @@ HSPLandroid/telephony/PhoneNumberUtils;->formatNumberToE164(Ljava/lang/String;Lj HSPLandroid/telephony/PhoneNumberUtils;->getMinMatch()I HSPLandroid/telephony/PhoneNumberUtils;->isDialable(C)Z HSPLandroid/telephony/PhoneNumberUtils;->isNonSeparator(C)Z -HSPLandroid/telephony/PhoneNumberUtils;->normalizeNumber(Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/telephony/PhoneNumberUtils;->normalizeNumber(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/telephony/PhoneNumberUtils;->stripSeparators(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda10;->runOrThrow()V HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda19;->runOrThrow()V @@ -14135,7 +14191,7 @@ HSPLandroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I HSPLandroid/telephony/ServiceState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ServiceState; HSPLandroid/telephony/ServiceState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/telephony/ServiceState;-><init>()V -HSPLandroid/telephony/ServiceState;-><init>(Landroid/os/Parcel;)V +HSPLandroid/telephony/ServiceState;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/telephony/ServiceState;-><init>(Landroid/telephony/ServiceState;)V HSPLandroid/telephony/ServiceState;->copyFrom(Landroid/telephony/ServiceState;)V HSPLandroid/telephony/ServiceState;->createLocationInfoSanitizedCopy(Z)Landroid/telephony/ServiceState; @@ -14175,7 +14231,7 @@ HSPLandroid/telephony/SignalStrength;->getCellSignalStrengths(Ljava/lang/Class;) HSPLandroid/telephony/SignalStrength;->getLevel()I HSPLandroid/telephony/SignalStrength;->getPrimary()Landroid/telephony/CellSignalStrength; HSPLandroid/telephony/SignalStrength;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/SubscriptionInfo;+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;Landroid/text/TextUtils$1;]Landroid/telephony/SubscriptionInfo$Builder;Landroid/telephony/SubscriptionInfo$Builder; +HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/SubscriptionInfo;+]Landroid/os/Parcelable$Creator;Landroid/text/TextUtils$1;]Landroid/telephony/SubscriptionInfo$Builder;Landroid/telephony/SubscriptionInfo$Builder;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/telephony/SubscriptionInfo$Builder;->-$$Nest$fgetmAreUiccApplicationsEnabled(Landroid/telephony/SubscriptionInfo$Builder;)Z HSPLandroid/telephony/SubscriptionInfo$Builder;->-$$Nest$fgetmCardId(Landroid/telephony/SubscriptionInfo$Builder;)I @@ -14258,6 +14314,8 @@ HSPLandroid/telephony/SubscriptionInfo;->getSubscriptionId()I HSPLandroid/telephony/SubscriptionInfo;->isEmbedded()Z HSPLandroid/telephony/SubscriptionInfo;->isOpportunistic()Z HSPLandroid/telephony/SubscriptionInfo;->toString()Ljava/lang/String; +HSPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda10;->applyOrThrow(Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda15;->applyOrThrow(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda9;->applyOrThrow(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/telephony/SubscriptionManager$IntegerPropertyInvalidatedCache;->query(Ljava/lang/Integer;)Ljava/lang/Object; HSPLandroid/telephony/SubscriptionManager$IntegerPropertyInvalidatedCache;->recompute(Ljava/lang/Integer;)Ljava/lang/Object; @@ -14368,6 +14426,7 @@ HSPLandroid/telephony/TelephonyManager;->getRenouncedPermissions()Ljava/util/Set HSPLandroid/telephony/TelephonyManager;->getServiceState()Landroid/telephony/ServiceState; HSPLandroid/telephony/TelephonyManager;->getServiceState(I)Landroid/telephony/ServiceState; HSPLandroid/telephony/TelephonyManager;->getServiceStateForSubscriber(I)Landroid/telephony/ServiceState; +HSPLandroid/telephony/TelephonyManager;->getServiceStateForSubscriber(IZZ)Landroid/telephony/ServiceState; HSPLandroid/telephony/TelephonyManager;->getSignalStrength()Landroid/telephony/SignalStrength; HSPLandroid/telephony/TelephonyManager;->getSimCarrierId()I HSPLandroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String; @@ -14480,7 +14539,7 @@ HSPLandroid/telephony/data/ApnSetting;->getApnName()Ljava/lang/String; HSPLandroid/telephony/data/ApnSetting;->getApnTypeBitmask()I HSPLandroid/telephony/data/ApnSetting;->getApnTypesStringFromBitmask(I)Ljava/lang/String; HSPLandroid/telephony/data/ApnSetting;->portToString(I)Ljava/lang/String; -HSPLandroid/telephony/data/ApnSetting;->toString()Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/Map;Landroid/util/ArrayMap; +HSPLandroid/telephony/data/ApnSetting;->toString()Ljava/lang/String; HSPLandroid/telephony/euicc/EuiccManager;->getIEuiccController()Lcom/android/internal/telephony/euicc/IEuiccController; HSPLandroid/telephony/euicc/EuiccManager;->isEnabled()Z HSPLandroid/telephony/ims/ImsMmTelManager;->createForSubscriptionId(I)Landroid/telephony/ims/ImsMmTelManager; @@ -14529,7 +14588,7 @@ HSPLandroid/text/BidiFormatter;->markBefore(Ljava/lang/CharSequence;Landroid/tex HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;Z)Ljava/lang/CharSequence; HSPLandroid/text/BoringLayout$Metrics;->-$$Nest$mreset(Landroid/text/BoringLayout$Metrics;)V HSPLandroid/text/BoringLayout$Metrics;-><init>()V -HSPLandroid/text/BoringLayout$Metrics;->reset()V+]Landroid/graphics/RectF;Landroid/graphics/RectF; +HSPLandroid/text/BoringLayout$Metrics;->reset()V HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)V HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)V HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;IZ)V @@ -14544,13 +14603,14 @@ HSPLandroid/text/BoringLayout;->getLineCount()I HSPLandroid/text/BoringLayout;->getLineDescent(I)I HSPLandroid/text/BoringLayout;->getLineDirections(I)Landroid/text/Layout$Directions; HSPLandroid/text/BoringLayout;->getLineMax(I)F -HSPLandroid/text/BoringLayout;->getLineStart(I)I+]Landroid/text/BoringLayout;Landroid/text/BoringLayout;]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/text/BoringLayout;->getLineStart(I)I HSPLandroid/text/BoringLayout;->getLineTop(I)I HSPLandroid/text/BoringLayout;->getLineWidth(I)F HSPLandroid/text/BoringLayout;->getParagraphDirection(I)I HSPLandroid/text/BoringLayout;->hasAnyInterestingChars(Ljava/lang/CharSequence;I)Z HSPLandroid/text/BoringLayout;->init(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZZ)V+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics; +HSPLandroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;ZLandroid/graphics/Paint$FontMetrics;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;+]Landroid/text/TextLine;Landroid/text/TextLine;]Landroid/text/Spanned;megamorphic_types]Ljava/lang/CharSequence;megamorphic_types]Landroid/text/TextDirectionHeuristic;Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;,Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal; HSPLandroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;ZLandroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics; HSPLandroid/text/BoringLayout;->isFallbackLineSpacingEnabled()Z HSPLandroid/text/BoringLayout;->make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout; @@ -14565,7 +14625,8 @@ HSPLandroid/text/CharSequenceCharacterIterator;->getEndIndex()I HSPLandroid/text/CharSequenceCharacterIterator;->getIndex()I HSPLandroid/text/CharSequenceCharacterIterator;->next()C HSPLandroid/text/CharSequenceCharacterIterator;->setIndex(I)C -HSPLandroid/text/DynamicLayout$Builder;->obtain(Ljava/lang/CharSequence;Landroid/text/TextPaint;I)Landroid/text/DynamicLayout$Builder; +HSPLandroid/text/ClientFlags;->icuBidiMigration()Z +HSPLandroid/text/DynamicLayout$Builder;->obtain(Ljava/lang/CharSequence;Landroid/text/TextPaint;I)Landroid/text/DynamicLayout$Builder;+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/text/DynamicLayout$ChangeWatcher;->afterTextChanged(Landroid/text/Editable;)V HSPLandroid/text/DynamicLayout$ChangeWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V HSPLandroid/text/DynamicLayout$ChangeWatcher;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V @@ -14573,29 +14634,29 @@ HSPLandroid/text/DynamicLayout$ChangeWatcher;->onSpanChanged(Landroid/text/Spann HSPLandroid/text/DynamicLayout$ChangeWatcher;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V HSPLandroid/text/DynamicLayout$ChangeWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V HSPLandroid/text/DynamicLayout;-><init>(Landroid/text/DynamicLayout$Builder;)V -HSPLandroid/text/DynamicLayout;->addBlockAtOffset(I)V -HSPLandroid/text/DynamicLayout;->contentMayProtrudeFromLineTopOrBottom(Ljava/lang/CharSequence;II)Z +HSPLandroid/text/DynamicLayout;->addBlockAtOffset(I)V+]Landroid/text/DynamicLayout;Landroid/text/DynamicLayout; +HSPLandroid/text/DynamicLayout;->contentMayProtrudeFromLineTopOrBottom(Ljava/lang/CharSequence;II)Z+]Landroid/text/DynamicLayout;Landroid/text/DynamicLayout;]Landroid/graphics/Paint;Landroid/text/TextPaint;]Landroid/text/Spanned;Landroid/text/SpannableString; HSPLandroid/text/DynamicLayout;->createBlocks()V -HSPLandroid/text/DynamicLayout;->generate(Landroid/text/DynamicLayout$Builder;)V +HSPLandroid/text/DynamicLayout;->generate(Landroid/text/DynamicLayout$Builder;)V+]Landroid/text/DynamicLayout;Landroid/text/DynamicLayout;]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector;]Landroid/text/PackedObjectVector;Landroid/text/PackedObjectVector;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;Landroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;,Landroid/text/SpannableStringBuilder;]Landroid/text/Spannable;Landroid/text/SpannableStringBuilder; HSPLandroid/text/DynamicLayout;->getBlockEndLines()[I HSPLandroid/text/DynamicLayout;->getBlockIndices()[I HSPLandroid/text/DynamicLayout;->getBlocksAlwaysNeedToBeRedrawn()Landroid/util/ArraySet; HSPLandroid/text/DynamicLayout;->getEllipsisCount(I)I HSPLandroid/text/DynamicLayout;->getEllipsisStart(I)I HSPLandroid/text/DynamicLayout;->getEllipsizedWidth()I -HSPLandroid/text/DynamicLayout;->getEndHyphenEdit(I)I +HSPLandroid/text/DynamicLayout;->getEndHyphenEdit(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; HSPLandroid/text/DynamicLayout;->getIndexFirstChangedBlock()I -HSPLandroid/text/DynamicLayout;->getLineContainsTab(I)Z -HSPLandroid/text/DynamicLayout;->getLineCount()I -HSPLandroid/text/DynamicLayout;->getLineDescent(I)I -HSPLandroid/text/DynamicLayout;->getLineDirections(I)Landroid/text/Layout$Directions; +HSPLandroid/text/DynamicLayout;->getLineContainsTab(I)Z+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->getLineCount()I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->getLineDescent(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->getLineDirections(I)Landroid/text/Layout$Directions;+]Landroid/text/PackedObjectVector;Landroid/text/PackedObjectVector; HSPLandroid/text/DynamicLayout;->getLineExtra(I)I -HSPLandroid/text/DynamicLayout;->getLineStart(I)I -HSPLandroid/text/DynamicLayout;->getLineTop(I)I +HSPLandroid/text/DynamicLayout;->getLineStart(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->getLineTop(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; HSPLandroid/text/DynamicLayout;->getNumberOfBlocks()I -HSPLandroid/text/DynamicLayout;->getParagraphDirection(I)I -HSPLandroid/text/DynamicLayout;->getStartHyphenEdit(I)I -HSPLandroid/text/DynamicLayout;->reflow(Ljava/lang/CharSequence;III)V +HSPLandroid/text/DynamicLayout;->getParagraphDirection(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->getStartHyphenEdit(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->reflow(Ljava/lang/CharSequence;III)V+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector;]Landroid/text/DynamicLayout;Landroid/text/DynamicLayout;]Landroid/text/PackedObjectVector;Landroid/text/PackedObjectVector;]Landroid/text/StaticLayout;Landroid/text/StaticLayout;]Landroid/text/Spanned;Landroid/text/SpannableString;]Ljava/lang/CharSequence;Landroid/text/SpannableString;]Landroid/text/StaticLayout$Builder;Landroid/text/StaticLayout$Builder; HSPLandroid/text/DynamicLayout;->setIndexFirstChangedBlock(I)V HSPLandroid/text/DynamicLayout;->updateAlwaysNeedsToBeRedrawn(I)V HSPLandroid/text/DynamicLayout;->updateBlocks(III)V @@ -14610,7 +14671,7 @@ HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned; HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;I)Landroid/text/Spanned; HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;ILandroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned; HSPLandroid/text/HtmlToSpannedConverter;-><init>(Ljava/lang/String;Landroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;Lorg/ccil/cowan/tagsoup/Parser;I)V -HSPLandroid/text/HtmlToSpannedConverter;->characters([CII)V+]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/text/HtmlToSpannedConverter;->characters([CII)V HSPLandroid/text/HtmlToSpannedConverter;->convert()Landroid/text/Spanned; HSPLandroid/text/HtmlToSpannedConverter;->end(Landroid/text/Editable;Ljava/lang/Class;Ljava/lang/Object;)V HSPLandroid/text/HtmlToSpannedConverter;->endA(Landroid/text/Editable;)V @@ -14619,8 +14680,8 @@ HSPLandroid/text/HtmlToSpannedConverter;->endElement(Ljava/lang/String;Ljava/lan HSPLandroid/text/HtmlToSpannedConverter;->endPrefixMapping(Ljava/lang/String;)V HSPLandroid/text/HtmlToSpannedConverter;->getLast(Landroid/text/Spanned;Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/text/HtmlToSpannedConverter;->handleBr(Landroid/text/Editable;)V -HSPLandroid/text/HtmlToSpannedConverter;->handleEndTag(Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String; -HSPLandroid/text/HtmlToSpannedConverter;->handleStartTag(Ljava/lang/String;Lorg/xml/sax/Attributes;)V+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/text/HtmlToSpannedConverter;->handleEndTag(Ljava/lang/String;)V +HSPLandroid/text/HtmlToSpannedConverter;->handleStartTag(Ljava/lang/String;Lorg/xml/sax/Attributes;)V HSPLandroid/text/HtmlToSpannedConverter;->setDocumentLocator(Lorg/xml/sax/Locator;)V HSPLandroid/text/HtmlToSpannedConverter;->setSpanFromMark(Landroid/text/Spannable;Ljava/lang/Object;[Ljava/lang/Object;)V HSPLandroid/text/HtmlToSpannedConverter;->start(Landroid/text/Editable;Ljava/lang/Object;)V @@ -14638,7 +14699,7 @@ HSPLandroid/text/Layout$Directions;->getRunStart(I)I HSPLandroid/text/Layout$Directions;->isRunRtl(I)Z HSPLandroid/text/Layout$Ellipsizer;-><init>(Ljava/lang/CharSequence;)V HSPLandroid/text/Layout$Ellipsizer;->charAt(I)C -HSPLandroid/text/Layout$Ellipsizer;->getChars(II[CI)V+]Landroid/text/Layout;Landroid/text/StaticLayout; +HSPLandroid/text/Layout$Ellipsizer;->getChars(II[CI)V HSPLandroid/text/Layout$Ellipsizer;->length()I HSPLandroid/text/Layout$HorizontalMeasurementProvider;->init()V HSPLandroid/text/Layout$SpannedEllipsizer;->getSpanEnd(Ljava/lang/Object;)I @@ -14647,12 +14708,13 @@ HSPLandroid/text/Layout$SpannedEllipsizer;->getSpanStart(Ljava/lang/Object;)I HSPLandroid/text/Layout$SpannedEllipsizer;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object; HSPLandroid/text/Layout$SpannedEllipsizer;->nextSpanTransition(IILjava/lang/Class;)I HSPLandroid/text/Layout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V +HSPLandroid/text/Layout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZZILandroid/text/TextUtils$TruncateAt;III[I[IILandroid/graphics/text/LineBreakConfig;ZZLandroid/graphics/Paint$FontMetrics;)V HSPLandroid/text/Layout;->addSelection(IIIIILandroid/text/Layout$SelectionRectangleConsumer;)V HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;)V HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V -HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;Ljava/util/List;Ljava/util/List;Landroid/graphics/Path;Landroid/graphics/Paint;I)V +HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;Ljava/util/List;Ljava/util/List;Landroid/graphics/Path;Landroid/graphics/Paint;I)V+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout; HSPLandroid/text/Layout;->drawBackground(Landroid/graphics/Canvas;II)V -HSPLandroid/text/Layout;->drawText(Landroid/graphics/Canvas;II)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/text/Spanned;Landroid/text/Layout$SpannedEllipsizer;,Landroid/text/SpannableString;]Landroid/text/TextLine;Landroid/text/TextLine;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;Landroid/text/Layout$SpannedEllipsizer;,Landroid/text/SpannableString; +HSPLandroid/text/Layout;->drawText(Landroid/graphics/Canvas;II)V+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;,Landroid/text/DynamicLayout;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/text/TextLine;Landroid/text/TextLine;]Landroid/text/Spanned;Landroid/text/SpannableString;]Ljava/lang/CharSequence;Landroid/text/SpannableString; HSPLandroid/text/Layout;->drawWithoutText(Landroid/graphics/Canvas;Ljava/util/List;Ljava/util/List;Landroid/graphics/Path;Landroid/graphics/Paint;III)V HSPLandroid/text/Layout;->ellipsize(III[CILandroid/text/TextUtils$TruncateAt;)V HSPLandroid/text/Layout;->getCursorPath(ILandroid/graphics/Path;Ljava/lang/CharSequence;)V @@ -14664,30 +14726,30 @@ HSPLandroid/text/Layout;->getHeight(Z)I HSPLandroid/text/Layout;->getHorizontal(IZ)F HSPLandroid/text/Layout;->getHorizontal(IZIZ)F HSPLandroid/text/Layout;->getIndentAdjust(ILandroid/text/Layout$Alignment;)I -HSPLandroid/text/Layout;->getLineBaseline(I)I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout; +HSPLandroid/text/Layout;->getLineBaseline(I)I HSPLandroid/text/Layout;->getLineBottom(I)I HSPLandroid/text/Layout;->getLineBottom(IZ)I -HSPLandroid/text/Layout;->getLineEnd(I)I -HSPLandroid/text/Layout;->getLineExtent(ILandroid/text/Layout$TabStops;Z)F+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/text/TextLine;Landroid/text/TextLine;]Landroid/text/TextPaint;Landroid/text/TextPaint; +HSPLandroid/text/Layout;->getLineEnd(I)I+]Landroid/text/Layout;Landroid/text/DynamicLayout;,Landroid/text/BoringLayout;,Landroid/text/StaticLayout; +HSPLandroid/text/Layout;->getLineExtent(ILandroid/text/Layout$TabStops;Z)F HSPLandroid/text/Layout;->getLineExtent(IZ)F -HSPLandroid/text/Layout;->getLineForOffset(I)I+]Landroid/text/Layout;Landroid/text/StaticLayout; -HSPLandroid/text/Layout;->getLineForVertical(I)I+]Landroid/text/Layout;Landroid/text/BoringLayout; +HSPLandroid/text/Layout;->getLineForOffset(I)I+]Landroid/text/Layout;Landroid/text/DynamicLayout; +HSPLandroid/text/Layout;->getLineForVertical(I)I+]Landroid/text/Layout;Landroid/text/DynamicLayout;,Landroid/text/BoringLayout; HSPLandroid/text/Layout;->getLineLeft(I)F HSPLandroid/text/Layout;->getLineMax(I)F -HSPLandroid/text/Layout;->getLineRangeForDraw(Landroid/graphics/Canvas;)J+]Landroid/graphics/Canvas;missing_types]Landroid/text/Layout;Landroid/text/StaticLayout; +HSPLandroid/text/Layout;->getLineRangeForDraw(Landroid/graphics/Canvas;)J+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/text/Layout;->getLineRight(I)F HSPLandroid/text/Layout;->getLineStartPos(III)I HSPLandroid/text/Layout;->getLineVisibleEnd(I)I HSPLandroid/text/Layout;->getLineWidth(I)F HSPLandroid/text/Layout;->getOffsetAtStartOf(I)I HSPLandroid/text/Layout;->getOffsetForHorizontal(IF)I -HSPLandroid/text/Layout;->getOffsetForHorizontal(IFZ)I +HSPLandroid/text/Layout;->getOffsetForHorizontal(IFZ)I+]Landroid/text/Layout;Landroid/text/DynamicLayout;]Landroid/text/TextLine;Landroid/text/TextLine;]Landroid/text/Layout$HorizontalMeasurementProvider;Landroid/text/Layout$HorizontalMeasurementProvider; HSPLandroid/text/Layout;->getPaint()Landroid/text/TextPaint; -HSPLandroid/text/Layout;->getParagraphAlignment(I)Landroid/text/Layout$Alignment; -HSPLandroid/text/Layout;->getParagraphLeadingMargin(I)I +HSPLandroid/text/Layout;->getParagraphAlignment(I)Landroid/text/Layout$Alignment;+]Landroid/text/Layout;Landroid/text/DynamicLayout; +HSPLandroid/text/Layout;->getParagraphLeadingMargin(I)I+]Landroid/text/Layout;Landroid/text/DynamicLayout;]Landroid/text/Spanned;missing_types HSPLandroid/text/Layout;->getParagraphLeft(I)I HSPLandroid/text/Layout;->getParagraphRight(I)I -HSPLandroid/text/Layout;->getParagraphSpans(Landroid/text/Spanned;IILjava/lang/Class;)[Ljava/lang/Object; +HSPLandroid/text/Layout;->getParagraphSpans(Landroid/text/Spanned;IILjava/lang/Class;)[Ljava/lang/Object;+]Landroid/text/Spanned;Landroid/text/SpannableString; HSPLandroid/text/Layout;->getPrimaryHorizontal(I)F HSPLandroid/text/Layout;->getPrimaryHorizontal(IZ)F HSPLandroid/text/Layout;->getSelection(IILandroid/text/Layout$SelectionRectangleConsumer;)V @@ -14706,7 +14768,8 @@ HSPLandroid/text/Layout;->primaryIsTrailingPrevious(I)Z HSPLandroid/text/Layout;->replaceWith(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V HSPLandroid/text/Layout;->shouldClampCursor(I)Z HSPLandroid/text/MeasuredParagraph;-><init>()V -HSPLandroid/text/MeasuredParagraph;->applyMetricsAffectingSpan(Landroid/text/TextPaint;Landroid/graphics/text/LineBreakConfig;[Landroid/text/style/MetricAffectingSpan;[Landroid/text/style/LineBreakConfigSpan;IILandroid/graphics/text/MeasuredText$Builder;Landroid/text/MeasuredParagraph$StyleRunCallback;)V+]Landroid/graphics/text/LineBreakConfig$Builder;Landroid/graphics/text/LineBreakConfig$Builder;]Landroid/text/AutoGrowArray$IntArray;Landroid/text/AutoGrowArray$IntArray;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/text/style/MetricAffectingSpan;missing_types +HSPLandroid/text/MeasuredParagraph;->applyMetricsAffectingSpan(Landroid/text/TextPaint;Landroid/graphics/text/LineBreakConfig;[Landroid/text/style/MetricAffectingSpan;[Landroid/text/style/LineBreakConfigSpan;IILandroid/graphics/text/MeasuredText$Builder;Landroid/text/MeasuredParagraph$StyleRunCallback;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/graphics/text/LineBreakConfig$Builder;Landroid/graphics/text/LineBreakConfig$Builder;]Landroid/text/AutoGrowArray$IntArray;Landroid/text/AutoGrowArray$IntArray;]Landroid/text/style/MetricAffectingSpan;missing_types +HSPLandroid/text/MeasuredParagraph;->applyStyleRun(IILandroid/text/TextPaint;Landroid/graphics/text/LineBreakConfig;Landroid/graphics/text/MeasuredText$Builder;Landroid/text/MeasuredParagraph$StyleRunCallback;)V+]Landroid/text/AutoGrowArray$FloatArray;Landroid/text/AutoGrowArray$FloatArray;]Landroid/graphics/text/MeasuredText$Builder;Landroid/graphics/text/MeasuredText$Builder;]Landroid/text/AutoGrowArray$ByteArray;Landroid/text/AutoGrowArray$ByteArray;]Landroid/text/TextPaint;Landroid/text/TextPaint; HSPLandroid/text/MeasuredParagraph;->breakText(IZF)I HSPLandroid/text/MeasuredParagraph;->buildForBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph; HSPLandroid/text/MeasuredParagraph;->buildForMeasurement(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph; @@ -14725,9 +14788,9 @@ HSPLandroid/text/MeasuredParagraph;->reset()V HSPLandroid/text/MeasuredParagraph;->resetAndAnalyzeBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;)V HSPLandroid/text/PackedIntVector;->adjustValuesBelow(III)V HSPLandroid/text/PackedIntVector;->deleteAt(II)V -HSPLandroid/text/PackedIntVector;->getValue(II)I +HSPLandroid/text/PackedIntVector;->getValue(II)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; HSPLandroid/text/PackedIntVector;->growBuffer()V -HSPLandroid/text/PackedIntVector;->insertAt(I[I)V +HSPLandroid/text/PackedIntVector;->insertAt(I[I)V+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; HSPLandroid/text/PackedIntVector;->moveRowGapTo(I)V HSPLandroid/text/PackedIntVector;->moveValueGapTo(II)V HSPLandroid/text/PackedIntVector;->size()I @@ -14735,7 +14798,7 @@ HSPLandroid/text/PackedIntVector;->width()I HSPLandroid/text/PackedObjectVector;->deleteAt(II)V HSPLandroid/text/PackedObjectVector;->getValue(II)Ljava/lang/Object; HSPLandroid/text/PackedObjectVector;->growBuffer()V -HSPLandroid/text/PackedObjectVector;->insertAt(I[Ljava/lang/Object;)V +HSPLandroid/text/PackedObjectVector;->insertAt(I[Ljava/lang/Object;)V+]Landroid/text/PackedObjectVector;Landroid/text/PackedObjectVector; HSPLandroid/text/PackedObjectVector;->moveRowGapTo(I)V HSPLandroid/text/PackedObjectVector;->setValue(IILjava/lang/Object;)V HSPLandroid/text/PackedObjectVector;->size()I @@ -14746,7 +14809,7 @@ HSPLandroid/text/PrecomputedText$Params;->getHyphenationFrequency()I HSPLandroid/text/PrecomputedText$Params;->getTextDirection()Landroid/text/TextDirectionHeuristic; HSPLandroid/text/PrecomputedText$Params;->getTextPaint()Landroid/text/TextPaint; HSPLandroid/text/Selection;->getSelectionEnd(Ljava/lang/CharSequence;)I -HSPLandroid/text/Selection;->getSelectionStart(Ljava/lang/CharSequence;)I +HSPLandroid/text/Selection;->getSelectionStart(Ljava/lang/CharSequence;)I+]Landroid/text/Spanned;missing_types HSPLandroid/text/Selection;->removeMemory(Landroid/text/Spannable;)V HSPLandroid/text/Selection;->removeSelection(Landroid/text/Spannable;)V HSPLandroid/text/Selection;->setSelection(Landroid/text/Spannable;I)V @@ -14756,7 +14819,7 @@ HSPLandroid/text/Selection;->updateMemory(Landroid/text/Spannable;I)V HSPLandroid/text/SpanSet;-><init>(Ljava/lang/Class;)V HSPLandroid/text/SpanSet;->getNextTransition(II)I HSPLandroid/text/SpanSet;->hasSpansIntersecting(II)Z -HSPLandroid/text/SpanSet;->init(Landroid/text/Spanned;II)V +HSPLandroid/text/SpanSet;->init(Landroid/text/Spanned;II)V+]Landroid/text/Spanned;Landroid/text/SpannableString; HSPLandroid/text/SpanSet;->recycle()V HSPLandroid/text/Spannable$Factory;->getInstance()Landroid/text/Spannable$Factory; HSPLandroid/text/Spannable$Factory;->newSpannable(Ljava/lang/CharSequence;)Landroid/text/Spannable; @@ -14774,32 +14837,32 @@ HSPLandroid/text/SpannableString;->setSpan(Ljava/lang/Object;III)V HSPLandroid/text/SpannableString;->subSequence(II)Ljava/lang/CharSequence; HSPLandroid/text/SpannableString;->valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannableString; HSPLandroid/text/SpannableStringBuilder;-><init>()V -HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;)V +HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;)V+]Ljava/lang/CharSequence;missing_types HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;II)V HSPLandroid/text/SpannableStringBuilder;->append(C)Landroid/text/Editable; HSPLandroid/text/SpannableStringBuilder;->append(C)Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/Editable; -HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder; +HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;+]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/SpannedString;,Landroid/text/SpannableStringBuilder;,Landroid/text/SpannableString;]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->calcMax(I)I -HSPLandroid/text/SpannableStringBuilder;->change(IILjava/lang/CharSequence;II)V +HSPLandroid/text/SpannableStringBuilder;->change(IILjava/lang/CharSequence;II)V+]Landroid/text/Spanned;Landroid/text/SpannedString;,Landroid/text/SpannableStringBuilder;,Landroid/text/SpannableString;]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->charAt(I)C -HSPLandroid/text/SpannableStringBuilder;->checkRange(Ljava/lang/String;II)V +HSPLandroid/text/SpannableStringBuilder;->checkRange(Ljava/lang/String;II)V+]Landroid/text/SpannableStringBuilder;missing_types HSPLandroid/text/SpannableStringBuilder;->checkSortBuffer([II)[I HSPLandroid/text/SpannableStringBuilder;->clear()V HSPLandroid/text/SpannableStringBuilder;->compareSpans(II[I[I)I -HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I +HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I+]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/Editable; HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->drawTextRun(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V HSPLandroid/text/SpannableStringBuilder;->equals(Ljava/lang/Object;)Z HSPLandroid/text/SpannableStringBuilder;->getChars(II[CI)V -HSPLandroid/text/SpannableStringBuilder;->getSpanEnd(Ljava/lang/Object;)I -HSPLandroid/text/SpannableStringBuilder;->getSpanFlags(Ljava/lang/Object;)I -HSPLandroid/text/SpannableStringBuilder;->getSpanStart(Ljava/lang/Object;)I -HSPLandroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object; +HSPLandroid/text/SpannableStringBuilder;->getSpanEnd(Ljava/lang/Object;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap; +HSPLandroid/text/SpannableStringBuilder;->getSpanFlags(Ljava/lang/Object;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap; +HSPLandroid/text/SpannableStringBuilder;->getSpanStart(Ljava/lang/Object;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap; +HSPLandroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;+]Landroid/text/SpannableStringBuilder;missing_types HSPLandroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;Z)[Ljava/lang/Object; -HSPLandroid/text/SpannableStringBuilder;->getSpansRec(IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I +HSPLandroid/text/SpannableStringBuilder;->getSpansRec(IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I+]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/text/SpannableStringBuilder;->getTextWatcherDepth()I HSPLandroid/text/SpannableStringBuilder;->hasNonExclusiveExclusiveSpanAt(Ljava/lang/CharSequence;I)Z HSPLandroid/text/SpannableStringBuilder;->insert(ILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder; @@ -14818,48 +14881,48 @@ HSPLandroid/text/SpannableStringBuilder;->removeSpan(Ljava/lang/Object;I)V HSPLandroid/text/SpannableStringBuilder;->removeSpansForChange(IIZI)Z HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/Editable; HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder; -HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder; +HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;+]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->resizeFor(I)V HSPLandroid/text/SpannableStringBuilder;->resolveGap(I)I -HSPLandroid/text/SpannableStringBuilder;->restoreInvariants()V +HSPLandroid/text/SpannableStringBuilder;->restoreInvariants()V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap; HSPLandroid/text/SpannableStringBuilder;->rightChild(I)I HSPLandroid/text/SpannableStringBuilder;->sendAfterTextChanged([Landroid/text/TextWatcher;)V HSPLandroid/text/SpannableStringBuilder;->sendBeforeTextChanged([Landroid/text/TextWatcher;III)V -HSPLandroid/text/SpannableStringBuilder;->sendSpanAdded(Ljava/lang/Object;II)V +HSPLandroid/text/SpannableStringBuilder;->sendSpanAdded(Ljava/lang/Object;II)V+]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->sendSpanChanged(Ljava/lang/Object;IIII)V HSPLandroid/text/SpannableStringBuilder;->sendSpanRemoved(Ljava/lang/Object;II)V HSPLandroid/text/SpannableStringBuilder;->sendTextChanged([Landroid/text/TextWatcher;III)V HSPLandroid/text/SpannableStringBuilder;->sendToSpanWatchers(III)V HSPLandroid/text/SpannableStringBuilder;->setFilters([Landroid/text/InputFilter;)V HSPLandroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V -HSPLandroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;IIIZ)V +HSPLandroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;IIIZ)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap; HSPLandroid/text/SpannableStringBuilder;->siftDown(I[Ljava/lang/Object;I[I[I)V HSPLandroid/text/SpannableStringBuilder;->sort([Ljava/lang/Object;[I[I)V HSPLandroid/text/SpannableStringBuilder;->subSequence(II)Ljava/lang/CharSequence; -HSPLandroid/text/SpannableStringBuilder;->toString()Ljava/lang/String; +HSPLandroid/text/SpannableStringBuilder;->toString()Ljava/lang/String;+]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->treeRoot()I HSPLandroid/text/SpannableStringBuilder;->updatedIntervalBound(IIIIZZ)I -HSPLandroid/text/SpannableStringInternal;-><init>(Ljava/lang/CharSequence;IIZ)V -HSPLandroid/text/SpannableStringInternal;->charAt(I)C -HSPLandroid/text/SpannableStringInternal;->checkRange(Ljava/lang/String;II)V -HSPLandroid/text/SpannableStringInternal;->copySpansFromInternal(Landroid/text/SpannableStringInternal;IIZ)V -HSPLandroid/text/SpannableStringInternal;->copySpansFromSpanned(Landroid/text/Spanned;IIZ)V +HSPLandroid/text/SpannableStringInternal;-><init>(Ljava/lang/CharSequence;IIZ)V+]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/SpannedString;,Landroid/text/SpannableStringBuilder;,Landroid/text/SpannableString; +HSPLandroid/text/SpannableStringInternal;->charAt(I)C+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/text/SpannableStringInternal;->checkRange(Ljava/lang/String;II)V+]Landroid/text/SpannableStringInternal;Landroid/text/SpannedString;,Landroid/text/SpannableString; +HSPLandroid/text/SpannableStringInternal;->copySpansFromInternal(Landroid/text/SpannableStringInternal;IIZ)V+]Landroid/text/SpannableStringInternal;Landroid/text/SpannedString;,Landroid/text/SpannableString; +HSPLandroid/text/SpannableStringInternal;->copySpansFromSpanned(Landroid/text/Spanned;IIZ)V+]Landroid/text/Spanned;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringInternal;->equals(Ljava/lang/Object;)Z -HSPLandroid/text/SpannableStringInternal;->getChars(II[CI)V +HSPLandroid/text/SpannableStringInternal;->getChars(II[CI)V+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/text/SpannableStringInternal;->getSpanEnd(Ljava/lang/Object;)I HSPLandroid/text/SpannableStringInternal;->getSpanFlags(Ljava/lang/Object;)I HSPLandroid/text/SpannableStringInternal;->getSpanStart(Ljava/lang/Object;)I -HSPLandroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object; -HSPLandroid/text/SpannableStringInternal;->length()I +HSPLandroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/text/SpannableStringInternal;Landroid/text/SpannableString; +HSPLandroid/text/SpannableStringInternal;->length()I+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/text/SpannableStringInternal;->nextSpanTransition(IILjava/lang/Class;)I HSPLandroid/text/SpannableStringInternal;->removeSpan(Ljava/lang/Object;I)V -HSPLandroid/text/SpannableStringInternal;->sendSpanAdded(Ljava/lang/Object;II)V +HSPLandroid/text/SpannableStringInternal;->sendSpanAdded(Ljava/lang/Object;II)V+]Landroid/text/SpanWatcher;Landroid/text/DynamicLayout$ChangeWatcher;,Landroid/widget/Editor$SpanController;,Landroid/widget/TextView$ChangeWatcher;]Landroid/text/SpannableStringInternal;Landroid/text/SpannableString; HSPLandroid/text/SpannableStringInternal;->sendSpanChanged(Ljava/lang/Object;IIII)V HSPLandroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;III)V HSPLandroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;IIIZ)V HSPLandroid/text/SpannableStringInternal;->toString()Ljava/lang/String; HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;)V -HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;Z)V +HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;Z)V+]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannedString;->equals(Ljava/lang/Object;)Z HSPLandroid/text/SpannedString;->getSpanEnd(Ljava/lang/Object;)I HSPLandroid/text/SpannedString;->getSpanFlags(Ljava/lang/Object;)I @@ -14902,8 +14965,9 @@ HSPLandroid/text/StaticLayout$Builder;->setLineSpacing(FF)Landroid/text/StaticLa HSPLandroid/text/StaticLayout$Builder;->setMaxLines(I)Landroid/text/StaticLayout$Builder; HSPLandroid/text/StaticLayout$Builder;->setTextDirection(Landroid/text/TextDirectionHeuristic;)Landroid/text/StaticLayout$Builder; HSPLandroid/text/StaticLayout$Builder;->setUseLineSpacingFromFallbacks(Z)Landroid/text/StaticLayout$Builder; +HSPLandroid/text/StaticLayout;-><init>(Landroid/text/StaticLayout$Builder;ZI)V+]Landroid/text/StaticLayout;Landroid/text/StaticLayout; HSPLandroid/text/StaticLayout;->calculateEllipsis(IILandroid/text/MeasuredParagraph;IFLandroid/text/TextUtils$TruncateAt;IFLandroid/text/TextPaint;Z)V -HSPLandroid/text/StaticLayout;->generate(Landroid/text/StaticLayout$Builder;ZZ)V+]Landroid/graphics/text/LineBreaker$Builder;Landroid/graphics/text/LineBreaker$Builder;]Landroid/graphics/text/LineBreaker$ParagraphConstraints;Landroid/graphics/text/LineBreaker$ParagraphConstraints;]Landroid/graphics/text/LineBreaker$Result;Landroid/graphics/text/LineBreaker$Result;]Landroid/graphics/text/LineBreaker;Landroid/graphics/text/LineBreaker;]Landroid/text/AutoGrowArray$IntArray;Landroid/text/AutoGrowArray$IntArray;]Landroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph;]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/text/StaticLayout;->generate(Landroid/text/StaticLayout$Builder;ZZ)V+]Landroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph;]Landroid/graphics/text/LineBreaker$Builder;Landroid/graphics/text/LineBreaker$Builder;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/graphics/text/LineBreaker;Landroid/graphics/text/LineBreaker;]Ljava/lang/CharSequence;Landroid/text/SpannableString;]Landroid/graphics/text/LineBreaker$ParagraphConstraints;Landroid/graphics/text/LineBreaker$ParagraphConstraints;]Landroid/graphics/text/LineBreaker$Result;Landroid/graphics/text/LineBreaker$Result;]Landroid/text/AutoGrowArray$IntArray;Landroid/text/AutoGrowArray$IntArray; HSPLandroid/text/StaticLayout;->getBottomPadding()I HSPLandroid/text/StaticLayout;->getEllipsisCount(I)I HSPLandroid/text/StaticLayout;->getEllipsisStart(I)I @@ -14913,7 +14977,7 @@ HSPLandroid/text/StaticLayout;->getIndentAdjust(ILandroid/text/Layout$Alignment; HSPLandroid/text/StaticLayout;->getLineContainsTab(I)Z HSPLandroid/text/StaticLayout;->getLineCount()I HSPLandroid/text/StaticLayout;->getLineDescent(I)I -HSPLandroid/text/StaticLayout;->getLineDirections(I)Landroid/text/Layout$Directions; +HSPLandroid/text/StaticLayout;->getLineDirections(I)Landroid/text/Layout$Directions;+]Landroid/text/StaticLayout;Landroid/text/StaticLayout; HSPLandroid/text/StaticLayout;->getLineExtra(I)I HSPLandroid/text/StaticLayout;->getLineForVertical(I)I HSPLandroid/text/StaticLayout;->getLineStart(I)I @@ -14922,38 +14986,43 @@ HSPLandroid/text/StaticLayout;->getParagraphDirection(I)I HSPLandroid/text/StaticLayout;->getStartHyphenEdit(I)I HSPLandroid/text/StaticLayout;->getTopPadding()I HSPLandroid/text/StaticLayout;->getTotalInsets(I)F -HSPLandroid/text/StaticLayout;->out(Ljava/lang/CharSequence;IIIIIIIFF[Landroid/text/style/LineHeightSpan;[ILandroid/graphics/Paint$FontMetricsInt;ZIZLandroid/text/MeasuredParagraph;IZZZ[CILandroid/text/TextUtils$TruncateAt;FFLandroid/text/TextPaint;Z)I +HSPLandroid/text/StaticLayout;->out(Ljava/lang/CharSequence;IIIIIIIFF[Landroid/text/style/LineHeightSpan;[ILandroid/graphics/Paint$FontMetricsInt;ZIZLandroid/text/MeasuredParagraph;IZZZ[CILandroid/text/TextUtils$TruncateAt;FFLandroid/text/TextPaint;Z)I+]Landroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph;]Ljava/lang/CharSequence;Landroid/text/SpannableString; HSPLandroid/text/StaticLayout;->packHyphenEdit(II)I HSPLandroid/text/StaticLayout;->unpackEndHyphenEdit(I)I HSPLandroid/text/StaticLayout;->unpackStartHyphenEdit(I)I HSPLandroid/text/TextDirectionHeuristics$FirstStrong;->checkRtl(Ljava/lang/CharSequence;II)I -HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->doCheck(Ljava/lang/CharSequence;II)Z+]Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;Landroid/text/TextDirectionHeuristics$FirstStrong;]Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal; +HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->doCheck(Ljava/lang/CharSequence;II)Z HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->isRtl(Ljava/lang/CharSequence;II)Z HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->isRtl([CII)Z HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal;->defaultIsRtl()Z HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;->defaultIsRtl()Z HSPLandroid/text/TextDirectionHeuristics;->isRtlCodePoint(I)I HSPLandroid/text/TextFlags;->getKeyForFlag(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/text/TextFlags;->isFeatureEnabled(Ljava/lang/String;)Z HSPLandroid/text/TextLine$DecorationInfo;-><init>()V HSPLandroid/text/TextLine$DecorationInfo;->copyInfo()Landroid/text/TextLine$DecorationInfo; HSPLandroid/text/TextLine$DecorationInfo;->hasDecoration()Z HSPLandroid/text/TextLine;-><init>()V HSPLandroid/text/TextLine;->adjustEndHyphenEdit(II)I HSPLandroid/text/TextLine;->adjustStartHyphenEdit(II)I -HSPLandroid/text/TextLine;->draw(Landroid/graphics/Canvas;FIII)V +HSPLandroid/text/TextLine;->draw(Landroid/graphics/Canvas;FIII)V+]Landroid/text/Layout$Directions;Landroid/text/Layout$Directions; HSPLandroid/text/TextLine;->drawStroke(Landroid/text/TextPaint;Landroid/graphics/Canvas;IFFFFF)V -HSPLandroid/text/TextLine;->drawTextRun(Landroid/graphics/Canvas;Landroid/text/TextPaint;IIIIZFI)V +HSPLandroid/text/TextLine;->drawTextRun(Landroid/graphics/Canvas;Landroid/text/TextPaint;IIIIZFI)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/text/TextLine;->equalAttributes(Landroid/text/TextPaint;Landroid/text/TextPaint;)Z -HSPLandroid/text/TextLine;->expandMetricsFromPaint(Landroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; +HSPLandroid/text/TextLine;->expandMetricsFromPaint(Landroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V HSPLandroid/text/TextLine;->expandMetricsFromPaint(Landroid/text/TextPaint;IIIIZLandroid/graphics/Paint$FontMetricsInt;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; HSPLandroid/text/TextLine;->extractDecorationInfo(Landroid/text/TextPaint;Landroid/text/TextLine$DecorationInfo;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; -HSPLandroid/text/TextLine;->getOffsetBeforeAfter(IIIZIZ)I +HSPLandroid/text/TextLine;->getOffsetBeforeAfter(IIIZIZ)I+]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/text/Spanned;Landroid/text/SpannableString; HSPLandroid/text/TextLine;->getOffsetToLeftRightOf(IZ)I +HSPLandroid/text/TextLine;->getRunAdvance(Landroid/text/TextPaint;IIIIZI[FILandroid/graphics/RectF;Landroid/text/TextLine$LineInfo;)F+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/text/PrecomputedText;Landroid/text/PrecomputedText;]Landroid/text/TextPaint;Landroid/text/TextPaint; HSPLandroid/text/TextLine;->handleReplacement(Landroid/text/style/ReplacementSpan;Landroid/text/TextPaint;IIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F +HSPLandroid/text/TextLine;->handleRun(IIIZLandroid/graphics/Canvas;Landroid/text/TextShaper$GlyphsConsumer;FIIILandroid/graphics/Paint$FontMetricsInt;Landroid/graphics/RectF;Z[FILandroid/text/TextLine$LineInfo;I)F+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/text/style/MetricAffectingSpan;megamorphic_types]Landroid/text/style/CharacterStyle;megamorphic_types]Landroid/text/TextPaint;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/text/TextLine$DecorationInfo;Landroid/text/TextLine$DecorationInfo;]Landroid/text/SpanSet;Landroid/text/SpanSet; +HSPLandroid/text/TextLine;->handleText(Landroid/text/TextPaint;IIIIZLandroid/graphics/Canvas;Landroid/text/TextShaper$GlyphsConsumer;FIIILandroid/graphics/Paint$FontMetricsInt;Landroid/graphics/RectF;ZILjava/util/ArrayList;[FILandroid/text/TextLine$LineInfo;I)F+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;,Landroid/graphics/Canvas;,Landroid/view/Surface$CompatibleCanvas; HSPLandroid/text/TextLine;->isLineEndSpace(C)Z +HSPLandroid/text/TextLine;->measure(IZLandroid/graphics/Paint$FontMetricsInt;Landroid/graphics/RectF;Landroid/text/TextLine$LineInfo;)F+]Landroid/text/Layout$Directions;Landroid/text/Layout$Directions;]Landroid/text/TextLine;Landroid/text/TextLine; HSPLandroid/text/TextLine;->obtain()Landroid/text/TextLine; HSPLandroid/text/TextLine;->recycle(Landroid/text/TextLine;)Landroid/text/TextLine;+]Landroid/text/SpanSet;Landroid/text/SpanSet; -HSPLandroid/text/TextLine;->set(Landroid/text/TextPaint;Ljava/lang/CharSequence;IIILandroid/text/Layout$Directions;ZLandroid/text/Layout$TabStops;IIZ)V +HSPLandroid/text/TextLine;->set(Landroid/text/TextPaint;Ljava/lang/CharSequence;IIILandroid/text/Layout$Directions;ZLandroid/text/Layout$TabStops;IIZ)V+]Landroid/text/SpanSet;Landroid/text/SpanSet; HSPLandroid/text/TextLine;->updateMetrics(Landroid/graphics/Paint$FontMetricsInt;IIIII)V HSPLandroid/text/TextPaint;-><init>()V HSPLandroid/text/TextPaint;-><init>(I)V @@ -14961,8 +15030,8 @@ HSPLandroid/text/TextPaint;-><init>(Landroid/graphics/Paint;)V HSPLandroid/text/TextPaint;->getUnderlineThickness()F HSPLandroid/text/TextPaint;->set(Landroid/text/TextPaint;)V HSPLandroid/text/TextPaint;->setUnderlineText(IF)V -HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/CharSequence; -HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/CharSequence;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/text/TextUtils$1;Landroid/text/TextUtils$1; HSPLandroid/text/TextUtils$SimpleStringSplitter;-><init>(C)V HSPLandroid/text/TextUtils$SimpleStringSplitter;->hasNext()Z HSPLandroid/text/TextUtils$SimpleStringSplitter;->iterator()Ljava/util/Iterator; @@ -14970,7 +15039,7 @@ HSPLandroid/text/TextUtils$SimpleStringSplitter;->next()Ljava/lang/Object; HSPLandroid/text/TextUtils$SimpleStringSplitter;->next()Ljava/lang/String; HSPLandroid/text/TextUtils$SimpleStringSplitter;->setString(Ljava/lang/String;)V HSPLandroid/text/TextUtils$StringWithRemovedChars;->toString()Ljava/lang/String; -HSPLandroid/text/TextUtils;->concat([Ljava/lang/CharSequence;)Ljava/lang/CharSequence; +HSPLandroid/text/TextUtils;->concat([Ljava/lang/CharSequence;)Ljava/lang/CharSequence;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/TextUtils;->copySpansFrom(Landroid/text/Spanned;IILjava/lang/Class;Landroid/text/Spannable;I)V HSPLandroid/text/TextUtils;->couldAffectRtl(C)Z HSPLandroid/text/TextUtils;->doesNotNeedBidi([CII)Z @@ -14978,23 +15047,23 @@ HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/Tex HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;Landroid/text/TextDirectionHeuristic;Ljava/lang/String;)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->emptyIfNull(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z +HSPLandroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z+]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/text/TextUtils;->expandTemplate(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence; -HSPLandroid/text/TextUtils;->formatSimple(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;+]Ljava/lang/Boolean;Ljava/lang/Boolean;]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/text/TextUtils;->formatSimple(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Boolean;Ljava/lang/Boolean; HSPLandroid/text/TextUtils;->getCapsMode(Ljava/lang/CharSequence;II)I -HSPLandroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V+]Landroid/text/GetChars;Landroid/text/Layout$Ellipsizer;,Landroid/text/Layout$SpannedEllipsizer;,Landroid/text/SpannableString;]Ljava/lang/Object;megamorphic_types]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V+]Ljava/lang/Object;Landroid/text/SpannableString;]Landroid/text/GetChars;Landroid/text/SpannableString; HSPLandroid/text/TextUtils;->getEllipsisString(Landroid/text/TextUtils$TruncateAt;)Ljava/lang/String; HSPLandroid/text/TextUtils;->getLayoutDirectionFromLocale(Ljava/util/Locale;)I HSPLandroid/text/TextUtils;->getTrimmedLength(Ljava/lang/CharSequence;)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;C)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CI)I -HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I +HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I+]Ljava/lang/Object;Landroid/text/SpannableString; HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I HSPLandroid/text/TextUtils;->isDigitsOnly(Ljava/lang/CharSequence;)Z -HSPLandroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z+]Ljava/lang/CharSequence;Landroid/text/SpannableStringBuilder;,Ljava/lang/String; +HSPLandroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/text/TextUtils;->isGraphic(Ljava/lang/CharSequence;)Z -HSPLandroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String; +HSPLandroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Iterable;missing_types]Ljava/util/Iterator;missing_types HSPLandroid/text/TextUtils;->join(Ljava/lang/CharSequence;[Ljava/lang/Object;)Ljava/lang/String; HSPLandroid/text/TextUtils;->lastIndexOf(Ljava/lang/CharSequence;CI)I HSPLandroid/text/TextUtils;->lastIndexOf(Ljava/lang/CharSequence;CII)I @@ -15007,14 +15076,14 @@ HSPLandroid/text/TextUtils;->removeEmptySpans([Ljava/lang/Object;Landroid/text/S HSPLandroid/text/TextUtils;->safeIntern(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/text/TextUtils;->split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String; HSPLandroid/text/TextUtils;->stringOrSpannedString(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; -HSPLandroid/text/TextUtils;->substring(Ljava/lang/CharSequence;II)Ljava/lang/String; +HSPLandroid/text/TextUtils;->substring(Ljava/lang/CharSequence;II)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/text/TextUtils;->toUpperCase(Ljava/util/Locale;Ljava/lang/CharSequence;Z)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->trimNoCopySpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->trimToParcelableSize(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->trimToSize(Ljava/lang/CharSequence;I)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->unpackRangeEndFromLong(J)I HSPLandroid/text/TextUtils;->unpackRangeStartFromLong(J)I -HSPLandroid/text/TextUtils;->writeToParcel(Ljava/lang/CharSequence;Landroid/os/Parcel;I)V +HSPLandroid/text/TextUtils;->writeToParcel(Ljava/lang/CharSequence;Landroid/os/Parcel;I)V+]Ljava/lang/CharSequence;Ljava/lang/String;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;J)Ljava/lang/CharSequence; HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;Ljava/util/Calendar;)Ljava/lang/CharSequence; HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;Ljava/util/Date;)Ljava/lang/CharSequence; @@ -15121,7 +15190,7 @@ HSPLandroid/text/method/TextKeyListener;->onSpanAdded(Landroid/text/Spannable;Lj HSPLandroid/text/method/TextKeyListener;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V HSPLandroid/text/method/TextKeyListener;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V HSPLandroid/text/method/TextKeyListener;->updatePrefs(Landroid/content/ContentResolver;)V -HSPLandroid/text/method/Touch;->onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z +HSPLandroid/text/method/Touch;->onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z+]Landroid/text/Layout;Landroid/text/DynamicLayout;]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/text/Spannable;Landroid/text/SpannableString;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/text/method/WordIterator;-><init>(Ljava/util/Locale;)V HSPLandroid/text/method/WordIterator;->checkOffsetIsValid(I)V HSPLandroid/text/method/WordIterator;->following(I)I @@ -15140,7 +15209,7 @@ HSPLandroid/text/style/ClickableSpan;->updateDrawState(Landroid/text/TextPaint;) HSPLandroid/text/style/DynamicDrawableSpan;-><init>(I)V HSPLandroid/text/style/ForegroundColorSpan;-><init>(I)V HSPLandroid/text/style/ForegroundColorSpan;->getSpanTypeIdInternal()I -HSPLandroid/text/style/ForegroundColorSpan;->updateDrawState(Landroid/text/TextPaint;)V +HSPLandroid/text/style/ForegroundColorSpan;->updateDrawState(Landroid/text/TextPaint;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; HSPLandroid/text/style/ForegroundColorSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V HSPLandroid/text/style/ImageSpan;-><init>(Landroid/graphics/drawable/Drawable;I)V HSPLandroid/text/style/ImageSpan;->getDrawable()Landroid/graphics/drawable/Drawable; @@ -15206,7 +15275,7 @@ HSPLandroid/transition/Transition$2;->onAnimationEnd(Landroid/animation/Animator HSPLandroid/transition/Transition$2;->onAnimationStart(Landroid/animation/Animator;)V HSPLandroid/transition/Transition$3;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/transition/Transition;-><init>()V -HSPLandroid/transition/Transition;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;megamorphic_types +HSPLandroid/transition/Transition;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Ljava/lang/Object;megamorphic_types]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/transition/Transition;->addListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition; HSPLandroid/transition/Transition;->addTarget(Landroid/view/View;)Landroid/transition/Transition; HSPLandroid/transition/Transition;->addUnmatched(Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V @@ -15237,7 +15306,7 @@ HSPLandroid/transition/Transition;->setEpicenterCallback(Landroid/transition/Tra HSPLandroid/transition/Transition;->start()V HSPLandroid/transition/TransitionInflater;-><init>(Landroid/content/Context;)V HSPLandroid/transition/TransitionInflater;->createCustom(Landroid/util/AttributeSet;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object; -HSPLandroid/transition/TransitionInflater;->createTransitionFromXml(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/transition/Transition;)Landroid/transition/Transition;+]Landroid/transition/TransitionSet;Landroid/transition/TransitionSet;]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/transition/TransitionInflater;->createTransitionFromXml(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/transition/Transition;)Landroid/transition/Transition; HSPLandroid/transition/TransitionInflater;->from(Landroid/content/Context;)Landroid/transition/TransitionInflater; HSPLandroid/transition/TransitionInflater;->inflateTransition(I)Landroid/transition/Transition; HSPLandroid/transition/TransitionListenerAdapter;-><init>()V @@ -15318,7 +15387,7 @@ HSPLandroid/util/ArrayMap;->indexOfNull()I HSPLandroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I HSPLandroid/util/ArrayMap;->isEmpty()Z HSPLandroid/util/ArrayMap;->keyAt(I)Ljava/lang/Object; -HSPLandroid/util/ArrayMap;->keySet()Ljava/util/Set; +HSPLandroid/util/ArrayMap;->keySet()Ljava/util/Set;+]Landroid/util/MapCollections;Landroid/util/ArrayMap$1; HSPLandroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Object;megamorphic_types HSPLandroid/util/ArrayMap;->putAll(Landroid/util/ArrayMap;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLandroid/util/ArrayMap;->putAll(Ljava/util/Map;)V @@ -15341,11 +15410,11 @@ HSPLandroid/util/ArraySet;-><init>(IZ)V HSPLandroid/util/ArraySet;-><init>(Landroid/util/ArraySet;)V HSPLandroid/util/ArraySet;-><init>(Ljava/util/Collection;)V HSPLandroid/util/ArraySet;-><init>([Ljava/lang/Object;)V -HSPLandroid/util/ArraySet;->add(Ljava/lang/Object;)Z +HSPLandroid/util/ArraySet;->add(Ljava/lang/Object;)Z+]Ljava/lang/Object;Ljava/lang/String;,Landroid/accounts/Account;,Landroid/window/SurfaceSyncGroup$2;,Landroid/net/UidRange; HSPLandroid/util/ArraySet;->addAll(Landroid/util/ArraySet;)V HSPLandroid/util/ArraySet;->addAll(Ljava/util/Collection;)Z HSPLandroid/util/ArraySet;->allocArrays(I)V -HSPLandroid/util/ArraySet;->append(Ljava/lang/Object;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/lang/Object;Landroid/app/PendingIntent;,Lcom/android/org/conscrypt/OpenSSLRSAPublicKey; +HSPLandroid/util/ArraySet;->append(Ljava/lang/Object;)V+]Ljava/lang/Object;Lcom/android/org/conscrypt/OpenSSLRSAPublicKey;,Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey; HSPLandroid/util/ArraySet;->binarySearch([II)I HSPLandroid/util/ArraySet;->clear()V HSPLandroid/util/ArraySet;->contains(Ljava/lang/Object;)Z @@ -15383,11 +15452,11 @@ HSPLandroid/util/Base64$Decoder;-><init>(I[B)V HSPLandroid/util/Base64$Decoder;->process([BIIZ)Z HSPLandroid/util/Base64$Encoder;-><init>(I[B)V HSPLandroid/util/Base64$Encoder;->process([BIIZ)Z -HSPLandroid/util/Base64;->decode(Ljava/lang/String;I)[B+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/util/Base64;->decode(Ljava/lang/String;I)[B HSPLandroid/util/Base64;->decode([BI)[B HSPLandroid/util/Base64;->decode([BIII)[B+]Landroid/util/Base64$Decoder;Landroid/util/Base64$Decoder; HSPLandroid/util/Base64;->encode([BI)[B -HSPLandroid/util/Base64;->encode([BIII)[B+]Landroid/util/Base64$Encoder;Landroid/util/Base64$Encoder; +HSPLandroid/util/Base64;->encode([BIII)[B HSPLandroid/util/Base64;->encodeToString([BI)Ljava/lang/String; HSPLandroid/util/Base64;->encodeToString([BIII)Ljava/lang/String; HSPLandroid/util/CloseGuard;-><init>()V @@ -15403,7 +15472,7 @@ HSPLandroid/util/DisplayMetrics;->setTo(Landroid/util/DisplayMetrics;)V HSPLandroid/util/DisplayMetrics;->setToDefaults()V HSPLandroid/util/DisplayUtils;->getDisplayUniqueIdConfigIndex(Landroid/content/res/Resources;Ljava/lang/String;)I HSPLandroid/util/EventLog$Event;-><init>([B)V -HSPLandroid/util/EventLog$Event;->decodeObject()Ljava/lang/Object; +HSPLandroid/util/EventLog$Event;->decodeObject()Ljava/lang/Object;+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; HSPLandroid/util/EventLog$Event;->getData()Ljava/lang/Object; HSPLandroid/util/EventLog$Event;->getHeaderSize()I HSPLandroid/util/EventLog$Event;->getUid()I @@ -15431,7 +15500,7 @@ HSPLandroid/util/IndentingPrintWriter;->write(Ljava/lang/String;II)V HSPLandroid/util/IndentingPrintWriter;->write([CII)V HSPLandroid/util/IntArray;-><init>()V HSPLandroid/util/IntArray;-><init>(I)V -HSPLandroid/util/IntArray;->add(I)V+]Landroid/util/IntArray;Landroid/util/IntArray; +HSPLandroid/util/IntArray;->add(I)V HSPLandroid/util/IntArray;->add(II)V HSPLandroid/util/IntArray;->addAll(Landroid/util/IntArray;)V HSPLandroid/util/IntArray;->binarySearch(I)I @@ -15488,9 +15557,9 @@ HSPLandroid/util/JsonWriter;->flush()V HSPLandroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; HSPLandroid/util/JsonWriter;->newline()V HSPLandroid/util/JsonWriter;->open(Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter; -HSPLandroid/util/JsonWriter;->peek()Landroid/util/JsonScope; -HSPLandroid/util/JsonWriter;->replaceTop(Landroid/util/JsonScope;)V -HSPLandroid/util/JsonWriter;->string(Ljava/lang/String;)V +HSPLandroid/util/JsonWriter;->peek()Landroid/util/JsonScope;+]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/util/JsonWriter;->replaceTop(Landroid/util/JsonScope;)V+]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/util/JsonWriter;->string(Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String;]Ljava/io/Writer;Ljava/io/BufferedWriter; HSPLandroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; HSPLandroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; HSPLandroid/util/JsonWriter;->value(Z)Landroid/util/JsonWriter; @@ -15563,21 +15632,21 @@ HSPLandroid/util/LruCache;-><init>(I)V HSPLandroid/util/LruCache;->create(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/util/LruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V HSPLandroid/util/LruCache;->evictAll()V -HSPLandroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Landroid/util/LruCache;missing_types HSPLandroid/util/LruCache;->hitCount()I HSPLandroid/util/LruCache;->maxSize()I HSPLandroid/util/LruCache;->missCount()I -HSPLandroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Landroid/util/LruCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;,Landroid/util/LruCache; HSPLandroid/util/LruCache;->remove(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/util/LruCache;->resize(I)V HSPLandroid/util/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/util/LruCache;->size()I HSPLandroid/util/LruCache;->sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/util/LruCache;->snapshot()Ljava/util/Map; -HSPLandroid/util/LruCache;->trimToSize(I)V -HSPLandroid/util/MapCollections$ArrayIterator;-><init>(Landroid/util/MapCollections;I)V +HSPLandroid/util/LruCache;->trimToSize(I)V+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Landroid/util/LruCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache; +HSPLandroid/util/MapCollections$ArrayIterator;-><init>(Landroid/util/MapCollections;I)V+]Landroid/util/MapCollections;Landroid/util/ArraySet$1;,Landroid/util/ArrayMap$1; HSPLandroid/util/MapCollections$ArrayIterator;->hasNext()Z -HSPLandroid/util/MapCollections$ArrayIterator;->next()Ljava/lang/Object; +HSPLandroid/util/MapCollections$ArrayIterator;->next()Ljava/lang/Object;+]Landroid/util/MapCollections$ArrayIterator;Landroid/util/MapCollections$ArrayIterator;]Landroid/util/MapCollections;Landroid/util/ArraySet$1;,Landroid/util/ArrayMap$1; HSPLandroid/util/MapCollections$ArrayIterator;->remove()V HSPLandroid/util/MapCollections$EntrySet;-><init>(Landroid/util/MapCollections;)V HSPLandroid/util/MapCollections$EntrySet;->iterator()Ljava/util/Iterator; @@ -15699,16 +15768,16 @@ HSPLandroid/util/SparseArray;->append(ILjava/lang/Object;)V+]Landroid/util/Spars HSPLandroid/util/SparseArray;->clear()V HSPLandroid/util/SparseArray;->clone()Landroid/util/SparseArray; HSPLandroid/util/SparseArray;->contains(I)Z -HSPLandroid/util/SparseArray;->contentEquals(Landroid/util/SparseArray;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/util/SparseArray;->contentEquals(Landroid/util/SparseArray;)Z HSPLandroid/util/SparseArray;->delete(I)V HSPLandroid/util/SparseArray;->gc()V -HSPLandroid/util/SparseArray;->get(I)Ljava/lang/Object;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/util/SparseArray;->get(I)Ljava/lang/Object;+]Landroid/util/SparseArray;missing_types HSPLandroid/util/SparseArray;->get(ILjava/lang/Object;)Ljava/lang/Object; HSPLandroid/util/SparseArray;->indexOfKey(I)I HSPLandroid/util/SparseArray;->indexOfValue(Ljava/lang/Object;)I HSPLandroid/util/SparseArray;->keyAt(I)I HSPLandroid/util/SparseArray;->put(ILjava/lang/Object;)V -HSPLandroid/util/SparseArray;->remove(I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/util/SparseArray;->remove(I)V HSPLandroid/util/SparseArray;->removeAt(I)V HSPLandroid/util/SparseArray;->removeReturnOld(I)Ljava/lang/Object; HSPLandroid/util/SparseArray;->setValueAt(ILjava/lang/Object;)V @@ -15874,7 +15943,7 @@ HSPLandroid/view/AbsSavedState$2;->createFromParcel(Landroid/os/Parcel;Ljava/lan HSPLandroid/view/AbsSavedState$2;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object; HSPLandroid/view/AbsSavedState;-><init>(Landroid/os/Parcelable;)V HSPLandroid/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable; -HSPLandroid/view/AbsSavedState;->writeToParcel(Landroid/os/Parcel;I)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/view/AbsSavedState;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/view/Choreographer$1;->initialValue()Landroid/view/Choreographer; HSPLandroid/view/Choreographer$1;->initialValue()Ljava/lang/Object; HSPLandroid/view/Choreographer$2;->initialValue()Landroid/view/Choreographer; @@ -15886,8 +15955,8 @@ HSPLandroid/view/Choreographer$CallbackQueue;->extractDueCallbacksLocked(J)Landr HSPLandroid/view/Choreographer$CallbackQueue;->removeCallbacksLocked(Ljava/lang/Object;Ljava/lang/Object;)V HSPLandroid/view/Choreographer$CallbackRecord;-><init>()V HSPLandroid/view/Choreographer$CallbackRecord;-><init>(Landroid/view/Choreographer$CallbackRecord-IA;)V -HSPLandroid/view/Choreographer$CallbackRecord;->run(J)V+]Landroid/view/Choreographer$FrameCallback;missing_types]Ljava/lang/Runnable;Landroid/view/ViewPropertyAnimator$1;,Landroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;,Landroid/view/ViewRootImpl$TraversalRunnable;,Lcom/android/internal/util/function/pooled/PooledLambdaImpl; -HSPLandroid/view/Choreographer$CallbackRecord;->run(Landroid/view/Choreographer$FrameData;)V+]Landroid/view/Choreographer$CallbackRecord;Landroid/view/Choreographer$CallbackRecord;]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData; +HSPLandroid/view/Choreographer$CallbackRecord;->run(J)V+]Landroid/view/Choreographer$FrameCallback;missing_types]Ljava/lang/Runnable;missing_types +HSPLandroid/view/Choreographer$CallbackRecord;->run(Landroid/view/Choreographer$FrameData;)V+]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData;]Landroid/view/Choreographer$CallbackRecord;Landroid/view/Choreographer$CallbackRecord; HSPLandroid/view/Choreographer$FrameData;->-$$Nest$fgetmFrameTimeNanos(Landroid/view/Choreographer$FrameData;)J HSPLandroid/view/Choreographer$FrameData;-><init>()V HSPLandroid/view/Choreographer$FrameData;->allocateFrameTimelines(I)V @@ -15900,7 +15969,7 @@ HSPLandroid/view/Choreographer$FrameData;->update(JI)V HSPLandroid/view/Choreographer$FrameData;->update(JLandroid/view/DisplayEventReceiver$VsyncEventData;)Landroid/view/Choreographer$FrameTimeline;+]Landroid/view/Choreographer$FrameTimeline;Landroid/view/Choreographer$FrameTimeline; HSPLandroid/view/Choreographer$FrameData;->update(JLandroid/view/DisplayEventReceiver;J)Landroid/view/Choreographer$FrameTimeline; HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;-><init>(Landroid/view/Choreographer;Landroid/os/Looper;IJ)V -HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->onVsync(JJILandroid/view/DisplayEventReceiver$VsyncEventData;)V+]Landroid/os/Message;Landroid/os/Message;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler;]Landroid/view/DisplayEventReceiver$VsyncEventData;Landroid/view/DisplayEventReceiver$VsyncEventData;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->onVsync(JJILandroid/view/DisplayEventReceiver$VsyncEventData;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/Message;Landroid/os/Message;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler;]Landroid/view/DisplayEventReceiver$VsyncEventData;Landroid/view/DisplayEventReceiver$VsyncEventData; HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->run()V+]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/Choreographer$FrameHandler;-><init>(Landroid/view/Choreographer;Landroid/os/Looper;)V HSPLandroid/view/Choreographer$FrameHandler;->handleMessage(Landroid/os/Message;)V @@ -15919,13 +15988,13 @@ HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;I)V HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;IJ)V HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;ILandroid/view/Choreographer-IA;)V HSPLandroid/view/Choreographer;->doCallbacks(IJ)V+]Landroid/view/Choreographer$CallbackQueue;Landroid/view/Choreographer$CallbackQueue;]Landroid/view/Choreographer$CallbackRecord;Landroid/view/Choreographer$CallbackRecord;]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData; -HSPLandroid/view/Choreographer;->doFrame(JILandroid/view/DisplayEventReceiver$VsyncEventData;)V+]Landroid/graphics/FrameInfo;Landroid/graphics/FrameInfo;]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData;]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/DisplayEventReceiver$VsyncEventData;Landroid/view/DisplayEventReceiver$VsyncEventData;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/Choreographer;->doFrame(JILandroid/view/DisplayEventReceiver$VsyncEventData;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData;]Landroid/graphics/FrameInfo;Landroid/graphics/FrameInfo;]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/DisplayEventReceiver$VsyncEventData;Landroid/view/DisplayEventReceiver$VsyncEventData; HSPLandroid/view/Choreographer;->doScheduleCallback(I)V HSPLandroid/view/Choreographer;->doScheduleVsync()V HSPLandroid/view/Choreographer;->getFrameIntervalNanos()J -HSPLandroid/view/Choreographer;->getFrameTime()J +HSPLandroid/view/Choreographer;->getFrameTime()J+]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/Choreographer;->getFrameTimeNanos()J -HSPLandroid/view/Choreographer;->getInstance()Landroid/view/Choreographer;+]Ljava/lang/ThreadLocal;Landroid/view/Choreographer$1; +HSPLandroid/view/Choreographer;->getInstance()Landroid/view/Choreographer; HSPLandroid/view/Choreographer;->getMainThreadInstance()Landroid/view/Choreographer; HSPLandroid/view/Choreographer;->getRefreshRate()F HSPLandroid/view/Choreographer;->getSfInstance()Landroid/view/Choreographer; @@ -15934,14 +16003,14 @@ HSPLandroid/view/Choreographer;->isRunningOnLooperThreadLocked()Z HSPLandroid/view/Choreographer;->obtainCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)Landroid/view/Choreographer$CallbackRecord; HSPLandroid/view/Choreographer;->postCallback(ILjava/lang/Runnable;Ljava/lang/Object;)V+]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/Choreographer;->postCallbackDelayed(ILjava/lang/Runnable;Ljava/lang/Object;J)V -HSPLandroid/view/Choreographer;->postCallbackDelayedInternal(ILjava/lang/Object;Ljava/lang/Object;J)V+]Landroid/os/Message;Landroid/os/Message;]Landroid/view/Choreographer$CallbackQueue;Landroid/view/Choreographer$CallbackQueue;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler; +HSPLandroid/view/Choreographer;->postCallbackDelayedInternal(ILjava/lang/Object;Ljava/lang/Object;J)V+]Landroid/view/Choreographer$CallbackQueue;Landroid/view/Choreographer$CallbackQueue;]Landroid/os/Message;Landroid/os/Message;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler; HSPLandroid/view/Choreographer;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V+]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/Choreographer;->postFrameCallbackDelayed(Landroid/view/Choreographer$FrameCallback;J)V HSPLandroid/view/Choreographer;->recycleCallbackLocked(Landroid/view/Choreographer$CallbackRecord;)V HSPLandroid/view/Choreographer;->removeCallbacks(ILjava/lang/Runnable;Ljava/lang/Object;)V -HSPLandroid/view/Choreographer;->removeCallbacksInternal(ILjava/lang/Object;Ljava/lang/Object;)V+]Landroid/view/Choreographer$CallbackQueue;Landroid/view/Choreographer$CallbackQueue;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler; +HSPLandroid/view/Choreographer;->removeCallbacksInternal(ILjava/lang/Object;Ljava/lang/Object;)V HSPLandroid/view/Choreographer;->removeFrameCallback(Landroid/view/Choreographer$FrameCallback;)V -HSPLandroid/view/Choreographer;->scheduleFrameLocked(J)V+]Landroid/os/Message;Landroid/os/Message;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler; +HSPLandroid/view/Choreographer;->scheduleFrameLocked(J)V HSPLandroid/view/Choreographer;->scheduleVsyncLocked()V+]Landroid/view/Choreographer$FrameDisplayEventReceiver;Landroid/view/Choreographer$FrameDisplayEventReceiver; HSPLandroid/view/Choreographer;->setFPSDivisor(I)V HSPLandroid/view/ContextThemeWrapper;-><init>()V @@ -15954,7 +16023,7 @@ HSPLandroid/view/ContextThemeWrapper;->getResources()Landroid/content/res/Resour HSPLandroid/view/ContextThemeWrapper;->getResourcesInternal()Landroid/content/res/Resources; HSPLandroid/view/ContextThemeWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; HSPLandroid/view/ContextThemeWrapper;->getTheme()Landroid/content/res/Resources$Theme;+]Landroid/view/ContextThemeWrapper;Landroid/view/ContextThemeWrapper; -HSPLandroid/view/ContextThemeWrapper;->initializeTheme()V+]Landroid/content/Context;missing_types]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/view/ContextThemeWrapper;Landroid/view/ContextThemeWrapper; +HSPLandroid/view/ContextThemeWrapper;->initializeTheme()V HSPLandroid/view/ContextThemeWrapper;->onApplyThemeResource(Landroid/content/res/Resources$Theme;IZ)V HSPLandroid/view/ContextThemeWrapper;->setTheme(I)V HSPLandroid/view/CrossWindowBlurListeners;-><clinit>()V @@ -15982,7 +16051,7 @@ HSPLandroid/view/Display$Mode;->matches(IIF)Z HSPLandroid/view/Display$Mode;->toString()Ljava/lang/String; HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/content/res/Resources;)V HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;)V -HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;Landroid/content/res/Resources;)V+]Landroid/content/res/Resources;Landroid/content/res/Resources; +HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;Landroid/content/res/Resources;)V HSPLandroid/view/Display;->getAppVsyncOffsetNanos()J HSPLandroid/view/Display;->getCutout()Landroid/view/DisplayCutout; HSPLandroid/view/Display;->getDisplayAdjustments()Landroid/view/DisplayAdjustments; @@ -15992,7 +16061,7 @@ HSPLandroid/view/Display;->getFlags()I HSPLandroid/view/Display;->getHdrSdrRatio()F HSPLandroid/view/Display;->getHeight()I HSPLandroid/view/Display;->getInstallOrientation()I -HSPLandroid/view/Display;->getLocalRotation()I +HSPLandroid/view/Display;->getLocalRotation()I+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V HSPLandroid/view/Display;->getMode()Landroid/view/Display$Mode; HSPLandroid/view/Display;->getName()Ljava/lang/String; @@ -16038,7 +16107,7 @@ HSPLandroid/view/DisplayCutout$Bounds;->equals(Ljava/lang/Object;)Z HSPLandroid/view/DisplayCutout$Bounds;->getRects()[Landroid/graphics/Rect; HSPLandroid/view/DisplayCutout$Bounds;->isEmpty()Z HSPLandroid/view/DisplayCutout$CutoutPathParserInfo;-><init>(IIIIFLjava/lang/String;IFF)V -HSPLandroid/view/DisplayCutout$CutoutPathParserInfo;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/view/DisplayCutout$CutoutPathParserInfo;->equals(Ljava/lang/Object;)Z HSPLandroid/view/DisplayCutout$ParcelableWrapper$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayCutout$ParcelableWrapper; HSPLandroid/view/DisplayCutout$ParcelableWrapper$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/view/DisplayCutout$ParcelableWrapper;-><init>()V @@ -16066,7 +16135,7 @@ HSPLandroid/view/DisplayCutout;->getSafeInsetTop()I HSPLandroid/view/DisplayCutout;->inset(IIII)Landroid/view/DisplayCutout; HSPLandroid/view/DisplayCutout;->insetInsets(IIIILandroid/graphics/Rect;)Landroid/graphics/Rect; HSPLandroid/view/DisplayCutout;->isBoundsEmpty()Z -HSPLandroid/view/DisplayCutout;->isEmpty()Z +HSPLandroid/view/DisplayCutout;->isEmpty()Z+]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;-><init>()V HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;-><init>(JJJ)V HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;->copyFrom(Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;)V @@ -16085,19 +16154,19 @@ HSPLandroid/view/DisplayInfo;-><init>()V HSPLandroid/view/DisplayInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/view/DisplayInfo;-><init>(Landroid/os/Parcel;Landroid/view/DisplayInfo-IA;)V HSPLandroid/view/DisplayInfo;->copyFrom(Landroid/view/DisplayInfo;)V -HSPLandroid/view/DisplayInfo;->equals(Landroid/view/DisplayInfo;)Z +HSPLandroid/view/DisplayInfo;->equals(Landroid/view/DisplayInfo;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo; HSPLandroid/view/DisplayInfo;->findMode(I)Landroid/view/Display$Mode; HSPLandroid/view/DisplayInfo;->flagsToString(I)Ljava/lang/String; HSPLandroid/view/DisplayInfo;->getAppMetrics(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;)V HSPLandroid/view/DisplayInfo;->getAppMetrics(Landroid/util/DisplayMetrics;Landroid/view/DisplayAdjustments;)V HSPLandroid/view/DisplayInfo;->getLogicalMetrics(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;)V HSPLandroid/view/DisplayInfo;->getMaxBoundsMetrics(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;)V -HSPLandroid/view/DisplayInfo;->getMetricsWithSize(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;II)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/view/DisplayInfo;->getMetricsWithSize(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;II)V+]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/view/DisplayInfo;->getMode()Landroid/view/Display$Mode; HSPLandroid/view/DisplayInfo;->getRefreshRate()F HSPLandroid/view/DisplayInfo;->hasAccess(I)Z HSPLandroid/view/DisplayInfo;->isWideColorGamut()Z -HSPLandroid/view/DisplayInfo;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;Landroid/view/Display$Mode$1; +HSPLandroid/view/DisplayInfo;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/view/DisplayInfo;->toString()Ljava/lang/String; HSPLandroid/view/DisplayInfo;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/view/DisplayShape$1;-><init>()V @@ -16181,6 +16250,7 @@ HSPLandroid/view/HandwritingInitiator;->onInputConnectionClosed(Landroid/view/Vi HSPLandroid/view/HandwritingInitiator;->onInputConnectionCreated(Landroid/view/View;)V HSPLandroid/view/HandwritingInitiator;->onTouchEvent(Landroid/view/MotionEvent;)Z HSPLandroid/view/HandwritingInitiator;->updateHandwritingAreasForView(Landroid/view/View;)V +HSPLandroid/view/HdrRenderState;->updateForFrame(J)Z HSPLandroid/view/IGraphicsStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/view/IGraphicsStats$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/view/IGraphicsStats$Stub$Proxy;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor; @@ -16213,7 +16283,8 @@ HSPLandroid/view/IWindowSession$Stub$Proxy;->finishDrawing(Landroid/view/IWindow HSPLandroid/view/IWindowSession$Stub$Proxy;->getWindowId(Landroid/os/IBinder;)Landroid/view/IWindowId; HSPLandroid/view/IWindowSession$Stub$Proxy;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V HSPLandroid/view/IWindowSession$Stub$Proxy;->pokeDrawLock(Landroid/os/IBinder;)V -HSPLandroid/view/IWindowSession$Stub$Proxy;->relayoutAsync(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIII)V +HSPLandroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIIILandroid/window/ClientWindowFrames;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;Landroid/view/InsetsSourceControl$Array;Landroid/os/Bundle;)I +HSPLandroid/view/IWindowSession$Stub$Proxy;->relayoutAsync(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIII)V+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/view/IWindowSession$Stub$Proxy;Landroid/view/IWindowSession$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/view/IWindowSession$Stub$Proxy;->reportSystemGestureExclusionChanged(Landroid/view/IWindow;Ljava/util/List;)V HSPLandroid/view/IWindowSession$Stub$Proxy;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V HSPLandroid/view/IWindowSession$Stub$Proxy;->setOnBackInvokedCallbackInfo(Landroid/view/IWindow;Landroid/window/OnBackInvokedCallbackInfo;)V @@ -16229,7 +16300,7 @@ HSPLandroid/view/ImeFocusController;->onPostWindowFocus(Landroid/view/View;ZLand HSPLandroid/view/ImeFocusController;->onPreWindowFocus(ZLandroid/view/WindowManager$LayoutParams;)V HSPLandroid/view/ImeFocusController;->onProcessImeInputStage(Ljava/lang/Object;Landroid/view/InputEvent;Landroid/view/WindowManager$LayoutParams;Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;)I HSPLandroid/view/ImeFocusController;->onTraversal(ZLandroid/view/WindowManager$LayoutParams;)V -HSPLandroid/view/ImeFocusController;->onViewDetachedFromWindow(Landroid/view/View;)V+]Landroid/view/ImeFocusController$InputMethodManagerDelegate;Landroid/view/inputmethod/InputMethodManager$DelegateImpl; +HSPLandroid/view/ImeFocusController;->onViewDetachedFromWindow(Landroid/view/View;)V HSPLandroid/view/ImeFocusController;->onViewFocusChanged(Landroid/view/View;Z)V HSPLandroid/view/ImeFocusController;->onWindowDismissed()V HSPLandroid/view/ImeInsetsSourceConsumer;-><init>(ILandroid/view/InsetsState;Ljava/util/function/Supplier;Landroid/view/InsetsController;)V @@ -16261,7 +16332,7 @@ HSPLandroid/view/InputDevice;->getSources()I HSPLandroid/view/InputDevice;->isVirtual()Z HSPLandroid/view/InputEvent;-><init>()V HSPLandroid/view/InputEvent;->getSequenceNumber()I -HSPLandroid/view/InputEvent;->isFromSource(I)Z +HSPLandroid/view/InputEvent;->isFromSource(I)Z+]Landroid/view/InputEvent;Landroid/view/MotionEvent; HSPLandroid/view/InputEvent;->prepareForReuse()V HSPLandroid/view/InputEvent;->recycle()V HSPLandroid/view/InputEvent;->recycleIfNeededAfterDispatch()V @@ -16273,7 +16344,7 @@ HSPLandroid/view/InputEventCompatProcessor;->processInputEventForCompatibility(L HSPLandroid/view/InputEventConsistencyVerifier;->isInstrumentationEnabled()Z HSPLandroid/view/InputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V HSPLandroid/view/InputEventReceiver;->consumeBatchedInputEvents(J)Z -HSPLandroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/view/InputEvent;Landroid/view/MotionEvent;]Landroid/view/InputEventReceiver;Landroid/view/ViewRootImpl$WindowInputEventReceiver;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;)V HSPLandroid/view/InputEventReceiver;->dispose()V HSPLandroid/view/InputEventReceiver;->dispose(Z)V HSPLandroid/view/InputEventReceiver;->finalize()V @@ -16349,6 +16420,9 @@ HSPLandroid/view/InsetsController$3;->onStart(Landroid/view/InsetsState;Landroid HSPLandroid/view/InsetsController$InternalAnimationControlListener$$ExternalSyntheticLambda0;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V HSPLandroid/view/InsetsController$InternalAnimationControlListener$$ExternalSyntheticLambda3;->getInterpolation(F)F HSPLandroid/view/InsetsController$InternalAnimationControlListener$$ExternalSyntheticLambda4;->getInterpolation(F)F +HSPLandroid/view/InsetsController$InternalAnimationControlListener$1;->initialValue()Landroid/animation/AnimationHandler; +HSPLandroid/view/InsetsController$InternalAnimationControlListener$1;->initialValue()Ljava/lang/Object; +HSPLandroid/view/InsetsController$InternalAnimationControlListener$2;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/view/InsetsController$InternalAnimationControlListener;-><init>(ZZIIZILandroid/view/WindowInsetsAnimationControlListener;Landroid/view/inputmethod/ImeTracker$InputMethodJankContext;)V HSPLandroid/view/InsetsController$InternalAnimationControlListener;->calculateDurationMs()J HSPLandroid/view/InsetsController$InternalAnimationControlListener;->getAlphaInterpolator()Landroid/view/animation/Interpolator; @@ -16375,6 +16449,7 @@ HSPLandroid/view/InsetsController;->calculateVisibleInsets(IIII)Landroid/graphic HSPLandroid/view/InsetsController;->cancelAnimation(Landroid/view/InsetsAnimationControlRunner;Z)V HSPLandroid/view/InsetsController;->cancelExistingAnimations()V HSPLandroid/view/InsetsController;->cancelExistingControllers(I)V +HSPLandroid/view/InsetsController;->captionInsetsUnchanged()Z HSPLandroid/view/InsetsController;->collectSourceControls(ZILandroid/util/SparseArray;ILandroid/view/inputmethod/ImeTracker$Token;)Landroid/util/Pair; HSPLandroid/view/InsetsController;->controlAnimationUncheckedInner(ILandroid/os/CancellationSignal;Landroid/view/WindowInsetsAnimationControlListener;Landroid/graphics/Rect;ZJLandroid/view/animation/Interpolator;IIZLandroid/view/inputmethod/ImeTracker$Token;)V HSPLandroid/view/InsetsController;->dispatchAnimationEnd(Landroid/view/WindowInsetsAnimation;)V @@ -16392,8 +16467,8 @@ HSPLandroid/view/InsetsController;->lambda$static$1(FLandroid/graphics/Insets;La HSPLandroid/view/InsetsController;->notifyControlRevoked(Landroid/view/InsetsSourceConsumer;)V HSPLandroid/view/InsetsController;->notifyFinished(Landroid/view/InsetsAnimationControlRunner;Z)V HSPLandroid/view/InsetsController;->notifyVisibilityChanged()V -HSPLandroid/view/InsetsController;->onControlsChanged([Landroid/view/InsetsSourceControl;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/InsetsSourceConsumer;Landroid/view/ImeInsetsSourceConsumer;,Landroid/view/InsetsSourceConsumer;]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/view/InsetsController;->onFrameChanged(Landroid/graphics/Rect;)V +HSPLandroid/view/InsetsController;->onControlsChanged([Landroid/view/InsetsSourceControl;)V +HSPLandroid/view/InsetsController;->onFrameChanged(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/view/InsetsController;->onStateChanged(Landroid/view/InsetsState;)Z HSPLandroid/view/InsetsController;->onWindowFocusGained(Z)V HSPLandroid/view/InsetsController;->onWindowFocusLost()V @@ -16406,15 +16481,15 @@ HSPLandroid/view/InsetsController;->updateCompatSysUiVisibility()V HSPLandroid/view/InsetsController;->updateState(Landroid/view/InsetsState;)V HSPLandroid/view/InsetsFlags;-><init>()V HSPLandroid/view/InsetsSource$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InsetsSource; -HSPLandroid/view/InsetsSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/view/InsetsSource$1;Landroid/view/InsetsSource$1; +HSPLandroid/view/InsetsSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/view/InsetsSource;-><init>(II)V -HSPLandroid/view/InsetsSource;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;Landroid/graphics/Rect$1; +HSPLandroid/view/InsetsSource;-><init>(Landroid/os/Parcel;)V HSPLandroid/view/InsetsSource;-><init>(Landroid/view/InsetsSource;)V -HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;Z)Landroid/graphics/Insets;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; +HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;Z)Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Z)Landroid/graphics/Insets; HSPLandroid/view/InsetsSource;->calculateVisibleInsets(Landroid/graphics/Rect;)Landroid/graphics/Insets; -HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;)Z+]Landroid/view/InsetsSource;Landroid/view/InsetsSource; -HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;Z)Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Ljava/lang/Object;Landroid/view/InsetsSource; +HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;)Z +HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;Z)Z HSPLandroid/view/InsetsSource;->getFlags()I HSPLandroid/view/InsetsSource;->getFrame()Landroid/graphics/Rect; HSPLandroid/view/InsetsSource;->getId()I @@ -16468,30 +16543,30 @@ HSPLandroid/view/InsetsState;-><init>()V HSPLandroid/view/InsetsState;-><init>(Landroid/os/Parcel;)V HSPLandroid/view/InsetsState;-><init>(Landroid/view/InsetsState;Z)V HSPLandroid/view/InsetsState;->addSource(Landroid/view/InsetsSource;)V -HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;II)Landroid/graphics/Insets; -HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;IZ)Landroid/graphics/Insets; +HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;II)Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;IZ)Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;Landroid/view/InsetsState;ZIIIIILandroid/util/SparseIntArray;)Landroid/view/WindowInsets; HSPLandroid/view/InsetsState;->calculateRelativeCutout(Landroid/graphics/Rect;)Landroid/view/DisplayCutout; HSPLandroid/view/InsetsState;->calculateRelativeDisplayShape(Landroid/graphics/Rect;)Landroid/view/DisplayShape; HSPLandroid/view/InsetsState;->calculateRelativePrivacyIndicatorBounds(Landroid/graphics/Rect;)Landroid/view/PrivacyIndicatorBounds; HSPLandroid/view/InsetsState;->calculateRelativeRoundedCorners(Landroid/graphics/Rect;)Landroid/view/RoundedCorners; -HSPLandroid/view/InsetsState;->calculateUncontrollableInsetsFromFrame(Landroid/graphics/Rect;)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; +HSPLandroid/view/InsetsState;->calculateUncontrollableInsetsFromFrame(Landroid/graphics/Rect;)I HSPLandroid/view/InsetsState;->calculateVisibleInsets(Landroid/graphics/Rect;IIII)Landroid/graphics/Insets; -HSPLandroid/view/InsetsState;->canControlSource(Landroid/graphics/Rect;Landroid/view/InsetsSource;)Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; +HSPLandroid/view/InsetsState;->canControlSource(Landroid/graphics/Rect;Landroid/view/InsetsSource;)Z HSPLandroid/view/InsetsState;->clearsCompatInsets(IIII)Z HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;)Z HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;ZZ)Z -HSPLandroid/view/InsetsState;->getDisplayCutout()Landroid/view/DisplayCutout; -HSPLandroid/view/InsetsState;->getDisplayCutoutSafe(Landroid/graphics/Rect;)V +HSPLandroid/view/InsetsState;->getDisplayCutout()Landroid/view/DisplayCutout;+]Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/DisplayCutout$ParcelableWrapper; +HSPLandroid/view/InsetsState;->getDisplayCutoutSafe(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;]Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/DisplayCutout$ParcelableWrapper; HSPLandroid/view/InsetsState;->getDisplayFrame()Landroid/graphics/Rect; HSPLandroid/view/InsetsState;->getDisplayShape()Landroid/view/DisplayShape; HSPLandroid/view/InsetsState;->getPrivacyIndicatorBounds()Landroid/view/PrivacyIndicatorBounds; HSPLandroid/view/InsetsState;->getRoundedCorners()Landroid/view/RoundedCorners; HSPLandroid/view/InsetsState;->isSourceOrDefaultVisible(II)Z HSPLandroid/view/InsetsState;->peekSource(I)Landroid/view/InsetsSource; -HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)Landroid/util/SparseArray;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/DisplayCutout$ParcelableWrapper;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; +HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)Landroid/util/SparseArray; HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;I)V -HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;Z)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/DisplayCutout$ParcelableWrapper;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/InsetsState;Landroid/view/InsetsState; +HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;Z)V HSPLandroid/view/InsetsState;->setDisplayCutout(Landroid/view/DisplayCutout;)V HSPLandroid/view/InsetsState;->setDisplayFrame(Landroid/graphics/Rect;)V HSPLandroid/view/InsetsState;->setPrivacyIndicatorBounds(Landroid/view/PrivacyIndicatorBounds;)V @@ -16550,28 +16625,28 @@ HSPLandroid/view/LayoutInflater;-><init>(Landroid/content/Context;)V HSPLandroid/view/LayoutInflater;-><init>(Landroid/view/LayoutInflater;Landroid/content/Context;)V HSPLandroid/view/LayoutInflater;->advanceToRootNode(Lorg/xmlpull/v1/XmlPullParser;)V HSPLandroid/view/LayoutInflater;->consumeChildElements(Lorg/xmlpull/v1/XmlPullParser;)V -HSPLandroid/view/LayoutInflater;->createView(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;+]Landroid/content/Context;missing_types]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/view/ViewStub;Landroid/view/ViewStub;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/reflect/Constructor;Ljava/lang/reflect/Constructor;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/view/LayoutInflater;->createView(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->createView(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; -HSPLandroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;Z)Landroid/view/View;+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/util/AttributeSet;Landroid/content/res/XmlBlock$Parser;]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;Z)Landroid/view/View; HSPLandroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater; HSPLandroid/view/LayoutInflater;->getContext()Landroid/content/Context; HSPLandroid/view/LayoutInflater;->getFactory()Landroid/view/LayoutInflater$Factory; HSPLandroid/view/LayoutInflater;->getFactory2()Landroid/view/LayoutInflater$Factory2; HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View; -HSPLandroid/view/LayoutInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View;+]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/view/LayoutInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View; HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/content/Context;Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; -HSPLandroid/view/LayoutInflater;->parseInclude(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/Context;Landroid/view/View;Landroid/util/AttributeSet;)V -HSPLandroid/view/LayoutInflater;->rInflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/content/Context;Landroid/util/AttributeSet;Z)V+]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; -HSPLandroid/view/LayoutInflater;->rInflateChildren(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/util/AttributeSet;Z)V+]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/view/View;missing_types +HSPLandroid/view/LayoutInflater;->parseInclude(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/Context;Landroid/view/View;Landroid/util/AttributeSet;)V+]Landroid/util/AttributeSet;Landroid/content/res/XmlBlock$Parser;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;Landroid/widget/FrameLayout;,Landroid/widget/LinearLayout;]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Ljava/lang/Object;Ljava/lang/String;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/view/LayoutInflater;->rInflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/content/Context;Landroid/util/AttributeSet;Z)V+]Landroid/view/View;missing_types]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser;]Landroid/view/ViewGroup;Landroid/widget/RelativeLayout;,Landroid/widget/FrameLayout;,Landroid/widget/LinearLayout;]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/view/LayoutInflater;->rInflateChildren(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/util/AttributeSet;Z)V HSPLandroid/view/LayoutInflater;->setFactory2(Landroid/view/LayoutInflater$Factory2;)V HSPLandroid/view/LayoutInflater;->setFilter(Landroid/view/LayoutInflater$Filter;)V HSPLandroid/view/LayoutInflater;->setPrivateFactory(Landroid/view/LayoutInflater$Factory2;)V -HSPLandroid/view/LayoutInflater;->tryCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;+]Landroid/view/LayoutInflater$Factory2;missing_types]Ljava/lang/Object;Ljava/lang/String; -HSPLandroid/view/LayoutInflater;->verifyClassLoader(Ljava/lang/reflect/Constructor;)Z+]Landroid/content/Context;missing_types]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/reflect/Constructor;Ljava/lang/reflect/Constructor; +HSPLandroid/view/LayoutInflater;->tryCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; +HSPLandroid/view/LayoutInflater;->verifyClassLoader(Ljava/lang/reflect/Constructor;)Z HSPLandroid/view/MenuInflater;-><init>(Landroid/content/Context;)V HSPLandroid/view/MotionEvent$PointerCoords;-><init>()V HSPLandroid/view/MotionEvent$PointerProperties;-><init>()V @@ -16612,7 +16687,7 @@ HSPLandroid/view/MotionEvent;->getX(I)F HSPLandroid/view/MotionEvent;->getY()F HSPLandroid/view/MotionEvent;->getY(I)F HSPLandroid/view/MotionEvent;->initialize(IIIIIIIIIFFFFJJI[Landroid/view/MotionEvent$PointerProperties;[Landroid/view/MotionEvent$PointerCoords;)Z -HSPLandroid/view/MotionEvent;->isTargetAccessibilityFocus()Z +HSPLandroid/view/MotionEvent;->isTargetAccessibilityFocus()Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->isTouchEvent()Z HSPLandroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFII)Landroid/view/MotionEvent; @@ -16623,7 +16698,7 @@ HSPLandroid/view/MotionEvent;->offsetLocation(FF)V HSPLandroid/view/MotionEvent;->recycle()V HSPLandroid/view/MotionEvent;->setAction(I)V HSPLandroid/view/MotionEvent;->setLocation(FF)V -HSPLandroid/view/MotionEvent;->setTargetAccessibilityFocus(Z)V +HSPLandroid/view/MotionEvent;->setTargetAccessibilityFocus(Z)V+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->split(I)Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->transform(Landroid/graphics/Matrix;)V HSPLandroid/view/MotionEvent;->updateCursorPosition()V @@ -16659,12 +16734,12 @@ HSPLandroid/view/RemoteAccessibilityController;->setRemoteAccessibilityEmbeddedC HSPLandroid/view/RemoteAnimationAdapter;-><init>(Landroid/view/IRemoteAnimationRunner;JJ)V HSPLandroid/view/RemoteAnimationAdapter;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/view/RoundedCorner$1;-><init>()V -HSPLandroid/view/RoundedCorner$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RoundedCorner;+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/view/RoundedCorner$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/view/RoundedCorner$1;Landroid/view/RoundedCorner$1; +HSPLandroid/view/RoundedCorner$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RoundedCorner; +HSPLandroid/view/RoundedCorner$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/view/RoundedCorner;-><clinit>()V HSPLandroid/view/RoundedCorner;-><init>(I)V HSPLandroid/view/RoundedCorner;-><init>(IIII)V -HSPLandroid/view/RoundedCorner;->equals(Ljava/lang/Object;)Z+]Landroid/graphics/Point;Landroid/graphics/Point; +HSPLandroid/view/RoundedCorner;->equals(Ljava/lang/Object;)Z HSPLandroid/view/RoundedCorner;->getCenter()Landroid/graphics/Point; HSPLandroid/view/RoundedCorner;->getRadius()I HSPLandroid/view/RoundedCorner;->isEmpty()Z @@ -16727,7 +16802,7 @@ HSPLandroid/view/SurfaceControl$Builder;->setOpaque(Z)Landroid/view/SurfaceContr HSPLandroid/view/SurfaceControl$Builder;->setParent(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Builder; HSPLandroid/view/SurfaceControl$Builder;->unsetBufferSize()V HSPLandroid/view/SurfaceControl$Transaction;-><init>()V -HSPLandroid/view/SurfaceControl$Transaction;-><init>(J)V +HSPLandroid/view/SurfaceControl$Transaction;-><init>(J)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; HSPLandroid/view/SurfaceControl$Transaction;->apply()V HSPLandroid/view/SurfaceControl$Transaction;->apply(Z)V HSPLandroid/view/SurfaceControl$Transaction;->applyResizedSurfaces()V @@ -16735,7 +16810,7 @@ HSPLandroid/view/SurfaceControl$Transaction;->checkPreconditions(Landroid/view/S HSPLandroid/view/SurfaceControl$Transaction;->clear()V HSPLandroid/view/SurfaceControl$Transaction;->close()V HSPLandroid/view/SurfaceControl$Transaction;->hide(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; -HSPLandroid/view/SurfaceControl$Transaction;->merge(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl$Transaction; +HSPLandroid/view/SurfaceControl$Transaction;->merge(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl$Transaction;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLandroid/view/SurfaceControl$Transaction;->notifyReparentedSurfaces()V HSPLandroid/view/SurfaceControl$Transaction;->remove(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->reparent(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; @@ -16745,7 +16820,7 @@ HSPLandroid/view/SurfaceControl$Transaction;->setBufferSize(Landroid/view/Surfac HSPLandroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setCornerRadius(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setDesintationFrame(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction; -HSPLandroid/view/SurfaceControl$Transaction;->setExtendedRangeBrightness(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction; +HSPLandroid/view/SurfaceControl$Transaction;->setExtendedRangeBrightness(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction;+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setFrameTimelineVsync(J)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;FFFF)Landroid/view/SurfaceControl$Transaction; @@ -16813,6 +16888,7 @@ HSPLandroid/view/SurfaceView;->onMeasure(II)V HSPLandroid/view/SurfaceView;->onSetSurfacePositionAndScale(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;IIFF)V HSPLandroid/view/SurfaceView;->onWindowVisibilityChanged(I)V HSPLandroid/view/SurfaceView;->performDrawFinished()V +HSPLandroid/view/SurfaceView;->performSurfaceTransaction(Landroid/view/ViewRootImpl;Landroid/content/res/CompatibilityInfo$Translator;ZZZZLandroid/view/SurfaceControl$Transaction;)Z HSPLandroid/view/SurfaceView;->releaseSurfaces(Z)V HSPLandroid/view/SurfaceView;->replacePositionUpdateListener(II)V HSPLandroid/view/SurfaceView;->requiresSurfaceControlCreation(ZZ)Z @@ -16853,8 +16929,8 @@ HSPLandroid/view/TextureView;->updateLayer()V HSPLandroid/view/ThreadedRenderer$1$$ExternalSyntheticLambda0;-><init>(Ljava/util/ArrayList;)V HSPLandroid/view/ThreadedRenderer$1$$ExternalSyntheticLambda0;->onFrameCommit(Z)V HSPLandroid/view/ThreadedRenderer$1;-><init>(Landroid/view/ThreadedRenderer;Ljava/util/ArrayList;)V -HSPLandroid/view/ThreadedRenderer$1;->lambda$onFrameDraw$0(Ljava/util/ArrayList;Z)V -HSPLandroid/view/ThreadedRenderer$1;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback; +HSPLandroid/view/ThreadedRenderer$1;->lambda$onFrameDraw$0(Ljava/util/ArrayList;Z)V+]Landroid/graphics/HardwareRenderer$FrameCommitCallback;Landroid/view/ViewRootImpl$7$$ExternalSyntheticLambda0;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ThreadedRenderer$1;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback;+]Landroid/graphics/HardwareRenderer$FrameDrawingCallback;Landroid/view/ViewRootImpl$3;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ThreadedRenderer$WebViewOverlayProvider;->-$$Nest$fgetmSurfaceControl(Landroid/view/ThreadedRenderer$WebViewOverlayProvider;)Landroid/view/SurfaceControl; HSPLandroid/view/ThreadedRenderer$WebViewOverlayProvider;-><clinit>()V HSPLandroid/view/ThreadedRenderer$WebViewOverlayProvider;-><init>()V @@ -16869,7 +16945,7 @@ HSPLandroid/view/ThreadedRenderer;->create(Landroid/content/Context;ZLjava/lang/ HSPLandroid/view/ThreadedRenderer;->destroy()V HSPLandroid/view/ThreadedRenderer;->destroyHardwareResources(Landroid/view/View;)V HSPLandroid/view/ThreadedRenderer;->destroyResources(Landroid/view/View;)V -HSPLandroid/view/ThreadedRenderer;->draw(Landroid/view/View;Landroid/view/View$AttachInfo;Landroid/view/ThreadedRenderer$DrawCallbacks;)V +HSPLandroid/view/ThreadedRenderer;->draw(Landroid/view/View;Landroid/view/View$AttachInfo;Landroid/view/ThreadedRenderer$DrawCallbacks;)V+]Landroid/view/ViewFrameInfo;Landroid/view/ViewFrameInfo;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ThreadedRenderer;->dumpArgsToFlags([Ljava/lang/String;)I HSPLandroid/view/ThreadedRenderer;->getHeight()I HSPLandroid/view/ThreadedRenderer;->getWidth()I @@ -16880,20 +16956,20 @@ HSPLandroid/view/ThreadedRenderer;->invalidateRoot()V HSPLandroid/view/ThreadedRenderer;->isEnabled()Z HSPLandroid/view/ThreadedRenderer;->isRequested()Z HSPLandroid/view/ThreadedRenderer;->loadSystemProperties()Z -HSPLandroid/view/ThreadedRenderer;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V +HSPLandroid/view/ThreadedRenderer;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ThreadedRenderer;->rendererOwnsSurfaceControlOpacity()Z HSPLandroid/view/ThreadedRenderer;->setEnabled(Z)V HSPLandroid/view/ThreadedRenderer;->setLightCenter(Landroid/view/View$AttachInfo;)V HSPLandroid/view/ThreadedRenderer;->setRequested(Z)V HSPLandroid/view/ThreadedRenderer;->setSurface(Landroid/view/Surface;)V -HSPLandroid/view/ThreadedRenderer;->setSurfaceControl(Landroid/view/SurfaceControl;Landroid/graphics/BLASTBufferQueue;)V +HSPLandroid/view/ThreadedRenderer;->setSurfaceControl(Landroid/view/SurfaceControl;Landroid/graphics/BLASTBufferQueue;)V+]Landroid/view/ThreadedRenderer$WebViewOverlayProvider;Landroid/view/ThreadedRenderer$WebViewOverlayProvider; HSPLandroid/view/ThreadedRenderer;->setSurfaceControlOpaque(Z)Z HSPLandroid/view/ThreadedRenderer;->setup(IILandroid/view/View$AttachInfo;Landroid/graphics/Rect;)V HSPLandroid/view/ThreadedRenderer;->updateEnabledState(Landroid/view/Surface;)V -HSPLandroid/view/ThreadedRenderer;->updateRootDisplayList(Landroid/view/View;Landroid/view/ThreadedRenderer$DrawCallbacks;)V +HSPLandroid/view/ThreadedRenderer;->updateRootDisplayList(Landroid/view/View;Landroid/view/ThreadedRenderer$DrawCallbacks;)V+]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/ThreadedRenderer$DrawCallbacks;Landroid/view/ViewRootImpl;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/ThreadedRenderer;->updateSurface(Landroid/view/Surface;)V -HSPLandroid/view/ThreadedRenderer;->updateViewTreeDisplayList(Landroid/view/View;)V -HSPLandroid/view/ThreadedRenderer;->updateWebViewOverlayCallbacks()V +HSPLandroid/view/ThreadedRenderer;->updateViewTreeDisplayList(Landroid/view/View;)V+]Landroid/view/View;Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ThreadedRenderer;->updateWebViewOverlayCallbacks()V+]Landroid/view/ThreadedRenderer$WebViewOverlayProvider;Landroid/view/ThreadedRenderer$WebViewOverlayProvider; HSPLandroid/view/TouchDelegate;-><init>(Landroid/graphics/Rect;Landroid/view/View;)V HSPLandroid/view/VelocityTracker;-><init>(I)V HSPLandroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V @@ -16915,7 +16991,7 @@ HSPLandroid/view/View$$ExternalSyntheticLambda7;->run()V HSPLandroid/view/View$12;->get(Landroid/view/View;)Ljava/lang/Float; HSPLandroid/view/View$12;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/view/View$12;->setValue(Landroid/view/View;F)V -HSPLandroid/view/View$12;->setValue(Ljava/lang/Object;F)V +HSPLandroid/view/View$12;->setValue(Ljava/lang/Object;F)V+]Landroid/view/View$12;Landroid/view/View$12; HSPLandroid/view/View$13;->get(Landroid/view/View;)Ljava/lang/Float; HSPLandroid/view/View$13;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/view/View$13;->setValue(Landroid/view/View;F)V @@ -16969,31 +17045,31 @@ HSPLandroid/view/View$MeasureSpec;->makeMeasureSpec(II)I HSPLandroid/view/View$MeasureSpec;->makeSafeMeasureSpec(II)I HSPLandroid/view/View$PerformClick;->run()V HSPLandroid/view/View$ScrollabilityCache;-><init>(Landroid/view/ViewConfiguration;Landroid/view/View;)V -HSPLandroid/view/View$ScrollabilityCache;->run()V +HSPLandroid/view/View$ScrollabilityCache;->run()V+]Landroid/graphics/Interpolator;Landroid/graphics/Interpolator;]Landroid/view/View;missing_types HSPLandroid/view/View$TintInfo;-><init>()V HSPLandroid/view/View$TransformationInfo;-><init>()V HSPLandroid/view/View$UnsetPressedState;->run()V HSPLandroid/view/View$VisibilityChangeForAutofillHandler;->handleMessage(Landroid/os/Message;)V -HSPLandroid/view/View;-><init>(Landroid/content/Context;)V+]Landroid/content/Context;missing_types]Landroid/view/View;missing_types]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;missing_types +HSPLandroid/view/View;-><init>(Landroid/content/Context;)V+]Landroid/view/View;missing_types]Ljava/lang/Object;missing_types]Landroid/content/Context;missing_types]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types +HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/view/View;missing_types]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;II)V HSPLandroid/view/View;->addFrameMetricsListener(Landroid/view/Window;Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V HSPLandroid/view/View;->addOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V -HSPLandroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V+]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V HSPLandroid/view/View;->animate()Landroid/view/ViewPropertyAnimator; HSPLandroid/view/View;->announceForAccessibility(Ljava/lang/CharSequence;)V HSPLandroid/view/View;->appendId(Ljava/lang/StringBuilder;)V HSPLandroid/view/View;->applyBackgroundTint()V HSPLandroid/view/View;->applyForegroundTint()V HSPLandroid/view/View;->applyInsets(Landroid/graphics/Rect;)V -HSPLandroid/view/View;->applyLegacyAnimation(Landroid/view/ViewGroup;JLandroid/view/animation/Animation;Z)Z+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/view/View;missing_types]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/RotateAnimation; +HSPLandroid/view/View;->applyLegacyAnimation(Landroid/view/ViewGroup;JLandroid/view/animation/Animation;Z)Z HSPLandroid/view/View;->areDrawablesResolved()Z HSPLandroid/view/View;->assignParent(Landroid/view/ViewParent;)V HSPLandroid/view/View;->awakenScrollBars()Z -HSPLandroid/view/View;->awakenScrollBars(IZ)Z+]Landroid/os/Handler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/view/View;missing_types +HSPLandroid/view/View;->awakenScrollBars(IZ)Z+]Landroid/os/Handler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/view/View;Landroid/widget/ImageView;,Landroid/widget/TextView;,Landroid/widget/LinearLayout; HSPLandroid/view/View;->bringToFront()V HSPLandroid/view/View;->buildDrawingCache(Z)V HSPLandroid/view/View;->buildDrawingCacheImpl(Z)V @@ -17001,7 +17077,7 @@ HSPLandroid/view/View;->buildLayer()V HSPLandroid/view/View;->calculateAccessibilityDataSensitive()V HSPLandroid/view/View;->calculateIsImportantForContentCapture()Z HSPLandroid/view/View;->canHaveDisplayList()Z -HSPLandroid/view/View;->canNotifyAutofillEnterExitEvent()Z+]Landroid/view/View;missing_types +HSPLandroid/view/View;->canNotifyAutofillEnterExitEvent()Z HSPLandroid/view/View;->canReceivePointerEvents()Z HSPLandroid/view/View;->canResolveLayoutDirection()Z+]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types HSPLandroid/view/View;->canResolveTextDirection()Z+]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types @@ -17013,8 +17089,8 @@ HSPLandroid/view/View;->cancelLongPress()V HSPLandroid/view/View;->cancelPendingInputEvents()V HSPLandroid/view/View;->checkForLongClick(JFFI)V HSPLandroid/view/View;->checkInputConnectionProxy(Landroid/view/View;)Z -HSPLandroid/view/View;->cleanupDraw()V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; -HSPLandroid/view/View;->clearAccessibilityFocus()V+]Landroid/view/View;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/View;->cleanupDraw()V +HSPLandroid/view/View;->clearAccessibilityFocus()V HSPLandroid/view/View;->clearAccessibilityFocusNoCallbacks(I)V HSPLandroid/view/View;->clearAccessibilityThrottles()V HSPLandroid/view/View;->clearAnimation()V @@ -17023,7 +17099,7 @@ HSPLandroid/view/View;->clearFocusInternal(Landroid/view/View;ZZ)V HSPLandroid/view/View;->clearParentsWantFocus()V HSPLandroid/view/View;->clearTranslationState()V HSPLandroid/view/View;->clearViewTranslationResponse()V -HSPLandroid/view/View;->collectPreferKeepClearRects()Ljava/util/List;+]Landroid/view/View;missing_types +HSPLandroid/view/View;->collectPreferKeepClearRects()Ljava/util/List; HSPLandroid/view/View;->collectUnrestrictedPreferKeepClearRects()Ljava/util/List; HSPLandroid/view/View;->combineMeasuredStates(II)I HSPLandroid/view/View;->combineVisibility(II)I @@ -17031,21 +17107,21 @@ HSPLandroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/ HSPLandroid/view/View;->computeHorizontalScrollExtent()I HSPLandroid/view/View;->computeHorizontalScrollOffset()I HSPLandroid/view/View;->computeHorizontalScrollRange()I -HSPLandroid/view/View;->computeOpaqueFlags()V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/view/View;->computeOpaqueFlags()V HSPLandroid/view/View;->computeScroll()V HSPLandroid/view/View;->computeSystemWindowInsets(Landroid/view/WindowInsets;Landroid/graphics/Rect;)Landroid/view/WindowInsets; -HSPLandroid/view/View;->computeVerticalScrollExtent()I +HSPLandroid/view/View;->computeVerticalScrollExtent()I+]Landroid/view/View;missing_types HSPLandroid/view/View;->computeVerticalScrollOffset()I -HSPLandroid/view/View;->computeVerticalScrollRange()I -HSPLandroid/view/View;->damageInParent()V+]Landroid/view/ViewParent;missing_types +HSPLandroid/view/View;->computeVerticalScrollRange()I+]Landroid/view/View;missing_types +HSPLandroid/view/View;->damageInParent()V HSPLandroid/view/View;->destroyDrawingCache()V HSPLandroid/view/View;->destroyHardwareResources()V -HSPLandroid/view/View;->dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;+]Landroid/view/View;missing_types -HSPLandroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V+]Landroid/view/HandlerActionQueue;Landroid/view/HandlerActionQueue;]Landroid/view/View;missing_types]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList; -HSPLandroid/view/View;->dispatchCancelPendingInputEvents()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; +HSPLandroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V+]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/View;missing_types]Landroid/view/HandlerActionQueue;Landroid/view/HandlerActionQueue;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator; +HSPLandroid/view/View;->dispatchCancelPendingInputEvents()V HSPLandroid/view/View;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLandroid/view/View;->dispatchDetachedFromWindow()V+]Landroid/view/ImeFocusController;Landroid/view/ImeFocusController;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;Landroid/view/ViewOverlay$OverlayViewGroup;]Landroid/view/ViewOverlay;Landroid/view/ViewGroupOverlay;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Ljava/util/List;Ljava/util/Collections$EmptyList;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList; +HSPLandroid/view/View;->dispatchDetachedFromWindow()V+]Landroid/view/View;missing_types]Ljava/util/List;Ljava/util/Collections$EmptyList;]Landroid/view/ImeFocusController;Landroid/view/ImeFocusController;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/View;->dispatchDraw(Landroid/graphics/Canvas;)V HSPLandroid/view/View;->dispatchDrawableHotspotChanged(FF)V HSPLandroid/view/View;->dispatchFinishTemporaryDetach()V @@ -17061,7 +17137,7 @@ HSPLandroid/view/View;->dispatchProvideAutofillStructure(Landroid/view/ViewStruc HSPLandroid/view/View;->dispatchProvideContentCaptureStructure()V HSPLandroid/view/View;->dispatchProvideStructure(Landroid/view/ViewStructure;II)V HSPLandroid/view/View;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V -HSPLandroid/view/View;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/View;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V HSPLandroid/view/View;->dispatchScreenStateChanged(I)V HSPLandroid/view/View;->dispatchSetActivated(Z)V HSPLandroid/view/View;->dispatchSetPressed(Z)V @@ -17070,18 +17146,18 @@ HSPLandroid/view/View;->dispatchStartTemporaryDetach()V HSPLandroid/view/View;->dispatchSystemUiVisibilityChanged(I)V HSPLandroid/view/View;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z HSPLandroid/view/View;->dispatchVisibilityAggregated(Z)Z+]Landroid/view/View;missing_types -HSPLandroid/view/View;->dispatchVisibilityChanged(Landroid/view/View;I)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->dispatchVisibilityChanged(Landroid/view/View;I)V HSPLandroid/view/View;->dispatchWindowFocusChanged(Z)V HSPLandroid/view/View;->dispatchWindowInsetsAnimationEnd(Landroid/view/WindowInsetsAnimation;)V HSPLandroid/view/View;->dispatchWindowSystemUiVisiblityChanged(I)V -HSPLandroid/view/View;->dispatchWindowVisibilityChanged(I)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->dispatchWindowVisibilityChanged(I)V HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types -HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;Landroid/view/ViewGroup;J)Z+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/AnimationSet;,Landroid/view/animation/RotateAnimation;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation; -HSPLandroid/view/View;->drawAutofilledHighlight(Landroid/graphics/Canvas;)V -HSPLandroid/view/View;->drawBackground(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types +HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;Landroid/view/ViewGroup;J)Z+]Landroid/view/View;missing_types]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/view/ViewGroup;Landroid/widget/FrameLayout;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation;]Landroid/view/animation/Animation;Landroid/view/animation/TranslateAnimation;,Landroid/view/animation/AlphaAnimation; +HSPLandroid/view/View;->drawAutofilledHighlight(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->drawBackground(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/View;->drawDefaultFocusHighlight(Landroid/graphics/Canvas;)V HSPLandroid/view/View;->drawableHotspotChanged(FF)V -HSPLandroid/view/View;->drawableStateChanged()V+]Landroid/animation/StateListAnimator;Landroid/animation/StateListAnimator;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types +HSPLandroid/view/View;->drawableStateChanged()V+]Landroid/animation/StateListAnimator;Landroid/animation/StateListAnimator;]Landroid/view/View;missing_types]Landroid/graphics/drawable/Drawable;Landroid/widget/ScrollBarDrawable;,Landroid/graphics/drawable/RippleDrawable;,Landroid/graphics/drawable/InsetDrawable;,Landroid/graphics/drawable/StateListDrawable;,Landroid/graphics/drawable/ColorDrawable; HSPLandroid/view/View;->drawsWithRenderNode(Landroid/graphics/Canvas;)Z+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/View;->ensureTransformationInfo()V HSPLandroid/view/View;->findAccessibilityFocusHost(Z)Landroid/view/View; @@ -17091,7 +17167,7 @@ HSPLandroid/view/View;->findKeyboardNavigationCluster()Landroid/view/View; HSPLandroid/view/View;->findOnBackInvokedDispatcher()Landroid/window/OnBackInvokedDispatcher; HSPLandroid/view/View;->findUserSetNextFocus(Landroid/view/View;I)Landroid/view/View; HSPLandroid/view/View;->findViewByAutofillIdTraversal(I)Landroid/view/View; -HSPLandroid/view/View;->findViewById(I)Landroid/view/View;+]Landroid/view/View;missing_types +HSPLandroid/view/View;->findViewById(I)Landroid/view/View; HSPLandroid/view/View;->findViewTraversal(I)Landroid/view/View; HSPLandroid/view/View;->findViewWithTag(Ljava/lang/Object;)Landroid/view/View; HSPLandroid/view/View;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View; @@ -17126,7 +17202,7 @@ HSPLandroid/view/View;->getContentDescription()Ljava/lang/CharSequence; HSPLandroid/view/View;->getContext()Landroid/content/Context; HSPLandroid/view/View;->getDefaultSize(II)I HSPLandroid/view/View;->getDisplay()Landroid/view/Display; -HSPLandroid/view/View;->getDrawableRenderNode(Landroid/graphics/drawable/Drawable;Landroid/graphics/RenderNode;)Landroid/graphics/RenderNode;+]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/drawable/Drawable;missing_types]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;missing_types +HSPLandroid/view/View;->getDrawableRenderNode(Landroid/graphics/drawable/Drawable;Landroid/graphics/RenderNode;)Landroid/graphics/RenderNode;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/drawable/Drawable;missing_types]Ljava/lang/Object;missing_types]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/view/View;->getDrawableState()[I+]Landroid/view/View;missing_types HSPLandroid/view/View;->getDrawingCache(Z)Landroid/graphics/Bitmap; HSPLandroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V @@ -17156,16 +17232,16 @@ HSPLandroid/view/View;->getImportantForContentCapture()I HSPLandroid/view/View;->getInverseMatrix()Landroid/graphics/Matrix; HSPLandroid/view/View;->getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState; HSPLandroid/view/View;->getLayerType()I -HSPLandroid/view/View;->getLayoutDirection()I+]Landroid/content/Context;missing_types]Landroid/view/View;missing_types +HSPLandroid/view/View;->getLayoutDirection()I+]Landroid/view/View;missing_types]Landroid/content/Context;missing_types HSPLandroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; HSPLandroid/view/View;->getLeft()I HSPLandroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo; HSPLandroid/view/View;->getLocalVisibleRect(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->getLocationInSurface([I)V -HSPLandroid/view/View;->getLocationInWindow([I)V +HSPLandroid/view/View;->getLocationInWindow([I)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->getLocationOnScreen()[I -HSPLandroid/view/View;->getLocationOnScreen([I)V -HSPLandroid/view/View;->getMatrix()Landroid/graphics/Matrix; +HSPLandroid/view/View;->getLocationOnScreen([I)V+]Landroid/view/View;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/View;->getMatrix()Landroid/graphics/Matrix;+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->getMeasuredHeight()I HSPLandroid/view/View;->getMeasuredState()I HSPLandroid/view/View;->getMeasuredWidth()I @@ -17177,9 +17253,9 @@ HSPLandroid/view/View;->getOutlineProvider()Landroid/view/ViewOutlineProvider; HSPLandroid/view/View;->getOverScrollMode()I HSPLandroid/view/View;->getPaddingBottom()I HSPLandroid/view/View;->getPaddingEnd()I -HSPLandroid/view/View;->getPaddingLeft()I+]Landroid/view/View;missing_types +HSPLandroid/view/View;->getPaddingLeft()I HSPLandroid/view/View;->getPaddingRight()I -HSPLandroid/view/View;->getPaddingStart()I+]Landroid/view/View;missing_types +HSPLandroid/view/View;->getPaddingStart()I HSPLandroid/view/View;->getPaddingTop()I HSPLandroid/view/View;->getParent()Landroid/view/ViewParent; HSPLandroid/view/View;->getPivotX()F @@ -17197,8 +17273,8 @@ HSPLandroid/view/View;->getRotation()F HSPLandroid/view/View;->getRotationX()F HSPLandroid/view/View;->getRotationY()F HSPLandroid/view/View;->getRunQueue()Landroid/view/HandlerActionQueue; -HSPLandroid/view/View;->getScaleX()F -HSPLandroid/view/View;->getScaleY()F +HSPLandroid/view/View;->getScaleX()F+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->getScaleY()F+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->getScrollX()I HSPLandroid/view/View;->getScrollY()I HSPLandroid/view/View;->getSolidColor()I @@ -17217,7 +17293,7 @@ HSPLandroid/view/View;->getTop()I HSPLandroid/view/View;->getTransitionAlpha()F HSPLandroid/view/View;->getTransitionName()Ljava/lang/String; HSPLandroid/view/View;->getTranslationX()F -HSPLandroid/view/View;->getTranslationY()F +HSPLandroid/view/View;->getTranslationY()F+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->getTranslationZ()F HSPLandroid/view/View;->getVerticalFadingEdgeLength()I HSPLandroid/view/View;->getVerticalScrollbarWidth()I+]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable; @@ -17228,11 +17304,11 @@ HSPLandroid/view/View;->getVisibility()I HSPLandroid/view/View;->getWidth()I HSPLandroid/view/View;->getWindowAttachCount()I HSPLandroid/view/View;->getWindowId()Landroid/view/WindowId; -HSPLandroid/view/View;->getWindowInsetsController()Landroid/view/WindowInsetsController; +HSPLandroid/view/View;->getWindowInsetsController()Landroid/view/WindowInsetsController;+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/View;->getWindowSystemUiVisibility()I HSPLandroid/view/View;->getWindowToken()Landroid/os/IBinder; HSPLandroid/view/View;->getWindowVisibility()I -HSPLandroid/view/View;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/View;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V HSPLandroid/view/View;->getX()F HSPLandroid/view/View;->getY()F HSPLandroid/view/View;->getZ()F @@ -17250,7 +17326,7 @@ HSPLandroid/view/View;->hasListenersForAccessibility()Z HSPLandroid/view/View;->hasNestedScrollingParent()Z HSPLandroid/view/View;->hasOnClickListeners()Z HSPLandroid/view/View;->hasOverlappingRendering()Z -HSPLandroid/view/View;->hasRtlSupport()Z+]Landroid/content/Context;missing_types]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo; +HSPLandroid/view/View;->hasRtlSupport()Z HSPLandroid/view/View;->hasSize()Z HSPLandroid/view/View;->hasTransientState()Z HSPLandroid/view/View;->hasTranslationTransientState()Z @@ -17263,22 +17339,22 @@ HSPLandroid/view/View;->includeForAccessibility()Z HSPLandroid/view/View;->includeForAccessibility(Z)Z HSPLandroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View; HSPLandroid/view/View;->initScrollCache()V -HSPLandroid/view/View;->initialAwakenScrollBars()Z+]Landroid/view/View;missing_types +HSPLandroid/view/View;->initialAwakenScrollBars()Z+]Landroid/view/View;Landroid/widget/ScrollView; HSPLandroid/view/View;->initializeFadingEdgeInternal(Landroid/content/res/TypedArray;)V HSPLandroid/view/View;->initializeScrollIndicatorsInternal()V HSPLandroid/view/View;->initializeScrollbarsInternal(Landroid/content/res/TypedArray;)V -HSPLandroid/view/View;->internalSetPadding(IIII)V+]Landroid/view/View;missing_types -HSPLandroid/view/View;->invalidate()V +HSPLandroid/view/View;->internalSetPadding(IIII)V +HSPLandroid/view/View;->invalidate()V+]Landroid/view/View;missing_types HSPLandroid/view/View;->invalidate(IIII)V+]Landroid/view/View;missing_types -HSPLandroid/view/View;->invalidate(Landroid/graphics/Rect;)V +HSPLandroid/view/View;->invalidate(Landroid/graphics/Rect;)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->invalidate(Z)V+]Landroid/view/View;missing_types -HSPLandroid/view/View;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types -HSPLandroid/view/View;->invalidateInternal(IIIIZZ)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types -HSPLandroid/view/View;->invalidateOutline()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/view/View;missing_types]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/view/View;->invalidateInternal(IIIIZZ)V+]Landroid/view/View;megamorphic_types]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewParent;missing_types]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/view/View;->invalidateOutline()V HSPLandroid/view/View;->invalidateParentCaches()V HSPLandroid/view/View;->invalidateParentIfNeeded()V HSPLandroid/view/View;->invalidateParentIfNeededAndWasQuickRejected()V -HSPLandroid/view/View;->invalidateViewProperty(ZZ)V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types +HSPLandroid/view/View;->invalidateViewProperty(ZZ)V HSPLandroid/view/View;->isAccessibilityFocused()Z HSPLandroid/view/View;->isAccessibilityFocusedViewOrHost()Z HSPLandroid/view/View;->isAccessibilityPane()Z @@ -17313,7 +17389,7 @@ HSPLandroid/view/View;->isInScrollingContainer()Z HSPLandroid/view/View;->isInTouchMode()Z HSPLandroid/view/View;->isKeyboardNavigationCluster()Z HSPLandroid/view/View;->isLaidOut()Z -HSPLandroid/view/View;->isLayoutDirectionInherited()Z+]Landroid/view/View;missing_types +HSPLandroid/view/View;->isLayoutDirectionInherited()Z HSPLandroid/view/View;->isLayoutDirectionResolved()Z HSPLandroid/view/View;->isLayoutModeOptical(Ljava/lang/Object;)Z+]Landroid/view/ViewGroup;missing_types HSPLandroid/view/View;->isLayoutRequested()Z @@ -17326,7 +17402,7 @@ HSPLandroid/view/View;->isPaddingResolved()Z HSPLandroid/view/View;->isPressed()Z HSPLandroid/view/View;->isProjectionReceiver()Z HSPLandroid/view/View;->isRootNamespace()Z -HSPLandroid/view/View;->isRtlCompatibilityMode()Z+]Landroid/content/Context;missing_types]Landroid/view/View;missing_types +HSPLandroid/view/View;->isRtlCompatibilityMode()Z HSPLandroid/view/View;->isSelected()Z HSPLandroid/view/View;->isShowingLayoutBounds()Z HSPLandroid/view/View;->isShown()Z @@ -17342,44 +17418,44 @@ HSPLandroid/view/View;->isVerticalScrollBarHidden()Z HSPLandroid/view/View;->isViewIdGenerated(I)Z HSPLandroid/view/View;->isVisibleToUser()Z HSPLandroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z -HSPLandroid/view/View;->jumpDrawablesToCurrentState()V+]Landroid/animation/StateListAnimator;Landroid/animation/StateListAnimator;]Landroid/graphics/drawable/Drawable;missing_types -HSPLandroid/view/View;->layout(IIII)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->jumpDrawablesToCurrentState()V +HSPLandroid/view/View;->layout(IIII)V+]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/View;->makeFrameworkOptionalFitsSystemWindows()V HSPLandroid/view/View;->makeOptionalFitsSystemWindows()V HSPLandroid/view/View;->mapRectFromViewToScreenCoords(Landroid/graphics/RectF;Z)V HSPLandroid/view/View;->mapRectFromViewToWindowCoords(Landroid/graphics/RectF;Z)V -HSPLandroid/view/View;->measure(II)V+]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;]Landroid/view/View;missing_types +HSPLandroid/view/View;->measure(II)V+]Landroid/view/View;megamorphic_types]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray; HSPLandroid/view/View;->mergeDrawableStates([I[I)[I HSPLandroid/view/View;->needGlobalAttributesUpdate(Z)V HSPLandroid/view/View;->needRtlPropertiesResolution()Z HSPLandroid/view/View;->notifyAppearedOrDisappearedForContentCaptureIfNeeded(Z)V HSPLandroid/view/View;->notifyAutofillManagerOnClick()V -HSPLandroid/view/View;->notifyEnterOrExitForAutoFillIfNeeded(Z)V+]Landroid/view/View;missing_types]Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager; +HSPLandroid/view/View;->notifyEnterOrExitForAutoFillIfNeeded(Z)V HSPLandroid/view/View;->notifyGlobalFocusCleared(Landroid/view/View;)V HSPLandroid/view/View;->notifySubtreeAccessibilityStateChangedByParentIfNeeded()V -HSPLandroid/view/View;->notifySubtreeAccessibilityStateChangedIfNeeded()V+]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager; -HSPLandroid/view/View;->notifyViewAccessibilityStateChangedIfNeeded(I)V+]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager; +HSPLandroid/view/View;->notifySubtreeAccessibilityStateChangedIfNeeded()V +HSPLandroid/view/View;->notifyViewAccessibilityStateChangedIfNeeded(I)V HSPLandroid/view/View;->offsetLeftAndRight(I)V HSPLandroid/view/View;->offsetTopAndBottom(I)V HSPLandroid/view/View;->onAnimationEnd()V HSPLandroid/view/View;->onAnimationStart()V HSPLandroid/view/View;->onApplyFrameworkOptionalFitSystemWindows(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; HSPLandroid/view/View;->onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; -HSPLandroid/view/View;->onAttachedToWindow()V+]Landroid/view/View;missing_types]Landroid/view/accessibility/AccessibilityNodeIdManager;Landroid/view/accessibility/AccessibilityNodeIdManager; -HSPLandroid/view/View;->onCancelPendingInputEvents()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->onAttachedToWindow()V+]Landroid/view/accessibility/AccessibilityNodeIdManager;Landroid/view/accessibility/AccessibilityNodeIdManager;]Landroid/view/View;missing_types +HSPLandroid/view/View;->onCancelPendingInputEvents()V HSPLandroid/view/View;->onCheckIsTextEditor()Z HSPLandroid/view/View;->onCloseSystemDialogs(Ljava/lang/String;)V HSPLandroid/view/View;->onConfigurationChanged(Landroid/content/res/Configuration;)V HSPLandroid/view/View;->onCreateDrawableState(I)[I+]Landroid/view/View;missing_types HSPLandroid/view/View;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; HSPLandroid/view/View;->onDetachedFromWindow()V -HSPLandroid/view/View;->onDetachedFromWindowInternal()V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types]Landroid/view/accessibility/AccessibilityNodeIdManager;Landroid/view/accessibility/AccessibilityNodeIdManager; +HSPLandroid/view/View;->onDetachedFromWindowInternal()V+]Landroid/view/accessibility/AccessibilityNodeIdManager;Landroid/view/accessibility/AccessibilityNodeIdManager;]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->onDraw(Landroid/graphics/Canvas;)V HSPLandroid/view/View;->onDrawForeground(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->onDrawHorizontalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V -HSPLandroid/view/View;->onDrawScrollBars(Landroid/graphics/Canvas;)V +HSPLandroid/view/View;->onDrawScrollBars(Landroid/graphics/Canvas;)V+]Landroid/graphics/Interpolator;Landroid/graphics/Interpolator;]Landroid/view/View;missing_types]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable; HSPLandroid/view/View;->onDrawScrollIndicators(Landroid/graphics/Canvas;)V -HSPLandroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V +HSPLandroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V+]Landroid/graphics/drawable/Drawable;Landroid/widget/ScrollBarDrawable; HSPLandroid/view/View;->onFilterTouchEventForSecurity(Landroid/view/MotionEvent;)Z HSPLandroid/view/View;->onFinishInflate()V HSPLandroid/view/View;->onFinishTemporaryDetach()V @@ -17389,7 +17465,7 @@ HSPLandroid/view/View;->onKeyDown(ILandroid/view/KeyEvent;)Z HSPLandroid/view/View;->onKeyPreIme(ILandroid/view/KeyEvent;)Z HSPLandroid/view/View;->onKeyUp(ILandroid/view/KeyEvent;)Z HSPLandroid/view/View;->onLayout(ZIIII)V -HSPLandroid/view/View;->onMeasure(II)V+]Landroid/view/View;Landroid/view/View; +HSPLandroid/view/View;->onMeasure(II)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->onProvideAutofillStructure(Landroid/view/ViewStructure;I)V HSPLandroid/view/View;->onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V HSPLandroid/view/View;->onProvideContentCaptureStructure(Landroid/view/ViewStructure;I)V @@ -17399,14 +17475,14 @@ HSPLandroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V HSPLandroid/view/View;->onRtlPropertiesChanged(I)V HSPLandroid/view/View;->onSaveInstanceState()Landroid/os/Parcelable; HSPLandroid/view/View;->onScreenStateChanged(I)V -HSPLandroid/view/View;->onScrollChanged(IIII)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->onScrollChanged(IIII)V HSPLandroid/view/View;->onSetAlpha(I)Z HSPLandroid/view/View;->onSizeChanged(IIII)V HSPLandroid/view/View;->onStartTemporaryDetach()V HSPLandroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z -HSPLandroid/view/View;->onVisibilityAggregated(Z)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types]Ljava/util/List;Ljava/util/Collections$EmptyList; +HSPLandroid/view/View;->onVisibilityAggregated(Z)V+]Landroid/view/View;megamorphic_types]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/view/View;->onVisibilityChanged(Landroid/view/View;I)V -HSPLandroid/view/View;->onWindowFocusChanged(Z)V+]Landroid/view/View;megamorphic_types +HSPLandroid/view/View;->onWindowFocusChanged(Z)V HSPLandroid/view/View;->onWindowSystemUiVisibilityChanged(I)V HSPLandroid/view/View;->onWindowVisibilityChanged(I)V HSPLandroid/view/View;->overScrollBy(IIIIIIIIZ)Z @@ -17430,9 +17506,9 @@ HSPLandroid/view/View;->postOnAnimation(Ljava/lang/Runnable;)V HSPLandroid/view/View;->postOnAnimationDelayed(Ljava/lang/Runnable;J)V HSPLandroid/view/View;->postSendViewScrolledAccessibilityEventCallback(II)V HSPLandroid/view/View;->postUpdate(Ljava/lang/Runnable;)V -HSPLandroid/view/View;->rebuildOutline()V+]Landroid/graphics/Outline;Landroid/graphics/Outline;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/ViewOutlineProvider;missing_types +HSPLandroid/view/View;->rebuildOutline()V+]Landroid/view/ViewOutlineProvider;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/Outline;Landroid/graphics/Outline; HSPLandroid/view/View;->recomputePadding()V -HSPLandroid/view/View;->refreshDrawableState()V+]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types +HSPLandroid/view/View;->refreshDrawableState()V HSPLandroid/view/View;->registerPendingFrameMetricsObservers()V HSPLandroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z HSPLandroid/view/View;->removeFrameMetricsListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V @@ -17448,30 +17524,30 @@ HSPLandroid/view/View;->requestFocus()Z HSPLandroid/view/View;->requestFocus(I)Z HSPLandroid/view/View;->requestFocus(ILandroid/graphics/Rect;)Z HSPLandroid/view/View;->requestFocusNoSearch(ILandroid/graphics/Rect;)Z -HSPLandroid/view/View;->requestLayout()V+]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/View;->requestLayout()V+]Landroid/view/View;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;]Landroid/view/ViewParent;missing_types HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;Z)Z HSPLandroid/view/View;->requireViewById(I)Landroid/view/View; -HSPLandroid/view/View;->resetDisplayList()V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->resetDisplayList()V HSPLandroid/view/View;->resetPressedState()V -HSPLandroid/view/View;->resetResolvedDrawables()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->resetResolvedDrawables()V HSPLandroid/view/View;->resetResolvedDrawablesInternal()V HSPLandroid/view/View;->resetResolvedLayoutDirection()V -HSPLandroid/view/View;->resetResolvedPadding()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->resetResolvedPadding()V HSPLandroid/view/View;->resetResolvedPaddingInternal()V HSPLandroid/view/View;->resetResolvedTextAlignment()V HSPLandroid/view/View;->resetResolvedTextDirection()V -HSPLandroid/view/View;->resetRtlProperties()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->resetRtlProperties()V HSPLandroid/view/View;->resetSubtreeAccessibilityStateChanged()V -HSPLandroid/view/View;->resolveDrawables()V+]Landroid/graphics/drawable/Drawable;megamorphic_types]Landroid/view/View;missing_types -HSPLandroid/view/View;->resolveLayoutDirection()Z+]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types +HSPLandroid/view/View;->resolveDrawables()V +HSPLandroid/view/View;->resolveLayoutDirection()Z HSPLandroid/view/View;->resolveLayoutParams()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup$LayoutParams;missing_types -HSPLandroid/view/View;->resolvePadding()V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; +HSPLandroid/view/View;->resolvePadding()V+]Landroid/view/View;missing_types]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/InsetDrawable;,Landroid/graphics/drawable/RippleDrawable;,Landroid/graphics/drawable/ColorDrawable; HSPLandroid/view/View;->resolveRtlPropertiesIfNeeded()Z+]Landroid/view/View;missing_types HSPLandroid/view/View;->resolveSize(II)I HSPLandroid/view/View;->resolveSizeAndState(III)I -HSPLandroid/view/View;->resolveTextAlignment()Z+]Landroid/view/View;missing_types -HSPLandroid/view/View;->resolveTextDirection()Z+]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types +HSPLandroid/view/View;->resolveTextAlignment()Z +HSPLandroid/view/View;->resolveTextDirection()Z HSPLandroid/view/View;->restoreHierarchyState(Landroid/util/SparseArray;)V HSPLandroid/view/View;->retrieveExplicitStyle(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V HSPLandroid/view/View;->rootViewRequestFocus()Z @@ -17493,53 +17569,53 @@ HSPLandroid/view/View;->setAccessibilityTraversalBefore(I)V HSPLandroid/view/View;->setActivated(Z)V HSPLandroid/view/View;->setAlpha(F)V HSPLandroid/view/View;->setAlphaInternal(F)V -HSPLandroid/view/View;->setAlphaNoInvalidation(F)Z+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->setAlphaNoInvalidation(F)Z HSPLandroid/view/View;->setAnimation(Landroid/view/animation/Animation;)V HSPLandroid/view/View;->setAutoHandwritingEnabled(Z)V HSPLandroid/view/View;->setAutofilled(ZZ)V HSPLandroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->setBackgroundBounds()V+]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/view/View;->setBackgroundColor(I)V -HSPLandroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; +HSPLandroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/view/View;missing_types]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable;,Landroid/graphics/drawable/RippleDrawable;,Landroid/graphics/drawable/ColorDrawable; HSPLandroid/view/View;->setBackgroundRenderNodeProperties(Landroid/graphics/RenderNode;)V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setBackgroundResource(I)V HSPLandroid/view/View;->setBackgroundTintList(Landroid/content/res/ColorStateList;)V -HSPLandroid/view/View;->setBottom(I)V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types +HSPLandroid/view/View;->setBottom(I)V HSPLandroid/view/View;->setClickable(Z)V HSPLandroid/view/View;->setClipBounds(Landroid/graphics/Rect;)V HSPLandroid/view/View;->setClipToOutline(Z)V HSPLandroid/view/View;->setContentDescription(Ljava/lang/CharSequence;)V HSPLandroid/view/View;->setDefaultFocusHighlightEnabled(Z)V HSPLandroid/view/View;->setDetached(Z)V -HSPLandroid/view/View;->setDisplayListProperties(Landroid/graphics/RenderNode;)V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->setDisplayListProperties(Landroid/graphics/RenderNode;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setDrawingCacheEnabled(Z)V HSPLandroid/view/View;->setElevation(F)V HSPLandroid/view/View;->setEnabled(Z)V HSPLandroid/view/View;->setFitsSystemWindows(Z)V -HSPLandroid/view/View;->setFlags(II)V+]Landroid/view/View;megamorphic_types]Landroid/view/ViewGroup;missing_types]Landroid/view/ViewParent;missing_types]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager; +HSPLandroid/view/View;->setFlags(II)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Landroid/view/ViewParent;missing_types HSPLandroid/view/View;->setFocusable(I)V HSPLandroid/view/View;->setFocusable(Z)V HSPLandroid/view/View;->setFocusableInTouchMode(Z)V HSPLandroid/view/View;->setForeground(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->setForegroundGravity(I)V -HSPLandroid/view/View;->setFrame(IIII)Z+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->setFrame(IIII)Z+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setHandwritingArea(Landroid/graphics/Rect;)V HSPLandroid/view/View;->setHapticFeedbackEnabled(Z)V HSPLandroid/view/View;->setHasTransientState(Z)V HSPLandroid/view/View;->setHorizontalFadingEdgeEnabled(Z)V HSPLandroid/view/View;->setHorizontalScrollBarEnabled(Z)V HSPLandroid/view/View;->setId(I)V -HSPLandroid/view/View;->setImportantForAccessibility(I)V+]Landroid/view/View;megamorphic_types +HSPLandroid/view/View;->setImportantForAccessibility(I)V HSPLandroid/view/View;->setImportantForAutofill(I)V HSPLandroid/view/View;->setImportantForContentCapture(I)V HSPLandroid/view/View;->setIsRootNamespace(Z)V HSPLandroid/view/View;->setKeepScreenOn(Z)V HSPLandroid/view/View;->setKeyboardNavigationCluster(Z)V -HSPLandroid/view/View;->setKeyedTag(ILjava/lang/Object;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/View;->setKeyedTag(ILjava/lang/Object;)V HSPLandroid/view/View;->setLayerPaint(Landroid/graphics/Paint;)V HSPLandroid/view/View;->setLayerType(ILandroid/graphics/Paint;)V HSPLandroid/view/View;->setLayoutDirection(I)V -HSPLandroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;Lcom/android/internal/policy/DecorView; HSPLandroid/view/View;->setLeft(I)V HSPLandroid/view/View;->setLeftTopRightBottom(IIII)V HSPLandroid/view/View;->setLongClickable(Z)V @@ -17564,21 +17640,21 @@ HSPLandroid/view/View;->setOutlineProvider(Landroid/view/ViewOutlineProvider;)V HSPLandroid/view/View;->setOutlineProviderFromAttribute(I)V HSPLandroid/view/View;->setOutlineSpotShadowColor(I)V HSPLandroid/view/View;->setOverScrollMode(I)V -HSPLandroid/view/View;->setPadding(IIII)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->setPadding(IIII)V HSPLandroid/view/View;->setPaddingRelative(IIII)V HSPLandroid/view/View;->setPivotX(F)V HSPLandroid/view/View;->setPivotY(F)V HSPLandroid/view/View;->setPointerIcon(Landroid/view/PointerIcon;)V HSPLandroid/view/View;->setPressed(Z)V HSPLandroid/view/View;->setRenderEffect(Landroid/graphics/RenderEffect;)V -HSPLandroid/view/View;->setRight(I)V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->setRight(I)V HSPLandroid/view/View;->setRotation(F)V HSPLandroid/view/View;->setRotationX(F)V HSPLandroid/view/View;->setRotationY(F)V HSPLandroid/view/View;->setSaveEnabled(Z)V HSPLandroid/view/View;->setSaveFromParentEnabled(Z)V -HSPLandroid/view/View;->setScaleX(F)V -HSPLandroid/view/View;->setScaleY(F)V +HSPLandroid/view/View;->setScaleX(F)V+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->setScaleY(F)V+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setScrollContainer(Z)V HSPLandroid/view/View;->setScrollIndicators(II)V HSPLandroid/view/View;->setScrollX(I)V @@ -17601,40 +17677,41 @@ HSPLandroid/view/View;->setTransitionName(Ljava/lang/String;)V HSPLandroid/view/View;->setTransitionVisibility(I)V HSPLandroid/view/View;->setTranslationX(F)V HSPLandroid/view/View;->setTranslationY(F)V -HSPLandroid/view/View;->setTranslationZ(F)V +HSPLandroid/view/View;->setTranslationZ(F)V+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setVerticalScrollBarEnabled(Z)V -HSPLandroid/view/View;->setVisibility(I)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->setVisibility(I)V HSPLandroid/view/View;->setWillNotDraw(Z)V HSPLandroid/view/View;->setX(F)V HSPLandroid/view/View;->setY(F)V -HSPLandroid/view/View;->shouldDrawRoundScrollbar()Z+]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/Resources;Landroid/content/res/Resources; -HSPLandroid/view/View;->sizeChange(IIII)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/ViewOverlay;Landroid/view/ViewGroupOverlay; +HSPLandroid/view/View;->shouldDrawRoundScrollbar()Z+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/Configuration;Landroid/content/res/Configuration; +HSPLandroid/view/View;->sizeChange(IIII)V HSPLandroid/view/View;->skipInvalidate()Z+]Landroid/view/ViewGroup;missing_types HSPLandroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V HSPLandroid/view/View;->startNestedScroll(I)Z HSPLandroid/view/View;->stopNestedScroll()V HSPLandroid/view/View;->switchDefaultFocusHighlight()V HSPLandroid/view/View;->toString()Ljava/lang/String; -HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V +HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->unFocus(Landroid/view/View;)V -HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/view/Choreographer;Landroid/view/Choreographer; +HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V -HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/graphics/RenderNode;+]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;Landroid/view/ViewOverlay$OverlayViewGroup;]Landroid/view/ViewOverlay;Landroid/view/ViewGroupOverlay; +HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/graphics/RenderNode;+]Landroid/view/View;megamorphic_types]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->updateFocusedInCluster(Landroid/view/View;I)V HSPLandroid/view/View;->updateHandwritingArea()V HSPLandroid/view/View;->updateKeepClearRects()V HSPLandroid/view/View;->updateLocalSystemUiVisibility(II)Z HSPLandroid/view/View;->updatePflags3AndNotifyA11yIfChanged(IZ)V -HSPLandroid/view/View;->updatePositionUpdateListener()V+]Landroid/view/View;missing_types]Ljava/util/List;Ljava/util/Collections$EmptyList; +HSPLandroid/view/View;->updatePositionUpdateListener()V HSPLandroid/view/View;->updatePreferKeepClearForFocus()V HSPLandroid/view/View;->updateSystemGestureExclusionRects()V HSPLandroid/view/View;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z HSPLandroid/view/View;->willNotDraw()Z HSPLandroid/view/ViewAnimationHostBridge;-><init>(Landroid/view/View;)V HSPLandroid/view/ViewAnimationHostBridge;->isAttached()Z +HSPLandroid/view/ViewAnimationHostBridge;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V HSPLandroid/view/ViewAnimationHostBridge;->registerVectorDrawableAnimator(Landroid/view/NativeVectorDrawableAnimator;)V HSPLandroid/view/ViewConfiguration;-><init>(Landroid/content/Context;)V -HSPLandroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; HSPLandroid/view/ViewConfiguration;->getDoubleTapTimeout()I HSPLandroid/view/ViewConfiguration;->getLongPressTimeout()I HSPLandroid/view/ViewConfiguration;->getPressedStateDuration()I @@ -17681,9 +17758,9 @@ HSPLandroid/view/ViewGroup$LayoutParams;-><init>(II)V HSPLandroid/view/ViewGroup$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/view/ViewGroup$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup$LayoutParams;->resolveLayoutDirection(I)V -HSPLandroid/view/ViewGroup$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; +HSPLandroid/view/ViewGroup$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(II)V -HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/Context;missing_types]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/view/ViewGroup$MarginLayoutParams;missing_types +HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/view/ViewGroup$MarginLayoutParams;missing_types]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/view/ViewGroup$MarginLayoutParams;)V HSPLandroid/view/ViewGroup$MarginLayoutParams;->doResolveMargins()V @@ -17709,12 +17786,12 @@ HSPLandroid/view/ViewGroup;->addTouchTarget(Landroid/view/View;I)Landroid/view/V HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;I)V HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;II)V -HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)Z HSPLandroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z -HSPLandroid/view/ViewGroup;->addViewInner(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V+]Landroid/animation/LayoutTransition;Landroid/animation/LayoutTransition;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->addViewInner(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->bringChildToFront(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->buildOrderedChildList()Ljava/util/ArrayList; HSPLandroid/view/ViewGroup;->buildTouchDispatchChildList()Ljava/util/ArrayList; @@ -17731,20 +17808,20 @@ HSPLandroid/view/ViewGroup;->clearDisappearingChildren()V HSPLandroid/view/ViewGroup;->clearFocus()V HSPLandroid/view/ViewGroup;->clearFocusedInCluster()V HSPLandroid/view/ViewGroup;->clearTouchTargets()V -HSPLandroid/view/ViewGroup;->destroyHardwareResources()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->destroyHardwareResources()V HSPLandroid/view/ViewGroup;->detachAllViewsFromParent()V HSPLandroid/view/ViewGroup;->detachViewFromParent(I)V HSPLandroid/view/ViewGroup;->dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; -HSPLandroid/view/ViewGroup;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->dispatchCancelPendingInputEvents()V+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V +HSPLandroid/view/ViewGroup;->dispatchCancelPendingInputEvents()V HSPLandroid/view/ViewGroup;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V HSPLandroid/view/ViewGroup;->dispatchDetachedFromWindow()V -HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/animation/LayoutAnimationController;Landroid/view/animation/LayoutAnimationController; +HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/ViewGroup;->dispatchDrawableHotspotChanged(FF)V HSPLandroid/view/ViewGroup;->dispatchFinishTemporaryDetach()V HSPLandroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V -HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V+]Landroid/view/View;missing_types]Landroid/view/ViewOverlay;Landroid/view/ViewGroupOverlay; +HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V+]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewGroup;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewGroup;->dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewGroup;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V @@ -17758,17 +17835,17 @@ HSPLandroid/view/ViewGroup;->dispatchSetSelected(Z)V HSPLandroid/view/ViewGroup;->dispatchStartTemporaryDetach()V HSPLandroid/view/ViewGroup;->dispatchSystemUiVisibilityChanged(I)V HSPLandroid/view/ViewGroup;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V -HSPLandroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/ViewGroup$TouchTarget;Landroid/view/ViewGroup$TouchTarget;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; +HSPLandroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z+]Landroid/view/View;missing_types]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewGroup;->dispatchUnhandledKeyEvent(Landroid/view/KeyEvent;)Landroid/view/View; -HSPLandroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V+]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->dispatchViewRemoved(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->dispatchVisibilityAggregated(Z)Z+]Landroid/view/View;missing_types -HSPLandroid/view/ViewGroup;->dispatchVisibilityChanged(Landroid/view/View;I)V+]Landroid/view/View;missing_types -HSPLandroid/view/ViewGroup;->dispatchWindowFocusChanged(Z)V+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->dispatchVisibilityChanged(Landroid/view/View;I)V +HSPLandroid/view/ViewGroup;->dispatchWindowFocusChanged(Z)V HSPLandroid/view/ViewGroup;->dispatchWindowInsetsAnimationEnd(Landroid/view/WindowInsetsAnimation;)V HSPLandroid/view/ViewGroup;->dispatchWindowSystemUiVisiblityChanged(I)V -HSPLandroid/view/ViewGroup;->dispatchWindowVisibilityChanged(I)V+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->dispatchWindowVisibilityChanged(I)V HSPLandroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->drawableStateChanged()V HSPLandroid/view/ViewGroup;->endViewTransition(Landroid/view/View;)V @@ -17778,7 +17855,7 @@ HSPLandroid/view/ViewGroup;->findFocus()Landroid/view/View; HSPLandroid/view/ViewGroup;->findOnBackInvokedDispatcherForChild(Landroid/view/View;Landroid/view/View;)Landroid/window/OnBackInvokedDispatcher; HSPLandroid/view/ViewGroup;->findViewByAutofillIdTraversal(I)Landroid/view/View; HSPLandroid/view/ViewGroup;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View; -HSPLandroid/view/ViewGroup;->findViewTraversal(I)Landroid/view/View;+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->findViewTraversal(I)Landroid/view/View; HSPLandroid/view/ViewGroup;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View; HSPLandroid/view/ViewGroup;->finishAnimatingView(Landroid/view/View;Landroid/view/animation/Animation;)V HSPLandroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View; @@ -17794,7 +17871,7 @@ HSPLandroid/view/ViewGroup;->getChildCount()I HSPLandroid/view/ViewGroup;->getChildMeasureSpec(III)I HSPLandroid/view/ViewGroup;->getChildTransformation()Landroid/view/animation/Transformation; HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z -HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Z)Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/ViewParent;Landroid/view/ViewRootImpl; +HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Z)Z+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewParent;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewGroup;->getChildrenForAutofill(I)Landroid/view/ViewGroup$ChildListForAutoFillOrContentCapture; HSPLandroid/view/ViewGroup;->getChildrenForContentCapture()Landroid/view/ViewGroup$ChildListForAutoFillOrContentCapture; HSPLandroid/view/ViewGroup;->getClipChildren()Z @@ -17820,8 +17897,8 @@ HSPLandroid/view/ViewGroup;->hasTransientState()Z HSPLandroid/view/ViewGroup;->hasUnhandledKeyListener()Z HSPLandroid/view/ViewGroup;->hasWindowInsetsAnimationCallback()Z HSPLandroid/view/ViewGroup;->indexOfChild(Landroid/view/View;)I -HSPLandroid/view/ViewGroup;->initFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->initViewGroup()V+]Landroid/content/Context;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->initFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)V +HSPLandroid/view/ViewGroup;->initViewGroup()V HSPLandroid/view/ViewGroup;->internalSetPadding(IIII)V HSPLandroid/view/ViewGroup;->invalidateChild(Landroid/view/View;Landroid/graphics/Rect;)V+]Landroid/view/ViewGroup;missing_types HSPLandroid/view/ViewGroup;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent; @@ -17830,7 +17907,7 @@ HSPLandroid/view/ViewGroup;->isLayoutModeOptical()Z HSPLandroid/view/ViewGroup;->isLayoutSuppressed()Z HSPLandroid/view/ViewGroup;->isTransformedTouchPointInView(FFLandroid/view/View;Landroid/graphics/PointF;)Z HSPLandroid/view/ViewGroup;->isViewTransitioning(Landroid/view/View;)Z -HSPLandroid/view/ViewGroup;->jumpDrawablesToCurrentState()V+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->jumpDrawablesToCurrentState()V HSPLandroid/view/ViewGroup;->layout(IIII)V HSPLandroid/view/ViewGroup;->makeFrameworkOptionalFitsSystemWindows()V HSPLandroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V @@ -17847,9 +17924,9 @@ HSPLandroid/view/ViewGroup;->onCreateDrawableState(I)[I HSPLandroid/view/ViewGroup;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V+]Landroid/view/ViewParent;missing_types HSPLandroid/view/ViewGroup;->onDescendantUnbufferedRequested()V HSPLandroid/view/ViewGroup;->onDetachedFromWindow()V -HSPLandroid/view/ViewGroup;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z +HSPLandroid/view/ViewGroup;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z -HSPLandroid/view/ViewGroup;->onSetLayoutParams(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->onSetLayoutParams(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z HSPLandroid/view/ViewGroup;->onViewAdded(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->onViewRemoved(Landroid/view/View;)V @@ -17870,22 +17947,22 @@ HSPLandroid/view/ViewGroup;->removeViewInternal(ILandroid/view/View;)V HSPLandroid/view/ViewGroup;->removeViewInternal(Landroid/view/View;)Z HSPLandroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V HSPLandroid/view/ViewGroup;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z -HSPLandroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V +HSPLandroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V+]Landroid/view/ViewParent;missing_types HSPLandroid/view/ViewGroup;->requestFocus(ILandroid/graphics/Rect;)Z HSPLandroid/view/ViewGroup;->requestTransitionStart(Landroid/animation/LayoutTransition;)V HSPLandroid/view/ViewGroup;->requestTransparentRegion(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->resetCancelNextUpFlag(Landroid/view/View;)Z -HSPLandroid/view/ViewGroup;->resetResolvedDrawables()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resetResolvedLayoutDirection()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resetResolvedPadding()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resetResolvedTextAlignment()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resetResolvedTextDirection()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resetSubtreeAccessibilityStateChanged()V+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->resetResolvedDrawables()V +HSPLandroid/view/ViewGroup;->resetResolvedLayoutDirection()V +HSPLandroid/view/ViewGroup;->resetResolvedPadding()V +HSPLandroid/view/ViewGroup;->resetResolvedTextAlignment()V +HSPLandroid/view/ViewGroup;->resetResolvedTextDirection()V +HSPLandroid/view/ViewGroup;->resetSubtreeAccessibilityStateChanged()V HSPLandroid/view/ViewGroup;->resetTouchState()V HSPLandroid/view/ViewGroup;->resolveDrawables()V HSPLandroid/view/ViewGroup;->resolveLayoutDirection()Z HSPLandroid/view/ViewGroup;->resolveLayoutParams()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resolvePadding()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->resolvePadding()V HSPLandroid/view/ViewGroup;->resolveRtlPropertiesIfNeeded()Z+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types HSPLandroid/view/ViewGroup;->resolveTextAlignment()Z HSPLandroid/view/ViewGroup;->resolveTextDirection()Z @@ -17906,7 +17983,7 @@ HSPLandroid/view/ViewGroup;->shouldBlockFocusForTouchscreen()Z HSPLandroid/view/ViewGroup;->shouldDelayChildPressedState()Z HSPLandroid/view/ViewGroup;->startViewTransition(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->suppressLayout(Z)V -HSPLandroid/view/ViewGroup;->touchAccessibilityNodeProviderIfNeeded(Landroid/view/View;)V+]Landroid/content/Context;missing_types +HSPLandroid/view/ViewGroup;->touchAccessibilityNodeProviderIfNeeded(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->transformPointToViewLocal([FLandroid/view/View;)V HSPLandroid/view/ViewGroup;->unFocus(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->updateLocalSystemUiVisibility(II)Z @@ -17938,7 +18015,7 @@ HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;-><init>(Landroid/vi HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationCancel(Landroid/animation/Animator;)V HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationStart(Landroid/animation/Animator;)V -HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/view/View;Landroid/widget/LinearLayout;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; HSPLandroid/view/ViewPropertyAnimator$NameValuesHolder;-><init>(IFF)V HSPLandroid/view/ViewPropertyAnimator$PropertyBundle;-><init>(ILjava/util/ArrayList;)V HSPLandroid/view/ViewPropertyAnimator$PropertyBundle;->cancel(I)Z @@ -17962,6 +18039,7 @@ HSPLandroid/view/ViewPropertyAnimator;->translationY(F)Landroid/view/ViewPropert HSPLandroid/view/ViewPropertyAnimator;->withEndAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator; HSPLandroid/view/ViewPropertyAnimator;->withLayer()Landroid/view/ViewPropertyAnimator; HSPLandroid/view/ViewPropertyAnimator;->withStartAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator; +HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda0;->run()V HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda17;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda3;->run()V HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;-><init>(Landroid/view/ViewRootImpl;)V @@ -17978,13 +18056,13 @@ HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;-><init>(Landroid/view/View HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processMotionEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I -HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I+]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager; +HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$HighContrastTextManager;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$ImeInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V HSPLandroid/view/ViewRootImpl$ImeInputStage;->onFinishedInputEvent(Ljava/lang/Object;Z)V HSPLandroid/view/ViewRootImpl$ImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$InputMetricsListener;-><init>(Landroid/view/ViewRootImpl;)V -HSPLandroid/view/ViewRootImpl$InputMetricsListener;->onFrameMetricsAvailable(I)V +HSPLandroid/view/ViewRootImpl$InputMetricsListener;->onFrameMetricsAvailable(I)V+]Landroid/view/ViewRootImpl$WindowInputEventReceiver;Landroid/view/ViewRootImpl$WindowInputEventReceiver; HSPLandroid/view/ViewRootImpl$InputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V HSPLandroid/view/ViewRootImpl$InputStage;->apply(Landroid/view/ViewRootImpl$QueuedInputEvent;I)V HSPLandroid/view/ViewRootImpl$InputStage;->deliver(Landroid/view/ViewRootImpl$QueuedInputEvent;)V @@ -17993,12 +18071,12 @@ HSPLandroid/view/ViewRootImpl$InputStage;->forward(Landroid/view/ViewRootImpl$Qu HSPLandroid/view/ViewRootImpl$InputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V HSPLandroid/view/ViewRootImpl$InputStage;->onDetachedFromWindow()V HSPLandroid/view/ViewRootImpl$InputStage;->onWindowFocusChanged(Z)V -HSPLandroid/view/ViewRootImpl$InputStage;->shouldDropInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)Z+]Landroid/view/InputEvent;Landroid/view/MotionEvent; -HSPLandroid/view/ViewRootImpl$InputStage;->traceEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;J)V+]Landroid/view/InputEvent;Landroid/view/MotionEvent;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;Landroid/view/ViewRootImpl$EarlyPostImeInputStage;,Landroid/view/ViewRootImpl$NativePostImeInputStage;,Landroid/view/ViewRootImpl$SyntheticInputStage;,Landroid/view/ViewRootImpl$ViewPostImeInputStage;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/ViewRootImpl$InputStage;->shouldDropInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)Z +HSPLandroid/view/ViewRootImpl$InputStage;->traceEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;J)V HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->addView(Landroid/view/View;)V+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->postIfNeededLocked()V+]Landroid/view/Choreographer;Landroid/view/Choreographer; -HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->removeView(Landroid/view/View;)V+]Landroid/view/Choreographer;Landroid/view/Choreographer;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->removeView(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->run()V+]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewRootImpl$NativePostImeInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V HSPLandroid/view/ViewRootImpl$NativePostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I @@ -18017,6 +18095,7 @@ HSPLandroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->reset HSPLandroid/view/ViewRootImpl$SyntheticJoystickHandler;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$SyntheticJoystickHandler;->cancel()V HSPLandroid/view/ViewRootImpl$SyntheticKeyboardHandler;-><init>(Landroid/view/ViewRootImpl;)V +HSPLandroid/view/ViewRootImpl$SyntheticTouchNavigationHandler$1;-><init>(Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;)V HSPLandroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$SyntheticTrackballHandler;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$SystemUiVisibilityInfo;-><init>()V @@ -18033,7 +18112,7 @@ HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->maybeUpdatePointerIcon(Lan HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I -HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I+]Landroid/view/HandwritingInitiator;Landroid/view/HandwritingInitiator;]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$ViewPreImeInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V HSPLandroid/view/ViewRootImpl$ViewPreImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$ViewRootHandler;-><init>(Landroid/view/ViewRootImpl;)V @@ -18045,6 +18124,7 @@ HSPLandroid/view/ViewRootImpl$W;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$W;->closeSystemDialogs(Ljava/lang/String;)V HSPLandroid/view/ViewRootImpl$W;->dispatchAppVisibility(Z)V HSPLandroid/view/ViewRootImpl$W;->dispatchWindowShown()V +HSPLandroid/view/ViewRootImpl$W;->insetsControlChanged(Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;)V HSPLandroid/view/ViewRootImpl$W;->moved(II)V HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;-><init>(Landroid/view/ViewRootImpl;Landroid/view/InputChannel;Landroid/os/Looper;)V HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->dispose()V @@ -18053,27 +18133,29 @@ HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onFocusEvent(Z)V HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;)V HSPLandroid/view/ViewRootImpl;->-$$Nest$fgetmBlastBufferQueue(Landroid/view/ViewRootImpl;)Landroid/graphics/BLASTBufferQueue; HSPLandroid/view/ViewRootImpl;->-$$Nest$fputmProfileRendering(Landroid/view/ViewRootImpl;Z)V +HSPLandroid/view/ViewRootImpl;->-$$Nest$mdispatchInsetsControlChanged(Landroid/view/ViewRootImpl;Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;)V HSPLandroid/view/ViewRootImpl;->-$$Nest$mprofileRendering(Landroid/view/ViewRootImpl;Z)V HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;)V -HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/IWindowSession;Landroid/view/WindowLayout;)V+]Landroid/content/Context;missing_types]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/WindowLeaked;Landroid/view/WindowLeaked;]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Optional;Ljava/util/Optional; +HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/IWindowSession;Landroid/view/WindowLayout;)V HSPLandroid/view/ViewRootImpl;->addConfigCallback(Landroid/view/ViewRootImpl$ConfigChangedCallback;)V -HSPLandroid/view/ViewRootImpl;->addFrameCommitCallbackIfNeeded()V +HSPLandroid/view/ViewRootImpl;->addFrameCommitCallbackIfNeeded()V+]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->addSurfaceChangedCallback(Landroid/view/ViewRootImpl$SurfaceChangedCallback;)V HSPLandroid/view/ViewRootImpl;->addWindowCallbacks(Landroid/view/WindowCallbacks;)V +HSPLandroid/view/ViewRootImpl;->adjustLayoutParamsForCompatibility(Landroid/view/WindowManager$LayoutParams;)V HSPLandroid/view/ViewRootImpl;->applyKeepScreenOnFlag(Landroid/view/WindowManager$LayoutParams;)V -HSPLandroid/view/ViewRootImpl;->applyTransactionOnDraw(Landroid/view/SurfaceControl$Transaction;)Z +HSPLandroid/view/ViewRootImpl;->applyTransactionOnDraw(Landroid/view/SurfaceControl$Transaction;)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->canResolveTextDirection()Z -HSPLandroid/view/ViewRootImpl;->cancelInvalidate(Landroid/view/View;)V+]Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler; +HSPLandroid/view/ViewRootImpl;->cancelInvalidate(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl;->checkForLeavingTouchModeAndConsume(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewRootImpl;->checkThread()V HSPLandroid/view/ViewRootImpl;->childDrawableStateChanged(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl;->childHasTransientStateChanged(Landroid/view/View;Z)V HSPLandroid/view/ViewRootImpl;->clearChildFocus(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl;->clearLowProfileModeIfNeeded(IZ)V -HSPLandroid/view/ViewRootImpl;->collectViewAttributes()Z+]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ViewRootImpl;->collectViewAttributes()Z+]Landroid/view/View;Lcom/android/internal/policy/DecorView; HSPLandroid/view/ViewRootImpl;->controlInsetsForCompatibility(Landroid/view/WindowManager$LayoutParams;)V -HSPLandroid/view/ViewRootImpl;->createSyncIfNeeded()V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/window/SurfaceSyncGroup;Landroid/window/SurfaceSyncGroup;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V+]Landroid/view/InputEvent;Landroid/view/MotionEvent;]Landroid/view/ViewRootImpl$InputStage;Landroid/view/ViewRootImpl$EarlyPostImeInputStage;]Landroid/view/ViewRootImpl$QueuedInputEvent;Landroid/view/ViewRootImpl$QueuedInputEvent;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/ViewRootImpl;->createSyncIfNeeded()V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/window/SurfaceSyncGroup;Landroid/window/SurfaceSyncGroup; +HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V HSPLandroid/view/ViewRootImpl;->destroyHardwareRenderer()V HSPLandroid/view/ViewRootImpl;->destroyHardwareResources()V HSPLandroid/view/ViewRootImpl;->destroySurface()V @@ -18085,14 +18167,15 @@ HSPLandroid/view/ViewRootImpl;->dispatchCheckFocus()V HSPLandroid/view/ViewRootImpl;->dispatchDetachedFromWindow()V HSPLandroid/view/ViewRootImpl;->dispatchDispatchSystemUiVisibilityChanged()V HSPLandroid/view/ViewRootImpl;->dispatchFocusEvent(ZZ)V +HSPLandroid/view/ViewRootImpl;->dispatchInsetsControlChanged(Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;)V HSPLandroid/view/ViewRootImpl;->dispatchInvalidateDelayed(Landroid/view/View;J)V -HSPLandroid/view/ViewRootImpl;->dispatchInvalidateOnAnimation(Landroid/view/View;)V +HSPLandroid/view/ViewRootImpl;->dispatchInvalidateOnAnimation(Landroid/view/View;)V+]Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable; HSPLandroid/view/ViewRootImpl;->dispatchMoved(II)V HSPLandroid/view/ViewRootImpl;->doConsumeBatchedInput(J)Z HSPLandroid/view/ViewRootImpl;->doDie()V -HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V+]Landroid/view/InputEventAssigner;Landroid/view/InputEventAssigner;]Landroid/view/ViewFrameInfo;Landroid/view/ViewFrameInfo; -HSPLandroid/view/ViewRootImpl;->doTraversal()V+]Landroid/os/Looper;Landroid/os/Looper;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler; -HSPLandroid/view/ViewRootImpl;->draw(ZLandroid/window/SurfaceSyncGroup;Z)Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/HdrRenderState;Landroid/view/HdrRenderState;]Landroid/view/Surface;Landroid/view/Surface;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver; +HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V +HSPLandroid/view/ViewRootImpl;->doTraversal()V+]Landroid/os/Looper;Landroid/os/Looper;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/os/MessageQueue;Landroid/os/MessageQueue; +HSPLandroid/view/ViewRootImpl;->draw(ZLandroid/window/SurfaceSyncGroup;Z)Z+]Landroid/view/Surface;Landroid/view/Surface;]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/HdrRenderState;Landroid/view/HdrRenderState;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/ViewRootImpl;->drawAccessibilityFocusedDrawableIfNeeded(Landroid/graphics/Canvas;)V HSPLandroid/view/ViewRootImpl;->drawSoftware(Landroid/view/Surface;Landroid/view/View$AttachInfo;IIZLandroid/graphics/Rect;Landroid/graphics/Rect;)Z HSPLandroid/view/ViewRootImpl;->enableHardwareAcceleration(Landroid/view/WindowManager$LayoutParams;)V @@ -18114,10 +18197,10 @@ HSPLandroid/view/ViewRootImpl;->getAutofillManager()Landroid/view/autofill/Autof HSPLandroid/view/ViewRootImpl;->getBufferTransformHint()I HSPLandroid/view/ViewRootImpl;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z HSPLandroid/view/ViewRootImpl;->getCompatWindowConfiguration()Landroid/app/WindowConfiguration; -HSPLandroid/view/ViewRootImpl;->getConfiguration()Landroid/content/res/Configuration;+]Landroid/content/Context;Lcom/android/internal/policy/DecorContext;]Landroid/content/res/Resources;Landroid/content/res/Resources; +HSPLandroid/view/ViewRootImpl;->getConfiguration()Landroid/content/res/Configuration;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/Context;Lcom/android/internal/policy/DecorContext; HSPLandroid/view/ViewRootImpl;->getDisplayId()I HSPLandroid/view/ViewRootImpl;->getHandwritingInitiator()Landroid/view/HandwritingInitiator; -HSPLandroid/view/ViewRootImpl;->getHostVisibility()I+]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ViewRootImpl;->getHostVisibility()I+]Landroid/view/View;Lcom/android/internal/policy/DecorView; HSPLandroid/view/ViewRootImpl;->getImeFocusController()Landroid/view/ImeFocusController; HSPLandroid/view/ViewRootImpl;->getImpliedSystemUiVisibility(Landroid/view/WindowManager$LayoutParams;)I HSPLandroid/view/ViewRootImpl;->getInsetsController()Landroid/view/InsetsController; @@ -18131,14 +18214,14 @@ HSPLandroid/view/ViewRootImpl;->getSurfaceControl()Landroid/view/SurfaceControl; HSPLandroid/view/ViewRootImpl;->getSurfaceSequenceId()I HSPLandroid/view/ViewRootImpl;->getTextDirection()I HSPLandroid/view/ViewRootImpl;->getTitle()Ljava/lang/CharSequence; -HSPLandroid/view/ViewRootImpl;->getUpdatedFrameInfo()Landroid/graphics/FrameInfo; +HSPLandroid/view/ViewRootImpl;->getUpdatedFrameInfo()Landroid/graphics/FrameInfo;+]Landroid/view/InputEventAssigner;Landroid/view/InputEventAssigner;]Landroid/view/ViewFrameInfo;Landroid/view/ViewFrameInfo; HSPLandroid/view/ViewRootImpl;->getValidLayoutRequesters(Ljava/util/ArrayList;Z)Ljava/util/ArrayList; HSPLandroid/view/ViewRootImpl;->getView()Landroid/view/View; HSPLandroid/view/ViewRootImpl;->getViewBoundsSandboxingEnabled()Z HSPLandroid/view/ViewRootImpl;->getWindowBoundsInsetSystemBars()Landroid/graphics/Rect; HSPLandroid/view/ViewRootImpl;->getWindowFlags()I -HSPLandroid/view/ViewRootImpl;->getWindowInsets(Z)Landroid/view/WindowInsets;+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/graphics/Insets;Landroid/graphics/Insets;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/WindowInsets;Landroid/view/WindowInsets; -HSPLandroid/view/ViewRootImpl;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/ViewRootImpl;->getWindowInsets(Z)Landroid/view/WindowInsets; +HSPLandroid/view/ViewRootImpl;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V HSPLandroid/view/ViewRootImpl;->handleAppVisibility(Z)V HSPLandroid/view/ViewRootImpl;->handleContentCaptureFlush()V HSPLandroid/view/ViewRootImpl;->handleDispatchSystemUiVisibilityChanged()V @@ -18147,6 +18230,7 @@ HSPLandroid/view/ViewRootImpl;->invalidate()V+]Landroid/graphics/Rect;Landroid/g HSPLandroid/view/ViewRootImpl;->invalidateChild(Landroid/view/View;Landroid/graphics/Rect;)V HSPLandroid/view/ViewRootImpl;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent; HSPLandroid/view/ViewRootImpl;->invalidateRectOnScreen(Landroid/graphics/Rect;)V +HSPLandroid/view/ViewRootImpl;->isAccessibilityFocusDirty()Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; HSPLandroid/view/ViewRootImpl;->isContentCaptureEnabled()Z HSPLandroid/view/ViewRootImpl;->isContentCaptureReallyEnabled()Z HSPLandroid/view/ViewRootImpl;->isHardwareEnabled()Z+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; @@ -18164,10 +18248,10 @@ HSPLandroid/view/ViewRootImpl;->lambda$new$1(Landroid/view/View;)Ljava/util/List HSPLandroid/view/ViewRootImpl;->lambda$new$2(Landroid/view/View;)Ljava/util/List; HSPLandroid/view/ViewRootImpl;->loadSystemProperties()V HSPLandroid/view/ViewRootImpl;->maybeFireAccessibilityWindowStateChangedEvent()V -HSPLandroid/view/ViewRootImpl;->maybeHandleWindowMove(Landroid/graphics/Rect;)V+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; +HSPLandroid/view/ViewRootImpl;->maybeHandleWindowMove(Landroid/graphics/Rect;)V HSPLandroid/view/ViewRootImpl;->maybeUpdateTooltip(Landroid/view/MotionEvent;)V -HSPLandroid/view/ViewRootImpl;->measureHierarchy(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;IIZ)Z+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView; -HSPLandroid/view/ViewRootImpl;->mergeWithNextTransaction(Landroid/view/SurfaceControl$Transaction;J)V +HSPLandroid/view/ViewRootImpl;->measureHierarchy(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;IIZ)Z+]Landroid/view/View;Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ViewRootImpl;->mergeWithNextTransaction(Landroid/view/SurfaceControl$Transaction;J)V+]Landroid/graphics/BLASTBufferQueue;Landroid/graphics/BLASTBufferQueue; HSPLandroid/view/ViewRootImpl;->notifyContentCaptureEvents()V HSPLandroid/view/ViewRootImpl;->notifyDrawStarted(Z)V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewRootImpl;->notifyInsetsChanged()V @@ -18182,24 +18266,24 @@ HSPLandroid/view/ViewRootImpl;->onPostDraw(Landroid/graphics/RecordingCanvas;)V HSPLandroid/view/ViewRootImpl;->onPreDraw(Landroid/graphics/RecordingCanvas;)V HSPLandroid/view/ViewRootImpl;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z HSPLandroid/view/ViewRootImpl;->performContentCaptureInitialReport()V -HSPLandroid/view/ViewRootImpl;->performDraw(Landroid/window/SurfaceSyncGroup;)Z+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLandroid/view/ViewRootImpl;->performLayout(Landroid/view/WindowManager$LayoutParams;II)V+]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/view/ViewRootImpl;->performMeasure(II)V+]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView; -HSPLandroid/view/ViewRootImpl;->performTraversals()V+]Landroid/content/Context;missing_types]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/Region;Landroid/graphics/Region;]Landroid/util/MergedConfiguration;Landroid/util/MergedConfiguration;]Landroid/view/HandlerActionQueue;Landroid/view/HandlerActionQueue;]Landroid/view/ImeFocusController;Landroid/view/ImeFocusController;]Landroid/view/Surface;Landroid/view/Surface;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/window/SurfaceSyncGroup;Landroid/window/SurfaceSyncGroup;]Landroid/window/WindowOnBackInvokedDispatcher;Landroid/window/WindowOnBackInvokedDispatcher;]Lcom/android/internal/view/RootViewSurfaceTaker;Lcom/android/internal/policy/DecorView;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ViewRootImpl;->performDraw(Landroid/window/SurfaceSyncGroup;)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; +HSPLandroid/view/ViewRootImpl;->performLayout(Landroid/view/WindowManager$LayoutParams;II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/view/HandlerActionQueue;Landroid/view/HandlerActionQueue;]Landroid/content/Context;Lcom/android/internal/policy/DecorContext;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ViewRootImpl;->performMeasure(II)V+]Landroid/view/View;Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ViewRootImpl;->performTraversals()V+]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/View;missing_types]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/view/HandlerActionQueue;Landroid/view/HandlerActionQueue;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/Surface;Landroid/view/Surface;]Landroid/util/MergedConfiguration;Landroid/util/MergedConfiguration;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ImeFocusController;Landroid/view/ImeFocusController;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;,Lcom/android/internal/policy/DecorContext;]Lcom/android/internal/view/RootViewSurfaceTaker;Lcom/android/internal/policy/DecorView;]Landroid/graphics/Region;Landroid/graphics/Region;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/window/SurfaceSyncGroup;Landroid/window/SurfaceSyncGroup;]Landroid/window/WindowOnBackInvokedDispatcher;Landroid/window/WindowOnBackInvokedDispatcher; HSPLandroid/view/ViewRootImpl;->playSoundEffect(I)V HSPLandroid/view/ViewRootImpl;->pokeDrawLockIfNeeded()V -HSPLandroid/view/ViewRootImpl;->prepareSurfaces()V +HSPLandroid/view/ViewRootImpl;->prepareSurfaces()V+]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->profileRendering(Z)V HSPLandroid/view/ViewRootImpl;->recomputeViewAttributes(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl;->recycleQueuedInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V HSPLandroid/view/ViewRootImpl;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V HSPLandroid/view/ViewRootImpl;->registerBackCallbackOnWindow()V -HSPLandroid/view/ViewRootImpl;->registerCallbackForPendingTransactions()V +HSPLandroid/view/ViewRootImpl;->registerCallbackForPendingTransactions()V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->registerCallbacksForSync(ZLandroid/window/SurfaceSyncGroup;)V HSPLandroid/view/ViewRootImpl;->registerCompatOnBackInvokedCallback()V HSPLandroid/view/ViewRootImpl;->registerListeners()V -HSPLandroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V -HSPLandroid/view/ViewRootImpl;->relayoutWindow(Landroid/view/WindowManager$LayoutParams;IZ)I+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/MergedConfiguration;Landroid/util/MergedConfiguration;]Landroid/view/Display;Landroid/view/Display;]Landroid/view/HdrRenderState;Landroid/view/HdrRenderState;]Landroid/view/IWindowSession;Landroid/view/IWindowSession$Stub$Proxy;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; +HSPLandroid/view/ViewRootImpl;->relayoutWindow(Landroid/view/WindowManager$LayoutParams;IZ)I+]Landroid/view/IWindowSession;Landroid/view/IWindowSession$Stub$Proxy;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Landroid/view/HdrRenderState;Landroid/view/HdrRenderState;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/WindowLayout;Landroid/view/WindowLayout;]Landroid/util/MergedConfiguration;Landroid/util/MergedConfiguration;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/view/Display;Landroid/view/Display; HSPLandroid/view/ViewRootImpl;->removeSendWindowContentChangedCallback()V HSPLandroid/view/ViewRootImpl;->removeSurfaceChangedCallback(Landroid/view/ViewRootImpl$SurfaceChangedCallback;)V HSPLandroid/view/ViewRootImpl;->removeWindowCallbacks(Landroid/view/WindowCallbacks;)V @@ -18212,28 +18296,31 @@ HSPLandroid/view/ViewRootImpl;->requestFitSystemWindows()V HSPLandroid/view/ViewRootImpl;->requestLayout()V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->requestLayoutDuringLayout(Landroid/view/View;)Z HSPLandroid/view/ViewRootImpl;->requestTransparentRegion(Landroid/view/View;)V -HSPLandroid/view/ViewRootImpl;->scheduleConsumeBatchedInput()V+]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; -HSPLandroid/view/ViewRootImpl;->scheduleTraversals()V+]Landroid/os/Looper;Landroid/os/Looper;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/ViewRootImpl;->scheduleConsumeBatchedInput()V +HSPLandroid/view/ViewRootImpl;->scheduleTraversals()V+]Landroid/os/Looper;Landroid/os/Looper;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/ViewRootImpl;->scrollToRectOrFocus(Landroid/graphics/Rect;Z)Z HSPLandroid/view/ViewRootImpl;->sendBackKeyEvent(I)V HSPLandroid/view/ViewRootImpl;->setAccessibilityFocus(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V HSPLandroid/view/ViewRootImpl;->setAccessibilityWindowAttributesIfNeeded()V HSPLandroid/view/ViewRootImpl;->setActivityConfigCallback(Landroid/view/ViewRootImpl$ActivityConfigCallback;)V HSPLandroid/view/ViewRootImpl;->setBoundsLayerCrop(Landroid/view/SurfaceControl$Transaction;)V -HSPLandroid/view/ViewRootImpl;->setFrame(Landroid/graphics/Rect;Z)V -HSPLandroid/view/ViewRootImpl;->setLayoutParams(Landroid/view/WindowManager$LayoutParams;Z)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams; +HSPLandroid/view/ViewRootImpl;->setFrame(Landroid/graphics/Rect;Z)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/InsetsController;Landroid/view/InsetsController; +HSPLandroid/view/ViewRootImpl;->setLayoutParams(Landroid/view/WindowManager$LayoutParams;Z)V+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->setOnContentApplyWindowInsetsListener(Landroid/view/Window$OnContentApplyWindowInsetsListener;)V HSPLandroid/view/ViewRootImpl;->setTag()V -HSPLandroid/view/ViewRootImpl;->setView(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/view/View;I)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/Display;Landroid/view/Display;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/view/FallbackEventHandler;Lcom/android/internal/policy/PhoneFallbackEventHandler;]Landroid/view/IWindowSession;Landroid/view/IWindowSession$Stub$Proxy;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/PendingInsetsController;Landroid/view/PendingInsetsController;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/WindowLayout;Landroid/view/WindowLayout;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Lcom/android/internal/view/RootViewSurfaceTaker;Lcom/android/internal/policy/DecorView;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/ViewRootImpl;->setView(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/view/View;I)V+]Landroid/view/IWindowSession;Landroid/view/IWindowSession$Stub$Proxy;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/PendingInsetsController;Landroid/view/PendingInsetsController;]Lcom/android/internal/view/RootViewSurfaceTaker;Lcom/android/internal/policy/DecorView;]Landroid/view/FallbackEventHandler;Lcom/android/internal/policy/PhoneFallbackEventHandler;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/WindowLayout;Landroid/view/WindowLayout;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/view/Display;Landroid/view/Display; HSPLandroid/view/ViewRootImpl;->setWindowStopped(Z)V HSPLandroid/view/ViewRootImpl;->shouldDispatchCutout()Z HSPLandroid/view/ViewRootImpl;->shouldOptimizeMeasure(Landroid/view/WindowManager$LayoutParams;)Z +HSPLandroid/view/ViewRootImpl;->shouldSetFrameRate()Z+]Landroid/view/Surface;Landroid/view/Surface; +HSPLandroid/view/ViewRootImpl;->shouldSetFrameRateCategory()Z+]Landroid/view/Surface;Landroid/view/Surface; HSPLandroid/view/ViewRootImpl;->shouldUseDisplaySize(Landroid/view/WindowManager$LayoutParams;)Z HSPLandroid/view/ViewRootImpl;->systemGestureExclusionChanged()V HSPLandroid/view/ViewRootImpl;->unscheduleConsumeBatchedInput()V HSPLandroid/view/ViewRootImpl;->unscheduleTraversals()V -HSPLandroid/view/ViewRootImpl;->updateBlastSurfaceIfNeeded()V +HSPLandroid/view/ViewRootImpl;->updateBlastSurfaceIfNeeded()V+]Landroid/graphics/BLASTBufferQueue;Landroid/graphics/BLASTBufferQueue;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl; HSPLandroid/view/ViewRootImpl;->updateBoundsLayer(Landroid/view/SurfaceControl$Transaction;)Z +HSPLandroid/view/ViewRootImpl;->updateCaptionInsets()Z HSPLandroid/view/ViewRootImpl;->updateCompatSysUiVisibility(III)V HSPLandroid/view/ViewRootImpl;->updateCompatSystemUiVisibilityInfo(IIII)V HSPLandroid/view/ViewRootImpl;->updateConfiguration(I)V @@ -18256,6 +18343,7 @@ HSPLandroid/view/ViewRootInsetsControllerHost;->getSystemBarsBehavior()I HSPLandroid/view/ViewRootInsetsControllerHost;->getTranslator()Landroid/content/res/CompatibilityInfo$Translator; HSPLandroid/view/ViewRootInsetsControllerHost;->getWindowToken()Landroid/os/IBinder; HSPLandroid/view/ViewRootInsetsControllerHost;->hasAnimationCallbacks()Z +HSPLandroid/view/ViewRootInsetsControllerHost;->isSystemBarsAppearanceControlled()Z HSPLandroid/view/ViewRootInsetsControllerHost;->notifyInsetsChanged()V HSPLandroid/view/ViewRootInsetsControllerHost;->updateCompatSysUiVisibility(III)V HSPLandroid/view/ViewRootRectTracker$ViewInfo;-><init>(Landroid/view/ViewRootRectTracker;Landroid/view/View;)V @@ -18278,16 +18366,16 @@ HSPLandroid/view/ViewStub;->setLayoutResource(I)V HSPLandroid/view/ViewStub;->setOnInflateListener(Landroid/view/ViewStub$OnInflateListener;)V HSPLandroid/view/ViewStub;->setVisibility(I)V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;-><init>()V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->size()I HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;-><init>()V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->add(Ljava/lang/Object;)V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->addAll(Landroid/view/ViewTreeObserver$CopyOnWriteArray;)V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->end()V +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->end()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->getArray()Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->remove(Ljava/lang/Object;)V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;-><init>()V HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->equals(Ljava/lang/Object;)Z HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->isEmpty()Z @@ -18303,10 +18391,10 @@ HSPLandroid/view/ViewTreeObserver;->addOnScrollChangedListener(Landroid/view/Vie HSPLandroid/view/ViewTreeObserver;->captureFrameCommitCallbacks()Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver;->checkIsAlive()V HSPLandroid/view/ViewTreeObserver;->dispatchOnComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V -HSPLandroid/view/ViewTreeObserver;->dispatchOnDraw()V +HSPLandroid/view/ViewTreeObserver;->dispatchOnDraw()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/view/ViewTreeObserver$OnDrawListener;Landroid/widget/Editor$2; HSPLandroid/view/ViewTreeObserver;->dispatchOnEnterAnimationComplete()V -HSPLandroid/view/ViewTreeObserver;->dispatchOnGlobalLayout()V -HSPLandroid/view/ViewTreeObserver;->dispatchOnPreDraw()Z +HSPLandroid/view/ViewTreeObserver;->dispatchOnGlobalLayout()V+]Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;]Landroid/view/ViewTreeObserver$CopyOnWriteArray;Landroid/view/ViewTreeObserver$CopyOnWriteArray; +HSPLandroid/view/ViewTreeObserver;->dispatchOnPreDraw()Z+]Landroid/view/ViewTreeObserver$OnPreDrawListener;missing_types]Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;]Landroid/view/ViewTreeObserver$CopyOnWriteArray;Landroid/view/ViewTreeObserver$CopyOnWriteArray; HSPLandroid/view/ViewTreeObserver;->dispatchOnScrollChanged()V HSPLandroid/view/ViewTreeObserver;->dispatchOnSystemGestureExclusionRectsChanged(Ljava/util/List;)V HSPLandroid/view/ViewTreeObserver;->dispatchOnTouchModeChanged(Z)V @@ -18354,7 +18442,7 @@ HSPLandroid/view/Window;->makeActive()V HSPLandroid/view/Window;->onDrawLegacyNavigationBarBackgroundChanged(Z)Z HSPLandroid/view/Window;->removeOnFrameMetricsAvailableListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V HSPLandroid/view/Window;->requestFeature(I)Z -HSPLandroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V +HSPLandroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/Window;Lcom/android/internal/policy/PhoneWindow; HSPLandroid/view/Window;->setBackgroundBlurRadius(I)V HSPLandroid/view/Window;->setCallback(Landroid/view/Window$Callback;)V HSPLandroid/view/Window;->setCloseOnTouchOutside(Z)V @@ -18389,6 +18477,7 @@ HSPLandroid/view/WindowInsets$Type;->statusBars()I HSPLandroid/view/WindowInsets$Type;->systemBars()I HSPLandroid/view/WindowInsets$Type;->systemGestures()I HSPLandroid/view/WindowInsets$Type;->toString(I)Ljava/lang/String; +HSPLandroid/view/WindowInsets;-><init>([Landroid/graphics/Insets;[Landroid/graphics/Insets;[ZZIILandroid/view/DisplayCutout;Landroid/view/RoundedCorners;Landroid/view/PrivacyIndicatorBounds;Landroid/view/DisplayShape;IZ[[Landroid/graphics/Rect;[[Landroid/graphics/Rect;II)V+]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;][Landroid/graphics/Insets;[Landroid/graphics/Insets;][[Landroid/graphics/Rect;[[Landroid/graphics/Rect; HSPLandroid/view/WindowInsets;->assignCompatInsets([Landroid/graphics/Insets;Landroid/graphics/Rect;)V HSPLandroid/view/WindowInsets;->consumeDisplayCutout()Landroid/view/WindowInsets; HSPLandroid/view/WindowInsets;->consumeStableInsets()Landroid/view/WindowInsets; @@ -18410,13 +18499,13 @@ HSPLandroid/view/WindowInsets;->getSystemWindowInsetBottom()I HSPLandroid/view/WindowInsets;->getSystemWindowInsetLeft()I HSPLandroid/view/WindowInsets;->getSystemWindowInsetRight()I HSPLandroid/view/WindowInsets;->getSystemWindowInsetTop()I -HSPLandroid/view/WindowInsets;->getSystemWindowInsets()Landroid/graphics/Insets;+]Landroid/view/WindowInsets;Landroid/view/WindowInsets; +HSPLandroid/view/WindowInsets;->getSystemWindowInsets()Landroid/graphics/Insets; HSPLandroid/view/WindowInsets;->getSystemWindowInsetsAsRect()Landroid/graphics/Rect; HSPLandroid/view/WindowInsets;->inset(IIII)Landroid/view/WindowInsets; HSPLandroid/view/WindowInsets;->inset(Landroid/graphics/Insets;)Landroid/view/WindowInsets; HSPLandroid/view/WindowInsets;->insetInsets(Landroid/graphics/Insets;IIII)Landroid/graphics/Insets; HSPLandroid/view/WindowInsets;->insetInsets([Landroid/graphics/Insets;IIII)[Landroid/graphics/Insets; -HSPLandroid/view/WindowInsets;->insetUnchecked(IIII)Landroid/view/WindowInsets;+]Landroid/view/PrivacyIndicatorBounds;Landroid/view/PrivacyIndicatorBounds;]Landroid/view/RoundedCorners;Landroid/view/RoundedCorners; +HSPLandroid/view/WindowInsets;->insetUnchecked(IIII)Landroid/view/WindowInsets; HSPLandroid/view/WindowInsets;->isConsumed()Z HSPLandroid/view/WindowInsets;->isRound()Z HSPLandroid/view/WindowInsets;->replaceSystemWindowInsets(IIII)Landroid/view/WindowInsets; @@ -18427,8 +18516,8 @@ HSPLandroid/view/WindowInsetsAnimation;->getTypeMask()I HSPLandroid/view/WindowInsetsAnimation;->setAlpha(F)V HSPLandroid/view/WindowLayout;-><clinit>()V HSPLandroid/view/WindowLayout;-><init>()V -HSPLandroid/view/WindowLayout;->computeFrames(Landroid/view/WindowManager$LayoutParams;Landroid/view/InsetsState;Landroid/graphics/Rect;Landroid/graphics/Rect;IIIIFLandroid/window/ClientWindowFrames;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams; -HSPLandroid/view/WindowLayout;->computeSurfaceSize(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;IILandroid/graphics/Rect;ZLandroid/graphics/Point;)V +HSPLandroid/view/WindowLayout;->computeFrames(Landroid/view/WindowManager$LayoutParams;Landroid/view/InsetsState;Landroid/graphics/Rect;Landroid/graphics/Rect;IIIIFLandroid/window/ClientWindowFrames;)V+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/view/WindowLayout;->computeSurfaceSize(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;IILandroid/graphics/Rect;ZLandroid/graphics/Point;)V+]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/view/WindowLeaked;-><init>(Ljava/lang/String;)V HSPLandroid/view/WindowManager$LayoutParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/WindowManager$LayoutParams; HSPLandroid/view/WindowManager$LayoutParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -18463,7 +18552,7 @@ HSPLandroid/view/WindowManagerGlobal;->closeAll(Landroid/os/IBinder;Ljava/lang/S HSPLandroid/view/WindowManagerGlobal;->closeAllExceptView(Landroid/os/IBinder;Landroid/view/View;Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/view/WindowManagerGlobal;->doRemoveView(Landroid/view/ViewRootImpl;)V HSPLandroid/view/WindowManagerGlobal;->dumpGfxInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V -HSPLandroid/view/WindowManagerGlobal;->findViewLocked(Landroid/view/View;Z)I +HSPLandroid/view/WindowManagerGlobal;->findViewLocked(Landroid/view/View;Z)I+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/WindowManagerGlobal;->getInstance()Landroid/view/WindowManagerGlobal; HSPLandroid/view/WindowManagerGlobal;->getRootViews(Landroid/os/IBinder;)Ljava/util/ArrayList; HSPLandroid/view/WindowManagerGlobal;->getWindowManagerService()Landroid/view/IWindowManager; @@ -18473,9 +18562,9 @@ HSPLandroid/view/WindowManagerGlobal;->initialize()V HSPLandroid/view/WindowManagerGlobal;->peekWindowSession()Landroid/view/IWindowSession; HSPLandroid/view/WindowManagerGlobal;->removeView(Landroid/view/View;Z)V HSPLandroid/view/WindowManagerGlobal;->removeViewLocked(IZ)V -HSPLandroid/view/WindowManagerGlobal;->setStoppedState(Landroid/os/IBinder;Z)V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/WindowManagerGlobal;Landroid/view/WindowManagerGlobal;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/WindowManagerGlobal;->setStoppedState(Landroid/os/IBinder;Z)V HSPLandroid/view/WindowManagerGlobal;->trimMemory(I)V -HSPLandroid/view/WindowManagerGlobal;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V +HSPLandroid/view/WindowManagerGlobal;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/WindowManagerImpl;-><init>(Landroid/content/Context;)V HSPLandroid/view/WindowManagerImpl;-><init>(Landroid/content/Context;Landroid/view/Window;Landroid/os/IBinder;)V HSPLandroid/view/WindowManagerImpl;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V @@ -18488,7 +18577,7 @@ HSPLandroid/view/WindowManagerImpl;->getDefaultDisplay()Landroid/view/Display; HSPLandroid/view/WindowManagerImpl;->getMaximumWindowMetrics()Landroid/view/WindowMetrics; HSPLandroid/view/WindowManagerImpl;->removeView(Landroid/view/View;)V HSPLandroid/view/WindowManagerImpl;->removeViewImmediate(Landroid/view/View;)V -HSPLandroid/view/WindowManagerImpl;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V +HSPLandroid/view/WindowManagerImpl;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/WindowManagerGlobal;Landroid/view/WindowManagerGlobal; HSPLandroid/view/WindowMetrics;-><init>(Landroid/graphics/Rect;Landroid/view/WindowInsets;)V HSPLandroid/view/WindowMetrics;-><init>(Landroid/graphics/Rect;Ljava/util/function/Supplier;F)V HSPLandroid/view/WindowMetrics;->getBounds()Landroid/graphics/Rect; @@ -18530,8 +18619,8 @@ HSPLandroid/view/accessibility/AccessibilityManager;->updateFocusAppearanceLocke HSPLandroid/view/accessibility/AccessibilityManager;->updateUiTimeout(J)V HSPLandroid/view/accessibility/AccessibilityNodeIdManager;-><init>()V HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->getInstance()Landroid/view/accessibility/AccessibilityNodeIdManager; -HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->registerViewWithId(Landroid/view/View;I)V+]Landroid/view/accessibility/WeakSparseArray;Landroid/view/accessibility/WeakSparseArray; -HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->unregisterViewWithId(I)V+]Landroid/view/accessibility/WeakSparseArray;Landroid/view/accessibility/WeakSparseArray; +HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->registerViewWithId(Landroid/view/View;I)V +HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->unregisterViewWithId(I)V HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;-><init>(ILjava/lang/CharSequence;)V HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->equals(Ljava/lang/Object;)Z HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->getId()I @@ -18571,9 +18660,9 @@ HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub;->getTransaction HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z HSPLandroid/view/accessibility/WeakSparseArray$WeakReferenceWithId;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;I)V HSPLandroid/view/accessibility/WeakSparseArray;-><init>()V -HSPLandroid/view/accessibility/WeakSparseArray;->append(ILjava/lang/Object;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLandroid/view/accessibility/WeakSparseArray;->remove(I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLandroid/view/accessibility/WeakSparseArray;->removeUnreachableValues()V+]Ljava/lang/ref/ReferenceQueue;Ljava/lang/ref/ReferenceQueue; +HSPLandroid/view/accessibility/WeakSparseArray;->append(ILjava/lang/Object;)V +HSPLandroid/view/accessibility/WeakSparseArray;->remove(I)V +HSPLandroid/view/accessibility/WeakSparseArray;->removeUnreachableValues()V HSPLandroid/view/animation/AccelerateDecelerateInterpolator;-><init>()V HSPLandroid/view/animation/AccelerateDecelerateInterpolator;->createNativeInterpolator()J HSPLandroid/view/animation/AccelerateDecelerateInterpolator;->getInterpolation(F)F @@ -18583,7 +18672,7 @@ HSPLandroid/view/animation/AccelerateInterpolator;-><init>(Landroid/content/res/ HSPLandroid/view/animation/AccelerateInterpolator;->getInterpolation(F)F HSPLandroid/view/animation/AlphaAnimation;-><init>(FF)V HSPLandroid/view/animation/AlphaAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V -HSPLandroid/view/animation/AlphaAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V+]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation; +HSPLandroid/view/animation/AlphaAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V HSPLandroid/view/animation/AlphaAnimation;->hasAlpha()Z HSPLandroid/view/animation/AlphaAnimation;->willChangeBounds()Z HSPLandroid/view/animation/AlphaAnimation;->willChangeTransformationMatrix()Z @@ -18592,7 +18681,7 @@ HSPLandroid/view/animation/Animation$3;->run()V HSPLandroid/view/animation/Animation$Description;-><init>()V HSPLandroid/view/animation/Animation$Description;->parseValue(Landroid/util/TypedValue;Landroid/content/Context;)Landroid/view/animation/Animation$Description; HSPLandroid/view/animation/Animation;-><init>()V -HSPLandroid/view/animation/Animation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/RotateAnimation; +HSPLandroid/view/animation/Animation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/view/animation/Animation;->cancel()V HSPLandroid/view/animation/Animation;->detach()V HSPLandroid/view/animation/Animation;->dispatchAnimationEnd()V @@ -18601,12 +18690,12 @@ HSPLandroid/view/animation/Animation;->ensureInterpolator()V HSPLandroid/view/animation/Animation;->finalize()V HSPLandroid/view/animation/Animation;->getDuration()J HSPLandroid/view/animation/Animation;->getFillAfter()Z -HSPLandroid/view/animation/Animation;->getInvalidateRegion(IIIILandroid/graphics/RectF;Landroid/view/animation/Transformation;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation; +HSPLandroid/view/animation/Animation;->getInvalidateRegion(IIIILandroid/graphics/RectF;Landroid/view/animation/Transformation;)V HSPLandroid/view/animation/Animation;->getScaleFactor()F HSPLandroid/view/animation/Animation;->getStartOffset()J -HSPLandroid/view/animation/Animation;->getTransformation(JLandroid/view/animation/Transformation;)Z+]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/RotateAnimation;]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; -HSPLandroid/view/animation/Animation;->getTransformation(JLandroid/view/animation/Transformation;F)Z+]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/RotateAnimation; -HSPLandroid/view/animation/Animation;->getTransformationAt(FLandroid/view/animation/Transformation;)V+]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/RotateAnimation;]Landroid/view/animation/Interpolator;Landroid/view/animation/AccelerateDecelerateInterpolator;,Landroid/view/animation/LinearInterpolator; +HSPLandroid/view/animation/Animation;->getTransformation(JLandroid/view/animation/Transformation;)Z +HSPLandroid/view/animation/Animation;->getTransformation(JLandroid/view/animation/Transformation;F)Z +HSPLandroid/view/animation/Animation;->getTransformationAt(FLandroid/view/animation/Transformation;)V HSPLandroid/view/animation/Animation;->hasAlpha()Z HSPLandroid/view/animation/Animation;->hasEnded()Z HSPLandroid/view/animation/Animation;->hasStarted()Z @@ -18663,7 +18752,7 @@ HSPLandroid/view/animation/AnimationUtils$AnimationState;-><init>()V HSPLandroid/view/animation/AnimationUtils$AnimationState;-><init>(Landroid/view/animation/AnimationUtils$AnimationState-IA;)V HSPLandroid/view/animation/AnimationUtils;->createAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/Animation; HSPLandroid/view/animation/AnimationUtils;->createAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/view/animation/AnimationSet;Landroid/util/AttributeSet;)Landroid/view/animation/Animation; -HSPLandroid/view/animation/AnimationUtils;->createInterpolatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/Interpolator;+]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/view/animation/AnimationUtils;->createInterpolatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/Interpolator; HSPLandroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J HSPLandroid/view/animation/AnimationUtils;->loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation; HSPLandroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator; @@ -18689,7 +18778,7 @@ HSPLandroid/view/animation/PathInterpolator;-><init>(Landroid/content/res/Resour HSPLandroid/view/animation/PathInterpolator;->createNativeInterpolator()J HSPLandroid/view/animation/PathInterpolator;->getInterpolation(F)F HSPLandroid/view/animation/PathInterpolator;->initCubic(FFFF)V -HSPLandroid/view/animation/PathInterpolator;->initPath(Landroid/graphics/Path;)V +HSPLandroid/view/animation/PathInterpolator;->initPath(Landroid/graphics/Path;)V+]Landroid/graphics/Path;Landroid/graphics/Path; HSPLandroid/view/animation/PathInterpolator;->parseInterpolatorFromTypeArray(Landroid/content/res/TypedArray;)V HSPLandroid/view/animation/ScaleAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/view/animation/ScaleAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V @@ -18697,13 +18786,13 @@ HSPLandroid/view/animation/ScaleAnimation;->initialize(IIII)V HSPLandroid/view/animation/ScaleAnimation;->initializePivotPoint()V HSPLandroid/view/animation/ScaleAnimation;->resolveScale(FIIII)F HSPLandroid/view/animation/Transformation;-><init>()V -HSPLandroid/view/animation/Transformation;->clear()V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/view/animation/Transformation;->clear()V HSPLandroid/view/animation/Transformation;->compose(Landroid/view/animation/Transformation;)V HSPLandroid/view/animation/Transformation;->getAlpha()F HSPLandroid/view/animation/Transformation;->getInsets()Landroid/graphics/Insets; HSPLandroid/view/animation/Transformation;->getMatrix()Landroid/graphics/Matrix; HSPLandroid/view/animation/Transformation;->getTransformationType()I -HSPLandroid/view/animation/Transformation;->set(Landroid/view/animation/Transformation;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation; +HSPLandroid/view/animation/Transformation;->set(Landroid/view/animation/Transformation;)V HSPLandroid/view/animation/Transformation;->setAlpha(F)V HSPLandroid/view/animation/Transformation;->setInsets(Landroid/graphics/Insets;)V HSPLandroid/view/animation/TranslateAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V @@ -18776,7 +18865,7 @@ HSPLandroid/view/autofill/AutofillManager;->hasFillDialogUiFeature()Z HSPLandroid/view/autofill/AutofillManager;->isActiveLocked()Z HSPLandroid/view/autofill/AutofillManager;->isDisabledByServiceLocked()Z HSPLandroid/view/autofill/AutofillManager;->isEnabled()Z -HSPLandroid/view/autofill/AutofillManager;->notifyValueChanged(Landroid/view/View;)V+]Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager; +HSPLandroid/view/autofill/AutofillManager;->notifyValueChanged(Landroid/view/View;)V HSPLandroid/view/autofill/AutofillManager;->notifyViewEntered(Landroid/view/View;I)V HSPLandroid/view/autofill/AutofillManager;->notifyViewEnteredForAugmentedAutofill(Landroid/view/View;)V HSPLandroid/view/autofill/AutofillManager;->notifyViewEnteredForFillDialog(Landroid/view/View;)V @@ -18808,6 +18897,7 @@ HSPLandroid/view/autofill/IAugmentedAutofillManagerClient$Stub;-><init>()V HSPLandroid/view/autofill/IAugmentedAutofillManagerClient$Stub;->asBinder()Landroid/os/IBinder; HSPLandroid/view/autofill/IAugmentedAutofillManagerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V +HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->addClient(Landroid/view/autofill/IAutoFillManagerClient;Landroid/content/ComponentName;ILcom/android/internal/os/IResultReceiver;)V HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->cancelSession(II)V HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->getAutofillServiceComponentName(Lcom/android/internal/os/IResultReceiver;)V @@ -19048,7 +19138,7 @@ HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;-><init>(Landroid/v HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onPostWindowGainedFocus(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;)V HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onPreWindowGainedFocus(Landroid/view/ViewRootImpl;)V HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onScheduledCheckFocus(Landroid/view/ViewRootImpl;)V -HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onViewDetachedFromWindow(Landroid/view/View;Landroid/view/ViewRootImpl;)V+]Landroid/view/View;missing_types +HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onViewDetachedFromWindow(Landroid/view/View;Landroid/view/ViewRootImpl;)V HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onWindowDismissed(Landroid/view/ViewRootImpl;)V HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->setCurrentRootViewLocked(Landroid/view/ViewRootImpl;)V HSPLandroid/view/inputmethod/InputMethodManager$H$$ExternalSyntheticLambda0;->run()V @@ -19375,17 +19465,17 @@ HSPLandroid/widget/AbsListView$AdapterDataSetObserver;->onChanged()V HSPLandroid/widget/AbsListView$DeviceConfigChangeListener;-><init>()V HSPLandroid/widget/AbsListView$DeviceConfigChangeListener;-><init>(Landroid/widget/AbsListView$DeviceConfigChangeListener-IA;)V HSPLandroid/widget/AbsListView$PerformClick;->run()V -HSPLandroid/widget/AbsListView$RecycleBin;->addScrapView(Landroid/view/View;I)V+]Landroid/view/View;Landroid/widget/LinearLayout;]Landroid/widget/AbsListView$RecycleBin;Landroid/widget/AbsListView$RecycleBin;]Landroid/widget/AbsListView;Landroid/widget/ListView;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/widget/AbsListView$RecycleBin;->addScrapView(Landroid/view/View;I)V HSPLandroid/widget/AbsListView$RecycleBin;->clear()V HSPLandroid/widget/AbsListView$RecycleBin;->clearTransientStateViews()V HSPLandroid/widget/AbsListView$RecycleBin;->fillActiveViews(II)V HSPLandroid/widget/AbsListView$RecycleBin;->getActiveView(I)Landroid/view/View; -HSPLandroid/widget/AbsListView$RecycleBin;->getScrapView(I)Landroid/view/View;+]Landroid/widget/ListAdapter;missing_types +HSPLandroid/widget/AbsListView$RecycleBin;->getScrapView(I)Landroid/view/View; HSPLandroid/widget/AbsListView$RecycleBin;->getTransientStateView(I)Landroid/view/View; HSPLandroid/widget/AbsListView$RecycleBin;->markChildrenDirty()V HSPLandroid/widget/AbsListView$RecycleBin;->pruneScrapViews()V HSPLandroid/widget/AbsListView$RecycleBin;->removeSkippedScrap()V -HSPLandroid/widget/AbsListView$RecycleBin;->retrieveFromScrap(Ljava/util/ArrayList;I)Landroid/view/View;+]Landroid/view/View;Landroid/widget/LinearLayout;]Landroid/widget/ListAdapter;Landroid/preference/PreferenceGroupAdapter;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/widget/AbsListView$RecycleBin;->retrieveFromScrap(Ljava/util/ArrayList;I)Landroid/view/View; HSPLandroid/widget/AbsListView$RecycleBin;->scrapActiveViews()V HSPLandroid/widget/AbsListView$RecycleBin;->setViewTypeCount(I)V HSPLandroid/widget/AbsListView$RecycleBin;->shouldRecycleViewType(I)Z @@ -19395,12 +19485,12 @@ HSPLandroid/widget/AbsListView$WindowRunnnable;->sameWindow()Z HSPLandroid/widget/AbsListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V HSPLandroid/widget/AbsListView;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z HSPLandroid/widget/AbsListView;->clearChoices()V -HSPLandroid/widget/AbsListView;->computeVerticalScrollExtent()I+]Landroid/view/View;Landroid/widget/CheckedTextView;,Landroid/widget/LinearLayout;]Landroid/widget/AbsListView;missing_types -HSPLandroid/widget/AbsListView;->computeVerticalScrollOffset()I+]Landroid/view/View;Landroid/widget/CheckedTextView;,Landroid/widget/LinearLayout;]Landroid/widget/AbsListView;missing_types +HSPLandroid/widget/AbsListView;->computeVerticalScrollExtent()I +HSPLandroid/widget/AbsListView;->computeVerticalScrollOffset()I HSPLandroid/widget/AbsListView;->computeVerticalScrollRange()I HSPLandroid/widget/AbsListView;->dispatchDraw(Landroid/graphics/Canvas;)V HSPLandroid/widget/AbsListView;->dispatchSetPressed(Z)V -HSPLandroid/widget/AbsListView;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/widget/AbsListView;missing_types]Landroid/widget/EdgeEffect;Landroid/widget/EdgeEffect; +HSPLandroid/widget/AbsListView;->draw(Landroid/graphics/Canvas;)V HSPLandroid/widget/AbsListView;->drawableStateChanged()V HSPLandroid/widget/AbsListView;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams; HSPLandroid/widget/AbsListView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams; @@ -19418,7 +19508,7 @@ HSPLandroid/widget/AbsListView;->isFastScrollEnabled()Z HSPLandroid/widget/AbsListView;->isInFilterMode()Z HSPLandroid/widget/AbsListView;->isVerticalScrollBarHidden()Z HSPLandroid/widget/AbsListView;->jumpDrawablesToCurrentState()V -HSPLandroid/widget/AbsListView;->obtainView(I[Z)Landroid/view/View;+]Landroid/view/View;Landroid/widget/CheckedTextView;,Landroid/widget/LinearLayout;]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Landroid/widget/AbsListView$RecycleBin;Landroid/widget/AbsListView$RecycleBin;]Landroid/widget/ListAdapter;missing_types +HSPLandroid/widget/AbsListView;->obtainView(I[Z)Landroid/view/View; HSPLandroid/widget/AbsListView;->onAttachedToWindow()V HSPLandroid/widget/AbsListView;->onCancelPendingInputEvents()V HSPLandroid/widget/AbsListView;->onDetachedFromWindow()V @@ -19428,9 +19518,9 @@ HSPLandroid/widget/AbsListView;->onMeasure(II)V HSPLandroid/widget/AbsListView;->onRtlPropertiesChanged(I)V HSPLandroid/widget/AbsListView;->onSaveInstanceState()Landroid/os/Parcelable; HSPLandroid/widget/AbsListView;->onTouchDown(Landroid/view/MotionEvent;)V -HSPLandroid/widget/AbsListView;->onTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/VelocityTracker;Landroid/view/VelocityTracker;]Landroid/widget/AbsListView;Landroid/widget/ListView; +HSPLandroid/widget/AbsListView;->onTouchEvent(Landroid/view/MotionEvent;)Z HSPLandroid/widget/AbsListView;->onTouchModeChanged(Z)V -HSPLandroid/widget/AbsListView;->onTouchMove(Landroid/view/MotionEvent;Landroid/view/MotionEvent;)V+]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/View;Landroid/widget/LinearLayout;]Landroid/widget/AbsListView;Landroid/widget/ListView; +HSPLandroid/widget/AbsListView;->onTouchMove(Landroid/view/MotionEvent;Landroid/view/MotionEvent;)V HSPLandroid/widget/AbsListView;->onTouchUp(Landroid/view/MotionEvent;)V HSPLandroid/widget/AbsListView;->onWindowFocusChanged(Z)V HSPLandroid/widget/AbsListView;->performItemClick(Landroid/view/View;IJ)Z @@ -19445,7 +19535,7 @@ HSPLandroid/widget/AbsListView;->setFastScrollAlwaysVisible(Z)V HSPLandroid/widget/AbsListView;->setFastScrollEnabled(Z)V HSPLandroid/widget/AbsListView;->setFastScrollStyle(I)V HSPLandroid/widget/AbsListView;->setFrame(IIII)Z -HSPLandroid/widget/AbsListView;->setItemViewLayoutParams(Landroid/view/View;I)V+]Landroid/view/View;Landroid/widget/CheckedTextView;,Landroid/widget/LinearLayout;]Landroid/widget/AbsListView;missing_types]Landroid/widget/ListAdapter;missing_types +HSPLandroid/widget/AbsListView;->setItemViewLayoutParams(Landroid/view/View;I)V HSPLandroid/widget/AbsListView;->setOnScrollListener(Landroid/widget/AbsListView$OnScrollListener;)V HSPLandroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V HSPLandroid/widget/AbsListView;->setSelectionFromTop(II)V @@ -19585,7 +19675,7 @@ HSPLandroid/widget/EdgeEffect;->isAtEquilibrium()Z HSPLandroid/widget/EdgeEffect;->isFinished()Z HSPLandroid/widget/EdgeEffect;->onAbsorb(I)V HSPLandroid/widget/EdgeEffect;->onPull(FF)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; -HSPLandroid/widget/EdgeEffect;->onPullDistance(FF)F+]Landroid/widget/EdgeEffect;Landroid/widget/EdgeEffect; +HSPLandroid/widget/EdgeEffect;->onPullDistance(FF)F HSPLandroid/widget/EdgeEffect;->onRelease()V HSPLandroid/widget/EdgeEffect;->setSize(II)V HSPLandroid/widget/EdgeEffect;->update()V @@ -19610,7 +19700,7 @@ HSPLandroid/widget/Editor$AccessibilitySmartActions;-><init>(Landroid/widget/Tex HSPLandroid/widget/Editor$Blink;->cancel()V HSPLandroid/widget/Editor$Blink;->run()V HSPLandroid/widget/Editor$Blink;->uncancel()V -HSPLandroid/widget/Editor$CursorAnchorInfoNotifier;->updatePosition(IIZZ)V +HSPLandroid/widget/Editor$CursorAnchorInfoNotifier;->updatePosition(IIZZ)V+]Landroid/view/inputmethod/InputMethodManager;Landroid/view/inputmethod/InputMethodManager; HSPLandroid/widget/Editor$EditOperation;-><init>(Landroid/widget/Editor;Ljava/lang/String;ILjava/lang/String;Z)V HSPLandroid/widget/Editor$EditOperation;->commit()V HSPLandroid/widget/Editor$EditOperation;->forceMergeWith(Landroid/widget/Editor$EditOperation;)V @@ -19654,10 +19744,10 @@ HSPLandroid/widget/Editor$InsertionPointCursorController;->onDetached()V HSPLandroid/widget/Editor$InsertionPointCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V HSPLandroid/widget/Editor$InsertionPointCursorController;->show()V HSPLandroid/widget/Editor$PositionListener;->addSubscriber(Landroid/widget/Editor$TextViewPositionListener;Z)V -HSPLandroid/widget/Editor$PositionListener;->onPreDraw()Z +HSPLandroid/widget/Editor$PositionListener;->onPreDraw()Z+]Landroid/widget/Editor$TextViewPositionListener;Landroid/widget/Editor$CursorAnchorInfoNotifier;,Landroid/widget/Editor$InsertionHandleView; HSPLandroid/widget/Editor$PositionListener;->onScrollChanged()V HSPLandroid/widget/Editor$PositionListener;->removeSubscriber(Landroid/widget/Editor$TextViewPositionListener;)V -HSPLandroid/widget/Editor$PositionListener;->updatePosition()V +HSPLandroid/widget/Editor$PositionListener;->updatePosition()V+]Landroid/widget/TextView;Landroid/widget/EditText; HSPLandroid/widget/Editor$ProcessTextIntentActionsHandler;-><init>(Landroid/widget/Editor;)V HSPLandroid/widget/Editor$SelectionModifierCursorController;->getMinTouchOffset()I HSPLandroid/widget/Editor$SelectionModifierCursorController;->hide()V @@ -19666,7 +19756,7 @@ HSPLandroid/widget/Editor$SelectionModifierCursorController;->isCursorBeingModif HSPLandroid/widget/Editor$SelectionModifierCursorController;->isDragAcceleratorActive()Z HSPLandroid/widget/Editor$SelectionModifierCursorController;->isSelectionStartDragged()Z HSPLandroid/widget/Editor$SelectionModifierCursorController;->onDetached()V -HSPLandroid/widget/Editor$SelectionModifierCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V +HSPLandroid/widget/Editor$SelectionModifierCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V+]Landroid/widget/EditorTouchState;Landroid/widget/EditorTouchState;]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/widget/Editor$SelectionModifierCursorController;Landroid/widget/Editor$SelectionModifierCursorController;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/widget/Editor$SelectionModifierCursorController;->resetDragAcceleratorState()V HSPLandroid/widget/Editor$SelectionModifierCursorController;->resetTouchOffsets()V HSPLandroid/widget/Editor$SelectionModifierCursorController;->updateSelection(Landroid/view/MotionEvent;)V @@ -19674,7 +19764,7 @@ HSPLandroid/widget/Editor$SpanController;->hide()V HSPLandroid/widget/Editor$SpanController;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V HSPLandroid/widget/Editor$SpanController;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V HSPLandroid/widget/Editor$SpanController;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V -HSPLandroid/widget/Editor$TextRenderNode;->needsRecord()Z +HSPLandroid/widget/Editor$TextRenderNode;->needsRecord()Z+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/widget/Editor$UndoInputFilter;->beginBatchEdit()V HSPLandroid/widget/Editor$UndoInputFilter;->canUndoEdit(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Z HSPLandroid/widget/Editor$UndoInputFilter;->endBatchEdit()V @@ -19695,7 +19785,7 @@ HSPLandroid/widget/Editor;->createInputContentTypeIfNeeded()V HSPLandroid/widget/Editor;->createInputMethodStateIfNeeded()V HSPLandroid/widget/Editor;->discardTextDisplayLists()V HSPLandroid/widget/Editor;->downgradeEasyCorrectionSpans()V -HSPLandroid/widget/Editor;->drawHardwareAcceleratedInner(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I[I[IIII)I +HSPLandroid/widget/Editor;->drawHardwareAcceleratedInner(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I[I[IIII)I+]Landroid/widget/Editor$TextRenderNode;Landroid/widget/Editor$TextRenderNode;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/text/Layout;Landroid/text/DynamicLayout;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas; HSPLandroid/widget/Editor;->endBatchEdit()V HSPLandroid/widget/Editor;->ensureEndedBatchEdit()V HSPLandroid/widget/Editor;->ensureNoSelectionIfNonSelectable()V @@ -19731,10 +19821,10 @@ HSPLandroid/widget/Editor;->onFocusChanged(ZI)V HSPLandroid/widget/Editor;->onLocaleChanged()V HSPLandroid/widget/Editor;->onScreenStateChanged(I)V HSPLandroid/widget/Editor;->onScrollChanged()V -HSPLandroid/widget/Editor;->onTouchEvent(Landroid/view/MotionEvent;)V +HSPLandroid/widget/Editor;->onTouchEvent(Landroid/view/MotionEvent;)V+]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/widget/EditorTouchState;Landroid/widget/EditorTouchState;]Landroid/widget/Editor$SelectionModifierCursorController;Landroid/widget/Editor$SelectionModifierCursorController;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/widget/Editor;->onTouchUpEvent(Landroid/view/MotionEvent;)V HSPLandroid/widget/Editor;->onWindowFocusChanged(Z)V -HSPLandroid/widget/Editor;->prepareCursorControllers()V +HSPLandroid/widget/Editor;->prepareCursorControllers()V+]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/widget/Editor;Landroid/widget/Editor; HSPLandroid/widget/Editor;->refreshTextActionMode()V HSPLandroid/widget/Editor;->reportExtractedText()Z HSPLandroid/widget/Editor;->restoreInstanceState(Landroid/os/ParcelableParcel;)V @@ -19759,19 +19849,19 @@ HSPLandroid/widget/EditorTouchState;->getLastDownY()F HSPLandroid/widget/EditorTouchState;->isMovedEnoughForDrag()Z HSPLandroid/widget/EditorTouchState;->isMultiTap()Z HSPLandroid/widget/EditorTouchState;->isMultiTapInSameArea()Z -HSPLandroid/widget/EditorTouchState;->update(Landroid/view/MotionEvent;Landroid/view/ViewConfiguration;)V +HSPLandroid/widget/EditorTouchState;->update(Landroid/view/MotionEvent;Landroid/view/ViewConfiguration;)V+]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/widget/Filter;-><init>()V HSPLandroid/widget/ForwardingListener;-><init>(Landroid/view/View;)V HSPLandroid/widget/ForwardingListener;->onViewAttachedToWindow(Landroid/view/View;)V HSPLandroid/widget/ForwardingListener;->onViewDetachedFromWindow(Landroid/view/View;)V HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(II)V HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(III)V -HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; +HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V HSPLandroid/widget/FrameLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z HSPLandroid/widget/FrameLayout;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams; HSPLandroid/widget/FrameLayout;->generateDefaultLayoutParams()Landroid/widget/FrameLayout$LayoutParams; @@ -19785,7 +19875,7 @@ HSPLandroid/widget/FrameLayout;->getPaddingRightWithForeground()I+]Landroid/widg HSPLandroid/widget/FrameLayout;->getPaddingTopWithForeground()I+]Landroid/widget/FrameLayout;missing_types HSPLandroid/widget/FrameLayout;->layoutChildren(IIIIZ)V+]Landroid/view/View;missing_types]Landroid/widget/FrameLayout;missing_types HSPLandroid/widget/FrameLayout;->onLayout(ZIIII)V+]Landroid/widget/FrameLayout;missing_types -HSPLandroid/widget/FrameLayout;->onMeasure(II)V+]Landroid/view/View;missing_types]Landroid/widget/FrameLayout;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/widget/FrameLayout;->onMeasure(II)V+]Landroid/widget/FrameLayout;missing_types]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/widget/FrameLayout;->setForegroundGravity(I)V HSPLandroid/widget/FrameLayout;->setMeasureAllChildren(Z)V HSPLandroid/widget/FrameLayout;->shouldDelayChildPressedState()Z @@ -19882,13 +19972,13 @@ HSPLandroid/widget/ImageView$ScaleType;->values()[Landroid/widget/ImageView$Scal HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;)V HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/widget/ImageView;->applyAlpha()V HSPLandroid/widget/ImageView;->applyColorFilter()V -HSPLandroid/widget/ImageView;->applyImageTint()V+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/AnimatedStateListDrawable;,Landroid/graphics/drawable/VectorDrawable; +HSPLandroid/widget/ImageView;->applyImageTint()V HSPLandroid/widget/ImageView;->applyXfermode()V HSPLandroid/widget/ImageView;->clearColorFilter()V -HSPLandroid/widget/ImageView;->configureBounds()V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;->configureBounds()V HSPLandroid/widget/ImageView;->drawableHotspotChanged(FF)V HSPLandroid/widget/ImageView;->drawableStateChanged()V HSPLandroid/widget/ImageView;->getAccessibilityClassName()Ljava/lang/CharSequence; @@ -19897,21 +19987,21 @@ HSPLandroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable; HSPLandroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix; HSPLandroid/widget/ImageView;->getScaleType()Landroid/widget/ImageView$ScaleType; HSPLandroid/widget/ImageView;->hasOverlappingRendering()Z -HSPLandroid/widget/ImageView;->initImageView()V+]Landroid/widget/ImageView;missing_types -HSPLandroid/widget/ImageView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;->initImageView()V +HSPLandroid/widget/ImageView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/ImageView;->isFilledByImage()Z -HSPLandroid/widget/ImageView;->isOpaque()Z+]Landroid/graphics/drawable/Drawable;megamorphic_types -HSPLandroid/widget/ImageView;->jumpDrawablesToCurrentState()V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/widget/ImageView;->isOpaque()Z +HSPLandroid/widget/ImageView;->jumpDrawablesToCurrentState()V HSPLandroid/widget/ImageView;->onAttachedToWindow()V HSPLandroid/widget/ImageView;->onCreateDrawableState(I)[I HSPLandroid/widget/ImageView;->onDetachedFromWindow()V -HSPLandroid/widget/ImageView;->onDraw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/drawable/Drawable;missing_types -HSPLandroid/widget/ImageView;->onMeasure(II)V+]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;->onDraw(Landroid/graphics/Canvas;)V +HSPLandroid/widget/ImageView;->onMeasure(II)V HSPLandroid/widget/ImageView;->onRtlPropertiesChanged(I)V -HSPLandroid/widget/ImageView;->onVisibilityAggregated(Z)V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/widget/ImageView;->onVisibilityAggregated(Z)V HSPLandroid/widget/ImageView;->resizeFromDrawable()V HSPLandroid/widget/ImageView;->resolveAdjustedSize(III)I -HSPLandroid/widget/ImageView;->resolveUri()V+]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;->resolveUri()V HSPLandroid/widget/ImageView;->scaleTypeToScaleToFit(Landroid/widget/ImageView$ScaleType;)Landroid/graphics/Matrix$ScaleToFit; HSPLandroid/widget/ImageView;->setAdjustViewBounds(Z)V HSPLandroid/widget/ImageView;->setAlpha(I)V @@ -19922,9 +20012,9 @@ HSPLandroid/widget/ImageView;->setCropToPadding(Z)V HSPLandroid/widget/ImageView;->setFrame(IIII)Z HSPLandroid/widget/ImageView;->setImageAlpha(I)V HSPLandroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V -HSPLandroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/widget/ImageView;missing_types -HSPLandroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V -HSPLandroid/widget/ImageView;->setImageResource(I)V+]Landroid/widget/ImageView;Landroid/widget/ImageView; +HSPLandroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V +HSPLandroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; +HSPLandroid/widget/ImageView;->setImageResource(I)V HSPLandroid/widget/ImageView;->setImageTintBlendMode(Landroid/graphics/BlendMode;)V HSPLandroid/widget/ImageView;->setImageTintList(Landroid/content/res/ColorStateList;)V HSPLandroid/widget/ImageView;->setMaxHeight(I)V @@ -19932,16 +20022,16 @@ HSPLandroid/widget/ImageView;->setMaxWidth(I)V HSPLandroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V HSPLandroid/widget/ImageView;->setSelected(Z)V HSPLandroid/widget/ImageView;->setVisibility(I)V -HSPLandroid/widget/ImageView;->updateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;->updateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/ImageView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(II)V HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(IIF)V -HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; +HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/widget/LinearLayout;missing_types +HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/widget/LinearLayout;Landroid/widget/LinearLayout; HSPLandroid/widget/LinearLayout;->allViewsAreGoneBefore(I)Z HSPLandroid/widget/LinearLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z HSPLandroid/widget/LinearLayout;->forceUniformHeight(II)V @@ -19963,8 +20053,8 @@ HSPLandroid/widget/LinearLayout;->getOrientation()I HSPLandroid/widget/LinearLayout;->getVirtualChildAt(I)Landroid/view/View;+]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->getVirtualChildCount()I+]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->hasDividerBeforeChildAt(I)Z -HSPLandroid/widget/LinearLayout;->layoutHorizontal(IIII)V+]Landroid/view/View;missing_types]Landroid/widget/LinearLayout;Landroid/widget/LinearLayout; -HSPLandroid/widget/LinearLayout;->layoutVertical(IIII)V+]Landroid/view/View;megamorphic_types]Landroid/widget/LinearLayout;missing_types +HSPLandroid/widget/LinearLayout;->layoutHorizontal(IIII)V +HSPLandroid/widget/LinearLayout;->layoutVertical(IIII)V+]Landroid/view/View;missing_types]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->measureChildBeforeLayout(Landroid/view/View;IIIII)V+]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->measureHorizontal(II)V+]Landroid/view/View;missing_types]Landroid/widget/LinearLayout;Landroid/widget/LinearLayout; HSPLandroid/widget/LinearLayout;->measureVertical(II)V+]Landroid/view/View;megamorphic_types]Landroid/widget/LinearLayout;missing_types @@ -19997,7 +20087,7 @@ HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;Landroid/util/Attr HSPLandroid/widget/ListView;->adjustViewsUpOrDown()V HSPLandroid/widget/ListView;->clearRecycledState(Ljava/util/ArrayList;)V HSPLandroid/widget/ListView;->correctTooHigh(I)V -HSPLandroid/widget/ListView;->dispatchDraw(Landroid/graphics/Canvas;)V+]Landroid/view/View;Landroid/widget/LinearLayout;]Landroid/widget/ListAdapter;Landroid/preference/PreferenceGroupAdapter;]Landroid/widget/ListView;Landroid/widget/ListView;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/widget/ListView;->dispatchDraw(Landroid/graphics/Canvas;)V HSPLandroid/widget/ListView;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z HSPLandroid/widget/ListView;->fillDown(II)Landroid/view/View; HSPLandroid/widget/ListView;->fillFromTop(I)Landroid/view/View; @@ -20013,8 +20103,8 @@ HSPLandroid/widget/ListView;->isOpaque()Z HSPLandroid/widget/ListView;->layoutChildren()V HSPLandroid/widget/ListView;->lookForSelectablePosition(IZ)I HSPLandroid/widget/ListView;->makeAndAddView(IIZIZ)Landroid/view/View; -HSPLandroid/widget/ListView;->measureHeightOfChildren(IIIII)I+]Landroid/view/View;Landroid/widget/CheckedTextView;]Landroid/widget/AbsListView$RecycleBin;Landroid/widget/AbsListView$RecycleBin; -HSPLandroid/widget/ListView;->measureScrapChild(Landroid/view/View;III)V+]Landroid/view/View;Landroid/widget/CheckedTextView; +HSPLandroid/widget/ListView;->measureHeightOfChildren(IIIII)I +HSPLandroid/widget/ListView;->measureScrapChild(Landroid/view/View;III)V HSPLandroid/widget/ListView;->onDetachedFromWindow()V HSPLandroid/widget/ListView;->onFinishInflate()V HSPLandroid/widget/ListView;->onMeasure(II)V @@ -20026,8 +20116,8 @@ HSPLandroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V HSPLandroid/widget/ListView;->setCacheColorHint(I)V HSPLandroid/widget/ListView;->setDivider(Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/ListView;->setSelection(I)V -HSPLandroid/widget/ListView;->setupChild(Landroid/view/View;IIZIZZ)V+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/view/View;Landroid/widget/CheckedTextView;,Landroid/widget/LinearLayout;]Landroid/widget/Checkable;Landroid/widget/CheckedTextView;]Landroid/widget/ListAdapter;missing_types]Landroid/widget/ListView;missing_types -HSPLandroid/widget/OverScroller$SplineOverScroller;-><init>(Landroid/content/Context;)V +HSPLandroid/widget/ListView;->setupChild(Landroid/view/View;IIZIZZ)V +HSPLandroid/widget/OverScroller$SplineOverScroller;-><init>(Landroid/content/Context;)V+]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLandroid/widget/OverScroller$SplineOverScroller;->adjustDuration(III)V HSPLandroid/widget/OverScroller$SplineOverScroller;->continueWhenFinished()Z HSPLandroid/widget/OverScroller$SplineOverScroller;->finish()V @@ -20039,13 +20129,14 @@ HSPLandroid/widget/OverScroller$SplineOverScroller;->springback(III)Z HSPLandroid/widget/OverScroller$SplineOverScroller;->startScroll(III)V HSPLandroid/widget/OverScroller$SplineOverScroller;->startSpringback(III)V HSPLandroid/widget/OverScroller$SplineOverScroller;->update()Z +HSPLandroid/widget/OverScroller$SplineOverScroller;->updateScroll(F)V HSPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;)V HSPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V HSPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V HSPLandroid/widget/OverScroller;->abortAnimation()V HSPLandroid/widget/OverScroller;->computeScrollOffset()Z HSPLandroid/widget/OverScroller;->fling(IIIIIIII)V -HSPLandroid/widget/OverScroller;->fling(IIIIIIIIII)V +HSPLandroid/widget/OverScroller;->fling(IIIIIIIIII)V+]Landroid/widget/OverScroller;Landroid/widget/OverScroller;]Landroid/widget/OverScroller$SplineOverScroller;Landroid/widget/OverScroller$SplineOverScroller; HSPLandroid/widget/OverScroller;->forceFinished(Z)V HSPLandroid/widget/OverScroller;->getCurrVelocity()F HSPLandroid/widget/OverScroller;->getCurrX()I @@ -20133,7 +20224,7 @@ HSPLandroid/widget/ProgressBar;->getMin()I HSPLandroid/widget/ProgressBar;->getProgress()I HSPLandroid/widget/ProgressBar;->getProgressDrawable()Landroid/graphics/drawable/Drawable; HSPLandroid/widget/ProgressBar;->initProgressBar()V -HSPLandroid/widget/ProgressBar;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V +HSPLandroid/widget/ProgressBar;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/AnimatedStateListDrawable;,Landroid/graphics/drawable/GradientDrawable;,Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/RippleDrawable; HSPLandroid/widget/ProgressBar;->isIndeterminate()Z HSPLandroid/widget/ProgressBar;->jumpDrawablesToCurrentState()V HSPLandroid/widget/ProgressBar;->needsTileify(Landroid/graphics/drawable/Drawable;)Z @@ -20173,8 +20264,8 @@ HSPLandroid/widget/RelativeLayout$DependencyGraph$Node;->release()V HSPLandroid/widget/RelativeLayout$DependencyGraph;-><init>()V HSPLandroid/widget/RelativeLayout$DependencyGraph;->add(Landroid/view/View;)V HSPLandroid/widget/RelativeLayout$DependencyGraph;->clear()V -HSPLandroid/widget/RelativeLayout$DependencyGraph;->findRoots([I)Ljava/util/ArrayDeque;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/View;Landroid/widget/TextView;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/widget/RelativeLayout$DependencyGraph;->getSortedViews([Landroid/view/View;[I)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/View;Landroid/widget/TextView;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque; +HSPLandroid/widget/RelativeLayout$DependencyGraph;->findRoots([I)Ljava/util/ArrayDeque;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/widget/RelativeLayout$DependencyGraph;->getSortedViews([Landroid/view/View;[I)V HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fgetmBottom(Landroid/widget/RelativeLayout$LayoutParams;)I HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fgetmLeft(Landroid/widget/RelativeLayout$LayoutParams;)I HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fgetmRight(Landroid/widget/RelativeLayout$LayoutParams;)I @@ -20182,7 +20273,7 @@ HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fgetmTop(Landroid/widge HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fputmBottom(Landroid/widget/RelativeLayout$LayoutParams;I)V HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fputmTop(Landroid/widget/RelativeLayout$LayoutParams;I)V HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(II)V -HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V +HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/widget/RelativeLayout$LayoutParams;->addRule(I)V HSPLandroid/widget/RelativeLayout$LayoutParams;->addRule(II)V HSPLandroid/widget/RelativeLayout$LayoutParams;->getRules()[I @@ -20209,21 +20300,21 @@ HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/view/ViewGroup HSPLandroid/widget/RelativeLayout;->getAccessibilityClassName()Ljava/lang/CharSequence; HSPLandroid/widget/RelativeLayout;->getBaseline()I HSPLandroid/widget/RelativeLayout;->getChildMeasureSpec(IIIIIIII)I -HSPLandroid/widget/RelativeLayout;->getRelatedView([II)Landroid/view/View;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/View;Landroid/widget/TextView; +HSPLandroid/widget/RelativeLayout;->getRelatedView([II)Landroid/view/View; HSPLandroid/widget/RelativeLayout;->getRelatedViewBaselineOffset([I)I HSPLandroid/widget/RelativeLayout;->getRelatedViewParams([II)Landroid/widget/RelativeLayout$LayoutParams; HSPLandroid/widget/RelativeLayout;->initFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)V -HSPLandroid/widget/RelativeLayout;->measureChild(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V+]Landroid/view/View;Landroid/widget/TextView; -HSPLandroid/widget/RelativeLayout;->measureChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V+]Landroid/view/View;Landroid/widget/TextView; +HSPLandroid/widget/RelativeLayout;->measureChild(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V +HSPLandroid/widget/RelativeLayout;->measureChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V HSPLandroid/widget/RelativeLayout;->onLayout(ZIIII)V -HSPLandroid/widget/RelativeLayout;->onMeasure(II)V+]Landroid/view/View;Landroid/widget/TextView;]Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams;]Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout; +HSPLandroid/widget/RelativeLayout;->onMeasure(II)V+]Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout;]Landroid/view/View;Landroid/widget/TextView;]Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams; HSPLandroid/widget/RelativeLayout;->positionAtEdge(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;I)V -HSPLandroid/widget/RelativeLayout;->positionChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z+]Landroid/view/View;Landroid/widget/TextView;]Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams;]Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout; -HSPLandroid/widget/RelativeLayout;->positionChildVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z+]Landroid/view/View;Landroid/widget/TextView;]Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams; +HSPLandroid/widget/RelativeLayout;->positionChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z +HSPLandroid/widget/RelativeLayout;->positionChildVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z HSPLandroid/widget/RelativeLayout;->queryCompatibilityModes(Landroid/content/Context;)V HSPLandroid/widget/RelativeLayout;->requestLayout()V HSPLandroid/widget/RelativeLayout;->shouldDelayChildPressedState()Z -HSPLandroid/widget/RelativeLayout;->sortChildren()V+]Landroid/widget/RelativeLayout$DependencyGraph;Landroid/widget/RelativeLayout$DependencyGraph;]Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout; +HSPLandroid/widget/RelativeLayout;->sortChildren()V+]Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout;]Landroid/widget/RelativeLayout$DependencyGraph;Landroid/widget/RelativeLayout$DependencyGraph; HSPLandroid/widget/RemoteViews$2;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/RemoteViews; HSPLandroid/widget/RemoteViews$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/widget/RemoteViews$Action;-><init>()V @@ -20299,15 +20390,15 @@ HSPLandroid/widget/RtlSpacingHelper;->setAbsolute(II)V HSPLandroid/widget/RtlSpacingHelper;->setDirection(Z)V HSPLandroid/widget/RtlSpacingHelper;->setRelative(II)V HSPLandroid/widget/ScrollBarDrawable;-><init>()V -HSPLandroid/widget/ScrollBarDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable; -HSPLandroid/widget/ScrollBarDrawable;->drawThumb(Landroid/graphics/Canvas;Landroid/graphics/Rect;IIZ)V+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; -HSPLandroid/widget/ScrollBarDrawable;->getSize(Z)I -HSPLandroid/widget/ScrollBarDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V -HSPLandroid/widget/ScrollBarDrawable;->isStateful()Z -HSPLandroid/widget/ScrollBarDrawable;->mutate()Landroid/widget/ScrollBarDrawable; +HSPLandroid/widget/ScrollBarDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/widget/ScrollBarDrawable;->drawThumb(Landroid/graphics/Canvas;Landroid/graphics/Rect;IIZ)V +HSPLandroid/widget/ScrollBarDrawable;->getSize(Z)I+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; +HSPLandroid/widget/ScrollBarDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable; +HSPLandroid/widget/ScrollBarDrawable;->isStateful()Z+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; +HSPLandroid/widget/ScrollBarDrawable;->mutate()Landroid/widget/ScrollBarDrawable;+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; HSPLandroid/widget/ScrollBarDrawable;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/widget/ScrollBarDrawable;->onStateChange([I)Z -HSPLandroid/widget/ScrollBarDrawable;->propagateCurrentState(Landroid/graphics/drawable/Drawable;)V +HSPLandroid/widget/ScrollBarDrawable;->propagateCurrentState(Landroid/graphics/drawable/Drawable;)V+]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; HSPLandroid/widget/ScrollBarDrawable;->setAlpha(I)V+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; HSPLandroid/widget/ScrollBarDrawable;->setAlwaysDrawVerticalTrack(Z)V HSPLandroid/widget/ScrollBarDrawable;->setHorizontalThumbDrawable(Landroid/graphics/drawable/Drawable;)V @@ -20422,34 +20513,34 @@ HSPLandroid/widget/TextView$TextAppearanceAttributes;-><init>(Landroid/widget/Te HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;)V HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/Context;missing_types]Landroid/widget/TextView;missing_types HSPLandroid/widget/TextView;->addSearchHighlightPaths()V HSPLandroid/widget/TextView;->addTextChangedListener(Landroid/text/TextWatcher;)V HSPLandroid/widget/TextView;->applyCompoundDrawableTint()V HSPLandroid/widget/TextView;->applySingleLine(ZZZZ)V -HSPLandroid/widget/TextView;->applyTextAppearance(Landroid/widget/TextView$TextAppearanceAttributes;)V+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->applyTextAppearance(Landroid/widget/TextView$TextAppearanceAttributes;)V HSPLandroid/widget/TextView;->assumeLayout()V HSPLandroid/widget/TextView;->autoSizeText()V HSPLandroid/widget/TextView;->beginBatchEdit()V HSPLandroid/widget/TextView;->bringPointIntoView(I)Z HSPLandroid/widget/TextView;->bringPointIntoView(IZ)Z -HSPLandroid/widget/TextView;->bringTextIntoView()Z+]Landroid/text/Layout;Landroid/text/BoringLayout;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->bringTextIntoView()Z HSPLandroid/widget/TextView;->canMarquee()Z HSPLandroid/widget/TextView;->cancelLongPress()V -HSPLandroid/widget/TextView;->checkForRelayout()V+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->checkForRelayout()V HSPLandroid/widget/TextView;->checkForResize()V HSPLandroid/widget/TextView;->cleanupAutoSizePresetSizes([I)[I -HSPLandroid/widget/TextView;->compressText(F)Z+]Landroid/text/Layout;Landroid/text/BoringLayout;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/widget/TextView;Landroid/widget/CheckedTextView;,Landroid/widget/TextView; +HSPLandroid/widget/TextView;->compressText(F)Z HSPLandroid/widget/TextView;->computeHorizontalScrollRange()I HSPLandroid/widget/TextView;->computeScroll()V -HSPLandroid/widget/TextView;->computeVerticalScrollExtent()I -HSPLandroid/widget/TextView;->computeVerticalScrollRange()I +HSPLandroid/widget/TextView;->computeVerticalScrollExtent()I+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->computeVerticalScrollRange()I+]Landroid/text/Layout;Landroid/text/DynamicLayout;,Landroid/text/BoringLayout; HSPLandroid/widget/TextView;->convertToLocalHorizontalCoordinate(F)F HSPLandroid/widget/TextView;->createEditorIfNeeded()V HSPLandroid/widget/TextView;->didTouchFocusSelect()Z HSPLandroid/widget/TextView;->doKeyDown(ILandroid/view/KeyEvent;Landroid/view/KeyEvent;)I HSPLandroid/widget/TextView;->drawableHotspotChanged(FF)V -HSPLandroid/widget/TextView;->drawableStateChanged()V+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->drawableStateChanged()V HSPLandroid/widget/TextView;->endBatchEdit()V HSPLandroid/widget/TextView;->findLargestTextSizeWhichFits(Landroid/graphics/RectF;)I HSPLandroid/widget/TextView;->fixFocusableAndClickableSettings()V @@ -20458,10 +20549,10 @@ HSPLandroid/widget/TextView;->getAutoSizeStepGranularity()I HSPLandroid/widget/TextView;->getAutofillHints()[Ljava/lang/String; HSPLandroid/widget/TextView;->getAutofillType()I HSPLandroid/widget/TextView;->getAutofillValue()Landroid/view/autofill/AutofillValue; -HSPLandroid/widget/TextView;->getBaseline()I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types -HSPLandroid/widget/TextView;->getBaselineOffset()I+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->getBaseline()I +HSPLandroid/widget/TextView;->getBaselineOffset()I HSPLandroid/widget/TextView;->getBottomVerticalOffset(Z)I -HSPLandroid/widget/TextView;->getBoxHeight(Landroid/text/Layout;)I+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->getBoxHeight(Landroid/text/Layout;)I+]Landroid/widget/TextView;Landroid/widget/EditText;,Landroid/widget/Button; HSPLandroid/widget/TextView;->getBreakStrategy()I HSPLandroid/widget/TextView;->getCompoundDrawablePadding()I HSPLandroid/widget/TextView;->getCompoundDrawables()[Landroid/graphics/drawable/Drawable; @@ -20474,12 +20565,12 @@ HSPLandroid/widget/TextView;->getCurrentTextColor()I HSPLandroid/widget/TextView;->getDefaultEditable()Z HSPLandroid/widget/TextView;->getDefaultMovementMethod()Landroid/text/method/MovementMethod; HSPLandroid/widget/TextView;->getDesiredHeight()I -HSPLandroid/widget/TextView;->getDesiredHeight(Landroid/text/Layout;Z)I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->getDesiredHeight(Landroid/text/Layout;Z)I+]Landroid/text/Layout;Landroid/text/BoringLayout;]Landroid/widget/TextView;Landroid/widget/TextView; HSPLandroid/widget/TextView;->getEditableText()Landroid/text/Editable; HSPLandroid/widget/TextView;->getEllipsize()Landroid/text/TextUtils$TruncateAt; HSPLandroid/widget/TextView;->getError()Ljava/lang/CharSequence; -HSPLandroid/widget/TextView;->getExtendedPaddingBottom()I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types -HSPLandroid/widget/TextView;->getExtendedPaddingTop()I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->getExtendedPaddingBottom()I+]Landroid/text/Layout;Landroid/text/StaticLayout;]Landroid/widget/TextView;Landroid/widget/TextView; +HSPLandroid/widget/TextView;->getExtendedPaddingTop()I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;,Landroid/text/DynamicLayout;]Landroid/widget/TextView;Landroid/widget/TextView;,Landroid/widget/CheckBox;,Landroid/widget/EditText;,Landroid/widget/Button; HSPLandroid/widget/TextView;->getFilters()[Landroid/text/InputFilter; HSPLandroid/widget/TextView;->getFocusedRect(Landroid/graphics/Rect;)V HSPLandroid/widget/TextView;->getFreezesText()Z @@ -20495,7 +20586,7 @@ HSPLandroid/widget/TextView;->getInterestingRect(Landroid/graphics/Rect;I)V HSPLandroid/widget/TextView;->getJustificationMode()I HSPLandroid/widget/TextView;->getKeyListener()Landroid/text/method/KeyListener; HSPLandroid/widget/TextView;->getLayout()Landroid/text/Layout; -HSPLandroid/widget/TextView;->getLayoutAlignment()Landroid/text/Layout$Alignment;+]Landroid/widget/TextView;Landroid/widget/TextView; +HSPLandroid/widget/TextView;->getLayoutAlignment()Landroid/text/Layout$Alignment; HSPLandroid/widget/TextView;->getLineAtCoordinate(F)I HSPLandroid/widget/TextView;->getLineAtCoordinateUnclamped(F)I HSPLandroid/widget/TextView;->getLineCount()I @@ -20511,14 +20602,14 @@ HSPLandroid/widget/TextView;->getOffsetForPosition(FF)I HSPLandroid/widget/TextView;->getPaint()Landroid/text/TextPaint; HSPLandroid/widget/TextView;->getSelectionEnd()I HSPLandroid/widget/TextView;->getSelectionEndTransformed()I -HSPLandroid/widget/TextView;->getSelectionStart()I +HSPLandroid/widget/TextView;->getSelectionStart()I+]Landroid/widget/TextView;missing_types HSPLandroid/widget/TextView;->getSelectionStartTransformed()I HSPLandroid/widget/TextView;->getServiceManagerForUser(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/widget/TextView;->getSpellCheckerLocale()Ljava/util/Locale; HSPLandroid/widget/TextView;->getText()Ljava/lang/CharSequence; HSPLandroid/widget/TextView;->getTextColors()Landroid/content/res/ColorStateList; HSPLandroid/widget/TextView;->getTextCursorDrawable()Landroid/graphics/drawable/Drawable; -HSPLandroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic;+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic; HSPLandroid/widget/TextView;->getTextLocale()Ljava/util/Locale; HSPLandroid/widget/TextView;->getTextLocales()Landroid/os/LocaleList; HSPLandroid/widget/TextView;->getTextSelectHandle()Landroid/graphics/drawable/Drawable; @@ -20532,53 +20623,53 @@ HSPLandroid/widget/TextView;->getTotalPaddingTop()I HSPLandroid/widget/TextView;->getTransformationMethod()Landroid/text/method/TransformationMethod; HSPLandroid/widget/TextView;->getTypeface()Landroid/graphics/Typeface; HSPLandroid/widget/TextView;->getTypefaceStyle()I -HSPLandroid/widget/TextView;->getUpdatedHighlightPath()Landroid/graphics/Path;+]Landroid/widget/TextView;missing_types -HSPLandroid/widget/TextView;->getVerticalOffset(Z)I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/widget/TextView;->getUpdatedHighlightPath()Landroid/graphics/Path; +HSPLandroid/widget/TextView;->getVerticalOffset(Z)I HSPLandroid/widget/TextView;->handleBackInTextActionModeIfNeeded(Landroid/view/KeyEvent;)Z HSPLandroid/widget/TextView;->handleTextChanged(Ljava/lang/CharSequence;III)V HSPLandroid/widget/TextView;->hasGesturePreviewHighlight()Z -HSPLandroid/widget/TextView;->hasOverlappingRendering()Z+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/widget/TextView;->hasOverlappingRendering()Z HSPLandroid/widget/TextView;->hasPasswordTransformationMethod()Z HSPLandroid/widget/TextView;->hasSelection()Z HSPLandroid/widget/TextView;->hideErrorIfUnchanged()V HSPLandroid/widget/TextView;->invalidateCursor()V HSPLandroid/widget/TextView;->invalidateCursorPath()V -HSPLandroid/widget/TextView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/AnimatedStateListDrawable;,Landroid/graphics/drawable/ColorDrawable;,Landroid/graphics/drawable/GradientDrawable;,Landroid/graphics/drawable/RippleDrawable;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/widget/TextView;Landroid/widget/CheckBox;,Landroid/widget/EditText;,Landroid/widget/Button;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/AnimatedStateListDrawable;,Landroid/graphics/drawable/InsetDrawable;,Landroid/graphics/drawable/RippleDrawable;,Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/VectorDrawable; HSPLandroid/widget/TextView;->invalidateRegion(IIZ)V HSPLandroid/widget/TextView;->isAnyPasswordInputType()Z HSPLandroid/widget/TextView;->isAutoSizeEnabled()Z HSPLandroid/widget/TextView;->isAutofillable()Z HSPLandroid/widget/TextView;->isFallbackLineSpacingForStaticLayout()Z -HSPLandroid/widget/TextView;->isFromPrimePointer(Landroid/view/MotionEvent;Z)Z +HSPLandroid/widget/TextView;->isFromPrimePointer(Landroid/view/MotionEvent;Z)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/widget/TextView;->isInBatchEditMode()Z HSPLandroid/widget/TextView;->isInExtractedMode()Z HSPLandroid/widget/TextView;->isInputMethodTarget()Z HSPLandroid/widget/TextView;->isMarqueeFadeEnabled()Z HSPLandroid/widget/TextView;->isMultilineInputType(I)Z HSPLandroid/widget/TextView;->isPasswordInputType(I)Z -HSPLandroid/widget/TextView;->isPositionVisible(FF)Z +HSPLandroid/widget/TextView;->isPositionVisible(FF)Z+]Landroid/view/View;missing_types]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/widget/TextView;->isShowingHint()Z HSPLandroid/widget/TextView;->isSuggestionsEnabled()Z HSPLandroid/widget/TextView;->isTextAutofillable()Z HSPLandroid/widget/TextView;->isTextEditable()Z HSPLandroid/widget/TextView;->isTextSelectable()Z HSPLandroid/widget/TextView;->isVisibleToAccessibility()Z -HSPLandroid/widget/TextView;->jumpDrawablesToCurrentState()V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/widget/TextView;->jumpDrawablesToCurrentState()V HSPLandroid/widget/TextView;->length()I -HSPLandroid/widget/TextView;->makeNewLayout(IILandroid/text/BoringLayout$Metrics;Landroid/text/BoringLayout$Metrics;IZ)V+]Landroid/text/Layout;Landroid/text/BoringLayout;]Landroid/widget/TextView;missing_types -HSPLandroid/widget/TextView;->makeSingleLayout(ILandroid/text/BoringLayout$Metrics;ILandroid/text/Layout$Alignment;ZLandroid/text/TextUtils$TruncateAt;Z)Landroid/text/Layout;+]Landroid/text/BoringLayout;Landroid/text/BoringLayout;]Landroid/text/StaticLayout$Builder;Landroid/text/StaticLayout$Builder;]Landroid/widget/TextView;missing_types]Ljava/lang/CharSequence;Ljava/lang/String; -HSPLandroid/widget/TextView;->maybeUpdateHighlightPaths()V+]Landroid/widget/TextView;missing_types]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/widget/TextView;->makeNewLayout(IILandroid/text/BoringLayout$Metrics;Landroid/text/BoringLayout$Metrics;IZ)V+]Landroid/text/BoringLayout;Landroid/text/BoringLayout;]Landroid/text/Layout;Landroid/text/DynamicLayout;,Landroid/text/BoringLayout;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/widget/TextView;Landroid/widget/CheckBox;,Landroid/widget/EditText;,Landroid/widget/TextView;,Landroid/widget/Button; +HSPLandroid/widget/TextView;->makeSingleLayout(ILandroid/text/BoringLayout$Metrics;ILandroid/text/Layout$Alignment;ZLandroid/text/TextUtils$TruncateAt;Z)Landroid/text/Layout;+]Landroid/text/DynamicLayout$Builder;Landroid/text/DynamicLayout$Builder;]Landroid/text/BoringLayout;Landroid/text/BoringLayout;]Landroid/widget/TextView;Landroid/widget/CheckBox;,Landroid/widget/EditText;,Landroid/widget/TextView;]Ljava/lang/CharSequence;Ljava/lang/String;]Landroid/text/StaticLayout$Builder;Landroid/text/StaticLayout$Builder; +HSPLandroid/widget/TextView;->maybeUpdateHighlightPaths()V HSPLandroid/widget/TextView;->notifyContentCaptureTextChanged()V -HSPLandroid/widget/TextView;->notifyListeningManagersAfterTextChanged()V+]Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->notifyListeningManagersAfterTextChanged()V HSPLandroid/widget/TextView;->nullLayouts()V HSPLandroid/widget/TextView;->onAttachedToWindow()V HSPLandroid/widget/TextView;->onBeginBatchEdit()V HSPLandroid/widget/TextView;->onCheckIsTextEditor()Z HSPLandroid/widget/TextView;->onConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLandroid/widget/TextView;->onCreateDrawableState(I)[I+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->onCreateDrawableState(I)[I HSPLandroid/widget/TextView;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; HSPLandroid/widget/TextView;->onDetachedFromWindowInternal()V -HSPLandroid/widget/TextView;->onDraw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->onDraw(Landroid/graphics/Canvas;)V+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;,Landroid/text/DynamicLayout;]Landroid/widget/TextView;missing_types]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/widget/Editor;Landroid/widget/Editor;]Ljava/lang/CharSequence;Landroid/text/SpannableStringBuilder; HSPLandroid/widget/TextView;->onEditorAction(I)V HSPLandroid/widget/TextView;->onEndBatchEdit()V HSPLandroid/widget/TextView;->onFocusChanged(ZILandroid/graphics/Rect;)V @@ -20589,7 +20680,7 @@ HSPLandroid/widget/TextView;->onKeyPreIme(ILandroid/view/KeyEvent;)Z HSPLandroid/widget/TextView;->onKeyUp(ILandroid/view/KeyEvent;)Z HSPLandroid/widget/TextView;->onLayout(ZIIII)V HSPLandroid/widget/TextView;->onLocaleChanged()V -HSPLandroid/widget/TextView;->onMeasure(II)V+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/DynamicLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->onMeasure(II)V+]Landroid/text/Layout;Landroid/text/DynamicLayout;,Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;Landroid/widget/CheckBox;,Landroid/widget/EditText;,Landroid/widget/TextView;,Landroid/widget/Button; HSPLandroid/widget/TextView;->onPreDraw()Z HSPLandroid/widget/TextView;->onProvideStructure(Landroid/view/ViewStructure;II)V HSPLandroid/widget/TextView;->onResolveDrawables(I)V @@ -20606,7 +20697,7 @@ HSPLandroid/widget/TextView;->onVisibilityChanged(Landroid/view/View;I)V HSPLandroid/widget/TextView;->onWindowFocusChanged(Z)V HSPLandroid/widget/TextView;->originalToTransformed(II)I HSPLandroid/widget/TextView;->preloadFontCache()V -HSPLandroid/widget/TextView;->readTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/widget/TextView$TextAppearanceAttributes;Z)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/TypedValue;Landroid/util/TypedValue; +HSPLandroid/widget/TextView;->readTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/widget/TextView$TextAppearanceAttributes;Z)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/Context;missing_types HSPLandroid/widget/TextView;->registerForPreDraw()V HSPLandroid/widget/TextView;->removeAdjacentSuggestionSpans(I)V HSPLandroid/widget/TextView;->removeIntersectingNonAdjacentSpans(IILjava/lang/Class;)V @@ -20626,7 +20717,7 @@ HSPLandroid/widget/TextView;->setAutoSizeTextTypeUniformWithPresetSizes([II)V HSPLandroid/widget/TextView;->setBreakStrategy(I)V HSPLandroid/widget/TextView;->setCompoundDrawablePadding(I)V HSPLandroid/widget/TextView;->setCompoundDrawableTintList(Landroid/content/res/ColorStateList;)V -HSPLandroid/widget/TextView;->setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/TextView;->setCompoundDrawablesRelative(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/TextView;->setCompoundDrawablesWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V @@ -20656,7 +20747,7 @@ HSPLandroid/widget/TextView;->setInputTypeFromEditor()V HSPLandroid/widget/TextView;->setInputTypeSingleLine(Z)V HSPLandroid/widget/TextView;->setKeyListener(Landroid/text/method/KeyListener;)V HSPLandroid/widget/TextView;->setKeyListenerOnly(Landroid/text/method/KeyListener;)V -HSPLandroid/widget/TextView;->setLetterSpacing(F)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; +HSPLandroid/widget/TextView;->setLetterSpacing(F)V HSPLandroid/widget/TextView;->setLineHeight(I)V HSPLandroid/widget/TextView;->setLineSpacing(FF)V HSPLandroid/widget/TextView;->setLines(I)V @@ -20673,7 +20764,7 @@ HSPLandroid/widget/TextView;->setPadding(IIII)V HSPLandroid/widget/TextView;->setPaddingRelative(IIII)V HSPLandroid/widget/TextView;->setPrivateImeOptions(Ljava/lang/String;)V HSPLandroid/widget/TextView;->setRawInputType(I)V -HSPLandroid/widget/TextView;->setRawTextSize(FZ)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; +HSPLandroid/widget/TextView;->setRawTextSize(FZ)V HSPLandroid/widget/TextView;->setRelativeDrawablesIfNeeded(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/TextView;->setSelected(Z)V HSPLandroid/widget/TextView;->setShadowLayer(FFFI)V @@ -20682,7 +20773,7 @@ HSPLandroid/widget/TextView;->setSingleLine(Z)V HSPLandroid/widget/TextView;->setText(I)V HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;)V -HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;ZI)V+]Landroid/text/Editable$Factory;Landroid/text/Editable$Factory;]Landroid/text/InputFilter;Landroid/text/InputFilter$LengthFilter;]Landroid/text/Spannable$Factory;Landroid/text/Spannable$Factory;]Landroid/text/Spannable;Landroid/text/SpannableString;,Landroid/text/SpannableStringBuilder;]Landroid/text/Spanned;Landroid/text/SpannableStringBuilder;,Landroid/text/SpannedString;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/text/method/MovementMethod;Landroid/text/method/ArrowKeyMovementMethod;,Landroid/text/method/LinkMovementMethod;]Landroid/text/method/TransformationMethod;Landroid/text/method/AllCapsTransformationMethod;,Landroid/text/method/SingleLineTransformationMethod;]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/widget/TextView;missing_types]Ljava/lang/CharSequence;Landroid/text/SpannableString;,Landroid/text/SpannableStringBuilder;,Landroid/text/SpannedString;,Ljava/lang/String; +HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;ZI)V+]Landroid/text/Editable$Factory;Landroid/text/Editable$Factory;]Landroid/text/method/MovementMethod;Landroid/text/method/ArrowKeyMovementMethod;,Landroid/text/method/ScrollingMovementMethod;]Landroid/text/method/TransformationMethod;Landroid/text/method/SingleLineTransformationMethod;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/text/InputFilter;Landroid/text/InputFilter$LengthFilter;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/text/Spanned;Landroid/text/SpannableString;]Landroid/text/Spannable$Factory;Landroid/text/Spannable$Factory;]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/SpannableStringBuilder;,Landroid/text/SpannableString;]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Landroid/text/Spannable;Landroid/text/SpannableStringBuilder;,Landroid/text/SpannableString; HSPLandroid/widget/TextView;->setTextAppearance(I)V HSPLandroid/widget/TextView;->setTextAppearance(Landroid/content/Context;I)V HSPLandroid/widget/TextView;->setTextColor(I)V @@ -20694,14 +20785,14 @@ HSPLandroid/widget/TextView;->setTextSize(IF)V HSPLandroid/widget/TextView;->setTextSizeInternal(IFZ)V HSPLandroid/widget/TextView;->setTransformationMethod(Landroid/text/method/TransformationMethod;)V HSPLandroid/widget/TextView;->setTransformationMethodInternal(Landroid/text/method/TransformationMethod;Z)V -HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; -HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;I)V+]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V +HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;I)V HSPLandroid/widget/TextView;->setTypefaceFromAttrs(Landroid/graphics/Typeface;Ljava/lang/String;III)V HSPLandroid/widget/TextView;->setupAutoSizeText()Z HSPLandroid/widget/TextView;->setupAutoSizeUniformPresetSizesConfiguration()Z HSPLandroid/widget/TextView;->shouldAdvanceFocusOnEnter()Z HSPLandroid/widget/TextView;->spanChange(Landroid/text/Spanned;Ljava/lang/Object;IIII)V -HSPLandroid/widget/TextView;->startMarquee()V+]Landroid/widget/TextView;Landroid/widget/CheckedTextView;,Landroid/widget/TextView; +HSPLandroid/widget/TextView;->startMarquee()V HSPLandroid/widget/TextView;->startStopMarquee(Z)V HSPLandroid/widget/TextView;->stopMarquee()V HSPLandroid/widget/TextView;->stopTextActionMode()V @@ -20711,8 +20802,8 @@ HSPLandroid/widget/TextView;->textCanBeSelected()Z HSPLandroid/widget/TextView;->unregisterForPreDraw()V HSPLandroid/widget/TextView;->updateAfterEdit()V HSPLandroid/widget/TextView;->updateCursorVisibleInternal()V -HSPLandroid/widget/TextView;->updateTextColors()V+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/widget/TextView;missing_types]Ljava/lang/CharSequence;Ljava/lang/String; -HSPLandroid/widget/TextView;->useDynamicLayout()Z+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->updateTextColors()V +HSPLandroid/widget/TextView;->useDynamicLayout()Z HSPLandroid/widget/TextView;->validateAndSetAutoSizeTextTypeUniformConfiguration(FFF)V HSPLandroid/widget/TextView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z HSPLandroid/widget/TextView;->viewClicked(Landroid/view/inputmethod/InputMethodManager;)V @@ -20773,6 +20864,7 @@ HSPLandroid/widget/inline/InlinePresentationSpec$1;->createFromParcel(Landroid/o HSPLandroid/widget/inline/InlinePresentationSpec;-><clinit>()V HSPLandroid/widget/inline/InlinePresentationSpec;-><init>(Landroid/os/Parcel;)V HSPLandroid/widget/inline/InlinePresentationSpec;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/window/BackProgressAnimator;-><init>()V+]Lcom/android/internal/dynamicanimation/animation/SpringAnimation;Lcom/android/internal/dynamicanimation/animation/SpringAnimation;]Lcom/android/internal/dynamicanimation/animation/SpringForce;Lcom/android/internal/dynamicanimation/animation/SpringForce; HSPLandroid/window/ClientWindowFrames$1;-><init>()V HSPLandroid/window/ClientWindowFrames$1;->createFromParcel(Landroid/os/Parcel;)Landroid/window/ClientWindowFrames; HSPLandroid/window/ClientWindowFrames$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -20890,6 +20982,8 @@ HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper;-> HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper;->onBackCancelled()V HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper;->onBackInvoked()V HSPLandroid/window/WindowOnBackInvokedDispatcher;-><clinit>()V +HSPLandroid/window/WindowOnBackInvokedDispatcher;-><init>(Landroid/content/Context;)V +HSPLandroid/window/WindowOnBackInvokedDispatcher;->attachToWindow(Landroid/view/IWindowSession;Landroid/view/IWindow;)V HSPLandroid/window/WindowOnBackInvokedDispatcher;->clear()V HSPLandroid/window/WindowOnBackInvokedDispatcher;->detachFromWindow()V HSPLandroid/window/WindowOnBackInvokedDispatcher;->getTopCallback()Landroid/window/OnBackInvokedCallback; @@ -20925,12 +21019,12 @@ HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForRegion(Ljava/l HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForRegionOrCallingCode(ILjava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNationalSignificantNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberDescByType(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc; -HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberTypeHelper(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType; +HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberTypeHelper(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;+]Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;]Lcom/android/i18n/phonenumbers/PhoneNumberUtil;Lcom/android/i18n/phonenumbers/PhoneNumberUtil; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForCountryCode(I)Ljava/lang/String; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String; -HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumberFromRegionList(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/List;)Ljava/lang/String; +HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumberFromRegionList(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/List;)Ljava/lang/String;+]Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/i18n/phonenumbers/PhoneNumberUtil;Lcom/android/i18n/phonenumbers/PhoneNumberUtil;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->hasFormattingPatternForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z -HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberMatchingDesc(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z +HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberMatchingDesc(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z+]Ljava/lang/String;Ljava/lang/String;]Lcom/android/i18n/phonenumbers/internal/MatcherApi;Lcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;]Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidNumberForRegion(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/String;)Z HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidRegionCode(Ljava/lang/String;)Z @@ -21035,8 +21129,8 @@ HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setCountryCode(I)Lco HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setCountryCodeSource(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber; HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setNationalNumber(J)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber; HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setRawInput(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber; -HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->match(Ljava/lang/CharSequence;Ljava/util/regex/Pattern;Z)Z -HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->matchNationalNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Z)Z +HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->match(Ljava/lang/CharSequence;Ljava/util/regex/Pattern;Z)Z+]Ljava/util/regex/Matcher;Ljava/util/regex/Matcher;]Ljava/util/regex/Pattern;Ljava/util/regex/Pattern; +HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->matchNationalNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Z)Z+]Ljava/lang/String;Ljava/lang/String;]Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;]Lcom/android/i18n/phonenumbers/internal/RegexCache;Lcom/android/i18n/phonenumbers/internal/RegexCache; HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache$1;->removeEldestEntry(Ljava/util/Map$Entry;)Z HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache;->put(Ljava/lang/Object;Ljava/lang/Object;)V @@ -21114,10 +21208,10 @@ HSPLcom/android/i18n/timezone/internal/NioBufferIterator;->readInt()I HSPLcom/android/i18n/timezone/internal/NioBufferIterator;->readLongArray([JII)V HSPLcom/android/i18n/timezone/internal/NioBufferIterator;->skip(I)V HSPLcom/android/icu/charset/CharsetDecoderICU;-><init>(Ljava/nio/charset/Charset;FJ)V -HSPLcom/android/icu/charset/CharsetDecoderICU;->decodeLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult; -HSPLcom/android/icu/charset/CharsetDecoderICU;->getArray(Ljava/nio/ByteBuffer;)I -HSPLcom/android/icu/charset/CharsetDecoderICU;->getArray(Ljava/nio/CharBuffer;)I -HSPLcom/android/icu/charset/CharsetDecoderICU;->implFlush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult; +HSPLcom/android/icu/charset/CharsetDecoderICU;->decodeLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; +HSPLcom/android/icu/charset/CharsetDecoderICU;->getArray(Ljava/nio/ByteBuffer;)I+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; +HSPLcom/android/icu/charset/CharsetDecoderICU;->getArray(Ljava/nio/CharBuffer;)I+]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer; +HSPLcom/android/icu/charset/CharsetDecoderICU;->implFlush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;+]Lcom/android/icu/charset/CharsetDecoderICU;Lcom/android/icu/charset/CharsetDecoderICU; HSPLcom/android/icu/charset/CharsetDecoderICU;->implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetDecoderICU;->implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetDecoderICU;->implReplaceWith(Ljava/lang/String;)V @@ -21127,16 +21221,16 @@ HSPLcom/android/icu/charset/CharsetDecoderICU;->setPosition(Ljava/nio/ByteBuffer HSPLcom/android/icu/charset/CharsetDecoderICU;->setPosition(Ljava/nio/CharBuffer;)V HSPLcom/android/icu/charset/CharsetDecoderICU;->updateCallback()V HSPLcom/android/icu/charset/CharsetEncoderICU;-><init>(Ljava/nio/charset/Charset;FF[BJ)V -HSPLcom/android/icu/charset/CharsetEncoderICU;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; -HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/ByteBuffer;)I -HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/CharBuffer;)I +HSPLcom/android/icu/charset/CharsetEncoderICU;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;+]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer; +HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/ByteBuffer;)I+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; +HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/CharBuffer;)I+]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer; HSPLcom/android/icu/charset/CharsetEncoderICU;->implFlush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; HSPLcom/android/icu/charset/CharsetEncoderICU;->implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetEncoderICU;->implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetEncoderICU;->implReset()V HSPLcom/android/icu/charset/CharsetEncoderICU;->makeReplacement(Ljava/lang/String;J)[B HSPLcom/android/icu/charset/CharsetEncoderICU;->newInstance(Ljava/nio/charset/Charset;Ljava/lang/String;)Lcom/android/icu/charset/CharsetEncoderICU; -HSPLcom/android/icu/charset/CharsetEncoderICU;->setPosition(Ljava/nio/ByteBuffer;)V +HSPLcom/android/icu/charset/CharsetEncoderICU;->setPosition(Ljava/nio/ByteBuffer;)V+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; HSPLcom/android/icu/charset/CharsetEncoderICU;->setPosition(Ljava/nio/CharBuffer;)V HSPLcom/android/icu/charset/CharsetEncoderICU;->updateCallback()V HSPLcom/android/icu/charset/CharsetFactory;->create(Ljava/lang/String;)Ljava/nio/charset/Charset; @@ -21176,7 +21270,7 @@ HSPLcom/android/icu/util/ExtendedTimeZone;->utcStartTime(JLandroid/icu/util/Time HSPLcom/android/icu/util/LocaleNative;->getDisplayCountry(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String; HSPLcom/android/icu/util/LocaleNative;->getDisplayLanguage(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String; HSPLcom/android/icu/util/LocaleNative;->setDefault(Ljava/lang/String;)V -HSPLcom/android/icu/util/regex/MatcherNative;-><init>(Lcom/android/icu/util/regex/PatternNative;)V +HSPLcom/android/icu/util/regex/MatcherNative;-><init>(Lcom/android/icu/util/regex/PatternNative;)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry;]Lcom/android/icu/util/regex/PatternNative;Lcom/android/icu/util/regex/PatternNative; HSPLcom/android/icu/util/regex/MatcherNative;->create(Lcom/android/icu/util/regex/PatternNative;)Lcom/android/icu/util/regex/MatcherNative; HSPLcom/android/icu/util/regex/MatcherNative;->find(I[I)Z HSPLcom/android/icu/util/regex/MatcherNative;->findNext([I)Z @@ -21188,7 +21282,7 @@ HSPLcom/android/icu/util/regex/MatcherNative;->requireEnd()Z HSPLcom/android/icu/util/regex/MatcherNative;->setInput(Ljava/lang/String;II)V HSPLcom/android/icu/util/regex/MatcherNative;->useAnchoringBounds(Z)V HSPLcom/android/icu/util/regex/MatcherNative;->useTransparentBounds(Z)V -HSPLcom/android/icu/util/regex/PatternNative;-><init>(Ljava/lang/String;I)V +HSPLcom/android/icu/util/regex/PatternNative;-><init>(Ljava/lang/String;I)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; HSPLcom/android/icu/util/regex/PatternNative;->create(Ljava/lang/String;I)Lcom/android/icu/util/regex/PatternNative; HSPLcom/android/icu/util/regex/PatternNative;->openMatcher()J HSPLcom/android/internal/app/AlertController;-><init>(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)V @@ -21272,6 +21366,8 @@ HSPLcom/android/internal/content/ReferrerIntent$1;->createFromParcel(Landroid/os HSPLcom/android/internal/content/ReferrerIntent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/internal/display/BrightnessSynchronizer;-><clinit>()V HSPLcom/android/internal/display/BrightnessSynchronizer;->floatEquals(FF)Z +HSPLcom/android/internal/dynamicanimation/animation/DynamicAnimation;-><init>(Ljava/lang/Object;Landroid/util/FloatProperty;)V +HSPLcom/android/internal/dynamicanimation/animation/SpringForce;-><init>()V HSPLcom/android/internal/graphics/ColorUtils;->HSLToColor([F)I HSPLcom/android/internal/graphics/ColorUtils;->RGBToHSL(III[F)V HSPLcom/android/internal/graphics/ColorUtils;->colorToHSL(I[F)V @@ -21400,7 +21496,7 @@ HSPLcom/android/internal/listeners/ListenerExecutor$ListenerOperation;->onComple HSPLcom/android/internal/listeners/ListenerExecutor$ListenerOperation;->onPostExecute(Z)V HSPLcom/android/internal/listeners/ListenerExecutor$ListenerOperation;->onPreExecute()V HSPLcom/android/internal/listeners/ListenerExecutor;->executeSafely(Ljava/util/concurrent/Executor;Ljava/util/function/Supplier;Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;)V -HSPLcom/android/internal/listeners/ListenerExecutor;->executeSafely(Ljava/util/concurrent/Executor;Ljava/util/function/Supplier;Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;Lcom/android/internal/listeners/ListenerExecutor$FailureCallback;)V+]Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;Landroid/telephony/TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda2;,Landroid/telephony/TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda3;]Ljava/util/concurrent/Executor;Landroid/net/connectivity/com/android/modules/utils/HandlerExecutor;,Landroid/os/HandlerExecutor;,Lcom/android/wifi/x/com/android/modules/utils/HandlerExecutor;]Ljava/util/function/Supplier;Landroid/telephony/TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda1; +HSPLcom/android/internal/listeners/ListenerExecutor;->executeSafely(Ljava/util/concurrent/Executor;Ljava/util/function/Supplier;Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;Lcom/android/internal/listeners/ListenerExecutor$FailureCallback;)V HSPLcom/android/internal/listeners/ListenerExecutor;->lambda$executeSafely$0(Ljava/lang/Object;Ljava/util/function/Supplier;Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;Lcom/android/internal/listeners/ListenerExecutor$FailureCallback;)V HSPLcom/android/internal/logging/AndroidConfig;-><init>()V HSPLcom/android/internal/logging/AndroidHandler$1;->format(Ljava/util/logging/LogRecord;)Ljava/lang/String; @@ -21641,33 +21737,42 @@ HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isPresent(ZIZ)Z HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isVisible(ZIIZ)Z HSPLcom/android/internal/policy/DecorView$ColorViewState;-><init>(Lcom/android/internal/policy/DecorView$ColorViewAttributes;)V HSPLcom/android/internal/policy/DecorView;-><init>(Landroid/content/Context;ILcom/android/internal/policy/PhoneWindow;Landroid/view/WindowManager$LayoutParams;)V -HSPLcom/android/internal/policy/DecorView;->calculateNavigationBarColor(I)I -HSPLcom/android/internal/policy/DecorView;->calculateStatusBarColor(I)I +HSPLcom/android/internal/policy/DecorView;->calculateNavigationBarColor(I)I+]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow; +HSPLcom/android/internal/policy/DecorView;->calculateStatusBarColor(I)I+]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow; +HSPLcom/android/internal/policy/DecorView;->createDecorCaptionView(Landroid/view/LayoutInflater;)Lcom/android/internal/widget/DecorCaptionView; HSPLcom/android/internal/policy/DecorView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z HSPLcom/android/internal/policy/DecorView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z HSPLcom/android/internal/policy/DecorView;->draw(Landroid/graphics/Canvas;)V HSPLcom/android/internal/policy/DecorView;->drawLegacyNavigationBarBackground(Landroid/graphics/RecordingCanvas;)V HSPLcom/android/internal/policy/DecorView;->drawableChanged()V +HSPLcom/android/internal/policy/DecorView;->enableCaption(Z)V +HSPLcom/android/internal/policy/DecorView;->enforceNonTranslucentBackground(Landroid/graphics/drawable/Drawable;Z)Landroid/graphics/drawable/Drawable; HSPLcom/android/internal/policy/DecorView;->finishChanging()V +HSPLcom/android/internal/policy/DecorView;->gatherTransparentRegion(Landroid/graphics/Region;)Z +HSPLcom/android/internal/policy/DecorView;->gatherTransparentRegion(Lcom/android/internal/policy/DecorView$ColorViewState;Landroid/graphics/Region;)Z HSPLcom/android/internal/policy/DecorView;->getAccessibilityViewId()I HSPLcom/android/internal/policy/DecorView;->getBackground()Landroid/graphics/drawable/Drawable; +HSPLcom/android/internal/policy/DecorView;->getCaptionHeight()I +HSPLcom/android/internal/policy/DecorView;->getCaptionInsetsHeight()I HSPLcom/android/internal/policy/DecorView;->getNavBarSize(III)I -HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources;+]Landroid/content/Context;Lcom/android/internal/policy/DecorContext;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; -HSPLcom/android/internal/policy/DecorView;->getTitleSuffix(Landroid/view/WindowManager$LayoutParams;)Ljava/lang/String; -HSPLcom/android/internal/policy/DecorView;->getWindowInsetsController()Landroid/view/WindowInsetsController; +HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources;+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;,Lcom/android/internal/policy/DecorContext; +HSPLcom/android/internal/policy/DecorView;->getTitleSuffix(Landroid/view/WindowManager$LayoutParams;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLcom/android/internal/policy/DecorView;->getWindowInsetsController()Landroid/view/WindowInsetsController;+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; HSPLcom/android/internal/policy/DecorView;->initializeElevation()V HSPLcom/android/internal/policy/DecorView;->isNavBarToLeftEdge(II)Z HSPLcom/android/internal/policy/DecorView;->isNavBarToRightEdge(II)Z +HSPLcom/android/internal/policy/DecorView;->isResizing()Z +HSPLcom/android/internal/policy/DecorView;->isShowingCaption()Z HSPLcom/android/internal/policy/DecorView;->onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; HSPLcom/android/internal/policy/DecorView;->onAttachedToWindow()V HSPLcom/android/internal/policy/DecorView;->onCloseSystemDialogs(Ljava/lang/String;)V HSPLcom/android/internal/policy/DecorView;->onConfigurationChanged(Landroid/content/res/Configuration;)V HSPLcom/android/internal/policy/DecorView;->onContentDrawn(IIII)Z HSPLcom/android/internal/policy/DecorView;->onDetachedFromWindow()V -HSPLcom/android/internal/policy/DecorView;->onDraw(Landroid/graphics/Canvas;)V +HSPLcom/android/internal/policy/DecorView;->onDraw(Landroid/graphics/Canvas;)V+]Lcom/android/internal/widget/BackgroundFallback;Lcom/android/internal/widget/BackgroundFallback; HSPLcom/android/internal/policy/DecorView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z -HSPLcom/android/internal/policy/DecorView;->onLayout(ZIIII)V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; -HSPLcom/android/internal/policy/DecorView;->onMeasure(II)V+]Landroid/content/Context;Lcom/android/internal/policy/DecorContext;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow; +HSPLcom/android/internal/policy/DecorView;->onLayout(ZIIII)V +HSPLcom/android/internal/policy/DecorView;->onMeasure(II)V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;,Lcom/android/internal/policy/DecorContext;]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLcom/android/internal/policy/DecorView;->onPostDraw(Landroid/graphics/RecordingCanvas;)V HSPLcom/android/internal/policy/DecorView;->onResourcesLoaded(Landroid/view/LayoutInflater;I)V HSPLcom/android/internal/policy/DecorView;->onRootViewScrollYChanged(I)V @@ -21676,12 +21781,13 @@ HSPLcom/android/internal/policy/DecorView;->onTouchEvent(Landroid/view/MotionEve HSPLcom/android/internal/policy/DecorView;->onWindowFocusChanged(Z)V HSPLcom/android/internal/policy/DecorView;->onWindowSystemUiVisibilityChanged(I)V HSPLcom/android/internal/policy/DecorView;->providePendingInsetsController()Landroid/view/PendingInsetsController; +HSPLcom/android/internal/policy/DecorView;->releaseThreadedRenderer()V HSPLcom/android/internal/policy/DecorView;->removeBackgroundBlurDrawable()V HSPLcom/android/internal/policy/DecorView;->sendAccessibilityEvent(I)V HSPLcom/android/internal/policy/DecorView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V HSPLcom/android/internal/policy/DecorView;->setBackgroundFallback(Landroid/graphics/drawable/Drawable;)V HSPLcom/android/internal/policy/DecorView;->setColor(Landroid/view/View;IIZZ)V -HSPLcom/android/internal/policy/DecorView;->setFrame(IIII)Z+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/ColorDrawable;,Landroid/graphics/drawable/GradientDrawable;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; +HSPLcom/android/internal/policy/DecorView;->setFrame(IIII)Z+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/ColorDrawable; HSPLcom/android/internal/policy/DecorView;->setWindow(Lcom/android/internal/policy/PhoneWindow;)V HSPLcom/android/internal/policy/DecorView;->setWindowBackground(Landroid/graphics/drawable/Drawable;)V HSPLcom/android/internal/policy/DecorView;->setWindowFrame(Landroid/graphics/drawable/Drawable;)V @@ -21689,12 +21795,13 @@ HSPLcom/android/internal/policy/DecorView;->startChanging()V HSPLcom/android/internal/policy/DecorView;->superDispatchKeyEvent(Landroid/view/KeyEvent;)Z HSPLcom/android/internal/policy/DecorView;->superDispatchTouchEvent(Landroid/view/MotionEvent;)Z HSPLcom/android/internal/policy/DecorView;->updateBackgroundBlurRadius()V -HSPLcom/android/internal/policy/DecorView;->updateBackgroundDrawable()V -HSPLcom/android/internal/policy/DecorView;->updateColorViewInt(Lcom/android/internal/policy/DecorView$ColorViewState;IIIZZIZZI)V+]Landroid/view/View;Landroid/view/View;]Landroid/view/ViewPropertyAnimator;Landroid/view/ViewPropertyAnimator;]Lcom/android/internal/policy/DecorView$ColorViewAttributes;Lcom/android/internal/policy/DecorView$ColorViewAttributes;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow; +HSPLcom/android/internal/policy/DecorView;->updateBackgroundDrawable()V+]Landroid/graphics/Insets;Landroid/graphics/Insets; +HSPLcom/android/internal/policy/DecorView;->updateColorViewInt(Lcom/android/internal/policy/DecorView$ColorViewState;IIIZZIZZI)V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow;]Landroid/view/View;Landroid/view/View;]Landroid/view/ViewPropertyAnimator;Landroid/view/ViewPropertyAnimator;]Lcom/android/internal/policy/DecorView$ColorViewAttributes;Lcom/android/internal/policy/DecorView$ColorViewAttributes; HSPLcom/android/internal/policy/DecorView;->updateColorViewTranslations()V -HSPLcom/android/internal/policy/DecorView;->updateColorViews(Landroid/view/WindowInsets;Z)Landroid/view/WindowInsets;+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/view/ViewGroup;Landroid/widget/LinearLayout;]Landroid/view/WindowInsets;Landroid/view/WindowInsets;]Landroid/view/WindowInsetsController;Landroid/view/InsetsController;,Landroid/view/PendingInsetsController;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow; -HSPLcom/android/internal/policy/DecorView;->updateElevation()V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; -HSPLcom/android/internal/policy/DecorView;->updateLogTag(Landroid/view/WindowManager$LayoutParams;)V +HSPLcom/android/internal/policy/DecorView;->updateColorViews(Landroid/view/WindowInsets;Z)Landroid/view/WindowInsets;+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow;]Landroid/view/ViewGroup;Landroid/widget/LinearLayout;]Landroid/view/WindowInsetsController;Landroid/view/InsetsController;,Landroid/view/PendingInsetsController;]Landroid/view/WindowInsets;Landroid/view/WindowInsets;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HSPLcom/android/internal/policy/DecorView;->updateDecorCaptionStatus(Landroid/content/res/Configuration;)V +HSPLcom/android/internal/policy/DecorView;->updateElevation()V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HSPLcom/android/internal/policy/DecorView;->updateLogTag(Landroid/view/WindowManager$LayoutParams;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/internal/policy/DecorView;->updateStatusGuard(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; HSPLcom/android/internal/policy/DecorView;->willYouTakeTheInputQueue()Landroid/view/InputQueue$Callback; HSPLcom/android/internal/policy/DecorView;->willYouTakeTheSurface()Landroid/view/SurfaceHolder$Callback2; @@ -21728,10 +21835,10 @@ HSPLcom/android/internal/policy/PhoneWindow;->applyDecorFitsSystemWindows()V HSPLcom/android/internal/policy/PhoneWindow;->closeAllPanels()V HSPLcom/android/internal/policy/PhoneWindow;->closeContextMenu()V HSPLcom/android/internal/policy/PhoneWindow;->closePanel(Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;Z)V -HSPLcom/android/internal/policy/PhoneWindow;->dispatchWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V +HSPLcom/android/internal/policy/PhoneWindow;->dispatchWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; HSPLcom/android/internal/policy/PhoneWindow;->doInvalidatePanelMenu(I)V HSPLcom/android/internal/policy/PhoneWindow;->generateDecor(I)Lcom/android/internal/policy/DecorView; -HSPLcom/android/internal/policy/PhoneWindow;->generateLayout(Lcom/android/internal/policy/DecorView;)Landroid/view/ViewGroup;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow;]Ljava/lang/Boolean;Ljava/lang/Boolean; +HSPLcom/android/internal/policy/PhoneWindow;->generateLayout(Lcom/android/internal/policy/DecorView;)Landroid/view/ViewGroup; HSPLcom/android/internal/policy/PhoneWindow;->getCurrentFocus()Landroid/view/View; HSPLcom/android/internal/policy/PhoneWindow;->getDecorView()Landroid/view/View; HSPLcom/android/internal/policy/PhoneWindow;->getLayoutInflater()Landroid/view/LayoutInflater; @@ -21759,7 +21866,7 @@ HSPLcom/android/internal/policy/PhoneWindow;->peekDecorView()Landroid/view/View; HSPLcom/android/internal/policy/PhoneWindow;->requestFeature(I)Z HSPLcom/android/internal/policy/PhoneWindow;->restoreHierarchyState(Landroid/os/Bundle;)V HSPLcom/android/internal/policy/PhoneWindow;->saveHierarchyState()Landroid/os/Bundle; -HSPLcom/android/internal/policy/PhoneWindow;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V +HSPLcom/android/internal/policy/PhoneWindow;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; HSPLcom/android/internal/policy/PhoneWindow;->setBackgroundBlurRadius(I)V HSPLcom/android/internal/policy/PhoneWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V HSPLcom/android/internal/policy/PhoneWindow;->setContentView(I)V @@ -21832,6 +21939,7 @@ HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getAvailableSubscriptionInf HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultDataSubId()I HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSmsSubId()I HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSubId()I +HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSubIdAsUser(I)I HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultVoiceSubId()I HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getPhoneId(I)I HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSlotIndex(I)I @@ -21917,7 +22025,7 @@ HSPLcom/android/internal/util/ArrayUtils;->convertToIntArray(Ljava/util/List;)[I HSPLcom/android/internal/util/ArrayUtils;->deepToString(Ljava/lang/Object;)Ljava/lang/String; HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/io/File;)[Ljava/io/File; HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/lang/String;)[Ljava/lang/String; -HSPLcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object; +HSPLcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object;+]Ljava/lang/Object;Ljava/lang/Class;]Ljava/lang/Class;Ljava/lang/Class; HSPLcom/android/internal/util/ArrayUtils;->emptyIfNull([Ljava/lang/Object;Ljava/lang/Class;)[Ljava/lang/Object; HSPLcom/android/internal/util/ArrayUtils;->filter([Ljava/lang/Object;Ljava/util/function/IntFunction;Ljava/util/function/Predicate;)[Ljava/lang/Object; HSPLcom/android/internal/util/ArrayUtils;->getOrNull([Ljava/lang/Object;I)Ljava/lang/Object; @@ -21925,14 +22033,14 @@ HSPLcom/android/internal/util/ArrayUtils;->indexOf([Ljava/lang/Object;Ljava/lang HSPLcom/android/internal/util/ArrayUtils;->isEmpty(Ljava/util/Collection;)Z HSPLcom/android/internal/util/ArrayUtils;->isEmpty([I)Z HSPLcom/android/internal/util/ArrayUtils;->isEmpty([Ljava/lang/Object;)Z -HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedArray(Ljava/lang/Class;I)[Ljava/lang/Object; +HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedArray(Ljava/lang/Class;I)[Ljava/lang/Object;+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedBooleanArray(I)[Z HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedByteArray(I)[B -HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedCharArray(I)[C +HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedCharArray(I)[C+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedFloatArray(I)[F -HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedIntArray(I)[I +HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedIntArray(I)[I+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedLongArray(I)[J -HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedObjectArray(I)[Ljava/lang/Object; +HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedObjectArray(I)[Ljava/lang/Object;+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLcom/android/internal/util/ArrayUtils;->remove(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList; HSPLcom/android/internal/util/ArrayUtils;->removeElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object; HSPLcom/android/internal/util/ArrayUtils;->size([Ljava/lang/Object;)I @@ -21973,13 +22081,13 @@ HSPLcom/android/internal/util/FastPrintWriter;->print(J)V HSPLcom/android/internal/util/FastPrintWriter;->print(Ljava/lang/String;)V HSPLcom/android/internal/util/FastPrintWriter;->println()V HSPLcom/android/internal/util/FastPrintWriter;->write(I)V -HSPLcom/android/internal/util/FastPrintWriter;->write(Ljava/lang/String;)V +HSPLcom/android/internal/util/FastPrintWriter;->write(Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String; HSPLcom/android/internal/util/FastPrintWriter;->write([CII)V HSPLcom/android/internal/util/FastXmlSerializer;-><init>()V HSPLcom/android/internal/util/FastXmlSerializer;-><init>(I)V HSPLcom/android/internal/util/FastXmlSerializer;->append(C)V HSPLcom/android/internal/util/FastXmlSerializer;->append(Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String; -HSPLcom/android/internal/util/FastXmlSerializer;->append(Ljava/lang/String;II)V+]Ljava/lang/String;Ljava/lang/String; +HSPLcom/android/internal/util/FastXmlSerializer;->append(Ljava/lang/String;II)V+]Ljava/lang/String;Ljava/lang/String;]Lcom/android/internal/util/FastXmlSerializer;Lcom/android/internal/util/FastXmlSerializer; HSPLcom/android/internal/util/FastXmlSerializer;->appendIndent(I)V+]Ljava/lang/String;Ljava/lang/String; HSPLcom/android/internal/util/FastXmlSerializer;->attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer; HSPLcom/android/internal/util/FastXmlSerializer;->endDocument()V @@ -22001,12 +22109,12 @@ HSPLcom/android/internal/util/FrameworkStatsLog;->write(ILjava/lang/String;I)V HSPLcom/android/internal/util/FrameworkStatsLog;->write(ILjava/lang/String;IIF)V HSPLcom/android/internal/util/GrowingArrayUtils;->append([III)[I HSPLcom/android/internal/util/GrowingArrayUtils;->append([JIJ)[J -HSPLcom/android/internal/util/GrowingArrayUtils;->append([Ljava/lang/Object;ILjava/lang/Object;)[Ljava/lang/Object; +HSPLcom/android/internal/util/GrowingArrayUtils;->append([Ljava/lang/Object;ILjava/lang/Object;)[Ljava/lang/Object;+]Ljava/lang/Object;missing_types]Ljava/lang/Class;Ljava/lang/Class; HSPLcom/android/internal/util/GrowingArrayUtils;->append([ZIZ)[Z HSPLcom/android/internal/util/GrowingArrayUtils;->growSize(I)I HSPLcom/android/internal/util/GrowingArrayUtils;->insert([IIII)[I HSPLcom/android/internal/util/GrowingArrayUtils;->insert([JIIJ)[J -HSPLcom/android/internal/util/GrowingArrayUtils;->insert([Ljava/lang/Object;IILjava/lang/Object;)[Ljava/lang/Object;+]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;[Ljava/lang/Object; +HSPLcom/android/internal/util/GrowingArrayUtils;->insert([Ljava/lang/Object;IILjava/lang/Object;)[Ljava/lang/Object;+]Ljava/lang/Object;[Ljava/lang/Object;]Ljava/lang/Class;Ljava/lang/Class; HSPLcom/android/internal/util/GrowingArrayUtils;->insert([ZIIZ)[Z HSPLcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter; HSPLcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter; @@ -22076,7 +22184,7 @@ HSPLcom/android/internal/util/Preconditions;->checkStringNotEmpty(Ljava/lang/Cha HSPLcom/android/internal/util/ProcFileReader;->finishLine()V HSPLcom/android/internal/util/ScreenshotHelper;-><init>(Landroid/content/Context;)V HSPLcom/android/internal/util/StatLogger;->getTime()J -HSPLcom/android/internal/util/StatLogger;->logDurationStat(IJ)J+]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger; +HSPLcom/android/internal/util/StatLogger;->logDurationStat(IJ)J HSPLcom/android/internal/util/State;-><init>()V HSPLcom/android/internal/util/State;->enter()V HSPLcom/android/internal/util/StateMachine$LogRecords;->add(Lcom/android/internal/util/StateMachine;Landroid/os/Message;Ljava/lang/String;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;)V @@ -22128,7 +22236,7 @@ HSPLcom/android/internal/util/XmlSerializerWrapper;->endTag(Ljava/lang/String;Lj HSPLcom/android/internal/util/XmlSerializerWrapper;->setFeature(Ljava/lang/String;Z)V HSPLcom/android/internal/util/XmlSerializerWrapper;->setOutput(Ljava/io/OutputStream;Ljava/lang/String;)V HSPLcom/android/internal/util/XmlSerializerWrapper;->startDocument(Ljava/lang/String;Ljava/lang/Boolean;)V -HSPLcom/android/internal/util/XmlSerializerWrapper;->startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;+]Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/FastXmlSerializer; +HSPLcom/android/internal/util/XmlSerializerWrapper;->startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer; HSPLcom/android/internal/util/XmlSerializerWrapper;->text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer; HSPLcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V HSPLcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;->getAttributeBoolean(I)Z @@ -22151,19 +22259,19 @@ HSPLcom/android/internal/util/XmlUtils;->readLongAttribute(Lorg/xmlpull/v1/XmlPu HSPLcom/android/internal/util/XmlUtils;->readLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J HSPLcom/android/internal/util/XmlUtils;->readMapXml(Ljava/io/InputStream;)Ljava/util/HashMap; HSPLcom/android/internal/util/XmlUtils;->readStringAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String; -HSPLcom/android/internal/util/XmlUtils;->readThisMapXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;)Ljava/util/HashMap; -HSPLcom/android/internal/util/XmlUtils;->readThisPrimitiveValueXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)Ljava/lang/Object; +HSPLcom/android/internal/util/XmlUtils;->readThisMapXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;)Ljava/util/HashMap;+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/Object;Ljava/lang/String;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; +HSPLcom/android/internal/util/XmlUtils;->readThisPrimitiveValueXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)Ljava/lang/Object;+]Ljava/lang/Object;Ljava/lang/String;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; HSPLcom/android/internal/util/XmlUtils;->readThisSetXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/util/HashSet; -HSPLcom/android/internal/util/XmlUtils;->readThisValueXml(Lcom/android/modules/utils/TypedXmlPullParser;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/lang/Object; +HSPLcom/android/internal/util/XmlUtils;->readThisValueXml(Lcom/android/modules/utils/TypedXmlPullParser;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/lang/Object;+]Ljava/lang/Object;Ljava/lang/String;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/internal/util/XmlUtils$ReadMapCallback;Landroid/os/PersistableBundle$MyReadMapCallback; HSPLcom/android/internal/util/XmlUtils;->readValueXml(Lcom/android/modules/utils/TypedXmlPullParser;[Ljava/lang/String;)Ljava/lang/Object; HSPLcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V -HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V+]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Set;Ljava/util/HashMap$EntrySet; +HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/io/OutputStream;)V HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V HSPLcom/android/internal/util/XmlUtils;->writeSetXml(Ljava/util/Set;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;)V -HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/lang/Long;Ljava/lang/Long;]Ljava/lang/Object;Ljava/lang/String; +HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Ljava/lang/Long;Ljava/lang/Long;]Ljava/lang/Float;Ljava/lang/Float; HSPLcom/android/internal/util/function/pooled/OmniFunction;->run()V HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/HexConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message; HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/QuadConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message; @@ -22199,6 +22307,7 @@ HSPLcom/android/internal/view/AppearanceRegion;->equals(Ljava/lang/Object;)Z HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->addClient(Lcom/android/internal/inputmethod/IInputMethodClient;Lcom/android/internal/inputmethod/IRemoteInputConnection;I)V HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->asBinder()Landroid/os/IBinder; +HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodList(I)Ljava/util/List; HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getImeTrackerService()Lcom/android/internal/inputmethod/IImeTracker; HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->isImeTraceEnabled()Z HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->removeImeSurfaceFromWindowAsync(Landroid/os/IBinder;)V @@ -22243,7 +22352,7 @@ HSPLcom/android/internal/widget/AlertDialogLayout;->onMeasure(II)V HSPLcom/android/internal/widget/AlertDialogLayout;->setChildFrame(Landroid/view/View;IIII)V HSPLcom/android/internal/widget/AlertDialogLayout;->tryOnMeasure(II)Z HSPLcom/android/internal/widget/BackgroundFallback;-><init>()V -HSPLcom/android/internal/widget/BackgroundFallback;->draw(Landroid/view/ViewGroup;Landroid/view/ViewGroup;Landroid/graphics/Canvas;Landroid/view/View;Landroid/view/View;Landroid/view/View;)V +HSPLcom/android/internal/widget/BackgroundFallback;->draw(Landroid/view/ViewGroup;Landroid/view/ViewGroup;Landroid/graphics/Canvas;Landroid/view/View;Landroid/view/View;Landroid/view/View;)V+]Lcom/android/internal/widget/BackgroundFallback;Lcom/android/internal/widget/BackgroundFallback; HSPLcom/android/internal/widget/BackgroundFallback;->hasFallback()Z HSPLcom/android/internal/widget/BackgroundFallback;->setDrawable(Landroid/graphics/drawable/Drawable;)V HSPLcom/android/internal/widget/ButtonBarLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V @@ -22262,6 +22371,7 @@ HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->handleStron HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->isNonStrongBiometricAllowedAfterIdleTimeout(I)Z HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->onIsNonStrongBiometricAllowedChanged(I)V HSPLcom/android/internal/widget/LockPatternUtils;-><init>(Landroid/content/Context;)V +HSPLcom/android/internal/widget/LockPatternUtils;-><init>(Landroid/content/Context;Lcom/android/internal/widget/ILockSettings;)V+]Landroid/content/Context;Landroid/app/ContextImpl;,Landroid/app/ReceiverRestrictedContext; HSPLcom/android/internal/widget/LockPatternUtils;->credentialTypeToPasswordQuality(I)I HSPLcom/android/internal/widget/LockPatternUtils;->getBoolean(Ljava/lang/String;ZI)Z HSPLcom/android/internal/widget/LockPatternUtils;->getCredentialTypeForUser(I)I @@ -22277,8 +22387,8 @@ HSPLcom/android/internal/widget/LockPatternUtils;->isOwnerInfoEnabled(I)Z HSPLcom/android/internal/widget/LockPatternUtils;->isSecure(I)Z HSPLcom/android/internal/widget/LockPatternUtils;->isSeparateProfileChallengeEnabled(I)Z HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeBoolean(Ljava/lang/String;Ljava/lang/String;)Z+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; -HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeFloat(Ljava/lang/String;Ljava/lang/String;)F+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; -HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeIndex(Ljava/lang/String;Ljava/lang/String;)I+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;]Ljava/lang/Object;Ljava/lang/String; +HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeFloat(Ljava/lang/String;Ljava/lang/String;)F +HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeIndex(Ljava/lang/String;Ljava/lang/String;)I+]Ljava/lang/Object;Ljava/lang/String;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeIndexOrThrow(Ljava/lang/String;Ljava/lang/String;)I+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeInt(Ljava/lang/String;Ljava/lang/String;)I+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeLong(Ljava/lang/String;Ljava/lang/String;)J+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; @@ -22297,6 +22407,12 @@ HSPLcom/android/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I HSPLcom/android/telephony/Rlog;->log(ILjava/lang/String;Ljava/lang/String;)I HSPLcom/android/telephony/Rlog;->pii(ZLjava/lang/Object;)Ljava/lang/String; HSPLcom/android/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;)I +HSPLcom/android/text/flags/FeatureFlagsImpl;-><init>()V +HSPLcom/android/text/flags/Flags;-><clinit>()V +HSPLcom/android/window/flags/FeatureFlagsImpl;-><init>()V +HSPLcom/android/window/flags/FeatureFlagsImpl;->bundleClientTransactionFlag()Z +HSPLcom/android/window/flags/Flags;-><clinit>()V +HSPLcom/android/window/flags/Flags;->bundleClientTransactionFlag()Z+]Lcom/android/window/flags/FeatureFlags;Lcom/android/window/flags/FeatureFlagsImpl; HSPLcom/google/android/collect/Lists;->newArrayList()Ljava/util/ArrayList; HSPLcom/google/android/collect/Lists;->newArrayList([Ljava/lang/Object;)Ljava/util/ArrayList; HSPLcom/google/android/collect/Maps;->newHashMap()Ljava/util/HashMap; @@ -22330,8 +22446,8 @@ HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getURI(I)Ljava/lang/String; HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getValue(I)Ljava/lang/String; HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->removeAttribute(I)V -HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->setAttributes(Lorg/xml/sax/Attributes;)V+]Lorg/ccil/cowan/tagsoup/AttributesImpl;Lorg/ccil/cowan/tagsoup/AttributesImpl;]Lorg/xml/sax/Attributes;Lorg/ccil/cowan/tagsoup/AttributesImpl; -HSPLorg/ccil/cowan/tagsoup/Element;-><init>(Lorg/ccil/cowan/tagsoup/ElementType;Z)V+]Lorg/ccil/cowan/tagsoup/ElementType;Lorg/ccil/cowan/tagsoup/ElementType; +HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->setAttributes(Lorg/xml/sax/Attributes;)V +HSPLorg/ccil/cowan/tagsoup/Element;-><init>(Lorg/ccil/cowan/tagsoup/ElementType;Z)V HSPLorg/ccil/cowan/tagsoup/Element;->atts()Lorg/ccil/cowan/tagsoup/AttributesImpl; HSPLorg/ccil/cowan/tagsoup/Element;->canContain(Lorg/ccil/cowan/tagsoup/Element;)Z HSPLorg/ccil/cowan/tagsoup/Element;->clean()V @@ -22360,10 +22476,10 @@ HSPLorg/ccil/cowan/tagsoup/HTMLScanner;-><init>()V HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->mark()V HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->resetDocumentLocator(Ljava/lang/String;Ljava/lang/String;)V HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->save(ILorg/ccil/cowan/tagsoup/ScanHandler;)V -HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->scan(Ljava/io/Reader;Lorg/ccil/cowan/tagsoup/ScanHandler;)V+]Ljava/io/PushbackReader;Ljava/io/PushbackReader;]Lorg/ccil/cowan/tagsoup/ScanHandler;Lorg/ccil/cowan/tagsoup/Parser; +HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->scan(Ljava/io/Reader;Lorg/ccil/cowan/tagsoup/ScanHandler;)V HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->unread(Ljava/io/PushbackReader;I)V HSPLorg/ccil/cowan/tagsoup/Parser$1;-><init>(Lorg/ccil/cowan/tagsoup/Parser;)V -HSPLorg/ccil/cowan/tagsoup/Parser;-><init>()V+]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLorg/ccil/cowan/tagsoup/Parser;-><init>()V HSPLorg/ccil/cowan/tagsoup/Parser;->aname([CII)V HSPLorg/ccil/cowan/tagsoup/Parser;->aval([CII)V HSPLorg/ccil/cowan/tagsoup/Parser;->entity([CII)V @@ -22378,16 +22494,16 @@ HSPLorg/ccil/cowan/tagsoup/Parser;->getReader(Lorg/xml/sax/InputSource;)Ljava/io HSPLorg/ccil/cowan/tagsoup/Parser;->gi([CII)V HSPLorg/ccil/cowan/tagsoup/Parser;->lookupEntity([CII)I HSPLorg/ccil/cowan/tagsoup/Parser;->makeName([CII)Ljava/lang/String; -HSPLorg/ccil/cowan/tagsoup/Parser;->parse(Lorg/xml/sax/InputSource;)V+]Ljava/lang/Object;Ljava/lang/String;]Lorg/ccil/cowan/tagsoup/Scanner;Lorg/ccil/cowan/tagsoup/HTMLScanner;]Lorg/ccil/cowan/tagsoup/Schema;Lorg/ccil/cowan/tagsoup/HTMLSchema;]Lorg/xml/sax/ContentHandler;Landroid/text/HtmlToSpannedConverter;]Lorg/xml/sax/InputSource;Lorg/xml/sax/InputSource; +HSPLorg/ccil/cowan/tagsoup/Parser;->parse(Lorg/xml/sax/InputSource;)V HSPLorg/ccil/cowan/tagsoup/Parser;->pcdata([CII)V -HSPLorg/ccil/cowan/tagsoup/Parser;->pop()V+]Lorg/ccil/cowan/tagsoup/Element;Lorg/ccil/cowan/tagsoup/Element;]Lorg/xml/sax/Attributes;Lorg/ccil/cowan/tagsoup/AttributesImpl;]Lorg/xml/sax/ContentHandler;Landroid/text/HtmlToSpannedConverter; +HSPLorg/ccil/cowan/tagsoup/Parser;->pop()V HSPLorg/ccil/cowan/tagsoup/Parser;->prefixOf(Ljava/lang/String;)Ljava/lang/String; -HSPLorg/ccil/cowan/tagsoup/Parser;->push(Lorg/ccil/cowan/tagsoup/Element;)V+]Ljava/lang/String;Ljava/lang/String;]Lorg/ccil/cowan/tagsoup/Element;Lorg/ccil/cowan/tagsoup/Element;]Lorg/xml/sax/Attributes;Lorg/ccil/cowan/tagsoup/AttributesImpl;]Lorg/xml/sax/ContentHandler;Landroid/text/HtmlToSpannedConverter; -HSPLorg/ccil/cowan/tagsoup/Parser;->rectify(Lorg/ccil/cowan/tagsoup/Element;)V+]Ljava/lang/Object;Ljava/lang/String;]Lorg/ccil/cowan/tagsoup/Element;Lorg/ccil/cowan/tagsoup/Element; +HSPLorg/ccil/cowan/tagsoup/Parser;->push(Lorg/ccil/cowan/tagsoup/Element;)V +HSPLorg/ccil/cowan/tagsoup/Parser;->rectify(Lorg/ccil/cowan/tagsoup/Element;)V HSPLorg/ccil/cowan/tagsoup/Parser;->restart(Lorg/ccil/cowan/tagsoup/Element;)V HSPLorg/ccil/cowan/tagsoup/Parser;->setContentHandler(Lorg/xml/sax/ContentHandler;)V HSPLorg/ccil/cowan/tagsoup/Parser;->setProperty(Ljava/lang/String;Ljava/lang/Object;)V -HSPLorg/ccil/cowan/tagsoup/Parser;->setup()V+]Lorg/ccil/cowan/tagsoup/Schema;Lorg/ccil/cowan/tagsoup/HTMLSchema; +HSPLorg/ccil/cowan/tagsoup/Parser;->setup()V HSPLorg/ccil/cowan/tagsoup/Parser;->stagc([CII)V HSPLorg/ccil/cowan/tagsoup/Parser;->truthValue(Z)Ljava/lang/Boolean; HSPLorg/ccil/cowan/tagsoup/Schema;->getElementType(Ljava/lang/String;)Lorg/ccil/cowan/tagsoup/ElementType; @@ -22447,6 +22563,7 @@ Landroid/accounts/AuthenticatorDescription$1; Landroid/accounts/AuthenticatorDescription-IA; Landroid/accounts/AuthenticatorDescription; Landroid/accounts/AuthenticatorException; +Landroid/accounts/IAccountAuthenticator$Stub$Proxy; Landroid/accounts/IAccountAuthenticator$Stub; Landroid/accounts/IAccountAuthenticator; Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy; @@ -22455,6 +22572,7 @@ Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/IAccountManager$Stub$Proxy; Landroid/accounts/IAccountManager$Stub; Landroid/accounts/IAccountManager; +Landroid/accounts/IAccountManagerResponse$Stub$Proxy; Landroid/accounts/IAccountManagerResponse$Stub; Landroid/accounts/IAccountManagerResponse; Landroid/accounts/NetworkErrorException; @@ -22583,6 +22701,7 @@ Landroid/app/ActivityClient$ActivityClientControllerSingleton-IA; Landroid/app/ActivityClient$ActivityClientControllerSingleton; Landroid/app/ActivityClient-IA; Landroid/app/ActivityClient; +Landroid/app/ActivityManager$1; Landroid/app/ActivityManager$2; Landroid/app/ActivityManager$3; Landroid/app/ActivityManager$AppTask; @@ -22615,7 +22734,6 @@ Landroid/app/ActivityManagerInternal; Landroid/app/ActivityOptions$1; Landroid/app/ActivityOptions$2; Landroid/app/ActivityOptions$OnAnimationStartedListener; -Landroid/app/ActivityOptions$SceneTransitionInfo$1; Landroid/app/ActivityOptions$SceneTransitionInfo; Landroid/app/ActivityOptions$SourceInfo$1; Landroid/app/ActivityOptions$SourceInfo; @@ -22677,7 +22795,6 @@ Landroid/app/AlarmManager; Landroid/app/AlertDialog$Builder; Landroid/app/AlertDialog; Landroid/app/AppCompatCallbacks; -Landroid/app/AppCompatTaskInfo$1; Landroid/app/AppCompatTaskInfo; Landroid/app/AppComponentFactory; Landroid/app/AppDetailsActivity; @@ -22690,6 +22807,7 @@ Landroid/app/AppOpsManager$$ExternalSyntheticLambda4; Landroid/app/AppOpsManager$$ExternalSyntheticLambda5; Landroid/app/AppOpsManager$$ExternalSyntheticLambda6; Landroid/app/AppOpsManager$1; +Landroid/app/AppOpsManager$2; Landroid/app/AppOpsManager$3; Landroid/app/AppOpsManager$4; Landroid/app/AppOpsManager$AppOpsCollector; @@ -22766,11 +22884,9 @@ Landroid/app/BackStackRecord$Op; Landroid/app/BackStackRecord; Landroid/app/BackStackState$1; Landroid/app/BackStackState; -Landroid/app/BackgroundInstallControlManager; Landroid/app/BackgroundServiceStartNotAllowedException$1; Landroid/app/BackgroundServiceStartNotAllowedException; Landroid/app/BroadcastOptions; -Landroid/app/CameraCompatTaskInfo; Landroid/app/ClientTransactionHandler; Landroid/app/ComponentCaller; Landroid/app/ComponentOptions; @@ -22915,6 +23031,7 @@ Landroid/app/IServiceConnection; Landroid/app/IStopUserCallback$Stub$Proxy; Landroid/app/IStopUserCallback$Stub; Landroid/app/IStopUserCallback; +Landroid/app/ITaskStackListener$Stub$Proxy; Landroid/app/ITaskStackListener$Stub; Landroid/app/ITaskStackListener; Landroid/app/ITransientNotification$Stub$Proxy; @@ -23037,6 +23154,7 @@ Landroid/app/PendingIntent$$ExternalSyntheticLambda3; Landroid/app/PendingIntent$1; Landroid/app/PendingIntent$CancelListener; Landroid/app/PendingIntent$CanceledException; +Landroid/app/PendingIntent$FinishedDispatcher; Landroid/app/PendingIntent$OnFinished; Landroid/app/PendingIntent$OnMarshaledListener; Landroid/app/PendingIntent; @@ -23086,7 +23204,6 @@ Landroid/app/ResourcesManager$ActivityResources-IA; Landroid/app/ResourcesManager$ActivityResources; Landroid/app/ResourcesManager$ApkAssetsSupplier; Landroid/app/ResourcesManager$ApkKey; -Landroid/app/ResourcesManager$SharedLibraryAssets; Landroid/app/ResourcesManager$UpdateHandler-IA; Landroid/app/ResourcesManager$UpdateHandler; Landroid/app/ResourcesManager; @@ -23118,6 +23235,7 @@ Landroid/app/SharedPreferencesImpl$EditorImpl; Landroid/app/SharedPreferencesImpl$MemoryCommitResult-IA; Landroid/app/SharedPreferencesImpl$MemoryCommitResult; Landroid/app/SharedPreferencesImpl$SharedPreferencesThreadFactory; +Landroid/app/SharedPreferencesImpl; Landroid/app/StackTrace; Landroid/app/StatusBarManager; Landroid/app/SyncNotedAppOp$1; @@ -23168,12 +23286,8 @@ Landroid/app/SystemServiceRegistry$138; Landroid/app/SystemServiceRegistry$139; Landroid/app/SystemServiceRegistry$13; Landroid/app/SystemServiceRegistry$140; -Landroid/app/SystemServiceRegistry$141; -Landroid/app/SystemServiceRegistry$142; Landroid/app/SystemServiceRegistry$143; Landroid/app/SystemServiceRegistry$144; -Landroid/app/SystemServiceRegistry$145; -Landroid/app/SystemServiceRegistry$146; Landroid/app/SystemServiceRegistry$14; Landroid/app/SystemServiceRegistry$15; Landroid/app/SystemServiceRegistry$16; @@ -23481,13 +23595,13 @@ Landroid/app/contentsuggestions/SelectionsRequest$1; Landroid/app/contentsuggestions/SelectionsRequest$Builder; Landroid/app/contentsuggestions/SelectionsRequest-IA; Landroid/app/contentsuggestions/SelectionsRequest; -Landroid/app/contextualsearch/ContextualSearchManager; Landroid/app/job/IJobCallback$Stub$Proxy; Landroid/app/job/IJobCallback$Stub; Landroid/app/job/IJobCallback; Landroid/app/job/IJobScheduler$Stub$Proxy; Landroid/app/job/IJobScheduler$Stub; Landroid/app/job/IJobScheduler; +Landroid/app/job/IJobService$Stub$Proxy; Landroid/app/job/IJobService$Stub; Landroid/app/job/IJobService; Landroid/app/job/IUserVisibleJobObserver; @@ -23506,14 +23620,15 @@ Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda0; Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda1; Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda2; Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda3; +Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda4; Landroid/app/job/JobSchedulerFrameworkInitializer; Landroid/app/job/JobService$1; Landroid/app/job/JobService; Landroid/app/job/JobServiceEngine$JobHandler; +Landroid/app/job/JobServiceEngine$JobInterface; Landroid/app/job/JobServiceEngine; Landroid/app/job/JobWorkItem$1; Landroid/app/job/JobWorkItem; -Landroid/app/ondeviceintelligence/OnDeviceIntelligenceManager; Landroid/app/people/IPeopleManager$Stub$Proxy; Landroid/app/people/IPeopleManager$Stub; Landroid/app/people/IPeopleManager; @@ -23593,6 +23708,7 @@ Landroid/app/servertransaction/TopResumedActivityChangeItem-IA; Landroid/app/servertransaction/TopResumedActivityChangeItem; Landroid/app/servertransaction/TransactionExecutor; Landroid/app/servertransaction/TransactionExecutorHelper; +Landroid/app/servertransaction/WindowStateResizeItem$ResizeListener; Landroid/app/slice/ISliceManager$Stub$Proxy; Landroid/app/slice/ISliceManager$Stub; Landroid/app/slice/ISliceManager; @@ -23644,6 +23760,7 @@ Landroid/app/smartspace/uitemplatedata/TapAction$1; Landroid/app/smartspace/uitemplatedata/TapAction; Landroid/app/smartspace/uitemplatedata/Text$1; Landroid/app/smartspace/uitemplatedata/Text; +Landroid/app/tare/EconomyManager; Landroid/app/time/ITimeZoneDetectorListener$Stub$Proxy; Landroid/app/time/ITimeZoneDetectorListener$Stub; Landroid/app/time/ITimeZoneDetectorListener; @@ -23705,8 +23822,6 @@ Landroid/app/usage/ConfigurationStats; Landroid/app/usage/EventList; Landroid/app/usage/ExternalStorageStats$1; Landroid/app/usage/ExternalStorageStats; -Landroid/app/usage/FeatureFlags; -Landroid/app/usage/FeatureFlagsImpl; Landroid/app/usage/Flags; Landroid/app/usage/ICacheQuotaService$Stub$Proxy; Landroid/app/usage/ICacheQuotaService$Stub; @@ -23746,8 +23861,6 @@ Landroid/appwidget/AppWidgetProviderInfo$1; Landroid/appwidget/AppWidgetProviderInfo; Landroid/appwidget/PendingHostUpdate$1; Landroid/appwidget/PendingHostUpdate; -Landroid/appwidget/flags/FeatureFlags; -Landroid/appwidget/flags/FeatureFlagsImpl; Landroid/appwidget/flags/Flags; Landroid/attention/AttentionManagerInternal$AttentionCallbackInternal; Landroid/attention/AttentionManagerInternal; @@ -23766,7 +23879,6 @@ Landroid/companion/virtual/IVirtualDevice; Landroid/companion/virtual/IVirtualDeviceManager$Stub$Proxy; Landroid/companion/virtual/IVirtualDeviceManager$Stub; Landroid/companion/virtual/IVirtualDeviceManager; -Landroid/companion/virtual/VirtualDevice; Landroid/companion/virtual/VirtualDeviceManager; Landroid/companion/virtual/flags/FeatureFlags; Landroid/companion/virtual/flags/FeatureFlagsImpl; @@ -23814,8 +23926,8 @@ Landroid/content/ComponentName$1; Landroid/content/ComponentName$WithComponentName; Landroid/content/ComponentName; Landroid/content/ContentCaptureOptions$1; +Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda0; Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda1; -Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda2; Landroid/content/ContentCaptureOptions$ContentProtectionOptions; Landroid/content/ContentCaptureOptions; Landroid/content/ContentInterface; @@ -23836,10 +23948,12 @@ Landroid/content/ContentProviderOperation$Builder-IA; Landroid/content/ContentProviderOperation$Builder; Landroid/content/ContentProviderOperation-IA; Landroid/content/ContentProviderOperation; +Landroid/content/ContentProviderProxy; Landroid/content/ContentProviderResult$1; Landroid/content/ContentProviderResult; Landroid/content/ContentResolver$1; Landroid/content/ContentResolver$2; +Landroid/content/ContentResolver$CursorWrapperInner; Landroid/content/ContentResolver$OpenResourceIdResult; Landroid/content/ContentResolver$ParcelFileDescriptorInner; Landroid/content/ContentResolver$ResultListener-IA; @@ -23891,6 +24005,7 @@ Landroid/content/ISyncAdapterUnsyncableAccountCallback; Landroid/content/ISyncContext$Stub$Proxy; Landroid/content/ISyncContext$Stub; Landroid/content/ISyncContext; +Landroid/content/ISyncStatusObserver$Stub$Proxy; Landroid/content/ISyncStatusObserver$Stub; Landroid/content/ISyncStatusObserver; Landroid/content/Intent$1; @@ -23993,7 +24108,6 @@ Landroid/content/pm/ApplicationInfo$1$$ExternalSyntheticLambda0; Landroid/content/pm/ApplicationInfo$1; Landroid/content/pm/ApplicationInfo-IA; Landroid/content/pm/ApplicationInfo; -Landroid/content/pm/ArchivedPackageParcel$1; Landroid/content/pm/ArchivedPackageParcel; Landroid/content/pm/Attribution$1; Landroid/content/pm/Attribution; @@ -24017,6 +24131,8 @@ Landroid/content/pm/DataLoaderParams; Landroid/content/pm/DataLoaderParamsParcel$1; Landroid/content/pm/DataLoaderParamsParcel; Landroid/content/pm/FallbackCategoryProvider; +Landroid/content/pm/FeatureFlags; +Landroid/content/pm/FeatureFlagsImpl; Landroid/content/pm/FeatureGroupInfo$1; Landroid/content/pm/FeatureGroupInfo; Landroid/content/pm/FeatureInfo$1; @@ -24024,6 +24140,7 @@ Landroid/content/pm/FeatureInfo-IA; Landroid/content/pm/FeatureInfo; Landroid/content/pm/FileSystemControlParcel$1; Landroid/content/pm/FileSystemControlParcel; +Landroid/content/pm/Flags; Landroid/content/pm/ICrossProfileApps$Stub$Proxy; Landroid/content/pm/ICrossProfileApps$Stub; Landroid/content/pm/ICrossProfileApps; @@ -24040,6 +24157,7 @@ Landroid/content/pm/IDexModuleRegisterCallback; Landroid/content/pm/ILauncherApps$Stub$Proxy; Landroid/content/pm/ILauncherApps$Stub; Landroid/content/pm/ILauncherApps; +Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy; Landroid/content/pm/IOnAppsChangedListener$Stub; Landroid/content/pm/IOnAppsChangedListener; Landroid/content/pm/IOnChecksumsReadyListener$Stub$Proxy; @@ -24407,7 +24525,6 @@ Landroid/content/rollback/RollbackManagerFrameworkInitializer; Landroid/content/type/DefaultMimeMapFactory$$ExternalSyntheticLambda0; Landroid/content/type/DefaultMimeMapFactory; Landroid/credentials/CredentialManager; -Landroid/credentials/GetCredentialResponse$1; Landroid/credentials/GetCredentialResponse; Landroid/database/AbstractCursor$SelfContentObserver; Landroid/database/AbstractCursor; @@ -24472,6 +24589,7 @@ Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter; Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler; Landroid/database/sqlite/SQLiteConnectionPool; Landroid/database/sqlite/SQLiteConstraintException; +Landroid/database/sqlite/SQLiteCursor; Landroid/database/sqlite/SQLiteCursorDriver; Landroid/database/sqlite/SQLiteCustomFunction; Landroid/database/sqlite/SQLiteDatabase$$ExternalSyntheticLambda0; @@ -24644,7 +24762,6 @@ Landroid/graphics/LightingColorFilter; Landroid/graphics/LinearGradient; Landroid/graphics/MaskFilter; Landroid/graphics/Matrix$1; -Landroid/graphics/Matrix$ExtraNatives; Landroid/graphics/Matrix$NoImagePreloadHolder; Landroid/graphics/Matrix$ScaleToFit; Landroid/graphics/Matrix; @@ -24668,7 +24785,6 @@ Landroid/graphics/Paint; Landroid/graphics/PaintFlagsDrawFilter; Landroid/graphics/Path$Direction; Landroid/graphics/Path$FillType; -Landroid/graphics/Path$NoImagePreloadHolder; Landroid/graphics/Path$Op; Landroid/graphics/Path; Landroid/graphics/PathDashPathEffect; @@ -24879,7 +24995,6 @@ Landroid/graphics/drawable/shapes/RectShape; Landroid/graphics/drawable/shapes/RoundRectShape; Landroid/graphics/drawable/shapes/Shape; Landroid/graphics/fonts/Font$Builder; -Landroid/graphics/fonts/Font$NoImagePreloadHolder; Landroid/graphics/fonts/Font; Landroid/graphics/fonts/FontCustomizationParser$Result; Landroid/graphics/fonts/FontCustomizationParser; @@ -24924,7 +25039,6 @@ Landroid/hardware/CameraSessionStats; Landroid/hardware/CameraStatus$1; Landroid/hardware/CameraStatus; Landroid/hardware/ConsumerIrManager; -Landroid/hardware/DataSpace; Landroid/hardware/GeomagneticField$LegendreTable; Landroid/hardware/GeomagneticField; Landroid/hardware/HardwareBuffer$1; @@ -24972,6 +25086,7 @@ Landroid/hardware/SyncFence; Landroid/hardware/SystemSensorManager$BaseEventQueue; Landroid/hardware/SystemSensorManager$SensorEventQueue; Landroid/hardware/SystemSensorManager$TriggerEventQueue; +Landroid/hardware/SystemSensorManager; Landroid/hardware/TriggerEvent; Landroid/hardware/TriggerEventListener; Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback; @@ -25038,10 +25153,13 @@ Landroid/hardware/camera2/CameraCharacteristics; Landroid/hardware/camera2/CameraDevice$StateCallback; Landroid/hardware/camera2/CameraDevice; Landroid/hardware/camera2/CameraManager$AvailabilityCallback; -Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$$ExternalSyntheticLambda0; Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$$ExternalSyntheticLambda2; Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$1; -Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$DeviceCameraInfo; +Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$3; +Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$4; +Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$5; +Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$6; +Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$7; Landroid/hardware/camera2/CameraManager$CameraManagerGlobal; Landroid/hardware/camera2/CameraManager$DeviceStateListener; Landroid/hardware/camera2/CameraManager$FoldStateListener$$ExternalSyntheticLambda0; @@ -25198,7 +25316,6 @@ Landroid/hardware/contexthub/V1_0/MemRange; Landroid/hardware/contexthub/V1_0/NanoAppBinary; Landroid/hardware/contexthub/V1_0/PhysicalSensor; Landroid/hardware/contexthub/V1_1/Setting; -Landroid/hardware/devicestate/DeviceState$Configuration; Landroid/hardware/devicestate/DeviceState; Landroid/hardware/devicestate/DeviceStateInfo$1; Landroid/hardware/devicestate/DeviceStateInfo; @@ -25313,9 +25430,12 @@ Landroid/hardware/fingerprint/Fingerprint$1; Landroid/hardware/fingerprint/Fingerprint; Landroid/hardware/fingerprint/FingerprintManager$1; Landroid/hardware/fingerprint/FingerprintManager$2; +Landroid/hardware/fingerprint/FingerprintManager$3; Landroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback; Landroid/hardware/fingerprint/FingerprintManager$AuthenticationResult; Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback; +Landroid/hardware/fingerprint/FingerprintManager$MyHandler-IA; +Landroid/hardware/fingerprint/FingerprintManager$MyHandler; Landroid/hardware/fingerprint/FingerprintManager; Landroid/hardware/fingerprint/FingerprintSensorPropertiesInternal$1; Landroid/hardware/fingerprint/FingerprintSensorPropertiesInternal; @@ -25801,9 +25921,13 @@ Landroid/icu/impl/CacheValue; Landroid/icu/impl/CalType; Landroid/icu/impl/CalendarAstronomer$1; Landroid/icu/impl/CalendarAstronomer$2; +Landroid/icu/impl/CalendarAstronomer$3; +Landroid/icu/impl/CalendarAstronomer$4; Landroid/icu/impl/CalendarAstronomer$AngleFunc; +Landroid/icu/impl/CalendarAstronomer$CoordFunc; Landroid/icu/impl/CalendarAstronomer$Ecliptic; Landroid/icu/impl/CalendarAstronomer$Equatorial; +Landroid/icu/impl/CalendarAstronomer$Horizon; Landroid/icu/impl/CalendarAstronomer$MoonAge; Landroid/icu/impl/CalendarAstronomer$SolarLongitude; Landroid/icu/impl/CalendarAstronomer; @@ -25840,7 +25964,6 @@ Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink; Landroid/icu/impl/DayPeriodRules-IA; Landroid/icu/impl/DayPeriodRules; Landroid/icu/impl/DontCareFieldPosition; -Landroid/icu/impl/EmojiProps$IsAcceptable; Landroid/icu/impl/EmojiProps; Landroid/icu/impl/EraRules; Landroid/icu/impl/FormattedStringBuilder$FieldWrapper; @@ -26116,8 +26239,6 @@ Landroid/icu/impl/UCharacterProperty$24; Landroid/icu/impl/UCharacterProperty$25; Landroid/icu/impl/UCharacterProperty$26; Landroid/icu/impl/UCharacterProperty$27; -Landroid/icu/impl/UCharacterProperty$28; -Landroid/icu/impl/UCharacterProperty$29; Landroid/icu/impl/UCharacterProperty$2; Landroid/icu/impl/UCharacterProperty$3; Landroid/icu/impl/UCharacterProperty$4; @@ -26135,7 +26256,6 @@ Landroid/icu/impl/UCharacterProperty$IntProperty; Landroid/icu/impl/UCharacterProperty$IsAcceptable; Landroid/icu/impl/UCharacterProperty$LayoutProps$IsAcceptable; Landroid/icu/impl/UCharacterProperty$LayoutProps; -Landroid/icu/impl/UCharacterProperty$MathCompatBinaryProperty; Landroid/icu/impl/UCharacterProperty$NormInertBinaryProperty; Landroid/icu/impl/UCharacterProperty$NormQuickCheckIntProperty; Landroid/icu/impl/UCharacterProperty; @@ -26320,15 +26440,8 @@ Landroid/icu/impl/locale/KeyTypeData$Type; Landroid/icu/impl/locale/KeyTypeData$TypeInfoType; Landroid/icu/impl/locale/KeyTypeData$ValueType; Landroid/icu/impl/locale/KeyTypeData; -Landroid/icu/impl/locale/LSR$CachedDecoder$$ExternalSyntheticLambda0; -Landroid/icu/impl/locale/LSR$CachedDecoder$$ExternalSyntheticLambda1; -Landroid/icu/impl/locale/LSR$CachedDecoder$$ExternalSyntheticLambda2; -Landroid/icu/impl/locale/LSR$CachedDecoder; Landroid/icu/impl/locale/LSR; Landroid/icu/impl/locale/LanguageTag; -Landroid/icu/impl/locale/LikelySubtags$1; -Landroid/icu/impl/locale/LikelySubtags$Data; -Landroid/icu/impl/locale/LikelySubtags; Landroid/icu/impl/locale/LocaleDistance$Data; Landroid/icu/impl/locale/LocaleDistance; Landroid/icu/impl/locale/LocaleExtensions; @@ -26359,6 +26472,9 @@ Landroid/icu/impl/locale/XCldrStub$ReusableEntry; Landroid/icu/impl/locale/XCldrStub$Splitter; Landroid/icu/impl/locale/XCldrStub$TreeMultimap; Landroid/icu/impl/locale/XCldrStub; +Landroid/icu/impl/locale/XLikelySubtags$1; +Landroid/icu/impl/locale/XLikelySubtags$Data; +Landroid/icu/impl/locale/XLikelySubtags; Landroid/icu/impl/number/AdoptingModifierStore$1; Landroid/icu/impl/number/AdoptingModifierStore; Landroid/icu/impl/number/AffixPatternProvider$Flags; @@ -26489,7 +26605,6 @@ Landroid/icu/lang/UCharacter$DummyValueIterator; Landroid/icu/lang/UCharacter$EastAsianWidth; Landroid/icu/lang/UCharacter$GraphemeClusterBreak; Landroid/icu/lang/UCharacter$HangulSyllableType; -Landroid/icu/lang/UCharacter$IdentifierType; Landroid/icu/lang/UCharacter$IndicPositionalCategory; Landroid/icu/lang/UCharacter$IndicSyllabicCategory; Landroid/icu/lang/UCharacter$JoiningGroup; @@ -27035,7 +27150,6 @@ Landroid/icu/text/TitlecaseTransliterator; Landroid/icu/text/Transform; Landroid/icu/text/TransliterationRule; Landroid/icu/text/TransliterationRuleSet; -Landroid/icu/text/Transliterator$$ExternalSyntheticLambda0; Landroid/icu/text/Transliterator$Factory; Landroid/icu/text/Transliterator$Position; Landroid/icu/text/Transliterator; @@ -27082,7 +27196,6 @@ Landroid/icu/text/UnicodeSet$EntryRangeIterable; Landroid/icu/text/UnicodeSet$EntryRangeIterator; Landroid/icu/text/UnicodeSet$Filter; Landroid/icu/text/UnicodeSet$GeneralCategoryMaskFilter; -Landroid/icu/text/UnicodeSet$IdentifierTypeFilter; Landroid/icu/text/UnicodeSet$IntPropertyFilter; Landroid/icu/text/UnicodeSet$NumericValueFilter; Landroid/icu/text/UnicodeSet$ScriptExtensionsFilter; @@ -27189,12 +27302,7 @@ Landroid/icu/util/ICUUncheckedIOException; Landroid/icu/util/IllformedLocaleException; Landroid/icu/util/IndianCalendar; Landroid/icu/util/InitialTimeZoneRule; -Landroid/icu/util/IslamicCalendar$Algorithm; Landroid/icu/util/IslamicCalendar$CalculationType; -Landroid/icu/util/IslamicCalendar$CivilAlgorithm; -Landroid/icu/util/IslamicCalendar$IslamicAlgorithm; -Landroid/icu/util/IslamicCalendar$TBLAAlgorithm; -Landroid/icu/util/IslamicCalendar$UmalquraAlgorithm; Landroid/icu/util/IslamicCalendar; Landroid/icu/util/JapaneseCalendar; Landroid/icu/util/LocaleData$MeasurementSystem; @@ -27544,8 +27652,6 @@ Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane; Landroid/media/ImageWriter$WriterSurfaceImage; Landroid/media/ImageWriter; Landroid/media/JetPlayer; -Landroid/media/MediaCodec$$ExternalSyntheticLambda6; -Landroid/media/MediaCodec$$ExternalSyntheticLambda7; Landroid/media/MediaCodec$BufferInfo; Landroid/media/MediaCodec$BufferMap$CodecBuffer-IA; Landroid/media/MediaCodec$BufferMap$CodecBuffer; @@ -27770,8 +27876,6 @@ Landroid/media/VolumeShaper$Operation; Landroid/media/VolumeShaper$State$1; Landroid/media/VolumeShaper$State; Landroid/media/VolumeShaper; -Landroid/media/audio/FeatureFlags; -Landroid/media/audio/FeatureFlagsImpl; Landroid/media/audio/Flags; Landroid/media/audio/common/AidlConversion; Landroid/media/audio/common/HeadTracking$SensorData$Tag; @@ -28220,7 +28324,6 @@ Landroid/net/wifi/nl80211/WifiNl80211Manager$ScanEventHandler; Landroid/net/wifi/nl80211/WifiNl80211Manager$SignalPollResult; Landroid/net/wifi/nl80211/WifiNl80211Manager; Landroid/net/wifi/sharedconnectivity/app/SharedConnectivityManager; -Landroid/nfc/NfcAdapter; Landroid/nfc/NfcFrameworkInitializer$$ExternalSyntheticLambda0; Landroid/nfc/NfcFrameworkInitializer; Landroid/nfc/NfcManager; @@ -28471,6 +28574,7 @@ Landroid/os/IIncidentCompanion; Landroid/os/IIncidentManager$Stub$Proxy; Landroid/os/IIncidentManager$Stub; Landroid/os/IIncidentManager; +Landroid/os/IInstalld$Stub$Proxy; Landroid/os/IInstalld$Stub; Landroid/os/IInstalld; Landroid/os/IInterface; @@ -28693,6 +28797,7 @@ Landroid/os/StrictMode$1; Landroid/os/StrictMode$2; Landroid/os/StrictMode$3; Landroid/os/StrictMode$4; +Landroid/os/StrictMode$5; Landroid/os/StrictMode$6; Landroid/os/StrictMode$7; Landroid/os/StrictMode$8; @@ -28723,6 +28828,7 @@ Landroid/os/StrictMode; Landroid/os/SynchronousResultReceiver$Result; Landroid/os/SynchronousResultReceiver; Landroid/os/SystemClock$2; +Landroid/os/SystemClock$3; Landroid/os/SystemClock; Landroid/os/SystemConfigManager; Landroid/os/SystemProperties$Handle-IA; @@ -28881,8 +28987,6 @@ Landroid/os/strictmode/UnsafeIntentLaunchViolation; Landroid/os/strictmode/UntaggedSocketViolation; Landroid/os/strictmode/Violation; Landroid/os/strictmode/WebViewMethodCalledOnWrongThreadViolation; -Landroid/os/vibrator/FeatureFlags; -Landroid/os/vibrator/FeatureFlagsImpl; Landroid/os/vibrator/Flags; Landroid/os/vibrator/PrebakedSegment$1; Landroid/os/vibrator/PrebakedSegment; @@ -28916,13 +29020,15 @@ Landroid/permission/PermissionControllerManager$1; Landroid/permission/PermissionControllerManager; Landroid/permission/PermissionManager$1; Landroid/permission/PermissionManager$2; -Landroid/permission/PermissionManager$OnPermissionsChangeListenerDelegate; Landroid/permission/PermissionManager$PackageNamePermissionQuery; Landroid/permission/PermissionManager$PermissionQuery; Landroid/permission/PermissionManager$SplitPermissionInfo-IA; Landroid/permission/PermissionManager$SplitPermissionInfo; Landroid/permission/PermissionManager; Landroid/permission/PermissionManagerInternal; +Landroid/permission/flags/FeatureFlags; +Landroid/permission/flags/FeatureFlagsImpl; +Landroid/permission/flags/Flags; Landroid/preference/DialogPreference; Landroid/preference/GenericInflater$Parent; Landroid/preference/GenericInflater; @@ -29151,6 +29257,7 @@ Landroid/security/KeyStore2$$ExternalSyntheticLambda4; Landroid/security/KeyStore2$$ExternalSyntheticLambda8; Landroid/security/KeyStore2$CheckedRemoteRequest; Landroid/security/KeyStore2; +Landroid/security/KeyStore; Landroid/security/KeyStoreException$PublicErrorInformation; Landroid/security/KeyStoreException; Landroid/security/KeyStoreOperation$$ExternalSyntheticLambda0; @@ -29321,8 +29428,6 @@ Landroid/service/appprediction/IPredictionService; Landroid/service/autofill/AutofillServiceInfo; Landroid/service/autofill/Dataset$1; Landroid/service/autofill/Dataset; -Landroid/service/autofill/FeatureFlags; -Landroid/service/autofill/FeatureFlagsImpl; Landroid/service/autofill/FieldClassificationUserData; Landroid/service/autofill/FillContext$1; Landroid/service/autofill/FillContext; @@ -29459,7 +29564,6 @@ Landroid/service/media/MediaBrowserService$Result; Landroid/service/media/MediaBrowserService$ServiceBinder$$ExternalSyntheticLambda1; Landroid/service/media/MediaBrowserService$ServiceBinder-IA; Landroid/service/media/MediaBrowserService$ServiceBinder; -Landroid/service/media/MediaBrowserService$ServiceState-IA; Landroid/service/media/MediaBrowserService$ServiceState; Landroid/service/media/MediaBrowserService; Landroid/service/notification/Adjustment$1; @@ -29498,7 +29602,6 @@ Landroid/service/notification/SnoozeCriterion$1; Landroid/service/notification/SnoozeCriterion; Landroid/service/notification/StatusBarNotification$1; Landroid/service/notification/StatusBarNotification; -Landroid/service/notification/ZenDeviceEffects$1; Landroid/service/notification/ZenDeviceEffects; Landroid/service/notification/ZenModeConfig$1; Landroid/service/notification/ZenModeConfig$EventInfo; @@ -29885,6 +29988,7 @@ Landroid/telephony/ICellBroadcastService; Landroid/telephony/ICellInfoCallback$Stub$Proxy; Landroid/telephony/ICellInfoCallback$Stub; Landroid/telephony/ICellInfoCallback; +Landroid/telephony/INetworkService$Stub$Proxy; Landroid/telephony/INetworkService$Stub; Landroid/telephony/INetworkService; Landroid/telephony/INetworkServiceCallback$Stub$Proxy; @@ -29920,6 +30024,7 @@ Landroid/telephony/NetworkRegistrationInfo; Landroid/telephony/NetworkScan; Landroid/telephony/NetworkScanRequest$1; Landroid/telephony/NetworkScanRequest; +Landroid/telephony/NetworkService$INetworkServiceWrapper; Landroid/telephony/NetworkService$NetworkServiceHandler; Landroid/telephony/NetworkService$NetworkServiceProvider; Landroid/telephony/NetworkService; @@ -30056,7 +30161,6 @@ Landroid/telephony/TelephonyCallback$CallDisconnectCauseListener; Landroid/telephony/TelephonyCallback$CallForwardingIndicatorListener; Landroid/telephony/TelephonyCallback$CallStateListener; Landroid/telephony/TelephonyCallback$CarrierNetworkListener; -Landroid/telephony/TelephonyCallback$CarrierRoamingNtnModeListener; Landroid/telephony/TelephonyCallback$CellInfoListener; Landroid/telephony/TelephonyCallback$CellLocationListener; Landroid/telephony/TelephonyCallback$DataActivationStateListener; @@ -30357,6 +30461,7 @@ Landroid/telephony/ims/aidl/IImsConfig; Landroid/telephony/ims/aidl/IImsConfigCallback$Stub$Proxy; Landroid/telephony/ims/aidl/IImsConfigCallback$Stub; Landroid/telephony/ims/aidl/IImsConfigCallback; +Landroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy; Landroid/telephony/ims/aidl/IImsMmTelFeature$Stub; Landroid/telephony/ims/aidl/IImsMmTelFeature; Landroid/telephony/ims/aidl/IImsMmTelListener$Stub$Proxy; @@ -30366,6 +30471,7 @@ Landroid/telephony/ims/aidl/IImsRcsController$Stub; Landroid/telephony/ims/aidl/IImsRcsController; Landroid/telephony/ims/aidl/IImsRcsFeature$Stub; Landroid/telephony/ims/aidl/IImsRcsFeature; +Landroid/telephony/ims/aidl/IImsRegistration$Stub$Proxy; Landroid/telephony/ims/aidl/IImsRegistration$Stub; Landroid/telephony/ims/aidl/IImsRegistration; Landroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy; @@ -30504,7 +30610,6 @@ Landroid/text/Layout$SpannedEllipsizer; Landroid/text/Layout$TabStops; Landroid/text/Layout$TextInclusionStrategy; Landroid/text/Layout; -Landroid/text/MeasuredParagraph$StyleRunCallback; Landroid/text/MeasuredParagraph; Landroid/text/NoCopySpan$Concrete; Landroid/text/NoCopySpan; @@ -30545,7 +30650,6 @@ Landroid/text/TextDirectionHeuristics; Landroid/text/TextFlags; Landroid/text/TextLine$DecorationInfo-IA; Landroid/text/TextLine$DecorationInfo; -Landroid/text/TextLine$LineInfo; Landroid/text/TextLine; Landroid/text/TextPaint; Landroid/text/TextShaper$GlyphsConsumer; @@ -30630,7 +30734,6 @@ Landroid/text/style/LeadingMarginSpan$Standard; Landroid/text/style/LeadingMarginSpan; Landroid/text/style/LineBackgroundSpan$Standard; Landroid/text/style/LineBackgroundSpan; -Landroid/text/style/LineBreakConfigSpan$1; Landroid/text/style/LineBreakConfigSpan; Landroid/text/style/LineHeightSpan$Standard; Landroid/text/style/LineHeightSpan$WithDensity; @@ -30684,7 +30787,6 @@ Landroid/timezone/TelephonyLookup; Landroid/timezone/TelephonyNetwork; Landroid/timezone/TelephonyNetworkFinder; Landroid/timezone/TimeZoneFinder; -Landroid/tracing/Flags; Landroid/tracing/perfetto/CreateIncrementalStateArgs; Landroid/tracing/perfetto/CreateTlsStateArgs; Landroid/tracing/perfetto/DataSource; @@ -30884,6 +30986,7 @@ Landroid/util/SparseIntArray; Landroid/util/SparseLongArray; Landroid/util/SparseSetArray; Landroid/util/Spline$LinearSpline; +Landroid/util/Spline$MonotoneCubicSpline; Landroid/util/Spline; Landroid/util/StateSet; Landroid/util/StringBuilderPrinter; @@ -31110,7 +31213,6 @@ Landroid/view/IScrollCaptureCallbacks; Landroid/view/IScrollCaptureResponseListener$Stub$Proxy; Landroid/view/IScrollCaptureResponseListener$Stub; Landroid/view/IScrollCaptureResponseListener; -Landroid/view/ISensitiveContentProtectionManager$Stub$Proxy; Landroid/view/ISensitiveContentProtectionManager$Stub; Landroid/view/ISensitiveContentProtectionManager; Landroid/view/ISurfaceControlViewHost; @@ -31137,7 +31239,6 @@ Landroid/view/IWindowSession; Landroid/view/IWindowSessionCallback$Stub$Proxy; Landroid/view/IWindowSessionCallback$Stub; Landroid/view/IWindowSessionCallback; -Landroid/view/ImeBackAnimationController; Landroid/view/ImeFocusController$InputMethodManagerDelegate; Landroid/view/ImeFocusController; Landroid/view/ImeInsetsSourceConsumer; @@ -31199,6 +31300,7 @@ Landroid/view/InsetsController$InternalAnimationControlListener$$ExternalSynthet Landroid/view/InsetsController$InternalAnimationControlListener$$ExternalSyntheticLambda3; Landroid/view/InsetsController$InternalAnimationControlListener$$ExternalSyntheticLambda4; Landroid/view/InsetsController$InternalAnimationControlListener$1; +Landroid/view/InsetsController$InternalAnimationControlListener$2; Landroid/view/InsetsController$InternalAnimationControlListener; Landroid/view/InsetsController$PendingControlRequest; Landroid/view/InsetsController$RunningAnimation; @@ -31287,7 +31389,6 @@ Landroid/view/ScaleGestureDetector$1; Landroid/view/ScaleGestureDetector$OnScaleGestureListener; Landroid/view/ScaleGestureDetector$SimpleOnScaleGestureListener; Landroid/view/ScaleGestureDetector; -Landroid/view/ScrollCaptureSearchResults$$ExternalSyntheticLambda0; Landroid/view/ScrollCaptureSearchResults; Landroid/view/ScrollFeedbackProvider; Landroid/view/SearchEvent; @@ -31306,7 +31407,6 @@ Landroid/view/SurfaceControl$DesiredDisplayModeSpecs; Landroid/view/SurfaceControl$DisplayMode; Landroid/view/SurfaceControl$DisplayPrimaries; Landroid/view/SurfaceControl$DynamicDisplayInfo; -Landroid/view/SurfaceControl$IdleScreenRefreshRateConfig; Landroid/view/SurfaceControl$JankData; Landroid/view/SurfaceControl$OnJankDataListener; Landroid/view/SurfaceControl$OnReparentListener; @@ -31615,14 +31715,12 @@ Landroid/view/WindowManager; Landroid/view/WindowManagerGlobal$$ExternalSyntheticLambda0; Landroid/view/WindowManagerGlobal$1; Landroid/view/WindowManagerGlobal$2; -Landroid/view/WindowManagerGlobal$TrustedPresentationListener-IA; Landroid/view/WindowManagerGlobal$TrustedPresentationListener; Landroid/view/WindowManagerGlobal; Landroid/view/WindowManagerImpl; Landroid/view/WindowManagerPolicyConstants$PointerEventListener; Landroid/view/WindowManagerPolicyConstants; Landroid/view/WindowMetrics; -Landroid/view/WindowRelayoutResult; Landroid/view/WindowlessWindowLayout; Landroid/view/WindowlessWindowManager; Landroid/view/accessibility/AccessibilityCache$AccessibilityNodeRefresher; @@ -31666,8 +31764,6 @@ Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener; Landroid/view/accessibility/CaptioningManager$MyContentObserver; Landroid/view/accessibility/CaptioningManager; Landroid/view/accessibility/DirectAccessibilityConnection; -Landroid/view/accessibility/FeatureFlags; -Landroid/view/accessibility/FeatureFlagsImpl; Landroid/view/accessibility/Flags; Landroid/view/accessibility/IAccessibilityEmbeddedConnection; Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy; @@ -31793,6 +31889,7 @@ Landroid/view/contentcapture/IContentCaptureManager$Stub; Landroid/view/contentcapture/IContentCaptureManager; Landroid/view/contentcapture/IContentCaptureOptionsCallback$Stub; Landroid/view/contentcapture/IContentCaptureOptionsCallback; +Landroid/view/contentcapture/IDataShareWriteAdapter$Stub$Proxy; Landroid/view/contentcapture/IDataShareWriteAdapter$Stub; Landroid/view/contentcapture/IDataShareWriteAdapter; Landroid/view/contentcapture/MainContentCaptureSession$$ExternalSyntheticLambda0; @@ -31847,8 +31944,6 @@ Landroid/view/inputmethod/ExtractedText$1; Landroid/view/inputmethod/ExtractedText; Landroid/view/inputmethod/ExtractedTextRequest$1; Landroid/view/inputmethod/ExtractedTextRequest; -Landroid/view/inputmethod/FeatureFlags; -Landroid/view/inputmethod/FeatureFlagsImpl; Landroid/view/inputmethod/Flags; Landroid/view/inputmethod/HandwritingGesture; Landroid/view/inputmethod/IAccessibilityInputMethodSessionInvoker$$ExternalSyntheticLambda0; @@ -32449,7 +32544,6 @@ Landroid/widget/RemoteViews$BaseReflectionAction; Landroid/widget/RemoteViews$BitmapCache; Landroid/widget/RemoteViews$BitmapReflectionAction; Landroid/widget/RemoteViews$ComplexUnitDimensionReflectionAction; -Landroid/widget/RemoteViews$DrawInstructions; Landroid/widget/RemoteViews$HierarchyRootData; Landroid/widget/RemoteViews$InteractionHandler; Landroid/widget/RemoteViews$LayoutParamAction; @@ -32608,12 +32702,10 @@ Landroid/widget/ViewFlipper$1; Landroid/widget/ViewFlipper; Landroid/widget/ViewSwitcher; Landroid/widget/WrapperListAdapter; -Landroid/widget/flags/Flags; Landroid/widget/inline/InlinePresentationSpec$1; Landroid/widget/inline/InlinePresentationSpec$BaseBuilder; Landroid/widget/inline/InlinePresentationSpec$Builder; Landroid/widget/inline/InlinePresentationSpec; -Landroid/window/ActivityWindowInfo$1; Landroid/window/ActivityWindowInfo; Landroid/window/BackAnimationAdapter$1; Landroid/window/BackAnimationAdapter; @@ -32622,12 +32714,9 @@ Landroid/window/BackMotionEvent$1; Landroid/window/BackMotionEvent; Landroid/window/BackNavigationInfo$1; Landroid/window/BackNavigationInfo; -Landroid/window/BackProgressAnimator$$ExternalSyntheticLambda0; Landroid/window/BackProgressAnimator$1; Landroid/window/BackProgressAnimator$ProgressCallback; Landroid/window/BackProgressAnimator; -Landroid/window/BackTouchTracker$TouchTrackerState; -Landroid/window/BackTouchTracker; Landroid/window/ClientWindowFrames$1; Landroid/window/ClientWindowFrames-IA; Landroid/window/ClientWindowFrames; @@ -32661,6 +32750,7 @@ Landroid/window/ITaskFragmentOrganizer$Stub; Landroid/window/ITaskFragmentOrganizer; Landroid/window/ITaskFragmentOrganizerController$Stub; Landroid/window/ITaskFragmentOrganizerController; +Landroid/window/ITaskOrganizer$Stub$Proxy; Landroid/window/ITaskOrganizer$Stub; Landroid/window/ITaskOrganizer; Landroid/window/ITaskOrganizerController$Stub$Proxy; @@ -32684,11 +32774,8 @@ Landroid/window/IWindowOrganizerController; Landroid/window/ImeOnBackInvokedDispatcher$$ExternalSyntheticLambda0; Landroid/window/ImeOnBackInvokedDispatcher$1; Landroid/window/ImeOnBackInvokedDispatcher$2; -Landroid/window/ImeOnBackInvokedDispatcher$DefaultImeOnBackAnimationCallback; Landroid/window/ImeOnBackInvokedDispatcher$ImeOnBackInvokedCallback; Landroid/window/ImeOnBackInvokedDispatcher; -Landroid/window/InputTransferToken$1; -Landroid/window/InputTransferToken; Landroid/window/OnBackAnimationCallback; Landroid/window/OnBackInvokedCallback; Landroid/window/OnBackInvokedCallbackInfo$1; @@ -32712,7 +32799,6 @@ Landroid/window/SizeConfigurationBuckets$1; Landroid/window/SizeConfigurationBuckets; Landroid/window/SplashScreen$SplashScreenManagerGlobal$1; Landroid/window/SplashScreen$SplashScreenManagerGlobal; -Landroid/window/SplashScreen; Landroid/window/SplashScreenView$SplashScreenViewParcelable$1; Landroid/window/SplashScreenView$SplashScreenViewParcelable; Landroid/window/SplashScreenView; @@ -32740,7 +32826,6 @@ Landroid/window/TaskFragmentOrganizer$1; Landroid/window/TaskFragmentOrganizer; Landroid/window/TaskFragmentOrganizerToken$1; Landroid/window/TaskFragmentOrganizerToken; -Landroid/window/TaskFragmentTransaction$1; Landroid/window/TaskFragmentTransaction; Landroid/window/TaskOrganizer$1; Landroid/window/TaskOrganizer; @@ -32775,6 +32860,7 @@ Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$Exte Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda2; Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda3; Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda4; +Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda5; Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$CallbackRef; Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper; Landroid/window/WindowOnBackInvokedDispatcher; @@ -32859,9 +32945,6 @@ Lcom/android/framework/protobuf/nano/InternalNano; Lcom/android/framework/protobuf/nano/InvalidProtocolBufferNanoException; Lcom/android/framework/protobuf/nano/MessageNano; Lcom/android/framework/protobuf/nano/WireFormatNano; -Lcom/android/graphics/flags/Flags; -Lcom/android/graphics/hwui/flags/FeatureFlags; -Lcom/android/graphics/hwui/flags/FeatureFlagsImpl; Lcom/android/graphics/hwui/flags/Flags; Lcom/android/i18n/phonenumbers/AlternateFormatsCountryCodeSet; Lcom/android/i18n/phonenumbers/AsYouTypeFormatter; @@ -32981,7 +33064,6 @@ Lcom/android/i18n/timezone/internal/Memory; Lcom/android/i18n/timezone/internal/MemoryMappedFile; Lcom/android/i18n/timezone/internal/NioBufferIterator; Lcom/android/i18n/util/Log; -Lcom/android/icu/charset/CharsetDecoderICU; Lcom/android/icu/charset/CharsetEncoderICU; Lcom/android/icu/charset/CharsetFactory; Lcom/android/icu/charset/NativeConverter; @@ -33051,6 +33133,7 @@ Lcom/android/ims/ImsManager$$ExternalSyntheticLambda2; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda3; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda4; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda5; +Lcom/android/ims/ImsManager$$ExternalSyntheticLambda6; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda7; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda8; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda9; @@ -33129,6 +33212,7 @@ Lcom/android/ims/internal/IImsRegistrationListener$Stub; Lcom/android/ims/internal/IImsRegistrationListener; Lcom/android/ims/internal/IImsServiceController$Stub; Lcom/android/ims/internal/IImsServiceController; +Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy; Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub; Lcom/android/ims/internal/IImsServiceFeatureCallback; Lcom/android/ims/internal/IImsStreamMediaSession; @@ -33383,8 +33467,6 @@ Lcom/android/ims/rcs/uce/util/FeatureTags$$ExternalSyntheticLambda0; Lcom/android/ims/rcs/uce/util/FeatureTags; Lcom/android/ims/rcs/uce/util/NetworkSipCode; Lcom/android/ims/rcs/uce/util/UceUtils; -Lcom/android/input/flags/FeatureFlags; -Lcom/android/input/flags/FeatureFlagsImpl; Lcom/android/input/flags/Flags; Lcom/android/internal/R$attr; Lcom/android/internal/R$dimen; @@ -33412,6 +33494,7 @@ Lcom/android/internal/app/IAppOpsActiveCallback$Stub; Lcom/android/internal/app/IAppOpsActiveCallback; Lcom/android/internal/app/IAppOpsAsyncNotedCallback$Stub; Lcom/android/internal/app/IAppOpsAsyncNotedCallback; +Lcom/android/internal/app/IAppOpsCallback$Stub$Proxy; Lcom/android/internal/app/IAppOpsCallback$Stub; Lcom/android/internal/app/IAppOpsCallback; Lcom/android/internal/app/IAppOpsNotedCallback$Stub; @@ -33506,7 +33589,6 @@ Lcom/android/internal/colorextraction/types/Tonal$ConfigParser; Lcom/android/internal/colorextraction/types/Tonal$TonalPalette; Lcom/android/internal/colorextraction/types/Tonal; Lcom/android/internal/compat/AndroidBuildClassifier; -Lcom/android/internal/compat/ChangeReporter$$ExternalSyntheticLambda0; Lcom/android/internal/compat/ChangeReporter$ChangeReport; Lcom/android/internal/compat/ChangeReporter; Lcom/android/internal/compat/CompatibilityChangeConfig$1; @@ -33520,9 +33602,6 @@ Lcom/android/internal/compat/IPlatformCompat$Stub; Lcom/android/internal/compat/IPlatformCompat; Lcom/android/internal/compat/IPlatformCompatNative$Stub; Lcom/android/internal/compat/IPlatformCompatNative; -Lcom/android/internal/compat/flags/FeatureFlags; -Lcom/android/internal/compat/flags/FeatureFlagsImpl; -Lcom/android/internal/compat/flags/Flags; Lcom/android/internal/config/appcloning/AppCloningDeviceConfigHelper$$ExternalSyntheticLambda0; Lcom/android/internal/config/appcloning/AppCloningDeviceConfigHelper; Lcom/android/internal/config/sysui/SystemUiSystemPropertiesFlags$DebugResolver; @@ -33571,7 +33650,6 @@ Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$7; Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$8; Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$9; Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$MassState; -Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$OnAnimationEndListener; Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$ViewProperty; Lcom/android/internal/dynamicanimation/animation/DynamicAnimation; Lcom/android/internal/dynamicanimation/animation/Force; @@ -33591,15 +33669,6 @@ Lcom/android/internal/graphics/drawable/BackgroundBlurDrawable$Aggregator; Lcom/android/internal/graphics/drawable/BackgroundBlurDrawable$BlurRegion; Lcom/android/internal/graphics/drawable/BackgroundBlurDrawable-IA; Lcom/android/internal/graphics/drawable/BackgroundBlurDrawable; -Lcom/android/internal/hidden_from_bootclasspath/android/app/job/Flags; -Lcom/android/internal/hidden_from_bootclasspath/android/content/pm/FeatureFlags; -Lcom/android/internal/hidden_from_bootclasspath/android/content/pm/FeatureFlagsImpl; -Lcom/android/internal/hidden_from_bootclasspath/android/content/pm/Flags; -Lcom/android/internal/hidden_from_bootclasspath/android/os/FeatureFlags; -Lcom/android/internal/hidden_from_bootclasspath/android/os/FeatureFlagsImpl; -Lcom/android/internal/hidden_from_bootclasspath/android/os/Flags; -Lcom/android/internal/hidden_from_bootclasspath/android/service/notification/FeatureFlags; -Lcom/android/internal/hidden_from_bootclasspath/android/service/notification/FeatureFlagsImpl; Lcom/android/internal/hidden_from_bootclasspath/android/service/notification/Flags; Lcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService; Lcom/android/internal/infra/AbstractRemoteService$AsyncRequest; @@ -33763,7 +33832,8 @@ Lcom/android/internal/os/BinderCallsStats; Lcom/android/internal/os/BinderDeathDispatcher$RecipientsInfo-IA; Lcom/android/internal/os/BinderDeathDispatcher$RecipientsInfo; Lcom/android/internal/os/BinderDeathDispatcher; -Lcom/android/internal/os/BinderInternal$BinderProxyCountEventListenerDelegate; +Lcom/android/internal/os/BinderInternal$BinderProxyLimitListener; +Lcom/android/internal/os/BinderInternal$BinderProxyLimitListenerDelegate; Lcom/android/internal/os/BinderInternal$CallSession; Lcom/android/internal/os/BinderInternal$CallStatsObserver; Lcom/android/internal/os/BinderInternal$GcWatcher; @@ -33782,9 +33852,6 @@ Lcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch; Lcom/android/internal/os/CachedDeviceState; Lcom/android/internal/os/ClassLoaderFactory; Lcom/android/internal/os/Clock; -Lcom/android/internal/os/FeatureFlags; -Lcom/android/internal/os/FeatureFlagsImpl; -Lcom/android/internal/os/Flags; Lcom/android/internal/os/FuseAppLoop$1; Lcom/android/internal/os/FuseAppLoop; Lcom/android/internal/os/FuseUnavailableMountException; @@ -33891,11 +33958,10 @@ Lcom/android/internal/os/ZygoteServer; Lcom/android/internal/os/logging/MetricsLoggerWrapper; Lcom/android/internal/pm/parsing/PackageParser2$Callback; Lcom/android/internal/pm/parsing/PackageParserException; -Lcom/android/internal/pm/pkg/component/flags/FeatureFlags; -Lcom/android/internal/pm/pkg/component/flags/FeatureFlagsImpl; Lcom/android/internal/pm/pkg/component/flags/Flags; Lcom/android/internal/pm/pkg/parsing/ParsingPackageUtils$Callback; Lcom/android/internal/policy/AttributeCache; +Lcom/android/internal/policy/BackdropFrameRenderer; Lcom/android/internal/policy/DecorContext; Lcom/android/internal/policy/DecorView$$ExternalSyntheticLambda0; Lcom/android/internal/policy/DecorView$$ExternalSyntheticLambda1; @@ -33962,6 +34028,7 @@ Lcom/android/internal/protolog/common/IProtoLogGroup; Lcom/android/internal/protolog/common/LogDataType; Lcom/android/internal/security/VerityUtils; Lcom/android/internal/statusbar/IAddTileResultCallback; +Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy; Lcom/android/internal/statusbar/IStatusBar$Stub; Lcom/android/internal/statusbar/IStatusBar; Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy; @@ -34044,8 +34111,6 @@ Lcom/android/internal/telephony/CarrierAppUtils; Lcom/android/internal/telephony/CarrierInfoManager; Lcom/android/internal/telephony/CarrierKeyDownloadManager$1; Lcom/android/internal/telephony/CarrierKeyDownloadManager$2; -Lcom/android/internal/telephony/CarrierKeyDownloadManager$3; -Lcom/android/internal/telephony/CarrierKeyDownloadManager$DefaultNetworkCallback; Lcom/android/internal/telephony/CarrierKeyDownloadManager; Lcom/android/internal/telephony/CarrierPrivilegesTracker$1; Lcom/android/internal/telephony/CarrierPrivilegesTracker; @@ -34200,6 +34265,7 @@ Lcom/android/internal/telephony/IState; Lcom/android/internal/telephony/ISub$Stub$Proxy; Lcom/android/internal/telephony/ISub$Stub; Lcom/android/internal/telephony/ISub; +Lcom/android/internal/telephony/ITelephony$Stub$Proxy; Lcom/android/internal/telephony/ITelephony$Stub; Lcom/android/internal/telephony/ITelephony; Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy; @@ -34374,6 +34440,7 @@ Lcom/android/internal/telephony/RIL; Lcom/android/internal/telephony/RILConstants$$ExternalSyntheticLambda0; Lcom/android/internal/telephony/RILConstants$$ExternalSyntheticLambda1; Lcom/android/internal/telephony/RILConstants; +Lcom/android/internal/telephony/RILRequest$$ExternalSyntheticLambda0; Lcom/android/internal/telephony/RILRequest; Lcom/android/internal/telephony/RadioBugDetector; Lcom/android/internal/telephony/RadioCapability; @@ -35025,7 +35092,6 @@ Lcom/android/internal/telephony/nano/PersistAtomsProto$CarrierIdMismatch; Lcom/android/internal/telephony/nano/PersistAtomsProto$CellularDataServiceSwitch; Lcom/android/internal/telephony/nano/PersistAtomsProto$CellularServiceState; Lcom/android/internal/telephony/nano/PersistAtomsProto$DataCallSession; -Lcom/android/internal/telephony/nano/PersistAtomsProto$DataNetworkValidation; Lcom/android/internal/telephony/nano/PersistAtomsProto$EmergencyNumbersInfo; Lcom/android/internal/telephony/nano/PersistAtomsProto$GbaEvent; Lcom/android/internal/telephony/nano/PersistAtomsProto$ImsDedicatedBearerEvent; @@ -35681,6 +35747,7 @@ Lcom/android/internal/widget/CachingIconView; Lcom/android/internal/widget/ConversationLayout$1; Lcom/android/internal/widget/ConversationLayout$TouchDelegateComposite; Lcom/android/internal/widget/ConversationLayout; +Lcom/android/internal/widget/DecorCaptionView; Lcom/android/internal/widget/DecorContentParent; Lcom/android/internal/widget/DecorToolbar; Lcom/android/internal/widget/DialogTitle; @@ -35745,11 +35812,8 @@ Lcom/android/internal/widget/floatingtoolbar/FloatingToolbar$$ExternalSyntheticL Lcom/android/internal/widget/floatingtoolbar/FloatingToolbar$$ExternalSyntheticLambda1; Lcom/android/internal/widget/floatingtoolbar/FloatingToolbar; Lcom/android/internal/widget/floatingtoolbar/FloatingToolbarPopup; -Lcom/android/media/flags/FeatureFlags; -Lcom/android/media/flags/FeatureFlagsImpl; Lcom/android/media/flags/Flags; Lcom/android/modules/expresslog/Counter; -Lcom/android/modules/expresslog/MetricIds$MetricInfo; Lcom/android/modules/expresslog/MetricIds; Lcom/android/modules/expresslog/StatsExpressLog; Lcom/android/modules/utils/BasicShellCommandHandler; @@ -35783,16 +35847,12 @@ Lcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo; Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo; Lcom/android/phone/ecc/nano/UnknownFieldData; Lcom/android/phone/ecc/nano/WireFormatNano; -Lcom/android/sdksandbox/flags/FeatureFlags; -Lcom/android/sdksandbox/flags/FeatureFlagsImpl; Lcom/android/sdksandbox/flags/Flags; Lcom/android/server/AppWidgetBackupBridge; Lcom/android/server/LocalServices; Lcom/android/server/WidgetBackupProvider; Lcom/android/server/am/nano/Capabilities; Lcom/android/server/am/nano/Capability; -Lcom/android/server/am/nano/FrameworkCapability; -Lcom/android/server/am/nano/VMCapability; Lcom/android/server/backup/AccountManagerBackupHelper; Lcom/android/server/backup/AccountSyncSettingsBackupHelper; Lcom/android/server/backup/NotificationBackupHelper; @@ -35821,7 +35881,6 @@ Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats Lcom/android/server/criticalevents/nano/CriticalEventLogProto; Lcom/android/server/criticalevents/nano/CriticalEventLogStorageProto; Lcom/android/server/criticalevents/nano/CriticalEventProto$AppNotResponding; -Lcom/android/server/criticalevents/nano/CriticalEventProto$ExcessiveBinderCalls; Lcom/android/server/criticalevents/nano/CriticalEventProto$HalfWatchdog; Lcom/android/server/criticalevents/nano/CriticalEventProto$InstallPackages; Lcom/android/server/criticalevents/nano/CriticalEventProto$JavaCrash; @@ -35872,9 +35931,6 @@ Lcom/android/server/sip/SipWakeLock; Lcom/android/server/sip/SipWakeupTimer$MyEvent; Lcom/android/server/sip/SipWakeupTimer$MyEventComparator; Lcom/android/server/sip/SipWakeupTimer; -Lcom/android/server/telecom/flags/FeatureFlags; -Lcom/android/server/telecom/flags/FeatureFlagsImpl; -Lcom/android/server/telecom/flags/Flags; Lcom/android/server/usage/AppStandbyInternal$AppIdleStateChangeListener; Lcom/android/server/usage/AppStandbyInternal; Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto; @@ -36344,6 +36400,7 @@ Lgov/nist/javax/sip/stack/TLSMessageProcessor; Lgov/nist/javax/sip/stack/UDPMessageChannel$PingBackTimerTask; Lgov/nist/javax/sip/stack/UDPMessageChannel; Lgov/nist/javax/sip/stack/UDPMessageProcessor; +Ljava/io/InterruptedIOException; Ljavax/microedition/khronos/egl/EGL10; Ljavax/microedition/khronos/egl/EGL11; Ljavax/microedition/khronos/egl/EGL; @@ -36592,8 +36649,6 @@ Lorg/ccil/cowan/tagsoup/jaxp/SAXParserImpl; [Landroid/graphics/fonts/FontVariationAxis; [Landroid/hardware/CameraStatus; [Landroid/hardware/biometrics/BiometricSourceType; -[Landroid/hardware/camera2/CameraCharacteristics$Key; -[Landroid/hardware/camera2/marshal/MarshalQueryable; [Landroid/hardware/camera2/params/Capability; [Landroid/hardware/camera2/params/Face; [Landroid/hardware/camera2/params/HighSpeedVideoConfiguration; @@ -36655,7 +36710,6 @@ Lorg/ccil/cowan/tagsoup/jaxp/SAXParserImpl; [Landroid/icu/impl/units/MeasureUnitImpl$InitialCompoundPart; [Landroid/icu/impl/units/MeasureUnitImpl$PowerPart; [Landroid/icu/impl/units/MeasureUnitImpl$UnitsParser$Token$Type; -[Landroid/icu/lang/UCharacter$IdentifierType; [Landroid/icu/lang/UCharacter$UnicodeBlock; [Landroid/icu/lang/UScript$ScriptUsage; [Landroid/icu/lang/UScriptRun$ParenStackEntry; @@ -36910,7 +36964,6 @@ Lorg/ccil/cowan/tagsoup/jaxp/SAXParserImpl; [Landroid/widget/SpellChecker$SpellParser; [Landroid/widget/TextView$BufferType; [Landroid/widget/TextView$ChangeWatcher; -[Landroid/window/BackTouchTracker$TouchTrackerState; [Landroid/window/TransitionFilter$Requirement; [Lcom/android/framework/protobuf/GeneratedMessageLite$MethodToInvoke; [Lcom/android/framework/protobuf/MessageInfoFactory; @@ -36998,4 +37051,4 @@ Lorg/ccil/cowan/tagsoup/jaxp/SAXParserImpl; [[Landroid/graphics/Rect; [[Landroid/media/ExifInterface$ExifTag; [[Landroid/widget/GridLayout$Arc; -[[Lcom/android/internal/widget/LockPatternView$Cell; +[[Lcom/android/internal/widget/LockPatternView$Cell;
\ No newline at end of file diff --git a/config/boot-image-profile.txt b/config/boot-image-profile.txt index c830a7b4f3d3..ee417e8e8639 100644 --- a/config/boot-image-profile.txt +++ b/config/boot-image-profile.txt @@ -26,6 +26,7 @@ HSPLandroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/accounts/Account;->equals(Ljava/lang/Object;)Z HSPLandroid/accounts/Account;->hashCode()I +HSPLandroid/accounts/Account;->onAccountAccessed(Ljava/lang/String;)V HSPLandroid/accounts/Account;->toString()Ljava/lang/String; HSPLandroid/accounts/Account;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/accounts/AccountManager$10;-><init>(Landroid/accounts/AccountManager;Landroid/app/Activity;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;Landroid/accounts/Account;Ljava/lang/String;ZLandroid/os/Bundle;)V @@ -125,13 +126,13 @@ HSPLandroid/animation/AnimationHandler$$ExternalSyntheticLambda0;->doFrame(J)V HSPLandroid/animation/AnimationHandler$1;-><init>(Landroid/animation/AnimationHandler;)V HSPLandroid/animation/AnimationHandler$1;->doFrame(J)V+]Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;Landroid/animation/AnimationHandler$MyFrameCallbackProvider;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;-><init>(Landroid/animation/AnimationHandler;)V -HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->getFrameTime()J -HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V +HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->getFrameTime()J+]Landroid/view/Choreographer;Landroid/view/Choreographer; +HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V+]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/animation/AnimationHandler;-><init>()V -HSPLandroid/animation/AnimationHandler;->addAnimationFrameCallback(Landroid/animation/AnimationHandler$AnimationFrameCallback;J)V+]Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;Landroid/animation/AnimationHandler$MyFrameCallbackProvider;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/animation/AnimationHandler;->autoCancelBasedOn(Landroid/animation/ObjectAnimator;)V -HSPLandroid/animation/AnimationHandler;->cleanUpList()V -HSPLandroid/animation/AnimationHandler;->doAnimationFrame(J)V+]Landroid/animation/AnimationHandler$AnimationFrameCallback;Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator;,Lcom/android/internal/dynamicanimation/animation/SpringAnimation;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimationHandler;->addAnimationFrameCallback(Landroid/animation/AnimationHandler$AnimationFrameCallback;J)V +HSPLandroid/animation/AnimationHandler;->autoCancelBasedOn(Landroid/animation/ObjectAnimator;)V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimationHandler;->cleanUpList()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimationHandler;->doAnimationFrame(J)V+]Landroid/animation/AnimationHandler$AnimationFrameCallback;Landroid/animation/ObjectAnimator;,Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator;,Lcom/android/internal/dynamicanimation/animation/SpringAnimation;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/AnimationHandler;->getAnimationCount()I HSPLandroid/animation/AnimationHandler;->getInstance()Landroid/animation/AnimationHandler; HSPLandroid/animation/AnimationHandler;->getProvider()Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider; @@ -156,18 +157,18 @@ HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6;-><init> HSPLandroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6;->call(Ljava/lang/Object;Ljava/lang/Object;Z)V HSPLandroid/animation/Animator$AnimatorCaller;-><clinit>()V HSPLandroid/animation/Animator$AnimatorCaller;->lambda$static$0(Landroid/animation/Animator$AnimatorListener;Landroid/animation/Animator;Z)V -HSPLandroid/animation/Animator$AnimatorCaller;->lambda$static$4(Landroid/animation/ValueAnimator$AnimatorUpdateListener;Landroid/animation/ValueAnimator;Z)V +HSPLandroid/animation/Animator$AnimatorCaller;->lambda$static$4(Landroid/animation/ValueAnimator$AnimatorUpdateListener;Landroid/animation/ValueAnimator;Z)V+]Landroid/animation/ValueAnimator$AnimatorUpdateListener;missing_types HSPLandroid/animation/Animator$AnimatorConstantState;-><init>(Landroid/animation/Animator;)V HSPLandroid/animation/Animator$AnimatorConstantState;->getChangingConfigurations()I HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Landroid/animation/Animator; HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Ljava/lang/Object; -HSPLandroid/animation/Animator$AnimatorListener;->onAnimationEnd(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;megamorphic_types -HSPLandroid/animation/Animator$AnimatorListener;->onAnimationStart(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;megamorphic_types +HSPLandroid/animation/Animator$AnimatorListener;->onAnimationEnd(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;missing_types +HSPLandroid/animation/Animator$AnimatorListener;->onAnimationStart(Landroid/animation/Animator;Z)V+]Landroid/animation/Animator$AnimatorListener;missing_types HSPLandroid/animation/Animator;-><init>()V -HSPLandroid/animation/Animator;->addListener(Landroid/animation/Animator$AnimatorListener;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/Animator;->addListener(Landroid/animation/Animator$AnimatorListener;)V HSPLandroid/animation/Animator;->addPauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V HSPLandroid/animation/Animator;->appendChangingConfigurations(I)V -HSPLandroid/animation/Animator;->callOnList(Ljava/util/ArrayList;Landroid/animation/Animator$AnimatorCaller;Ljava/lang/Object;Z)V+]Landroid/animation/Animator$AnimatorCaller;megamorphic_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference; +HSPLandroid/animation/Animator;->callOnList(Ljava/util/ArrayList;Landroid/animation/Animator$AnimatorCaller;Ljava/lang/Object;Z)V+]Landroid/animation/Animator$AnimatorCaller;Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda1;,Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda0;,Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda6;,Landroid/animation/Animator$AnimatorCaller$$ExternalSyntheticLambda2;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/atomic/AtomicReference; HSPLandroid/animation/Animator;->clone()Landroid/animation/Animator; HSPLandroid/animation/Animator;->createConstantState()Landroid/content/res/ConstantState; HSPLandroid/animation/Animator;->getBackgroundPauseDelay()J @@ -176,10 +177,10 @@ HSPLandroid/animation/Animator;->getListeners()Ljava/util/ArrayList; HSPLandroid/animation/Animator;->getStartAndEndTimes(Landroid/util/LongArray;J)V HSPLandroid/animation/Animator;->notifyEndListeners(Z)V HSPLandroid/animation/Animator;->notifyListeners(Landroid/animation/Animator$AnimatorCaller;Z)V -HSPLandroid/animation/Animator;->notifyStartListeners(Z)V+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/Animator;->notifyStartListeners(Z)V HSPLandroid/animation/Animator;->pause()V HSPLandroid/animation/Animator;->removeAllListeners()V -HSPLandroid/animation/Animator;->removeListener(Landroid/animation/Animator$AnimatorListener;)V +HSPLandroid/animation/Animator;->removeListener(Landroid/animation/Animator$AnimatorListener;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/Animator;->setAllowRunningAsynchronously(Z)V HSPLandroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLandroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;)Landroid/util/PathParser$PathData; HSPLandroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; @@ -201,53 +202,53 @@ HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationCancel(Landroid/anima HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationStart(Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorSet$1;-><init>(Landroid/animation/AnimatorSet;)V -HSPLandroid/animation/AnimatorSet$1;->onAnimationEnd(Landroid/animation/Animator;)V +HSPLandroid/animation/AnimatorSet$1;->onAnimationEnd(Landroid/animation/Animator;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLandroid/animation/AnimatorSet$2;-><init>(Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;)V HSPLandroid/animation/AnimatorSet$2;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorSet$3;-><init>(Landroid/animation/AnimatorSet;)V -HSPLandroid/animation/AnimatorSet$3;->compare(Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent;)I +HSPLandroid/animation/AnimatorSet$3;->compare(Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent;)I+]Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent; HSPLandroid/animation/AnimatorSet$3;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/animation/AnimatorSet$AnimationEvent;-><init>(Landroid/animation/AnimatorSet$Node;I)V -HSPLandroid/animation/AnimatorSet$AnimationEvent;->getTime()J +HSPLandroid/animation/AnimatorSet$AnimationEvent;->getTime()J+]Landroid/animation/Animator;Landroid/animation/ObjectAnimator; HSPLandroid/animation/AnimatorSet$Builder;-><init>(Landroid/animation/AnimatorSet;Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorSet$Builder;->after(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder; HSPLandroid/animation/AnimatorSet$Builder;->before(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder; HSPLandroid/animation/AnimatorSet$Builder;->with(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder; HSPLandroid/animation/AnimatorSet$Node;-><init>(Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorSet$Node;->addChild(Landroid/animation/AnimatorSet$Node;)V -HSPLandroid/animation/AnimatorSet$Node;->addParent(Landroid/animation/AnimatorSet$Node;)V +HSPLandroid/animation/AnimatorSet$Node;->addParent(Landroid/animation/AnimatorSet$Node;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node; HSPLandroid/animation/AnimatorSet$Node;->addParents(Ljava/util/ArrayList;)V -HSPLandroid/animation/AnimatorSet$Node;->addSibling(Landroid/animation/AnimatorSet$Node;)V -HSPLandroid/animation/AnimatorSet$Node;->clone()Landroid/animation/AnimatorSet$Node;+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/AnimatorSet$Node;->addSibling(Landroid/animation/AnimatorSet$Node;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node; +HSPLandroid/animation/AnimatorSet$Node;->clone()Landroid/animation/AnimatorSet$Node;+]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet$SeekState;-><init>(Landroid/animation/AnimatorSet;)V HSPLandroid/animation/AnimatorSet$SeekState;->getPlayTimeNormalized()J HSPLandroid/animation/AnimatorSet$SeekState;->isActive()Z HSPLandroid/animation/AnimatorSet$SeekState;->reset()V -HSPLandroid/animation/AnimatorSet;-><init>()V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimatorSet;-><init>()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->addAnimationCallback(J)V -HSPLandroid/animation/AnimatorSet;->addAnimationEndListener()V +HSPLandroid/animation/AnimatorSet;->addAnimationEndListener()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->cancel()V HSPLandroid/animation/AnimatorSet;->clone()Landroid/animation/Animator; -HSPLandroid/animation/AnimatorSet;->clone()Landroid/animation/AnimatorSet;+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/HashMap;Ljava/util/HashMap; -HSPLandroid/animation/AnimatorSet;->createDependencyGraph()V+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator;]Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimatorSet;->clone()Landroid/animation/AnimatorSet;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/AnimatorSet;->createDependencyGraph()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent;]Landroid/animation/AnimatorSet$Node;Landroid/animation/AnimatorSet$Node;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->doAnimationFrame(J)Z+]Landroid/animation/AnimatorSet$SeekState;Landroid/animation/AnimatorSet$SeekState;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/animation/AnimatorSet;->end()V -HSPLandroid/animation/AnimatorSet;->endAnimation()V +HSPLandroid/animation/AnimatorSet;->end()V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator; +HSPLandroid/animation/AnimatorSet;->endAnimation()V+]Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;]Landroid/animation/AnimatorSet$SeekState;Landroid/animation/AnimatorSet$SeekState;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/AnimatorSet;->ensureChildStartAndEndTimes()[J HSPLandroid/animation/AnimatorSet;->findLatestEventIdForTime(J)I HSPLandroid/animation/AnimatorSet;->findNextIndex(J[J)I HSPLandroid/animation/AnimatorSet;->findSiblings(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V HSPLandroid/animation/AnimatorSet;->getChangingConfigurations()I -HSPLandroid/animation/AnimatorSet;->getChildAnimations()Ljava/util/ArrayList; -HSPLandroid/animation/AnimatorSet;->getNodeForAnimation(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Node; +HSPLandroid/animation/AnimatorSet;->getChildAnimations()Ljava/util/ArrayList;+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimatorSet;->getNodeForAnimation(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Node;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/AnimatorSet;->getStartAndEndTimes(Landroid/util/LongArray;J)V HSPLandroid/animation/AnimatorSet;->getStartDelay()J HSPLandroid/animation/AnimatorSet;->getTotalDuration()J -HSPLandroid/animation/AnimatorSet;->handleAnimationEvents(IIJ)V -HSPLandroid/animation/AnimatorSet;->initAnimation()V +HSPLandroid/animation/AnimatorSet;->handleAnimationEvents(IIJ)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/AnimatorSet;->initAnimation()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->initChildren()V -HSPLandroid/animation/AnimatorSet;->isEmptySet(Landroid/animation/AnimatorSet;)Z -HSPLandroid/animation/AnimatorSet;->isInitialized()Z +HSPLandroid/animation/AnimatorSet;->isEmptySet(Landroid/animation/AnimatorSet;)Z+]Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimatorSet;->isInitialized()Z+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->isRunning()Z HSPLandroid/animation/AnimatorSet;->isStarted()Z HSPLandroid/animation/AnimatorSet;->play(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder; @@ -257,46 +258,46 @@ HSPLandroid/animation/AnimatorSet;->playTogether([Landroid/animation/Animator;)V HSPLandroid/animation/AnimatorSet;->pulseAnimationFrame(J)Z HSPLandroid/animation/AnimatorSet;->pulseFrame(Landroid/animation/AnimatorSet$Node;J)V HSPLandroid/animation/AnimatorSet;->removeAnimationCallback()V -HSPLandroid/animation/AnimatorSet;->removeAnimationEndListener()V +HSPLandroid/animation/AnimatorSet;->removeAnimationEndListener()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->setDuration(J)Landroid/animation/Animator; HSPLandroid/animation/AnimatorSet;->setDuration(J)Landroid/animation/AnimatorSet; HSPLandroid/animation/AnimatorSet;->setInterpolator(Landroid/animation/TimeInterpolator;)V HSPLandroid/animation/AnimatorSet;->setStartDelay(J)V -HSPLandroid/animation/AnimatorSet;->setTarget(Ljava/lang/Object;)V +HSPLandroid/animation/AnimatorSet;->setTarget(Ljava/lang/Object;)V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/animation/AnimatorSet;->shouldPlayTogether()Z HSPLandroid/animation/AnimatorSet;->skipToEndValue(Z)V -HSPLandroid/animation/AnimatorSet;->sortAnimationEvents()V+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/AnimatorSet;->sortAnimationEvents()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->start()V -HSPLandroid/animation/AnimatorSet;->start(ZZ)V -HSPLandroid/animation/AnimatorSet;->startAnimation()V +HSPLandroid/animation/AnimatorSet;->start(ZZ)V+]Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/AnimatorSet;->startAnimation()V+]Landroid/animation/AnimatorSet;Landroid/animation/AnimatorSet;]Landroid/animation/AnimatorSet$SeekState;Landroid/animation/AnimatorSet$SeekState;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; HSPLandroid/animation/AnimatorSet;->startWithoutPulsing(Z)V -HSPLandroid/animation/AnimatorSet;->updateAnimatorsDuration()V -HSPLandroid/animation/AnimatorSet;->updatePlayTime(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V +HSPLandroid/animation/AnimatorSet;->updateAnimatorsDuration()V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; +HSPLandroid/animation/AnimatorSet;->updatePlayTime(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;,Landroid/animation/AnimatorSet;,Landroid/animation/ValueAnimator; HSPLandroid/animation/ArgbEvaluator;-><init>()V -HSPLandroid/animation/ArgbEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/lang/Integer;Ljava/lang/Integer; +HSPLandroid/animation/ArgbEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/animation/ArgbEvaluator;->getInstance()Landroid/animation/ArgbEvaluator; HSPLandroid/animation/FloatKeyframeSet;-><init>([Landroid/animation/Keyframe$FloatKeyframe;)V HSPLandroid/animation/FloatKeyframeSet;->clone()Landroid/animation/FloatKeyframeSet; HSPLandroid/animation/FloatKeyframeSet;->clone()Landroid/animation/Keyframes; -HSPLandroid/animation/FloatKeyframeSet;->getFloatValue(F)F+]Landroid/animation/Keyframe$FloatKeyframe;Landroid/animation/Keyframe$FloatKeyframe;]Ljava/util/List;Ljava/util/Arrays$ArrayList; +HSPLandroid/animation/FloatKeyframeSet;->getFloatValue(F)F+]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Landroid/animation/Keyframe$FloatKeyframe;Landroid/animation/Keyframe$FloatKeyframe; HSPLandroid/animation/FloatKeyframeSet;->getValue(F)Ljava/lang/Object; HSPLandroid/animation/IntKeyframeSet;-><init>([Landroid/animation/Keyframe$IntKeyframe;)V -HSPLandroid/animation/IntKeyframeSet;->clone()Landroid/animation/IntKeyframeSet;+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe;]Ljava/util/List;Ljava/util/Arrays$ArrayList; +HSPLandroid/animation/IntKeyframeSet;->clone()Landroid/animation/IntKeyframeSet;+]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe; HSPLandroid/animation/IntKeyframeSet;->clone()Landroid/animation/Keyframes; -HSPLandroid/animation/IntKeyframeSet;->getIntValue(F)I+]Landroid/animation/Keyframe$IntKeyframe;Landroid/animation/Keyframe$IntKeyframe;]Ljava/util/List;Ljava/util/Arrays$ArrayList; +HSPLandroid/animation/IntKeyframeSet;->getIntValue(F)I HSPLandroid/animation/Keyframe$FloatKeyframe;-><init>(F)V HSPLandroid/animation/Keyframe$FloatKeyframe;-><init>(FF)V HSPLandroid/animation/Keyframe$FloatKeyframe;->clone()Landroid/animation/Keyframe$FloatKeyframe;+]Landroid/animation/Keyframe$FloatKeyframe;Landroid/animation/Keyframe$FloatKeyframe; HSPLandroid/animation/Keyframe$FloatKeyframe;->clone()Landroid/animation/Keyframe; HSPLandroid/animation/Keyframe$FloatKeyframe;->getFloatValue()F HSPLandroid/animation/Keyframe$FloatKeyframe;->getValue()Ljava/lang/Object; -HSPLandroid/animation/Keyframe$FloatKeyframe;->setValue(Ljava/lang/Object;)V +HSPLandroid/animation/Keyframe$FloatKeyframe;->setValue(Ljava/lang/Object;)V+]Ljava/lang/Object;Ljava/lang/Float;]Ljava/lang/Float;Ljava/lang/Float; HSPLandroid/animation/Keyframe$IntKeyframe;-><init>(FI)V -HSPLandroid/animation/Keyframe$IntKeyframe;->clone()Landroid/animation/Keyframe$IntKeyframe;+]Landroid/animation/Keyframe$IntKeyframe;Landroid/animation/Keyframe$IntKeyframe; +HSPLandroid/animation/Keyframe$IntKeyframe;->clone()Landroid/animation/Keyframe$IntKeyframe; HSPLandroid/animation/Keyframe$IntKeyframe;->clone()Landroid/animation/Keyframe; HSPLandroid/animation/Keyframe$IntKeyframe;->getIntValue()I HSPLandroid/animation/Keyframe$IntKeyframe;->getValue()Ljava/lang/Object; -HSPLandroid/animation/Keyframe$IntKeyframe;->setValue(Ljava/lang/Object;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/lang/Object;Ljava/lang/Integer; +HSPLandroid/animation/Keyframe$IntKeyframe;->setValue(Ljava/lang/Object;)V HSPLandroid/animation/Keyframe$ObjectKeyframe;-><init>(FLjava/lang/Object;)V HSPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe$ObjectKeyframe; HSPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe; @@ -312,17 +313,17 @@ HSPLandroid/animation/Keyframe;->ofObject(FLjava/lang/Object;)Landroid/animation HSPLandroid/animation/Keyframe;->setInterpolator(Landroid/animation/TimeInterpolator;)V HSPLandroid/animation/Keyframe;->setValueWasSetOnStart(Z)V HSPLandroid/animation/Keyframe;->valueWasSetOnStart()Z -HSPLandroid/animation/KeyframeSet;-><init>([Landroid/animation/Keyframe;)V+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$FloatKeyframe;,Landroid/animation/Keyframe$IntKeyframe;,Landroid/animation/Keyframe$ObjectKeyframe; +HSPLandroid/animation/KeyframeSet;-><init>([Landroid/animation/Keyframe;)V+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$ObjectKeyframe;,Landroid/animation/Keyframe$IntKeyframe;,Landroid/animation/Keyframe$FloatKeyframe; HSPLandroid/animation/KeyframeSet;->clone()Landroid/animation/KeyframeSet; HSPLandroid/animation/KeyframeSet;->clone()Landroid/animation/Keyframes; HSPLandroid/animation/KeyframeSet;->getKeyframes()Ljava/util/List; -HSPLandroid/animation/KeyframeSet;->getValue(F)Ljava/lang/Object;+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$ObjectKeyframe;]Landroid/animation/TypeEvaluator;Landroid/animation/ArgbEvaluator; +HSPLandroid/animation/KeyframeSet;->getValue(F)Ljava/lang/Object;+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$ObjectKeyframe; HSPLandroid/animation/KeyframeSet;->ofFloat([F)Landroid/animation/KeyframeSet; HSPLandroid/animation/KeyframeSet;->ofInt([I)Landroid/animation/KeyframeSet; HSPLandroid/animation/KeyframeSet;->ofObject([Ljava/lang/Object;)Landroid/animation/KeyframeSet; HSPLandroid/animation/KeyframeSet;->setEvaluator(Landroid/animation/TypeEvaluator;)V HSPLandroid/animation/LayoutTransition$1;->onAnimationEnd(Landroid/animation/Animator;)V -HSPLandroid/animation/LayoutTransition$2;->onLayoutChange(Landroid/view/View;IIIIIIII)V+]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe;]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Ljava/lang/Object;Ljava/lang/Integer;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap; +HSPLandroid/animation/LayoutTransition$2;->onLayoutChange(Landroid/view/View;IIIIIIII)V HSPLandroid/animation/LayoutTransition$3;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/animation/LayoutTransition$3;->onAnimationStart(Landroid/animation/Animator;)V HSPLandroid/animation/LayoutTransition$4;->onAnimationEnd(Landroid/animation/Animator;)V @@ -350,20 +351,20 @@ HSPLandroid/animation/LayoutTransition;->setAnimator(ILandroid/animation/Animato HSPLandroid/animation/LayoutTransition;->setDuration(J)V HSPLandroid/animation/LayoutTransition;->setInterpolator(ILandroid/animation/TimeInterpolator;)V HSPLandroid/animation/LayoutTransition;->setStartDelay(IJ)V -HSPLandroid/animation/LayoutTransition;->setupChangeAnimation(Landroid/view/ViewGroup;ILandroid/animation/Animator;JLandroid/view/View;)V+]Landroid/animation/Animator;Landroid/animation/ObjectAnimator;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Landroid/view/View;missing_types]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/animation/LayoutTransition;->setupChangeAnimation(Landroid/view/ViewGroup;ILandroid/animation/Animator;JLandroid/view/View;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/view/View;missing_types]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Landroid/animation/Animator;Landroid/animation/ObjectAnimator; HSPLandroid/animation/LayoutTransition;->showChild(Landroid/view/ViewGroup;Landroid/view/View;I)V HSPLandroid/animation/LayoutTransition;->startChangingAnimations()V HSPLandroid/animation/ObjectAnimator;-><init>()V HSPLandroid/animation/ObjectAnimator;-><init>(Ljava/lang/Object;Landroid/util/Property;)V HSPLandroid/animation/ObjectAnimator;-><init>(Ljava/lang/Object;Ljava/lang/String;)V -HSPLandroid/animation/ObjectAnimator;->animateValue(F)V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; +HSPLandroid/animation/ObjectAnimator;->animateValue(F)V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/ObjectAnimator;->clone()Landroid/animation/Animator; HSPLandroid/animation/ObjectAnimator;->clone()Landroid/animation/ObjectAnimator; -HSPLandroid/animation/ObjectAnimator;->getNameForTrace()Ljava/lang/String;+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLandroid/animation/ObjectAnimator;->getPropertyName()Ljava/lang/String;+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLandroid/animation/ObjectAnimator;->getTarget()Ljava/lang/Object;+]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/animation/ObjectAnimator;->getNameForTrace()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator; +HSPLandroid/animation/ObjectAnimator;->getPropertyName()Ljava/lang/String;+]Landroid/util/Property;missing_types +HSPLandroid/animation/ObjectAnimator;->getTarget()Ljava/lang/Object; HSPLandroid/animation/ObjectAnimator;->hasSameTargetAndProperties(Landroid/animation/Animator;)Z -HSPLandroid/animation/ObjectAnimator;->initAnimation()V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; +HSPLandroid/animation/ObjectAnimator;->initAnimation()V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/ObjectAnimator;->isInitialized()Z HSPLandroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator; HSPLandroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator; @@ -376,7 +377,7 @@ HSPLandroid/animation/ObjectAnimator;->setAutoCancel(Z)V HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/Animator; HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator; HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ValueAnimator; -HSPLandroid/animation/ObjectAnimator;->setFloatValues([F)V +HSPLandroid/animation/ObjectAnimator;->setFloatValues([F)V+]Landroid/animation/ObjectAnimator;Landroid/animation/ObjectAnimator; HSPLandroid/animation/ObjectAnimator;->setIntValues([I)V HSPLandroid/animation/ObjectAnimator;->setObjectValues([Ljava/lang/Object;)V HSPLandroid/animation/ObjectAnimator;->setProperty(Landroid/util/Property;)V @@ -402,50 +403,50 @@ HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->calculate HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object; -HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V+]Landroid/util/FloatProperty;Landroid/view/View$12;,Landroid/view/View$13;]Landroid/util/Property;missing_types +HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V+]Landroid/util/FloatProperty;Landroid/view/View$2;,Landroid/view/View$12;,Landroid/view/View$13;,Landroid/view/View$5; HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setFloatValues([F)V HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setProperty(Landroid/util/Property;)V -HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V +HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/Long;Ljava/lang/Long; HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;-><init>(Ljava/lang/String;[I)V -HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->calculateValue(F)V +HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->calculateValue(F)V+]Landroid/animation/Keyframes$IntKeyframes;Landroid/animation/IntKeyframeSet; HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder; -HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;+]Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder; +HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object; HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setIntValues([I)V -HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V+]Ljava/lang/Long;Ljava/lang/Long;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/Long;Ljava/lang/Long; HSPLandroid/animation/PropertyValuesHolder$PropertyValues;-><init>()V -HSPLandroid/animation/PropertyValuesHolder;-><init>(Landroid/util/Property;)V +HSPLandroid/animation/PropertyValuesHolder;-><init>(Landroid/util/Property;)V+]Landroid/util/Property;missing_types HSPLandroid/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;)V HSPLandroid/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;Landroid/animation/PropertyValuesHolder-IA;)V -HSPLandroid/animation/PropertyValuesHolder;->calculateValue(F)V -HSPLandroid/animation/PropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;+]Landroid/animation/Keyframes;Landroid/animation/FloatKeyframeSet;,Landroid/animation/IntKeyframeSet;,Landroid/animation/KeyframeSet; +HSPLandroid/animation/PropertyValuesHolder;->calculateValue(F)V+]Landroid/animation/Keyframes;Landroid/animation/KeyframeSet; +HSPLandroid/animation/PropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;+]Landroid/animation/Keyframes;Landroid/animation/KeyframeSet;,Landroid/animation/IntKeyframeSet;,Landroid/animation/FloatKeyframeSet; HSPLandroid/animation/PropertyValuesHolder;->convertBack(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/animation/PropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object; HSPLandroid/animation/PropertyValuesHolder;->getMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLandroid/animation/PropertyValuesHolder;->getPropertyFunction(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method; HSPLandroid/animation/PropertyValuesHolder;->getPropertyName()Ljava/lang/String; -HSPLandroid/animation/PropertyValuesHolder;->getPropertyValues(Landroid/animation/PropertyValuesHolder$PropertyValues;)V+]Landroid/animation/Keyframes;Landroid/animation/FloatKeyframeSet;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;]Ljava/util/List;Ljava/util/Arrays$ArrayList; +HSPLandroid/animation/PropertyValuesHolder;->getPropertyValues(Landroid/animation/PropertyValuesHolder$PropertyValues;)V HSPLandroid/animation/PropertyValuesHolder;->getValueType()Ljava/lang/Class; -HSPLandroid/animation/PropertyValuesHolder;->init()V+]Landroid/animation/Keyframes;Landroid/animation/KeyframeSet; +HSPLandroid/animation/PropertyValuesHolder;->init()V HSPLandroid/animation/PropertyValuesHolder;->ofFloat(Landroid/util/Property;[F)Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder;->ofFloat(Ljava/lang/String;[F)Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder;->ofInt(Ljava/lang/String;[I)Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder;->ofKeyframes(Ljava/lang/String;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder;->ofObject(Ljava/lang/String;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder; -HSPLandroid/animation/PropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V +HSPLandroid/animation/PropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder; HSPLandroid/animation/PropertyValuesHolder;->setEvaluator(Landroid/animation/TypeEvaluator;)V HSPLandroid/animation/PropertyValuesHolder;->setFloatValues([F)V HSPLandroid/animation/PropertyValuesHolder;->setIntValues([I)V HSPLandroid/animation/PropertyValuesHolder;->setObjectValues([Ljava/lang/Object;)V HSPLandroid/animation/PropertyValuesHolder;->setProperty(Landroid/util/Property;)V HSPLandroid/animation/PropertyValuesHolder;->setPropertyName(Ljava/lang/String;)V -HSPLandroid/animation/PropertyValuesHolder;->setupEndValue(Ljava/lang/Object;)V+]Landroid/animation/Keyframes;Landroid/animation/IntKeyframeSet;]Ljava/util/List;Ljava/util/Arrays$ArrayList; +HSPLandroid/animation/PropertyValuesHolder;->setupEndValue(Ljava/lang/Object;)V HSPLandroid/animation/PropertyValuesHolder;->setupGetter(Ljava/lang/Class;)V -HSPLandroid/animation/PropertyValuesHolder;->setupSetterAndGetter(Ljava/lang/Object;)V+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$FloatKeyframe;,Landroid/animation/Keyframe$IntKeyframe;,Landroid/animation/Keyframe$ObjectKeyframe;]Landroid/animation/Keyframes;Landroid/animation/FloatKeyframeSet;,Landroid/animation/IntKeyframeSet;,Landroid/animation/KeyframeSet;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;]Ljava/lang/Object;missing_types]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;]Ljava/util/List;Ljava/util/Arrays$ArrayList; -HSPLandroid/animation/PropertyValuesHolder;->setupSetterOrGetter(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;+]Ljava/util/HashMap;Ljava/util/HashMap; -HSPLandroid/animation/PropertyValuesHolder;->setupStartValue(Ljava/lang/Object;)V+]Landroid/animation/Keyframes;Landroid/animation/IntKeyframeSet;]Ljava/util/List;Ljava/util/Arrays$ArrayList; -HSPLandroid/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Landroid/animation/Keyframe;)V+]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe;]Ljava/lang/Object;missing_types]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method; +HSPLandroid/animation/PropertyValuesHolder;->setupSetterAndGetter(Ljava/lang/Object;)V+]Ljava/lang/Object;missing_types]Landroid/animation/Keyframes;Landroid/animation/IntKeyframeSet;,Landroid/animation/FloatKeyframeSet;,Landroid/animation/KeyframeSet;]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe;,Landroid/animation/Keyframe$FloatKeyframe;,Landroid/animation/Keyframe$ObjectKeyframe;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;]Landroid/util/Property;missing_types]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method; +HSPLandroid/animation/PropertyValuesHolder;->setupSetterOrGetter(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method; +HSPLandroid/animation/PropertyValuesHolder;->setupStartValue(Ljava/lang/Object;)V +HSPLandroid/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Landroid/animation/Keyframe;)V+]Ljava/lang/Object;missing_types]Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;]Landroid/animation/Keyframe;Landroid/animation/Keyframe$IntKeyframe; HSPLandroid/animation/StateListAnimator$1;-><init>(Landroid/animation/StateListAnimator;)V HSPLandroid/animation/StateListAnimator$1;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;-><init>(Landroid/animation/StateListAnimator;)V @@ -453,10 +454,10 @@ HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInst HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInstance()Ljava/lang/Object; HSPLandroid/animation/StateListAnimator$Tuple;-><init>([ILandroid/animation/Animator;)V HSPLandroid/animation/StateListAnimator;-><init>()V -HSPLandroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V HSPLandroid/animation/StateListAnimator;->appendChangingConfigurations(I)V HSPLandroid/animation/StateListAnimator;->clearTarget()V -HSPLandroid/animation/StateListAnimator;->clone()Landroid/animation/StateListAnimator;+]Landroid/animation/Animator;Landroid/animation/AnimatorSet;,Landroid/animation/ObjectAnimator;]Landroid/animation/StateListAnimator;Landroid/animation/StateListAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/animation/StateListAnimator;->clone()Landroid/animation/StateListAnimator; HSPLandroid/animation/StateListAnimator;->createConstantState()Landroid/content/res/ConstantState; HSPLandroid/animation/StateListAnimator;->getChangingConfigurations()I HSPLandroid/animation/StateListAnimator;->getTarget()Landroid/view/View; @@ -472,17 +473,17 @@ HSPLandroid/animation/ValueAnimator;-><init>()V HSPLandroid/animation/ValueAnimator;->addAnimationCallback(J)V HSPLandroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V HSPLandroid/animation/ValueAnimator;->animateBasedOnTime(J)Z+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; -HSPLandroid/animation/ValueAnimator;->animateValue(F)V+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder;]Landroid/animation/TimeInterpolator;missing_types]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->animateValue(F)V+]Landroid/animation/TimeInterpolator;missing_types]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;,Landroid/animation/ObjectAnimator; HSPLandroid/animation/ValueAnimator;->areAnimatorsEnabled()Z HSPLandroid/animation/ValueAnimator;->cancel()V HSPLandroid/animation/ValueAnimator;->clampFraction(F)F HSPLandroid/animation/ValueAnimator;->clone()Landroid/animation/Animator; -HSPLandroid/animation/ValueAnimator;->clone()Landroid/animation/ValueAnimator;+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder;]Ljava/util/HashMap;Ljava/util/HashMap; -HSPLandroid/animation/ValueAnimator;->doAnimationFrame(J)Z+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->clone()Landroid/animation/ValueAnimator;+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; +HSPLandroid/animation/ValueAnimator;->doAnimationFrame(J)Z+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;,Landroid/animation/ObjectAnimator; HSPLandroid/animation/ValueAnimator;->end()V -HSPLandroid/animation/ValueAnimator;->endAnimation()V+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->endAnimation()V HSPLandroid/animation/ValueAnimator;->getAnimatedFraction()F -HSPLandroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder; +HSPLandroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder; HSPLandroid/animation/ValueAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler; HSPLandroid/animation/ValueAnimator;->getCurrentAnimationsCount()I HSPLandroid/animation/ValueAnimator;->getCurrentIteration(F)I @@ -513,25 +514,25 @@ HSPLandroid/animation/ValueAnimator;->removeAnimationCallback()V HSPLandroid/animation/ValueAnimator;->resolveDurationScale()F HSPLandroid/animation/ValueAnimator;->setAllowRunningAsynchronously(Z)V HSPLandroid/animation/ValueAnimator;->setAnimationHandler(Landroid/animation/AnimationHandler;)V -HSPLandroid/animation/ValueAnimator;->setCurrentFraction(F)V+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->setCurrentFraction(F)V HSPLandroid/animation/ValueAnimator;->setCurrentPlayTime(J)V HSPLandroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/Animator; HSPLandroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator; HSPLandroid/animation/ValueAnimator;->setDurationScale(F)V HSPLandroid/animation/ValueAnimator;->setEvaluator(Landroid/animation/TypeEvaluator;)V -HSPLandroid/animation/ValueAnimator;->setFloatValues([F)V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->setFloatValues([F)V HSPLandroid/animation/ValueAnimator;->setIntValues([I)V HSPLandroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V HSPLandroid/animation/ValueAnimator;->setObjectValues([Ljava/lang/Object;)V HSPLandroid/animation/ValueAnimator;->setRepeatCount(I)V HSPLandroid/animation/ValueAnimator;->setRepeatMode(I)V HSPLandroid/animation/ValueAnimator;->setStartDelay(J)V -HSPLandroid/animation/ValueAnimator;->setValues([Landroid/animation/PropertyValuesHolder;)V+]Landroid/animation/PropertyValuesHolder;Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;,Landroid/animation/PropertyValuesHolder;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/animation/ValueAnimator;->setValues([Landroid/animation/PropertyValuesHolder;)V HSPLandroid/animation/ValueAnimator;->shouldPlayBackward(IZ)Z HSPLandroid/animation/ValueAnimator;->skipToEndValue(Z)V HSPLandroid/animation/ValueAnimator;->start()V -HSPLandroid/animation/ValueAnimator;->start(Z)V+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; -HSPLandroid/animation/ValueAnimator;->startAnimation()V+]Landroid/animation/ValueAnimator;Landroid/animation/ObjectAnimator;,Landroid/animation/ValueAnimator; +HSPLandroid/animation/ValueAnimator;->start(Z)V +HSPLandroid/animation/ValueAnimator;->startAnimation()V HSPLandroid/animation/ValueAnimator;->startWithoutPulsing(Z)V HSPLandroid/app/Activity$1;-><init>(Landroid/app/Activity;)V HSPLandroid/app/Activity$1;->isTaskRoot()Z @@ -545,7 +546,7 @@ HSPLandroid/app/Activity;-><init>()V HSPLandroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;Landroid/os/IBinder;Landroid/os/IBinder;)V HSPLandroid/app/Activity;->attachBaseContext(Landroid/content/Context;)V HSPLandroid/app/Activity;->cancelInputsAndStartExitTransition(Landroid/os/Bundle;)V -HSPLandroid/app/Activity;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/app/Activity;->collectActivityLifecycleCallbacks()[Ljava/lang/Object; HSPLandroid/app/Activity;->dispatchActivityCreated(Landroid/os/Bundle;)V HSPLandroid/app/Activity;->dispatchActivityPostCreated(Landroid/os/Bundle;)V HSPLandroid/app/Activity;->dispatchActivityPostResumed()V @@ -608,7 +609,7 @@ HSPLandroid/app/Activity;->onCreate(Landroid/os/Bundle;)V HSPLandroid/app/Activity;->onCreateDescription()Ljava/lang/CharSequence; HSPLandroid/app/Activity;->onCreateOptionsMenu(Landroid/view/Menu;)Z HSPLandroid/app/Activity;->onCreatePanelMenu(ILandroid/view/Menu;)Z -HSPLandroid/app/Activity;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;+]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/app/Activity;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/app/Activity;->onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/app/Activity;->onDestroy()V HSPLandroid/app/Activity;->onDetachedFromWindow()V @@ -639,7 +640,7 @@ HSPLandroid/app/Activity;->onTouchEvent(Landroid/view/MotionEvent;)Z HSPLandroid/app/Activity;->onTrimMemory(I)V HSPLandroid/app/Activity;->onUserInteraction()V HSPLandroid/app/Activity;->onUserLeaveHint()V -HSPLandroid/app/Activity;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V +HSPLandroid/app/Activity;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V+]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/view/WindowManager;Landroid/view/WindowManagerImpl; HSPLandroid/app/Activity;->onWindowFocusChanged(Z)V HSPLandroid/app/Activity;->overridePendingTransition(II)V HSPLandroid/app/Activity;->overridePendingTransition(III)V @@ -689,10 +690,10 @@ HSPLandroid/app/ActivityClient;->activityResumed(Landroid/os/IBinder;Z)V HSPLandroid/app/ActivityClient;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V HSPLandroid/app/ActivityClient;->activityTopResumedStateLost()V HSPLandroid/app/ActivityClient;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z -HSPLandroid/app/ActivityClient;->getActivityClientController()Landroid/app/IActivityClientController;+]Landroid/app/ActivityClient$ActivityClientControllerSingleton;Landroid/app/ActivityClient$ActivityClientControllerSingleton; +HSPLandroid/app/ActivityClient;->getActivityClientController()Landroid/app/IActivityClientController; HSPLandroid/app/ActivityClient;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName; HSPLandroid/app/ActivityClient;->getDisplayId(Landroid/os/IBinder;)I -HSPLandroid/app/ActivityClient;->getInstance()Landroid/app/ActivityClient;+]Landroid/util/Singleton;Landroid/app/ActivityClient$1; +HSPLandroid/app/ActivityClient;->getInstance()Landroid/app/ActivityClient; HSPLandroid/app/ActivityClient;->getTaskForActivity(Landroid/os/IBinder;Z)I HSPLandroid/app/ActivityClient;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;III)V HSPLandroid/app/ActivityClient;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)V @@ -868,7 +869,7 @@ HSPLandroid/app/ActivityThread$DumpResourcesData;-><init>()V HSPLandroid/app/ActivityThread$GcIdler;-><init>(Landroid/app/ActivityThread;)V HSPLandroid/app/ActivityThread$GcIdler;->queueIdle()Z HSPLandroid/app/ActivityThread$H;-><init>(Landroid/app/ActivityThread;)V -HSPLandroid/app/ActivityThread$H;->handleMessage(Landroid/os/Message;)V +HSPLandroid/app/ActivityThread$H;->handleMessage(Landroid/os/Message;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/app/ActivityThread;Landroid/app/ActivityThread;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/app/servertransaction/TransactionExecutor;Landroid/app/servertransaction/TransactionExecutor; HSPLandroid/app/ActivityThread$Idler;-><init>(Landroid/app/ActivityThread;)V HSPLandroid/app/ActivityThread$Idler;-><init>(Landroid/app/ActivityThread;Landroid/app/ActivityThread$Idler-IA;)V HSPLandroid/app/ActivityThread$Idler;->queueIdle()Z @@ -924,8 +925,8 @@ HSPLandroid/app/ActivityThread;->deliverNewIntents(Landroid/app/ActivityThread$A HSPLandroid/app/ActivityThread;->deliverResults(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/util/List;Ljava/lang/String;)V HSPLandroid/app/ActivityThread;->dumpMemoryInfo(Landroid/util/proto/ProtoOutputStream;JLjava/lang/String;IIIIIIZIII)V HSPLandroid/app/ActivityThread;->getActivitiesToBeDestroyed()Ljava/util/Map; -HSPLandroid/app/ActivityThread;->getActivity(Landroid/os/IBinder;)Landroid/app/Activity;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; -HSPLandroid/app/ActivityThread;->getActivityClient(Landroid/os/IBinder;)Landroid/app/ActivityThread$ActivityClientRecord;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/app/ActivityThread;->getActivity(Landroid/os/IBinder;)Landroid/app/Activity; +HSPLandroid/app/ActivityThread;->getActivityClient(Landroid/os/IBinder;)Landroid/app/ActivityThread$ActivityClientRecord; HSPLandroid/app/ActivityThread;->getApplication()Landroid/app/Application; HSPLandroid/app/ActivityThread;->getApplicationThread()Landroid/app/ActivityThread$ApplicationThread; HSPLandroid/app/ActivityThread;->getBackupAgentName(Landroid/app/ActivityThread$CreateBackupAgentData;)Ljava/lang/String; @@ -935,7 +936,7 @@ HSPLandroid/app/ActivityThread;->getFloatCoreSetting(Ljava/lang/String;F)F HSPLandroid/app/ActivityThread;->getGetProviderKey(Ljava/lang/String;I)Landroid/app/ActivityThread$ProviderKey; HSPLandroid/app/ActivityThread;->getHandler()Landroid/os/Handler; HSPLandroid/app/ActivityThread;->getInstrumentation()Landroid/app/Instrumentation; -HSPLandroid/app/ActivityThread;->getIntCoreSetting(Ljava/lang/String;I)I +HSPLandroid/app/ActivityThread;->getIntCoreSetting(Ljava/lang/String;I)I+]Landroid/os/Bundle;Landroid/os/Bundle; HSPLandroid/app/ActivityThread;->getIntentBeingBroadcast()Landroid/content/Intent; HSPLandroid/app/ActivityThread;->getLooper()Landroid/os/Looper; HSPLandroid/app/ActivityThread;->getOperationTypeFromBackupMode(I)I @@ -957,7 +958,7 @@ HSPLandroid/app/ActivityThread;->handleBindApplication(Landroid/app/ActivityThre HSPLandroid/app/ActivityThread;->handleBindService(Landroid/app/ActivityThread$BindServiceData;)V HSPLandroid/app/ActivityThread;->handleConfigurationChanged(Landroid/content/res/Configuration;I)V HSPLandroid/app/ActivityThread;->handleCreateBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V -HSPLandroid/app/ActivityThread;->handleCreateService(Landroid/app/ActivityThread$CreateServiceData;)V +HSPLandroid/app/ActivityThread;->handleCreateService(Landroid/app/ActivityThread$CreateServiceData;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/LoadedApk;Landroid/app/LoadedApk;]Landroid/app/ActivityThread;Landroid/app/ActivityThread;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Ljava/util/List;Ljava/util/Collections$EmptyList;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/app/IActivityManager;Landroid/app/IActivityManager$Stub$Proxy; HSPLandroid/app/ActivityThread;->handleDestroyBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V HSPLandroid/app/ActivityThread;->handleDispatchPackageBroadcast(I[Ljava/lang/String;)V HSPLandroid/app/ActivityThread;->handleDumpGfxInfo(Landroid/app/ActivityThread$DumpComponentInfo;)V @@ -997,10 +998,11 @@ HSPLandroid/app/ActivityThread;->isProtectedComponent(Landroid/content/pm/Activi HSPLandroid/app/ActivityThread;->isProtectedComponent(Landroid/content/pm/ComponentInfo;Ljava/lang/String;)Z HSPLandroid/app/ActivityThread;->isProtectedComponent(Landroid/content/pm/ServiceInfo;)Z HSPLandroid/app/ActivityThread;->isSystem()Z +HSPLandroid/app/ActivityThread;->lambda$getGetProviderKey$3(Landroid/app/ActivityThread$ProviderKey;)Landroid/app/ActivityThread$ProviderKey; HSPLandroid/app/ActivityThread;->main([Ljava/lang/String;)V HSPLandroid/app/ActivityThread;->onCoreSettingsChange()V HSPLandroid/app/ActivityThread;->peekPackageInfo(Ljava/lang/String;Z)Landroid/app/LoadedApk; -HSPLandroid/app/ActivityThread;->performLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/Intent;)Landroid/app/Activity;+]Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/ActivityThread$ActivityClientRecord;]Landroid/app/ActivityThread;Landroid/app/ActivityThread;]Landroid/app/ConfigurationController;Landroid/app/ConfigurationController;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/app/Instrumentation;Landroid/app/Instrumentation;]Landroid/app/LoadedApk;Landroid/app/LoadedApk;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/ActivityInfo;Landroid/content/pm/ActivityInfo;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/List;Ljava/util/Collections$EmptyList; +HSPLandroid/app/ActivityThread;->performLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/Intent;)Landroid/app/Activity; HSPLandroid/app/ActivityThread;->performPauseActivity(Landroid/app/ActivityThread$ActivityClientRecord;ZLjava/lang/String;Landroid/app/servertransaction/PendingTransactionActions;)Landroid/os/Bundle; HSPLandroid/app/ActivityThread;->performPauseActivityIfNeeded(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/lang/String;)V HSPLandroid/app/ActivityThread;->performRestartActivity(Landroid/app/ActivityThread$ActivityClientRecord;Z)V @@ -1071,7 +1073,7 @@ HSPLandroid/app/AppComponentFactory;->instantiateProvider(Ljava/lang/ClassLoader HSPLandroid/app/AppComponentFactory;->instantiateReceiver(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/content/BroadcastReceiver; HSPLandroid/app/AppComponentFactory;->instantiateService(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Service; HSPLandroid/app/AppGlobals;->getInitialApplication()Landroid/app/Application; -HSPLandroid/app/AppGlobals;->getIntCoreSetting(Ljava/lang/String;I)I +HSPLandroid/app/AppGlobals;->getIntCoreSetting(Ljava/lang/String;I)I+]Landroid/app/ActivityThread;Landroid/app/ActivityThread; HSPLandroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager; HSPLandroid/app/AppOpsManager$1;->onNoted(Landroid/app/SyncNotedAppOp;)V HSPLandroid/app/AppOpsManager$1;->onSelfNoted(Landroid/app/SyncNotedAppOp;)V @@ -1164,7 +1166,7 @@ HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreStarted(La HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreStopped(Landroid/app/Activity;)V HSPLandroid/app/Application;-><init>()V HSPLandroid/app/Application;->attach(Landroid/content/Context;)V -HSPLandroid/app/Application;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/app/Application;->collectActivityLifecycleCallbacks()[Ljava/lang/Object; HSPLandroid/app/Application;->dispatchActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V HSPLandroid/app/Application;->dispatchActivityDestroyed(Landroid/app/Activity;)V HSPLandroid/app/Application;->dispatchActivityPaused(Landroid/app/Activity;)V @@ -1264,7 +1266,7 @@ HSPLandroid/app/ApplicationPackageManager;->getInstalledPackages(Landroid/conten HSPLandroid/app/ApplicationPackageManager;->getInstalledPackagesAsUser(II)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->getInstalledPackagesAsUser(Landroid/content/pm/PackageManager$PackageInfoFlags;I)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/app/ApplicationPackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;+]Landroid/app/ApplicationPackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/Intent;Landroid/content/Intent;]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/app/ApplicationPackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/ApplicationPackageManager;Landroid/app/ApplicationPackageManager;]Landroid/content/Intent;Landroid/content/Intent; HSPLandroid/app/ApplicationPackageManager;->getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo; HSPLandroid/app/ApplicationPackageManager;->getNameForUid(I)Ljava/lang/String; HSPLandroid/app/ApplicationPackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo; @@ -1288,7 +1290,7 @@ HSPLandroid/app/ApplicationPackageManager;->getProviderInfo(Landroid/content/Com HSPLandroid/app/ApplicationPackageManager;->getReceiverInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo; HSPLandroid/app/ApplicationPackageManager;->getReceiverInfo(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ActivityInfo; HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/Resources; -HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Landroid/content/pm/ApplicationInfo;Landroid/content/res/Configuration;)Landroid/content/res/Resources; +HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Landroid/content/pm/ApplicationInfo;Landroid/content/res/Configuration;)Landroid/content/res/Resources;+]Landroid/app/ActivityThread;Landroid/app/ActivityThread;]Ljava/lang/Object;Ljava/lang/String; HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources; HSPLandroid/app/ApplicationPackageManager;->getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo; HSPLandroid/app/ApplicationPackageManager;->getServiceInfo(Landroid/content/ComponentName;Landroid/content/pm/PackageManager$ComponentInfoFlags;)Landroid/content/pm/ServiceInfo; @@ -1298,7 +1300,7 @@ HSPLandroid/app/ApplicationPackageManager;->getSystemSharedLibraryNames()[Ljava/ HSPLandroid/app/ApplicationPackageManager;->getText(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence; HSPLandroid/app/ApplicationPackageManager;->getUserBadgeColor(Landroid/os/UserHandle;Z)I HSPLandroid/app/ApplicationPackageManager;->getUserBadgedIcon(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable; -HSPLandroid/app/ApplicationPackageManager;->getUserId()I +HSPLandroid/app/ApplicationPackageManager;->getUserId()I+]Landroid/app/ContextImpl;Landroid/app/ContextImpl; HSPLandroid/app/ApplicationPackageManager;->getUserManager()Landroid/os/UserManager; HSPLandroid/app/ApplicationPackageManager;->getXml(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/content/res/XmlResourceParser; HSPLandroid/app/ApplicationPackageManager;->handlePackageBroadcast(I[Ljava/lang/String;Z)V @@ -1323,7 +1325,7 @@ HSPLandroid/app/ApplicationPackageManager;->queryBroadcastReceiversAsUser(Landro HSPLandroid/app/ApplicationPackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->queryIntentActivities(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;II)Ljava/util/List; -HSPLandroid/app/ApplicationPackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;I)Ljava/util/List;+]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/content/Intent;Landroid/content/Intent;]Landroid/content/pm/IPackageManager;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/content/pm/PackageManager$ResolveInfoFlags;Landroid/content/pm/PackageManager$ResolveInfoFlags;]Landroid/content/pm/ParceledListSlice;Landroid/content/pm/ParceledListSlice; +HSPLandroid/app/ApplicationPackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;I)Ljava/util/List;+]Landroid/content/pm/IPackageManager;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/content/pm/PackageManager$ResolveInfoFlags;Landroid/content/pm/PackageManager$ResolveInfoFlags;]Landroid/content/pm/ParceledListSlice;Landroid/content/pm/ParceledListSlice;]Landroid/content/Intent;Landroid/content/Intent; HSPLandroid/app/ApplicationPackageManager;->queryIntentContentProviders(Landroid/content/Intent;I)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->queryIntentContentProviders(Landroid/content/Intent;Landroid/content/pm/PackageManager$ResolveInfoFlags;)Ljava/util/List; HSPLandroid/app/ApplicationPackageManager;->queryIntentContentProvidersAsUser(Landroid/content/Intent;II)Ljava/util/List; @@ -1411,7 +1413,7 @@ HSPLandroid/app/ContextImpl$ApplicationContentResolver;->releaseProvider(Landroi HSPLandroid/app/ContextImpl$ApplicationContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z HSPLandroid/app/ContextImpl$ApplicationContentResolver;->resolveUserIdFromAuthority(Ljava/lang/String;)I HSPLandroid/app/ContextImpl$ApplicationContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V -HSPLandroid/app/ContextImpl;-><init>(Landroid/app/ContextImpl;Landroid/app/ActivityThread;Landroid/app/LoadedApk;Landroid/content/ContextParams;Ljava/lang/String;Landroid/content/AttributionSource;Ljava/lang/String;Landroid/os/IBinder;Landroid/os/UserHandle;ILjava/lang/ClassLoader;Ljava/lang/String;IZ)V+]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/app/LoadedApk;Landroid/app/LoadedApk;]Landroid/content/ContextParams;Landroid/content/ContextParams; +HSPLandroid/app/ContextImpl;-><init>(Landroid/app/ContextImpl;Landroid/app/ActivityThread;Landroid/app/LoadedApk;Landroid/content/ContextParams;Ljava/lang/String;Landroid/content/AttributionSource;Ljava/lang/String;Landroid/os/IBinder;Landroid/os/UserHandle;ILjava/lang/ClassLoader;Ljava/lang/String;IZ)V+]Landroid/app/LoadedApk;Landroid/app/LoadedApk;]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/content/ContextParams;Landroid/content/ContextParams; HSPLandroid/app/ContextImpl;->bindIsolatedService(Landroid/content/Intent;ILjava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z HSPLandroid/app/ContextImpl;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z HSPLandroid/app/ContextImpl;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z @@ -1431,7 +1433,7 @@ HSPLandroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landr HSPLandroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Ljava/lang/String;)Landroid/app/ContextImpl; HSPLandroid/app/ContextImpl;->createApplicationContext(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context; HSPLandroid/app/ContextImpl;->createAttributionContext(Ljava/lang/String;)Landroid/content/Context; -HSPLandroid/app/ContextImpl;->createAttributionSource(Ljava/lang/String;Landroid/content/AttributionSource;Ljava/util/Set;ZI)Landroid/content/AttributionSource;+]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/permission/PermissionManager;Landroid/permission/PermissionManager;]Ljava/util/Set;missing_types +HSPLandroid/app/ContextImpl;->createAttributionSource(Ljava/lang/String;Landroid/content/AttributionSource;Ljava/util/Set;ZI)Landroid/content/AttributionSource;+]Ljava/util/Set;missing_types]Landroid/permission/PermissionManager;Landroid/permission/PermissionManager;]Landroid/app/ContextImpl;Landroid/app/ContextImpl; HSPLandroid/app/ContextImpl;->createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context; HSPLandroid/app/ContextImpl;->createContext(Landroid/content/ContextParams;)Landroid/content/Context; HSPLandroid/app/ContextImpl;->createContextAsUser(Landroid/os/UserHandle;I)Landroid/content/Context; @@ -1510,11 +1512,11 @@ HSPLandroid/app/ContextImpl;->getPackageResourcePath()Ljava/lang/String; HSPLandroid/app/ContextImpl;->getPreferencesDir()Ljava/io/File; HSPLandroid/app/ContextImpl;->getReceiverRestrictedContext()Landroid/content/Context; HSPLandroid/app/ContextImpl;->getResources()Landroid/content/res/Resources; -HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences; -HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; -HSPLandroid/app/ContextImpl;->getSharedPreferencesCacheLocked()Landroid/util/ArrayMap; +HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/ContextImpl;Landroid/app/ContextImpl; +HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/LoadedApk;Landroid/app/LoadedApk;]Landroid/app/ContextImpl;Landroid/app/ContextImpl; +HSPLandroid/app/ContextImpl;->getSharedPreferencesCacheLocked()Landroid/util/ArrayMap;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/ContextImpl;Landroid/app/ContextImpl; HSPLandroid/app/ContextImpl;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File; -HSPLandroid/app/ContextImpl;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; +HSPLandroid/app/ContextImpl;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;+]Ljava/lang/Object;Ljava/lang/String;]Landroid/app/ContextImpl;Landroid/app/ContextImpl; HSPLandroid/app/ContextImpl;->getSystemServiceName(Ljava/lang/Class;)Ljava/lang/String; HSPLandroid/app/ContextImpl;->getTheme()Landroid/content/res/Resources$Theme; HSPLandroid/app/ContextImpl;->getThemeResId()I @@ -1733,13 +1735,13 @@ HSPLandroid/app/FragmentManagerImpl;->addAddedFragments(Landroid/util/ArraySet;) HSPLandroid/app/FragmentManagerImpl;->addFragment(Landroid/app/Fragment;Z)V HSPLandroid/app/FragmentManagerImpl;->attachController(Landroid/app/FragmentHostCallback;Landroid/app/FragmentContainer;Landroid/app/Fragment;)V HSPLandroid/app/FragmentManagerImpl;->beginTransaction()Landroid/app/FragmentTransaction; -HSPLandroid/app/FragmentManagerImpl;->burpActive()V+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/app/FragmentManagerImpl;->burpActive()V HSPLandroid/app/FragmentManagerImpl;->checkStateLoss()V HSPLandroid/app/FragmentManagerImpl;->cleanupExec()V HSPLandroid/app/FragmentManagerImpl;->dispatchActivityCreated()V HSPLandroid/app/FragmentManagerImpl;->dispatchCreate()V HSPLandroid/app/FragmentManagerImpl;->dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z -HSPLandroid/app/FragmentManagerImpl;->dispatchMoveToState(I)V+]Landroid/app/FragmentManagerImpl;Landroid/app/FragmentManagerImpl; +HSPLandroid/app/FragmentManagerImpl;->dispatchMoveToState(I)V HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentActivityCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentAttached(Landroid/app/Fragment;Landroid/content/Context;Z)V HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V @@ -1762,9 +1764,9 @@ HSPLandroid/app/FragmentManagerImpl;->dispatchStop()V HSPLandroid/app/FragmentManagerImpl;->doPendingDeferredStart()V HSPLandroid/app/FragmentManagerImpl;->endAnimatingAwayFragments()V HSPLandroid/app/FragmentManagerImpl;->enqueueAction(Landroid/app/FragmentManagerImpl$OpGenerator;Z)V -HSPLandroid/app/FragmentManagerImpl;->ensureExecReady(Z)V+]Landroid/app/FragmentHostCallback;Landroid/app/Activity$HostCallbacks;]Landroid/os/Handler;Landroid/os/Handler; +HSPLandroid/app/FragmentManagerImpl;->ensureExecReady(Z)V HSPLandroid/app/FragmentManagerImpl;->ensureInflatedFragmentView(Landroid/app/Fragment;)V -HSPLandroid/app/FragmentManagerImpl;->execPendingActions()Z+]Landroid/app/FragmentManagerImpl;Landroid/app/FragmentManagerImpl; +HSPLandroid/app/FragmentManagerImpl;->execPendingActions()Z HSPLandroid/app/FragmentManagerImpl;->executeOps(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V HSPLandroid/app/FragmentManagerImpl;->executeOpsTogether(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V HSPLandroid/app/FragmentManagerImpl;->executePendingTransactions()Z @@ -1782,9 +1784,9 @@ HSPLandroid/app/FragmentManagerImpl;->makeActive(Landroid/app/Fragment;)V HSPLandroid/app/FragmentManagerImpl;->makeInactive(Landroid/app/Fragment;)V HSPLandroid/app/FragmentManagerImpl;->makeRemovedFragmentsInvisible(Landroid/util/ArraySet;)V HSPLandroid/app/FragmentManagerImpl;->moveFragmentToExpectedState(Landroid/app/Fragment;)V -HSPLandroid/app/FragmentManagerImpl;->moveToState(IZ)V+]Landroid/app/FragmentManagerImpl;Landroid/app/FragmentManagerImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/app/FragmentManagerImpl;->moveToState(IZ)V HSPLandroid/app/FragmentManagerImpl;->moveToState(Landroid/app/Fragment;IIIZ)V -HSPLandroid/app/FragmentManagerImpl;->noteStateNotSaved()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/app/FragmentManagerImpl;->noteStateNotSaved()V HSPLandroid/app/FragmentManagerImpl;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/app/FragmentManagerImpl;->performPendingDeferredStart(Landroid/app/Fragment;)V HSPLandroid/app/FragmentManagerImpl;->popBackStackImmediate()Z @@ -1798,7 +1800,7 @@ HSPLandroid/app/FragmentManagerImpl;->saveFragmentBasicState(Landroid/app/Fragme HSPLandroid/app/FragmentManagerImpl;->saveNonConfig()V HSPLandroid/app/FragmentManagerImpl;->scheduleCommit()V HSPLandroid/app/FragmentManagerImpl;->setRetaining(Landroid/app/FragmentManagerNonConfig;)V -HSPLandroid/app/FragmentManagerImpl;->startPendingDeferredFragments()V+]Landroid/app/FragmentManagerImpl;Landroid/app/FragmentManagerImpl;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/app/FragmentManagerImpl;->startPendingDeferredFragments()V HSPLandroid/app/FragmentManagerState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/FragmentManagerState; HSPLandroid/app/FragmentManagerState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/app/FragmentManagerState;-><init>(Landroid/os/Parcel;)V @@ -1841,11 +1843,12 @@ HSPLandroid/app/IActivityManager$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/app/IActivityManager$Stub$Proxy;->attachApplication(Landroid/app/IApplicationThread;J)V HSPLandroid/app/IActivityManager$Stub$Proxy;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;I)V HSPLandroid/app/IActivityManager$Stub$Proxy;->bindServiceInstance(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;JLjava/lang/String;Ljava/lang/String;I)I -HSPLandroid/app/IActivityManager$Stub$Proxy;->broadcastIntentWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I+]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/IActivityManager$Stub$Proxy;->broadcastIntentWithFeature(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I HSPLandroid/app/IActivityManager$Stub$Proxy;->cancelIntentSender(Landroid/content/IIntentSender;)V HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermission(Ljava/lang/String;II)I -HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermissionForDevice(Ljava/lang/String;III)I+]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermissionForDevice(Ljava/lang/String;III)I+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/IActivityManager$Stub$Proxy;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I +HSPLandroid/app/IActivityManager$Stub$Proxy;->finishAttachApplication(J)V HSPLandroid/app/IActivityManager$Stub$Proxy;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V HSPLandroid/app/IActivityManager$Stub$Proxy;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder; HSPLandroid/app/IActivityManager$Stub$Proxy;->getCurrentUser()Landroid/content/pm/UserInfo; @@ -1872,7 +1875,7 @@ HSPLandroid/app/IActivityManager$Stub$Proxy;->registerStrictModeCallback(Landroi HSPLandroid/app/IActivityManager$Stub$Proxy;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V HSPLandroid/app/IActivityManager$Stub$Proxy;->removeContentProvider(Landroid/os/IBinder;Z)V HSPLandroid/app/IActivityManager$Stub$Proxy;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V -HSPLandroid/app/IActivityManager$Stub$Proxy;->serviceDoneExecuting(Landroid/os/IBinder;IIILandroid/content/Intent;)V+]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/IActivityManager$Stub$Proxy;->serviceDoneExecuting(Landroid/os/IBinder;IIILandroid/content/Intent;)V+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/app/IActivityManager$Stub$Proxy;Landroid/app/IActivityManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/IActivityManager$Stub$Proxy;->setRenderThread(I)V HSPLandroid/app/IActivityManager$Stub$Proxy;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V HSPLandroid/app/IActivityManager$Stub$Proxy;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;I)Landroid/content/ComponentName; @@ -1931,7 +1934,7 @@ HSPLandroid/app/INotificationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/app/INotificationManager$Stub$Proxy;->areNotificationsEnabled(Ljava/lang/String;)Z HSPLandroid/app/INotificationManager$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelAllNotifications(Ljava/lang/String;I)V -HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V+]Landroid/app/INotificationManager$Stub$Proxy;Landroid/app/INotificationManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V HSPLandroid/app/INotificationManager$Stub$Proxy;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V @@ -2035,7 +2038,7 @@ HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;-><i HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0;->run()V HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;-><init>(Landroid/app/LoadedApk$ReceiverDispatcher;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIILjava/lang/String;)V HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->getRunnable()Ljava/lang/Runnable; -HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->lambda$getRunnable$0()V+]Landroid/app/LoadedApk$ReceiverDispatcher$Args;Landroid/app/LoadedApk$ReceiverDispatcher$Args;]Landroid/content/Intent;Landroid/content/Intent;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->lambda$getRunnable$0()V HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZZIILjava/lang/String;)V HSPLandroid/app/LoadedApk$ReceiverDispatcher;-><init>(Landroid/app/IApplicationThread;Landroid/content/BroadcastReceiver;Landroid/content/Context;Landroid/os/Handler;Landroid/app/Instrumentation;Z)V @@ -2263,7 +2266,7 @@ HSPLandroid/app/Notification$Style;->restoreFromExtras(Landroid/os/Bundle;)V HSPLandroid/app/Notification$Style;->setBuilder(Landroid/app/Notification$Builder;)V HSPLandroid/app/Notification$Style;->validate(Landroid/content/Context;)V HSPLandroid/app/Notification;-><init>()V -HSPLandroid/app/Notification;-><init>(Landroid/os/Parcel;)V +HSPLandroid/app/Notification;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/Notification;->addFieldsFromContext(Landroid/content/Context;Landroid/app/Notification;)V HSPLandroid/app/Notification;->addFieldsFromContext(Landroid/content/pm/ApplicationInfo;Landroid/app/Notification;)V HSPLandroid/app/Notification;->areStyledNotificationsVisiblyDifferent(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z @@ -2288,7 +2291,7 @@ HSPLandroid/app/Notification;->isForegroundService()Z HSPLandroid/app/Notification;->isGroupChild()Z HSPLandroid/app/Notification;->isGroupSummary()Z HSPLandroid/app/Notification;->isMediaNotification()Z -HSPLandroid/app/Notification;->readFromParcelImpl(Landroid/os/Parcel;)V +HSPLandroid/app/Notification;->readFromParcelImpl(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/graphics/drawable/Icon$1;,Landroid/app/PendingIntent$1;,Landroid/media/AudioAttributes$1;]Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/Notification;->reduceImageSizes(Landroid/content/Context;)V HSPLandroid/app/Notification;->reduceImageSizesForRemoteView(Landroid/widget/RemoteViews;Landroid/content/Context;Z)V HSPLandroid/app/Notification;->removeTextSizeSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; @@ -2298,10 +2301,10 @@ HSPLandroid/app/Notification;->suppressAlertingDueToGrouping()Z HSPLandroid/app/Notification;->toString()Ljava/lang/String; HSPLandroid/app/Notification;->visibilityToString(I)Ljava/lang/String; HSPLandroid/app/Notification;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/app/Notification;->writeToParcelImpl(Landroid/os/Parcel;I)V +HSPLandroid/app/Notification;->writeToParcelImpl(Landroid/os/Parcel;I)V+]Landroid/app/PendingIntent;Landroid/app/PendingIntent;]Landroid/media/AudioAttributes;Landroid/media/AudioAttributes;]Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/NotificationChannel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/NotificationChannel; -HSPLandroid/app/NotificationChannel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/app/NotificationChannel;-><init>(Landroid/os/Parcel;)V +HSPLandroid/app/NotificationChannel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/app/NotificationChannel$1;Landroid/app/NotificationChannel$1; +HSPLandroid/app/NotificationChannel;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/net/Uri$1;,Landroid/media/AudioAttributes$1;]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/net/Uri;Landroid/net/Uri$StringUri; HSPLandroid/app/NotificationChannel;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V HSPLandroid/app/NotificationChannel;->canBubble()Z HSPLandroid/app/NotificationChannel;->canBypassDnd()Z @@ -2320,7 +2323,7 @@ HSPLandroid/app/NotificationChannel;->getLockscreenVisibility()I HSPLandroid/app/NotificationChannel;->getName()Ljava/lang/CharSequence; HSPLandroid/app/NotificationChannel;->getOriginalImportance()I HSPLandroid/app/NotificationChannel;->getSound()Landroid/net/Uri; -HSPLandroid/app/NotificationChannel;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/app/NotificationChannel;->getTrimmedString(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/app/NotificationChannel;->getUserLockedFields()I HSPLandroid/app/NotificationChannel;->getVibrationPattern()[J HSPLandroid/app/NotificationChannel;->hasUserSetImportance()Z @@ -2363,7 +2366,7 @@ HSPLandroid/app/NotificationManager;->areNotificationsEnabled()Z HSPLandroid/app/NotificationManager;->cancel(I)V HSPLandroid/app/NotificationManager;->cancel(Ljava/lang/String;I)V HSPLandroid/app/NotificationManager;->cancelAll()V -HSPLandroid/app/NotificationManager;->cancelAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)V+]Landroid/app/INotificationManager;Landroid/app/INotificationManager$Stub$Proxy;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;]Landroid/os/UserHandle;Landroid/os/UserHandle; +HSPLandroid/app/NotificationManager;->cancelAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)V HSPLandroid/app/NotificationManager;->createNotificationChannel(Landroid/app/NotificationChannel;)V HSPLandroid/app/NotificationManager;->createNotificationChannelGroup(Landroid/app/NotificationChannelGroup;)V HSPLandroid/app/NotificationManager;->createNotificationChannelGroups(Ljava/util/List;)V @@ -2386,6 +2389,7 @@ HSPLandroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V HSPLandroid/app/NotificationManager;->notify(Ljava/lang/String;ILandroid/app/Notification;)V HSPLandroid/app/NotificationManager;->notifyAsUser(Ljava/lang/String;ILandroid/app/Notification;Landroid/os/UserHandle;)V HSPLandroid/app/NotificationManager;->zenModeToInterruptionFilter(I)I +HSPLandroid/app/PendingIntent$$ExternalSyntheticLambda3;->get()Ljava/lang/Object; HSPLandroid/app/PendingIntent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/PendingIntent; HSPLandroid/app/PendingIntent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/app/PendingIntent$FinishedDispatcher;-><init>(Landroid/app/PendingIntent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;)V @@ -2443,7 +2447,7 @@ HSPLandroid/app/PictureInPictureParams$1;->createFromParcel(Landroid/os/Parcel;) HSPLandroid/app/PictureInPictureParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/app/PictureInPictureParams;-><init>(Landroid/os/Parcel;)V HSPLandroid/app/PropertyInvalidatedCache$1;-><init>(Landroid/app/PropertyInvalidatedCache;IFZ)V -HSPLandroid/app/PropertyInvalidatedCache$1;->removeEldestEntry(Ljava/util/Map$Entry;)Z+]Landroid/app/PropertyInvalidatedCache$1;Landroid/app/PropertyInvalidatedCache$1; +HSPLandroid/app/PropertyInvalidatedCache$1;->removeEldestEntry(Ljava/util/Map$Entry;)Z HSPLandroid/app/PropertyInvalidatedCache$DefaultComputer;-><init>(Landroid/app/PropertyInvalidatedCache;)V HSPLandroid/app/PropertyInvalidatedCache$NoPreloadHolder;-><clinit>()V HSPLandroid/app/PropertyInvalidatedCache$NoPreloadHolder;->next()J @@ -2470,7 +2474,7 @@ HSPLandroid/app/PropertyInvalidatedCache;->invalidateCacheLocked(Ljava/lang/Stri HSPLandroid/app/PropertyInvalidatedCache;->isDisabled()Z HSPLandroid/app/PropertyInvalidatedCache;->isReservedNonce(J)Z HSPLandroid/app/PropertyInvalidatedCache;->maybeCheckConsistency(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/app/PropertyInvalidatedCache;->query(Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/app/PropertyInvalidatedCache;megamorphic_types]Ljava/util/LinkedHashMap;Landroid/app/PropertyInvalidatedCache$1; +HSPLandroid/app/PropertyInvalidatedCache;->query(Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Landroid/app/PropertyInvalidatedCache$1;]Landroid/app/PropertyInvalidatedCache;megamorphic_types HSPLandroid/app/PropertyInvalidatedCache;->recompute(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/app/PropertyInvalidatedCache;->refresh(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/app/PropertyInvalidatedCache;->registerCache()V @@ -2539,7 +2543,7 @@ HSPLandroid/app/ResourcesManager;->createResources(Landroid/content/res/Resource HSPLandroid/app/ResourcesManager;->createResourcesForActivity(Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Landroid/content/res/Configuration;Ljava/lang/Integer;Ljava/lang/ClassLoader;Landroid/app/ResourcesManager$ApkAssetsSupplier;)Landroid/content/res/Resources; HSPLandroid/app/ResourcesManager;->createResourcesForActivityLocked(Landroid/os/IBinder;Landroid/content/res/Configuration;Ljava/lang/Integer;Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources; HSPLandroid/app/ResourcesManager;->createResourcesImpl(Landroid/content/res/ResourcesKey;Landroid/app/ResourcesManager$ApkAssetsSupplier;)Landroid/content/res/ResourcesImpl; -HSPLandroid/app/ResourcesManager;->createResourcesLocked(Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources; +HSPLandroid/app/ResourcesManager;->createResourcesLocked(Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;+]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/app/ResourcesManager;->extractApkKeys(Landroid/content/res/ResourcesKey;)Ljava/util/ArrayList;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/app/ResourcesManager;->findKeyForResourceImplLocked(Landroid/content/res/ResourcesImpl;)Landroid/content/res/ResourcesKey; HSPLandroid/app/ResourcesManager;->findOrCreateResourcesImplForKeyLocked(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl; @@ -2561,7 +2565,7 @@ HSPLandroid/app/ResourcesManager;->initializeApplicationPaths(Ljava/lang/String; HSPLandroid/app/ResourcesManager;->isSameResourcesOverrideConfig(Landroid/os/IBinder;Landroid/content/res/Configuration;)Z HSPLandroid/app/ResourcesManager;->lambda$cleanupReferences$1(Ljava/util/function/Function;Ljava/util/HashSet;Ljava/lang/Object;)Z HSPLandroid/app/ResourcesManager;->lambda$createResourcesForActivityLocked$0(Landroid/app/ResourcesManager$ActivityResource;)Ljava/lang/ref/WeakReference; -HSPLandroid/app/ResourcesManager;->loadApkAssets(Landroid/app/ResourcesManager$ApkKey;)Landroid/content/res/ApkAssets;+]Landroid/content/res/ApkAssets;Landroid/content/res/ApkAssets;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/app/ResourcesManager;->loadApkAssets(Landroid/app/ResourcesManager$ApkKey;)Landroid/content/res/ApkAssets; HSPLandroid/app/ResourcesManager;->overlayPathToIdmapPath(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/app/ResourcesManager;->rebaseActivityOverrideConfig(Landroid/app/ResourcesManager$ActivityResource;Landroid/content/res/Configuration;I)Landroid/content/res/ResourcesKey; HSPLandroid/app/ResourcesManager;->rebaseKeyForActivity(Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Z)V @@ -2613,7 +2617,7 @@ HSPLandroid/app/SharedPreferencesImpl$EditorImpl;-><init>(Landroid/app/SharedPre HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->apply()V HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->clear()Landroid/content/SharedPreferences$Editor; HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->commit()Z -HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->commitToMemory()Landroid/app/SharedPreferencesImpl$MemoryCommitResult; +HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->commitToMemory()Landroid/app/SharedPreferencesImpl$MemoryCommitResult;+]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/lang/Object;Ljava/lang/String;,Ljava/lang/Boolean;,Ljava/lang/Long;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/Set;Ljava/util/HashMap$EntrySet; HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->notifyListeners(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;)V HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor; HSPLandroid/app/SharedPreferencesImpl$EditorImpl;->putFloat(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor; @@ -2658,7 +2662,7 @@ HSPLandroid/app/SharedPreferencesImpl;->registerOnSharedPreferenceChangeListener HSPLandroid/app/SharedPreferencesImpl;->startLoadFromDisk()V HSPLandroid/app/SharedPreferencesImpl;->startReloadIfChangedUnexpectedly()V HSPLandroid/app/SharedPreferencesImpl;->unregisterOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V -HSPLandroid/app/SharedPreferencesImpl;->writeToFile(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V +HSPLandroid/app/SharedPreferencesImpl;->writeToFile(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V+]Ljava/io/File;Ljava/io/File;]Lcom/android/internal/util/ExponentiallyBucketedHistogram;Lcom/android/internal/util/ExponentiallyBucketedHistogram;]Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;]Ljava/io/FileOutputStream;Ljava/io/FileOutputStream; HSPLandroid/app/StackTrace;-><init>(Ljava/lang/String;)V HSPLandroid/app/StatusBarManager;-><init>(Landroid/content/Context;)V HSPLandroid/app/SyncNotedAppOp$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/SyncNotedAppOp; @@ -2743,9 +2747,11 @@ HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager; HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Landroid/os/storage/StorageManager; HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2764,6 +2770,7 @@ HSPLandroid/app/SystemServiceRegistry$56;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$57;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$58;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$59;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$60;->createService(Landroid/app/ContextImpl;)Landroid/view/WindowManager; HSPLandroid/app/SystemServiceRegistry$60;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$61;->createService(Landroid/app/ContextImpl;)Landroid/os/UserManager; HSPLandroid/app/SystemServiceRegistry$61;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2774,6 +2781,7 @@ HSPLandroid/app/SystemServiceRegistry$64;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$65;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$66;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$67;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$68;->createService(Landroid/app/ContextImpl;)Landroid/companion/virtual/VirtualDeviceManager;+]Landroid/app/ContextImpl;Landroid/app/ContextImpl;]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLandroid/app/SystemServiceRegistry$68;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$71;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$74;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; @@ -2802,7 +2810,7 @@ HSPLandroid/app/SystemServiceRegistry$97;->createService(Landroid/app/ContextImp HSPLandroid/app/SystemServiceRegistry$98;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$99;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$9;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object; -HSPLandroid/app/SystemServiceRegistry$CachedServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object; +HSPLandroid/app/SystemServiceRegistry$CachedServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;+]Landroid/app/SystemServiceRegistry$CachedServiceFetcher;megamorphic_types]Ljava/lang/Object;[Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry$StaticServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry;->createServiceCache()[Ljava/lang/Object; HSPLandroid/app/SystemServiceRegistry;->getSystemService(Landroid/app/ContextImpl;Ljava/lang/String;)Ljava/lang/Object;+]Landroid/app/SystemServiceRegistry$ServiceFetcher;megamorphic_types @@ -2857,6 +2865,7 @@ HSPLandroid/app/WindowConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Lja HSPLandroid/app/WindowConfiguration;-><init>()V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/app/WindowConfiguration;-><init>(Landroid/os/Parcel;)V HSPLandroid/app/WindowConfiguration;->activityTypeToString(I)Ljava/lang/String; +HSPLandroid/app/WindowConfiguration;->areConfigurationsEqualForDisplay(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/app/WindowConfiguration;->canReceiveKeys()Z HSPLandroid/app/WindowConfiguration;->compareTo(Landroid/app/WindowConfiguration;)I HSPLandroid/app/WindowConfiguration;->diff(Landroid/app/WindowConfiguration;Z)J+]Landroid/graphics/Rect;Landroid/graphics/Rect; @@ -2868,17 +2877,19 @@ HSPLandroid/app/WindowConfiguration;->getDisplayRotation()I HSPLandroid/app/WindowConfiguration;->getMaxBounds()Landroid/graphics/Rect; HSPLandroid/app/WindowConfiguration;->getRotation()I HSPLandroid/app/WindowConfiguration;->getWindowingMode()I +HSPLandroid/app/WindowConfiguration;->hasWindowDecorCaption()Z HSPLandroid/app/WindowConfiguration;->hasWindowShadow()Z HSPLandroid/app/WindowConfiguration;->inMultiWindowMode(I)Z HSPLandroid/app/WindowConfiguration;->isFloating(I)Z -HSPLandroid/app/WindowConfiguration;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/WindowConfiguration;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/app/WindowConfiguration;->setActivityType(I)V HSPLandroid/app/WindowConfiguration;->setAlwaysOnTop(I)V -HSPLandroid/app/WindowConfiguration;->setAppBounds(IIII)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; -HSPLandroid/app/WindowConfiguration;->setAppBounds(Landroid/graphics/Rect;)V -HSPLandroid/app/WindowConfiguration;->setBounds(Landroid/graphics/Rect;)V +HSPLandroid/app/WindowConfiguration;->setAppBounds(IIII)V +HSPLandroid/app/WindowConfiguration;->setAppBounds(Landroid/graphics/Rect;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HSPLandroid/app/WindowConfiguration;->setBounds(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/app/WindowConfiguration;->setDisplayRotation(I)V -HSPLandroid/app/WindowConfiguration;->setMaxBounds(Landroid/graphics/Rect;)V +HSPLandroid/app/WindowConfiguration;->setDisplayWindowingMode(I)V +HSPLandroid/app/WindowConfiguration;->setMaxBounds(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/app/WindowConfiguration;->setRotation(I)V HSPLandroid/app/WindowConfiguration;->setTo(Landroid/app/WindowConfiguration;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/app/WindowConfiguration;->setTo(Landroid/app/WindowConfiguration;I)V @@ -2887,7 +2898,7 @@ HSPLandroid/app/WindowConfiguration;->setWindowingMode(I)V HSPLandroid/app/WindowConfiguration;->tasksAreFloating()Z HSPLandroid/app/WindowConfiguration;->toString()Ljava/lang/String; HSPLandroid/app/WindowConfiguration;->unset()V -HSPLandroid/app/WindowConfiguration;->updateFrom(Landroid/app/WindowConfiguration;)I+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/app/WindowConfiguration;->updateFrom(Landroid/app/WindowConfiguration;)I+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/app/WindowConfiguration;->windowingModeToString(I)Ljava/lang/String; HSPLandroid/app/WindowConfiguration;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/app/admin/DevicePolicyManager$$ExternalSyntheticLambda5;-><init>(Landroid/app/admin/DevicePolicyManager;)V @@ -3153,10 +3164,10 @@ HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Landroid/app/job/J HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/app/job/JobInfo$TriggerContentUri;-><init>(Landroid/net/Uri;I)V HSPLandroid/app/job/JobInfo$TriggerContentUri;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/app/job/JobInfo;-><init>(Landroid/app/job/JobInfo$Builder;)V +HSPLandroid/app/job/JobInfo;-><init>(Landroid/app/job/JobInfo$Builder;)V+]Landroid/os/PersistableBundle;Landroid/os/PersistableBundle;]Landroid/os/Bundle;Landroid/os/Bundle; HSPLandroid/app/job/JobInfo;-><init>(Landroid/app/job/JobInfo$Builder;Landroid/app/job/JobInfo-IA;)V -HSPLandroid/app/job/JobInfo;-><init>(Landroid/os/Parcel;)V -HSPLandroid/app/job/JobInfo;->enforceValidity(ZZZZ)V+]Landroid/content/ComponentName;Landroid/content/ComponentName;]Landroid/net/NetworkRequest;Landroid/net/NetworkRequest;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/app/job/JobInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/net/NetworkRequest$1;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/app/job/JobInfo;->enforceValidity(ZZZZ)V+]Landroid/net/NetworkRequest;Landroid/net/NetworkRequest;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLandroid/app/job/JobInfo;->getExtras()Landroid/os/PersistableBundle; HSPLandroid/app/job/JobInfo;->getFlags()I HSPLandroid/app/job/JobInfo;->getFlexMillis()J @@ -3175,7 +3186,7 @@ HSPLandroid/app/job/JobInfo;->isPersisted()Z HSPLandroid/app/job/JobInfo;->isRequireCharging()Z HSPLandroid/app/job/JobInfo;->isRequireDeviceIdle()Z HSPLandroid/app/job/JobInfo;->validateTraceTag(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/app/job/JobInfo;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/app/job/JobInfo;->writeToParcel(Landroid/os/Parcel;I)V+]Landroid/net/NetworkRequest;Landroid/net/NetworkRequest;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobParameters; HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/app/job/JobParameters;-><init>(Landroid/os/Parcel;)V @@ -3263,13 +3274,14 @@ HSPLandroid/app/servertransaction/ActivityResultItem;->getPostExecutionState()I HSPLandroid/app/servertransaction/ActivityTransactionItem;-><init>()V HSPLandroid/app/servertransaction/ClientTransaction$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ClientTransaction; HSPLandroid/app/servertransaction/ClientTransaction$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/app/servertransaction/ClientTransaction;-><init>(Landroid/os/Parcel;)V+]Landroid/app/servertransaction/ClientTransactionItem;megamorphic_types]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;Landroid/app/servertransaction/ClientTransaction;]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/app/servertransaction/ClientTransaction;-><init>(Landroid/os/Parcel;)V HSPLandroid/app/servertransaction/ClientTransaction;-><init>(Landroid/os/Parcel;Landroid/app/servertransaction/ClientTransaction-IA;)V HSPLandroid/app/servertransaction/ClientTransaction;->getCallbacks()Ljava/util/List; HSPLandroid/app/servertransaction/ClientTransaction;->getLifecycleStateRequest()Landroid/app/servertransaction/ActivityLifecycleItem; -HSPLandroid/app/servertransaction/ClientTransaction;->preExecute(Landroid/app/ClientTransactionHandler;)V+]Landroid/app/servertransaction/ClientTransactionItem;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/app/servertransaction/ClientTransaction;->preExecute(Landroid/app/ClientTransactionHandler;)V HSPLandroid/app/servertransaction/ClientTransactionItem;-><init>()V HSPLandroid/app/servertransaction/ClientTransactionItem;->getPostExecutionState()I +HSPLandroid/app/servertransaction/ClientTransactionItem;->isActivityLifecycleItem()Z HSPLandroid/app/servertransaction/ClientTransactionItem;->shouldHaveDefinedPreExecutionState()Z HSPLandroid/app/servertransaction/ConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ConfigurationChangeItem; HSPLandroid/app/servertransaction/ConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -3330,11 +3342,13 @@ HSPLandroid/app/servertransaction/TransactionExecutor;->cycleToPath(Landroid/app HSPLandroid/app/servertransaction/TransactionExecutor;->execute(Landroid/app/servertransaction/ClientTransaction;)V HSPLandroid/app/servertransaction/TransactionExecutor;->executeCallbacks(Landroid/app/servertransaction/ClientTransaction;)V HSPLandroid/app/servertransaction/TransactionExecutor;->executeLifecycleState(Landroid/app/servertransaction/ClientTransaction;)V -HSPLandroid/app/servertransaction/TransactionExecutor;->performLifecycleSequence(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/util/IntArray;Landroid/app/servertransaction/ClientTransaction;)V+]Landroid/app/ClientTransactionHandler;Landroid/app/ActivityThread;]Landroid/util/IntArray;Landroid/util/IntArray; +HSPLandroid/app/servertransaction/TransactionExecutor;->executeNonLifecycleItem(Landroid/app/servertransaction/ClientTransaction;Landroid/app/servertransaction/ClientTransactionItem;Z)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/app/servertransaction/TransactionExecutorHelper;Landroid/app/servertransaction/TransactionExecutorHelper;]Landroid/app/ClientTransactionHandler;Landroid/app/ActivityThread;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/app/servertransaction/ClientTransactionItem;megamorphic_types]Landroid/content/Context;missing_types]Ljava/util/Map;Ljava/util/Collections$SynchronizedMap;]Landroid/app/servertransaction/TransactionExecutor;Landroid/app/servertransaction/TransactionExecutor; +HSPLandroid/app/servertransaction/TransactionExecutor;->executeTransactionItems(Landroid/app/servertransaction/ClientTransaction;)V+]Landroid/app/servertransaction/ClientTransaction;Landroid/app/servertransaction/ClientTransaction;]Ljava/util/List;Ljava/util/ArrayList;]Landroid/app/servertransaction/ClientTransactionItem;megamorphic_types +HSPLandroid/app/servertransaction/TransactionExecutor;->performLifecycleSequence(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/util/IntArray;Landroid/app/servertransaction/ClientTransaction;)V HSPLandroid/app/servertransaction/TransactionExecutorHelper;-><init>()V HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getClosestOfStates(Landroid/app/ActivityThread$ActivityClientRecord;[I)I HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getClosestPreExecutionState(Landroid/app/ActivityThread$ActivityClientRecord;I)I -HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getLifecyclePath(IIZ)Landroid/util/IntArray;+]Landroid/util/IntArray;Landroid/util/IntArray; +HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getLifecyclePath(IIZ)Landroid/util/IntArray; HSPLandroid/app/servertransaction/TransactionExecutorHelper;->lastCallbackRequestingState(Landroid/app/servertransaction/ClientTransaction;)I HSPLandroid/app/slice/ISliceManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri; @@ -3426,10 +3440,10 @@ HSPLandroid/app/usage/UsageEvents$Event;->getTimeStamp()J HSPLandroid/app/usage/UsageEvents;-><init>(Landroid/os/Parcel;)V HSPLandroid/app/usage/UsageEvents;->getNextEvent(Landroid/app/usage/UsageEvents$Event;)Z HSPLandroid/app/usage/UsageEvents;->hasNextEvent()Z -HSPLandroid/app/usage/UsageEvents;->readEventFromParcel(Landroid/os/Parcel;Landroid/app/usage/UsageEvents$Event;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;Landroid/content/res/Configuration$1; -HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/UsageStats;+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; -HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/app/usage/UsageStats$1;Landroid/app/usage/UsageStats$1; -HSPLandroid/app/usage/UsageStats$1;->readBundleToEventMap(Landroid/os/Bundle;Landroid/util/ArrayMap;)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; +HSPLandroid/app/usage/UsageEvents;->readEventFromParcel(Landroid/os/Parcel;Landroid/app/usage/UsageEvents$Event;)V +HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/UsageStats;+]Landroid/os/Bundle;Landroid/os/Bundle;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; +HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/app/usage/UsageStats$1;->readBundleToEventMap(Landroid/os/Bundle;Landroid/util/ArrayMap;)V HSPLandroid/app/usage/UsageStats;-><init>()V HSPLandroid/app/usage/UsageStats;->getPackageName()Ljava/lang/String; HSPLandroid/app/usage/UsageStats;->update(Ljava/lang/String;JII)V @@ -3452,7 +3466,7 @@ HSPLandroid/appwidget/AppWidgetProvider;-><init>()V HSPLandroid/appwidget/AppWidgetProvider;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V HSPLandroid/appwidget/AppWidgetProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/appwidget/AppWidgetProviderInfo; HSPLandroid/appwidget/AppWidgetProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/appwidget/AppWidgetProviderInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/appwidget/AppWidgetProviderInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/appwidget/AppWidgetProviderInfo;->getProfile()Landroid/os/UserHandle; HSPLandroid/appwidget/AppWidgetProviderInfo;->updateDimensions(Landroid/util/DisplayMetrics;)V HSPLandroid/appwidget/AppWidgetProviderInfo;->writeToParcel(Landroid/os/Parcel;I)V @@ -3463,6 +3477,10 @@ HSPLandroid/companion/virtual/IVirtualDeviceManager$Stub$Proxy;->getDeviceIdForD HSPLandroid/companion/virtual/IVirtualDeviceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/companion/virtual/IVirtualDeviceManager; HSPLandroid/companion/virtual/VirtualDeviceManager;-><init>(Landroid/companion/virtual/IVirtualDeviceManager;Landroid/content/Context;)V HSPLandroid/companion/virtual/VirtualDeviceManager;->getDeviceIdForDisplayId(I)I +HSPLandroid/companion/virtual/flags/FeatureFlagsImpl;-><init>()V +HSPLandroid/companion/virtual/flags/FeatureFlagsImpl;->enableNativeVdm()Z +HSPLandroid/companion/virtual/flags/Flags;-><clinit>()V +HSPLandroid/companion/virtual/flags/Flags;->enableNativeVdm()Z+]Landroid/companion/virtual/flags/FeatureFlags;Landroid/companion/virtual/flags/FeatureFlagsImpl; HSPLandroid/compat/Compatibility$BehaviorChangeDelegate;->isChangeEnabled(J)Z HSPLandroid/compat/Compatibility;->isChangeEnabled(J)Z HSPLandroid/compat/Compatibility;->setBehaviorChangeDelegate(Landroid/compat/Compatibility$BehaviorChangeDelegate;)V @@ -3492,6 +3510,7 @@ HSPLandroid/content/AttributionSource$ScopedParcelState;->close()V HSPLandroid/content/AttributionSource$ScopedParcelState;->getParcel()Landroid/os/Parcel; HSPLandroid/content/AttributionSource;-><clinit>()V HSPLandroid/content/AttributionSource;-><init>(IILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;[Ljava/lang/String;ILandroid/content/AttributionSource;)V +HSPLandroid/content/AttributionSource;-><init>(IILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;[Ljava/lang/String;Landroid/content/AttributionSource;)V HSPLandroid/content/AttributionSource;-><init>(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;ILandroid/content/AttributionSource;)V HSPLandroid/content/AttributionSource;-><init>(ILjava/lang/String;Ljava/lang/String;)V HSPLandroid/content/AttributionSource;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/os/IBinder;)V @@ -3603,20 +3622,22 @@ HSPLandroid/content/ComponentName;->getClassName()Ljava/lang/String; HSPLandroid/content/ComponentName;->getPackageName()Ljava/lang/String; HSPLandroid/content/ComponentName;->getShortClassName()Ljava/lang/String; HSPLandroid/content/ComponentName;->hashCode()I -HSPLandroid/content/ComponentName;->readFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/ComponentName;->readFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName; HSPLandroid/content/ComponentName;->toShortString()Ljava/lang/String; HSPLandroid/content/ComponentName;->toString()Ljava/lang/String; -HSPLandroid/content/ComponentName;->unflattenFromString(Ljava/lang/String;)Landroid/content/ComponentName; +HSPLandroid/content/ComponentName;->unflattenFromString(Ljava/lang/String;)Landroid/content/ComponentName;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String; HSPLandroid/content/ComponentName;->writeToParcel(Landroid/content/ComponentName;Landroid/os/Parcel;)V HSPLandroid/content/ComponentName;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions; HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda1;-><init>()V HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda1;->apply(I)Ljava/lang/Object; +HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda2;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda2;->accept(Ljava/lang/Object;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->-$$Nest$smcreateFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions$ContentProtectionOptions; HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;-><init>(ZILjava/util/List;Ljava/util/List;I)V HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions$ContentProtectionOptions; -HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->createGroupsFromParcel(Landroid/os/Parcel;)Ljava/util/List;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/stream/IntStream;Ljava/util/stream/IntPipeline$Head;]Ljava/util/stream/Stream;Ljava/util/stream/IntPipeline$4;,Ljava/util/stream/ReferencePipeline$11; +HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->createGroupsFromParcel(Landroid/os/Parcel;)Ljava/util/List;+]Ljava/util/stream/Stream;Ljava/util/stream/IntPipeline$4;,Ljava/util/stream/ReferencePipeline$11;,Ljava/util/stream/ReferencePipeline$15;,Ljava/util/stream/IntPipeline$1;]Ljava/util/stream/IntStream;Ljava/util/stream/IntPipeline$Head;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->lambda$createGroupsFromParcel$0(I)Ljava/util/ArrayList; HSPLandroid/content/ContentCaptureOptions$ContentProtectionOptions;->writeToParcel(Landroid/os/Parcel;)V HSPLandroid/content/ContentCaptureOptions;-><init>(IIIIILandroid/util/ArraySet;)V @@ -3651,6 +3672,7 @@ HSPLandroid/content/ContentProvider;->checkUser(IILandroid/content/Context;)Z HSPLandroid/content/ContentProvider;->clearCallingIdentity()Landroid/content/ContentProvider$CallingIdentity; HSPLandroid/content/ContentProvider;->coerceToLocalContentProvider(Landroid/content/IContentProvider;)Landroid/content/ContentProvider; HSPLandroid/content/ContentProvider;->delete(Landroid/net/Uri;Landroid/os/Bundle;)I +HSPLandroid/content/ContentProvider;->deniedAccessSystemUserOnlyProvider(IZ)Z HSPLandroid/content/ContentProvider;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V HSPLandroid/content/ContentProvider;->enforceReadPermissionInner(Landroid/net/Uri;Landroid/content/AttributionSource;)I HSPLandroid/content/ContentProvider;->enforceWritePermissionInner(Landroid/net/Uri;Landroid/content/AttributionSource;)I @@ -3727,7 +3749,7 @@ HSPLandroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/Stri HSPLandroid/content/ContentProviderOperation$Builder;->withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder; HSPLandroid/content/ContentProviderOperation;-><init>(Landroid/content/ContentProviderOperation$Builder;)V HSPLandroid/content/ContentProviderOperation;->apply(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult; -HSPLandroid/content/ContentProviderOperation;->applyInternal(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult; +HSPLandroid/content/ContentProviderOperation;->applyInternal(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;+]Landroid/content/ContentProviderOperation;Landroid/content/ContentProviderOperation; HSPLandroid/content/ContentProviderOperation;->getUri()Landroid/net/Uri; HSPLandroid/content/ContentProviderOperation;->isInsert()Z HSPLandroid/content/ContentProviderOperation;->isReadOperation()Z @@ -3739,7 +3761,7 @@ HSPLandroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landr HSPLandroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder; HSPLandroid/content/ContentProviderOperation;->resolveExtrasBackReferences([Landroid/content/ContentProviderResult;I)Landroid/os/Bundle; HSPLandroid/content/ContentProviderOperation;->resolveSelectionArgsBackReferences([Landroid/content/ContentProviderResult;I)[Ljava/lang/String; -HSPLandroid/content/ContentProviderOperation;->resolveValueBackReferences([Landroid/content/ContentProviderResult;I)Landroid/content/ContentValues; +HSPLandroid/content/ContentProviderOperation;->resolveValueBackReferences([Landroid/content/ContentProviderResult;I)Landroid/content/ContentValues;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/ContentValues;Landroid/content/ContentValues; HSPLandroid/content/ContentProviderOperation;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/ContentProviderProxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/content/ContentProviderProxy;->asBinder()Landroid/os/IBinder; @@ -3748,7 +3770,7 @@ HSPLandroid/content/ContentProviderProxy;->createCancellationSignal()Landroid/os HSPLandroid/content/ContentProviderProxy;->delete(Landroid/content/AttributionSource;Landroid/net/Uri;Landroid/os/Bundle;)I HSPLandroid/content/ContentProviderProxy;->insert(Landroid/content/AttributionSource;Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri; HSPLandroid/content/ContentProviderProxy;->openTypedAssetFile(Landroid/content/AttributionSource;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor; -HSPLandroid/content/ContentProviderProxy;->query(Landroid/content/AttributionSource;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor; +HSPLandroid/content/ContentProviderProxy;->query(Landroid/content/AttributionSource;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;+]Landroid/content/AttributionSource;Landroid/content/AttributionSource;]Landroid/os/Parcelable$Creator;Landroid/database/BulkCursorDescriptor$1;]Landroid/database/IBulkCursor;Landroid/database/BulkCursorProxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/ICancellationSignal;Landroid/os/ICancellationSignal$Stub$Proxy;]Landroid/database/BulkCursorToCursorAdaptor;Landroid/database/BulkCursorToCursorAdaptor;]Landroid/database/IContentObserver;Landroid/database/ContentObserver$Transport;]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri;,Landroid/net/Uri$StringUri; HSPLandroid/content/ContentProviderProxy;->update(Landroid/content/AttributionSource;Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I HSPLandroid/content/ContentProviderResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentProviderResult; HSPLandroid/content/ContentProviderResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -3865,7 +3887,7 @@ HSPLandroid/content/ContentValues;->putNull(Ljava/lang/String;)V HSPLandroid/content/ContentValues;->putObject(Ljava/lang/String;Ljava/lang/Object;)V HSPLandroid/content/ContentValues;->remove(Ljava/lang/String;)V HSPLandroid/content/ContentValues;->size()I -HSPLandroid/content/ContentValues;->toString()Ljava/lang/String;+]Landroid/content/ContentValues;Landroid/content/ContentValues;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; +HSPLandroid/content/ContentValues;->toString()Ljava/lang/String; HSPLandroid/content/ContentValues;->valueSet()Ljava/util/Set; HSPLandroid/content/ContentValues;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/Context;-><init>()V @@ -3879,11 +3901,11 @@ HSPLandroid/content/Context;->getString(I[Ljava/lang/Object;)Ljava/lang/String; HSPLandroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/content/Context;->getText(I)Ljava/lang/CharSequence; HSPLandroid/content/Context;->getToken(Landroid/content/Context;)Landroid/os/IBinder; -HSPLandroid/content/Context;->isAutofillCompatibilityEnabled()Z+]Landroid/content/Context;missing_types -HSPLandroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;+]Landroid/content/Context;missing_types]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme; -HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme; -HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/Context;missing_types]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme; -HSPLandroid/content/Context;->obtainStyledAttributes([I)Landroid/content/res/TypedArray;+]Landroid/content/Context;missing_types]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme; +HSPLandroid/content/Context;->isAutofillCompatibilityEnabled()Z +HSPLandroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray; +HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; +HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/Context;missing_types +HSPLandroid/content/Context;->obtainStyledAttributes([I)Landroid/content/res/TypedArray; HSPLandroid/content/Context;->registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V HSPLandroid/content/Context;->unregisterComponentCallbacks(Landroid/content/ComponentCallbacks;)V HSPLandroid/content/ContextParams$Builder;-><init>()V @@ -3930,25 +3952,25 @@ HSPLandroid/content/ContextWrapper;->enforceCallingPermission(Ljava/lang/String; HSPLandroid/content/ContextWrapper;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V HSPLandroid/content/ContextWrapper;->fileList()[Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getActivityToken()Landroid/os/IBinder; -HSPLandroid/content/ContextWrapper;->getApplicationContext()Landroid/content/Context;+]Landroid/content/Context;missing_types +HSPLandroid/content/ContextWrapper;->getApplicationContext()Landroid/content/Context; HSPLandroid/content/ContextWrapper;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getAssets()Landroid/content/res/AssetManager; HSPLandroid/content/ContextWrapper;->getAttributionSource()Landroid/content/AttributionSource; HSPLandroid/content/ContextWrapper;->getAttributionTag()Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient; -HSPLandroid/content/ContextWrapper;->getAutofillOptions()Landroid/content/AutofillOptions;+]Landroid/content/Context;missing_types +HSPLandroid/content/ContextWrapper;->getAutofillOptions()Landroid/content/AutofillOptions; HSPLandroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context; HSPLandroid/content/ContextWrapper;->getBasePackageName()Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getCacheDir()Ljava/io/File; HSPLandroid/content/ContextWrapper;->getClassLoader()Ljava/lang/ClassLoader; HSPLandroid/content/ContextWrapper;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions; -HSPLandroid/content/ContextWrapper;->getContentResolver()Landroid/content/ContentResolver; +HSPLandroid/content/ContextWrapper;->getContentResolver()Landroid/content/ContentResolver;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getDataDir()Ljava/io/File; HSPLandroid/content/ContextWrapper;->getDatabasePath(Ljava/lang/String;)Ljava/io/File; HSPLandroid/content/ContextWrapper;->getDeviceId()I HSPLandroid/content/ContextWrapper;->getDir(Ljava/lang/String;I)Ljava/io/File; HSPLandroid/content/ContextWrapper;->getDisplay()Landroid/view/Display; -HSPLandroid/content/ContextWrapper;->getDisplayId()I +HSPLandroid/content/ContextWrapper;->getDisplayId()I+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getDisplayNoVerify()Landroid/view/Display; HSPLandroid/content/ContextWrapper;->getExternalCacheDir()Ljava/io/File; HSPLandroid/content/ContextWrapper;->getExternalCacheDirs()[Ljava/io/File; @@ -3964,21 +3986,21 @@ HSPLandroid/content/ContextWrapper;->getNextAutofillId()I HSPLandroid/content/ContextWrapper;->getNoBackupFilesDir()Ljava/io/File; HSPLandroid/content/ContextWrapper;->getOpPackageName()Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getPackageCodePath()Ljava/lang/String; -HSPLandroid/content/ContextWrapper;->getPackageManager()Landroid/content/pm/PackageManager; +HSPLandroid/content/ContextWrapper;->getPackageManager()Landroid/content/pm/PackageManager;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getPackageName()Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getPackageResourcePath()Ljava/lang/String; HSPLandroid/content/ContextWrapper;->getResources()Landroid/content/res/Resources; -HSPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; +HSPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File; -HSPLandroid/content/ContextWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; +HSPLandroid/content/ContextWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getSystemServiceName(Ljava/lang/Class;)Ljava/lang/String;+]Landroid/content/Context;missing_types -HSPLandroid/content/ContextWrapper;->getTheme()Landroid/content/res/Resources$Theme; +HSPLandroid/content/ContextWrapper;->getTheme()Landroid/content/res/Resources$Theme;+]Landroid/content/Context;missing_types HSPLandroid/content/ContextWrapper;->getUser()Landroid/os/UserHandle; HSPLandroid/content/ContextWrapper;->getUserId()I HSPLandroid/content/ContextWrapper;->getWindowContextToken()Landroid/os/IBinder; HSPLandroid/content/ContextWrapper;->grantUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V HSPLandroid/content/ContextWrapper;->isDeviceProtectedStorage()Z -HSPLandroid/content/ContextWrapper;->isRestricted()Z+]Landroid/content/Context;missing_types +HSPLandroid/content/ContextWrapper;->isRestricted()Z HSPLandroid/content/ContextWrapper;->isUiContext()Z HSPLandroid/content/ContextWrapper;->openFileInput(Ljava/lang/String;)Ljava/io/FileInputStream; HSPLandroid/content/ContextWrapper;->openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream; @@ -4064,7 +4086,7 @@ HSPLandroid/content/Intent;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/Intent;-><init>(Ljava/lang/String;)V HSPLandroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V HSPLandroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;Landroid/content/Context;Ljava/lang/Class;)V -HSPLandroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;+]Ljava/lang/String;Ljava/lang/String;]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLandroid/content/Intent;->addFlags(I)Landroid/content/Intent; HSPLandroid/content/Intent;->cloneFilter()Landroid/content/Intent; HSPLandroid/content/Intent;->filterEquals(Landroid/content/Intent;)Z @@ -4129,8 +4151,8 @@ HSPLandroid/content/Intent;->putExtras(Landroid/content/Intent;)Landroid/content HSPLandroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent; HSPLandroid/content/Intent;->putParcelableArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent; HSPLandroid/content/Intent;->putStringArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent; -HSPLandroid/content/Intent;->readFromParcel(Landroid/os/Parcel;)V -HSPLandroid/content/Intent;->removeCategory(Ljava/lang/String;)V +HSPLandroid/content/Intent;->readFromParcel(Landroid/os/Parcel;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/os/Parcelable$Creator;Landroid/net/Uri$1;,Landroid/graphics/Rect$1;]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/content/Intent;Landroid/content/Intent; +HSPLandroid/content/Intent;->removeCategory(Ljava/lang/String;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet; HSPLandroid/content/Intent;->removeExtra(Ljava/lang/String;)V HSPLandroid/content/Intent;->replaceExtras(Landroid/os/Bundle;)Landroid/content/Intent; HSPLandroid/content/Intent;->resolveActivity(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName; @@ -4155,13 +4177,13 @@ HSPLandroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Inte HSPLandroid/content/Intent;->setSelector(Landroid/content/Intent;)V HSPLandroid/content/Intent;->setSourceBounds(Landroid/graphics/Rect;)V HSPLandroid/content/Intent;->setType(Ljava/lang/String;)Landroid/content/Intent; -HSPLandroid/content/Intent;->toShortString(Ljava/lang/StringBuilder;ZZZZ)V +HSPLandroid/content/Intent;->toShortString(Ljava/lang/StringBuilder;ZZZZ)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLandroid/content/Intent;->toString()Ljava/lang/String; HSPLandroid/content/Intent;->toString(Ljava/lang/StringBuilder;)V HSPLandroid/content/Intent;->toUri(I)Ljava/lang/String; HSPLandroid/content/Intent;->toUriFragment(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V HSPLandroid/content/Intent;->toUriInner(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V -HSPLandroid/content/Intent;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/content/Intent;->writeToParcel(Landroid/os/Parcel;I)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/IntentFilter$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V HSPLandroid/content/IntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/IntentFilter; HSPLandroid/content/IntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -4225,7 +4247,7 @@ HSPLandroid/content/IntentFilter;->setOrder(I)V HSPLandroid/content/IntentFilter;->setPriority(I)V HSPLandroid/content/IntentFilter;->setVisibilityToInstantApp(I)V HSPLandroid/content/IntentFilter;->typesIterator()Ljava/util/Iterator; -HSPLandroid/content/IntentFilter;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/content/IntentFilter;->writeToParcel(Landroid/os/Parcel;I)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Landroid/content/IntentFilter;Landroid/content/IntentFilter;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/IntentSender;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/LocusId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/LocusId; HSPLandroid/content/LocusId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -4301,7 +4323,7 @@ HSPLandroid/content/UriMatcher;-><init>(I)V HSPLandroid/content/UriMatcher;-><init>(ILjava/lang/String;)V HSPLandroid/content/UriMatcher;->addURI(Ljava/lang/String;Ljava/lang/String;I)V HSPLandroid/content/UriMatcher;->createChild(Ljava/lang/String;)Landroid/content/UriMatcher; -HSPLandroid/content/UriMatcher;->match(Landroid/net/Uri;)I +HSPLandroid/content/UriMatcher;->match(Landroid/net/Uri;)I+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/Object;Ljava/lang/String;]Ljava/util/List;Landroid/net/Uri$PathSegments;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri; HSPLandroid/content/om/OverlayInfo;->ensureValidState()V HSPLandroid/content/om/OverlayInfo;->isEnabled()Z HSPLandroid/content/pm/ActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ActivityInfo; @@ -4309,7 +4331,7 @@ HSPLandroid/content/pm/ActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Lja HSPLandroid/content/pm/ActivityInfo$1;->newArray(I)[Landroid/content/pm/ActivityInfo; HSPLandroid/content/pm/ActivityInfo$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/content/pm/ActivityInfo$WindowLayout;-><init>(Landroid/os/Parcel;)V -HSPLandroid/content/pm/ActivityInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Ljava/util/Set;Landroid/util/ArraySet; +HSPLandroid/content/pm/ActivityInfo;-><init>(Landroid/os/Parcel;)V+]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/Set;Landroid/util/ArraySet; HSPLandroid/content/pm/ActivityInfo;->activityInfoConfigNativeToJava(I)I HSPLandroid/content/pm/ActivityInfo;->getRealConfigChanged()I HSPLandroid/content/pm/ActivityInfo;->getThemeResource()I @@ -4328,7 +4350,7 @@ HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;) HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/ApplicationInfo;-><init>()V HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/content/pm/ApplicationInfo;)V -HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/os/Parcel;Landroid/os/Parcel;]Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Ljava/util/Set;Ljava/util/Collections$EmptySet; +HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;)V+]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/Set;Ljava/util/Collections$EmptySet; HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/ApplicationInfo-IA;)V HSPLandroid/content/pm/ApplicationInfo;->getAllApkPaths()[Ljava/lang/String; HSPLandroid/content/pm/ApplicationInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; @@ -4365,16 +4387,16 @@ HSPLandroid/content/pm/ApplicationInfo;->setSplitCodePaths([Ljava/lang/String;)V HSPLandroid/content/pm/ApplicationInfo;->setSplitResourcePaths([Ljava/lang/String;)V HSPLandroid/content/pm/ApplicationInfo;->setVersionCode(J)V HSPLandroid/content/pm/ApplicationInfo;->toString()Ljava/lang/String; -HSPLandroid/content/pm/ApplicationInfo;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/content/pm/ApplicationInfo;->writeToParcel(Landroid/os/Parcel;I)V+]Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;Lcom/android/internal/util/Parcelling$BuiltIn$ForStringSet;]Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;Lcom/android/internal/util/Parcelling$BuiltIn$ForBoolean;]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/UUID;Ljava/util/UUID; HSPLandroid/content/pm/Attribution$1;-><init>()V HSPLandroid/content/pm/Attribution;-><clinit>()V HSPLandroid/content/pm/BaseParceledListSlice$1;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z -HSPLandroid/content/pm/BaseParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V +HSPLandroid/content/pm/BaseParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V+]Landroid/content/pm/BaseParceledListSlice;Landroid/content/pm/ParceledListSlice;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/BaseParceledListSlice;-><init>(Ljava/util/List;)V HSPLandroid/content/pm/BaseParceledListSlice;->getList()Ljava/util/List; HSPLandroid/content/pm/BaseParceledListSlice;->readCreator(Landroid/os/Parcelable$Creator;Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object; -HSPLandroid/content/pm/BaseParceledListSlice;->readVerifyAndAddElement(Landroid/os/Parcelable$Creator;Landroid/os/Parcel;Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class; -HSPLandroid/content/pm/BaseParceledListSlice;->verifySameType(Ljava/lang/Class;Ljava/lang/Class;)V+]Ljava/lang/Object;Ljava/lang/Class; +HSPLandroid/content/pm/BaseParceledListSlice;->readVerifyAndAddElement(Landroid/os/Parcelable$Creator;Landroid/os/Parcel;Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;+]Ljava/lang/Object;megamorphic_types]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/content/pm/BaseParceledListSlice;->verifySameType(Ljava/lang/Class;Ljava/lang/Class;)V HSPLandroid/content/pm/BaseParceledListSlice;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/pm/Checksum$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/Checksum; HSPLandroid/content/pm/Checksum$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -4383,12 +4405,12 @@ HSPLandroid/content/pm/Checksum;->getType()I HSPLandroid/content/pm/Checksum;->getValue()[B HSPLandroid/content/pm/ComponentInfo;-><init>()V HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/content/pm/ComponentInfo;)V -HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/content/pm/ApplicationInfo$1;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/ComponentInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo; HSPLandroid/content/pm/ComponentInfo;->getComponentName()Landroid/content/ComponentName; HSPLandroid/content/pm/ComponentInfo;->getIconResource()I HSPLandroid/content/pm/ComponentInfo;->isEnabled()Z -HSPLandroid/content/pm/ComponentInfo;->loadUnsafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence; +HSPLandroid/content/pm/ComponentInfo;->loadUnsafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;+]Landroid/content/pm/PackageManager;Landroid/app/ApplicationPackageManager; HSPLandroid/content/pm/ComponentInfo;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/pm/ConfigurationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ConfigurationInfo; HSPLandroid/content/pm/ConfigurationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -4397,9 +4419,13 @@ HSPLandroid/content/pm/CrossProfileApps;-><init>(Landroid/content/Context;Landro HSPLandroid/content/pm/CrossProfileApps;->getTargetUserProfiles()Ljava/util/List; HSPLandroid/content/pm/FallbackCategoryProvider;->getFallbackCategory(Ljava/lang/String;)I HSPLandroid/content/pm/FallbackCategoryProvider;->loadFallbacks()V +HSPLandroid/content/pm/FeatureFlagsImpl;-><init>()V +HSPLandroid/content/pm/FeatureFlagsImpl;->relativeReferenceIntentFilters()Z HSPLandroid/content/pm/FeatureInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/FeatureInfo; HSPLandroid/content/pm/FeatureInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/FeatureInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/Flags;-><clinit>()V +HSPLandroid/content/pm/Flags;->relativeReferenceIntentFilters()Z+]Landroid/content/pm/FeatureFlags;Landroid/content/pm/FeatureFlagsImpl; HSPLandroid/content/pm/ICrossProfileApps$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/content/pm/ICrossProfileApps$Stub$Proxy;->getTargetUserProfiles(Ljava/lang/String;)Ljava/util/List; HSPLandroid/content/pm/ICrossProfileApps$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/ICrossProfileApps; @@ -4421,15 +4447,15 @@ HSPLandroid/content/pm/IPackageManager$Stub$Proxy;-><init>(Landroid/os/IBinder;) HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getActivityInfo(Landroid/content/ComponentName;JI)Landroid/content/pm/ActivityInfo; -HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationEnabledSetting(Ljava/lang/String;I)I+]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationInfo(Ljava/lang/String;JI)Landroid/content/pm/ApplicationInfo;+]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationEnabledSetting(Ljava/lang/String;I)I+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationInfo(Ljava/lang/String;JI)Landroid/content/pm/ApplicationInfo; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledApplications(JI)Landroid/content/pm/ParceledListSlice; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledPackages(JI)Landroid/content/pm/ParceledListSlice; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getNameForUid(I)Ljava/lang/String; -HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInfo(Ljava/lang/String;JI)Landroid/content/pm/PackageInfo;+]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInfo(Ljava/lang/String;JI)Landroid/content/pm/PackageInfo;+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInstaller()Landroid/content/pm/IPackageInstaller; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageUid(Ljava/lang/String;JI)I HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesForUid(I)[Ljava/lang/String; @@ -4447,7 +4473,7 @@ HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->lambda$notifyDexLoad$1(Landr HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyDexLoad(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)V HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyPackageUse(Ljava/lang/String;I)V HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyPackagesReplacedReceived([Ljava/lang/String;)V -HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice; +HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice;+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/content/pm/IPackageManager$Stub$Proxy;Landroid/content/pm/IPackageManager$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice; HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;JI)Landroid/content/pm/ParceledListSlice; @@ -4499,7 +4525,7 @@ HSPLandroid/content/pm/ModuleInfo;->getPackageName()Ljava/lang/String; HSPLandroid/content/pm/PackageInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInfo; HSPLandroid/content/pm/PackageInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/PackageInfo;-><init>()V -HSPLandroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;Landroid/content/pm/ApplicationInfo$1;,Landroid/content/pm/SigningInfo$1; +HSPLandroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/content/pm/ApplicationInfo$1;,Landroid/content/pm/SigningInfo$1;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/PackageInfo-IA;)V HSPLandroid/content/pm/PackageInfo;->composeLongVersionCode(II)J HSPLandroid/content/pm/PackageInfo;->getLongVersionCode()J @@ -4523,7 +4549,7 @@ HSPLandroid/content/pm/PackageInstaller;->getSessionInfo(I)Landroid/content/pm/P HSPLandroid/content/pm/PackageInstaller;->registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;Landroid/os/Handler;)V HSPLandroid/content/pm/PackageItemInfo;-><init>()V HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/content/pm/PackageItemInfo;)V -HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/text/TextUtils$1;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/PackageItemInfo;->forceSafeLabels()V HSPLandroid/content/pm/PackageItemInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable; HSPLandroid/content/pm/PackageItemInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence; @@ -4681,7 +4707,7 @@ HSPLandroid/content/pm/RegisteredServicesCache;->containsType(Ljava/util/ArrayLi HSPLandroid/content/pm/ResolveInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ResolveInfo; HSPLandroid/content/pm/ResolveInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/ResolveInfo;-><init>()V -HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/content/pm/ServiceInfo$1;,Landroid/content/pm/ActivityInfo$1;,Landroid/text/TextUtils$1;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/ResolveInfo-IA;)V HSPLandroid/content/pm/ResolveInfo;->getComponentInfo()Landroid/content/pm/ComponentInfo; HSPLandroid/content/pm/ResolveInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable; @@ -4694,8 +4720,8 @@ HSPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/content/pm/ServiceInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/pm/ServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SharedLibraryInfo; -HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class; +HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/content/pm/SharedLibraryInfo$1;Landroid/content/pm/SharedLibraryInfo$1; +HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Landroid/os/Parcel;Landroid/content/pm/SharedLibraryInfo-IA;)V HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;JILandroid/content/pm/VersionedPackage;Ljava/util/List;Ljava/util/List;Z)V HSPLandroid/content/pm/SharedLibraryInfo;->addDependency(Landroid/content/pm/SharedLibraryInfo;)V @@ -4705,7 +4731,7 @@ HSPLandroid/content/pm/SharedLibraryInfo;->getName()Ljava/lang/String; HSPLandroid/content/pm/SharedLibraryInfo;->getPath()Ljava/lang/String; HSPLandroid/content/pm/SharedLibraryInfo;->isNative()Z HSPLandroid/content/pm/SharedLibraryInfo;->isSdk()Z -HSPLandroid/content/pm/SharedLibraryInfo;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/content/pm/SharedLibraryInfo;->writeToParcel(Landroid/os/Parcel;I)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/ShortcutInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ShortcutInfo; HSPLandroid/content/pm/ShortcutInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/ShortcutInfo$Builder;-><init>(Landroid/content/Context;Ljava/lang/String;)V @@ -4718,7 +4744,7 @@ HSPLandroid/content/pm/ShortcutInfo$Builder;->setLongLabel(Ljava/lang/CharSequen HSPLandroid/content/pm/ShortcutInfo$Builder;->setLongLived(Z)Landroid/content/pm/ShortcutInfo$Builder; HSPLandroid/content/pm/ShortcutInfo$Builder;->setRank(I)Landroid/content/pm/ShortcutInfo$Builder; HSPLandroid/content/pm/ShortcutInfo$Builder;->setShortLabel(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder; -HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo$Builder;)V +HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo$Builder;)V+]Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo; HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/pm/ShortcutInfo;->addFlags(I)V HSPLandroid/content/pm/ShortcutInfo;->cloneCapabilityBindings(Ljava/util/Map;)Ljava/util/Map; @@ -4769,7 +4795,7 @@ HSPLandroid/content/pm/Signature$1;->createFromParcel(Landroid/os/Parcel;)Landro HSPLandroid/content/pm/Signature$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/content/pm/Signature$1;->newArray(I)[Landroid/content/pm/Signature; HSPLandroid/content/pm/Signature$1;->newArray(I)[Ljava/lang/Object; -HSPLandroid/content/pm/Signature;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/pm/Signature;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/pm/Signature;-><init>(Landroid/os/Parcel;Landroid/content/pm/Signature-IA;)V HSPLandroid/content/pm/Signature;-><init>(Ljava/lang/String;)V HSPLandroid/content/pm/Signature;-><init>([B)V @@ -4782,11 +4808,11 @@ HSPLandroid/content/pm/Signature;->toChars([C[I)[C HSPLandroid/content/pm/Signature;->toCharsString()Ljava/lang/String; HSPLandroid/content/pm/SigningDetails$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SigningDetails; HSPLandroid/content/pm/SigningDetails$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/content/pm/SigningDetails;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class; +HSPLandroid/content/pm/SigningDetails;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/SigningDetails;->getSignatures()[Landroid/content/pm/Signature; HSPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SigningInfo; HSPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/content/pm/SigningInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Landroid/content/pm/SigningDetails$1; +HSPLandroid/content/pm/SigningInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/pm/SigningInfo;->getApkContentsSigners()[Landroid/content/pm/Signature; HSPLandroid/content/pm/SigningInfo;->getSigningCertificateHistory()[Landroid/content/pm/Signature; HSPLandroid/content/pm/SigningInfo;->hasMultipleSigners()Z @@ -4796,7 +4822,7 @@ HSPLandroid/content/pm/StringParceledListSlice$1;->createFromParcel(Landroid/os/ HSPLandroid/content/pm/StringParceledListSlice;->getList()Ljava/util/List; HSPLandroid/content/pm/UserInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/UserInfo; HSPLandroid/content/pm/UserInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/content/pm/UserInfo;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/pm/UserInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/pm/UserInfo;->getUserHandle()Landroid/os/UserHandle; HSPLandroid/content/pm/UserInfo;->isAdmin()Z HSPLandroid/content/pm/UserInfo;->isEnabled()Z @@ -4815,8 +4841,8 @@ HSPLandroid/content/pm/UserPackage;->hashCode()I HSPLandroid/content/pm/UserPackage;->of(ILjava/lang/String;)Landroid/content/pm/UserPackage; HSPLandroid/content/pm/UserProperties;->isPresent(J)Z HSPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/VersionedPackage; -HSPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/content/pm/VersionedPackage;-><init>(Landroid/os/Parcel;)V +HSPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/content/pm/VersionedPackage$1;Landroid/content/pm/VersionedPackage$1; +HSPLandroid/content/pm/VersionedPackage;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/content/pm/VersionedPackage;-><init>(Landroid/os/Parcel;Landroid/content/pm/VersionedPackage-IA;)V HSPLandroid/content/pm/VersionedPackage;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/pm/dex/ArtManager;->getCurrentProfilePath(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String; @@ -4933,7 +4959,7 @@ HSPLandroid/content/res/AssetManager;->getResourceTypeName(I)Ljava/lang/String; HSPLandroid/content/res/AssetManager;->getResourceValue(IILandroid/util/TypedValue;Z)Z+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; HSPLandroid/content/res/AssetManager;->getSizeConfigurations()[Landroid/content/res/Configuration; HSPLandroid/content/res/AssetManager;->getSystem()Landroid/content/res/AssetManager; -HSPLandroid/content/res/AssetManager;->getThemeValue(JILandroid/util/TypedValue;Z)Z+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; +HSPLandroid/content/res/AssetManager;->getThemeValue(JILandroid/util/TypedValue;Z)Z HSPLandroid/content/res/AssetManager;->incRefsLocked(J)V HSPLandroid/content/res/AssetManager;->isUpToDate()Z HSPLandroid/content/res/AssetManager;->list(Ljava/lang/String;)[Ljava/lang/String; @@ -4972,13 +4998,13 @@ HSPLandroid/content/res/ColorStateList;->getChangingConfigurations()I HSPLandroid/content/res/ColorStateList;->getColorForState([II)I HSPLandroid/content/res/ColorStateList;->getConstantState()Landroid/content/res/ConstantState; HSPLandroid/content/res/ColorStateList;->getDefaultColor()I -HSPLandroid/content/res/ColorStateList;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/util/AttributeSet;Landroid/content/res/XmlBlock$Parser;]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/content/res/ColorStateList;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/content/res/ColorStateList;->isStateful()Z HSPLandroid/content/res/ColorStateList;->modulateColor(IFF)I HSPLandroid/content/res/ColorStateList;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; HSPLandroid/content/res/ColorStateList;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor; HSPLandroid/content/res/ColorStateList;->onColorsChanged()V -HSPLandroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList; HSPLandroid/content/res/ColorStateList;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/res/CompatibilityInfo$2;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/CompatibilityInfo; HSPLandroid/content/res/CompatibilityInfo$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -5010,11 +5036,11 @@ HSPLandroid/content/res/Configuration;-><init>(Landroid/os/Parcel;)V HSPLandroid/content/res/Configuration;-><init>(Landroid/os/Parcel;Landroid/content/res/Configuration-IA;)V HSPLandroid/content/res/Configuration;->compareTo(Landroid/content/res/Configuration;)I HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;)I -HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;ZZ)I+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/os/LocaleList;Landroid/os/LocaleList; +HSPLandroid/content/res/Configuration;->diff(Landroid/content/res/Configuration;ZZ)I HSPLandroid/content/res/Configuration;->diffPublicOnly(Landroid/content/res/Configuration;)I HSPLandroid/content/res/Configuration;->equals(Landroid/content/res/Configuration;)Z HSPLandroid/content/res/Configuration;->equals(Ljava/lang/Object;)Z -HSPLandroid/content/res/Configuration;->fixUpLocaleList()V+]Landroid/os/LocaleList;Landroid/os/LocaleList;]Ljava/lang/Object;Ljava/util/Locale; +HSPLandroid/content/res/Configuration;->fixUpLocaleList()V HSPLandroid/content/res/Configuration;->generateDelta(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration; HSPLandroid/content/res/Configuration;->getGrammaticalGender()I HSPLandroid/content/res/Configuration;->getLayoutDirection()I @@ -5026,19 +5052,19 @@ HSPLandroid/content/res/Configuration;->isOtherSeqNewer(Landroid/content/res/Con HSPLandroid/content/res/Configuration;->isScreenRound()Z HSPLandroid/content/res/Configuration;->isScreenWideColorGamut()Z HSPLandroid/content/res/Configuration;->needNewResources(II)Z -HSPLandroid/content/res/Configuration;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/content/res/Configuration;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/content/res/Configuration;->readFromProto(Landroid/util/proto/ProtoInputStream;J)V HSPLandroid/content/res/Configuration;->reduceScreenLayout(III)I HSPLandroid/content/res/Configuration;->resetScreenLayout(I)I HSPLandroid/content/res/Configuration;->setLayoutDirection(Ljava/util/Locale;)V HSPLandroid/content/res/Configuration;->setLocale(Ljava/util/Locale;)V HSPLandroid/content/res/Configuration;->setLocales(Landroid/os/LocaleList;)V -HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Ljava/lang/Object;Ljava/util/Locale;]Ljava/util/Locale;Ljava/util/Locale; +HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V+]Ljava/lang/Object;Ljava/util/Locale;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;II)V HSPLandroid/content/res/Configuration;->setToDefaults()V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->toString()Ljava/lang/String; HSPLandroid/content/res/Configuration;->unset()V -HSPLandroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Ljava/lang/Object;Ljava/util/Locale;]Ljava/util/Locale;Ljava/util/Locale; +HSPLandroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I+]Ljava/lang/Object;Ljava/util/Locale;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/content/res/Configuration;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/content/res/ConfigurationBoundResourceCache;-><init>()V HSPLandroid/content/res/ConfigurationBoundResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object; @@ -5057,10 +5083,10 @@ HSPLandroid/content/res/DrawableCache;->getInstance(JLandroid/content/res/Resour HSPLandroid/content/res/DrawableCache;->shouldInvalidateEntry(Landroid/graphics/drawable/Drawable$ConstantState;I)Z HSPLandroid/content/res/DrawableCache;->shouldInvalidateEntry(Ljava/lang/Object;I)Z HSPLandroid/content/res/FeatureFlagsImpl;->defaultLocale()Z -HSPLandroid/content/res/Flags;->defaultLocale()Z +HSPLandroid/content/res/Flags;->defaultLocale()Z+]Landroid/content/res/FeatureFlags;Landroid/content/res/FeatureFlagsImpl; HSPLandroid/content/res/FontResourcesParser;->parse(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry; -HSPLandroid/content/res/FontResourcesParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;+]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; -HSPLandroid/content/res/FontResourcesParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Ljava/util/List;Ljava/util/ArrayList;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/content/res/FontResourcesParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry; +HSPLandroid/content/res/FontResourcesParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry; HSPLandroid/content/res/FontScaleConverterFactory;->forScale(F)Landroid/content/res/FontScaleConverter; HSPLandroid/content/res/FontScaleConverterFactory;->isNonLinearFontScalingActive(F)Z HSPLandroid/content/res/GradientColor;-><init>()V @@ -5079,28 +5105,28 @@ HSPLandroid/content/res/Resources$NotFoundException;-><init>(Ljava/lang/String;) HSPLandroid/content/res/Resources$Theme;-><init>(Landroid/content/res/Resources;)V HSPLandroid/content/res/Resources$Theme;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme-IA;)V HSPLandroid/content/res/Resources$Theme;->applyStyle(IZ)V -HSPLandroid/content/res/Resources$Theme;->equals(Ljava/lang/Object;)Z+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey;]Ljava/lang/Object;Landroid/content/res/Resources$Theme; +HSPLandroid/content/res/Resources$Theme;->equals(Ljava/lang/Object;)Z HSPLandroid/content/res/Resources$Theme;->getAppliedStyleResId()I HSPLandroid/content/res/Resources$Theme;->getChangingConfigurations()I -HSPLandroid/content/res/Resources$Theme;->getKey()Landroid/content/res/Resources$ThemeKey;+]Landroid/content/res/ResourcesImpl$ThemeImpl;Landroid/content/res/ResourcesImpl$ThemeImpl; +HSPLandroid/content/res/Resources$Theme;->getKey()Landroid/content/res/Resources$ThemeKey; HSPLandroid/content/res/Resources$Theme;->getParentThemeIdentifier(I)I HSPLandroid/content/res/Resources$Theme;->getResources()Landroid/content/res/Resources; HSPLandroid/content/res/Resources$Theme;->getTheme()[Ljava/lang/String; HSPLandroid/content/res/Resources$Theme;->hashCode()I -HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;+]Landroid/content/res/ResourcesImpl$ThemeImpl;Landroid/content/res/ResourcesImpl$ThemeImpl; +HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray; HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/res/ResourcesImpl$ThemeImpl;Landroid/content/res/ResourcesImpl$ThemeImpl; HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes([I)Landroid/content/res/TypedArray; HSPLandroid/content/res/Resources$Theme;->rebase()V HSPLandroid/content/res/Resources$Theme;->rebase(Landroid/content/res/ResourcesImpl;)V -HSPLandroid/content/res/Resources$Theme;->resolveAttribute(ILandroid/util/TypedValue;Z)Z+]Landroid/content/res/ResourcesImpl$ThemeImpl;Landroid/content/res/ResourcesImpl$ThemeImpl; +HSPLandroid/content/res/Resources$Theme;->resolveAttribute(ILandroid/util/TypedValue;Z)Z HSPLandroid/content/res/Resources$Theme;->resolveAttributes([I[I)Landroid/content/res/TypedArray; HSPLandroid/content/res/Resources$Theme;->setImpl(Landroid/content/res/ResourcesImpl$ThemeImpl;)V HSPLandroid/content/res/Resources$Theme;->setTo(Landroid/content/res/Resources$Theme;)V -HSPLandroid/content/res/Resources$Theme;->toString()Ljava/lang/String;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/content/res/Resources$Theme;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLandroid/content/res/Resources$ThemeKey;-><init>()V HSPLandroid/content/res/Resources$ThemeKey;->append(IZ)V HSPLandroid/content/res/Resources$ThemeKey;->clone()Landroid/content/res/Resources$ThemeKey; -HSPLandroid/content/res/Resources$ThemeKey;->equals(Ljava/lang/Object;)Z+]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey;]Ljava/lang/Object;Landroid/content/res/Resources$ThemeKey; +HSPLandroid/content/res/Resources$ThemeKey;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Landroid/content/res/Resources$ThemeKey;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey; HSPLandroid/content/res/Resources$ThemeKey;->hashCode()I HSPLandroid/content/res/Resources$ThemeKey;->moveToLast(I)V HSPLandroid/content/res/Resources$ThemeKey;->setTo(Landroid/content/res/Resources$ThemeKey;)V+][I[I][Z[Z @@ -5119,12 +5145,12 @@ HSPLandroid/content/res/Resources;->getAttributeSetSourceResId(Landroid/util/Att HSPLandroid/content/res/Resources;->getBoolean(I)Z HSPLandroid/content/res/Resources;->getClassLoader()Ljava/lang/ClassLoader; HSPLandroid/content/res/Resources;->getColor(I)I -HSPLandroid/content/res/Resources;->getColor(ILandroid/content/res/Resources$Theme;)I+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getColor(ILandroid/content/res/Resources$Theme;)I HSPLandroid/content/res/Resources;->getColorStateList(I)Landroid/content/res/ColorStateList; HSPLandroid/content/res/Resources;->getColorStateList(ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; HSPLandroid/content/res/Resources;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; HSPLandroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; -HSPLandroid/content/res/Resources;->getDimension(I)F+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getDimension(I)F HSPLandroid/content/res/Resources;->getDimensionPixelOffset(I)I HSPLandroid/content/res/Resources;->getDimensionPixelSize(I)I HSPLandroid/content/res/Resources;->getDisplayAdjustments()Landroid/view/DisplayAdjustments; @@ -5132,7 +5158,7 @@ HSPLandroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetr HSPLandroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable; HSPLandroid/content/res/Resources;->getDrawable(ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; HSPLandroid/content/res/Resources;->getDrawableForDensity(II)Landroid/graphics/drawable/Drawable; -HSPLandroid/content/res/Resources;->getDrawableForDensity(IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getDrawableForDensity(IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; HSPLandroid/content/res/Resources;->getDrawableInflater()Landroid/graphics/drawable/DrawableInflater; HSPLandroid/content/res/Resources;->getFloat(I)F HSPLandroid/content/res/Resources;->getFont(Landroid/util/TypedValue;I)Landroid/graphics/Typeface; @@ -5146,7 +5172,7 @@ HSPLandroid/content/res/Resources;->getLoaders()Ljava/util/List; HSPLandroid/content/res/Resources;->getQuantityString(II)Ljava/lang/String; HSPLandroid/content/res/Resources;->getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String; HSPLandroid/content/res/Resources;->getQuantityText(II)Ljava/lang/CharSequence; -HSPLandroid/content/res/Resources;->getResourceEntryName(I)Ljava/lang/String;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getResourceEntryName(I)Ljava/lang/String; HSPLandroid/content/res/Resources;->getResourceName(I)Ljava/lang/String; HSPLandroid/content/res/Resources;->getResourcePackageName(I)Ljava/lang/String; HSPLandroid/content/res/Resources;->getResourceTypeName(I)Ljava/lang/String; @@ -5154,24 +5180,24 @@ HSPLandroid/content/res/Resources;->getSizeConfigurations()[Landroid/content/res HSPLandroid/content/res/Resources;->getStateListAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache; HSPLandroid/content/res/Resources;->getString(I)Ljava/lang/String; HSPLandroid/content/res/Resources;->getString(I[Ljava/lang/Object;)Ljava/lang/String; -HSPLandroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String; HSPLandroid/content/res/Resources;->getSystem()Landroid/content/res/Resources; HSPLandroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence; HSPLandroid/content/res/Resources;->getTextArray(I)[Ljava/lang/CharSequence; -HSPLandroid/content/res/Resources;->getValue(ILandroid/util/TypedValue;Z)V+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->getValue(ILandroid/util/TypedValue;Z)V HSPLandroid/content/res/Resources;->getValueForDensity(IILandroid/util/TypedValue;Z)V HSPLandroid/content/res/Resources;->getXml(I)Landroid/content/res/XmlResourceParser; HSPLandroid/content/res/Resources;->hasOverrideDisplayAdjustments()Z -HSPLandroid/content/res/Resources;->loadColorStateList(Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->loadColorStateList(Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; HSPLandroid/content/res/Resources;->loadComplexColor(Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor; HSPLandroid/content/res/Resources;->loadDrawable(Landroid/util/TypedValue;IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; -HSPLandroid/content/res/Resources;->loadXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Ljava/lang/CharSequence;Ljava/lang/String; -HSPLandroid/content/res/Resources;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; -HSPLandroid/content/res/Resources;->newTheme()Landroid/content/res/Resources$Theme;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/content/res/Resources;->loadXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser; +HSPLandroid/content/res/Resources;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser; +HSPLandroid/content/res/Resources;->newTheme()Landroid/content/res/Resources$Theme; HSPLandroid/content/res/Resources;->obtainAttributes(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; -HSPLandroid/content/res/Resources;->obtainAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->obtainAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; HSPLandroid/content/res/Resources;->obtainTempTypedValue()Landroid/util/TypedValue; -HSPLandroid/content/res/Resources;->obtainTypedArray(I)Landroid/content/res/TypedArray;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; +HSPLandroid/content/res/Resources;->obtainTypedArray(I)Landroid/content/res/TypedArray; HSPLandroid/content/res/Resources;->openRawResource(I)Ljava/io/InputStream; HSPLandroid/content/res/Resources;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream; HSPLandroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor; @@ -5201,26 +5227,26 @@ HSPLandroid/content/res/ResourcesImpl$LookupStack;-><init>(Landroid/content/res/ HSPLandroid/content/res/ResourcesImpl$LookupStack;->contains(I)Z HSPLandroid/content/res/ResourcesImpl$LookupStack;->pop()V HSPLandroid/content/res/ResourcesImpl$LookupStack;->push(I)V -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;-><init>(Landroid/content/res/ResourcesImpl;)V+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->applyStyle(IZ)V+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;-><init>(Landroid/content/res/ResourcesImpl;)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->applyStyle(IZ)V HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->finalize()V HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getAppliedStyleResId()I HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getChangingConfigurations()I HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getKey()Landroid/content/res/Resources$ThemeKey; HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getParentThemeIdentifier(I)I HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->getTheme()[Ljava/lang/String; -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->obtainStyledAttributes(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->obtainStyledAttributes(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->rebase()V HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->rebase(Landroid/content/res/AssetManager;)V -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttribute(ILandroid/util/TypedValue;Z)Z+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttribute(ILandroid/util/TypedValue;Z)Z HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->resolveAttributes(Landroid/content/res/Resources$Theme;[I[I)Landroid/content/res/TypedArray; -HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->setTo(Landroid/content/res/ResourcesImpl$ThemeImpl;)V+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey;]Landroid/content/res/ResourcesImpl$ThemeImpl;Landroid/content/res/ResourcesImpl$ThemeImpl; +HSPLandroid/content/res/ResourcesImpl$ThemeImpl;->setTo(Landroid/content/res/ResourcesImpl$ThemeImpl;)V HSPLandroid/content/res/ResourcesImpl;->-$$Nest$sfgetsThemeRegistry()Llibcore/util/NativeAllocationRegistry; -HSPLandroid/content/res/ResourcesImpl;-><init>(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;Landroid/view/DisplayAdjustments;)V+]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments; +HSPLandroid/content/res/ResourcesImpl;-><init>(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;Landroid/view/DisplayAdjustments;)V+]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl; HSPLandroid/content/res/ResourcesImpl;->adjustLanguageTag(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/content/res/ResourcesImpl;->attrForQuantityCode(Ljava/lang/String;)I -HSPLandroid/content/res/ResourcesImpl;->cacheDrawable(Landroid/util/TypedValue;ZLandroid/content/res/DrawableCache;Landroid/content/res/Resources$Theme;ZJLandroid/graphics/drawable/Drawable;I)V -HSPLandroid/content/res/ResourcesImpl;->calcConfigChanges(Landroid/content/res/Configuration;)I+]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments; +HSPLandroid/content/res/ResourcesImpl;->cacheDrawable(Landroid/util/TypedValue;ZLandroid/content/res/DrawableCache;Landroid/content/res/Resources$Theme;ZJLandroid/graphics/drawable/Drawable;I)V+]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/graphics/drawable/Drawable;megamorphic_types +HSPLandroid/content/res/ResourcesImpl;->calcConfigChanges(Landroid/content/res/Configuration;)I HSPLandroid/content/res/ResourcesImpl;->decodeImageDrawable(Landroid/content/res/AssetManager$AssetInputStream;Landroid/content/res/Resources;Landroid/util/TypedValue;)Landroid/graphics/drawable/Drawable; HSPLandroid/content/res/ResourcesImpl;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V HSPLandroid/content/res/ResourcesImpl;->finishPreloading()V @@ -5228,7 +5254,7 @@ HSPLandroid/content/res/ResourcesImpl;->flushLayoutCache()V HSPLandroid/content/res/ResourcesImpl;->getAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache; HSPLandroid/content/res/ResourcesImpl;->getAssets()Landroid/content/res/AssetManager; HSPLandroid/content/res/ResourcesImpl;->getAttributeSetSourceResId(Landroid/util/AttributeSet;)I -HSPLandroid/content/res/ResourcesImpl;->getColorStateListFromInt(Landroid/util/TypedValue;J)Landroid/content/res/ColorStateList;+]Landroid/content/res/ConstantState;Landroid/content/res/ColorStateList$ColorStateListFactory;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray; +HSPLandroid/content/res/ResourcesImpl;->getColorStateListFromInt(Landroid/util/TypedValue;J)Landroid/content/res/ColorStateList; HSPLandroid/content/res/ResourcesImpl;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; HSPLandroid/content/res/ResourcesImpl;->getConfiguration()Landroid/content/res/Configuration; HSPLandroid/content/res/ResourcesImpl;->getDisplayAdjustments()Landroid/view/DisplayAdjustments; @@ -5242,7 +5268,7 @@ HSPLandroid/content/res/ResourcesImpl;->getResourcePackageName(I)Ljava/lang/Stri HSPLandroid/content/res/ResourcesImpl;->getResourceTypeName(I)Ljava/lang/String; HSPLandroid/content/res/ResourcesImpl;->getSizeConfigurations()[Landroid/content/res/Configuration; HSPLandroid/content/res/ResourcesImpl;->getStateListAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache; -HSPLandroid/content/res/ResourcesImpl;->getValue(ILandroid/util/TypedValue;Z)V+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; +HSPLandroid/content/res/ResourcesImpl;->getValue(ILandroid/util/TypedValue;Z)V HSPLandroid/content/res/ResourcesImpl;->getValueForDensity(IILandroid/util/TypedValue;Z)V HSPLandroid/content/res/ResourcesImpl;->isIntLike(Ljava/lang/String;)Z HSPLandroid/content/res/ResourcesImpl;->lambda$decodeImageDrawable$1(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V @@ -5250,18 +5276,18 @@ HSPLandroid/content/res/ResourcesImpl;->lambda$new$0()Landroid/content/res/Resou HSPLandroid/content/res/ResourcesImpl;->loadColorStateList(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList; HSPLandroid/content/res/ResourcesImpl;->loadComplexColor(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor; HSPLandroid/content/res/ResourcesImpl;->loadComplexColorForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;ILandroid/content/res/Resources$Theme;)Landroid/content/res/ComplexColor; -HSPLandroid/content/res/ResourcesImpl;->loadComplexColorFromName(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/TypedValue;I)Landroid/content/res/ComplexColor;+]Landroid/content/res/ComplexColor;Landroid/content/res/ColorStateList;,Landroid/content/res/GradientColor;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache;]Landroid/content/res/ConstantState;Landroid/content/res/ColorStateList$ColorStateListFactory;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray; -HSPLandroid/content/res/ResourcesImpl;->loadDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;+]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/graphics/drawable/Drawable$ConstantState;megamorphic_types]Landroid/graphics/drawable/Drawable;megamorphic_types]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray; -HSPLandroid/content/res/ResourcesImpl;->loadDrawableForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;II)Landroid/graphics/drawable/Drawable;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/ResourcesImpl$LookupStack;Landroid/content/res/ResourcesImpl$LookupStack;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Ljava/lang/CharSequence;Ljava/lang/String;]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; -HSPLandroid/content/res/ResourcesImpl;->loadFont(Landroid/content/res/Resources;Landroid/util/TypedValue;I)Landroid/graphics/Typeface;+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Ljava/lang/CharSequence;Ljava/lang/String;]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/content/res/ResourcesImpl;->loadComplexColorFromName(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/TypedValue;I)Landroid/content/res/ComplexColor;+]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache; +HSPLandroid/content/res/ResourcesImpl;->loadDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;+]Landroid/graphics/drawable/Drawable$ConstantState;megamorphic_types]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/graphics/drawable/Drawable;megamorphic_types +HSPLandroid/content/res/ResourcesImpl;->loadDrawableForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;II)Landroid/graphics/drawable/Drawable; +HSPLandroid/content/res/ResourcesImpl;->loadFont(Landroid/content/res/Resources;Landroid/util/TypedValue;I)Landroid/graphics/Typeface; HSPLandroid/content/res/ResourcesImpl;->loadXmlDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILjava/lang/String;)Landroid/graphics/drawable/Drawable; -HSPLandroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/XmlBlock;Landroid/content/res/XmlBlock;]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;+]Ljava/lang/Object;Ljava/lang/String;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/XmlBlock;Landroid/content/res/XmlBlock; HSPLandroid/content/res/ResourcesImpl;->newThemeImpl()Landroid/content/res/ResourcesImpl$ThemeImpl; HSPLandroid/content/res/ResourcesImpl;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream; HSPLandroid/content/res/ResourcesImpl;->openRawResourceFd(ILandroid/util/TypedValue;)Landroid/content/res/AssetFileDescriptor; HSPLandroid/content/res/ResourcesImpl;->startPreloading()V -HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V+]Landroid/app/ResourcesManager;Landroid/app/ResourcesManager;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Ljava/util/Locale;Ljava/util/Locale; -HSPLandroid/content/res/ResourcesImpl;->updateConfigurationImpl(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Z)V+]Landroid/app/ResourcesManager;Landroid/app/ResourcesManager;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Ljava/lang/Object;Ljava/util/Locale;]Ljava/util/Locale;Ljava/util/Locale; +HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/app/ResourcesManager;Landroid/app/ResourcesManager;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache; +HSPLandroid/content/res/ResourcesImpl;->updateConfigurationImpl(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Z)V+]Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesImpl;]Landroid/app/ResourcesManager;Landroid/app/ResourcesManager;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Ljava/util/Locale;Ljava/util/Locale;]Landroid/content/res/DrawableCache;Landroid/content/res/DrawableCache;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/os/LocaleList;Landroid/os/LocaleList;]Landroid/util/DisplayMetrics;Landroid/util/DisplayMetrics;]Landroid/content/res/ConfigurationBoundResourceCache;Landroid/content/res/ConfigurationBoundResourceCache;]Ljava/lang/Object;Ljava/util/Locale; HSPLandroid/content/res/ResourcesImpl;->verifyPreloadConfig(IIILjava/lang/String;)Z HSPLandroid/content/res/ResourcesKey;-><init>(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;[Landroid/content/res/loader/ResourcesLoader;)V HSPLandroid/content/res/ResourcesKey;->equals(Ljava/lang/Object;)Z @@ -5274,9 +5300,9 @@ HSPLandroid/content/res/StringBlock;->finalize()V HSPLandroid/content/res/StringBlock;->get(I)Ljava/lang/CharSequence; HSPLandroid/content/res/StringBlock;->getSequence(I)Ljava/lang/CharSequence;+]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLandroid/content/res/ThemedResourceCache;-><init>()V -HSPLandroid/content/res/ThemedResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object;+]Landroid/util/LongSparseArray;Landroid/util/LongSparseArray;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/content/res/ThemedResourceCache;->get(JLandroid/content/res/Resources$Theme;)Ljava/lang/Object; HSPLandroid/content/res/ThemedResourceCache;->getGeneration()I -HSPLandroid/content/res/ThemedResourceCache;->getThemedLocked(Landroid/content/res/Resources$Theme;Z)Landroid/util/LongSparseArray;+]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources$ThemeKey;Landroid/content/res/Resources$ThemeKey;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/content/res/ThemedResourceCache;->getThemedLocked(Landroid/content/res/Resources$Theme;Z)Landroid/util/LongSparseArray; HSPLandroid/content/res/ThemedResourceCache;->getUnthemedLocked(Z)Landroid/util/LongSparseArray; HSPLandroid/content/res/ThemedResourceCache;->onConfigurationChange(I)V HSPLandroid/content/res/ThemedResourceCache;->pruneEntriesLocked(Landroid/util/LongSparseArray;I)Z @@ -5288,24 +5314,24 @@ HSPLandroid/content/res/TypedArray;->extractThemeAttrs()[I HSPLandroid/content/res/TypedArray;->extractThemeAttrs([I)[I HSPLandroid/content/res/TypedArray;->getBoolean(IZ)Z HSPLandroid/content/res/TypedArray;->getChangingConfigurations()I+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; -HSPLandroid/content/res/TypedArray;->getColor(II)I+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/content/res/Resources;Landroid/content/res/Resources; +HSPLandroid/content/res/TypedArray;->getColor(II)I HSPLandroid/content/res/TypedArray;->getColorStateList(I)Landroid/content/res/ColorStateList;+]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLandroid/content/res/TypedArray;->getComplexColor(I)Landroid/content/res/ComplexColor; HSPLandroid/content/res/TypedArray;->getDimension(IF)F HSPLandroid/content/res/TypedArray;->getDimensionPixelOffset(II)I HSPLandroid/content/res/TypedArray;->getDimensionPixelSize(II)I -HSPLandroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; +HSPLandroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/content/res/TypedArray;->getDrawableForDensity(II)Landroid/graphics/drawable/Drawable;+]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLandroid/content/res/TypedArray;->getFloat(IF)F -HSPLandroid/content/res/TypedArray;->getFont(I)Landroid/graphics/Typeface;+]Landroid/content/res/Resources;Landroid/content/res/Resources; +HSPLandroid/content/res/TypedArray;->getFont(I)Landroid/graphics/Typeface; HSPLandroid/content/res/TypedArray;->getFraction(IIIF)F HSPLandroid/content/res/TypedArray;->getIndex(I)I HSPLandroid/content/res/TypedArray;->getIndexCount()I HSPLandroid/content/res/TypedArray;->getInt(II)I HSPLandroid/content/res/TypedArray;->getInteger(II)I HSPLandroid/content/res/TypedArray;->getLayoutDimension(II)I -HSPLandroid/content/res/TypedArray;->getLayoutDimension(ILjava/lang/String;)I+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLandroid/content/res/TypedArray;->getNonConfigurationString(II)Ljava/lang/String; +HSPLandroid/content/res/TypedArray;->getLayoutDimension(ILjava/lang/String;)I +HSPLandroid/content/res/TypedArray;->getNonConfigurationString(II)Ljava/lang/String;+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/content/res/TypedArray;->getNonResourceString(I)Ljava/lang/String; HSPLandroid/content/res/TypedArray;->getPositionDescription()Ljava/lang/String; HSPLandroid/content/res/TypedArray;->getResourceId(II)I @@ -5319,7 +5345,7 @@ HSPLandroid/content/res/TypedArray;->getValueAt(ILandroid/util/TypedValue;)Z HSPLandroid/content/res/TypedArray;->hasValue(I)Z HSPLandroid/content/res/TypedArray;->hasValueOrEmpty(I)Z HSPLandroid/content/res/TypedArray;->length()I -HSPLandroid/content/res/TypedArray;->loadStringValueAt(I)Ljava/lang/CharSequence;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/content/res/TypedArray;->loadStringValueAt(I)Ljava/lang/CharSequence;+]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/Validator;Landroid/content/res/Validator; HSPLandroid/content/res/TypedArray;->obtain(Landroid/content/res/Resources;I)Landroid/content/res/TypedArray;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue; HSPLandroid/content/res/TypedArray;->recycle()V+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; @@ -5336,7 +5362,7 @@ HSPLandroid/content/res/XmlBlock$Parser;->getAttributeName(I)Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getAttributeNameResource(I)I HSPLandroid/content/res/XmlBlock$Parser;->getAttributeResourceValue(II)I HSPLandroid/content/res/XmlBlock$Parser;->getAttributeResourceValue(Ljava/lang/String;Ljava/lang/String;I)I -HSPLandroid/content/res/XmlBlock$Parser;->getAttributeValue(I)Ljava/lang/String; +HSPLandroid/content/res/XmlBlock$Parser;->getAttributeValue(I)Ljava/lang/String;+]Landroid/content/res/StringBlock;Landroid/content/res/StringBlock; HSPLandroid/content/res/XmlBlock$Parser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getClassAttribute()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getDepth()I @@ -5345,14 +5371,14 @@ HSPLandroid/content/res/XmlBlock$Parser;->getLineNumber()I HSPLandroid/content/res/XmlBlock$Parser;->getName()Ljava/lang/String;+]Landroid/content/res/StringBlock;Landroid/content/res/StringBlock; HSPLandroid/content/res/XmlBlock$Parser;->getPooledString(I)Ljava/lang/CharSequence;+]Landroid/content/res/StringBlock;Landroid/content/res/StringBlock; HSPLandroid/content/res/XmlBlock$Parser;->getPositionDescription()Ljava/lang/String; -HSPLandroid/content/res/XmlBlock$Parser;->getSequenceString(Ljava/lang/CharSequence;)Ljava/lang/String;+]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/content/res/XmlBlock$Parser;->getSequenceString(Ljava/lang/CharSequence;)Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->getSourceResId()I HSPLandroid/content/res/XmlBlock$Parser;->getText()Ljava/lang/String; HSPLandroid/content/res/XmlBlock$Parser;->isEmptyElementTag()Z -HSPLandroid/content/res/XmlBlock$Parser;->next()I+]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/content/res/XmlBlock$Parser;->next()I+]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser;]Landroid/content/res/Validator;Landroid/content/res/Validator; HSPLandroid/content/res/XmlBlock$Parser;->nextTag()I HSPLandroid/content/res/XmlBlock$Parser;->nextText()Ljava/lang/String; -HSPLandroid/content/res/XmlBlock$Parser;->require(ILjava/lang/String;Ljava/lang/String;)V+]Landroid/content/res/XmlBlock$Parser;Landroid/content/res/XmlBlock$Parser;]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/content/res/XmlBlock$Parser;->require(ILjava/lang/String;Ljava/lang/String;)V HSPLandroid/content/res/XmlBlock;->-$$Nest$fgetmOpenCount(Landroid/content/res/XmlBlock;)I HSPLandroid/content/res/XmlBlock;->-$$Nest$fputmOpenCount(Landroid/content/res/XmlBlock;I)V HSPLandroid/content/res/XmlBlock;->-$$Nest$smnativeGetAttributeCount(J)I @@ -5366,7 +5392,7 @@ HSPLandroid/content/res/XmlBlock;->-$$Nest$smnativeGetLineNumber(J)I HSPLandroid/content/res/XmlBlock;->-$$Nest$smnativeGetText(J)I HSPLandroid/content/res/XmlBlock;-><init>(Landroid/content/res/AssetManager;J)V HSPLandroid/content/res/XmlBlock;->close()V -HSPLandroid/content/res/XmlBlock;->decOpenCountLocked()V+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/content/res/StringBlock;Landroid/content/res/StringBlock;]Ljava/lang/Object;Landroid/content/res/XmlBlock; +HSPLandroid/content/res/XmlBlock;->decOpenCountLocked()V HSPLandroid/content/res/XmlBlock;->finalize()V HSPLandroid/content/res/XmlBlock;->newParser()Landroid/content/res/XmlResourceParser; HSPLandroid/content/res/XmlBlock;->newParser(I)Landroid/content/res/XmlResourceParser; @@ -5376,29 +5402,29 @@ HSPLandroid/content/type/DefaultMimeMapFactory;->lambda$create$0(Ljava/lang/Clas HSPLandroid/content/type/DefaultMimeMapFactory;->parseTypes(Llibcore/content/type/MimeMap$Builder;Ljava/util/function/Function;Ljava/lang/String;)V HSPLandroid/database/AbstractCursor$SelfContentObserver;-><init>(Landroid/database/AbstractCursor;)V HSPLandroid/database/AbstractCursor$SelfContentObserver;->onChange(Z)V -HSPLandroid/database/AbstractCursor;-><init>()V -HSPLandroid/database/AbstractCursor;->checkPosition()V+]Landroid/database/AbstractCursor;Landroid/database/BulkCursorToCursorAdaptor;,Landroid/database/sqlite/SQLiteCursor; -HSPLandroid/database/AbstractCursor;->close()V +HSPLandroid/database/AbstractCursor;-><init>()V+]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; +HSPLandroid/database/AbstractCursor;->checkPosition()V+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor; +HSPLandroid/database/AbstractCursor;->close()V+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor;,Landroid/database/MatrixCursor;]Landroid/database/ContentObservable;Landroid/database/ContentObservable;]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; HSPLandroid/database/AbstractCursor;->fillWindow(ILandroid/database/CursorWindow;)V HSPLandroid/database/AbstractCursor;->finalize()V+]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; -HSPLandroid/database/AbstractCursor;->getColumnCount()I +HSPLandroid/database/AbstractCursor;->getColumnCount()I+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor; HSPLandroid/database/AbstractCursor;->getColumnIndex(Ljava/lang/String;)I HSPLandroid/database/AbstractCursor;->getColumnIndexOrThrow(Ljava/lang/String;)I -HSPLandroid/database/AbstractCursor;->getColumnName(I)Ljava/lang/String; +HSPLandroid/database/AbstractCursor;->getColumnName(I)Ljava/lang/String;+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor; HSPLandroid/database/AbstractCursor;->getExtras()Landroid/os/Bundle; HSPLandroid/database/AbstractCursor;->getPosition()I HSPLandroid/database/AbstractCursor;->getWantsAllOnMoveCalls()Z HSPLandroid/database/AbstractCursor;->getWindow()Landroid/database/CursorWindow; -HSPLandroid/database/AbstractCursor;->isAfterLast()Z +HSPLandroid/database/AbstractCursor;->isAfterLast()Z+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/AbstractCursor;->isClosed()Z HSPLandroid/database/AbstractCursor;->isLast()Z HSPLandroid/database/AbstractCursor;->move(I)Z HSPLandroid/database/AbstractCursor;->moveToFirst()Z HSPLandroid/database/AbstractCursor;->moveToLast()Z -HSPLandroid/database/AbstractCursor;->moveToNext()Z -HSPLandroid/database/AbstractCursor;->moveToPosition(I)Z +HSPLandroid/database/AbstractCursor;->moveToNext()Z+]Landroid/database/AbstractCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/MatrixCursor;,Landroid/database/BulkCursorToCursorAdaptor; +HSPLandroid/database/AbstractCursor;->moveToPosition(I)Z+]Landroid/database/AbstractCursor;missing_types HSPLandroid/database/AbstractCursor;->onChange(Z)V -HSPLandroid/database/AbstractCursor;->onDeactivateOrClose()V +HSPLandroid/database/AbstractCursor;->onDeactivateOrClose()V+]Landroid/database/DataSetObservable;Landroid/database/DataSetObservable; HSPLandroid/database/AbstractCursor;->onMove(II)Z HSPLandroid/database/AbstractCursor;->registerContentObserver(Landroid/database/ContentObserver;)V HSPLandroid/database/AbstractCursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V @@ -5409,18 +5435,18 @@ HSPLandroid/database/AbstractCursor;->unregisterContentObserver(Landroid/databas HSPLandroid/database/AbstractWindowedCursor;-><init>()V HSPLandroid/database/AbstractWindowedCursor;->checkPosition()V HSPLandroid/database/AbstractWindowedCursor;->clearOrCreateWindow(Ljava/lang/String;)V -HSPLandroid/database/AbstractWindowedCursor;->closeWindow()V +HSPLandroid/database/AbstractWindowedCursor;->closeWindow()V+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/AbstractWindowedCursor;->getBlob(I)[B -HSPLandroid/database/AbstractWindowedCursor;->getDouble(I)D +HSPLandroid/database/AbstractWindowedCursor;->getDouble(I)D+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/AbstractWindowedCursor;->getFloat(I)F -HSPLandroid/database/AbstractWindowedCursor;->getInt(I)I+]Landroid/database/AbstractWindowedCursor;Landroid/database/BulkCursorToCursorAdaptor;,Landroid/database/sqlite/SQLiteCursor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; -HSPLandroid/database/AbstractWindowedCursor;->getLong(I)J+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; -HSPLandroid/database/AbstractWindowedCursor;->getString(I)Ljava/lang/String;+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; +HSPLandroid/database/AbstractWindowedCursor;->getInt(I)I+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; +HSPLandroid/database/AbstractWindowedCursor;->getLong(I)J+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; +HSPLandroid/database/AbstractWindowedCursor;->getString(I)Ljava/lang/String;+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/AbstractWindowedCursor;->getType(I)I HSPLandroid/database/AbstractWindowedCursor;->getWindow()Landroid/database/CursorWindow; HSPLandroid/database/AbstractWindowedCursor;->hasWindow()Z HSPLandroid/database/AbstractWindowedCursor;->isNull(I)Z+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/CursorWindow;Landroid/database/CursorWindow; -HSPLandroid/database/AbstractWindowedCursor;->onDeactivateOrClose()V +HSPLandroid/database/AbstractWindowedCursor;->onDeactivateOrClose()V+]Landroid/database/AbstractWindowedCursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/AbstractWindowedCursor;->setWindow(Landroid/database/CursorWindow;)V HSPLandroid/database/BulkCursorDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Landroid/database/BulkCursorDescriptor; HSPLandroid/database/BulkCursorDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -5441,7 +5467,7 @@ HSPLandroid/database/BulkCursorToCursorAdaptor;->getColumnNames()[Ljava/lang/Str HSPLandroid/database/BulkCursorToCursorAdaptor;->getCount()I HSPLandroid/database/BulkCursorToCursorAdaptor;->getObserver()Landroid/database/IContentObserver; HSPLandroid/database/BulkCursorToCursorAdaptor;->initialize(Landroid/database/BulkCursorDescriptor;)V -HSPLandroid/database/BulkCursorToCursorAdaptor;->onMove(II)Z +HSPLandroid/database/BulkCursorToCursorAdaptor;->onMove(II)Z+]Landroid/database/IBulkCursor;Landroid/database/BulkCursorProxy;]Landroid/database/BulkCursorToCursorAdaptor;Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/BulkCursorToCursorAdaptor;->throwIfCursorIsClosed()V HSPLandroid/database/ContentObservable;-><init>()V HSPLandroid/database/ContentObservable;->dispatchChange(ZLandroid/net/Uri;)V @@ -5480,18 +5506,18 @@ HSPLandroid/database/CursorWindow$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/database/CursorWindow;-><init>(Landroid/os/Parcel;)V HSPLandroid/database/CursorWindow;-><init>(Landroid/os/Parcel;Landroid/database/CursorWindow-IA;)V HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;)V -HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;J)V +HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;J)V+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/database/CursorWindow;->allocRow()Z HSPLandroid/database/CursorWindow;->clear()V -HSPLandroid/database/CursorWindow;->dispose()V -HSPLandroid/database/CursorWindow;->finalize()V -HSPLandroid/database/CursorWindow;->getBlob(II)[B+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; +HSPLandroid/database/CursorWindow;->dispose()V+]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; +HSPLandroid/database/CursorWindow;->finalize()V+]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; +HSPLandroid/database/CursorWindow;->getBlob(II)[B HSPLandroid/database/CursorWindow;->getCursorWindowSize()I -HSPLandroid/database/CursorWindow;->getDouble(II)D +HSPLandroid/database/CursorWindow;->getDouble(II)D+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/CursorWindow;->getFloat(II)F -HSPLandroid/database/CursorWindow;->getInt(II)I +HSPLandroid/database/CursorWindow;->getInt(II)I+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/CursorWindow;->getLong(II)J+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; -HSPLandroid/database/CursorWindow;->getNumRows()I +HSPLandroid/database/CursorWindow;->getNumRows()I+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/CursorWindow;->getStartPosition()I HSPLandroid/database/CursorWindow;->getString(II)Ljava/lang/String;+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/CursorWindow;->getType(II)I+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; @@ -5513,16 +5539,16 @@ HSPLandroid/database/CursorWrapper;->getColumnName(I)Ljava/lang/String; HSPLandroid/database/CursorWrapper;->getColumnNames()[Ljava/lang/String; HSPLandroid/database/CursorWrapper;->getCount()I HSPLandroid/database/CursorWrapper;->getExtras()Landroid/os/Bundle; -HSPLandroid/database/CursorWrapper;->getInt(I)I +HSPLandroid/database/CursorWrapper;->getInt(I)I+]Landroid/database/Cursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/content/ContentProviderClient$CursorWrapperInner;,Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/CursorWrapper;->getLong(I)J HSPLandroid/database/CursorWrapper;->getPosition()I HSPLandroid/database/CursorWrapper;->getString(I)Ljava/lang/String; HSPLandroid/database/CursorWrapper;->getType(I)I HSPLandroid/database/CursorWrapper;->getWrappedCursor()Landroid/database/Cursor; -HSPLandroid/database/CursorWrapper;->isAfterLast()Z +HSPLandroid/database/CursorWrapper;->isAfterLast()Z+]Landroid/database/Cursor;Landroid/database/sqlite/SQLiteCursor;,Landroid/content/ContentProviderClient$CursorWrapperInner;,Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/CursorWrapper;->isClosed()Z HSPLandroid/database/CursorWrapper;->isLast()Z -HSPLandroid/database/CursorWrapper;->isNull(I)Z +HSPLandroid/database/CursorWrapper;->isNull(I)Z+]Landroid/database/Cursor;Landroid/database/BulkCursorToCursorAdaptor; HSPLandroid/database/CursorWrapper;->moveToFirst()Z HSPLandroid/database/CursorWrapper;->moveToLast()Z HSPLandroid/database/CursorWrapper;->moveToNext()Z @@ -5530,9 +5556,9 @@ HSPLandroid/database/CursorWrapper;->moveToPosition(I)Z HSPLandroid/database/CursorWrapper;->registerContentObserver(Landroid/database/ContentObserver;)V HSPLandroid/database/DataSetObservable;-><init>()V HSPLandroid/database/DataSetObservable;->notifyChanged()V -HSPLandroid/database/DataSetObservable;->notifyInvalidated()V +HSPLandroid/database/DataSetObservable;->notifyInvalidated()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/DataSetObserver;-><init>()V -HSPLandroid/database/DatabaseUtils;->appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V +HSPLandroid/database/DatabaseUtils;->appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/database/DatabaseUtils;->categorizeStatement(Ljava/lang/String;Ljava/lang/String;)I+]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/String;Ljava/lang/String; HSPLandroid/database/DatabaseUtils;->cursorFillWindow(Landroid/database/Cursor;ILandroid/database/CursorWindow;)V HSPLandroid/database/DatabaseUtils;->getSqlStatementPrefixSimple(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; @@ -5587,16 +5613,16 @@ HSPLandroid/database/MergeCursor;->getString(I)Ljava/lang/String; HSPLandroid/database/MergeCursor;->onMove(II)Z HSPLandroid/database/Observable;-><init>()V HSPLandroid/database/Observable;->registerObserver(Ljava/lang/Object;)V -HSPLandroid/database/Observable;->unregisterAll()V +HSPLandroid/database/Observable;->unregisterAll()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/Observable;->unregisterObserver(Ljava/lang/Object;)V HSPLandroid/database/sqlite/FeatureFlagsImpl;-><init>()V HSPLandroid/database/sqlite/FeatureFlagsImpl;->sqliteAllowTempTables()Z HSPLandroid/database/sqlite/Flags;-><clinit>()V -HSPLandroid/database/sqlite/Flags;->sqliteAllowTempTables()Z +HSPLandroid/database/sqlite/Flags;->sqliteAllowTempTables()Z+]Landroid/database/sqlite/FeatureFlags;Landroid/database/sqlite/FeatureFlagsImpl; HSPLandroid/database/sqlite/SQLiteClosable;-><init>()V HSPLandroid/database/sqlite/SQLiteClosable;->acquireReference()V -HSPLandroid/database/sqlite/SQLiteClosable;->close()V -HSPLandroid/database/sqlite/SQLiteClosable;->releaseReference()V+]Landroid/database/sqlite/SQLiteClosable;Landroid/database/CursorWindow;,Landroid/database/sqlite/SQLiteDatabase;,Landroid/database/sqlite/SQLiteQuery;,Landroid/database/sqlite/SQLiteStatement; +HSPLandroid/database/sqlite/SQLiteClosable;->close()V+]Landroid/database/sqlite/SQLiteClosable;Landroid/database/CursorWindow;,Landroid/database/sqlite/SQLiteStatement;,Landroid/database/sqlite/SQLiteDatabase;,Landroid/database/sqlite/SQLiteQuery; +HSPLandroid/database/sqlite/SQLiteClosable;->releaseReference()V+]Landroid/database/sqlite/SQLiteClosable;Landroid/database/CursorWindow;,Landroid/database/sqlite/SQLiteStatement;,Landroid/database/sqlite/SQLiteDatabase;,Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->getTruncateSize()J HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->init(Ljava/lang/String;)V HSPLandroid/database/sqlite/SQLiteCompatibilityWalFlags;->initIfNeeded()V @@ -5610,7 +5636,7 @@ HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->beginOperation(Ljava HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->dump(Landroid/util/Printer;)V HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperation(I)V HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperationDeferLog(I)Z -HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperationDeferLogLocked(I)Z +HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->endOperationDeferLogLocked(I)Z+]Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteConnectionPool; HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->failOperation(ILjava/lang/Exception;)V HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->getOperationLocked(I)Landroid/database/sqlite/SQLiteConnection$Operation; HSPLandroid/database/sqlite/SQLiteConnection$OperationLog;->newOperationCookieLocked(I)I @@ -5626,38 +5652,38 @@ HSPLandroid/database/sqlite/SQLiteConnection$PreparedStatementCache;->getStateme HSPLandroid/database/sqlite/SQLiteConnection;->-$$Nest$fgetmConnectionPtr(Landroid/database/sqlite/SQLiteConnection;)J HSPLandroid/database/sqlite/SQLiteConnection;->-$$Nest$mfinalizePreparedStatement(Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V HSPLandroid/database/sqlite/SQLiteConnection;->-$$Nest$smnativePrepareStatement(JLjava/lang/String;)J -HSPLandroid/database/sqlite/SQLiteConnection;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)V +HSPLandroid/database/sqlite/SQLiteConnection;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)V+]Landroid/database/sqlite/SQLiteDatabaseConfiguration;Landroid/database/sqlite/SQLiteDatabaseConfiguration;]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; HSPLandroid/database/sqlite/SQLiteConnection;->acquirePreparedStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteConnection$PreparedStatement; HSPLandroid/database/sqlite/SQLiteConnection;->acquirePreparedStatementLI(Ljava/lang/String;)Landroid/database/sqlite/SQLiteConnection$PreparedStatement;+]Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache; -HSPLandroid/database/sqlite/SQLiteConnection;->applyBlockGuardPolicy(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V -HSPLandroid/database/sqlite/SQLiteConnection;->attachCancellationSignal(Landroid/os/CancellationSignal;)V -HSPLandroid/database/sqlite/SQLiteConnection;->bindArguments(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V+]Ljava/lang/Number;Ljava/lang/Double;,Ljava/lang/Integer;,Ljava/lang/Long;]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/database/sqlite/SQLiteConnection;->applyBlockGuardPolicy(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V+]Landroid/database/sqlite/SQLiteDatabaseConfiguration;Landroid/database/sqlite/SQLiteDatabaseConfiguration;]Ldalvik/system/BlockGuard$Policy;Ldalvik/system/BlockGuard$1;,Landroid/os/StrictMode$AndroidBlockGuardPolicy; +HSPLandroid/database/sqlite/SQLiteConnection;->attachCancellationSignal(Landroid/os/CancellationSignal;)V+]Landroid/os/CancellationSignal;Landroid/os/CancellationSignal; +HSPLandroid/database/sqlite/SQLiteConnection;->bindArguments(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V+]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/Number;Ljava/lang/Integer;,Ljava/lang/Double;,Ljava/lang/Long; HSPLandroid/database/sqlite/SQLiteConnection;->canonicalizeSyncMode(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteConnection;->checkDatabaseWiped()V HSPLandroid/database/sqlite/SQLiteConnection;->close()V HSPLandroid/database/sqlite/SQLiteConnection;->collectDbStats(Ljava/util/ArrayList;)V -HSPLandroid/database/sqlite/SQLiteConnection;->detachCancellationSignal(Landroid/os/CancellationSignal;)V +HSPLandroid/database/sqlite/SQLiteConnection;->detachCancellationSignal(Landroid/os/CancellationSignal;)V+]Landroid/os/CancellationSignal;Landroid/os/CancellationSignal; HSPLandroid/database/sqlite/SQLiteConnection;->dispose(Z)V HSPLandroid/database/sqlite/SQLiteConnection;->dumpUnsafe(Landroid/util/Printer;Z)V -HSPLandroid/database/sqlite/SQLiteConnection;->execute(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog;]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection; -HSPLandroid/database/sqlite/SQLiteConnection;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)I -HSPLandroid/database/sqlite/SQLiteConnection;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZLandroid/os/CancellationSignal;)I +HSPLandroid/database/sqlite/SQLiteConnection;->execute(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)I+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZLandroid/os/CancellationSignal;)I+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/CursorWindow;Landroid/database/CursorWindow;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J -HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog;]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection; -HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; +HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String;+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->executePerConnectionSqlFromConfiguration(I)V HSPLandroid/database/sqlite/SQLiteConnection;->finalize()V HSPLandroid/database/sqlite/SQLiteConnection;->finalizePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V HSPLandroid/database/sqlite/SQLiteConnection;->getConnectionId()I HSPLandroid/database/sqlite/SQLiteConnection;->getMainDbStatsUnsafe(IJJ)Landroid/database/sqlite/SQLiteDebug$DbStats; HSPLandroid/database/sqlite/SQLiteConnection;->isCacheable(I)Z -HSPLandroid/database/sqlite/SQLiteConnection;->isPreparedStatementInCache(Ljava/lang/String;)Z +HSPLandroid/database/sqlite/SQLiteConnection;->isPreparedStatementInCache(Ljava/lang/String;)Z+]Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache; HSPLandroid/database/sqlite/SQLiteConnection;->isPrimaryConnection()Z HSPLandroid/database/sqlite/SQLiteConnection;->maybeTruncateWalFile()V HSPLandroid/database/sqlite/SQLiteConnection;->obtainPreparedStatement(Ljava/lang/String;JIIZJ)Landroid/database/sqlite/SQLiteConnection$PreparedStatement; -HSPLandroid/database/sqlite/SQLiteConnection;->open()V +HSPLandroid/database/sqlite/SQLiteConnection;->open()V+]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->open(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)Landroid/database/sqlite/SQLiteConnection; -HSPLandroid/database/sqlite/SQLiteConnection;->prepare(Ljava/lang/String;Landroid/database/sqlite/SQLiteStatementInfo;)V +HSPLandroid/database/sqlite/SQLiteConnection;->prepare(Ljava/lang/String;Landroid/database/sqlite/SQLiteStatementInfo;)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/database/sqlite/SQLiteConnection$OperationLog;Landroid/database/sqlite/SQLiteConnection$OperationLog; HSPLandroid/database/sqlite/SQLiteConnection;->reconfigure(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V HSPLandroid/database/sqlite/SQLiteConnection;->recyclePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V HSPLandroid/database/sqlite/SQLiteConnection;->releasePreparedStatement(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V @@ -5682,6 +5708,7 @@ HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connect HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->handleMessage(Landroid/os/Message;)V HSPLandroid/database/sqlite/SQLiteConnectionPool;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V HSPLandroid/database/sqlite/SQLiteConnectionPool;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection; +HSPLandroid/database/sqlite/SQLiteConnectionPool;->clearAcquiredConnectionsPreparedStatementCache()V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Ljava/util/Iterator;Ljava/util/WeakHashMap$KeyIterator;]Ljava/util/Set;Ljava/util/WeakHashMap$KeySet; HSPLandroid/database/sqlite/SQLiteConnectionPool;->close()V HSPLandroid/database/sqlite/SQLiteConnectionPool;->closeAvailableConnectionLocked(I)Z HSPLandroid/database/sqlite/SQLiteConnectionPool;->closeAvailableConnectionsAndLogExceptionsLocked()V @@ -5695,13 +5722,13 @@ HSPLandroid/database/sqlite/SQLiteConnectionPool;->discardAcquiredConnectionsLoc HSPLandroid/database/sqlite/SQLiteConnectionPool;->dispose(Z)V HSPLandroid/database/sqlite/SQLiteConnectionPool;->dump(Landroid/util/Printer;ZLandroid/util/ArraySet;)V HSPLandroid/database/sqlite/SQLiteConnectionPool;->finalize()V -HSPLandroid/database/sqlite/SQLiteConnectionPool;->finishAcquireConnectionLocked(Landroid/database/sqlite/SQLiteConnection;I)V +HSPLandroid/database/sqlite/SQLiteConnectionPool;->finishAcquireConnectionLocked(Landroid/database/sqlite/SQLiteConnection;I)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap; HSPLandroid/database/sqlite/SQLiteConnectionPool;->getPath()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteConnectionPool;->getPriority(I)I HSPLandroid/database/sqlite/SQLiteConnectionPool;->isSessionBlockingImportantConnectionWaitersLocked(ZI)Z HSPLandroid/database/sqlite/SQLiteConnectionPool;->markAcquiredConnectionsLocked(Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;)V HSPLandroid/database/sqlite/SQLiteConnectionPool;->obtainConnectionWaiterLocked(Ljava/lang/Thread;JIZLjava/lang/String;I)Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter; -HSPLandroid/database/sqlite/SQLiteConnectionPool;->onStatementExecuted(J)V +HSPLandroid/database/sqlite/SQLiteConnectionPool;->onStatementExecuted(J)V+]Ljava/util/concurrent/atomic/AtomicLong;Ljava/util/concurrent/atomic/AtomicLong; HSPLandroid/database/sqlite/SQLiteConnectionPool;->open()V HSPLandroid/database/sqlite/SQLiteConnectionPool;->open(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)Landroid/database/sqlite/SQLiteConnectionPool; HSPLandroid/database/sqlite/SQLiteConnectionPool;->openConnectionLocked(Landroid/database/sqlite/SQLiteDatabaseConfiguration;Z)Landroid/database/sqlite/SQLiteConnection; @@ -5709,23 +5736,23 @@ HSPLandroid/database/sqlite/SQLiteConnectionPool;->reconfigure(Landroid/database HSPLandroid/database/sqlite/SQLiteConnectionPool;->reconfigureAllConnectionsLocked()V HSPLandroid/database/sqlite/SQLiteConnectionPool;->recycleConnectionLocked(Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;)Z HSPLandroid/database/sqlite/SQLiteConnectionPool;->recycleConnectionWaiterLocked(Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;)V -HSPLandroid/database/sqlite/SQLiteConnectionPool;->releaseConnection(Landroid/database/sqlite/SQLiteConnection;)V +HSPLandroid/database/sqlite/SQLiteConnectionPool;->releaseConnection(Landroid/database/sqlite/SQLiteConnection;)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteConnectionPool;->setMaxConnectionPoolSizeLocked()V HSPLandroid/database/sqlite/SQLiteConnectionPool;->shouldYieldConnection(Landroid/database/sqlite/SQLiteConnection;I)Z HSPLandroid/database/sqlite/SQLiteConnectionPool;->throwIfClosedLocked()V -HSPLandroid/database/sqlite/SQLiteConnectionPool;->tryAcquireNonPrimaryConnectionLocked(Ljava/lang/String;I)Landroid/database/sqlite/SQLiteConnection; +HSPLandroid/database/sqlite/SQLiteConnectionPool;->tryAcquireNonPrimaryConnectionLocked(Ljava/lang/String;I)Landroid/database/sqlite/SQLiteConnection;+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Ljava/util/WeakHashMap;Ljava/util/WeakHashMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteConnectionPool;->tryAcquirePrimaryConnectionLocked(I)Landroid/database/sqlite/SQLiteConnection; -HSPLandroid/database/sqlite/SQLiteConnectionPool;->waitForConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection; +HSPLandroid/database/sqlite/SQLiteConnectionPool;->waitForConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection;+]Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean; HSPLandroid/database/sqlite/SQLiteConnectionPool;->wakeConnectionWaitersLocked()V HSPLandroid/database/sqlite/SQLiteConstraintException;-><init>(Ljava/lang/String;)V -HSPLandroid/database/sqlite/SQLiteCursor;-><init>(Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)V -HSPLandroid/database/sqlite/SQLiteCursor;->close()V -HSPLandroid/database/sqlite/SQLiteCursor;->fillWindow(I)V +HSPLandroid/database/sqlite/SQLiteCursor;-><init>(Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)V+]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery; +HSPLandroid/database/sqlite/SQLiteCursor;->close()V+]Landroid/database/sqlite/SQLiteCursorDriver;Landroid/database/sqlite/SQLiteDirectCursorDriver;]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery; +HSPLandroid/database/sqlite/SQLiteCursor;->fillWindow(I)V+]Landroid/database/CursorWindow;Landroid/database/CursorWindow;]Landroid/database/sqlite/SQLiteCursor;Landroid/database/sqlite/SQLiteCursor;]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteCursor;->finalize()V -HSPLandroid/database/sqlite/SQLiteCursor;->getColumnIndex(Ljava/lang/String;)I +HSPLandroid/database/sqlite/SQLiteCursor;->getColumnIndex(Ljava/lang/String;)I+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/Map;Ljava/util/HashMap; HSPLandroid/database/sqlite/SQLiteCursor;->getColumnNames()[Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteCursor;->getCount()I -HSPLandroid/database/sqlite/SQLiteCursor;->getDatabase()Landroid/database/sqlite/SQLiteDatabase; +HSPLandroid/database/sqlite/SQLiteCursor;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;+]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteCursor;->onMove(II)Z+]Landroid/database/CursorWindow;Landroid/database/CursorWindow; HSPLandroid/database/sqlite/SQLiteDatabase$$ExternalSyntheticLambda0;-><init>(Landroid/database/sqlite/SQLiteDatabase;)V HSPLandroid/database/sqlite/SQLiteDatabase$$ExternalSyntheticLambda0;->get()Ljava/lang/Object; @@ -5752,13 +5779,13 @@ HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->-$$Nest$fgetmOpenFlags(L HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->-$$Nest$fgetmSyncMode(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;-><init>(ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;-><init>(ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$OpenParams-IA;)V -HSPLandroid/database/sqlite/SQLiteDatabase;-><init>(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V +HSPLandroid/database/sqlite/SQLiteDatabase;-><init>(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V+]Landroid/database/sqlite/SQLiteDatabaseConfiguration;Landroid/database/sqlite/SQLiteDatabaseConfiguration; HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransaction()V HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransaction(Landroid/database/sqlite/SQLiteTransactionListener;Z)V HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionNonExclusive()V HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionWithListener(Landroid/database/sqlite/SQLiteTransactionListener;)V HSPLandroid/database/sqlite/SQLiteDatabase;->collectDbStats(Ljava/util/ArrayList;)V -HSPLandroid/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;+]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; +HSPLandroid/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement; HSPLandroid/database/sqlite/SQLiteDatabase;->createSession()Landroid/database/sqlite/SQLiteSession; HSPLandroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;)Z @@ -5773,7 +5800,7 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V HSPLandroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;[Ljava/lang/Object;)V HSPLandroid/database/sqlite/SQLiteDatabase;->executeSql(Ljava/lang/String;[Ljava/lang/Object;)I HSPLandroid/database/sqlite/SQLiteDatabase;->finalize()V -HSPLandroid/database/sqlite/SQLiteDatabase;->findEditTable(Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/database/sqlite/SQLiteDatabase;->findEditTable(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabase;->getActiveDatabasePools()Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteDatabase;->getActiveDatabases()Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteDatabase;->getFileTimestamps(Ljava/lang/String;)Ljava/lang/String; @@ -5781,12 +5808,12 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->getMaximumSize()J HSPLandroid/database/sqlite/SQLiteDatabase;->getPageSize()J HSPLandroid/database/sqlite/SQLiteDatabase;->getPath()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadDefaultConnectionFlags(Z)I -HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadSession()Landroid/database/sqlite/SQLiteSession; +HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadSession()Landroid/database/sqlite/SQLiteSession;+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; HSPLandroid/database/sqlite/SQLiteDatabase;->getVersion()I -HSPLandroid/database/sqlite/SQLiteDatabase;->inTransaction()Z +HSPLandroid/database/sqlite/SQLiteDatabase;->inTransaction()Z+]Landroid/database/sqlite/SQLiteSession;Landroid/database/sqlite/SQLiteSession;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J HSPLandroid/database/sqlite/SQLiteDatabase;->insertOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J -HSPLandroid/database/sqlite/SQLiteDatabase;->insertWithOnConflict(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;I)J+]Landroid/content/ContentValues;Landroid/content/ContentValues;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase;]Landroid/database/sqlite/SQLiteStatement;Landroid/database/sqlite/SQLiteStatement;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; +HSPLandroid/database/sqlite/SQLiteDatabase;->insertWithOnConflict(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;I)J HSPLandroid/database/sqlite/SQLiteDatabase;->isMainThread()Z HSPLandroid/database/sqlite/SQLiteDatabase;->isOpen()Z HSPLandroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z @@ -5804,11 +5831,11 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang HSPLandroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; HSPLandroid/database/sqlite/SQLiteDatabase;->query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; HSPLandroid/database/sqlite/SQLiteDatabase;->query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor; -HSPLandroid/database/sqlite/SQLiteDatabase;->queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor; +HSPLandroid/database/sqlite/SQLiteDatabase;->queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;+]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; HSPLandroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor; -HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor; +HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;+]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; +HSPLandroid/database/sqlite/SQLiteDatabase;->rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;+]Landroid/database/sqlite/SQLiteCursorDriver;Landroid/database/sqlite/SQLiteDirectCursorDriver;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteDatabase;->releaseMemory()I HSPLandroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J HSPLandroid/database/sqlite/SQLiteDatabase;->replaceOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J @@ -5816,26 +5843,26 @@ HSPLandroid/database/sqlite/SQLiteDatabase;->setForeignKeyConstraintsEnabled(Z)V HSPLandroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V HSPLandroid/database/sqlite/SQLiteDatabase;->throwIfNotOpenLocked()V HSPLandroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I -HSPLandroid/database/sqlite/SQLiteDatabase;->updateWithOnConflict(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;I)I +HSPLandroid/database/sqlite/SQLiteDatabase;->updateWithOnConflict(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;I)I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ContentValues;Landroid/content/ContentValues;]Landroid/database/sqlite/SQLiteStatement;Landroid/database/sqlite/SQLiteStatement;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;]Ljava/util/Set;Landroid/util/MapCollections$KeySet; HSPLandroid/database/sqlite/SQLiteDatabase;->validateSql(Ljava/lang/String;Landroid/os/CancellationSignal;)V HSPLandroid/database/sqlite/SQLiteDatabase;->yieldIfContendedHelper(ZJ)Z HSPLandroid/database/sqlite/SQLiteDatabase;->yieldIfContendedSafely(J)Z HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Ljava/lang/String;I)V -HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isInMemoryDb()Z +HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isInMemoryDb()Z+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isLegacyCompatibilityWalEnabled()Z HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isReadOnlyDatabase()Z HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->isWalEnabledInternal()Z HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->resolveJournalMode()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->resolveSyncMode()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->stripPathForLogs(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V +HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Object;Ljava/lang/String;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/database/sqlite/SQLiteDebug$NoPreloadHolder;-><clinit>()V HSPLandroid/database/sqlite/SQLiteDebug;->getDatabaseInfo()Landroid/database/sqlite/SQLiteDebug$PagerStats; HSPLandroid/database/sqlite/SQLiteDebug;->shouldLogSlowQuery(J)Z HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)V HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->cursorClosed()V -HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->query(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;[Ljava/lang/String;)Landroid/database/Cursor; +HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->query(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;[Ljava/lang/String;)Landroid/database/Cursor;+]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteException;-><init>(Ljava/lang/String;)V HSPLandroid/database/sqlite/SQLiteGlobal;->checkDbWipe()Z HSPLandroid/database/sqlite/SQLiteGlobal;->getDefaultJournalMode()Ljava/lang/String; @@ -5852,7 +5879,7 @@ HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;L HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;IILandroid/database/DatabaseErrorHandler;)V HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)V HSPLandroid/database/sqlite/SQLiteOpenHelper;->close()V -HSPLandroid/database/sqlite/SQLiteOpenHelper;->getDatabaseLocked(Z)Landroid/database/sqlite/SQLiteDatabase; +HSPLandroid/database/sqlite/SQLiteOpenHelper;->getDatabaseLocked(Z)Landroid/database/sqlite/SQLiteDatabase;+]Ljava/io/File;Ljava/io/File;]Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteOpenHelper;->getDatabaseName()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteOpenHelper;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteOpenHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; @@ -5862,9 +5889,9 @@ HSPLandroid/database/sqlite/SQLiteOpenHelper;->setFilePermissionsForDb(Ljava/lan HSPLandroid/database/sqlite/SQLiteOpenHelper;->setIdleConnectionTimeout(J)V HSPLandroid/database/sqlite/SQLiteOpenHelper;->setOpenParamsBuilder(Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V HSPLandroid/database/sqlite/SQLiteOpenHelper;->setWriteAheadLoggingEnabled(Z)V -HSPLandroid/database/sqlite/SQLiteProgram;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V +HSPLandroid/database/sqlite/SQLiteProgram;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/database/sqlite/SQLiteSession;Landroid/database/sqlite/SQLiteSession;]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteProgram;->bind(ILjava/lang/Object;)V -HSPLandroid/database/sqlite/SQLiteProgram;->bindAllArgsAsStrings([Ljava/lang/String;)V +HSPLandroid/database/sqlite/SQLiteProgram;->bindAllArgsAsStrings([Ljava/lang/String;)V+]Landroid/database/sqlite/SQLiteProgram;Landroid/database/sqlite/SQLiteQuery;,Landroid/database/sqlite/SQLiteStatement; HSPLandroid/database/sqlite/SQLiteProgram;->bindBlob(I[B)V HSPLandroid/database/sqlite/SQLiteProgram;->bindDouble(ID)V HSPLandroid/database/sqlite/SQLiteProgram;->bindLong(IJ)V @@ -5873,19 +5900,19 @@ HSPLandroid/database/sqlite/SQLiteProgram;->bindString(ILjava/lang/String;)V HSPLandroid/database/sqlite/SQLiteProgram;->clearBindings()V HSPLandroid/database/sqlite/SQLiteProgram;->getBindArgs()[Ljava/lang/Object; HSPLandroid/database/sqlite/SQLiteProgram;->getColumnNames()[Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteProgram;->getConnectionFlags()I +HSPLandroid/database/sqlite/SQLiteProgram;->getConnectionFlags()I+]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteProgram;->getDatabase()Landroid/database/sqlite/SQLiteDatabase; -HSPLandroid/database/sqlite/SQLiteProgram;->getSession()Landroid/database/sqlite/SQLiteSession; +HSPLandroid/database/sqlite/SQLiteProgram;->getSession()Landroid/database/sqlite/SQLiteSession;+]Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteDatabase; HSPLandroid/database/sqlite/SQLiteProgram;->getSql()Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteProgram;->onAllReferencesReleased()V +HSPLandroid/database/sqlite/SQLiteProgram;->onAllReferencesReleased()V+]Landroid/database/sqlite/SQLiteProgram;Landroid/database/sqlite/SQLiteStatement;,Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteQuery;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Landroid/os/CancellationSignal;)V -HSPLandroid/database/sqlite/SQLiteQuery;->fillWindow(Landroid/database/CursorWindow;IIZ)I +HSPLandroid/database/sqlite/SQLiteQuery;->fillWindow(Landroid/database/CursorWindow;IIZ)I+]Landroid/database/sqlite/SQLiteSession;Landroid/database/sqlite/SQLiteSession;]Landroid/database/CursorWindow;Landroid/database/CursorWindow;]Landroid/database/sqlite/SQLiteQuery;Landroid/database/sqlite/SQLiteQuery; HSPLandroid/database/sqlite/SQLiteQueryBuilder;-><init>()V -HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V -HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)V +HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendClause(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendWhere(Ljava/lang/CharSequence;)V HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQuery([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQueryString(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQueryString(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeProjection([Ljava/lang/String;)[Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeSingleProjection(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeSingleProjectionOrThrow(Ljava/lang/String;)Ljava/lang/String; @@ -5905,25 +5932,25 @@ HSPLandroid/database/sqlite/SQLiteQueryBuilder;->wrap(Ljava/lang/String;)Ljava/l HSPLandroid/database/sqlite/SQLiteSession$Transaction;-><init>()V HSPLandroid/database/sqlite/SQLiteSession$Transaction;-><init>(Landroid/database/sqlite/SQLiteSession$Transaction-IA;)V HSPLandroid/database/sqlite/SQLiteSession;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;)V -HSPLandroid/database/sqlite/SQLiteSession;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)V +HSPLandroid/database/sqlite/SQLiteSession;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)V+]Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteConnectionPool; HSPLandroid/database/sqlite/SQLiteSession;->beginTransaction(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V HSPLandroid/database/sqlite/SQLiteSession;->beginTransactionUnchecked(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V HSPLandroid/database/sqlite/SQLiteSession;->closeOpenDependents()V+]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque; HSPLandroid/database/sqlite/SQLiteSession;->endTransaction(Landroid/os/CancellationSignal;)V HSPLandroid/database/sqlite/SQLiteSession;->endTransactionUnchecked(Landroid/os/CancellationSignal;Z)V -HSPLandroid/database/sqlite/SQLiteSession;->execute(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)V -HSPLandroid/database/sqlite/SQLiteSession;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)I -HSPLandroid/database/sqlite/SQLiteSession;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZILandroid/os/CancellationSignal;)I +HSPLandroid/database/sqlite/SQLiteSession;->execute(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection; +HSPLandroid/database/sqlite/SQLiteSession;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)I+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection; +HSPLandroid/database/sqlite/SQLiteSession;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZILandroid/os/CancellationSignal;)I+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection; HSPLandroid/database/sqlite/SQLiteSession;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J HSPLandroid/database/sqlite/SQLiteSession;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J HSPLandroid/database/sqlite/SQLiteSession;->executeForString(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Ljava/lang/String; -HSPLandroid/database/sqlite/SQLiteSession;->executeSpecial(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z +HSPLandroid/database/sqlite/SQLiteSession;->executeSpecial(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z+]Landroid/os/CancellationSignal;Landroid/os/CancellationSignal; HSPLandroid/database/sqlite/SQLiteSession;->hasNestedTransaction()Z HSPLandroid/database/sqlite/SQLiteSession;->hasTransaction()Z HSPLandroid/database/sqlite/SQLiteSession;->obtainTransaction(ILandroid/database/sqlite/SQLiteTransactionListener;)Landroid/database/sqlite/SQLiteSession$Transaction; -HSPLandroid/database/sqlite/SQLiteSession;->prepare(Ljava/lang/String;ILandroid/os/CancellationSignal;Landroid/database/sqlite/SQLiteStatementInfo;)V +HSPLandroid/database/sqlite/SQLiteSession;->prepare(Ljava/lang/String;ILandroid/os/CancellationSignal;Landroid/database/sqlite/SQLiteStatementInfo;)V+]Landroid/database/sqlite/SQLiteConnection;Landroid/database/sqlite/SQLiteConnection;]Landroid/os/CancellationSignal;Landroid/os/CancellationSignal; HSPLandroid/database/sqlite/SQLiteSession;->recycleTransaction(Landroid/database/sqlite/SQLiteSession$Transaction;)V -HSPLandroid/database/sqlite/SQLiteSession;->releaseConnection()V +HSPLandroid/database/sqlite/SQLiteSession;->releaseConnection()V+]Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteConnectionPool; HSPLandroid/database/sqlite/SQLiteSession;->setTransactionSuccessful()V HSPLandroid/database/sqlite/SQLiteSession;->throwIfNestedTransaction()V HSPLandroid/database/sqlite/SQLiteSession;->throwIfNoTransaction()V @@ -5933,7 +5960,7 @@ HSPLandroid/database/sqlite/SQLiteSession;->yieldTransactionUnchecked(JLandroid/ HSPLandroid/database/sqlite/SQLiteStatement;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;)V HSPLandroid/database/sqlite/SQLiteStatement;->execute()V+]Landroid/database/sqlite/SQLiteSession;Landroid/database/sqlite/SQLiteSession;]Landroid/database/sqlite/SQLiteStatement;Landroid/database/sqlite/SQLiteStatement; HSPLandroid/database/sqlite/SQLiteStatement;->executeInsert()J -HSPLandroid/database/sqlite/SQLiteStatement;->executeUpdateDelete()I +HSPLandroid/database/sqlite/SQLiteStatement;->executeUpdateDelete()I+]Landroid/database/sqlite/SQLiteSession;Landroid/database/sqlite/SQLiteSession;]Landroid/database/sqlite/SQLiteStatement;Landroid/database/sqlite/SQLiteStatement; HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForLong()J HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForString()Ljava/lang/String; HSPLandroid/database/sqlite/SQLiteStatementInfo;-><init>()V @@ -5968,33 +5995,33 @@ HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/g HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V HSPLandroid/graphics/BaseCanvas;->drawColor(I)V HSPLandroid/graphics/BaseCanvas;->drawLine(FFFFLandroid/graphics/Paint;)V -HSPLandroid/graphics/BaseCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V+]Landroid/graphics/Path;Landroid/graphics/Path; +HSPLandroid/graphics/BaseCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V HSPLandroid/graphics/BaseCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V HSPLandroid/graphics/BaseCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V HSPLandroid/graphics/BaseCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V -HSPLandroid/graphics/BaseCanvas;->throwIfHasHwFeaturesInSwMode(Landroid/graphics/Paint;)V+]Landroid/graphics/BaseCanvas;Landroid/graphics/Canvas; +HSPLandroid/graphics/BaseCanvas;->throwIfHasHwFeaturesInSwMode(Landroid/graphics/Paint;)V HSPLandroid/graphics/BaseCanvas;->throwIfHasHwFeaturesInSwMode(Landroid/graphics/Shader;)V HSPLandroid/graphics/BaseCanvas;->throwIfHwBitmapInSwMode(Landroid/graphics/Bitmap;)V HSPLandroid/graphics/BaseRecordingCanvas;-><init>(J)V -HSPLandroid/graphics/BaseRecordingCanvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V +HSPLandroid/graphics/BaseRecordingCanvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V+]Landroid/graphics/BaseRecordingCanvas;Landroid/graphics/RecordingCanvas; HSPLandroid/graphics/BaseRecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V -HSPLandroid/graphics/BaseRecordingCanvas;->drawCircle(FFFLandroid/graphics/Paint;)V +HSPLandroid/graphics/BaseRecordingCanvas;->drawCircle(FFFLandroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint; HSPLandroid/graphics/BaseRecordingCanvas;->drawColor(I)V HSPLandroid/graphics/BaseRecordingCanvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawLine(FFFFLandroid/graphics/Paint;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawOval(FFFFLandroid/graphics/Paint;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V -HSPLandroid/graphics/BaseRecordingCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V+]Landroid/graphics/Paint;missing_types]Landroid/graphics/Path;Landroid/graphics/Path; +HSPLandroid/graphics/BaseRecordingCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/Path;Landroid/graphics/Path; HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(FFFFLandroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint; HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V+]Landroid/graphics/BaseRecordingCanvas;Landroid/graphics/RecordingCanvas; -HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint; +HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(FFFFFFLandroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint; -HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V+]Landroid/graphics/BaseRecordingCanvas;Landroid/graphics/RecordingCanvas; -HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V +HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V +HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/Layout$Ellipsizer; HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V -HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V +HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V+]Landroid/graphics/Paint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;Landroid/text/SpannableString; HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V HSPLandroid/graphics/Bitmap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Bitmap; HSPLandroid/graphics/Bitmap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -6075,7 +6102,7 @@ HSPLandroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;II)V HSPLandroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V HSPLandroid/graphics/BitmapShader;->createNativeInstance(JZ)J HSPLandroid/graphics/BitmapShader;->shouldDiscardNativeInstance(Z)Z -HSPLandroid/graphics/BlendMode;->blendModeToPorterDuffMode(Landroid/graphics/BlendMode;)Landroid/graphics/PorterDuff$Mode;+]Landroid/graphics/BlendMode;Landroid/graphics/BlendMode; +HSPLandroid/graphics/BlendMode;->blendModeToPorterDuffMode(Landroid/graphics/BlendMode;)Landroid/graphics/PorterDuff$Mode; HSPLandroid/graphics/BlendMode;->fromValue(I)Landroid/graphics/BlendMode; HSPLandroid/graphics/BlendMode;->getXfermode()Landroid/graphics/Xfermode; HSPLandroid/graphics/BlendMode;->toValue(Landroid/graphics/BlendMode;)I @@ -6139,8 +6166,8 @@ HSPLandroid/graphics/Canvas;->rotate(FFF)V HSPLandroid/graphics/Canvas;->save()I HSPLandroid/graphics/Canvas;->save(I)I HSPLandroid/graphics/Canvas;->saveLayer(FFFFLandroid/graphics/Paint;I)I -HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;)I+]Landroid/graphics/Canvas;Landroid/graphics/Canvas;,Landroid/graphics/RecordingCanvas; -HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I+]Landroid/graphics/Canvas;Landroid/graphics/Canvas;,Landroid/graphics/RecordingCanvas; +HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;)I +HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I HSPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFI)I HSPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFII)I HSPLandroid/graphics/Canvas;->saveUnclippedLayer(IIII)I @@ -6173,7 +6200,7 @@ HSPLandroid/graphics/Color;->green()F HSPLandroid/graphics/Color;->green(I)I HSPLandroid/graphics/Color;->green(J)F HSPLandroid/graphics/Color;->luminance()F -HSPLandroid/graphics/Color;->pack(FFFFLandroid/graphics/ColorSpace;)J+]Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$Rgb; +HSPLandroid/graphics/Color;->pack(FFFFLandroid/graphics/ColorSpace;)J HSPLandroid/graphics/Color;->pack(I)J HSPLandroid/graphics/Color;->parseColor(Ljava/lang/String;)I HSPLandroid/graphics/Color;->red()F @@ -6299,8 +6326,8 @@ HSPLandroid/graphics/HardwareRendererObserver$$ExternalSyntheticLambda0;-><init> HSPLandroid/graphics/HardwareRendererObserver$$ExternalSyntheticLambda0;->run()V HSPLandroid/graphics/HardwareRendererObserver;-><init>(Landroid/graphics/HardwareRendererObserver$OnFrameMetricsAvailableListener;[JLandroid/os/Handler;Z)V HSPLandroid/graphics/HardwareRendererObserver;->getNativeInstance()J -HSPLandroid/graphics/HardwareRendererObserver;->invokeDataAvailable(Ljava/lang/ref/WeakReference;)Z -HSPLandroid/graphics/HardwareRendererObserver;->notifyDataAvailable()V +HSPLandroid/graphics/HardwareRendererObserver;->invokeDataAvailable(Ljava/lang/ref/WeakReference;)Z+]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/graphics/HardwareRendererObserver;->notifyDataAvailable()V+]Landroid/os/Handler;Landroid/os/Handler;,Landroid/view/ViewRootImpl$ViewRootHandler; HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;-><init>(Landroid/content/res/AssetManager$AssetInputStream;Landroid/content/res/Resources;Landroid/util/TypedValue;)V HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->createImageDecoder(Z)Landroid/graphics/ImageDecoder; HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->getDensity()I @@ -6365,18 +6392,18 @@ HSPLandroid/graphics/LeakyTypefaceStorage;->writeTypefaceToParcel(Landroid/graph HSPLandroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V HSPLandroid/graphics/LinearGradient;-><init>(FFFFJJLandroid/graphics/Shader$TileMode;)V HSPLandroid/graphics/LinearGradient;-><init>(FFFF[I[FLandroid/graphics/Shader$TileMode;)V -HSPLandroid/graphics/LinearGradient;-><init>(FFFF[J[FLandroid/graphics/Shader$TileMode;)V +HSPLandroid/graphics/LinearGradient;-><init>(FFFF[J[FLandroid/graphics/Shader$TileMode;)V+][J[J HSPLandroid/graphics/LinearGradient;-><init>(FFFF[J[FLandroid/graphics/Shader$TileMode;Landroid/graphics/ColorSpace;)V -HSPLandroid/graphics/LinearGradient;->createNativeInstance(JZ)J+]Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$Rgb;]Landroid/graphics/LinearGradient;Landroid/graphics/LinearGradient; +HSPLandroid/graphics/LinearGradient;->createNativeInstance(JZ)J HSPLandroid/graphics/MaskFilter;->finalize()V HSPLandroid/graphics/Matrix;-><init>()V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; -HSPLandroid/graphics/Matrix;-><init>(Landroid/graphics/Matrix;)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/graphics/Matrix;-><init>(Landroid/graphics/Matrix;)V HSPLandroid/graphics/Matrix;->checkPointArrays([FI[FII)V HSPLandroid/graphics/Matrix;->equals(Ljava/lang/Object;)Z HSPLandroid/graphics/Matrix;->getValues([F)V HSPLandroid/graphics/Matrix;->invert(Landroid/graphics/Matrix;)Z HSPLandroid/graphics/Matrix;->isIdentity()Z -HSPLandroid/graphics/Matrix;->mapPoints([F)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; +HSPLandroid/graphics/Matrix;->mapPoints([F)V HSPLandroid/graphics/Matrix;->mapPoints([FI[FII)V HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z @@ -6414,18 +6441,18 @@ HSPLandroid/graphics/Outline;-><init>()V HSPLandroid/graphics/Outline;->isEmpty()Z HSPLandroid/graphics/Outline;->setAlpha(F)V HSPLandroid/graphics/Outline;->setConvexPath(Landroid/graphics/Path;)V -HSPLandroid/graphics/Outline;->setEmpty()V+]Landroid/graphics/Path;Landroid/graphics/Path;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/graphics/Outline;->setEmpty()V+]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/graphics/Outline;->setOval(IIII)V HSPLandroid/graphics/Outline;->setOval(Landroid/graphics/Rect;)V HSPLandroid/graphics/Outline;->setPath(Landroid/graphics/Path;)V -HSPLandroid/graphics/Outline;->setRect(IIII)V +HSPLandroid/graphics/Outline;->setRect(IIII)V+]Landroid/graphics/Outline;Landroid/graphics/Outline; HSPLandroid/graphics/Outline;->setRect(Landroid/graphics/Rect;)V -HSPLandroid/graphics/Outline;->setRoundRect(IIIIF)V+]Landroid/graphics/Outline;Landroid/graphics/Outline;]Landroid/graphics/Rect;Landroid/graphics/Rect; -HSPLandroid/graphics/Outline;->setRoundRect(Landroid/graphics/Rect;F)V+]Landroid/graphics/Outline;Landroid/graphics/Outline; +HSPLandroid/graphics/Outline;->setRoundRect(IIIIF)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/Outline;Landroid/graphics/Outline; +HSPLandroid/graphics/Outline;->setRoundRect(Landroid/graphics/Rect;F)V HSPLandroid/graphics/Paint$FontMetrics;-><init>()V HSPLandroid/graphics/Paint$FontMetricsInt;-><init>()V HSPLandroid/graphics/Paint;-><init>()V -HSPLandroid/graphics/Paint;-><init>(I)V+]Landroid/graphics/Paint;missing_types]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/graphics/Paint;-><init>(I)V+]Landroid/graphics/Paint;Landroid/graphics/Paint;,Landroid/text/TextPaint;]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; HSPLandroid/graphics/Paint;-><init>(Landroid/graphics/Paint;)V HSPLandroid/graphics/Paint;->ascent()F HSPLandroid/graphics/Paint;->descent()F @@ -6437,17 +6464,18 @@ HSPLandroid/graphics/Paint;->getFlags()I HSPLandroid/graphics/Paint;->getFontFeatureSettings()Ljava/lang/String; HSPLandroid/graphics/Paint;->getFontMetrics()Landroid/graphics/Paint$FontMetrics; HSPLandroid/graphics/Paint;->getFontMetrics(Landroid/graphics/Paint$FontMetrics;)F -HSPLandroid/graphics/Paint;->getFontMetricsInt()Landroid/graphics/Paint$FontMetricsInt; +HSPLandroid/graphics/Paint;->getFontMetricsInt()Landroid/graphics/Paint$FontMetricsInt;+]Landroid/graphics/Paint;Landroid/text/TextPaint; HSPLandroid/graphics/Paint;->getFontMetricsInt(Landroid/graphics/Paint$FontMetricsInt;)I -HSPLandroid/graphics/Paint;->getFontMetricsInt(Ljava/lang/CharSequence;IIIIZLandroid/graphics/Paint$FontMetricsInt;)V+]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/graphics/Paint;->getFontMetricsInt(Ljava/lang/CharSequence;IIIIZLandroid/graphics/Paint$FontMetricsInt;)V HSPLandroid/graphics/Paint;->getFontVariationSettings()Ljava/lang/String; HSPLandroid/graphics/Paint;->getHinting()I HSPLandroid/graphics/Paint;->getLetterSpacing()F HSPLandroid/graphics/Paint;->getMaskFilter()Landroid/graphics/MaskFilter; -HSPLandroid/graphics/Paint;->getNativeInstance()J+]Landroid/graphics/ColorFilter;Landroid/graphics/BlendModeColorFilter;,Landroid/graphics/PorterDuffColorFilter;]Landroid/graphics/Paint;missing_types]Landroid/graphics/Shader;Landroid/graphics/BitmapShader;,Landroid/graphics/LinearGradient;,Landroid/graphics/drawable/RippleShader; +HSPLandroid/graphics/Paint;->getNativeInstance()J+]Landroid/graphics/ColorFilter;Landroid/graphics/PorterDuffColorFilter;,Landroid/graphics/BlendModeColorFilter;]Landroid/graphics/Paint;missing_types]Landroid/graphics/Shader;Landroid/graphics/LinearGradient;,Landroid/graphics/drawable/RippleShader;,Landroid/graphics/BitmapShader;,Landroid/graphics/RadialGradient; HSPLandroid/graphics/Paint;->getRunAdvance(Ljava/lang/CharSequence;IIIIZI)F HSPLandroid/graphics/Paint;->getRunAdvance([CIIIIZI)F HSPLandroid/graphics/Paint;->getRunCharacterAdvance(Ljava/lang/CharSequence;IIIIZI[FI)F +HSPLandroid/graphics/Paint;->getRunCharacterAdvance(Ljava/lang/CharSequence;IIIIZI[FILandroid/graphics/RectF;Landroid/graphics/Paint$RunInfo;)F+]Landroid/graphics/Paint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;megamorphic_types HSPLandroid/graphics/Paint;->getRunCharacterAdvance([CIIIIZI[FI)F HSPLandroid/graphics/Paint;->getShader()Landroid/graphics/Shader; HSPLandroid/graphics/Paint;->getShadowLayerColor()I @@ -6461,7 +6489,7 @@ HSPLandroid/graphics/Paint;->getStrokeMiter()F HSPLandroid/graphics/Paint;->getStrokeWidth()F HSPLandroid/graphics/Paint;->getStyle()Landroid/graphics/Paint$Style; HSPLandroid/graphics/Paint;->getTextAlign()Landroid/graphics/Paint$Align; -HSPLandroid/graphics/Paint;->getTextBounds(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V +HSPLandroid/graphics/Paint;->getTextBounds(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V+]Landroid/graphics/Paint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;Landroid/text/SpannableString; HSPLandroid/graphics/Paint;->getTextBounds(Ljava/lang/String;IILandroid/graphics/Rect;)V HSPLandroid/graphics/Paint;->getTextBounds([CIILandroid/graphics/Rect;)V HSPLandroid/graphics/Paint;->getTextLocale()Ljava/util/Locale; @@ -6507,7 +6535,7 @@ HSPLandroid/graphics/Paint;->setMaskFilter(Landroid/graphics/MaskFilter;)Landroi HSPLandroid/graphics/Paint;->setPathEffect(Landroid/graphics/PathEffect;)Landroid/graphics/PathEffect; HSPLandroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader; HSPLandroid/graphics/Paint;->setShadowLayer(FFFI)V -HSPLandroid/graphics/Paint;->setShadowLayer(FFFJ)V+]Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$Rgb; +HSPLandroid/graphics/Paint;->setShadowLayer(FFFJ)V HSPLandroid/graphics/Paint;->setStartHyphenEdit(I)V HSPLandroid/graphics/Paint;->setStrokeCap(Landroid/graphics/Paint$Cap;)V HSPLandroid/graphics/Paint;->setStrokeJoin(Landroid/graphics/Paint$Join;)V @@ -6522,9 +6550,9 @@ HSPLandroid/graphics/Paint;->setTextSkewX(F)V HSPLandroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface; HSPLandroid/graphics/Paint;->setUnderlineText(Z)V HSPLandroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode; -HSPLandroid/graphics/Paint;->syncTextLocalesWithMinikin()V+]Landroid/os/LocaleList;Landroid/os/LocaleList;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/graphics/Paint;->syncTextLocalesWithMinikin()V+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/os/LocaleList;Landroid/os/LocaleList; HSPLandroid/graphics/PaintFlagsDrawFilter;-><init>(II)V -HSPLandroid/graphics/Path;-><init>()V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/graphics/Path;-><init>()V HSPLandroid/graphics/Path;-><init>(Landroid/graphics/Path;)V HSPLandroid/graphics/Path;->addArc(FFFFFF)V HSPLandroid/graphics/Path;->addArc(Landroid/graphics/RectF;FF)V @@ -6533,7 +6561,7 @@ HSPLandroid/graphics/Path;->addOval(FFFFLandroid/graphics/Path$Direction;)V HSPLandroid/graphics/Path;->addOval(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V HSPLandroid/graphics/Path;->addPath(Landroid/graphics/Path;Landroid/graphics/Matrix;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/graphics/Path;->addRect(FFFFLandroid/graphics/Path$Direction;)V -HSPLandroid/graphics/Path;->addRect(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V+]Landroid/graphics/Path;Landroid/graphics/Path; +HSPLandroid/graphics/Path;->addRect(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V HSPLandroid/graphics/Path;->addRoundRect(FFFFFFLandroid/graphics/Path$Direction;)V HSPLandroid/graphics/Path;->addRoundRect(FFFF[FLandroid/graphics/Path$Direction;)V HSPLandroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Path$Direction;)V @@ -6551,8 +6579,8 @@ HSPLandroid/graphics/Path;->isEmpty()Z HSPLandroid/graphics/Path;->lineTo(FF)V HSPLandroid/graphics/Path;->moveTo(FF)V HSPLandroid/graphics/Path;->offset(FF)V -HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z+]Landroid/graphics/Path;Landroid/graphics/Path; -HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z+]Landroid/graphics/Path$Op;Landroid/graphics/Path$Op; +HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z +HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z HSPLandroid/graphics/Path;->rLineTo(FF)V HSPLandroid/graphics/Path;->readOnlyNI()J HSPLandroid/graphics/Path;->reset()V+]Landroid/graphics/Path;Landroid/graphics/Path; @@ -6592,7 +6620,7 @@ HSPLandroid/graphics/Point;->toString()Ljava/lang/String; HSPLandroid/graphics/PointF;-><init>()V HSPLandroid/graphics/PointF;-><init>(FF)V HSPLandroid/graphics/PointF;->equals(FF)Z -HSPLandroid/graphics/PointF;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Landroid/graphics/PointF; +HSPLandroid/graphics/PointF;->equals(Ljava/lang/Object;)Z HSPLandroid/graphics/PointF;->length()F HSPLandroid/graphics/PointF;->length(FF)F HSPLandroid/graphics/PointF;->set(FF)V @@ -6619,8 +6647,8 @@ HSPLandroid/graphics/RecordingCanvas;->isHardwareAccelerated()Z HSPLandroid/graphics/RecordingCanvas;->obtain(Landroid/graphics/RenderNode;II)Landroid/graphics/RecordingCanvas;+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/graphics/RecordingCanvas;->recycle()V+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/graphics/RecordingCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V -HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Rect;+]Landroid/graphics/Rect;Landroid/graphics/Rect; -HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/graphics/Rect$1;Landroid/graphics/Rect$1; +HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Rect; +HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/graphics/Rect$1;->newArray(I)[Landroid/graphics/Rect; HSPLandroid/graphics/Rect$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/graphics/Rect;-><init>()V @@ -6647,7 +6675,7 @@ HSPLandroid/graphics/Rect;->isEmpty()Z HSPLandroid/graphics/Rect;->isValid()Z HSPLandroid/graphics/Rect;->offset(II)V HSPLandroid/graphics/Rect;->offsetTo(II)V -HSPLandroid/graphics/Rect;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/graphics/Rect;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/graphics/Rect;->scale(F)V HSPLandroid/graphics/Rect;->set(IIII)V HSPLandroid/graphics/Rect;->set(Landroid/graphics/Rect;)V @@ -6656,7 +6684,7 @@ HSPLandroid/graphics/Rect;->setIntersect(Landroid/graphics/Rect;Landroid/graphic HSPLandroid/graphics/Rect;->toShortString(Ljava/lang/StringBuilder;)Ljava/lang/String; HSPLandroid/graphics/Rect;->toString()Ljava/lang/String; HSPLandroid/graphics/Rect;->union(IIII)V -HSPLandroid/graphics/Rect;->union(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/graphics/Rect;->union(Landroid/graphics/Rect;)V HSPLandroid/graphics/Rect;->width()I HSPLandroid/graphics/Rect;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/graphics/RectF;-><init>()V @@ -6710,7 +6738,7 @@ HSPLandroid/graphics/RenderNode$CompositePositionUpdateListener;->without(Landro HSPLandroid/graphics/RenderNode$PositionUpdateListener;->callPositionChanged(Ljava/lang/ref/WeakReference;JIIII)Z HSPLandroid/graphics/RenderNode$PositionUpdateListener;->callPositionLost(Ljava/lang/ref/WeakReference;J)Z HSPLandroid/graphics/RenderNode;-><init>(J)V -HSPLandroid/graphics/RenderNode;-><init>(Ljava/lang/String;Landroid/graphics/RenderNode$AnimationHost;)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/graphics/RenderNode;-><init>(Ljava/lang/String;Landroid/graphics/RenderNode$AnimationHost;)V HSPLandroid/graphics/RenderNode;->addPositionUpdateListener(Landroid/graphics/RenderNode$PositionUpdateListener;)V HSPLandroid/graphics/RenderNode;->adopt(J)Landroid/graphics/RenderNode; HSPLandroid/graphics/RenderNode;->beginRecording(II)Landroid/graphics/RecordingCanvas; @@ -6720,7 +6748,7 @@ HSPLandroid/graphics/RenderNode;->discardDisplayList()V HSPLandroid/graphics/RenderNode;->endRecording()V+]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas; HSPLandroid/graphics/RenderNode;->getClipToOutline()Z HSPLandroid/graphics/RenderNode;->getElevation()F -HSPLandroid/graphics/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V +HSPLandroid/graphics/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/graphics/RenderNode;->getPivotY()F HSPLandroid/graphics/RenderNode;->getRotationX()F HSPLandroid/graphics/RenderNode;->getRotationY()F @@ -6737,7 +6765,7 @@ HSPLandroid/graphics/RenderNode;->offsetTopAndBottom(I)Z HSPLandroid/graphics/RenderNode;->removePositionUpdateListener(Landroid/graphics/RenderNode$PositionUpdateListener;)V HSPLandroid/graphics/RenderNode;->setAlpha(F)Z HSPLandroid/graphics/RenderNode;->setAmbientShadowColor(I)Z -HSPLandroid/graphics/RenderNode;->setAnimationMatrix(Landroid/graphics/Matrix;)Z+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; +HSPLandroid/graphics/RenderNode;->setAnimationMatrix(Landroid/graphics/Matrix;)Z HSPLandroid/graphics/RenderNode;->setClipToBounds(Z)Z HSPLandroid/graphics/RenderNode;->setClipToOutline(Z)Z HSPLandroid/graphics/RenderNode;->setElevation(F)Z @@ -6774,7 +6802,7 @@ HSPLandroid/graphics/Shader;->detectColorSpace([J)Landroid/graphics/ColorSpace; HSPLandroid/graphics/Shader;->discardNativeInstance()V HSPLandroid/graphics/Shader;->discardNativeInstanceLocked()V HSPLandroid/graphics/Shader;->getNativeInstance()J -HSPLandroid/graphics/Shader;->getNativeInstance(Z)J+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/Shader;Landroid/graphics/BitmapShader;,Landroid/graphics/LinearGradient;,Landroid/graphics/drawable/RippleShader;]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/graphics/Shader;->getNativeInstance(Z)J HSPLandroid/graphics/Shader;->setLocalMatrix(Landroid/graphics/Matrix;)V HSPLandroid/graphics/Shader;->shouldDiscardNativeInstance(Z)Z HSPLandroid/graphics/SurfaceTexture$1;->handleMessage(Landroid/os/Message;)V @@ -6792,7 +6820,7 @@ HSPLandroid/graphics/TextureLayer;-><init>(Landroid/graphics/HardwareRenderer;J) HSPLandroid/graphics/TextureLayer;->close()V HSPLandroid/graphics/TextureLayer;->detachSurfaceTexture()V HSPLandroid/graphics/Typeface$Builder;->build()Landroid/graphics/Typeface; -HSPLandroid/graphics/Typeface$Builder;->createAssetUid(Landroid/content/res/AssetManager;Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;IILjava/lang/String;)Ljava/lang/String;+]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/graphics/Typeface$Builder;->createAssetUid(Landroid/content/res/AssetManager;Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;IILjava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/content/res/AssetManager;Landroid/content/res/AssetManager; HSPLandroid/graphics/Typeface$CustomFallbackBuilder;-><init>(Landroid/graphics/fonts/FontFamily;)V HSPLandroid/graphics/Typeface$CustomFallbackBuilder;->build()Landroid/graphics/Typeface; HSPLandroid/graphics/Typeface$CustomFallbackBuilder;->setStyle(Landroid/graphics/fonts/FontStyle;)Landroid/graphics/Typeface$CustomFallbackBuilder; @@ -6806,9 +6834,9 @@ HSPLandroid/graphics/Typeface;->createWeightStyle(Landroid/graphics/Typeface;IZ) HSPLandroid/graphics/Typeface;->defaultFromStyle(I)Landroid/graphics/Typeface; HSPLandroid/graphics/Typeface;->deserializeFontMap(Ljava/nio/ByteBuffer;Ljava/util/Map;)[J HSPLandroid/graphics/Typeface;->equals(Ljava/lang/Object;)Z -HSPLandroid/graphics/Typeface;->findFromCache(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;+]Landroid/util/LruCache;Landroid/util/LruCache; +HSPLandroid/graphics/Typeface;->findFromCache(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface; HSPLandroid/graphics/Typeface;->getStyle()I -HSPLandroid/graphics/Typeface;->getSystemDefaultTypeface(Ljava/lang/String;)Landroid/graphics/Typeface;+]Ljava/util/Map;Landroid/util/ArrayMap; +HSPLandroid/graphics/Typeface;->getSystemDefaultTypeface(Ljava/lang/String;)Landroid/graphics/Typeface; HSPLandroid/graphics/Typeface;->getSystemFontFamilyName()Ljava/lang/String; HSPLandroid/graphics/Typeface;->hasFontFamily(Ljava/lang/String;)Z HSPLandroid/graphics/Typeface;->readString(Ljava/nio/ByteBuffer;)Ljava/lang/String; @@ -6917,7 +6945,7 @@ HSPLandroid/graphics/drawable/AnimatedVectorDrawable$2;->onAnimationEnd(Landroid HSPLandroid/graphics/drawable/AnimatedVectorDrawable$2;->onAnimationStart(Landroid/animation/Animator;)V HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;-><init>(IFLjava/lang/String;)V HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/animation/Animator; -HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/graphics/drawable/Drawable$Callback;Landroid/content/res/Resources;)V +HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/graphics/drawable/Drawable$Callback;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/Drawable$ConstantState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable; HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->addPendingAnimator(IFLjava/lang/String;)V HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->addTargetAnimator(Ljava/lang/String;Landroid/animation/Animator;)V HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->canApplyTheme()Z @@ -7071,7 +7099,7 @@ HSPLandroid/graphics/drawable/ColorDrawable;-><init>(Landroid/graphics/drawable/ HSPLandroid/graphics/drawable/ColorDrawable;-><init>(Landroid/graphics/drawable/ColorDrawable$ColorState;Landroid/content/res/Resources;Landroid/graphics/drawable/ColorDrawable-IA;)V HSPLandroid/graphics/drawable/ColorDrawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/ColorDrawable;->clearMutated()V -HSPLandroid/graphics/drawable/ColorDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/drawable/ColorDrawable;Landroid/graphics/drawable/ColorDrawable; +HSPLandroid/graphics/drawable/ColorDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/drawable/ColorDrawable;Landroid/graphics/drawable/ColorDrawable;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/graphics/drawable/ColorDrawable;->getAlpha()I HSPLandroid/graphics/drawable/ColorDrawable;->getChangingConfigurations()I HSPLandroid/graphics/drawable/ColorDrawable;->getColor()I @@ -7086,7 +7114,7 @@ HSPLandroid/graphics/drawable/ColorDrawable;->setAlpha(I)V HSPLandroid/graphics/drawable/ColorDrawable;->setColor(I)V HSPLandroid/graphics/drawable/ColorDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V HSPLandroid/graphics/drawable/ColorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V -HSPLandroid/graphics/drawable/ColorDrawable;->updateLocalState(Landroid/content/res/Resources;)V +HSPLandroid/graphics/drawable/ColorDrawable;->updateLocalState(Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/ColorDrawable;Landroid/graphics/drawable/ColorDrawable; HSPLandroid/graphics/drawable/ColorDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/Drawable$ConstantState;-><init>()V HSPLandroid/graphics/drawable/Drawable$ConstantState;->canApplyTheme()Z @@ -7097,7 +7125,7 @@ HSPLandroid/graphics/drawable/Drawable;->applyTheme(Landroid/content/res/Resourc HSPLandroid/graphics/drawable/Drawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/Drawable;->clearColorFilter()V HSPLandroid/graphics/drawable/Drawable;->clearMutated()V -HSPLandroid/graphics/drawable/Drawable;->copyBounds(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/graphics/drawable/Drawable;->copyBounds(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/Drawable;->createFromXmlForDensity(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/Drawable;->createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/Drawable;->createFromXmlInnerForDensity(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; @@ -7113,7 +7141,7 @@ HSPLandroid/graphics/drawable/Drawable;->getIntrinsicWidth()I HSPLandroid/graphics/drawable/Drawable;->getLayoutDirection()I HSPLandroid/graphics/drawable/Drawable;->getLevel()I HSPLandroid/graphics/drawable/Drawable;->getMinimumHeight()I+]Landroid/graphics/drawable/Drawable;missing_types -HSPLandroid/graphics/drawable/Drawable;->getMinimumWidth()I+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/ColorDrawable;,Landroid/graphics/drawable/GradientDrawable; +HSPLandroid/graphics/drawable/Drawable;->getMinimumWidth()I+]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/graphics/drawable/Drawable;->getOutline(Landroid/graphics/Outline;)V HSPLandroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z HSPLandroid/graphics/drawable/Drawable;->getState()[I @@ -7130,13 +7158,13 @@ HSPLandroid/graphics/drawable/Drawable;->onBoundsChange(Landroid/graphics/Rect;) HSPLandroid/graphics/drawable/Drawable;->onLevelChange(I)Z HSPLandroid/graphics/drawable/Drawable;->onStateChange([I)Z HSPLandroid/graphics/drawable/Drawable;->parseBlendMode(ILandroid/graphics/BlendMode;)Landroid/graphics/BlendMode; -HSPLandroid/graphics/drawable/Drawable;->resolveDensity(Landroid/content/res/Resources;I)I+]Landroid/content/res/Resources;Landroid/content/res/Resources; +HSPLandroid/graphics/drawable/Drawable;->resolveDensity(Landroid/content/res/Resources;I)I HSPLandroid/graphics/drawable/Drawable;->resolveOpacity(II)I HSPLandroid/graphics/drawable/Drawable;->scaleFromDensity(FII)F HSPLandroid/graphics/drawable/Drawable;->scaleFromDensity(IIIZ)I HSPLandroid/graphics/drawable/Drawable;->scheduleSelf(Ljava/lang/Runnable;J)V HSPLandroid/graphics/drawable/Drawable;->setAutoMirrored(Z)V -HSPLandroid/graphics/drawable/Drawable;->setBounds(IIII)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/Drawable;->setBounds(IIII)V HSPLandroid/graphics/drawable/Drawable;->setBounds(Landroid/graphics/Rect;)V+]Landroid/graphics/drawable/Drawable;megamorphic_types HSPLandroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V HSPLandroid/graphics/drawable/Drawable;->setChangingConfigurations(I)V @@ -7146,20 +7174,20 @@ HSPLandroid/graphics/drawable/Drawable;->setHotspot(FF)V HSPLandroid/graphics/drawable/Drawable;->setLayoutDirection(I)Z HSPLandroid/graphics/drawable/Drawable;->setLevel(I)Z HSPLandroid/graphics/drawable/Drawable;->setSrcDensityOverride(I)V -HSPLandroid/graphics/drawable/Drawable;->setState([I)Z+]Landroid/graphics/drawable/Drawable;megamorphic_types +HSPLandroid/graphics/drawable/Drawable;->setState([I)Z+]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/graphics/drawable/Drawable;->setTint(I)V HSPLandroid/graphics/drawable/Drawable;->setTintList(Landroid/content/res/ColorStateList;)V HSPLandroid/graphics/drawable/Drawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V -HSPLandroid/graphics/drawable/Drawable;->setVisible(ZZ)Z+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/Drawable;->setVisible(ZZ)Z HSPLandroid/graphics/drawable/Drawable;->unscheduleSelf(Ljava/lang/Runnable;)V -HSPLandroid/graphics/drawable/Drawable;->updateBlendModeFilter(Landroid/graphics/BlendModeColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/BlendMode;)Landroid/graphics/BlendModeColorFilter;+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/BlendModeColorFilter;Landroid/graphics/BlendModeColorFilter;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable;,Landroid/graphics/drawable/ShapeDrawable;,Landroid/graphics/drawable/VectorDrawable; +HSPLandroid/graphics/drawable/Drawable;->updateBlendModeFilter(Landroid/graphics/BlendModeColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/BlendMode;)Landroid/graphics/BlendModeColorFilter;+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/BlendModeColorFilter;Landroid/graphics/BlendModeColorFilter;]Landroid/graphics/drawable/Drawable;megamorphic_types HSPLandroid/graphics/drawable/Drawable;->updateTintFilter(Landroid/graphics/PorterDuffColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuffColorFilter; HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;-><init>()V HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;-><init>(Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback-IA;)V HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->unwrap()Landroid/graphics/drawable/Drawable$Callback; HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->wrap(Landroid/graphics/drawable/Drawable$Callback;)Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback; -HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;-><init>(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;Landroid/graphics/drawable/DrawableContainer;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/Drawable;megamorphic_types]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;-><init>(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;Landroid/graphics/drawable/DrawableContainer;Landroid/content/res/Resources;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/graphics/drawable/Drawable;megamorphic_types HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->addChild(Landroid/graphics/drawable/Drawable;)I HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->canApplyTheme()Z @@ -7202,11 +7230,11 @@ HSPLandroid/graphics/drawable/DrawableContainer;->getOpacity()I HSPLandroid/graphics/drawable/DrawableContainer;->getOpticalInsets()Landroid/graphics/Insets; HSPLandroid/graphics/drawable/DrawableContainer;->getOutline(Landroid/graphics/Outline;)V HSPLandroid/graphics/drawable/DrawableContainer;->getPadding(Landroid/graphics/Rect;)Z -HSPLandroid/graphics/drawable/DrawableContainer;->initializeDrawableForDisplay(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;]Landroid/graphics/drawable/DrawableContainer;Landroid/graphics/drawable/AnimatedStateListDrawable;,Landroid/graphics/drawable/StateListDrawable;,Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable; +HSPLandroid/graphics/drawable/DrawableContainer;->initializeDrawableForDisplay(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;]Landroid/graphics/drawable/DrawableContainer;Landroid/graphics/drawable/AnimatedStateListDrawable;,Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable;,Landroid/graphics/drawable/StateListDrawable;]Landroid/graphics/drawable/Drawable;megamorphic_types HSPLandroid/graphics/drawable/DrawableContainer;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/DrawableContainer;->isAutoMirrored()Z HSPLandroid/graphics/drawable/DrawableContainer;->isStateful()Z -HSPLandroid/graphics/drawable/DrawableContainer;->jumpToCurrentState()V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/DrawableContainer;->jumpToCurrentState()V HSPLandroid/graphics/drawable/DrawableContainer;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/DrawableContainer;->needsMirroring()Z HSPLandroid/graphics/drawable/DrawableContainer;->onBoundsChange(Landroid/graphics/Rect;)V @@ -7240,27 +7268,27 @@ HSPLandroid/graphics/drawable/DrawableWrapper;->applyTheme(Landroid/content/res/ HSPLandroid/graphics/drawable/DrawableWrapper;->canApplyTheme()Z HSPLandroid/graphics/drawable/DrawableWrapper;->clearMutated()V HSPLandroid/graphics/drawable/DrawableWrapper;->draw(Landroid/graphics/Canvas;)V -HSPLandroid/graphics/drawable/DrawableWrapper;->getChangingConfigurations()I+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;Landroid/graphics/drawable/InsetDrawable$InsetState; +HSPLandroid/graphics/drawable/DrawableWrapper;->getChangingConfigurations()I HSPLandroid/graphics/drawable/DrawableWrapper;->getColorFilter()Landroid/graphics/ColorFilter; HSPLandroid/graphics/drawable/DrawableWrapper;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState; HSPLandroid/graphics/drawable/DrawableWrapper;->getDrawable()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/DrawableWrapper;->getIntrinsicHeight()I HSPLandroid/graphics/drawable/DrawableWrapper;->getIntrinsicWidth()I HSPLandroid/graphics/drawable/DrawableWrapper;->getOpacity()I -HSPLandroid/graphics/drawable/DrawableWrapper;->getPadding(Landroid/graphics/Rect;)Z+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/DrawableWrapper;->getPadding(Landroid/graphics/Rect;)Z HSPLandroid/graphics/drawable/DrawableWrapper;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/DrawableWrapper;->inflateChildDrawable(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V -HSPLandroid/graphics/drawable/DrawableWrapper;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable$Callback;Landroid/graphics/drawable/RippleDrawable;]Landroid/graphics/drawable/DrawableWrapper;Landroid/graphics/drawable/InsetDrawable; +HSPLandroid/graphics/drawable/DrawableWrapper;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/DrawableWrapper;->isStateful()Z HSPLandroid/graphics/drawable/DrawableWrapper;->jumpToCurrentState()V HSPLandroid/graphics/drawable/DrawableWrapper;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/DrawableWrapper;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState; HSPLandroid/graphics/drawable/DrawableWrapper;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/DrawableWrapper;->onLevelChange(I)Z -HSPLandroid/graphics/drawable/DrawableWrapper;->onStateChange([I)Z+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/DrawableWrapper;missing_types +HSPLandroid/graphics/drawable/DrawableWrapper;->onStateChange([I)Z HSPLandroid/graphics/drawable/DrawableWrapper;->setAlpha(I)V HSPLandroid/graphics/drawable/DrawableWrapper;->setColorFilter(Landroid/graphics/ColorFilter;)V -HSPLandroid/graphics/drawable/DrawableWrapper;->setDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/DrawableWrapper;missing_types +HSPLandroid/graphics/drawable/DrawableWrapper;->setDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/DrawableWrapper;->setHotspot(FF)V HSPLandroid/graphics/drawable/DrawableWrapper;->setTintBlendMode(Landroid/graphics/BlendMode;)V HSPLandroid/graphics/drawable/DrawableWrapper;->setTintList(Landroid/content/res/ColorStateList;)V @@ -7269,7 +7297,7 @@ HSPLandroid/graphics/drawable/DrawableWrapper;->updateLocalState(Landroid/conten HSPLandroid/graphics/drawable/DrawableWrapper;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->-$$Nest$mcomputeOpacity(Landroid/graphics/drawable/GradientDrawable$GradientState;)V HSPLandroid/graphics/drawable/GradientDrawable$GradientState;-><init>(Landroid/graphics/drawable/GradientDrawable$GradientState;Landroid/content/res/Resources;)V -HSPLandroid/graphics/drawable/GradientDrawable$GradientState;-><init>(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V +HSPLandroid/graphics/drawable/GradientDrawable$GradientState;-><init>(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V+]Landroid/graphics/drawable/GradientDrawable$GradientState;Landroid/graphics/drawable/GradientDrawable$GradientState; HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->applyDensityScaling(II)V HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->canApplyTheme()Z HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->computeOpacity()V @@ -7290,8 +7318,8 @@ HSPLandroid/graphics/drawable/GradientDrawable;->applyTheme(Landroid/content/res HSPLandroid/graphics/drawable/GradientDrawable;->applyThemeChildElements(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/GradientDrawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/GradientDrawable;->clearMutated()V -HSPLandroid/graphics/drawable/GradientDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Paint;Landroid/graphics/Paint; -HSPLandroid/graphics/drawable/GradientDrawable;->ensureValidRect()Z+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/graphics/drawable/GradientDrawable;Landroid/graphics/drawable/GradientDrawable; +HSPLandroid/graphics/drawable/GradientDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;,Landroid/graphics/Canvas; +HSPLandroid/graphics/drawable/GradientDrawable;->ensureValidRect()Z HSPLandroid/graphics/drawable/GradientDrawable;->getChangingConfigurations()I HSPLandroid/graphics/drawable/GradientDrawable;->getColorFilter()Landroid/graphics/ColorFilter; HSPLandroid/graphics/drawable/GradientDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState; @@ -7311,7 +7339,7 @@ HSPLandroid/graphics/drawable/GradientDrawable;->mutate()Landroid/graphics/drawa HSPLandroid/graphics/drawable/GradientDrawable;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/GradientDrawable;->onLevelChange(I)Z HSPLandroid/graphics/drawable/GradientDrawable;->onStateChange([I)Z -HSPLandroid/graphics/drawable/GradientDrawable;->setAlpha(I)V +HSPLandroid/graphics/drawable/GradientDrawable;->setAlpha(I)V+]Landroid/graphics/drawable/GradientDrawable;Landroid/graphics/drawable/GradientDrawable; HSPLandroid/graphics/drawable/GradientDrawable;->setColor(I)V HSPLandroid/graphics/drawable/GradientDrawable;->setColor(Landroid/content/res/ColorStateList;)V HSPLandroid/graphics/drawable/GradientDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V @@ -7332,7 +7360,7 @@ HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawablePadding(L HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableSize(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableSolid(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableStroke(Landroid/content/res/TypedArray;)V -HSPLandroid/graphics/drawable/GradientDrawable;->updateLocalState(Landroid/content/res/Resources;)V+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/drawable/GradientDrawable;Landroid/graphics/drawable/GradientDrawable; +HSPLandroid/graphics/drawable/GradientDrawable;->updateLocalState(Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/GradientDrawable;Landroid/graphics/drawable/GradientDrawable;]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/Paint;Landroid/graphics/Paint; HSPLandroid/graphics/drawable/GradientDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/Icon$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/drawable/Icon; HSPLandroid/graphics/drawable/Icon$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -7357,7 +7385,7 @@ HSPLandroid/graphics/drawable/Icon;->setBitmap(Landroid/graphics/Bitmap;)V HSPLandroid/graphics/drawable/Icon;->setTint(I)Landroid/graphics/drawable/Icon; HSPLandroid/graphics/drawable/Icon;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->-$$Nest$fputmThemeAttrs(Landroid/graphics/drawable/InsetDrawable$InsetState;[I)V -HSPLandroid/graphics/drawable/InsetDrawable$InsetState;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/InsetDrawable$InsetValue;Landroid/graphics/drawable/InsetDrawable$InsetValue; +HSPLandroid/graphics/drawable/InsetDrawable$InsetState;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;)V HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->applyDensityScaling(II)V HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->onDensityChanged(II)V @@ -7373,19 +7401,19 @@ HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/ HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;Landroid/graphics/drawable/InsetDrawable-IA;)V HSPLandroid/graphics/drawable/InsetDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/InsetDrawable;->getInset(Landroid/content/res/TypedArray;ILandroid/graphics/drawable/InsetDrawable$InsetValue;)Landroid/graphics/drawable/InsetDrawable$InsetValue; -HSPLandroid/graphics/drawable/InsetDrawable;->getInsets(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/InsetDrawable$InsetValue;Landroid/graphics/drawable/InsetDrawable$InsetValue;]Landroid/graphics/drawable/InsetDrawable;missing_types -HSPLandroid/graphics/drawable/InsetDrawable;->getIntrinsicHeight()I+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/InsetDrawable;missing_types -HSPLandroid/graphics/drawable/InsetDrawable;->getIntrinsicWidth()I+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/InsetDrawable;missing_types +HSPLandroid/graphics/drawable/InsetDrawable;->getInsets(Landroid/graphics/Rect;)V+]Landroid/graphics/drawable/InsetDrawable;Landroid/graphics/drawable/InsetDrawable;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/InsetDrawable$InsetValue;Landroid/graphics/drawable/InsetDrawable$InsetValue; +HSPLandroid/graphics/drawable/InsetDrawable;->getIntrinsicHeight()I +HSPLandroid/graphics/drawable/InsetDrawable;->getIntrinsicWidth()I HSPLandroid/graphics/drawable/InsetDrawable;->getOpacity()I -HSPLandroid/graphics/drawable/InsetDrawable;->getOutline(Landroid/graphics/Outline;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/InsetDrawable;missing_types +HSPLandroid/graphics/drawable/InsetDrawable;->getOutline(Landroid/graphics/Outline;)V HSPLandroid/graphics/drawable/InsetDrawable;->getPadding(Landroid/graphics/Rect;)Z HSPLandroid/graphics/drawable/InsetDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/InsetDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState; -HSPLandroid/graphics/drawable/InsetDrawable;->onBoundsChange(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/InsetDrawable$InsetValue;Landroid/graphics/drawable/InsetDrawable$InsetValue; +HSPLandroid/graphics/drawable/InsetDrawable;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/InsetDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/InsetDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;-><init>(I)V -HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/graphics/drawable/LayerDrawable;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/Drawable$ConstantState;megamorphic_types]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/graphics/drawable/LayerDrawable;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/Drawable$ConstantState;missing_types]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;->applyDensityScaling(II)V HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/LayerDrawable$ChildDrawable;->setDensity(I)V @@ -7405,11 +7433,11 @@ HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->newDrawable(Landroid/co HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->onDensityChanged(II)V HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->setDensity(I)V HSPLandroid/graphics/drawable/LayerDrawable;-><init>()V -HSPLandroid/graphics/drawable/LayerDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/LayerDrawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;-><init>(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)V HSPLandroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/LayerDrawable$LayerState;)V -HSPLandroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/Drawable;[IIIIII)Landroid/graphics/drawable/LayerDrawable$ChildDrawable;+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/LayerDrawable;missing_types -HSPLandroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;)I+]Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/graphics/drawable/RippleDrawable$RippleState; +HSPLandroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/Drawable;[IIIIII)Landroid/graphics/drawable/LayerDrawable$ChildDrawable; +HSPLandroid/graphics/drawable/LayerDrawable;->addLayer(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;)I HSPLandroid/graphics/drawable/LayerDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/LayerDrawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/LayerDrawable;->clearMutated()V @@ -7423,23 +7451,23 @@ HSPLandroid/graphics/drawable/LayerDrawable;->findIndexByLayerId(I)I HSPLandroid/graphics/drawable/LayerDrawable;->getChangingConfigurations()I HSPLandroid/graphics/drawable/LayerDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState; HSPLandroid/graphics/drawable/LayerDrawable;->getDrawable(I)Landroid/graphics/drawable/Drawable; -HSPLandroid/graphics/drawable/LayerDrawable;->getIntrinsicHeight()I+]Landroid/graphics/drawable/Drawable;missing_types -HSPLandroid/graphics/drawable/LayerDrawable;->getIntrinsicWidth()I+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/LayerDrawable;Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/LayerDrawable;->getIntrinsicHeight()I +HSPLandroid/graphics/drawable/LayerDrawable;->getIntrinsicWidth()I HSPLandroid/graphics/drawable/LayerDrawable;->getNumberOfLayers()I HSPLandroid/graphics/drawable/LayerDrawable;->getOpacity()I -HSPLandroid/graphics/drawable/LayerDrawable;->getOutline(Landroid/graphics/Outline;)V+]Landroid/graphics/Outline;Landroid/graphics/Outline; -HSPLandroid/graphics/drawable/LayerDrawable;->getPadding(Landroid/graphics/Rect;)Z+]Landroid/graphics/drawable/LayerDrawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;->getOutline(Landroid/graphics/Outline;)V +HSPLandroid/graphics/drawable/LayerDrawable;->getPadding(Landroid/graphics/Rect;)Z HSPLandroid/graphics/drawable/LayerDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/LayerDrawable;->inflateLayers(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V -HSPLandroid/graphics/drawable/LayerDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/graphics/drawable/LayerDrawable$LayerState;,Landroid/graphics/drawable/RippleDrawable$RippleState;]Landroid/graphics/drawable/LayerDrawable;Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/LayerDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/graphics/drawable/LayerDrawable;->isAutoMirrored()Z HSPLandroid/graphics/drawable/LayerDrawable;->isProjected()Z HSPLandroid/graphics/drawable/LayerDrawable;->isStateful()Z -HSPLandroid/graphics/drawable/LayerDrawable;->jumpToCurrentState()V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;->jumpToCurrentState()V HSPLandroid/graphics/drawable/LayerDrawable;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/LayerDrawable;->onBoundsChange(Landroid/graphics/Rect;)V -HSPLandroid/graphics/drawable/LayerDrawable;->onStateChange([I)Z+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/LayerDrawable;Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/RippleDrawable; -HSPLandroid/graphics/drawable/LayerDrawable;->refreshChildPadding(ILandroid/graphics/drawable/LayerDrawable$ChildDrawable;)Z+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;->onStateChange([I)Z +HSPLandroid/graphics/drawable/LayerDrawable;->refreshChildPadding(ILandroid/graphics/drawable/LayerDrawable$ChildDrawable;)Z HSPLandroid/graphics/drawable/LayerDrawable;->refreshPadding()V HSPLandroid/graphics/drawable/LayerDrawable;->resolveGravity(IIIII)I HSPLandroid/graphics/drawable/LayerDrawable;->resumeChildInvalidation()V @@ -7455,10 +7483,10 @@ HSPLandroid/graphics/drawable/LayerDrawable;->setLayerInset(IIIII)V HSPLandroid/graphics/drawable/LayerDrawable;->setPaddingMode(I)V HSPLandroid/graphics/drawable/LayerDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V HSPLandroid/graphics/drawable/LayerDrawable;->setTintList(Landroid/content/res/ColorStateList;)V -HSPLandroid/graphics/drawable/LayerDrawable;->setVisible(ZZ)Z+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;->setVisible(ZZ)Z HSPLandroid/graphics/drawable/LayerDrawable;->suspendChildInvalidation()V HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerBounds(Landroid/graphics/Rect;)V -HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerBoundsInternal(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/graphics/drawable/LayerDrawable;missing_types +HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerBoundsInternal(Landroid/graphics/Rect;)V+]Landroid/graphics/drawable/LayerDrawable;Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/RippleDrawable;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerFromTypedArray(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/LayerDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/NinePatchDrawable$$ExternalSyntheticLambda0;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V @@ -7555,12 +7583,12 @@ HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->newDrawable()Landroid HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/RippleDrawable$RippleState;->onDensityChanged(II)V HSPLandroid/graphics/drawable/RippleDrawable;-><init>()V -HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/content/res/ColorStateList;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/RippleDrawable;missing_types -HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/graphics/drawable/RippleDrawable$RippleState;Landroid/content/res/Resources;)V+]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/content/res/ColorStateList;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V +HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/graphics/drawable/RippleDrawable$RippleState;Landroid/content/res/Resources;)V HSPLandroid/graphics/drawable/RippleDrawable;-><init>(Landroid/graphics/drawable/RippleDrawable$RippleState;Landroid/content/res/Resources;Landroid/graphics/drawable/RippleDrawable-IA;)V HSPLandroid/graphics/drawable/RippleDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/RippleDrawable;->canApplyTheme()Z -HSPLandroid/graphics/drawable/RippleDrawable;->cancelExitingRipples()V+]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/RippleDrawable;->cancelExitingRipples()V HSPLandroid/graphics/drawable/RippleDrawable;->clearHotspots()V HSPLandroid/graphics/drawable/RippleDrawable;->computeRadius()F HSPLandroid/graphics/drawable/RippleDrawable;->createAnimationProperties(FFFFFF)Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties; @@ -7569,27 +7597,27 @@ HSPLandroid/graphics/drawable/RippleDrawable;->createConstantState(Landroid/grap HSPLandroid/graphics/drawable/RippleDrawable;->draw(Landroid/graphics/Canvas;)V HSPLandroid/graphics/drawable/RippleDrawable;->drawBackgroundAndRipples(Landroid/graphics/Canvas;)V HSPLandroid/graphics/drawable/RippleDrawable;->drawContent(Landroid/graphics/Canvas;)V -HSPLandroid/graphics/drawable/RippleDrawable;->drawPatterned(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;]Landroid/graphics/drawable/RippleAnimationSession;Landroid/graphics/drawable/RippleAnimationSession;]Landroid/graphics/drawable/RippleDrawable;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/RippleDrawable;->drawPatterned(Landroid/graphics/Canvas;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/drawable/RippleAnimationSession;Landroid/graphics/drawable/RippleAnimationSession; HSPLandroid/graphics/drawable/RippleDrawable;->drawPatternedBackground(Landroid/graphics/Canvas;FF)V HSPLandroid/graphics/drawable/RippleDrawable;->exitPatternedAnimation()V -HSPLandroid/graphics/drawable/RippleDrawable;->exitPatternedBackgroundAnimation()V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Landroid/graphics/drawable/RippleDrawable;missing_types +HSPLandroid/graphics/drawable/RippleDrawable;->exitPatternedBackgroundAnimation()V HSPLandroid/graphics/drawable/RippleDrawable;->getComputedRadius()I HSPLandroid/graphics/drawable/RippleDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState; -HSPLandroid/graphics/drawable/RippleDrawable;->getDirtyBounds()Landroid/graphics/Rect;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleDrawable;missing_types +HSPLandroid/graphics/drawable/RippleDrawable;->getDirtyBounds()Landroid/graphics/Rect;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; HSPLandroid/graphics/drawable/RippleDrawable;->getMaskType()I HSPLandroid/graphics/drawable/RippleDrawable;->getOpacity()I HSPLandroid/graphics/drawable/RippleDrawable;->getOutline(Landroid/graphics/Outline;)V+]Landroid/graphics/Outline;Landroid/graphics/Outline;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/InsetDrawable;,Landroid/graphics/drawable/StateListDrawable; HSPLandroid/graphics/drawable/RippleDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V -HSPLandroid/graphics/drawable/RippleDrawable;->invalidateSelf()V+]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/RippleDrawable;->invalidateSelf()V HSPLandroid/graphics/drawable/RippleDrawable;->invalidateSelf(Z)V -HSPLandroid/graphics/drawable/RippleDrawable;->isBounded()Z+]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/graphics/drawable/RippleDrawable;->isBounded()Z HSPLandroid/graphics/drawable/RippleDrawable;->isProjected()Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable; HSPLandroid/graphics/drawable/RippleDrawable;->isStateful()Z HSPLandroid/graphics/drawable/RippleDrawable;->jumpToCurrentState()V HSPLandroid/graphics/drawable/RippleDrawable;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/RippleDrawable;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/RippleDrawable;->onHotspotBoundsChanged()V -HSPLandroid/graphics/drawable/RippleDrawable;->onStateChange([I)Z+]Landroid/graphics/drawable/RippleDrawable;missing_types +HSPLandroid/graphics/drawable/RippleDrawable;->onStateChange([I)Z HSPLandroid/graphics/drawable/RippleDrawable;->pruneRipples()V HSPLandroid/graphics/drawable/RippleDrawable;->setBackgroundActive(ZZZZ)V HSPLandroid/graphics/drawable/RippleDrawable;->setColor(Landroid/content/res/ColorStateList;)V @@ -7598,11 +7626,11 @@ HSPLandroid/graphics/drawable/RippleDrawable;->setHotspotBounds(IIII)V HSPLandroid/graphics/drawable/RippleDrawable;->setPaddingMode(I)V HSPLandroid/graphics/drawable/RippleDrawable;->setRippleActive(Z)V HSPLandroid/graphics/drawable/RippleDrawable;->setVisible(ZZ)Z -HSPLandroid/graphics/drawable/RippleDrawable;->startBackgroundAnimation()V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; +HSPLandroid/graphics/drawable/RippleDrawable;->startBackgroundAnimation()V HSPLandroid/graphics/drawable/RippleDrawable;->tryRippleEnter()V HSPLandroid/graphics/drawable/RippleDrawable;->updateLocalState()V HSPLandroid/graphics/drawable/RippleDrawable;->updateMaskShaderIfNeeded()V -HSPLandroid/graphics/drawable/RippleDrawable;->updateRipplePaint()Landroid/graphics/Paint;+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/BitmapShader;Landroid/graphics/BitmapShader;]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/graphics/PorterDuffColorFilter;Landroid/graphics/PorterDuffColorFilter;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;Landroid/graphics/drawable/RippleAnimationSession$AnimationProperties;]Landroid/graphics/drawable/RippleAnimationSession;Landroid/graphics/drawable/RippleAnimationSession;]Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/drawable/RippleDrawable;]Landroid/graphics/drawable/RippleShader;Landroid/graphics/drawable/RippleShader;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/RippleDrawable;->updateRipplePaint()Landroid/graphics/Paint; HSPLandroid/graphics/drawable/RippleDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/RippleDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/RippleForeground$1;->onAnimationEnd(Landroid/animation/Animator;)V @@ -7662,7 +7690,7 @@ HSPLandroid/graphics/drawable/ScaleDrawable;->draw(Landroid/graphics/Canvas;)V HSPLandroid/graphics/drawable/ScaleDrawable;->getPercent(Landroid/content/res/TypedArray;IF)F HSPLandroid/graphics/drawable/ScaleDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/ScaleDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState; -HSPLandroid/graphics/drawable/ScaleDrawable;->onBoundsChange(Landroid/graphics/Rect;)V +HSPLandroid/graphics/drawable/ScaleDrawable;->onBoundsChange(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/ScaleDrawable;Landroid/graphics/drawable/ScaleDrawable;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable; HSPLandroid/graphics/drawable/ScaleDrawable;->onLevelChange(I)Z HSPLandroid/graphics/drawable/ScaleDrawable;->updateLocalState()V HSPLandroid/graphics/drawable/ScaleDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V @@ -7680,7 +7708,7 @@ HSPLandroid/graphics/drawable/ShapeDrawable;->getOpacity()I HSPLandroid/graphics/drawable/ShapeDrawable;->getOutline(Landroid/graphics/Outline;)V HSPLandroid/graphics/drawable/ShapeDrawable;->getPadding(Landroid/graphics/Rect;)Z HSPLandroid/graphics/drawable/ShapeDrawable;->getPaint()Landroid/graphics/Paint; -HSPLandroid/graphics/drawable/ShapeDrawable;->isStateful()Z+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList; +HSPLandroid/graphics/drawable/ShapeDrawable;->isStateful()Z HSPLandroid/graphics/drawable/ShapeDrawable;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/ShapeDrawable;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/graphics/drawable/ShapeDrawable;->onDraw(Landroid/graphics/drawable/shapes/Shape;Landroid/graphics/Canvas;Landroid/graphics/Paint;)V @@ -7690,7 +7718,7 @@ HSPLandroid/graphics/drawable/ShapeDrawable;->setIntrinsicWidth(I)V HSPLandroid/graphics/drawable/ShapeDrawable;->setShape(Landroid/graphics/drawable/shapes/Shape;)V HSPLandroid/graphics/drawable/ShapeDrawable;->setTintList(Landroid/content/res/ColorStateList;)V HSPLandroid/graphics/drawable/ShapeDrawable;->updateLocalState()V -HSPLandroid/graphics/drawable/ShapeDrawable;->updateShape()V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/ShapeDrawable;Landroid/graphics/drawable/PaintDrawable;]Landroid/graphics/drawable/shapes/Shape;Landroid/graphics/drawable/shapes/OvalShape;,Landroid/graphics/drawable/shapes/RoundRectShape; +HSPLandroid/graphics/drawable/ShapeDrawable;->updateShape()V HSPLandroid/graphics/drawable/StateListDrawable$StateListState;-><init>(Landroid/graphics/drawable/StateListDrawable$StateListState;Landroid/graphics/drawable/StateListDrawable;Landroid/content/res/Resources;)V HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->addStateSet([ILandroid/graphics/drawable/Drawable;)I HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->canApplyTheme()Z @@ -7739,23 +7767,23 @@ HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getProperty(Ljava/lang/ HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getPropertyIndex(Ljava/lang/String;)I HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->isStateful()Z -HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->onStateChange([I)Z+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/drawable/VectorDrawable$VFullPath;Landroid/graphics/drawable/VectorDrawable$VFullPath; -HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V+]Landroid/content/res/ComplexColor;Landroid/content/res/ColorStateList;,Landroid/content/res/GradientColor;]Landroid/content/res/GradientColor;Landroid/content/res/GradientColor;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/Shader;Landroid/graphics/LinearGradient;]Ljava/lang/String;Ljava/lang/String;]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; +HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->onStateChange([I)Z +HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/content/res/ComplexColor;Landroid/content/res/ColorStateList;]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->-$$Nest$fgetmChangingConfigurations(Landroid/graphics/drawable/VectorDrawable$VGroup;)I HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->-$$Nest$fgetmNativePtr(Landroid/graphics/drawable/VectorDrawable$VGroup;)J HSPLandroid/graphics/drawable/VectorDrawable$VGroup;-><init>()V -HSPLandroid/graphics/drawable/VectorDrawable$VGroup;-><init>(Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/util/ArrayMap;)V+]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->addChild(Landroid/graphics/drawable/VectorDrawable$VObject;)V+]Landroid/graphics/drawable/VectorDrawable$VObject;Landroid/graphics/drawable/VectorDrawable$VClipPath;,Landroid/graphics/drawable/VectorDrawable$VFullPath;,Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/VectorDrawable$VGroup;-><init>(Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/util/ArrayMap;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->addChild(Landroid/graphics/drawable/VectorDrawable$VObject;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/graphics/drawable/VectorDrawable$VObject;Landroid/graphics/drawable/VectorDrawable$VGroup;,Landroid/graphics/drawable/VectorDrawable$VFullPath; HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->canApplyTheme()Z HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getGroupName()Ljava/lang/String; HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getNativePtr()J -HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getNativeSize()I+]Landroid/graphics/drawable/VectorDrawable$VObject;Landroid/graphics/drawable/VectorDrawable$VClipPath;,Landroid/graphics/drawable/VectorDrawable$VFullPath;,Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getNativeSize()I HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->getProperty(Ljava/lang/String;)Landroid/util/Property; HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->inflate(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->isStateful()Z -HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->onStateChange([I)Z+]Landroid/graphics/drawable/VectorDrawable$VObject;Landroid/graphics/drawable/VectorDrawable$VFullPath;,Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setTree(Lcom/android/internal/util/VirtualRefBasePtr;)V+]Landroid/graphics/drawable/VectorDrawable$VObject;Landroid/graphics/drawable/VectorDrawable$VClipPath;,Landroid/graphics/drawable/VectorDrawable$VFullPath;,Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->onStateChange([I)Z +HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setTree(Lcom/android/internal/util/VirtualRefBasePtr;)V HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V HSPLandroid/graphics/drawable/VectorDrawable$VObject;-><init>()V HSPLandroid/graphics/drawable/VectorDrawable$VObject;->isTreeValid()Z @@ -7769,21 +7797,21 @@ HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;-><init>(Landro HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->applyDensityScaling(II)V HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->applyTheme(Landroid/content/res/Resources$Theme;)V HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->canApplyTheme()Z -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->canReuseCache()Z+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->canReuseCache()Z HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->createNativeTree(Landroid/graphics/drawable/VectorDrawable$VGroup;)V -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->createNativeTreeFromCopy(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VGroup;)V+]Lcom/android/internal/util/VirtualRefBasePtr;Lcom/android/internal/util/VirtualRefBasePtr;]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->createNativeTreeFromCopy(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VGroup;)V HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->finalize()V -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getAlpha()F+]Lcom/android/internal/util/VirtualRefBasePtr;Lcom/android/internal/util/VirtualRefBasePtr; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getAlpha()F HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getChangingConfigurations()I -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getNativeRenderer()J+]Lcom/android/internal/util/VirtualRefBasePtr;Lcom/android/internal/util/VirtualRefBasePtr; -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->isStateful()Z+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getNativeRenderer()J +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->isStateful()Z HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->newDrawable()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->onStateChange([I)Z -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->onTreeConstructionFinished()V+]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->onTreeConstructionFinished()V+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup; HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setAlpha(F)Z HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setDensity(I)Z -HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setViewportSize(FF)V+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; +HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->setViewportSize(FF)V HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->updateCacheStates()V HSPLandroid/graphics/drawable/VectorDrawable;->-$$Nest$smnAddChild(JJ)V HSPLandroid/graphics/drawable/VectorDrawable;->-$$Nest$smnCreateFullPath()J @@ -7806,37 +7834,37 @@ HSPLandroid/graphics/drawable/VectorDrawable;->-$$Nest$smnUpdateGroupProperties( HSPLandroid/graphics/drawable/VectorDrawable;-><init>()V HSPLandroid/graphics/drawable/VectorDrawable;-><init>(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/content/res/Resources;)V HSPLandroid/graphics/drawable/VectorDrawable;-><init>(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/content/res/Resources;Landroid/graphics/drawable/VectorDrawable-IA;)V -HSPLandroid/graphics/drawable/VectorDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V +HSPLandroid/graphics/drawable/VectorDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/graphics/drawable/VectorDrawable;->canApplyTheme()Z HSPLandroid/graphics/drawable/VectorDrawable;->clearMutated()V HSPLandroid/graphics/drawable/VectorDrawable;->computeVectorSize()V -HSPLandroid/graphics/drawable/VectorDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/ColorFilter;Landroid/graphics/BlendModeColorFilter;,Landroid/graphics/PorterDuffColorFilter;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable;]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; -HSPLandroid/graphics/drawable/VectorDrawable;->getAlpha()I+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; +HSPLandroid/graphics/drawable/VectorDrawable;->draw(Landroid/graphics/Canvas;)V +HSPLandroid/graphics/drawable/VectorDrawable;->getAlpha()I HSPLandroid/graphics/drawable/VectorDrawable;->getChangingConfigurations()I HSPLandroid/graphics/drawable/VectorDrawable;->getColorFilter()Landroid/graphics/ColorFilter; HSPLandroid/graphics/drawable/VectorDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState; HSPLandroid/graphics/drawable/VectorDrawable;->getIntrinsicHeight()I -HSPLandroid/graphics/drawable/VectorDrawable;->getIntrinsicWidth()I+]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable; +HSPLandroid/graphics/drawable/VectorDrawable;->getIntrinsicWidth()I HSPLandroid/graphics/drawable/VectorDrawable;->getNativeTree()J HSPLandroid/graphics/drawable/VectorDrawable;->getOpacity()I HSPLandroid/graphics/drawable/VectorDrawable;->getPixelSize()F HSPLandroid/graphics/drawable/VectorDrawable;->getTargetByName(Ljava/lang/String;)Ljava/lang/Object; -HSPLandroid/graphics/drawable/VectorDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Lcom/android/internal/util/VirtualRefBasePtr;Lcom/android/internal/util/VirtualRefBasePtr;]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; -HSPLandroid/graphics/drawable/VectorDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V+]Landroid/graphics/drawable/VectorDrawable$VClipPath;Landroid/graphics/drawable/VectorDrawable$VClipPath;]Landroid/graphics/drawable/VectorDrawable$VFullPath;Landroid/graphics/drawable/VectorDrawable$VFullPath;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Ljava/lang/Object;Ljava/lang/String;]Ljava/util/Stack;Ljava/util/Stack;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/graphics/drawable/VectorDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime;]Lcom/android/internal/util/VirtualRefBasePtr;Lcom/android/internal/util/VirtualRefBasePtr;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup; +HSPLandroid/graphics/drawable/VectorDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser;]Ljava/lang/Object;Ljava/lang/String;]Ljava/util/Stack;Ljava/util/Stack;]Landroid/graphics/drawable/VectorDrawable$VGroup;Landroid/graphics/drawable/VectorDrawable$VGroup;]Landroid/graphics/drawable/VectorDrawable$VFullPath;Landroid/graphics/drawable/VectorDrawable$VFullPath; HSPLandroid/graphics/drawable/VectorDrawable;->isAutoMirrored()Z -HSPLandroid/graphics/drawable/VectorDrawable;->isStateful()Z+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; +HSPLandroid/graphics/drawable/VectorDrawable;->isStateful()Z HSPLandroid/graphics/drawable/VectorDrawable;->mutate()Landroid/graphics/drawable/Drawable; HSPLandroid/graphics/drawable/VectorDrawable;->needMirroring()Z -HSPLandroid/graphics/drawable/VectorDrawable;->onStateChange([I)Z+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable; +HSPLandroid/graphics/drawable/VectorDrawable;->onStateChange([I)Z HSPLandroid/graphics/drawable/VectorDrawable;->setAllowCaching(Z)V HSPLandroid/graphics/drawable/VectorDrawable;->setAlpha(I)V HSPLandroid/graphics/drawable/VectorDrawable;->setAutoMirrored(Z)V HSPLandroid/graphics/drawable/VectorDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V HSPLandroid/graphics/drawable/VectorDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V -HSPLandroid/graphics/drawable/VectorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V+]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable; -HSPLandroid/graphics/drawable/VectorDrawable;->updateColorFilters(Landroid/graphics/BlendMode;Landroid/content/res/ColorStateList;)V+]Landroid/graphics/drawable/VectorDrawable;Landroid/graphics/drawable/VectorDrawable; +HSPLandroid/graphics/drawable/VectorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V +HSPLandroid/graphics/drawable/VectorDrawable;->updateColorFilters(Landroid/graphics/BlendMode;Landroid/content/res/ColorStateList;)V HSPLandroid/graphics/drawable/VectorDrawable;->updateLocalState(Landroid/content/res/Resources;)V -HSPLandroid/graphics/drawable/VectorDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState; +HSPLandroid/graphics/drawable/VectorDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V+]Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/graphics/drawable/shapes/OvalShape;-><init>()V HSPLandroid/graphics/drawable/shapes/OvalShape;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V HSPLandroid/graphics/drawable/shapes/OvalShape;->getOutline(Landroid/graphics/Outline;)V @@ -7913,13 +7941,13 @@ HSPLandroid/graphics/text/LineBreaker;->computeLineBreaks(Landroid/graphics/text HSPLandroid/graphics/text/MeasuredText$Builder;-><init>([C)V HSPLandroid/graphics/text/MeasuredText$Builder;->appendReplacementRun(Landroid/graphics/Paint;IF)Landroid/graphics/text/MeasuredText$Builder; HSPLandroid/graphics/text/MeasuredText$Builder;->appendStyleRun(Landroid/graphics/Paint;IZ)Landroid/graphics/text/MeasuredText$Builder; -HSPLandroid/graphics/text/MeasuredText$Builder;->appendStyleRun(Landroid/graphics/Paint;Landroid/graphics/text/LineBreakConfig;IZ)Landroid/graphics/text/MeasuredText$Builder;+]Landroid/graphics/Paint;Landroid/text/TextPaint; +HSPLandroid/graphics/text/MeasuredText$Builder;->appendStyleRun(Landroid/graphics/Paint;Landroid/graphics/text/LineBreakConfig;IZ)Landroid/graphics/text/MeasuredText$Builder; HSPLandroid/graphics/text/MeasuredText$Builder;->build()Landroid/graphics/text/MeasuredText; HSPLandroid/graphics/text/MeasuredText$Builder;->ensureNativePtrNoReuse()V HSPLandroid/graphics/text/MeasuredText$Builder;->setComputeHyphenation(I)Landroid/graphics/text/MeasuredText$Builder; HSPLandroid/graphics/text/MeasuredText$Builder;->setComputeHyphenation(Z)Landroid/graphics/text/MeasuredText$Builder; HSPLandroid/graphics/text/MeasuredText$Builder;->setComputeLayout(Z)Landroid/graphics/text/MeasuredText$Builder; -HSPLandroid/graphics/text/MeasuredText;->getCharWidthAt(I)F+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/graphics/text/MeasuredText;->getCharWidthAt(I)F HSPLandroid/graphics/text/MeasuredText;->getChars()[C HSPLandroid/graphics/text/MeasuredText;->getNativePtr()J HSPLandroid/hardware/Camera$CameraInfo;-><init>()V @@ -7942,6 +7970,7 @@ HSPLandroid/hardware/HardwareBuffer;->isClosed()Z HSPLandroid/hardware/ICameraService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/hardware/ICameraService$Stub$Proxy;->addListener(Landroid/hardware/ICameraServiceListener;)[Landroid/hardware/CameraStatus; HSPLandroid/hardware/ICameraService$Stub$Proxy;->asBinder()Landroid/os/IBinder; +HSPLandroid/hardware/ICameraService$Stub$Proxy;->getCameraCharacteristics(Ljava/lang/String;IZ)Landroid/hardware/camera2/impl/CameraMetadataNative; HSPLandroid/hardware/ICameraService$Stub$Proxy;->getConcurrentCameraIds()[Landroid/hardware/camera2/utils/ConcurrentCameraIdCombination; HSPLandroid/hardware/ICameraService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICameraService; HSPLandroid/hardware/ICameraServiceListener$Stub;->getMaxTransactionId()I @@ -7989,7 +8018,7 @@ HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->removeSensor(Landroid/ HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;-><init>(Landroid/hardware/SensorEventListener;Landroid/os/Looper;Landroid/hardware/SystemSensorManager;Ljava/lang/String;)V HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchAdditionalInfoEvent(III[F[I)V -HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchSensorEvent(I[FIJ)V+]Landroid/hardware/Sensor;Landroid/hardware/Sensor;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchSensorEvent(I[FIJ)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/hardware/Sensor;Landroid/hardware/Sensor;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V HSPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V HSPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->dispatchSensorEvent(I[FIJ)V @@ -8024,11 +8053,19 @@ HSPLandroid/hardware/camera2/CameraCharacteristics;->overrideProperty(Landroid/h HSPLandroid/hardware/camera2/CameraManager$AvailabilityCallback;-><init>()V HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/String;Ljava/lang/String;)I +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$3;-><init>(Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;Landroid/hardware/camera2/CameraManager$AvailabilityCallback;)V HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->asBinder()Landroid/os/IBinder; +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->cameraIdHasConcurrentStreamsLocked(Ljava/lang/String;)Z HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->connectCameraServiceLocked()V +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->extractCameraIdListLocked()[Ljava/lang/String; HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->get()Landroid/hardware/camera2/CameraManager$CameraManagerGlobal; +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraIdList()[Ljava/lang/String; HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraService()Landroid/hardware/ICameraService; HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onCameraAccessPrioritiesChanged()V +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onStatusChanged(ILjava/lang/String;)V +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onStatusChangedLocked(ILjava/lang/String;)V +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChanged(ILjava/lang/String;)V +HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChangedLocked(ILjava/lang/String;)V HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->postSingleAccessPriorityChangeUpdate(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Ljava/util/concurrent/Executor;)V HSPLandroid/hardware/camera2/CameraManager$FoldStateListener;->addDeviceStateListener(Landroid/hardware/camera2/CameraManager$DeviceStateListener;)V HSPLandroid/hardware/camera2/CameraManager$FoldStateListener;->handleStateChange(I)V @@ -8038,6 +8075,7 @@ HSPLandroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String HSPLandroid/hardware/camera2/CameraManager;->getDisplaySize()Landroid/util/Size; HSPLandroid/hardware/camera2/CameraManager;->getPhysicalCameraMultiResolutionConfigs(Ljava/lang/String;Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/ICameraService;)Ljava/util/Map; HSPLandroid/hardware/camera2/CameraManager;->registerDeviceStateListener(Landroid/hardware/camera2/CameraCharacteristics;)V +HSPLandroid/hardware/camera2/CameraManager;->shouldOverrideToPortrait(Landroid/content/Context;)Z HSPLandroid/hardware/camera2/CameraMetadata;-><init>()V HSPLandroid/hardware/camera2/CameraMetadata;->setNativeInstance(Landroid/hardware/camera2/impl/CameraMetadataNative;)V HSPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraHandlerExecutor;->execute(Ljava/lang/Runnable;)V @@ -8184,7 +8222,9 @@ HSPLandroid/hardware/display/DisplayManagerGlobal$1;-><init>(Landroid/hardware/d HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Integer;)Landroid/view/DisplayInfo; HSPLandroid/hardware/display/DisplayManagerGlobal$1;->recompute(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate$$ExternalSyntheticLambda0;->run()V +HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;-><init>(Landroid/hardware/display/DisplayManager$DisplayListener;Ljava/util/concurrent/Executor;JLjava/lang/String;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->clearEvents()V +HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->handleDisplayEventInner(IILandroid/view/DisplayInfo;Z)V+]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo;]Landroid/hardware/display/DisplayManager$DisplayListener;missing_types HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;-><init>(Landroid/hardware/display/DisplayManagerGlobal;Landroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback-IA;)V HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;->onDisplayEvent(II)V @@ -8205,6 +8245,7 @@ HSPLandroid/hardware/display/DisplayManagerGlobal;->getPreferredWideGamutColorSp HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landroid/graphics/Point; HSPLandroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus; HSPLandroid/hardware/display/DisplayManagerGlobal;->initExtraLogging()Z +HSPLandroid/hardware/display/DisplayManagerGlobal;->maybeLogAllDisplayListeners()V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V HSPLandroid/hardware/display/DisplayManagerGlobal;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Ljava/util/concurrent/Executor;JLjava/lang/String;)V+]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList; HSPLandroid/hardware/display/DisplayManagerGlobal;->registerNativeChoreographerForRefreshRateCallbacks()V @@ -8324,7 +8365,7 @@ HSPLandroid/hardware/location/NanoAppMessage;->getNanoAppId()J HSPLandroid/hardware/location/NanoAppMessage;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppState; HSPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;)V +HSPLandroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/hardware/location/NanoAppState;->getNanoAppId()J HSPLandroid/hardware/security/keymint/KeyParameter$1;-><init>()V HSPLandroid/hardware/security/keymint/KeyParameter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/security/keymint/KeyParameter; @@ -8437,7 +8478,7 @@ HSPLandroid/icu/impl/FormattedStringBuilder;->copyFrom(Landroid/icu/impl/Formatt HSPLandroid/icu/impl/FormattedStringBuilder;->fieldAt(I)Ljava/lang/Object; HSPLandroid/icu/impl/FormattedStringBuilder;->getCapacity()I HSPLandroid/icu/impl/FormattedStringBuilder;->insert(ILjava/lang/CharSequence;IILjava/lang/Object;)I -HSPLandroid/icu/impl/FormattedStringBuilder;->insert(ILjava/lang/CharSequence;Ljava/lang/Object;)I +HSPLandroid/icu/impl/FormattedStringBuilder;->insert(ILjava/lang/CharSequence;Ljava/lang/Object;)I+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/icu/impl/FormattedStringBuilder;->insert(I[C[Ljava/lang/Object;)I HSPLandroid/icu/impl/FormattedStringBuilder;->insertCodePoint(IILjava/lang/Object;)I HSPLandroid/icu/impl/FormattedStringBuilder;->length()I @@ -8448,7 +8489,7 @@ HSPLandroid/icu/impl/FormattedStringBuilder;->toFieldArray()[Ljava/lang/Object; HSPLandroid/icu/impl/FormattedStringBuilder;->toString()Ljava/lang/String; HSPLandroid/icu/impl/FormattedStringBuilder;->unwrapField(Ljava/lang/Object;)Ljava/text/Format$Field; HSPLandroid/icu/impl/FormattedValueStringBuilderImpl;->isIntOrGroup(Ljava/lang/Object;)Z -HSPLandroid/icu/impl/FormattedValueStringBuilderImpl;->nextFieldPosition(Landroid/icu/impl/FormattedStringBuilder;Ljava/text/FieldPosition;)Z +HSPLandroid/icu/impl/FormattedValueStringBuilderImpl;->nextFieldPosition(Landroid/icu/impl/FormattedStringBuilder;Ljava/text/FieldPosition;)Z+]Landroid/icu/text/ConstrainedFieldPosition;Landroid/icu/text/ConstrainedFieldPosition;]Ljava/text/FieldPosition;Ljava/text/DontCareFieldPosition; HSPLandroid/icu/impl/FormattedValueStringBuilderImpl;->nextPosition(Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/text/ConstrainedFieldPosition;Ljava/text/Format$Field;)Z+]Landroid/icu/text/ConstrainedFieldPosition;Landroid/icu/text/ConstrainedFieldPosition; HSPLandroid/icu/impl/Grego;->dayOfWeek(J)I HSPLandroid/icu/impl/Grego;->dayToFields(J[I)[I @@ -8469,7 +8510,7 @@ HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->addBaseNamesInFolder(Ljava/lang HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer; HSPLandroid/icu/impl/ICUBinary;->addBaseNamesInFileFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;I)I -HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I +HSPLandroid/icu/impl/ICUBinary;->compareKeys(Ljava/lang/CharSequence;[BI)I+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/icu/impl/ICUBinary;->getBytes(Ljava/nio/ByteBuffer;II)[B HSPLandroid/icu/impl/ICUBinary;->getChars(Ljava/nio/ByteBuffer;II)[C HSPLandroid/icu/impl/ICUBinary;->getData(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Ljava/nio/ByteBuffer; @@ -8505,7 +8546,7 @@ HSPLandroid/icu/impl/ICUCurrencyMetaInfo$UniqueList;->add(Ljava/lang/Object;)V HSPLandroid/icu/impl/ICUCurrencyMetaInfo$UniqueList;->create()Landroid/icu/impl/ICUCurrencyMetaInfo$UniqueList; HSPLandroid/icu/impl/ICUCurrencyMetaInfo$UniqueList;->list()Ljava/util/List; HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collect(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List; -HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collectRegion(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;ILandroid/icu/impl/ICUResourceBundle;)V +HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collectRegion(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;ILandroid/icu/impl/ICUResourceBundle;)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/ICUResourceBundle;Landroid/icu/impl/ICUResourceBundleImpl$ResourceString;,Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;,Landroid/icu/impl/ICUResourceBundleImpl$ResourceArray;]Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/impl/ICUCurrencyMetaInfo$CurrencyCollector; HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->currencies(Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List; HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->currencyDigits(Ljava/lang/String;Landroid/icu/util/Currency$CurrencyUsage;)Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits; HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->getDate(Landroid/icu/impl/ICUResourceBundle;JZ)J @@ -8513,9 +8554,9 @@ HSPLandroid/icu/impl/ICUData;->checkStreamForBinaryData(Ljava/io/InputStream;Lja HSPLandroid/icu/impl/ICUData;->getStream(Ljava/lang/ClassLoader;Ljava/lang/String;Z)Ljava/io/InputStream; HSPLandroid/icu/impl/ICULocaleService$ICUResourceBundleFactory;->getSupportedIDs()Ljava/util/Set; HSPLandroid/icu/impl/ICULocaleService$ICUResourceBundleFactory;->loader()Ljava/lang/ClassLoader; -HSPLandroid/icu/impl/ICULocaleService$LocaleKey;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V +HSPLandroid/icu/impl/ICULocaleService$LocaleKey;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->createWithCanonical(Landroid/icu/util/ULocale;Ljava/lang/String;I)Landroid/icu/impl/ICULocaleService$LocaleKey; -HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentDescriptor()Ljava/lang/String; +HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentDescriptor()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/icu/impl/ICULocaleService$LocaleKey;Landroid/icu/impl/ICULocaleService$LocaleKey; HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentID()Ljava/lang/String; HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentLocale()Landroid/icu/util/ULocale; HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->fallback()Z @@ -8547,20 +8588,21 @@ HSPLandroid/icu/impl/ICUResourceBundle$Loader;-><init>(Landroid/icu/impl/ICUReso HSPLandroid/icu/impl/ICUResourceBundle$WholeBundle;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundleReader;)V HSPLandroid/icu/impl/ICUResourceBundle;->-$$Nest$mgetNoFallback(Landroid/icu/impl/ICUResourceBundle;)Z HSPLandroid/icu/impl/ICUResourceBundle;->-$$Nest$sfgetDEBUG()Z +HSPLandroid/icu/impl/ICUResourceBundle;->-$$Nest$smgetParentLocaleID(Ljava/lang/String;Ljava/lang/String;Landroid/icu/impl/ICUResourceBundle$OpenType;)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundle;->-$$Nest$sminstantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundle$OpenType;)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;)V HSPLandroid/icu/impl/ICUResourceBundle;-><init>(Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)V HSPLandroid/icu/impl/ICUResourceBundle;->addBundleBaseNamesFromClassLoader(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Set;)V HSPLandroid/icu/impl/ICUResourceBundle;->at(I)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->at(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle; -HSPLandroid/icu/impl/ICUResourceBundle;->countPathKeys(Ljava/lang/String;)I +HSPLandroid/icu/impl/ICUResourceBundle;->countPathKeys(Ljava/lang/String;)I+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundle;->createBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->createFullLocaleNameSet(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/util/Set; HSPLandroid/icu/impl/ICUResourceBundle;->equals(Ljava/lang/Object;)Z HSPLandroid/icu/impl/ICUResourceBundle;->findResourceWithFallback(Ljava/lang/String;Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->findResourceWithFallback([Ljava/lang/String;ILandroid/icu/impl/ICUResourceBundle;Landroid/icu/util/UResourceBundle;)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->findStringWithFallback(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundle;->findStringWithFallback(Ljava/lang/String;Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;)Ljava/lang/String; +HSPLandroid/icu/impl/ICUResourceBundle;->findStringWithFallback(Ljava/lang/String;Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;)Ljava/lang/String;+]Landroid/icu/impl/ICUResourceBundleReader$Container;Landroid/icu/impl/ICUResourceBundleReader$Table;,Landroid/icu/impl/ICUResourceBundleReader$Table1632;,Landroid/icu/impl/ICUResourceBundleReader$Table16;]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/ICUResourceBundle;Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;]Landroid/icu/impl/ICUResourceBundleReader;Landroid/icu/impl/ICUResourceBundleReader; HSPLandroid/icu/impl/ICUResourceBundle;->findTopLevel(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->findTopLevel(Ljava/lang/String;)Landroid/icu/util/UResourceBundle; HSPLandroid/icu/impl/ICUResourceBundle;->findWithFallback(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle; @@ -8593,7 +8635,7 @@ HSPLandroid/icu/impl/ICUResourceBundle;->getResPathKeys([Ljava/lang/String;I)V HSPLandroid/icu/impl/ICUResourceBundle;->getStringWithFallback(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundle;->getULocale()Landroid/icu/util/ULocale; HSPLandroid/icu/impl/ICUResourceBundle;->getWithFallback(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle; -HSPLandroid/icu/impl/ICUResourceBundle;->instantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundle$OpenType;)Landroid/icu/impl/ICUResourceBundle; +HSPLandroid/icu/impl/ICUResourceBundle;->instantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Landroid/icu/impl/ICUResourceBundle$OpenType;)Landroid/icu/impl/ICUResourceBundle;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/icu/impl/ICUResourceBundle$OpenType;Landroid/icu/impl/ICUResourceBundle$OpenType;]Landroid/icu/impl/CacheBase;Landroid/icu/impl/ICUResourceBundle$1; HSPLandroid/icu/impl/ICUResourceBundle;->setParent(Ljava/util/ResourceBundle;)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceArray;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceArray;->getStringArray()[Ljava/lang/String; @@ -8605,22 +8647,22 @@ HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceBinary;->getBinary([B)[B HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->createBundleObject(ILjava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle; -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getContainerResource(I)I +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getContainerResource(I)I+]Landroid/icu/impl/ICUResourceBundleReader$Container;Landroid/icu/impl/ICUResourceBundleReader$Table1632;,Landroid/icu/impl/ICUResourceBundleReader$Table16; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getSize()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceContainer;->getString(I)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceInt;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceInt;->getInt()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceIntVector;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceIntVector;->getIntVector()[I -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/ICUResourceBundleReader;Landroid/icu/impl/ICUResourceBundleReader; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;->getString()Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceString;->getType()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;I)V -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V+]Landroid/icu/impl/ICUResourceBundleReader;Landroid/icu/impl/ICUResourceBundleReader; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->findString(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->getType()I HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(ILjava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle; -HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle; +HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGet(Ljava/lang/String;Ljava/util/HashMap;Landroid/icu/util/UResourceBundle;)Landroid/icu/util/UResourceBundle;+]Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;Landroid/icu/impl/ICUResourceBundleImpl$ResourceTable;]Landroid/icu/impl/ICUResourceBundleReader$Table;Landroid/icu/impl/ICUResourceBundleReader$Table;,Landroid/icu/impl/ICUResourceBundleReader$Table1632;,Landroid/icu/impl/ICUResourceBundleReader$Table16; HSPLandroid/icu/impl/ICUResourceBundleImpl$ResourceTable;->handleGetObject(Ljava/lang/String;)Ljava/lang/Object; HSPLandroid/icu/impl/ICUResourceBundleImpl;-><init>(Landroid/icu/impl/ICUResourceBundle$WholeBundle;)V HSPLandroid/icu/impl/ICUResourceBundleImpl;-><init>(Landroid/icu/impl/ICUResourceBundleImpl;Ljava/lang/String;I)V @@ -8651,13 +8693,13 @@ HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray()[Ljav HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray(Landroid/icu/impl/ICUResourceBundleReader$Array;)[Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getTable()Landroid/icu/impl/UResource$Table; HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getType()I -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object; -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;-><init>(I)V HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->findSimple(I)I -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object;+]Ljava/lang/ref/SoftReference;Ljava/lang/ref/SoftReference;]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->makeKey(I)I -HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfCleared([Ljava/lang/Object;ILjava/lang/Object;I)Ljava/lang/Object; HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->storeDirectly(I)Z HSPLandroid/icu/impl/ICUResourceBundleReader$Table1632;-><init>(Landroid/icu/impl/ICUResourceBundleReader;I)V @@ -8667,7 +8709,7 @@ HSPLandroid/icu/impl/ICUResourceBundleReader$Table;-><init>()V HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->findTableItem(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/CharSequence;)I HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->findValue(Ljava/lang/CharSequence;Landroid/icu/impl/UResource$Value;)Z HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getKey(Landroid/icu/impl/ICUResourceBundleReader;I)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getKeyAndValue(ILandroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)Z +HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getKeyAndValue(ILandroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)Z+]Landroid/icu/impl/ICUResourceBundleReader$Table;Landroid/icu/impl/ICUResourceBundleReader$Table1632;,Landroid/icu/impl/ICUResourceBundleReader$Table16; HSPLandroid/icu/impl/ICUResourceBundleReader$Table;->getResource(Landroid/icu/impl/ICUResourceBundleReader;Ljava/lang/String;)I HSPLandroid/icu/impl/ICUResourceBundleReader;->-$$Nest$fgetb16BitUnits(Landroid/icu/impl/ICUResourceBundleReader;)Ljava/nio/CharBuffer; HSPLandroid/icu/impl/ICUResourceBundleReader;->-$$Nest$fgetpoolStringIndex16Limit(Landroid/icu/impl/ICUResourceBundleReader;)I @@ -8691,7 +8733,7 @@ HSPLandroid/icu/impl/ICUResourceBundleReader;->getAlias(I)Ljava/lang/String; HSPLandroid/icu/impl/ICUResourceBundleReader;->getArray(I)Landroid/icu/impl/ICUResourceBundleReader$Array; HSPLandroid/icu/impl/ICUResourceBundleReader;->getBinary(I[B)[B HSPLandroid/icu/impl/ICUResourceBundleReader;->getChars(II)[C -HSPLandroid/icu/impl/ICUResourceBundleReader;->getFullName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getFullName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/icu/impl/ICUResourceBundleReader;->getIndexesInt(I)I HSPLandroid/icu/impl/ICUResourceBundleReader;->getInt(I)I HSPLandroid/icu/impl/ICUResourceBundleReader;->getIntVector(I)[I @@ -8701,10 +8743,10 @@ HSPLandroid/icu/impl/ICUResourceBundleReader;->getNoFallback()Z HSPLandroid/icu/impl/ICUResourceBundleReader;->getReader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundleReader; HSPLandroid/icu/impl/ICUResourceBundleReader;->getResourceByteOffset(I)I HSPLandroid/icu/impl/ICUResourceBundleReader;->getRootResource()I -HSPLandroid/icu/impl/ICUResourceBundleReader;->getString(I)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundleReader;->getStringV2(I)Ljava/lang/String; -HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable(I)Landroid/icu/impl/ICUResourceBundleReader$Table; -HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable16KeyOffsets(I)[C +HSPLandroid/icu/impl/ICUResourceBundleReader;->getString(I)Ljava/lang/String;+]Landroid/icu/impl/ICUResourceBundleReader;Landroid/icu/impl/ICUResourceBundleReader; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getStringV2(I)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;]Ljava/nio/CharBuffer;Ljava/nio/ByteBufferAsCharBuffer;]Ljava/lang/CharSequence;Ljava/nio/ByteBufferAsCharBuffer; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable(I)Landroid/icu/impl/ICUResourceBundleReader$Table;+]Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;Landroid/icu/impl/ICUResourceBundleReader$ResourceCache;]Landroid/icu/impl/ICUResourceBundleReader$Table;Landroid/icu/impl/ICUResourceBundleReader$Table16;,Landroid/icu/impl/ICUResourceBundleReader$Table1632; +HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable16KeyOffsets(I)[C+]Ljava/nio/CharBuffer;Ljava/nio/ByteBufferAsCharBuffer; HSPLandroid/icu/impl/ICUResourceBundleReader;->getTableKeyOffsets(I)[C HSPLandroid/icu/impl/ICUResourceBundleReader;->init(Ljava/nio/ByteBuffer;)V HSPLandroid/icu/impl/ICUResourceBundleReader;->makeKeyStringFromBytes([BI)Ljava/lang/String; @@ -8714,10 +8756,10 @@ HSPLandroid/icu/impl/ICUService$CacheEntry;-><init>(Ljava/lang/String;Ljava/lang HSPLandroid/icu/impl/ICUService$Key;-><init>(Ljava/lang/String;)V HSPLandroid/icu/impl/ICUService;->clearServiceCache()V HSPLandroid/icu/impl/ICUService;->getKey(Landroid/icu/impl/ICUService$Key;[Ljava/lang/String;)Ljava/lang/Object; -HSPLandroid/icu/impl/ICUService;->getKey(Landroid/icu/impl/ICUService$Key;[Ljava/lang/String;Landroid/icu/impl/ICUService$Factory;)Ljava/lang/Object; +HSPLandroid/icu/impl/ICUService;->getKey(Landroid/icu/impl/ICUService$Key;[Ljava/lang/String;Landroid/icu/impl/ICUService$Factory;)Ljava/lang/Object;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Map;Ljava/util/concurrent/ConcurrentHashMap;]Landroid/icu/impl/ICURWLock;Landroid/icu/impl/ICURWLock;]Landroid/icu/impl/ICUService$Key;Landroid/icu/impl/ICULocaleService$LocaleKey; HSPLandroid/icu/impl/ICUService;->isDefault()Z -HSPLandroid/icu/impl/IDNA2003;->convertIDNToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer; -HSPLandroid/icu/impl/IDNA2003;->convertToASCII(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer; +HSPLandroid/icu/impl/IDNA2003;->convertIDNToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuffer;Ljava/lang/StringBuffer; +HSPLandroid/icu/impl/IDNA2003;->convertToASCII(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;+]Landroid/icu/text/UCharacterIterator;Landroid/icu/impl/ReplaceableUCharacterIterator;]Ljava/lang/StringBuffer;Ljava/lang/StringBuffer; HSPLandroid/icu/impl/IDNA2003;->getSeparatorIndex([CII)I HSPLandroid/icu/impl/IDNA2003;->isLDHChar(I)Z HSPLandroid/icu/impl/IDNA2003;->isLabelSeparator(I)Z @@ -8725,9 +8767,9 @@ HSPLandroid/icu/impl/LocaleIDParser$1;-><init>(Landroid/icu/impl/LocaleIDParser; HSPLandroid/icu/impl/LocaleIDParser$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/icu/impl/LocaleIDParser$1;->compare(Ljava/lang/String;Ljava/lang/String;)I HSPLandroid/icu/impl/LocaleIDParser;-><init>(Ljava/lang/String;)V -HSPLandroid/icu/impl/LocaleIDParser;-><init>(Ljava/lang/String;Z)V +HSPLandroid/icu/impl/LocaleIDParser;-><init>(Ljava/lang/String;Z)V+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/LocaleIDParser;->addSeparator()V -HSPLandroid/icu/impl/LocaleIDParser;->append(C)V +HSPLandroid/icu/impl/LocaleIDParser;->append(C)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/icu/impl/LocaleIDParser;->append(Ljava/lang/String;)V HSPLandroid/icu/impl/LocaleIDParser;->atTerminator()Z HSPLandroid/icu/impl/LocaleIDParser;->getBaseName()Ljava/lang/String; @@ -8751,10 +8793,10 @@ HSPLandroid/icu/impl/LocaleIDParser;->isTerminator(C)Z HSPLandroid/icu/impl/LocaleIDParser;->isTerminatorOrIDSeparator(C)Z HSPLandroid/icu/impl/LocaleIDParser;->next()C HSPLandroid/icu/impl/LocaleIDParser;->parseBaseName()V -HSPLandroid/icu/impl/LocaleIDParser;->parseCountry()I +HSPLandroid/icu/impl/LocaleIDParser;->parseCountry()I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/icu/impl/LocaleIDParser;->parseKeywords()I -HSPLandroid/icu/impl/LocaleIDParser;->parseLanguage()I -HSPLandroid/icu/impl/LocaleIDParser;->parseScript()I +HSPLandroid/icu/impl/LocaleIDParser;->parseLanguage()I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/icu/impl/LocaleIDParser;->parseScript()I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/icu/impl/LocaleIDParser;->parseVariant()I HSPLandroid/icu/impl/LocaleIDParser;->reset()V HSPLandroid/icu/impl/LocaleIDParser;->setKeywordValue(Ljava/lang/String;Ljava/lang/String;)V @@ -8783,7 +8825,7 @@ HSPLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->flushAndAppendZeroCC(Lja HSPLandroid/icu/impl/Normalizer2Impl;->addToStartSet(Landroid/icu/util/MutableCodePointTrie;II)V HSPLandroid/icu/impl/Normalizer2Impl;->composeQuickCheck(Ljava/lang/CharSequence;IIZZ)I HSPLandroid/icu/impl/Normalizer2Impl;->decompose(IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)V -HSPLandroid/icu/impl/Normalizer2Impl;->decompose(Ljava/lang/CharSequence;IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)I +HSPLandroid/icu/impl/Normalizer2Impl;->decompose(Ljava/lang/CharSequence;IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)I+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/icu/impl/Normalizer2Impl;->decomposeAndAppend(Ljava/lang/CharSequence;ZLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)V HSPLandroid/icu/impl/Normalizer2Impl;->ensureCanonIterData()Landroid/icu/impl/Normalizer2Impl; HSPLandroid/icu/impl/Normalizer2Impl;->getRawNorm16(I)I @@ -8813,11 +8855,11 @@ HSPLandroid/icu/impl/OlsonTimeZone;->initialDstOffset()I HSPLandroid/icu/impl/OlsonTimeZone;->initialRawOffset()I HSPLandroid/icu/impl/OlsonTimeZone;->isFrozen()Z HSPLandroid/icu/impl/OlsonTimeZone;->loadRule(Landroid/icu/util/UResourceBundle;Ljava/lang/String;)Landroid/icu/util/UResourceBundle; -HSPLandroid/icu/impl/OlsonTimeZone;->toString()Ljava/lang/String; +HSPLandroid/icu/impl/OlsonTimeZone;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/icu/impl/PatternProps;->isWhiteSpace(I)Z HSPLandroid/icu/impl/PatternProps;->skipWhiteSpace(Ljava/lang/CharSequence;I)I HSPLandroid/icu/impl/PatternTokenizer;-><init>()V -HSPLandroid/icu/impl/PatternTokenizer;->next(Ljava/lang/StringBuffer;)I +HSPLandroid/icu/impl/PatternTokenizer;->next(Ljava/lang/StringBuffer;)I+]Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet; HSPLandroid/icu/impl/PatternTokenizer;->quoteLiteral(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/impl/PatternTokenizer;->setExtraQuotingCharacters(Landroid/icu/text/UnicodeSet;)Landroid/icu/impl/PatternTokenizer; HSPLandroid/icu/impl/PatternTokenizer;->setPattern(Ljava/lang/String;)Landroid/icu/impl/PatternTokenizer; @@ -8838,7 +8880,7 @@ HSPLandroid/icu/impl/RBBIDataWrapper;->get(Ljava/nio/ByteBuffer;)Landroid/icu/im HSPLandroid/icu/impl/ReplaceableUCharacterIterator;-><init>(Ljava/lang/String;)V HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->getLength()I HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->getText([CI)I -HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->next()I +HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->next()I+]Landroid/icu/text/Replaceable;Landroid/icu/text/ReplaceableString; HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->setIndex(I)V HSPLandroid/icu/impl/RuleCharacterIterator;->_advance(I)V HSPLandroid/icu/impl/RuleCharacterIterator;->_current()I @@ -8865,14 +8907,14 @@ HSPLandroid/icu/impl/StaticUnicodeSets;->chooseFrom(Ljava/lang/String;Landroid/i HSPLandroid/icu/impl/StaticUnicodeSets;->get(Landroid/icu/impl/StaticUnicodeSets$Key;)Landroid/icu/text/UnicodeSet; HSPLandroid/icu/impl/StringSegment;-><init>(Ljava/lang/String;Z)V HSPLandroid/icu/impl/StringSegment;->adjustOffset(I)V -HSPLandroid/icu/impl/StringSegment;->charAt(I)C+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/icu/impl/StringSegment;->charAt(I)C HSPLandroid/icu/impl/StringSegment;->codePointsEqual(IIZ)Z -HSPLandroid/icu/impl/StringSegment;->getCodePoint()I+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/icu/impl/StringSegment;->getCodePoint()I HSPLandroid/icu/impl/StringSegment;->getCommonPrefixLength(Ljava/lang/CharSequence;)I HSPLandroid/icu/impl/StringSegment;->getOffset()I -HSPLandroid/icu/impl/StringSegment;->getPrefixLengthInternal(Ljava/lang/CharSequence;Z)I+]Landroid/icu/impl/StringSegment;Landroid/icu/impl/StringSegment;]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/icu/impl/StringSegment;->getPrefixLengthInternal(Ljava/lang/CharSequence;Z)I HSPLandroid/icu/impl/StringSegment;->length()I -HSPLandroid/icu/impl/StringSegment;->startsWith(Landroid/icu/text/UnicodeSet;)Z+]Landroid/icu/impl/StringSegment;Landroid/icu/impl/StringSegment;]Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet; +HSPLandroid/icu/impl/StringSegment;->startsWith(Landroid/icu/text/UnicodeSet;)Z HSPLandroid/icu/impl/StringSegment;->startsWith(Ljava/lang/CharSequence;)Z HSPLandroid/icu/impl/TextTrieMap$Node;-><init>(Landroid/icu/impl/TextTrieMap;)V HSPLandroid/icu/impl/TextTrieMap;-><init>(Z)V @@ -8930,7 +8972,7 @@ HSPLandroid/icu/impl/Trie2_32;->get(I)I HSPLandroid/icu/impl/Trie2_32;->getFromU16SingleLead(C)I HSPLandroid/icu/impl/UBiDiProps;->getClass(I)I HSPLandroid/icu/impl/UBiDiProps;->getClassFromProps(I)I -HSPLandroid/icu/impl/UCaseProps;->fold(II)I+]Landroid/icu/impl/Trie2_16;Landroid/icu/impl/Trie2_16; +HSPLandroid/icu/impl/UCaseProps;->fold(II)I HSPLandroid/icu/impl/UCaseProps;->getCaseLocale(Ljava/lang/String;)I HSPLandroid/icu/impl/UCaseProps;->getCaseLocale(Ljava/util/Locale;)I HSPLandroid/icu/impl/UCaseProps;->getDelta(I)I @@ -8962,7 +9004,7 @@ HSPLandroid/icu/impl/UResource$Sink;-><init>()V HSPLandroid/icu/impl/UResource$Value;-><init>()V HSPLandroid/icu/impl/UResource$Value;->toString()Ljava/lang/String; HSPLandroid/icu/impl/Utility;->addExact(II)I -HSPLandroid/icu/impl/Utility;->appendTo(Ljava/lang/CharSequence;Ljava/lang/Appendable;)Ljava/lang/Appendable; +HSPLandroid/icu/impl/Utility;->appendTo(Ljava/lang/CharSequence;Ljava/lang/Appendable;)Ljava/lang/Appendable;+]Ljava/lang/Appendable;Ljava/lang/StringBuffer; HSPLandroid/icu/impl/Utility;->arrayEquals([BLjava/lang/Object;)Z HSPLandroid/icu/impl/Utility;->arrayRegionMatches([BI[BII)Z HSPLandroid/icu/impl/Utility;->sameObjects(Ljava/lang/Object;Ljava/lang/Object;)Z @@ -9093,9 +9135,9 @@ HSPLandroid/icu/impl/locale/BaseLocale$Key;->-$$Nest$fget_scrt(Landroid/icu/impl HSPLandroid/icu/impl/locale/BaseLocale$Key;->-$$Nest$fget_vart(Landroid/icu/impl/locale/BaseLocale$Key;)Ljava/lang/String; HSPLandroid/icu/impl/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/icu/impl/locale/BaseLocale$Key;->equals(Ljava/lang/Object;)Z -HSPLandroid/icu/impl/locale/BaseLocale$Key;->hashCode()I +HSPLandroid/icu/impl/locale/BaseLocale$Key;->hashCode()I+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/locale/BaseLocale$Key;->normalize(Landroid/icu/impl/locale/BaseLocale$Key;)Landroid/icu/impl/locale/BaseLocale$Key; -HSPLandroid/icu/impl/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V +HSPLandroid/icu/impl/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/icu/impl/locale/BaseLocale-IA;)V HSPLandroid/icu/impl/locale/BaseLocale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/icu/impl/locale/BaseLocale; HSPLandroid/icu/impl/locale/BaseLocale;->getLanguage()Ljava/lang/String; @@ -9116,7 +9158,7 @@ HSPLandroid/icu/impl/locale/LocaleObjectCache;->cleanStaleEntries()V HSPLandroid/icu/impl/locale/LocaleObjectCache;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/icu/impl/number/AdoptingModifierStore$1;-><clinit>()V HSPLandroid/icu/impl/number/AdoptingModifierStore;-><init>(Landroid/icu/impl/number/Modifier;Landroid/icu/impl/number/Modifier;Landroid/icu/impl/number/Modifier;Landroid/icu/impl/number/Modifier;)V -HSPLandroid/icu/impl/number/AdoptingModifierStore;->getModifierWithoutPlural(Landroid/icu/impl/number/Modifier$Signum;)Landroid/icu/impl/number/Modifier; +HSPLandroid/icu/impl/number/AdoptingModifierStore;->getModifierWithoutPlural(Landroid/icu/impl/number/Modifier$Signum;)Landroid/icu/impl/number/Modifier;+]Landroid/icu/impl/number/Modifier$Signum;Landroid/icu/impl/number/Modifier$Signum; HSPLandroid/icu/impl/number/AffixUtils;->containsType(Ljava/lang/CharSequence;I)Z HSPLandroid/icu/impl/number/AffixUtils;->escape(Ljava/lang/CharSequence;)Ljava/lang/String; HSPLandroid/icu/impl/number/AffixUtils;->getFieldForType(I)Landroid/icu/text/NumberFormat$Field; @@ -9131,14 +9173,14 @@ HSPLandroid/icu/impl/number/AffixUtils;->makeTag(IIII)J HSPLandroid/icu/impl/number/AffixUtils;->nextToken(JLjava/lang/CharSequence;)J HSPLandroid/icu/impl/number/AffixUtils;->unescape(Ljava/lang/CharSequence;Landroid/icu/impl/FormattedStringBuilder;ILandroid/icu/impl/number/AffixUtils$SymbolProvider;Landroid/icu/text/NumberFormat$Field;)I HSPLandroid/icu/impl/number/AffixUtils;->unescapedCount(Ljava/lang/CharSequence;ZLandroid/icu/impl/number/AffixUtils$SymbolProvider;)I -HSPLandroid/icu/impl/number/ConstantAffixModifier;->apply(Landroid/icu/impl/FormattedStringBuilder;II)I +HSPLandroid/icu/impl/number/ConstantAffixModifier;->apply(Landroid/icu/impl/FormattedStringBuilder;II)I+]Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/FormattedStringBuilder; HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;-><init>(Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/FormattedStringBuilder;ZZ)V HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;-><init>(Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/FormattedStringBuilder;ZZLandroid/icu/impl/number/Modifier$Parameters;)V -HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;->apply(Landroid/icu/impl/FormattedStringBuilder;II)I +HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;->apply(Landroid/icu/impl/FormattedStringBuilder;II)I+]Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/FormattedStringBuilder; HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;->getPrefixLength()I HSPLandroid/icu/impl/number/CurrencySpacingEnabledModifier;->applyCurrencySpacing(Landroid/icu/impl/FormattedStringBuilder;IIIILandroid/icu/text/DecimalFormatSymbols;)I HSPLandroid/icu/impl/number/CurrencySpacingEnabledModifier;->applyCurrencySpacingAffix(Landroid/icu/impl/FormattedStringBuilder;IBLandroid/icu/text/DecimalFormatSymbols;)I -HSPLandroid/icu/impl/number/CustomSymbolCurrency;->resolve(Landroid/icu/util/Currency;Landroid/icu/util/ULocale;Landroid/icu/text/DecimalFormatSymbols;)Landroid/icu/util/Currency; +HSPLandroid/icu/impl/number/CustomSymbolCurrency;->resolve(Landroid/icu/util/Currency;Landroid/icu/util/ULocale;Landroid/icu/text/DecimalFormatSymbols;)Landroid/icu/util/Currency;+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/util/Currency;Landroid/icu/util/Currency; HSPLandroid/icu/impl/number/DecimalFormatProperties;-><init>()V HSPLandroid/icu/impl/number/DecimalFormatProperties;->_clear()Landroid/icu/impl/number/DecimalFormatProperties; HSPLandroid/icu/impl/number/DecimalFormatProperties;->_copyFrom(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/DecimalFormatProperties; @@ -9218,14 +9260,14 @@ HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;-><init>()V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToBigDecimal(Ljava/math/BigDecimal;)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToBigInteger(Ljava/math/BigInteger;)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToDoubleFast(D)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToLong(J)V +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToLong(J)V+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->adjustMagnitude(I)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->appendDigit(BIZ)V+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->appendDigit(BIZ)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->applyMaxInteger(I)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->convertToAccurateDouble()V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->copyFrom(Landroid/icu/impl/number/DecimalQuantity;)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->fitsInLong()Z+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getDigit(I)B +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->fitsInLong()Z +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getDigit(I)B+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getLowerDisplayMagnitude()I HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getMagnitude()I HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getPluralOperand(Landroid/icu/text/PluralRules$Operand;)D @@ -9238,18 +9280,18 @@ HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->isZeroish()Z HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->negate()V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->populateUFieldPosition(Ljava/text/FieldPosition;)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->roundToMagnitude(ILjava/math/MathContext;)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->roundToMagnitude(ILjava/math/MathContext;Z)V +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->roundToMagnitude(ILjava/math/MathContext;Z)V+]Ljava/math/MathContext;Ljava/math/MathContext;]Ljava/math/RoundingMode;Ljava/math/RoundingMode;]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->safeSubtract(II)I HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setMinFraction(I)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setMinInteger(I)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToBigDecimal(Ljava/math/BigDecimal;)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToDouble(D)V +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToDouble(D)V+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToInt(I)V HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToLong(J)V -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->signum()Landroid/icu/impl/number/Modifier$Signum; -HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->toLong(Z)J+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; -HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>()V+]Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; -HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(D)V +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->signum()Landroid/icu/impl/number/Modifier$Signum;+]Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->toLong(Z)J +HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>()V +HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(D)V+]Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(I)V HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(J)V HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(Ljava/lang/Number;)V @@ -9281,14 +9323,14 @@ HSPLandroid/icu/impl/number/MacroProps;-><init>()V HSPLandroid/icu/impl/number/MacroProps;->fallback(Landroid/icu/impl/number/MacroProps;)V HSPLandroid/icu/impl/number/MicroProps;-><init>(Z)V HSPLandroid/icu/impl/number/MicroProps;->clone()Ljava/lang/Object; -HSPLandroid/icu/impl/number/MicroProps;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps; +HSPLandroid/icu/impl/number/MicroProps;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;+]Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/MicroProps; HSPLandroid/icu/impl/number/Modifier$Signum;->values()[Landroid/icu/impl/number/Modifier$Signum; HSPLandroid/icu/impl/number/MultiplierFormatHandler;-><init>(Landroid/icu/number/Scale;Landroid/icu/impl/number/MicroPropsGenerator;)V HSPLandroid/icu/impl/number/MultiplierFormatHandler;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps; HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;-><init>(Landroid/icu/impl/number/AdoptingModifierStore;Landroid/icu/text/PluralRules;)V HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->addToChain(Landroid/icu/impl/number/MicroPropsGenerator;)Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier; -HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->applyToMicros(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;)V -HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps; +HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->applyToMicros(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;)V+]Landroid/icu/impl/number/AdoptingModifierStore;Landroid/icu/impl/number/AdoptingModifierStore;]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;+]Landroid/icu/impl/number/MicroPropsGenerator;Landroid/icu/impl/number/MicroProps;]Landroid/icu/number/Precision;Landroid/icu/number/Precision$FractionRounderImpl;]Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier; HSPLandroid/icu/impl/number/MutablePatternModifier;-><init>(Z)V HSPLandroid/icu/impl/number/MutablePatternModifier;->addToChain(Landroid/icu/impl/number/MicroPropsGenerator;)Landroid/icu/impl/number/MicroPropsGenerator; HSPLandroid/icu/impl/number/MutablePatternModifier;->apply(Landroid/icu/impl/FormattedStringBuilder;II)I @@ -9318,7 +9360,7 @@ HSPLandroid/icu/impl/number/PatternStringParser;->consumeAffix(Landroid/icu/impl HSPLandroid/icu/impl/number/PatternStringParser;->consumeExponent(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V HSPLandroid/icu/impl/number/PatternStringParser;->consumeFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V HSPLandroid/icu/impl/number/PatternStringParser;->consumeFractionFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V -HSPLandroid/icu/impl/number/PatternStringParser;->consumeIntegerFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V +HSPLandroid/icu/impl/number/PatternStringParser;->consumeIntegerFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V+]Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParserState; HSPLandroid/icu/impl/number/PatternStringParser;->consumeLiteral(Landroid/icu/impl/number/PatternStringParser$ParserState;)V HSPLandroid/icu/impl/number/PatternStringParser;->consumePadding(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;Landroid/icu/impl/number/Padder$PadPosition;)V HSPLandroid/icu/impl/number/PatternStringParser;->consumePattern(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;)V @@ -9331,9 +9373,9 @@ HSPLandroid/icu/impl/number/PatternStringUtils$PatternSignType;-><clinit>()V HSPLandroid/icu/impl/number/PatternStringUtils$PatternSignType;-><init>(Ljava/lang/String;I)V HSPLandroid/icu/impl/number/PatternStringUtils$PatternSignType;->values()[Landroid/icu/impl/number/PatternStringUtils$PatternSignType; HSPLandroid/icu/impl/number/PatternStringUtils;->patternInfoToStringBuilder(Landroid/icu/impl/number/AffixPatternProvider;ZLandroid/icu/impl/number/PatternStringUtils$PatternSignType;ZLandroid/icu/impl/StandardPlural;ZLjava/lang/StringBuilder;)V -HSPLandroid/icu/impl/number/PatternStringUtils;->propertiesToPatternString(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/lang/String; +HSPLandroid/icu/impl/number/PatternStringUtils;->propertiesToPatternString(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/PropertiesAffixPatternProvider;]Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/DecimalFormatProperties; HSPLandroid/icu/impl/number/PatternStringUtils;->resolveSignDisplay(Landroid/icu/number/NumberFormatter$SignDisplay;Landroid/icu/impl/number/Modifier$Signum;)Landroid/icu/impl/number/PatternStringUtils$PatternSignType; -HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;-><init>(Landroid/icu/impl/number/DecimalFormatProperties;)V +HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;-><init>(Landroid/icu/impl/number/DecimalFormatProperties;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/DecimalFormatProperties; HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->charAt(II)C HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->containsSymbolType(I)Z HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->currencyAsDecimal()Z @@ -9341,7 +9383,7 @@ HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->forProperties(Landr HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->getString(I)Ljava/lang/String; HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasBody()Z HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasCurrencySign()Z -HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasNegativeSubpattern()Z +HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasNegativeSubpattern()Z+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->length(I)I HSPLandroid/icu/impl/number/RoundingUtils;->getMathContextOr34Digits(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/math/MathContext; HSPLandroid/icu/impl/number/RoundingUtils;->getMathContextOrUnlimited(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/math/MathContext; @@ -9353,14 +9395,14 @@ HSPLandroid/icu/impl/number/SimpleModifier;->apply(Landroid/icu/impl/FormattedSt HSPLandroid/icu/impl/number/parse/AffixMatcher$1;->compare(Landroid/icu/impl/number/parse/AffixMatcher;Landroid/icu/impl/number/parse/AffixMatcher;)I HSPLandroid/icu/impl/number/parse/AffixMatcher$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/icu/impl/number/parse/AffixMatcher;-><init>(Landroid/icu/impl/number/parse/AffixPatternMatcher;Landroid/icu/impl/number/parse/AffixPatternMatcher;I)V -HSPLandroid/icu/impl/number/parse/AffixMatcher;->createMatchers(Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/parse/NumberParserImpl;Landroid/icu/impl/number/parse/AffixTokenMatcherFactory;Landroid/icu/impl/number/parse/IgnorablesMatcher;I)V+]Landroid/icu/impl/number/parse/NumberParserImpl;Landroid/icu/impl/number/parse/NumberParserImpl;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/icu/impl/number/parse/AffixMatcher;->createMatchers(Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/parse/NumberParserImpl;Landroid/icu/impl/number/parse/AffixTokenMatcherFactory;Landroid/icu/impl/number/parse/IgnorablesMatcher;I)V HSPLandroid/icu/impl/number/parse/AffixMatcher;->getInstance(Landroid/icu/impl/number/parse/AffixPatternMatcher;Landroid/icu/impl/number/parse/AffixPatternMatcher;I)Landroid/icu/impl/number/parse/AffixMatcher; HSPLandroid/icu/impl/number/parse/AffixMatcher;->isInteresting(Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/parse/IgnorablesMatcher;I)Z HSPLandroid/icu/impl/number/parse/AffixMatcher;->length(Landroid/icu/impl/number/parse/AffixPatternMatcher;)I HSPLandroid/icu/impl/number/parse/AffixMatcher;->match(Landroid/icu/impl/StringSegment;Landroid/icu/impl/number/parse/ParsedNumber;)Z HSPLandroid/icu/impl/number/parse/AffixMatcher;->matched(Landroid/icu/impl/number/parse/AffixPatternMatcher;Ljava/lang/String;)Z HSPLandroid/icu/impl/number/parse/AffixMatcher;->postProcess(Landroid/icu/impl/number/parse/ParsedNumber;)V -HSPLandroid/icu/impl/number/parse/AffixMatcher;->smokeTest(Landroid/icu/impl/StringSegment;)Z+]Landroid/icu/impl/number/parse/AffixPatternMatcher;Landroid/icu/impl/number/parse/AffixPatternMatcher; +HSPLandroid/icu/impl/number/parse/AffixMatcher;->smokeTest(Landroid/icu/impl/StringSegment;)Z HSPLandroid/icu/impl/number/parse/AffixPatternMatcher;-><init>(Ljava/lang/String;)V HSPLandroid/icu/impl/number/parse/AffixPatternMatcher;->consumeToken(I)V HSPLandroid/icu/impl/number/parse/AffixPatternMatcher;->equals(Ljava/lang/Object;)Z @@ -9368,10 +9410,10 @@ HSPLandroid/icu/impl/number/parse/AffixPatternMatcher;->fromAffixPattern(Ljava/l HSPLandroid/icu/impl/number/parse/AffixPatternMatcher;->getPattern()Ljava/lang/String; HSPLandroid/icu/impl/number/parse/AffixTokenMatcherFactory;-><init>()V HSPLandroid/icu/impl/number/parse/AffixTokenMatcherFactory;->minusSign()Landroid/icu/impl/number/parse/MinusSignMatcher; -HSPLandroid/icu/impl/number/parse/DecimalMatcher;-><init>(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;I)V+]Landroid/icu/impl/number/Grouper;Landroid/icu/impl/number/Grouper;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols; +HSPLandroid/icu/impl/number/parse/DecimalMatcher;-><init>(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;I)V HSPLandroid/icu/impl/number/parse/DecimalMatcher;->getInstance(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;I)Landroid/icu/impl/number/parse/DecimalMatcher; HSPLandroid/icu/impl/number/parse/DecimalMatcher;->match(Landroid/icu/impl/StringSegment;Landroid/icu/impl/number/parse/ParsedNumber;)Z -HSPLandroid/icu/impl/number/parse/DecimalMatcher;->match(Landroid/icu/impl/StringSegment;Landroid/icu/impl/number/parse/ParsedNumber;I)Z +HSPLandroid/icu/impl/number/parse/DecimalMatcher;->match(Landroid/icu/impl/StringSegment;Landroid/icu/impl/number/parse/ParsedNumber;I)Z+]Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/number/parse/ParsedNumber;Landroid/icu/impl/number/parse/ParsedNumber;]Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;]Landroid/icu/impl/StringSegment;Landroid/icu/impl/StringSegment; HSPLandroid/icu/impl/number/parse/DecimalMatcher;->postProcess(Landroid/icu/impl/number/parse/ParsedNumber;)V HSPLandroid/icu/impl/number/parse/DecimalMatcher;->smokeTest(Landroid/icu/impl/StringSegment;)Z HSPLandroid/icu/impl/number/parse/DecimalMatcher;->validateGroup(IIZ)Z @@ -9382,14 +9424,14 @@ HSPLandroid/icu/impl/number/parse/NanMatcher;->getInstance(Landroid/icu/text/Dec HSPLandroid/icu/impl/number/parse/NumberParserImpl;-><init>(I)V HSPLandroid/icu/impl/number/parse/NumberParserImpl;->addMatcher(Landroid/icu/impl/number/parse/NumberParseMatcher;)V HSPLandroid/icu/impl/number/parse/NumberParserImpl;->addMatchers(Ljava/util/Collection;)V -HSPLandroid/icu/impl/number/parse/NumberParserImpl;->createParserFromProperties(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Z)Landroid/icu/impl/number/parse/NumberParserImpl; +HSPLandroid/icu/impl/number/parse/NumberParserImpl;->createParserFromProperties(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Z)Landroid/icu/impl/number/parse/NumberParserImpl;+]Landroid/icu/impl/number/Grouper;Landroid/icu/impl/number/Grouper;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/PropertiesAffixPatternProvider;]Landroid/icu/impl/number/parse/NumberParserImpl;Landroid/icu/impl/number/parse/NumberParserImpl;]Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/DecimalFormatProperties; HSPLandroid/icu/impl/number/parse/NumberParserImpl;->freeze()V HSPLandroid/icu/impl/number/parse/NumberParserImpl;->getParseFlags()I HSPLandroid/icu/impl/number/parse/NumberParserImpl;->parse(Ljava/lang/String;IZLandroid/icu/impl/number/parse/ParsedNumber;)V HSPLandroid/icu/impl/number/parse/NumberParserImpl;->parseGreedy(Landroid/icu/impl/StringSegment;Landroid/icu/impl/number/parse/ParsedNumber;)V HSPLandroid/icu/impl/number/parse/ParsedNumber;-><init>()V HSPLandroid/icu/impl/number/parse/ParsedNumber;->clear()V -HSPLandroid/icu/impl/number/parse/ParsedNumber;->getNumber(I)Ljava/lang/Number;+]Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/impl/number/parse/ParsedNumber;->getNumber(I)Ljava/lang/Number; HSPLandroid/icu/impl/number/parse/ParsedNumber;->postProcess()V HSPLandroid/icu/impl/number/parse/ParsedNumber;->seenNumber()Z HSPLandroid/icu/impl/number/parse/ParsedNumber;->setCharsConsumed(Landroid/icu/impl/StringSegment;)V @@ -9398,7 +9440,7 @@ HSPLandroid/icu/impl/number/parse/RequireAffixValidator;-><init>()V HSPLandroid/icu/impl/number/parse/RequireAffixValidator;->postProcess(Landroid/icu/impl/number/parse/ParsedNumber;)V HSPLandroid/icu/impl/number/parse/RequireNumberValidator;-><init>()V HSPLandroid/icu/impl/number/parse/RequireNumberValidator;->postProcess(Landroid/icu/impl/number/parse/ParsedNumber;)V -HSPLandroid/icu/impl/number/parse/ScientificMatcher;-><init>(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;)V+]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet; +HSPLandroid/icu/impl/number/parse/ScientificMatcher;-><init>(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;)V HSPLandroid/icu/impl/number/parse/ScientificMatcher;->getInstance(Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/Grouper;)Landroid/icu/impl/number/parse/ScientificMatcher; HSPLandroid/icu/impl/number/parse/ScientificMatcher;->minusSignSet()Landroid/icu/text/UnicodeSet; HSPLandroid/icu/impl/number/parse/ScientificMatcher;->plusSignSet()Landroid/icu/text/UnicodeSet; @@ -9426,7 +9468,7 @@ HSPLandroid/icu/impl/number/range/StandardPluralRanges;->getSetForLocale(Landroi HSPLandroid/icu/impl/number/range/StandardPluralRanges;->setCapacity(I)V HSPLandroid/icu/lang/UCharacter;->codePointAt(Ljava/lang/CharSequence;I)I HSPLandroid/icu/lang/UCharacter;->digit(I)I -HSPLandroid/icu/lang/UCharacter;->foldCase(II)I+]Landroid/icu/impl/UCaseProps;Landroid/icu/impl/UCaseProps; +HSPLandroid/icu/lang/UCharacter;->foldCase(II)I HSPLandroid/icu/lang/UCharacter;->foldCase(IZ)I HSPLandroid/icu/lang/UCharacter;->getPropertyValueEnumNoThrow(ILjava/lang/CharSequence;)I HSPLandroid/icu/lang/UCharacter;->getType(I)I @@ -9442,33 +9484,33 @@ HSPLandroid/icu/number/IntegerWidth;-><init>(II)V HSPLandroid/icu/number/IntegerWidth;->truncateAt(I)Landroid/icu/number/IntegerWidth; HSPLandroid/icu/number/IntegerWidth;->zeroFillTo(I)Landroid/icu/number/IntegerWidth; HSPLandroid/icu/number/LocalizedNumberFormatter;-><init>(Landroid/icu/number/NumberFormatterSettings;ILjava/lang/Object;)V -HSPLandroid/icu/number/LocalizedNumberFormatter;->computeCompiled()Z +HSPLandroid/icu/number/LocalizedNumberFormatter;->computeCompiled()Z+]Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;Ljava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;]Landroid/icu/number/LocalizedNumberFormatter;Landroid/icu/number/LocalizedNumberFormatter;]Ljava/lang/Long;Ljava/lang/Long; HSPLandroid/icu/number/LocalizedNumberFormatter;->create(ILjava/lang/Object;)Landroid/icu/number/LocalizedNumberFormatter; HSPLandroid/icu/number/LocalizedNumberFormatter;->create(ILjava/lang/Object;)Landroid/icu/number/NumberFormatterSettings; HSPLandroid/icu/number/LocalizedNumberFormatter;->format(D)Landroid/icu/number/FormattedNumber; HSPLandroid/icu/number/LocalizedNumberFormatter;->format(J)Landroid/icu/number/FormattedNumber; HSPLandroid/icu/number/LocalizedNumberFormatter;->format(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/number/FormattedNumber; -HSPLandroid/icu/number/LocalizedNumberFormatter;->formatImpl(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;)Landroid/icu/impl/number/MicroProps; +HSPLandroid/icu/number/LocalizedNumberFormatter;->formatImpl(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;)Landroid/icu/impl/number/MicroProps;+]Landroid/icu/number/NumberFormatterImpl;Landroid/icu/number/NumberFormatterImpl; HSPLandroid/icu/number/LocalizedNumberFormatter;->getAffixImpl(ZZ)Ljava/lang/String; HSPLandroid/icu/number/NumberFormatter;->fromDecimalFormat(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/number/UnlocalizedNumberFormatter; HSPLandroid/icu/number/NumberFormatter;->with()Landroid/icu/number/UnlocalizedNumberFormatter; HSPLandroid/icu/number/NumberFormatterImpl;-><init>(Landroid/icu/impl/number/MacroProps;)V -HSPLandroid/icu/number/NumberFormatterImpl;->format(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;)Landroid/icu/impl/number/MicroProps; +HSPLandroid/icu/number/NumberFormatterImpl;->format(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;)Landroid/icu/impl/number/MicroProps;+]Landroid/icu/number/NumberFormatterImpl;Landroid/icu/number/NumberFormatterImpl; HSPLandroid/icu/number/NumberFormatterImpl;->formatStatic(Landroid/icu/impl/number/MacroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;)Landroid/icu/impl/number/MicroProps; HSPLandroid/icu/number/NumberFormatterImpl;->getPrefixSuffix(BLandroid/icu/impl/StandardPlural;Landroid/icu/impl/FormattedStringBuilder;)I HSPLandroid/icu/number/NumberFormatterImpl;->getPrefixSuffixImpl(Landroid/icu/impl/number/MicroPropsGenerator;BLandroid/icu/impl/FormattedStringBuilder;)I HSPLandroid/icu/number/NumberFormatterImpl;->getPrefixSuffixStatic(Landroid/icu/impl/number/MacroProps;BLandroid/icu/impl/StandardPlural;Landroid/icu/impl/FormattedStringBuilder;)I -HSPLandroid/icu/number/NumberFormatterImpl;->macrosToMicroGenerator(Landroid/icu/impl/number/MacroProps;Landroid/icu/impl/number/MicroProps;Z)Landroid/icu/impl/number/MicroPropsGenerator;+]Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/PropertiesAffixPatternProvider;]Landroid/icu/impl/number/Grouper;Landroid/icu/impl/number/Grouper;]Landroid/icu/impl/number/MutablePatternModifier;Landroid/icu/impl/number/MutablePatternModifier;]Landroid/icu/number/Precision;Landroid/icu/number/Precision$FractionRounderImpl;]Landroid/icu/text/NumberingSystem;Landroid/icu/text/NumberingSystem; -HSPLandroid/icu/number/NumberFormatterImpl;->preProcess(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps; +HSPLandroid/icu/number/NumberFormatterImpl;->macrosToMicroGenerator(Landroid/icu/impl/number/MacroProps;Landroid/icu/impl/number/MicroProps;Z)Landroid/icu/impl/number/MicroPropsGenerator;+]Landroid/icu/impl/number/MutablePatternModifier;Landroid/icu/impl/number/MutablePatternModifier;]Landroid/icu/text/NumberingSystem;Landroid/icu/text/NumberingSystem;]Landroid/icu/impl/number/Grouper;Landroid/icu/impl/number/Grouper;]Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/PropertiesAffixPatternProvider;]Landroid/icu/number/Precision;Landroid/icu/number/Precision$FractionRounderImpl; +HSPLandroid/icu/number/NumberFormatterImpl;->preProcess(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;+]Landroid/icu/impl/number/MicroPropsGenerator;Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/number/NumberFormatterImpl;->preProcessUnsafe(Landroid/icu/impl/number/MacroProps;Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps; HSPLandroid/icu/number/NumberFormatterImpl;->unitIsBaseUnit(Landroid/icu/util/MeasureUnit;)Z HSPLandroid/icu/number/NumberFormatterImpl;->unitIsCurrency(Landroid/icu/util/MeasureUnit;)Z HSPLandroid/icu/number/NumberFormatterImpl;->unitIsPercent(Landroid/icu/util/MeasureUnit;)Z HSPLandroid/icu/number/NumberFormatterImpl;->unitIsPermille(Landroid/icu/util/MeasureUnit;)Z -HSPLandroid/icu/number/NumberFormatterImpl;->writeAffixes(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/FormattedStringBuilder;II)I -HSPLandroid/icu/number/NumberFormatterImpl;->writeFractionDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I -HSPLandroid/icu/number/NumberFormatterImpl;->writeIntegerDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I -HSPLandroid/icu/number/NumberFormatterImpl;->writeNumber(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I +HSPLandroid/icu/number/NumberFormatterImpl;->writeAffixes(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/FormattedStringBuilder;II)I+]Landroid/icu/impl/number/Padder;Landroid/icu/impl/number/Padder;]Landroid/icu/impl/number/Modifier;Landroid/icu/impl/number/ConstantMultiFieldModifier;,Landroid/icu/impl/number/ConstantAffixModifier; +HSPLandroid/icu/number/NumberFormatterImpl;->writeFractionDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I+]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/number/NumberFormatterImpl;->writeIntegerDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I+]Landroid/icu/impl/number/Grouper;Landroid/icu/impl/number/Grouper;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/impl/FormattedStringBuilder;Landroid/icu/impl/FormattedStringBuilder;]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/number/NumberFormatterImpl;->writeNumber(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;I)I+]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/number/NumberFormatterSettings;-><init>(Landroid/icu/number/NumberFormatterSettings;ILjava/lang/Object;)V HSPLandroid/icu/number/NumberFormatterSettings;->macros(Landroid/icu/impl/number/MacroProps;)Landroid/icu/number/NumberFormatterSettings; HSPLandroid/icu/number/NumberFormatterSettings;->perUnit(Landroid/icu/util/MeasureUnit;)Landroid/icu/number/NumberFormatterSettings; @@ -9476,9 +9518,9 @@ HSPLandroid/icu/number/NumberFormatterSettings;->resolve()Landroid/icu/impl/numb HSPLandroid/icu/number/NumberFormatterSettings;->unit(Landroid/icu/util/MeasureUnit;)Landroid/icu/number/NumberFormatterSettings; HSPLandroid/icu/number/NumberFormatterSettings;->unitWidth(Landroid/icu/number/NumberFormatter$UnitWidth;)Landroid/icu/number/NumberFormatterSettings; HSPLandroid/icu/number/NumberPropertyMapper;->create(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/number/UnlocalizedNumberFormatter; -HSPLandroid/icu/number/NumberPropertyMapper;->oldToNew(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/MacroProps; +HSPLandroid/icu/number/NumberPropertyMapper;->oldToNew(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/MacroProps;+]Ljava/math/MathContext;Ljava/math/MathContext;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/impl/number/AffixPatternProvider;Landroid/icu/impl/number/PropertiesAffixPatternProvider;]Landroid/icu/number/Precision;Landroid/icu/number/Precision$FractionRounderImpl;,Landroid/icu/number/Precision$CurrencyRounderImpl;]Landroid/icu/number/IntegerWidth;Landroid/icu/number/IntegerWidth;]Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/DecimalFormatProperties;]Landroid/icu/number/CurrencyPrecision;Landroid/icu/number/Precision$CurrencyRounderImpl;]Landroid/icu/util/Currency;Landroid/icu/util/Currency; HSPLandroid/icu/number/Precision$FractionRounderImpl;-><init>(II)V -HSPLandroid/icu/number/Precision$FractionRounderImpl;->apply(Landroid/icu/impl/number/DecimalQuantity;)V +HSPLandroid/icu/number/Precision$FractionRounderImpl;->apply(Landroid/icu/impl/number/DecimalQuantity;)V+]Landroid/icu/number/Precision$FractionRounderImpl;Landroid/icu/number/Precision$FractionRounderImpl;]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/number/Precision$FractionRounderImpl;->createCopy()Landroid/icu/number/Precision$FractionRounderImpl; HSPLandroid/icu/number/Precision$FractionRounderImpl;->createCopy()Landroid/icu/number/Precision; HSPLandroid/icu/number/Precision;->-$$Nest$smgetDisplayMagnitudeFraction(I)I @@ -9489,7 +9531,7 @@ HSPLandroid/icu/number/Precision;->constructFraction(II)Landroid/icu/number/Frac HSPLandroid/icu/number/Precision;->constructFromCurrency(Landroid/icu/number/CurrencyPrecision;Landroid/icu/util/Currency;)Landroid/icu/number/Precision; HSPLandroid/icu/number/Precision;->getDisplayMagnitudeFraction(I)I HSPLandroid/icu/number/Precision;->getRoundingMagnitudeFraction(I)I -HSPLandroid/icu/number/Precision;->setResolvedMinFraction(Landroid/icu/impl/number/DecimalQuantity;I)V +HSPLandroid/icu/number/Precision;->setResolvedMinFraction(Landroid/icu/impl/number/DecimalQuantity;I)V+]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; HSPLandroid/icu/number/Precision;->withLocaleData(Landroid/icu/util/Currency;)Landroid/icu/number/Precision; HSPLandroid/icu/number/Precision;->withMode(Ljava/math/MathContext;)Landroid/icu/number/Precision; HSPLandroid/icu/number/Scale;->applyTo(Landroid/icu/impl/number/DecimalQuantity;)V @@ -9538,7 +9580,7 @@ HSPLandroid/icu/text/CollationKey;->toByteArray()[B HSPLandroid/icu/text/Collator$ServiceShim;-><init>()V HSPLandroid/icu/text/Collator;-><init>()V HSPLandroid/icu/text/Collator;->clone()Ljava/lang/Object; -HSPLandroid/icu/text/Collator;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator; +HSPLandroid/icu/text/Collator;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator;+]Landroid/icu/text/Collator$ServiceShim;Landroid/icu/text/CollatorServiceShim;]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/util/ULocale;Landroid/icu/util/ULocale; HSPLandroid/icu/text/Collator;->getInstance(Ljava/util/Locale;)Landroid/icu/text/Collator; HSPLandroid/icu/text/Collator;->getShim()Landroid/icu/text/Collator$ServiceShim; HSPLandroid/icu/text/CollatorServiceShim$CService$1CollatorFactory;->handleCreate(Landroid/icu/util/ULocale;ILandroid/icu/impl/ICUService;)Ljava/lang/Object; @@ -9546,13 +9588,13 @@ HSPLandroid/icu/text/CollatorServiceShim$CService;->validateFallbackLocale()Ljav HSPLandroid/icu/text/CollatorServiceShim;-><init>()V HSPLandroid/icu/text/CollatorServiceShim;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator; HSPLandroid/icu/text/CollatorServiceShim;->makeInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator; -HSPLandroid/icu/text/ConstrainedFieldPosition;-><init>()V +HSPLandroid/icu/text/ConstrainedFieldPosition;-><init>()V+]Landroid/icu/text/ConstrainedFieldPosition;Landroid/icu/text/ConstrainedFieldPosition; HSPLandroid/icu/text/ConstrainedFieldPosition;->constrainField(Ljava/text/Format$Field;)V HSPLandroid/icu/text/ConstrainedFieldPosition;->getField()Ljava/text/Format$Field; HSPLandroid/icu/text/ConstrainedFieldPosition;->getFieldValue()Ljava/lang/Object; HSPLandroid/icu/text/ConstrainedFieldPosition;->getLimit()I HSPLandroid/icu/text/ConstrainedFieldPosition;->getStart()I -HSPLandroid/icu/text/ConstrainedFieldPosition;->matchesField(Ljava/text/Format$Field;Ljava/lang/Object;)Z +HSPLandroid/icu/text/ConstrainedFieldPosition;->matchesField(Ljava/text/Format$Field;Ljava/lang/Object;)Z+]Landroid/icu/text/ConstrainedFieldPosition$ConstraintType;Landroid/icu/text/ConstrainedFieldPosition$ConstraintType; HSPLandroid/icu/text/ConstrainedFieldPosition;->reset()V HSPLandroid/icu/text/ConstrainedFieldPosition;->setState(Ljava/text/Format$Field;Ljava/lang/Object;II)V HSPLandroid/icu/text/CurrencyDisplayNames;-><init>()V @@ -9605,6 +9647,7 @@ HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/text/DateFo HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/util/ULocale;Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;)V HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/util/ULocale;Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;Landroid/icu/text/DateFormatSymbols$AospExtendedDateFormatSymbols;)V HSPLandroid/icu/text/DateFormatSymbols;->initializeData(Landroid/icu/util/ULocale;Ljava/lang/String;)V +HSPLandroid/icu/text/DateFormatSymbols;->loadDayPeriodStrings(Ljava/util/Map;)[Ljava/lang/String; HSPLandroid/icu/text/DateFormatSymbols;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V HSPLandroid/icu/text/DateFormatSymbols;->setTimeSeparatorString(Ljava/lang/String;)V HSPLandroid/icu/text/DateIntervalFormat;-><init>(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/text/SimpleDateFormat;)V @@ -9650,7 +9693,7 @@ HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->fieldIsNumeric(I HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getBasePattern()Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getDistance(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;)I HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->getFieldMask()I -HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->set(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$FormatParser;Z)Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher; +HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->set(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$FormatParser;Z)Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/text/DateTimePatternGenerator$VariableField;Landroid/icu/text/DateTimePatternGenerator$VariableField;]Landroid/icu/text/DateTimePatternGenerator$FormatParser;Landroid/icu/text/DateTimePatternGenerator$FormatParser;]Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HSPLandroid/icu/text/DateTimePatternGenerator$DisplayWidth;->cldrKey()Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;-><init>()V HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;->addExtra(I)V @@ -9662,7 +9705,7 @@ HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->addVariable(Ljava/l HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->getItems()Ljava/util/List; HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->quoteLiteral(Ljava/lang/String;)Ljava/lang/Object; HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->set(Ljava/lang/String;)Landroid/icu/text/DateTimePatternGenerator$FormatParser; -HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->set(Ljava/lang/String;Z)Landroid/icu/text/DateTimePatternGenerator$FormatParser; +HSPLandroid/icu/text/DateTimePatternGenerator$FormatParser;->set(Ljava/lang/String;Z)Landroid/icu/text/DateTimePatternGenerator$FormatParser;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/List;Ljava/util/ArrayList;]Ljava/lang/StringBuffer;Ljava/lang/StringBuffer;]Landroid/icu/impl/PatternTokenizer;Landroid/icu/impl/PatternTokenizer; HSPLandroid/icu/text/DateTimePatternGenerator$PatternInfo;-><init>()V HSPLandroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;-><init>(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;)V HSPLandroid/icu/text/DateTimePatternGenerator$PatternWithSkeletonFlag;-><init>(Ljava/lang/String;Z)V @@ -9705,9 +9748,9 @@ HSPLandroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String HSPLandroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;I)Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;IZ)Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator;->getBestRaw(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;)Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher; -HSPLandroid/icu/text/DateTimePatternGenerator;->getCLDRFieldAndWidthNumber(Landroid/icu/impl/UResource$Key;)I +HSPLandroid/icu/text/DateTimePatternGenerator;->getCLDRFieldAndWidthNumber(Landroid/icu/impl/UResource$Key;)I+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Key; HSPLandroid/icu/text/DateTimePatternGenerator;->getCalendarTypeToUse(Landroid/icu/util/ULocale;)Ljava/lang/String; -HSPLandroid/icu/text/DateTimePatternGenerator;->getCanonicalIndex(Ljava/lang/String;Z)I +HSPLandroid/icu/text/DateTimePatternGenerator;->getCanonicalIndex(Ljava/lang/String;Z)I+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator;->getDateTimeFormat()Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator;->getFieldDisplayName(ILandroid/icu/text/DateTimePatternGenerator$DisplayWidth;)Ljava/lang/String; HSPLandroid/icu/text/DateTimePatternGenerator;->getFilteredPattern(Landroid/icu/text/DateTimePatternGenerator$FormatParser;Ljava/util/BitSet;)Ljava/lang/String; @@ -9730,8 +9773,8 @@ HSPLandroid/icu/text/DateTimePatternGenerator;->setFieldDisplayName(ILandroid/ic HSPLandroid/icu/text/DecimalFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;)V HSPLandroid/icu/text/DecimalFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;I)V HSPLandroid/icu/text/DecimalFormat;->clone()Ljava/lang/Object; -HSPLandroid/icu/text/DecimalFormat;->fieldPositionHelper(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;Ljava/text/FieldPosition;I)V -HSPLandroid/icu/text/DecimalFormat;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer; +HSPLandroid/icu/text/DecimalFormat;->fieldPositionHelper(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/FormattedStringBuilder;Ljava/text/FieldPosition;I)V+]Ljava/text/FieldPosition;Ljava/text/DontCareFieldPosition;]Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD; +HSPLandroid/icu/text/DecimalFormat;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;+]Landroid/icu/number/LocalizedNumberFormatter;Landroid/icu/number/LocalizedNumberFormatter;]Ljava/lang/StringBuffer;Ljava/lang/StringBuffer; HSPLandroid/icu/text/DecimalFormat;->format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer; HSPLandroid/icu/text/DecimalFormat;->getDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols; HSPLandroid/icu/text/DecimalFormat;->getMaximumFractionDigits()I @@ -9746,7 +9789,7 @@ HSPLandroid/icu/text/DecimalFormat;->getPositiveSuffix()Ljava/lang/String; HSPLandroid/icu/text/DecimalFormat;->isParseBigDecimal()Z HSPLandroid/icu/text/DecimalFormat;->isParseIntegerOnly()Z HSPLandroid/icu/text/DecimalFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number; -HSPLandroid/icu/text/DecimalFormat;->refreshFormatter()V +HSPLandroid/icu/text/DecimalFormat;->refreshFormatter()V+]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/number/UnlocalizedNumberFormatter;Landroid/icu/number/UnlocalizedNumberFormatter;]Landroid/icu/text/DecimalFormat;Landroid/icu/text/DecimalFormat; HSPLandroid/icu/text/DecimalFormat;->setCurrency(Landroid/icu/util/Currency;)V HSPLandroid/icu/text/DecimalFormat;->setDecimalSeparatorAlwaysShown(Z)V HSPLandroid/icu/text/DecimalFormat;->setGroupingUsed(Z)V @@ -9758,7 +9801,7 @@ HSPLandroid/icu/text/DecimalFormat;->setParseIntegerOnly(Z)V HSPLandroid/icu/text/DecimalFormat;->setParseStrictMode(Landroid/icu/impl/number/DecimalFormatProperties$ParseMode;)V HSPLandroid/icu/text/DecimalFormat;->setPropertiesFromPattern(Ljava/lang/String;I)V HSPLandroid/icu/text/DecimalFormat;->toNumberFormatter()Landroid/icu/number/LocalizedNumberFormatter; -HSPLandroid/icu/text/DecimalFormat;->toPattern()Ljava/lang/String;+]Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/DecimalFormatProperties; +HSPLandroid/icu/text/DecimalFormat;->toPattern()Ljava/lang/String; HSPLandroid/icu/text/DecimalFormatSymbols$1;->createInstance(Landroid/icu/util/ULocale;Ljava/lang/Void;)Landroid/icu/text/DecimalFormatSymbols$CacheData; HSPLandroid/icu/text/DecimalFormatSymbols$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/icu/text/DecimalFormatSymbols$CacheData;-><init>(Landroid/icu/util/ULocale;[Ljava/lang/String;[Ljava/lang/String;)V @@ -9800,7 +9843,7 @@ HSPLandroid/icu/text/DecimalFormatSymbols;->getPlusSignString()Ljava/lang/String HSPLandroid/icu/text/DecimalFormatSymbols;->getULocale()Landroid/icu/util/ULocale; HSPLandroid/icu/text/DecimalFormatSymbols;->getZeroDigit()C HSPLandroid/icu/text/DecimalFormatSymbols;->initSpacingInfo(Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;)V -HSPLandroid/icu/text/DecimalFormatSymbols;->initialize(Landroid/icu/util/ULocale;Landroid/icu/text/NumberingSystem;)V +HSPLandroid/icu/text/DecimalFormatSymbols;->initialize(Landroid/icu/util/ULocale;Landroid/icu/text/NumberingSystem;)V+]Landroid/icu/impl/CurrencyData$CurrencyDisplayInfoProvider;Landroid/icu/impl/ICUCurrencyDisplayInfoProvider;]Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;]Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/DecimalFormatSymbols;]Landroid/icu/impl/CurrencyData$CurrencyDisplayInfo;Landroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo; HSPLandroid/icu/text/DecimalFormatSymbols;->loadData(Landroid/icu/util/ULocale;)Landroid/icu/text/DecimalFormatSymbols$CacheData; HSPLandroid/icu/text/DecimalFormatSymbols;->setApproximatelySignString(Ljava/lang/String;)V HSPLandroid/icu/text/DecimalFormatSymbols;->setCurrency(Landroid/icu/util/Currency;)V @@ -9996,7 +10039,7 @@ HSPLandroid/icu/text/RuleBasedCollator;->checkNotFrozen()V HSPLandroid/icu/text/RuleBasedCollator;->clone()Ljava/lang/Object; HSPLandroid/icu/text/RuleBasedCollator;->cloneAsThawed()Landroid/icu/text/RuleBasedCollator; HSPLandroid/icu/text/RuleBasedCollator;->compare(Ljava/lang/String;Ljava/lang/String;)I -HSPLandroid/icu/text/RuleBasedCollator;->doCompare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I +HSPLandroid/icu/text/RuleBasedCollator;->doCompare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I+]Landroid/icu/impl/coll/CollationData;Landroid/icu/impl/coll/CollationData;]Landroid/icu/impl/coll/SharedObject$Reference;Landroid/icu/impl/coll/SharedObject$Reference;]Ljava/lang/CharSequence;Ljava/lang/String;]Landroid/icu/impl/coll/CollationSettings;Landroid/icu/impl/coll/CollationSettings; HSPLandroid/icu/text/RuleBasedCollator;->freeze()Landroid/icu/text/Collator; HSPLandroid/icu/text/RuleBasedCollator;->getCollationBuffer()Landroid/icu/text/RuleBasedCollator$CollationBuffer; HSPLandroid/icu/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;)Landroid/icu/text/CollationKey; @@ -10074,7 +10117,7 @@ HSPLandroid/icu/text/UnicodeSet;->checkFrozen()V HSPLandroid/icu/text/UnicodeSet;->clear()Landroid/icu/text/UnicodeSet; HSPLandroid/icu/text/UnicodeSet;->clone()Ljava/lang/Object; HSPLandroid/icu/text/UnicodeSet;->compact()Landroid/icu/text/UnicodeSet; -HSPLandroid/icu/text/UnicodeSet;->contains(I)Z +HSPLandroid/icu/text/UnicodeSet;->contains(I)Z+]Landroid/icu/impl/BMPSet;Landroid/icu/impl/BMPSet; HSPLandroid/icu/text/UnicodeSet;->contains(Ljava/lang/CharSequence;)Z HSPLandroid/icu/text/UnicodeSet;->containsAll(Ljava/lang/String;)Z HSPLandroid/icu/text/UnicodeSet;->findCodePoint(I)I @@ -10375,17 +10418,19 @@ HSPLandroid/icu/util/ULocale$Builder;->setLanguage(Ljava/lang/String;)Landroid/i HSPLandroid/icu/util/ULocale$Builder;->setRegion(Ljava/lang/String;)Landroid/icu/util/ULocale$Builder; HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->getDefault(Landroid/icu/util/ULocale$Category;)Ljava/util/Locale; HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toLocale(Landroid/icu/util/ULocale;)Ljava/util/Locale; -HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toULocale(Ljava/util/Locale;)Landroid/icu/util/ULocale; +HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toULocale(Ljava/util/Locale;)Landroid/icu/util/ULocale;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/Locale;Ljava/util/Locale;]Ljava/util/Set;Ljava/util/Collections$EmptySet; HSPLandroid/icu/util/ULocale;->-$$Nest$smgetInstance(Landroid/icu/impl/locale/BaseLocale;Landroid/icu/impl/locale/LocaleExtensions;)Landroid/icu/util/ULocale; HSPLandroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V HSPLandroid/icu/util/ULocale;-><init>(Ljava/lang/String;Ljava/util/Locale;)V HSPLandroid/icu/util/ULocale;-><init>(Ljava/lang/String;Ljava/util/Locale;Landroid/icu/util/ULocale-IA;)V HSPLandroid/icu/util/ULocale;->addLikelySubtags(Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale; HSPLandroid/icu/util/ULocale;->appendTag(Ljava/lang/String;Ljava/lang/StringBuilder;)V -HSPLandroid/icu/util/ULocale;->base()Landroid/icu/impl/locale/BaseLocale; +HSPLandroid/icu/util/ULocale;->base()Landroid/icu/impl/locale/BaseLocale;+]Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;]Landroid/icu/impl/LocaleIDParser;Landroid/icu/impl/LocaleIDParser; HSPLandroid/icu/util/ULocale;->canonicalize(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->createCanonical(Ljava/lang/String;)Landroid/icu/util/ULocale; +HSPLandroid/icu/util/ULocale;->createLikelySubtagsString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->createTagString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/icu/util/ULocale;->createTagString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->equals(Ljava/lang/Object;)Z HSPLandroid/icu/util/ULocale;->forLocale(Ljava/util/Locale;)Landroid/icu/util/ULocale; HSPLandroid/icu/util/ULocale;->getBaseName()Ljava/lang/String; @@ -10400,7 +10445,7 @@ HSPLandroid/icu/util/ULocale;->getKeywords()Ljava/util/Iterator; HSPLandroid/icu/util/ULocale;->getKeywords(Ljava/lang/String;)Ljava/util/Iterator; HSPLandroid/icu/util/ULocale;->getLanguage()Ljava/lang/String; HSPLandroid/icu/util/ULocale;->getName()Ljava/lang/String; -HSPLandroid/icu/util/ULocale;->getName(Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/icu/util/ULocale;->getName(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Landroid/icu/impl/CacheBase;Landroid/icu/util/ULocale$1; HSPLandroid/icu/util/ULocale;->getRegionForSupplementalData(Landroid/icu/util/ULocale;Z)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->getScript()Ljava/lang/String; HSPLandroid/icu/util/ULocale;->getScript(Ljava/lang/String;)Ljava/lang/String; @@ -10411,6 +10456,7 @@ HSPLandroid/icu/util/ULocale;->hashCode()I HSPLandroid/icu/util/ULocale;->isEmptyString(Ljava/lang/String;)Z HSPLandroid/icu/util/ULocale;->isKnownCanonicalizedLocale(Ljava/lang/String;)Z HSPLandroid/icu/util/ULocale;->isRightToLeft()Z +HSPLandroid/icu/util/ULocale;->lookupLikelySubtags(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->lscvToID(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLandroid/icu/util/ULocale;->parseTagString(Ljava/lang/String;[Ljava/lang/String;)I HSPLandroid/icu/util/ULocale;->setKeywordValue(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/ULocale; @@ -10483,7 +10529,7 @@ HSPLandroid/location/Location;->setVerticalAccuracyMeters(F)V HSPLandroid/location/Location;->toString()Ljava/lang/String; HSPLandroid/location/Location;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/AudioAttributes; -HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/media/AudioAttributes$1;Landroid/media/AudioAttributes$1; HSPLandroid/media/AudioAttributes$Builder;-><init>()V HSPLandroid/media/AudioAttributes$Builder;-><init>(Landroid/media/AudioAttributes;)V HSPLandroid/media/AudioAttributes$Builder;->addTag(Ljava/lang/String;)Landroid/media/AudioAttributes$Builder; @@ -10509,7 +10555,7 @@ HSPLandroid/media/AudioAttributes;->-$$Nest$fputmTags(Landroid/media/AudioAttrib HSPLandroid/media/AudioAttributes;->-$$Nest$fputmUsage(Landroid/media/AudioAttributes;I)V HSPLandroid/media/AudioAttributes;-><init>()V HSPLandroid/media/AudioAttributes;-><init>(Landroid/media/AudioAttributes-IA;)V -HSPLandroid/media/AudioAttributes;-><init>(Landroid/os/Parcel;)V +HSPLandroid/media/AudioAttributes;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/media/AudioAttributes;->areHapticChannelsMuted()Z HSPLandroid/media/AudioAttributes;->equals(Ljava/lang/Object;)Z HSPLandroid/media/AudioAttributes;->getAllFlags()I @@ -10645,7 +10691,7 @@ HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;-><init>(Landroid/medi HSPLandroid/media/AudioPlaybackConfiguration;->getAudioAttributes()Landroid/media/AudioAttributes; HSPLandroid/media/AudioPlaybackConfiguration;->isActive()Z HSPLandroid/media/AudioPort$$ExternalSyntheticLambda0;->applyAsInt(Ljava/lang/Object;)I -HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;Ljava/util/List;[Landroid/media/AudioGain;Ljava/util/List;)V +HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;Ljava/util/List;[Landroid/media/AudioGain;Ljava/util/List;)V+]Ljava/util/List;Ljava/util/ArrayList;]Ljava/util/stream/Stream;Ljava/util/stream/IntPipeline$4;,Ljava/util/stream/ReferencePipeline$Head;]Ljava/util/stream/IntStream;Ljava/util/stream/IntPipeline$Head;,Ljava/util/stream/ReferencePipeline$4;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Landroid/media/AudioProfile;Landroid/media/AudioProfile;]Ljava/util/Set;Ljava/util/HashSet; HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V HSPLandroid/media/AudioPort;->handle()Landroid/media/AudioHandle; HSPLandroid/media/AudioPort;->id()I @@ -10765,8 +10811,8 @@ HSPLandroid/media/MediaCodec$BufferMap$CodecBuffer;->setByteBuffer(Ljava/nio/Byt HSPLandroid/media/MediaCodec$BufferMap;-><init>()V HSPLandroid/media/MediaCodec$BufferMap;-><init>(Landroid/media/MediaCodec$BufferMap-IA;)V HSPLandroid/media/MediaCodec$BufferMap;->clear()V -HSPLandroid/media/MediaCodec$BufferMap;->put(ILjava/nio/ByteBuffer;)V -HSPLandroid/media/MediaCodec$BufferMap;->remove(I)V +HSPLandroid/media/MediaCodec$BufferMap;->put(ILjava/nio/ByteBuffer;)V+]Landroid/media/MediaCodec$BufferMap$CodecBuffer;Landroid/media/MediaCodec$BufferMap$CodecBuffer;]Ljava/util/Map;Ljava/util/HashMap; +HSPLandroid/media/MediaCodec$BufferMap;->remove(I)V+]Landroid/media/MediaCodec$BufferMap$CodecBuffer;Landroid/media/MediaCodec$BufferMap$CodecBuffer;]Ljava/util/Map;Ljava/util/HashMap; HSPLandroid/media/MediaCodec$CryptoInfo$Pattern;-><init>(II)V HSPLandroid/media/MediaCodec$CryptoInfo$Pattern;->set(II)V HSPLandroid/media/MediaCodec$CryptoInfo;-><init>()V @@ -10778,18 +10824,18 @@ HSPLandroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/vie HSPLandroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;Landroid/os/IHwBinder;I)V HSPLandroid/media/MediaCodec;->createByCodecName(Ljava/lang/String;)Landroid/media/MediaCodec; HSPLandroid/media/MediaCodec;->dequeueInputBuffer(J)I -HSPLandroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I +HSPLandroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I+]Landroid/media/MediaCodec$BufferInfo;Landroid/media/MediaCodec$BufferInfo;]Ljava/util/Map;Ljava/util/HashMap; HSPLandroid/media/MediaCodec;->finalize()V HSPLandroid/media/MediaCodec;->freeAllTrackedBuffers()V -HSPLandroid/media/MediaCodec;->getInputBuffer(I)Ljava/nio/ByteBuffer; -HSPLandroid/media/MediaCodec;->getOutputBuffer(I)Ljava/nio/ByteBuffer; +HSPLandroid/media/MediaCodec;->getInputBuffer(I)Ljava/nio/ByteBuffer;+]Landroid/media/MediaCodec$BufferMap;Landroid/media/MediaCodec$BufferMap; +HSPLandroid/media/MediaCodec;->getOutputBuffer(I)Ljava/nio/ByteBuffer;+]Landroid/media/MediaCodec$BufferMap;Landroid/media/MediaCodec$BufferMap; HSPLandroid/media/MediaCodec;->getOutputFormat()Landroid/media/MediaFormat; -HSPLandroid/media/MediaCodec;->lockAndGetContext()J -HSPLandroid/media/MediaCodec;->queueInputBuffer(IIIJI)V +HSPLandroid/media/MediaCodec;->lockAndGetContext()J+]Ljava/util/concurrent/locks/Lock;Ljava/util/concurrent/locks/ReentrantLock; +HSPLandroid/media/MediaCodec;->queueInputBuffer(IIIJI)V+]Landroid/media/MediaCodec$BufferMap;Landroid/media/MediaCodec$BufferMap; HSPLandroid/media/MediaCodec;->release()V HSPLandroid/media/MediaCodec;->releaseOutputBuffer(IZ)V -HSPLandroid/media/MediaCodec;->releaseOutputBufferInternal(IZZJ)V -HSPLandroid/media/MediaCodec;->setAndUnlockContext(J)V +HSPLandroid/media/MediaCodec;->releaseOutputBufferInternal(IZZJ)V+]Landroid/media/MediaCodec$BufferMap;Landroid/media/MediaCodec$BufferMap;]Ljava/util/Map;Ljava/util/HashMap; +HSPLandroid/media/MediaCodec;->setAndUnlockContext(J)V+]Ljava/util/concurrent/locks/Lock;Ljava/util/concurrent/locks/ReentrantLock; HSPLandroid/media/MediaCodec;->start()V HSPLandroid/media/MediaCodec;->stop()V HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->applyLevelLimits()V @@ -11284,6 +11330,10 @@ HSPLandroid/metrics/LogMaker;->setCategory(I)Landroid/metrics/LogMaker; HSPLandroid/metrics/LogMaker;->setComponentName(Landroid/content/ComponentName;)Landroid/metrics/LogMaker; HSPLandroid/metrics/LogMaker;->setSubtype(I)Landroid/metrics/LogMaker; HSPLandroid/metrics/LogMaker;->setType(I)Landroid/metrics/LogMaker; +HSPLandroid/multiuser/FeatureFlagsImpl;-><init>()V +HSPLandroid/multiuser/FeatureFlagsImpl;->enableSystemUserOnlyForServicesAndProviders()Z +HSPLandroid/multiuser/Flags;-><clinit>()V +HSPLandroid/multiuser/Flags;->enableSystemUserOnlyForServicesAndProviders()Z+]Landroid/multiuser/FeatureFlags;Landroid/multiuser/FeatureFlagsImpl; HSPLandroid/net/Credentials;-><init>(III)V HSPLandroid/net/Credentials;->getPid()I HSPLandroid/net/Credentials;->getUid()I @@ -11376,8 +11426,8 @@ HSPLandroid/net/TelephonyNetworkSpecifier;->equals(Ljava/lang/Object;)Z HSPLandroid/net/TelephonyNetworkSpecifier;->hashCode()I HSPLandroid/net/TelephonyNetworkSpecifier;->toString()Ljava/lang/String; HSPLandroid/net/TelephonyNetworkSpecifier;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/Uri; -HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/Uri;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/net/Uri$1;Landroid/net/Uri$1; HSPLandroid/net/Uri$1;->newArray(I)[Landroid/net/Uri; HSPLandroid/net/Uri$1;->newArray(I)[Ljava/lang/Object; HSPLandroid/net/Uri$AbstractHierarchicalUri;-><init>()V @@ -11412,11 +11462,11 @@ HSPLandroid/net/Uri$Builder;->path(Landroid/net/Uri$PathPart;)Landroid/net/Uri$B HSPLandroid/net/Uri$Builder;->path(Ljava/lang/String;)Landroid/net/Uri$Builder; HSPLandroid/net/Uri$Builder;->query(Landroid/net/Uri$Part;)Landroid/net/Uri$Builder; HSPLandroid/net/Uri$Builder;->scheme(Ljava/lang/String;)Landroid/net/Uri$Builder; -HSPLandroid/net/Uri$Builder;->toString()Ljava/lang/String; +HSPLandroid/net/Uri$Builder;->toString()Ljava/lang/String;+]Landroid/net/Uri$Builder;Landroid/net/Uri$Builder;]Landroid/net/Uri;Landroid/net/Uri$HierarchicalUri; HSPLandroid/net/Uri$HierarchicalUri;-><init>(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$PathPart;Landroid/net/Uri$Part;Landroid/net/Uri$Part;)V -HSPLandroid/net/Uri$HierarchicalUri;->appendSspTo(Ljava/lang/StringBuilder;)V -HSPLandroid/net/Uri$HierarchicalUri;->buildUpon()Landroid/net/Uri$Builder; -HSPLandroid/net/Uri$HierarchicalUri;->generatePath(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart;+]Landroid/net/Uri$Part;Landroid/net/Uri$Part$EmptyPart;,Landroid/net/Uri$Part; +HSPLandroid/net/Uri$HierarchicalUri;->appendSspTo(Ljava/lang/StringBuilder;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/net/Uri$Part;Landroid/net/Uri$Part;,Landroid/net/Uri$Part$EmptyPart;]Landroid/net/Uri$PathPart;Landroid/net/Uri$PathPart; +HSPLandroid/net/Uri$HierarchicalUri;->buildUpon()Landroid/net/Uri$Builder;+]Landroid/net/Uri$Builder;Landroid/net/Uri$Builder; +HSPLandroid/net/Uri$HierarchicalUri;->generatePath(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart;+]Landroid/net/Uri$Part;Landroid/net/Uri$Part$EmptyPart;,Landroid/net/Uri$Part;]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->getAuthority()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->getEncodedAuthority()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->getEncodedFragment()Ljava/lang/String; @@ -11429,7 +11479,7 @@ HSPLandroid/net/Uri$HierarchicalUri;->getQuery()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->getScheme()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->getSchemeSpecificPart()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->isHierarchical()Z -HSPLandroid/net/Uri$HierarchicalUri;->makeUriString()Ljava/lang/String; +HSPLandroid/net/Uri$HierarchicalUri;->makeUriString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/net/Uri$Part;Landroid/net/Uri$Part$EmptyPart; HSPLandroid/net/Uri$HierarchicalUri;->readFrom(Landroid/os/Parcel;)Landroid/net/Uri; HSPLandroid/net/Uri$HierarchicalUri;->toString()Ljava/lang/String; HSPLandroid/net/Uri$HierarchicalUri;->writeToParcel(Landroid/os/Parcel;I)V @@ -11450,13 +11500,13 @@ HSPLandroid/net/Uri$Part;->isEmpty()Z HSPLandroid/net/Uri$Part;->nonNull(Landroid/net/Uri$Part;)Landroid/net/Uri$Part; HSPLandroid/net/Uri$PathPart;-><init>(Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/net/Uri$PathPart;->appendDecodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart; -HSPLandroid/net/Uri$PathPart;->appendEncodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart; +HSPLandroid/net/Uri$PathPart;->appendEncodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/net/Uri$PathPart;Landroid/net/Uri$PathPart; HSPLandroid/net/Uri$PathPart;->from(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$PathPart; HSPLandroid/net/Uri$PathPart;->fromDecoded(Ljava/lang/String;)Landroid/net/Uri$PathPart; HSPLandroid/net/Uri$PathPart;->fromEncoded(Ljava/lang/String;)Landroid/net/Uri$PathPart; HSPLandroid/net/Uri$PathPart;->getEncoded()Ljava/lang/String; -HSPLandroid/net/Uri$PathPart;->getPathSegments()Landroid/net/Uri$PathSegments; -HSPLandroid/net/Uri$PathPart;->makeAbsolute(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart; +HSPLandroid/net/Uri$PathPart;->getPathSegments()Landroid/net/Uri$PathSegments;+]Ljava/lang/String;Ljava/lang/String;]Landroid/net/Uri$PathSegmentsBuilder;Landroid/net/Uri$PathSegmentsBuilder;]Landroid/net/Uri$PathPart;Landroid/net/Uri$PathPart; +HSPLandroid/net/Uri$PathPart;->makeAbsolute(Landroid/net/Uri$PathPart;)Landroid/net/Uri$PathPart;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$PathSegments;-><init>([Ljava/lang/String;I)V HSPLandroid/net/Uri$PathSegments;->get(I)Ljava/lang/Object; HSPLandroid/net/Uri$PathSegments;->get(I)Ljava/lang/String; @@ -11465,9 +11515,9 @@ HSPLandroid/net/Uri$PathSegmentsBuilder;->add(Ljava/lang/String;)V HSPLandroid/net/Uri$PathSegmentsBuilder;->build()Landroid/net/Uri$PathSegments; HSPLandroid/net/Uri$StringUri;-><init>(Ljava/lang/String;)V HSPLandroid/net/Uri$StringUri;-><init>(Ljava/lang/String;Landroid/net/Uri$StringUri-IA;)V -HSPLandroid/net/Uri$StringUri;->buildUpon()Landroid/net/Uri$Builder; -HSPLandroid/net/Uri$StringUri;->findFragmentSeparator()I -HSPLandroid/net/Uri$StringUri;->findSchemeSeparator()I +HSPLandroid/net/Uri$StringUri;->buildUpon()Landroid/net/Uri$Builder;+]Landroid/net/Uri$Builder;Landroid/net/Uri$Builder;]Landroid/net/Uri$StringUri;Landroid/net/Uri$StringUri; +HSPLandroid/net/Uri$StringUri;->findFragmentSeparator()I+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/net/Uri$StringUri;->findSchemeSeparator()I+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->getAuthority()Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->getAuthorityPart()Landroid/net/Uri$Part; HSPLandroid/net/Uri$StringUri;->getEncodedAuthority()Ljava/lang/String; @@ -11485,11 +11535,11 @@ HSPLandroid/net/Uri$StringUri;->getScheme()Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->getSchemeSpecificPart()Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->isHierarchical()Z HSPLandroid/net/Uri$StringUri;->isRelative()Z -HSPLandroid/net/Uri$StringUri;->parseAuthority(Ljava/lang/String;I)Ljava/lang/String; +HSPLandroid/net/Uri$StringUri;->parseAuthority(Ljava/lang/String;I)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->parseFragment()Ljava/lang/String; -HSPLandroid/net/Uri$StringUri;->parsePath()Ljava/lang/String; +HSPLandroid/net/Uri$StringUri;->parsePath()Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->parsePath(Ljava/lang/String;I)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; -HSPLandroid/net/Uri$StringUri;->parseQuery()Ljava/lang/String; +HSPLandroid/net/Uri$StringUri;->parseQuery()Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->parseScheme()Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->toString()Ljava/lang/String; HSPLandroid/net/Uri$StringUri;->writeToParcel(Landroid/os/Parcel;I)V @@ -11506,8 +11556,8 @@ HSPLandroid/net/Uri;->equals(Ljava/lang/Object;)Z HSPLandroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri; HSPLandroid/net/Uri;->fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/net/Uri;->getBooleanQueryParameter(Ljava/lang/String;Z)Z -HSPLandroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;+]Landroid/net/Uri;Landroid/net/Uri$StringUri;]Ljava/lang/String;Ljava/lang/String; -HSPLandroid/net/Uri;->getQueryParameterNames()Ljava/util/Set;+]Landroid/net/Uri;Landroid/net/Uri$StringUri;]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Set;Ljava/util/LinkedHashSet; +HSPLandroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Landroid/net/Uri;Landroid/net/Uri$StringUri; +HSPLandroid/net/Uri;->getQueryParameterNames()Ljava/util/Set;+]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Set;Ljava/util/LinkedHashSet;]Landroid/net/Uri;Landroid/net/Uri$StringUri; HSPLandroid/net/Uri;->hashCode()I HSPLandroid/net/Uri;->isAbsolute()Z HSPLandroid/net/Uri;->isAllowed(CLjava/lang/String;)Z+]Ljava/lang/String;Ljava/lang/String; @@ -11517,9 +11567,9 @@ HSPLandroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/net/Uri;->toSafeString()Ljava/lang/String; HSPLandroid/net/Uri;->withAppendedPath(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/net/Uri;->writeToParcel(Landroid/os/Parcel;Landroid/net/Uri;)V -HSPLandroid/net/UriCodec;->appendDecoded(Ljava/lang/StringBuilder;Ljava/lang/String;ZLjava/nio/charset/Charset;Z)V+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer;]Ljava/nio/charset/Charset;Lcom/android/icu/charset/CharsetICU;]Ljava/nio/charset/CharsetDecoder;Lcom/android/icu/charset/CharsetDecoderICU; +HSPLandroid/net/UriCodec;->appendDecoded(Ljava/lang/StringBuilder;Ljava/lang/String;ZLjava/nio/charset/Charset;Z)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String;]Ljava/nio/charset/Charset;Lcom/android/icu/charset/CharsetICU;]Ljava/nio/charset/CharsetDecoder;Lcom/android/icu/charset/CharsetDecoderICU;]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; HSPLandroid/net/UriCodec;->decode(Ljava/lang/String;ZLjava/nio/charset/Charset;Z)Ljava/lang/String; -HSPLandroid/net/UriCodec;->flushDecodingByteAccumulator(Ljava/lang/StringBuilder;Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Z)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer;]Ljava/nio/charset/CharsetDecoder;Lcom/android/icu/charset/CharsetDecoderICU; +HSPLandroid/net/UriCodec;->flushDecodingByteAccumulator(Ljava/lang/StringBuilder;Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Z)V+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/nio/charset/CharsetDecoder;Lcom/android/icu/charset/CharsetDecoderICU; HSPLandroid/net/UriCodec;->getNextCharacter(Ljava/lang/String;IILjava/lang/String;)C HSPLandroid/net/UriCodec;->hexCharToValue(C)I HSPLandroid/net/WebAddress;-><init>(Ljava/lang/String;)V @@ -11536,6 +11586,7 @@ HSPLandroid/net/vcn/VcnTransportInfo$1;-><init>()V HSPLandroid/net/vcn/VcnTransportInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/vcn/VcnTransportInfo; HSPLandroid/net/vcn/VcnTransportInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/net/vcn/VcnTransportInfo;-><clinit>()V +HSPLandroid/nfc/NfcFrameworkInitializer;->setNfcServiceManager(Landroid/nfc/NfcServiceManager;)V HSPLandroid/nfc/NfcServiceManager;-><init>()V HSPLandroid/nfc/cardemulation/AidGroup$1;->createFromParcel(Landroid/os/Parcel;)Landroid/nfc/cardemulation/AidGroup; HSPLandroid/nfc/cardemulation/AidGroup$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -11587,13 +11638,13 @@ HSPLandroid/os/AsyncTask;->postResultIfNotInvoked(Ljava/lang/Object;)V HSPLandroid/os/BaseBundle;-><init>()V HSPLandroid/os/BaseBundle;-><init>(I)V HSPLandroid/os/BaseBundle;-><init>(Landroid/os/BaseBundle;)V -HSPLandroid/os/BaseBundle;-><init>(Landroid/os/BaseBundle;Z)V +HSPLandroid/os/BaseBundle;-><init>(Landroid/os/BaseBundle;Z)V+]Landroid/os/BaseBundle;Landroid/os/Bundle;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/BaseBundle;-><init>(Landroid/os/Parcel;I)V -HSPLandroid/os/BaseBundle;-><init>(Ljava/lang/ClassLoader;I)V+]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;-><init>(Ljava/lang/ClassLoader;I)V+]Ljava/lang/Object;Landroid/os/Bundle;,Landroid/os/PersistableBundle;]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/os/BaseBundle;->clear()V HSPLandroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z HSPLandroid/os/BaseBundle;->deepCopyValue(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/os/BaseBundle;->get(Ljava/lang/String;)Ljava/lang/Object; +HSPLandroid/os/BaseBundle;->get(Ljava/lang/String;)Ljava/lang/Object;+]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->get(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/os/BaseBundle;->getArrayList(Ljava/lang/String;Ljava/lang/Class;)Ljava/util/ArrayList; HSPLandroid/os/BaseBundle;->getBoolean(Ljava/lang/String;)Z @@ -11602,9 +11653,9 @@ HSPLandroid/os/BaseBundle;->getBooleanArray(Ljava/lang/String;)[Z HSPLandroid/os/BaseBundle;->getByteArray(Ljava/lang/String;)[B HSPLandroid/os/BaseBundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence; HSPLandroid/os/BaseBundle;->getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence; -HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;F)F +HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;F)F+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Float;Ljava/lang/Float;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;)I -HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;I)I +HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;I)I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Integer;Ljava/lang/Integer;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->getIntArray(Ljava/lang/String;)[I HSPLandroid/os/BaseBundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList; HSPLandroid/os/BaseBundle;->getLong(Ljava/lang/String;)J @@ -11614,18 +11665,18 @@ HSPLandroid/os/BaseBundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializ HSPLandroid/os/BaseBundle;->getSerializable(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/Serializable; HSPLandroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/os/BaseBundle;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/os/BaseBundle;->getStringArray(Ljava/lang/String;)[Ljava/lang/String; +HSPLandroid/os/BaseBundle;->getStringArray(Ljava/lang/String;)[Ljava/lang/String;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList; -HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;)Ljava/lang/Object; -HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroid/os/BaseBundle;->getValueAt(ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroid/os/BaseBundle;->initializeFromParcelLocked(Landroid/os/Parcel;ZZ)V -HSPLandroid/os/BaseBundle;->isEmpty()Z +HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;)Ljava/lang/Object;+]Landroid/os/BaseBundle;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/BaseBundle;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;->getValue(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;->getValueAt(ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Class;Ljava/lang/Class; +HSPLandroid/os/BaseBundle;->initializeFromParcelLocked(Landroid/os/Parcel;ZZ)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/BaseBundle;->isEmpty()Z+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->isEmptyParcel()Z HSPLandroid/os/BaseBundle;->isEmptyParcel(Landroid/os/Parcel;)Z HSPLandroid/os/BaseBundle;->isParcelled()Z -HSPLandroid/os/BaseBundle;->keySet()Ljava/util/Set;+]Landroid/os/BaseBundle;Landroid/os/Bundle;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/os/BaseBundle;->keySet()Ljava/util/Set;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->putAll(Landroid/os/PersistableBundle;)V HSPLandroid/os/BaseBundle;->putAll(Landroid/util/ArrayMap;)V HSPLandroid/os/BaseBundle;->putBoolean(Ljava/lang/String;Z)V @@ -11634,7 +11685,7 @@ HSPLandroid/os/BaseBundle;->putByteArray(Ljava/lang/String;[B)V HSPLandroid/os/BaseBundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V HSPLandroid/os/BaseBundle;->putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V HSPLandroid/os/BaseBundle;->putDouble(Ljava/lang/String;D)V -HSPLandroid/os/BaseBundle;->putFloat(Ljava/lang/String;F)V +HSPLandroid/os/BaseBundle;->putFloat(Ljava/lang/String;F)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; HSPLandroid/os/BaseBundle;->putInt(Ljava/lang/String;I)V HSPLandroid/os/BaseBundle;->putIntArray(Ljava/lang/String;[I)V HSPLandroid/os/BaseBundle;->putLong(Ljava/lang/String;J)V @@ -11644,16 +11695,16 @@ HSPLandroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/os/BaseBundle;->putStringArray(Ljava/lang/String;[Ljava/lang/String;)V HSPLandroid/os/BaseBundle;->putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V HSPLandroid/os/BaseBundle;->readFromParcelInner(Landroid/os/Parcel;)V -HSPLandroid/os/BaseBundle;->readFromParcelInner(Landroid/os/Parcel;I)V -HSPLandroid/os/BaseBundle;->recycleParcel(Landroid/os/Parcel;)V +HSPLandroid/os/BaseBundle;->readFromParcelInner(Landroid/os/Parcel;I)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/BaseBundle;->recycleParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/BaseBundle;->remove(Ljava/lang/String;)V HSPLandroid/os/BaseBundle;->setClassLoader(Ljava/lang/ClassLoader;)V HSPLandroid/os/BaseBundle;->setShouldDefuse(Z)V -HSPLandroid/os/BaseBundle;->size()I -HSPLandroid/os/BaseBundle;->unparcel()V+]Landroid/os/BaseBundle;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;->size()I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/BaseBundle;Landroid/os/Bundle; +HSPLandroid/os/BaseBundle;->unparcel()V+]Landroid/os/BaseBundle;Landroid/os/Bundle;,Landroid/os/PersistableBundle; HSPLandroid/os/BaseBundle;->unparcel(Z)V -HSPLandroid/os/BaseBundle;->unwrapLazyValueFromMapLocked(ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Ljava/util/function/BiFunction;Landroid/os/Parcel$LazyValue; -HSPLandroid/os/BaseBundle;->writeToParcelInner(Landroid/os/Parcel;I)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/os/BaseBundle;->unwrapLazyValueFromMapLocked(ILjava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/function/BiFunction;Landroid/os/Parcel$LazyValue;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference; +HSPLandroid/os/BaseBundle;->writeToParcelInner(Landroid/os/Parcel;I)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/BatteryManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Landroid/os/IBatteryPropertiesRegistrar;)V HSPLandroid/os/BatteryManager;->getIntProperty(I)I HSPLandroid/os/BatteryManager;->getLongProperty(I)J @@ -11720,12 +11771,12 @@ HSPLandroid/os/Binder;->setTransactionCallback(Landroid/os/IBinderCallback;)V HSPLandroid/os/Binder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z HSPLandroid/os/Binder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z HSPLandroid/os/Binder;->withCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;)V -HSPLandroid/os/BinderProxy$ProxyMap;->get(J)Landroid/os/BinderProxy;+]Ljava/lang/Long;Ljava/lang/Long;]Ljava/lang/ref/WeakReference;Ljava/lang/ref/WeakReference;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/os/BinderProxy$ProxyMap;->get(J)Landroid/os/BinderProxy; HSPLandroid/os/BinderProxy$ProxyMap;->hash(J)I HSPLandroid/os/BinderProxy$ProxyMap;->remove(II)V HSPLandroid/os/BinderProxy$ProxyMap;->set(JLandroid/os/BinderProxy;)V HSPLandroid/os/BinderProxy;-><init>(J)V -HSPLandroid/os/BinderProxy;->getInstance(JJ)Landroid/os/BinderProxy;+]Landroid/os/BinderProxy$ProxyMap;Landroid/os/BinderProxy$ProxyMap;]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; +HSPLandroid/os/BinderProxy;->getInstance(JJ)Landroid/os/BinderProxy; HSPLandroid/os/BinderProxy;->linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V+]Ljava/util/List;Ljava/util/Collections$SynchronizedRandomAccessList; HSPLandroid/os/BinderProxy;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface; HSPLandroid/os/BinderProxy;->sendDeathNotice(Landroid/os/IBinder$DeathRecipient;Landroid/os/IBinder;)V @@ -11764,7 +11815,7 @@ HSPLandroid/os/Bundle;->getFloat(Ljava/lang/String;F)F HSPLandroid/os/Bundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList; HSPLandroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable; HSPLandroid/os/Bundle;->getParcelable(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable; +HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable;+]Landroid/os/Bundle;Landroid/os/Bundle; HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;Ljava/lang/Class;)[Ljava/lang/Object; HSPLandroid/os/Bundle;->getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList; HSPLandroid/os/Bundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable; @@ -11772,10 +11823,10 @@ HSPLandroid/os/Bundle;->getSerializable(Ljava/lang/String;Ljava/lang/Class;)Ljav HSPLandroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray; HSPLandroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList; HSPLandroid/os/Bundle;->hasFileDescriptors()Z -HSPLandroid/os/Bundle;->maybePrefillHasFds()V +HSPLandroid/os/Bundle;->maybePrefillHasFds()V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Bundle;->putAll(Landroid/os/Bundle;)V HSPLandroid/os/Bundle;->putBinder(Ljava/lang/String;Landroid/os/IBinder;)V -HSPLandroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V HSPLandroid/os/Bundle;->putByteArray(Ljava/lang/String;[B)V HSPLandroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V HSPLandroid/os/Bundle;->putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V @@ -11942,7 +11993,7 @@ HSPLandroid/os/FileObserver;-><init>(Ljava/io/File;I)V HSPLandroid/os/FileObserver;-><init>(Ljava/lang/String;I)V HSPLandroid/os/FileObserver;-><init>(Ljava/util/List;I)V HSPLandroid/os/FileObserver;->startWatching()V -HSPLandroid/os/FileUtils;->buildValidExtFilename(Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/os/FileUtils;->buildValidExtFilename(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/Object;Ljava/lang/String; HSPLandroid/os/FileUtils;->bytesToFile(Ljava/lang/String;[B)V HSPLandroid/os/FileUtils;->closeQuietly(Ljava/lang/AutoCloseable;)V HSPLandroid/os/FileUtils;->contains(Ljava/io/File;Ljava/io/File;)Z @@ -12014,7 +12065,7 @@ HSPLandroid/os/Handler;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message HSPLandroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; HSPLandroid/os/Handler;->post(Ljava/lang/Runnable;)Z+]Landroid/os/Handler;missing_types HSPLandroid/os/Handler;->postAtFrontOfQueue(Ljava/lang/Runnable;)Z -HSPLandroid/os/Handler;->postAtTime(Ljava/lang/Runnable;J)Z +HSPLandroid/os/Handler;->postAtTime(Ljava/lang/Runnable;J)Z+]Landroid/os/Handler;Landroid/view/ViewRootImpl$ViewRootHandler; HSPLandroid/os/Handler;->postAtTime(Ljava/lang/Runnable;Ljava/lang/Object;J)Z HSPLandroid/os/Handler;->postDelayed(Ljava/lang/Runnable;IJ)Z HSPLandroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z @@ -12027,7 +12078,7 @@ HSPLandroid/os/Handler;->runWithScissors(Ljava/lang/Runnable;J)Z HSPLandroid/os/Handler;->sendEmptyMessage(I)Z HSPLandroid/os/Handler;->sendEmptyMessageAtTime(IJ)Z HSPLandroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z -HSPLandroid/os/Handler;->sendMessage(Landroid/os/Message;)Z +HSPLandroid/os/Handler;->sendMessage(Landroid/os/Message;)Z+]Landroid/os/Handler;missing_types HSPLandroid/os/Handler;->sendMessageAtFrontOfQueue(Landroid/os/Message;)Z HSPLandroid/os/Handler;->sendMessageAtTime(Landroid/os/Message;J)Z HSPLandroid/os/Handler;->sendMessageDelayed(Landroid/os/Message;J)Z+]Landroid/os/Handler;missing_types @@ -12073,6 +12124,7 @@ HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub;->asInterface(Landroid/os/IB HSPLandroid/os/IDeviceIdleController$Stub$Proxy;->isPowerSaveWhitelistApp(Ljava/lang/String;)Z HSPLandroid/os/IDeviceIdleController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdleController; HSPLandroid/os/IHintManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V +HSPLandroid/os/IHintManager$Stub$Proxy;->createHintSession(Landroid/os/IBinder;[IJ)Landroid/os/IHintSession; HSPLandroid/os/IHintManager$Stub$Proxy;->getHintSessionPreferredRate()J HSPLandroid/os/IHintManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IHintManager; HSPLandroid/os/IHintSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IHintSession; @@ -12167,14 +12219,14 @@ HSPLandroid/os/IpcDataCache;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/ HSPLandroid/os/IpcDataCache;-><init>(Landroid/os/IpcDataCache$Config;Landroid/os/IpcDataCache$QueryHandler;)V HSPLandroid/os/IpcDataCache;-><init>(Landroid/os/IpcDataCache$Config;Landroid/os/IpcDataCache$RemoteCall;)V HSPLandroid/os/IpcDataCache;->query(Ljava/lang/Object;)Ljava/lang/Object; -HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/LocaleList;+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/os/LocaleList$1;Landroid/os/LocaleList$1; -HSPLandroid/os/LocaleList;-><init>([Ljava/util/Locale;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/HashSet;Ljava/util/HashSet;]Ljava/util/Locale;Ljava/util/Locale; +HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/LocaleList; +HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/os/LocaleList;-><init>([Ljava/util/Locale;)V HSPLandroid/os/LocaleList;->computeFirstMatch(Ljava/util/Collection;Z)Ljava/util/Locale; HSPLandroid/os/LocaleList;->computeFirstMatchIndex(Ljava/util/Collection;Z)I -HSPLandroid/os/LocaleList;->equals(Ljava/lang/Object;)Z +HSPLandroid/os/LocaleList;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Ljava/util/Locale; HSPLandroid/os/LocaleList;->findFirstMatchIndex(Ljava/util/Locale;)I -HSPLandroid/os/LocaleList;->forLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList;+]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/os/LocaleList;->forLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList; HSPLandroid/os/LocaleList;->get(I)Ljava/util/Locale; HSPLandroid/os/LocaleList;->getAdjustedDefault()Landroid/os/LocaleList; HSPLandroid/os/LocaleList;->getDefault()Landroid/os/LocaleList;+]Ljava/lang/Object;Ljava/util/Locale; @@ -12196,10 +12248,10 @@ HSPLandroid/os/Looper;-><init>(Z)V HSPLandroid/os/Looper;->getMainLooper()Landroid/os/Looper; HSPLandroid/os/Looper;->getQueue()Landroid/os/MessageQueue; HSPLandroid/os/Looper;->getThread()Ljava/lang/Thread; -HSPLandroid/os/Looper;->getThresholdOverride()I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Thread;Landroid/os/HandlerThread; +HSPLandroid/os/Looper;->getThresholdOverride()I+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Thread;missing_types HSPLandroid/os/Looper;->isCurrentThread()Z HSPLandroid/os/Looper;->loop()V -HSPLandroid/os/Looper;->loopOnce(Landroid/os/Looper;JI)Z+]Landroid/os/Handler;missing_types]Landroid/os/Message;Landroid/os/Message;]Landroid/os/MessageQueue;Landroid/os/MessageQueue; +HSPLandroid/os/Looper;->loopOnce(Landroid/os/Looper;JI)Z+]Landroid/os/Handler;megamorphic_types]Landroid/os/Message;Landroid/os/Message;]Landroid/os/MessageQueue;Landroid/os/MessageQueue; HSPLandroid/os/Looper;->myLooper()Landroid/os/Looper;+]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal; HSPLandroid/os/Looper;->myQueue()Landroid/os/MessageQueue; HSPLandroid/os/Looper;->prepare()V @@ -12233,7 +12285,7 @@ HSPLandroid/os/Message;->peekData()Landroid/os/Bundle; HSPLandroid/os/Message;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/os/Message;->recycle()V HSPLandroid/os/Message;->recycleUnchecked()V -HSPLandroid/os/Message;->sendToTarget()V +HSPLandroid/os/Message;->sendToTarget()V+]Landroid/os/Handler;megamorphic_types HSPLandroid/os/Message;->setAsynchronous(Z)V HSPLandroid/os/Message;->setCallback(Ljava/lang/Runnable;)Landroid/os/Message; HSPLandroid/os/Message;->setData(Landroid/os/Bundle;)V @@ -12252,13 +12304,13 @@ HSPLandroid/os/MessageQueue;->enqueueMessage(Landroid/os/Message;J)Z+]Landroid/o HSPLandroid/os/MessageQueue;->finalize()V HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;ILjava/lang/Object;)Z HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z -HSPLandroid/os/MessageQueue;->next()Landroid/os/Message;+]Landroid/os/Message;Landroid/os/Message;]Landroid/os/MessageQueue$IdleHandler;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/os/MessageQueue;->next()Landroid/os/Message;+]Landroid/os/MessageQueue$IdleHandler;missing_types]Landroid/os/Message;Landroid/os/Message;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/os/MessageQueue;->postSyncBarrier()I HSPLandroid/os/MessageQueue;->postSyncBarrier(J)I+]Landroid/os/Message;Landroid/os/Message; HSPLandroid/os/MessageQueue;->quit(Z)V HSPLandroid/os/MessageQueue;->removeAllFutureMessagesLocked()V HSPLandroid/os/MessageQueue;->removeAllMessagesLocked()V -HSPLandroid/os/MessageQueue;->removeCallbacksAndMessages(Landroid/os/Handler;Ljava/lang/Object;)V+]Landroid/os/Message;Landroid/os/Message; +HSPLandroid/os/MessageQueue;->removeCallbacksAndMessages(Landroid/os/Handler;Ljava/lang/Object;)V HSPLandroid/os/MessageQueue;->removeIdleHandler(Landroid/os/MessageQueue$IdleHandler;)V HSPLandroid/os/MessageQueue;->removeMessages(Landroid/os/Handler;ILjava/lang/Object;)V+]Landroid/os/Message;Landroid/os/Message; HSPLandroid/os/MessageQueue;->removeMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)V+]Landroid/os/Message;Landroid/os/Message; @@ -12279,12 +12331,12 @@ HSPLandroid/os/Parcel$2;-><init>(Landroid/os/Parcel;Ljava/io/InputStream;Ljava/l HSPLandroid/os/Parcel$2;->resolveClass(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;+]Ljava/io/ObjectStreamClass;Ljava/io/ObjectStreamClass; HSPLandroid/os/Parcel$LazyValue;-><init>(Landroid/os/Parcel;IIILjava/lang/ClassLoader;)V HSPLandroid/os/Parcel$LazyValue;->apply(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/os/Parcel$LazyValue;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/os/Parcel$LazyValue;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/os/Parcel$LazyValue;Landroid/os/Parcel$LazyValue; HSPLandroid/os/Parcel$LazyValue;->writeToParcel(Landroid/os/Parcel;)V HSPLandroid/os/Parcel$ReadWriteHelper;->readString16(Landroid/os/Parcel;)Ljava/lang/String;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel$ReadWriteHelper;->readString8(Landroid/os/Parcel;)Ljava/lang/String;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel$ReadWriteHelper;->writeString16(Landroid/os/Parcel;Ljava/lang/String;)V+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/os/Parcel$ReadWriteHelper;->writeString8(Landroid/os/Parcel;Ljava/lang/String;)V +HSPLandroid/os/Parcel$ReadWriteHelper;->writeString8(Landroid/os/Parcel;Ljava/lang/String;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->-$$Nest$mreadValue(Landroid/os/Parcel;Ljava/lang/ClassLoader;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/os/Parcel;-><init>(J)V HSPLandroid/os/Parcel;->adoptClassCookies(Landroid/os/Parcel;)V @@ -12297,21 +12349,21 @@ HSPLandroid/os/Parcel;->createBooleanArray()[Z HSPLandroid/os/Parcel;->createByteArray()[B HSPLandroid/os/Parcel;->createException(ILjava/lang/String;)Ljava/lang/Exception; HSPLandroid/os/Parcel;->createExceptionOrNull(ILjava/lang/String;)Ljava/lang/Exception; -HSPLandroid/os/Parcel;->createFloatArray()[F+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->createFloatArray()[F HSPLandroid/os/Parcel;->createIntArray()[I+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/os/Parcel;->createLongArray()[J +HSPLandroid/os/Parcel;->createLongArray()[J+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->createString16Array()[Ljava/lang/String;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->createString8Array()[Ljava/lang/String;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->createStringArray()[Ljava/lang/String; -HSPLandroid/os/Parcel;->createStringArrayList()Ljava/util/ArrayList; -HSPLandroid/os/Parcel;->createTypedArray(Landroid/os/Parcelable$Creator;)[Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;missing_types -HSPLandroid/os/Parcel;->createTypedArrayList(Landroid/os/Parcelable$Creator;)Ljava/util/ArrayList;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/os/Parcel;->createStringArrayList()Ljava/util/ArrayList;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->createTypedArray(Landroid/os/Parcelable$Creator;)[Ljava/lang/Object;+]Landroid/os/Parcelable$Creator;missing_types]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->createTypedArrayList(Landroid/os/Parcelable$Creator;)Ljava/util/ArrayList;+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->dataAvail()I HSPLandroid/os/Parcel;->dataPosition()I HSPLandroid/os/Parcel;->dataSize()I HSPLandroid/os/Parcel;->destroy()V HSPLandroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V -HSPLandroid/os/Parcel;->enforceNoDataAvail()V +HSPLandroid/os/Parcel;->enforceNoDataAvail()V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->ensureReadSquashableParcelables()V HSPLandroid/os/Parcel;->ensureWithinMemoryLimit(II)V HSPLandroid/os/Parcel;->finalize()V @@ -12333,33 +12385,33 @@ HSPLandroid/os/Parcel;->obtain(Landroid/os/IBinder;)Landroid/os/Parcel; HSPLandroid/os/Parcel;->pushAllowFds(Z)Z HSPLandroid/os/Parcel;->readArrayList(Ljava/lang/ClassLoader;)Ljava/util/ArrayList; HSPLandroid/os/Parcel;->readArrayList(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/ArrayList; -HSPLandroid/os/Parcel;->readArrayListInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/ArrayList; -HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;IZZLjava/lang/ClassLoader;)I +HSPLandroid/os/Parcel;->readArrayListInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/ArrayList;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;IZZLjava/lang/ClassLoader;)I+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;Ljava/lang/ClassLoader;)V HSPLandroid/os/Parcel;->readArrayMapInternal(Landroid/util/ArrayMap;ILjava/lang/ClassLoader;)V -HSPLandroid/os/Parcel;->readArraySet(Ljava/lang/ClassLoader;)Landroid/util/ArraySet;+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/ArraySet;Landroid/util/ArraySet; +HSPLandroid/os/Parcel;->readArraySet(Ljava/lang/ClassLoader;)Landroid/util/ArraySet; HSPLandroid/os/Parcel;->readBinderList(Ljava/util/List;)V HSPLandroid/os/Parcel;->readBlob()[B HSPLandroid/os/Parcel;->readBoolean()Z+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readBooleanArray([Z)V -HSPLandroid/os/Parcel;->readBundle()Landroid/os/Bundle; -HSPLandroid/os/Parcel;->readBundle(Ljava/lang/ClassLoader;)Landroid/os/Bundle; -HSPLandroid/os/Parcel;->readByte()B +HSPLandroid/os/Parcel;->readBundle()Landroid/os/Bundle;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readBundle(Ljava/lang/ClassLoader;)Landroid/os/Bundle;+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readByte()B+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readByteArray([B)V HSPLandroid/os/Parcel;->readCallingWorkSourceUid()I -HSPLandroid/os/Parcel;->readCharSequence()Ljava/lang/CharSequence; +HSPLandroid/os/Parcel;->readCharSequence()Ljava/lang/CharSequence;+]Landroid/os/Parcelable$Creator;Landroid/text/TextUtils$1; HSPLandroid/os/Parcel;->readCharSequenceArray()[Ljava/lang/CharSequence; HSPLandroid/os/Parcel;->readDouble()D -HSPLandroid/os/Parcel;->readException()V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readException()V HSPLandroid/os/Parcel;->readException(ILjava/lang/String;)V -HSPLandroid/os/Parcel;->readExceptionCode()I+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readExceptionCode()I HSPLandroid/os/Parcel;->readFloat()F HSPLandroid/os/Parcel;->readFloatArray([F)V HSPLandroid/os/Parcel;->readHashMap(Ljava/lang/ClassLoader;)Ljava/util/HashMap; HSPLandroid/os/Parcel;->readHashMapInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/HashMap; HSPLandroid/os/Parcel;->readInt()I HSPLandroid/os/Parcel;->readIntArray([I)V -HSPLandroid/os/Parcel;->readLazyValue(Ljava/lang/ClassLoader;)Ljava/lang/Object; +HSPLandroid/os/Parcel;->readLazyValue(Ljava/lang/ClassLoader;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readList(Ljava/util/List;Ljava/lang/ClassLoader;)V HSPLandroid/os/Parcel;->readList(Ljava/util/List;Ljava/lang/ClassLoader;Ljava/lang/Class;)V HSPLandroid/os/Parcel;->readListInternal(Ljava/util/List;ILjava/lang/ClassLoader;)V @@ -12373,25 +12425,25 @@ HSPLandroid/os/Parcel;->readParcelable(Ljava/lang/ClassLoader;)Landroid/os/Parce HSPLandroid/os/Parcel;->readParcelable(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/os/Parcel;->readParcelableArray(Ljava/lang/ClassLoader;)[Landroid/os/Parcelable; HSPLandroid/os/Parcel;->readParcelableArray(Ljava/lang/ClassLoader;Ljava/lang/Class;)[Ljava/lang/Object; -HSPLandroid/os/Parcel;->readParcelableArrayInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)[Ljava/lang/Object; +HSPLandroid/os/Parcel;->readParcelableArrayInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)[Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readParcelableCreator(Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator; -HSPLandroid/os/Parcel;->readParcelableCreatorInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Landroid/os/Parcelable$Creator;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/reflect/Field;Ljava/lang/reflect/Field;]Ljava/util/HashMap;Ljava/util/HashMap; -HSPLandroid/os/Parcel;->readParcelableInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcelable$Creator;megamorphic_types +HSPLandroid/os/Parcel;->readParcelableCreatorInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Landroid/os/Parcelable$Creator;+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/Object;Landroid/os/Parcel;]Ljava/lang/reflect/Field;Ljava/lang/reflect/Field;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readParcelableInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcelable$Creator;megamorphic_types]Landroid/os/Parcelable$ClassLoaderCreator;Landroid/content/pm/ParceledListSlice$1; HSPLandroid/os/Parcel;->readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List; HSPLandroid/os/Parcel;->readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/List; -HSPLandroid/os/Parcel;->readParcelableListInternal(Ljava/util/List;Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/List;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/os/Parcel;->readParcelableListInternal(Ljava/util/List;Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/util/List;+]Ljava/util/List;Ljava/util/ArrayList;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readPersistableBundle()Landroid/os/PersistableBundle; HSPLandroid/os/Parcel;->readPersistableBundle(Ljava/lang/ClassLoader;)Landroid/os/PersistableBundle; HSPLandroid/os/Parcel;->readRawFileDescriptor()Ljava/io/FileDescriptor; HSPLandroid/os/Parcel;->readSerializable()Ljava/io/Serializable; -HSPLandroid/os/Parcel;->readSerializableInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/io/ObjectInputStream;Landroid/os/Parcel$2; +HSPLandroid/os/Parcel;->readSerializableInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object;+]Ljava/io/ObjectInputStream;Landroid/os/Parcel$2;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readSize()Landroid/util/Size; HSPLandroid/os/Parcel;->readSparseArray(Ljava/lang/ClassLoader;)Landroid/util/SparseArray; HSPLandroid/os/Parcel;->readSparseArray(Ljava/lang/ClassLoader;Ljava/lang/Class;)Landroid/util/SparseArray; HSPLandroid/os/Parcel;->readSparseArrayInternal(Ljava/lang/ClassLoader;Ljava/lang/Class;)Landroid/util/SparseArray; HSPLandroid/os/Parcel;->readSparseIntArray()Landroid/util/SparseIntArray; HSPLandroid/os/Parcel;->readSparseIntArrayInternal(Landroid/util/SparseIntArray;I)V -HSPLandroid/os/Parcel;->readSquashed(Landroid/os/Parcel$SquashReadHelper;)Landroid/os/Parcelable; +HSPLandroid/os/Parcel;->readSquashed(Landroid/os/Parcel$SquashReadHelper;)Landroid/os/Parcelable;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/os/Parcel$SquashReadHelper;Landroid/content/pm/ApplicationInfo$1$$ExternalSyntheticLambda0;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readString()Ljava/lang/String;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readString16()Ljava/lang/String;+]Landroid/os/Parcel$ReadWriteHelper;Landroid/os/Parcel$ReadWriteHelper; HSPLandroid/os/Parcel;->readString16Array([Ljava/lang/String;)V @@ -12402,11 +12454,11 @@ HSPLandroid/os/Parcel;->readStringArray()[Ljava/lang/String;+]Landroid/os/Parcel HSPLandroid/os/Parcel;->readStringArray([Ljava/lang/String;)V HSPLandroid/os/Parcel;->readStringList(Ljava/util/List;)V HSPLandroid/os/Parcel;->readStrongBinder()Landroid/os/IBinder; -HSPLandroid/os/Parcel;->readTypedArray([Ljava/lang/Object;Landroid/os/Parcelable$Creator;)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->readTypedArray([Ljava/lang/Object;Landroid/os/Parcelable$Creator;)V HSPLandroid/os/Parcel;->readTypedList(Ljava/util/List;Landroid/os/Parcelable$Creator;)V -HSPLandroid/os/Parcel;->readTypedObject(Landroid/os/Parcelable$Creator;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;megamorphic_types +HSPLandroid/os/Parcel;->readTypedObject(Landroid/os/Parcelable$Creator;)Ljava/lang/Object;+]Landroid/os/Parcelable$Creator;megamorphic_types]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readValue(ILjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Object; -HSPLandroid/os/Parcel;->readValue(ILjava/lang/ClassLoader;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class; +HSPLandroid/os/Parcel;->readValue(ILjava/lang/ClassLoader;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->readValue(Ljava/lang/ClassLoader;)Ljava/lang/Object; HSPLandroid/os/Parcel;->readValue(Ljava/lang/ClassLoader;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Object;+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->recycle()V @@ -12418,11 +12470,11 @@ HSPLandroid/os/Parcel;->setDataSize(I)V HSPLandroid/os/Parcel;->setReadWriteHelper(Landroid/os/Parcel$ReadWriteHelper;)V HSPLandroid/os/Parcel;->unmarshall([BII)V HSPLandroid/os/Parcel;->writeArrayMap(Landroid/util/ArrayMap;)V -HSPLandroid/os/Parcel;->writeArrayMapInternal(Landroid/util/ArrayMap;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/ArrayMap;Landroid/util/ArrayMap; +HSPLandroid/os/Parcel;->writeArrayMapInternal(Landroid/util/ArrayMap;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeArraySet(Landroid/util/ArraySet;)V HSPLandroid/os/Parcel;->writeBinderList(Ljava/util/List;)V HSPLandroid/os/Parcel;->writeBlob([B)V -HSPLandroid/os/Parcel;->writeBoolean(Z)V +HSPLandroid/os/Parcel;->writeBoolean(Z)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeBooleanArray([Z)V HSPLandroid/os/Parcel;->writeBundle(Landroid/os/Bundle;)V+]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeByte(B)V @@ -12437,38 +12489,38 @@ HSPLandroid/os/Parcel;->writeFloatArray([F)V HSPLandroid/os/Parcel;->writeInt(I)V HSPLandroid/os/Parcel;->writeIntArray([I)V HSPLandroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V -HSPLandroid/os/Parcel;->writeList(Ljava/util/List;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/os/Parcel;->writeList(Ljava/util/List;)V HSPLandroid/os/Parcel;->writeLong(J)V HSPLandroid/os/Parcel;->writeLongArray([J)V HSPLandroid/os/Parcel;->writeMap(Ljava/util/Map;)V HSPLandroid/os/Parcel;->writeMapInternal(Ljava/util/Map;)V HSPLandroid/os/Parcel;->writeNoException()V -HSPLandroid/os/Parcel;->writeParcelable(Landroid/os/Parcelable;I)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable;missing_types -HSPLandroid/os/Parcel;->writeParcelableArray([Landroid/os/Parcelable;I)V -HSPLandroid/os/Parcel;->writeParcelableCreator(Landroid/os/Parcelable;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;missing_types +HSPLandroid/os/Parcel;->writeParcelable(Landroid/os/Parcelable;I)V+]Landroid/os/Parcelable;missing_types]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->writeParcelableArray([Landroid/os/Parcelable;I)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->writeParcelableCreator(Landroid/os/Parcelable;)V+]Ljava/lang/Object;missing_types]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeParcelableList(Ljava/util/List;I)V HSPLandroid/os/Parcel;->writePersistableBundle(Landroid/os/PersistableBundle;)V HSPLandroid/os/Parcel;->writeSerializable(Ljava/io/Serializable;)V -HSPLandroid/os/Parcel;->writeSparseArray(Landroid/util/SparseArray;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/os/Parcel;->writeSparseArray(Landroid/util/SparseArray;)V HSPLandroid/os/Parcel;->writeSparseBooleanArray(Landroid/util/SparseBooleanArray;)V HSPLandroid/os/Parcel;->writeSparseIntArray(Landroid/util/SparseIntArray;)V HSPLandroid/os/Parcel;->writeString(Ljava/lang/String;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeString16(Ljava/lang/String;)V+]Landroid/os/Parcel$ReadWriteHelper;Landroid/os/Parcel$ReadWriteHelper; -HSPLandroid/os/Parcel;->writeString16Array([Ljava/lang/String;)V +HSPLandroid/os/Parcel;->writeString16Array([Ljava/lang/String;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeString16NoHelper(Ljava/lang/String;)V -HSPLandroid/os/Parcel;->writeString8(Ljava/lang/String;)V +HSPLandroid/os/Parcel;->writeString8(Ljava/lang/String;)V+]Landroid/os/Parcel$ReadWriteHelper;Landroid/os/Parcel$ReadWriteHelper; HSPLandroid/os/Parcel;->writeString8Array([Ljava/lang/String;)V HSPLandroid/os/Parcel;->writeString8NoHelper(Ljava/lang/String;)V -HSPLandroid/os/Parcel;->writeStringArray([Ljava/lang/String;)V +HSPLandroid/os/Parcel;->writeStringArray([Ljava/lang/String;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeStringList(Ljava/util/List;)V HSPLandroid/os/Parcel;->writeStrongBinder(Landroid/os/IBinder;)V -HSPLandroid/os/Parcel;->writeStrongInterface(Landroid/os/IInterface;)V -HSPLandroid/os/Parcel;->writeTypedArray([Landroid/os/Parcelable;I)V +HSPLandroid/os/Parcel;->writeStrongInterface(Landroid/os/IInterface;)V+]Landroid/os/IInterface;Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;,Landroid/app/ActivityThread$ApplicationThread;,Landroid/view/ViewRootImpl$W;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->writeTypedArray([Landroid/os/Parcelable;I)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeTypedArrayMap(Landroid/util/ArrayMap;I)V HSPLandroid/os/Parcel;->writeTypedList(Ljava/util/List;)V HSPLandroid/os/Parcel;->writeTypedList(Ljava/util/List;I)V -HSPLandroid/os/Parcel;->writeTypedObject(Landroid/os/Parcelable;I)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable;Landroid/app/FragmentState;,Landroid/content/Intent;,Landroid/os/Bundle;,Landroid/view/SurfaceControl$Transaction; -HSPLandroid/os/Parcel;->writeValue(ILjava/lang/Object;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Ljava/lang/Integer;Ljava/lang/Integer; +HSPLandroid/os/Parcel;->writeTypedObject(Landroid/os/Parcelable;I)V+]Landroid/os/Parcelable;Landroid/view/WindowManager$LayoutParams;,Landroid/content/Intent;]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/os/Parcel;->writeValue(ILjava/lang/Object;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Ljava/lang/Long;Ljava/lang/Long;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/Parcel;->writeValue(Ljava/lang/Object;)V+]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/ParcelFileDescriptor$2;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ParcelFileDescriptor; HSPLandroid/os/ParcelFileDescriptor$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -12658,7 +12710,7 @@ HSPLandroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinde HSPLandroid/os/ServiceManager;->getServiceOrThrow(Ljava/lang/String;)Landroid/os/IBinder; HSPLandroid/os/ServiceManager;->initServiceCache(Ljava/util/Map;)V HSPLandroid/os/ServiceManager;->isDeclared(Ljava/lang/String;)Z -HSPLandroid/os/ServiceManager;->rawGetService(Ljava/lang/String;)Landroid/os/IBinder;+]Landroid/os/IServiceManager;Landroid/os/ServiceManagerProxy;]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger; +HSPLandroid/os/ServiceManager;->rawGetService(Ljava/lang/String;)Landroid/os/IBinder;+]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger;]Landroid/os/IServiceManager;Landroid/os/ServiceManagerProxy; HSPLandroid/os/ServiceManager;->waitForDeclaredService(Ljava/lang/String;)Landroid/os/IBinder; HSPLandroid/os/ServiceManagerProxy;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V HSPLandroid/os/ServiceManagerProxy;->checkService(Ljava/lang/String;)Landroid/os/IBinder; @@ -12717,7 +12769,7 @@ HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->handleViolationWithTimingAtt HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->lambda$handleViolationWithTimingAttempt$0(Landroid/view/IWindowManager;Ljava/util/ArrayList;)V HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onCustomSlowCall(Ljava/lang/String;)V HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onNetwork()V -HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onReadFromDisk()V +HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onReadFromDisk()V+]Landroid/os/StrictMode$AndroidBlockGuardPolicy;Landroid/os/StrictMode$AndroidBlockGuardPolicy; HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onThreadPolicyViolation(Landroid/os/StrictMode$ViolationInfo;)V HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onUnbufferedIO()V HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onWriteToDisk()V @@ -12759,7 +12811,7 @@ HSPLandroid/os/StrictMode$ThreadSpanState;-><init>(Landroid/os/StrictMode$Thread HSPLandroid/os/StrictMode$UnsafeIntentStrictModeCallback;-><init>()V HSPLandroid/os/StrictMode$UnsafeIntentStrictModeCallback;-><init>(Landroid/os/StrictMode$UnsafeIntentStrictModeCallback-IA;)V HSPLandroid/os/StrictMode$ViolationInfo;->-$$Nest$fgetmViolation(Landroid/os/StrictMode$ViolationInfo;)Landroid/os/strictmode/Violation; -HSPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/Parcel;Z)V +HSPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/Parcel;Z)V+]Ljava/util/Deque;Ljava/util/ArrayDeque;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/strictmode/Violation;I)V HSPLandroid/os/StrictMode$ViolationInfo;->getStackTrace()Ljava/lang/String; HSPLandroid/os/StrictMode$ViolationInfo;->hashCode()I @@ -13087,7 +13139,7 @@ HSPLandroid/os/storage/StorageManager;-><init>(Landroid/content/Context;Landroid HSPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/io/FileDescriptor;JI)V HSPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/util/UUID;JI)V HSPLandroid/os/storage/StorageManager;->convert(Ljava/lang/String;)Ljava/util/UUID; -HSPLandroid/os/storage/StorageManager;->convert(Ljava/util/UUID;)Ljava/lang/String; +HSPLandroid/os/storage/StorageManager;->convert(Ljava/util/UUID;)Ljava/lang/String;+]Ljava/lang/Object;Ljava/util/UUID; HSPLandroid/os/storage/StorageManager;->getAllocatableBytes(Ljava/util/UUID;I)J HSPLandroid/os/storage/StorageManager;->getStorageVolume(Ljava/io/File;I)Landroid/os/storage/StorageVolume; HSPLandroid/os/storage/StorageManager;->getStorageVolume([Landroid/os/storage/StorageVolume;Ljava/io/File;)Landroid/os/storage/StorageVolume; @@ -13176,9 +13228,10 @@ HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getTargetSdk()I HSPLandroid/permission/PermissionManager;-><clinit>()V HSPLandroid/permission/PermissionManager;-><init>(Landroid/content/Context;)V HSPLandroid/permission/PermissionManager;->addOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V -HSPLandroid/permission/PermissionManager;->checkPermissionUncached(Ljava/lang/String;III)I+]Landroid/app/IActivityManager;Landroid/app/IActivityManager$Stub$Proxy; +HSPLandroid/permission/PermissionManager;->checkPermissionUncached(Ljava/lang/String;III)I+]Landroid/app/IActivityManager;Landroid/app/IActivityManager$Stub$Proxy;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/permission/PermissionManager;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)I HSPLandroid/permission/PermissionManager;->getPermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo; +HSPLandroid/permission/PermissionManager;->getPersistentDeviceId(I)Ljava/lang/String; HSPLandroid/permission/PermissionManager;->getSplitPermissions()Ljava/util/List; HSPLandroid/permission/PermissionManager;->removeOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V HSPLandroid/permission/PermissionManager;->splitPermissionInfoListToNonParcelableList(Ljava/util/List;)Ljava/util/List; @@ -13238,15 +13291,15 @@ HSPLandroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;L HSPLandroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I HSPLandroid/provider/Settings$Global;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J HSPLandroid/provider/Settings$Global;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; +HSPLandroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;+]Landroid/provider/Settings$NameValueCache;Landroid/provider/Settings$NameValueCache;]Ljava/util/HashSet;Ljava/util/HashSet; HSPLandroid/provider/Settings$Global;->getUriFor(Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/provider/Settings$Global;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z HSPLandroid/provider/Settings$Global;->putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z HSPLandroid/provider/Settings$Global;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z HSPLandroid/provider/Settings$Global;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZIZ)Z HSPLandroid/provider/Settings$NameValueCache$$ExternalSyntheticLambda0;-><init>(Landroid/provider/Settings$NameValueCache;)V -HSPLandroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; -HSPLandroid/provider/Settings$NameValueCache;->getStringsForPrefixStripPrefix(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/List;)Ljava/util/Map;+]Landroid/content/ContentResolver;Landroid/app/ContextImpl$ApplicationContentResolver;]Landroid/content/IContentProvider;Landroid/content/ContentProvider$Transport;,Landroid/content/ContentProviderProxy;]Landroid/net/Uri;Landroid/net/Uri$StringUri;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/provider/Settings$ContentProviderHolder;Landroid/provider/Settings$ContentProviderHolder;]Landroid/provider/Settings$GenerationTracker;Landroid/provider/Settings$GenerationTracker;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/String;Ljava/lang/String;]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/util/Iterator;Ljava/util/Arrays$ArrayItr;,Ljava/util/HashMap$EntryIterator;]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/util/Set;Ljava/util/HashMap$EntrySet; +HSPLandroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/content/IContentProvider;Landroid/content/ContentProviderProxy;]Landroid/provider/Settings$GenerationTracker;Landroid/provider/Settings$GenerationTracker;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/provider/Settings$ContentProviderHolder;Landroid/provider/Settings$ContentProviderHolder;]Landroid/content/ContentResolver;Landroid/app/ContextImpl$ApplicationContentResolver;]Landroid/net/Uri;Landroid/net/Uri$StringUri; +HSPLandroid/provider/Settings$NameValueCache;->getStringsForPrefixStripPrefix(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/util/List;)Ljava/util/Map;+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Landroid/provider/Settings$GenerationTracker;Landroid/provider/Settings$GenerationTracker;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/provider/Settings$ContentProviderHolder;Landroid/provider/Settings$ContentProviderHolder;]Ljava/util/Set;Ljava/util/HashMap$EntrySet;]Ljava/lang/String;Ljava/lang/String;]Landroid/content/IContentProvider;Landroid/content/ContentProviderProxy;,Landroid/content/ContentProvider$Transport;]Ljava/util/List;Ljava/util/Arrays$ArrayList;]Landroid/content/ContentResolver;Landroid/app/ContextImpl$ApplicationContentResolver;]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;,Ljava/util/Arrays$ArrayItr;]Landroid/net/Uri;Landroid/net/Uri$StringUri; HSPLandroid/provider/Settings$NameValueCache;->isCallerExemptFromReadableRestriction()Z HSPLandroid/provider/Settings$NameValueCache;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZIZ)Z HSPLandroid/provider/Settings$NameValueTable;->getUriFor(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri; @@ -13257,7 +13310,7 @@ HSPLandroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentRes HSPLandroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I HSPLandroid/provider/Settings$Secure;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J HSPLandroid/provider/Settings$Secure;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)J -HSPLandroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;+]Landroid/content/ContentResolver;Landroid/app/ContextImpl$ApplicationContentResolver; HSPLandroid/provider/Settings$Secure;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; HSPLandroid/provider/Settings$Secure;->getUriFor(Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/provider/Settings$Secure;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z @@ -13272,7 +13325,7 @@ HSPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;L HSPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I HSPLandroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)I HSPLandroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I -HSPLandroid/provider/Settings$System;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; +HSPLandroid/provider/Settings$System;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;+]Landroid/provider/Settings$NameValueCache;Landroid/provider/Settings$NameValueCache;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/HashSet;Ljava/util/HashSet; HSPLandroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri; HSPLandroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z HSPLandroid/provider/Settings$System;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z @@ -13291,6 +13344,8 @@ HSPLandroid/provider/Settings;->parseLongSettingWithDefault(Ljava/lang/String;J) HSPLandroid/provider/Telephony$Sms;->getDefaultSmsPackage(Landroid/content/Context;)Ljava/lang/String; HSPLandroid/renderscript/RenderScriptCacheDir;->setupDiskCache(Ljava/io/File;)V HSPLandroid/se/omapi/SeServiceManager;-><init>()V +HSPLandroid/security/FeatureFlagsImpl;-><init>()V +HSPLandroid/security/Flags;-><clinit>()V HSPLandroid/security/KeyChain$1;-><init>(Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/CountDownLatch;)V HSPLandroid/security/KeyChain$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V HSPLandroid/security/KeyChain$KeyChainConnection;-><init>(Landroid/content/Context;Landroid/content/ServiceConnection;Landroid/security/IKeyChainService;)V @@ -13307,6 +13362,7 @@ HSPLandroid/security/KeyStore2;->getKeyEntry(Landroid/system/keystore2/KeyDescri HSPLandroid/security/KeyStore2;->getKeyStoreException(ILjava/lang/String;)Landroid/security/KeyStoreException; HSPLandroid/security/KeyStore2;->getService(Z)Landroid/system/keystore2/IKeystoreService; HSPLandroid/security/KeyStore2;->handleRemoteExceptionWithRetry(Landroid/security/KeyStore2$CheckedRemoteRequest;)Ljava/lang/Object; +HSPLandroid/security/KeyStore;->getInstance()Landroid/security/KeyStore; HSPLandroid/security/KeyStoreException;-><init>(ILjava/lang/String;)V HSPLandroid/security/KeyStoreException;-><init>(ILjava/lang/String;Ljava/lang/String;)V HSPLandroid/security/KeyStoreException;->getErrorCode()I @@ -13636,18 +13692,18 @@ HSPLandroid/service/notification/NotificationListenerService$NotificationListene HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationChannelGroupModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationChannelModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V -HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V +HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V+]Landroid/os/Handler;Landroid/service/notification/NotificationListenerService$MyHandler;]Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;]Landroid/service/notification/StatusBarNotification;Landroid/service/notification/StatusBarNotification;]Landroid/os/Message;Landroid/os/Message; HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRankingUpdate(Landroid/service/notification/NotificationRankingUpdate;)V HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>()V -HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>(Landroid/os/Parcel;)V +HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Object;Landroid/service/notification/NotificationListenerService$Ranking;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/service/notification/NotificationListenerService$Ranking;->getChannel()Landroid/app/NotificationChannel; HSPLandroid/service/notification/NotificationListenerService$Ranking;->getKey()Ljava/lang/String; -HSPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Landroid/service/notification/NotificationListenerService$Ranking;)V +HSPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Landroid/service/notification/NotificationListenerService$Ranking;)V+]Landroid/service/notification/NotificationListenerService$Ranking;Landroid/service/notification/NotificationListenerService$Ranking; HSPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Ljava/lang/String;IZIIILjava/lang/CharSequence;Ljava/lang/String;Landroid/app/NotificationChannel;Ljava/util/ArrayList;Ljava/util/ArrayList;ZIZJZLjava/util/ArrayList;Ljava/util/ArrayList;ZZZLandroid/content/pm/ShortcutInfo;IZIZ)V HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/NotificationListenerService$RankingMap; HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/service/notification/NotificationListenerService$RankingMap;-><init>(Landroid/os/Parcel;)V +HSPLandroid/service/notification/NotificationListenerService$RankingMap;-><init>(Landroid/os/Parcel;)V+]Landroid/service/notification/NotificationListenerService$Ranking;Landroid/service/notification/NotificationListenerService$Ranking;]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Object;Landroid/service/notification/NotificationListenerService$RankingMap;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getOrderedKeys()[Ljava/lang/String; HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getRanking(Ljava/lang/String;Landroid/service/notification/NotificationListenerService$Ranking;)Z HSPLandroid/service/notification/NotificationListenerService;-><init>()V @@ -13676,7 +13732,7 @@ HSPLandroid/service/notification/NotificationRankingUpdate;-><init>(Landroid/os/ HSPLandroid/service/notification/NotificationRankingUpdate;->getRankingMap()Landroid/service/notification/NotificationListenerService$RankingMap; HSPLandroid/service/notification/StatusBarNotification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/StatusBarNotification; HSPLandroid/service/notification/StatusBarNotification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/service/notification/StatusBarNotification;-><init>(Landroid/os/Parcel;)V +HSPLandroid/service/notification/StatusBarNotification;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcelable$Creator;Lcom/android/internal/logging/InstanceId$1;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/service/notification/StatusBarNotification;->getGroupKey()Ljava/lang/String; HSPLandroid/service/notification/StatusBarNotification;->getId()I HSPLandroid/service/notification/StatusBarNotification;->getInstanceId()Lcom/android/internal/logging/InstanceId; @@ -13695,7 +13751,7 @@ HSPLandroid/service/notification/StatusBarNotification;->groupKey()Ljava/lang/St HSPLandroid/service/notification/StatusBarNotification;->isAppGroup()Z HSPLandroid/service/notification/StatusBarNotification;->isGroup()Z HSPLandroid/service/notification/StatusBarNotification;->isOngoing()Z -HSPLandroid/service/notification/StatusBarNotification;->key()Ljava/lang/String; +HSPLandroid/service/notification/StatusBarNotification;->key()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/UserHandle;Landroid/os/UserHandle; HSPLandroid/service/notification/ZenModeConfig$ZenRule$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/ZenModeConfig$ZenRule; HSPLandroid/service/notification/ZenModeConfig$ZenRule$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/service/notification/ZenModeConfig$ZenRule;-><init>(Landroid/os/Parcel;)V @@ -14004,7 +14060,7 @@ HSPLandroid/telecom/PhoneAccountHandle;->getComponentName()Landroid/content/Comp HSPLandroid/telecom/PhoneAccountHandle;->getId()Ljava/lang/String; HSPLandroid/telecom/PhoneAccountHandle;->getUserHandle()Landroid/os/UserHandle; HSPLandroid/telecom/PhoneAccountHandle;->hashCode()I -HSPLandroid/telecom/PhoneAccountHandle;->toString()Ljava/lang/String; +HSPLandroid/telecom/PhoneAccountHandle;->toString()Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/content/ComponentName;Landroid/content/ComponentName; HSPLandroid/telecom/PhoneAccountHandle;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/telecom/TelecomManager;-><init>(Landroid/content/Context;)V HSPLandroid/telecom/TelecomManager;-><init>(Landroid/content/Context;Lcom/android/internal/telecom/ITelecomService;)V @@ -14143,7 +14199,7 @@ HSPLandroid/telephony/ModemActivityInfo;->toString()Ljava/lang/String; HSPLandroid/telephony/NetworkRegistrationInfo$$ExternalSyntheticLambda0;->apply(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/telephony/NetworkRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/NetworkRegistrationInfo; HSPLandroid/telephony/NetworkRegistrationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; -HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/os/Parcel;)V +HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/telephony/NetworkRegistrationInfo;)V HSPLandroid/telephony/NetworkRegistrationInfo;->domainToString(I)Ljava/lang/String; HSPLandroid/telephony/NetworkRegistrationInfo;->getAccessNetworkTechnology()I @@ -14167,7 +14223,7 @@ HSPLandroid/telephony/PhoneNumberUtils;->formatNumberToE164(Ljava/lang/String;Lj HSPLandroid/telephony/PhoneNumberUtils;->getMinMatch()I HSPLandroid/telephony/PhoneNumberUtils;->isDialable(C)Z HSPLandroid/telephony/PhoneNumberUtils;->isNonSeparator(C)Z -HSPLandroid/telephony/PhoneNumberUtils;->normalizeNumber(Ljava/lang/String;)Ljava/lang/String; +HSPLandroid/telephony/PhoneNumberUtils;->normalizeNumber(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLandroid/telephony/PhoneNumberUtils;->stripSeparators(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda10;->runOrThrow()V HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub$$ExternalSyntheticLambda19;->runOrThrow()V @@ -14199,7 +14255,7 @@ HSPLandroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I HSPLandroid/telephony/ServiceState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ServiceState; HSPLandroid/telephony/ServiceState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/telephony/ServiceState;-><init>()V -HSPLandroid/telephony/ServiceState;-><init>(Landroid/os/Parcel;)V +HSPLandroid/telephony/ServiceState;-><init>(Landroid/os/Parcel;)V+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/telephony/ServiceState;-><init>(Landroid/telephony/ServiceState;)V HSPLandroid/telephony/ServiceState;->copyFrom(Landroid/telephony/ServiceState;)V HSPLandroid/telephony/ServiceState;->createLocationInfoSanitizedCopy(Z)Landroid/telephony/ServiceState; @@ -14239,7 +14295,7 @@ HSPLandroid/telephony/SignalStrength;->getCellSignalStrengths(Ljava/lang/Class;) HSPLandroid/telephony/SignalStrength;->getLevel()I HSPLandroid/telephony/SignalStrength;->getPrimary()Landroid/telephony/CellSignalStrength; HSPLandroid/telephony/SignalStrength;->writeToParcel(Landroid/os/Parcel;I)V -HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/SubscriptionInfo;+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;Landroid/text/TextUtils$1;]Landroid/telephony/SubscriptionInfo$Builder;Landroid/telephony/SubscriptionInfo$Builder; +HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/SubscriptionInfo;+]Landroid/os/Parcelable$Creator;Landroid/text/TextUtils$1;]Landroid/telephony/SubscriptionInfo$Builder;Landroid/telephony/SubscriptionInfo$Builder;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/telephony/SubscriptionInfo$Builder;->-$$Nest$fgetmAreUiccApplicationsEnabled(Landroid/telephony/SubscriptionInfo$Builder;)Z HSPLandroid/telephony/SubscriptionInfo$Builder;->-$$Nest$fgetmCardId(Landroid/telephony/SubscriptionInfo$Builder;)I @@ -14322,6 +14378,8 @@ HSPLandroid/telephony/SubscriptionInfo;->getSubscriptionId()I HSPLandroid/telephony/SubscriptionInfo;->isEmbedded()Z HSPLandroid/telephony/SubscriptionInfo;->isOpportunistic()Z HSPLandroid/telephony/SubscriptionInfo;->toString()Ljava/lang/String; +HSPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda10;->applyOrThrow(Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda15;->applyOrThrow(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/telephony/SubscriptionManager$$ExternalSyntheticLambda9;->applyOrThrow(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/telephony/SubscriptionManager$IntegerPropertyInvalidatedCache;->query(Ljava/lang/Integer;)Ljava/lang/Object; HSPLandroid/telephony/SubscriptionManager$IntegerPropertyInvalidatedCache;->recompute(Ljava/lang/Integer;)Ljava/lang/Object; @@ -14432,6 +14490,7 @@ HSPLandroid/telephony/TelephonyManager;->getRenouncedPermissions()Ljava/util/Set HSPLandroid/telephony/TelephonyManager;->getServiceState()Landroid/telephony/ServiceState; HSPLandroid/telephony/TelephonyManager;->getServiceState(I)Landroid/telephony/ServiceState; HSPLandroid/telephony/TelephonyManager;->getServiceStateForSubscriber(I)Landroid/telephony/ServiceState; +HSPLandroid/telephony/TelephonyManager;->getServiceStateForSubscriber(IZZ)Landroid/telephony/ServiceState; HSPLandroid/telephony/TelephonyManager;->getSignalStrength()Landroid/telephony/SignalStrength; HSPLandroid/telephony/TelephonyManager;->getSimCarrierId()I HSPLandroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String; @@ -14544,7 +14603,7 @@ HSPLandroid/telephony/data/ApnSetting;->getApnName()Ljava/lang/String; HSPLandroid/telephony/data/ApnSetting;->getApnTypeBitmask()I HSPLandroid/telephony/data/ApnSetting;->getApnTypesStringFromBitmask(I)Ljava/lang/String; HSPLandroid/telephony/data/ApnSetting;->portToString(I)Ljava/lang/String; -HSPLandroid/telephony/data/ApnSetting;->toString()Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/util/Map;Landroid/util/ArrayMap; +HSPLandroid/telephony/data/ApnSetting;->toString()Ljava/lang/String; HSPLandroid/telephony/euicc/EuiccManager;->getIEuiccController()Lcom/android/internal/telephony/euicc/IEuiccController; HSPLandroid/telephony/euicc/EuiccManager;->isEnabled()Z HSPLandroid/telephony/ims/ImsMmTelManager;->createForSubscriptionId(I)Landroid/telephony/ims/ImsMmTelManager; @@ -14593,7 +14652,7 @@ HSPLandroid/text/BidiFormatter;->markBefore(Ljava/lang/CharSequence;Landroid/tex HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;Z)Ljava/lang/CharSequence; HSPLandroid/text/BoringLayout$Metrics;->-$$Nest$mreset(Landroid/text/BoringLayout$Metrics;)V HSPLandroid/text/BoringLayout$Metrics;-><init>()V -HSPLandroid/text/BoringLayout$Metrics;->reset()V+]Landroid/graphics/RectF;Landroid/graphics/RectF; +HSPLandroid/text/BoringLayout$Metrics;->reset()V HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)V HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)V HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;IZ)V @@ -14608,13 +14667,14 @@ HSPLandroid/text/BoringLayout;->getLineCount()I HSPLandroid/text/BoringLayout;->getLineDescent(I)I HSPLandroid/text/BoringLayout;->getLineDirections(I)Landroid/text/Layout$Directions; HSPLandroid/text/BoringLayout;->getLineMax(I)F -HSPLandroid/text/BoringLayout;->getLineStart(I)I+]Landroid/text/BoringLayout;Landroid/text/BoringLayout;]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/text/BoringLayout;->getLineStart(I)I HSPLandroid/text/BoringLayout;->getLineTop(I)I HSPLandroid/text/BoringLayout;->getLineWidth(I)F HSPLandroid/text/BoringLayout;->getParagraphDirection(I)I HSPLandroid/text/BoringLayout;->hasAnyInterestingChars(Ljava/lang/CharSequence;I)Z HSPLandroid/text/BoringLayout;->init(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZZ)V+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics; +HSPLandroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;ZLandroid/graphics/Paint$FontMetrics;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;+]Landroid/text/TextLine;Landroid/text/TextLine;]Landroid/text/Spanned;megamorphic_types]Ljava/lang/CharSequence;megamorphic_types]Landroid/text/TextDirectionHeuristic;Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;,Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal; HSPLandroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;ZLandroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics; HSPLandroid/text/BoringLayout;->isFallbackLineSpacingEnabled()Z HSPLandroid/text/BoringLayout;->make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout; @@ -14629,7 +14689,8 @@ HSPLandroid/text/CharSequenceCharacterIterator;->getEndIndex()I HSPLandroid/text/CharSequenceCharacterIterator;->getIndex()I HSPLandroid/text/CharSequenceCharacterIterator;->next()C HSPLandroid/text/CharSequenceCharacterIterator;->setIndex(I)C -HSPLandroid/text/DynamicLayout$Builder;->obtain(Ljava/lang/CharSequence;Landroid/text/TextPaint;I)Landroid/text/DynamicLayout$Builder; +HSPLandroid/text/ClientFlags;->icuBidiMigration()Z +HSPLandroid/text/DynamicLayout$Builder;->obtain(Ljava/lang/CharSequence;Landroid/text/TextPaint;I)Landroid/text/DynamicLayout$Builder;+]Landroid/util/Pools$SynchronizedPool;Landroid/util/Pools$SynchronizedPool; HSPLandroid/text/DynamicLayout$ChangeWatcher;->afterTextChanged(Landroid/text/Editable;)V HSPLandroid/text/DynamicLayout$ChangeWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V HSPLandroid/text/DynamicLayout$ChangeWatcher;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V @@ -14637,29 +14698,29 @@ HSPLandroid/text/DynamicLayout$ChangeWatcher;->onSpanChanged(Landroid/text/Spann HSPLandroid/text/DynamicLayout$ChangeWatcher;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V HSPLandroid/text/DynamicLayout$ChangeWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V HSPLandroid/text/DynamicLayout;-><init>(Landroid/text/DynamicLayout$Builder;)V -HSPLandroid/text/DynamicLayout;->addBlockAtOffset(I)V -HSPLandroid/text/DynamicLayout;->contentMayProtrudeFromLineTopOrBottom(Ljava/lang/CharSequence;II)Z +HSPLandroid/text/DynamicLayout;->addBlockAtOffset(I)V+]Landroid/text/DynamicLayout;Landroid/text/DynamicLayout; +HSPLandroid/text/DynamicLayout;->contentMayProtrudeFromLineTopOrBottom(Ljava/lang/CharSequence;II)Z+]Landroid/text/DynamicLayout;Landroid/text/DynamicLayout;]Landroid/graphics/Paint;Landroid/text/TextPaint;]Landroid/text/Spanned;Landroid/text/SpannableString; HSPLandroid/text/DynamicLayout;->createBlocks()V -HSPLandroid/text/DynamicLayout;->generate(Landroid/text/DynamicLayout$Builder;)V +HSPLandroid/text/DynamicLayout;->generate(Landroid/text/DynamicLayout$Builder;)V+]Landroid/text/DynamicLayout;Landroid/text/DynamicLayout;]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector;]Landroid/text/PackedObjectVector;Landroid/text/PackedObjectVector;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;Landroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;,Landroid/text/SpannableStringBuilder;]Landroid/text/Spannable;Landroid/text/SpannableStringBuilder; HSPLandroid/text/DynamicLayout;->getBlockEndLines()[I HSPLandroid/text/DynamicLayout;->getBlockIndices()[I HSPLandroid/text/DynamicLayout;->getBlocksAlwaysNeedToBeRedrawn()Landroid/util/ArraySet; HSPLandroid/text/DynamicLayout;->getEllipsisCount(I)I HSPLandroid/text/DynamicLayout;->getEllipsisStart(I)I HSPLandroid/text/DynamicLayout;->getEllipsizedWidth()I -HSPLandroid/text/DynamicLayout;->getEndHyphenEdit(I)I +HSPLandroid/text/DynamicLayout;->getEndHyphenEdit(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; HSPLandroid/text/DynamicLayout;->getIndexFirstChangedBlock()I -HSPLandroid/text/DynamicLayout;->getLineContainsTab(I)Z -HSPLandroid/text/DynamicLayout;->getLineCount()I -HSPLandroid/text/DynamicLayout;->getLineDescent(I)I -HSPLandroid/text/DynamicLayout;->getLineDirections(I)Landroid/text/Layout$Directions; +HSPLandroid/text/DynamicLayout;->getLineContainsTab(I)Z+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->getLineCount()I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->getLineDescent(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->getLineDirections(I)Landroid/text/Layout$Directions;+]Landroid/text/PackedObjectVector;Landroid/text/PackedObjectVector; HSPLandroid/text/DynamicLayout;->getLineExtra(I)I -HSPLandroid/text/DynamicLayout;->getLineStart(I)I -HSPLandroid/text/DynamicLayout;->getLineTop(I)I +HSPLandroid/text/DynamicLayout;->getLineStart(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->getLineTop(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; HSPLandroid/text/DynamicLayout;->getNumberOfBlocks()I -HSPLandroid/text/DynamicLayout;->getParagraphDirection(I)I -HSPLandroid/text/DynamicLayout;->getStartHyphenEdit(I)I -HSPLandroid/text/DynamicLayout;->reflow(Ljava/lang/CharSequence;III)V +HSPLandroid/text/DynamicLayout;->getParagraphDirection(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->getStartHyphenEdit(I)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; +HSPLandroid/text/DynamicLayout;->reflow(Ljava/lang/CharSequence;III)V+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector;]Landroid/text/DynamicLayout;Landroid/text/DynamicLayout;]Landroid/text/PackedObjectVector;Landroid/text/PackedObjectVector;]Landroid/text/StaticLayout;Landroid/text/StaticLayout;]Landroid/text/Spanned;Landroid/text/SpannableString;]Ljava/lang/CharSequence;Landroid/text/SpannableString;]Landroid/text/StaticLayout$Builder;Landroid/text/StaticLayout$Builder; HSPLandroid/text/DynamicLayout;->setIndexFirstChangedBlock(I)V HSPLandroid/text/DynamicLayout;->updateAlwaysNeedsToBeRedrawn(I)V HSPLandroid/text/DynamicLayout;->updateBlocks(III)V @@ -14674,7 +14735,7 @@ HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned; HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;I)Landroid/text/Spanned; HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;ILandroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned; HSPLandroid/text/HtmlToSpannedConverter;-><init>(Ljava/lang/String;Landroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;Lorg/ccil/cowan/tagsoup/Parser;I)V -HSPLandroid/text/HtmlToSpannedConverter;->characters([CII)V+]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/text/HtmlToSpannedConverter;->characters([CII)V HSPLandroid/text/HtmlToSpannedConverter;->convert()Landroid/text/Spanned; HSPLandroid/text/HtmlToSpannedConverter;->end(Landroid/text/Editable;Ljava/lang/Class;Ljava/lang/Object;)V HSPLandroid/text/HtmlToSpannedConverter;->endA(Landroid/text/Editable;)V @@ -14683,8 +14744,8 @@ HSPLandroid/text/HtmlToSpannedConverter;->endElement(Ljava/lang/String;Ljava/lan HSPLandroid/text/HtmlToSpannedConverter;->endPrefixMapping(Ljava/lang/String;)V HSPLandroid/text/HtmlToSpannedConverter;->getLast(Landroid/text/Spanned;Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/text/HtmlToSpannedConverter;->handleBr(Landroid/text/Editable;)V -HSPLandroid/text/HtmlToSpannedConverter;->handleEndTag(Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String; -HSPLandroid/text/HtmlToSpannedConverter;->handleStartTag(Ljava/lang/String;Lorg/xml/sax/Attributes;)V+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/text/HtmlToSpannedConverter;->handleEndTag(Ljava/lang/String;)V +HSPLandroid/text/HtmlToSpannedConverter;->handleStartTag(Ljava/lang/String;Lorg/xml/sax/Attributes;)V HSPLandroid/text/HtmlToSpannedConverter;->setDocumentLocator(Lorg/xml/sax/Locator;)V HSPLandroid/text/HtmlToSpannedConverter;->setSpanFromMark(Landroid/text/Spannable;Ljava/lang/Object;[Ljava/lang/Object;)V HSPLandroid/text/HtmlToSpannedConverter;->start(Landroid/text/Editable;Ljava/lang/Object;)V @@ -14702,7 +14763,7 @@ HSPLandroid/text/Layout$Directions;->getRunStart(I)I HSPLandroid/text/Layout$Directions;->isRunRtl(I)Z HSPLandroid/text/Layout$Ellipsizer;-><init>(Ljava/lang/CharSequence;)V HSPLandroid/text/Layout$Ellipsizer;->charAt(I)C -HSPLandroid/text/Layout$Ellipsizer;->getChars(II[CI)V+]Landroid/text/Layout;Landroid/text/StaticLayout; +HSPLandroid/text/Layout$Ellipsizer;->getChars(II[CI)V HSPLandroid/text/Layout$Ellipsizer;->length()I HSPLandroid/text/Layout$HorizontalMeasurementProvider;->init()V HSPLandroid/text/Layout$SpannedEllipsizer;->getSpanEnd(Ljava/lang/Object;)I @@ -14711,12 +14772,13 @@ HSPLandroid/text/Layout$SpannedEllipsizer;->getSpanStart(Ljava/lang/Object;)I HSPLandroid/text/Layout$SpannedEllipsizer;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object; HSPLandroid/text/Layout$SpannedEllipsizer;->nextSpanTransition(IILjava/lang/Class;)I HSPLandroid/text/Layout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V +HSPLandroid/text/Layout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZZILandroid/text/TextUtils$TruncateAt;III[I[IILandroid/graphics/text/LineBreakConfig;ZZLandroid/graphics/Paint$FontMetrics;)V HSPLandroid/text/Layout;->addSelection(IIIIILandroid/text/Layout$SelectionRectangleConsumer;)V HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;)V HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V -HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;Ljava/util/List;Ljava/util/List;Landroid/graphics/Path;Landroid/graphics/Paint;I)V +HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;Ljava/util/List;Ljava/util/List;Landroid/graphics/Path;Landroid/graphics/Paint;I)V+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout; HSPLandroid/text/Layout;->drawBackground(Landroid/graphics/Canvas;II)V -HSPLandroid/text/Layout;->drawText(Landroid/graphics/Canvas;II)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/text/Spanned;Landroid/text/Layout$SpannedEllipsizer;,Landroid/text/SpannableString;]Landroid/text/TextLine;Landroid/text/TextLine;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Ljava/lang/CharSequence;Landroid/text/Layout$SpannedEllipsizer;,Landroid/text/SpannableString; +HSPLandroid/text/Layout;->drawText(Landroid/graphics/Canvas;II)V+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;,Landroid/text/DynamicLayout;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/text/TextLine;Landroid/text/TextLine;]Landroid/text/Spanned;Landroid/text/SpannableString;]Ljava/lang/CharSequence;Landroid/text/SpannableString; HSPLandroid/text/Layout;->drawWithoutText(Landroid/graphics/Canvas;Ljava/util/List;Ljava/util/List;Landroid/graphics/Path;Landroid/graphics/Paint;III)V HSPLandroid/text/Layout;->ellipsize(III[CILandroid/text/TextUtils$TruncateAt;)V HSPLandroid/text/Layout;->getCursorPath(ILandroid/graphics/Path;Ljava/lang/CharSequence;)V @@ -14728,30 +14790,30 @@ HSPLandroid/text/Layout;->getHeight(Z)I HSPLandroid/text/Layout;->getHorizontal(IZ)F HSPLandroid/text/Layout;->getHorizontal(IZIZ)F HSPLandroid/text/Layout;->getIndentAdjust(ILandroid/text/Layout$Alignment;)I -HSPLandroid/text/Layout;->getLineBaseline(I)I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout; +HSPLandroid/text/Layout;->getLineBaseline(I)I HSPLandroid/text/Layout;->getLineBottom(I)I HSPLandroid/text/Layout;->getLineBottom(IZ)I -HSPLandroid/text/Layout;->getLineEnd(I)I -HSPLandroid/text/Layout;->getLineExtent(ILandroid/text/Layout$TabStops;Z)F+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/text/TextLine;Landroid/text/TextLine;]Landroid/text/TextPaint;Landroid/text/TextPaint; +HSPLandroid/text/Layout;->getLineEnd(I)I+]Landroid/text/Layout;Landroid/text/DynamicLayout;,Landroid/text/BoringLayout;,Landroid/text/StaticLayout; +HSPLandroid/text/Layout;->getLineExtent(ILandroid/text/Layout$TabStops;Z)F HSPLandroid/text/Layout;->getLineExtent(IZ)F -HSPLandroid/text/Layout;->getLineForOffset(I)I+]Landroid/text/Layout;Landroid/text/StaticLayout; -HSPLandroid/text/Layout;->getLineForVertical(I)I+]Landroid/text/Layout;Landroid/text/BoringLayout; +HSPLandroid/text/Layout;->getLineForOffset(I)I+]Landroid/text/Layout;Landroid/text/DynamicLayout; +HSPLandroid/text/Layout;->getLineForVertical(I)I+]Landroid/text/Layout;Landroid/text/DynamicLayout;,Landroid/text/BoringLayout; HSPLandroid/text/Layout;->getLineLeft(I)F HSPLandroid/text/Layout;->getLineMax(I)F -HSPLandroid/text/Layout;->getLineRangeForDraw(Landroid/graphics/Canvas;)J+]Landroid/graphics/Canvas;missing_types]Landroid/text/Layout;Landroid/text/StaticLayout; +HSPLandroid/text/Layout;->getLineRangeForDraw(Landroid/graphics/Canvas;)J+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/text/Layout;->getLineRight(I)F HSPLandroid/text/Layout;->getLineStartPos(III)I HSPLandroid/text/Layout;->getLineVisibleEnd(I)I HSPLandroid/text/Layout;->getLineWidth(I)F HSPLandroid/text/Layout;->getOffsetAtStartOf(I)I HSPLandroid/text/Layout;->getOffsetForHorizontal(IF)I -HSPLandroid/text/Layout;->getOffsetForHorizontal(IFZ)I +HSPLandroid/text/Layout;->getOffsetForHorizontal(IFZ)I+]Landroid/text/Layout;Landroid/text/DynamicLayout;]Landroid/text/TextLine;Landroid/text/TextLine;]Landroid/text/Layout$HorizontalMeasurementProvider;Landroid/text/Layout$HorizontalMeasurementProvider; HSPLandroid/text/Layout;->getPaint()Landroid/text/TextPaint; -HSPLandroid/text/Layout;->getParagraphAlignment(I)Landroid/text/Layout$Alignment; -HSPLandroid/text/Layout;->getParagraphLeadingMargin(I)I +HSPLandroid/text/Layout;->getParagraphAlignment(I)Landroid/text/Layout$Alignment;+]Landroid/text/Layout;Landroid/text/DynamicLayout; +HSPLandroid/text/Layout;->getParagraphLeadingMargin(I)I+]Landroid/text/Layout;Landroid/text/DynamicLayout;]Landroid/text/Spanned;missing_types HSPLandroid/text/Layout;->getParagraphLeft(I)I HSPLandroid/text/Layout;->getParagraphRight(I)I -HSPLandroid/text/Layout;->getParagraphSpans(Landroid/text/Spanned;IILjava/lang/Class;)[Ljava/lang/Object; +HSPLandroid/text/Layout;->getParagraphSpans(Landroid/text/Spanned;IILjava/lang/Class;)[Ljava/lang/Object;+]Landroid/text/Spanned;Landroid/text/SpannableString; HSPLandroid/text/Layout;->getPrimaryHorizontal(I)F HSPLandroid/text/Layout;->getPrimaryHorizontal(IZ)F HSPLandroid/text/Layout;->getSelection(IILandroid/text/Layout$SelectionRectangleConsumer;)V @@ -14770,7 +14832,8 @@ HSPLandroid/text/Layout;->primaryIsTrailingPrevious(I)Z HSPLandroid/text/Layout;->replaceWith(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V HSPLandroid/text/Layout;->shouldClampCursor(I)Z HSPLandroid/text/MeasuredParagraph;-><init>()V -HSPLandroid/text/MeasuredParagraph;->applyMetricsAffectingSpan(Landroid/text/TextPaint;Landroid/graphics/text/LineBreakConfig;[Landroid/text/style/MetricAffectingSpan;[Landroid/text/style/LineBreakConfigSpan;IILandroid/graphics/text/MeasuredText$Builder;Landroid/text/MeasuredParagraph$StyleRunCallback;)V+]Landroid/graphics/text/LineBreakConfig$Builder;Landroid/graphics/text/LineBreakConfig$Builder;]Landroid/text/AutoGrowArray$IntArray;Landroid/text/AutoGrowArray$IntArray;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/text/style/MetricAffectingSpan;missing_types +HSPLandroid/text/MeasuredParagraph;->applyMetricsAffectingSpan(Landroid/text/TextPaint;Landroid/graphics/text/LineBreakConfig;[Landroid/text/style/MetricAffectingSpan;[Landroid/text/style/LineBreakConfigSpan;IILandroid/graphics/text/MeasuredText$Builder;Landroid/text/MeasuredParagraph$StyleRunCallback;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/graphics/text/LineBreakConfig$Builder;Landroid/graphics/text/LineBreakConfig$Builder;]Landroid/text/AutoGrowArray$IntArray;Landroid/text/AutoGrowArray$IntArray;]Landroid/text/style/MetricAffectingSpan;missing_types +HSPLandroid/text/MeasuredParagraph;->applyStyleRun(IILandroid/text/TextPaint;Landroid/graphics/text/LineBreakConfig;Landroid/graphics/text/MeasuredText$Builder;Landroid/text/MeasuredParagraph$StyleRunCallback;)V+]Landroid/text/AutoGrowArray$FloatArray;Landroid/text/AutoGrowArray$FloatArray;]Landroid/graphics/text/MeasuredText$Builder;Landroid/graphics/text/MeasuredText$Builder;]Landroid/text/AutoGrowArray$ByteArray;Landroid/text/AutoGrowArray$ByteArray;]Landroid/text/TextPaint;Landroid/text/TextPaint; HSPLandroid/text/MeasuredParagraph;->breakText(IZF)I HSPLandroid/text/MeasuredParagraph;->buildForBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph; HSPLandroid/text/MeasuredParagraph;->buildForMeasurement(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph; @@ -14789,9 +14852,9 @@ HSPLandroid/text/MeasuredParagraph;->reset()V HSPLandroid/text/MeasuredParagraph;->resetAndAnalyzeBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;)V HSPLandroid/text/PackedIntVector;->adjustValuesBelow(III)V HSPLandroid/text/PackedIntVector;->deleteAt(II)V -HSPLandroid/text/PackedIntVector;->getValue(II)I +HSPLandroid/text/PackedIntVector;->getValue(II)I+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; HSPLandroid/text/PackedIntVector;->growBuffer()V -HSPLandroid/text/PackedIntVector;->insertAt(I[I)V +HSPLandroid/text/PackedIntVector;->insertAt(I[I)V+]Landroid/text/PackedIntVector;Landroid/text/PackedIntVector; HSPLandroid/text/PackedIntVector;->moveRowGapTo(I)V HSPLandroid/text/PackedIntVector;->moveValueGapTo(II)V HSPLandroid/text/PackedIntVector;->size()I @@ -14799,7 +14862,7 @@ HSPLandroid/text/PackedIntVector;->width()I HSPLandroid/text/PackedObjectVector;->deleteAt(II)V HSPLandroid/text/PackedObjectVector;->getValue(II)Ljava/lang/Object; HSPLandroid/text/PackedObjectVector;->growBuffer()V -HSPLandroid/text/PackedObjectVector;->insertAt(I[Ljava/lang/Object;)V +HSPLandroid/text/PackedObjectVector;->insertAt(I[Ljava/lang/Object;)V+]Landroid/text/PackedObjectVector;Landroid/text/PackedObjectVector; HSPLandroid/text/PackedObjectVector;->moveRowGapTo(I)V HSPLandroid/text/PackedObjectVector;->setValue(IILjava/lang/Object;)V HSPLandroid/text/PackedObjectVector;->size()I @@ -14810,7 +14873,7 @@ HSPLandroid/text/PrecomputedText$Params;->getHyphenationFrequency()I HSPLandroid/text/PrecomputedText$Params;->getTextDirection()Landroid/text/TextDirectionHeuristic; HSPLandroid/text/PrecomputedText$Params;->getTextPaint()Landroid/text/TextPaint; HSPLandroid/text/Selection;->getSelectionEnd(Ljava/lang/CharSequence;)I -HSPLandroid/text/Selection;->getSelectionStart(Ljava/lang/CharSequence;)I +HSPLandroid/text/Selection;->getSelectionStart(Ljava/lang/CharSequence;)I+]Landroid/text/Spanned;missing_types HSPLandroid/text/Selection;->removeMemory(Landroid/text/Spannable;)V HSPLandroid/text/Selection;->removeSelection(Landroid/text/Spannable;)V HSPLandroid/text/Selection;->setSelection(Landroid/text/Spannable;I)V @@ -14820,7 +14883,7 @@ HSPLandroid/text/Selection;->updateMemory(Landroid/text/Spannable;I)V HSPLandroid/text/SpanSet;-><init>(Ljava/lang/Class;)V HSPLandroid/text/SpanSet;->getNextTransition(II)I HSPLandroid/text/SpanSet;->hasSpansIntersecting(II)Z -HSPLandroid/text/SpanSet;->init(Landroid/text/Spanned;II)V +HSPLandroid/text/SpanSet;->init(Landroid/text/Spanned;II)V+]Landroid/text/Spanned;Landroid/text/SpannableString; HSPLandroid/text/SpanSet;->recycle()V HSPLandroid/text/Spannable$Factory;->getInstance()Landroid/text/Spannable$Factory; HSPLandroid/text/Spannable$Factory;->newSpannable(Ljava/lang/CharSequence;)Landroid/text/Spannable; @@ -14838,32 +14901,32 @@ HSPLandroid/text/SpannableString;->setSpan(Ljava/lang/Object;III)V HSPLandroid/text/SpannableString;->subSequence(II)Ljava/lang/CharSequence; HSPLandroid/text/SpannableString;->valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannableString; HSPLandroid/text/SpannableStringBuilder;-><init>()V -HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;)V +HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;)V+]Ljava/lang/CharSequence;missing_types HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;II)V HSPLandroid/text/SpannableStringBuilder;->append(C)Landroid/text/Editable; HSPLandroid/text/SpannableStringBuilder;->append(C)Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/Editable; -HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder; +HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;+]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/SpannedString;,Landroid/text/SpannableStringBuilder;,Landroid/text/SpannableString;]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->calcMax(I)I -HSPLandroid/text/SpannableStringBuilder;->change(IILjava/lang/CharSequence;II)V +HSPLandroid/text/SpannableStringBuilder;->change(IILjava/lang/CharSequence;II)V+]Landroid/text/Spanned;Landroid/text/SpannedString;,Landroid/text/SpannableStringBuilder;,Landroid/text/SpannableString;]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->charAt(I)C -HSPLandroid/text/SpannableStringBuilder;->checkRange(Ljava/lang/String;II)V +HSPLandroid/text/SpannableStringBuilder;->checkRange(Ljava/lang/String;II)V+]Landroid/text/SpannableStringBuilder;missing_types HSPLandroid/text/SpannableStringBuilder;->checkSortBuffer([II)[I HSPLandroid/text/SpannableStringBuilder;->clear()V HSPLandroid/text/SpannableStringBuilder;->compareSpans(II[I[I)I -HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I +HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I+]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/Editable; HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->drawTextRun(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V HSPLandroid/text/SpannableStringBuilder;->equals(Ljava/lang/Object;)Z HSPLandroid/text/SpannableStringBuilder;->getChars(II[CI)V -HSPLandroid/text/SpannableStringBuilder;->getSpanEnd(Ljava/lang/Object;)I -HSPLandroid/text/SpannableStringBuilder;->getSpanFlags(Ljava/lang/Object;)I -HSPLandroid/text/SpannableStringBuilder;->getSpanStart(Ljava/lang/Object;)I -HSPLandroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object; +HSPLandroid/text/SpannableStringBuilder;->getSpanEnd(Ljava/lang/Object;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap; +HSPLandroid/text/SpannableStringBuilder;->getSpanFlags(Ljava/lang/Object;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap; +HSPLandroid/text/SpannableStringBuilder;->getSpanStart(Ljava/lang/Object;)I+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap; +HSPLandroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;+]Landroid/text/SpannableStringBuilder;missing_types HSPLandroid/text/SpannableStringBuilder;->getSpans(IILjava/lang/Class;Z)[Ljava/lang/Object; -HSPLandroid/text/SpannableStringBuilder;->getSpansRec(IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I +HSPLandroid/text/SpannableStringBuilder;->getSpansRec(IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I+]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/text/SpannableStringBuilder;->getTextWatcherDepth()I HSPLandroid/text/SpannableStringBuilder;->hasNonExclusiveExclusiveSpanAt(Ljava/lang/CharSequence;I)Z HSPLandroid/text/SpannableStringBuilder;->insert(ILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder; @@ -14882,48 +14945,48 @@ HSPLandroid/text/SpannableStringBuilder;->removeSpan(Ljava/lang/Object;I)V HSPLandroid/text/SpannableStringBuilder;->removeSpansForChange(IIZI)Z HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/Editable; HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder; -HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder; +HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;+]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->resizeFor(I)V HSPLandroid/text/SpannableStringBuilder;->resolveGap(I)I -HSPLandroid/text/SpannableStringBuilder;->restoreInvariants()V +HSPLandroid/text/SpannableStringBuilder;->restoreInvariants()V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap; HSPLandroid/text/SpannableStringBuilder;->rightChild(I)I HSPLandroid/text/SpannableStringBuilder;->sendAfterTextChanged([Landroid/text/TextWatcher;)V HSPLandroid/text/SpannableStringBuilder;->sendBeforeTextChanged([Landroid/text/TextWatcher;III)V -HSPLandroid/text/SpannableStringBuilder;->sendSpanAdded(Ljava/lang/Object;II)V +HSPLandroid/text/SpannableStringBuilder;->sendSpanAdded(Ljava/lang/Object;II)V+]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->sendSpanChanged(Ljava/lang/Object;IIII)V HSPLandroid/text/SpannableStringBuilder;->sendSpanRemoved(Ljava/lang/Object;II)V HSPLandroid/text/SpannableStringBuilder;->sendTextChanged([Landroid/text/TextWatcher;III)V HSPLandroid/text/SpannableStringBuilder;->sendToSpanWatchers(III)V HSPLandroid/text/SpannableStringBuilder;->setFilters([Landroid/text/InputFilter;)V HSPLandroid/text/SpannableStringBuilder;->setSpan(Ljava/lang/Object;III)V -HSPLandroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;IIIZ)V +HSPLandroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;IIIZ)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/util/IdentityHashMap;Ljava/util/IdentityHashMap; HSPLandroid/text/SpannableStringBuilder;->siftDown(I[Ljava/lang/Object;I[I[I)V HSPLandroid/text/SpannableStringBuilder;->sort([Ljava/lang/Object;[I[I)V HSPLandroid/text/SpannableStringBuilder;->subSequence(II)Ljava/lang/CharSequence; -HSPLandroid/text/SpannableStringBuilder;->toString()Ljava/lang/String; +HSPLandroid/text/SpannableStringBuilder;->toString()Ljava/lang/String;+]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringBuilder;->treeRoot()I HSPLandroid/text/SpannableStringBuilder;->updatedIntervalBound(IIIIZZ)I -HSPLandroid/text/SpannableStringInternal;-><init>(Ljava/lang/CharSequence;IIZ)V -HSPLandroid/text/SpannableStringInternal;->charAt(I)C -HSPLandroid/text/SpannableStringInternal;->checkRange(Ljava/lang/String;II)V -HSPLandroid/text/SpannableStringInternal;->copySpansFromInternal(Landroid/text/SpannableStringInternal;IIZ)V -HSPLandroid/text/SpannableStringInternal;->copySpansFromSpanned(Landroid/text/Spanned;IIZ)V +HSPLandroid/text/SpannableStringInternal;-><init>(Ljava/lang/CharSequence;IIZ)V+]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/SpannedString;,Landroid/text/SpannableStringBuilder;,Landroid/text/SpannableString; +HSPLandroid/text/SpannableStringInternal;->charAt(I)C+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/text/SpannableStringInternal;->checkRange(Ljava/lang/String;II)V+]Landroid/text/SpannableStringInternal;Landroid/text/SpannedString;,Landroid/text/SpannableString; +HSPLandroid/text/SpannableStringInternal;->copySpansFromInternal(Landroid/text/SpannableStringInternal;IIZ)V+]Landroid/text/SpannableStringInternal;Landroid/text/SpannedString;,Landroid/text/SpannableString; +HSPLandroid/text/SpannableStringInternal;->copySpansFromSpanned(Landroid/text/Spanned;IIZ)V+]Landroid/text/Spanned;Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannableStringInternal;->equals(Ljava/lang/Object;)Z -HSPLandroid/text/SpannableStringInternal;->getChars(II[CI)V +HSPLandroid/text/SpannableStringInternal;->getChars(II[CI)V+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/text/SpannableStringInternal;->getSpanEnd(Ljava/lang/Object;)I HSPLandroid/text/SpannableStringInternal;->getSpanFlags(Ljava/lang/Object;)I HSPLandroid/text/SpannableStringInternal;->getSpanStart(Ljava/lang/Object;)I -HSPLandroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object; -HSPLandroid/text/SpannableStringInternal;->length()I +HSPLandroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;+]Ljava/lang/Class;Ljava/lang/Class;]Landroid/text/SpannableStringInternal;Landroid/text/SpannableString; +HSPLandroid/text/SpannableStringInternal;->length()I+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/text/SpannableStringInternal;->nextSpanTransition(IILjava/lang/Class;)I HSPLandroid/text/SpannableStringInternal;->removeSpan(Ljava/lang/Object;I)V -HSPLandroid/text/SpannableStringInternal;->sendSpanAdded(Ljava/lang/Object;II)V +HSPLandroid/text/SpannableStringInternal;->sendSpanAdded(Ljava/lang/Object;II)V+]Landroid/text/SpanWatcher;Landroid/text/DynamicLayout$ChangeWatcher;,Landroid/widget/Editor$SpanController;,Landroid/widget/TextView$ChangeWatcher;]Landroid/text/SpannableStringInternal;Landroid/text/SpannableString; HSPLandroid/text/SpannableStringInternal;->sendSpanChanged(Ljava/lang/Object;IIII)V HSPLandroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;III)V HSPLandroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;IIIZ)V HSPLandroid/text/SpannableStringInternal;->toString()Ljava/lang/String; HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;)V -HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;Z)V +HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;Z)V+]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/SpannableStringBuilder; HSPLandroid/text/SpannedString;->equals(Ljava/lang/Object;)Z HSPLandroid/text/SpannedString;->getSpanEnd(Ljava/lang/Object;)I HSPLandroid/text/SpannedString;->getSpanFlags(Ljava/lang/Object;)I @@ -14966,8 +15029,9 @@ HSPLandroid/text/StaticLayout$Builder;->setLineSpacing(FF)Landroid/text/StaticLa HSPLandroid/text/StaticLayout$Builder;->setMaxLines(I)Landroid/text/StaticLayout$Builder; HSPLandroid/text/StaticLayout$Builder;->setTextDirection(Landroid/text/TextDirectionHeuristic;)Landroid/text/StaticLayout$Builder; HSPLandroid/text/StaticLayout$Builder;->setUseLineSpacingFromFallbacks(Z)Landroid/text/StaticLayout$Builder; +HSPLandroid/text/StaticLayout;-><init>(Landroid/text/StaticLayout$Builder;ZI)V+]Landroid/text/StaticLayout;Landroid/text/StaticLayout; HSPLandroid/text/StaticLayout;->calculateEllipsis(IILandroid/text/MeasuredParagraph;IFLandroid/text/TextUtils$TruncateAt;IFLandroid/text/TextPaint;Z)V -HSPLandroid/text/StaticLayout;->generate(Landroid/text/StaticLayout$Builder;ZZ)V+]Landroid/graphics/text/LineBreaker$Builder;Landroid/graphics/text/LineBreaker$Builder;]Landroid/graphics/text/LineBreaker$ParagraphConstraints;Landroid/graphics/text/LineBreaker$ParagraphConstraints;]Landroid/graphics/text/LineBreaker$Result;Landroid/graphics/text/LineBreaker$Result;]Landroid/graphics/text/LineBreaker;Landroid/graphics/text/LineBreaker;]Landroid/text/AutoGrowArray$IntArray;Landroid/text/AutoGrowArray$IntArray;]Landroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph;]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/text/StaticLayout;->generate(Landroid/text/StaticLayout$Builder;ZZ)V+]Landroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph;]Landroid/graphics/text/LineBreaker$Builder;Landroid/graphics/text/LineBreaker$Builder;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/graphics/text/LineBreaker;Landroid/graphics/text/LineBreaker;]Ljava/lang/CharSequence;Landroid/text/SpannableString;]Landroid/graphics/text/LineBreaker$ParagraphConstraints;Landroid/graphics/text/LineBreaker$ParagraphConstraints;]Landroid/graphics/text/LineBreaker$Result;Landroid/graphics/text/LineBreaker$Result;]Landroid/text/AutoGrowArray$IntArray;Landroid/text/AutoGrowArray$IntArray; HSPLandroid/text/StaticLayout;->getBottomPadding()I HSPLandroid/text/StaticLayout;->getEllipsisCount(I)I HSPLandroid/text/StaticLayout;->getEllipsisStart(I)I @@ -14977,7 +15041,7 @@ HSPLandroid/text/StaticLayout;->getIndentAdjust(ILandroid/text/Layout$Alignment; HSPLandroid/text/StaticLayout;->getLineContainsTab(I)Z HSPLandroid/text/StaticLayout;->getLineCount()I HSPLandroid/text/StaticLayout;->getLineDescent(I)I -HSPLandroid/text/StaticLayout;->getLineDirections(I)Landroid/text/Layout$Directions; +HSPLandroid/text/StaticLayout;->getLineDirections(I)Landroid/text/Layout$Directions;+]Landroid/text/StaticLayout;Landroid/text/StaticLayout; HSPLandroid/text/StaticLayout;->getLineExtra(I)I HSPLandroid/text/StaticLayout;->getLineForVertical(I)I HSPLandroid/text/StaticLayout;->getLineStart(I)I @@ -14986,38 +15050,43 @@ HSPLandroid/text/StaticLayout;->getParagraphDirection(I)I HSPLandroid/text/StaticLayout;->getStartHyphenEdit(I)I HSPLandroid/text/StaticLayout;->getTopPadding()I HSPLandroid/text/StaticLayout;->getTotalInsets(I)F -HSPLandroid/text/StaticLayout;->out(Ljava/lang/CharSequence;IIIIIIIFF[Landroid/text/style/LineHeightSpan;[ILandroid/graphics/Paint$FontMetricsInt;ZIZLandroid/text/MeasuredParagraph;IZZZ[CILandroid/text/TextUtils$TruncateAt;FFLandroid/text/TextPaint;Z)I +HSPLandroid/text/StaticLayout;->out(Ljava/lang/CharSequence;IIIIIIIFF[Landroid/text/style/LineHeightSpan;[ILandroid/graphics/Paint$FontMetricsInt;ZIZLandroid/text/MeasuredParagraph;IZZZ[CILandroid/text/TextUtils$TruncateAt;FFLandroid/text/TextPaint;Z)I+]Landroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph;]Ljava/lang/CharSequence;Landroid/text/SpannableString; HSPLandroid/text/StaticLayout;->packHyphenEdit(II)I HSPLandroid/text/StaticLayout;->unpackEndHyphenEdit(I)I HSPLandroid/text/StaticLayout;->unpackStartHyphenEdit(I)I HSPLandroid/text/TextDirectionHeuristics$FirstStrong;->checkRtl(Ljava/lang/CharSequence;II)I -HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->doCheck(Ljava/lang/CharSequence;II)Z+]Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;Landroid/text/TextDirectionHeuristics$FirstStrong;]Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;Landroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal; +HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->doCheck(Ljava/lang/CharSequence;II)Z HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->isRtl(Ljava/lang/CharSequence;II)Z HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->isRtl([CII)Z HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal;->defaultIsRtl()Z HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;->defaultIsRtl()Z HSPLandroid/text/TextDirectionHeuristics;->isRtlCodePoint(I)I HSPLandroid/text/TextFlags;->getKeyForFlag(Ljava/lang/String;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/text/TextFlags;->isFeatureEnabled(Ljava/lang/String;)Z HSPLandroid/text/TextLine$DecorationInfo;-><init>()V HSPLandroid/text/TextLine$DecorationInfo;->copyInfo()Landroid/text/TextLine$DecorationInfo; HSPLandroid/text/TextLine$DecorationInfo;->hasDecoration()Z HSPLandroid/text/TextLine;-><init>()V HSPLandroid/text/TextLine;->adjustEndHyphenEdit(II)I HSPLandroid/text/TextLine;->adjustStartHyphenEdit(II)I -HSPLandroid/text/TextLine;->draw(Landroid/graphics/Canvas;FIII)V +HSPLandroid/text/TextLine;->draw(Landroid/graphics/Canvas;FIII)V+]Landroid/text/Layout$Directions;Landroid/text/Layout$Directions; HSPLandroid/text/TextLine;->drawStroke(Landroid/text/TextPaint;Landroid/graphics/Canvas;IFFFFF)V -HSPLandroid/text/TextLine;->drawTextRun(Landroid/graphics/Canvas;Landroid/text/TextPaint;IIIIZFI)V +HSPLandroid/text/TextLine;->drawTextRun(Landroid/graphics/Canvas;Landroid/text/TextPaint;IIIIZFI)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/text/TextLine;->equalAttributes(Landroid/text/TextPaint;Landroid/text/TextPaint;)Z -HSPLandroid/text/TextLine;->expandMetricsFromPaint(Landroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; +HSPLandroid/text/TextLine;->expandMetricsFromPaint(Landroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V HSPLandroid/text/TextLine;->expandMetricsFromPaint(Landroid/text/TextPaint;IIIIZLandroid/graphics/Paint$FontMetricsInt;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; HSPLandroid/text/TextLine;->extractDecorationInfo(Landroid/text/TextPaint;Landroid/text/TextLine$DecorationInfo;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; -HSPLandroid/text/TextLine;->getOffsetBeforeAfter(IIIZIZ)I +HSPLandroid/text/TextLine;->getOffsetBeforeAfter(IIIZIZ)I+]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/text/Spanned;Landroid/text/SpannableString; HSPLandroid/text/TextLine;->getOffsetToLeftRightOf(IZ)I +HSPLandroid/text/TextLine;->getRunAdvance(Landroid/text/TextPaint;IIIIZI[FILandroid/graphics/RectF;Landroid/text/TextLine$LineInfo;)F+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/text/PrecomputedText;Landroid/text/PrecomputedText;]Landroid/text/TextPaint;Landroid/text/TextPaint; HSPLandroid/text/TextLine;->handleReplacement(Landroid/text/style/ReplacementSpan;Landroid/text/TextPaint;IIZLandroid/graphics/Canvas;FIIILandroid/graphics/Paint$FontMetricsInt;Z)F +HSPLandroid/text/TextLine;->handleRun(IIIZLandroid/graphics/Canvas;Landroid/text/TextShaper$GlyphsConsumer;FIIILandroid/graphics/Paint$FontMetricsInt;Landroid/graphics/RectF;Z[FILandroid/text/TextLine$LineInfo;I)F+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/text/style/MetricAffectingSpan;megamorphic_types]Landroid/text/style/CharacterStyle;megamorphic_types]Landroid/text/TextPaint;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/text/TextLine$DecorationInfo;Landroid/text/TextLine$DecorationInfo;]Landroid/text/SpanSet;Landroid/text/SpanSet; +HSPLandroid/text/TextLine;->handleText(Landroid/text/TextPaint;IIIIZLandroid/graphics/Canvas;Landroid/text/TextShaper$GlyphsConsumer;FIIILandroid/graphics/Paint$FontMetricsInt;Landroid/graphics/RectF;ZILjava/util/ArrayList;[FILandroid/text/TextLine$LineInfo;I)F+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;,Landroid/graphics/Canvas;,Landroid/view/Surface$CompatibleCanvas; HSPLandroid/text/TextLine;->isLineEndSpace(C)Z +HSPLandroid/text/TextLine;->measure(IZLandroid/graphics/Paint$FontMetricsInt;Landroid/graphics/RectF;Landroid/text/TextLine$LineInfo;)F+]Landroid/text/Layout$Directions;Landroid/text/Layout$Directions;]Landroid/text/TextLine;Landroid/text/TextLine; HSPLandroid/text/TextLine;->obtain()Landroid/text/TextLine; HSPLandroid/text/TextLine;->recycle(Landroid/text/TextLine;)Landroid/text/TextLine;+]Landroid/text/SpanSet;Landroid/text/SpanSet; -HSPLandroid/text/TextLine;->set(Landroid/text/TextPaint;Ljava/lang/CharSequence;IIILandroid/text/Layout$Directions;ZLandroid/text/Layout$TabStops;IIZ)V +HSPLandroid/text/TextLine;->set(Landroid/text/TextPaint;Ljava/lang/CharSequence;IIILandroid/text/Layout$Directions;ZLandroid/text/Layout$TabStops;IIZ)V+]Landroid/text/SpanSet;Landroid/text/SpanSet; HSPLandroid/text/TextLine;->updateMetrics(Landroid/graphics/Paint$FontMetricsInt;IIIII)V HSPLandroid/text/TextPaint;-><init>()V HSPLandroid/text/TextPaint;-><init>(I)V @@ -15025,8 +15094,8 @@ HSPLandroid/text/TextPaint;-><init>(Landroid/graphics/Paint;)V HSPLandroid/text/TextPaint;->getUnderlineThickness()F HSPLandroid/text/TextPaint;->set(Landroid/text/TextPaint;)V HSPLandroid/text/TextPaint;->setUnderlineText(IF)V -HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/CharSequence; -HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; +HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/CharSequence;+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/text/TextUtils$1;Landroid/text/TextUtils$1; HSPLandroid/text/TextUtils$SimpleStringSplitter;-><init>(C)V HSPLandroid/text/TextUtils$SimpleStringSplitter;->hasNext()Z HSPLandroid/text/TextUtils$SimpleStringSplitter;->iterator()Ljava/util/Iterator; @@ -15034,7 +15103,7 @@ HSPLandroid/text/TextUtils$SimpleStringSplitter;->next()Ljava/lang/Object; HSPLandroid/text/TextUtils$SimpleStringSplitter;->next()Ljava/lang/String; HSPLandroid/text/TextUtils$SimpleStringSplitter;->setString(Ljava/lang/String;)V HSPLandroid/text/TextUtils$StringWithRemovedChars;->toString()Ljava/lang/String; -HSPLandroid/text/TextUtils;->concat([Ljava/lang/CharSequence;)Ljava/lang/CharSequence; +HSPLandroid/text/TextUtils;->concat([Ljava/lang/CharSequence;)Ljava/lang/CharSequence;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/text/SpannableStringBuilder;Landroid/text/SpannableStringBuilder; HSPLandroid/text/TextUtils;->copySpansFrom(Landroid/text/Spanned;IILjava/lang/Class;Landroid/text/Spannable;I)V HSPLandroid/text/TextUtils;->couldAffectRtl(C)Z HSPLandroid/text/TextUtils;->doesNotNeedBidi([CII)Z @@ -15042,23 +15111,23 @@ HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/Tex HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;Landroid/text/TextDirectionHeuristic;Ljava/lang/String;)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->emptyIfNull(Ljava/lang/String;)Ljava/lang/String; -HSPLandroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z +HSPLandroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z+]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/text/TextUtils;->expandTemplate(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence; -HSPLandroid/text/TextUtils;->formatSimple(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;+]Ljava/lang/Boolean;Ljava/lang/Boolean;]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/text/TextUtils;->formatSimple(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Boolean;Ljava/lang/Boolean; HSPLandroid/text/TextUtils;->getCapsMode(Ljava/lang/CharSequence;II)I -HSPLandroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V+]Landroid/text/GetChars;Landroid/text/Layout$Ellipsizer;,Landroid/text/Layout$SpannedEllipsizer;,Landroid/text/SpannableString;]Ljava/lang/Object;megamorphic_types]Ljava/lang/String;Ljava/lang/String;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V+]Ljava/lang/Object;Landroid/text/SpannableString;]Landroid/text/GetChars;Landroid/text/SpannableString; HSPLandroid/text/TextUtils;->getEllipsisString(Landroid/text/TextUtils$TruncateAt;)Ljava/lang/String; HSPLandroid/text/TextUtils;->getLayoutDirectionFromLocale(Ljava/util/Locale;)I HSPLandroid/text/TextUtils;->getTrimmedLength(Ljava/lang/CharSequence;)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;C)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CI)I -HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I +HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I+]Ljava/lang/Object;Landroid/text/SpannableString; HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I HSPLandroid/text/TextUtils;->isDigitsOnly(Ljava/lang/CharSequence;)Z -HSPLandroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z+]Ljava/lang/CharSequence;Landroid/text/SpannableStringBuilder;,Ljava/lang/String; +HSPLandroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z+]Ljava/lang/CharSequence;Ljava/lang/String; HSPLandroid/text/TextUtils;->isGraphic(Ljava/lang/CharSequence;)Z -HSPLandroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String; +HSPLandroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/Iterable;missing_types]Ljava/util/Iterator;missing_types HSPLandroid/text/TextUtils;->join(Ljava/lang/CharSequence;[Ljava/lang/Object;)Ljava/lang/String; HSPLandroid/text/TextUtils;->lastIndexOf(Ljava/lang/CharSequence;CI)I HSPLandroid/text/TextUtils;->lastIndexOf(Ljava/lang/CharSequence;CII)I @@ -15071,14 +15140,14 @@ HSPLandroid/text/TextUtils;->removeEmptySpans([Ljava/lang/Object;Landroid/text/S HSPLandroid/text/TextUtils;->safeIntern(Ljava/lang/String;)Ljava/lang/String; HSPLandroid/text/TextUtils;->split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String; HSPLandroid/text/TextUtils;->stringOrSpannedString(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; -HSPLandroid/text/TextUtils;->substring(Ljava/lang/CharSequence;II)Ljava/lang/String; +HSPLandroid/text/TextUtils;->substring(Ljava/lang/CharSequence;II)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String; HSPLandroid/text/TextUtils;->toUpperCase(Ljava/util/Locale;Ljava/lang/CharSequence;Z)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->trimNoCopySpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->trimToParcelableSize(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->trimToSize(Ljava/lang/CharSequence;I)Ljava/lang/CharSequence; HSPLandroid/text/TextUtils;->unpackRangeEndFromLong(J)I HSPLandroid/text/TextUtils;->unpackRangeStartFromLong(J)I -HSPLandroid/text/TextUtils;->writeToParcel(Ljava/lang/CharSequence;Landroid/os/Parcel;I)V +HSPLandroid/text/TextUtils;->writeToParcel(Ljava/lang/CharSequence;Landroid/os/Parcel;I)V+]Ljava/lang/CharSequence;Ljava/lang/String;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;J)Ljava/lang/CharSequence; HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;Ljava/util/Calendar;)Ljava/lang/CharSequence; HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;Ljava/util/Date;)Ljava/lang/CharSequence; @@ -15185,7 +15254,7 @@ HSPLandroid/text/method/TextKeyListener;->onSpanAdded(Landroid/text/Spannable;Lj HSPLandroid/text/method/TextKeyListener;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V HSPLandroid/text/method/TextKeyListener;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V HSPLandroid/text/method/TextKeyListener;->updatePrefs(Landroid/content/ContentResolver;)V -HSPLandroid/text/method/Touch;->onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z +HSPLandroid/text/method/Touch;->onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z+]Landroid/text/Layout;Landroid/text/DynamicLayout;]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/text/Spannable;Landroid/text/SpannableString;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/text/method/WordIterator;-><init>(Ljava/util/Locale;)V HSPLandroid/text/method/WordIterator;->checkOffsetIsValid(I)V HSPLandroid/text/method/WordIterator;->following(I)I @@ -15204,7 +15273,7 @@ HSPLandroid/text/style/ClickableSpan;->updateDrawState(Landroid/text/TextPaint;) HSPLandroid/text/style/DynamicDrawableSpan;-><init>(I)V HSPLandroid/text/style/ForegroundColorSpan;-><init>(I)V HSPLandroid/text/style/ForegroundColorSpan;->getSpanTypeIdInternal()I -HSPLandroid/text/style/ForegroundColorSpan;->updateDrawState(Landroid/text/TextPaint;)V +HSPLandroid/text/style/ForegroundColorSpan;->updateDrawState(Landroid/text/TextPaint;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; HSPLandroid/text/style/ForegroundColorSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V HSPLandroid/text/style/ImageSpan;-><init>(Landroid/graphics/drawable/Drawable;I)V HSPLandroid/text/style/ImageSpan;->getDrawable()Landroid/graphics/drawable/Drawable; @@ -15270,7 +15339,7 @@ HSPLandroid/transition/Transition$2;->onAnimationEnd(Landroid/animation/Animator HSPLandroid/transition/Transition$2;->onAnimationStart(Landroid/animation/Animator;)V HSPLandroid/transition/Transition$3;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/transition/Transition;-><init>()V -HSPLandroid/transition/Transition;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;megamorphic_types +HSPLandroid/transition/Transition;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Ljava/lang/Object;megamorphic_types]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/transition/Transition;->addListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition; HSPLandroid/transition/Transition;->addTarget(Landroid/view/View;)Landroid/transition/Transition; HSPLandroid/transition/Transition;->addUnmatched(Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V @@ -15301,7 +15370,7 @@ HSPLandroid/transition/Transition;->setEpicenterCallback(Landroid/transition/Tra HSPLandroid/transition/Transition;->start()V HSPLandroid/transition/TransitionInflater;-><init>(Landroid/content/Context;)V HSPLandroid/transition/TransitionInflater;->createCustom(Landroid/util/AttributeSet;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object; -HSPLandroid/transition/TransitionInflater;->createTransitionFromXml(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/transition/Transition;)Landroid/transition/Transition;+]Landroid/transition/TransitionSet;Landroid/transition/TransitionSet;]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/transition/TransitionInflater;->createTransitionFromXml(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/transition/Transition;)Landroid/transition/Transition; HSPLandroid/transition/TransitionInflater;->from(Landroid/content/Context;)Landroid/transition/TransitionInflater; HSPLandroid/transition/TransitionInflater;->inflateTransition(I)Landroid/transition/Transition; HSPLandroid/transition/TransitionListenerAdapter;-><init>()V @@ -15382,7 +15451,7 @@ HSPLandroid/util/ArrayMap;->indexOfNull()I HSPLandroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I HSPLandroid/util/ArrayMap;->isEmpty()Z HSPLandroid/util/ArrayMap;->keyAt(I)Ljava/lang/Object; -HSPLandroid/util/ArrayMap;->keySet()Ljava/util/Set; +HSPLandroid/util/ArrayMap;->keySet()Ljava/util/Set;+]Landroid/util/MapCollections;Landroid/util/ArrayMap$1; HSPLandroid/util/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/lang/Object;megamorphic_types HSPLandroid/util/ArrayMap;->putAll(Landroid/util/ArrayMap;)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLandroid/util/ArrayMap;->putAll(Ljava/util/Map;)V @@ -15405,11 +15474,11 @@ HSPLandroid/util/ArraySet;-><init>(IZ)V HSPLandroid/util/ArraySet;-><init>(Landroid/util/ArraySet;)V HSPLandroid/util/ArraySet;-><init>(Ljava/util/Collection;)V HSPLandroid/util/ArraySet;-><init>([Ljava/lang/Object;)V -HSPLandroid/util/ArraySet;->add(Ljava/lang/Object;)Z +HSPLandroid/util/ArraySet;->add(Ljava/lang/Object;)Z+]Ljava/lang/Object;Ljava/lang/String;,Landroid/accounts/Account;,Landroid/window/SurfaceSyncGroup$2;,Landroid/net/UidRange; HSPLandroid/util/ArraySet;->addAll(Landroid/util/ArraySet;)V HSPLandroid/util/ArraySet;->addAll(Ljava/util/Collection;)Z HSPLandroid/util/ArraySet;->allocArrays(I)V -HSPLandroid/util/ArraySet;->append(Ljava/lang/Object;)V+]Landroid/util/ArraySet;Landroid/util/ArraySet;]Ljava/lang/Object;Landroid/app/PendingIntent;,Lcom/android/org/conscrypt/OpenSSLRSAPublicKey; +HSPLandroid/util/ArraySet;->append(Ljava/lang/Object;)V+]Ljava/lang/Object;Lcom/android/org/conscrypt/OpenSSLRSAPublicKey;,Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey; HSPLandroid/util/ArraySet;->binarySearch([II)I HSPLandroid/util/ArraySet;->clear()V HSPLandroid/util/ArraySet;->contains(Ljava/lang/Object;)Z @@ -15447,11 +15516,11 @@ HSPLandroid/util/Base64$Decoder;-><init>(I[B)V HSPLandroid/util/Base64$Decoder;->process([BIIZ)Z HSPLandroid/util/Base64$Encoder;-><init>(I[B)V HSPLandroid/util/Base64$Encoder;->process([BIIZ)Z -HSPLandroid/util/Base64;->decode(Ljava/lang/String;I)[B+]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/util/Base64;->decode(Ljava/lang/String;I)[B HSPLandroid/util/Base64;->decode([BI)[B HSPLandroid/util/Base64;->decode([BIII)[B+]Landroid/util/Base64$Decoder;Landroid/util/Base64$Decoder; HSPLandroid/util/Base64;->encode([BI)[B -HSPLandroid/util/Base64;->encode([BIII)[B+]Landroid/util/Base64$Encoder;Landroid/util/Base64$Encoder; +HSPLandroid/util/Base64;->encode([BIII)[B HSPLandroid/util/Base64;->encodeToString([BI)Ljava/lang/String; HSPLandroid/util/Base64;->encodeToString([BIII)Ljava/lang/String; HSPLandroid/util/CloseGuard;-><init>()V @@ -15467,7 +15536,7 @@ HSPLandroid/util/DisplayMetrics;->setTo(Landroid/util/DisplayMetrics;)V HSPLandroid/util/DisplayMetrics;->setToDefaults()V HSPLandroid/util/DisplayUtils;->getDisplayUniqueIdConfigIndex(Landroid/content/res/Resources;Ljava/lang/String;)I HSPLandroid/util/EventLog$Event;-><init>([B)V -HSPLandroid/util/EventLog$Event;->decodeObject()Ljava/lang/Object; +HSPLandroid/util/EventLog$Event;->decodeObject()Ljava/lang/Object;+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; HSPLandroid/util/EventLog$Event;->getData()Ljava/lang/Object; HSPLandroid/util/EventLog$Event;->getHeaderSize()I HSPLandroid/util/EventLog$Event;->getUid()I @@ -15495,7 +15564,7 @@ HSPLandroid/util/IndentingPrintWriter;->write(Ljava/lang/String;II)V HSPLandroid/util/IndentingPrintWriter;->write([CII)V HSPLandroid/util/IntArray;-><init>()V HSPLandroid/util/IntArray;-><init>(I)V -HSPLandroid/util/IntArray;->add(I)V+]Landroid/util/IntArray;Landroid/util/IntArray; +HSPLandroid/util/IntArray;->add(I)V HSPLandroid/util/IntArray;->add(II)V HSPLandroid/util/IntArray;->addAll(Landroid/util/IntArray;)V HSPLandroid/util/IntArray;->binarySearch(I)I @@ -15552,9 +15621,9 @@ HSPLandroid/util/JsonWriter;->flush()V HSPLandroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter; HSPLandroid/util/JsonWriter;->newline()V HSPLandroid/util/JsonWriter;->open(Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter; -HSPLandroid/util/JsonWriter;->peek()Landroid/util/JsonScope; -HSPLandroid/util/JsonWriter;->replaceTop(Landroid/util/JsonScope;)V -HSPLandroid/util/JsonWriter;->string(Ljava/lang/String;)V +HSPLandroid/util/JsonWriter;->peek()Landroid/util/JsonScope;+]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/util/JsonWriter;->replaceTop(Landroid/util/JsonScope;)V+]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/util/JsonWriter;->string(Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String;]Ljava/io/Writer;Ljava/io/BufferedWriter; HSPLandroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter; HSPLandroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter; HSPLandroid/util/JsonWriter;->value(Z)Landroid/util/JsonWriter; @@ -15627,21 +15696,21 @@ HSPLandroid/util/LruCache;-><init>(I)V HSPLandroid/util/LruCache;->create(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/util/LruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V HSPLandroid/util/LruCache;->evictAll()V -HSPLandroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Landroid/util/LruCache;missing_types HSPLandroid/util/LruCache;->hitCount()I HSPLandroid/util/LruCache;->maxSize()I HSPLandroid/util/LruCache;->missCount()I -HSPLandroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HSPLandroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Landroid/util/LruCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;,Landroid/util/LruCache; HSPLandroid/util/LruCache;->remove(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/util/LruCache;->resize(I)V HSPLandroid/util/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/util/LruCache;->size()I HSPLandroid/util/LruCache;->sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I HSPLandroid/util/LruCache;->snapshot()Ljava/util/Map; -HSPLandroid/util/LruCache;->trimToSize(I)V -HSPLandroid/util/MapCollections$ArrayIterator;-><init>(Landroid/util/MapCollections;I)V +HSPLandroid/util/LruCache;->trimToSize(I)V+]Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;]Landroid/util/LruCache;Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache; +HSPLandroid/util/MapCollections$ArrayIterator;-><init>(Landroid/util/MapCollections;I)V+]Landroid/util/MapCollections;Landroid/util/ArraySet$1;,Landroid/util/ArrayMap$1; HSPLandroid/util/MapCollections$ArrayIterator;->hasNext()Z -HSPLandroid/util/MapCollections$ArrayIterator;->next()Ljava/lang/Object; +HSPLandroid/util/MapCollections$ArrayIterator;->next()Ljava/lang/Object;+]Landroid/util/MapCollections$ArrayIterator;Landroid/util/MapCollections$ArrayIterator;]Landroid/util/MapCollections;Landroid/util/ArraySet$1;,Landroid/util/ArrayMap$1; HSPLandroid/util/MapCollections$ArrayIterator;->remove()V HSPLandroid/util/MapCollections$EntrySet;-><init>(Landroid/util/MapCollections;)V HSPLandroid/util/MapCollections$EntrySet;->iterator()Ljava/util/Iterator; @@ -15763,16 +15832,16 @@ HSPLandroid/util/SparseArray;->append(ILjava/lang/Object;)V+]Landroid/util/Spars HSPLandroid/util/SparseArray;->clear()V HSPLandroid/util/SparseArray;->clone()Landroid/util/SparseArray; HSPLandroid/util/SparseArray;->contains(I)Z -HSPLandroid/util/SparseArray;->contentEquals(Landroid/util/SparseArray;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/util/SparseArray;->contentEquals(Landroid/util/SparseArray;)Z HSPLandroid/util/SparseArray;->delete(I)V HSPLandroid/util/SparseArray;->gc()V -HSPLandroid/util/SparseArray;->get(I)Ljava/lang/Object;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/util/SparseArray;->get(I)Ljava/lang/Object;+]Landroid/util/SparseArray;missing_types HSPLandroid/util/SparseArray;->get(ILjava/lang/Object;)Ljava/lang/Object; HSPLandroid/util/SparseArray;->indexOfKey(I)I HSPLandroid/util/SparseArray;->indexOfValue(Ljava/lang/Object;)I HSPLandroid/util/SparseArray;->keyAt(I)I HSPLandroid/util/SparseArray;->put(ILjava/lang/Object;)V -HSPLandroid/util/SparseArray;->remove(I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/util/SparseArray;->remove(I)V HSPLandroid/util/SparseArray;->removeAt(I)V HSPLandroid/util/SparseArray;->removeReturnOld(I)Ljava/lang/Object; HSPLandroid/util/SparseArray;->setValueAt(ILjava/lang/Object;)V @@ -15938,7 +16007,7 @@ HSPLandroid/view/AbsSavedState$2;->createFromParcel(Landroid/os/Parcel;Ljava/lan HSPLandroid/view/AbsSavedState$2;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object; HSPLandroid/view/AbsSavedState;-><init>(Landroid/os/Parcelable;)V HSPLandroid/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable; -HSPLandroid/view/AbsSavedState;->writeToParcel(Landroid/os/Parcel;I)V+]Landroid/os/Parcel;Landroid/os/Parcel; +HSPLandroid/view/AbsSavedState;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/view/Choreographer$1;->initialValue()Landroid/view/Choreographer; HSPLandroid/view/Choreographer$1;->initialValue()Ljava/lang/Object; HSPLandroid/view/Choreographer$2;->initialValue()Landroid/view/Choreographer; @@ -15950,8 +16019,8 @@ HSPLandroid/view/Choreographer$CallbackQueue;->extractDueCallbacksLocked(J)Landr HSPLandroid/view/Choreographer$CallbackQueue;->removeCallbacksLocked(Ljava/lang/Object;Ljava/lang/Object;)V HSPLandroid/view/Choreographer$CallbackRecord;-><init>()V HSPLandroid/view/Choreographer$CallbackRecord;-><init>(Landroid/view/Choreographer$CallbackRecord-IA;)V -HSPLandroid/view/Choreographer$CallbackRecord;->run(J)V+]Landroid/view/Choreographer$FrameCallback;missing_types]Ljava/lang/Runnable;Landroid/view/ViewPropertyAnimator$1;,Landroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;,Landroid/view/ViewRootImpl$TraversalRunnable;,Lcom/android/internal/util/function/pooled/PooledLambdaImpl; -HSPLandroid/view/Choreographer$CallbackRecord;->run(Landroid/view/Choreographer$FrameData;)V+]Landroid/view/Choreographer$CallbackRecord;Landroid/view/Choreographer$CallbackRecord;]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData; +HSPLandroid/view/Choreographer$CallbackRecord;->run(J)V+]Landroid/view/Choreographer$FrameCallback;missing_types]Ljava/lang/Runnable;missing_types +HSPLandroid/view/Choreographer$CallbackRecord;->run(Landroid/view/Choreographer$FrameData;)V+]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData;]Landroid/view/Choreographer$CallbackRecord;Landroid/view/Choreographer$CallbackRecord; HSPLandroid/view/Choreographer$FrameData;->-$$Nest$fgetmFrameTimeNanos(Landroid/view/Choreographer$FrameData;)J HSPLandroid/view/Choreographer$FrameData;-><init>()V HSPLandroid/view/Choreographer$FrameData;->allocateFrameTimelines(I)V @@ -15964,7 +16033,7 @@ HSPLandroid/view/Choreographer$FrameData;->update(JI)V HSPLandroid/view/Choreographer$FrameData;->update(JLandroid/view/DisplayEventReceiver$VsyncEventData;)Landroid/view/Choreographer$FrameTimeline;+]Landroid/view/Choreographer$FrameTimeline;Landroid/view/Choreographer$FrameTimeline; HSPLandroid/view/Choreographer$FrameData;->update(JLandroid/view/DisplayEventReceiver;J)Landroid/view/Choreographer$FrameTimeline; HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;-><init>(Landroid/view/Choreographer;Landroid/os/Looper;IJ)V -HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->onVsync(JJILandroid/view/DisplayEventReceiver$VsyncEventData;)V+]Landroid/os/Message;Landroid/os/Message;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler;]Landroid/view/DisplayEventReceiver$VsyncEventData;Landroid/view/DisplayEventReceiver$VsyncEventData;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->onVsync(JJILandroid/view/DisplayEventReceiver$VsyncEventData;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/os/Message;Landroid/os/Message;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler;]Landroid/view/DisplayEventReceiver$VsyncEventData;Landroid/view/DisplayEventReceiver$VsyncEventData; HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->run()V+]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/Choreographer$FrameHandler;-><init>(Landroid/view/Choreographer;Landroid/os/Looper;)V HSPLandroid/view/Choreographer$FrameHandler;->handleMessage(Landroid/os/Message;)V @@ -15983,13 +16052,13 @@ HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;I)V HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;IJ)V HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;ILandroid/view/Choreographer-IA;)V HSPLandroid/view/Choreographer;->doCallbacks(IJ)V+]Landroid/view/Choreographer$CallbackQueue;Landroid/view/Choreographer$CallbackQueue;]Landroid/view/Choreographer$CallbackRecord;Landroid/view/Choreographer$CallbackRecord;]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData; -HSPLandroid/view/Choreographer;->doFrame(JILandroid/view/DisplayEventReceiver$VsyncEventData;)V+]Landroid/graphics/FrameInfo;Landroid/graphics/FrameInfo;]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData;]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/DisplayEventReceiver$VsyncEventData;Landroid/view/DisplayEventReceiver$VsyncEventData;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/Choreographer;->doFrame(JILandroid/view/DisplayEventReceiver$VsyncEventData;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/Choreographer$FrameData;Landroid/view/Choreographer$FrameData;]Landroid/graphics/FrameInfo;Landroid/graphics/FrameInfo;]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/DisplayEventReceiver$VsyncEventData;Landroid/view/DisplayEventReceiver$VsyncEventData; HSPLandroid/view/Choreographer;->doScheduleCallback(I)V HSPLandroid/view/Choreographer;->doScheduleVsync()V HSPLandroid/view/Choreographer;->getFrameIntervalNanos()J -HSPLandroid/view/Choreographer;->getFrameTime()J +HSPLandroid/view/Choreographer;->getFrameTime()J+]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/Choreographer;->getFrameTimeNanos()J -HSPLandroid/view/Choreographer;->getInstance()Landroid/view/Choreographer;+]Ljava/lang/ThreadLocal;Landroid/view/Choreographer$1; +HSPLandroid/view/Choreographer;->getInstance()Landroid/view/Choreographer; HSPLandroid/view/Choreographer;->getMainThreadInstance()Landroid/view/Choreographer; HSPLandroid/view/Choreographer;->getRefreshRate()F HSPLandroid/view/Choreographer;->getSfInstance()Landroid/view/Choreographer; @@ -15998,14 +16067,14 @@ HSPLandroid/view/Choreographer;->isRunningOnLooperThreadLocked()Z HSPLandroid/view/Choreographer;->obtainCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)Landroid/view/Choreographer$CallbackRecord; HSPLandroid/view/Choreographer;->postCallback(ILjava/lang/Runnable;Ljava/lang/Object;)V+]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/Choreographer;->postCallbackDelayed(ILjava/lang/Runnable;Ljava/lang/Object;J)V -HSPLandroid/view/Choreographer;->postCallbackDelayedInternal(ILjava/lang/Object;Ljava/lang/Object;J)V+]Landroid/os/Message;Landroid/os/Message;]Landroid/view/Choreographer$CallbackQueue;Landroid/view/Choreographer$CallbackQueue;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler; +HSPLandroid/view/Choreographer;->postCallbackDelayedInternal(ILjava/lang/Object;Ljava/lang/Object;J)V+]Landroid/view/Choreographer$CallbackQueue;Landroid/view/Choreographer$CallbackQueue;]Landroid/os/Message;Landroid/os/Message;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler; HSPLandroid/view/Choreographer;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V+]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/Choreographer;->postFrameCallbackDelayed(Landroid/view/Choreographer$FrameCallback;J)V HSPLandroid/view/Choreographer;->recycleCallbackLocked(Landroid/view/Choreographer$CallbackRecord;)V HSPLandroid/view/Choreographer;->removeCallbacks(ILjava/lang/Runnable;Ljava/lang/Object;)V -HSPLandroid/view/Choreographer;->removeCallbacksInternal(ILjava/lang/Object;Ljava/lang/Object;)V+]Landroid/view/Choreographer$CallbackQueue;Landroid/view/Choreographer$CallbackQueue;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler; +HSPLandroid/view/Choreographer;->removeCallbacksInternal(ILjava/lang/Object;Ljava/lang/Object;)V HSPLandroid/view/Choreographer;->removeFrameCallback(Landroid/view/Choreographer$FrameCallback;)V -HSPLandroid/view/Choreographer;->scheduleFrameLocked(J)V+]Landroid/os/Message;Landroid/os/Message;]Landroid/view/Choreographer$FrameHandler;Landroid/view/Choreographer$FrameHandler; +HSPLandroid/view/Choreographer;->scheduleFrameLocked(J)V HSPLandroid/view/Choreographer;->scheduleVsyncLocked()V+]Landroid/view/Choreographer$FrameDisplayEventReceiver;Landroid/view/Choreographer$FrameDisplayEventReceiver; HSPLandroid/view/Choreographer;->setFPSDivisor(I)V HSPLandroid/view/ContextThemeWrapper;-><init>()V @@ -16018,7 +16087,7 @@ HSPLandroid/view/ContextThemeWrapper;->getResources()Landroid/content/res/Resour HSPLandroid/view/ContextThemeWrapper;->getResourcesInternal()Landroid/content/res/Resources; HSPLandroid/view/ContextThemeWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; HSPLandroid/view/ContextThemeWrapper;->getTheme()Landroid/content/res/Resources$Theme;+]Landroid/view/ContextThemeWrapper;Landroid/view/ContextThemeWrapper; -HSPLandroid/view/ContextThemeWrapper;->initializeTheme()V+]Landroid/content/Context;missing_types]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/view/ContextThemeWrapper;Landroid/view/ContextThemeWrapper; +HSPLandroid/view/ContextThemeWrapper;->initializeTheme()V HSPLandroid/view/ContextThemeWrapper;->onApplyThemeResource(Landroid/content/res/Resources$Theme;IZ)V HSPLandroid/view/ContextThemeWrapper;->setTheme(I)V HSPLandroid/view/CrossWindowBlurListeners;-><clinit>()V @@ -16046,7 +16115,7 @@ HSPLandroid/view/Display$Mode;->matches(IIF)Z HSPLandroid/view/Display$Mode;->toString()Ljava/lang/String; HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/content/res/Resources;)V HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;)V -HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;Landroid/content/res/Resources;)V+]Landroid/content/res/Resources;Landroid/content/res/Resources; +HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;Landroid/content/res/Resources;)V HSPLandroid/view/Display;->getAppVsyncOffsetNanos()J HSPLandroid/view/Display;->getCutout()Landroid/view/DisplayCutout; HSPLandroid/view/Display;->getDisplayAdjustments()Landroid/view/DisplayAdjustments; @@ -16056,7 +16125,7 @@ HSPLandroid/view/Display;->getFlags()I HSPLandroid/view/Display;->getHdrSdrRatio()F HSPLandroid/view/Display;->getHeight()I HSPLandroid/view/Display;->getInstallOrientation()I -HSPLandroid/view/Display;->getLocalRotation()I +HSPLandroid/view/Display;->getLocalRotation()I+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V HSPLandroid/view/Display;->getMode()Landroid/view/Display$Mode; HSPLandroid/view/Display;->getName()Ljava/lang/String; @@ -16102,7 +16171,7 @@ HSPLandroid/view/DisplayCutout$Bounds;->equals(Ljava/lang/Object;)Z HSPLandroid/view/DisplayCutout$Bounds;->getRects()[Landroid/graphics/Rect; HSPLandroid/view/DisplayCutout$Bounds;->isEmpty()Z HSPLandroid/view/DisplayCutout$CutoutPathParserInfo;-><init>(IIIIFLjava/lang/String;IFF)V -HSPLandroid/view/DisplayCutout$CutoutPathParserInfo;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/view/DisplayCutout$CutoutPathParserInfo;->equals(Ljava/lang/Object;)Z HSPLandroid/view/DisplayCutout$ParcelableWrapper$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayCutout$ParcelableWrapper; HSPLandroid/view/DisplayCutout$ParcelableWrapper$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/view/DisplayCutout$ParcelableWrapper;-><init>()V @@ -16130,7 +16199,7 @@ HSPLandroid/view/DisplayCutout;->getSafeInsetTop()I HSPLandroid/view/DisplayCutout;->inset(IIII)Landroid/view/DisplayCutout; HSPLandroid/view/DisplayCutout;->insetInsets(IIIILandroid/graphics/Rect;)Landroid/graphics/Rect; HSPLandroid/view/DisplayCutout;->isBoundsEmpty()Z -HSPLandroid/view/DisplayCutout;->isEmpty()Z +HSPLandroid/view/DisplayCutout;->isEmpty()Z+]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;-><init>()V HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;-><init>(JJJ)V HSPLandroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;->copyFrom(Landroid/view/DisplayEventReceiver$VsyncEventData$FrameTimeline;)V @@ -16149,19 +16218,19 @@ HSPLandroid/view/DisplayInfo;-><init>()V HSPLandroid/view/DisplayInfo;-><init>(Landroid/os/Parcel;)V HSPLandroid/view/DisplayInfo;-><init>(Landroid/os/Parcel;Landroid/view/DisplayInfo-IA;)V HSPLandroid/view/DisplayInfo;->copyFrom(Landroid/view/DisplayInfo;)V -HSPLandroid/view/DisplayInfo;->equals(Landroid/view/DisplayInfo;)Z +HSPLandroid/view/DisplayInfo;->equals(Landroid/view/DisplayInfo;)Z+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/DisplayInfo;Landroid/view/DisplayInfo; HSPLandroid/view/DisplayInfo;->findMode(I)Landroid/view/Display$Mode; HSPLandroid/view/DisplayInfo;->flagsToString(I)Ljava/lang/String; HSPLandroid/view/DisplayInfo;->getAppMetrics(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;)V HSPLandroid/view/DisplayInfo;->getAppMetrics(Landroid/util/DisplayMetrics;Landroid/view/DisplayAdjustments;)V HSPLandroid/view/DisplayInfo;->getLogicalMetrics(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;)V HSPLandroid/view/DisplayInfo;->getMaxBoundsMetrics(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;)V -HSPLandroid/view/DisplayInfo;->getMetricsWithSize(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;II)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/view/DisplayInfo;->getMetricsWithSize(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;II)V+]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; HSPLandroid/view/DisplayInfo;->getMode()Landroid/view/Display$Mode; HSPLandroid/view/DisplayInfo;->getRefreshRate()F HSPLandroid/view/DisplayInfo;->hasAccess(I)Z HSPLandroid/view/DisplayInfo;->isWideColorGamut()Z -HSPLandroid/view/DisplayInfo;->readFromParcel(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;Landroid/view/Display$Mode$1; +HSPLandroid/view/DisplayInfo;->readFromParcel(Landroid/os/Parcel;)V HSPLandroid/view/DisplayInfo;->toString()Ljava/lang/String; HSPLandroid/view/DisplayInfo;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/view/DisplayShape$1;-><init>()V @@ -16245,6 +16314,7 @@ HSPLandroid/view/HandwritingInitiator;->onInputConnectionClosed(Landroid/view/Vi HSPLandroid/view/HandwritingInitiator;->onInputConnectionCreated(Landroid/view/View;)V HSPLandroid/view/HandwritingInitiator;->onTouchEvent(Landroid/view/MotionEvent;)Z HSPLandroid/view/HandwritingInitiator;->updateHandwritingAreasForView(Landroid/view/View;)V +HSPLandroid/view/HdrRenderState;->updateForFrame(J)Z HSPLandroid/view/IGraphicsStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLandroid/view/IGraphicsStats$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/view/IGraphicsStats$Stub$Proxy;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor; @@ -16277,7 +16347,8 @@ HSPLandroid/view/IWindowSession$Stub$Proxy;->finishDrawing(Landroid/view/IWindow HSPLandroid/view/IWindowSession$Stub$Proxy;->getWindowId(Landroid/os/IBinder;)Landroid/view/IWindowId; HSPLandroid/view/IWindowSession$Stub$Proxy;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V HSPLandroid/view/IWindowSession$Stub$Proxy;->pokeDrawLock(Landroid/os/IBinder;)V -HSPLandroid/view/IWindowSession$Stub$Proxy;->relayoutAsync(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIII)V +HSPLandroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIIILandroid/window/ClientWindowFrames;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;Landroid/view/InsetsSourceControl$Array;Landroid/os/Bundle;)I +HSPLandroid/view/IWindowSession$Stub$Proxy;->relayoutAsync(Landroid/view/IWindow;Landroid/view/WindowManager$LayoutParams;IIIIII)V+]Landroid/os/IBinder;Landroid/os/BinderProxy;]Landroid/view/IWindowSession$Stub$Proxy;Landroid/view/IWindowSession$Stub$Proxy;]Landroid/os/Parcel;Landroid/os/Parcel; HSPLandroid/view/IWindowSession$Stub$Proxy;->reportSystemGestureExclusionChanged(Landroid/view/IWindow;Ljava/util/List;)V HSPLandroid/view/IWindowSession$Stub$Proxy;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V HSPLandroid/view/IWindowSession$Stub$Proxy;->setOnBackInvokedCallbackInfo(Landroid/view/IWindow;Landroid/window/OnBackInvokedCallbackInfo;)V @@ -16293,7 +16364,7 @@ HSPLandroid/view/ImeFocusController;->onPostWindowFocus(Landroid/view/View;ZLand HSPLandroid/view/ImeFocusController;->onPreWindowFocus(ZLandroid/view/WindowManager$LayoutParams;)V HSPLandroid/view/ImeFocusController;->onProcessImeInputStage(Ljava/lang/Object;Landroid/view/InputEvent;Landroid/view/WindowManager$LayoutParams;Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;)I HSPLandroid/view/ImeFocusController;->onTraversal(ZLandroid/view/WindowManager$LayoutParams;)V -HSPLandroid/view/ImeFocusController;->onViewDetachedFromWindow(Landroid/view/View;)V+]Landroid/view/ImeFocusController$InputMethodManagerDelegate;Landroid/view/inputmethod/InputMethodManager$DelegateImpl; +HSPLandroid/view/ImeFocusController;->onViewDetachedFromWindow(Landroid/view/View;)V HSPLandroid/view/ImeFocusController;->onViewFocusChanged(Landroid/view/View;Z)V HSPLandroid/view/ImeFocusController;->onWindowDismissed()V HSPLandroid/view/ImeInsetsSourceConsumer;-><init>(ILandroid/view/InsetsState;Ljava/util/function/Supplier;Landroid/view/InsetsController;)V @@ -16325,7 +16396,7 @@ HSPLandroid/view/InputDevice;->getSources()I HSPLandroid/view/InputDevice;->isVirtual()Z HSPLandroid/view/InputEvent;-><init>()V HSPLandroid/view/InputEvent;->getSequenceNumber()I -HSPLandroid/view/InputEvent;->isFromSource(I)Z +HSPLandroid/view/InputEvent;->isFromSource(I)Z+]Landroid/view/InputEvent;Landroid/view/MotionEvent; HSPLandroid/view/InputEvent;->prepareForReuse()V HSPLandroid/view/InputEvent;->recycle()V HSPLandroid/view/InputEvent;->recycleIfNeededAfterDispatch()V @@ -16337,7 +16408,7 @@ HSPLandroid/view/InputEventCompatProcessor;->processInputEventForCompatibility(L HSPLandroid/view/InputEventConsistencyVerifier;->isInstrumentationEnabled()Z HSPLandroid/view/InputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V HSPLandroid/view/InputEventReceiver;->consumeBatchedInputEvents(J)Z -HSPLandroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/view/InputEvent;Landroid/view/MotionEvent;]Landroid/view/InputEventReceiver;Landroid/view/ViewRootImpl$WindowInputEventReceiver;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;)V HSPLandroid/view/InputEventReceiver;->dispose()V HSPLandroid/view/InputEventReceiver;->dispose(Z)V HSPLandroid/view/InputEventReceiver;->finalize()V @@ -16413,6 +16484,9 @@ HSPLandroid/view/InsetsController$3;->onStart(Landroid/view/InsetsState;Landroid HSPLandroid/view/InsetsController$InternalAnimationControlListener$$ExternalSyntheticLambda0;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V HSPLandroid/view/InsetsController$InternalAnimationControlListener$$ExternalSyntheticLambda3;->getInterpolation(F)F HSPLandroid/view/InsetsController$InternalAnimationControlListener$$ExternalSyntheticLambda4;->getInterpolation(F)F +HSPLandroid/view/InsetsController$InternalAnimationControlListener$1;->initialValue()Landroid/animation/AnimationHandler; +HSPLandroid/view/InsetsController$InternalAnimationControlListener$1;->initialValue()Ljava/lang/Object; +HSPLandroid/view/InsetsController$InternalAnimationControlListener$2;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/view/InsetsController$InternalAnimationControlListener;-><init>(ZZIIZILandroid/view/WindowInsetsAnimationControlListener;Landroid/view/inputmethod/ImeTracker$InputMethodJankContext;)V HSPLandroid/view/InsetsController$InternalAnimationControlListener;->calculateDurationMs()J HSPLandroid/view/InsetsController$InternalAnimationControlListener;->getAlphaInterpolator()Landroid/view/animation/Interpolator; @@ -16439,6 +16513,7 @@ HSPLandroid/view/InsetsController;->calculateVisibleInsets(IIII)Landroid/graphic HSPLandroid/view/InsetsController;->cancelAnimation(Landroid/view/InsetsAnimationControlRunner;Z)V HSPLandroid/view/InsetsController;->cancelExistingAnimations()V HSPLandroid/view/InsetsController;->cancelExistingControllers(I)V +HSPLandroid/view/InsetsController;->captionInsetsUnchanged()Z HSPLandroid/view/InsetsController;->collectSourceControls(ZILandroid/util/SparseArray;ILandroid/view/inputmethod/ImeTracker$Token;)Landroid/util/Pair; HSPLandroid/view/InsetsController;->controlAnimationUncheckedInner(ILandroid/os/CancellationSignal;Landroid/view/WindowInsetsAnimationControlListener;Landroid/graphics/Rect;ZJLandroid/view/animation/Interpolator;IIZLandroid/view/inputmethod/ImeTracker$Token;)V HSPLandroid/view/InsetsController;->dispatchAnimationEnd(Landroid/view/WindowInsetsAnimation;)V @@ -16456,8 +16531,8 @@ HSPLandroid/view/InsetsController;->lambda$static$1(FLandroid/graphics/Insets;La HSPLandroid/view/InsetsController;->notifyControlRevoked(Landroid/view/InsetsSourceConsumer;)V HSPLandroid/view/InsetsController;->notifyFinished(Landroid/view/InsetsAnimationControlRunner;Z)V HSPLandroid/view/InsetsController;->notifyVisibilityChanged()V -HSPLandroid/view/InsetsController;->onControlsChanged([Landroid/view/InsetsSourceControl;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/InsetsSourceConsumer;Landroid/view/ImeInsetsSourceConsumer;,Landroid/view/InsetsSourceConsumer;]Landroid/view/InsetsSourceControl;Landroid/view/InsetsSourceControl;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/view/InsetsController;->onFrameChanged(Landroid/graphics/Rect;)V +HSPLandroid/view/InsetsController;->onControlsChanged([Landroid/view/InsetsSourceControl;)V +HSPLandroid/view/InsetsController;->onFrameChanged(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/view/InsetsController;->onStateChanged(Landroid/view/InsetsState;)Z HSPLandroid/view/InsetsController;->onWindowFocusGained(Z)V HSPLandroid/view/InsetsController;->onWindowFocusLost()V @@ -16470,15 +16545,15 @@ HSPLandroid/view/InsetsController;->updateCompatSysUiVisibility()V HSPLandroid/view/InsetsController;->updateState(Landroid/view/InsetsState;)V HSPLandroid/view/InsetsFlags;-><init>()V HSPLandroid/view/InsetsSource$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InsetsSource; -HSPLandroid/view/InsetsSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/view/InsetsSource$1;Landroid/view/InsetsSource$1; +HSPLandroid/view/InsetsSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/view/InsetsSource;-><init>(II)V -HSPLandroid/view/InsetsSource;-><init>(Landroid/os/Parcel;)V+]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/os/Parcelable$Creator;Landroid/graphics/Rect$1; +HSPLandroid/view/InsetsSource;-><init>(Landroid/os/Parcel;)V HSPLandroid/view/InsetsSource;-><init>(Landroid/view/InsetsSource;)V -HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;Z)Landroid/graphics/Insets;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; +HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;Z)Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Z)Landroid/graphics/Insets; HSPLandroid/view/InsetsSource;->calculateVisibleInsets(Landroid/graphics/Rect;)Landroid/graphics/Insets; -HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;)Z+]Landroid/view/InsetsSource;Landroid/view/InsetsSource; -HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;Z)Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Ljava/lang/Object;Landroid/view/InsetsSource; +HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;)Z +HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;Z)Z HSPLandroid/view/InsetsSource;->getFlags()I HSPLandroid/view/InsetsSource;->getFrame()Landroid/graphics/Rect; HSPLandroid/view/InsetsSource;->getId()I @@ -16532,30 +16607,30 @@ HSPLandroid/view/InsetsState;-><init>()V HSPLandroid/view/InsetsState;-><init>(Landroid/os/Parcel;)V HSPLandroid/view/InsetsState;-><init>(Landroid/view/InsetsState;Z)V HSPLandroid/view/InsetsState;->addSource(Landroid/view/InsetsSource;)V -HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;II)Landroid/graphics/Insets; -HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;IZ)Landroid/graphics/Insets; +HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;II)Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;IZ)Landroid/graphics/Insets;+]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/util/SparseArray;Landroid/util/SparseArray; HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;Landroid/view/InsetsState;ZIIIIILandroid/util/SparseIntArray;)Landroid/view/WindowInsets; HSPLandroid/view/InsetsState;->calculateRelativeCutout(Landroid/graphics/Rect;)Landroid/view/DisplayCutout; HSPLandroid/view/InsetsState;->calculateRelativeDisplayShape(Landroid/graphics/Rect;)Landroid/view/DisplayShape; HSPLandroid/view/InsetsState;->calculateRelativePrivacyIndicatorBounds(Landroid/graphics/Rect;)Landroid/view/PrivacyIndicatorBounds; HSPLandroid/view/InsetsState;->calculateRelativeRoundedCorners(Landroid/graphics/Rect;)Landroid/view/RoundedCorners; -HSPLandroid/view/InsetsState;->calculateUncontrollableInsetsFromFrame(Landroid/graphics/Rect;)I+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; +HSPLandroid/view/InsetsState;->calculateUncontrollableInsetsFromFrame(Landroid/graphics/Rect;)I HSPLandroid/view/InsetsState;->calculateVisibleInsets(Landroid/graphics/Rect;IIII)Landroid/graphics/Insets; -HSPLandroid/view/InsetsState;->canControlSource(Landroid/graphics/Rect;Landroid/view/InsetsSource;)Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; +HSPLandroid/view/InsetsState;->canControlSource(Landroid/graphics/Rect;Landroid/view/InsetsSource;)Z HSPLandroid/view/InsetsState;->clearsCompatInsets(IIII)Z HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;)Z HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;ZZ)Z -HSPLandroid/view/InsetsState;->getDisplayCutout()Landroid/view/DisplayCutout; -HSPLandroid/view/InsetsState;->getDisplayCutoutSafe(Landroid/graphics/Rect;)V +HSPLandroid/view/InsetsState;->getDisplayCutout()Landroid/view/DisplayCutout;+]Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/DisplayCutout$ParcelableWrapper; +HSPLandroid/view/InsetsState;->getDisplayCutoutSafe(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;]Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/DisplayCutout$ParcelableWrapper; HSPLandroid/view/InsetsState;->getDisplayFrame()Landroid/graphics/Rect; HSPLandroid/view/InsetsState;->getDisplayShape()Landroid/view/DisplayShape; HSPLandroid/view/InsetsState;->getPrivacyIndicatorBounds()Landroid/view/PrivacyIndicatorBounds; HSPLandroid/view/InsetsState;->getRoundedCorners()Landroid/view/RoundedCorners; HSPLandroid/view/InsetsState;->isSourceOrDefaultVisible(II)Z HSPLandroid/view/InsetsState;->peekSource(I)Landroid/view/InsetsSource; -HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)Landroid/util/SparseArray;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/os/Parcel;Landroid/os/Parcel;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/DisplayCutout$ParcelableWrapper;]Landroid/view/InsetsSource;Landroid/view/InsetsSource; +HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)Landroid/util/SparseArray; HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;I)V -HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;Z)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/DisplayCutout$ParcelableWrapper;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/InsetsState;Landroid/view/InsetsState; +HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;Z)V HSPLandroid/view/InsetsState;->setDisplayCutout(Landroid/view/DisplayCutout;)V HSPLandroid/view/InsetsState;->setDisplayFrame(Landroid/graphics/Rect;)V HSPLandroid/view/InsetsState;->setPrivacyIndicatorBounds(Landroid/view/PrivacyIndicatorBounds;)V @@ -16614,28 +16689,28 @@ HSPLandroid/view/LayoutInflater;-><init>(Landroid/content/Context;)V HSPLandroid/view/LayoutInflater;-><init>(Landroid/view/LayoutInflater;Landroid/content/Context;)V HSPLandroid/view/LayoutInflater;->advanceToRootNode(Lorg/xmlpull/v1/XmlPullParser;)V HSPLandroid/view/LayoutInflater;->consumeChildElements(Lorg/xmlpull/v1/XmlPullParser;)V -HSPLandroid/view/LayoutInflater;->createView(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;+]Landroid/content/Context;missing_types]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/view/ViewStub;Landroid/view/ViewStub;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Ljava/lang/reflect/Constructor;Ljava/lang/reflect/Constructor;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/view/LayoutInflater;->createView(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->createView(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; -HSPLandroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;Z)Landroid/view/View;+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/util/AttributeSet;Landroid/content/res/XmlBlock$Parser;]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/String;Ljava/lang/String; +HSPLandroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;Z)Landroid/view/View; HSPLandroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater; HSPLandroid/view/LayoutInflater;->getContext()Landroid/content/Context; HSPLandroid/view/LayoutInflater;->getFactory()Landroid/view/LayoutInflater$Factory; HSPLandroid/view/LayoutInflater;->getFactory2()Landroid/view/LayoutInflater$Factory2; HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View; -HSPLandroid/view/LayoutInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View;+]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/view/LayoutInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View; HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/content/Context;Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; HSPLandroid/view/LayoutInflater;->onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View; -HSPLandroid/view/LayoutInflater;->parseInclude(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/Context;Landroid/view/View;Landroid/util/AttributeSet;)V -HSPLandroid/view/LayoutInflater;->rInflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/content/Context;Landroid/util/AttributeSet;Z)V+]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; -HSPLandroid/view/LayoutInflater;->rInflateChildren(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/util/AttributeSet;Z)V+]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/view/View;missing_types +HSPLandroid/view/LayoutInflater;->parseInclude(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/Context;Landroid/view/View;Landroid/util/AttributeSet;)V+]Landroid/util/AttributeSet;Landroid/content/res/XmlBlock$Parser;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;Landroid/widget/FrameLayout;,Landroid/widget/LinearLayout;]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Ljava/lang/Object;Ljava/lang/String;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/res/XmlResourceParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/view/LayoutInflater;->rInflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/content/Context;Landroid/util/AttributeSet;Z)V+]Landroid/view/View;missing_types]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser;]Landroid/view/ViewGroup;Landroid/widget/RelativeLayout;,Landroid/widget/FrameLayout;,Landroid/widget/LinearLayout;]Landroid/view/LayoutInflater;Lcom/android/internal/policy/PhoneLayoutInflater;]Ljava/lang/Object;Ljava/lang/String; +HSPLandroid/view/LayoutInflater;->rInflateChildren(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/util/AttributeSet;Z)V HSPLandroid/view/LayoutInflater;->setFactory2(Landroid/view/LayoutInflater$Factory2;)V HSPLandroid/view/LayoutInflater;->setFilter(Landroid/view/LayoutInflater$Filter;)V HSPLandroid/view/LayoutInflater;->setPrivateFactory(Landroid/view/LayoutInflater$Factory2;)V -HSPLandroid/view/LayoutInflater;->tryCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;+]Landroid/view/LayoutInflater$Factory2;missing_types]Ljava/lang/Object;Ljava/lang/String; -HSPLandroid/view/LayoutInflater;->verifyClassLoader(Ljava/lang/reflect/Constructor;)Z+]Landroid/content/Context;missing_types]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/reflect/Constructor;Ljava/lang/reflect/Constructor; +HSPLandroid/view/LayoutInflater;->tryCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; +HSPLandroid/view/LayoutInflater;->verifyClassLoader(Ljava/lang/reflect/Constructor;)Z HSPLandroid/view/MenuInflater;-><init>(Landroid/content/Context;)V HSPLandroid/view/MotionEvent$PointerCoords;-><init>()V HSPLandroid/view/MotionEvent$PointerProperties;-><init>()V @@ -16676,7 +16751,7 @@ HSPLandroid/view/MotionEvent;->getX(I)F HSPLandroid/view/MotionEvent;->getY()F HSPLandroid/view/MotionEvent;->getY(I)F HSPLandroid/view/MotionEvent;->initialize(IIIIIIIIIFFFFJJI[Landroid/view/MotionEvent$PointerProperties;[Landroid/view/MotionEvent$PointerCoords;)Z -HSPLandroid/view/MotionEvent;->isTargetAccessibilityFocus()Z +HSPLandroid/view/MotionEvent;->isTargetAccessibilityFocus()Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->isTouchEvent()Z HSPLandroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFII)Landroid/view/MotionEvent; @@ -16687,7 +16762,7 @@ HSPLandroid/view/MotionEvent;->offsetLocation(FF)V HSPLandroid/view/MotionEvent;->recycle()V HSPLandroid/view/MotionEvent;->setAction(I)V HSPLandroid/view/MotionEvent;->setLocation(FF)V -HSPLandroid/view/MotionEvent;->setTargetAccessibilityFocus(Z)V +HSPLandroid/view/MotionEvent;->setTargetAccessibilityFocus(Z)V+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->split(I)Landroid/view/MotionEvent; HSPLandroid/view/MotionEvent;->transform(Landroid/graphics/Matrix;)V HSPLandroid/view/MotionEvent;->updateCursorPosition()V @@ -16723,12 +16798,12 @@ HSPLandroid/view/RemoteAccessibilityController;->setRemoteAccessibilityEmbeddedC HSPLandroid/view/RemoteAnimationAdapter;-><init>(Landroid/view/IRemoteAnimationRunner;JJ)V HSPLandroid/view/RemoteAnimationAdapter;->writeToParcel(Landroid/os/Parcel;I)V HSPLandroid/view/RoundedCorner$1;-><init>()V -HSPLandroid/view/RoundedCorner$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RoundedCorner;+]Landroid/os/Parcel;Landroid/os/Parcel; -HSPLandroid/view/RoundedCorner$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;+]Landroid/view/RoundedCorner$1;Landroid/view/RoundedCorner$1; +HSPLandroid/view/RoundedCorner$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RoundedCorner; +HSPLandroid/view/RoundedCorner$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/view/RoundedCorner;-><clinit>()V HSPLandroid/view/RoundedCorner;-><init>(I)V HSPLandroid/view/RoundedCorner;-><init>(IIII)V -HSPLandroid/view/RoundedCorner;->equals(Ljava/lang/Object;)Z+]Landroid/graphics/Point;Landroid/graphics/Point; +HSPLandroid/view/RoundedCorner;->equals(Ljava/lang/Object;)Z HSPLandroid/view/RoundedCorner;->getCenter()Landroid/graphics/Point; HSPLandroid/view/RoundedCorner;->getRadius()I HSPLandroid/view/RoundedCorner;->isEmpty()Z @@ -16791,7 +16866,7 @@ HSPLandroid/view/SurfaceControl$Builder;->setOpaque(Z)Landroid/view/SurfaceContr HSPLandroid/view/SurfaceControl$Builder;->setParent(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Builder; HSPLandroid/view/SurfaceControl$Builder;->unsetBufferSize()V HSPLandroid/view/SurfaceControl$Transaction;-><init>()V -HSPLandroid/view/SurfaceControl$Transaction;-><init>(J)V +HSPLandroid/view/SurfaceControl$Transaction;-><init>(J)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; HSPLandroid/view/SurfaceControl$Transaction;->apply()V HSPLandroid/view/SurfaceControl$Transaction;->apply(Z)V HSPLandroid/view/SurfaceControl$Transaction;->applyResizedSurfaces()V @@ -16799,7 +16874,7 @@ HSPLandroid/view/SurfaceControl$Transaction;->checkPreconditions(Landroid/view/S HSPLandroid/view/SurfaceControl$Transaction;->clear()V HSPLandroid/view/SurfaceControl$Transaction;->close()V HSPLandroid/view/SurfaceControl$Transaction;->hide(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; -HSPLandroid/view/SurfaceControl$Transaction;->merge(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl$Transaction; +HSPLandroid/view/SurfaceControl$Transaction;->merge(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl$Transaction;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap; HSPLandroid/view/SurfaceControl$Transaction;->notifyReparentedSurfaces()V HSPLandroid/view/SurfaceControl$Transaction;->remove(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->reparent(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; @@ -16809,7 +16884,7 @@ HSPLandroid/view/SurfaceControl$Transaction;->setBufferSize(Landroid/view/Surfac HSPLandroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setCornerRadius(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setDesintationFrame(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction; -HSPLandroid/view/SurfaceControl$Transaction;->setExtendedRangeBrightness(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction; +HSPLandroid/view/SurfaceControl$Transaction;->setExtendedRangeBrightness(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction;+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setFrameTimelineVsync(J)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;FFFF)Landroid/view/SurfaceControl$Transaction; @@ -16877,6 +16952,7 @@ HSPLandroid/view/SurfaceView;->onMeasure(II)V HSPLandroid/view/SurfaceView;->onSetSurfacePositionAndScale(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;IIFF)V HSPLandroid/view/SurfaceView;->onWindowVisibilityChanged(I)V HSPLandroid/view/SurfaceView;->performDrawFinished()V +HSPLandroid/view/SurfaceView;->performSurfaceTransaction(Landroid/view/ViewRootImpl;Landroid/content/res/CompatibilityInfo$Translator;ZZZZLandroid/view/SurfaceControl$Transaction;)Z HSPLandroid/view/SurfaceView;->releaseSurfaces(Z)V HSPLandroid/view/SurfaceView;->replacePositionUpdateListener(II)V HSPLandroid/view/SurfaceView;->requiresSurfaceControlCreation(ZZ)Z @@ -16917,8 +16993,8 @@ HSPLandroid/view/TextureView;->updateLayer()V HSPLandroid/view/ThreadedRenderer$1$$ExternalSyntheticLambda0;-><init>(Ljava/util/ArrayList;)V HSPLandroid/view/ThreadedRenderer$1$$ExternalSyntheticLambda0;->onFrameCommit(Z)V HSPLandroid/view/ThreadedRenderer$1;-><init>(Landroid/view/ThreadedRenderer;Ljava/util/ArrayList;)V -HSPLandroid/view/ThreadedRenderer$1;->lambda$onFrameDraw$0(Ljava/util/ArrayList;Z)V -HSPLandroid/view/ThreadedRenderer$1;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback; +HSPLandroid/view/ThreadedRenderer$1;->lambda$onFrameDraw$0(Ljava/util/ArrayList;Z)V+]Landroid/graphics/HardwareRenderer$FrameCommitCallback;Landroid/view/ViewRootImpl$7$$ExternalSyntheticLambda0;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ThreadedRenderer$1;->onFrameDraw(IJ)Landroid/graphics/HardwareRenderer$FrameCommitCallback;+]Landroid/graphics/HardwareRenderer$FrameDrawingCallback;Landroid/view/ViewRootImpl$3;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ThreadedRenderer$WebViewOverlayProvider;->-$$Nest$fgetmSurfaceControl(Landroid/view/ThreadedRenderer$WebViewOverlayProvider;)Landroid/view/SurfaceControl; HSPLandroid/view/ThreadedRenderer$WebViewOverlayProvider;-><clinit>()V HSPLandroid/view/ThreadedRenderer$WebViewOverlayProvider;-><init>()V @@ -16933,7 +17009,7 @@ HSPLandroid/view/ThreadedRenderer;->create(Landroid/content/Context;ZLjava/lang/ HSPLandroid/view/ThreadedRenderer;->destroy()V HSPLandroid/view/ThreadedRenderer;->destroyHardwareResources(Landroid/view/View;)V HSPLandroid/view/ThreadedRenderer;->destroyResources(Landroid/view/View;)V -HSPLandroid/view/ThreadedRenderer;->draw(Landroid/view/View;Landroid/view/View$AttachInfo;Landroid/view/ThreadedRenderer$DrawCallbacks;)V +HSPLandroid/view/ThreadedRenderer;->draw(Landroid/view/View;Landroid/view/View$AttachInfo;Landroid/view/ThreadedRenderer$DrawCallbacks;)V+]Landroid/view/ViewFrameInfo;Landroid/view/ViewFrameInfo;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ThreadedRenderer;->dumpArgsToFlags([Ljava/lang/String;)I HSPLandroid/view/ThreadedRenderer;->getHeight()I HSPLandroid/view/ThreadedRenderer;->getWidth()I @@ -16944,20 +17020,20 @@ HSPLandroid/view/ThreadedRenderer;->invalidateRoot()V HSPLandroid/view/ThreadedRenderer;->isEnabled()Z HSPLandroid/view/ThreadedRenderer;->isRequested()Z HSPLandroid/view/ThreadedRenderer;->loadSystemProperties()Z -HSPLandroid/view/ThreadedRenderer;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V +HSPLandroid/view/ThreadedRenderer;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ThreadedRenderer;->rendererOwnsSurfaceControlOpacity()Z HSPLandroid/view/ThreadedRenderer;->setEnabled(Z)V HSPLandroid/view/ThreadedRenderer;->setLightCenter(Landroid/view/View$AttachInfo;)V HSPLandroid/view/ThreadedRenderer;->setRequested(Z)V HSPLandroid/view/ThreadedRenderer;->setSurface(Landroid/view/Surface;)V -HSPLandroid/view/ThreadedRenderer;->setSurfaceControl(Landroid/view/SurfaceControl;Landroid/graphics/BLASTBufferQueue;)V +HSPLandroid/view/ThreadedRenderer;->setSurfaceControl(Landroid/view/SurfaceControl;Landroid/graphics/BLASTBufferQueue;)V+]Landroid/view/ThreadedRenderer$WebViewOverlayProvider;Landroid/view/ThreadedRenderer$WebViewOverlayProvider; HSPLandroid/view/ThreadedRenderer;->setSurfaceControlOpaque(Z)Z HSPLandroid/view/ThreadedRenderer;->setup(IILandroid/view/View$AttachInfo;Landroid/graphics/Rect;)V HSPLandroid/view/ThreadedRenderer;->updateEnabledState(Landroid/view/Surface;)V -HSPLandroid/view/ThreadedRenderer;->updateRootDisplayList(Landroid/view/View;Landroid/view/ThreadedRenderer$DrawCallbacks;)V +HSPLandroid/view/ThreadedRenderer;->updateRootDisplayList(Landroid/view/View;Landroid/view/ThreadedRenderer$DrawCallbacks;)V+]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/ThreadedRenderer$DrawCallbacks;Landroid/view/ViewRootImpl;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/ThreadedRenderer;->updateSurface(Landroid/view/Surface;)V -HSPLandroid/view/ThreadedRenderer;->updateViewTreeDisplayList(Landroid/view/View;)V -HSPLandroid/view/ThreadedRenderer;->updateWebViewOverlayCallbacks()V +HSPLandroid/view/ThreadedRenderer;->updateViewTreeDisplayList(Landroid/view/View;)V+]Landroid/view/View;Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ThreadedRenderer;->updateWebViewOverlayCallbacks()V+]Landroid/view/ThreadedRenderer$WebViewOverlayProvider;Landroid/view/ThreadedRenderer$WebViewOverlayProvider; HSPLandroid/view/TouchDelegate;-><init>(Landroid/graphics/Rect;Landroid/view/View;)V HSPLandroid/view/VelocityTracker;-><init>(I)V HSPLandroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V @@ -16979,7 +17055,7 @@ HSPLandroid/view/View$$ExternalSyntheticLambda7;->run()V HSPLandroid/view/View$12;->get(Landroid/view/View;)Ljava/lang/Float; HSPLandroid/view/View$12;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/view/View$12;->setValue(Landroid/view/View;F)V -HSPLandroid/view/View$12;->setValue(Ljava/lang/Object;F)V +HSPLandroid/view/View$12;->setValue(Ljava/lang/Object;F)V+]Landroid/view/View$12;Landroid/view/View$12; HSPLandroid/view/View$13;->get(Landroid/view/View;)Ljava/lang/Float; HSPLandroid/view/View$13;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLandroid/view/View$13;->setValue(Landroid/view/View;F)V @@ -17033,31 +17109,31 @@ HSPLandroid/view/View$MeasureSpec;->makeMeasureSpec(II)I HSPLandroid/view/View$MeasureSpec;->makeSafeMeasureSpec(II)I HSPLandroid/view/View$PerformClick;->run()V HSPLandroid/view/View$ScrollabilityCache;-><init>(Landroid/view/ViewConfiguration;Landroid/view/View;)V -HSPLandroid/view/View$ScrollabilityCache;->run()V +HSPLandroid/view/View$ScrollabilityCache;->run()V+]Landroid/graphics/Interpolator;Landroid/graphics/Interpolator;]Landroid/view/View;missing_types HSPLandroid/view/View$TintInfo;-><init>()V HSPLandroid/view/View$TransformationInfo;-><init>()V HSPLandroid/view/View$UnsetPressedState;->run()V HSPLandroid/view/View$VisibilityChangeForAutofillHandler;->handleMessage(Landroid/os/Message;)V -HSPLandroid/view/View;-><init>(Landroid/content/Context;)V+]Landroid/content/Context;missing_types]Landroid/view/View;missing_types]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;missing_types +HSPLandroid/view/View;-><init>(Landroid/content/Context;)V+]Landroid/view/View;missing_types]Ljava/lang/Object;missing_types]Landroid/content/Context;missing_types]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types +HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/view/View;missing_types]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;II)V HSPLandroid/view/View;->addFrameMetricsListener(Landroid/view/Window;Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V HSPLandroid/view/View;->addOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V -HSPLandroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V+]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V HSPLandroid/view/View;->animate()Landroid/view/ViewPropertyAnimator; HSPLandroid/view/View;->announceForAccessibility(Ljava/lang/CharSequence;)V HSPLandroid/view/View;->appendId(Ljava/lang/StringBuilder;)V HSPLandroid/view/View;->applyBackgroundTint()V HSPLandroid/view/View;->applyForegroundTint()V HSPLandroid/view/View;->applyInsets(Landroid/graphics/Rect;)V -HSPLandroid/view/View;->applyLegacyAnimation(Landroid/view/ViewGroup;JLandroid/view/animation/Animation;Z)Z+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/view/View;missing_types]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/RotateAnimation; +HSPLandroid/view/View;->applyLegacyAnimation(Landroid/view/ViewGroup;JLandroid/view/animation/Animation;Z)Z HSPLandroid/view/View;->areDrawablesResolved()Z HSPLandroid/view/View;->assignParent(Landroid/view/ViewParent;)V HSPLandroid/view/View;->awakenScrollBars()Z -HSPLandroid/view/View;->awakenScrollBars(IZ)Z+]Landroid/os/Handler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/view/View;missing_types +HSPLandroid/view/View;->awakenScrollBars(IZ)Z+]Landroid/os/Handler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/view/View;Landroid/widget/ImageView;,Landroid/widget/TextView;,Landroid/widget/LinearLayout; HSPLandroid/view/View;->bringToFront()V HSPLandroid/view/View;->buildDrawingCache(Z)V HSPLandroid/view/View;->buildDrawingCacheImpl(Z)V @@ -17065,7 +17141,7 @@ HSPLandroid/view/View;->buildLayer()V HSPLandroid/view/View;->calculateAccessibilityDataSensitive()V HSPLandroid/view/View;->calculateIsImportantForContentCapture()Z HSPLandroid/view/View;->canHaveDisplayList()Z -HSPLandroid/view/View;->canNotifyAutofillEnterExitEvent()Z+]Landroid/view/View;missing_types +HSPLandroid/view/View;->canNotifyAutofillEnterExitEvent()Z HSPLandroid/view/View;->canReceivePointerEvents()Z HSPLandroid/view/View;->canResolveLayoutDirection()Z+]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types HSPLandroid/view/View;->canResolveTextDirection()Z+]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types @@ -17077,8 +17153,8 @@ HSPLandroid/view/View;->cancelLongPress()V HSPLandroid/view/View;->cancelPendingInputEvents()V HSPLandroid/view/View;->checkForLongClick(JFFI)V HSPLandroid/view/View;->checkInputConnectionProxy(Landroid/view/View;)Z -HSPLandroid/view/View;->cleanupDraw()V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; -HSPLandroid/view/View;->clearAccessibilityFocus()V+]Landroid/view/View;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/View;->cleanupDraw()V +HSPLandroid/view/View;->clearAccessibilityFocus()V HSPLandroid/view/View;->clearAccessibilityFocusNoCallbacks(I)V HSPLandroid/view/View;->clearAccessibilityThrottles()V HSPLandroid/view/View;->clearAnimation()V @@ -17087,7 +17163,7 @@ HSPLandroid/view/View;->clearFocusInternal(Landroid/view/View;ZZ)V HSPLandroid/view/View;->clearParentsWantFocus()V HSPLandroid/view/View;->clearTranslationState()V HSPLandroid/view/View;->clearViewTranslationResponse()V -HSPLandroid/view/View;->collectPreferKeepClearRects()Ljava/util/List;+]Landroid/view/View;missing_types +HSPLandroid/view/View;->collectPreferKeepClearRects()Ljava/util/List; HSPLandroid/view/View;->collectUnrestrictedPreferKeepClearRects()Ljava/util/List; HSPLandroid/view/View;->combineMeasuredStates(II)I HSPLandroid/view/View;->combineVisibility(II)I @@ -17095,21 +17171,21 @@ HSPLandroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/ HSPLandroid/view/View;->computeHorizontalScrollExtent()I HSPLandroid/view/View;->computeHorizontalScrollOffset()I HSPLandroid/view/View;->computeHorizontalScrollRange()I -HSPLandroid/view/View;->computeOpaqueFlags()V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/view/View;->computeOpaqueFlags()V HSPLandroid/view/View;->computeScroll()V HSPLandroid/view/View;->computeSystemWindowInsets(Landroid/view/WindowInsets;Landroid/graphics/Rect;)Landroid/view/WindowInsets; -HSPLandroid/view/View;->computeVerticalScrollExtent()I +HSPLandroid/view/View;->computeVerticalScrollExtent()I+]Landroid/view/View;missing_types HSPLandroid/view/View;->computeVerticalScrollOffset()I -HSPLandroid/view/View;->computeVerticalScrollRange()I -HSPLandroid/view/View;->damageInParent()V+]Landroid/view/ViewParent;missing_types +HSPLandroid/view/View;->computeVerticalScrollRange()I+]Landroid/view/View;missing_types +HSPLandroid/view/View;->damageInParent()V HSPLandroid/view/View;->destroyDrawingCache()V HSPLandroid/view/View;->destroyHardwareResources()V -HSPLandroid/view/View;->dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;+]Landroid/view/View;missing_types -HSPLandroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V+]Landroid/view/HandlerActionQueue;Landroid/view/HandlerActionQueue;]Landroid/view/View;missing_types]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList; -HSPLandroid/view/View;->dispatchCancelPendingInputEvents()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; +HSPLandroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V+]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/View;missing_types]Landroid/view/HandlerActionQueue;Landroid/view/HandlerActionQueue;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator; +HSPLandroid/view/View;->dispatchCancelPendingInputEvents()V HSPLandroid/view/View;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLandroid/view/View;->dispatchDetachedFromWindow()V+]Landroid/view/ImeFocusController;Landroid/view/ImeFocusController;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;Landroid/view/ViewOverlay$OverlayViewGroup;]Landroid/view/ViewOverlay;Landroid/view/ViewGroupOverlay;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/Iterator;Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator;]Ljava/util/List;Ljava/util/Collections$EmptyList;]Ljava/util/concurrent/CopyOnWriteArrayList;Ljava/util/concurrent/CopyOnWriteArrayList; +HSPLandroid/view/View;->dispatchDetachedFromWindow()V+]Landroid/view/View;missing_types]Ljava/util/List;Ljava/util/Collections$EmptyList;]Landroid/view/ImeFocusController;Landroid/view/ImeFocusController;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/View;->dispatchDraw(Landroid/graphics/Canvas;)V HSPLandroid/view/View;->dispatchDrawableHotspotChanged(FF)V HSPLandroid/view/View;->dispatchFinishTemporaryDetach()V @@ -17125,7 +17201,7 @@ HSPLandroid/view/View;->dispatchProvideAutofillStructure(Landroid/view/ViewStruc HSPLandroid/view/View;->dispatchProvideContentCaptureStructure()V HSPLandroid/view/View;->dispatchProvideStructure(Landroid/view/ViewStructure;II)V HSPLandroid/view/View;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V -HSPLandroid/view/View;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/View;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V HSPLandroid/view/View;->dispatchScreenStateChanged(I)V HSPLandroid/view/View;->dispatchSetActivated(Z)V HSPLandroid/view/View;->dispatchSetPressed(Z)V @@ -17134,18 +17210,18 @@ HSPLandroid/view/View;->dispatchStartTemporaryDetach()V HSPLandroid/view/View;->dispatchSystemUiVisibilityChanged(I)V HSPLandroid/view/View;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z HSPLandroid/view/View;->dispatchVisibilityAggregated(Z)Z+]Landroid/view/View;missing_types -HSPLandroid/view/View;->dispatchVisibilityChanged(Landroid/view/View;I)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->dispatchVisibilityChanged(Landroid/view/View;I)V HSPLandroid/view/View;->dispatchWindowFocusChanged(Z)V HSPLandroid/view/View;->dispatchWindowInsetsAnimationEnd(Landroid/view/WindowInsetsAnimation;)V HSPLandroid/view/View;->dispatchWindowSystemUiVisiblityChanged(I)V -HSPLandroid/view/View;->dispatchWindowVisibilityChanged(I)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->dispatchWindowVisibilityChanged(I)V HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types -HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;Landroid/view/ViewGroup;J)Z+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/AnimationSet;,Landroid/view/animation/RotateAnimation;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation; -HSPLandroid/view/View;->drawAutofilledHighlight(Landroid/graphics/Canvas;)V -HSPLandroid/view/View;->drawBackground(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types +HSPLandroid/view/View;->draw(Landroid/graphics/Canvas;Landroid/view/ViewGroup;J)Z+]Landroid/view/View;missing_types]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/view/ViewGroup;Landroid/widget/FrameLayout;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation;]Landroid/view/animation/Animation;Landroid/view/animation/TranslateAnimation;,Landroid/view/animation/AlphaAnimation; +HSPLandroid/view/View;->drawAutofilledHighlight(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->drawBackground(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/View;->drawDefaultFocusHighlight(Landroid/graphics/Canvas;)V HSPLandroid/view/View;->drawableHotspotChanged(FF)V -HSPLandroid/view/View;->drawableStateChanged()V+]Landroid/animation/StateListAnimator;Landroid/animation/StateListAnimator;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types +HSPLandroid/view/View;->drawableStateChanged()V+]Landroid/animation/StateListAnimator;Landroid/animation/StateListAnimator;]Landroid/view/View;missing_types]Landroid/graphics/drawable/Drawable;Landroid/widget/ScrollBarDrawable;,Landroid/graphics/drawable/RippleDrawable;,Landroid/graphics/drawable/InsetDrawable;,Landroid/graphics/drawable/StateListDrawable;,Landroid/graphics/drawable/ColorDrawable; HSPLandroid/view/View;->drawsWithRenderNode(Landroid/graphics/Canvas;)Z+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/View;->ensureTransformationInfo()V HSPLandroid/view/View;->findAccessibilityFocusHost(Z)Landroid/view/View; @@ -17155,7 +17231,7 @@ HSPLandroid/view/View;->findKeyboardNavigationCluster()Landroid/view/View; HSPLandroid/view/View;->findOnBackInvokedDispatcher()Landroid/window/OnBackInvokedDispatcher; HSPLandroid/view/View;->findUserSetNextFocus(Landroid/view/View;I)Landroid/view/View; HSPLandroid/view/View;->findViewByAutofillIdTraversal(I)Landroid/view/View; -HSPLandroid/view/View;->findViewById(I)Landroid/view/View;+]Landroid/view/View;missing_types +HSPLandroid/view/View;->findViewById(I)Landroid/view/View; HSPLandroid/view/View;->findViewTraversal(I)Landroid/view/View; HSPLandroid/view/View;->findViewWithTag(Ljava/lang/Object;)Landroid/view/View; HSPLandroid/view/View;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View; @@ -17190,7 +17266,7 @@ HSPLandroid/view/View;->getContentDescription()Ljava/lang/CharSequence; HSPLandroid/view/View;->getContext()Landroid/content/Context; HSPLandroid/view/View;->getDefaultSize(II)I HSPLandroid/view/View;->getDisplay()Landroid/view/Display; -HSPLandroid/view/View;->getDrawableRenderNode(Landroid/graphics/drawable/Drawable;Landroid/graphics/RenderNode;)Landroid/graphics/RenderNode;+]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/drawable/Drawable;missing_types]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;missing_types +HSPLandroid/view/View;->getDrawableRenderNode(Landroid/graphics/drawable/Drawable;Landroid/graphics/RenderNode;)Landroid/graphics/RenderNode;+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/drawable/Drawable;missing_types]Ljava/lang/Object;missing_types]Ljava/lang/Class;Ljava/lang/Class; HSPLandroid/view/View;->getDrawableState()[I+]Landroid/view/View;missing_types HSPLandroid/view/View;->getDrawingCache(Z)Landroid/graphics/Bitmap; HSPLandroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V @@ -17220,16 +17296,16 @@ HSPLandroid/view/View;->getImportantForContentCapture()I HSPLandroid/view/View;->getInverseMatrix()Landroid/graphics/Matrix; HSPLandroid/view/View;->getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState; HSPLandroid/view/View;->getLayerType()I -HSPLandroid/view/View;->getLayoutDirection()I+]Landroid/content/Context;missing_types]Landroid/view/View;missing_types +HSPLandroid/view/View;->getLayoutDirection()I+]Landroid/view/View;missing_types]Landroid/content/Context;missing_types HSPLandroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; HSPLandroid/view/View;->getLeft()I HSPLandroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo; HSPLandroid/view/View;->getLocalVisibleRect(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->getLocationInSurface([I)V -HSPLandroid/view/View;->getLocationInWindow([I)V +HSPLandroid/view/View;->getLocationInWindow([I)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->getLocationOnScreen()[I -HSPLandroid/view/View;->getLocationOnScreen([I)V -HSPLandroid/view/View;->getMatrix()Landroid/graphics/Matrix; +HSPLandroid/view/View;->getLocationOnScreen([I)V+]Landroid/view/View;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/View;->getMatrix()Landroid/graphics/Matrix;+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->getMeasuredHeight()I HSPLandroid/view/View;->getMeasuredState()I HSPLandroid/view/View;->getMeasuredWidth()I @@ -17241,9 +17317,9 @@ HSPLandroid/view/View;->getOutlineProvider()Landroid/view/ViewOutlineProvider; HSPLandroid/view/View;->getOverScrollMode()I HSPLandroid/view/View;->getPaddingBottom()I HSPLandroid/view/View;->getPaddingEnd()I -HSPLandroid/view/View;->getPaddingLeft()I+]Landroid/view/View;missing_types +HSPLandroid/view/View;->getPaddingLeft()I HSPLandroid/view/View;->getPaddingRight()I -HSPLandroid/view/View;->getPaddingStart()I+]Landroid/view/View;missing_types +HSPLandroid/view/View;->getPaddingStart()I HSPLandroid/view/View;->getPaddingTop()I HSPLandroid/view/View;->getParent()Landroid/view/ViewParent; HSPLandroid/view/View;->getPivotX()F @@ -17261,8 +17337,8 @@ HSPLandroid/view/View;->getRotation()F HSPLandroid/view/View;->getRotationX()F HSPLandroid/view/View;->getRotationY()F HSPLandroid/view/View;->getRunQueue()Landroid/view/HandlerActionQueue; -HSPLandroid/view/View;->getScaleX()F -HSPLandroid/view/View;->getScaleY()F +HSPLandroid/view/View;->getScaleX()F+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->getScaleY()F+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->getScrollX()I HSPLandroid/view/View;->getScrollY()I HSPLandroid/view/View;->getSolidColor()I @@ -17281,7 +17357,7 @@ HSPLandroid/view/View;->getTop()I HSPLandroid/view/View;->getTransitionAlpha()F HSPLandroid/view/View;->getTransitionName()Ljava/lang/String; HSPLandroid/view/View;->getTranslationX()F -HSPLandroid/view/View;->getTranslationY()F +HSPLandroid/view/View;->getTranslationY()F+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->getTranslationZ()F HSPLandroid/view/View;->getVerticalFadingEdgeLength()I HSPLandroid/view/View;->getVerticalScrollbarWidth()I+]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable; @@ -17292,11 +17368,11 @@ HSPLandroid/view/View;->getVisibility()I HSPLandroid/view/View;->getWidth()I HSPLandroid/view/View;->getWindowAttachCount()I HSPLandroid/view/View;->getWindowId()Landroid/view/WindowId; -HSPLandroid/view/View;->getWindowInsetsController()Landroid/view/WindowInsetsController; +HSPLandroid/view/View;->getWindowInsetsController()Landroid/view/WindowInsetsController;+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/View;->getWindowSystemUiVisibility()I HSPLandroid/view/View;->getWindowToken()Landroid/os/IBinder; HSPLandroid/view/View;->getWindowVisibility()I -HSPLandroid/view/View;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/View;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V HSPLandroid/view/View;->getX()F HSPLandroid/view/View;->getY()F HSPLandroid/view/View;->getZ()F @@ -17314,7 +17390,7 @@ HSPLandroid/view/View;->hasListenersForAccessibility()Z HSPLandroid/view/View;->hasNestedScrollingParent()Z HSPLandroid/view/View;->hasOnClickListeners()Z HSPLandroid/view/View;->hasOverlappingRendering()Z -HSPLandroid/view/View;->hasRtlSupport()Z+]Landroid/content/Context;missing_types]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo; +HSPLandroid/view/View;->hasRtlSupport()Z HSPLandroid/view/View;->hasSize()Z HSPLandroid/view/View;->hasTransientState()Z HSPLandroid/view/View;->hasTranslationTransientState()Z @@ -17327,22 +17403,22 @@ HSPLandroid/view/View;->includeForAccessibility()Z HSPLandroid/view/View;->includeForAccessibility(Z)Z HSPLandroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View; HSPLandroid/view/View;->initScrollCache()V -HSPLandroid/view/View;->initialAwakenScrollBars()Z+]Landroid/view/View;missing_types +HSPLandroid/view/View;->initialAwakenScrollBars()Z+]Landroid/view/View;Landroid/widget/ScrollView; HSPLandroid/view/View;->initializeFadingEdgeInternal(Landroid/content/res/TypedArray;)V HSPLandroid/view/View;->initializeScrollIndicatorsInternal()V HSPLandroid/view/View;->initializeScrollbarsInternal(Landroid/content/res/TypedArray;)V -HSPLandroid/view/View;->internalSetPadding(IIII)V+]Landroid/view/View;missing_types -HSPLandroid/view/View;->invalidate()V +HSPLandroid/view/View;->internalSetPadding(IIII)V +HSPLandroid/view/View;->invalidate()V+]Landroid/view/View;missing_types HSPLandroid/view/View;->invalidate(IIII)V+]Landroid/view/View;missing_types -HSPLandroid/view/View;->invalidate(Landroid/graphics/Rect;)V +HSPLandroid/view/View;->invalidate(Landroid/graphics/Rect;)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->invalidate(Z)V+]Landroid/view/View;missing_types -HSPLandroid/view/View;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types -HSPLandroid/view/View;->invalidateInternal(IIIIZZ)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types -HSPLandroid/view/View;->invalidateOutline()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/view/View;missing_types]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/view/View;->invalidateInternal(IIIIZZ)V+]Landroid/view/View;megamorphic_types]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewParent;missing_types]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/view/View;->invalidateOutline()V HSPLandroid/view/View;->invalidateParentCaches()V HSPLandroid/view/View;->invalidateParentIfNeeded()V HSPLandroid/view/View;->invalidateParentIfNeededAndWasQuickRejected()V -HSPLandroid/view/View;->invalidateViewProperty(ZZ)V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types +HSPLandroid/view/View;->invalidateViewProperty(ZZ)V HSPLandroid/view/View;->isAccessibilityFocused()Z HSPLandroid/view/View;->isAccessibilityFocusedViewOrHost()Z HSPLandroid/view/View;->isAccessibilityPane()Z @@ -17377,7 +17453,7 @@ HSPLandroid/view/View;->isInScrollingContainer()Z HSPLandroid/view/View;->isInTouchMode()Z HSPLandroid/view/View;->isKeyboardNavigationCluster()Z HSPLandroid/view/View;->isLaidOut()Z -HSPLandroid/view/View;->isLayoutDirectionInherited()Z+]Landroid/view/View;missing_types +HSPLandroid/view/View;->isLayoutDirectionInherited()Z HSPLandroid/view/View;->isLayoutDirectionResolved()Z HSPLandroid/view/View;->isLayoutModeOptical(Ljava/lang/Object;)Z+]Landroid/view/ViewGroup;missing_types HSPLandroid/view/View;->isLayoutRequested()Z @@ -17390,7 +17466,7 @@ HSPLandroid/view/View;->isPaddingResolved()Z HSPLandroid/view/View;->isPressed()Z HSPLandroid/view/View;->isProjectionReceiver()Z HSPLandroid/view/View;->isRootNamespace()Z -HSPLandroid/view/View;->isRtlCompatibilityMode()Z+]Landroid/content/Context;missing_types]Landroid/view/View;missing_types +HSPLandroid/view/View;->isRtlCompatibilityMode()Z HSPLandroid/view/View;->isSelected()Z HSPLandroid/view/View;->isShowingLayoutBounds()Z HSPLandroid/view/View;->isShown()Z @@ -17406,44 +17482,44 @@ HSPLandroid/view/View;->isVerticalScrollBarHidden()Z HSPLandroid/view/View;->isViewIdGenerated(I)Z HSPLandroid/view/View;->isVisibleToUser()Z HSPLandroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z -HSPLandroid/view/View;->jumpDrawablesToCurrentState()V+]Landroid/animation/StateListAnimator;Landroid/animation/StateListAnimator;]Landroid/graphics/drawable/Drawable;missing_types -HSPLandroid/view/View;->layout(IIII)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->jumpDrawablesToCurrentState()V +HSPLandroid/view/View;->layout(IIII)V+]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/View;->makeFrameworkOptionalFitsSystemWindows()V HSPLandroid/view/View;->makeOptionalFitsSystemWindows()V HSPLandroid/view/View;->mapRectFromViewToScreenCoords(Landroid/graphics/RectF;Z)V HSPLandroid/view/View;->mapRectFromViewToWindowCoords(Landroid/graphics/RectF;Z)V -HSPLandroid/view/View;->measure(II)V+]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;]Landroid/view/View;missing_types +HSPLandroid/view/View;->measure(II)V+]Landroid/view/View;megamorphic_types]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray; HSPLandroid/view/View;->mergeDrawableStates([I[I)[I HSPLandroid/view/View;->needGlobalAttributesUpdate(Z)V HSPLandroid/view/View;->needRtlPropertiesResolution()Z HSPLandroid/view/View;->notifyAppearedOrDisappearedForContentCaptureIfNeeded(Z)V HSPLandroid/view/View;->notifyAutofillManagerOnClick()V -HSPLandroid/view/View;->notifyEnterOrExitForAutoFillIfNeeded(Z)V+]Landroid/view/View;missing_types]Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager; +HSPLandroid/view/View;->notifyEnterOrExitForAutoFillIfNeeded(Z)V HSPLandroid/view/View;->notifyGlobalFocusCleared(Landroid/view/View;)V HSPLandroid/view/View;->notifySubtreeAccessibilityStateChangedByParentIfNeeded()V -HSPLandroid/view/View;->notifySubtreeAccessibilityStateChangedIfNeeded()V+]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager; -HSPLandroid/view/View;->notifyViewAccessibilityStateChangedIfNeeded(I)V+]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager; +HSPLandroid/view/View;->notifySubtreeAccessibilityStateChangedIfNeeded()V +HSPLandroid/view/View;->notifyViewAccessibilityStateChangedIfNeeded(I)V HSPLandroid/view/View;->offsetLeftAndRight(I)V HSPLandroid/view/View;->offsetTopAndBottom(I)V HSPLandroid/view/View;->onAnimationEnd()V HSPLandroid/view/View;->onAnimationStart()V HSPLandroid/view/View;->onApplyFrameworkOptionalFitSystemWindows(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; HSPLandroid/view/View;->onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; -HSPLandroid/view/View;->onAttachedToWindow()V+]Landroid/view/View;missing_types]Landroid/view/accessibility/AccessibilityNodeIdManager;Landroid/view/accessibility/AccessibilityNodeIdManager; -HSPLandroid/view/View;->onCancelPendingInputEvents()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->onAttachedToWindow()V+]Landroid/view/accessibility/AccessibilityNodeIdManager;Landroid/view/accessibility/AccessibilityNodeIdManager;]Landroid/view/View;missing_types +HSPLandroid/view/View;->onCancelPendingInputEvents()V HSPLandroid/view/View;->onCheckIsTextEditor()Z HSPLandroid/view/View;->onCloseSystemDialogs(Ljava/lang/String;)V HSPLandroid/view/View;->onConfigurationChanged(Landroid/content/res/Configuration;)V HSPLandroid/view/View;->onCreateDrawableState(I)[I+]Landroid/view/View;missing_types HSPLandroid/view/View;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; HSPLandroid/view/View;->onDetachedFromWindow()V -HSPLandroid/view/View;->onDetachedFromWindowInternal()V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types]Landroid/view/accessibility/AccessibilityNodeIdManager;Landroid/view/accessibility/AccessibilityNodeIdManager; +HSPLandroid/view/View;->onDetachedFromWindowInternal()V+]Landroid/view/accessibility/AccessibilityNodeIdManager;Landroid/view/accessibility/AccessibilityNodeIdManager;]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->onDraw(Landroid/graphics/Canvas;)V HSPLandroid/view/View;->onDrawForeground(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->onDrawHorizontalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V -HSPLandroid/view/View;->onDrawScrollBars(Landroid/graphics/Canvas;)V +HSPLandroid/view/View;->onDrawScrollBars(Landroid/graphics/Canvas;)V+]Landroid/graphics/Interpolator;Landroid/graphics/Interpolator;]Landroid/view/View;missing_types]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable; HSPLandroid/view/View;->onDrawScrollIndicators(Landroid/graphics/Canvas;)V -HSPLandroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V +HSPLandroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V+]Landroid/graphics/drawable/Drawable;Landroid/widget/ScrollBarDrawable; HSPLandroid/view/View;->onFilterTouchEventForSecurity(Landroid/view/MotionEvent;)Z HSPLandroid/view/View;->onFinishInflate()V HSPLandroid/view/View;->onFinishTemporaryDetach()V @@ -17453,7 +17529,7 @@ HSPLandroid/view/View;->onKeyDown(ILandroid/view/KeyEvent;)Z HSPLandroid/view/View;->onKeyPreIme(ILandroid/view/KeyEvent;)Z HSPLandroid/view/View;->onKeyUp(ILandroid/view/KeyEvent;)Z HSPLandroid/view/View;->onLayout(ZIIII)V -HSPLandroid/view/View;->onMeasure(II)V+]Landroid/view/View;Landroid/view/View; +HSPLandroid/view/View;->onMeasure(II)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->onProvideAutofillStructure(Landroid/view/ViewStructure;I)V HSPLandroid/view/View;->onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V HSPLandroid/view/View;->onProvideContentCaptureStructure(Landroid/view/ViewStructure;I)V @@ -17463,14 +17539,14 @@ HSPLandroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V HSPLandroid/view/View;->onRtlPropertiesChanged(I)V HSPLandroid/view/View;->onSaveInstanceState()Landroid/os/Parcelable; HSPLandroid/view/View;->onScreenStateChanged(I)V -HSPLandroid/view/View;->onScrollChanged(IIII)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->onScrollChanged(IIII)V HSPLandroid/view/View;->onSetAlpha(I)Z HSPLandroid/view/View;->onSizeChanged(IIII)V HSPLandroid/view/View;->onStartTemporaryDetach()V HSPLandroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z -HSPLandroid/view/View;->onVisibilityAggregated(Z)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types]Ljava/util/List;Ljava/util/Collections$EmptyList; +HSPLandroid/view/View;->onVisibilityAggregated(Z)V+]Landroid/view/View;megamorphic_types]Ljava/util/List;Ljava/util/Collections$EmptyList;,Ljava/util/ArrayList;]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/view/View;->onVisibilityChanged(Landroid/view/View;I)V -HSPLandroid/view/View;->onWindowFocusChanged(Z)V+]Landroid/view/View;megamorphic_types +HSPLandroid/view/View;->onWindowFocusChanged(Z)V HSPLandroid/view/View;->onWindowSystemUiVisibilityChanged(I)V HSPLandroid/view/View;->onWindowVisibilityChanged(I)V HSPLandroid/view/View;->overScrollBy(IIIIIIIIZ)Z @@ -17494,9 +17570,9 @@ HSPLandroid/view/View;->postOnAnimation(Ljava/lang/Runnable;)V HSPLandroid/view/View;->postOnAnimationDelayed(Ljava/lang/Runnable;J)V HSPLandroid/view/View;->postSendViewScrolledAccessibilityEventCallback(II)V HSPLandroid/view/View;->postUpdate(Ljava/lang/Runnable;)V -HSPLandroid/view/View;->rebuildOutline()V+]Landroid/graphics/Outline;Landroid/graphics/Outline;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/ViewOutlineProvider;missing_types +HSPLandroid/view/View;->rebuildOutline()V+]Landroid/view/ViewOutlineProvider;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/Outline;Landroid/graphics/Outline; HSPLandroid/view/View;->recomputePadding()V -HSPLandroid/view/View;->refreshDrawableState()V+]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types +HSPLandroid/view/View;->refreshDrawableState()V HSPLandroid/view/View;->registerPendingFrameMetricsObservers()V HSPLandroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z HSPLandroid/view/View;->removeFrameMetricsListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V @@ -17512,30 +17588,30 @@ HSPLandroid/view/View;->requestFocus()Z HSPLandroid/view/View;->requestFocus(I)Z HSPLandroid/view/View;->requestFocus(ILandroid/graphics/Rect;)Z HSPLandroid/view/View;->requestFocusNoSearch(ILandroid/graphics/Rect;)Z -HSPLandroid/view/View;->requestLayout()V+]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/View;->requestLayout()V+]Landroid/view/View;missing_types]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/util/LongSparseLongArray;Landroid/util/LongSparseLongArray;]Landroid/view/ViewParent;missing_types HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;)Z HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;Z)Z HSPLandroid/view/View;->requireViewById(I)Landroid/view/View; -HSPLandroid/view/View;->resetDisplayList()V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->resetDisplayList()V HSPLandroid/view/View;->resetPressedState()V -HSPLandroid/view/View;->resetResolvedDrawables()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->resetResolvedDrawables()V HSPLandroid/view/View;->resetResolvedDrawablesInternal()V HSPLandroid/view/View;->resetResolvedLayoutDirection()V -HSPLandroid/view/View;->resetResolvedPadding()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->resetResolvedPadding()V HSPLandroid/view/View;->resetResolvedPaddingInternal()V HSPLandroid/view/View;->resetResolvedTextAlignment()V HSPLandroid/view/View;->resetResolvedTextDirection()V -HSPLandroid/view/View;->resetRtlProperties()V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->resetRtlProperties()V HSPLandroid/view/View;->resetSubtreeAccessibilityStateChanged()V -HSPLandroid/view/View;->resolveDrawables()V+]Landroid/graphics/drawable/Drawable;megamorphic_types]Landroid/view/View;missing_types -HSPLandroid/view/View;->resolveLayoutDirection()Z+]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types +HSPLandroid/view/View;->resolveDrawables()V +HSPLandroid/view/View;->resolveLayoutDirection()Z HSPLandroid/view/View;->resolveLayoutParams()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup$LayoutParams;missing_types -HSPLandroid/view/View;->resolvePadding()V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; +HSPLandroid/view/View;->resolvePadding()V+]Landroid/view/View;missing_types]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/InsetDrawable;,Landroid/graphics/drawable/RippleDrawable;,Landroid/graphics/drawable/ColorDrawable; HSPLandroid/view/View;->resolveRtlPropertiesIfNeeded()Z+]Landroid/view/View;missing_types HSPLandroid/view/View;->resolveSize(II)I HSPLandroid/view/View;->resolveSizeAndState(III)I -HSPLandroid/view/View;->resolveTextAlignment()Z+]Landroid/view/View;missing_types -HSPLandroid/view/View;->resolveTextDirection()Z+]Landroid/view/View;missing_types]Landroid/view/ViewParent;missing_types +HSPLandroid/view/View;->resolveTextAlignment()Z +HSPLandroid/view/View;->resolveTextDirection()Z HSPLandroid/view/View;->restoreHierarchyState(Landroid/util/SparseArray;)V HSPLandroid/view/View;->retrieveExplicitStyle(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V HSPLandroid/view/View;->rootViewRequestFocus()Z @@ -17557,53 +17633,53 @@ HSPLandroid/view/View;->setAccessibilityTraversalBefore(I)V HSPLandroid/view/View;->setActivated(Z)V HSPLandroid/view/View;->setAlpha(F)V HSPLandroid/view/View;->setAlphaInternal(F)V -HSPLandroid/view/View;->setAlphaNoInvalidation(F)Z+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->setAlphaNoInvalidation(F)Z HSPLandroid/view/View;->setAnimation(Landroid/view/animation/Animation;)V HSPLandroid/view/View;->setAutoHandwritingEnabled(Z)V HSPLandroid/view/View;->setAutofilled(ZZ)V HSPLandroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->setBackgroundBounds()V+]Landroid/graphics/drawable/Drawable;missing_types HSPLandroid/view/View;->setBackgroundColor(I)V -HSPLandroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/view/View;missing_types]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal; +HSPLandroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/view/View;missing_types]Ljava/lang/ThreadLocal;Ljava/lang/ThreadLocal$SuppliedThreadLocal;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable;,Landroid/graphics/drawable/RippleDrawable;,Landroid/graphics/drawable/ColorDrawable; HSPLandroid/view/View;->setBackgroundRenderNodeProperties(Landroid/graphics/RenderNode;)V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setBackgroundResource(I)V HSPLandroid/view/View;->setBackgroundTintList(Landroid/content/res/ColorStateList;)V -HSPLandroid/view/View;->setBottom(I)V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types +HSPLandroid/view/View;->setBottom(I)V HSPLandroid/view/View;->setClickable(Z)V HSPLandroid/view/View;->setClipBounds(Landroid/graphics/Rect;)V HSPLandroid/view/View;->setClipToOutline(Z)V HSPLandroid/view/View;->setContentDescription(Ljava/lang/CharSequence;)V HSPLandroid/view/View;->setDefaultFocusHighlightEnabled(Z)V HSPLandroid/view/View;->setDetached(Z)V -HSPLandroid/view/View;->setDisplayListProperties(Landroid/graphics/RenderNode;)V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->setDisplayListProperties(Landroid/graphics/RenderNode;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setDrawingCacheEnabled(Z)V HSPLandroid/view/View;->setElevation(F)V HSPLandroid/view/View;->setEnabled(Z)V HSPLandroid/view/View;->setFitsSystemWindows(Z)V -HSPLandroid/view/View;->setFlags(II)V+]Landroid/view/View;megamorphic_types]Landroid/view/ViewGroup;missing_types]Landroid/view/ViewParent;missing_types]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager; +HSPLandroid/view/View;->setFlags(II)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Landroid/view/ViewParent;missing_types HSPLandroid/view/View;->setFocusable(I)V HSPLandroid/view/View;->setFocusable(Z)V HSPLandroid/view/View;->setFocusableInTouchMode(Z)V HSPLandroid/view/View;->setForeground(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->setForegroundGravity(I)V -HSPLandroid/view/View;->setFrame(IIII)Z+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->setFrame(IIII)Z+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setHandwritingArea(Landroid/graphics/Rect;)V HSPLandroid/view/View;->setHapticFeedbackEnabled(Z)V HSPLandroid/view/View;->setHasTransientState(Z)V HSPLandroid/view/View;->setHorizontalFadingEdgeEnabled(Z)V HSPLandroid/view/View;->setHorizontalScrollBarEnabled(Z)V HSPLandroid/view/View;->setId(I)V -HSPLandroid/view/View;->setImportantForAccessibility(I)V+]Landroid/view/View;megamorphic_types +HSPLandroid/view/View;->setImportantForAccessibility(I)V HSPLandroid/view/View;->setImportantForAutofill(I)V HSPLandroid/view/View;->setImportantForContentCapture(I)V HSPLandroid/view/View;->setIsRootNamespace(Z)V HSPLandroid/view/View;->setKeepScreenOn(Z)V HSPLandroid/view/View;->setKeyboardNavigationCluster(Z)V -HSPLandroid/view/View;->setKeyedTag(ILjava/lang/Object;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/View;->setKeyedTag(ILjava/lang/Object;)V HSPLandroid/view/View;->setLayerPaint(Landroid/graphics/Paint;)V HSPLandroid/view/View;->setLayerType(ILandroid/graphics/Paint;)V HSPLandroid/view/View;->setLayoutDirection(I)V -HSPLandroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;Lcom/android/internal/policy/DecorView; HSPLandroid/view/View;->setLeft(I)V HSPLandroid/view/View;->setLeftTopRightBottom(IIII)V HSPLandroid/view/View;->setLongClickable(Z)V @@ -17628,21 +17704,21 @@ HSPLandroid/view/View;->setOutlineProvider(Landroid/view/ViewOutlineProvider;)V HSPLandroid/view/View;->setOutlineProviderFromAttribute(I)V HSPLandroid/view/View;->setOutlineSpotShadowColor(I)V HSPLandroid/view/View;->setOverScrollMode(I)V -HSPLandroid/view/View;->setPadding(IIII)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->setPadding(IIII)V HSPLandroid/view/View;->setPaddingRelative(IIII)V HSPLandroid/view/View;->setPivotX(F)V HSPLandroid/view/View;->setPivotY(F)V HSPLandroid/view/View;->setPointerIcon(Landroid/view/PointerIcon;)V HSPLandroid/view/View;->setPressed(Z)V HSPLandroid/view/View;->setRenderEffect(Landroid/graphics/RenderEffect;)V -HSPLandroid/view/View;->setRight(I)V+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->setRight(I)V HSPLandroid/view/View;->setRotation(F)V HSPLandroid/view/View;->setRotationX(F)V HSPLandroid/view/View;->setRotationY(F)V HSPLandroid/view/View;->setSaveEnabled(Z)V HSPLandroid/view/View;->setSaveFromParentEnabled(Z)V -HSPLandroid/view/View;->setScaleX(F)V -HSPLandroid/view/View;->setScaleY(F)V +HSPLandroid/view/View;->setScaleX(F)V+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; +HSPLandroid/view/View;->setScaleY(F)V+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setScrollContainer(Z)V HSPLandroid/view/View;->setScrollIndicators(II)V HSPLandroid/view/View;->setScrollX(I)V @@ -17665,40 +17741,41 @@ HSPLandroid/view/View;->setTransitionName(Ljava/lang/String;)V HSPLandroid/view/View;->setTransitionVisibility(I)V HSPLandroid/view/View;->setTranslationX(F)V HSPLandroid/view/View;->setTranslationY(F)V -HSPLandroid/view/View;->setTranslationZ(F)V +HSPLandroid/view/View;->setTranslationZ(F)V+]Landroid/view/View;missing_types]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->setVerticalScrollBarEnabled(Z)V -HSPLandroid/view/View;->setVisibility(I)V+]Landroid/view/View;missing_types +HSPLandroid/view/View;->setVisibility(I)V HSPLandroid/view/View;->setWillNotDraw(Z)V HSPLandroid/view/View;->setX(F)V HSPLandroid/view/View;->setY(F)V -HSPLandroid/view/View;->shouldDrawRoundScrollbar()Z+]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/content/res/Resources;Landroid/content/res/Resources; -HSPLandroid/view/View;->sizeChange(IIII)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/ViewOverlay;Landroid/view/ViewGroupOverlay; +HSPLandroid/view/View;->shouldDrawRoundScrollbar()Z+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/Configuration;Landroid/content/res/Configuration; +HSPLandroid/view/View;->sizeChange(IIII)V HSPLandroid/view/View;->skipInvalidate()Z+]Landroid/view/ViewGroup;missing_types HSPLandroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V HSPLandroid/view/View;->startNestedScroll(I)Z HSPLandroid/view/View;->stopNestedScroll()V HSPLandroid/view/View;->switchDefaultFocusHighlight()V HSPLandroid/view/View;->toString()Ljava/lang/String; -HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V +HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V+]Landroid/view/View;missing_types HSPLandroid/view/View;->unFocus(Landroid/view/View;)V -HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/view/Choreographer;Landroid/view/Choreographer; +HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V -HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/graphics/RenderNode;+]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;Landroid/view/ViewOverlay$OverlayViewGroup;]Landroid/view/ViewOverlay;Landroid/view/ViewGroupOverlay; +HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/graphics/RenderNode;+]Landroid/view/View;megamorphic_types]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/view/View;->updateFocusedInCluster(Landroid/view/View;I)V HSPLandroid/view/View;->updateHandwritingArea()V HSPLandroid/view/View;->updateKeepClearRects()V HSPLandroid/view/View;->updateLocalSystemUiVisibility(II)Z HSPLandroid/view/View;->updatePflags3AndNotifyA11yIfChanged(IZ)V -HSPLandroid/view/View;->updatePositionUpdateListener()V+]Landroid/view/View;missing_types]Ljava/util/List;Ljava/util/Collections$EmptyList; +HSPLandroid/view/View;->updatePositionUpdateListener()V HSPLandroid/view/View;->updatePreferKeepClearForFocus()V HSPLandroid/view/View;->updateSystemGestureExclusionRects()V HSPLandroid/view/View;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z HSPLandroid/view/View;->willNotDraw()Z HSPLandroid/view/ViewAnimationHostBridge;-><init>(Landroid/view/View;)V HSPLandroid/view/ViewAnimationHostBridge;->isAttached()Z +HSPLandroid/view/ViewAnimationHostBridge;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V HSPLandroid/view/ViewAnimationHostBridge;->registerVectorDrawableAnimator(Landroid/view/NativeVectorDrawableAnimator;)V HSPLandroid/view/ViewConfiguration;-><init>(Landroid/content/Context;)V -HSPLandroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;+]Landroid/util/SparseArray;Landroid/util/SparseArray; +HSPLandroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; HSPLandroid/view/ViewConfiguration;->getDoubleTapTimeout()I HSPLandroid/view/ViewConfiguration;->getLongPressTimeout()I HSPLandroid/view/ViewConfiguration;->getPressedStateDuration()I @@ -17745,9 +17822,9 @@ HSPLandroid/view/ViewGroup$LayoutParams;-><init>(II)V HSPLandroid/view/ViewGroup$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/view/ViewGroup$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup$LayoutParams;->resolveLayoutDirection(I)V -HSPLandroid/view/ViewGroup$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; +HSPLandroid/view/ViewGroup$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(II)V -HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/Context;missing_types]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/view/ViewGroup$MarginLayoutParams;missing_types +HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/view/ViewGroup$MarginLayoutParams;missing_types]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(Landroid/view/ViewGroup$MarginLayoutParams;)V HSPLandroid/view/ViewGroup$MarginLayoutParams;->doResolveMargins()V @@ -17773,12 +17850,12 @@ HSPLandroid/view/ViewGroup;->addTouchTarget(Landroid/view/View;I)Landroid/view/V HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;I)V HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;II)V -HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)Z HSPLandroid/view/ViewGroup;->addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z -HSPLandroid/view/ViewGroup;->addViewInner(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V+]Landroid/animation/LayoutTransition;Landroid/animation/LayoutTransition;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->addViewInner(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->bringChildToFront(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->buildOrderedChildList()Ljava/util/ArrayList; HSPLandroid/view/ViewGroup;->buildTouchDispatchChildList()Ljava/util/ArrayList; @@ -17795,20 +17872,20 @@ HSPLandroid/view/ViewGroup;->clearDisappearingChildren()V HSPLandroid/view/ViewGroup;->clearFocus()V HSPLandroid/view/ViewGroup;->clearFocusedInCluster()V HSPLandroid/view/ViewGroup;->clearTouchTargets()V -HSPLandroid/view/ViewGroup;->destroyHardwareResources()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->destroyHardwareResources()V HSPLandroid/view/ViewGroup;->detachAllViewsFromParent()V HSPLandroid/view/ViewGroup;->detachViewFromParent(I)V HSPLandroid/view/ViewGroup;->dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; -HSPLandroid/view/ViewGroup;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->dispatchCancelPendingInputEvents()V+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V +HSPLandroid/view/ViewGroup;->dispatchCancelPendingInputEvents()V HSPLandroid/view/ViewGroup;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V HSPLandroid/view/ViewGroup;->dispatchDetachedFromWindow()V -HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/animation/LayoutAnimationController;Landroid/view/animation/LayoutAnimationController; +HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas; HSPLandroid/view/ViewGroup;->dispatchDrawableHotspotChanged(FF)V HSPLandroid/view/ViewGroup;->dispatchFinishTemporaryDetach()V HSPLandroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V -HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V+]Landroid/view/View;missing_types]Landroid/view/ViewOverlay;Landroid/view/ViewGroupOverlay; +HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V+]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewGroup;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewGroup;->dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewGroup;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V @@ -17822,17 +17899,17 @@ HSPLandroid/view/ViewGroup;->dispatchSetSelected(Z)V HSPLandroid/view/ViewGroup;->dispatchStartTemporaryDetach()V HSPLandroid/view/ViewGroup;->dispatchSystemUiVisibilityChanged(I)V HSPLandroid/view/ViewGroup;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V -HSPLandroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/ViewGroup$TouchTarget;Landroid/view/ViewGroup$TouchTarget;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; +HSPLandroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z+]Landroid/view/View;missing_types]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewGroup;->dispatchUnhandledKeyEvent(Landroid/view/KeyEvent;)Landroid/view/View; -HSPLandroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V+]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->dispatchViewRemoved(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->dispatchVisibilityAggregated(Z)Z+]Landroid/view/View;missing_types -HSPLandroid/view/ViewGroup;->dispatchVisibilityChanged(Landroid/view/View;I)V+]Landroid/view/View;missing_types -HSPLandroid/view/ViewGroup;->dispatchWindowFocusChanged(Z)V+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->dispatchVisibilityChanged(Landroid/view/View;I)V +HSPLandroid/view/ViewGroup;->dispatchWindowFocusChanged(Z)V HSPLandroid/view/ViewGroup;->dispatchWindowInsetsAnimationEnd(Landroid/view/WindowInsetsAnimation;)V HSPLandroid/view/ViewGroup;->dispatchWindowSystemUiVisiblityChanged(I)V -HSPLandroid/view/ViewGroup;->dispatchWindowVisibilityChanged(I)V+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->dispatchWindowVisibilityChanged(I)V HSPLandroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z+]Landroid/view/View;missing_types HSPLandroid/view/ViewGroup;->drawableStateChanged()V HSPLandroid/view/ViewGroup;->endViewTransition(Landroid/view/View;)V @@ -17842,7 +17919,7 @@ HSPLandroid/view/ViewGroup;->findFocus()Landroid/view/View; HSPLandroid/view/ViewGroup;->findOnBackInvokedDispatcherForChild(Landroid/view/View;Landroid/view/View;)Landroid/window/OnBackInvokedDispatcher; HSPLandroid/view/ViewGroup;->findViewByAutofillIdTraversal(I)Landroid/view/View; HSPLandroid/view/ViewGroup;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View; -HSPLandroid/view/ViewGroup;->findViewTraversal(I)Landroid/view/View;+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->findViewTraversal(I)Landroid/view/View; HSPLandroid/view/ViewGroup;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View; HSPLandroid/view/ViewGroup;->finishAnimatingView(Landroid/view/View;Landroid/view/animation/Animation;)V HSPLandroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View; @@ -17858,7 +17935,7 @@ HSPLandroid/view/ViewGroup;->getChildCount()I HSPLandroid/view/ViewGroup;->getChildMeasureSpec(III)I HSPLandroid/view/ViewGroup;->getChildTransformation()Landroid/view/animation/Transformation; HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z -HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Z)Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/view/ViewParent;Landroid/view/ViewRootImpl; +HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Z)Z+]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewParent;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewGroup;->getChildrenForAutofill(I)Landroid/view/ViewGroup$ChildListForAutoFillOrContentCapture; HSPLandroid/view/ViewGroup;->getChildrenForContentCapture()Landroid/view/ViewGroup$ChildListForAutoFillOrContentCapture; HSPLandroid/view/ViewGroup;->getClipChildren()Z @@ -17884,8 +17961,8 @@ HSPLandroid/view/ViewGroup;->hasTransientState()Z HSPLandroid/view/ViewGroup;->hasUnhandledKeyListener()Z HSPLandroid/view/ViewGroup;->hasWindowInsetsAnimationCallback()Z HSPLandroid/view/ViewGroup;->indexOfChild(Landroid/view/View;)I -HSPLandroid/view/ViewGroup;->initFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->initViewGroup()V+]Landroid/content/Context;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->initFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)V +HSPLandroid/view/ViewGroup;->initViewGroup()V HSPLandroid/view/ViewGroup;->internalSetPadding(IIII)V HSPLandroid/view/ViewGroup;->invalidateChild(Landroid/view/View;Landroid/graphics/Rect;)V+]Landroid/view/ViewGroup;missing_types HSPLandroid/view/ViewGroup;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent; @@ -17894,7 +17971,7 @@ HSPLandroid/view/ViewGroup;->isLayoutModeOptical()Z HSPLandroid/view/ViewGroup;->isLayoutSuppressed()Z HSPLandroid/view/ViewGroup;->isTransformedTouchPointInView(FFLandroid/view/View;Landroid/graphics/PointF;)Z HSPLandroid/view/ViewGroup;->isViewTransitioning(Landroid/view/View;)Z -HSPLandroid/view/ViewGroup;->jumpDrawablesToCurrentState()V+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->jumpDrawablesToCurrentState()V HSPLandroid/view/ViewGroup;->layout(IIII)V HSPLandroid/view/ViewGroup;->makeFrameworkOptionalFitsSystemWindows()V HSPLandroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V @@ -17911,9 +17988,9 @@ HSPLandroid/view/ViewGroup;->onCreateDrawableState(I)[I HSPLandroid/view/ViewGroup;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V+]Landroid/view/ViewParent;missing_types HSPLandroid/view/ViewGroup;->onDescendantUnbufferedRequested()V HSPLandroid/view/ViewGroup;->onDetachedFromWindow()V -HSPLandroid/view/ViewGroup;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z +HSPLandroid/view/ViewGroup;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z -HSPLandroid/view/ViewGroup;->onSetLayoutParams(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->onSetLayoutParams(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/view/ViewGroup;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z HSPLandroid/view/ViewGroup;->onViewAdded(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->onViewRemoved(Landroid/view/View;)V @@ -17934,22 +18011,22 @@ HSPLandroid/view/ViewGroup;->removeViewInternal(ILandroid/view/View;)V HSPLandroid/view/ViewGroup;->removeViewInternal(Landroid/view/View;)Z HSPLandroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V HSPLandroid/view/ViewGroup;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z -HSPLandroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V +HSPLandroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V+]Landroid/view/ViewParent;missing_types HSPLandroid/view/ViewGroup;->requestFocus(ILandroid/graphics/Rect;)Z HSPLandroid/view/ViewGroup;->requestTransitionStart(Landroid/animation/LayoutTransition;)V HSPLandroid/view/ViewGroup;->requestTransparentRegion(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->resetCancelNextUpFlag(Landroid/view/View;)Z -HSPLandroid/view/ViewGroup;->resetResolvedDrawables()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resetResolvedLayoutDirection()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resetResolvedPadding()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resetResolvedTextAlignment()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resetResolvedTextDirection()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resetSubtreeAccessibilityStateChanged()V+]Landroid/view/View;missing_types +HSPLandroid/view/ViewGroup;->resetResolvedDrawables()V +HSPLandroid/view/ViewGroup;->resetResolvedLayoutDirection()V +HSPLandroid/view/ViewGroup;->resetResolvedPadding()V +HSPLandroid/view/ViewGroup;->resetResolvedTextAlignment()V +HSPLandroid/view/ViewGroup;->resetResolvedTextDirection()V +HSPLandroid/view/ViewGroup;->resetSubtreeAccessibilityStateChanged()V HSPLandroid/view/ViewGroup;->resetTouchState()V HSPLandroid/view/ViewGroup;->resolveDrawables()V HSPLandroid/view/ViewGroup;->resolveLayoutDirection()Z HSPLandroid/view/ViewGroup;->resolveLayoutParams()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types -HSPLandroid/view/ViewGroup;->resolvePadding()V+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types +HSPLandroid/view/ViewGroup;->resolvePadding()V HSPLandroid/view/ViewGroup;->resolveRtlPropertiesIfNeeded()Z+]Landroid/view/View;missing_types]Landroid/view/ViewGroup;missing_types HSPLandroid/view/ViewGroup;->resolveTextAlignment()Z HSPLandroid/view/ViewGroup;->resolveTextDirection()Z @@ -17970,7 +18047,7 @@ HSPLandroid/view/ViewGroup;->shouldBlockFocusForTouchscreen()Z HSPLandroid/view/ViewGroup;->shouldDelayChildPressedState()Z HSPLandroid/view/ViewGroup;->startViewTransition(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->suppressLayout(Z)V -HSPLandroid/view/ViewGroup;->touchAccessibilityNodeProviderIfNeeded(Landroid/view/View;)V+]Landroid/content/Context;missing_types +HSPLandroid/view/ViewGroup;->touchAccessibilityNodeProviderIfNeeded(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->transformPointToViewLocal([FLandroid/view/View;)V HSPLandroid/view/ViewGroup;->unFocus(Landroid/view/View;)V HSPLandroid/view/ViewGroup;->updateLocalSystemUiVisibility(II)Z @@ -18002,7 +18079,7 @@ HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;-><init>(Landroid/vi HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationCancel(Landroid/animation/Animator;)V HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationEnd(Landroid/animation/Animator;)V HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationStart(Landroid/animation/Animator;)V -HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V+]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLandroid/view/ViewPropertyAnimator$AnimatorEventListener;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V+]Ljava/util/HashMap;Ljava/util/HashMap;]Landroid/view/View;Landroid/widget/LinearLayout;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator; HSPLandroid/view/ViewPropertyAnimator$NameValuesHolder;-><init>(IFF)V HSPLandroid/view/ViewPropertyAnimator$PropertyBundle;-><init>(ILjava/util/ArrayList;)V HSPLandroid/view/ViewPropertyAnimator$PropertyBundle;->cancel(I)Z @@ -18026,6 +18103,7 @@ HSPLandroid/view/ViewPropertyAnimator;->translationY(F)Landroid/view/ViewPropert HSPLandroid/view/ViewPropertyAnimator;->withEndAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator; HSPLandroid/view/ViewPropertyAnimator;->withLayer()Landroid/view/ViewPropertyAnimator; HSPLandroid/view/ViewPropertyAnimator;->withStartAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator; +HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda0;->run()V HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda17;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$$ExternalSyntheticLambda3;->run()V HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;-><init>(Landroid/view/ViewRootImpl;)V @@ -18042,13 +18120,13 @@ HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;-><init>(Landroid/view/View HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processMotionEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I -HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I+]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager; +HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$HighContrastTextManager;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$ImeInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V HSPLandroid/view/ViewRootImpl$ImeInputStage;->onFinishedInputEvent(Ljava/lang/Object;Z)V HSPLandroid/view/ViewRootImpl$ImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$InputMetricsListener;-><init>(Landroid/view/ViewRootImpl;)V -HSPLandroid/view/ViewRootImpl$InputMetricsListener;->onFrameMetricsAvailable(I)V +HSPLandroid/view/ViewRootImpl$InputMetricsListener;->onFrameMetricsAvailable(I)V+]Landroid/view/ViewRootImpl$WindowInputEventReceiver;Landroid/view/ViewRootImpl$WindowInputEventReceiver; HSPLandroid/view/ViewRootImpl$InputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V HSPLandroid/view/ViewRootImpl$InputStage;->apply(Landroid/view/ViewRootImpl$QueuedInputEvent;I)V HSPLandroid/view/ViewRootImpl$InputStage;->deliver(Landroid/view/ViewRootImpl$QueuedInputEvent;)V @@ -18057,12 +18135,12 @@ HSPLandroid/view/ViewRootImpl$InputStage;->forward(Landroid/view/ViewRootImpl$Qu HSPLandroid/view/ViewRootImpl$InputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V HSPLandroid/view/ViewRootImpl$InputStage;->onDetachedFromWindow()V HSPLandroid/view/ViewRootImpl$InputStage;->onWindowFocusChanged(Z)V -HSPLandroid/view/ViewRootImpl$InputStage;->shouldDropInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)Z+]Landroid/view/InputEvent;Landroid/view/MotionEvent; -HSPLandroid/view/ViewRootImpl$InputStage;->traceEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;J)V+]Landroid/view/InputEvent;Landroid/view/MotionEvent;]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;Landroid/view/ViewRootImpl$EarlyPostImeInputStage;,Landroid/view/ViewRootImpl$NativePostImeInputStage;,Landroid/view/ViewRootImpl$SyntheticInputStage;,Landroid/view/ViewRootImpl$ViewPostImeInputStage;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/ViewRootImpl$InputStage;->shouldDropInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)Z +HSPLandroid/view/ViewRootImpl$InputStage;->traceEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;J)V HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->addView(Landroid/view/View;)V+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->postIfNeededLocked()V+]Landroid/view/Choreographer;Landroid/view/Choreographer; -HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->removeView(Landroid/view/View;)V+]Landroid/view/Choreographer;Landroid/view/Choreographer;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->removeView(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->run()V+]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewRootImpl$NativePostImeInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)V HSPLandroid/view/ViewRootImpl$NativePostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I @@ -18081,6 +18159,7 @@ HSPLandroid/view/ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState;->reset HSPLandroid/view/ViewRootImpl$SyntheticJoystickHandler;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$SyntheticJoystickHandler;->cancel()V HSPLandroid/view/ViewRootImpl$SyntheticKeyboardHandler;-><init>(Landroid/view/ViewRootImpl;)V +HSPLandroid/view/ViewRootImpl$SyntheticTouchNavigationHandler$1;-><init>(Landroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;)V HSPLandroid/view/ViewRootImpl$SyntheticTouchNavigationHandler;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$SyntheticTrackballHandler;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$SystemUiVisibilityInfo;-><init>()V @@ -18097,7 +18176,7 @@ HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->maybeUpdatePointerIcon(Lan HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I -HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I+]Landroid/view/HandwritingInitiator;Landroid/view/HandwritingInitiator;]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$ViewPreImeInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V HSPLandroid/view/ViewRootImpl$ViewPreImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I HSPLandroid/view/ViewRootImpl$ViewRootHandler;-><init>(Landroid/view/ViewRootImpl;)V @@ -18109,6 +18188,7 @@ HSPLandroid/view/ViewRootImpl$W;-><init>(Landroid/view/ViewRootImpl;)V HSPLandroid/view/ViewRootImpl$W;->closeSystemDialogs(Ljava/lang/String;)V HSPLandroid/view/ViewRootImpl$W;->dispatchAppVisibility(Z)V HSPLandroid/view/ViewRootImpl$W;->dispatchWindowShown()V +HSPLandroid/view/ViewRootImpl$W;->insetsControlChanged(Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;)V HSPLandroid/view/ViewRootImpl$W;->moved(II)V HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;-><init>(Landroid/view/ViewRootImpl;Landroid/view/InputChannel;Landroid/os/Looper;)V HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->dispose()V @@ -18117,27 +18197,29 @@ HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onFocusEvent(Z)V HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;)V HSPLandroid/view/ViewRootImpl;->-$$Nest$fgetmBlastBufferQueue(Landroid/view/ViewRootImpl;)Landroid/graphics/BLASTBufferQueue; HSPLandroid/view/ViewRootImpl;->-$$Nest$fputmProfileRendering(Landroid/view/ViewRootImpl;Z)V +HSPLandroid/view/ViewRootImpl;->-$$Nest$mdispatchInsetsControlChanged(Landroid/view/ViewRootImpl;Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;)V HSPLandroid/view/ViewRootImpl;->-$$Nest$mprofileRendering(Landroid/view/ViewRootImpl;Z)V HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;)V -HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/IWindowSession;Landroid/view/WindowLayout;)V+]Landroid/content/Context;missing_types]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/WindowLeaked;Landroid/view/WindowLeaked;]Ljava/lang/String;Ljava/lang/String;]Ljava/util/Optional;Ljava/util/Optional; +HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/IWindowSession;Landroid/view/WindowLayout;)V HSPLandroid/view/ViewRootImpl;->addConfigCallback(Landroid/view/ViewRootImpl$ConfigChangedCallback;)V -HSPLandroid/view/ViewRootImpl;->addFrameCommitCallbackIfNeeded()V +HSPLandroid/view/ViewRootImpl;->addFrameCommitCallbackIfNeeded()V+]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->addSurfaceChangedCallback(Landroid/view/ViewRootImpl$SurfaceChangedCallback;)V HSPLandroid/view/ViewRootImpl;->addWindowCallbacks(Landroid/view/WindowCallbacks;)V +HSPLandroid/view/ViewRootImpl;->adjustLayoutParamsForCompatibility(Landroid/view/WindowManager$LayoutParams;)V HSPLandroid/view/ViewRootImpl;->applyKeepScreenOnFlag(Landroid/view/WindowManager$LayoutParams;)V -HSPLandroid/view/ViewRootImpl;->applyTransactionOnDraw(Landroid/view/SurfaceControl$Transaction;)Z +HSPLandroid/view/ViewRootImpl;->applyTransactionOnDraw(Landroid/view/SurfaceControl$Transaction;)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->canResolveTextDirection()Z -HSPLandroid/view/ViewRootImpl;->cancelInvalidate(Landroid/view/View;)V+]Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler; +HSPLandroid/view/ViewRootImpl;->cancelInvalidate(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl;->checkForLeavingTouchModeAndConsume(Landroid/view/KeyEvent;)Z HSPLandroid/view/ViewRootImpl;->checkThread()V HSPLandroid/view/ViewRootImpl;->childDrawableStateChanged(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl;->childHasTransientStateChanged(Landroid/view/View;Z)V HSPLandroid/view/ViewRootImpl;->clearChildFocus(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl;->clearLowProfileModeIfNeeded(IZ)V -HSPLandroid/view/ViewRootImpl;->collectViewAttributes()Z+]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ViewRootImpl;->collectViewAttributes()Z+]Landroid/view/View;Lcom/android/internal/policy/DecorView; HSPLandroid/view/ViewRootImpl;->controlInsetsForCompatibility(Landroid/view/WindowManager$LayoutParams;)V -HSPLandroid/view/ViewRootImpl;->createSyncIfNeeded()V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/window/SurfaceSyncGroup;Landroid/window/SurfaceSyncGroup;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V+]Landroid/view/InputEvent;Landroid/view/MotionEvent;]Landroid/view/ViewRootImpl$InputStage;Landroid/view/ViewRootImpl$EarlyPostImeInputStage;]Landroid/view/ViewRootImpl$QueuedInputEvent;Landroid/view/ViewRootImpl$QueuedInputEvent;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/ViewRootImpl;->createSyncIfNeeded()V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/window/SurfaceSyncGroup;Landroid/window/SurfaceSyncGroup; +HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V HSPLandroid/view/ViewRootImpl;->destroyHardwareRenderer()V HSPLandroid/view/ViewRootImpl;->destroyHardwareResources()V HSPLandroid/view/ViewRootImpl;->destroySurface()V @@ -18149,14 +18231,15 @@ HSPLandroid/view/ViewRootImpl;->dispatchCheckFocus()V HSPLandroid/view/ViewRootImpl;->dispatchDetachedFromWindow()V HSPLandroid/view/ViewRootImpl;->dispatchDispatchSystemUiVisibilityChanged()V HSPLandroid/view/ViewRootImpl;->dispatchFocusEvent(ZZ)V +HSPLandroid/view/ViewRootImpl;->dispatchInsetsControlChanged(Landroid/view/InsetsState;[Landroid/view/InsetsSourceControl;)V HSPLandroid/view/ViewRootImpl;->dispatchInvalidateDelayed(Landroid/view/View;J)V -HSPLandroid/view/ViewRootImpl;->dispatchInvalidateOnAnimation(Landroid/view/View;)V +HSPLandroid/view/ViewRootImpl;->dispatchInvalidateOnAnimation(Landroid/view/View;)V+]Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable; HSPLandroid/view/ViewRootImpl;->dispatchMoved(II)V HSPLandroid/view/ViewRootImpl;->doConsumeBatchedInput(J)Z HSPLandroid/view/ViewRootImpl;->doDie()V -HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V+]Landroid/view/InputEventAssigner;Landroid/view/InputEventAssigner;]Landroid/view/ViewFrameInfo;Landroid/view/ViewFrameInfo; -HSPLandroid/view/ViewRootImpl;->doTraversal()V+]Landroid/os/Looper;Landroid/os/Looper;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler; -HSPLandroid/view/ViewRootImpl;->draw(ZLandroid/window/SurfaceSyncGroup;Z)Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/HdrRenderState;Landroid/view/HdrRenderState;]Landroid/view/Surface;Landroid/view/Surface;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver; +HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V +HSPLandroid/view/ViewRootImpl;->doTraversal()V+]Landroid/os/Looper;Landroid/os/Looper;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/os/MessageQueue;Landroid/os/MessageQueue; +HSPLandroid/view/ViewRootImpl;->draw(ZLandroid/window/SurfaceSyncGroup;Z)Z+]Landroid/view/Surface;Landroid/view/Surface;]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/HdrRenderState;Landroid/view/HdrRenderState;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction; HSPLandroid/view/ViewRootImpl;->drawAccessibilityFocusedDrawableIfNeeded(Landroid/graphics/Canvas;)V HSPLandroid/view/ViewRootImpl;->drawSoftware(Landroid/view/Surface;Landroid/view/View$AttachInfo;IIZLandroid/graphics/Rect;Landroid/graphics/Rect;)Z HSPLandroid/view/ViewRootImpl;->enableHardwareAcceleration(Landroid/view/WindowManager$LayoutParams;)V @@ -18178,10 +18261,10 @@ HSPLandroid/view/ViewRootImpl;->getAutofillManager()Landroid/view/autofill/Autof HSPLandroid/view/ViewRootImpl;->getBufferTransformHint()I HSPLandroid/view/ViewRootImpl;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z HSPLandroid/view/ViewRootImpl;->getCompatWindowConfiguration()Landroid/app/WindowConfiguration; -HSPLandroid/view/ViewRootImpl;->getConfiguration()Landroid/content/res/Configuration;+]Landroid/content/Context;Lcom/android/internal/policy/DecorContext;]Landroid/content/res/Resources;Landroid/content/res/Resources; +HSPLandroid/view/ViewRootImpl;->getConfiguration()Landroid/content/res/Configuration;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/Context;Lcom/android/internal/policy/DecorContext; HSPLandroid/view/ViewRootImpl;->getDisplayId()I HSPLandroid/view/ViewRootImpl;->getHandwritingInitiator()Landroid/view/HandwritingInitiator; -HSPLandroid/view/ViewRootImpl;->getHostVisibility()I+]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ViewRootImpl;->getHostVisibility()I+]Landroid/view/View;Lcom/android/internal/policy/DecorView; HSPLandroid/view/ViewRootImpl;->getImeFocusController()Landroid/view/ImeFocusController; HSPLandroid/view/ViewRootImpl;->getImpliedSystemUiVisibility(Landroid/view/WindowManager$LayoutParams;)I HSPLandroid/view/ViewRootImpl;->getInsetsController()Landroid/view/InsetsController; @@ -18195,14 +18278,14 @@ HSPLandroid/view/ViewRootImpl;->getSurfaceControl()Landroid/view/SurfaceControl; HSPLandroid/view/ViewRootImpl;->getSurfaceSequenceId()I HSPLandroid/view/ViewRootImpl;->getTextDirection()I HSPLandroid/view/ViewRootImpl;->getTitle()Ljava/lang/CharSequence; -HSPLandroid/view/ViewRootImpl;->getUpdatedFrameInfo()Landroid/graphics/FrameInfo; +HSPLandroid/view/ViewRootImpl;->getUpdatedFrameInfo()Landroid/graphics/FrameInfo;+]Landroid/view/InputEventAssigner;Landroid/view/InputEventAssigner;]Landroid/view/ViewFrameInfo;Landroid/view/ViewFrameInfo; HSPLandroid/view/ViewRootImpl;->getValidLayoutRequesters(Ljava/util/ArrayList;Z)Ljava/util/ArrayList; HSPLandroid/view/ViewRootImpl;->getView()Landroid/view/View; HSPLandroid/view/ViewRootImpl;->getViewBoundsSandboxingEnabled()Z HSPLandroid/view/ViewRootImpl;->getWindowBoundsInsetSystemBars()Landroid/graphics/Rect; HSPLandroid/view/ViewRootImpl;->getWindowFlags()I -HSPLandroid/view/ViewRootImpl;->getWindowInsets(Z)Landroid/view/WindowInsets;+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/graphics/Insets;Landroid/graphics/Insets;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/WindowInsets;Landroid/view/WindowInsets; -HSPLandroid/view/ViewRootImpl;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/ViewRootImpl;->getWindowInsets(Z)Landroid/view/WindowInsets; +HSPLandroid/view/ViewRootImpl;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V HSPLandroid/view/ViewRootImpl;->handleAppVisibility(Z)V HSPLandroid/view/ViewRootImpl;->handleContentCaptureFlush()V HSPLandroid/view/ViewRootImpl;->handleDispatchSystemUiVisibilityChanged()V @@ -18211,6 +18294,7 @@ HSPLandroid/view/ViewRootImpl;->invalidate()V+]Landroid/graphics/Rect;Landroid/g HSPLandroid/view/ViewRootImpl;->invalidateChild(Landroid/view/View;Landroid/graphics/Rect;)V HSPLandroid/view/ViewRootImpl;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent; HSPLandroid/view/ViewRootImpl;->invalidateRectOnScreen(Landroid/graphics/Rect;)V +HSPLandroid/view/ViewRootImpl;->isAccessibilityFocusDirty()Z+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; HSPLandroid/view/ViewRootImpl;->isContentCaptureEnabled()Z HSPLandroid/view/ViewRootImpl;->isContentCaptureReallyEnabled()Z HSPLandroid/view/ViewRootImpl;->isHardwareEnabled()Z+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; @@ -18228,10 +18312,10 @@ HSPLandroid/view/ViewRootImpl;->lambda$new$1(Landroid/view/View;)Ljava/util/List HSPLandroid/view/ViewRootImpl;->lambda$new$2(Landroid/view/View;)Ljava/util/List; HSPLandroid/view/ViewRootImpl;->loadSystemProperties()V HSPLandroid/view/ViewRootImpl;->maybeFireAccessibilityWindowStateChangedEvent()V -HSPLandroid/view/ViewRootImpl;->maybeHandleWindowMove(Landroid/graphics/Rect;)V+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; +HSPLandroid/view/ViewRootImpl;->maybeHandleWindowMove(Landroid/graphics/Rect;)V HSPLandroid/view/ViewRootImpl;->maybeUpdateTooltip(Landroid/view/MotionEvent;)V -HSPLandroid/view/ViewRootImpl;->measureHierarchy(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;IIZ)Z+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView; -HSPLandroid/view/ViewRootImpl;->mergeWithNextTransaction(Landroid/view/SurfaceControl$Transaction;J)V +HSPLandroid/view/ViewRootImpl;->measureHierarchy(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;IIZ)Z+]Landroid/view/View;Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ViewRootImpl;->mergeWithNextTransaction(Landroid/view/SurfaceControl$Transaction;J)V+]Landroid/graphics/BLASTBufferQueue;Landroid/graphics/BLASTBufferQueue; HSPLandroid/view/ViewRootImpl;->notifyContentCaptureEvents()V HSPLandroid/view/ViewRootImpl;->notifyDrawStarted(Z)V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewRootImpl;->notifyInsetsChanged()V @@ -18246,24 +18330,24 @@ HSPLandroid/view/ViewRootImpl;->onPostDraw(Landroid/graphics/RecordingCanvas;)V HSPLandroid/view/ViewRootImpl;->onPreDraw(Landroid/graphics/RecordingCanvas;)V HSPLandroid/view/ViewRootImpl;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z HSPLandroid/view/ViewRootImpl;->performContentCaptureInitialReport()V -HSPLandroid/view/ViewRootImpl;->performDraw(Landroid/window/SurfaceSyncGroup;)Z+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; -HSPLandroid/view/ViewRootImpl;->performLayout(Landroid/view/WindowManager$LayoutParams;II)V+]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/view/ViewRootImpl;->performMeasure(II)V+]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView; -HSPLandroid/view/ViewRootImpl;->performTraversals()V+]Landroid/content/Context;missing_types]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/graphics/Region;Landroid/graphics/Region;]Landroid/util/MergedConfiguration;Landroid/util/MergedConfiguration;]Landroid/view/HandlerActionQueue;Landroid/view/HandlerActionQueue;]Landroid/view/ImeFocusController;Landroid/view/ImeFocusController;]Landroid/view/Surface;Landroid/view/Surface;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/window/SurfaceSyncGroup;Landroid/window/SurfaceSyncGroup;]Landroid/window/WindowOnBackInvokedDispatcher;Landroid/window/WindowOnBackInvokedDispatcher;]Lcom/android/internal/view/RootViewSurfaceTaker;Lcom/android/internal/policy/DecorView;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ViewRootImpl;->performDraw(Landroid/window/SurfaceSyncGroup;)Z+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; +HSPLandroid/view/ViewRootImpl;->performLayout(Landroid/view/WindowManager$LayoutParams;II)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/view/HandlerActionQueue;Landroid/view/HandlerActionQueue;]Landroid/content/Context;Lcom/android/internal/policy/DecorContext;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ViewRootImpl;->performMeasure(II)V+]Landroid/view/View;Lcom/android/internal/policy/DecorView; +HSPLandroid/view/ViewRootImpl;->performTraversals()V+]Landroid/view/ViewTreeObserver;Landroid/view/ViewTreeObserver;]Landroid/view/View;missing_types]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/view/HandlerActionQueue;Landroid/view/HandlerActionQueue;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/Surface;Landroid/view/Surface;]Landroid/util/MergedConfiguration;Landroid/util/MergedConfiguration;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ImeFocusController;Landroid/view/ImeFocusController;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;,Lcom/android/internal/policy/DecorContext;]Lcom/android/internal/view/RootViewSurfaceTaker;Lcom/android/internal/policy/DecorView;]Landroid/graphics/Region;Landroid/graphics/Region;]Landroid/content/res/Configuration;Landroid/content/res/Configuration;]Landroid/window/SurfaceSyncGroup;Landroid/window/SurfaceSyncGroup;]Landroid/window/WindowOnBackInvokedDispatcher;Landroid/window/WindowOnBackInvokedDispatcher; HSPLandroid/view/ViewRootImpl;->playSoundEffect(I)V HSPLandroid/view/ViewRootImpl;->pokeDrawLockIfNeeded()V -HSPLandroid/view/ViewRootImpl;->prepareSurfaces()V +HSPLandroid/view/ViewRootImpl;->prepareSurfaces()V+]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->profileRendering(Z)V HSPLandroid/view/ViewRootImpl;->recomputeViewAttributes(Landroid/view/View;)V HSPLandroid/view/ViewRootImpl;->recycleQueuedInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V HSPLandroid/view/ViewRootImpl;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V HSPLandroid/view/ViewRootImpl;->registerBackCallbackOnWindow()V -HSPLandroid/view/ViewRootImpl;->registerCallbackForPendingTransactions()V +HSPLandroid/view/ViewRootImpl;->registerCallbackForPendingTransactions()V+]Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl$Transaction;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->registerCallbacksForSync(ZLandroid/window/SurfaceSyncGroup;)V HSPLandroid/view/ViewRootImpl;->registerCompatOnBackInvokedCallback()V HSPLandroid/view/ViewRootImpl;->registerListeners()V -HSPLandroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V -HSPLandroid/view/ViewRootImpl;->relayoutWindow(Landroid/view/WindowManager$LayoutParams;IZ)I+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/os/Bundle;Landroid/os/Bundle;]Landroid/util/MergedConfiguration;Landroid/util/MergedConfiguration;]Landroid/view/Display;Landroid/view/Display;]Landroid/view/HdrRenderState;Landroid/view/HdrRenderState;]Landroid/view/IWindowSession;Landroid/view/IWindowSession$Stub$Proxy;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V+]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; +HSPLandroid/view/ViewRootImpl;->relayoutWindow(Landroid/view/WindowManager$LayoutParams;IZ)I+]Landroid/view/IWindowSession;Landroid/view/IWindowSession$Stub$Proxy;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;]Landroid/view/HdrRenderState;Landroid/view/HdrRenderState;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/WindowLayout;Landroid/view/WindowLayout;]Landroid/util/MergedConfiguration;Landroid/util/MergedConfiguration;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/view/Display;Landroid/view/Display; HSPLandroid/view/ViewRootImpl;->removeSendWindowContentChangedCallback()V HSPLandroid/view/ViewRootImpl;->removeSurfaceChangedCallback(Landroid/view/ViewRootImpl$SurfaceChangedCallback;)V HSPLandroid/view/ViewRootImpl;->removeWindowCallbacks(Landroid/view/WindowCallbacks;)V @@ -18276,28 +18360,31 @@ HSPLandroid/view/ViewRootImpl;->requestFitSystemWindows()V HSPLandroid/view/ViewRootImpl;->requestLayout()V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->requestLayoutDuringLayout(Landroid/view/View;)Z HSPLandroid/view/ViewRootImpl;->requestTransparentRegion(Landroid/view/View;)V -HSPLandroid/view/ViewRootImpl;->scheduleConsumeBatchedInput()V+]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer; -HSPLandroid/view/ViewRootImpl;->scheduleTraversals()V+]Landroid/os/Looper;Landroid/os/Looper;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Landroid/view/Choreographer;Landroid/view/Choreographer;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; +HSPLandroid/view/ViewRootImpl;->scheduleConsumeBatchedInput()V +HSPLandroid/view/ViewRootImpl;->scheduleTraversals()V+]Landroid/os/Looper;Landroid/os/Looper;]Landroid/view/ViewRootImpl$ViewRootHandler;Landroid/view/ViewRootImpl$ViewRootHandler;]Landroid/os/MessageQueue;Landroid/os/MessageQueue;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/Choreographer;Landroid/view/Choreographer; HSPLandroid/view/ViewRootImpl;->scrollToRectOrFocus(Landroid/graphics/Rect;Z)Z HSPLandroid/view/ViewRootImpl;->sendBackKeyEvent(I)V HSPLandroid/view/ViewRootImpl;->setAccessibilityFocus(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V HSPLandroid/view/ViewRootImpl;->setAccessibilityWindowAttributesIfNeeded()V HSPLandroid/view/ViewRootImpl;->setActivityConfigCallback(Landroid/view/ViewRootImpl$ActivityConfigCallback;)V HSPLandroid/view/ViewRootImpl;->setBoundsLayerCrop(Landroid/view/SurfaceControl$Transaction;)V -HSPLandroid/view/ViewRootImpl;->setFrame(Landroid/graphics/Rect;Z)V -HSPLandroid/view/ViewRootImpl;->setLayoutParams(Landroid/view/WindowManager$LayoutParams;Z)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams; +HSPLandroid/view/ViewRootImpl;->setFrame(Landroid/graphics/Rect;Z)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/InsetsController;Landroid/view/InsetsController; +HSPLandroid/view/ViewRootImpl;->setLayoutParams(Landroid/view/WindowManager$LayoutParams;Z)V+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl; HSPLandroid/view/ViewRootImpl;->setOnContentApplyWindowInsetsListener(Landroid/view/Window$OnContentApplyWindowInsetsListener;)V HSPLandroid/view/ViewRootImpl;->setTag()V -HSPLandroid/view/ViewRootImpl;->setView(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/view/View;I)V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/Display;Landroid/view/Display;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/view/FallbackEventHandler;Lcom/android/internal/policy/PhoneFallbackEventHandler;]Landroid/view/IWindowSession;Landroid/view/IWindowSession$Stub$Proxy;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/PendingInsetsController;Landroid/view/PendingInsetsController;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/View;Landroid/widget/FrameLayout;,Lcom/android/internal/policy/DecorView;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/WindowLayout;Landroid/view/WindowLayout;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Lcom/android/internal/view/RootViewSurfaceTaker;Lcom/android/internal/policy/DecorView;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; +HSPLandroid/view/ViewRootImpl;->setView(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/view/View;I)V+]Landroid/view/IWindowSession;Landroid/view/IWindowSession$Stub$Proxy;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/content/res/CompatibilityInfo;Landroid/content/res/CompatibilityInfo$1;]Landroid/view/ThreadedRenderer;Landroid/view/ThreadedRenderer;]Landroid/view/InsetsSourceControl$Array;Landroid/view/InsetsSourceControl$Array;]Landroid/view/InsetsController;Landroid/view/InsetsController;]Landroid/view/PendingInsetsController;Landroid/view/PendingInsetsController;]Lcom/android/internal/view/RootViewSurfaceTaker;Lcom/android/internal/policy/DecorView;]Landroid/view/FallbackEventHandler;Lcom/android/internal/policy/PhoneFallbackEventHandler;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/WindowLayout;Landroid/view/WindowLayout;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Landroid/view/DisplayAdjustments;Landroid/view/DisplayAdjustments;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/view/Display;Landroid/view/Display; HSPLandroid/view/ViewRootImpl;->setWindowStopped(Z)V HSPLandroid/view/ViewRootImpl;->shouldDispatchCutout()Z HSPLandroid/view/ViewRootImpl;->shouldOptimizeMeasure(Landroid/view/WindowManager$LayoutParams;)Z +HSPLandroid/view/ViewRootImpl;->shouldSetFrameRate()Z+]Landroid/view/Surface;Landroid/view/Surface; +HSPLandroid/view/ViewRootImpl;->shouldSetFrameRateCategory()Z+]Landroid/view/Surface;Landroid/view/Surface; HSPLandroid/view/ViewRootImpl;->shouldUseDisplaySize(Landroid/view/WindowManager$LayoutParams;)Z HSPLandroid/view/ViewRootImpl;->systemGestureExclusionChanged()V HSPLandroid/view/ViewRootImpl;->unscheduleConsumeBatchedInput()V HSPLandroid/view/ViewRootImpl;->unscheduleTraversals()V -HSPLandroid/view/ViewRootImpl;->updateBlastSurfaceIfNeeded()V +HSPLandroid/view/ViewRootImpl;->updateBlastSurfaceIfNeeded()V+]Landroid/graphics/BLASTBufferQueue;Landroid/graphics/BLASTBufferQueue;]Landroid/view/SurfaceControl;Landroid/view/SurfaceControl; HSPLandroid/view/ViewRootImpl;->updateBoundsLayer(Landroid/view/SurfaceControl$Transaction;)Z +HSPLandroid/view/ViewRootImpl;->updateCaptionInsets()Z HSPLandroid/view/ViewRootImpl;->updateCompatSysUiVisibility(III)V HSPLandroid/view/ViewRootImpl;->updateCompatSystemUiVisibilityInfo(IIII)V HSPLandroid/view/ViewRootImpl;->updateConfiguration(I)V @@ -18320,6 +18407,7 @@ HSPLandroid/view/ViewRootInsetsControllerHost;->getSystemBarsBehavior()I HSPLandroid/view/ViewRootInsetsControllerHost;->getTranslator()Landroid/content/res/CompatibilityInfo$Translator; HSPLandroid/view/ViewRootInsetsControllerHost;->getWindowToken()Landroid/os/IBinder; HSPLandroid/view/ViewRootInsetsControllerHost;->hasAnimationCallbacks()Z +HSPLandroid/view/ViewRootInsetsControllerHost;->isSystemBarsAppearanceControlled()Z HSPLandroid/view/ViewRootInsetsControllerHost;->notifyInsetsChanged()V HSPLandroid/view/ViewRootInsetsControllerHost;->updateCompatSysUiVisibility(III)V HSPLandroid/view/ViewRootRectTracker$ViewInfo;-><init>(Landroid/view/ViewRootRectTracker;Landroid/view/View;)V @@ -18342,16 +18430,16 @@ HSPLandroid/view/ViewStub;->setLayoutResource(I)V HSPLandroid/view/ViewStub;->setOnInflateListener(Landroid/view/ViewStub$OnInflateListener;)V HSPLandroid/view/ViewStub;->setVisibility(I)V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;-><init>()V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->size()I HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;-><init>()V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->add(Ljava/lang/Object;)V HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->addAll(Landroid/view/ViewTreeObserver$CopyOnWriteArray;)V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->end()V +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->end()V+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->getArray()Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->remove(Ljava/lang/Object;)V -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I -HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I+]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;-><init>()V HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->equals(Ljava/lang/Object;)Z HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->isEmpty()Z @@ -18367,10 +18455,10 @@ HSPLandroid/view/ViewTreeObserver;->addOnScrollChangedListener(Landroid/view/Vie HSPLandroid/view/ViewTreeObserver;->captureFrameCommitCallbacks()Ljava/util/ArrayList; HSPLandroid/view/ViewTreeObserver;->checkIsAlive()V HSPLandroid/view/ViewTreeObserver;->dispatchOnComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V -HSPLandroid/view/ViewTreeObserver;->dispatchOnDraw()V +HSPLandroid/view/ViewTreeObserver;->dispatchOnDraw()V+]Ljava/util/ArrayList;Ljava/util/ArrayList;]Landroid/view/ViewTreeObserver$OnDrawListener;Landroid/widget/Editor$2; HSPLandroid/view/ViewTreeObserver;->dispatchOnEnterAnimationComplete()V -HSPLandroid/view/ViewTreeObserver;->dispatchOnGlobalLayout()V -HSPLandroid/view/ViewTreeObserver;->dispatchOnPreDraw()Z +HSPLandroid/view/ViewTreeObserver;->dispatchOnGlobalLayout()V+]Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;]Landroid/view/ViewTreeObserver$CopyOnWriteArray;Landroid/view/ViewTreeObserver$CopyOnWriteArray; +HSPLandroid/view/ViewTreeObserver;->dispatchOnPreDraw()Z+]Landroid/view/ViewTreeObserver$OnPreDrawListener;missing_types]Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;]Landroid/view/ViewTreeObserver$CopyOnWriteArray;Landroid/view/ViewTreeObserver$CopyOnWriteArray; HSPLandroid/view/ViewTreeObserver;->dispatchOnScrollChanged()V HSPLandroid/view/ViewTreeObserver;->dispatchOnSystemGestureExclusionRectsChanged(Ljava/util/List;)V HSPLandroid/view/ViewTreeObserver;->dispatchOnTouchModeChanged(Z)V @@ -18418,7 +18506,7 @@ HSPLandroid/view/Window;->makeActive()V HSPLandroid/view/Window;->onDrawLegacyNavigationBarBackgroundChanged(Z)Z HSPLandroid/view/Window;->removeOnFrameMetricsAvailableListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V HSPLandroid/view/Window;->requestFeature(I)Z -HSPLandroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V +HSPLandroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V+]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/Window;Lcom/android/internal/policy/PhoneWindow; HSPLandroid/view/Window;->setBackgroundBlurRadius(I)V HSPLandroid/view/Window;->setCallback(Landroid/view/Window$Callback;)V HSPLandroid/view/Window;->setCloseOnTouchOutside(Z)V @@ -18453,6 +18541,7 @@ HSPLandroid/view/WindowInsets$Type;->statusBars()I HSPLandroid/view/WindowInsets$Type;->systemBars()I HSPLandroid/view/WindowInsets$Type;->systemGestures()I HSPLandroid/view/WindowInsets$Type;->toString(I)Ljava/lang/String; +HSPLandroid/view/WindowInsets;-><init>([Landroid/graphics/Insets;[Landroid/graphics/Insets;[ZZIILandroid/view/DisplayCutout;Landroid/view/RoundedCorners;Landroid/view/PrivacyIndicatorBounds;Landroid/view/DisplayShape;IZ[[Landroid/graphics/Rect;[[Landroid/graphics/Rect;II)V+]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;][Landroid/graphics/Insets;[Landroid/graphics/Insets;][[Landroid/graphics/Rect;[[Landroid/graphics/Rect; HSPLandroid/view/WindowInsets;->assignCompatInsets([Landroid/graphics/Insets;Landroid/graphics/Rect;)V HSPLandroid/view/WindowInsets;->consumeDisplayCutout()Landroid/view/WindowInsets; HSPLandroid/view/WindowInsets;->consumeStableInsets()Landroid/view/WindowInsets; @@ -18474,13 +18563,13 @@ HSPLandroid/view/WindowInsets;->getSystemWindowInsetBottom()I HSPLandroid/view/WindowInsets;->getSystemWindowInsetLeft()I HSPLandroid/view/WindowInsets;->getSystemWindowInsetRight()I HSPLandroid/view/WindowInsets;->getSystemWindowInsetTop()I -HSPLandroid/view/WindowInsets;->getSystemWindowInsets()Landroid/graphics/Insets;+]Landroid/view/WindowInsets;Landroid/view/WindowInsets; +HSPLandroid/view/WindowInsets;->getSystemWindowInsets()Landroid/graphics/Insets; HSPLandroid/view/WindowInsets;->getSystemWindowInsetsAsRect()Landroid/graphics/Rect; HSPLandroid/view/WindowInsets;->inset(IIII)Landroid/view/WindowInsets; HSPLandroid/view/WindowInsets;->inset(Landroid/graphics/Insets;)Landroid/view/WindowInsets; HSPLandroid/view/WindowInsets;->insetInsets(Landroid/graphics/Insets;IIII)Landroid/graphics/Insets; HSPLandroid/view/WindowInsets;->insetInsets([Landroid/graphics/Insets;IIII)[Landroid/graphics/Insets; -HSPLandroid/view/WindowInsets;->insetUnchecked(IIII)Landroid/view/WindowInsets;+]Landroid/view/PrivacyIndicatorBounds;Landroid/view/PrivacyIndicatorBounds;]Landroid/view/RoundedCorners;Landroid/view/RoundedCorners; +HSPLandroid/view/WindowInsets;->insetUnchecked(IIII)Landroid/view/WindowInsets; HSPLandroid/view/WindowInsets;->isConsumed()Z HSPLandroid/view/WindowInsets;->isRound()Z HSPLandroid/view/WindowInsets;->replaceSystemWindowInsets(IIII)Landroid/view/WindowInsets; @@ -18491,8 +18580,8 @@ HSPLandroid/view/WindowInsetsAnimation;->getTypeMask()I HSPLandroid/view/WindowInsetsAnimation;->setAlpha(F)V HSPLandroid/view/WindowLayout;-><clinit>()V HSPLandroid/view/WindowLayout;-><init>()V -HSPLandroid/view/WindowLayout;->computeFrames(Landroid/view/WindowManager$LayoutParams;Landroid/view/InsetsState;Landroid/graphics/Rect;Landroid/graphics/Rect;IIIIFLandroid/window/ClientWindowFrames;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;]Landroid/view/InsetsSource;Landroid/view/InsetsSource;]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams; -HSPLandroid/view/WindowLayout;->computeSurfaceSize(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;IILandroid/graphics/Rect;ZLandroid/graphics/Point;)V +HSPLandroid/view/WindowLayout;->computeFrames(Landroid/view/WindowManager$LayoutParams;Landroid/view/InsetsState;Landroid/graphics/Rect;Landroid/graphics/Rect;IIIIFLandroid/window/ClientWindowFrames;)V+]Landroid/view/InsetsState;Landroid/view/InsetsState;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Landroid/view/DisplayCutout;Landroid/view/DisplayCutout;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/view/WindowLayout;->computeSurfaceSize(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;IILandroid/graphics/Rect;ZLandroid/graphics/Point;)V+]Landroid/graphics/Point;Landroid/graphics/Point;]Landroid/graphics/Rect;Landroid/graphics/Rect; HSPLandroid/view/WindowLeaked;-><init>(Ljava/lang/String;)V HSPLandroid/view/WindowManager$LayoutParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/WindowManager$LayoutParams; HSPLandroid/view/WindowManager$LayoutParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -18527,7 +18616,7 @@ HSPLandroid/view/WindowManagerGlobal;->closeAll(Landroid/os/IBinder;Ljava/lang/S HSPLandroid/view/WindowManagerGlobal;->closeAllExceptView(Landroid/os/IBinder;Landroid/view/View;Ljava/lang/String;Ljava/lang/String;)V HSPLandroid/view/WindowManagerGlobal;->doRemoveView(Landroid/view/ViewRootImpl;)V HSPLandroid/view/WindowManagerGlobal;->dumpGfxInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V -HSPLandroid/view/WindowManagerGlobal;->findViewLocked(Landroid/view/View;Z)I +HSPLandroid/view/WindowManagerGlobal;->findViewLocked(Landroid/view/View;Z)I+]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/WindowManagerGlobal;->getInstance()Landroid/view/WindowManagerGlobal; HSPLandroid/view/WindowManagerGlobal;->getRootViews(Landroid/os/IBinder;)Ljava/util/ArrayList; HSPLandroid/view/WindowManagerGlobal;->getWindowManagerService()Landroid/view/IWindowManager; @@ -18537,9 +18626,9 @@ HSPLandroid/view/WindowManagerGlobal;->initialize()V HSPLandroid/view/WindowManagerGlobal;->peekWindowSession()Landroid/view/IWindowSession; HSPLandroid/view/WindowManagerGlobal;->removeView(Landroid/view/View;Z)V HSPLandroid/view/WindowManagerGlobal;->removeViewLocked(IZ)V -HSPLandroid/view/WindowManagerGlobal;->setStoppedState(Landroid/os/IBinder;Z)V+]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Landroid/view/WindowManagerGlobal;Landroid/view/WindowManagerGlobal;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/view/WindowManagerGlobal;->setStoppedState(Landroid/os/IBinder;Z)V HSPLandroid/view/WindowManagerGlobal;->trimMemory(I)V -HSPLandroid/view/WindowManagerGlobal;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V +HSPLandroid/view/WindowManagerGlobal;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl;]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/view/WindowManagerImpl;-><init>(Landroid/content/Context;)V HSPLandroid/view/WindowManagerImpl;-><init>(Landroid/content/Context;Landroid/view/Window;Landroid/os/IBinder;)V HSPLandroid/view/WindowManagerImpl;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V @@ -18552,7 +18641,7 @@ HSPLandroid/view/WindowManagerImpl;->getDefaultDisplay()Landroid/view/Display; HSPLandroid/view/WindowManagerImpl;->getMaximumWindowMetrics()Landroid/view/WindowMetrics; HSPLandroid/view/WindowManagerImpl;->removeView(Landroid/view/View;)V HSPLandroid/view/WindowManagerImpl;->removeViewImmediate(Landroid/view/View;)V -HSPLandroid/view/WindowManagerImpl;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V +HSPLandroid/view/WindowManagerImpl;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V+]Landroid/view/WindowManagerGlobal;Landroid/view/WindowManagerGlobal; HSPLandroid/view/WindowMetrics;-><init>(Landroid/graphics/Rect;Landroid/view/WindowInsets;)V HSPLandroid/view/WindowMetrics;-><init>(Landroid/graphics/Rect;Ljava/util/function/Supplier;F)V HSPLandroid/view/WindowMetrics;->getBounds()Landroid/graphics/Rect; @@ -18594,8 +18683,8 @@ HSPLandroid/view/accessibility/AccessibilityManager;->updateFocusAppearanceLocke HSPLandroid/view/accessibility/AccessibilityManager;->updateUiTimeout(J)V HSPLandroid/view/accessibility/AccessibilityNodeIdManager;-><init>()V HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->getInstance()Landroid/view/accessibility/AccessibilityNodeIdManager; -HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->registerViewWithId(Landroid/view/View;I)V+]Landroid/view/accessibility/WeakSparseArray;Landroid/view/accessibility/WeakSparseArray; -HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->unregisterViewWithId(I)V+]Landroid/view/accessibility/WeakSparseArray;Landroid/view/accessibility/WeakSparseArray; +HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->registerViewWithId(Landroid/view/View;I)V +HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->unregisterViewWithId(I)V HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;-><init>(ILjava/lang/CharSequence;)V HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->equals(Ljava/lang/Object;)Z HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->getId()I @@ -18635,9 +18724,9 @@ HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub;->getTransaction HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z HSPLandroid/view/accessibility/WeakSparseArray$WeakReferenceWithId;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;I)V HSPLandroid/view/accessibility/WeakSparseArray;-><init>()V -HSPLandroid/view/accessibility/WeakSparseArray;->append(ILjava/lang/Object;)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLandroid/view/accessibility/WeakSparseArray;->remove(I)V+]Landroid/util/SparseArray;Landroid/util/SparseArray; -HSPLandroid/view/accessibility/WeakSparseArray;->removeUnreachableValues()V+]Ljava/lang/ref/ReferenceQueue;Ljava/lang/ref/ReferenceQueue; +HSPLandroid/view/accessibility/WeakSparseArray;->append(ILjava/lang/Object;)V +HSPLandroid/view/accessibility/WeakSparseArray;->remove(I)V +HSPLandroid/view/accessibility/WeakSparseArray;->removeUnreachableValues()V HSPLandroid/view/animation/AccelerateDecelerateInterpolator;-><init>()V HSPLandroid/view/animation/AccelerateDecelerateInterpolator;->createNativeInterpolator()J HSPLandroid/view/animation/AccelerateDecelerateInterpolator;->getInterpolation(F)F @@ -18647,7 +18736,7 @@ HSPLandroid/view/animation/AccelerateInterpolator;-><init>(Landroid/content/res/ HSPLandroid/view/animation/AccelerateInterpolator;->getInterpolation(F)F HSPLandroid/view/animation/AlphaAnimation;-><init>(FF)V HSPLandroid/view/animation/AlphaAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V -HSPLandroid/view/animation/AlphaAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V+]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation; +HSPLandroid/view/animation/AlphaAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V HSPLandroid/view/animation/AlphaAnimation;->hasAlpha()Z HSPLandroid/view/animation/AlphaAnimation;->willChangeBounds()Z HSPLandroid/view/animation/AlphaAnimation;->willChangeTransformationMatrix()Z @@ -18656,7 +18745,7 @@ HSPLandroid/view/animation/Animation$3;->run()V HSPLandroid/view/animation/Animation$Description;-><init>()V HSPLandroid/view/animation/Animation$Description;->parseValue(Landroid/util/TypedValue;Landroid/content/Context;)Landroid/view/animation/Animation$Description; HSPLandroid/view/animation/Animation;-><init>()V -HSPLandroid/view/animation/Animation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/RotateAnimation; +HSPLandroid/view/animation/Animation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/view/animation/Animation;->cancel()V HSPLandroid/view/animation/Animation;->detach()V HSPLandroid/view/animation/Animation;->dispatchAnimationEnd()V @@ -18665,12 +18754,12 @@ HSPLandroid/view/animation/Animation;->ensureInterpolator()V HSPLandroid/view/animation/Animation;->finalize()V HSPLandroid/view/animation/Animation;->getDuration()J HSPLandroid/view/animation/Animation;->getFillAfter()Z -HSPLandroid/view/animation/Animation;->getInvalidateRegion(IIIILandroid/graphics/RectF;Landroid/view/animation/Transformation;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation; +HSPLandroid/view/animation/Animation;->getInvalidateRegion(IIIILandroid/graphics/RectF;Landroid/view/animation/Transformation;)V HSPLandroid/view/animation/Animation;->getScaleFactor()F HSPLandroid/view/animation/Animation;->getStartOffset()J -HSPLandroid/view/animation/Animation;->getTransformation(JLandroid/view/animation/Transformation;)Z+]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/RotateAnimation;]Ldalvik/system/CloseGuard;Ldalvik/system/CloseGuard; -HSPLandroid/view/animation/Animation;->getTransformation(JLandroid/view/animation/Transformation;F)Z+]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/RotateAnimation; -HSPLandroid/view/animation/Animation;->getTransformationAt(FLandroid/view/animation/Transformation;)V+]Landroid/view/animation/Animation;Landroid/view/animation/AlphaAnimation;,Landroid/view/animation/RotateAnimation;]Landroid/view/animation/Interpolator;Landroid/view/animation/AccelerateDecelerateInterpolator;,Landroid/view/animation/LinearInterpolator; +HSPLandroid/view/animation/Animation;->getTransformation(JLandroid/view/animation/Transformation;)Z +HSPLandroid/view/animation/Animation;->getTransformation(JLandroid/view/animation/Transformation;F)Z +HSPLandroid/view/animation/Animation;->getTransformationAt(FLandroid/view/animation/Transformation;)V HSPLandroid/view/animation/Animation;->hasAlpha()Z HSPLandroid/view/animation/Animation;->hasEnded()Z HSPLandroid/view/animation/Animation;->hasStarted()Z @@ -18727,7 +18816,7 @@ HSPLandroid/view/animation/AnimationUtils$AnimationState;-><init>()V HSPLandroid/view/animation/AnimationUtils$AnimationState;-><init>(Landroid/view/animation/AnimationUtils$AnimationState-IA;)V HSPLandroid/view/animation/AnimationUtils;->createAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/Animation; HSPLandroid/view/animation/AnimationUtils;->createAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/view/animation/AnimationSet;Landroid/util/AttributeSet;)Landroid/view/animation/Animation; -HSPLandroid/view/animation/AnimationUtils;->createInterpolatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/Interpolator;+]Ljava/lang/Object;Ljava/lang/String;]Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/XmlBlock$Parser; +HSPLandroid/view/animation/AnimationUtils;->createInterpolatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/Interpolator; HSPLandroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J HSPLandroid/view/animation/AnimationUtils;->loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation; HSPLandroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator; @@ -18753,7 +18842,7 @@ HSPLandroid/view/animation/PathInterpolator;-><init>(Landroid/content/res/Resour HSPLandroid/view/animation/PathInterpolator;->createNativeInterpolator()J HSPLandroid/view/animation/PathInterpolator;->getInterpolation(F)F HSPLandroid/view/animation/PathInterpolator;->initCubic(FFFF)V -HSPLandroid/view/animation/PathInterpolator;->initPath(Landroid/graphics/Path;)V +HSPLandroid/view/animation/PathInterpolator;->initPath(Landroid/graphics/Path;)V+]Landroid/graphics/Path;Landroid/graphics/Path; HSPLandroid/view/animation/PathInterpolator;->parseInterpolatorFromTypeArray(Landroid/content/res/TypedArray;)V HSPLandroid/view/animation/ScaleAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/view/animation/ScaleAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V @@ -18761,13 +18850,13 @@ HSPLandroid/view/animation/ScaleAnimation;->initialize(IIII)V HSPLandroid/view/animation/ScaleAnimation;->initializePivotPoint()V HSPLandroid/view/animation/ScaleAnimation;->resolveScale(FIIII)F HSPLandroid/view/animation/Transformation;-><init>()V -HSPLandroid/view/animation/Transformation;->clear()V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/view/animation/Transformation;->clear()V HSPLandroid/view/animation/Transformation;->compose(Landroid/view/animation/Transformation;)V HSPLandroid/view/animation/Transformation;->getAlpha()F HSPLandroid/view/animation/Transformation;->getInsets()Landroid/graphics/Insets; HSPLandroid/view/animation/Transformation;->getMatrix()Landroid/graphics/Matrix; HSPLandroid/view/animation/Transformation;->getTransformationType()I -HSPLandroid/view/animation/Transformation;->set(Landroid/view/animation/Transformation;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/view/animation/Transformation;Landroid/view/animation/Transformation; +HSPLandroid/view/animation/Transformation;->set(Landroid/view/animation/Transformation;)V HSPLandroid/view/animation/Transformation;->setAlpha(F)V HSPLandroid/view/animation/Transformation;->setInsets(Landroid/graphics/Insets;)V HSPLandroid/view/animation/TranslateAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V @@ -18840,7 +18929,7 @@ HSPLandroid/view/autofill/AutofillManager;->hasFillDialogUiFeature()Z HSPLandroid/view/autofill/AutofillManager;->isActiveLocked()Z HSPLandroid/view/autofill/AutofillManager;->isDisabledByServiceLocked()Z HSPLandroid/view/autofill/AutofillManager;->isEnabled()Z -HSPLandroid/view/autofill/AutofillManager;->notifyValueChanged(Landroid/view/View;)V+]Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager; +HSPLandroid/view/autofill/AutofillManager;->notifyValueChanged(Landroid/view/View;)V HSPLandroid/view/autofill/AutofillManager;->notifyViewEntered(Landroid/view/View;I)V HSPLandroid/view/autofill/AutofillManager;->notifyViewEnteredForAugmentedAutofill(Landroid/view/View;)V HSPLandroid/view/autofill/AutofillManager;->notifyViewEnteredForFillDialog(Landroid/view/View;)V @@ -18872,6 +18961,7 @@ HSPLandroid/view/autofill/IAugmentedAutofillManagerClient$Stub;-><init>()V HSPLandroid/view/autofill/IAugmentedAutofillManagerClient$Stub;->asBinder()Landroid/os/IBinder; HSPLandroid/view/autofill/IAugmentedAutofillManagerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V +HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->addClient(Landroid/view/autofill/IAutoFillManagerClient;Landroid/content/ComponentName;ILcom/android/internal/os/IResultReceiver;)V HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->asBinder()Landroid/os/IBinder; HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->cancelSession(II)V HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->getAutofillServiceComponentName(Lcom/android/internal/os/IResultReceiver;)V @@ -19112,7 +19202,7 @@ HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;-><init>(Landroid/v HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onPostWindowGainedFocus(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;)V HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onPreWindowGainedFocus(Landroid/view/ViewRootImpl;)V HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onScheduledCheckFocus(Landroid/view/ViewRootImpl;)V -HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onViewDetachedFromWindow(Landroid/view/View;Landroid/view/ViewRootImpl;)V+]Landroid/view/View;missing_types +HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onViewDetachedFromWindow(Landroid/view/View;Landroid/view/ViewRootImpl;)V HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->onWindowDismissed(Landroid/view/ViewRootImpl;)V HSPLandroid/view/inputmethod/InputMethodManager$DelegateImpl;->setCurrentRootViewLocked(Landroid/view/ViewRootImpl;)V HSPLandroid/view/inputmethod/InputMethodManager$H$$ExternalSyntheticLambda0;->run()V @@ -19439,17 +19529,17 @@ HSPLandroid/widget/AbsListView$AdapterDataSetObserver;->onChanged()V HSPLandroid/widget/AbsListView$DeviceConfigChangeListener;-><init>()V HSPLandroid/widget/AbsListView$DeviceConfigChangeListener;-><init>(Landroid/widget/AbsListView$DeviceConfigChangeListener-IA;)V HSPLandroid/widget/AbsListView$PerformClick;->run()V -HSPLandroid/widget/AbsListView$RecycleBin;->addScrapView(Landroid/view/View;I)V+]Landroid/view/View;Landroid/widget/LinearLayout;]Landroid/widget/AbsListView$RecycleBin;Landroid/widget/AbsListView$RecycleBin;]Landroid/widget/AbsListView;Landroid/widget/ListView;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/widget/AbsListView$RecycleBin;->addScrapView(Landroid/view/View;I)V HSPLandroid/widget/AbsListView$RecycleBin;->clear()V HSPLandroid/widget/AbsListView$RecycleBin;->clearTransientStateViews()V HSPLandroid/widget/AbsListView$RecycleBin;->fillActiveViews(II)V HSPLandroid/widget/AbsListView$RecycleBin;->getActiveView(I)Landroid/view/View; -HSPLandroid/widget/AbsListView$RecycleBin;->getScrapView(I)Landroid/view/View;+]Landroid/widget/ListAdapter;missing_types +HSPLandroid/widget/AbsListView$RecycleBin;->getScrapView(I)Landroid/view/View; HSPLandroid/widget/AbsListView$RecycleBin;->getTransientStateView(I)Landroid/view/View; HSPLandroid/widget/AbsListView$RecycleBin;->markChildrenDirty()V HSPLandroid/widget/AbsListView$RecycleBin;->pruneScrapViews()V HSPLandroid/widget/AbsListView$RecycleBin;->removeSkippedScrap()V -HSPLandroid/widget/AbsListView$RecycleBin;->retrieveFromScrap(Ljava/util/ArrayList;I)Landroid/view/View;+]Landroid/view/View;Landroid/widget/LinearLayout;]Landroid/widget/ListAdapter;Landroid/preference/PreferenceGroupAdapter;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/widget/AbsListView$RecycleBin;->retrieveFromScrap(Ljava/util/ArrayList;I)Landroid/view/View; HSPLandroid/widget/AbsListView$RecycleBin;->scrapActiveViews()V HSPLandroid/widget/AbsListView$RecycleBin;->setViewTypeCount(I)V HSPLandroid/widget/AbsListView$RecycleBin;->shouldRecycleViewType(I)Z @@ -19459,12 +19549,12 @@ HSPLandroid/widget/AbsListView$WindowRunnnable;->sameWindow()Z HSPLandroid/widget/AbsListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V HSPLandroid/widget/AbsListView;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z HSPLandroid/widget/AbsListView;->clearChoices()V -HSPLandroid/widget/AbsListView;->computeVerticalScrollExtent()I+]Landroid/view/View;Landroid/widget/CheckedTextView;,Landroid/widget/LinearLayout;]Landroid/widget/AbsListView;missing_types -HSPLandroid/widget/AbsListView;->computeVerticalScrollOffset()I+]Landroid/view/View;Landroid/widget/CheckedTextView;,Landroid/widget/LinearLayout;]Landroid/widget/AbsListView;missing_types +HSPLandroid/widget/AbsListView;->computeVerticalScrollExtent()I +HSPLandroid/widget/AbsListView;->computeVerticalScrollOffset()I HSPLandroid/widget/AbsListView;->computeVerticalScrollRange()I HSPLandroid/widget/AbsListView;->dispatchDraw(Landroid/graphics/Canvas;)V HSPLandroid/widget/AbsListView;->dispatchSetPressed(Z)V -HSPLandroid/widget/AbsListView;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/widget/AbsListView;missing_types]Landroid/widget/EdgeEffect;Landroid/widget/EdgeEffect; +HSPLandroid/widget/AbsListView;->draw(Landroid/graphics/Canvas;)V HSPLandroid/widget/AbsListView;->drawableStateChanged()V HSPLandroid/widget/AbsListView;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams; HSPLandroid/widget/AbsListView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams; @@ -19482,7 +19572,7 @@ HSPLandroid/widget/AbsListView;->isFastScrollEnabled()Z HSPLandroid/widget/AbsListView;->isInFilterMode()Z HSPLandroid/widget/AbsListView;->isVerticalScrollBarHidden()Z HSPLandroid/widget/AbsListView;->jumpDrawablesToCurrentState()V -HSPLandroid/widget/AbsListView;->obtainView(I[Z)Landroid/view/View;+]Landroid/view/View;Landroid/widget/CheckedTextView;,Landroid/widget/LinearLayout;]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Landroid/widget/AbsListView$RecycleBin;Landroid/widget/AbsListView$RecycleBin;]Landroid/widget/ListAdapter;missing_types +HSPLandroid/widget/AbsListView;->obtainView(I[Z)Landroid/view/View; HSPLandroid/widget/AbsListView;->onAttachedToWindow()V HSPLandroid/widget/AbsListView;->onCancelPendingInputEvents()V HSPLandroid/widget/AbsListView;->onDetachedFromWindow()V @@ -19492,9 +19582,9 @@ HSPLandroid/widget/AbsListView;->onMeasure(II)V HSPLandroid/widget/AbsListView;->onRtlPropertiesChanged(I)V HSPLandroid/widget/AbsListView;->onSaveInstanceState()Landroid/os/Parcelable; HSPLandroid/widget/AbsListView;->onTouchDown(Landroid/view/MotionEvent;)V -HSPLandroid/widget/AbsListView;->onTouchEvent(Landroid/view/MotionEvent;)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/VelocityTracker;Landroid/view/VelocityTracker;]Landroid/widget/AbsListView;Landroid/widget/ListView; +HSPLandroid/widget/AbsListView;->onTouchEvent(Landroid/view/MotionEvent;)Z HSPLandroid/widget/AbsListView;->onTouchModeChanged(Z)V -HSPLandroid/widget/AbsListView;->onTouchMove(Landroid/view/MotionEvent;Landroid/view/MotionEvent;)V+]Landroid/view/MotionEvent;Landroid/view/MotionEvent;]Landroid/view/View;Landroid/widget/LinearLayout;]Landroid/widget/AbsListView;Landroid/widget/ListView; +HSPLandroid/widget/AbsListView;->onTouchMove(Landroid/view/MotionEvent;Landroid/view/MotionEvent;)V HSPLandroid/widget/AbsListView;->onTouchUp(Landroid/view/MotionEvent;)V HSPLandroid/widget/AbsListView;->onWindowFocusChanged(Z)V HSPLandroid/widget/AbsListView;->performItemClick(Landroid/view/View;IJ)Z @@ -19509,7 +19599,7 @@ HSPLandroid/widget/AbsListView;->setFastScrollAlwaysVisible(Z)V HSPLandroid/widget/AbsListView;->setFastScrollEnabled(Z)V HSPLandroid/widget/AbsListView;->setFastScrollStyle(I)V HSPLandroid/widget/AbsListView;->setFrame(IIII)Z -HSPLandroid/widget/AbsListView;->setItemViewLayoutParams(Landroid/view/View;I)V+]Landroid/view/View;Landroid/widget/CheckedTextView;,Landroid/widget/LinearLayout;]Landroid/widget/AbsListView;missing_types]Landroid/widget/ListAdapter;missing_types +HSPLandroid/widget/AbsListView;->setItemViewLayoutParams(Landroid/view/View;I)V HSPLandroid/widget/AbsListView;->setOnScrollListener(Landroid/widget/AbsListView$OnScrollListener;)V HSPLandroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V HSPLandroid/widget/AbsListView;->setSelectionFromTop(II)V @@ -19649,7 +19739,7 @@ HSPLandroid/widget/EdgeEffect;->isAtEquilibrium()Z HSPLandroid/widget/EdgeEffect;->isFinished()Z HSPLandroid/widget/EdgeEffect;->onAbsorb(I)V HSPLandroid/widget/EdgeEffect;->onPull(FF)V+]Landroid/graphics/Rect;Landroid/graphics/Rect; -HSPLandroid/widget/EdgeEffect;->onPullDistance(FF)F+]Landroid/widget/EdgeEffect;Landroid/widget/EdgeEffect; +HSPLandroid/widget/EdgeEffect;->onPullDistance(FF)F HSPLandroid/widget/EdgeEffect;->onRelease()V HSPLandroid/widget/EdgeEffect;->setSize(II)V HSPLandroid/widget/EdgeEffect;->update()V @@ -19674,7 +19764,7 @@ HSPLandroid/widget/Editor$AccessibilitySmartActions;-><init>(Landroid/widget/Tex HSPLandroid/widget/Editor$Blink;->cancel()V HSPLandroid/widget/Editor$Blink;->run()V HSPLandroid/widget/Editor$Blink;->uncancel()V -HSPLandroid/widget/Editor$CursorAnchorInfoNotifier;->updatePosition(IIZZ)V +HSPLandroid/widget/Editor$CursorAnchorInfoNotifier;->updatePosition(IIZZ)V+]Landroid/view/inputmethod/InputMethodManager;Landroid/view/inputmethod/InputMethodManager; HSPLandroid/widget/Editor$EditOperation;-><init>(Landroid/widget/Editor;Ljava/lang/String;ILjava/lang/String;Z)V HSPLandroid/widget/Editor$EditOperation;->commit()V HSPLandroid/widget/Editor$EditOperation;->forceMergeWith(Landroid/widget/Editor$EditOperation;)V @@ -19718,10 +19808,10 @@ HSPLandroid/widget/Editor$InsertionPointCursorController;->onDetached()V HSPLandroid/widget/Editor$InsertionPointCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V HSPLandroid/widget/Editor$InsertionPointCursorController;->show()V HSPLandroid/widget/Editor$PositionListener;->addSubscriber(Landroid/widget/Editor$TextViewPositionListener;Z)V -HSPLandroid/widget/Editor$PositionListener;->onPreDraw()Z +HSPLandroid/widget/Editor$PositionListener;->onPreDraw()Z+]Landroid/widget/Editor$TextViewPositionListener;Landroid/widget/Editor$CursorAnchorInfoNotifier;,Landroid/widget/Editor$InsertionHandleView; HSPLandroid/widget/Editor$PositionListener;->onScrollChanged()V HSPLandroid/widget/Editor$PositionListener;->removeSubscriber(Landroid/widget/Editor$TextViewPositionListener;)V -HSPLandroid/widget/Editor$PositionListener;->updatePosition()V +HSPLandroid/widget/Editor$PositionListener;->updatePosition()V+]Landroid/widget/TextView;Landroid/widget/EditText; HSPLandroid/widget/Editor$ProcessTextIntentActionsHandler;-><init>(Landroid/widget/Editor;)V HSPLandroid/widget/Editor$SelectionModifierCursorController;->getMinTouchOffset()I HSPLandroid/widget/Editor$SelectionModifierCursorController;->hide()V @@ -19730,7 +19820,7 @@ HSPLandroid/widget/Editor$SelectionModifierCursorController;->isCursorBeingModif HSPLandroid/widget/Editor$SelectionModifierCursorController;->isDragAcceleratorActive()Z HSPLandroid/widget/Editor$SelectionModifierCursorController;->isSelectionStartDragged()Z HSPLandroid/widget/Editor$SelectionModifierCursorController;->onDetached()V -HSPLandroid/widget/Editor$SelectionModifierCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V +HSPLandroid/widget/Editor$SelectionModifierCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V+]Landroid/widget/EditorTouchState;Landroid/widget/EditorTouchState;]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/widget/Editor$SelectionModifierCursorController;Landroid/widget/Editor$SelectionModifierCursorController;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/widget/Editor$SelectionModifierCursorController;->resetDragAcceleratorState()V HSPLandroid/widget/Editor$SelectionModifierCursorController;->resetTouchOffsets()V HSPLandroid/widget/Editor$SelectionModifierCursorController;->updateSelection(Landroid/view/MotionEvent;)V @@ -19738,7 +19828,7 @@ HSPLandroid/widget/Editor$SpanController;->hide()V HSPLandroid/widget/Editor$SpanController;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V HSPLandroid/widget/Editor$SpanController;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V HSPLandroid/widget/Editor$SpanController;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V -HSPLandroid/widget/Editor$TextRenderNode;->needsRecord()Z +HSPLandroid/widget/Editor$TextRenderNode;->needsRecord()Z+]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode; HSPLandroid/widget/Editor$UndoInputFilter;->beginBatchEdit()V HSPLandroid/widget/Editor$UndoInputFilter;->canUndoEdit(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Z HSPLandroid/widget/Editor$UndoInputFilter;->endBatchEdit()V @@ -19759,7 +19849,7 @@ HSPLandroid/widget/Editor;->createInputContentTypeIfNeeded()V HSPLandroid/widget/Editor;->createInputMethodStateIfNeeded()V HSPLandroid/widget/Editor;->discardTextDisplayLists()V HSPLandroid/widget/Editor;->downgradeEasyCorrectionSpans()V -HSPLandroid/widget/Editor;->drawHardwareAcceleratedInner(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I[I[IIII)I +HSPLandroid/widget/Editor;->drawHardwareAcceleratedInner(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I[I[IIII)I+]Landroid/widget/Editor$TextRenderNode;Landroid/widget/Editor$TextRenderNode;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Landroid/text/Layout;Landroid/text/DynamicLayout;]Landroid/graphics/RenderNode;Landroid/graphics/RenderNode;]Landroid/graphics/RecordingCanvas;Landroid/graphics/RecordingCanvas; HSPLandroid/widget/Editor;->endBatchEdit()V HSPLandroid/widget/Editor;->ensureEndedBatchEdit()V HSPLandroid/widget/Editor;->ensureNoSelectionIfNonSelectable()V @@ -19795,10 +19885,10 @@ HSPLandroid/widget/Editor;->onFocusChanged(ZI)V HSPLandroid/widget/Editor;->onLocaleChanged()V HSPLandroid/widget/Editor;->onScreenStateChanged(I)V HSPLandroid/widget/Editor;->onScrollChanged()V -HSPLandroid/widget/Editor;->onTouchEvent(Landroid/view/MotionEvent;)V +HSPLandroid/widget/Editor;->onTouchEvent(Landroid/view/MotionEvent;)V+]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/widget/EditorTouchState;Landroid/widget/EditorTouchState;]Landroid/widget/Editor$SelectionModifierCursorController;Landroid/widget/Editor$SelectionModifierCursorController;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/widget/Editor;->onTouchUpEvent(Landroid/view/MotionEvent;)V HSPLandroid/widget/Editor;->onWindowFocusChanged(Z)V -HSPLandroid/widget/Editor;->prepareCursorControllers()V +HSPLandroid/widget/Editor;->prepareCursorControllers()V+]Landroid/view/View;Lcom/android/internal/policy/DecorView;]Landroid/widget/Editor;Landroid/widget/Editor; HSPLandroid/widget/Editor;->refreshTextActionMode()V HSPLandroid/widget/Editor;->reportExtractedText()Z HSPLandroid/widget/Editor;->restoreInstanceState(Landroid/os/ParcelableParcel;)V @@ -19823,19 +19913,19 @@ HSPLandroid/widget/EditorTouchState;->getLastDownY()F HSPLandroid/widget/EditorTouchState;->isMovedEnoughForDrag()Z HSPLandroid/widget/EditorTouchState;->isMultiTap()Z HSPLandroid/widget/EditorTouchState;->isMultiTapInSameArea()Z -HSPLandroid/widget/EditorTouchState;->update(Landroid/view/MotionEvent;Landroid/view/ViewConfiguration;)V +HSPLandroid/widget/EditorTouchState;->update(Landroid/view/MotionEvent;Landroid/view/ViewConfiguration;)V+]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/widget/Filter;-><init>()V HSPLandroid/widget/ForwardingListener;-><init>(Landroid/view/View;)V HSPLandroid/widget/ForwardingListener;->onViewAttachedToWindow(Landroid/view/View;)V HSPLandroid/widget/ForwardingListener;->onViewDetachedFromWindow(Landroid/view/View;)V HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(II)V HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(III)V -HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; +HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/widget/FrameLayout;missing_types +HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V HSPLandroid/widget/FrameLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z HSPLandroid/widget/FrameLayout;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams; HSPLandroid/widget/FrameLayout;->generateDefaultLayoutParams()Landroid/widget/FrameLayout$LayoutParams; @@ -19849,7 +19939,7 @@ HSPLandroid/widget/FrameLayout;->getPaddingRightWithForeground()I+]Landroid/widg HSPLandroid/widget/FrameLayout;->getPaddingTopWithForeground()I+]Landroid/widget/FrameLayout;missing_types HSPLandroid/widget/FrameLayout;->layoutChildren(IIIIZ)V+]Landroid/view/View;missing_types]Landroid/widget/FrameLayout;missing_types HSPLandroid/widget/FrameLayout;->onLayout(ZIIII)V+]Landroid/widget/FrameLayout;missing_types -HSPLandroid/widget/FrameLayout;->onMeasure(II)V+]Landroid/view/View;missing_types]Landroid/widget/FrameLayout;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/widget/FrameLayout;->onMeasure(II)V+]Landroid/widget/FrameLayout;missing_types]Landroid/view/View;missing_types]Ljava/util/ArrayList;Ljava/util/ArrayList; HSPLandroid/widget/FrameLayout;->setForegroundGravity(I)V HSPLandroid/widget/FrameLayout;->setMeasureAllChildren(Z)V HSPLandroid/widget/FrameLayout;->shouldDelayChildPressedState()Z @@ -19946,13 +20036,13 @@ HSPLandroid/widget/ImageView$ScaleType;->values()[Landroid/widget/ImageView$Scal HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;)V HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/widget/ImageView;->applyAlpha()V HSPLandroid/widget/ImageView;->applyColorFilter()V -HSPLandroid/widget/ImageView;->applyImageTint()V+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/AnimatedStateListDrawable;,Landroid/graphics/drawable/VectorDrawable; +HSPLandroid/widget/ImageView;->applyImageTint()V HSPLandroid/widget/ImageView;->applyXfermode()V HSPLandroid/widget/ImageView;->clearColorFilter()V -HSPLandroid/widget/ImageView;->configureBounds()V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix;]Landroid/graphics/RectF;Landroid/graphics/RectF;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;->configureBounds()V HSPLandroid/widget/ImageView;->drawableHotspotChanged(FF)V HSPLandroid/widget/ImageView;->drawableStateChanged()V HSPLandroid/widget/ImageView;->getAccessibilityClassName()Ljava/lang/CharSequence; @@ -19961,21 +20051,21 @@ HSPLandroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable; HSPLandroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix; HSPLandroid/widget/ImageView;->getScaleType()Landroid/widget/ImageView$ScaleType; HSPLandroid/widget/ImageView;->hasOverlappingRendering()Z -HSPLandroid/widget/ImageView;->initImageView()V+]Landroid/widget/ImageView;missing_types -HSPLandroid/widget/ImageView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;->initImageView()V +HSPLandroid/widget/ImageView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/ImageView;->isFilledByImage()Z -HSPLandroid/widget/ImageView;->isOpaque()Z+]Landroid/graphics/drawable/Drawable;megamorphic_types -HSPLandroid/widget/ImageView;->jumpDrawablesToCurrentState()V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/widget/ImageView;->isOpaque()Z +HSPLandroid/widget/ImageView;->jumpDrawablesToCurrentState()V HSPLandroid/widget/ImageView;->onAttachedToWindow()V HSPLandroid/widget/ImageView;->onCreateDrawableState(I)[I HSPLandroid/widget/ImageView;->onDetachedFromWindow()V -HSPLandroid/widget/ImageView;->onDraw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/drawable/Drawable;missing_types -HSPLandroid/widget/ImageView;->onMeasure(II)V+]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;->onDraw(Landroid/graphics/Canvas;)V +HSPLandroid/widget/ImageView;->onMeasure(II)V HSPLandroid/widget/ImageView;->onRtlPropertiesChanged(I)V -HSPLandroid/widget/ImageView;->onVisibilityAggregated(Z)V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/widget/ImageView;->onVisibilityAggregated(Z)V HSPLandroid/widget/ImageView;->resizeFromDrawable()V HSPLandroid/widget/ImageView;->resolveAdjustedSize(III)I -HSPLandroid/widget/ImageView;->resolveUri()V+]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;->resolveUri()V HSPLandroid/widget/ImageView;->scaleTypeToScaleToFit(Landroid/widget/ImageView$ScaleType;)Landroid/graphics/Matrix$ScaleToFit; HSPLandroid/widget/ImageView;->setAdjustViewBounds(Z)V HSPLandroid/widget/ImageView;->setAlpha(I)V @@ -19986,9 +20076,9 @@ HSPLandroid/widget/ImageView;->setCropToPadding(Z)V HSPLandroid/widget/ImageView;->setFrame(IIII)Z HSPLandroid/widget/ImageView;->setImageAlpha(I)V HSPLandroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V -HSPLandroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/widget/ImageView;missing_types -HSPLandroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V -HSPLandroid/widget/ImageView;->setImageResource(I)V+]Landroid/widget/ImageView;Landroid/widget/ImageView; +HSPLandroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V +HSPLandroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V+]Landroid/graphics/Matrix;Landroid/graphics/Matrix; +HSPLandroid/widget/ImageView;->setImageResource(I)V HSPLandroid/widget/ImageView;->setImageTintBlendMode(Landroid/graphics/BlendMode;)V HSPLandroid/widget/ImageView;->setImageTintList(Landroid/content/res/ColorStateList;)V HSPLandroid/widget/ImageView;->setMaxHeight(I)V @@ -19996,16 +20086,16 @@ HSPLandroid/widget/ImageView;->setMaxWidth(I)V HSPLandroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V HSPLandroid/widget/ImageView;->setSelected(Z)V HSPLandroid/widget/ImageView;->setVisibility(I)V -HSPLandroid/widget/ImageView;->updateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;missing_types]Landroid/widget/ImageView;missing_types +HSPLandroid/widget/ImageView;->updateDrawable(Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/ImageView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(II)V HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(IIF)V -HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; +HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/widget/LinearLayout;missing_types +HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/widget/LinearLayout;Landroid/widget/LinearLayout; HSPLandroid/widget/LinearLayout;->allViewsAreGoneBefore(I)Z HSPLandroid/widget/LinearLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z HSPLandroid/widget/LinearLayout;->forceUniformHeight(II)V @@ -20027,8 +20117,8 @@ HSPLandroid/widget/LinearLayout;->getOrientation()I HSPLandroid/widget/LinearLayout;->getVirtualChildAt(I)Landroid/view/View;+]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->getVirtualChildCount()I+]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->hasDividerBeforeChildAt(I)Z -HSPLandroid/widget/LinearLayout;->layoutHorizontal(IIII)V+]Landroid/view/View;missing_types]Landroid/widget/LinearLayout;Landroid/widget/LinearLayout; -HSPLandroid/widget/LinearLayout;->layoutVertical(IIII)V+]Landroid/view/View;megamorphic_types]Landroid/widget/LinearLayout;missing_types +HSPLandroid/widget/LinearLayout;->layoutHorizontal(IIII)V +HSPLandroid/widget/LinearLayout;->layoutVertical(IIII)V+]Landroid/view/View;missing_types]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->measureChildBeforeLayout(Landroid/view/View;IIIII)V+]Landroid/widget/LinearLayout;missing_types HSPLandroid/widget/LinearLayout;->measureHorizontal(II)V+]Landroid/view/View;missing_types]Landroid/widget/LinearLayout;Landroid/widget/LinearLayout; HSPLandroid/widget/LinearLayout;->measureVertical(II)V+]Landroid/view/View;megamorphic_types]Landroid/widget/LinearLayout;missing_types @@ -20061,7 +20151,7 @@ HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;Landroid/util/Attr HSPLandroid/widget/ListView;->adjustViewsUpOrDown()V HSPLandroid/widget/ListView;->clearRecycledState(Ljava/util/ArrayList;)V HSPLandroid/widget/ListView;->correctTooHigh(I)V -HSPLandroid/widget/ListView;->dispatchDraw(Landroid/graphics/Canvas;)V+]Landroid/view/View;Landroid/widget/LinearLayout;]Landroid/widget/ListAdapter;Landroid/preference/PreferenceGroupAdapter;]Landroid/widget/ListView;Landroid/widget/ListView;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/widget/ListView;->dispatchDraw(Landroid/graphics/Canvas;)V HSPLandroid/widget/ListView;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z HSPLandroid/widget/ListView;->fillDown(II)Landroid/view/View; HSPLandroid/widget/ListView;->fillFromTop(I)Landroid/view/View; @@ -20077,8 +20167,8 @@ HSPLandroid/widget/ListView;->isOpaque()Z HSPLandroid/widget/ListView;->layoutChildren()V HSPLandroid/widget/ListView;->lookForSelectablePosition(IZ)I HSPLandroid/widget/ListView;->makeAndAddView(IIZIZ)Landroid/view/View; -HSPLandroid/widget/ListView;->measureHeightOfChildren(IIIII)I+]Landroid/view/View;Landroid/widget/CheckedTextView;]Landroid/widget/AbsListView$RecycleBin;Landroid/widget/AbsListView$RecycleBin; -HSPLandroid/widget/ListView;->measureScrapChild(Landroid/view/View;III)V+]Landroid/view/View;Landroid/widget/CheckedTextView; +HSPLandroid/widget/ListView;->measureHeightOfChildren(IIIII)I +HSPLandroid/widget/ListView;->measureScrapChild(Landroid/view/View;III)V HSPLandroid/widget/ListView;->onDetachedFromWindow()V HSPLandroid/widget/ListView;->onFinishInflate()V HSPLandroid/widget/ListView;->onMeasure(II)V @@ -20090,8 +20180,8 @@ HSPLandroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V HSPLandroid/widget/ListView;->setCacheColorHint(I)V HSPLandroid/widget/ListView;->setDivider(Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/ListView;->setSelection(I)V -HSPLandroid/widget/ListView;->setupChild(Landroid/view/View;IIZIZZ)V+]Landroid/util/SparseBooleanArray;Landroid/util/SparseBooleanArray;]Landroid/view/View;Landroid/widget/CheckedTextView;,Landroid/widget/LinearLayout;]Landroid/widget/Checkable;Landroid/widget/CheckedTextView;]Landroid/widget/ListAdapter;missing_types]Landroid/widget/ListView;missing_types -HSPLandroid/widget/OverScroller$SplineOverScroller;-><init>(Landroid/content/Context;)V +HSPLandroid/widget/ListView;->setupChild(Landroid/view/View;IIZIZZ)V +HSPLandroid/widget/OverScroller$SplineOverScroller;-><init>(Landroid/content/Context;)V+]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLandroid/widget/OverScroller$SplineOverScroller;->adjustDuration(III)V HSPLandroid/widget/OverScroller$SplineOverScroller;->continueWhenFinished()Z HSPLandroid/widget/OverScroller$SplineOverScroller;->finish()V @@ -20103,13 +20193,14 @@ HSPLandroid/widget/OverScroller$SplineOverScroller;->springback(III)Z HSPLandroid/widget/OverScroller$SplineOverScroller;->startScroll(III)V HSPLandroid/widget/OverScroller$SplineOverScroller;->startSpringback(III)V HSPLandroid/widget/OverScroller$SplineOverScroller;->update()Z +HSPLandroid/widget/OverScroller$SplineOverScroller;->updateScroll(F)V HSPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;)V HSPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V HSPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V HSPLandroid/widget/OverScroller;->abortAnimation()V HSPLandroid/widget/OverScroller;->computeScrollOffset()Z HSPLandroid/widget/OverScroller;->fling(IIIIIIII)V -HSPLandroid/widget/OverScroller;->fling(IIIIIIIIII)V +HSPLandroid/widget/OverScroller;->fling(IIIIIIIIII)V+]Landroid/widget/OverScroller;Landroid/widget/OverScroller;]Landroid/widget/OverScroller$SplineOverScroller;Landroid/widget/OverScroller$SplineOverScroller; HSPLandroid/widget/OverScroller;->forceFinished(Z)V HSPLandroid/widget/OverScroller;->getCurrVelocity()F HSPLandroid/widget/OverScroller;->getCurrX()I @@ -20197,7 +20288,7 @@ HSPLandroid/widget/ProgressBar;->getMin()I HSPLandroid/widget/ProgressBar;->getProgress()I HSPLandroid/widget/ProgressBar;->getProgressDrawable()Landroid/graphics/drawable/Drawable; HSPLandroid/widget/ProgressBar;->initProgressBar()V -HSPLandroid/widget/ProgressBar;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V +HSPLandroid/widget/ProgressBar;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/AnimatedStateListDrawable;,Landroid/graphics/drawable/GradientDrawable;,Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/RippleDrawable; HSPLandroid/widget/ProgressBar;->isIndeterminate()Z HSPLandroid/widget/ProgressBar;->jumpDrawablesToCurrentState()V HSPLandroid/widget/ProgressBar;->needsTileify(Landroid/graphics/drawable/Drawable;)Z @@ -20237,8 +20328,8 @@ HSPLandroid/widget/RelativeLayout$DependencyGraph$Node;->release()V HSPLandroid/widget/RelativeLayout$DependencyGraph;-><init>()V HSPLandroid/widget/RelativeLayout$DependencyGraph;->add(Landroid/view/View;)V HSPLandroid/widget/RelativeLayout$DependencyGraph;->clear()V -HSPLandroid/widget/RelativeLayout$DependencyGraph;->findRoots([I)Ljava/util/ArrayDeque;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/View;Landroid/widget/TextView;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Ljava/util/ArrayList;Ljava/util/ArrayList; -HSPLandroid/widget/RelativeLayout$DependencyGraph;->getSortedViews([Landroid/view/View;[I)V+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/View;Landroid/widget/TextView;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque; +HSPLandroid/widget/RelativeLayout$DependencyGraph;->findRoots([I)Ljava/util/ArrayDeque;+]Landroid/util/ArrayMap;Landroid/util/ArrayMap;]Ljava/util/ArrayDeque;Ljava/util/ArrayDeque;]Landroid/util/SparseArray;Landroid/util/SparseArray;]Ljava/util/ArrayList;Ljava/util/ArrayList; +HSPLandroid/widget/RelativeLayout$DependencyGraph;->getSortedViews([Landroid/view/View;[I)V HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fgetmBottom(Landroid/widget/RelativeLayout$LayoutParams;)I HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fgetmLeft(Landroid/widget/RelativeLayout$LayoutParams;)I HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fgetmRight(Landroid/widget/RelativeLayout$LayoutParams;)I @@ -20246,7 +20337,7 @@ HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fgetmTop(Landroid/widge HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fputmBottom(Landroid/widget/RelativeLayout$LayoutParams;I)V HSPLandroid/widget/RelativeLayout$LayoutParams;->-$$Nest$fputmTop(Landroid/widget/RelativeLayout$LayoutParams;I)V HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(II)V -HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V +HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V+]Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray; HSPLandroid/widget/RelativeLayout$LayoutParams;->addRule(I)V HSPLandroid/widget/RelativeLayout$LayoutParams;->addRule(II)V HSPLandroid/widget/RelativeLayout$LayoutParams;->getRules()[I @@ -20273,21 +20364,21 @@ HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/view/ViewGroup HSPLandroid/widget/RelativeLayout;->getAccessibilityClassName()Ljava/lang/CharSequence; HSPLandroid/widget/RelativeLayout;->getBaseline()I HSPLandroid/widget/RelativeLayout;->getChildMeasureSpec(IIIIIIII)I -HSPLandroid/widget/RelativeLayout;->getRelatedView([II)Landroid/view/View;+]Landroid/util/SparseArray;Landroid/util/SparseArray;]Landroid/view/View;Landroid/widget/TextView; +HSPLandroid/widget/RelativeLayout;->getRelatedView([II)Landroid/view/View; HSPLandroid/widget/RelativeLayout;->getRelatedViewBaselineOffset([I)I HSPLandroid/widget/RelativeLayout;->getRelatedViewParams([II)Landroid/widget/RelativeLayout$LayoutParams; HSPLandroid/widget/RelativeLayout;->initFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)V -HSPLandroid/widget/RelativeLayout;->measureChild(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V+]Landroid/view/View;Landroid/widget/TextView; -HSPLandroid/widget/RelativeLayout;->measureChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V+]Landroid/view/View;Landroid/widget/TextView; +HSPLandroid/widget/RelativeLayout;->measureChild(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V +HSPLandroid/widget/RelativeLayout;->measureChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V HSPLandroid/widget/RelativeLayout;->onLayout(ZIIII)V -HSPLandroid/widget/RelativeLayout;->onMeasure(II)V+]Landroid/view/View;Landroid/widget/TextView;]Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams;]Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout; +HSPLandroid/widget/RelativeLayout;->onMeasure(II)V+]Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout;]Landroid/view/View;Landroid/widget/TextView;]Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams; HSPLandroid/widget/RelativeLayout;->positionAtEdge(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;I)V -HSPLandroid/widget/RelativeLayout;->positionChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z+]Landroid/view/View;Landroid/widget/TextView;]Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams;]Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout; -HSPLandroid/widget/RelativeLayout;->positionChildVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z+]Landroid/view/View;Landroid/widget/TextView;]Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams; +HSPLandroid/widget/RelativeLayout;->positionChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z +HSPLandroid/widget/RelativeLayout;->positionChildVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z HSPLandroid/widget/RelativeLayout;->queryCompatibilityModes(Landroid/content/Context;)V HSPLandroid/widget/RelativeLayout;->requestLayout()V HSPLandroid/widget/RelativeLayout;->shouldDelayChildPressedState()Z -HSPLandroid/widget/RelativeLayout;->sortChildren()V+]Landroid/widget/RelativeLayout$DependencyGraph;Landroid/widget/RelativeLayout$DependencyGraph;]Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout; +HSPLandroid/widget/RelativeLayout;->sortChildren()V+]Landroid/widget/RelativeLayout;Landroid/widget/RelativeLayout;]Landroid/widget/RelativeLayout$DependencyGraph;Landroid/widget/RelativeLayout$DependencyGraph; HSPLandroid/widget/RemoteViews$2;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/RemoteViews; HSPLandroid/widget/RemoteViews$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLandroid/widget/RemoteViews$Action;-><init>()V @@ -20363,15 +20454,15 @@ HSPLandroid/widget/RtlSpacingHelper;->setAbsolute(II)V HSPLandroid/widget/RtlSpacingHelper;->setDirection(Z)V HSPLandroid/widget/RtlSpacingHelper;->setRelative(II)V HSPLandroid/widget/ScrollBarDrawable;-><init>()V -HSPLandroid/widget/ScrollBarDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable; -HSPLandroid/widget/ScrollBarDrawable;->drawThumb(Landroid/graphics/Canvas;Landroid/graphics/Rect;IIZ)V+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; -HSPLandroid/widget/ScrollBarDrawable;->getSize(Z)I -HSPLandroid/widget/ScrollBarDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V -HSPLandroid/widget/ScrollBarDrawable;->isStateful()Z -HSPLandroid/widget/ScrollBarDrawable;->mutate()Landroid/widget/ScrollBarDrawable; +HSPLandroid/widget/ScrollBarDrawable;->draw(Landroid/graphics/Canvas;)V+]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/Rect;Landroid/graphics/Rect; +HSPLandroid/widget/ScrollBarDrawable;->drawThumb(Landroid/graphics/Canvas;Landroid/graphics/Rect;IIZ)V +HSPLandroid/widget/ScrollBarDrawable;->getSize(Z)I+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; +HSPLandroid/widget/ScrollBarDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable; +HSPLandroid/widget/ScrollBarDrawable;->isStateful()Z+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; +HSPLandroid/widget/ScrollBarDrawable;->mutate()Landroid/widget/ScrollBarDrawable;+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; HSPLandroid/widget/ScrollBarDrawable;->onBoundsChange(Landroid/graphics/Rect;)V HSPLandroid/widget/ScrollBarDrawable;->onStateChange([I)Z -HSPLandroid/widget/ScrollBarDrawable;->propagateCurrentState(Landroid/graphics/drawable/Drawable;)V +HSPLandroid/widget/ScrollBarDrawable;->propagateCurrentState(Landroid/graphics/drawable/Drawable;)V+]Landroid/widget/ScrollBarDrawable;Landroid/widget/ScrollBarDrawable;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; HSPLandroid/widget/ScrollBarDrawable;->setAlpha(I)V+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/GradientDrawable; HSPLandroid/widget/ScrollBarDrawable;->setAlwaysDrawVerticalTrack(Z)V HSPLandroid/widget/ScrollBarDrawable;->setHorizontalThumbDrawable(Landroid/graphics/drawable/Drawable;)V @@ -20486,34 +20577,34 @@ HSPLandroid/widget/TextView$TextAppearanceAttributes;-><init>(Landroid/widget/Te HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;)V HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V -HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/content/Context;missing_types]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V+]Landroid/graphics/Paint;Landroid/graphics/Paint;]Landroid/content/res/Resources$Theme;Landroid/content/res/Resources$Theme;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/view/ViewConfiguration;Landroid/view/ViewConfiguration;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/Context;missing_types]Landroid/widget/TextView;missing_types HSPLandroid/widget/TextView;->addSearchHighlightPaths()V HSPLandroid/widget/TextView;->addTextChangedListener(Landroid/text/TextWatcher;)V HSPLandroid/widget/TextView;->applyCompoundDrawableTint()V HSPLandroid/widget/TextView;->applySingleLine(ZZZZ)V -HSPLandroid/widget/TextView;->applyTextAppearance(Landroid/widget/TextView$TextAppearanceAttributes;)V+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->applyTextAppearance(Landroid/widget/TextView$TextAppearanceAttributes;)V HSPLandroid/widget/TextView;->assumeLayout()V HSPLandroid/widget/TextView;->autoSizeText()V HSPLandroid/widget/TextView;->beginBatchEdit()V HSPLandroid/widget/TextView;->bringPointIntoView(I)Z HSPLandroid/widget/TextView;->bringPointIntoView(IZ)Z -HSPLandroid/widget/TextView;->bringTextIntoView()Z+]Landroid/text/Layout;Landroid/text/BoringLayout;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->bringTextIntoView()Z HSPLandroid/widget/TextView;->canMarquee()Z HSPLandroid/widget/TextView;->cancelLongPress()V -HSPLandroid/widget/TextView;->checkForRelayout()V+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->checkForRelayout()V HSPLandroid/widget/TextView;->checkForResize()V HSPLandroid/widget/TextView;->cleanupAutoSizePresetSizes([I)[I -HSPLandroid/widget/TextView;->compressText(F)Z+]Landroid/text/Layout;Landroid/text/BoringLayout;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/widget/TextView;Landroid/widget/CheckedTextView;,Landroid/widget/TextView; +HSPLandroid/widget/TextView;->compressText(F)Z HSPLandroid/widget/TextView;->computeHorizontalScrollRange()I HSPLandroid/widget/TextView;->computeScroll()V -HSPLandroid/widget/TextView;->computeVerticalScrollExtent()I -HSPLandroid/widget/TextView;->computeVerticalScrollRange()I +HSPLandroid/widget/TextView;->computeVerticalScrollExtent()I+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->computeVerticalScrollRange()I+]Landroid/text/Layout;Landroid/text/DynamicLayout;,Landroid/text/BoringLayout; HSPLandroid/widget/TextView;->convertToLocalHorizontalCoordinate(F)F HSPLandroid/widget/TextView;->createEditorIfNeeded()V HSPLandroid/widget/TextView;->didTouchFocusSelect()Z HSPLandroid/widget/TextView;->doKeyDown(ILandroid/view/KeyEvent;Landroid/view/KeyEvent;)I HSPLandroid/widget/TextView;->drawableHotspotChanged(FF)V -HSPLandroid/widget/TextView;->drawableStateChanged()V+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->drawableStateChanged()V HSPLandroid/widget/TextView;->endBatchEdit()V HSPLandroid/widget/TextView;->findLargestTextSizeWhichFits(Landroid/graphics/RectF;)I HSPLandroid/widget/TextView;->fixFocusableAndClickableSettings()V @@ -20522,10 +20613,10 @@ HSPLandroid/widget/TextView;->getAutoSizeStepGranularity()I HSPLandroid/widget/TextView;->getAutofillHints()[Ljava/lang/String; HSPLandroid/widget/TextView;->getAutofillType()I HSPLandroid/widget/TextView;->getAutofillValue()Landroid/view/autofill/AutofillValue; -HSPLandroid/widget/TextView;->getBaseline()I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types -HSPLandroid/widget/TextView;->getBaselineOffset()I+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->getBaseline()I +HSPLandroid/widget/TextView;->getBaselineOffset()I HSPLandroid/widget/TextView;->getBottomVerticalOffset(Z)I -HSPLandroid/widget/TextView;->getBoxHeight(Landroid/text/Layout;)I+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->getBoxHeight(Landroid/text/Layout;)I+]Landroid/widget/TextView;Landroid/widget/EditText;,Landroid/widget/Button; HSPLandroid/widget/TextView;->getBreakStrategy()I HSPLandroid/widget/TextView;->getCompoundDrawablePadding()I HSPLandroid/widget/TextView;->getCompoundDrawables()[Landroid/graphics/drawable/Drawable; @@ -20538,12 +20629,12 @@ HSPLandroid/widget/TextView;->getCurrentTextColor()I HSPLandroid/widget/TextView;->getDefaultEditable()Z HSPLandroid/widget/TextView;->getDefaultMovementMethod()Landroid/text/method/MovementMethod; HSPLandroid/widget/TextView;->getDesiredHeight()I -HSPLandroid/widget/TextView;->getDesiredHeight(Landroid/text/Layout;Z)I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->getDesiredHeight(Landroid/text/Layout;Z)I+]Landroid/text/Layout;Landroid/text/BoringLayout;]Landroid/widget/TextView;Landroid/widget/TextView; HSPLandroid/widget/TextView;->getEditableText()Landroid/text/Editable; HSPLandroid/widget/TextView;->getEllipsize()Landroid/text/TextUtils$TruncateAt; HSPLandroid/widget/TextView;->getError()Ljava/lang/CharSequence; -HSPLandroid/widget/TextView;->getExtendedPaddingBottom()I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types -HSPLandroid/widget/TextView;->getExtendedPaddingTop()I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->getExtendedPaddingBottom()I+]Landroid/text/Layout;Landroid/text/StaticLayout;]Landroid/widget/TextView;Landroid/widget/TextView; +HSPLandroid/widget/TextView;->getExtendedPaddingTop()I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;,Landroid/text/DynamicLayout;]Landroid/widget/TextView;Landroid/widget/TextView;,Landroid/widget/CheckBox;,Landroid/widget/EditText;,Landroid/widget/Button; HSPLandroid/widget/TextView;->getFilters()[Landroid/text/InputFilter; HSPLandroid/widget/TextView;->getFocusedRect(Landroid/graphics/Rect;)V HSPLandroid/widget/TextView;->getFreezesText()Z @@ -20559,7 +20650,7 @@ HSPLandroid/widget/TextView;->getInterestingRect(Landroid/graphics/Rect;I)V HSPLandroid/widget/TextView;->getJustificationMode()I HSPLandroid/widget/TextView;->getKeyListener()Landroid/text/method/KeyListener; HSPLandroid/widget/TextView;->getLayout()Landroid/text/Layout; -HSPLandroid/widget/TextView;->getLayoutAlignment()Landroid/text/Layout$Alignment;+]Landroid/widget/TextView;Landroid/widget/TextView; +HSPLandroid/widget/TextView;->getLayoutAlignment()Landroid/text/Layout$Alignment; HSPLandroid/widget/TextView;->getLineAtCoordinate(F)I HSPLandroid/widget/TextView;->getLineAtCoordinateUnclamped(F)I HSPLandroid/widget/TextView;->getLineCount()I @@ -20575,14 +20666,14 @@ HSPLandroid/widget/TextView;->getOffsetForPosition(FF)I HSPLandroid/widget/TextView;->getPaint()Landroid/text/TextPaint; HSPLandroid/widget/TextView;->getSelectionEnd()I HSPLandroid/widget/TextView;->getSelectionEndTransformed()I -HSPLandroid/widget/TextView;->getSelectionStart()I +HSPLandroid/widget/TextView;->getSelectionStart()I+]Landroid/widget/TextView;missing_types HSPLandroid/widget/TextView;->getSelectionStartTransformed()I HSPLandroid/widget/TextView;->getServiceManagerForUser(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; HSPLandroid/widget/TextView;->getSpellCheckerLocale()Ljava/util/Locale; HSPLandroid/widget/TextView;->getText()Ljava/lang/CharSequence; HSPLandroid/widget/TextView;->getTextColors()Landroid/content/res/ColorStateList; HSPLandroid/widget/TextView;->getTextCursorDrawable()Landroid/graphics/drawable/Drawable; -HSPLandroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic;+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic; HSPLandroid/widget/TextView;->getTextLocale()Ljava/util/Locale; HSPLandroid/widget/TextView;->getTextLocales()Landroid/os/LocaleList; HSPLandroid/widget/TextView;->getTextSelectHandle()Landroid/graphics/drawable/Drawable; @@ -20596,53 +20687,53 @@ HSPLandroid/widget/TextView;->getTotalPaddingTop()I HSPLandroid/widget/TextView;->getTransformationMethod()Landroid/text/method/TransformationMethod; HSPLandroid/widget/TextView;->getTypeface()Landroid/graphics/Typeface; HSPLandroid/widget/TextView;->getTypefaceStyle()I -HSPLandroid/widget/TextView;->getUpdatedHighlightPath()Landroid/graphics/Path;+]Landroid/widget/TextView;missing_types -HSPLandroid/widget/TextView;->getVerticalOffset(Z)I+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLandroid/widget/TextView;->getUpdatedHighlightPath()Landroid/graphics/Path; +HSPLandroid/widget/TextView;->getVerticalOffset(Z)I HSPLandroid/widget/TextView;->handleBackInTextActionModeIfNeeded(Landroid/view/KeyEvent;)Z HSPLandroid/widget/TextView;->handleTextChanged(Ljava/lang/CharSequence;III)V HSPLandroid/widget/TextView;->hasGesturePreviewHighlight()Z -HSPLandroid/widget/TextView;->hasOverlappingRendering()Z+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/RippleDrawable; +HSPLandroid/widget/TextView;->hasOverlappingRendering()Z HSPLandroid/widget/TextView;->hasPasswordTransformationMethod()Z HSPLandroid/widget/TextView;->hasSelection()Z HSPLandroid/widget/TextView;->hideErrorIfUnchanged()V HSPLandroid/widget/TextView;->invalidateCursor()V HSPLandroid/widget/TextView;->invalidateCursorPath()V -HSPLandroid/widget/TextView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/AnimatedStateListDrawable;,Landroid/graphics/drawable/ColorDrawable;,Landroid/graphics/drawable/GradientDrawable;,Landroid/graphics/drawable/RippleDrawable;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V+]Landroid/widget/TextView;Landroid/widget/CheckBox;,Landroid/widget/EditText;,Landroid/widget/Button;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/AnimatedStateListDrawable;,Landroid/graphics/drawable/InsetDrawable;,Landroid/graphics/drawable/RippleDrawable;,Landroid/graphics/drawable/LayerDrawable;,Landroid/graphics/drawable/VectorDrawable; HSPLandroid/widget/TextView;->invalidateRegion(IIZ)V HSPLandroid/widget/TextView;->isAnyPasswordInputType()Z HSPLandroid/widget/TextView;->isAutoSizeEnabled()Z HSPLandroid/widget/TextView;->isAutofillable()Z HSPLandroid/widget/TextView;->isFallbackLineSpacingForStaticLayout()Z -HSPLandroid/widget/TextView;->isFromPrimePointer(Landroid/view/MotionEvent;Z)Z +HSPLandroid/widget/TextView;->isFromPrimePointer(Landroid/view/MotionEvent;Z)Z+]Landroid/view/MotionEvent;Landroid/view/MotionEvent; HSPLandroid/widget/TextView;->isInBatchEditMode()Z HSPLandroid/widget/TextView;->isInExtractedMode()Z HSPLandroid/widget/TextView;->isInputMethodTarget()Z HSPLandroid/widget/TextView;->isMarqueeFadeEnabled()Z HSPLandroid/widget/TextView;->isMultilineInputType(I)Z HSPLandroid/widget/TextView;->isPasswordInputType(I)Z -HSPLandroid/widget/TextView;->isPositionVisible(FF)Z +HSPLandroid/widget/TextView;->isPositionVisible(FF)Z+]Landroid/view/View;missing_types]Landroid/graphics/Matrix;Landroid/graphics/Matrix; HSPLandroid/widget/TextView;->isShowingHint()Z HSPLandroid/widget/TextView;->isSuggestionsEnabled()Z HSPLandroid/widget/TextView;->isTextAutofillable()Z HSPLandroid/widget/TextView;->isTextEditable()Z HSPLandroid/widget/TextView;->isTextSelectable()Z HSPLandroid/widget/TextView;->isVisibleToAccessibility()Z -HSPLandroid/widget/TextView;->jumpDrawablesToCurrentState()V+]Landroid/graphics/drawable/Drawable;missing_types +HSPLandroid/widget/TextView;->jumpDrawablesToCurrentState()V HSPLandroid/widget/TextView;->length()I -HSPLandroid/widget/TextView;->makeNewLayout(IILandroid/text/BoringLayout$Metrics;Landroid/text/BoringLayout$Metrics;IZ)V+]Landroid/text/Layout;Landroid/text/BoringLayout;]Landroid/widget/TextView;missing_types -HSPLandroid/widget/TextView;->makeSingleLayout(ILandroid/text/BoringLayout$Metrics;ILandroid/text/Layout$Alignment;ZLandroid/text/TextUtils$TruncateAt;Z)Landroid/text/Layout;+]Landroid/text/BoringLayout;Landroid/text/BoringLayout;]Landroid/text/StaticLayout$Builder;Landroid/text/StaticLayout$Builder;]Landroid/widget/TextView;missing_types]Ljava/lang/CharSequence;Ljava/lang/String; -HSPLandroid/widget/TextView;->maybeUpdateHighlightPaths()V+]Landroid/widget/TextView;missing_types]Ljava/util/List;Ljava/util/ArrayList; +HSPLandroid/widget/TextView;->makeNewLayout(IILandroid/text/BoringLayout$Metrics;Landroid/text/BoringLayout$Metrics;IZ)V+]Landroid/text/BoringLayout;Landroid/text/BoringLayout;]Landroid/text/Layout;Landroid/text/DynamicLayout;,Landroid/text/BoringLayout;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/widget/TextView;Landroid/widget/CheckBox;,Landroid/widget/EditText;,Landroid/widget/TextView;,Landroid/widget/Button; +HSPLandroid/widget/TextView;->makeSingleLayout(ILandroid/text/BoringLayout$Metrics;ILandroid/text/Layout$Alignment;ZLandroid/text/TextUtils$TruncateAt;Z)Landroid/text/Layout;+]Landroid/text/DynamicLayout$Builder;Landroid/text/DynamicLayout$Builder;]Landroid/text/BoringLayout;Landroid/text/BoringLayout;]Landroid/widget/TextView;Landroid/widget/CheckBox;,Landroid/widget/EditText;,Landroid/widget/TextView;]Ljava/lang/CharSequence;Ljava/lang/String;]Landroid/text/StaticLayout$Builder;Landroid/text/StaticLayout$Builder; +HSPLandroid/widget/TextView;->maybeUpdateHighlightPaths()V HSPLandroid/widget/TextView;->notifyContentCaptureTextChanged()V -HSPLandroid/widget/TextView;->notifyListeningManagersAfterTextChanged()V+]Landroid/view/autofill/AutofillManager;Landroid/view/autofill/AutofillManager;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->notifyListeningManagersAfterTextChanged()V HSPLandroid/widget/TextView;->nullLayouts()V HSPLandroid/widget/TextView;->onAttachedToWindow()V HSPLandroid/widget/TextView;->onBeginBatchEdit()V HSPLandroid/widget/TextView;->onCheckIsTextEditor()Z HSPLandroid/widget/TextView;->onConfigurationChanged(Landroid/content/res/Configuration;)V -HSPLandroid/widget/TextView;->onCreateDrawableState(I)[I+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->onCreateDrawableState(I)[I HSPLandroid/widget/TextView;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; HSPLandroid/widget/TextView;->onDetachedFromWindowInternal()V -HSPLandroid/widget/TextView;->onDraw(Landroid/graphics/Canvas;)V+]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/graphics/drawable/Drawable;missing_types]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->onDraw(Landroid/graphics/Canvas;)V+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/StaticLayout;,Landroid/text/DynamicLayout;]Landroid/widget/TextView;missing_types]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/graphics/Canvas;Landroid/graphics/RecordingCanvas;]Landroid/widget/Editor;Landroid/widget/Editor;]Ljava/lang/CharSequence;Landroid/text/SpannableStringBuilder; HSPLandroid/widget/TextView;->onEditorAction(I)V HSPLandroid/widget/TextView;->onEndBatchEdit()V HSPLandroid/widget/TextView;->onFocusChanged(ZILandroid/graphics/Rect;)V @@ -20653,7 +20744,7 @@ HSPLandroid/widget/TextView;->onKeyPreIme(ILandroid/view/KeyEvent;)Z HSPLandroid/widget/TextView;->onKeyUp(ILandroid/view/KeyEvent;)Z HSPLandroid/widget/TextView;->onLayout(ZIIII)V HSPLandroid/widget/TextView;->onLocaleChanged()V -HSPLandroid/widget/TextView;->onMeasure(II)V+]Landroid/text/Layout;Landroid/text/BoringLayout;,Landroid/text/DynamicLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->onMeasure(II)V+]Landroid/text/Layout;Landroid/text/DynamicLayout;,Landroid/text/BoringLayout;,Landroid/text/StaticLayout;]Landroid/widget/TextView;Landroid/widget/CheckBox;,Landroid/widget/EditText;,Landroid/widget/TextView;,Landroid/widget/Button; HSPLandroid/widget/TextView;->onPreDraw()Z HSPLandroid/widget/TextView;->onProvideStructure(Landroid/view/ViewStructure;II)V HSPLandroid/widget/TextView;->onResolveDrawables(I)V @@ -20670,7 +20761,7 @@ HSPLandroid/widget/TextView;->onVisibilityChanged(Landroid/view/View;I)V HSPLandroid/widget/TextView;->onWindowFocusChanged(Z)V HSPLandroid/widget/TextView;->originalToTransformed(II)I HSPLandroid/widget/TextView;->preloadFontCache()V -HSPLandroid/widget/TextView;->readTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/widget/TextView$TextAppearanceAttributes;Z)V+]Landroid/content/Context;missing_types]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/TypedValue;Landroid/util/TypedValue; +HSPLandroid/widget/TextView;->readTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/widget/TextView$TextAppearanceAttributes;Z)V+]Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Landroid/content/Context;missing_types HSPLandroid/widget/TextView;->registerForPreDraw()V HSPLandroid/widget/TextView;->removeAdjacentSuggestionSpans(I)V HSPLandroid/widget/TextView;->removeIntersectingNonAdjacentSpans(IILjava/lang/Class;)V @@ -20690,7 +20781,7 @@ HSPLandroid/widget/TextView;->setAutoSizeTextTypeUniformWithPresetSizes([II)V HSPLandroid/widget/TextView;->setBreakStrategy(I)V HSPLandroid/widget/TextView;->setCompoundDrawablePadding(I)V HSPLandroid/widget/TextView;->setCompoundDrawableTintList(Landroid/content/res/ColorStateList;)V -HSPLandroid/widget/TextView;->setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V+]Landroid/graphics/Rect;Landroid/graphics/Rect;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/TextView;->setCompoundDrawablesRelative(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/TextView;->setCompoundDrawablesWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V @@ -20720,7 +20811,7 @@ HSPLandroid/widget/TextView;->setInputTypeFromEditor()V HSPLandroid/widget/TextView;->setInputTypeSingleLine(Z)V HSPLandroid/widget/TextView;->setKeyListener(Landroid/text/method/KeyListener;)V HSPLandroid/widget/TextView;->setKeyListenerOnly(Landroid/text/method/KeyListener;)V -HSPLandroid/widget/TextView;->setLetterSpacing(F)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; +HSPLandroid/widget/TextView;->setLetterSpacing(F)V HSPLandroid/widget/TextView;->setLineHeight(I)V HSPLandroid/widget/TextView;->setLineSpacing(FF)V HSPLandroid/widget/TextView;->setLines(I)V @@ -20737,7 +20828,7 @@ HSPLandroid/widget/TextView;->setPadding(IIII)V HSPLandroid/widget/TextView;->setPaddingRelative(IIII)V HSPLandroid/widget/TextView;->setPrivateImeOptions(Ljava/lang/String;)V HSPLandroid/widget/TextView;->setRawInputType(I)V -HSPLandroid/widget/TextView;->setRawTextSize(FZ)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; +HSPLandroid/widget/TextView;->setRawTextSize(FZ)V HSPLandroid/widget/TextView;->setRelativeDrawablesIfNeeded(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V HSPLandroid/widget/TextView;->setSelected(Z)V HSPLandroid/widget/TextView;->setShadowLayer(FFFI)V @@ -20746,7 +20837,7 @@ HSPLandroid/widget/TextView;->setSingleLine(Z)V HSPLandroid/widget/TextView;->setText(I)V HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;)V -HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;ZI)V+]Landroid/text/Editable$Factory;Landroid/text/Editable$Factory;]Landroid/text/InputFilter;Landroid/text/InputFilter$LengthFilter;]Landroid/text/Spannable$Factory;Landroid/text/Spannable$Factory;]Landroid/text/Spannable;Landroid/text/SpannableString;,Landroid/text/SpannableStringBuilder;]Landroid/text/Spanned;Landroid/text/SpannableStringBuilder;,Landroid/text/SpannedString;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/text/method/MovementMethod;Landroid/text/method/ArrowKeyMovementMethod;,Landroid/text/method/LinkMovementMethod;]Landroid/text/method/TransformationMethod;Landroid/text/method/AllCapsTransformationMethod;,Landroid/text/method/SingleLineTransformationMethod;]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/widget/TextView;missing_types]Ljava/lang/CharSequence;Landroid/text/SpannableString;,Landroid/text/SpannableStringBuilder;,Landroid/text/SpannedString;,Ljava/lang/String; +HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;ZI)V+]Landroid/text/Editable$Factory;Landroid/text/Editable$Factory;]Landroid/text/method/MovementMethod;Landroid/text/method/ArrowKeyMovementMethod;,Landroid/text/method/ScrollingMovementMethod;]Landroid/text/method/TransformationMethod;Landroid/text/method/SingleLineTransformationMethod;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/text/InputFilter;Landroid/text/InputFilter$LengthFilter;]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/text/Spanned;Landroid/text/SpannableString;]Landroid/text/Spannable$Factory;Landroid/text/Spannable$Factory;]Ljava/lang/CharSequence;Ljava/lang/String;,Landroid/text/SpannableStringBuilder;,Landroid/text/SpannableString;]Landroid/view/accessibility/AccessibilityManager;Landroid/view/accessibility/AccessibilityManager;]Landroid/text/Spannable;Landroid/text/SpannableStringBuilder;,Landroid/text/SpannableString; HSPLandroid/widget/TextView;->setTextAppearance(I)V HSPLandroid/widget/TextView;->setTextAppearance(Landroid/content/Context;I)V HSPLandroid/widget/TextView;->setTextColor(I)V @@ -20758,14 +20849,14 @@ HSPLandroid/widget/TextView;->setTextSize(IF)V HSPLandroid/widget/TextView;->setTextSizeInternal(IFZ)V HSPLandroid/widget/TextView;->setTransformationMethod(Landroid/text/method/TransformationMethod;)V HSPLandroid/widget/TextView;->setTransformationMethodInternal(Landroid/text/method/TransformationMethod;Z)V -HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V+]Landroid/text/TextPaint;Landroid/text/TextPaint; -HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;I)V+]Landroid/text/TextPaint;Landroid/text/TextPaint;]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V +HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;I)V HSPLandroid/widget/TextView;->setTypefaceFromAttrs(Landroid/graphics/Typeface;Ljava/lang/String;III)V HSPLandroid/widget/TextView;->setupAutoSizeText()Z HSPLandroid/widget/TextView;->setupAutoSizeUniformPresetSizesConfiguration()Z HSPLandroid/widget/TextView;->shouldAdvanceFocusOnEnter()Z HSPLandroid/widget/TextView;->spanChange(Landroid/text/Spanned;Ljava/lang/Object;IIII)V -HSPLandroid/widget/TextView;->startMarquee()V+]Landroid/widget/TextView;Landroid/widget/CheckedTextView;,Landroid/widget/TextView; +HSPLandroid/widget/TextView;->startMarquee()V HSPLandroid/widget/TextView;->startStopMarquee(Z)V HSPLandroid/widget/TextView;->stopMarquee()V HSPLandroid/widget/TextView;->stopTextActionMode()V @@ -20775,8 +20866,8 @@ HSPLandroid/widget/TextView;->textCanBeSelected()Z HSPLandroid/widget/TextView;->unregisterForPreDraw()V HSPLandroid/widget/TextView;->updateAfterEdit()V HSPLandroid/widget/TextView;->updateCursorVisibleInternal()V -HSPLandroid/widget/TextView;->updateTextColors()V+]Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;]Landroid/widget/Editor;Landroid/widget/Editor;]Landroid/widget/TextView;missing_types]Ljava/lang/CharSequence;Ljava/lang/String; -HSPLandroid/widget/TextView;->useDynamicLayout()Z+]Landroid/widget/TextView;missing_types +HSPLandroid/widget/TextView;->updateTextColors()V +HSPLandroid/widget/TextView;->useDynamicLayout()Z HSPLandroid/widget/TextView;->validateAndSetAutoSizeTextTypeUniformConfiguration(FFF)V HSPLandroid/widget/TextView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z HSPLandroid/widget/TextView;->viewClicked(Landroid/view/inputmethod/InputMethodManager;)V @@ -20837,6 +20928,7 @@ HSPLandroid/widget/inline/InlinePresentationSpec$1;->createFromParcel(Landroid/o HSPLandroid/widget/inline/InlinePresentationSpec;-><clinit>()V HSPLandroid/widget/inline/InlinePresentationSpec;-><init>(Landroid/os/Parcel;)V HSPLandroid/widget/inline/InlinePresentationSpec;->writeToParcel(Landroid/os/Parcel;I)V +HSPLandroid/window/BackProgressAnimator;-><init>()V+]Lcom/android/internal/dynamicanimation/animation/SpringAnimation;Lcom/android/internal/dynamicanimation/animation/SpringAnimation;]Lcom/android/internal/dynamicanimation/animation/SpringForce;Lcom/android/internal/dynamicanimation/animation/SpringForce; HSPLandroid/window/ClientWindowFrames$1;-><init>()V HSPLandroid/window/ClientWindowFrames$1;->createFromParcel(Landroid/os/Parcel;)Landroid/window/ClientWindowFrames; HSPLandroid/window/ClientWindowFrames$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; @@ -20954,6 +21046,8 @@ HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper;-> HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper;->onBackCancelled()V HSPLandroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper;->onBackInvoked()V HSPLandroid/window/WindowOnBackInvokedDispatcher;-><clinit>()V +HSPLandroid/window/WindowOnBackInvokedDispatcher;-><init>(Landroid/content/Context;)V +HSPLandroid/window/WindowOnBackInvokedDispatcher;->attachToWindow(Landroid/view/IWindowSession;Landroid/view/IWindow;)V HSPLandroid/window/WindowOnBackInvokedDispatcher;->clear()V HSPLandroid/window/WindowOnBackInvokedDispatcher;->detachFromWindow()V HSPLandroid/window/WindowOnBackInvokedDispatcher;->getTopCallback()Landroid/window/OnBackInvokedCallback; @@ -20989,12 +21083,12 @@ HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForRegion(Ljava/l HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForRegionOrCallingCode(ILjava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNationalSignificantNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberDescByType(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc; -HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberTypeHelper(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType; +HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberTypeHelper(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;+]Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;]Lcom/android/i18n/phonenumbers/PhoneNumberUtil;Lcom/android/i18n/phonenumbers/PhoneNumberUtil; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForCountryCode(I)Ljava/lang/String; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String; -HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumberFromRegionList(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/List;)Ljava/lang/String; +HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumberFromRegionList(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/List;)Ljava/lang/String;+]Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;]Ljava/util/List;Ljava/util/ArrayList;]Lcom/android/i18n/phonenumbers/PhoneNumberUtil;Lcom/android/i18n/phonenumbers/PhoneNumberUtil;]Ljava/util/Iterator;Ljava/util/ArrayList$Itr; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->hasFormattingPatternForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z -HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberMatchingDesc(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z +HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberMatchingDesc(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z+]Ljava/lang/String;Ljava/lang/String;]Lcom/android/i18n/phonenumbers/internal/MatcherApi;Lcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;]Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;]Ljava/util/List;Ljava/util/ArrayList; HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidNumberForRegion(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/String;)Z HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidRegionCode(Ljava/lang/String;)Z @@ -21099,8 +21193,8 @@ HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setCountryCode(I)Lco HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setCountryCodeSource(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber; HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setNationalNumber(J)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber; HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setRawInput(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber; -HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->match(Ljava/lang/CharSequence;Ljava/util/regex/Pattern;Z)Z -HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->matchNationalNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Z)Z +HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->match(Ljava/lang/CharSequence;Ljava/util/regex/Pattern;Z)Z+]Ljava/util/regex/Matcher;Ljava/util/regex/Matcher;]Ljava/util/regex/Pattern;Ljava/util/regex/Pattern; +HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->matchNationalNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Z)Z+]Ljava/lang/String;Ljava/lang/String;]Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;]Lcom/android/i18n/phonenumbers/internal/RegexCache;Lcom/android/i18n/phonenumbers/internal/RegexCache; HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache$1;->removeEldestEntry(Ljava/util/Map$Entry;)Z HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache;->put(Ljava/lang/Object;Ljava/lang/Object;)V @@ -21178,10 +21272,10 @@ HSPLcom/android/i18n/timezone/internal/NioBufferIterator;->readInt()I HSPLcom/android/i18n/timezone/internal/NioBufferIterator;->readLongArray([JII)V HSPLcom/android/i18n/timezone/internal/NioBufferIterator;->skip(I)V HSPLcom/android/icu/charset/CharsetDecoderICU;-><init>(Ljava/nio/charset/Charset;FJ)V -HSPLcom/android/icu/charset/CharsetDecoderICU;->decodeLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult; -HSPLcom/android/icu/charset/CharsetDecoderICU;->getArray(Ljava/nio/ByteBuffer;)I -HSPLcom/android/icu/charset/CharsetDecoderICU;->getArray(Ljava/nio/CharBuffer;)I -HSPLcom/android/icu/charset/CharsetDecoderICU;->implFlush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult; +HSPLcom/android/icu/charset/CharsetDecoderICU;->decodeLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; +HSPLcom/android/icu/charset/CharsetDecoderICU;->getArray(Ljava/nio/ByteBuffer;)I+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; +HSPLcom/android/icu/charset/CharsetDecoderICU;->getArray(Ljava/nio/CharBuffer;)I+]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer; +HSPLcom/android/icu/charset/CharsetDecoderICU;->implFlush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;+]Lcom/android/icu/charset/CharsetDecoderICU;Lcom/android/icu/charset/CharsetDecoderICU; HSPLcom/android/icu/charset/CharsetDecoderICU;->implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetDecoderICU;->implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetDecoderICU;->implReplaceWith(Ljava/lang/String;)V @@ -21191,16 +21285,16 @@ HSPLcom/android/icu/charset/CharsetDecoderICU;->setPosition(Ljava/nio/ByteBuffer HSPLcom/android/icu/charset/CharsetDecoderICU;->setPosition(Ljava/nio/CharBuffer;)V HSPLcom/android/icu/charset/CharsetDecoderICU;->updateCallback()V HSPLcom/android/icu/charset/CharsetEncoderICU;-><init>(Ljava/nio/charset/Charset;FF[BJ)V -HSPLcom/android/icu/charset/CharsetEncoderICU;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; -HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/ByteBuffer;)I -HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/CharBuffer;)I +HSPLcom/android/icu/charset/CharsetEncoderICU;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;+]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer; +HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/ByteBuffer;)I+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; +HSPLcom/android/icu/charset/CharsetEncoderICU;->getArray(Ljava/nio/CharBuffer;)I+]Ljava/nio/CharBuffer;Ljava/nio/HeapCharBuffer; HSPLcom/android/icu/charset/CharsetEncoderICU;->implFlush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult; HSPLcom/android/icu/charset/CharsetEncoderICU;->implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetEncoderICU;->implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V HSPLcom/android/icu/charset/CharsetEncoderICU;->implReset()V HSPLcom/android/icu/charset/CharsetEncoderICU;->makeReplacement(Ljava/lang/String;J)[B HSPLcom/android/icu/charset/CharsetEncoderICU;->newInstance(Ljava/nio/charset/Charset;Ljava/lang/String;)Lcom/android/icu/charset/CharsetEncoderICU; -HSPLcom/android/icu/charset/CharsetEncoderICU;->setPosition(Ljava/nio/ByteBuffer;)V +HSPLcom/android/icu/charset/CharsetEncoderICU;->setPosition(Ljava/nio/ByteBuffer;)V+]Ljava/nio/ByteBuffer;Ljava/nio/HeapByteBuffer; HSPLcom/android/icu/charset/CharsetEncoderICU;->setPosition(Ljava/nio/CharBuffer;)V HSPLcom/android/icu/charset/CharsetEncoderICU;->updateCallback()V HSPLcom/android/icu/charset/CharsetFactory;->create(Ljava/lang/String;)Ljava/nio/charset/Charset; @@ -21240,7 +21334,7 @@ HSPLcom/android/icu/util/ExtendedTimeZone;->utcStartTime(JLandroid/icu/util/Time HSPLcom/android/icu/util/LocaleNative;->getDisplayCountry(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String; HSPLcom/android/icu/util/LocaleNative;->getDisplayLanguage(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String; HSPLcom/android/icu/util/LocaleNative;->setDefault(Ljava/lang/String;)V -HSPLcom/android/icu/util/regex/MatcherNative;-><init>(Lcom/android/icu/util/regex/PatternNative;)V +HSPLcom/android/icu/util/regex/MatcherNative;-><init>(Lcom/android/icu/util/regex/PatternNative;)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry;]Lcom/android/icu/util/regex/PatternNative;Lcom/android/icu/util/regex/PatternNative; HSPLcom/android/icu/util/regex/MatcherNative;->create(Lcom/android/icu/util/regex/PatternNative;)Lcom/android/icu/util/regex/MatcherNative; HSPLcom/android/icu/util/regex/MatcherNative;->find(I[I)Z HSPLcom/android/icu/util/regex/MatcherNative;->findNext([I)Z @@ -21252,7 +21346,7 @@ HSPLcom/android/icu/util/regex/MatcherNative;->requireEnd()Z HSPLcom/android/icu/util/regex/MatcherNative;->setInput(Ljava/lang/String;II)V HSPLcom/android/icu/util/regex/MatcherNative;->useAnchoringBounds(Z)V HSPLcom/android/icu/util/regex/MatcherNative;->useTransparentBounds(Z)V -HSPLcom/android/icu/util/regex/PatternNative;-><init>(Ljava/lang/String;I)V +HSPLcom/android/icu/util/regex/PatternNative;-><init>(Ljava/lang/String;I)V+]Llibcore/util/NativeAllocationRegistry;Llibcore/util/NativeAllocationRegistry; HSPLcom/android/icu/util/regex/PatternNative;->create(Ljava/lang/String;I)Lcom/android/icu/util/regex/PatternNative; HSPLcom/android/icu/util/regex/PatternNative;->openMatcher()J HSPLcom/android/internal/app/AlertController;-><init>(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)V @@ -21336,6 +21430,8 @@ HSPLcom/android/internal/content/ReferrerIntent$1;->createFromParcel(Landroid/os HSPLcom/android/internal/content/ReferrerIntent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object; HSPLcom/android/internal/display/BrightnessSynchronizer;-><clinit>()V HSPLcom/android/internal/display/BrightnessSynchronizer;->floatEquals(FF)Z +HSPLcom/android/internal/dynamicanimation/animation/DynamicAnimation;-><init>(Ljava/lang/Object;Landroid/util/FloatProperty;)V +HSPLcom/android/internal/dynamicanimation/animation/SpringForce;-><init>()V HSPLcom/android/internal/graphics/ColorUtils;->HSLToColor([F)I HSPLcom/android/internal/graphics/ColorUtils;->RGBToHSL(III[F)V HSPLcom/android/internal/graphics/ColorUtils;->colorToHSL(I[F)V @@ -21464,7 +21560,7 @@ HSPLcom/android/internal/listeners/ListenerExecutor$ListenerOperation;->onComple HSPLcom/android/internal/listeners/ListenerExecutor$ListenerOperation;->onPostExecute(Z)V HSPLcom/android/internal/listeners/ListenerExecutor$ListenerOperation;->onPreExecute()V HSPLcom/android/internal/listeners/ListenerExecutor;->executeSafely(Ljava/util/concurrent/Executor;Ljava/util/function/Supplier;Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;)V -HSPLcom/android/internal/listeners/ListenerExecutor;->executeSafely(Ljava/util/concurrent/Executor;Ljava/util/function/Supplier;Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;Lcom/android/internal/listeners/ListenerExecutor$FailureCallback;)V+]Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;Landroid/telephony/TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda2;,Landroid/telephony/TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda3;]Ljava/util/concurrent/Executor;Landroid/net/connectivity/com/android/modules/utils/HandlerExecutor;,Landroid/os/HandlerExecutor;,Lcom/android/wifi/x/com/android/modules/utils/HandlerExecutor;]Ljava/util/function/Supplier;Landroid/telephony/TelephonyRegistryManager$CarrierPrivilegesCallbackWrapper$$ExternalSyntheticLambda1; +HSPLcom/android/internal/listeners/ListenerExecutor;->executeSafely(Ljava/util/concurrent/Executor;Ljava/util/function/Supplier;Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;Lcom/android/internal/listeners/ListenerExecutor$FailureCallback;)V HSPLcom/android/internal/listeners/ListenerExecutor;->lambda$executeSafely$0(Ljava/lang/Object;Ljava/util/function/Supplier;Lcom/android/internal/listeners/ListenerExecutor$ListenerOperation;Lcom/android/internal/listeners/ListenerExecutor$FailureCallback;)V HSPLcom/android/internal/logging/AndroidConfig;-><init>()V HSPLcom/android/internal/logging/AndroidHandler$1;->format(Ljava/util/logging/LogRecord;)Ljava/lang/String; @@ -21705,33 +21801,42 @@ HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isPresent(ZIZ)Z HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isVisible(ZIIZ)Z HSPLcom/android/internal/policy/DecorView$ColorViewState;-><init>(Lcom/android/internal/policy/DecorView$ColorViewAttributes;)V HSPLcom/android/internal/policy/DecorView;-><init>(Landroid/content/Context;ILcom/android/internal/policy/PhoneWindow;Landroid/view/WindowManager$LayoutParams;)V -HSPLcom/android/internal/policy/DecorView;->calculateNavigationBarColor(I)I -HSPLcom/android/internal/policy/DecorView;->calculateStatusBarColor(I)I +HSPLcom/android/internal/policy/DecorView;->calculateNavigationBarColor(I)I+]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow; +HSPLcom/android/internal/policy/DecorView;->calculateStatusBarColor(I)I+]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow; +HSPLcom/android/internal/policy/DecorView;->createDecorCaptionView(Landroid/view/LayoutInflater;)Lcom/android/internal/widget/DecorCaptionView; HSPLcom/android/internal/policy/DecorView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z HSPLcom/android/internal/policy/DecorView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z HSPLcom/android/internal/policy/DecorView;->draw(Landroid/graphics/Canvas;)V HSPLcom/android/internal/policy/DecorView;->drawLegacyNavigationBarBackground(Landroid/graphics/RecordingCanvas;)V HSPLcom/android/internal/policy/DecorView;->drawableChanged()V +HSPLcom/android/internal/policy/DecorView;->enableCaption(Z)V +HSPLcom/android/internal/policy/DecorView;->enforceNonTranslucentBackground(Landroid/graphics/drawable/Drawable;Z)Landroid/graphics/drawable/Drawable; HSPLcom/android/internal/policy/DecorView;->finishChanging()V +HSPLcom/android/internal/policy/DecorView;->gatherTransparentRegion(Landroid/graphics/Region;)Z +HSPLcom/android/internal/policy/DecorView;->gatherTransparentRegion(Lcom/android/internal/policy/DecorView$ColorViewState;Landroid/graphics/Region;)Z HSPLcom/android/internal/policy/DecorView;->getAccessibilityViewId()I HSPLcom/android/internal/policy/DecorView;->getBackground()Landroid/graphics/drawable/Drawable; +HSPLcom/android/internal/policy/DecorView;->getCaptionHeight()I +HSPLcom/android/internal/policy/DecorView;->getCaptionInsetsHeight()I HSPLcom/android/internal/policy/DecorView;->getNavBarSize(III)I -HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources;+]Landroid/content/Context;Lcom/android/internal/policy/DecorContext;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; -HSPLcom/android/internal/policy/DecorView;->getTitleSuffix(Landroid/view/WindowManager$LayoutParams;)Ljava/lang/String; -HSPLcom/android/internal/policy/DecorView;->getWindowInsetsController()Landroid/view/WindowInsetsController; +HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources;+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;,Lcom/android/internal/policy/DecorContext; +HSPLcom/android/internal/policy/DecorView;->getTitleSuffix(Landroid/view/WindowManager$LayoutParams;)Ljava/lang/String;+]Ljava/lang/String;Ljava/lang/String;]Landroid/view/WindowManager$LayoutParams;Landroid/view/WindowManager$LayoutParams;]Ljava/lang/CharSequence;Ljava/lang/String; +HSPLcom/android/internal/policy/DecorView;->getWindowInsetsController()Landroid/view/WindowInsetsController;+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; HSPLcom/android/internal/policy/DecorView;->initializeElevation()V HSPLcom/android/internal/policy/DecorView;->isNavBarToLeftEdge(II)Z HSPLcom/android/internal/policy/DecorView;->isNavBarToRightEdge(II)Z +HSPLcom/android/internal/policy/DecorView;->isResizing()Z +HSPLcom/android/internal/policy/DecorView;->isShowingCaption()Z HSPLcom/android/internal/policy/DecorView;->onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; HSPLcom/android/internal/policy/DecorView;->onAttachedToWindow()V HSPLcom/android/internal/policy/DecorView;->onCloseSystemDialogs(Ljava/lang/String;)V HSPLcom/android/internal/policy/DecorView;->onConfigurationChanged(Landroid/content/res/Configuration;)V HSPLcom/android/internal/policy/DecorView;->onContentDrawn(IIII)Z HSPLcom/android/internal/policy/DecorView;->onDetachedFromWindow()V -HSPLcom/android/internal/policy/DecorView;->onDraw(Landroid/graphics/Canvas;)V +HSPLcom/android/internal/policy/DecorView;->onDraw(Landroid/graphics/Canvas;)V+]Lcom/android/internal/widget/BackgroundFallback;Lcom/android/internal/widget/BackgroundFallback; HSPLcom/android/internal/policy/DecorView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z -HSPLcom/android/internal/policy/DecorView;->onLayout(ZIIII)V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; -HSPLcom/android/internal/policy/DecorView;->onMeasure(II)V+]Landroid/content/Context;Lcom/android/internal/policy/DecorContext;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/util/TypedValue;Landroid/util/TypedValue;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow; +HSPLcom/android/internal/policy/DecorView;->onLayout(ZIIII)V +HSPLcom/android/internal/policy/DecorView;->onMeasure(II)V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Landroid/content/Context;Landroid/view/ContextThemeWrapper;,Lcom/android/internal/policy/DecorContext;]Landroid/content/res/Resources;Landroid/content/res/Resources; HSPLcom/android/internal/policy/DecorView;->onPostDraw(Landroid/graphics/RecordingCanvas;)V HSPLcom/android/internal/policy/DecorView;->onResourcesLoaded(Landroid/view/LayoutInflater;I)V HSPLcom/android/internal/policy/DecorView;->onRootViewScrollYChanged(I)V @@ -21740,12 +21845,13 @@ HSPLcom/android/internal/policy/DecorView;->onTouchEvent(Landroid/view/MotionEve HSPLcom/android/internal/policy/DecorView;->onWindowFocusChanged(Z)V HSPLcom/android/internal/policy/DecorView;->onWindowSystemUiVisibilityChanged(I)V HSPLcom/android/internal/policy/DecorView;->providePendingInsetsController()Landroid/view/PendingInsetsController; +HSPLcom/android/internal/policy/DecorView;->releaseThreadedRenderer()V HSPLcom/android/internal/policy/DecorView;->removeBackgroundBlurDrawable()V HSPLcom/android/internal/policy/DecorView;->sendAccessibilityEvent(I)V HSPLcom/android/internal/policy/DecorView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V HSPLcom/android/internal/policy/DecorView;->setBackgroundFallback(Landroid/graphics/drawable/Drawable;)V HSPLcom/android/internal/policy/DecorView;->setColor(Landroid/view/View;IIZZ)V -HSPLcom/android/internal/policy/DecorView;->setFrame(IIII)Z+]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/ColorDrawable;,Landroid/graphics/drawable/GradientDrawable;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; +HSPLcom/android/internal/policy/DecorView;->setFrame(IIII)Z+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/ColorDrawable; HSPLcom/android/internal/policy/DecorView;->setWindow(Lcom/android/internal/policy/PhoneWindow;)V HSPLcom/android/internal/policy/DecorView;->setWindowBackground(Landroid/graphics/drawable/Drawable;)V HSPLcom/android/internal/policy/DecorView;->setWindowFrame(Landroid/graphics/drawable/Drawable;)V @@ -21753,12 +21859,13 @@ HSPLcom/android/internal/policy/DecorView;->startChanging()V HSPLcom/android/internal/policy/DecorView;->superDispatchKeyEvent(Landroid/view/KeyEvent;)Z HSPLcom/android/internal/policy/DecorView;->superDispatchTouchEvent(Landroid/view/MotionEvent;)Z HSPLcom/android/internal/policy/DecorView;->updateBackgroundBlurRadius()V -HSPLcom/android/internal/policy/DecorView;->updateBackgroundDrawable()V -HSPLcom/android/internal/policy/DecorView;->updateColorViewInt(Lcom/android/internal/policy/DecorView$ColorViewState;IIIZZIZZI)V+]Landroid/view/View;Landroid/view/View;]Landroid/view/ViewPropertyAnimator;Landroid/view/ViewPropertyAnimator;]Lcom/android/internal/policy/DecorView$ColorViewAttributes;Lcom/android/internal/policy/DecorView$ColorViewAttributes;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow; +HSPLcom/android/internal/policy/DecorView;->updateBackgroundDrawable()V+]Landroid/graphics/Insets;Landroid/graphics/Insets; +HSPLcom/android/internal/policy/DecorView;->updateColorViewInt(Lcom/android/internal/policy/DecorView$ColorViewState;IIIZZIZZI)V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow;]Landroid/view/View;Landroid/view/View;]Landroid/view/ViewPropertyAnimator;Landroid/view/ViewPropertyAnimator;]Lcom/android/internal/policy/DecorView$ColorViewAttributes;Lcom/android/internal/policy/DecorView$ColorViewAttributes; HSPLcom/android/internal/policy/DecorView;->updateColorViewTranslations()V -HSPLcom/android/internal/policy/DecorView;->updateColorViews(Landroid/view/WindowInsets;Z)Landroid/view/WindowInsets;+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/view/ViewGroup;Landroid/widget/LinearLayout;]Landroid/view/WindowInsets;Landroid/view/WindowInsets;]Landroid/view/WindowInsetsController;Landroid/view/InsetsController;,Landroid/view/PendingInsetsController;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow; -HSPLcom/android/internal/policy/DecorView;->updateElevation()V+]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; -HSPLcom/android/internal/policy/DecorView;->updateLogTag(Landroid/view/WindowManager$LayoutParams;)V +HSPLcom/android/internal/policy/DecorView;->updateColorViews(Landroid/view/WindowInsets;Z)Landroid/view/WindowInsets;+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow;]Landroid/view/ViewGroup;Landroid/widget/LinearLayout;]Landroid/view/WindowInsetsController;Landroid/view/InsetsController;,Landroid/view/PendingInsetsController;]Landroid/view/WindowInsets;Landroid/view/WindowInsets;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HSPLcom/android/internal/policy/DecorView;->updateDecorCaptionStatus(Landroid/content/res/Configuration;)V +HSPLcom/android/internal/policy/DecorView;->updateElevation()V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/app/WindowConfiguration;Landroid/app/WindowConfiguration; +HSPLcom/android/internal/policy/DecorView;->updateLogTag(Landroid/view/WindowManager$LayoutParams;)V+]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder; HSPLcom/android/internal/policy/DecorView;->updateStatusGuard(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; HSPLcom/android/internal/policy/DecorView;->willYouTakeTheInputQueue()Landroid/view/InputQueue$Callback; HSPLcom/android/internal/policy/DecorView;->willYouTakeTheSurface()Landroid/view/SurfaceHolder$Callback2; @@ -21792,10 +21899,10 @@ HSPLcom/android/internal/policy/PhoneWindow;->applyDecorFitsSystemWindows()V HSPLcom/android/internal/policy/PhoneWindow;->closeAllPanels()V HSPLcom/android/internal/policy/PhoneWindow;->closeContextMenu()V HSPLcom/android/internal/policy/PhoneWindow;->closePanel(Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;Z)V -HSPLcom/android/internal/policy/PhoneWindow;->dispatchWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V +HSPLcom/android/internal/policy/PhoneWindow;->dispatchWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; HSPLcom/android/internal/policy/PhoneWindow;->doInvalidatePanelMenu(I)V HSPLcom/android/internal/policy/PhoneWindow;->generateDecor(I)Lcom/android/internal/policy/DecorView; -HSPLcom/android/internal/policy/PhoneWindow;->generateLayout(Lcom/android/internal/policy/DecorView;)Landroid/view/ViewGroup;+]Landroid/content/res/Resources;Landroid/content/res/Resources;]Landroid/content/res/TypedArray;Landroid/content/res/TypedArray;]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView;]Lcom/android/internal/policy/PhoneWindow;Lcom/android/internal/policy/PhoneWindow;]Ljava/lang/Boolean;Ljava/lang/Boolean; +HSPLcom/android/internal/policy/PhoneWindow;->generateLayout(Lcom/android/internal/policy/DecorView;)Landroid/view/ViewGroup; HSPLcom/android/internal/policy/PhoneWindow;->getCurrentFocus()Landroid/view/View; HSPLcom/android/internal/policy/PhoneWindow;->getDecorView()Landroid/view/View; HSPLcom/android/internal/policy/PhoneWindow;->getLayoutInflater()Landroid/view/LayoutInflater; @@ -21823,7 +21930,7 @@ HSPLcom/android/internal/policy/PhoneWindow;->peekDecorView()Landroid/view/View; HSPLcom/android/internal/policy/PhoneWindow;->requestFeature(I)Z HSPLcom/android/internal/policy/PhoneWindow;->restoreHierarchyState(Landroid/os/Bundle;)V HSPLcom/android/internal/policy/PhoneWindow;->saveHierarchyState()Landroid/os/Bundle; -HSPLcom/android/internal/policy/PhoneWindow;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V +HSPLcom/android/internal/policy/PhoneWindow;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V+]Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView; HSPLcom/android/internal/policy/PhoneWindow;->setBackgroundBlurRadius(I)V HSPLcom/android/internal/policy/PhoneWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V HSPLcom/android/internal/policy/PhoneWindow;->setContentView(I)V @@ -21896,6 +22003,7 @@ HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getAvailableSubscriptionInf HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultDataSubId()I HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSmsSubId()I HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSubId()I +HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSubIdAsUser(I)I HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultVoiceSubId()I HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getPhoneId(I)I HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSlotIndex(I)I @@ -21981,7 +22089,7 @@ HSPLcom/android/internal/util/ArrayUtils;->convertToIntArray(Ljava/util/List;)[I HSPLcom/android/internal/util/ArrayUtils;->deepToString(Ljava/lang/Object;)Ljava/lang/String; HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/io/File;)[Ljava/io/File; HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/lang/String;)[Ljava/lang/String; -HSPLcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object; +HSPLcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object;+]Ljava/lang/Object;Ljava/lang/Class;]Ljava/lang/Class;Ljava/lang/Class; HSPLcom/android/internal/util/ArrayUtils;->emptyIfNull([Ljava/lang/Object;Ljava/lang/Class;)[Ljava/lang/Object; HSPLcom/android/internal/util/ArrayUtils;->filter([Ljava/lang/Object;Ljava/util/function/IntFunction;Ljava/util/function/Predicate;)[Ljava/lang/Object; HSPLcom/android/internal/util/ArrayUtils;->getOrNull([Ljava/lang/Object;I)Ljava/lang/Object; @@ -21989,14 +22097,14 @@ HSPLcom/android/internal/util/ArrayUtils;->indexOf([Ljava/lang/Object;Ljava/lang HSPLcom/android/internal/util/ArrayUtils;->isEmpty(Ljava/util/Collection;)Z HSPLcom/android/internal/util/ArrayUtils;->isEmpty([I)Z HSPLcom/android/internal/util/ArrayUtils;->isEmpty([Ljava/lang/Object;)Z -HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedArray(Ljava/lang/Class;I)[Ljava/lang/Object; +HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedArray(Ljava/lang/Class;I)[Ljava/lang/Object;+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedBooleanArray(I)[Z HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedByteArray(I)[B -HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedCharArray(I)[C +HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedCharArray(I)[C+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedFloatArray(I)[F -HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedIntArray(I)[I +HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedIntArray(I)[I+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedLongArray(I)[J -HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedObjectArray(I)[Ljava/lang/Object; +HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedObjectArray(I)[Ljava/lang/Object;+]Ldalvik/system/VMRuntime;Ldalvik/system/VMRuntime; HSPLcom/android/internal/util/ArrayUtils;->remove(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList; HSPLcom/android/internal/util/ArrayUtils;->removeElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object; HSPLcom/android/internal/util/ArrayUtils;->size([Ljava/lang/Object;)I @@ -22037,13 +22145,13 @@ HSPLcom/android/internal/util/FastPrintWriter;->print(J)V HSPLcom/android/internal/util/FastPrintWriter;->print(Ljava/lang/String;)V HSPLcom/android/internal/util/FastPrintWriter;->println()V HSPLcom/android/internal/util/FastPrintWriter;->write(I)V -HSPLcom/android/internal/util/FastPrintWriter;->write(Ljava/lang/String;)V +HSPLcom/android/internal/util/FastPrintWriter;->write(Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String; HSPLcom/android/internal/util/FastPrintWriter;->write([CII)V HSPLcom/android/internal/util/FastXmlSerializer;-><init>()V HSPLcom/android/internal/util/FastXmlSerializer;-><init>(I)V HSPLcom/android/internal/util/FastXmlSerializer;->append(C)V HSPLcom/android/internal/util/FastXmlSerializer;->append(Ljava/lang/String;)V+]Ljava/lang/String;Ljava/lang/String; -HSPLcom/android/internal/util/FastXmlSerializer;->append(Ljava/lang/String;II)V+]Ljava/lang/String;Ljava/lang/String; +HSPLcom/android/internal/util/FastXmlSerializer;->append(Ljava/lang/String;II)V+]Ljava/lang/String;Ljava/lang/String;]Lcom/android/internal/util/FastXmlSerializer;Lcom/android/internal/util/FastXmlSerializer; HSPLcom/android/internal/util/FastXmlSerializer;->appendIndent(I)V+]Ljava/lang/String;Ljava/lang/String; HSPLcom/android/internal/util/FastXmlSerializer;->attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer; HSPLcom/android/internal/util/FastXmlSerializer;->endDocument()V @@ -22065,12 +22173,12 @@ HSPLcom/android/internal/util/FrameworkStatsLog;->write(ILjava/lang/String;I)V HSPLcom/android/internal/util/FrameworkStatsLog;->write(ILjava/lang/String;IIF)V HSPLcom/android/internal/util/GrowingArrayUtils;->append([III)[I HSPLcom/android/internal/util/GrowingArrayUtils;->append([JIJ)[J -HSPLcom/android/internal/util/GrowingArrayUtils;->append([Ljava/lang/Object;ILjava/lang/Object;)[Ljava/lang/Object; +HSPLcom/android/internal/util/GrowingArrayUtils;->append([Ljava/lang/Object;ILjava/lang/Object;)[Ljava/lang/Object;+]Ljava/lang/Object;missing_types]Ljava/lang/Class;Ljava/lang/Class; HSPLcom/android/internal/util/GrowingArrayUtils;->append([ZIZ)[Z HSPLcom/android/internal/util/GrowingArrayUtils;->growSize(I)I HSPLcom/android/internal/util/GrowingArrayUtils;->insert([IIII)[I HSPLcom/android/internal/util/GrowingArrayUtils;->insert([JIIJ)[J -HSPLcom/android/internal/util/GrowingArrayUtils;->insert([Ljava/lang/Object;IILjava/lang/Object;)[Ljava/lang/Object;+]Ljava/lang/Class;Ljava/lang/Class;]Ljava/lang/Object;[Ljava/lang/Object; +HSPLcom/android/internal/util/GrowingArrayUtils;->insert([Ljava/lang/Object;IILjava/lang/Object;)[Ljava/lang/Object;+]Ljava/lang/Object;[Ljava/lang/Object;]Ljava/lang/Class;Ljava/lang/Class; HSPLcom/android/internal/util/GrowingArrayUtils;->insert([ZIIZ)[Z HSPLcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter; HSPLcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter; @@ -22140,7 +22248,7 @@ HSPLcom/android/internal/util/Preconditions;->checkStringNotEmpty(Ljava/lang/Cha HSPLcom/android/internal/util/ProcFileReader;->finishLine()V HSPLcom/android/internal/util/ScreenshotHelper;-><init>(Landroid/content/Context;)V HSPLcom/android/internal/util/StatLogger;->getTime()J -HSPLcom/android/internal/util/StatLogger;->logDurationStat(IJ)J+]Lcom/android/internal/util/StatLogger;Lcom/android/internal/util/StatLogger; +HSPLcom/android/internal/util/StatLogger;->logDurationStat(IJ)J HSPLcom/android/internal/util/State;-><init>()V HSPLcom/android/internal/util/State;->enter()V HSPLcom/android/internal/util/StateMachine$LogRecords;->add(Lcom/android/internal/util/StateMachine;Landroid/os/Message;Ljava/lang/String;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;)V @@ -22192,7 +22300,7 @@ HSPLcom/android/internal/util/XmlSerializerWrapper;->endTag(Ljava/lang/String;Lj HSPLcom/android/internal/util/XmlSerializerWrapper;->setFeature(Ljava/lang/String;Z)V HSPLcom/android/internal/util/XmlSerializerWrapper;->setOutput(Ljava/io/OutputStream;Ljava/lang/String;)V HSPLcom/android/internal/util/XmlSerializerWrapper;->startDocument(Ljava/lang/String;Ljava/lang/Boolean;)V -HSPLcom/android/internal/util/XmlSerializerWrapper;->startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;+]Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/FastXmlSerializer; +HSPLcom/android/internal/util/XmlSerializerWrapper;->startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer; HSPLcom/android/internal/util/XmlSerializerWrapper;->text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer; HSPLcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V HSPLcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;->getAttributeBoolean(I)Z @@ -22215,19 +22323,19 @@ HSPLcom/android/internal/util/XmlUtils;->readLongAttribute(Lorg/xmlpull/v1/XmlPu HSPLcom/android/internal/util/XmlUtils;->readLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J HSPLcom/android/internal/util/XmlUtils;->readMapXml(Ljava/io/InputStream;)Ljava/util/HashMap; HSPLcom/android/internal/util/XmlUtils;->readStringAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String; -HSPLcom/android/internal/util/XmlUtils;->readThisMapXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;)Ljava/util/HashMap; -HSPLcom/android/internal/util/XmlUtils;->readThisPrimitiveValueXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)Ljava/lang/Object; +HSPLcom/android/internal/util/XmlUtils;->readThisMapXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;)Ljava/util/HashMap;+]Ljava/util/HashMap;Ljava/util/HashMap;]Ljava/lang/Object;Ljava/lang/String;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; +HSPLcom/android/internal/util/XmlUtils;->readThisPrimitiveValueXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;)Ljava/lang/Object;+]Ljava/lang/Object;Ljava/lang/String;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; HSPLcom/android/internal/util/XmlUtils;->readThisSetXml(Lcom/android/modules/utils/TypedXmlPullParser;Ljava/lang/String;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/util/HashSet; -HSPLcom/android/internal/util/XmlUtils;->readThisValueXml(Lcom/android/modules/utils/TypedXmlPullParser;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/lang/Object; +HSPLcom/android/internal/util/XmlUtils;->readThisValueXml(Lcom/android/modules/utils/TypedXmlPullParser;[Ljava/lang/String;Lcom/android/internal/util/XmlUtils$ReadMapCallback;Z)Ljava/lang/Object;+]Ljava/lang/Object;Ljava/lang/String;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;]Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;]Lcom/android/internal/util/XmlUtils$ReadMapCallback;Landroid/os/PersistableBundle$MyReadMapCallback; HSPLcom/android/internal/util/XmlUtils;->readValueXml(Lcom/android/modules/utils/TypedXmlPullParser;[Ljava/lang/String;)Ljava/lang/Object; HSPLcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V -HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V+]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Set;Ljava/util/HashMap$EntrySet; +HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/io/OutputStream;)V HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V HSPLcom/android/internal/util/XmlUtils;->writeSetXml(Ljava/util/Set;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;)V HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;)V -HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V+]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Ljava/lang/Integer;Ljava/lang/Integer;]Ljava/lang/Long;Ljava/lang/Long;]Ljava/lang/Object;Ljava/lang/String; +HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V+]Ljava/lang/Integer;Ljava/lang/Integer;]Lcom/android/modules/utils/TypedXmlSerializer;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlSerializer;]Ljava/lang/Object;Ljava/lang/String;]Ljava/lang/Boolean;Ljava/lang/Boolean;]Ljava/lang/Long;Ljava/lang/Long;]Ljava/lang/Float;Ljava/lang/Float; HSPLcom/android/internal/util/function/pooled/OmniFunction;->run()V HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/HexConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message; HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/QuadConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message; @@ -22263,6 +22371,7 @@ HSPLcom/android/internal/view/AppearanceRegion;->equals(Ljava/lang/Object;)Z HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->addClient(Lcom/android/internal/inputmethod/IInputMethodClient;Lcom/android/internal/inputmethod/IRemoteInputConnection;I)V HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->asBinder()Landroid/os/IBinder; +HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodList(I)Ljava/util/List; HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getImeTrackerService()Lcom/android/internal/inputmethod/IImeTracker; HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->isImeTraceEnabled()Z HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->removeImeSurfaceFromWindowAsync(Landroid/os/IBinder;)V @@ -22307,7 +22416,7 @@ HSPLcom/android/internal/widget/AlertDialogLayout;->onMeasure(II)V HSPLcom/android/internal/widget/AlertDialogLayout;->setChildFrame(Landroid/view/View;IIII)V HSPLcom/android/internal/widget/AlertDialogLayout;->tryOnMeasure(II)Z HSPLcom/android/internal/widget/BackgroundFallback;-><init>()V -HSPLcom/android/internal/widget/BackgroundFallback;->draw(Landroid/view/ViewGroup;Landroid/view/ViewGroup;Landroid/graphics/Canvas;Landroid/view/View;Landroid/view/View;Landroid/view/View;)V +HSPLcom/android/internal/widget/BackgroundFallback;->draw(Landroid/view/ViewGroup;Landroid/view/ViewGroup;Landroid/graphics/Canvas;Landroid/view/View;Landroid/view/View;Landroid/view/View;)V+]Lcom/android/internal/widget/BackgroundFallback;Lcom/android/internal/widget/BackgroundFallback; HSPLcom/android/internal/widget/BackgroundFallback;->hasFallback()Z HSPLcom/android/internal/widget/BackgroundFallback;->setDrawable(Landroid/graphics/drawable/Drawable;)V HSPLcom/android/internal/widget/ButtonBarLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V @@ -22326,6 +22435,7 @@ HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->handleStron HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->isNonStrongBiometricAllowedAfterIdleTimeout(I)Z HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->onIsNonStrongBiometricAllowedChanged(I)V HSPLcom/android/internal/widget/LockPatternUtils;-><init>(Landroid/content/Context;)V +HSPLcom/android/internal/widget/LockPatternUtils;-><init>(Landroid/content/Context;Lcom/android/internal/widget/ILockSettings;)V+]Landroid/content/Context;Landroid/app/ContextImpl;,Landroid/app/ReceiverRestrictedContext; HSPLcom/android/internal/widget/LockPatternUtils;->credentialTypeToPasswordQuality(I)I HSPLcom/android/internal/widget/LockPatternUtils;->getBoolean(Ljava/lang/String;ZI)Z HSPLcom/android/internal/widget/LockPatternUtils;->getCredentialTypeForUser(I)I @@ -22341,8 +22451,8 @@ HSPLcom/android/internal/widget/LockPatternUtils;->isOwnerInfoEnabled(I)Z HSPLcom/android/internal/widget/LockPatternUtils;->isSecure(I)Z HSPLcom/android/internal/widget/LockPatternUtils;->isSeparateProfileChallengeEnabled(I)Z HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeBoolean(Ljava/lang/String;Ljava/lang/String;)Z+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; -HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeFloat(Ljava/lang/String;Ljava/lang/String;)F+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; -HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeIndex(Ljava/lang/String;Ljava/lang/String;)I+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser;]Ljava/lang/Object;Ljava/lang/String; +HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeFloat(Ljava/lang/String;Ljava/lang/String;)F +HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeIndex(Ljava/lang/String;Ljava/lang/String;)I+]Ljava/lang/Object;Ljava/lang/String;]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeIndexOrThrow(Ljava/lang/String;Ljava/lang/String;)I+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeInt(Ljava/lang/String;Ljava/lang/String;)I+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; HSPLcom/android/modules/utils/TypedXmlPullParser;->getAttributeLong(Ljava/lang/String;Ljava/lang/String;)J+]Lcom/android/modules/utils/TypedXmlPullParser;Lcom/android/internal/util/XmlUtils$ForcedTypedXmlPullParser; @@ -23291,6 +23401,12 @@ HSPLcom/android/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I HSPLcom/android/telephony/Rlog;->log(ILjava/lang/String;Ljava/lang/String;)I HSPLcom/android/telephony/Rlog;->pii(ZLjava/lang/Object;)Ljava/lang/String; HSPLcom/android/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;)I +HSPLcom/android/text/flags/FeatureFlagsImpl;-><init>()V +HSPLcom/android/text/flags/Flags;-><clinit>()V +HSPLcom/android/window/flags/FeatureFlagsImpl;-><init>()V +HSPLcom/android/window/flags/FeatureFlagsImpl;->bundleClientTransactionFlag()Z +HSPLcom/android/window/flags/Flags;-><clinit>()V +HSPLcom/android/window/flags/Flags;->bundleClientTransactionFlag()Z+]Lcom/android/window/flags/FeatureFlags;Lcom/android/window/flags/FeatureFlagsImpl; HSPLcom/google/android/collect/Lists;->newArrayList()Ljava/util/ArrayList; HSPLcom/google/android/collect/Lists;->newArrayList([Ljava/lang/Object;)Ljava/util/ArrayList; HSPLcom/google/android/collect/Maps;->newHashMap()Ljava/util/HashMap; @@ -24968,7 +25084,7 @@ HSPLjava/lang/UNIXProcess;->waitFor()I HSPLjava/lang/UnsatisfiedLinkError;-><init>(Ljava/lang/String;)V HSPLjava/lang/UnsupportedOperationException;-><init>()V HSPLjava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V -HSPLjava/lang/VMClassLoader;->createBootClassPathUrlHandlers()[Llibcore/io/ClassPathURLStreamHandler; +HPLjava/lang/VMClassLoader;->createBootClassPathUrlHandlers()[Llibcore/io/ClassPathURLStreamHandler; HSPLjava/lang/VMClassLoader;->getResource(Ljava/lang/String;)Ljava/net/URL; HSPLjava/lang/VMClassLoader;->getResources(Ljava/lang/String;)Ljava/util/List; HSPLjava/lang/invoke/FieldVarHandle;-><init>(Ljava/lang/reflect/Field;Ljava/lang/Class;)V @@ -25880,7 +25996,7 @@ HSPLjava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; HSPLjava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer; HSPLjava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer; HSPLjava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer; -HSPLjava/nio/ByteBuffer;->putBuffer(ILjava/nio/ByteBuffer;II)V +HSPLjava/nio/ByteBuffer;->putBuffer(ILjava/nio/ByteBuffer;II)V+]Ljava/nio/ByteBuffer;Ljava/nio/DirectByteBuffer;,Ljava/nio/HeapByteBuffer; HSPLjava/nio/ByteBuffer;->reset()Ljava/nio/Buffer; HSPLjava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer; HSPLjava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer; @@ -26888,12 +27004,12 @@ HSPLjava/time/ZonedDateTime;->toLocalTime()Ljava/time/LocalTime; HSPLjava/time/chrono/AbstractChronology;->equals(Ljava/lang/Object;)Z HSPLjava/time/chrono/AbstractChronology;->resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate; HSPLjava/time/chrono/ChronoLocalDate;->isSupported(Ljava/time/temporal/TemporalField;)Z -HSPLjava/time/chrono/ChronoLocalDateTime;->getChronology()Ljava/time/chrono/Chronology;+]Ljava/time/chrono/ChronoLocalDate;Ljava/time/LocalDate;]Ljava/time/chrono/ChronoLocalDateTime;Ljava/time/LocalDateTime; +HSPLjava/time/chrono/ChronoLocalDateTime;->getChronology()Ljava/time/chrono/Chronology; HSPLjava/time/chrono/ChronoLocalDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object; -HSPLjava/time/chrono/ChronoLocalDateTime;->toEpochSecond(Ljava/time/ZoneOffset;)J+]Ljava/time/chrono/ChronoLocalDate;Ljava/time/LocalDate;]Ljava/time/chrono/ChronoLocalDateTime;Ljava/time/LocalDateTime; -HSPLjava/time/chrono/ChronoZonedDateTime;->getChronology()Ljava/time/chrono/Chronology;+]Ljava/time/chrono/ChronoLocalDate;Ljava/time/LocalDate;]Ljava/time/chrono/ChronoZonedDateTime;Ljava/time/ZonedDateTime; +HSPLjava/time/chrono/ChronoLocalDateTime;->toEpochSecond(Ljava/time/ZoneOffset;)J+]Ljava/time/chrono/ChronoLocalDateTime;Ljava/time/LocalDateTime;]Ljava/time/chrono/ChronoLocalDate;Ljava/time/LocalDate; +HSPLjava/time/chrono/ChronoZonedDateTime;->getChronology()Ljava/time/chrono/Chronology;+]Ljava/time/chrono/ChronoZonedDateTime;Ljava/time/ZonedDateTime;]Ljava/time/chrono/ChronoLocalDate;Ljava/time/LocalDate; HSPLjava/time/chrono/ChronoZonedDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object; -HSPLjava/time/chrono/ChronoZonedDateTime;->toEpochSecond()J+]Ljava/time/chrono/ChronoLocalDate;Ljava/time/LocalDate;]Ljava/time/chrono/ChronoZonedDateTime;Ljava/time/ZonedDateTime; +HSPLjava/time/chrono/ChronoZonedDateTime;->toEpochSecond()J+]Ljava/time/chrono/ChronoZonedDateTime;Ljava/time/ZonedDateTime;]Ljava/time/chrono/ChronoLocalDate;Ljava/time/LocalDate; HSPLjava/time/chrono/ChronoZonedDateTime;->toInstant()Ljava/time/Instant;+]Ljava/time/chrono/ChronoZonedDateTime;Ljava/time/ZonedDateTime; HSPLjava/time/chrono/IsoChronology;->isLeapYear(J)Z HSPLjava/time/chrono/IsoChronology;->resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/LocalDate; @@ -27302,7 +27418,7 @@ HSPLjava/util/Arrays$ArrayList;->sort(Ljava/util/Comparator;)V HSPLjava/util/Arrays$ArrayList;->spliterator()Ljava/util/Spliterator; HSPLjava/util/Arrays$ArrayList;->toArray()[Ljava/lang/Object; HSPLjava/util/Arrays$ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; -HSPLjava/util/Arrays$ArrayList;->toArrayPreserveComponentType()[Ljava/lang/Object; +HSPLjava/util/Arrays$ArrayList;->toArrayPreserveComponentType()[Ljava/lang/Object;+][Ljava/lang/Object;missing_types HSPLjava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/Arrays;->binarySearch([CC)I HSPLjava/util/Arrays;->binarySearch([II)I @@ -27464,7 +27580,7 @@ HSPLjava/util/Calendar;->setTimeZone(Ljava/util/TimeZone;)V HSPLjava/util/Calendar;->setWeekCountData(Ljava/util/Locale;)V HSPLjava/util/Calendar;->setZoneShared(Z)V HSPLjava/util/Calendar;->updateTime()V -HSPLjava/util/Collection;->removeIf(Ljava/util/function/Predicate;)Z+]Ljava/util/Collection;megamorphic_types]Ljava/util/Iterator;megamorphic_types]Ljava/util/function/Predicate;Lcom/android/internal/telephony/data/DataNetworkController$$ExternalSyntheticLambda32;,Lcom/android/internal/telephony/data/DataNetworkController$$ExternalSyntheticLambda43; +HSPLjava/util/Collection;->removeIf(Ljava/util/function/Predicate;)Z+]Ljava/util/Collection;Landroid/util/MapCollections$ValuesCollection;,Landroid/util/MapCollections$EntrySet;,Ljava/util/LinkedHashMap$LinkedEntrySet;,Ljava/util/LinkedList;,Landroid/util/MapCollections$KeySet;,Ljava/util/HashSet;,Ljava/util/LinkedHashMap$LinkedValues;,Ljava/util/LinkedHashSet;,Ljava/util/HashMap$EntrySet;]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Landroid/util/MapCollections$MapIterator;,Ljava/util/LinkedList$ListItr;,Ljava/util/LinkedHashMap$LinkedEntryIterator;,Ljava/util/HashMap$KeyIterator;,Ljava/util/LinkedHashMap$LinkedValueIterator;,Ljava/util/LinkedHashMap$LinkedKeyIterator;,Ljava/util/HashMap$EntryIterator; HSPLjava/util/Collection;->spliterator()Ljava/util/Spliterator; HSPLjava/util/Collection;->stream()Ljava/util/stream/Stream;+]Ljava/util/Collection;megamorphic_types HSPLjava/util/Collections$1;-><init>(Ljava/lang/Object;)V @@ -27652,7 +27768,7 @@ HSPLjava/util/Collections;->rotate(Ljava/util/List;I)V HSPLjava/util/Collections;->rotate1(Ljava/util/List;I)V HSPLjava/util/Collections;->shuffle(Ljava/util/List;)V HSPLjava/util/Collections;->shuffle(Ljava/util/List;Ljava/util/Random;)V -HSPLjava/util/Collections;->shuffle(Ljava/util/List;Ljava/util/random/RandomGenerator;)V +HSPLjava/util/Collections;->shuffle(Ljava/util/List;Ljava/util/random/RandomGenerator;)V+]Ljava/util/random/RandomGenerator;Ljava/util/Random;]Ljava/util/List;missing_types HSPLjava/util/Collections;->singleton(Ljava/lang/Object;)Ljava/util/Set; HSPLjava/util/Collections;->singletonIterator(Ljava/lang/Object;)Ljava/util/Iterator; HSPLjava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List; @@ -27824,7 +27940,7 @@ HSPLjava/util/Formatter$Flags;->valueOf()I HSPLjava/util/Formatter$FormatSpecifier;-><init>(Ljava/util/Formatter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V HSPLjava/util/Formatter$FormatSpecifier;->addZeros(Ljava/lang/StringBuilder;I)V HSPLjava/util/Formatter$FormatSpecifier;->adjustWidth(ILjava/util/Formatter$Flags;Z)I -HSPLjava/util/Formatter$FormatSpecifier;->appendJustified(Ljava/lang/Appendable;Ljava/lang/CharSequence;)V +HSPLjava/util/Formatter$FormatSpecifier;->appendJustified(Ljava/lang/Appendable;Ljava/lang/CharSequence;)V+]Ljava/util/Formatter$Flags;Ljava/util/Formatter$Flags;]Ljava/lang/CharSequence;Ljava/lang/String;,Ljava/lang/StringBuilder;]Ljava/lang/Appendable;megamorphic_types HSPLjava/util/Formatter$FormatSpecifier;->checkBadFlags([Ljava/util/Formatter$Flags;)V HSPLjava/util/Formatter$FormatSpecifier;->checkCharacter()V HSPLjava/util/Formatter$FormatSpecifier;->checkDateTime()V @@ -27887,7 +28003,7 @@ HSPLjava/util/Formatter;->nonNullAppendable(Ljava/lang/Appendable;)Ljava/lang/Ap HSPLjava/util/Formatter;->out()Ljava/lang/Appendable; HSPLjava/util/Formatter;->parse(Ljava/lang/String;)Ljava/util/List; HSPLjava/util/Formatter;->toString()Ljava/lang/String; -HSPLjava/util/Formatter;->zero()C +HSPLjava/util/Formatter;->zero()C+]Llibcore/icu/DecimalFormatData;Llibcore/icu/DecimalFormatData; HSPLjava/util/GregorianCalendar;-><init>()V HSPLjava/util/GregorianCalendar;-><init>(IIIIII)V HSPLjava/util/GregorianCalendar;-><init>(IIIIIII)V @@ -28043,8 +28159,8 @@ HSPLjava/util/HashSet;->readObject(Ljava/io/ObjectInputStream;)V HSPLjava/util/HashSet;->remove(Ljava/lang/Object;)Z HSPLjava/util/HashSet;->size()I HSPLjava/util/HashSet;->spliterator()Ljava/util/Spliterator; -HSPLjava/util/HashSet;->toArray()[Ljava/lang/Object; -HSPLjava/util/HashSet;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; +HSPLjava/util/HashSet;->toArray()[Ljava/lang/Object;+]Ljava/util/HashMap;Ljava/util/HashMap;,Ljava/util/LinkedHashMap; +HSPLjava/util/HashSet;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;+]Ljava/util/HashMap;Ljava/util/HashMap;,Ljava/util/LinkedHashMap; HSPLjava/util/HashSet;->writeObject(Ljava/io/ObjectOutputStream;)V HSPLjava/util/Hashtable$EntrySet;-><init>(Ljava/util/Hashtable;)V HSPLjava/util/Hashtable$EntrySet;->iterator()Ljava/util/Iterator; @@ -28068,7 +28184,6 @@ HSPLjava/util/Hashtable;->-$$Nest$fgettable(Ljava/util/Hashtable;)[Ljava/util/Ha HSPLjava/util/Hashtable;-><init>()V HSPLjava/util/Hashtable;-><init>(I)V HSPLjava/util/Hashtable;-><init>(IF)V -HSPLjava/util/Hashtable;-><init>(Ljava/lang/Void;)V HSPLjava/util/Hashtable;->addEntry(ILjava/lang/Object;Ljava/lang/Object;I)V HSPLjava/util/Hashtable;->clear()V HSPLjava/util/Hashtable;->clone()Ljava/lang/Object; @@ -28154,14 +28269,13 @@ HSPLjava/util/ImmutableCollections$MapN;-><init>([Ljava/lang/Object;)V HSPLjava/util/ImmutableCollections$MapN;->containsKey(Ljava/lang/Object;)Z HSPLjava/util/ImmutableCollections$MapN;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLjava/util/ImmutableCollections$MapN;->probe(Ljava/lang/Object;)I -HSPLjava/util/ImmutableCollections$Set12;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V+]Ljava/lang/Object;missing_types HSPLjava/util/ImmutableCollections$SetN;-><init>([Ljava/lang/Object;)V HSPLjava/util/ImmutableCollections$SetN;->contains(Ljava/lang/Object;)Z HSPLjava/util/ImmutableCollections$SetN;->probe(Ljava/lang/Object;)I HSPLjava/util/ImmutableCollections;-><clinit>()V HSPLjava/util/ImmutableCollections;->listCopy(Ljava/util/Collection;)Ljava/util/List; HSPLjava/util/ImmutableCollections;->listFromTrustedArray([Ljava/lang/Object;)Ljava/util/List; -HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V+]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Landroid/util/MapCollections$MapIterator;,Ljava/util/AbstractList$Itr;,Ljava/util/AbstractMap$2$1;]Ljava/util/function/Consumer;megamorphic_types +HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V+]Ljava/util/function/Consumer;megamorphic_types]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Ljava/util/AbstractMap$2$1;,Ljava/util/AbstractList$Itr;,Ljava/util/LinkedHashMap$LinkedValueIterator; HSPLjava/util/JumboEnumSet$EnumSetIterator;-><init>(Ljava/util/JumboEnumSet;)V HSPLjava/util/JumboEnumSet$EnumSetIterator;->hasNext()Z HSPLjava/util/JumboEnumSet$EnumSetIterator;->next()Ljava/lang/Enum; @@ -28289,7 +28403,7 @@ HSPLjava/util/List;->of(Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/List;->of(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/List;->of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/List;->of([Ljava/lang/Object;)Ljava/util/List; -HSPLjava/util/List;->sort(Ljava/util/Comparator;)V+]Ljava/util/List;Ljava/util/ArrayList$SubList;,Ljava/util/LinkedList;]Ljava/util/ListIterator;Ljava/util/ArrayList$SubList$1;,Ljava/util/LinkedList$ListItr; +HSPLjava/util/List;->sort(Ljava/util/Comparator;)V+]Ljava/util/ListIterator;Ljava/util/ArrayList$SubList$1;,Ljava/util/LinkedList$ListItr;]Ljava/util/List;Ljava/util/ArrayList$SubList;,Ljava/util/LinkedList; HSPLjava/util/List;->spliterator()Ljava/util/Spliterator; HSPLjava/util/Locale$Builder;-><init>()V HSPLjava/util/Locale$Builder;->build()Ljava/util/Locale; @@ -28350,7 +28464,7 @@ HSPLjava/util/Locale;->toString()Ljava/lang/String; HSPLjava/util/Locale;->writeObject(Ljava/io/ObjectOutputStream;)V HSPLjava/util/Map;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;+]Ljava/util/Map;Landroid/util/ArrayMap;]Ljava/util/function/Function;missing_types HSPLjava/util/Map;->entry(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry; -HSPLjava/util/Map;->forEach(Ljava/util/function/BiConsumer;)V +HSPLjava/util/Map;->forEach(Ljava/util/function/BiConsumer;)V+]Ljava/util/Map$Entry;Ljava/util/KeyValueHolder;]Ljava/util/Map;Ljava/util/ImmutableCollections$MapN;]Ljava/util/Iterator;Ljava/util/ImmutableCollections$MapN$MapNIterator;]Ljava/util/Set;Ljava/util/ImmutableCollections$MapN$1; HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/Map;Landroid/util/ArrayMap; HSPLjava/util/Map;->of(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map; HSPLjava/util/Map;->ofEntries([Ljava/util/Map$Entry;)Ljava/util/Map; @@ -28548,7 +28662,7 @@ HSPLjava/util/SimpleTimeZone;->getOffset(J)I HSPLjava/util/SimpleTimeZone;->getOffsets(J[I)I HSPLjava/util/SimpleTimeZone;->getRawOffset()I HSPLjava/util/SimpleTimeZone;->hasSameRules(Ljava/util/TimeZone;)Z -HSPLjava/util/Spliterator$OfInt;->forEachRemaining(Ljava/util/function/Consumer;)V+]Ljava/util/Spliterator$OfInt;Ljava/lang/StringUTF16$CodePointsSpliteratorForString;,Ljava/util/Spliterators$EmptySpliterator$OfInt;,Ljava/util/Spliterators$IntArraySpliterator;,Ljava/util/stream/Streams$RangeIntSpliterator; +HSPLjava/util/Spliterator$OfInt;->forEachRemaining(Ljava/util/function/Consumer;)V+]Ljava/util/Spliterator$OfInt;Ljava/util/Spliterators$IntArraySpliterator;,Ljava/util/Spliterators$EmptySpliterator$OfInt;,Ljava/util/stream/Streams$RangeIntSpliterator;,Ljava/lang/StringUTF16$CodePointsSpliteratorForString; HSPLjava/util/Spliterator;->getExactSizeIfKnown()J+]Ljava/util/Spliterator;megamorphic_types HSPLjava/util/Spliterators$ArraySpliterator;-><init>([Ljava/lang/Object;I)V HSPLjava/util/Spliterators$ArraySpliterator;-><init>([Ljava/lang/Object;III)V @@ -29941,7 +30055,7 @@ HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda20;->accept(Ljava/lang/O HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda25;-><init>()V HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda25;->get()Ljava/lang/Object; HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda26;-><init>()V -HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda26;->accept(Ljava/lang/Object;Ljava/lang/Object;)V +HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda26;->accept(Ljava/lang/Object;Ljava/lang/Object;)V+]Ljava/util/List;Ljava/util/ArrayList; HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda27;-><init>()V HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda28;-><init>()V HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda28;->apply(Ljava/lang/Object;)Ljava/lang/Object; @@ -29968,7 +30082,7 @@ HSPLjava/util/stream/Collectors;->groupingBy(Ljava/util/function/Function;Ljava/ HSPLjava/util/stream/Collectors;->joining(Ljava/lang/CharSequence;)Ljava/util/stream/Collector; HSPLjava/util/stream/Collectors;->joining(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector; HSPLjava/util/stream/Collectors;->lambda$joining$11(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/StringJoiner; -HSPLjava/util/stream/Collectors;->lambda$toUnmodifiableList$6(Ljava/util/ArrayList;)Ljava/util/List; +HSPLjava/util/stream/Collectors;->lambda$toUnmodifiableList$6(Ljava/util/ArrayList;)Ljava/util/List;+]Ljdk/internal/access/JavaUtilCollectionAccess;Ljava/util/ImmutableCollections$Access$1; HSPLjava/util/stream/Collectors;->lambda$uniqKeysMapAccumulator$1(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/Map;Ljava/lang/Object;)V HSPLjava/util/stream/Collectors;->mapMerger(Ljava/util/function/BinaryOperator;)Ljava/util/function/BinaryOperator; HSPLjava/util/stream/Collectors;->toCollection(Ljava/util/function/Supplier;)Ljava/util/stream/Collector; @@ -30012,7 +30126,7 @@ HSPLjava/util/stream/IntPipeline$$ExternalSyntheticLambda12;->apply(I)Ljava/lang HSPLjava/util/stream/IntPipeline$$ExternalSyntheticLambda7;-><init>()V HSPLjava/util/stream/IntPipeline$$ExternalSyntheticLambda8;-><init>()V HSPLjava/util/stream/IntPipeline$1$1;-><init>(Ljava/util/stream/IntPipeline$1;Ljava/util/stream/Sink;)V -HSPLjava/util/stream/IntPipeline$1$1;->accept(I)V +HSPLjava/util/stream/IntPipeline$1$1;->accept(I)V+]Ljava/util/function/IntFunction;megamorphic_types]Ljava/util/stream/Sink;megamorphic_types HSPLjava/util/stream/IntPipeline$1;-><init>(Ljava/util/stream/IntPipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/IntFunction;)V HSPLjava/util/stream/IntPipeline$1;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink; HSPLjava/util/stream/IntPipeline$4$1;-><init>(Ljava/util/stream/IntPipeline$4;Ljava/util/stream/Sink;)V @@ -30141,7 +30255,7 @@ HSPLjava/util/stream/ReduceOps;->makeLong(JLjava/util/function/LongBinaryOperato HSPLjava/util/stream/ReduceOps;->makeRef(Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp; HSPLjava/util/stream/ReduceOps;->makeRef(Ljava/util/stream/Collector;)Ljava/util/stream/TerminalOp; HSPLjava/util/stream/ReferencePipeline$15$1;-><init>(Ljava/util/stream/ReferencePipeline$15;Ljava/util/stream/Sink;)V -HSPLjava/util/stream/ReferencePipeline$15$1;->accept(Ljava/lang/Object;)V +HSPLjava/util/stream/ReferencePipeline$15$1;->accept(Ljava/lang/Object;)V+]Ljava/util/stream/Sink;Ljava/util/stream/ReduceOps$3ReducingSink;]Ljava/util/function/Consumer;Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda2; HSPLjava/util/stream/ReferencePipeline$15;-><init>(Ljava/util/stream/ReferencePipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/Consumer;)V HSPLjava/util/stream/ReferencePipeline$15;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink; HSPLjava/util/stream/ReferencePipeline$2$1;-><init>(Ljava/util/stream/ReferencePipeline$2;Ljava/util/stream/Sink;)V @@ -30272,7 +30386,7 @@ HSPLjava/util/zip/CheckedInputStream;->read([BII)I HSPLjava/util/zip/Deflater$DeflaterZStreamRef;-><init>(Ljava/util/zip/Deflater;J)V HSPLjava/util/zip/Deflater$DeflaterZStreamRef;-><init>(Ljava/util/zip/Deflater;JLjava/util/zip/Deflater$DeflaterZStreamRef-IA;)V HSPLjava/util/zip/Deflater$DeflaterZStreamRef;->address()J -HSPLjava/util/zip/Deflater$DeflaterZStreamRef;->clean()V +HSPLjava/util/zip/Deflater$DeflaterZStreamRef;->clean()V+]Ljava/lang/ref/Cleaner$Cleanable;Ljdk/internal/ref/CleanerImpl$PhantomCleanableRef; HSPLjava/util/zip/Deflater$DeflaterZStreamRef;->run()V HSPLjava/util/zip/Deflater;->-$$Nest$smend(J)V HSPLjava/util/zip/Deflater;-><init>()V @@ -30319,7 +30433,7 @@ HSPLjava/util/zip/GZIPOutputStream;->writeInt(I[BI)V HSPLjava/util/zip/GZIPOutputStream;->writeShort(I[BI)V HSPLjava/util/zip/GZIPOutputStream;->writeTrailer([BI)V HSPLjava/util/zip/Inflater$InflaterZStreamRef;->address()J -HSPLjava/util/zip/Inflater$InflaterZStreamRef;->clean()V +HSPLjava/util/zip/Inflater$InflaterZStreamRef;->clean()V+]Ljava/lang/ref/Cleaner$Cleanable;Ljdk/internal/ref/CleanerImpl$PhantomCleanableRef; HSPLjava/util/zip/Inflater$InflaterZStreamRef;->run()V HSPLjava/util/zip/Inflater;->-$$Nest$smend(J)V HSPLjava/util/zip/Inflater;-><init>()V @@ -30367,15 +30481,15 @@ HSPLjava/util/zip/ZipEntry;->getSize()J HSPLjava/util/zip/ZipEntry;->isDirectory()Z HSPLjava/util/zip/ZipEntry;->setExtra0([BZZ)V HSPLjava/util/zip/ZipFile$CleanableResource;-><init>(Ljava/util/zip/ZipFile;Ljava/util/zip/ZipCoder;Ljava/io/File;IZ)V -HSPLjava/util/zip/ZipFile$CleanableResource;->clean()V -HSPLjava/util/zip/ZipFile$CleanableResource;->getInflater()Ljava/util/zip/Inflater; -HSPLjava/util/zip/ZipFile$CleanableResource;->releaseInflater(Ljava/util/zip/Inflater;)V -HSPLjava/util/zip/ZipFile$CleanableResource;->run()V -HSPLjava/util/zip/ZipFile$InflaterCleanupAction;->run()V +HSPLjava/util/zip/ZipFile$CleanableResource;->clean()V+]Ljava/lang/ref/Cleaner$Cleanable;Ljdk/internal/ref/CleanerImpl$PhantomCleanableRef; +HSPLjava/util/zip/ZipFile$CleanableResource;->getInflater()Ljava/util/zip/Inflater;+]Ljava/util/Deque;Ljava/util/ArrayDeque; +HSPLjava/util/zip/ZipFile$CleanableResource;->releaseInflater(Ljava/util/zip/Inflater;)V+]Ljava/util/Deque;Ljava/util/ArrayDeque;]Ljava/util/zip/Inflater;Ljava/util/zip/Inflater; +HSPLjava/util/zip/ZipFile$CleanableResource;->run()V+]Ljava/util/Deque;Ljava/util/ArrayDeque;]Ljava/util/Set;Ljava/util/Collections$SetFromMap;]Ljava/util/zip/Inflater;Ljava/util/zip/Inflater; +HSPLjava/util/zip/ZipFile$InflaterCleanupAction;->run()V+]Ljava/util/zip/ZipFile$CleanableResource;Ljava/util/zip/ZipFile$CleanableResource; HSPLjava/util/zip/ZipFile$Source$End;-><init>()V HSPLjava/util/zip/ZipFile$Source$End;-><init>(Ljava/util/zip/ZipFile$Source$End-IA;)V HSPLjava/util/zip/ZipFile$Source$Key;-><init>(Ljava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;Ljava/util/zip/ZipCoder;Z)V -HSPLjava/util/zip/ZipFile$Source$Key;->equals(Ljava/lang/Object;)Z +HSPLjava/util/zip/ZipFile$Source$Key;->equals(Ljava/lang/Object;)Z+]Ljava/lang/Object;Lsun/nio/fs/UnixFileKey;]Ljava/nio/file/attribute/BasicFileAttributes;Lsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes; HSPLjava/util/zip/ZipFile$Source$Key;->hashCode()I HSPLjava/util/zip/ZipFile$Source;->-$$Nest$fgetlocpos(Ljava/util/zip/ZipFile$Source;)J HSPLjava/util/zip/ZipFile$Source;->-$$Nest$mgetEntryPos(Ljava/util/zip/ZipFile$Source;Ljava/lang/String;Z)I @@ -30383,7 +30497,7 @@ HSPLjava/util/zip/ZipFile$Source;->-$$Nest$mreadAt(Ljava/util/zip/ZipFile$Source HSPLjava/util/zip/ZipFile$Source;->-$$Nest$mreadFullyAt(Ljava/util/zip/ZipFile$Source;[BIIJ)I HSPLjava/util/zip/ZipFile$Source;-><init>(Ljava/util/zip/ZipFile$Source$Key;ZLjava/util/zip/ZipCoder;)V HSPLjava/util/zip/ZipFile$Source;->checkAndAddEntry(II)I -HSPLjava/util/zip/ZipFile$Source;->close()V +HSPLjava/util/zip/ZipFile$Source;->close()V+]Ljava/io/RandomAccessFile;Ljava/io/RandomAccessFile; HSPLjava/util/zip/ZipFile$Source;->findEND()Ljava/util/zip/ZipFile$Source$End; HSPLjava/util/zip/ZipFile$Source;->get(Ljava/io/File;ZLjava/util/zip/ZipCoder;Z)Ljava/util/zip/ZipFile$Source; HSPLjava/util/zip/ZipFile$Source;->getEntryPos(Ljava/lang/String;Z)I @@ -30393,9 +30507,9 @@ HSPLjava/util/zip/ZipFile$Source;->isManifestName(II)Z HSPLjava/util/zip/ZipFile$Source;->isMetaName([BII)Z HSPLjava/util/zip/ZipFile$Source;->isSignatureRelated(II)Z HSPLjava/util/zip/ZipFile$Source;->nextEntryPos(III)I -HSPLjava/util/zip/ZipFile$Source;->readAt([BIIJ)I +HSPLjava/util/zip/ZipFile$Source;->readAt([BIIJ)I+]Ljava/io/RandomAccessFile;Ljava/io/RandomAccessFile; HSPLjava/util/zip/ZipFile$Source;->readFullyAt([BIIJ)I -HSPLjava/util/zip/ZipFile$Source;->release(Ljava/util/zip/ZipFile$Source;)V +HSPLjava/util/zip/ZipFile$Source;->release(Ljava/util/zip/ZipFile$Source;)V+]Ljava/util/HashMap;Ljava/util/HashMap; HSPLjava/util/zip/ZipFile$Source;->zipCoderForPos(I)Ljava/util/zip/ZipCoder; HSPLjava/util/zip/ZipFile$ZipEntryIterator;->hasMoreElements()Z HSPLjava/util/zip/ZipFile$ZipEntryIterator;->hasNext()Z @@ -30770,10 +30884,10 @@ HSPLjdk/internal/misc/Unsafe;->weakCompareAndSetReference(Ljava/lang/Object;JLja HSPLjdk/internal/misc/VM;->getSavedProperty(Ljava/lang/String;)Ljava/lang/String; HSPLjdk/internal/ref/CleanerFactory;->cleaner()Ljava/lang/ref/Cleaner; HSPLjdk/internal/ref/CleanerImpl$PhantomCleanableRef;-><init>(Ljava/lang/Object;Ljava/lang/ref/Cleaner;Ljava/lang/Runnable;)V -HSPLjdk/internal/ref/CleanerImpl$PhantomCleanableRef;->performCleanup()V +HSPLjdk/internal/ref/CleanerImpl$PhantomCleanableRef;->performCleanup()V+]Ljava/lang/Runnable;megamorphic_types HSPLjdk/internal/ref/CleanerImpl;->getCleanerImpl(Ljava/lang/ref/Cleaner;)Ljdk/internal/ref/CleanerImpl; HSPLjdk/internal/ref/PhantomCleanable;-><init>(Ljava/lang/Object;Ljava/lang/ref/Cleaner;)V -HSPLjdk/internal/ref/PhantomCleanable;->clean()V +HSPLjdk/internal/ref/PhantomCleanable;->clean()V+]Ljdk/internal/ref/PhantomCleanable;Ljdk/internal/ref/CleanerImpl$PhantomCleanableRef; HSPLjdk/internal/ref/PhantomCleanable;->insert()V HSPLjdk/internal/ref/PhantomCleanable;->remove()Z HSPLjdk/internal/reflect/Reflection;->getCallerClass()Ljava/lang/Class; @@ -30832,6 +30946,7 @@ HSPLlibcore/icu/ICU;->localeFromIcuLocaleId(Ljava/lang/String;)Ljava/util/Locale HSPLlibcore/icu/ICU;->localesFromStrings([Ljava/lang/String;)[Ljava/util/Locale; HSPLlibcore/icu/ICU;->parseLangScriptRegionAndVariants(Ljava/lang/String;[Ljava/lang/String;)V HSPLlibcore/icu/ICU;->setDefaultLocale(Ljava/lang/String;)V +HSPLlibcore/icu/ICU;->transformIcuDateTimePattern(Ljava/lang/String;)Ljava/lang/String; HSPLlibcore/icu/ICU;->transformIcuDateTimePattern_forJavaText(Ljava/lang/String;)Ljava/lang/String; HSPLlibcore/icu/LocaleData;->get(Ljava/util/Locale;)Llibcore/icu/LocaleData; HSPLlibcore/icu/LocaleData;->getCompatibleLocaleForBug159514442(Ljava/util/Locale;)Ljava/util/Locale; @@ -31122,7 +31237,6 @@ HSPLlibcore/util/NativeAllocationRegistry;->registerNativeFree(J)V HSPLlibcore/util/SneakyThrow;->sneakyThrow(Ljava/lang/Throwable;)V HSPLlibcore/util/SneakyThrow;->sneakyThrow_(Ljava/lang/Throwable;)V HSPLlibcore/util/XmlObjectFactory;->newXmlPullParser()Lorg/xmlpull/v1/XmlPullParser; -HSPLlibcore/util/ZoneInfo;-><clinit>()V HSPLlibcore/util/ZoneInfo;-><init>(Lcom/android/i18n/timezone/ZoneInfoData;IZ)V HSPLlibcore/util/ZoneInfo;->clone()Ljava/lang/Object; HSPLlibcore/util/ZoneInfo;->createZoneInfo(Lcom/android/i18n/timezone/ZoneInfoData;)Llibcore/util/ZoneInfo; @@ -31228,8 +31342,8 @@ HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getURI(I)Ljava/lang/String; HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getValue(I)Ljava/lang/String; HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->removeAttribute(I)V -HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->setAttributes(Lorg/xml/sax/Attributes;)V+]Lorg/ccil/cowan/tagsoup/AttributesImpl;Lorg/ccil/cowan/tagsoup/AttributesImpl;]Lorg/xml/sax/Attributes;Lorg/ccil/cowan/tagsoup/AttributesImpl; -HSPLorg/ccil/cowan/tagsoup/Element;-><init>(Lorg/ccil/cowan/tagsoup/ElementType;Z)V+]Lorg/ccil/cowan/tagsoup/ElementType;Lorg/ccil/cowan/tagsoup/ElementType; +HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->setAttributes(Lorg/xml/sax/Attributes;)V +HSPLorg/ccil/cowan/tagsoup/Element;-><init>(Lorg/ccil/cowan/tagsoup/ElementType;Z)V HSPLorg/ccil/cowan/tagsoup/Element;->atts()Lorg/ccil/cowan/tagsoup/AttributesImpl; HSPLorg/ccil/cowan/tagsoup/Element;->canContain(Lorg/ccil/cowan/tagsoup/Element;)Z HSPLorg/ccil/cowan/tagsoup/Element;->clean()V @@ -31258,10 +31372,10 @@ HSPLorg/ccil/cowan/tagsoup/HTMLScanner;-><init>()V HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->mark()V HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->resetDocumentLocator(Ljava/lang/String;Ljava/lang/String;)V HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->save(ILorg/ccil/cowan/tagsoup/ScanHandler;)V -HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->scan(Ljava/io/Reader;Lorg/ccil/cowan/tagsoup/ScanHandler;)V+]Ljava/io/PushbackReader;Ljava/io/PushbackReader;]Lorg/ccil/cowan/tagsoup/ScanHandler;Lorg/ccil/cowan/tagsoup/Parser; +HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->scan(Ljava/io/Reader;Lorg/ccil/cowan/tagsoup/ScanHandler;)V HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->unread(Ljava/io/PushbackReader;I)V HSPLorg/ccil/cowan/tagsoup/Parser$1;-><init>(Lorg/ccil/cowan/tagsoup/Parser;)V -HSPLorg/ccil/cowan/tagsoup/Parser;-><init>()V+]Ljava/util/HashMap;Ljava/util/HashMap; +HSPLorg/ccil/cowan/tagsoup/Parser;-><init>()V HSPLorg/ccil/cowan/tagsoup/Parser;->aname([CII)V HSPLorg/ccil/cowan/tagsoup/Parser;->aval([CII)V HSPLorg/ccil/cowan/tagsoup/Parser;->entity([CII)V @@ -31276,16 +31390,16 @@ HSPLorg/ccil/cowan/tagsoup/Parser;->getReader(Lorg/xml/sax/InputSource;)Ljava/io HSPLorg/ccil/cowan/tagsoup/Parser;->gi([CII)V HSPLorg/ccil/cowan/tagsoup/Parser;->lookupEntity([CII)I HSPLorg/ccil/cowan/tagsoup/Parser;->makeName([CII)Ljava/lang/String; -HSPLorg/ccil/cowan/tagsoup/Parser;->parse(Lorg/xml/sax/InputSource;)V+]Ljava/lang/Object;Ljava/lang/String;]Lorg/ccil/cowan/tagsoup/Scanner;Lorg/ccil/cowan/tagsoup/HTMLScanner;]Lorg/ccil/cowan/tagsoup/Schema;Lorg/ccil/cowan/tagsoup/HTMLSchema;]Lorg/xml/sax/ContentHandler;Landroid/text/HtmlToSpannedConverter;]Lorg/xml/sax/InputSource;Lorg/xml/sax/InputSource; +HSPLorg/ccil/cowan/tagsoup/Parser;->parse(Lorg/xml/sax/InputSource;)V HSPLorg/ccil/cowan/tagsoup/Parser;->pcdata([CII)V -HSPLorg/ccil/cowan/tagsoup/Parser;->pop()V+]Lorg/ccil/cowan/tagsoup/Element;Lorg/ccil/cowan/tagsoup/Element;]Lorg/xml/sax/Attributes;Lorg/ccil/cowan/tagsoup/AttributesImpl;]Lorg/xml/sax/ContentHandler;Landroid/text/HtmlToSpannedConverter; +HSPLorg/ccil/cowan/tagsoup/Parser;->pop()V HSPLorg/ccil/cowan/tagsoup/Parser;->prefixOf(Ljava/lang/String;)Ljava/lang/String; -HSPLorg/ccil/cowan/tagsoup/Parser;->push(Lorg/ccil/cowan/tagsoup/Element;)V+]Ljava/lang/String;Ljava/lang/String;]Lorg/ccil/cowan/tagsoup/Element;Lorg/ccil/cowan/tagsoup/Element;]Lorg/xml/sax/Attributes;Lorg/ccil/cowan/tagsoup/AttributesImpl;]Lorg/xml/sax/ContentHandler;Landroid/text/HtmlToSpannedConverter; -HSPLorg/ccil/cowan/tagsoup/Parser;->rectify(Lorg/ccil/cowan/tagsoup/Element;)V+]Ljava/lang/Object;Ljava/lang/String;]Lorg/ccil/cowan/tagsoup/Element;Lorg/ccil/cowan/tagsoup/Element; +HSPLorg/ccil/cowan/tagsoup/Parser;->push(Lorg/ccil/cowan/tagsoup/Element;)V +HSPLorg/ccil/cowan/tagsoup/Parser;->rectify(Lorg/ccil/cowan/tagsoup/Element;)V HSPLorg/ccil/cowan/tagsoup/Parser;->restart(Lorg/ccil/cowan/tagsoup/Element;)V HSPLorg/ccil/cowan/tagsoup/Parser;->setContentHandler(Lorg/xml/sax/ContentHandler;)V HSPLorg/ccil/cowan/tagsoup/Parser;->setProperty(Ljava/lang/String;Ljava/lang/Object;)V -HSPLorg/ccil/cowan/tagsoup/Parser;->setup()V+]Lorg/ccil/cowan/tagsoup/Schema;Lorg/ccil/cowan/tagsoup/HTMLSchema; +HSPLorg/ccil/cowan/tagsoup/Parser;->setup()V HSPLorg/ccil/cowan/tagsoup/Parser;->stagc([CII)V HSPLorg/ccil/cowan/tagsoup/Parser;->truthValue(Z)Ljava/lang/Boolean; HSPLorg/ccil/cowan/tagsoup/Schema;->getElementType(Ljava/lang/String;)Lorg/ccil/cowan/tagsoup/ElementType; @@ -31652,7 +31766,7 @@ HSPLsun/nio/cs/StreamEncoder;->forOutputStreamWriter(Ljava/io/OutputStream;Ljava HSPLsun/nio/cs/StreamEncoder;->implClose()V HSPLsun/nio/cs/StreamEncoder;->implFlush()V HSPLsun/nio/cs/StreamEncoder;->implFlushBuffer()V -HSPLsun/nio/cs/StreamEncoder;->implWrite(Ljava/nio/CharBuffer;)V +HSPLsun/nio/cs/StreamEncoder;->implWrite(Ljava/nio/CharBuffer;)V+]Ljava/nio/charset/CoderResult;Ljava/nio/charset/CoderResult; HSPLsun/nio/cs/StreamEncoder;->implWrite([CII)V HSPLsun/nio/cs/StreamEncoder;->write(I)V HSPLsun/nio/cs/StreamEncoder;->write(Ljava/lang/String;II)V @@ -31717,7 +31831,7 @@ HSPLsun/nio/fs/UnixFileAttributeViews$Basic;->readAttributes()Ljava/nio/file/att HSPLsun/nio/fs/UnixFileAttributeViews;->createBasicView(Lsun/nio/fs/UnixPath;Z)Lsun/nio/fs/UnixFileAttributeViews$Basic; HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;-><init>(Lsun/nio/fs/UnixFileAttributes;)V HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->creationTime()Ljava/nio/file/attribute/FileTime; -HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->fileKey()Ljava/lang/Object; +HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->fileKey()Ljava/lang/Object;+]Lsun/nio/fs/UnixFileAttributes;Lsun/nio/fs/UnixFileAttributes; HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->isDirectory()Z HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->isRegularFile()Z HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->isSymbolicLink()Z @@ -32108,7 +32222,7 @@ HSPLsun/security/util/DerValue;->length()I HSPLsun/security/util/DerValue;->resetTag(B)V HSPLsun/security/util/DerValue;->toByteArray()[B HSPLsun/security/util/DerValue;->toDerInputStream()Lsun/security/util/DerInputStream; -HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;-><init>([Ljava/lang/String;)V +HPLsun/security/util/DisabledAlgorithmConstraints$Constraints;-><init>([Ljava/lang/String;)V HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;->getConstraints(Ljava/lang/String;)Ljava/util/Set; HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;->permits(Ljava/security/Key;)Z HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;->permits(Lsun/security/util/CertConstraintParameters;)V @@ -32577,6 +32691,7 @@ Landroid/accounts/AuthenticatorDescription$1; Landroid/accounts/AuthenticatorDescription-IA; Landroid/accounts/AuthenticatorDescription; Landroid/accounts/AuthenticatorException; +Landroid/accounts/IAccountAuthenticator$Stub$Proxy; Landroid/accounts/IAccountAuthenticator$Stub; Landroid/accounts/IAccountAuthenticator; Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy; @@ -32585,6 +32700,7 @@ Landroid/accounts/IAccountAuthenticatorResponse; Landroid/accounts/IAccountManager$Stub$Proxy; Landroid/accounts/IAccountManager$Stub; Landroid/accounts/IAccountManager; +Landroid/accounts/IAccountManagerResponse$Stub$Proxy; Landroid/accounts/IAccountManagerResponse$Stub; Landroid/accounts/IAccountManagerResponse; Landroid/accounts/NetworkErrorException; @@ -32713,6 +32829,7 @@ Landroid/app/ActivityClient$ActivityClientControllerSingleton-IA; Landroid/app/ActivityClient$ActivityClientControllerSingleton; Landroid/app/ActivityClient-IA; Landroid/app/ActivityClient; +Landroid/app/ActivityManager$1; Landroid/app/ActivityManager$2; Landroid/app/ActivityManager$3; Landroid/app/ActivityManager$AppTask; @@ -32745,7 +32862,6 @@ Landroid/app/ActivityManagerInternal; Landroid/app/ActivityOptions$1; Landroid/app/ActivityOptions$2; Landroid/app/ActivityOptions$OnAnimationStartedListener; -Landroid/app/ActivityOptions$SceneTransitionInfo$1; Landroid/app/ActivityOptions$SceneTransitionInfo; Landroid/app/ActivityOptions$SourceInfo$1; Landroid/app/ActivityOptions$SourceInfo; @@ -32807,7 +32923,6 @@ Landroid/app/AlarmManager; Landroid/app/AlertDialog$Builder; Landroid/app/AlertDialog; Landroid/app/AppCompatCallbacks; -Landroid/app/AppCompatTaskInfo$1; Landroid/app/AppCompatTaskInfo; Landroid/app/AppComponentFactory; Landroid/app/AppDetailsActivity; @@ -32820,6 +32935,7 @@ Landroid/app/AppOpsManager$$ExternalSyntheticLambda4; Landroid/app/AppOpsManager$$ExternalSyntheticLambda5; Landroid/app/AppOpsManager$$ExternalSyntheticLambda6; Landroid/app/AppOpsManager$1; +Landroid/app/AppOpsManager$2; Landroid/app/AppOpsManager$3; Landroid/app/AppOpsManager$4; Landroid/app/AppOpsManager$AppOpsCollector; @@ -32896,11 +33012,9 @@ Landroid/app/BackStackRecord$Op; Landroid/app/BackStackRecord; Landroid/app/BackStackState$1; Landroid/app/BackStackState; -Landroid/app/BackgroundInstallControlManager; Landroid/app/BackgroundServiceStartNotAllowedException$1; Landroid/app/BackgroundServiceStartNotAllowedException; Landroid/app/BroadcastOptions; -Landroid/app/CameraCompatTaskInfo; Landroid/app/ClientTransactionHandler; Landroid/app/ComponentCaller; Landroid/app/ComponentOptions; @@ -33045,6 +33159,7 @@ Landroid/app/IServiceConnection; Landroid/app/IStopUserCallback$Stub$Proxy; Landroid/app/IStopUserCallback$Stub; Landroid/app/IStopUserCallback; +Landroid/app/ITaskStackListener$Stub$Proxy; Landroid/app/ITaskStackListener$Stub; Landroid/app/ITaskStackListener; Landroid/app/ITransientNotification$Stub$Proxy; @@ -33167,6 +33282,7 @@ Landroid/app/PendingIntent$$ExternalSyntheticLambda3; Landroid/app/PendingIntent$1; Landroid/app/PendingIntent$CancelListener; Landroid/app/PendingIntent$CanceledException; +Landroid/app/PendingIntent$FinishedDispatcher; Landroid/app/PendingIntent$OnFinished; Landroid/app/PendingIntent$OnMarshaledListener; Landroid/app/PendingIntent; @@ -33216,7 +33332,6 @@ Landroid/app/ResourcesManager$ActivityResources-IA; Landroid/app/ResourcesManager$ActivityResources; Landroid/app/ResourcesManager$ApkAssetsSupplier; Landroid/app/ResourcesManager$ApkKey; -Landroid/app/ResourcesManager$SharedLibraryAssets; Landroid/app/ResourcesManager$UpdateHandler-IA; Landroid/app/ResourcesManager$UpdateHandler; Landroid/app/ResourcesManager; @@ -33248,6 +33363,7 @@ Landroid/app/SharedPreferencesImpl$EditorImpl; Landroid/app/SharedPreferencesImpl$MemoryCommitResult-IA; Landroid/app/SharedPreferencesImpl$MemoryCommitResult; Landroid/app/SharedPreferencesImpl$SharedPreferencesThreadFactory; +Landroid/app/SharedPreferencesImpl; Landroid/app/StackTrace; Landroid/app/StatusBarManager; Landroid/app/SyncNotedAppOp$1; @@ -33298,12 +33414,8 @@ Landroid/app/SystemServiceRegistry$138; Landroid/app/SystemServiceRegistry$139; Landroid/app/SystemServiceRegistry$13; Landroid/app/SystemServiceRegistry$140; -Landroid/app/SystemServiceRegistry$141; -Landroid/app/SystemServiceRegistry$142; Landroid/app/SystemServiceRegistry$143; Landroid/app/SystemServiceRegistry$144; -Landroid/app/SystemServiceRegistry$145; -Landroid/app/SystemServiceRegistry$146; Landroid/app/SystemServiceRegistry$14; Landroid/app/SystemServiceRegistry$15; Landroid/app/SystemServiceRegistry$16; @@ -33611,13 +33723,13 @@ Landroid/app/contentsuggestions/SelectionsRequest$1; Landroid/app/contentsuggestions/SelectionsRequest$Builder; Landroid/app/contentsuggestions/SelectionsRequest-IA; Landroid/app/contentsuggestions/SelectionsRequest; -Landroid/app/contextualsearch/ContextualSearchManager; Landroid/app/job/IJobCallback$Stub$Proxy; Landroid/app/job/IJobCallback$Stub; Landroid/app/job/IJobCallback; Landroid/app/job/IJobScheduler$Stub$Proxy; Landroid/app/job/IJobScheduler$Stub; Landroid/app/job/IJobScheduler; +Landroid/app/job/IJobService$Stub$Proxy; Landroid/app/job/IJobService$Stub; Landroid/app/job/IJobService; Landroid/app/job/IUserVisibleJobObserver; @@ -33636,14 +33748,15 @@ Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda0; Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda1; Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda2; Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda3; +Landroid/app/job/JobSchedulerFrameworkInitializer$$ExternalSyntheticLambda4; Landroid/app/job/JobSchedulerFrameworkInitializer; Landroid/app/job/JobService$1; Landroid/app/job/JobService; Landroid/app/job/JobServiceEngine$JobHandler; +Landroid/app/job/JobServiceEngine$JobInterface; Landroid/app/job/JobServiceEngine; Landroid/app/job/JobWorkItem$1; Landroid/app/job/JobWorkItem; -Landroid/app/ondeviceintelligence/OnDeviceIntelligenceManager; Landroid/app/people/IPeopleManager$Stub$Proxy; Landroid/app/people/IPeopleManager$Stub; Landroid/app/people/IPeopleManager; @@ -33723,6 +33836,7 @@ Landroid/app/servertransaction/TopResumedActivityChangeItem-IA; Landroid/app/servertransaction/TopResumedActivityChangeItem; Landroid/app/servertransaction/TransactionExecutor; Landroid/app/servertransaction/TransactionExecutorHelper; +Landroid/app/servertransaction/WindowStateResizeItem$ResizeListener; Landroid/app/slice/ISliceManager$Stub$Proxy; Landroid/app/slice/ISliceManager$Stub; Landroid/app/slice/ISliceManager; @@ -33774,6 +33888,7 @@ Landroid/app/smartspace/uitemplatedata/TapAction$1; Landroid/app/smartspace/uitemplatedata/TapAction; Landroid/app/smartspace/uitemplatedata/Text$1; Landroid/app/smartspace/uitemplatedata/Text; +Landroid/app/tare/EconomyManager; Landroid/app/time/ITimeZoneDetectorListener$Stub$Proxy; Landroid/app/time/ITimeZoneDetectorListener$Stub; Landroid/app/time/ITimeZoneDetectorListener; @@ -33835,8 +33950,6 @@ Landroid/app/usage/ConfigurationStats; Landroid/app/usage/EventList; Landroid/app/usage/ExternalStorageStats$1; Landroid/app/usage/ExternalStorageStats; -Landroid/app/usage/FeatureFlags; -Landroid/app/usage/FeatureFlagsImpl; Landroid/app/usage/Flags; Landroid/app/usage/ICacheQuotaService$Stub$Proxy; Landroid/app/usage/ICacheQuotaService$Stub; @@ -33876,8 +33989,6 @@ Landroid/appwidget/AppWidgetProviderInfo$1; Landroid/appwidget/AppWidgetProviderInfo; Landroid/appwidget/PendingHostUpdate$1; Landroid/appwidget/PendingHostUpdate; -Landroid/appwidget/flags/FeatureFlags; -Landroid/appwidget/flags/FeatureFlagsImpl; Landroid/appwidget/flags/Flags; Landroid/attention/AttentionManagerInternal$AttentionCallbackInternal; Landroid/attention/AttentionManagerInternal; @@ -33896,7 +34007,6 @@ Landroid/companion/virtual/IVirtualDevice; Landroid/companion/virtual/IVirtualDeviceManager$Stub$Proxy; Landroid/companion/virtual/IVirtualDeviceManager$Stub; Landroid/companion/virtual/IVirtualDeviceManager; -Landroid/companion/virtual/VirtualDevice; Landroid/companion/virtual/VirtualDeviceManager; Landroid/companion/virtual/flags/FeatureFlags; Landroid/companion/virtual/flags/FeatureFlagsImpl; @@ -33948,8 +34058,8 @@ Landroid/content/ComponentName$1; Landroid/content/ComponentName$WithComponentName; Landroid/content/ComponentName; Landroid/content/ContentCaptureOptions$1; +Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda0; Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda1; -Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda2; Landroid/content/ContentCaptureOptions$ContentProtectionOptions; Landroid/content/ContentCaptureOptions; Landroid/content/ContentInterface; @@ -33970,10 +34080,12 @@ Landroid/content/ContentProviderOperation$Builder-IA; Landroid/content/ContentProviderOperation$Builder; Landroid/content/ContentProviderOperation-IA; Landroid/content/ContentProviderOperation; +Landroid/content/ContentProviderProxy; Landroid/content/ContentProviderResult$1; Landroid/content/ContentProviderResult; Landroid/content/ContentResolver$1; Landroid/content/ContentResolver$2; +Landroid/content/ContentResolver$CursorWrapperInner; Landroid/content/ContentResolver$OpenResourceIdResult; Landroid/content/ContentResolver$ParcelFileDescriptorInner; Landroid/content/ContentResolver$ResultListener-IA; @@ -34025,6 +34137,7 @@ Landroid/content/ISyncAdapterUnsyncableAccountCallback; Landroid/content/ISyncContext$Stub$Proxy; Landroid/content/ISyncContext$Stub; Landroid/content/ISyncContext; +Landroid/content/ISyncStatusObserver$Stub$Proxy; Landroid/content/ISyncStatusObserver$Stub; Landroid/content/ISyncStatusObserver; Landroid/content/Intent$1; @@ -34127,7 +34240,6 @@ Landroid/content/pm/ApplicationInfo$1$$ExternalSyntheticLambda0; Landroid/content/pm/ApplicationInfo$1; Landroid/content/pm/ApplicationInfo-IA; Landroid/content/pm/ApplicationInfo; -Landroid/content/pm/ArchivedPackageParcel$1; Landroid/content/pm/ArchivedPackageParcel; Landroid/content/pm/Attribution$1; Landroid/content/pm/Attribution; @@ -34151,6 +34263,8 @@ Landroid/content/pm/DataLoaderParams; Landroid/content/pm/DataLoaderParamsParcel$1; Landroid/content/pm/DataLoaderParamsParcel; Landroid/content/pm/FallbackCategoryProvider; +Landroid/content/pm/FeatureFlags; +Landroid/content/pm/FeatureFlagsImpl; Landroid/content/pm/FeatureGroupInfo$1; Landroid/content/pm/FeatureGroupInfo; Landroid/content/pm/FeatureInfo$1; @@ -34158,6 +34272,7 @@ Landroid/content/pm/FeatureInfo-IA; Landroid/content/pm/FeatureInfo; Landroid/content/pm/FileSystemControlParcel$1; Landroid/content/pm/FileSystemControlParcel; +Landroid/content/pm/Flags; Landroid/content/pm/ICrossProfileApps$Stub$Proxy; Landroid/content/pm/ICrossProfileApps$Stub; Landroid/content/pm/ICrossProfileApps; @@ -34174,6 +34289,7 @@ Landroid/content/pm/IDexModuleRegisterCallback; Landroid/content/pm/ILauncherApps$Stub$Proxy; Landroid/content/pm/ILauncherApps$Stub; Landroid/content/pm/ILauncherApps; +Landroid/content/pm/IOnAppsChangedListener$Stub$Proxy; Landroid/content/pm/IOnAppsChangedListener$Stub; Landroid/content/pm/IOnAppsChangedListener; Landroid/content/pm/IOnChecksumsReadyListener$Stub$Proxy; @@ -34541,7 +34657,6 @@ Landroid/content/rollback/RollbackManagerFrameworkInitializer; Landroid/content/type/DefaultMimeMapFactory$$ExternalSyntheticLambda0; Landroid/content/type/DefaultMimeMapFactory; Landroid/credentials/CredentialManager; -Landroid/credentials/GetCredentialResponse$1; Landroid/credentials/GetCredentialResponse; Landroid/database/AbstractCursor$SelfContentObserver; Landroid/database/AbstractCursor; @@ -34606,6 +34721,7 @@ Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter; Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler; Landroid/database/sqlite/SQLiteConnectionPool; Landroid/database/sqlite/SQLiteConstraintException; +Landroid/database/sqlite/SQLiteCursor; Landroid/database/sqlite/SQLiteCursorDriver; Landroid/database/sqlite/SQLiteCustomFunction; Landroid/database/sqlite/SQLiteDatabase$$ExternalSyntheticLambda0; @@ -34778,7 +34894,6 @@ Landroid/graphics/LightingColorFilter; Landroid/graphics/LinearGradient; Landroid/graphics/MaskFilter; Landroid/graphics/Matrix$1; -Landroid/graphics/Matrix$ExtraNatives; Landroid/graphics/Matrix$NoImagePreloadHolder; Landroid/graphics/Matrix$ScaleToFit; Landroid/graphics/Matrix; @@ -34802,7 +34917,6 @@ Landroid/graphics/Paint; Landroid/graphics/PaintFlagsDrawFilter; Landroid/graphics/Path$Direction; Landroid/graphics/Path$FillType; -Landroid/graphics/Path$NoImagePreloadHolder; Landroid/graphics/Path$Op; Landroid/graphics/Path; Landroid/graphics/PathDashPathEffect; @@ -35013,7 +35127,6 @@ Landroid/graphics/drawable/shapes/RectShape; Landroid/graphics/drawable/shapes/RoundRectShape; Landroid/graphics/drawable/shapes/Shape; Landroid/graphics/fonts/Font$Builder; -Landroid/graphics/fonts/Font$NoImagePreloadHolder; Landroid/graphics/fonts/Font; Landroid/graphics/fonts/FontCustomizationParser$Result; Landroid/graphics/fonts/FontCustomizationParser; @@ -35058,7 +35171,6 @@ Landroid/hardware/CameraSessionStats; Landroid/hardware/CameraStatus$1; Landroid/hardware/CameraStatus; Landroid/hardware/ConsumerIrManager; -Landroid/hardware/DataSpace; Landroid/hardware/GeomagneticField$LegendreTable; Landroid/hardware/GeomagneticField; Landroid/hardware/HardwareBuffer$1; @@ -35106,6 +35218,7 @@ Landroid/hardware/SyncFence; Landroid/hardware/SystemSensorManager$BaseEventQueue; Landroid/hardware/SystemSensorManager$SensorEventQueue; Landroid/hardware/SystemSensorManager$TriggerEventQueue; +Landroid/hardware/SystemSensorManager; Landroid/hardware/TriggerEvent; Landroid/hardware/TriggerEventListener; Landroid/hardware/biometrics/BiometricAuthenticator$AuthenticationCallback; @@ -35172,10 +35285,13 @@ Landroid/hardware/camera2/CameraCharacteristics; Landroid/hardware/camera2/CameraDevice$StateCallback; Landroid/hardware/camera2/CameraDevice; Landroid/hardware/camera2/CameraManager$AvailabilityCallback; -Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$$ExternalSyntheticLambda0; Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$$ExternalSyntheticLambda2; Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$1; -Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$DeviceCameraInfo; +Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$3; +Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$4; +Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$5; +Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$6; +Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$7; Landroid/hardware/camera2/CameraManager$CameraManagerGlobal; Landroid/hardware/camera2/CameraManager$DeviceStateListener; Landroid/hardware/camera2/CameraManager$FoldStateListener$$ExternalSyntheticLambda0; @@ -35332,7 +35448,6 @@ Landroid/hardware/contexthub/V1_0/MemRange; Landroid/hardware/contexthub/V1_0/NanoAppBinary; Landroid/hardware/contexthub/V1_0/PhysicalSensor; Landroid/hardware/contexthub/V1_1/Setting; -Landroid/hardware/devicestate/DeviceState$Configuration; Landroid/hardware/devicestate/DeviceState; Landroid/hardware/devicestate/DeviceStateInfo$1; Landroid/hardware/devicestate/DeviceStateInfo; @@ -35447,9 +35562,12 @@ Landroid/hardware/fingerprint/Fingerprint$1; Landroid/hardware/fingerprint/Fingerprint; Landroid/hardware/fingerprint/FingerprintManager$1; Landroid/hardware/fingerprint/FingerprintManager$2; +Landroid/hardware/fingerprint/FingerprintManager$3; Landroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback; Landroid/hardware/fingerprint/FingerprintManager$AuthenticationResult; Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback; +Landroid/hardware/fingerprint/FingerprintManager$MyHandler-IA; +Landroid/hardware/fingerprint/FingerprintManager$MyHandler; Landroid/hardware/fingerprint/FingerprintManager; Landroid/hardware/fingerprint/FingerprintSensorPropertiesInternal$1; Landroid/hardware/fingerprint/FingerprintSensorPropertiesInternal; @@ -35935,9 +36053,13 @@ Landroid/icu/impl/CacheValue; Landroid/icu/impl/CalType; Landroid/icu/impl/CalendarAstronomer$1; Landroid/icu/impl/CalendarAstronomer$2; +Landroid/icu/impl/CalendarAstronomer$3; +Landroid/icu/impl/CalendarAstronomer$4; Landroid/icu/impl/CalendarAstronomer$AngleFunc; +Landroid/icu/impl/CalendarAstronomer$CoordFunc; Landroid/icu/impl/CalendarAstronomer$Ecliptic; Landroid/icu/impl/CalendarAstronomer$Equatorial; +Landroid/icu/impl/CalendarAstronomer$Horizon; Landroid/icu/impl/CalendarAstronomer$MoonAge; Landroid/icu/impl/CalendarAstronomer$SolarLongitude; Landroid/icu/impl/CalendarAstronomer; @@ -35974,7 +36096,6 @@ Landroid/icu/impl/DayPeriodRules$DayPeriodRulesDataSink; Landroid/icu/impl/DayPeriodRules-IA; Landroid/icu/impl/DayPeriodRules; Landroid/icu/impl/DontCareFieldPosition; -Landroid/icu/impl/EmojiProps$IsAcceptable; Landroid/icu/impl/EmojiProps; Landroid/icu/impl/EraRules; Landroid/icu/impl/FormattedStringBuilder$FieldWrapper; @@ -36250,8 +36371,6 @@ Landroid/icu/impl/UCharacterProperty$24; Landroid/icu/impl/UCharacterProperty$25; Landroid/icu/impl/UCharacterProperty$26; Landroid/icu/impl/UCharacterProperty$27; -Landroid/icu/impl/UCharacterProperty$28; -Landroid/icu/impl/UCharacterProperty$29; Landroid/icu/impl/UCharacterProperty$2; Landroid/icu/impl/UCharacterProperty$3; Landroid/icu/impl/UCharacterProperty$4; @@ -36269,7 +36388,6 @@ Landroid/icu/impl/UCharacterProperty$IntProperty; Landroid/icu/impl/UCharacterProperty$IsAcceptable; Landroid/icu/impl/UCharacterProperty$LayoutProps$IsAcceptable; Landroid/icu/impl/UCharacterProperty$LayoutProps; -Landroid/icu/impl/UCharacterProperty$MathCompatBinaryProperty; Landroid/icu/impl/UCharacterProperty$NormInertBinaryProperty; Landroid/icu/impl/UCharacterProperty$NormQuickCheckIntProperty; Landroid/icu/impl/UCharacterProperty; @@ -36454,15 +36572,8 @@ Landroid/icu/impl/locale/KeyTypeData$Type; Landroid/icu/impl/locale/KeyTypeData$TypeInfoType; Landroid/icu/impl/locale/KeyTypeData$ValueType; Landroid/icu/impl/locale/KeyTypeData; -Landroid/icu/impl/locale/LSR$CachedDecoder$$ExternalSyntheticLambda0; -Landroid/icu/impl/locale/LSR$CachedDecoder$$ExternalSyntheticLambda1; -Landroid/icu/impl/locale/LSR$CachedDecoder$$ExternalSyntheticLambda2; -Landroid/icu/impl/locale/LSR$CachedDecoder; Landroid/icu/impl/locale/LSR; Landroid/icu/impl/locale/LanguageTag; -Landroid/icu/impl/locale/LikelySubtags$1; -Landroid/icu/impl/locale/LikelySubtags$Data; -Landroid/icu/impl/locale/LikelySubtags; Landroid/icu/impl/locale/LocaleDistance$Data; Landroid/icu/impl/locale/LocaleDistance; Landroid/icu/impl/locale/LocaleExtensions; @@ -36493,6 +36604,9 @@ Landroid/icu/impl/locale/XCldrStub$ReusableEntry; Landroid/icu/impl/locale/XCldrStub$Splitter; Landroid/icu/impl/locale/XCldrStub$TreeMultimap; Landroid/icu/impl/locale/XCldrStub; +Landroid/icu/impl/locale/XLikelySubtags$1; +Landroid/icu/impl/locale/XLikelySubtags$Data; +Landroid/icu/impl/locale/XLikelySubtags; Landroid/icu/impl/number/AdoptingModifierStore$1; Landroid/icu/impl/number/AdoptingModifierStore; Landroid/icu/impl/number/AffixPatternProvider$Flags; @@ -36623,7 +36737,6 @@ Landroid/icu/lang/UCharacter$DummyValueIterator; Landroid/icu/lang/UCharacter$EastAsianWidth; Landroid/icu/lang/UCharacter$GraphemeClusterBreak; Landroid/icu/lang/UCharacter$HangulSyllableType; -Landroid/icu/lang/UCharacter$IdentifierType; Landroid/icu/lang/UCharacter$IndicPositionalCategory; Landroid/icu/lang/UCharacter$IndicSyllabicCategory; Landroid/icu/lang/UCharacter$JoiningGroup; @@ -37169,7 +37282,6 @@ Landroid/icu/text/TitlecaseTransliterator; Landroid/icu/text/Transform; Landroid/icu/text/TransliterationRule; Landroid/icu/text/TransliterationRuleSet; -Landroid/icu/text/Transliterator$$ExternalSyntheticLambda0; Landroid/icu/text/Transliterator$Factory; Landroid/icu/text/Transliterator$Position; Landroid/icu/text/Transliterator; @@ -37216,7 +37328,6 @@ Landroid/icu/text/UnicodeSet$EntryRangeIterable; Landroid/icu/text/UnicodeSet$EntryRangeIterator; Landroid/icu/text/UnicodeSet$Filter; Landroid/icu/text/UnicodeSet$GeneralCategoryMaskFilter; -Landroid/icu/text/UnicodeSet$IdentifierTypeFilter; Landroid/icu/text/UnicodeSet$IntPropertyFilter; Landroid/icu/text/UnicodeSet$NumericValueFilter; Landroid/icu/text/UnicodeSet$ScriptExtensionsFilter; @@ -37323,12 +37434,7 @@ Landroid/icu/util/ICUUncheckedIOException; Landroid/icu/util/IllformedLocaleException; Landroid/icu/util/IndianCalendar; Landroid/icu/util/InitialTimeZoneRule; -Landroid/icu/util/IslamicCalendar$Algorithm; Landroid/icu/util/IslamicCalendar$CalculationType; -Landroid/icu/util/IslamicCalendar$CivilAlgorithm; -Landroid/icu/util/IslamicCalendar$IslamicAlgorithm; -Landroid/icu/util/IslamicCalendar$TBLAAlgorithm; -Landroid/icu/util/IslamicCalendar$UmalquraAlgorithm; Landroid/icu/util/IslamicCalendar; Landroid/icu/util/JapaneseCalendar; Landroid/icu/util/LocaleData$MeasurementSystem; @@ -37678,8 +37784,6 @@ Landroid/media/ImageWriter$WriterSurfaceImage$SurfacePlane; Landroid/media/ImageWriter$WriterSurfaceImage; Landroid/media/ImageWriter; Landroid/media/JetPlayer; -Landroid/media/MediaCodec$$ExternalSyntheticLambda6; -Landroid/media/MediaCodec$$ExternalSyntheticLambda7; Landroid/media/MediaCodec$BufferInfo; Landroid/media/MediaCodec$BufferMap$CodecBuffer-IA; Landroid/media/MediaCodec$BufferMap$CodecBuffer; @@ -37904,8 +38008,6 @@ Landroid/media/VolumeShaper$Operation; Landroid/media/VolumeShaper$State$1; Landroid/media/VolumeShaper$State; Landroid/media/VolumeShaper; -Landroid/media/audio/FeatureFlags; -Landroid/media/audio/FeatureFlagsImpl; Landroid/media/audio/Flags; Landroid/media/audio/common/AidlConversion; Landroid/media/audio/common/HeadTracking$SensorData$Tag; @@ -38354,7 +38456,6 @@ Landroid/net/wifi/nl80211/WifiNl80211Manager$ScanEventHandler; Landroid/net/wifi/nl80211/WifiNl80211Manager$SignalPollResult; Landroid/net/wifi/nl80211/WifiNl80211Manager; Landroid/net/wifi/sharedconnectivity/app/SharedConnectivityManager; -Landroid/nfc/NfcAdapter; Landroid/nfc/NfcFrameworkInitializer$$ExternalSyntheticLambda0; Landroid/nfc/NfcFrameworkInitializer; Landroid/nfc/NfcManager; @@ -38605,6 +38706,7 @@ Landroid/os/IIncidentCompanion; Landroid/os/IIncidentManager$Stub$Proxy; Landroid/os/IIncidentManager$Stub; Landroid/os/IIncidentManager; +Landroid/os/IInstalld$Stub$Proxy; Landroid/os/IInstalld$Stub; Landroid/os/IInstalld; Landroid/os/IInterface; @@ -38827,6 +38929,7 @@ Landroid/os/StrictMode$1; Landroid/os/StrictMode$2; Landroid/os/StrictMode$3; Landroid/os/StrictMode$4; +Landroid/os/StrictMode$5; Landroid/os/StrictMode$6; Landroid/os/StrictMode$7; Landroid/os/StrictMode$8; @@ -38857,6 +38960,7 @@ Landroid/os/StrictMode; Landroid/os/SynchronousResultReceiver$Result; Landroid/os/SynchronousResultReceiver; Landroid/os/SystemClock$2; +Landroid/os/SystemClock$3; Landroid/os/SystemClock; Landroid/os/SystemConfigManager; Landroid/os/SystemProperties$Handle-IA; @@ -39015,8 +39119,6 @@ Landroid/os/strictmode/UnsafeIntentLaunchViolation; Landroid/os/strictmode/UntaggedSocketViolation; Landroid/os/strictmode/Violation; Landroid/os/strictmode/WebViewMethodCalledOnWrongThreadViolation; -Landroid/os/vibrator/FeatureFlags; -Landroid/os/vibrator/FeatureFlagsImpl; Landroid/os/vibrator/Flags; Landroid/os/vibrator/PrebakedSegment$1; Landroid/os/vibrator/PrebakedSegment; @@ -39050,13 +39152,15 @@ Landroid/permission/PermissionControllerManager$1; Landroid/permission/PermissionControllerManager; Landroid/permission/PermissionManager$1; Landroid/permission/PermissionManager$2; -Landroid/permission/PermissionManager$OnPermissionsChangeListenerDelegate; Landroid/permission/PermissionManager$PackageNamePermissionQuery; Landroid/permission/PermissionManager$PermissionQuery; Landroid/permission/PermissionManager$SplitPermissionInfo-IA; Landroid/permission/PermissionManager$SplitPermissionInfo; Landroid/permission/PermissionManager; Landroid/permission/PermissionManagerInternal; +Landroid/permission/flags/FeatureFlags; +Landroid/permission/flags/FeatureFlagsImpl; +Landroid/permission/flags/Flags; Landroid/preference/DialogPreference; Landroid/preference/GenericInflater$Parent; Landroid/preference/GenericInflater; @@ -39285,6 +39389,7 @@ Landroid/security/KeyStore2$$ExternalSyntheticLambda4; Landroid/security/KeyStore2$$ExternalSyntheticLambda8; Landroid/security/KeyStore2$CheckedRemoteRequest; Landroid/security/KeyStore2; +Landroid/security/KeyStore; Landroid/security/KeyStoreException$PublicErrorInformation; Landroid/security/KeyStoreException; Landroid/security/KeyStoreOperation$$ExternalSyntheticLambda0; @@ -39455,8 +39560,6 @@ Landroid/service/appprediction/IPredictionService; Landroid/service/autofill/AutofillServiceInfo; Landroid/service/autofill/Dataset$1; Landroid/service/autofill/Dataset; -Landroid/service/autofill/FeatureFlags; -Landroid/service/autofill/FeatureFlagsImpl; Landroid/service/autofill/FieldClassificationUserData; Landroid/service/autofill/FillContext$1; Landroid/service/autofill/FillContext; @@ -39593,7 +39696,6 @@ Landroid/service/media/MediaBrowserService$Result; Landroid/service/media/MediaBrowserService$ServiceBinder$$ExternalSyntheticLambda1; Landroid/service/media/MediaBrowserService$ServiceBinder-IA; Landroid/service/media/MediaBrowserService$ServiceBinder; -Landroid/service/media/MediaBrowserService$ServiceState-IA; Landroid/service/media/MediaBrowserService$ServiceState; Landroid/service/media/MediaBrowserService; Landroid/service/notification/Adjustment$1; @@ -39632,7 +39734,6 @@ Landroid/service/notification/SnoozeCriterion$1; Landroid/service/notification/SnoozeCriterion; Landroid/service/notification/StatusBarNotification$1; Landroid/service/notification/StatusBarNotification; -Landroid/service/notification/ZenDeviceEffects$1; Landroid/service/notification/ZenDeviceEffects; Landroid/service/notification/ZenModeConfig$1; Landroid/service/notification/ZenModeConfig$EventInfo; @@ -40046,6 +40147,7 @@ Landroid/telephony/ICellBroadcastService; Landroid/telephony/ICellInfoCallback$Stub$Proxy; Landroid/telephony/ICellInfoCallback$Stub; Landroid/telephony/ICellInfoCallback; +Landroid/telephony/INetworkService$Stub$Proxy; Landroid/telephony/INetworkService$Stub; Landroid/telephony/INetworkService; Landroid/telephony/INetworkServiceCallback$Stub$Proxy; @@ -40081,6 +40183,7 @@ Landroid/telephony/NetworkRegistrationInfo; Landroid/telephony/NetworkScan; Landroid/telephony/NetworkScanRequest$1; Landroid/telephony/NetworkScanRequest; +Landroid/telephony/NetworkService$INetworkServiceWrapper; Landroid/telephony/NetworkService$NetworkServiceHandler; Landroid/telephony/NetworkService$NetworkServiceProvider; Landroid/telephony/NetworkService; @@ -40217,7 +40320,6 @@ Landroid/telephony/TelephonyCallback$CallDisconnectCauseListener; Landroid/telephony/TelephonyCallback$CallForwardingIndicatorListener; Landroid/telephony/TelephonyCallback$CallStateListener; Landroid/telephony/TelephonyCallback$CarrierNetworkListener; -Landroid/telephony/TelephonyCallback$CarrierRoamingNtnModeListener; Landroid/telephony/TelephonyCallback$CellInfoListener; Landroid/telephony/TelephonyCallback$CellLocationListener; Landroid/telephony/TelephonyCallback$DataActivationStateListener; @@ -40518,6 +40620,7 @@ Landroid/telephony/ims/aidl/IImsConfig; Landroid/telephony/ims/aidl/IImsConfigCallback$Stub$Proxy; Landroid/telephony/ims/aidl/IImsConfigCallback$Stub; Landroid/telephony/ims/aidl/IImsConfigCallback; +Landroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy; Landroid/telephony/ims/aidl/IImsMmTelFeature$Stub; Landroid/telephony/ims/aidl/IImsMmTelFeature; Landroid/telephony/ims/aidl/IImsMmTelListener$Stub$Proxy; @@ -40527,6 +40630,7 @@ Landroid/telephony/ims/aidl/IImsRcsController$Stub; Landroid/telephony/ims/aidl/IImsRcsController; Landroid/telephony/ims/aidl/IImsRcsFeature$Stub; Landroid/telephony/ims/aidl/IImsRcsFeature; +Landroid/telephony/ims/aidl/IImsRegistration$Stub$Proxy; Landroid/telephony/ims/aidl/IImsRegistration$Stub; Landroid/telephony/ims/aidl/IImsRegistration; Landroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy; @@ -40665,7 +40769,6 @@ Landroid/text/Layout$SpannedEllipsizer; Landroid/text/Layout$TabStops; Landroid/text/Layout$TextInclusionStrategy; Landroid/text/Layout; -Landroid/text/MeasuredParagraph$StyleRunCallback; Landroid/text/MeasuredParagraph; Landroid/text/NoCopySpan$Concrete; Landroid/text/NoCopySpan; @@ -40706,7 +40809,6 @@ Landroid/text/TextDirectionHeuristics; Landroid/text/TextFlags; Landroid/text/TextLine$DecorationInfo-IA; Landroid/text/TextLine$DecorationInfo; -Landroid/text/TextLine$LineInfo; Landroid/text/TextLine; Landroid/text/TextPaint; Landroid/text/TextShaper$GlyphsConsumer; @@ -40791,7 +40893,6 @@ Landroid/text/style/LeadingMarginSpan$Standard; Landroid/text/style/LeadingMarginSpan; Landroid/text/style/LineBackgroundSpan$Standard; Landroid/text/style/LineBackgroundSpan; -Landroid/text/style/LineBreakConfigSpan$1; Landroid/text/style/LineBreakConfigSpan; Landroid/text/style/LineHeightSpan$Standard; Landroid/text/style/LineHeightSpan$WithDensity; @@ -40845,7 +40946,6 @@ Landroid/timezone/TelephonyLookup; Landroid/timezone/TelephonyNetwork; Landroid/timezone/TelephonyNetworkFinder; Landroid/timezone/TimeZoneFinder; -Landroid/tracing/Flags; Landroid/tracing/perfetto/CreateIncrementalStateArgs; Landroid/tracing/perfetto/CreateTlsStateArgs; Landroid/tracing/perfetto/DataSource; @@ -41045,6 +41145,7 @@ Landroid/util/SparseIntArray; Landroid/util/SparseLongArray; Landroid/util/SparseSetArray; Landroid/util/Spline$LinearSpline; +Landroid/util/Spline$MonotoneCubicSpline; Landroid/util/Spline; Landroid/util/StateSet; Landroid/util/StringBuilderPrinter; @@ -41271,7 +41372,6 @@ Landroid/view/IScrollCaptureCallbacks; Landroid/view/IScrollCaptureResponseListener$Stub$Proxy; Landroid/view/IScrollCaptureResponseListener$Stub; Landroid/view/IScrollCaptureResponseListener; -Landroid/view/ISensitiveContentProtectionManager$Stub$Proxy; Landroid/view/ISensitiveContentProtectionManager$Stub; Landroid/view/ISensitiveContentProtectionManager; Landroid/view/ISurfaceControlViewHost; @@ -41298,7 +41398,6 @@ Landroid/view/IWindowSession; Landroid/view/IWindowSessionCallback$Stub$Proxy; Landroid/view/IWindowSessionCallback$Stub; Landroid/view/IWindowSessionCallback; -Landroid/view/ImeBackAnimationController; Landroid/view/ImeFocusController$InputMethodManagerDelegate; Landroid/view/ImeFocusController; Landroid/view/ImeInsetsSourceConsumer; @@ -41360,6 +41459,7 @@ Landroid/view/InsetsController$InternalAnimationControlListener$$ExternalSynthet Landroid/view/InsetsController$InternalAnimationControlListener$$ExternalSyntheticLambda3; Landroid/view/InsetsController$InternalAnimationControlListener$$ExternalSyntheticLambda4; Landroid/view/InsetsController$InternalAnimationControlListener$1; +Landroid/view/InsetsController$InternalAnimationControlListener$2; Landroid/view/InsetsController$InternalAnimationControlListener; Landroid/view/InsetsController$PendingControlRequest; Landroid/view/InsetsController$RunningAnimation; @@ -41448,7 +41548,6 @@ Landroid/view/ScaleGestureDetector$1; Landroid/view/ScaleGestureDetector$OnScaleGestureListener; Landroid/view/ScaleGestureDetector$SimpleOnScaleGestureListener; Landroid/view/ScaleGestureDetector; -Landroid/view/ScrollCaptureSearchResults$$ExternalSyntheticLambda0; Landroid/view/ScrollCaptureSearchResults; Landroid/view/ScrollFeedbackProvider; Landroid/view/SearchEvent; @@ -41467,7 +41566,6 @@ Landroid/view/SurfaceControl$DesiredDisplayModeSpecs; Landroid/view/SurfaceControl$DisplayMode; Landroid/view/SurfaceControl$DisplayPrimaries; Landroid/view/SurfaceControl$DynamicDisplayInfo; -Landroid/view/SurfaceControl$IdleScreenRefreshRateConfig; Landroid/view/SurfaceControl$JankData; Landroid/view/SurfaceControl$OnJankDataListener; Landroid/view/SurfaceControl$OnReparentListener; @@ -41776,14 +41874,12 @@ Landroid/view/WindowManager; Landroid/view/WindowManagerGlobal$$ExternalSyntheticLambda0; Landroid/view/WindowManagerGlobal$1; Landroid/view/WindowManagerGlobal$2; -Landroid/view/WindowManagerGlobal$TrustedPresentationListener-IA; Landroid/view/WindowManagerGlobal$TrustedPresentationListener; Landroid/view/WindowManagerGlobal; Landroid/view/WindowManagerImpl; Landroid/view/WindowManagerPolicyConstants$PointerEventListener; Landroid/view/WindowManagerPolicyConstants; Landroid/view/WindowMetrics; -Landroid/view/WindowRelayoutResult; Landroid/view/WindowlessWindowLayout; Landroid/view/WindowlessWindowManager; Landroid/view/accessibility/AccessibilityCache$AccessibilityNodeRefresher; @@ -41827,8 +41923,6 @@ Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener; Landroid/view/accessibility/CaptioningManager$MyContentObserver; Landroid/view/accessibility/CaptioningManager; Landroid/view/accessibility/DirectAccessibilityConnection; -Landroid/view/accessibility/FeatureFlags; -Landroid/view/accessibility/FeatureFlagsImpl; Landroid/view/accessibility/Flags; Landroid/view/accessibility/IAccessibilityEmbeddedConnection; Landroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy; @@ -41954,6 +42048,7 @@ Landroid/view/contentcapture/IContentCaptureManager$Stub; Landroid/view/contentcapture/IContentCaptureManager; Landroid/view/contentcapture/IContentCaptureOptionsCallback$Stub; Landroid/view/contentcapture/IContentCaptureOptionsCallback; +Landroid/view/contentcapture/IDataShareWriteAdapter$Stub$Proxy; Landroid/view/contentcapture/IDataShareWriteAdapter$Stub; Landroid/view/contentcapture/IDataShareWriteAdapter; Landroid/view/contentcapture/MainContentCaptureSession$$ExternalSyntheticLambda0; @@ -42008,8 +42103,6 @@ Landroid/view/inputmethod/ExtractedText$1; Landroid/view/inputmethod/ExtractedText; Landroid/view/inputmethod/ExtractedTextRequest$1; Landroid/view/inputmethod/ExtractedTextRequest; -Landroid/view/inputmethod/FeatureFlags; -Landroid/view/inputmethod/FeatureFlagsImpl; Landroid/view/inputmethod/Flags; Landroid/view/inputmethod/HandwritingGesture; Landroid/view/inputmethod/IAccessibilityInputMethodSessionInvoker$$ExternalSyntheticLambda0; @@ -42610,7 +42703,6 @@ Landroid/widget/RemoteViews$BaseReflectionAction; Landroid/widget/RemoteViews$BitmapCache; Landroid/widget/RemoteViews$BitmapReflectionAction; Landroid/widget/RemoteViews$ComplexUnitDimensionReflectionAction; -Landroid/widget/RemoteViews$DrawInstructions; Landroid/widget/RemoteViews$HierarchyRootData; Landroid/widget/RemoteViews$InteractionHandler; Landroid/widget/RemoteViews$LayoutParamAction; @@ -42769,12 +42861,10 @@ Landroid/widget/ViewFlipper$1; Landroid/widget/ViewFlipper; Landroid/widget/ViewSwitcher; Landroid/widget/WrapperListAdapter; -Landroid/widget/flags/Flags; Landroid/widget/inline/InlinePresentationSpec$1; Landroid/widget/inline/InlinePresentationSpec$BaseBuilder; Landroid/widget/inline/InlinePresentationSpec$Builder; Landroid/widget/inline/InlinePresentationSpec; -Landroid/window/ActivityWindowInfo$1; Landroid/window/ActivityWindowInfo; Landroid/window/BackAnimationAdapter$1; Landroid/window/BackAnimationAdapter; @@ -42783,12 +42873,9 @@ Landroid/window/BackMotionEvent$1; Landroid/window/BackMotionEvent; Landroid/window/BackNavigationInfo$1; Landroid/window/BackNavigationInfo; -Landroid/window/BackProgressAnimator$$ExternalSyntheticLambda0; Landroid/window/BackProgressAnimator$1; Landroid/window/BackProgressAnimator$ProgressCallback; Landroid/window/BackProgressAnimator; -Landroid/window/BackTouchTracker$TouchTrackerState; -Landroid/window/BackTouchTracker; Landroid/window/ClientWindowFrames$1; Landroid/window/ClientWindowFrames-IA; Landroid/window/ClientWindowFrames; @@ -42822,6 +42909,7 @@ Landroid/window/ITaskFragmentOrganizer$Stub; Landroid/window/ITaskFragmentOrganizer; Landroid/window/ITaskFragmentOrganizerController$Stub; Landroid/window/ITaskFragmentOrganizerController; +Landroid/window/ITaskOrganizer$Stub$Proxy; Landroid/window/ITaskOrganizer$Stub; Landroid/window/ITaskOrganizer; Landroid/window/ITaskOrganizerController$Stub$Proxy; @@ -42845,11 +42933,8 @@ Landroid/window/IWindowOrganizerController; Landroid/window/ImeOnBackInvokedDispatcher$$ExternalSyntheticLambda0; Landroid/window/ImeOnBackInvokedDispatcher$1; Landroid/window/ImeOnBackInvokedDispatcher$2; -Landroid/window/ImeOnBackInvokedDispatcher$DefaultImeOnBackAnimationCallback; Landroid/window/ImeOnBackInvokedDispatcher$ImeOnBackInvokedCallback; Landroid/window/ImeOnBackInvokedDispatcher; -Landroid/window/InputTransferToken$1; -Landroid/window/InputTransferToken; Landroid/window/OnBackAnimationCallback; Landroid/window/OnBackInvokedCallback; Landroid/window/OnBackInvokedCallbackInfo$1; @@ -42873,7 +42958,6 @@ Landroid/window/SizeConfigurationBuckets$1; Landroid/window/SizeConfigurationBuckets; Landroid/window/SplashScreen$SplashScreenManagerGlobal$1; Landroid/window/SplashScreen$SplashScreenManagerGlobal; -Landroid/window/SplashScreen; Landroid/window/SplashScreenView$SplashScreenViewParcelable$1; Landroid/window/SplashScreenView$SplashScreenViewParcelable; Landroid/window/SplashScreenView; @@ -42901,7 +42985,6 @@ Landroid/window/TaskFragmentOrganizer$1; Landroid/window/TaskFragmentOrganizer; Landroid/window/TaskFragmentOrganizerToken$1; Landroid/window/TaskFragmentOrganizerToken; -Landroid/window/TaskFragmentTransaction$1; Landroid/window/TaskFragmentTransaction; Landroid/window/TaskOrganizer$1; Landroid/window/TaskOrganizer; @@ -42936,6 +43019,7 @@ Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$Exte Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda2; Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda3; Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda4; +Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$$ExternalSyntheticLambda5; Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper$CallbackRef; Landroid/window/WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper; Landroid/window/WindowOnBackInvokedDispatcher; @@ -43020,9 +43104,6 @@ Lcom/android/framework/protobuf/nano/InternalNano; Lcom/android/framework/protobuf/nano/InvalidProtocolBufferNanoException; Lcom/android/framework/protobuf/nano/MessageNano; Lcom/android/framework/protobuf/nano/WireFormatNano; -Lcom/android/graphics/flags/Flags; -Lcom/android/graphics/hwui/flags/FeatureFlags; -Lcom/android/graphics/hwui/flags/FeatureFlagsImpl; Lcom/android/graphics/hwui/flags/Flags; Lcom/android/i18n/phonenumbers/AlternateFormatsCountryCodeSet; Lcom/android/i18n/phonenumbers/AsYouTypeFormatter; @@ -43142,7 +43223,6 @@ Lcom/android/i18n/timezone/internal/Memory; Lcom/android/i18n/timezone/internal/MemoryMappedFile; Lcom/android/i18n/timezone/internal/NioBufferIterator; Lcom/android/i18n/util/Log; -Lcom/android/icu/charset/CharsetDecoderICU; Lcom/android/icu/charset/CharsetEncoderICU; Lcom/android/icu/charset/CharsetFactory; Lcom/android/icu/charset/NativeConverter; @@ -43212,6 +43292,7 @@ Lcom/android/ims/ImsManager$$ExternalSyntheticLambda2; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda3; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda4; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda5; +Lcom/android/ims/ImsManager$$ExternalSyntheticLambda6; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda7; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda8; Lcom/android/ims/ImsManager$$ExternalSyntheticLambda9; @@ -43290,6 +43371,7 @@ Lcom/android/ims/internal/IImsRegistrationListener$Stub; Lcom/android/ims/internal/IImsRegistrationListener; Lcom/android/ims/internal/IImsServiceController$Stub; Lcom/android/ims/internal/IImsServiceController; +Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy; Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub; Lcom/android/ims/internal/IImsServiceFeatureCallback; Lcom/android/ims/internal/IImsStreamMediaSession; @@ -43544,8 +43626,6 @@ Lcom/android/ims/rcs/uce/util/FeatureTags$$ExternalSyntheticLambda0; Lcom/android/ims/rcs/uce/util/FeatureTags; Lcom/android/ims/rcs/uce/util/NetworkSipCode; Lcom/android/ims/rcs/uce/util/UceUtils; -Lcom/android/input/flags/FeatureFlags; -Lcom/android/input/flags/FeatureFlagsImpl; Lcom/android/input/flags/Flags; Lcom/android/internal/R$attr; Lcom/android/internal/R$dimen; @@ -43573,6 +43653,7 @@ Lcom/android/internal/app/IAppOpsActiveCallback$Stub; Lcom/android/internal/app/IAppOpsActiveCallback; Lcom/android/internal/app/IAppOpsAsyncNotedCallback$Stub; Lcom/android/internal/app/IAppOpsAsyncNotedCallback; +Lcom/android/internal/app/IAppOpsCallback$Stub$Proxy; Lcom/android/internal/app/IAppOpsCallback$Stub; Lcom/android/internal/app/IAppOpsCallback; Lcom/android/internal/app/IAppOpsNotedCallback$Stub; @@ -43667,7 +43748,6 @@ Lcom/android/internal/colorextraction/types/Tonal$ConfigParser; Lcom/android/internal/colorextraction/types/Tonal$TonalPalette; Lcom/android/internal/colorextraction/types/Tonal; Lcom/android/internal/compat/AndroidBuildClassifier; -Lcom/android/internal/compat/ChangeReporter$$ExternalSyntheticLambda0; Lcom/android/internal/compat/ChangeReporter$ChangeReport; Lcom/android/internal/compat/ChangeReporter; Lcom/android/internal/compat/CompatibilityChangeConfig$1; @@ -43681,9 +43761,6 @@ Lcom/android/internal/compat/IPlatformCompat$Stub; Lcom/android/internal/compat/IPlatformCompat; Lcom/android/internal/compat/IPlatformCompatNative$Stub; Lcom/android/internal/compat/IPlatformCompatNative; -Lcom/android/internal/compat/flags/FeatureFlags; -Lcom/android/internal/compat/flags/FeatureFlagsImpl; -Lcom/android/internal/compat/flags/Flags; Lcom/android/internal/config/appcloning/AppCloningDeviceConfigHelper$$ExternalSyntheticLambda0; Lcom/android/internal/config/appcloning/AppCloningDeviceConfigHelper; Lcom/android/internal/config/sysui/SystemUiSystemPropertiesFlags$DebugResolver; @@ -43732,7 +43809,6 @@ Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$7; Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$8; Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$9; Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$MassState; -Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$OnAnimationEndListener; Lcom/android/internal/dynamicanimation/animation/DynamicAnimation$ViewProperty; Lcom/android/internal/dynamicanimation/animation/DynamicAnimation; Lcom/android/internal/dynamicanimation/animation/Force; @@ -43752,15 +43828,6 @@ Lcom/android/internal/graphics/drawable/BackgroundBlurDrawable$Aggregator; Lcom/android/internal/graphics/drawable/BackgroundBlurDrawable$BlurRegion; Lcom/android/internal/graphics/drawable/BackgroundBlurDrawable-IA; Lcom/android/internal/graphics/drawable/BackgroundBlurDrawable; -Lcom/android/internal/hidden_from_bootclasspath/android/app/job/Flags; -Lcom/android/internal/hidden_from_bootclasspath/android/content/pm/FeatureFlags; -Lcom/android/internal/hidden_from_bootclasspath/android/content/pm/FeatureFlagsImpl; -Lcom/android/internal/hidden_from_bootclasspath/android/content/pm/Flags; -Lcom/android/internal/hidden_from_bootclasspath/android/os/FeatureFlags; -Lcom/android/internal/hidden_from_bootclasspath/android/os/FeatureFlagsImpl; -Lcom/android/internal/hidden_from_bootclasspath/android/os/Flags; -Lcom/android/internal/hidden_from_bootclasspath/android/service/notification/FeatureFlags; -Lcom/android/internal/hidden_from_bootclasspath/android/service/notification/FeatureFlagsImpl; Lcom/android/internal/hidden_from_bootclasspath/android/service/notification/Flags; Lcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService; Lcom/android/internal/infra/AbstractRemoteService$AsyncRequest; @@ -43924,7 +43991,8 @@ Lcom/android/internal/os/BinderCallsStats; Lcom/android/internal/os/BinderDeathDispatcher$RecipientsInfo-IA; Lcom/android/internal/os/BinderDeathDispatcher$RecipientsInfo; Lcom/android/internal/os/BinderDeathDispatcher; -Lcom/android/internal/os/BinderInternal$BinderProxyCountEventListenerDelegate; +Lcom/android/internal/os/BinderInternal$BinderProxyLimitListener; +Lcom/android/internal/os/BinderInternal$BinderProxyLimitListenerDelegate; Lcom/android/internal/os/BinderInternal$CallSession; Lcom/android/internal/os/BinderInternal$CallStatsObserver; Lcom/android/internal/os/BinderInternal$GcWatcher; @@ -43943,9 +44011,6 @@ Lcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch; Lcom/android/internal/os/CachedDeviceState; Lcom/android/internal/os/ClassLoaderFactory; Lcom/android/internal/os/Clock; -Lcom/android/internal/os/FeatureFlags; -Lcom/android/internal/os/FeatureFlagsImpl; -Lcom/android/internal/os/Flags; Lcom/android/internal/os/FuseAppLoop$1; Lcom/android/internal/os/FuseAppLoop; Lcom/android/internal/os/FuseUnavailableMountException; @@ -44052,11 +44117,10 @@ Lcom/android/internal/os/ZygoteServer; Lcom/android/internal/os/logging/MetricsLoggerWrapper; Lcom/android/internal/pm/parsing/PackageParser2$Callback; Lcom/android/internal/pm/parsing/PackageParserException; -Lcom/android/internal/pm/pkg/component/flags/FeatureFlags; -Lcom/android/internal/pm/pkg/component/flags/FeatureFlagsImpl; Lcom/android/internal/pm/pkg/component/flags/Flags; Lcom/android/internal/pm/pkg/parsing/ParsingPackageUtils$Callback; Lcom/android/internal/policy/AttributeCache; +Lcom/android/internal/policy/BackdropFrameRenderer; Lcom/android/internal/policy/DecorContext; Lcom/android/internal/policy/DecorView$$ExternalSyntheticLambda0; Lcom/android/internal/policy/DecorView$$ExternalSyntheticLambda1; @@ -44123,6 +44187,7 @@ Lcom/android/internal/protolog/common/IProtoLogGroup; Lcom/android/internal/protolog/common/LogDataType; Lcom/android/internal/security/VerityUtils; Lcom/android/internal/statusbar/IAddTileResultCallback; +Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy; Lcom/android/internal/statusbar/IStatusBar$Stub; Lcom/android/internal/statusbar/IStatusBar; Lcom/android/internal/statusbar/IStatusBarService$Stub$Proxy; @@ -44205,8 +44270,6 @@ Lcom/android/internal/telephony/CarrierAppUtils; Lcom/android/internal/telephony/CarrierInfoManager; Lcom/android/internal/telephony/CarrierKeyDownloadManager$1; Lcom/android/internal/telephony/CarrierKeyDownloadManager$2; -Lcom/android/internal/telephony/CarrierKeyDownloadManager$3; -Lcom/android/internal/telephony/CarrierKeyDownloadManager$DefaultNetworkCallback; Lcom/android/internal/telephony/CarrierKeyDownloadManager; Lcom/android/internal/telephony/CarrierPrivilegesTracker$1; Lcom/android/internal/telephony/CarrierPrivilegesTracker; @@ -44361,6 +44424,7 @@ Lcom/android/internal/telephony/IState; Lcom/android/internal/telephony/ISub$Stub$Proxy; Lcom/android/internal/telephony/ISub$Stub; Lcom/android/internal/telephony/ISub; +Lcom/android/internal/telephony/ITelephony$Stub$Proxy; Lcom/android/internal/telephony/ITelephony$Stub; Lcom/android/internal/telephony/ITelephony; Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy; @@ -44535,6 +44599,7 @@ Lcom/android/internal/telephony/RIL; Lcom/android/internal/telephony/RILConstants$$ExternalSyntheticLambda0; Lcom/android/internal/telephony/RILConstants$$ExternalSyntheticLambda1; Lcom/android/internal/telephony/RILConstants; +Lcom/android/internal/telephony/RILRequest$$ExternalSyntheticLambda0; Lcom/android/internal/telephony/RILRequest; Lcom/android/internal/telephony/RadioBugDetector; Lcom/android/internal/telephony/RadioCapability; @@ -45186,7 +45251,6 @@ Lcom/android/internal/telephony/nano/PersistAtomsProto$CarrierIdMismatch; Lcom/android/internal/telephony/nano/PersistAtomsProto$CellularDataServiceSwitch; Lcom/android/internal/telephony/nano/PersistAtomsProto$CellularServiceState; Lcom/android/internal/telephony/nano/PersistAtomsProto$DataCallSession; -Lcom/android/internal/telephony/nano/PersistAtomsProto$DataNetworkValidation; Lcom/android/internal/telephony/nano/PersistAtomsProto$EmergencyNumbersInfo; Lcom/android/internal/telephony/nano/PersistAtomsProto$GbaEvent; Lcom/android/internal/telephony/nano/PersistAtomsProto$ImsDedicatedBearerEvent; @@ -45842,6 +45906,7 @@ Lcom/android/internal/widget/CachingIconView; Lcom/android/internal/widget/ConversationLayout$1; Lcom/android/internal/widget/ConversationLayout$TouchDelegateComposite; Lcom/android/internal/widget/ConversationLayout; +Lcom/android/internal/widget/DecorCaptionView; Lcom/android/internal/widget/DecorContentParent; Lcom/android/internal/widget/DecorToolbar; Lcom/android/internal/widget/DialogTitle; @@ -45906,11 +45971,8 @@ Lcom/android/internal/widget/floatingtoolbar/FloatingToolbar$$ExternalSyntheticL Lcom/android/internal/widget/floatingtoolbar/FloatingToolbar$$ExternalSyntheticLambda1; Lcom/android/internal/widget/floatingtoolbar/FloatingToolbar; Lcom/android/internal/widget/floatingtoolbar/FloatingToolbarPopup; -Lcom/android/media/flags/FeatureFlags; -Lcom/android/media/flags/FeatureFlagsImpl; Lcom/android/media/flags/Flags; Lcom/android/modules/expresslog/Counter; -Lcom/android/modules/expresslog/MetricIds$MetricInfo; Lcom/android/modules/expresslog/MetricIds; Lcom/android/modules/expresslog/StatsExpressLog; Lcom/android/modules/utils/BasicShellCommandHandler; @@ -45965,7 +46027,6 @@ Lcom/android/okhttp/HttpUrl$1; Lcom/android/okhttp/HttpUrl$Builder$ParseResult; Lcom/android/okhttp/HttpUrl$Builder; Lcom/android/okhttp/HttpUrl; -Lcom/android/okhttp/HttpsHandler; Lcom/android/okhttp/Interceptor$Chain; Lcom/android/okhttp/MediaType; Lcom/android/okhttp/OkCacheContainer; @@ -46046,7 +46107,6 @@ Lcom/android/okhttp/internal/http/StatusLine; Lcom/android/okhttp/internal/http/StreamAllocation; Lcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection; Lcom/android/okhttp/internal/huc/HttpURLConnectionImpl; -Lcom/android/okhttp/internal/huc/HttpsURLConnectionImpl; Lcom/android/okhttp/internal/io/FileSystem$1; Lcom/android/okhttp/internal/io/FileSystem; Lcom/android/okhttp/internal/io/RealConnection; @@ -46079,7 +46139,6 @@ Lcom/android/okhttp/okio/Okio$3; Lcom/android/okhttp/okio/Okio; Lcom/android/okhttp/okio/RealBufferedSink$1; Lcom/android/okhttp/okio/RealBufferedSink; -Lcom/android/okhttp/okio/RealBufferedSource$1; Lcom/android/okhttp/okio/RealBufferedSource; Lcom/android/okhttp/okio/Segment; Lcom/android/okhttp/okio/SegmentPool; @@ -46272,7 +46331,6 @@ Lcom/android/org/bouncycastle/jcajce/provider/keystore/PKCS12$Mappings; Lcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$Std; Lcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$StoreEntry; Lcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi; -Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$ECB; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$Mappings; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/ARC4$Mappings; @@ -46357,16 +46415,12 @@ Lcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo; Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo; Lcom/android/phone/ecc/nano/UnknownFieldData; Lcom/android/phone/ecc/nano/WireFormatNano; -Lcom/android/sdksandbox/flags/FeatureFlags; -Lcom/android/sdksandbox/flags/FeatureFlagsImpl; Lcom/android/sdksandbox/flags/Flags; Lcom/android/server/AppWidgetBackupBridge; Lcom/android/server/LocalServices; Lcom/android/server/WidgetBackupProvider; Lcom/android/server/am/nano/Capabilities; Lcom/android/server/am/nano/Capability; -Lcom/android/server/am/nano/FrameworkCapability; -Lcom/android/server/am/nano/VMCapability; Lcom/android/server/backup/AccountManagerBackupHelper; Lcom/android/server/backup/AccountSyncSettingsBackupHelper; Lcom/android/server/backup/NotificationBackupHelper; @@ -46395,7 +46449,6 @@ Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats Lcom/android/server/criticalevents/nano/CriticalEventLogProto; Lcom/android/server/criticalevents/nano/CriticalEventLogStorageProto; Lcom/android/server/criticalevents/nano/CriticalEventProto$AppNotResponding; -Lcom/android/server/criticalevents/nano/CriticalEventProto$ExcessiveBinderCalls; Lcom/android/server/criticalevents/nano/CriticalEventProto$HalfWatchdog; Lcom/android/server/criticalevents/nano/CriticalEventProto$InstallPackages; Lcom/android/server/criticalevents/nano/CriticalEventProto$JavaCrash; @@ -46446,9 +46499,6 @@ Lcom/android/server/sip/SipWakeLock; Lcom/android/server/sip/SipWakeupTimer$MyEvent; Lcom/android/server/sip/SipWakeupTimer$MyEventComparator; Lcom/android/server/sip/SipWakeupTimer; -Lcom/android/server/telecom/flags/FeatureFlags; -Lcom/android/server/telecom/flags/FeatureFlagsImpl; -Lcom/android/server/telecom/flags/Flags; Lcom/android/server/usage/AppStandbyInternal$AppIdleStateChangeListener; Lcom/android/server/usage/AppStandbyInternal; Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto; @@ -46509,7 +46559,6 @@ Ldalvik/system/AppSpecializationHooks; Ldalvik/system/BaseDexClassLoader$Reporter; Ldalvik/system/BaseDexClassLoader; Ldalvik/system/BlockGuard$2; -Ldalvik/system/BlockGuard$3; Ldalvik/system/BlockGuard$BlockGuardPolicyException; Ldalvik/system/BlockGuard$Policy; Ldalvik/system/BlockGuard$VmPolicy; @@ -46967,7 +47016,6 @@ Ljava/awt/font/NumericShaper; Ljava/awt/font/TextAttribute; Ljava/io/Bits; Ljava/io/BufferedInputStream; -Ljava/io/BufferedOutputStream; Ljava/io/BufferedReader; Ljava/io/BufferedWriter; Ljava/io/ByteArrayInputStream; @@ -47029,7 +47077,6 @@ Ljava/io/ObjectInputStream$ValidationList; Ljava/io/ObjectInputStream; Ljava/io/ObjectOutput; Ljava/io/ObjectOutputStream$1; -Ljava/io/ObjectOutputStream$BlockDataOutputStream; Ljava/io/ObjectOutputStream$Caches; Ljava/io/ObjectOutputStream$DebugTraceInfoStack; Ljava/io/ObjectOutputStream$HandleTable; @@ -47083,7 +47130,6 @@ Ljava/io/StringWriter; Ljava/io/SyncFailedException; Ljava/io/UTFDataFormatException; Ljava/io/UncheckedIOException; -Ljava/io/UnixFileSystem; Ljava/io/UnsupportedEncodingException; Ljava/io/WriteAbortedException; Ljava/io/Writer; @@ -47220,7 +47266,6 @@ Ljava/lang/String$$ExternalSyntheticLambda1; Ljava/lang/String$$ExternalSyntheticLambda2; Ljava/lang/String$$ExternalSyntheticLambda3; Ljava/lang/String$CaseInsensitiveComparator-IA; -Ljava/lang/String$CaseInsensitiveComparator; Ljava/lang/String; Ljava/lang/StringBuffer; Ljava/lang/StringBuilder; @@ -47247,7 +47292,6 @@ Ljava/lang/ThreadGroup; Ljava/lang/ThreadLocal$ThreadLocalMap$Entry; Ljava/lang/ThreadLocal$ThreadLocalMap-IA; Ljava/lang/ThreadLocal$ThreadLocalMap; -Ljava/lang/ThreadLocal; Ljava/lang/Throwable$PrintStreamOrWriter-IA; Ljava/lang/Throwable$PrintStreamOrWriter; Ljava/lang/Throwable$SentinelHolder; @@ -47482,9 +47526,7 @@ Ljava/net/Inet4Address; Ljava/net/Inet6Address$Inet6AddressHolder-IA; Ljava/net/Inet6Address$Inet6AddressHolder; Ljava/net/Inet6Address; -Ljava/net/Inet6AddressImpl; Ljava/net/InetAddress$1; -Ljava/net/InetAddress$InetAddressHolder; Ljava/net/InetAddress; Ljava/net/InetAddressImpl; Ljava/net/InetSocketAddress$InetSocketAddressHolder-IA; @@ -47547,6 +47589,7 @@ Ljava/nio/BufferUnderflowException; Ljava/nio/ByteBuffer; Ljava/nio/ByteBufferAsCharBuffer; Ljava/nio/ByteBufferAsDoubleBuffer; +Ljava/nio/ByteBufferAsLongBuffer; Ljava/nio/ByteBufferAsShortBuffer; Ljava/nio/ByteOrder; Ljava/nio/CharBuffer; @@ -47733,7 +47776,6 @@ Ljava/security/Security$1; Ljava/security/Security; Ljava/security/SecurityPermission; Ljava/security/Signature$CipherAdapter; -Ljava/security/Signature$Delegate; Ljava/security/Signature; Ljava/security/SignatureException; Ljava/security/SignatureSpi; @@ -48038,11 +48080,9 @@ Ljava/util/Collections$EmptySet-IA; Ljava/util/Collections$ReverseComparator2; Ljava/util/Collections$ReverseComparator; Ljava/util/Collections$SequencedSetFromMap; -Ljava/util/Collections$SetFromMap; Ljava/util/Collections$SynchronizedList; Ljava/util/Collections$SynchronizedNavigableMap; Ljava/util/Collections$SynchronizedNavigableSet; -Ljava/util/Collections$SynchronizedRandomAccessList; Ljava/util/Collections$SynchronizedSet; Ljava/util/Collections$SynchronizedSortedMap; Ljava/util/Collections$SynchronizedSortedSet; @@ -48058,7 +48098,6 @@ Ljava/util/Collections$UnmodifiableSequencedSet; Ljava/util/Collections$UnmodifiableSortedMap; Ljava/util/Collections; Ljava/util/ComparableTimSort; -Ljava/util/Comparator$$ExternalSyntheticLambda0; Ljava/util/Comparator$$ExternalSyntheticLambda1; Ljava/util/Comparator$$ExternalSyntheticLambda2; Ljava/util/Comparator$$ExternalSyntheticLambda3; @@ -48146,7 +48185,6 @@ Ljava/util/IdentityHashMap$ValueIterator; Ljava/util/IdentityHashMap$Values-IA; Ljava/util/IdentityHashMap$Values; Ljava/util/IdentityHashMap; -Ljava/util/IllegalFormatArgumentIndexException; Ljava/util/IllegalFormatCodePointException; Ljava/util/IllegalFormatConversionException; Ljava/util/IllegalFormatException; @@ -48170,9 +48208,6 @@ Ljava/util/Iterator; Ljava/util/JumboEnumSet$EnumSetIterator; Ljava/util/JumboEnumSet; Ljava/util/KeyValueHolder; -Ljava/util/LinkedHashMap$Entry; -Ljava/util/LinkedHashMap$LinkedEntryIterator; -Ljava/util/LinkedHashMap$LinkedEntrySet; Ljava/util/LinkedHashMap$LinkedHashIterator; Ljava/util/LinkedHashMap$ReversedLinkedHashMapView; Ljava/util/LinkedHashMap; @@ -48286,7 +48321,6 @@ Ljava/util/TooManyListenersException; Ljava/util/TreeMap$AscendingSubMap$AscendingEntrySetView; Ljava/util/TreeMap$AscendingSubMap; Ljava/util/TreeMap$DescendingSubMap; -Ljava/util/TreeMap$KeySet; Ljava/util/TreeMap$NavigableSubMap$DescendingSubMapKeyIterator; Ljava/util/TreeMap$NavigableSubMap$EntrySetView; Ljava/util/TreeMap$NavigableSubMap$SubMapEntryIterator; @@ -48460,7 +48494,6 @@ Ljava/util/concurrent/ThreadFactory; Ljava/util/concurrent/ThreadLocalRandom; Ljava/util/concurrent/ThreadPoolExecutor$AbortPolicy; Ljava/util/concurrent/ThreadPoolExecutor$DiscardPolicy; -Ljava/util/concurrent/ThreadPoolExecutor$Worker; Ljava/util/concurrent/TimeUnit$1; Ljava/util/concurrent/TimeUnit; Ljava/util/concurrent/TimeoutException; @@ -48773,7 +48806,6 @@ Ljava/util/stream/ReduceOps; Ljava/util/stream/ReferencePipeline$$ExternalSyntheticLambda0; Ljava/util/stream/ReferencePipeline$$ExternalSyntheticLambda1; Ljava/util/stream/ReferencePipeline$15$1; -Ljava/util/stream/ReferencePipeline$15; Ljava/util/stream/ReferencePipeline$2$1; Ljava/util/stream/ReferencePipeline$3$1; Ljava/util/stream/ReferencePipeline$4$1; @@ -48833,12 +48865,10 @@ Ljava/util/zip/CheckedInputStream; Ljava/util/zip/Checksum$1; Ljava/util/zip/Checksum; Ljava/util/zip/DataFormatException; -Ljava/util/zip/Deflater$DeflaterZStreamRef-IA; Ljava/util/zip/Deflater$DeflaterZStreamRef; Ljava/util/zip/Deflater; Ljava/util/zip/DeflaterOutputStream; Ljava/util/zip/GZIPInputStream$1; -Ljava/util/zip/GZIPInputStream; Ljava/util/zip/GZIPOutputStream; Ljava/util/zip/Inflater$InflaterZStreamRef-IA; Ljava/util/zip/Inflater$InflaterZStreamRef; @@ -49100,13 +49130,10 @@ Ljdk/internal/access/JavaUtilCollectionAccess; Ljdk/internal/access/SharedSecrets; Ljdk/internal/math/FDBigInteger; Ljdk/internal/math/FloatingDecimal$1; -Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryBuffer; Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter; -Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer; Ljdk/internal/math/FloatingDecimal$BinaryToASCIIConverter; Ljdk/internal/math/FloatingDecimal$ExceptionalBinaryToASCIIBuffer; Ljdk/internal/math/FloatingDecimal$HexFloatPattern; -Ljdk/internal/math/FloatingDecimal$PreparedASCIIToBinaryBuffer; Ljdk/internal/math/FloatingDecimal; Ljdk/internal/math/FormattedFloatingDecimal$1; Ljdk/internal/math/FormattedFloatingDecimal$Form; @@ -49117,6 +49144,7 @@ Ljdk/internal/misc/Unsafe; Ljdk/internal/misc/UnsafeConstants; Ljdk/internal/misc/VM; Ljdk/internal/ref/CleanerFactory; +Ljdk/internal/ref/CleanerImpl$PhantomCleanableRef; Ljdk/internal/ref/CleanerImpl; Ljdk/internal/ref/PhantomCleanable; Ljdk/internal/reflect/Reflection; @@ -49142,7 +49170,6 @@ Llibcore/icu/TimeZoneNames$ZoneStringsCache; Llibcore/icu/TimeZoneNames; Llibcore/internal/StringPool; Llibcore/io/AsynchronousCloseMonitor; -Llibcore/io/BlockGuardOs; Llibcore/io/BufferIterator; Llibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection$1; Llibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection; @@ -49192,7 +49219,6 @@ Llibcore/util/FP16; Llibcore/util/HexEncoding; Llibcore/util/NativeAllocationRegistry$CleanerRunner; Llibcore/util/NativeAllocationRegistry$CleanerThunk; -Llibcore/util/NativeAllocationRegistry; Llibcore/util/Objects; Llibcore/util/SneakyThrow; Llibcore/util/XmlObjectFactory; @@ -49214,9 +49240,7 @@ Lorg/apache/harmony/xml/dom/CDATASectionImpl; Lorg/apache/harmony/xml/dom/CharacterDataImpl; Lorg/apache/harmony/xml/dom/CommentImpl; Lorg/apache/harmony/xml/dom/DOMImplementationImpl; -Lorg/apache/harmony/xml/dom/DocumentImpl; Lorg/apache/harmony/xml/dom/DocumentTypeImpl; -Lorg/apache/harmony/xml/dom/ElementImpl; Lorg/apache/harmony/xml/dom/EntityReferenceImpl; Lorg/apache/harmony/xml/dom/InnerNodeImpl; Lorg/apache/harmony/xml/dom/LeafNodeImpl; @@ -49224,7 +49248,6 @@ Lorg/apache/harmony/xml/dom/NodeImpl$1; Lorg/apache/harmony/xml/dom/NodeImpl; Lorg/apache/harmony/xml/dom/NodeListImpl; Lorg/apache/harmony/xml/dom/ProcessingInstructionImpl; -Lorg/apache/harmony/xml/dom/TextImpl; Lorg/apache/harmony/xml/parsers/DocumentBuilderFactoryImpl; Lorg/apache/harmony/xml/parsers/DocumentBuilderImpl; Lorg/apache/harmony/xml/parsers/SAXParserFactoryImpl; @@ -49412,7 +49435,6 @@ Lsun/nio/fs/AbstractPath; Lsun/nio/fs/DefaultFileSystemProvider; Lsun/nio/fs/DynamicFileAttributeView; Lsun/nio/fs/FileOwnerAttributeViewImpl; -Lsun/nio/fs/LinuxFileSystem; Lsun/nio/fs/LinuxFileSystemProvider; Lsun/nio/fs/NativeBuffer$Deallocator; Lsun/nio/fs/NativeBuffer; @@ -49518,7 +49540,6 @@ Lsun/security/util/DerInputStream; Lsun/security/util/DerOutputStream; Lsun/security/util/DerValue; Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator; -Lsun/security/util/DisabledAlgorithmConstraints$Constraint-IA; Lsun/security/util/DisabledAlgorithmConstraints$Constraint; Lsun/security/util/DisabledAlgorithmConstraints$Constraints; Lsun/security/util/DisabledAlgorithmConstraints$KeySizeConstraint; @@ -49759,8 +49780,6 @@ Lsun/util/logging/PlatformLogger; [Landroid/graphics/fonts/FontVariationAxis; [Landroid/hardware/CameraStatus; [Landroid/hardware/biometrics/BiometricSourceType; -[Landroid/hardware/camera2/CameraCharacteristics$Key; -[Landroid/hardware/camera2/marshal/MarshalQueryable; [Landroid/hardware/camera2/params/Capability; [Landroid/hardware/camera2/params/Face; [Landroid/hardware/camera2/params/HighSpeedVideoConfiguration; @@ -49822,7 +49841,6 @@ Lsun/util/logging/PlatformLogger; [Landroid/icu/impl/units/MeasureUnitImpl$InitialCompoundPart; [Landroid/icu/impl/units/MeasureUnitImpl$PowerPart; [Landroid/icu/impl/units/MeasureUnitImpl$UnitsParser$Token$Type; -[Landroid/icu/lang/UCharacter$IdentifierType; [Landroid/icu/lang/UCharacter$UnicodeBlock; [Landroid/icu/lang/UScript$ScriptUsage; [Landroid/icu/lang/UScriptRun$ParenStackEntry; @@ -50080,7 +50098,6 @@ Lsun/util/logging/PlatformLogger; [Landroid/widget/SpellChecker$SpellParser; [Landroid/widget/TextView$BufferType; [Landroid/widget/TextView$ChangeWatcher; -[Landroid/window/BackTouchTracker$TouchTrackerState; [Landroid/window/TransitionFilter$Requirement; [Lcom/android/framework/protobuf/GeneratedMessageLite$MethodToInvoke; [Lcom/android/framework/protobuf/MessageInfoFactory; @@ -50180,7 +50197,6 @@ Lsun/util/logging/PlatformLogger; [Lgov/nist/javax/sip/DialogTimeoutEvent$Reason; [Ljava/io/File$PathStatus; [Ljava/io/File; -[Ljava/io/InputStream; [Ljava/io/ObjectInputStream$HandleTable$HandleList; [Ljava/io/ObjectStreamClass$ClassDataSlot; [Ljava/io/ObjectStreamClass$MemberSignature; diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index e4a840745ab3..7ae5d1be9773 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -674,7 +674,7 @@ package android.webkit { method @Nullable public String getCurrentWebViewPackageName(); method @FlaggedApi("android.webkit.update_service_v2") @NonNull public android.webkit.WebViewProviderInfo getDefaultWebViewPackage(); method @Nullable public static android.webkit.WebViewUpdateManager getInstance(); - method @NonNull public android.webkit.WebViewProviderInfo[] getValidWebViewPackages(); + method @NonNull @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.QUERY_ALL_PACKAGES}) public android.webkit.WebViewProviderInfo[] getValidWebViewPackages(); method @NonNull public android.webkit.WebViewProviderResponse waitForAndGetProvider(); } diff --git a/core/api/test-current.txt b/core/api/test-current.txt index b7de93aaaee3..099dbbc2764f 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -2775,12 +2775,6 @@ package android.os.vibrator.persistence { @FlaggedApi("android.os.vibrator.vibration_xml_apis") public final class ParsedVibration { ctor public ParsedVibration(@NonNull java.util.List<android.os.VibrationEffect>); - method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @Nullable public android.os.VibrationEffect resolve(@NonNull android.os.Vibrator); - } - - @FlaggedApi("android.os.vibrator.vibration_xml_apis") public final class VibrationXmlParser { - method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @NonNull public static android.os.vibrator.persistence.ParsedVibration parse(@NonNull java.io.InputStream) throws java.io.IOException; - method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @NonNull public static android.os.VibrationEffect parseVibrationEffect(@NonNull java.io.InputStream) throws java.io.IOException; } public static final class VibrationXmlParser.ParseFailedException extends java.io.IOException { diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index aea15e13e5d6..db979a5dd30b 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -762,6 +762,16 @@ public class Notification implements Parcelable @FlaggedApi(Flags.FLAG_LIFETIME_EXTENSION_REFACTOR) public static final int FLAG_LIFETIME_EXTENDED_BY_DIRECT_REPLY = 0x00010000; + /** + * Bit to be bitwise-ored into the {@link #flags} field that should be + * set by the system if this notification is silent. + * + * This flag is for internal use only; applications cannot set this flag directly. + * @hide + */ + @FlaggedApi(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) + public static final int FLAG_SILENT = 1 << 17; //0x00020000 + private static final List<Class<? extends Style>> PLATFORM_STYLE_CLASSES = Arrays.asList( BigTextStyle.class, BigPictureStyle.class, InboxStyle.class, MediaStyle.class, DecoratedCustomViewStyle.class, DecoratedMediaCustomViewStyle.class, @@ -784,7 +794,8 @@ public class Notification implements Parcelable FLAG_BUBBLE, FLAG_NO_DISMISS, FLAG_FSI_REQUESTED_BUT_DENIED, - FLAG_USER_INITIATED_JOB + FLAG_USER_INITIATED_JOB, + FLAG_SILENT }) @Retention(RetentionPolicy.SOURCE) public @interface NotificationFlags{}; @@ -1692,6 +1703,7 @@ public class Notification implements Parcelable * * @hide */ + @Deprecated public static final String GROUP_KEY_SILENT = "silent"; private int mGroupAlertBehavior = GROUP_ALERT_ALL; @@ -3984,6 +3996,13 @@ public class Notification implements Parcelable } } + if (android.service.notification.Flags.notificationSilentFlag()) { + if ((flags & FLAG_SILENT) != 0) { + flagStrings.add("SILENT"); + flags &= ~FLAG_SILENT; + } + } + if (flagStrings.isEmpty()) { return "0"; } @@ -4123,6 +4142,17 @@ public class Notification implements Parcelable } /** + * Sets which type of notifications in a group are responsible for audibly alerting the + * user. See {@link #GROUP_ALERT_ALL}, {@link #GROUP_ALERT_CHILDREN}, + * {@link #GROUP_ALERT_SUMMARY}. + * @param groupAlertBehavior + * @hide + */ + public void setGroupAlertBehavior(@GroupAlertBehavior int groupAlertBehavior) { + mGroupAlertBehavior = groupAlertBehavior; + } + + /** * Returns the bubble metadata that will be used to display app content in a floating window * over the existing foreground activity. */ @@ -4309,6 +4339,31 @@ public class Notification implements Parcelable } /** + * Sets the FLAG_SILENT flag to mark the notification as silent and clears the group key. + * @hide + */ + public void fixSilentGroup() { + if (android.service.notification.Flags.notificationSilentFlag()) { + if (GROUP_KEY_SILENT.equals(mGroupKey)) { + mGroupKey = null; + flags |= FLAG_SILENT; + } + } + } + + /** + * @return whether this notification is silent. See {@link Builder#setSilent()} + * @hide + */ + public boolean isSilent() { + if (android.service.notification.Flags.notificationSilentFlag()) { + return (flags & Notification.FLAG_SILENT) != 0; + } else { + return GROUP_KEY_SILENT.equals(getGroup()) && suppressAlertingDueToGrouping(); + } + } + + /** * Builder class for {@link Notification} objects. * * Provides a convenient way to set the various fields of a {@link Notification} and generate @@ -4759,8 +4814,12 @@ public class Notification implements Parcelable mN.defaults &= ~DEFAULT_VIBRATE; setDefaults(mN.defaults); - if (TextUtils.isEmpty(mN.mGroupKey)) { - setGroup(GROUP_KEY_SILENT); + if (android.service.notification.Flags.notificationSilentFlag()) { + mN.flags |= FLAG_SILENT; + } else { + if (TextUtils.isEmpty(mN.mGroupKey)) { + setGroup(GROUP_KEY_SILENT); + } } return this; } diff --git a/core/java/android/hardware/location/ContextHubInfo.java b/core/java/android/hardware/location/ContextHubInfo.java index 5012a792af74..7353d76b479a 100644 --- a/core/java/android/hardware/location/ContextHubInfo.java +++ b/core/java/android/hardware/location/ContextHubInfo.java @@ -26,6 +26,7 @@ import android.os.Parcelable; import android.util.proto.ProtoOutputStream; import java.util.Arrays; +import java.util.Objects; /** * @hide @@ -370,6 +371,20 @@ public class ContextHubInfo implements Parcelable { return isEqual; } + @Override + public int hashCode() { + if (!Flags.fixApiCheck()) { + return super.hashCode(); + } + + return Objects.hash(mId, mName, mVendor, mToolchain, mToolchainVersion, + getStaticSwVersion(), mChrePlatformId, mPeakMips, + mStoppedPowerDrawMw, mSleepPowerDrawMw, mPeakPowerDrawMw, + mMaxPacketLengthBytes, mSupportsReliableMessages, + Arrays.hashCode(mSupportedSensors), + Arrays.hashCode(mMemoryRegions)); + } + private ContextHubInfo(Parcel in) { mId = in.readInt(); mName = in.readString(); diff --git a/core/java/android/hardware/location/ContextHubIntentEvent.java b/core/java/android/hardware/location/ContextHubIntentEvent.java index 06c533401e27..002c683831da 100644 --- a/core/java/android/hardware/location/ContextHubIntentEvent.java +++ b/core/java/android/hardware/location/ContextHubIntentEvent.java @@ -19,6 +19,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.app.PendingIntent; +import android.chre.flags.Flags; import android.content.Intent; import java.util.Objects; @@ -275,6 +276,16 @@ public class ContextHubIntentEvent { return isEqual; } + @Override + public int hashCode() { + if (!Flags.fixApiCheck()) { + return super.hashCode(); + } + + return Objects.hash(mEventType, mContextHubInfo, mNanoAppId, + mNanoAppMessage, mNanoAppAbortCode, mClientAuthorizationState); + } + private static void hasExtraOrThrow(Intent intent, String extra) { if (!intent.hasExtra(extra)) { throw new IllegalArgumentException("Intent did not have extra: " + extra); diff --git a/core/java/android/hardware/location/MemoryRegion.java b/core/java/android/hardware/location/MemoryRegion.java index c033228441b1..d95894fca217 100644 --- a/core/java/android/hardware/location/MemoryRegion.java +++ b/core/java/android/hardware/location/MemoryRegion.java @@ -19,9 +19,12 @@ package android.hardware.location; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; +import android.chre.flags.Flags; import android.os.Parcel; import android.os.Parcelable; +import java.util.Objects; + /** * @hide */ @@ -128,6 +131,16 @@ public class MemoryRegion implements Parcelable{ } @Override + public int hashCode() { + if (!Flags.fixApiCheck()) { + return super.hashCode(); + } + + return Objects.hash(mSizeBytes, mSizeBytesFree, mIsReadable, + mIsWritable, mIsExecutable); + } + + @Override public int describeContents() { return 0; } diff --git a/core/java/android/hardware/location/NanoAppMessage.java b/core/java/android/hardware/location/NanoAppMessage.java index 905caf02fc46..85a5d45a6ae9 100644 --- a/core/java/android/hardware/location/NanoAppMessage.java +++ b/core/java/android/hardware/location/NanoAppMessage.java @@ -26,6 +26,7 @@ import android.os.Parcelable; import libcore.util.HexEncoding; import java.util.Arrays; +import java.util.Objects; /** * A class describing messages send to or from nanoapps through the Context Hub Service. @@ -273,4 +274,15 @@ public final class NanoAppMessage implements Parcelable { return isEqual; } + + @Override + public int hashCode() { + if (!Flags.fixApiCheck()) { + return super.hashCode(); + } + + return Objects.hash(mNanoAppId, mMessageType, mIsBroadcasted, + Arrays.hashCode(mMessageBody), mIsReliable, + mMessageSequenceNumber); + } } diff --git a/core/java/android/os/Vibrator.java b/core/java/android/os/Vibrator.java index 4b2d4eb833ff..8af371c74880 100644 --- a/core/java/android/os/Vibrator.java +++ b/core/java/android/os/Vibrator.java @@ -184,16 +184,6 @@ public abstract class Vibrator { } /** - * Whether the keyboard vibration is enabled by default. - * - * @return {@code true} if the keyboard vibration is default enabled, {@code false} otherwise. - * @hide - */ - public boolean isDefaultKeyboardVibrationEnabled() { - return getConfig().isDefaultKeyboardVibrationEnabled(); - } - - /** * Return the ID of this vibrator. * * @return A non-negative integer representing the id of the vibrator controlled by this diff --git a/core/java/android/os/vibrator/VibrationConfig.java b/core/java/android/os/vibrator/VibrationConfig.java index 9c2fb7bccf5e..f6e73b39f84b 100644 --- a/core/java/android/os/vibrator/VibrationConfig.java +++ b/core/java/android/os/vibrator/VibrationConfig.java @@ -68,8 +68,6 @@ public class VibrationConfig { @VibrationIntensity private final int mDefaultRingVibrationIntensity; - private final boolean mDefaultKeyboardVibrationEnabled; - private final boolean mKeyboardVibrationSettingsSupported; /** @hide */ @@ -87,8 +85,6 @@ public class VibrationConfig { mIgnoreVibrationsOnWirelessCharger = loadBoolean(resources, com.android.internal.R.bool.config_ignoreVibrationsOnWirelessCharger, false); - mDefaultKeyboardVibrationEnabled = loadBoolean(resources, - com.android.internal.R.bool.config_defaultKeyboardVibrationEnabled, true); mKeyboardVibrationSettingsSupported = loadBoolean(resources, com.android.internal.R.bool.config_keyboardVibrationSettingsSupported, false); @@ -194,14 +190,6 @@ public class VibrationConfig { } /** - * Whether keyboard vibration settings is enabled by default. - * @hide - */ - public boolean isDefaultKeyboardVibrationEnabled() { - return mDefaultKeyboardVibrationEnabled; - } - - /** * Whether the device support keyboard vibration settings. * @hide */ @@ -248,7 +236,6 @@ public class VibrationConfig { + ", mDefaultMediaIntensity=" + mDefaultMediaVibrationIntensity + ", mDefaultNotificationIntensity=" + mDefaultNotificationVibrationIntensity + ", mDefaultRingIntensity=" + mDefaultRingVibrationIntensity - + ", mDefaultKeyboardVibrationEnabled=" + mDefaultKeyboardVibrationEnabled + ", mKeyboardVibrationSettingsSupported=" + mKeyboardVibrationSettingsSupported + "}"; } diff --git a/core/java/android/os/vibrator/persistence/ParsedVibration.java b/core/java/android/os/vibrator/persistence/ParsedVibration.java index 74d3a7b799e7..19162699a2ef 100644 --- a/core/java/android/os/vibrator/persistence/ParsedVibration.java +++ b/core/java/android/os/vibrator/persistence/ParsedVibration.java @@ -38,7 +38,6 @@ import java.util.Objects; * * @hide */ -@TestApi // This was used in CTS before the flag was introduced. @SystemApi @FlaggedApi(FLAG_VIBRATION_XML_APIS) public final class ParsedVibration { @@ -62,7 +61,6 @@ public final class ParsedVibration { * * @hide */ - @TestApi // This was used in CTS before the flag was introduced. @SystemApi @FlaggedApi(FLAG_VIBRATION_XML_APIS) @Nullable diff --git a/core/java/android/os/vibrator/persistence/VibrationXmlParser.java b/core/java/android/os/vibrator/persistence/VibrationXmlParser.java index e2312e0c96c4..7d9624c25c12 100644 --- a/core/java/android/os/vibrator/persistence/VibrationXmlParser.java +++ b/core/java/android/os/vibrator/persistence/VibrationXmlParser.java @@ -121,7 +121,6 @@ import java.util.List; * * @hide */ -@TestApi // This was used in CTS before the flag was introduced. @SystemApi @FlaggedApi(FLAG_VIBRATION_XML_APIS) public final class VibrationXmlParser { @@ -195,7 +194,6 @@ public final class VibrationXmlParser { * * @hide */ - @TestApi // Replacing test APIs used in CTS before the flagged system APIs was introduced. @SystemApi @FlaggedApi(FLAG_VIBRATION_XML_APIS) @NonNull @@ -217,7 +215,6 @@ public final class VibrationXmlParser { * * @hide */ - @TestApi // Replacing test APIs used in CTS before the flagged system APIs was introduced. @SystemApi @FlaggedApi(FLAG_VIBRATION_XML_APIS) @NonNull diff --git a/core/java/android/service/notification/StatusBarNotification.java b/core/java/android/service/notification/StatusBarNotification.java index 264b53c6ee40..146c2b6fa46e 100644 --- a/core/java/android/service/notification/StatusBarNotification.java +++ b/core/java/android/service/notification/StatusBarNotification.java @@ -176,7 +176,11 @@ public class StatusBarNotification implements Parcelable { private String groupKey() { if (overrideGroupKey != null) { - return user.getIdentifier() + "|" + pkg + "|" + "g:" + overrideGroupKey; + if (Flags.notificationForceGrouping()) { + return overrideGroupKey; + } else { + return user.getIdentifier() + "|" + pkg + "|" + "g:" + overrideGroupKey; + } } final String group = getNotification().getGroup(); final String sortKey = getNotification().getSortKey(); diff --git a/core/java/android/service/notification/flags.aconfig b/core/java/android/service/notification/flags.aconfig index bdef04164b36..51961a85d307 100644 --- a/core/java/android/service/notification/flags.aconfig +++ b/core/java/android/service/notification/flags.aconfig @@ -43,4 +43,18 @@ flag { namespace: "systemui" description: "Allows the NAS to classify notifications" bug: "343988084" +} + +flag { + name: "notification_force_grouping" + namespace: "systemui" + description: "This flag controls the forced auto-grouping feature" + bug: "336488844" +} + +flag { + name: "notification_silent_flag" + namespace: "systemui" + description: "Guards the new FLAG_SILENT Notification flag" + bug: "336488844" }
\ No newline at end of file diff --git a/core/java/android/view/DisplayInfo.java b/core/java/android/view/DisplayInfo.java index 8b9d876f6bf1..12dbc5afd0a3 100644 --- a/core/java/android/view/DisplayInfo.java +++ b/core/java/android/view/DisplayInfo.java @@ -24,6 +24,7 @@ import static android.view.DisplayInfoProto.FLAGS; import static android.view.DisplayInfoProto.LOGICAL_HEIGHT; import static android.view.DisplayInfoProto.LOGICAL_WIDTH; import static android.view.DisplayInfoProto.NAME; +import static android.view.DisplayInfoProto.TYPE; import android.annotation.NonNull; import android.annotation.Nullable; @@ -961,6 +962,7 @@ public final class DisplayInfo implements Parcelable { protoOutputStream.write(APP_HEIGHT, appHeight); protoOutputStream.write(NAME, name); protoOutputStream.write(FLAGS, flags); + protoOutputStream.write(TYPE, type); if (displayCutout != null) { displayCutout.dumpDebug(protoOutputStream, CUTOUT); } diff --git a/core/java/android/webkit/WebViewUpdateManager.java b/core/java/android/webkit/WebViewUpdateManager.java index 07576a2e89e4..dd48df975906 100644 --- a/core/java/android/webkit/WebViewUpdateManager.java +++ b/core/java/android/webkit/WebViewUpdateManager.java @@ -101,6 +101,8 @@ public final class WebViewUpdateManager { * enabled for all users. */ @SuppressLint({"ParcelableList", "ArrayReturn"}) + @RequiresPermission(allOf = {android.Manifest.permission.INTERACT_ACROSS_USERS, + android.Manifest.permission.QUERY_ALL_PACKAGES}) public @NonNull WebViewProviderInfo[] getValidWebViewPackages() { try { return mService.getValidWebViewPackages(); diff --git a/core/java/android/window/flags/large_screen_experiences_app_compat.aconfig b/core/java/android/window/flags/large_screen_experiences_app_compat.aconfig index 5b99ff9703e0..cc880e182b2b 100644 --- a/core/java/android/window/flags/large_screen_experiences_app_compat.aconfig +++ b/core/java/android/window/flags/large_screen_experiences_app_compat.aconfig @@ -113,4 +113,12 @@ flag { namespace: "large_screen_experiences_app_compat" description: "Enables sysui animation for user aspect ratio button" bug: "300357441" +} + +flag { + name: "app_compat_ui_framework" + namespace: "large_screen_experiences_app_compat" + description: "Whether the declarative compat UI framework is enabled" + bug: "270361630" + is_fixed_read_only: true }
\ No newline at end of file diff --git a/core/java/android/window/flags/lse_desktop_experience.aconfig b/core/java/android/window/flags/lse_desktop_experience.aconfig index 1c7acd4ea9af..7432ca7956df 100644 --- a/core/java/android/window/flags/lse_desktop_experience.aconfig +++ b/core/java/android/window/flags/lse_desktop_experience.aconfig @@ -134,3 +134,10 @@ flag { description: "Whether to enable the app-to-web feature and show the open in browser button in the header menu" bug: "349695493" } + +flag { + name: "enable_windowing_transition_handlers_observers" + namespace: "lse_desktop_experience" + description: "Whether to enable desktop windowing transition handler and observer instead of task listeners." + bug: "332682201" +} diff --git a/core/java/android/window/flags/windowing_frontend.aconfig b/core/java/android/window/flags/windowing_frontend.aconfig index b5bc572724b7..621b2c41050e 100644 --- a/core/java/android/window/flags/windowing_frontend.aconfig +++ b/core/java/android/window/flags/windowing_frontend.aconfig @@ -19,6 +19,16 @@ flag { } flag { + name: "apply_lifecycle_on_pip_change" + namespace: "windowing_frontend" + description: "Make pip activity lifecyle change with windowing mode" + bug: "333452456" + metadata { + purpose: PURPOSE_BUGFIX + } +} + +flag { name: "blast_sync_notification_shade_on_display_switch" namespace: "windowing_frontend" description: "Make the buffer content of notification shade synchronize with display switch" diff --git a/core/java/com/android/internal/widget/OWNERS b/core/java/com/android/internal/widget/OWNERS index e2672f5b03ba..cf2f202a03ac 100644 --- a/core/java/com/android/internal/widget/OWNERS +++ b/core/java/com/android/internal/widget/OWNERS @@ -9,18 +9,18 @@ per-file *Lockscreen* = file:/services/core/java/com/android/server/locksettings per-file *LockSettings* = file:/services/core/java/com/android/server/locksettings/OWNERS # Notification related -per-file *Notification* = file:/services/core/java/com/android/server/notification/OWNERS -per-file *Messaging* = file:/services/core/java/com/android/server/notification/OWNERS -per-file *Message* = file:/services/core/java/com/android/server/notification/OWNERS -per-file *Conversation* = file:/services/core/java/com/android/server/notification/OWNERS -per-file *People* = file:/services/core/java/com/android/server/notification/OWNERS -per-file *ImageResolver* = file:/services/core/java/com/android/server/notification/OWNERS -per-file CallLayout.java = file:/services/core/java/com/android/server/notification/OWNERS -per-file CachingIconView.java = file:/services/core/java/com/android/server/notification/OWNERS -per-file ImageFloatingTextView.java = file:/services/core/java/com/android/server/notification/OWNERS -per-file ObservableTextView.java = file:/services/core/java/com/android/server/notification/OWNERS -per-file RemeasuringLinearLayout.java = file:/services/core/java/com/android/server/notification/OWNERS -per-file ViewClippingUtil.java = file:/services/core/java/com/android/server/notification/OWNERS +per-file *Notification* = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file *Messaging* = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file *Message* = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file *Conversation* = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file *People* = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file *ImageResolver* = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file CallLayout.java = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file CachingIconView.java = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file ImageFloatingTextView.java = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file ObservableTextView.java = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file RemeasuringLinearLayout.java = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS +per-file ViewClippingUtil.java = file:/packages/SystemUI/src/com/android/systemui/statusbar/notification/OWNERS # Appwidget related per-file *RemoteViews* = file:/services/appwidget/java/com/android/server/appwidget/OWNERS diff --git a/core/proto/android/view/displayinfo.proto b/core/proto/android/view/displayinfo.proto index f936ed1b1bd1..32f4cb3a32c0 100644 --- a/core/proto/android/view/displayinfo.proto +++ b/core/proto/android/view/displayinfo.proto @@ -36,4 +36,5 @@ message DisplayInfoProto { optional string name = 5; optional int32 flags = 6; optional DisplayCutoutProto cutout = 7; + optional int32 type = 8; } diff --git a/core/res/res/values-watch/colors.xml b/core/res/res/values-watch/colors.xml deleted file mode 100644 index e2b7505f3c6e..000000000000 --- a/core/res/res/values-watch/colors.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2014 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<!-- Watch specific system colors. --> -<resources> - <color name="system_error_light">#B3261E</color> - <color name="system_on_error_light">#FFFFFF</color> - <color name="system_error_container_light">#F7DCDA</color> - <color name="system_on_error_container_light">#410E0B</color> - - <color name="system_error_dark">#F2B8B5</color> - <color name="system_on_error_dark">#601410</color> - <color name="system_error_container_dark">#FF8986</color> - <color name="system_on_error_container_dark">#410E0B</color> - - <!-- With material deprecation of 'background' in favor of 'surface' we flatten these - on watches to match the black background requirements --> - <color name="system_surface_dark">#000000</color> - <color name="system_surface_dim_dark">#000000</color> - <color name="system_surface_bright_dark">#000000</color> - - <!-- Wear flattens the typical 5 container layers to 3; container + high & low --> - <color name="system_surface_container_dark">#303030</color> - <color name="system_surface_variant_dark">#303030</color> - <color name="system_surface_container_high_dark">#474747</color> - <color name="system_surface_container_highest_dark">#474747</color> - <color name="system_surface_container_low_dark">#252626</color> - <color name="system_surface_container_lowest_dark">#252626</color> - -</resources> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index ca80e2277ced..4f0a836224f9 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -4133,9 +4133,6 @@ and should depend on the touch feedback intensity user setting --> <item name="config_keyboardHapticFeedbackFixedAmplitude" format="float" type="dimen">-1</item> - <!-- The default value for keyboard vibration toggle in settings. --> - <bool name="config_defaultKeyboardVibrationEnabled">true</bool> - <!-- Indicating if keyboard vibration settings supported or not. --> <bool name="config_keyboardVibrationSettingsSupported">false</bool> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 9661b4638718..c9b5d41a0286 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2125,7 +2125,6 @@ <java-symbol type="integer" name="config_defaultVibrationAmplitude" /> <java-symbol type="dimen" name="config_hapticChannelMaxVibrationAmplitude" /> <java-symbol type="dimen" name="config_keyboardHapticFeedbackFixedAmplitude" /> - <java-symbol type="bool" name="config_defaultKeyboardVibrationEnabled" /> <java-symbol type="bool" name="config_keyboardVibrationSettingsSupported" /> <java-symbol type="integer" name="config_vibrationWaveformRampStepDuration" /> <java-symbol type="bool" name="config_ignoreVibrationsOnWirelessCharger" /> diff --git a/core/tests/coretests/src/android/app/NotificationTest.java b/core/tests/coretests/src/android/app/NotificationTest.java index e9ad1c28578a..ef6ff0518dac 100644 --- a/core/tests/coretests/src/android/app/NotificationTest.java +++ b/core/tests/coretests/src/android/app/NotificationTest.java @@ -84,6 +84,8 @@ import android.os.Build; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; +import android.platform.test.annotations.DisableFlags; +import android.platform.test.annotations.EnableFlags; import android.platform.test.annotations.Presubmit; import android.platform.test.flag.junit.SetFlagsRule; import android.text.Spannable; @@ -545,12 +547,26 @@ public class NotificationTest { } @Test + @DisableFlags(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) public void testBuilder_setSilent_emptyGroupKey_groupKeySilent() { Notification emptyGroupKeyNotif = new Notification.Builder(mContext, "channelId") .setGroup("") .setSilent(true) .build(); - assertEquals(GROUP_KEY_SILENT, emptyGroupKeyNotif.getGroup()); + assertThat(emptyGroupKeyNotif.getGroup()).isEqualTo(GROUP_KEY_SILENT); + assertThat(emptyGroupKeyNotif.isSilent()).isTrue(); + } + + @Test + @EnableFlags(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) + public void testBuilder_setSilent_flagSilent() { + final String groupKey = "groupKey"; + Notification emptyGroupKeyNotif = new Notification.Builder(mContext, "channelId") + .setGroup(groupKey) + .setSilent(true) + .build(); + assertThat(emptyGroupKeyNotif.getGroup()).isEqualTo(groupKey); + assertThat(emptyGroupKeyNotif.isSilent()).isTrue(); } @Test diff --git a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlags.kt b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlags.kt index 8f7fdd6a7b84..59831689b525 100644 --- a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlags.kt +++ b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlags.kt @@ -20,7 +20,6 @@ import android.content.Context import android.provider.Settings import android.util.Log import com.android.window.flags.Flags -import com.android.wm.shell.shared.DesktopModeStatus /* * A shared class to check desktop mode flags state. @@ -35,7 +34,8 @@ enum class DesktopModeFlags( private val shouldOverrideByDevOption: Boolean ) { // All desktop mode related flags will be added here - DESKTOP_WINDOWING_MODE(DesktopModeStatus::isDesktopModeFlagEnabled, true); + DESKTOP_WINDOWING_MODE(Flags::enableDesktopWindowingMode, true), + WALLPAPER_ACTIVITY(Flags::enableDesktopWindowingWallpaperActivity, true); // Local cache for toggle override, which is initialized once on its first access. It needs to be // refreshed only on reboots as overridden state takes effect on reboots. @@ -52,10 +52,14 @@ enum class DesktopModeFlags( context.contentResolver == null) { flagFunction() } else { + val shouldToggleBeEnabledByDefault = DesktopModeStatus.shouldDevOptionBeEnabledByDefault() when (getToggleOverride(context)) { ToggleOverride.OVERRIDE_UNSET -> flagFunction() - ToggleOverride.OVERRIDE_OFF -> false - ToggleOverride.OVERRIDE_ON -> true + // When toggle override matches its default state, don't override flags. This helps users + // reset their feature overrides. + ToggleOverride.OVERRIDE_OFF -> + if (shouldToggleBeEnabledByDefault) false else flagFunction() + ToggleOverride.OVERRIDE_ON -> if (shouldToggleBeEnabledByDefault) flagFunction() else true } } diff --git a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/DesktopModeStatus.java b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeStatus.java index 67d46f4c6d73..fc4710f8f67b 100644 --- a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/DesktopModeStatus.java +++ b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeStatus.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.wm.shell.shared; +package com.android.wm.shell.shared.desktopmode; import android.annotation.NonNull; import android.content.Context; @@ -23,7 +23,6 @@ import android.os.SystemProperties; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.window.flags.Flags; -import com.android.wm.shell.shared.desktopmode.DesktopModeFlags; /** * Constants for desktop mode feature @@ -102,16 +101,6 @@ public class DesktopModeStatus { "persist.wm.debug.desktop_max_task_limit", DEFAULT_MAX_TASK_LIMIT); /** - * Return {@code true} if desktop windowing flag is enabled. Only to be used for testing. - * Callers should use {@link #canEnterDesktopMode(Context)} to query the state of desktop - * windowing. - */ - @VisibleForTesting - public static boolean isDesktopModeFlagEnabled() { - return Flags.enableDesktopWindowingMode(); - } - - /** * Return {@code true} if veiled resizing is active. If false, fluid resizing is used. */ public static boolean isVeiledResizeEnabled() { @@ -167,7 +156,7 @@ public class DesktopModeStatus { /** Returns if desktop mode dev option should be enabled if there is no user override. */ public static boolean shouldDevOptionBeEnabledByDefault() { - return isDesktopModeFlagEnabled(); + return Flags.enableDesktopWindowingMode(); } /** diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java index 609e5af5c5b0..afaa3c9742c6 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java @@ -88,12 +88,12 @@ import com.android.wm.shell.recents.RecentTasks; import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.recents.RecentsTransitionHandler; import com.android.wm.shell.recents.TaskStackTransitionObserver; -import com.android.wm.shell.shared.DesktopModeStatus; import com.android.wm.shell.shared.ShellTransitions; import com.android.wm.shell.shared.annotations.ShellAnimationThread; import com.android.wm.shell.shared.annotations.ShellBackgroundThread; import com.android.wm.shell.shared.annotations.ShellMainThread; import com.android.wm.shell.shared.annotations.ShellSplashscreenThread; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.splitscreen.SplitScreen; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.startingsurface.StartingSurface; @@ -898,7 +898,7 @@ public abstract class WMShellBaseModule { // Use optional-of-lazy for the dependency that this provider relies on. // Lazy ensures that this provider will not be the cause the dependency is created // when it will not be returned due to the condition below. - return desktopTasksController.flatMap((lazy)-> { + return desktopTasksController.flatMap((lazy) -> { if (DesktopModeStatus.canEnterDesktopMode(context)) { return Optional.of(lazy.get()); } @@ -917,7 +917,7 @@ public abstract class WMShellBaseModule { // Use optional-of-lazy for the dependency that this provider relies on. // Lazy ensures that this provider will not be the cause the dependency is created // when it will not be returned due to the condition below. - return desktopModeTaskRepository.flatMap((lazy)-> { + return desktopModeTaskRepository.flatMap((lazy) -> { if (DesktopModeStatus.canEnterDesktopMode(context)) { return Optional.of(lazy.get()); } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java index e792f7ad4263..aa499d9ee8a0 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java @@ -77,10 +77,10 @@ import com.android.wm.shell.onehanded.OneHandedController; import com.android.wm.shell.pip.PipTransitionController; import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.recents.RecentsTransitionHandler; -import com.android.wm.shell.shared.DesktopModeStatus; import com.android.wm.shell.shared.annotations.ShellAnimationThread; import com.android.wm.shell.shared.annotations.ShellBackgroundThread; import com.android.wm.shell.shared.annotations.ShellMainThread; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.sysui.ShellCommandHandler; import com.android.wm.shell.sysui.ShellController; @@ -585,9 +585,10 @@ public abstract class WMShellModule { @Provides static ExitDesktopTaskTransitionHandler provideExitDesktopTaskTransitionHandler( Transitions transitions, - Context context - ) { - return new ExitDesktopTaskTransitionHandler(transitions, context); + Context context, + InteractionJankMonitor interactionJankMonitor) { + return new ExitDesktopTaskTransitionHandler( + transitions, context, interactionJankMonitor); } @WMSingleton diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt index a67dee3a4a8d..275f725dc054 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt @@ -46,7 +46,7 @@ import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_EXIT_ import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_EXIT_DESKTOP_MODE_KEYBOARD_SHORTCUT import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_EXIT_DESKTOP_MODE_TASK_DRAG import com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE -import com.android.wm.shell.shared.DesktopModeStatus +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.shared.TransitionUtil import com.android.wm.shell.sysui.ShellInit import com.android.wm.shell.transition.Transitions diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt index e24791292085..985901d5ac75 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt @@ -74,9 +74,9 @@ import com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE import com.android.wm.shell.recents.RecentTasksController import com.android.wm.shell.recents.RecentsTransitionHandler import com.android.wm.shell.recents.RecentsTransitionStateListener -import com.android.wm.shell.shared.DesktopModeStatus -import com.android.wm.shell.shared.DesktopModeStatus.DESKTOP_DENSITY_OVERRIDE -import com.android.wm.shell.shared.DesktopModeStatus.useDesktopOverrideDensity +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus.DESKTOP_DENSITY_OVERRIDE +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus.useDesktopOverrideDensity import com.android.wm.shell.shared.TransitionUtil import com.android.wm.shell.shared.annotations.ExternalThread import com.android.wm.shell.shared.annotations.ShellMainThread diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt index c85f76de33a7..3f5bd1a4f5c7 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt @@ -25,7 +25,7 @@ import android.window.WindowContainerTransaction import androidx.annotation.VisibleForTesting import com.android.wm.shell.ShellTaskOrganizer import com.android.wm.shell.protolog.ShellProtoLogGroup -import com.android.wm.shell.shared.DesktopModeStatus +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.transition.Transitions import com.android.wm.shell.transition.Transitions.TransitionObserver import com.android.wm.shell.util.KtProtoLog diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserver.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserver.kt index dae75f90e3ae..f01f6450ae30 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserver.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksTransitionObserver.kt @@ -23,7 +23,7 @@ import android.view.WindowManager import android.window.TransitionInfo import com.android.window.flags.Flags.enableDesktopWindowingWallpaperActivity import com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE -import com.android.wm.shell.shared.DesktopModeStatus +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.sysui.ShellInit import com.android.wm.shell.transition.Transitions import com.android.wm.shell.util.KtProtoLog diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ExitDesktopTaskTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ExitDesktopTaskTransitionHandler.java index 891f75cfdbda..171378f9a164 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ExitDesktopTaskTransitionHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/ExitDesktopTaskTransitionHandler.java @@ -42,6 +42,8 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.jank.Cuj; +import com.android.internal.jank.InteractionJankMonitor; import com.android.wm.shell.common.desktopmode.DesktopModeTransitionSource; import com.android.wm.shell.transition.Transitions; @@ -60,6 +62,7 @@ public class ExitDesktopTaskTransitionHandler implements Transitions.TransitionH private final Context mContext; private final Transitions mTransitions; + private final InteractionJankMonitor mInteractionJankMonitor; private final List<IBinder> mPendingTransitionTokens = new ArrayList<>(); private Consumer<SurfaceControl.Transaction> mOnAnimationFinishedCallback; private final Supplier<SurfaceControl.Transaction> mTransactionSupplier; @@ -67,17 +70,21 @@ public class ExitDesktopTaskTransitionHandler implements Transitions.TransitionH public ExitDesktopTaskTransitionHandler( Transitions transitions, - Context context) { - this(transitions, SurfaceControl.Transaction::new, context); + Context context, + InteractionJankMonitor interactionJankMonitor + ) { + this(transitions, SurfaceControl.Transaction::new, context, interactionJankMonitor); } private ExitDesktopTaskTransitionHandler( Transitions transitions, Supplier<SurfaceControl.Transaction> supplier, - Context context) { + Context context, + InteractionJankMonitor interactionJankMonitor) { mTransitions = transitions; mTransactionSupplier = supplier; mContext = context; + mInteractionJankMonitor = interactionJankMonitor; } /** @@ -146,6 +153,8 @@ public class ExitDesktopTaskTransitionHandler implements Transitions.TransitionH final int screenHeight = metrics.heightPixels; final SurfaceControl sc = change.getLeash(); final Rect endBounds = change.getEndAbsBounds(); + mInteractionJankMonitor + .begin(sc, mContext, Cuj.CUJ_DESKTOP_MODE_EXIT_MODE); // Hide the first (fullscreen) frame because the animation will start from the freeform // size. startT.hide(sc) @@ -175,6 +184,7 @@ public class ExitDesktopTaskTransitionHandler implements Transitions.TransitionH if (mOnAnimationFinishedCallback != null) { mOnAnimationFinishedCallback.accept(finishT); } + mInteractionJankMonitor.end(Cuj.CUJ_DESKTOP_MODE_EXIT_MODE); mTransitions.getMainExecutor().execute( () -> finishCallback.onTransitionFinished(null)); } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskListener.java b/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskListener.java index 1641668a98a1..4531967d6f93 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskListener.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskListener.java @@ -29,7 +29,7 @@ import com.android.internal.protolog.ProtoLog; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.desktopmode.DesktopModeTaskRepository; import com.android.wm.shell.protolog.ShellProtoLogGroup; -import com.android.wm.shell.shared.DesktopModeStatus; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.sysui.ShellInit; import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.windowdecor.WindowDecorViewModel; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java index 6a6e2ecacae8..6e1e44b7ede0 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java @@ -496,7 +496,9 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener, ProtoLog.d(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE, "startSwipePipToHome: %s, state=%s", componentName, mPipTransitionState); mPipTransitionState.setInSwipePipToHomeTransition(true); - sendOnPipTransitionStarted(TRANSITION_DIRECTION_TO_PIP); + if (!ENABLE_SHELL_TRANSITIONS) { + sendOnPipTransitionStarted(TRANSITION_DIRECTION_TO_PIP); + } setBoundsStateForEntry(componentName, pictureInPictureParams, activityInfo); return mPipBoundsAlgorithm.getEntryDestinationBounds(); } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java index e5633de2a3a2..87692ac52908 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTransition.java @@ -1174,6 +1174,7 @@ public class PipTransition extends PipTransitionController { } final Rect sourceBounds = pipTaskInfo.configuration.windowConfiguration.getBounds(); + sendOnPipTransitionStarted(TRANSITION_DIRECTION_TO_PIP); final PipAnimationController.PipTransitionAnimator animator = mPipAnimationController.getAnimator(pipTaskInfo, leash, sourceBounds, sourceBounds, destinationBounds, sourceHintRect, TRANSITION_DIRECTION_TO_PIP, diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java index 814eaae1ea74..fbb4bc42a6b8 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java @@ -52,9 +52,9 @@ import com.android.wm.shell.common.TaskStackListenerCallback; import com.android.wm.shell.common.TaskStackListenerImpl; import com.android.wm.shell.desktopmode.DesktopModeTaskRepository; import com.android.wm.shell.protolog.ShellProtoLogGroup; -import com.android.wm.shell.shared.DesktopModeStatus; import com.android.wm.shell.shared.annotations.ExternalThread; import com.android.wm.shell.shared.annotations.ShellMainThread; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.sysui.ShellCommandHandler; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; @@ -640,7 +640,7 @@ public class RecentTasksController implements TaskStackListenerCallback, @Override public ActivityManager.RunningTaskInfo[] getRunningTasks(int maxNum) { final ActivityManager.RunningTaskInfo[][] tasks = - new ActivityManager.RunningTaskInfo[][] {null}; + new ActivityManager.RunningTaskInfo[][]{null}; executeRemoteCallWithTaskPermission(mController, "getRunningTasks", (controller) -> tasks[0] = ActivityTaskManager.getInstance().getTasks(maxNum) .toArray(new ActivityManager.RunningTaskInfo[0]), diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java index bd2584647c20..21307a2edae0 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java @@ -77,6 +77,7 @@ import androidx.annotation.BinderThread; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.protolog.ProtoLog; +import com.android.window.flags.Flags; import com.android.wm.shell.RootTaskDisplayAreaOrganizer; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; @@ -579,6 +580,14 @@ public class Transitions implements RemoteCallable<Transitions>, final boolean isOpening = isOpeningType(transitType); final boolean isClosing = isClosingType(transitType); final int mode = change.getMode(); + // Ensure wallpapers stay in the back + if (change.hasFlags(FLAG_IS_WALLPAPER) && Flags.ensureWallpaperInTransitions()) { + if (mode == TRANSIT_OPEN || mode == TRANSIT_TO_FRONT) { + return -zSplitLine + numChanges - i; + } else { + return -zSplitLine - i; + } + } // Put all the OPEN/SHOW on top if (mode == TRANSIT_OPEN || mode == TRANSIT_TO_FRONT) { if (isOpening) { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java index 440fc4d314bb..1be33e5d2d95 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java @@ -91,7 +91,7 @@ import com.android.wm.shell.desktopmode.DesktopTasksController; import com.android.wm.shell.desktopmode.DesktopTasksController.SnapPosition; import com.android.wm.shell.desktopmode.DesktopWallpaperActivity; import com.android.wm.shell.freeform.FreeformTaskTransitionStarter; -import com.android.wm.shell.shared.DesktopModeStatus; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.splitscreen.SplitScreen; import com.android.wm.shell.splitscreen.SplitScreen.StageType; import com.android.wm.shell.splitscreen.SplitScreenController; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java index 2a95fa3869a0..b62194ca6239 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java @@ -68,7 +68,7 @@ import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.DisplayLayout; import com.android.wm.shell.common.SyncTransactionQueue; -import com.android.wm.shell.shared.DesktopModeStatus; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.windowdecor.common.OnTaskActionClickListener; import com.android.wm.shell.windowdecor.extension.TaskInfoKt; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragPositioningCallbackUtility.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragPositioningCallbackUtility.java index d48ce536f2b3..2fd3eaa37ec3 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragPositioningCallbackUtility.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragPositioningCallbackUtility.java @@ -33,7 +33,7 @@ import androidx.annotation.NonNull; import com.android.window.flags.Flags; import com.android.wm.shell.R; import com.android.wm.shell.common.DisplayController; -import com.android.wm.shell.shared.DesktopModeStatus; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; /** * Utility class that contains logic common to classes implementing {@link DragPositioningCallback} diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java index 216990c35247..03dbbb3bbb82 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/WindowDecoration.java @@ -55,7 +55,7 @@ import android.window.WindowContainerTransaction; import com.android.internal.annotations.VisibleForTesting; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayController; -import com.android.wm.shell.shared.DesktopModeStatus; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.windowdecor.WindowDecoration.RelayoutParams.OccludingCaptionElement; import com.android.wm.shell.windowdecor.additionalviewcontainer.AdditionalViewHostViewContainer; diff --git a/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/flicker/DesktopModeFlickerScenarios.kt b/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/flicker/DesktopModeFlickerScenarios.kt index 89d279cd1184..c725b08d2f5e 100644 --- a/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/flicker/DesktopModeFlickerScenarios.kt +++ b/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/flicker/DesktopModeFlickerScenarios.kt @@ -21,15 +21,16 @@ import android.tools.flicker.assertors.assertions.AppLayerIsInvisibleAtEnd import android.tools.flicker.assertors.assertions.AppLayerIsVisibleAlways import android.tools.flicker.assertors.assertions.AppLayerIsVisibleAtStart import android.tools.flicker.assertors.assertions.AppWindowHasDesktopModeInitialBoundsAtTheEnd -import android.tools.flicker.assertors.assertions.AppWindowIsVisibleAlways +import android.tools.flicker.assertors.assertions.AppWindowHasSizeOfAtLeast +import android.tools.flicker.assertors.assertions.AppWindowIsInvisibleAtEnd import android.tools.flicker.assertors.assertions.AppWindowOnTopAtEnd import android.tools.flicker.assertors.assertions.AppWindowOnTopAtStart -import android.tools.flicker.assertors.assertions.AppWindowRemainInsideDisplayBounds -import android.tools.flicker.assertors.assertions.LauncherWindowMovesToTop +import android.tools.flicker.assertors.assertions.LauncherWindowReplacesAppAsTopWindow import android.tools.flicker.config.AssertionTemplates import android.tools.flicker.config.FlickerConfigEntry import android.tools.flicker.config.ScenarioId import android.tools.flicker.config.desktopmode.Components +import android.tools.flicker.config.desktopmode.Components.DESKTOP_WALLPAPER import android.tools.flicker.extractors.ITransitionMatcher import android.tools.flicker.extractors.ShellTransitionScenarioExtractor import android.tools.flicker.extractors.TaggedCujTransitionMatcher @@ -44,97 +45,114 @@ class DesktopModeFlickerScenarios { FlickerConfigEntry( scenarioId = ScenarioId("END_DRAG_TO_DESKTOP"), extractor = - ShellTransitionScenarioExtractor( - transitionMatcher = - object : ITransitionMatcher { - override fun findAll( - transitions: Collection<Transition> - ): Collection<Transition> { - return transitions.filter { - it.type == TransitionType.DESKTOP_MODE_END_DRAG_TO_DESKTOP - } - } + ShellTransitionScenarioExtractor( + transitionMatcher = + object : ITransitionMatcher { + override fun findAll( + transitions: Collection<Transition> + ): Collection<Transition> { + return transitions.filter { + it.type == TransitionType.DESKTOP_MODE_END_DRAG_TO_DESKTOP } - ), + } + } + ), assertions = - AssertionTemplates.COMMON_ASSERTIONS + + AssertionTemplates.COMMON_ASSERTIONS + listOf( - AppLayerIsVisibleAlways(Components.DESKTOP_MODE_APP), - AppWindowOnTopAtEnd(Components.DESKTOP_MODE_APP), - AppWindowHasDesktopModeInitialBoundsAtTheEnd( - Components.DESKTOP_MODE_APP - ) + AppLayerIsVisibleAlways(Components.DESKTOP_MODE_APP), + AppWindowOnTopAtEnd(Components.DESKTOP_MODE_APP), + AppWindowHasDesktopModeInitialBoundsAtTheEnd( + Components.DESKTOP_MODE_APP ) - .associateBy({ it }, { AssertionInvocationGroup.BLOCKING }), + ).associateBy({ it }, { AssertionInvocationGroup.BLOCKING }), ) + // Use this scenario for closing an app in desktop windowing, except the last app. For the + // last app use CLOSE_LAST_APP scenario val CLOSE_APP = FlickerConfigEntry( scenarioId = ScenarioId("CLOSE_APP"), extractor = - ShellTransitionScenarioExtractor( - transitionMatcher = - object : ITransitionMatcher { - override fun findAll( - transitions: Collection<Transition> - ): Collection<Transition> { - return transitions.filter { it.type == TransitionType.CLOSE } - } - } - ), + ShellTransitionScenarioExtractor( + transitionMatcher = + object : ITransitionMatcher { + override fun findAll( + transitions: Collection<Transition> + ): Collection<Transition> { + // In case there are multiple windows closing, filter out the + // last window closing. It should use the CLOSE_LAST_APP + // scenario below. + return transitions + .filter { it.type == TransitionType.CLOSE } + .sortedByDescending { it.id } + .drop(1) + } + } + ), assertions = - AssertionTemplates.COMMON_ASSERTIONS + + AssertionTemplates.COMMON_ASSERTIONS + listOf( - AppWindowOnTopAtStart(Components.DESKTOP_MODE_APP), - AppLayerIsVisibleAtStart(Components.DESKTOP_MODE_APP), - AppLayerIsInvisibleAtEnd(Components.DESKTOP_MODE_APP), - ) - .associateBy({ it }, { AssertionInvocationGroup.BLOCKING }), + AppWindowOnTopAtStart(Components.DESKTOP_MODE_APP), + AppLayerIsVisibleAtStart(Components.DESKTOP_MODE_APP), + AppLayerIsInvisibleAtEnd(Components.DESKTOP_MODE_APP), + ).associateBy({ it }, { AssertionInvocationGroup.BLOCKING }), ) val CLOSE_LAST_APP = FlickerConfigEntry( scenarioId = ScenarioId("CLOSE_LAST_APP"), extractor = - ShellTransitionScenarioExtractor( - transitionMatcher = - object : ITransitionMatcher { - override fun findAll( - transitions: Collection<Transition> - ): Collection<Transition> { - val lastTransition = - transitions.findLast { it.type == TransitionType.CLOSE } - return if (lastTransition != null) listOf(lastTransition) - else emptyList() - } - } - ), + ShellTransitionScenarioExtractor( + transitionMatcher = + object : ITransitionMatcher { + override fun findAll( + transitions: Collection<Transition> + ): Collection<Transition> { + val lastTransition = + transitions + .filter { it.type == TransitionType.CLOSE } + .maxByOrNull { it.id }!! + return listOf(lastTransition) + } + } + ), assertions = - AssertionTemplates.COMMON_ASSERTIONS + + AssertionTemplates.COMMON_ASSERTIONS + listOf( - AppWindowOnTopAtStart(Components.DESKTOP_MODE_APP), - AppLayerIsVisibleAtStart(Components.DESKTOP_MODE_APP), - AppLayerIsInvisibleAtEnd(Components.DESKTOP_MODE_APP), - LauncherWindowMovesToTop() - ) - .associateBy({ it }, { AssertionInvocationGroup.BLOCKING }), + AppWindowIsInvisibleAtEnd(Components.DESKTOP_MODE_APP), + LauncherWindowReplacesAppAsTopWindow(Components.DESKTOP_MODE_APP), + AppWindowIsInvisibleAtEnd(DESKTOP_WALLPAPER) + ).associateBy({ it }, { AssertionInvocationGroup.BLOCKING }), ) val CORNER_RESIZE = FlickerConfigEntry( scenarioId = ScenarioId("CORNER_RESIZE"), extractor = - TaggedScenarioExtractorBuilder() + TaggedScenarioExtractorBuilder() + .setTargetTag(CujType.CUJ_DESKTOP_MODE_RESIZE_WINDOW) + .setTransitionMatcher( + TaggedCujTransitionMatcher(associatedTransitionRequired = false) + ) + .build(), + assertions = AssertionTemplates.DESKTOP_MODE_APP_VISIBILITY_ASSERTIONS + ) + + val CORNER_RESIZE_TO_MINIMUM_SIZE = + FlickerConfigEntry( + scenarioId = ScenarioId("CORNER_RESIZE_TO_MINIMUM_SIZE"), + extractor = + TaggedScenarioExtractorBuilder() .setTargetTag(CujType.CUJ_DESKTOP_MODE_RESIZE_WINDOW) .setTransitionMatcher( TaggedCujTransitionMatcher(associatedTransitionRequired = false) ).build(), assertions = - listOf( - AppWindowIsVisibleAlways(Components.DESKTOP_MODE_APP), - AppWindowOnTopAtEnd(Components.DESKTOP_MODE_APP), - AppWindowRemainInsideDisplayBounds(Components.DESKTOP_MODE_APP), - ).associateBy({ it }, { AssertionInvocationGroup.BLOCKING }), + AssertionTemplates.DESKTOP_MODE_APP_VISIBILITY_ASSERTIONS + + listOf( + AppWindowHasSizeOfAtLeast(Components.DESKTOP_MODE_APP, 770, 700) + ).associateBy({ it }, { AssertionInvocationGroup.BLOCKING }), ) } -} +}
\ No newline at end of file diff --git a/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/flicker/ResizeAppToMinimumWindowSizeLandscape.kt b/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/flicker/ResizeAppToMinimumWindowSizeLandscape.kt new file mode 100644 index 000000000000..6319cf74ed8f --- /dev/null +++ b/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/flicker/ResizeAppToMinimumWindowSizeLandscape.kt @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.wm.shell.flicker.service.desktopmode.flicker + +import android.tools.Rotation +import android.tools.flicker.FlickerConfig +import android.tools.flicker.annotation.ExpectedScenarios +import android.tools.flicker.annotation.FlickerConfigProvider +import android.tools.flicker.config.FlickerConfig +import android.tools.flicker.config.FlickerServiceConfig +import android.tools.flicker.junit.FlickerServiceJUnit4ClassRunner +import com.android.wm.shell.flicker.service.desktopmode.flicker.DesktopModeFlickerScenarios.Companion.CORNER_RESIZE_TO_MINIMUM_SIZE +import com.android.wm.shell.flicker.service.desktopmode.scenarios.ResizeAppWithCornerResize +import org.junit.Test +import org.junit.runner.RunWith + +/** + * Resize app window using corner resize to the smallest possible height and width in + * landscape mode. + * + * Assert that the minimum window size constraint is maintained. + */ +@RunWith(FlickerServiceJUnit4ClassRunner::class) +class ResizeAppToMinimumWindowSizeLandscape : ResizeAppWithCornerResize( + rotation = Rotation.ROTATION_90, + horizontalChange = -1500, + verticalChange = 1500) { + @ExpectedScenarios(["CORNER_RESIZE_TO_MINIMUM_SIZE"]) + @Test + override fun resizeAppWithCornerResize() = super.resizeAppWithCornerResize() + + companion object { + @JvmStatic + @FlickerConfigProvider + fun flickerConfigProvider(): FlickerConfig = + FlickerConfig().use(FlickerServiceConfig.DEFAULT).use(CORNER_RESIZE_TO_MINIMUM_SIZE) + } +} diff --git a/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/flicker/ResizeAppToMinimumWindowSizePortrait.kt b/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/flicker/ResizeAppToMinimumWindowSizePortrait.kt new file mode 100644 index 000000000000..431f6e3d3ea2 --- /dev/null +++ b/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/flicker/ResizeAppToMinimumWindowSizePortrait.kt @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.wm.shell.flicker.service.desktopmode.flicker + +import android.tools.flicker.FlickerConfig +import android.tools.flicker.annotation.ExpectedScenarios +import android.tools.flicker.annotation.FlickerConfigProvider +import android.tools.flicker.config.FlickerConfig +import android.tools.flicker.config.FlickerServiceConfig +import android.tools.flicker.junit.FlickerServiceJUnit4ClassRunner +import com.android.wm.shell.flicker.service.desktopmode.flicker.DesktopModeFlickerScenarios.Companion.CORNER_RESIZE_TO_MINIMUM_SIZE +import com.android.wm.shell.flicker.service.desktopmode.scenarios.ResizeAppWithCornerResize +import org.junit.Test +import org.junit.runner.RunWith + +/** + * Resize app window using corner resize to the smallest possible height and width in portrait mode. + * + * Assert that the minimum window size constraint is maintained. + */ +@RunWith(FlickerServiceJUnit4ClassRunner::class) +class ResizeAppToMinimumWindowSizePortrait : ResizeAppWithCornerResize(horizontalChange = -1500, + verticalChange = 1500) { + @ExpectedScenarios(["CORNER_RESIZE_TO_MINIMUM_SIZE"]) + @Test + override fun resizeAppWithCornerResize() = super.resizeAppWithCornerResize() + + companion object { + @JvmStatic + @FlickerConfigProvider + fun flickerConfigProvider(): FlickerConfig = + FlickerConfig().use(FlickerServiceConfig.DEFAULT).use(CORNER_RESIZE_TO_MINIMUM_SIZE) + } +} diff --git a/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/scenarios/MaximizeAppWindow.kt b/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/scenarios/MaximizeAppWindow.kt new file mode 100644 index 000000000000..20e2167c28f2 --- /dev/null +++ b/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/scenarios/MaximizeAppWindow.kt @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.wm.shell.flicker.service.desktopmode.scenarios + +import android.app.Instrumentation +import android.tools.NavBar +import android.tools.Rotation +import android.tools.traces.parsers.WindowManagerStateHelper +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.uiautomator.UiDevice +import com.android.launcher3.tapl.LauncherInstrumentation +import com.android.server.wm.flicker.helpers.DesktopModeAppHelper +import com.android.server.wm.flicker.helpers.SimpleAppHelper +import com.android.window.flags.Flags +import com.android.wm.shell.flicker.service.common.Utils +import org.junit.After +import org.junit.Assume +import org.junit.Before +import org.junit.Ignore +import org.junit.Rule +import org.junit.Test + +/** Base scenario test for maximize app window CUJ in desktop mode. */ +@Ignore("Base Test Class") +abstract class MaximizeAppWindow +{ + private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() + private val tapl = LauncherInstrumentation() + private val wmHelper = WindowManagerStateHelper(instrumentation) + private val device = UiDevice.getInstance(instrumentation) + private val testApp = DesktopModeAppHelper(SimpleAppHelper(instrumentation)) + + @Rule @JvmField val testSetupRule = Utils.testSetupRule(NavBar.MODE_GESTURAL, + Rotation.ROTATION_0) + + @Before + fun setup() { + Assume.assumeTrue(Flags.enableDesktopWindowingMode() && tapl.isTablet) + testApp.enterDesktopWithDrag(wmHelper, device) + } + + @Test + open fun maximizeAppWindow() { + testApp.maximiseDesktopApp(wmHelper, device) + } + + @After + fun teardown() { + testApp.exit(wmHelper) + } +} diff --git a/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/scenarios/ResizeAppWithCornerResize.kt b/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/scenarios/ResizeAppWithCornerResize.kt index ac9089a5c1bd..136cf378aa09 100644 --- a/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/scenarios/ResizeAppWithCornerResize.kt +++ b/libs/WindowManager/Shell/tests/flicker/service/src/com/android/wm/shell/flicker/service/desktopmode/scenarios/ResizeAppWithCornerResize.kt @@ -38,7 +38,9 @@ import org.junit.Test @Ignore("Base Test Class") abstract class ResizeAppWithCornerResize @JvmOverloads -constructor(val rotation: Rotation = Rotation.ROTATION_0) { +constructor(val rotation: Rotation = Rotation.ROTATION_0, + val horizontalChange: Int = 50, + val verticalChange: Int = -50) { private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation() private val tapl = LauncherInstrumentation() @@ -46,7 +48,9 @@ constructor(val rotation: Rotation = Rotation.ROTATION_0) { private val device = UiDevice.getInstance(instrumentation) private val testApp = DesktopModeAppHelper(SimpleAppHelper(instrumentation)) - @Rule @JvmField val testSetupRule = Utils.testSetupRule(NavBar.MODE_GESTURAL, rotation) + @Rule + @JvmField + val testSetupRule = Utils.testSetupRule(NavBar.MODE_GESTURAL, rotation) @Before fun setup() { @@ -58,7 +62,11 @@ constructor(val rotation: Rotation = Rotation.ROTATION_0) { @Test open fun resizeAppWithCornerResize() { - testApp.cornerResize(wmHelper, device, DesktopModeAppHelper.Corners.RIGHT_TOP, 50, -50) + testApp.cornerResize(wmHelper, + device, + DesktopModeAppHelper.Corners.RIGHT_TOP, + horizontalChange, + verticalChange) } @After diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserverTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserverTest.kt index 665bed0c8a88..d4596396840e 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserverTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserverTest.kt @@ -52,7 +52,7 @@ import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_EXIT_ import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_EXIT_DESKTOP_MODE_KEYBOARD_SHORTCUT import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_EXIT_DESKTOP_MODE_TASK_DRAG import com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_EXIT_DESKTOP_MODE_UNKNOWN -import com.android.wm.shell.shared.DesktopModeStatus +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.sysui.ShellInit import com.android.wm.shell.transition.TransitionInfoBuilder import com.android.wm.shell.transition.Transitions diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt index bd38d360a15b..6cabbf90bbc2 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt @@ -20,6 +20,7 @@ import android.app.ActivityManager.RecentTaskInfo import android.app.ActivityManager.RunningTaskInfo import android.app.KeyguardManager import android.app.WindowConfiguration.ACTIVITY_TYPE_HOME +import com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE import android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD import android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM import android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN @@ -89,7 +90,7 @@ import com.android.wm.shell.draganddrop.DragAndDropController import com.android.wm.shell.recents.RecentTasksController import com.android.wm.shell.recents.RecentsTransitionHandler import com.android.wm.shell.recents.RecentsTransitionStateListener -import com.android.wm.shell.shared.DesktopModeStatus +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.splitscreen.SplitScreenController import com.android.wm.shell.sysui.ShellCommandHandler import com.android.wm.shell.sysui.ShellController @@ -137,6 +138,7 @@ import org.mockito.quality.Strictness */ @SmallTest @RunWith(AndroidTestingRunner::class) +@EnableFlags(FLAG_ENABLE_DESKTOP_WINDOWING_MODE) class DesktopTasksControllerTest : ShellTestCase() { @JvmField @Rule val setFlagsRule = SetFlagsRule() @@ -193,7 +195,6 @@ class DesktopTasksControllerTest : ShellTestCase() { .strictness(Strictness.LENIENT) .spyStatic(DesktopModeStatus::class.java) .startMocking() - whenever(DesktopModeStatus.isDesktopModeFlagEnabled()).thenReturn(true) doReturn(true).`when` { DesktopModeStatus.isDesktopModeSupported(any()) } shellInit = spy(ShellInit(testExecutor)) @@ -263,7 +264,7 @@ class DesktopTasksControllerTest : ShellTestCase() { } @Test - fun instantiate_flagOff_doNotAddInitCallback() { + fun instantiate_canNotEnterDesktopMode_doNotAddInitCallback() { whenever(DesktopModeStatus.canEnterDesktopMode(context)).thenReturn(false) clearInvocations(shellInit) diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt index 4bfa96a7b6ce..8d9fd9166050 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt @@ -33,7 +33,7 @@ import com.android.dx.mockito.inline.extended.StaticMockitoSession import com.android.wm.shell.ShellTaskOrganizer import com.android.wm.shell.ShellTestCase import com.android.wm.shell.desktopmode.DesktopTestHelpers.Companion.createFreeformTask -import com.android.wm.shell.shared.DesktopModeStatus +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.transition.TransitionInfoBuilder import com.android.wm.shell.transition.Transitions import com.android.wm.shell.util.StubTransaction diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/ExitDesktopTaskTransitionHandlerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/ExitDesktopTaskTransitionHandlerTest.java index b2467e9a62cf..e5157c974e2d 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/ExitDesktopTaskTransitionHandlerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/ExitDesktopTaskTransitionHandlerTest.java @@ -45,6 +45,7 @@ import android.window.WindowContainerTransaction; import androidx.test.filters.SmallTest; +import com.android.internal.jank.InteractionJankMonitor; import com.android.wm.shell.ShellTestCase; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.desktopmode.DesktopModeTransitionSource; @@ -65,6 +66,8 @@ public class ExitDesktopTaskTransitionHandlerTest extends ShellTestCase { @Mock private Transitions mTransitions; @Mock + private InteractionJankMonitor mInteractionJankMonitor; + @Mock IBinder mToken; @Mock Supplier<SurfaceControl.Transaction> mTransactionFactory; @@ -94,7 +97,7 @@ public class ExitDesktopTaskTransitionHandlerTest extends ShellTestCase { .thenReturn(getContext().getResources().getDisplayMetrics()); mExitDesktopTaskTransitionHandler = new ExitDesktopTaskTransitionHandler(mTransitions, - mContext); + mContext, mInteractionJankMonitor); mPoint = new Point(0, 0); } diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/freeform/FreeformTaskListenerTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/freeform/FreeformTaskListenerTests.java index 3f3cafcf6375..6ec6bed860bd 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/freeform/FreeformTaskListenerTests.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/freeform/FreeformTaskListenerTests.java @@ -36,7 +36,7 @@ import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.ShellTestCase; import com.android.wm.shell.TestRunningTaskInfoBuilder; import com.android.wm.shell.desktopmode.DesktopModeTaskRepository; -import com.android.wm.shell.shared.DesktopModeStatus; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.sysui.ShellInit; import com.android.wm.shell.windowdecor.WindowDecorViewModel; diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java index 5c5a1a26f5d2..a0aab2e6c8a4 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java @@ -68,7 +68,7 @@ import com.android.wm.shell.TestShellExecutor; import com.android.wm.shell.common.DisplayInsetsController; import com.android.wm.shell.common.TaskStackListenerImpl; import com.android.wm.shell.desktopmode.DesktopModeTaskRepository; -import com.android.wm.shell.shared.DesktopModeStatus; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.sysui.ShellCommandHandler; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlagsTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlagsTest.kt index 17983b27f4e8..4661042fcb6d 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlagsTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlagsTest.kt @@ -22,23 +22,20 @@ import android.platform.test.flag.junit.SetFlagsRule import android.provider.Settings import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest -import com.android.dx.mockito.inline.extended.ExtendedMockito -import com.android.dx.mockito.inline.extended.StaticMockitoSession import com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE +import com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY import com.android.window.flags.Flags.FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION import com.android.wm.shell.ShellTestCase -import com.android.wm.shell.shared.DesktopModeStatus import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.DESKTOP_WINDOWING_MODE import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_OFF import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_ON import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.ToggleOverride.OVERRIDE_UNSET +import com.android.wm.shell.shared.desktopmode.DesktopModeFlags.WALLPAPER_ACTIVITY import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith -import org.mockito.kotlin.whenever -import org.mockito.quality.Strictness /** * Test class for [DesktopModeFlags] @@ -186,27 +183,6 @@ class DesktopModeFlagsTest : ShellTestCase() { } @Test - @EnableFlags(FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION, FLAG_ENABLE_DESKTOP_WINDOWING_MODE) - fun isEnabled_noOverride_featureFlagOnThenOff_returnsTrueAndFalse() { - setOverride(null) - // For overridableFlag, in absence of overrides, follow flag - assertThat(DESKTOP_WINDOWING_MODE.isEnabled(mContext)).isTrue() - - val mockitoSession: StaticMockitoSession = - ExtendedMockito.mockitoSession() - .strictness(Strictness.LENIENT) - .spyStatic(DesktopModeStatus::class.java) - .startMocking() - try { - // No caching of flags - whenever(DesktopModeStatus.isDesktopModeFlagEnabled()).thenReturn(false) - assertThat(DESKTOP_WINDOWING_MODE.isEnabled(mContext)).isFalse() - } finally { - mockitoSession.finishMocking() - } - } - - @Test @EnableFlags(FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION) @DisableFlags(FLAG_ENABLE_DESKTOP_WINDOWING_MODE) fun isEnabled_noSystemProperty_overrideOn_featureFlagOff_returnsTrueAndStoresPropertyOn() { @@ -308,6 +284,138 @@ class DesktopModeFlagsTest : ShellTestCase() { .isEqualTo(OVERRIDE_UNSET.setting.toString()) } + @Test + @EnableFlags( + FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION, + FLAG_ENABLE_DESKTOP_WINDOWING_MODE, + FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + fun isEnabled_dwFlagEnabled_overrideUnset_featureFlagOn_returnsTrue() { + setOverride(OVERRIDE_UNSET.setting) + + // For unset overrides, follow flag + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isTrue() + } + + @Test + @EnableFlags(FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION, FLAG_ENABLE_DESKTOP_WINDOWING_MODE) + @DisableFlags(FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + fun isEnabled_dwFlagEnabled_overrideUnset_featureFlagOff_returnsFalse() { + setOverride(OVERRIDE_UNSET.setting) + + // For unset overrides, follow flag + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isFalse() + } + + @Test + @EnableFlags( + FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION, + FLAG_ENABLE_DESKTOP_WINDOWING_MODE, + FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + fun isEnabled_dwFlagEnabled_overrideOn_featureFlagOn_returnsTrue() { + setOverride(OVERRIDE_ON.setting) + + // When toggle override matches its default state (dw flag), don't override flags + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isTrue() + } + + @Test + @EnableFlags(FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION, FLAG_ENABLE_DESKTOP_WINDOWING_MODE) + @DisableFlags(FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + fun isEnabled_dwFlagEnabled_overrideOn_featureFlagOff_returnFalse() { + setOverride(OVERRIDE_ON.setting) + + // When toggle override matches its default state (dw flag), don't override flags + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isFalse() + } + + @Test + @EnableFlags( + FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION, + FLAG_ENABLE_DESKTOP_WINDOWING_MODE, + FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + fun isEnabled_dwFlagEnabled_overrideOff_featureFlagOn_returnsFalse() { + setOverride(OVERRIDE_OFF.setting) + + // Follow override if they exist, and is not equal to default toggle state (dw flag) + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isFalse() + } + + @Test + @EnableFlags(FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION, FLAG_ENABLE_DESKTOP_WINDOWING_MODE) + @DisableFlags(FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + fun isEnabled_dwFlagEnabled_overrideOff_featureFlagOff_returnsFalse() { + setOverride(OVERRIDE_OFF.setting) + + // Follow override if they exist, and is not equal to default toggle state (dw flag) + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isFalse() + } + + @Test + @EnableFlags( + FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION, FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + @DisableFlags(FLAG_ENABLE_DESKTOP_WINDOWING_MODE) + fun isEnabled_dwFlagDisabled_overrideUnset_featureFlagOn_returnsTrue() { + setOverride(OVERRIDE_UNSET.setting) + + // For unset overrides, follow flag + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isTrue() + } + + @Test + @EnableFlags(FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION) + @DisableFlags( + FLAG_ENABLE_DESKTOP_WINDOWING_MODE, FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + fun isEnabled_dwFlagDisabled_overrideUnset_featureFlagOff_returnsFalse() { + setOverride(OVERRIDE_UNSET.setting) + + // For unset overrides, follow flag + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isFalse() + } + + @Test + @EnableFlags( + FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION, FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + @DisableFlags(FLAG_ENABLE_DESKTOP_WINDOWING_MODE) + fun isEnabled_dwFlagDisabled_overrideOn_featureFlagOn_returnsTrue() { + setOverride(OVERRIDE_ON.setting) + + // Follow override if they exist, and is not equal to default toggle state (dw flag) + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isTrue() + } + + @Test + @EnableFlags(FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION) + @DisableFlags( + FLAG_ENABLE_DESKTOP_WINDOWING_MODE, FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + fun isEnabled_dwFlagDisabled_overrideOn_featureFlagOff_returnTrue() { + setOverride(OVERRIDE_ON.setting) + + // Follow override if they exist, and is not equal to default toggle state (dw flag) + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isTrue() + } + + @Test + @EnableFlags( + FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION, FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + @DisableFlags(FLAG_ENABLE_DESKTOP_WINDOWING_MODE) + fun isEnabled_dwFlagDisabled_overrideOff_featureFlagOn_returnsTrue() { + setOverride(OVERRIDE_OFF.setting) + + // When toggle override matches its default state (dw flag), don't override flags + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isTrue() + } + + @Test + @EnableFlags(FLAG_SHOW_DESKTOP_WINDOWING_DEV_OPTION) + @DisableFlags( + FLAG_ENABLE_DESKTOP_WINDOWING_MODE, FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY) + fun isEnabled_dwFlagDisabled_overrideOff_featureFlagOff_returnsFalse() { + setOverride(OVERRIDE_OFF.setting) + + // When toggle override matches its default state (dw flag), don't override flags + assertThat(WALLPAPER_ACTIVITY.isEnabled(mContext)).isFalse() + } + private fun setOverride(setting: Int?) { val contentResolver = mContext.contentResolver val key = Settings.Global.DEVELOPMENT_OVERRIDE_DESKTOP_MODE_FEATURES @@ -319,10 +427,15 @@ class DesktopModeFlagsTest : ShellTestCase() { } private fun resetCache() { - val cachedToggleOverride = + val cachedToggleOverrideDesktopMode = DESKTOP_WINDOWING_MODE::class.java.getDeclaredField("cachedToggleOverride") - cachedToggleOverride.isAccessible = true - cachedToggleOverride.set(DESKTOP_WINDOWING_MODE, null) + cachedToggleOverrideDesktopMode.isAccessible = true + cachedToggleOverrideDesktopMode.set(DESKTOP_WINDOWING_MODE, null) + + val cachedToggleOverrideWallpaperActivity = + WALLPAPER_ACTIVITY::class.java.getDeclaredField("cachedToggleOverride") + cachedToggleOverrideWallpaperActivity.isAccessible = true + cachedToggleOverrideWallpaperActivity.set(WALLPAPER_ACTIVITY, null) // Clear override cache stored in System property System.clearProperty(SYSTEM_PROPERTY_OVERRIDE_KEY) diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt index 0bf5a674aabb..316cefa1eb99 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt @@ -70,7 +70,7 @@ import com.android.wm.shell.common.SyncTransactionQueue import com.android.wm.shell.desktopmode.DesktopTasksController import com.android.wm.shell.desktopmode.DesktopTasksController.SnapPosition import com.android.wm.shell.freeform.FreeformTaskTransitionStarter -import com.android.wm.shell.shared.DesktopModeStatus +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.sysui.KeyguardChangeListener import com.android.wm.shell.sysui.ShellCommandHandler import com.android.wm.shell.sysui.ShellController diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java index 8165e595d5a8..b355137a9077 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorationTests.java @@ -82,7 +82,7 @@ import com.android.wm.shell.ShellTestCase; import com.android.wm.shell.TestRunningTaskInfoBuilder; import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.SyncTransactionQueue; -import com.android.wm.shell.shared.DesktopModeStatus; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.windowdecor.WindowDecoration.RelayoutParams; import com.android.wm.shell.windowdecor.common.OnTaskActionClickListener; diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DragPositioningCallbackUtilityTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DragPositioningCallbackUtilityTest.kt index ac5aeec3adc8..e52971120478 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DragPositioningCallbackUtilityTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DragPositioningCallbackUtilityTest.kt @@ -34,7 +34,7 @@ import com.android.window.flags.Flags import com.android.wm.shell.R import com.android.wm.shell.common.DisplayController import com.android.wm.shell.common.DisplayLayout -import com.android.wm.shell.shared.DesktopModeStatus +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_BOTTOM import com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_RIGHT import com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_TOP diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/WindowDecorationTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/WindowDecorationTests.java index f3603e1d9b46..31c6479195c3 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/WindowDecorationTests.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/WindowDecorationTests.java @@ -75,7 +75,7 @@ import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.ShellTestCase; import com.android.wm.shell.TestRunningTaskInfoBuilder; import com.android.wm.shell.common.DisplayController; -import com.android.wm.shell.shared.DesktopModeStatus; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.tests.R; import com.android.wm.shell.windowdecor.additionalviewcontainer.AdditionalViewContainer; diff --git a/libs/androidfw/StringPool.cpp b/libs/androidfw/StringPool.cpp index ad445c042e63..629f14683b19 100644 --- a/libs/androidfw/StringPool.cpp +++ b/libs/androidfw/StringPool.cpp @@ -297,24 +297,22 @@ void StringPool::Prune() { template <typename E> static void SortEntries( std::vector<std::unique_ptr<E>>& entries, - const std::function<int(const StringPool::Context&, const StringPool::Context&)>& cmp) { + base::function_ref<int(const StringPool::Context&, const StringPool::Context&)> cmp) { using UEntry = std::unique_ptr<E>; + std::sort(entries.begin(), entries.end(), [cmp](const UEntry& a, const UEntry& b) -> bool { + int r = cmp(a->context, b->context); + if (r == 0) { + r = a->value.compare(b->value); + } + return r < 0; + }); +} - if (cmp != nullptr) { - std::sort(entries.begin(), entries.end(), [&cmp](const UEntry& a, const UEntry& b) -> bool { - int r = cmp(a->context, b->context); - if (r == 0) { - r = a->value.compare(b->value); - } - return r < 0; - }); - } else { - std::sort(entries.begin(), entries.end(), - [](const UEntry& a, const UEntry& b) -> bool { return a->value < b->value; }); - } +void StringPool::Sort() { + Sort([](auto&&, auto&&) { return 0; }); } -void StringPool::Sort(const std::function<int(const Context&, const Context&)>& cmp) { +void StringPool::Sort(base::function_ref<int(const Context&, const Context&)> cmp) { SortEntries(styles_, cmp); SortEntries(strings_, cmp); ReAssignIndices(); diff --git a/libs/androidfw/include/androidfw/StringPool.h b/libs/androidfw/include/androidfw/StringPool.h index 0190ab57bf23..9b2c72a29f48 100644 --- a/libs/androidfw/include/androidfw/StringPool.h +++ b/libs/androidfw/include/androidfw/StringPool.h @@ -17,7 +17,6 @@ #ifndef _ANDROID_STRING_POOL_H #define _ANDROID_STRING_POOL_H -#include <functional> #include <memory> #include <string> #include <unordered_map> @@ -25,6 +24,7 @@ #include "BigBuffer.h" #include "IDiagnostics.h" +#include "android-base/function_ref.h" #include "android-base/macros.h" #include "androidfw/ConfigDescription.h" #include "androidfw/StringPiece.h" @@ -205,7 +205,8 @@ class StringPool { // Sorts the strings according to their Context using some comparison function. // Equal Contexts are further sorted by string value, lexicographically. // If no comparison function is provided, values are only sorted lexicographically. - void Sort(const std::function<int(const Context&, const Context&)>& cmp = nullptr); + void Sort(); + void Sort(base::function_ref<int(const Context&, const Context&)> cmp); // Removes any strings that have no references. void Prune(); diff --git a/packages/PackageInstaller/Android.bp b/packages/PackageInstaller/Android.bp index 79c810ca2611..bd84b58aa0f4 100644 --- a/packages/PackageInstaller/Android.bp +++ b/packages/PackageInstaller/Android.bp @@ -46,7 +46,6 @@ android_app { sdk_version: "system_current", rename_resources_package: false, static_libs: [ - "xz-java", "androidx.leanback_leanback", "androidx.annotation_annotation", "androidx.fragment_fragment", @@ -79,7 +78,6 @@ android_app { overrides: ["PackageInstaller"], static_libs: [ - "xz-java", "androidx.leanback_leanback", "androidx.fragment_fragment", "androidx.lifecycle_lifecycle-livedata", @@ -112,7 +110,6 @@ android_app { overrides: ["PackageInstaller"], static_libs: [ - "xz-java", "androidx.leanback_leanback", "androidx.annotation_annotation", "androidx.fragment_fragment", diff --git a/packages/PackageInstaller/AndroidManifest.xml b/packages/PackageInstaller/AndroidManifest.xml index 443747530315..68443a7e1492 100644 --- a/packages/PackageInstaller/AndroidManifest.xml +++ b/packages/PackageInstaller/AndroidManifest.xml @@ -147,17 +147,6 @@ android:configChanges="mnc|mnc|touchscreen|navigation|screenLayout|screenSize|smallestScreenSize|orientation|locale|keyboard|keyboardHidden|fontScale|uiMode|layoutDirection|density" android:exported="false" /> - <!-- Wearable Components --> - <service android:name=".wear.WearPackageInstallerService" - android:permission="com.google.android.permission.INSTALL_WEARABLE_PACKAGES" - android:foregroundServiceType="systemExempted" - android:exported="true"/> - - <provider android:name=".wear.WearPackageIconProvider" - android:authorities="com.google.android.packageinstaller.wear.provider" - android:grantUriPermissions="true" - android:exported="false" /> - <receiver android:name="androidx.profileinstaller.ProfileInstallReceiver" tools:node="remove" /> diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/wear/InstallTask.java b/packages/PackageInstaller/src/com/android/packageinstaller/wear/InstallTask.java deleted file mode 100644 index 53a460dc18ca..000000000000 --- a/packages/PackageInstaller/src/com/android/packageinstaller/wear/InstallTask.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.packageinstaller.wear; - -import android.content.Context; -import android.content.IntentSender; -import android.content.pm.PackageInstaller; -import android.os.Looper; -import android.os.ParcelFileDescriptor; -import android.text.TextUtils; -import android.util.Log; - -import java.io.Closeable; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * Task that installs an APK. This must not be called on the main thread. - * This code is based off the Finsky/Wearsky implementation - */ -public class InstallTask { - private static final String TAG = "InstallTask"; - - private static final int DEFAULT_BUFFER_SIZE = 8192; - - private final Context mContext; - private String mPackageName; - private ParcelFileDescriptor mParcelFileDescriptor; - private PackageInstallerImpl.InstallListener mCallback; - private PackageInstaller.Session mSession; - private IntentSender mCommitCallback; - - private Exception mException = null; - private int mErrorCode = 0; - private String mErrorDesc = null; - - public InstallTask(Context context, String packageName, - ParcelFileDescriptor parcelFileDescriptor, - PackageInstallerImpl.InstallListener callback, PackageInstaller.Session session, - IntentSender commitCallback) { - mContext = context; - mPackageName = packageName; - mParcelFileDescriptor = parcelFileDescriptor; - mCallback = callback; - mSession = session; - mCommitCallback = commitCallback; - } - - public boolean isError() { - return mErrorCode != InstallerConstants.STATUS_SUCCESS || !TextUtils.isEmpty(mErrorDesc); - } - - public void execute() { - if (Looper.myLooper() == Looper.getMainLooper()) { - throw new IllegalStateException("This method cannot be called from the UI thread."); - } - - OutputStream sessionStream = null; - try { - sessionStream = mSession.openWrite(mPackageName, 0, -1); - - // 2b: Stream the asset to the installer. Note: - // Note: writeToOutputStreamFromAsset() always safely closes the input stream - writeToOutputStreamFromAsset(sessionStream); - mSession.fsync(sessionStream); - } catch (Exception e) { - mException = e; - mErrorCode = InstallerConstants.ERROR_INSTALL_COPY_STREAM; - mErrorDesc = "Could not write to stream"; - } finally { - if (sessionStream != null) { - // 2c: close output stream - try { - sessionStream.close(); - } catch (Exception e) { - // Ignore otherwise - if (mException == null) { - mException = e; - mErrorCode = InstallerConstants.ERROR_INSTALL_CLOSE_STREAM; - mErrorDesc = "Could not close session stream"; - } - } - } - } - - if (mErrorCode != InstallerConstants.STATUS_SUCCESS) { - // An error occurred, we're done - Log.e(TAG, "Exception while installing " + mPackageName + ": " + mErrorCode + ", " - + mErrorDesc + ", " + mException); - mSession.close(); - mCallback.installFailed(mErrorCode, "[" + mPackageName + "]" + mErrorDesc); - } else { - // 3. Commit the session (this actually installs it.) Session map - // will be cleaned up in the callback. - mCallback.installBeginning(); - mSession.commit(mCommitCallback); - mSession.close(); - } - } - - /** - * {@code PackageInstaller} works with streams. Get the {@code FileDescriptor} - * corresponding to the {@code Asset} and then write the contents into an - * {@code OutputStream} that is passed in. - * <br> - * The {@code FileDescriptor} is closed but the {@code OutputStream} is not closed. - */ - private boolean writeToOutputStreamFromAsset(OutputStream outputStream) { - if (outputStream == null) { - mErrorCode = InstallerConstants.ERROR_INSTALL_COPY_STREAM_EXCEPTION; - mErrorDesc = "Got a null OutputStream."; - return false; - } - - if (mParcelFileDescriptor == null || mParcelFileDescriptor.getFileDescriptor() == null) { - mErrorCode = InstallerConstants.ERROR_COULD_NOT_GET_FD; - mErrorDesc = "Could not get FD"; - return false; - } - - InputStream inputStream = null; - try { - byte[] inputBuf = new byte[DEFAULT_BUFFER_SIZE]; - int bytesRead; - inputStream = new ParcelFileDescriptor.AutoCloseInputStream(mParcelFileDescriptor); - - while ((bytesRead = inputStream.read(inputBuf)) > -1) { - if (bytesRead > 0) { - outputStream.write(inputBuf, 0, bytesRead); - } - } - - outputStream.flush(); - } catch (IOException e) { - mErrorCode = InstallerConstants.ERROR_INSTALL_APK_COPY_FAILURE; - mErrorDesc = "Reading from Asset FD or writing to temp file failed: " + e; - return false; - } finally { - safeClose(inputStream); - } - - return true; - } - - /** - * Quietly close a closeable resource (e.g. a stream or file). The input may already - * be closed and it may even be null. - */ - public static void safeClose(Closeable resource) { - if (resource != null) { - try { - resource.close(); - } catch (IOException ioe) { - // Catch and discard the error - } - } - } -}
\ No newline at end of file diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/wear/InstallerConstants.java b/packages/PackageInstaller/src/com/android/packageinstaller/wear/InstallerConstants.java deleted file mode 100644 index 3daf3d831d97..000000000000 --- a/packages/PackageInstaller/src/com/android/packageinstaller/wear/InstallerConstants.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.packageinstaller.wear; - -/** - * Constants for Installation / Uninstallation requests. - * Using the same values as Finsky/Wearsky code for consistency in user analytics of failures - */ -public class InstallerConstants { - /** Request succeeded */ - public static final int STATUS_SUCCESS = 0; - - /** - * The new PackageInstaller also returns a small set of less granular error codes, which - * we'll remap to the range -500 and below to keep away from existing installer codes - * (which run from -1 to -110). - */ - public final static int ERROR_PACKAGEINSTALLER_BASE = -500; - - public static final int ERROR_COULD_NOT_GET_FD = -603; - /** This node is not targeted by this request. */ - - /** The install did not complete because could not create PackageInstaller session */ - public final static int ERROR_INSTALL_CREATE_SESSION = -612; - /** The install did not complete because could not open PackageInstaller session */ - public final static int ERROR_INSTALL_OPEN_SESSION = -613; - /** The install did not complete because could not open PackageInstaller output stream */ - public final static int ERROR_INSTALL_OPEN_STREAM = -614; - /** The install did not complete because of an exception while streaming bytes */ - public final static int ERROR_INSTALL_COPY_STREAM_EXCEPTION = -615; - /** The install did not complete because of an unexpected exception from PackageInstaller */ - public final static int ERROR_INSTALL_SESSION_EXCEPTION = -616; - /** The install did not complete because of an unexpected userActionRequired callback */ - public final static int ERROR_INSTALL_USER_ACTION_REQUIRED = -617; - /** The install did not complete because of an unexpected broadcast (missing fields) */ - public final static int ERROR_INSTALL_MALFORMED_BROADCAST = -618; - /** The install did not complete because of an error while copying from downloaded file */ - public final static int ERROR_INSTALL_APK_COPY_FAILURE = -619; - /** The install did not complete because of an error while copying to the PackageInstaller - * output stream */ - public final static int ERROR_INSTALL_COPY_STREAM = -620; - /** The install did not complete because of an error while closing the PackageInstaller - * output stream */ - public final static int ERROR_INSTALL_CLOSE_STREAM = -621; -}
\ No newline at end of file diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/wear/PackageInstallerFactory.java b/packages/PackageInstaller/src/com/android/packageinstaller/wear/PackageInstallerFactory.java deleted file mode 100644 index bdc22cf0e276..000000000000 --- a/packages/PackageInstaller/src/com/android/packageinstaller/wear/PackageInstallerFactory.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.packageinstaller.wear; - -import android.content.Context; - -/** - * Factory that creates a Package Installer. - */ -public class PackageInstallerFactory { - private static PackageInstallerImpl sPackageInstaller; - - /** - * Return the PackageInstaller shared object. {@code init} should have already been called. - */ - public synchronized static PackageInstallerImpl getPackageInstaller(Context context) { - if (sPackageInstaller == null) { - sPackageInstaller = new PackageInstallerImpl(context); - } - return sPackageInstaller; - } -}
\ No newline at end of file diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/wear/PackageInstallerImpl.java b/packages/PackageInstaller/src/com/android/packageinstaller/wear/PackageInstallerImpl.java deleted file mode 100644 index 1e37f15f714d..000000000000 --- a/packages/PackageInstaller/src/com/android/packageinstaller/wear/PackageInstallerImpl.java +++ /dev/null @@ -1,327 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.packageinstaller.wear; - -import android.annotation.TargetApi; -import android.app.PendingIntent; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.IntentSender; -import android.content.pm.PackageInstaller; -import android.os.Build; -import android.os.ParcelFileDescriptor; -import android.util.Log; - -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Implementation of package manager installation using modern PackageInstaller api. - * - * Heavily copied from Wearsky/Finsky implementation - */ -@TargetApi(Build.VERSION_CODES.LOLLIPOP) -public class PackageInstallerImpl { - private static final String TAG = "PackageInstallerImpl"; - - /** Intent actions used for broadcasts from PackageInstaller back to the local receiver */ - private static final String ACTION_INSTALL_COMMIT = - "com.android.vending.INTENT_PACKAGE_INSTALL_COMMIT"; - - private final Context mContext; - private final PackageInstaller mPackageInstaller; - private final Map<String, PackageInstaller.SessionInfo> mSessionInfoMap; - private final Map<String, PackageInstaller.Session> mOpenSessionMap; - - public PackageInstallerImpl(Context context) { - mContext = context.getApplicationContext(); - mPackageInstaller = mContext.getPackageManager().getPackageInstaller(); - - // Capture a map of known sessions - // This list will be pruned a bit later (stale sessions will be canceled) - mSessionInfoMap = new HashMap<String, PackageInstaller.SessionInfo>(); - List<PackageInstaller.SessionInfo> mySessions = mPackageInstaller.getMySessions(); - for (int i = 0; i < mySessions.size(); i++) { - PackageInstaller.SessionInfo sessionInfo = mySessions.get(i); - String packageName = sessionInfo.getAppPackageName(); - PackageInstaller.SessionInfo oldInfo = mSessionInfoMap.put(packageName, sessionInfo); - - // Checking for old info is strictly for logging purposes - if (oldInfo != null) { - Log.w(TAG, "Multiple sessions for " + packageName + " found. Removing " + oldInfo - .getSessionId() + " & keeping " + mySessions.get(i).getSessionId()); - } - } - mOpenSessionMap = new HashMap<String, PackageInstaller.Session>(); - } - - /** - * This callback will be made after an installation attempt succeeds or fails. - */ - public interface InstallListener { - /** - * This callback signals that preflight checks have succeeded and installation - * is beginning. - */ - void installBeginning(); - - /** - * This callback signals that installation has completed. - */ - void installSucceeded(); - - /** - * This callback signals that installation has failed. - */ - void installFailed(int errorCode, String errorDesc); - } - - /** - * This is a placeholder implementation that bundles an entire "session" into a single - * call. This will be replaced by more granular versions that allow longer session lifetimes, - * download progress tracking, etc. - * - * This must not be called on main thread. - */ - public void install(final String packageName, ParcelFileDescriptor parcelFileDescriptor, - final InstallListener callback) { - // 0. Generic try/catch block because I am not really sure what exceptions (other than - // IOException) might be thrown by PackageInstaller and I want to handle them - // at least slightly gracefully. - try { - // 1. Create or recover a session, and open it - // Try recovery first - PackageInstaller.Session session = null; - PackageInstaller.SessionInfo sessionInfo = mSessionInfoMap.get(packageName); - if (sessionInfo != null) { - // See if it's openable, or already held open - session = getSession(packageName); - } - // If open failed, or there was no session, create a new one and open it. - // If we cannot create or open here, the failure is terminal. - if (session == null) { - try { - innerCreateSession(packageName); - } catch (IOException ioe) { - Log.e(TAG, "Can't create session for " + packageName + ": " + ioe.getMessage()); - callback.installFailed(InstallerConstants.ERROR_INSTALL_CREATE_SESSION, - "Could not create session"); - mSessionInfoMap.remove(packageName); - return; - } - sessionInfo = mSessionInfoMap.get(packageName); - try { - session = mPackageInstaller.openSession(sessionInfo.getSessionId()); - mOpenSessionMap.put(packageName, session); - } catch (SecurityException se) { - Log.e(TAG, "Can't open session for " + packageName + ": " + se.getMessage()); - callback.installFailed(InstallerConstants.ERROR_INSTALL_OPEN_SESSION, - "Can't open session"); - mSessionInfoMap.remove(packageName); - return; - } - } - - // 2. Launch task to handle file operations. - InstallTask task = new InstallTask( mContext, packageName, parcelFileDescriptor, - callback, session, - getCommitCallback(packageName, sessionInfo.getSessionId(), callback)); - task.execute(); - if (task.isError()) { - cancelSession(sessionInfo.getSessionId(), packageName); - } - } catch (Exception e) { - Log.e(TAG, "Unexpected exception while installing: " + packageName + ": " - + e.getMessage()); - callback.installFailed(InstallerConstants.ERROR_INSTALL_SESSION_EXCEPTION, - "Unexpected exception while installing " + packageName); - } - } - - /** - * Retrieve an existing session. Will open if needed, but does not attempt to create. - */ - private PackageInstaller.Session getSession(String packageName) { - // Check for already-open session - PackageInstaller.Session session = mOpenSessionMap.get(packageName); - if (session != null) { - try { - // Probe the session to ensure that it's still open. This may or may not - // throw (if non-open), but it may serve as a canary for stale sessions. - session.getNames(); - return session; - } catch (IOException ioe) { - Log.e(TAG, "Stale open session for " + packageName + ": " + ioe.getMessage()); - mOpenSessionMap.remove(packageName); - } catch (SecurityException se) { - Log.e(TAG, "Stale open session for " + packageName + ": " + se.getMessage()); - mOpenSessionMap.remove(packageName); - } - } - // Check to see if this is a known session - PackageInstaller.SessionInfo sessionInfo = mSessionInfoMap.get(packageName); - if (sessionInfo == null) { - return null; - } - // Try to open it. If we fail here, assume that the SessionInfo was stale. - try { - session = mPackageInstaller.openSession(sessionInfo.getSessionId()); - } catch (SecurityException se) { - Log.w(TAG, "SessionInfo was stale for " + packageName + " - deleting info"); - mSessionInfoMap.remove(packageName); - return null; - } catch (IOException ioe) { - Log.w(TAG, "IOException opening old session for " + ioe.getMessage() - + " - deleting info"); - mSessionInfoMap.remove(packageName); - return null; - } - mOpenSessionMap.put(packageName, session); - return session; - } - - /** This version throws an IOException when the session cannot be created */ - private void innerCreateSession(String packageName) throws IOException { - if (mSessionInfoMap.containsKey(packageName)) { - Log.w(TAG, "Creating session for " + packageName + " when one already exists"); - return; - } - PackageInstaller.SessionParams params = new PackageInstaller.SessionParams( - PackageInstaller.SessionParams.MODE_FULL_INSTALL); - params.setAppPackageName(packageName); - - // IOException may be thrown at this point - int sessionId = mPackageInstaller.createSession(params); - PackageInstaller.SessionInfo sessionInfo = mPackageInstaller.getSessionInfo(sessionId); - mSessionInfoMap.put(packageName, sessionInfo); - } - - /** - * Cancel a session based on its sessionId. Package name is for logging only. - */ - private void cancelSession(int sessionId, String packageName) { - // Close if currently held open - closeSession(packageName); - // Remove local record - mSessionInfoMap.remove(packageName); - try { - mPackageInstaller.abandonSession(sessionId); - } catch (SecurityException se) { - // The session no longer exists, so we can exit quietly. - return; - } - } - - /** - * Close a session if it happens to be held open. - */ - private void closeSession(String packageName) { - PackageInstaller.Session session = mOpenSessionMap.remove(packageName); - if (session != null) { - // Unfortunately close() is not idempotent. Try our best to make this safe. - try { - session.close(); - } catch (Exception e) { - Log.w(TAG, "Unexpected error closing session for " + packageName + ": " - + e.getMessage()); - } - } - } - - /** - * Creates a commit callback for the package install that's underway. This will be called - * some time after calling session.commit() (above). - */ - private IntentSender getCommitCallback(final String packageName, final int sessionId, - final InstallListener callback) { - // Create a single-use broadcast receiver - BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - mContext.unregisterReceiver(this); - handleCommitCallback(intent, packageName, sessionId, callback); - } - }; - // Create a matching intent-filter and register the receiver - String action = ACTION_INSTALL_COMMIT + "." + packageName; - IntentFilter intentFilter = new IntentFilter(); - intentFilter.addAction(action); - mContext.registerReceiver(broadcastReceiver, intentFilter, - Context.RECEIVER_EXPORTED); - - // Create a matching PendingIntent and use it to generate the IntentSender - Intent broadcastIntent = new Intent(action).setPackage(mContext.getPackageName()); - PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, packageName.hashCode(), - broadcastIntent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_UPDATE_CURRENT - | PendingIntent.FLAG_MUTABLE); - return pendingIntent.getIntentSender(); - } - - /** - * Examine the extras to determine information about the package update/install, decode - * the result, and call the appropriate callback. - * - * @param intent The intent, which the PackageInstaller will have added Extras to - * @param packageName The package name we created the receiver for - * @param sessionId The session Id we created the receiver for - * @param callback The callback to report success/failure to - */ - private void handleCommitCallback(Intent intent, String packageName, int sessionId, - InstallListener callback) { - if (Log.isLoggable(TAG, Log.DEBUG)) { - Log.d(TAG, "Installation of " + packageName + " finished with extras " - + intent.getExtras()); - } - String statusMessage = intent.getStringExtra(PackageInstaller.EXTRA_STATUS_MESSAGE); - int status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS, Integer.MIN_VALUE); - if (status == PackageInstaller.STATUS_SUCCESS) { - cancelSession(sessionId, packageName); - callback.installSucceeded(); - } else if (status == -1 /*PackageInstaller.STATUS_USER_ACTION_REQUIRED*/) { - // TODO - use the constant when the correct/final name is in the SDK - // TODO This is unexpected, so we are treating as failure for now - cancelSession(sessionId, packageName); - callback.installFailed(InstallerConstants.ERROR_INSTALL_USER_ACTION_REQUIRED, - "Unexpected: user action required"); - } else { - cancelSession(sessionId, packageName); - int errorCode = getPackageManagerErrorCode(status); - Log.e(TAG, "Error " + errorCode + " while installing " + packageName + ": " - + statusMessage); - callback.installFailed(errorCode, null); - } - } - - private int getPackageManagerErrorCode(int status) { - // This is a hack: because PackageInstaller now reports error codes - // with small positive values, we need to remap them into a space - // that is more compatible with the existing package manager error codes. - // See https://sites.google.com/a/google.com/universal-store/documentation - // /android-client/download-error-codes - int errorCode; - if (status == Integer.MIN_VALUE) { - errorCode = InstallerConstants.ERROR_INSTALL_MALFORMED_BROADCAST; - } else { - errorCode = InstallerConstants.ERROR_PACKAGEINSTALLER_BASE - status; - } - return errorCode; - } -} diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageArgs.java b/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageArgs.java deleted file mode 100644 index 2c289b2a6f94..000000000000 --- a/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageArgs.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.packageinstaller.wear; - -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; - -/** - * Installation Util that contains a list of parameters that are needed for - * installing/uninstalling. - */ -public class WearPackageArgs { - private static final String KEY_PACKAGE_NAME = - "com.google.android.clockwork.EXTRA_PACKAGE_NAME"; - private static final String KEY_ASSET_URI = - "com.google.android.clockwork.EXTRA_ASSET_URI"; - private static final String KEY_START_ID = - "com.google.android.clockwork.EXTRA_START_ID"; - private static final String KEY_PERM_URI = - "com.google.android.clockwork.EXTRA_PERM_URI"; - private static final String KEY_CHECK_PERMS = - "com.google.android.clockwork.EXTRA_CHECK_PERMS"; - private static final String KEY_SKIP_IF_SAME_VERSION = - "com.google.android.clockwork.EXTRA_SKIP_IF_SAME_VERSION"; - private static final String KEY_COMPRESSION_ALG = - "com.google.android.clockwork.EXTRA_KEY_COMPRESSION_ALG"; - private static final String KEY_COMPANION_SDK_VERSION = - "com.google.android.clockwork.EXTRA_KEY_COMPANION_SDK_VERSION"; - private static final String KEY_COMPANION_DEVICE_VERSION = - "com.google.android.clockwork.EXTRA_KEY_COMPANION_DEVICE_VERSION"; - private static final String KEY_SHOULD_CHECK_GMS_DEPENDENCY = - "com.google.android.clockwork.EXTRA_KEY_SHOULD_CHECK_GMS_DEPENDENCY"; - private static final String KEY_SKIP_IF_LOWER_VERSION = - "com.google.android.clockwork.EXTRA_SKIP_IF_LOWER_VERSION"; - - public static String getPackageName(Bundle b) { - return b.getString(KEY_PACKAGE_NAME); - } - - public static Bundle setPackageName(Bundle b, String packageName) { - b.putString(KEY_PACKAGE_NAME, packageName); - return b; - } - - public static Uri getAssetUri(Bundle b) { - return b.getParcelable(KEY_ASSET_URI); - } - - public static Uri getPermUri(Bundle b) { - return b.getParcelable(KEY_PERM_URI); - } - - public static boolean checkPerms(Bundle b) { - return b.getBoolean(KEY_CHECK_PERMS); - } - - public static boolean skipIfSameVersion(Bundle b) { - return b.getBoolean(KEY_SKIP_IF_SAME_VERSION); - } - - public static int getCompanionSdkVersion(Bundle b) { - return b.getInt(KEY_COMPANION_SDK_VERSION); - } - - public static int getCompanionDeviceVersion(Bundle b) { - return b.getInt(KEY_COMPANION_DEVICE_VERSION); - } - - public static String getCompressionAlg(Bundle b) { - return b.getString(KEY_COMPRESSION_ALG); - } - - public static int getStartId(Bundle b) { - return b.getInt(KEY_START_ID); - } - - public static boolean skipIfLowerVersion(Bundle b) { - return b.getBoolean(KEY_SKIP_IF_LOWER_VERSION, false); - } - - public static Bundle setStartId(Bundle b, int startId) { - b.putInt(KEY_START_ID, startId); - return b; - } -} diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageIconProvider.java b/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageIconProvider.java deleted file mode 100644 index 02b9d298db0e..000000000000 --- a/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageIconProvider.java +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.packageinstaller.wear; - -import android.annotation.TargetApi; -import android.app.ActivityManager; -import android.content.ContentProvider; -import android.content.ContentValues; -import android.content.Context; -import android.content.Intent; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.database.Cursor; -import android.net.Uri; -import android.os.Binder; -import android.os.Build; -import android.os.ParcelFileDescriptor; -import android.util.Log; - -import java.io.File; -import java.io.FileNotFoundException; -import java.util.List; - -import static android.content.pm.PackageManager.PERMISSION_GRANTED; - -public class WearPackageIconProvider extends ContentProvider { - private static final String TAG = "WearPackageIconProvider"; - public static final String AUTHORITY = "com.google.android.packageinstaller.wear.provider"; - - private static final String REQUIRED_PERMISSION = - "com.google.android.permission.INSTALL_WEARABLE_PACKAGES"; - - /** MIME types. */ - public static final String ICON_TYPE = "vnd.android.cursor.item/cw_package_icon"; - - @Override - public boolean onCreate() { - return true; - } - - @Override - public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, - String sortOrder) { - throw new UnsupportedOperationException("Query is not supported."); - } - - @Override - public String getType(Uri uri) { - if (uri == null) { - throw new IllegalArgumentException("URI passed in is null."); - } - - if (AUTHORITY.equals(uri.getEncodedAuthority())) { - return ICON_TYPE; - } - return null; - } - - @Override - public Uri insert(Uri uri, ContentValues values) { - throw new UnsupportedOperationException("Insert is not supported."); - } - - @Override - public int delete(Uri uri, String selection, String[] selectionArgs) { - if (uri == null) { - throw new IllegalArgumentException("URI passed in is null."); - } - - enforcePermissions(uri); - - if (ICON_TYPE.equals(getType(uri))) { - final File file = WearPackageUtil.getIconFile( - this.getContext().getApplicationContext(), getPackageNameFromUri(uri)); - if (file != null) { - file.delete(); - } - } - - return 0; - } - - @Override - public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { - throw new UnsupportedOperationException("Update is not supported."); - } - - @Override - public ParcelFileDescriptor openFile( - Uri uri, @SuppressWarnings("unused") String mode) throws FileNotFoundException { - if (uri == null) { - throw new IllegalArgumentException("URI passed in is null."); - } - - enforcePermissions(uri); - - if (ICON_TYPE.equals(getType(uri))) { - final File file = WearPackageUtil.getIconFile( - this.getContext().getApplicationContext(), getPackageNameFromUri(uri)); - if (file != null) { - return ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY); - } - } - return null; - } - - public static Uri getUriForPackage(final String packageName) { - return Uri.parse("content://" + AUTHORITY + "/icons/" + packageName + ".icon"); - } - - private String getPackageNameFromUri(Uri uri) { - if (uri == null) { - return null; - } - List<String> pathSegments = uri.getPathSegments(); - String packageName = pathSegments.get(pathSegments.size() - 1); - - if (packageName.endsWith(".icon")) { - packageName = packageName.substring(0, packageName.lastIndexOf(".")); - } - return packageName; - } - - /** - * Make sure the calling app is either a system app or the same app or has the right permission. - * @throws SecurityException if the caller has insufficient permissions. - */ - @TargetApi(Build.VERSION_CODES.BASE_1_1) - private void enforcePermissions(Uri uri) { - // Redo some of the permission check in {@link ContentProvider}. Just add an extra check to - // allow System process to access this provider. - Context context = getContext(); - final int pid = Binder.getCallingPid(); - final int uid = Binder.getCallingUid(); - final int myUid = android.os.Process.myUid(); - - if (uid == myUid || isSystemApp(context, pid)) { - return; - } - - if (context.checkPermission(REQUIRED_PERMISSION, pid, uid) == PERMISSION_GRANTED) { - return; - } - - // last chance, check against any uri grants - if (context.checkUriPermission(uri, pid, uid, Intent.FLAG_GRANT_READ_URI_PERMISSION) - == PERMISSION_GRANTED) { - return; - } - - throw new SecurityException("Permission Denial: reading " - + getClass().getName() + " uri " + uri + " from pid=" + pid - + ", uid=" + uid); - } - - /** - * From the pid of the calling process, figure out whether this is a system app or not. We do - * this by checking the application information corresponding to the pid and then checking if - * FLAG_SYSTEM is set. - */ - @TargetApi(Build.VERSION_CODES.CUPCAKE) - private boolean isSystemApp(Context context, int pid) { - // Get the Activity Manager Object - ActivityManager aManager = - (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); - // Get the list of running Applications - List<ActivityManager.RunningAppProcessInfo> rapInfoList = - aManager.getRunningAppProcesses(); - for (ActivityManager.RunningAppProcessInfo rapInfo : rapInfoList) { - if (rapInfo.pid == pid) { - try { - PackageInfo pkgInfo = context.getPackageManager().getPackageInfo( - rapInfo.pkgList[0], 0); - if (pkgInfo != null && pkgInfo.applicationInfo != null && - (pkgInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { - Log.d(TAG, pid + " is a system app."); - return true; - } - } catch (PackageManager.NameNotFoundException e) { - Log.e(TAG, "Could not find package information.", e); - return false; - } - } - } - return false; - } -} diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageInstallerService.java b/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageInstallerService.java deleted file mode 100644 index ae0f4ece1c17..000000000000 --- a/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageInstallerService.java +++ /dev/null @@ -1,621 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.packageinstaller.wear; - -import android.app.Notification; -import android.app.NotificationChannel; -import android.app.NotificationManager; -import android.app.PendingIntent; -import android.app.Service; -import android.content.Context; -import android.content.Intent; -import android.content.pm.ApplicationInfo; -import android.content.pm.FeatureInfo; -import android.content.pm.PackageInfo; -import android.content.pm.PackageInstaller; -import android.content.pm.PackageManager; -import android.content.pm.VersionedPackage; -import android.database.Cursor; -import android.net.Uri; -import android.os.Build; -import android.os.Bundle; -import android.os.Handler; -import android.os.HandlerThread; -import android.os.IBinder; -import android.os.Looper; -import android.os.Message; -import android.os.ParcelFileDescriptor; -import android.os.PowerManager; -import android.os.Process; -import android.util.ArrayMap; -import android.util.Log; -import android.util.Pair; -import androidx.annotation.Nullable; -import com.android.packageinstaller.DeviceUtils; -import com.android.packageinstaller.PackageUtil; -import com.android.packageinstaller.R; -import com.android.packageinstaller.common.EventResultPersister; -import com.android.packageinstaller.common.UninstallEventReceiver; -import java.io.File; -import java.io.FileNotFoundException; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * Service that will install/uninstall packages. It will check for permissions and features as well. - * - * ----------- - * - * Debugging information: - * - * Install Action example: - * adb shell am startservice -a com.android.packageinstaller.wear.INSTALL_PACKAGE \ - * -d package://com.google.android.gms \ - * --eu com.google.android.clockwork.EXTRA_ASSET_URI content://com.google.android.clockwork.home.provider/host/com.google.android.wearable.app/wearable/com.google.android.gms/apk \ - * --es android.intent.extra.INSTALLER_PACKAGE_NAME com.google.android.gms \ - * --ez com.google.android.clockwork.EXTRA_CHECK_PERMS false \ - * --eu com.google.android.clockwork.EXTRA_PERM_URI content://com.google.android.clockwork.home.provider/host/com.google.android.wearable.app/permissions \ - * com.android.packageinstaller/com.android.packageinstaller.wear.WearPackageInstallerService - * - * Uninstall Action example: - * adb shell am startservice -a com.android.packageinstaller.wear.UNINSTALL_PACKAGE \ - * -d package://com.google.android.gms \ - * com.android.packageinstaller/com.android.packageinstaller.wear.WearPackageInstallerService - * - * Retry GMS: - * adb shell am startservice -a com.android.packageinstaller.wear.RETRY_GMS \ - * com.android.packageinstaller/com.android.packageinstaller.wear.WearPackageInstallerService - */ -public class WearPackageInstallerService extends Service - implements EventResultPersister.EventResultObserver { - private static final String TAG = "WearPkgInstallerService"; - - private static final String WEAR_APPS_CHANNEL = "wear_app_install_uninstall"; - private static final String BROADCAST_ACTION = - "com.android.packageinstaller.ACTION_UNINSTALL_COMMIT"; - - private final int START_INSTALL = 1; - private final int START_UNINSTALL = 2; - - private int mInstallNotificationId = 1; - private final Map<String, Integer> mNotifIdMap = new ArrayMap<>(); - private final Map<Integer, UninstallParams> mServiceIdToParams = new HashMap<>(); - - private class UninstallParams { - public String mPackageName; - public PowerManager.WakeLock mLock; - - UninstallParams(String packageName, PowerManager.WakeLock lock) { - mPackageName = packageName; - mLock = lock; - } - } - - private final class ServiceHandler extends Handler { - public ServiceHandler(Looper looper) { - super(looper); - } - - public void handleMessage(Message msg) { - switch (msg.what) { - case START_INSTALL: - installPackage(msg.getData()); - break; - case START_UNINSTALL: - uninstallPackage(msg.getData()); - break; - } - } - } - private ServiceHandler mServiceHandler; - private NotificationChannel mNotificationChannel; - private static volatile PowerManager.WakeLock lockStatic = null; - - @Override - public IBinder onBind(Intent intent) { - return null; - } - - @Override - public void onCreate() { - super.onCreate(); - HandlerThread thread = new HandlerThread("PackageInstallerThread", - Process.THREAD_PRIORITY_BACKGROUND); - thread.start(); - - mServiceHandler = new ServiceHandler(thread.getLooper()); - } - - @Override - public int onStartCommand(Intent intent, int flags, int startId) { - if (!DeviceUtils.isWear(this)) { - Log.w(TAG, "Not running on wearable."); - finishServiceEarly(startId); - return START_NOT_STICKY; - } - - if (intent == null) { - Log.w(TAG, "Got null intent."); - finishServiceEarly(startId); - return START_NOT_STICKY; - } - - if (Log.isLoggable(TAG, Log.DEBUG)) { - Log.d(TAG, "Got install/uninstall request " + intent); - } - - Uri packageUri = intent.getData(); - if (packageUri == null) { - Log.e(TAG, "No package URI in intent"); - finishServiceEarly(startId); - return START_NOT_STICKY; - } - - final String packageName = WearPackageUtil.getSanitizedPackageName(packageUri); - if (packageName == null) { - Log.e(TAG, "Invalid package name in URI (expected package:<pkgName>): " + packageUri); - finishServiceEarly(startId); - return START_NOT_STICKY; - } - - PowerManager.WakeLock lock = getLock(this.getApplicationContext()); - if (!lock.isHeld()) { - lock.acquire(); - } - - Bundle intentBundle = intent.getExtras(); - if (intentBundle == null) { - intentBundle = new Bundle(); - } - WearPackageArgs.setStartId(intentBundle, startId); - WearPackageArgs.setPackageName(intentBundle, packageName); - Message msg; - String notifTitle; - if (Intent.ACTION_INSTALL_PACKAGE.equals(intent.getAction())) { - msg = mServiceHandler.obtainMessage(START_INSTALL); - notifTitle = getString(R.string.installing); - } else if (Intent.ACTION_UNINSTALL_PACKAGE.equals(intent.getAction())) { - msg = mServiceHandler.obtainMessage(START_UNINSTALL); - notifTitle = getString(R.string.uninstalling); - } else { - Log.e(TAG, "Unknown action : " + intent.getAction()); - finishServiceEarly(startId); - return START_NOT_STICKY; - } - Pair<Integer, Notification> notifPair = buildNotification(packageName, notifTitle); - startForeground(notifPair.first, notifPair.second); - msg.setData(intentBundle); - mServiceHandler.sendMessage(msg); - return START_NOT_STICKY; - } - - private void installPackage(Bundle argsBundle) { - int startId = WearPackageArgs.getStartId(argsBundle); - final String packageName = WearPackageArgs.getPackageName(argsBundle); - final Uri assetUri = WearPackageArgs.getAssetUri(argsBundle); - final Uri permUri = WearPackageArgs.getPermUri(argsBundle); - boolean checkPerms = WearPackageArgs.checkPerms(argsBundle); - boolean skipIfSameVersion = WearPackageArgs.skipIfSameVersion(argsBundle); - int companionSdkVersion = WearPackageArgs.getCompanionSdkVersion(argsBundle); - int companionDeviceVersion = WearPackageArgs.getCompanionDeviceVersion(argsBundle); - String compressionAlg = WearPackageArgs.getCompressionAlg(argsBundle); - boolean skipIfLowerVersion = WearPackageArgs.skipIfLowerVersion(argsBundle); - - if (Log.isLoggable(TAG, Log.DEBUG)) { - Log.d(TAG, "Installing package: " + packageName + ", assetUri: " + assetUri + - ",permUri: " + permUri + ", startId: " + startId + ", checkPerms: " + - checkPerms + ", skipIfSameVersion: " + skipIfSameVersion + - ", compressionAlg: " + compressionAlg + ", companionSdkVersion: " + - companionSdkVersion + ", companionDeviceVersion: " + companionDeviceVersion + - ", skipIfLowerVersion: " + skipIfLowerVersion); - } - final PackageManager pm = getPackageManager(); - File tempFile = null; - PowerManager.WakeLock lock = getLock(this.getApplicationContext()); - boolean messageSent = false; - try { - PackageInfo existingPkgInfo = null; - try { - existingPkgInfo = pm.getPackageInfo(packageName, - PackageManager.MATCH_ANY_USER | PackageManager.GET_PERMISSIONS); - if (existingPkgInfo != null) { - if (Log.isLoggable(TAG, Log.DEBUG)) { - Log.d(TAG, "Replacing package:" + packageName); - } - } - } catch (PackageManager.NameNotFoundException e) { - // Ignore this exception. We could not find the package, will treat as a new - // installation. - } - // TODO(28021618): This was left as a temp file due to the fact that this code is being - // deprecated and that we need the bare minimum to continue working moving forward - // If this code is used as reference, this permission logic might want to be - // reworked to use a stream instead of a file so that we don't need to write a - // file at all. Note that there might be some trickiness with opening a stream - // for multiple users. - ParcelFileDescriptor parcelFd = getContentResolver() - .openFileDescriptor(assetUri, "r"); - tempFile = WearPackageUtil.getFileFromFd(WearPackageInstallerService.this, - parcelFd, packageName, compressionAlg); - if (tempFile == null) { - Log.e(TAG, "Could not create a temp file from FD for " + packageName); - return; - } - PackageInfo pkgInfo = PackageUtil.getPackageInfo(this, tempFile, - PackageManager.GET_PERMISSIONS | PackageManager.GET_CONFIGURATIONS); - if (pkgInfo == null) { - Log.e(TAG, "Could not parse apk information for " + packageName); - return; - } - - if (!pkgInfo.packageName.equals(packageName)) { - Log.e(TAG, "Wearable Package Name has to match what is provided for " + - packageName); - return; - } - - ApplicationInfo appInfo = pkgInfo.applicationInfo; - appInfo.sourceDir = tempFile.getPath(); - appInfo.publicSourceDir = tempFile.getPath(); - getLabelAndUpdateNotification(packageName, - getString(R.string.installing_app, appInfo.loadLabel(pm))); - - List<String> wearablePerms = Arrays.asList(pkgInfo.requestedPermissions); - - // Log if the installed pkg has a higher version number. - if (existingPkgInfo != null) { - long longVersionCode = pkgInfo.getLongVersionCode(); - if (existingPkgInfo.getLongVersionCode() == longVersionCode) { - if (skipIfSameVersion) { - Log.w(TAG, "Version number (" + longVersionCode + - ") of new app is equal to existing app for " + packageName + - "; not installing due to versionCheck"); - return; - } else { - Log.w(TAG, "Version number of new app (" + longVersionCode + - ") is equal to existing app for " + packageName); - } - } else if (existingPkgInfo.getLongVersionCode() > longVersionCode) { - if (skipIfLowerVersion) { - // Starting in Feldspar, we are not going to allow downgrades of any app. - Log.w(TAG, "Version number of new app (" + longVersionCode + - ") is lower than existing app ( " - + existingPkgInfo.getLongVersionCode() + - ") for " + packageName + "; not installing due to versionCheck"); - return; - } else { - Log.w(TAG, "Version number of new app (" + longVersionCode + - ") is lower than existing app ( " - + existingPkgInfo.getLongVersionCode() + ") for " + packageName); - } - } - - // Following the Android Phone model, we should only check for permissions for any - // newly defined perms. - if (existingPkgInfo.requestedPermissions != null) { - for (int i = 0; i < existingPkgInfo.requestedPermissions.length; ++i) { - // If the permission is granted, then we will not ask to request it again. - if ((existingPkgInfo.requestedPermissionsFlags[i] & - PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0) { - if (Log.isLoggable(TAG, Log.DEBUG)) { - Log.d(TAG, existingPkgInfo.requestedPermissions[i] + - " is already granted for " + packageName); - } - wearablePerms.remove(existingPkgInfo.requestedPermissions[i]); - } - } - } - } - - // Check that the wearable has all the features. - boolean hasAllFeatures = true; - for (FeatureInfo feature : pkgInfo.reqFeatures) { - if (feature.name != null && !pm.hasSystemFeature(feature.name) && - (feature.flags & FeatureInfo.FLAG_REQUIRED) != 0) { - Log.e(TAG, "Wearable does not have required feature: " + feature + - " for " + packageName); - hasAllFeatures = false; - } - } - - if (!hasAllFeatures) { - return; - } - - // Check permissions on both the new wearable package and also on the already installed - // wearable package. - // If the app is targeting API level 23, we will also start a service in ClockworkHome - // which will ultimately prompt the user to accept/reject permissions. - if (checkPerms && !checkPermissions(pkgInfo, companionSdkVersion, - companionDeviceVersion, permUri, wearablePerms, tempFile)) { - Log.w(TAG, "Wearable does not have enough permissions."); - return; - } - - // Finally install the package. - ParcelFileDescriptor fd = getContentResolver().openFileDescriptor(assetUri, "r"); - PackageInstallerFactory.getPackageInstaller(this).install(packageName, fd, - new PackageInstallListener(this, lock, startId, packageName)); - - messageSent = true; - Log.i(TAG, "Sent installation request for " + packageName); - } catch (FileNotFoundException e) { - Log.e(TAG, "Could not find the file with URI " + assetUri, e); - } finally { - if (!messageSent) { - // Some error happened. If the message has been sent, we can wait for the observer - // which will finish the service. - if (tempFile != null) { - tempFile.delete(); - } - finishService(lock, startId); - } - } - } - - // TODO: This was left using the old PackageManager API due to the fact that this code is being - // deprecated and that we need the bare minimum to continue working moving forward - // If this code is used as reference, this logic should be reworked to use the new - // PackageInstaller APIs similar to how installPackage was reworked - private void uninstallPackage(Bundle argsBundle) { - int startId = WearPackageArgs.getStartId(argsBundle); - final String packageName = WearPackageArgs.getPackageName(argsBundle); - - PowerManager.WakeLock lock = getLock(this.getApplicationContext()); - - UninstallParams params = new UninstallParams(packageName, lock); - mServiceIdToParams.put(startId, params); - - final PackageManager pm = getPackageManager(); - try { - PackageInfo pkgInfo = pm.getPackageInfo(packageName, 0); - getLabelAndUpdateNotification(packageName, - getString(R.string.uninstalling_app, pkgInfo.applicationInfo.loadLabel(pm))); - - int uninstallId = UninstallEventReceiver.addObserver(this, - EventResultPersister.GENERATE_NEW_ID, this); - - Intent broadcastIntent = new Intent(BROADCAST_ACTION); - broadcastIntent.setFlags(Intent.FLAG_RECEIVER_FOREGROUND); - broadcastIntent.putExtra(EventResultPersister.EXTRA_ID, uninstallId); - broadcastIntent.putExtra(EventResultPersister.EXTRA_SERVICE_ID, startId); - broadcastIntent.setPackage(getPackageName()); - - PendingIntent pendingIntent = PendingIntent.getBroadcast(this, uninstallId, - broadcastIntent, PendingIntent.FLAG_UPDATE_CURRENT - | PendingIntent.FLAG_MUTABLE); - - // Found package, send uninstall request. - pm.getPackageInstaller().uninstall( - new VersionedPackage(packageName, PackageManager.VERSION_CODE_HIGHEST), - PackageManager.DELETE_ALL_USERS, - pendingIntent.getIntentSender()); - - Log.i(TAG, "Sent delete request for " + packageName); - } catch (IllegalArgumentException | PackageManager.NameNotFoundException e) { - // Couldn't find the package, no need to call uninstall. - Log.w(TAG, "Could not find package, not deleting " + packageName, e); - finishService(lock, startId); - } catch (EventResultPersister.OutOfIdsException e) { - Log.e(TAG, "Fails to start uninstall", e); - finishService(lock, startId); - } - } - - @Override - public void onResult(int status, int legacyStatus, @Nullable String message, int serviceId) { - if (mServiceIdToParams.containsKey(serviceId)) { - UninstallParams params = mServiceIdToParams.get(serviceId); - try { - if (status == PackageInstaller.STATUS_SUCCESS) { - Log.i(TAG, "Package " + params.mPackageName + " was uninstalled."); - } else { - Log.e(TAG, "Package uninstall failed " + params.mPackageName - + ", returnCode " + legacyStatus); - } - } finally { - finishService(params.mLock, serviceId); - } - } - } - - private boolean checkPermissions(PackageInfo pkgInfo, int companionSdkVersion, - int companionDeviceVersion, Uri permUri, List<String> wearablePermissions, - File apkFile) { - // Assumption: We are running on Android O. - // If the Phone App is targeting M, all permissions may not have been granted to the phone - // app. If the Wear App is then not targeting M, there may be permissions that are not - // granted on the Phone app (by the user) right now and we cannot just grant it for the Wear - // app. - if (pkgInfo.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.M) { - // Install the app if Wear App is ready for the new perms model. - return true; - } - - if (!doesWearHaveUngrantedPerms(pkgInfo.packageName, permUri, wearablePermissions)) { - // All permissions requested by the watch are already granted on the phone, no need - // to do anything. - return true; - } - - // Log an error if Wear is targeting < 23 and phone is targeting >= 23. - if (companionSdkVersion == 0 || companionSdkVersion >= Build.VERSION_CODES.M) { - Log.e(TAG, "MNC: Wear app's targetSdkVersion should be at least 23, if " - + "phone app is targeting at least 23, will continue."); - } - - return false; - } - - /** - * Given a {@string packageName} corresponding to a phone app, query the provider for all the - * perms that are granted. - * - * @return true if the Wear App has any perms that have not been granted yet on the phone side. - * @return true if there is any error cases. - */ - private boolean doesWearHaveUngrantedPerms(String packageName, Uri permUri, - List<String> wearablePermissions) { - if (permUri == null) { - Log.e(TAG, "Permission URI is null"); - // Pretend there is an ungranted permission to avoid installing for error cases. - return true; - } - Cursor permCursor = getContentResolver().query(permUri, null, null, null, null); - if (permCursor == null) { - Log.e(TAG, "Could not get the cursor for the permissions"); - // Pretend there is an ungranted permission to avoid installing for error cases. - return true; - } - - Set<String> grantedPerms = new HashSet<>(); - Set<String> ungrantedPerms = new HashSet<>(); - while(permCursor.moveToNext()) { - // Make sure that the MatrixCursor returned by the ContentProvider has 2 columns and - // verify their types. - if (permCursor.getColumnCount() == 2 - && Cursor.FIELD_TYPE_STRING == permCursor.getType(0) - && Cursor.FIELD_TYPE_INTEGER == permCursor.getType(1)) { - String perm = permCursor.getString(0); - Integer granted = permCursor.getInt(1); - if (granted == 1) { - grantedPerms.add(perm); - } else { - ungrantedPerms.add(perm); - } - } - } - permCursor.close(); - - boolean hasUngrantedPerm = false; - for (String wearablePerm : wearablePermissions) { - if (!grantedPerms.contains(wearablePerm)) { - hasUngrantedPerm = true; - if (!ungrantedPerms.contains(wearablePerm)) { - // This is an error condition. This means that the wearable has permissions that - // are not even declared in its host app. This is a developer error. - Log.e(TAG, "Wearable " + packageName + " has a permission \"" + wearablePerm - + "\" that is not defined in the host application's manifest."); - } else { - Log.w(TAG, "Wearable " + packageName + " has a permission \"" + wearablePerm + - "\" that is not granted in the host application."); - } - } - } - return hasUngrantedPerm; - } - - /** Finishes the service after fulfilling obligation to call startForeground. */ - private void finishServiceEarly(int startId) { - Pair<Integer, Notification> notifPair = buildNotification( - getApplicationContext().getPackageName(), ""); - startForeground(notifPair.first, notifPair.second); - finishService(null, startId); - } - - private void finishService(PowerManager.WakeLock lock, int startId) { - if (lock != null && lock.isHeld()) { - lock.release(); - } - stopSelf(startId); - } - - private synchronized PowerManager.WakeLock getLock(Context context) { - if (lockStatic == null) { - PowerManager mgr = - (PowerManager) context.getSystemService(Context.POWER_SERVICE); - lockStatic = mgr.newWakeLock( - PowerManager.PARTIAL_WAKE_LOCK, context.getClass().getSimpleName()); - lockStatic.setReferenceCounted(true); - } - return lockStatic; - } - - private class PackageInstallListener implements PackageInstallerImpl.InstallListener { - private Context mContext; - private PowerManager.WakeLock mWakeLock; - private int mStartId; - private String mApplicationPackageName; - private PackageInstallListener(Context context, PowerManager.WakeLock wakeLock, - int startId, String applicationPackageName) { - mContext = context; - mWakeLock = wakeLock; - mStartId = startId; - mApplicationPackageName = applicationPackageName; - } - - @Override - public void installBeginning() { - Log.i(TAG, "Package " + mApplicationPackageName + " is being installed."); - } - - @Override - public void installSucceeded() { - try { - Log.i(TAG, "Package " + mApplicationPackageName + " was installed."); - - // Delete tempFile from the file system. - File tempFile = WearPackageUtil.getTemporaryFile(mContext, mApplicationPackageName); - if (tempFile != null) { - tempFile.delete(); - } - } finally { - finishService(mWakeLock, mStartId); - } - } - - @Override - public void installFailed(int errorCode, String errorDesc) { - Log.e(TAG, "Package install failed " + mApplicationPackageName - + ", errorCode " + errorCode); - finishService(mWakeLock, mStartId); - } - } - - private synchronized Pair<Integer, Notification> buildNotification(final String packageName, - final String title) { - int notifId; - if (mNotifIdMap.containsKey(packageName)) { - notifId = mNotifIdMap.get(packageName); - } else { - notifId = mInstallNotificationId++; - mNotifIdMap.put(packageName, notifId); - } - - if (mNotificationChannel == null) { - mNotificationChannel = new NotificationChannel(WEAR_APPS_CHANNEL, - getString(R.string.wear_app_channel), NotificationManager.IMPORTANCE_MIN); - NotificationManager notificationManager = getSystemService(NotificationManager.class); - notificationManager.createNotificationChannel(mNotificationChannel); - } - return new Pair<>(notifId, new Notification.Builder(this, WEAR_APPS_CHANNEL) - .setSmallIcon(R.drawable.ic_file_download) - .setContentTitle(title) - .build()); - } - - private void getLabelAndUpdateNotification(String packageName, String title) { - // Update notification since we have a label now. - NotificationManager notificationManager = getSystemService(NotificationManager.class); - Pair<Integer, Notification> notifPair = buildNotification(packageName, title); - notificationManager.notify(notifPair.first, notifPair.second); - } -} diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageUtil.java b/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageUtil.java deleted file mode 100644 index 6a9145db9a06..000000000000 --- a/packages/PackageInstaller/src/com/android/packageinstaller/wear/WearPackageUtil.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (C) 2015 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License - */ - -package com.android.packageinstaller.wear; - -import android.content.Context; -import android.net.Uri; -import android.os.ParcelFileDescriptor; -import android.system.ErrnoException; -import android.system.Os; -import android.text.TextUtils; -import android.util.Log; - -import org.tukaani.xz.LZMAInputStream; -import org.tukaani.xz.XZInputStream; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; - -public class WearPackageUtil { - private static final String TAG = "WearablePkgInstaller"; - - private static final String COMPRESSION_LZMA = "lzma"; - private static final String COMPRESSION_XZ = "xz"; - - public static File getTemporaryFile(Context context, String packageName) { - try { - File newFileDir = new File(context.getFilesDir(), "tmp"); - newFileDir.mkdirs(); - Os.chmod(newFileDir.getAbsolutePath(), 0771); - File newFile = new File(newFileDir, packageName + ".apk"); - return newFile; - } catch (ErrnoException e) { - Log.e(TAG, "Failed to open.", e); - return null; - } - } - - public static File getIconFile(final Context context, final String packageName) { - try { - File newFileDir = new File(context.getFilesDir(), "images/icons"); - newFileDir.mkdirs(); - Os.chmod(newFileDir.getAbsolutePath(), 0771); - return new File(newFileDir, packageName + ".icon"); - } catch (ErrnoException e) { - Log.e(TAG, "Failed to open.", e); - return null; - } - } - - /** - * In order to make sure that the Wearable Asset Manager has a reasonable apk that can be used - * by the PackageManager, we will parse it before sending it to the PackageManager. - * Unfortunately, ParsingPackageUtils needs a file to parse. So, we have to temporarily convert - * the fd to a File. - * - * @param context - * @param fd FileDescriptor to convert to File - * @param packageName Name of package, will define the name of the file - * @param compressionAlg Can be null. For ALT mode the APK will be compressed. We will - * decompress it here - */ - public static File getFileFromFd(Context context, ParcelFileDescriptor fd, - String packageName, String compressionAlg) { - File newFile = getTemporaryFile(context, packageName); - if (fd == null || fd.getFileDescriptor() == null) { - return null; - } - InputStream fr = new ParcelFileDescriptor.AutoCloseInputStream(fd); - try { - if (TextUtils.equals(compressionAlg, COMPRESSION_XZ)) { - fr = new XZInputStream(fr); - } else if (TextUtils.equals(compressionAlg, COMPRESSION_LZMA)) { - fr = new LZMAInputStream(fr); - } - } catch (IOException e) { - Log.e(TAG, "Compression was set to " + compressionAlg + ", but could not decode ", e); - return null; - } - - int nRead; - byte[] data = new byte[1024]; - try { - final FileOutputStream fo = new FileOutputStream(newFile); - while ((nRead = fr.read(data, 0, data.length)) != -1) { - fo.write(data, 0, nRead); - } - fo.flush(); - fo.close(); - Os.chmod(newFile.getAbsolutePath(), 0644); - return newFile; - } catch (IOException e) { - Log.e(TAG, "Reading from Asset FD or writing to temp file failed ", e); - return null; - } catch (ErrnoException e) { - Log.e(TAG, "Could not set permissions on file ", e); - return null; - } finally { - try { - fr.close(); - } catch (IOException e) { - Log.e(TAG, "Failed to close the file from FD ", e); - } - } - } - - /** - * @return com.google.com from expected formats like - * Uri: package:com.google.com, package:/com.google.com, package://com.google.com - */ - public static String getSanitizedPackageName(Uri packageUri) { - String packageName = packageUri.getEncodedSchemeSpecificPart(); - if (packageName != null) { - return packageName.replaceAll("^/+", ""); - } - return packageName; - } -} diff --git a/packages/SettingsLib/ActionButtonsPreference/Android.bp b/packages/SettingsLib/ActionButtonsPreference/Android.bp index c36b82d175e2..71ecb4c30543 100644 --- a/packages/SettingsLib/ActionButtonsPreference/Android.bp +++ b/packages/SettingsLib/ActionButtonsPreference/Android.bp @@ -19,7 +19,6 @@ android_library { static_libs: [ "androidx.preference_preference", - "SettingsLibUtils", ], sdk_version: "system_current", diff --git a/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java b/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java index 3e65d94e3323..5dc11cfc0392 100644 --- a/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java +++ b/packages/SettingsLib/ActionButtonsPreference/src/com/android/settingslib/widget/ActionButtonsPreference.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; +import android.os.Build; import android.text.TextUtils; import android.util.AttributeSet; import android.util.Log; @@ -31,12 +32,11 @@ import androidx.annotation.StringRes; import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; -import com.android.settingslib.utils.BuildCompatUtils; +import com.android.settingslib.widget.preference.actionbuttons.R; + import java.util.ArrayList; import java.util.List; -import com.android.settingslib.widget.preference.actionbuttons.R; - /** * This preference provides a four buttons layout with Settings style. * It looks like below @@ -56,7 +56,7 @@ import com.android.settingslib.widget.preference.actionbuttons.R; public class ActionButtonsPreference extends Preference { private static final String TAG = "ActionButtonPreference"; - private static final boolean mIsAtLeastS = BuildCompatUtils.isAtLeastS(); + private static final boolean mIsAtLeastS = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S; private static final int SINGLE_BUTTON_STYLE = 1; private static final int TWO_BUTTONS_STYLE = 2; private static final int THREE_BUTTONS_STYLE = 3; diff --git a/packages/SettingsLib/ActivityEmbedding/Android.bp b/packages/SettingsLib/ActivityEmbedding/Android.bp index 838a9e505ece..556100212445 100644 --- a/packages/SettingsLib/ActivityEmbedding/Android.bp +++ b/packages/SettingsLib/ActivityEmbedding/Android.bp @@ -20,7 +20,6 @@ android_library { "androidx.annotation_annotation", "androidx.core_core", "androidx.window_window", - "SettingsLibUtils", ], sdk_version: "system_current", min_sdk_version: "21", diff --git a/packages/SettingsLib/ActivityEmbedding/src/com/android/settingslib/activityembedding/ActivityEmbeddingUtils.java b/packages/SettingsLib/ActivityEmbedding/src/com/android/settingslib/activityembedding/ActivityEmbeddingUtils.java index f89be9fba583..67aa8f41e227 100644 --- a/packages/SettingsLib/ActivityEmbedding/src/com/android/settingslib/activityembedding/ActivityEmbeddingUtils.java +++ b/packages/SettingsLib/ActivityEmbedding/src/com/android/settingslib/activityembedding/ActivityEmbeddingUtils.java @@ -20,13 +20,11 @@ import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.os.Build; import android.util.Log; -import androidx.core.os.BuildCompat; import androidx.window.embedding.ActivityEmbeddingController; -import com.android.settingslib.utils.BuildCompatUtils; - /** * An util class collecting all common methods for the embedding activity features. */ @@ -70,7 +68,7 @@ public final class ActivityEmbeddingUtils { * enabled (unsupported devices). */ private static ComponentName getEmbeddingActivityComponent(Context context) { - if (!BuildCompatUtils.isAtLeastSV2()) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S_V2) { return null; } final Intent intent = new Intent(ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY); @@ -95,7 +93,7 @@ public final class ActivityEmbeddingUtils { * Settings app */ public static boolean shouldHideNavigateUpButton(Activity activity, boolean isSecondLayerPage) { - if (!BuildCompat.isAtLeastT()) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { return false; } diff --git a/packages/SettingsLib/Android.bp b/packages/SettingsLib/Android.bp index d6cbf2a0f581..0cb85d8638b0 100644 --- a/packages/SettingsLib/Android.bp +++ b/packages/SettingsLib/Android.bp @@ -64,6 +64,7 @@ android_library { srcs: [ "src/**/*.java", "src/**/*.kt", + "src/**/I*.aidl", ], } diff --git a/packages/SettingsLib/BannerMessagePreference/Android.bp b/packages/SettingsLib/BannerMessagePreference/Android.bp index 07290de8661e..3f671b9e7b10 100644 --- a/packages/SettingsLib/BannerMessagePreference/Android.bp +++ b/packages/SettingsLib/BannerMessagePreference/Android.bp @@ -20,7 +20,6 @@ android_library { static_libs: [ "androidx.preference_preference", "SettingsLibSettingsTheme", - "SettingsLibUtils", ], sdk_version: "system_current", diff --git a/packages/SettingsLib/BannerMessagePreference/src/com/android/settingslib/widget/BannerMessagePreference.java b/packages/SettingsLib/BannerMessagePreference/src/com/android/settingslib/widget/BannerMessagePreference.java index 33775a64aa82..6cd777e878fe 100644 --- a/packages/SettingsLib/BannerMessagePreference/src/com/android/settingslib/widget/BannerMessagePreference.java +++ b/packages/SettingsLib/BannerMessagePreference/src/com/android/settingslib/widget/BannerMessagePreference.java @@ -38,7 +38,6 @@ import androidx.annotation.StringRes; import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; -import com.android.settingslib.utils.BuildCompatUtils; import com.android.settingslib.widget.preference.banner.R; /** * Banner message is a banner displaying important information (permission request, page error etc), @@ -84,7 +83,7 @@ public class BannerMessagePreference extends Preference { } private static final String TAG = "BannerPreference"; - private static final boolean IS_AT_LEAST_S = BuildCompatUtils.isAtLeastS(); + private static final boolean IS_AT_LEAST_S = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S; private final BannerMessagePreference.ButtonInfo mPositiveButtonInfo = new BannerMessagePreference.ButtonInfo(); diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp b/packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp index 87ec0b8d46fb..483403971864 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp @@ -22,7 +22,6 @@ android_library { "androidx.core_core", "com.google.android.material_material", "SettingsLibSettingsTransition", - "SettingsLibUtils", "SettingsLibSettingsTheme", ], sdk_version: "system_current", diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/BasePreferencesFragment.java b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/BasePreferencesFragment.java index 8ebbac39d1d0..b252e5f021ae 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/BasePreferencesFragment.java +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/BasePreferencesFragment.java @@ -16,11 +16,11 @@ package com.android.settingslib.collapsingtoolbar; +import android.os.Build; + import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceFragmentCompat; -import com.android.settingslib.utils.BuildCompatUtils; - import com.google.android.material.appbar.AppBarLayout; /** @@ -58,7 +58,7 @@ public abstract class BasePreferencesFragment extends PreferenceFragmentCompat { if (activity != null) { activity.setTitle(getTitle()); - if (BuildCompatUtils.isAtLeastS()) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { AppBarLayout appBarLayout = (AppBarLayout) activity.findViewById(R.id.app_bar); if (appBarLayout != null) { diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarAppCompatActivity.java b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarAppCompatActivity.java index 04c44e6d11be..8b27626a08e4 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarAppCompatActivity.java +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarAppCompatActivity.java @@ -17,6 +17,7 @@ package com.android.settingslib.collapsingtoolbar; import android.app.ActionBar; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -26,8 +27,6 @@ import android.widget.Toolbar; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; -import com.android.settingslib.utils.BuildCompatUtils; - import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.appbar.CollapsingToolbarLayout; import com.google.android.material.color.DynamicColors; @@ -66,12 +65,12 @@ public class CollapsingToolbarAppCompatActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if (BuildCompatUtils.isAtLeastS()) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { DynamicColors.applyToActivityIfAvailable(this); } setTheme(com.android.settingslib.widget.theme.R.style.Theme_SubSettingsBase); - if (mCustomizeLayoutResId > 0 && !BuildCompatUtils.isAtLeastS()) { + if (mCustomizeLayoutResId > 0 && Build.VERSION.SDK_INT < Build.VERSION_CODES.S) { super.setContentView(mCustomizeLayoutResId); return; } diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java index 143101f76977..86ce2ab6109f 100644 --- a/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java +++ b/packages/SettingsLib/CollapsingToolbarBaseActivity/src/com/android/settingslib/collapsingtoolbar/CollapsingToolbarBaseActivity.java @@ -18,6 +18,7 @@ package com.android.settingslib.collapsingtoolbar; import android.app.ActionBar; import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -27,8 +28,6 @@ import android.widget.Toolbar; import androidx.annotation.Nullable; import androidx.fragment.app.FragmentActivity; -import com.android.settingslib.utils.BuildCompatUtils; - import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.appbar.CollapsingToolbarLayout; @@ -60,7 +59,8 @@ public class CollapsingToolbarBaseActivity extends FragmentActivity { protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); // for backward compatibility on R devices or wearable devices due to small device size. - if (mCustomizeLayoutResId > 0 && (!BuildCompatUtils.isAtLeastS() || isWatch())) { + if (mCustomizeLayoutResId > 0 && (Build.VERSION.SDK_INT < Build.VERSION_CODES.S + || isWatch())) { super.setContentView(mCustomizeLayoutResId); return; } diff --git a/packages/SettingsLib/ProfileSelector/src/com/android/settingslib/widget/ProfileSelectFragment.java b/packages/SettingsLib/ProfileSelector/src/com/android/settingslib/widget/ProfileSelectFragment.java index c52386bef07b..7be448207efe 100644 --- a/packages/SettingsLib/ProfileSelector/src/com/android/settingslib/widget/ProfileSelectFragment.java +++ b/packages/SettingsLib/ProfileSelector/src/com/android/settingslib/widget/ProfileSelectFragment.java @@ -30,7 +30,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import androidx.core.os.BuildCompat; import androidx.fragment.app.Fragment; import androidx.viewpager2.widget.ViewPager2; @@ -226,7 +225,8 @@ public abstract class ProfileSelectFragment extends Fragment { // to be here only for this API level - when then private profile was introduced. @TargetApi(Build.VERSION_CODES.VANILLA_ICE_CREAM) private boolean shouldShowPrivateProfileIfItsOne(UserHandle userHandle) { - if (!BuildCompat.isAtLeastV() || !android.os.Flags.allowPrivateProfile()) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.VANILLA_ICE_CREAM + || !android.os.Flags.allowPrivateProfile()) { return false; } try { diff --git a/packages/SettingsLib/Utils/src/com/android/settingslib/utils/BuildCompatUtils.java b/packages/SettingsLib/Utils/src/com/android/settingslib/utils/BuildCompatUtils.java deleted file mode 100644 index bf3651b2cdad..000000000000 --- a/packages/SettingsLib/Utils/src/com/android/settingslib/utils/BuildCompatUtils.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settingslib.utils; - -import android.os.Build; - -import androidx.annotation.ChecksSdkIntAtLeast; - -/** - * An util class to check whether the current OS version is higher or equal to sdk version of - * device. - */ -public final class BuildCompatUtils { - - /** - * Implementation of BuildCompat.isAtLeastS() suitable for use in Settings - * - * @return Whether the current OS version is higher or equal to S. - */ - @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.S) - public static boolean isAtLeastS() { - return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S; - } - - /** - * Implementation of BuildCompat.isAtLeastS() suitable for use in Settings - * - * @return Whether the current OS version is higher or equal to Sv2. - */ - @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.S_V2) - public static boolean isAtLeastSV2() { - return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S_V2; - } - - /** - * Implementation of BuildCompat.isAtLeastT() suitable for use in Settings - * - * @return Whether the current OS version is higher or equal to T. - */ - @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.TIRAMISU) - public static boolean isAtLeastT() { - return Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU; - } - - private BuildCompatUtils() {} -} diff --git a/packages/SettingsLib/aconfig/settingslib.aconfig b/packages/SettingsLib/aconfig/settingslib.aconfig index 8666584e0972..38c871c698c9 100644 --- a/packages/SettingsLib/aconfig/settingslib.aconfig +++ b/packages/SettingsLib/aconfig/settingslib.aconfig @@ -92,3 +92,13 @@ flag { purpose: PURPOSE_BUGFIX } } + +flag { + name: "volume_dialog_audio_sharing_fix" + namespace: "cross_device_experiences" + description: "Gates whether to show separate volume bars during audio sharing" + bug: "336716411" + metadata { + purpose: PURPOSE_BUGFIX + } +} diff --git a/packages/SettingsLib/res/layout/zen_mode_turn_on_dialog_container.xml b/packages/SettingsLib/res/layout/zen_mode_turn_on_dialog_container.xml index bc330c7356b5..5cf365bd90a7 100644 --- a/packages/SettingsLib/res/layout/zen_mode_turn_on_dialog_container.xml +++ b/packages/SettingsLib/res/layout/zen_mode_turn_on_dialog_container.xml @@ -28,7 +28,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - <com.android.settingslib.notification.ZenRadioLayout + <com.android.settingslib.notification.modes.ZenRadioLayout android:id="@+id/zen_conditions" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -46,7 +46,7 @@ android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"/> - </com.android.settingslib.notification.ZenRadioLayout> + </com.android.settingslib.notification.modes.ZenRadioLayout> <TextView android:id="@+id/zen_alarm_warning" diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java index 734b92c7ac6e..6ca9279de8c6 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java @@ -38,8 +38,6 @@ import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; -import com.android.settingslib.utils.BuildCompatUtils; - /** * Helper class for managing settings preferences that can be disabled * by device admins via user restrictions. @@ -120,9 +118,10 @@ public class RestrictedPreferenceHelper { if (mDisabledSummary) { final TextView summaryView = (TextView) holder.findViewById(android.R.id.summary); if (summaryView != null) { - final CharSequence disabledText = BuildCompatUtils.isAtLeastT() - ? getDisabledByAdminUpdatableString() - : mContext.getString(R.string.disabled_by_admin_summary_text); + final CharSequence disabledText = + (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) + ? getDisabledByAdminUpdatableString() + : mContext.getString(R.string.disabled_by_admin_summary_text); if (mDisabledByAdmin) { summaryView.setText(disabledText); } else if (mDisabledByEcm) { diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java index 45754eb8f16d..fffbb547c662 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java @@ -25,6 +25,7 @@ import android.app.AppOpsManager; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.content.res.TypedArray; +import android.os.Build; import android.os.Process; import android.os.UserHandle; import android.util.AttributeSet; @@ -40,8 +41,6 @@ import androidx.preference.PreferenceManager; import androidx.preference.PreferenceViewHolder; import androidx.preference.SwitchPreferenceCompat; -import com.android.settingslib.utils.BuildCompatUtils; - /** * Version of SwitchPreferenceCompat that can be disabled by a device admin * using a user restriction. @@ -164,7 +163,7 @@ public class RestrictedSwitchPreference extends SwitchPreferenceCompat { private static String getUpdatableEnterpriseString( Context context, String updatableStringId, int resId) { - if (!BuildCompatUtils.isAtLeastT()) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { return context.getString(resId); } return context.getSystemService(DevicePolicyManager.class).getResources().getString( diff --git a/packages/SettingsLib/src/com/android/settingslib/Utils.java b/packages/SettingsLib/src/com/android/settingslib/Utils.java index c2506d353d14..b02b0c454644 100644 --- a/packages/SettingsLib/src/com/android/settingslib/Utils.java +++ b/packages/SettingsLib/src/com/android/settingslib/Utils.java @@ -66,7 +66,6 @@ import com.android.launcher3.util.UserIconInfo; import com.android.settingslib.drawable.UserIconDrawable; import com.android.settingslib.fuelgauge.BatteryStatus; import com.android.settingslib.fuelgauge.BatteryUtils; -import com.android.settingslib.utils.BuildCompatUtils; import java.util.List; @@ -147,7 +146,7 @@ public class Utils { String name = info != null ? info.name : null; if (info.isManagedProfile()) { // We use predefined values for managed profiles - return BuildCompatUtils.isAtLeastT() + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU ? getUpdatableManagedUserTitle(context) : context.getString(R.string.managed_user_title); } else if (info.isGuest()) { diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreference.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreference.java new file mode 100644 index 000000000000..1cbb8b4faaa8 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreference.java @@ -0,0 +1,326 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import android.content.Intent; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import java.util.Objects; + +/** + * A data class representing an action/switch preference. The preference could be one of the four + * following forms: 1. Texted row with action to jump to another page 2. Texted row without action + * 3. Texted row with action and switch 4. Texted row with switch + */ +public class ActionSwitchPreference extends DeviceSettingPreference implements Parcelable { + private final String mTitle; + private final String mSummary; + private final Bitmap mIcon; + private final Intent mIntent; + private final boolean mHasSwitch; + private final boolean mChecked; + private final boolean mIsAllowedChangingState; + private final Bundle mExtras; + + ActionSwitchPreference( + String title, + @Nullable String summary, + @Nullable Bitmap icon, + @Nullable Intent intent, + boolean hasSwitch, + boolean checked, + boolean allowChangingState, + @NonNull Bundle extras) { + super(DeviceSettingType.DEVICE_SETTING_TYPE_ACTION_SWITCH); + validate(title); + mTitle = title; + mSummary = summary; + mIcon = icon; + mIntent = intent; + mHasSwitch = hasSwitch; + mChecked = checked; + mIsAllowedChangingState = allowChangingState; + mExtras = extras; + } + + private static void validate(String title) { + if (Objects.isNull(title)) { + throw new IllegalArgumentException("Title must be set"); + } + } + + /** + * Reads an {@link ActionSwitchPreference} instance from {@link Parcel} + * @param in The parcel to read from + * @return The instance read + */ + @NonNull + public static ActionSwitchPreference readFromParcel(@NonNull Parcel in) { + String title = in.readString(); + String summary = in.readString(); + Bitmap icon = in.readParcelable(Bitmap.class.getClassLoader()); + Intent intent = in.readParcelable(Intent.class.getClassLoader()); + boolean hasSwitch = in.readBoolean(); + boolean checked = in.readBoolean(); + boolean allowChangingState = in.readBoolean(); + Bundle extras = in.readBundle(Bundle.class.getClassLoader()); + return new ActionSwitchPreference( + title, summary, icon, intent, hasSwitch, checked, allowChangingState, extras); + } + + public static final Creator<ActionSwitchPreference> CREATOR = + new Creator<>() { + @Override + @NonNull + public ActionSwitchPreference createFromParcel(@NonNull Parcel in) { + in.readInt(); + return readFromParcel(in); + } + + @Override + @NonNull + public ActionSwitchPreference[] newArray(int size) { + return new ActionSwitchPreference[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + super.writeToParcel(dest, flags); + dest.writeString(mTitle); + dest.writeString(mSummary); + dest.writeParcelable(mIcon, flags); + dest.writeParcelable(mIntent, flags); + dest.writeBoolean(mHasSwitch); + dest.writeBoolean(mChecked); + dest.writeBoolean(mIsAllowedChangingState); + dest.writeBundle(mExtras); + } + + /** Builder class for {@link ActionSwitchPreference}. */ + public static final class Builder { + private String mTitle; + private String mSummary; + private Bitmap mIcon; + private Intent mIntent; + private boolean mHasSwitch; + private boolean mChecked; + private boolean mIsAllowedChangingState; + private Bundle mExtras = Bundle.EMPTY; + + /** + * Sets the title of the preference. + * + * @param title The title of the preference. + * @return Returns the Builder object. + */ + @NonNull + public Builder setTitle(@NonNull String title) { + mTitle = title; + return this; + } + + /** + * Sets the summary of the preference, optional. + * + * @param summary The preference summary. + * @return Returns the Builder object. + */ + @NonNull + public Builder setSummary(@Nullable String summary) { + mSummary = summary; + return this; + } + + /** + * Sets the icon to be displayed on the left of the preference, optional. + * + * @param icon The icon. + * @return Returns the Builder object. + */ + @NonNull + public Builder setIcon(@Nullable Bitmap icon) { + mIcon = icon; + return this; + } + + /** + * Sets the Intent to launch when the preference is clicked, optional. + * + * @param intent The Intent. + * @return Returns the Builder object. + */ + @NonNull + public Builder setIntent(@Nullable Intent intent) { + mIntent = intent; + return this; + } + + /** + * Sets whether the preference will contain a switch. + * + * @param hasSwitch Whether the preference contains a switch. + * @return Returns the Builder object. + */ + @NonNull + public Builder setHasSwitch(boolean hasSwitch) { + mHasSwitch = hasSwitch; + return this; + } + + /** + * Sets the state of the preference. + * + * @param checked Whether the switch is checked. + * @return Returns the Builder object. + */ + @NonNull + public Builder setChecked(boolean checked) { + mChecked = checked; + return this; + } + + /** + * Sets whether state can be changed by user. + * + * @param allowChangingState Whether user is allowed to change state. + * @return Returns the Builder object. + */ + @NonNull + public Builder setAllowedChangingState(boolean allowChangingState) { + mIsAllowedChangingState = allowChangingState; + return this; + } + + /** + * Sets the extras bundle. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setExtras(@NonNull Bundle extras) { + mExtras = extras; + return this; + } + + /** + * Builds the {@link ActionSwitchPreference} object. + * + * @return Returns the built {@link ActionSwitchPreference} object. + */ + @NonNull + public ActionSwitchPreference build() { + return new ActionSwitchPreference( + mTitle, + mSummary, + mIcon, + mIntent, + mHasSwitch, + mChecked, + mIsAllowedChangingState, + mExtras); + } + } + + /** + * Gets the title of the preference. + * + * @return Returns the title of the preference. + */ + @NonNull + public String getTitle() { + return mTitle; + } + + /** + * Gets the summary of the preference. + * + * @return Returns the summary of the preference. + */ + @Nullable + public String getSummary() { + return mSummary; + } + + /** + * Gets the icon of the preference. + * + * @return Returns the icon of the preference. + */ + @Nullable + public Bitmap getIcon() { + return mIcon; + } + + /** + * Gets the Intent to launch when the preference is clicked. + * + * @return Returns the intent to launch. + */ + @Nullable + public Intent getIntent() { + return mIntent; + } + + /** + * Whether the preference contains a switch. + * + * @return Whether the preference contains a switch. + */ + public boolean hasSwitch() { + return mHasSwitch; + } + + /** + * Whether the switch is checked. + * + * @return Whether the switch is checked. + */ + public boolean getChecked() { + return mChecked; + } + + /** + * Gets whether the state can be changed by user. + * + * @return Whether the state can be changed by user. + */ + public boolean isAllowedChangingState() { + return mIsAllowedChangingState; + } + + /** + * Gets the extras bundle. + * + * @return The extra bundle. + */ + @NonNull + public Bundle getExtras() { + return mExtras; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreferenceState.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreferenceState.java new file mode 100644 index 000000000000..91c1a59fa6f2 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreferenceState.java @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; + +import androidx.annotation.NonNull; + +/** A data class representing the state of an action/switch preference. */ +public class ActionSwitchPreferenceState extends DeviceSettingPreferenceState + implements Parcelable { + private final boolean mChecked; + private final Bundle mExtras; + + ActionSwitchPreferenceState(boolean checked, @NonNull Bundle extras) { + super(DeviceSettingType.DEVICE_SETTING_TYPE_ACTION_SWITCH); + mChecked = checked; + mExtras = extras; + } + + /** + * Reads an {@link ActionSwitchPreferenceState} instance from {@link Parcel} + * @param in The parcel to read from + * @return The instance read + */ + @NonNull + public static ActionSwitchPreferenceState readFromParcel(@NonNull Parcel in) { + boolean checked = in.readBoolean(); + Bundle extras = in.readBundle(Bundle.class.getClassLoader()); + return new ActionSwitchPreferenceState(checked, extras); + } + + public static final Creator<ActionSwitchPreferenceState> CREATOR = + new Creator<>() { + @Override + @NonNull + public ActionSwitchPreferenceState createFromParcel(@NonNull Parcel in) { + in.readInt(); + return readFromParcel(in); + } + + @Override + @NonNull + public ActionSwitchPreferenceState[] newArray(int size) { + return new ActionSwitchPreferenceState[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + super.writeToParcel(dest, flags); + dest.writeBoolean(mChecked); + dest.writeBundle(mExtras); + } + + /** Builder class for {@link ActionSwitchPreferenceState}. */ + public static final class Builder { + private boolean mChecked; + private Bundle mExtras = Bundle.EMPTY; + + public Builder() {} + + /** + * Sets the state of the preference. + * + * @param checked Whether the switch is checked. + * @return Returns the Builder object. + */ + @NonNull + public Builder setChecked(boolean checked) { + mChecked = checked; + return this; + } + + /** + * Sets the extras bundle. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setExtras(@NonNull Bundle extras) { + mExtras = extras; + return this; + } + + /** + * Builds the object. + * + * @return Returns the built object. + */ + @NonNull + public ActionSwitchPreferenceState build() { + return new ActionSwitchPreferenceState(mChecked, mExtras); + } + } + + /** + * Whether the switch is checked. + * + * @return Whether the switch is checked. + */ + public boolean getChecked() { + return mChecked; + } + + /** + * Gets the extras bundle. + * + * @return The extra bundle. + */ + @NonNull + public Bundle getExtras() { + return mExtras; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceInfo.aidl b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceInfo.aidl new file mode 100644 index 000000000000..acbaf2df1d2c --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceInfo.aidl @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +parcelable DeviceInfo;
\ No newline at end of file diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceInfo.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceInfo.java new file mode 100644 index 000000000000..52e520ea8835 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceInfo.java @@ -0,0 +1,137 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; + +import androidx.annotation.NonNull; + +import java.util.Objects; + +/** A data class representing a bluetooth device. */ +public class DeviceInfo implements Parcelable { + private final String mBluetoothAddress; + private final Bundle mExtras; + + DeviceInfo(String bluetoothAddress, Bundle extras) { + validate(bluetoothAddress); + mBluetoothAddress = bluetoothAddress; + mExtras = extras; + } + + private static void validate(String bluetoothAddress) { + if (Objects.isNull(bluetoothAddress)) { + throw new IllegalArgumentException("Bluetooth address must be set"); + } + } + + /** Read a {@link DeviceInfo} instance from {@link Parcel} */ + @NonNull + public static DeviceInfo readFromParcel(@NonNull Parcel in) { + String bluetoothAddress = in.readString(); + Bundle extras = in.readBundle(Bundle.class.getClassLoader()); + return new DeviceInfo(bluetoothAddress, extras); + } + + public static final Creator<DeviceInfo> CREATOR = + new Creator<>() { + @Override + @NonNull + public DeviceInfo createFromParcel(@NonNull Parcel in) { + return readFromParcel(in); + } + + @Override + @NonNull + public DeviceInfo[] newArray(int size) { + return new DeviceInfo[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + dest.writeString(mBluetoothAddress); + dest.writeBundle(mExtras); + } + + /** Builder class for {@link DeviceInfo}. */ + public static final class Builder { + private String mBluetoothAddress; + private Bundle mExtras = Bundle.EMPTY; + + /** + * Sets the bluetooth address of the device, from {@link + * android.bluetooth.BluetoothDevice#getAddress()}. + * + * @param bluetoothAddress The bluetooth address. + * @return Returns the Builder object. + */ + @NonNull + public Builder setBluetoothAddress(@NonNull String bluetoothAddress) { + mBluetoothAddress = bluetoothAddress; + return this; + } + + /** + * Sets the extras bundle. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setExtras(@NonNull Bundle extras) { + mExtras = extras; + return this; + } + + /** + * Builds the {@link DeviceInfo} object. + * + * @return Returns the built {@link DeviceInfo} object. + */ + @NonNull + public DeviceInfo build() { + return new DeviceInfo(mBluetoothAddress, mExtras); + } + } + + /** + * Gets the bluetooth address of the device. + * + * @return The bluetooth address from {@link android.bluetooth.BluetoothDevice#getAddress()}. + */ + @NonNull + public String getBluetoothAddress() { + return mBluetoothAddress; + } + + /** + * Gets the extras bundle. + * + * @return The extra bundle. + */ + @NonNull + public Bundle getExtras() { + return mExtras; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSetting.aidl b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSetting.aidl new file mode 100644 index 000000000000..043cae3a576a --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSetting.aidl @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +parcelable DeviceSetting;
\ No newline at end of file diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSetting.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSetting.java new file mode 100644 index 000000000000..dc219a9dfcf4 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSetting.java @@ -0,0 +1,160 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; + +import androidx.annotation.NonNull; + +import java.util.Objects; + +/** A data class representing a device setting item in bluetooth device details page. */ +public final class DeviceSetting implements Parcelable { + @DeviceSettingId private final int mSettingId; + private final DeviceSettingPreference mPreference; + private final Bundle mExtras; + + DeviceSetting( + int settingId, @NonNull DeviceSettingPreference preference, @NonNull Bundle extras) { + validate(preference); + mSettingId = settingId; + mPreference = preference; + mExtras = extras; + } + + private static void validate(DeviceSettingPreference preference) { + if (Objects.isNull(preference)) { + throw new IllegalArgumentException("Preference must be set"); + } + } + + /** Read a {@link DeviceSetting} instance from {@link Parcel} */ + @NonNull + public static DeviceSetting readFromParcel(@NonNull Parcel in) { + int settingId = in.readInt(); + Bundle extras = in.readBundle(Bundle.class.getClassLoader()); + DeviceSettingPreference settingPreference = DeviceSettingPreference.readFromParcel(in); + return new DeviceSetting(settingId, settingPreference, extras); + } + + public static final Creator<DeviceSetting> CREATOR = + new Creator<>() { + @Override + @NonNull + public DeviceSetting createFromParcel(@NonNull Parcel in) { + return readFromParcel(in); + } + + @Override + @NonNull + public DeviceSetting[] newArray(int size) { + return new DeviceSetting[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + dest.writeInt(mSettingId); + dest.writeBundle(mExtras); + mPreference.writeToParcel(dest, flags); + } + + /** Builder class for {@link DeviceSetting}. */ + public static final class Builder { + private int mSettingId; + private DeviceSettingPreference mPreference; + private Bundle mExtras = Bundle.EMPTY; + + public Builder() {} + + /** + * Sets the setting ID, as defined by IntDef {@link DeviceSettingId}. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setSettingId(@DeviceSettingId int settingId) { + mSettingId = settingId; + return this; + } + + /** + * Sets the setting preference. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setPreference(@NonNull DeviceSettingPreference settingPreference) { + mPreference = settingPreference; + return this; + } + + /** + * Sets the extras bundle. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setExtras(@NonNull Bundle extras) { + mExtras = extras; + return this; + } + + /** Build the object. */ + @NonNull + public DeviceSetting build() { + return new DeviceSetting(mSettingId, mPreference, mExtras); + } + } + + /** + * Gets the setting ID as defined by IntDef {@link DeviceSettingId}. + * + * @return Returns the setting ID. + */ + @DeviceSettingId + public int getSettingId() { + return mSettingId; + } + + /** + * Gets the setting preference. + * + * @return Returns the setting preference. + */ + @NonNull + public DeviceSettingPreference getPreference() { + return mPreference; + } + + /** + * Gets the extras Bundle. + * + * @return Returns a Bundle object. + */ + @NonNull + public Bundle getExtras() { + return mExtras; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingId.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingId.java new file mode 100644 index 000000000000..20a0339b9182 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingId.java @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import androidx.annotation.IntDef; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.SOURCE) +@IntDef( + value = { + DeviceSettingId.DEVICE_SETTING_ID_UNKNOWN, + DeviceSettingId.DEVICE_SETTING_ID_HEADER, + DeviceSettingId.DEVICE_SETTING_ID_ADVANCED_HEADER, + DeviceSettingId.DEVICE_SETTING_ID_LE_AUDIO_HEADER, + DeviceSettingId.DEVICE_SETTING_ID_HEARING_AID_PAIR_OTHER_BUTTON, + DeviceSettingId.DEVICE_SETTING_ID_HEARING_AID_SPACE_LAYOUT, + DeviceSettingId.DEVICE_SETTING_ID_ACTION_BUTTONS, + DeviceSettingId.DEVICE_SETTING_ID_DEVICE_STYLUS, + DeviceSettingId.DEVICE_SETTING_ID_BLUETOOTH_EXTRA_CONTROL, + DeviceSettingId.DEVICE_SETTING_ID_BLUETOOTH_DEVICE_SLICE_CATEGORY, + DeviceSettingId.DEVICE_SETTING_ID_DEVICE_COMPANION_APPS, + DeviceSettingId.DEVICE_SETTING_ID_HEARING_DEVICE_GROUP, + DeviceSettingId.DEVICE_SETTING_ID_BLUETOOTH_AUDIO_DEVICE_TYPE_GROUP, + DeviceSettingId.DEVICE_SETTING_ID_SPATIAL_AUDIO_GROUP, + DeviceSettingId.DEVICE_SETTING_ID_BLUETOOTH_PROFILES, + DeviceSettingId.DEVICE_SETTING_ID_BLUETOOTH_EXTRA_OPTIONS, + DeviceSettingId.DEVICE_SETTING_ID_BLUETOOTH_RELATED_TOOLS, + DeviceSettingId.DEVICE_SETTING_ID_DATA_SYNC_GROUP, + DeviceSettingId.DEVICE_SETTING_ID_KEYBOARD_SETTINGS, + DeviceSettingId.DEVICE_SETTING_ID_DEVICE_DETAILS_FOOTER, + DeviceSettingId.DEVICE_SETTING_ID_ANC, + }, + open = true) +public @interface DeviceSettingId { + /** Device setting ID is unknown. */ + int DEVICE_SETTING_ID_UNKNOWN = 0; + + /** Device setting ID for header. */ + int DEVICE_SETTING_ID_HEADER = 1; + + /** Device setting ID for advanced header. */ + int DEVICE_SETTING_ID_ADVANCED_HEADER = 2; + + /** Device setting ID for LeAudio header. */ + int DEVICE_SETTING_ID_LE_AUDIO_HEADER = 3; + + /** Device setting ID for hearing aid “pair other” button. */ + int DEVICE_SETTING_ID_HEARING_AID_PAIR_OTHER_BUTTON = 4; + + /** Device setting ID for hearing aid space layout. */ + int DEVICE_SETTING_ID_HEARING_AID_SPACE_LAYOUT = 5; + + /** Device setting ID for action buttons(Forget, Connect/Disconnect). */ + int DEVICE_SETTING_ID_ACTION_BUTTONS = 6; + + /** Device setting ID for stylus device. */ + int DEVICE_SETTING_ID_DEVICE_STYLUS = 7; + + /** Device setting ID for bluetooth extra control. */ + int DEVICE_SETTING_ID_BLUETOOTH_EXTRA_CONTROL = 8; + + /** Device setting ID for bluetooth device slice category. */ + int DEVICE_SETTING_ID_BLUETOOTH_DEVICE_SLICE_CATEGORY = 9; + + /** Device setting ID for device companion apps. */ + int DEVICE_SETTING_ID_DEVICE_COMPANION_APPS = 10; + + /** Device setting ID for hearing device group. */ + int DEVICE_SETTING_ID_HEARING_DEVICE_GROUP = 11; + + /** Device setting ID for bluetooth audio device type group. */ + int DEVICE_SETTING_ID_BLUETOOTH_AUDIO_DEVICE_TYPE_GROUP = 12; + + /** Device setting ID for spatial audio group. */ + int DEVICE_SETTING_ID_SPATIAL_AUDIO_GROUP = 13; + + /** Device setting ID for bluetooth profiles. */ + int DEVICE_SETTING_ID_BLUETOOTH_PROFILES = 14; + + /** Device setting ID for bluetooth extra options. */ + int DEVICE_SETTING_ID_BLUETOOTH_EXTRA_OPTIONS = 15; + + /** Device setting ID for bluetooth related tools. */ + int DEVICE_SETTING_ID_BLUETOOTH_RELATED_TOOLS = 16; + + /** Device setting ID for data sync group. */ + int DEVICE_SETTING_ID_DATA_SYNC_GROUP = 17; + + /** Device setting ID for keyboard settings. */ + int DEVICE_SETTING_ID_KEYBOARD_SETTINGS = 18; + + /** Device setting ID for device details footer. */ + int DEVICE_SETTING_ID_DEVICE_DETAILS_FOOTER = 19; + + /** Device setting ID for ANC. */ + int DEVICE_SETTING_ID_ANC = 1001; +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItem.kt b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItem.kt new file mode 100644 index 000000000000..9ee33b0dbffe --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItem.kt @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings + +import android.os.Bundle +import android.os.Parcel +import android.os.Parcelable + +/** + * A data class representing a device settings item in bluetooth device details config. + * + * @property settingId The setting ID of the item, as defined by IntDef [DeviceSettingId]. + * @property packageName The package name for service binding. + * @property className The class name for service binding. + * @property intentAction The intent action for service binding. + * @property extras Extra bundle + */ +data class DeviceSettingItem( + @DeviceSettingId val settingId: Int, + val packageName: String, + val className: String, + val intentAction: String, + val extras: Bundle = Bundle.EMPTY, +) : Parcelable { + + override fun describeContents(): Int = 0 + + override fun writeToParcel(parcel: Parcel, flags: Int) { + parcel.run { + writeInt(settingId) + writeString(packageName) + writeString(className) + writeString(intentAction) + writeBundle(extras) + } + } + + companion object { + @JvmField + val CREATOR: Parcelable.Creator<DeviceSettingItem> = + object : Parcelable.Creator<DeviceSettingItem> { + override fun createFromParcel(parcel: Parcel) = + parcel.run { + DeviceSettingItem( + settingId = readInt(), + packageName = readString() ?: "", + className = readString() ?: "", + intentAction = readString() ?: "", + extras = readBundle((Bundle::class.java.classLoader)) ?: Bundle.EMPTY, + ) + } + + override fun newArray(size: Int): Array<DeviceSettingItem?> { + return arrayOfNulls(size) + } + } + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingPreference.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingPreference.java new file mode 100644 index 000000000000..790939a18a0c --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingPreference.java @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import android.os.Parcel; + +import androidx.annotation.NonNull; + +/** An abstract class representing a device setting preference. */ +public abstract class DeviceSettingPreference { + @DeviceSettingType private final int mSettingType; + + public static final DeviceSettingPreference UNKNOWN = + new DeviceSettingPreference(DeviceSettingType.DEVICE_SETTING_TYPE_UNKNOWN) {}; + + protected DeviceSettingPreference(@DeviceSettingType int settingType) { + mSettingType = settingType; + } + + /** Read a {@link DeviceSettingPreference} instance from {@link Parcel} */ + @NonNull + public static DeviceSettingPreference readFromParcel(@NonNull Parcel in) { + int type = in.readInt(); + switch (type) { + case DeviceSettingType.DEVICE_SETTING_TYPE_ACTION_SWITCH: + return ActionSwitchPreference.readFromParcel(in); + case DeviceSettingType.DEVICE_SETTING_TYPE_MULTI_TOGGLE: + return MultiTogglePreference.readFromParcel(in); + default: + return UNKNOWN; + } + } + + /** Writes the instance to {@link Parcel}. */ + public void writeToParcel(@NonNull Parcel dest, int flags) { + dest.writeInt(mSettingType); + } + + /** + * Gets the setting type, as defined by IntDef {@link DeviceSettingType}. + * + * @return the setting type. + */ + @DeviceSettingType + public int getSettingType() { + return mSettingType; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingPreferenceState.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingPreferenceState.java new file mode 100644 index 000000000000..a982af709f69 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingPreferenceState.java @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import android.os.Parcel; + +import androidx.annotation.NonNull; + +/** An abstract class representing a device setting preference state. */ +public abstract class DeviceSettingPreferenceState { + @DeviceSettingType private final int mSettingType; + + public static final DeviceSettingPreferenceState UNKNOWN = + new DeviceSettingPreferenceState(DeviceSettingType.DEVICE_SETTING_TYPE_UNKNOWN) {}; + + protected DeviceSettingPreferenceState(@DeviceSettingType int settingType) { + mSettingType = settingType; + } + + /** Reads a {@link DeviceSettingPreferenceState} from {@link Parcel}. */ + @NonNull + public static DeviceSettingPreferenceState readFromParcel(@NonNull Parcel in) { + int type = in.readInt(); + switch (type) { + case DeviceSettingType.DEVICE_SETTING_TYPE_ACTION_SWITCH: + return ActionSwitchPreferenceState.readFromParcel(in); + case DeviceSettingType.DEVICE_SETTING_TYPE_MULTI_TOGGLE: + return MultiTogglePreferenceState.readFromParcel(in); + default: + return UNKNOWN; + } + } + + /** Writes the object to parcel. */ + public void writeToParcel(@NonNull Parcel dest, int flags) { + dest.writeInt(mSettingType); + } + + /** + * Gets the setting type, as defined by IntDef {@link DeviceSettingType}. + * + * @return The setting type. + */ + @DeviceSettingType + public int getSettingType() { + return mSettingType; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingState.aidl b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingState.aidl new file mode 100644 index 000000000000..61429a63128f --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingState.aidl @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +parcelable DeviceSettingState;
\ No newline at end of file diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingState.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingState.java new file mode 100644 index 000000000000..63fd4eb425c0 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingState.java @@ -0,0 +1,165 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; + +import androidx.annotation.NonNull; + +import java.util.Objects; + +/** A data class representing a device setting state. */ +public class DeviceSettingState implements Parcelable { + @DeviceSettingId private final int mSettingId; + private final DeviceSettingPreferenceState mPreferenceState; + private final Bundle mExtras; + + DeviceSettingState( + @DeviceSettingId int settingId, + @NonNull DeviceSettingPreferenceState preferenceState, + @NonNull Bundle extras) { + validate(preferenceState); + mSettingId = settingId; + mPreferenceState = preferenceState; + mExtras = extras; + } + + private static void validate(DeviceSettingPreferenceState preferenceState) { + if (Objects.isNull(preferenceState)) { + throw new IllegalArgumentException("PreferenceState must be set"); + } + } + + /** Reads a {@link DeviceSettingState} from {@link Parcel}. */ + @NonNull + public static DeviceSettingState readFromParcel(@NonNull Parcel in) { + int settingId = in.readInt(); + Bundle extra = in.readBundle(Bundle.class.getClassLoader()); + DeviceSettingPreferenceState preferenceState = + DeviceSettingPreferenceState.readFromParcel(in); + return new DeviceSettingState(settingId, preferenceState, extra); + } + + public static final Creator<DeviceSettingState> CREATOR = + new Creator<>() { + @Override + @NonNull + public DeviceSettingState createFromParcel(@NonNull Parcel in) { + return readFromParcel(in); + } + + @Override + @NonNull + public DeviceSettingState[] newArray(int size) { + return new DeviceSettingState[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + /** Writes the instance to {@link Parcel}. */ + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + dest.writeInt(mSettingId); + dest.writeBundle(mExtras); + mPreferenceState.writeToParcel(dest, flags); + } + + /** Builder class for {@link DeviceSettingState}. */ + public static final class Builder { + private int mSettingId; + private DeviceSettingPreferenceState mSettingPreferenceState; + private Bundle mExtras = Bundle.EMPTY; + + public Builder() {} + + /** + * Sets the setting ID, as defined by IntDef {@link DeviceSettingId}. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setSettingId(@DeviceSettingId int settingId) { + mSettingId = settingId; + return this; + } + + /** + * Sets the setting preference state. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setPreferenceState( + @NonNull DeviceSettingPreferenceState settingPreferenceState) { + mSettingPreferenceState = settingPreferenceState; + return this; + } + + /** + * Sets the extras bundle. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setExtras(@NonNull Bundle extras) { + mExtras = extras; + return this; + } + + /** Build the object. */ + @NonNull + public DeviceSettingState build() { + return new DeviceSettingState(mSettingId, mSettingPreferenceState, mExtras); + } + } + + /** + * Gets the setting ID, as defined by IntDef {@link DeviceSettingId}. + * + * @return the setting ID. + */ + @DeviceSettingId + public int getSettingId() { + return mSettingId; + } + + /** + * Gets the preference state of the setting. + * + * @return the setting preference state. + */ + @NonNull + public DeviceSettingPreferenceState getPreferenceState() { + return mPreferenceState; + } + + /** + * Gets the extras Bundle. + * + * @return Returns a Bundle object. + */ + @NonNull + public Bundle getExtras() { + return mExtras; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingType.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingType.java new file mode 100644 index 000000000000..ee4d90fe4171 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingType.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import androidx.annotation.IntDef; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.SOURCE) +@IntDef( + value = { + DeviceSettingType.DEVICE_SETTING_TYPE_UNKNOWN, + DeviceSettingType.DEVICE_SETTING_TYPE_ACTION_SWITCH, + DeviceSettingType.DEVICE_SETTING_TYPE_MULTI_TOGGLE, + }, + open = true) +public @interface DeviceSettingType { + /** Device setting type is unknown. */ + int DEVICE_SETTING_TYPE_UNKNOWN = 0; + + /** Device setting type is action/switch preference. */ + int DEVICE_SETTING_TYPE_ACTION_SWITCH = 1; + + /** Device setting type is multi-toggle preference. */ + int DEVICE_SETTING_TYPE_MULTI_TOGGLE = 2; +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfig.aidl b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfig.aidl new file mode 100644 index 000000000000..3201d13cd92e --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfig.aidl @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +parcelable DeviceSettingsConfig;
\ No newline at end of file diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfig.kt b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfig.kt new file mode 100644 index 000000000000..c8a2e9ca3af1 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfig.kt @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings + +import android.os.Bundle +import android.os.Parcel +import android.os.Parcelable + +/** + * A data class representing a bluetooth device details config. + * + * @property mainContentItems The setting items to be shown in main page. + * @property moreSettingsItems The setting items to be shown in more settings page. + * @property moreSettingsFooter The footer in more settings page. + * @property extras Extra bundle + */ +data class DeviceSettingsConfig( + val mainContentItems: List<DeviceSettingItem>, + val moreSettingsItems: List<DeviceSettingItem>, + val moreSettingsFooter: String, + val extras: Bundle = Bundle.EMPTY, +) : Parcelable { + + override fun describeContents(): Int = 0 + + override fun writeToParcel(parcel: Parcel, flags: Int) { + parcel.run { + writeTypedList(mainContentItems) + writeTypedList(moreSettingsItems) + writeString(moreSettingsFooter) + writeBundle(extras) + } + } + + companion object { + @JvmField + val CREATOR: Parcelable.Creator<DeviceSettingsConfig> = + object : Parcelable.Creator<DeviceSettingsConfig> { + override fun createFromParcel(parcel: Parcel): DeviceSettingsConfig = + parcel.run { + DeviceSettingsConfig( + mainContentItems = + arrayListOf<DeviceSettingItem>().also { + readTypedList(it, DeviceSettingItem.CREATOR) + }, + moreSettingsItems = + arrayListOf<DeviceSettingItem>().also { + readTypedList(it, DeviceSettingItem.CREATOR) + }, + moreSettingsFooter = readString()!!, + extras = readBundle((Bundle::class.java.classLoader))!!, + ) + } + + override fun newArray(size: Int): Array<DeviceSettingsConfig?> { + return arrayOfNulls(size) + } + } + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/IDeviceSettingsListener.aidl b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/IDeviceSettingsListener.aidl new file mode 100644 index 000000000000..385a780b01f3 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/IDeviceSettingsListener.aidl @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import com.android.settingslib.bluetooth.devicesettings.DeviceSetting; + +interface IDeviceSettingsListener { + oneway void onDeviceSettingsChanged(in List<DeviceSetting> settings) = 0; +}
\ No newline at end of file diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/IDeviceSettingsProviderService.aidl b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/IDeviceSettingsProviderService.aidl new file mode 100644 index 000000000000..d5efac9d0336 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/IDeviceSettingsProviderService.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import com.android.settingslib.bluetooth.devicesettings.DeviceInfo; +import com.android.settingslib.bluetooth.devicesettings.DeviceSettingState; +import com.android.settingslib.bluetooth.devicesettings.IDeviceSettingsListener; + +oneway interface IDeviceSettingsProviderService { + void registerDeviceSettingsListener(in DeviceInfo device, in IDeviceSettingsListener callback); + void unregisterDeviceSettingsListener(in DeviceInfo device, in IDeviceSettingsListener callback); + void updateDeviceSettings(in DeviceInfo device, in DeviceSettingState params); +}
\ No newline at end of file diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreference.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreference.java new file mode 100644 index 000000000000..01bb6f013d16 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreference.java @@ -0,0 +1,232 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; + +import androidx.annotation.NonNull; + +import com.google.common.collect.ImmutableList; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** A data class representing a multi-toggle preference. */ +public class MultiTogglePreference extends DeviceSettingPreference implements Parcelable { + private final String mTitle; + private final ImmutableList<ToggleInfo> mToggleInfos; + private final int mState; + private final boolean mIsAllowedChangingState; + private final Bundle mExtras; + + MultiTogglePreference( + @NonNull String title, + List<ToggleInfo> toggleInfos, + int state, + boolean allowChangingState, + Bundle extras) { + super(DeviceSettingType.DEVICE_SETTING_TYPE_MULTI_TOGGLE); + validate(title, state); + mTitle = title; + mToggleInfos = ImmutableList.copyOf(toggleInfos); + mState = state; + mIsAllowedChangingState = allowChangingState; + mExtras = extras; + } + + private static void validate(String title, int state) { + if (Objects.isNull(title)) { + throw new IllegalArgumentException("Title must be set"); + } + if (state < 0) { + throw new IllegalArgumentException("State must be a non-negative integer"); + } + } + + /** Read a {@link MultiTogglePreference} from {@link Parcel}. */ + @NonNull + public static MultiTogglePreference readFromParcel(@NonNull Parcel in) { + String title = in.readString(); + List<ToggleInfo> toggleInfos = new ArrayList<>(); + in.readTypedList(toggleInfos, ToggleInfo.CREATOR); + int state = in.readInt(); + boolean allowChangingState = in.readBoolean(); + Bundle extras = in.readBundle(Bundle.class.getClassLoader()); + return new MultiTogglePreference(title, toggleInfos, state, allowChangingState, extras); + } + + public static final Creator<MultiTogglePreference> CREATOR = + new Creator<>() { + @Override + @NonNull + public MultiTogglePreference createFromParcel(@NonNull Parcel in) { + in.readInt(); + return readFromParcel(in); + } + + @Override + @NonNull + public MultiTogglePreference[] newArray(int size) { + return new MultiTogglePreference[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + super.writeToParcel(dest, flags); + dest.writeString(mTitle); + dest.writeTypedList(mToggleInfos, flags); + dest.writeInt(mState); + dest.writeBoolean(mIsAllowedChangingState); + dest.writeBundle(mExtras); + } + + /** Builder class for {@link MultiTogglePreference}. */ + public static final class Builder { + private String mTitle; + private ImmutableList.Builder<ToggleInfo> mToggleInfos = new ImmutableList.Builder<>(); + private int mState; + private boolean mAllowChangingState; + private Bundle mExtras = Bundle.EMPTY; + + /** + * Sets the title of the preference. + * + * @param title The title of the preference. + * @return Returns the Builder object. + */ + @NonNull + public Builder setTitle(@NonNull String title) { + mTitle = title; + return this; + } + + /** + * Adds a toggle in the preference. + * + * @param toggleInfo The toggle to add. + * @return Returns the Builder object. + */ + @NonNull + public Builder addToggleInfo(@NonNull ToggleInfo toggleInfo) { + mToggleInfos.add(toggleInfo); + return this; + } + + /** + * Sets the state of the preference. + * + * @param state The index of the enabled toggle. + * @return Returns the Builder object. + */ + @NonNull + public Builder setState(int state) { + mState = state; + return this; + } + + /** + * Sets whether state can be changed by user. + * + * @param allowChangingState Whether user is allowed to change state. + * @return Returns the Builder object. + */ + @NonNull + public Builder setAllowChangingState(boolean allowChangingState) { + mAllowChangingState = allowChangingState; + return this; + } + + /** + * Sets the extras bundle. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setExtras(@NonNull Bundle extras) { + mExtras = extras; + return this; + } + + /** + * Builds the {@link ToggleInfo} object. + * + * @return Returns the built {@link ToggleInfo} object. + */ + @NonNull + public MultiTogglePreference build() { + return new MultiTogglePreference( + mTitle, mToggleInfos.build(), mState, mAllowChangingState, mExtras); + } + } + + /** + * Gets the title of the preference. + * + * @return The title. + */ + @NonNull + public String getTitle() { + return mTitle; + } + + /** + * Gets the state of the {@link MultiTogglePreference}. + * + * @return Returns the index of the enabled toggle. + */ + public int getState() { + return mState; + } + + /** + * Gets the toggle list in the preference. + * + * @return the toggle list. + */ + @NonNull + public List<ToggleInfo> getToggleInfos() { + return mToggleInfos; + } + + /** + * Gets whether the state can be changed by user. + * + * @return Whether the state can be changed by user. + */ + public boolean isAllowedChangingState() { + return mIsAllowedChangingState; + } + + /** + * Gets the extras Bundle. + * + * @return Returns a Bundle object. + */ + @NonNull + public Bundle getExtras() { + return mExtras; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreferenceState.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreferenceState.java new file mode 100644 index 000000000000..239df0b55b22 --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreferenceState.java @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; + +import androidx.annotation.NonNull; + +/** A data class representing a multi-toggle preference state. */ +public class MultiTogglePreferenceState extends DeviceSettingPreferenceState implements Parcelable { + private final int mState; + private final Bundle mExtras; + + MultiTogglePreferenceState(int state, @NonNull Bundle extras) { + super(DeviceSettingType.DEVICE_SETTING_TYPE_MULTI_TOGGLE); + mState = state; + mExtras = extras; + } + + /** Reads a {@link MultiTogglePreferenceState} from {@link Parcel}. */ + @NonNull + public static MultiTogglePreferenceState readFromParcel(@NonNull Parcel in) { + int state = in.readInt(); + Bundle extras = in.readBundle(Bundle.class.getClassLoader()); + return new MultiTogglePreferenceState(state, extras); + } + + public static final Creator<MultiTogglePreferenceState> CREATOR = + new Creator<>() { + @Override + @NonNull + public MultiTogglePreferenceState createFromParcel(@NonNull Parcel in) { + in.readInt(); + return readFromParcel(in); + } + + @Override + @NonNull + public MultiTogglePreferenceState[] newArray(int size) { + return new MultiTogglePreferenceState[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + super.writeToParcel(dest, flags); + dest.writeInt(mState); + dest.writeBundle(mExtras); + } + + /** Builder class for {@link MultiTogglePreferenceState}. */ + public static final class Builder { + private int mState; + private Bundle mExtras = Bundle.EMPTY; + + public Builder() {} + + /** + * Sets the state of {@link MultiTogglePreference}. + * + * @return Returns the index of enabled toggle. + */ + @NonNull + public Builder setState(int state) { + mState = state; + return this; + } + + /** + * Sets the extras bundle. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setExtras(@NonNull Bundle extras) { + mExtras = extras; + return this; + } + + /** Builds the object. */ + @NonNull + public MultiTogglePreferenceState build() { + return new MultiTogglePreferenceState(mState, mExtras); + } + } + + /** + * Gets the state of the {@link MultiTogglePreference}. + * + * @return Returns the index of the enabled toggle. + */ + public int getState() { + return mState; + } + + /** + * Gets the extras Bundle. + * + * @return Returns a Bundle object. + */ + @NonNull + public Bundle getExtras() { + return mExtras; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/ToggleInfo.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/ToggleInfo.java new file mode 100644 index 000000000000..7dcf3aa7239e --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/ToggleInfo.java @@ -0,0 +1,167 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; + +import androidx.annotation.NonNull; + +import java.util.Objects; + +/** A data class representing a toggle in {@link MultiTogglePreference}. */ +public class ToggleInfo implements Parcelable { + private final String mLabel; + private final Bitmap mIcon; + private final Bundle mExtras; + + ToggleInfo(@NonNull String label, @NonNull Bitmap icon, @NonNull Bundle extras) { + validate(label, icon); + mLabel = label; + mIcon = icon; + mExtras = extras; + } + + private static void validate(String label, Bitmap icon) { + if (Objects.isNull(label)) { + throw new IllegalArgumentException("Label must be set"); + } + if (Objects.isNull(icon)) { + throw new IllegalArgumentException("Icon must be set"); + } + } + + /** Read a {@link ToggleInfo} instance from {@link Parcel}. */ + @NonNull + public static ToggleInfo readFromParcel(@NonNull Parcel in) { + String label = in.readString(); + Bitmap icon = in.readParcelable(Bitmap.class.getClassLoader()); + Bundle extras = in.readBundle(Bundle.class.getClassLoader()); + return new ToggleInfo(label, icon, extras); + } + + public static final Creator<ToggleInfo> CREATOR = + new Creator<>() { + @Override + @NonNull + public ToggleInfo createFromParcel(@NonNull Parcel in) { + return readFromParcel(in); + } + + @Override + @NonNull + public ToggleInfo[] newArray(int size) { + return new ToggleInfo[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(@NonNull Parcel dest, int flags) { + dest.writeString(mLabel); + dest.writeParcelable(mIcon, flags); + dest.writeBundle(mExtras); + } + + /** Builder class for {@link ToggleInfo}. */ + public static final class Builder { + private Bitmap mIcon; + private String mLabel; + private Bundle mExtras = Bundle.EMPTY; + + /** + * Sets the label of the toggle. + * + * @param label The label of the toggle. + * @return Returns the Builder object. + */ + @NonNull + public Builder setLabel(@NonNull String label) { + mLabel = label; + return this; + } + + /** + * Sets the icon of the toggle. + * + * @param icon The icon of the toggle. + * @return Returns the Builder object. + */ + @NonNull + public Builder setIcon(@NonNull Bitmap icon) { + mIcon = icon; + return this; + } + + /** + * Sets the extras bundle. + * + * @return Returns the Builder object. + */ + @NonNull + public Builder setExtras(@NonNull Bundle extras) { + mExtras = extras; + return this; + } + + /** + * Builds the {@link ToggleInfo} object. + * + * @return Returns the built {@link ToggleInfo} object. + */ + @NonNull + public ToggleInfo build() { + return new ToggleInfo(mLabel, mIcon, mExtras); + } + } + + /** + * Gets the label of the toggle. + * + * @return the label to be shown under the toggle + */ + @NonNull + public String getLabel() { + return mLabel; + } + + /** + * Gets the icon of the toggle. + * + * @return the icon in toggle + */ + @NonNull + public Bitmap getIcon() { + return mIcon; + } + + /** + * Gets the extras Bundle. + * + * @return Returns a Bundle object. + */ + @NonNull + public Bundle getExtras() { + return mExtras; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java index ea65adecd763..84afb9f7a7e2 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java @@ -25,7 +25,6 @@ import android.util.Log; import androidx.annotation.EmptySuper; import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; -import androidx.core.os.BuildCompat; import androidx.lifecycle.LifecycleOwner; import androidx.preference.Preference; import androidx.preference.PreferenceGroup; @@ -141,7 +140,7 @@ public abstract class AbstractPreferenceController { @RequiresApi(Build.VERSION_CODES.TIRAMISU) protected void replaceEnterpriseStringTitle(PreferenceScreen screen, String preferenceKey, String overrideKey, int resource) { - if (!BuildCompat.isAtLeastT() || mDevicePolicyManager == null) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU || mDevicePolicyManager == null) { return; } @@ -159,7 +158,7 @@ public abstract class AbstractPreferenceController { @RequiresApi(Build.VERSION_CODES.TIRAMISU) protected void replaceEnterpriseStringSummary( PreferenceScreen screen, String preferenceKey, String overrideKey, int resource) { - if (!BuildCompat.isAtLeastT() || mDevicePolicyManager == null) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU || mDevicePolicyManager == null) { return; } diff --git a/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java b/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java index f07daa3add8b..243403e018b6 100644 --- a/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java +++ b/packages/SettingsLib/src/com/android/settingslib/drawable/UserIconDrawable.java @@ -48,8 +48,6 @@ import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; import androidx.annotation.VisibleForTesting; -import com.android.settingslib.utils.BuildCompatUtils; - /** * Converts the user avatar icon to a circularly clipped one with an optional badge and frame */ @@ -88,7 +86,7 @@ public class UserIconDrawable extends Drawable implements Drawable.Callback { * @return drawable containing just the badge */ public static Drawable getManagedUserDrawable(Context context) { - if (BuildCompatUtils.isAtLeastT()) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { return getUpdatableManagedUserDrawable(context); } else { return getDrawableForDisplayDensity( @@ -227,7 +225,7 @@ public class UserIconDrawable extends Drawable implements Drawable.Callback { } private static Drawable getManagementBadge(Context context) { - if (BuildCompatUtils.isAtLeastT()) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { return getUpdatableManagementBadge(context); } else { return getDrawableForDisplayDensity( diff --git a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/FakeZenModeRepository.kt b/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/FakeZenModeRepository.kt index 775e2fc47b47..7f6a8ed1718e 100644 --- a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/FakeZenModeRepository.kt +++ b/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/FakeZenModeRepository.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.statusbar.notification.data.repository +package com.android.settingslib.notification.data.repository import android.app.NotificationManager import android.provider.Settings diff --git a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/ZenModeRepository.kt b/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/ZenModeRepository.kt index 4d25237757ea..58541418d812 100644 --- a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/ZenModeRepository.kt +++ b/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/ZenModeRepository.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.statusbar.notification.data.repository +package com.android.settingslib.notification.data.repository import android.app.NotificationManager import android.content.BroadcastReceiver @@ -73,12 +73,12 @@ class ZenModeRepositoryImpl( awaitClose { context.unregisterReceiver(receiver) } } - .apply { + .let { if (Flags.volumePanelBroadcastFix()) { - flowOn(backgroundCoroutineContext) - stateIn(scope, SharingStarted.WhileSubscribed(), null) + it.flowOn(backgroundCoroutineContext) + .stateIn(scope, SharingStarted.WhileSubscribed(), null) } else { - shareIn( + it.shareIn( started = SharingStarted.WhileSubscribed(), scope = scope, ) diff --git a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractor.kt b/packages/SettingsLib/src/com/android/settingslib/notification/domain/interactor/NotificationsSoundPolicyInteractor.kt index 953c90d35d78..0c2ce4ffa765 100644 --- a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractor.kt +++ b/packages/SettingsLib/src/com/android/settingslib/notification/domain/interactor/NotificationsSoundPolicyInteractor.kt @@ -14,13 +14,13 @@ * limitations under the License. */ -package com.android.settingslib.statusbar.notification.domain.interactor +package com.android.settingslib.notification.domain.interactor import android.app.NotificationManager import android.media.AudioManager import android.provider.Settings import android.service.notification.ZenModeConfig -import com.android.settingslib.statusbar.notification.data.repository.ZenModeRepository +import com.android.settingslib.notification.data.repository.ZenModeRepository import com.android.settingslib.volume.shared.model.AudioStream import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.StateFlow diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/EnableZenModeDialog.java b/packages/SettingsLib/src/com/android/settingslib/notification/modes/EnableZenModeDialog.java index dfa5ed12b7dd..054c84952fae 100644 --- a/packages/SettingsLib/src/com/android/settingslib/notification/EnableZenModeDialog.java +++ b/packages/SettingsLib/src/com/android/settingslib/notification/modes/EnableZenModeDialog.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.notification; +package com.android.settingslib.notification.modes; import android.app.ActivityManager; import android.app.AlarmManager; @@ -96,7 +96,7 @@ public class EnableZenModeDialog { protected LinearLayout mZenRadioGroupContent; private RadioGroup mZenRadioGroup; - private int MAX_MANUAL_DND_OPTIONS = 3; + private static final int MAX_MANUAL_DND_OPTIONS = 3; @VisibleForTesting protected LayoutInflater mLayoutInflater; @@ -119,9 +119,9 @@ public class EnableZenModeDialog { } public AlertDialog createDialog() { - mNotificationManager = (NotificationManager) mContext. - getSystemService(Context.NOTIFICATION_SERVICE); - mForeverId = Condition.newId(mContext).appendPath("forever").build(); + mNotificationManager = (NotificationManager) mContext + .getSystemService(Context.NOTIFICATION_SERVICE); + mForeverId = Condition.newId(mContext).appendPath("forever").build(); mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); mUserId = mContext.getUserId(); mAttached = false; @@ -171,8 +171,8 @@ public class EnableZenModeDialog { } private void hideAllConditions() { - final int N = mZenRadioGroupContent.getChildCount(); - for (int i = 0; i < N; i++) { + final int n = mZenRadioGroupContent.getChildCount(); + for (int i = 0; i < n; i++) { mZenRadioGroupContent.getChildAt(i).setVisibility(View.GONE); } @@ -221,8 +221,10 @@ public class EnableZenModeDialog { } tag.condition = condition; final Uri conditionId = getConditionId(tag.condition); - if (DEBUG) Log.d(TAG, "bind i=" + mZenRadioGroupContent.indexOfChild(row) + " first=" - + first + " condition=" + conditionId); + if (DEBUG) { + Log.d(TAG, "bind i=" + mZenRadioGroupContent.indexOfChild(row) + " first=" + + first + " condition=" + conditionId); + } tag.rb.setEnabled(enabled); tag.rb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override @@ -447,14 +449,14 @@ public class EnableZenModeDialog { private void onClickTimeButton(View row, ConditionTag tag, boolean up, int rowId) { mMetricsLogger.logOnClickTimeButton(up); Condition newCondition = null; - final int N = MINUTE_BUCKETS.length; + final int n = MINUTE_BUCKETS.length; if (mBucketIndex == -1) { // not on a known index, search for the next or prev bucket by time final Uri conditionId = getConditionId(tag.condition); final long time = ZenModeConfig.tryParseCountdownConditionId(conditionId); final long now = System.currentTimeMillis(); - for (int i = 0; i < N; i++) { - int j = up ? i : N - 1 - i; + for (int i = 0; i < n; i++) { + int j = up ? i : n - 1 - i; final int bucketMinutes = MINUTE_BUCKETS[j]; final long bucketTime = now + bucketMinutes * MINUTES_MS; if (up && bucketTime > time || !up && bucketTime < time) { @@ -472,7 +474,7 @@ public class EnableZenModeDialog { } } else { // on a known index, simply increment or decrement - mBucketIndex = Math.max(0, Math.min(N - 1, mBucketIndex + (up ? 1 : -1))); + mBucketIndex = Math.max(0, Math.min(n - 1, mBucketIndex + (up ? 1 : -1))); newCondition = ZenModeConfig.toTimeCondition(mContext, MINUTE_BUCKETS[mBucketIndex], ActivityManager.getCurrentUser()); } diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenDurationDialog.java index abbdaa73c18e..98c3edba8223 100644 --- a/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java +++ b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenDurationDialog.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.notification; +package com.android.settingslib.notification.modes; import android.app.ActivityManager; import android.app.Dialog; @@ -46,22 +46,31 @@ import java.util.Arrays; public class ZenDurationDialog { private static final int[] MINUTE_BUCKETS = ZenModeConfig.MINUTE_BUCKETS; - @VisibleForTesting protected static final int MIN_BUCKET_MINUTES = MINUTE_BUCKETS[0]; - @VisibleForTesting protected static final int MAX_BUCKET_MINUTES = + @VisibleForTesting + protected static final int MIN_BUCKET_MINUTES = MINUTE_BUCKETS[0]; + @VisibleForTesting + protected static final int MAX_BUCKET_MINUTES = MINUTE_BUCKETS[MINUTE_BUCKETS.length - 1]; private static final int DEFAULT_BUCKET_INDEX = Arrays.binarySearch(MINUTE_BUCKETS, 60); - @VisibleForTesting protected int mBucketIndex = -1; + @VisibleForTesting + protected int mBucketIndex = -1; - @VisibleForTesting protected static final int FOREVER_CONDITION_INDEX = 0; - @VisibleForTesting protected static final int COUNTDOWN_CONDITION_INDEX = 1; - @VisibleForTesting protected static final int ALWAYS_ASK_CONDITION_INDEX = 2; + @VisibleForTesting + protected static final int FOREVER_CONDITION_INDEX = 0; + @VisibleForTesting + protected static final int COUNTDOWN_CONDITION_INDEX = 1; + @VisibleForTesting + protected static final int ALWAYS_ASK_CONDITION_INDEX = 2; - @VisibleForTesting protected Context mContext; - @VisibleForTesting protected LinearLayout mZenRadioGroupContent; + @VisibleForTesting + protected Context mContext; + @VisibleForTesting + protected LinearLayout mZenRadioGroupContent; private RadioGroup mZenRadioGroup; - private int MAX_MANUAL_DND_OPTIONS = 3; + private static final int MAX_MANUAL_DND_OPTIONS = 3; - @VisibleForTesting protected LayoutInflater mLayoutInflater; + @VisibleForTesting + protected LayoutInflater mLayoutInflater; public ZenDurationDialog(Context context) { mContext = context; @@ -104,22 +113,22 @@ public class ZenDurationDialog { case FOREVER_CONDITION_INDEX: newZenDuration = Settings.Secure.ZEN_DURATION_FOREVER; MetricsLogger.action(mContext, - MetricsProto.MetricsEvent. - NOTIFICATION_ZEN_MODE_DURATION_FOREVER); + MetricsProto.MetricsEvent + .NOTIFICATION_ZEN_MODE_DURATION_FOREVER); break; case COUNTDOWN_CONDITION_INDEX: ConditionTag tag = getConditionTagAt(checkedRadioButtonId); newZenDuration = tag.countdownZenDuration; MetricsLogger.action(mContext, - MetricsProto.MetricsEvent. - NOTIFICATION_ZEN_MODE_DURATION_TIME, + MetricsProto.MetricsEvent + .NOTIFICATION_ZEN_MODE_DURATION_TIME, newZenDuration); break; case ALWAYS_ASK_CONDITION_INDEX: newZenDuration = Settings.Secure.ZEN_DURATION_PROMPT; MetricsLogger.action(mContext, - MetricsProto.MetricsEvent. - NOTIFICATION_ZEN_MODE_DURATION_PROMPT); + MetricsProto.MetricsEvent + .NOTIFICATION_ZEN_MODE_DURATION_PROMPT); break; } @@ -299,12 +308,12 @@ public class ZenDurationDialog { @VisibleForTesting protected void onClickTimeButton(View row, ConditionTag tag, boolean up, int rowId) { int newDndTimeDuration = -1; - final int N = MINUTE_BUCKETS.length; + final int n = MINUTE_BUCKETS.length; if (mBucketIndex == -1) { // not on a known index, search for the next or prev bucket by time final long time = tag.countdownZenDuration; - for (int i = 0; i < N; i++) { - int j = up ? i : N - 1 - i; + for (int i = 0; i < n; i++) { + int j = up ? i : n - 1 - i; final int bucketMinutes = MINUTE_BUCKETS[j]; if (up && bucketMinutes > time || !up && bucketMinutes < time) { mBucketIndex = j; @@ -318,7 +327,7 @@ public class ZenDurationDialog { } } else { // on a known index, simply increment or decrement - mBucketIndex = Math.max(0, Math.min(N - 1, mBucketIndex + (up ? 1 : -1))); + mBucketIndex = Math.max(0, Math.min(n - 1, mBucketIndex + (up ? 1 : -1))); newDndTimeDuration = MINUTE_BUCKETS[mBucketIndex]; } tag.countdownZenDuration = newDndTimeDuration; diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/ZenModeDialogMetricsLogger.java b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenModeDialogMetricsLogger.java index 088a37d995ed..17695e396bef 100644 --- a/packages/SettingsLib/src/com/android/settingslib/notification/ZenModeDialogMetricsLogger.java +++ b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenModeDialogMetricsLogger.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.notification; +package com.android.settingslib.notification.modes; import android.content.Context; diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/ZenRadioLayout.java b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenRadioLayout.java index 1140028b1ca4..ed659f922484 100644 --- a/packages/SettingsLib/src/com/android/settingslib/notification/ZenRadioLayout.java +++ b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenRadioLayout.java @@ -1,18 +1,20 @@ /* * Copyright (C) 2018 The Android Open Source Project * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of the License at + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software distributed under the - * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the specific language governing - * permissions and limitations under the License. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ -package com.android.settingslib.notification; +package com.android.settingslib.notification.modes; import android.content.Context; import android.util.AttributeSet; diff --git a/packages/SettingsLib/src/com/android/settingslib/volume/domain/interactor/AudioVolumeInteractor.kt b/packages/SettingsLib/src/com/android/settingslib/volume/domain/interactor/AudioVolumeInteractor.kt index 202ff400782f..08863b56cbe0 100644 --- a/packages/SettingsLib/src/com/android/settingslib/volume/domain/interactor/AudioVolumeInteractor.kt +++ b/packages/SettingsLib/src/com/android/settingslib/volume/domain/interactor/AudioVolumeInteractor.kt @@ -17,7 +17,7 @@ package com.android.settingslib.volume.domain.interactor import android.media.AudioManager -import com.android.settingslib.statusbar.notification.domain.interactor.NotificationsSoundPolicyInteractor +import com.android.settingslib.notification.domain.interactor.NotificationsSoundPolicyInteractor import com.android.settingslib.volume.data.repository.AudioRepository import com.android.settingslib.volume.shared.model.AudioStream import com.android.settingslib.volume.shared.model.AudioStreamModel @@ -61,6 +61,10 @@ class AudioVolumeInteractor( } suspend fun setMuted(audioStream: AudioStream, isMuted: Boolean) { + val streamModel = getAudioStream(audioStream).first() + if (!streamModel.isAffectedByMute) { + return + } if (audioStream.value == AudioManager.STREAM_RING) { val mode = if (isMuted) AudioManager.RINGER_MODE_VIBRATE else AudioManager.RINGER_MODE_NORMAL diff --git a/packages/SettingsLib/tests/robotests/Android.bp b/packages/SettingsLib/tests/robotests/Android.bp index 397fab129e39..75c40bfa8b60 100644 --- a/packages/SettingsLib/tests/robotests/Android.bp +++ b/packages/SettingsLib/tests/robotests/Android.bp @@ -52,6 +52,7 @@ android_robolectric_test { "androidx.fragment_fragment", "androidx.test.core", "androidx.core_core", + "kotlinx_coroutines_test", "flag-junit", "settingslib_media_flags_lib", "settingslib_illustrationpreference_flags_lib", diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreferenceStateTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreferenceStateTest.java new file mode 100644 index 000000000000..e8e1556b8fe7 --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreferenceStateTest.java @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import static com.google.common.truth.Truth.assertThat; + +import android.os.Bundle; +import android.os.Parcel; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; + +@RunWith(RobolectricTestRunner.class) +public final class ActionSwitchPreferenceStateTest { + + @Test + public void getMethods() { + ActionSwitchPreferenceState state1 = + new ActionSwitchPreferenceState.Builder() + .setChecked(true) + .setExtras(buildBundle("key1", "value1")) + .build(); + ActionSwitchPreferenceState state2 = + new ActionSwitchPreferenceState.Builder() + .setChecked(false) + .setExtras(buildBundle("key2", "value2")) + .build(); + + assertThat(state1.getChecked()).isTrue(); + assertThat(state2.getChecked()).isFalse(); + assertThat(state1.getExtras().getString("key1")).isEqualTo("value1"); + assertThat(state2.getExtras().getString("key2")).isEqualTo("value2"); + } + + @Test + public void parcelOperation_notChecked() { + ActionSwitchPreferenceState state = + new ActionSwitchPreferenceState.Builder() + .setChecked(false) + .setExtras(buildBundle("key1", "value1")) + .build(); + + ActionSwitchPreferenceState fromParcel = writeAndRead(state); + + assertThat(fromParcel.getChecked()).isEqualTo(state.getChecked()); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(state.getExtras().getString("key1")); + } + + @Test + public void parcelOperation_checked() { + ActionSwitchPreferenceState state = + new ActionSwitchPreferenceState.Builder() + .setChecked(true) + .setExtras(buildBundle("key2", "value2")) + .build(); + + ActionSwitchPreferenceState fromParcel = writeAndRead(state); + + assertThat(fromParcel.getChecked()).isEqualTo(state.getChecked()); + assertThat(fromParcel.getExtras().getString("key2")) + .isEqualTo(state.getExtras().getString("key2")); + } + + private Bundle buildBundle(String key, String value) { + Bundle bundle = new Bundle(); + bundle.putString(key, value); + return bundle; + } + + private ActionSwitchPreferenceState writeAndRead(ActionSwitchPreferenceState state) { + Parcel parcel = Parcel.obtain(); + state.writeToParcel(parcel, 0); + parcel.setDataPosition(0); + ActionSwitchPreferenceState fromParcel = + ActionSwitchPreferenceState.CREATOR.createFromParcel(parcel); + return fromParcel; + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreferenceTest.java new file mode 100644 index 000000000000..354d0f658544 --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/ActionSwitchPreferenceTest.java @@ -0,0 +1,163 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import static com.google.common.truth.Truth.assertThat; + +import static org.junit.Assert.assertThrows; + +import android.content.Intent; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Parcel; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; + +@RunWith(RobolectricTestRunner.class) +public final class ActionSwitchPreferenceTest { + + @Test + public void build_withoutTitle_fail() { + assertThrows( + IllegalArgumentException.class, + () -> { + ActionSwitchPreference unused = + new ActionSwitchPreference.Builder().setSummary("summary").build(); + }); + } + + @Test + public void build_withTitle_successfully() { + ActionSwitchPreference unused = + new ActionSwitchPreference.Builder().setTitle("title").build(); + } + + @Test + public void build_withAllFields_successfully() { + ActionSwitchPreference unused = + new ActionSwitchPreference.Builder() + .setTitle("title") + .setSummary("summary") + .setIntent(new Intent("intent_action")) + .setIcon(Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)) + .setHasSwitch(true) + .setChecked(true) + .setAllowedChangingState(true) + .setExtras(buildBundle("key1", "value1")) + .build(); + } + + @Test + public void getMethods() { + Intent intent = new Intent("intent_action"); + Bitmap icon = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); + ActionSwitchPreference preference = builder().setIcon(icon).setIntent(intent).build(); + + assertThat(preference.getTitle()).isEqualTo("title"); + assertThat(preference.getSummary()).isEqualTo("summary"); + assertThat(preference.getIcon()).isSameInstanceAs(icon); + assertThat(preference.getIntent()).isSameInstanceAs(intent); + assertThat(preference.hasSwitch()).isTrue(); + assertThat(preference.getChecked()).isTrue(); + assertThat(preference.isAllowedChangingState()).isTrue(); + assertThat(preference.getExtras().getString("key1")).isEqualTo("value1"); + } + + @Test + public void parcelOperation() { + Intent intent = new Intent("intent_action"); + Bitmap icon = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); + ActionSwitchPreference preference = builder().setIcon(icon).setIntent(intent).build(); + + ActionSwitchPreference fromParcel = writeAndRead(preference); + + assertThat(fromParcel.getTitle()).isEqualTo(preference.getTitle()); + assertThat(fromParcel.getSummary()).isEqualTo(preference.getSummary()); + assertThat(fromParcel.getIcon().sameAs(preference.getIcon())).isTrue(); + assertThat(fromParcel.getIntent().getAction()).isSameInstanceAs("intent_action"); + assertThat(fromParcel.hasSwitch()).isEqualTo(preference.hasSwitch()); + assertThat(fromParcel.getChecked()).isEqualTo(preference.getChecked()); + assertThat(fromParcel.isAllowedChangingState()) + .isEqualTo(preference.isAllowedChangingState()); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(preference.getExtras().getString("key1")); + } + + @Test + public void parcelOperation_noIntent() { + Bitmap icon = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); + ActionSwitchPreference preference = builder().setIcon(icon).setIntent(null).build(); + + ActionSwitchPreference fromParcel = writeAndRead(preference); + + assertThat(fromParcel.getTitle()).isEqualTo(preference.getTitle()); + assertThat(fromParcel.getSummary()).isEqualTo(preference.getSummary()); + assertThat(fromParcel.getIcon().sameAs(preference.getIcon())).isTrue(); + assertThat(preference.getIntent()).isNull(); + assertThat(fromParcel.hasSwitch()).isEqualTo(preference.hasSwitch()); + assertThat(fromParcel.getChecked()).isEqualTo(preference.getChecked()); + assertThat(fromParcel.isAllowedChangingState()) + .isEqualTo(preference.isAllowedChangingState()); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(preference.getExtras().getString("key1")); + } + + @Test + public void parcelOperation_noIcon() { + Intent intent = new Intent("intent_action"); + ActionSwitchPreference preference = builder().setIcon(null).setIntent(intent).build(); + + ActionSwitchPreference fromParcel = writeAndRead(preference); + + assertThat(fromParcel.getTitle()).isEqualTo(preference.getTitle()); + assertThat(fromParcel.getSummary()).isEqualTo(preference.getSummary()); + assertThat(fromParcel.getIcon()).isNull(); + assertThat(fromParcel.getIntent().getAction()).isSameInstanceAs("intent_action"); + assertThat(fromParcel.hasSwitch()).isEqualTo(preference.hasSwitch()); + assertThat(fromParcel.getChecked()).isEqualTo(preference.getChecked()); + assertThat(fromParcel.isAllowedChangingState()) + .isEqualTo(preference.isAllowedChangingState()); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(preference.getExtras().getString("key1")); + } + + private Bundle buildBundle(String key, String value) { + Bundle bundle = new Bundle(); + bundle.putString(key, value); + return bundle; + } + + private ActionSwitchPreference writeAndRead(ActionSwitchPreference preference) { + Parcel parcel = Parcel.obtain(); + preference.writeToParcel(parcel, 0); + parcel.setDataPosition(0); + ActionSwitchPreference fromParcel = ActionSwitchPreference.CREATOR.createFromParcel(parcel); + return fromParcel; + } + + private ActionSwitchPreference.Builder builder() { + return new ActionSwitchPreference.Builder() + .setTitle("title") + .setSummary("summary") + .setHasSwitch(true) + .setChecked(true) + .setAllowedChangingState(true) + .setExtras(buildBundle("key1", "value1")); + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceInfoTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceInfoTest.java new file mode 100644 index 000000000000..fd5b07508b52 --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceInfoTest.java @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import static com.google.common.truth.Truth.assertThat; + +import static org.junit.Assert.assertThrows; + +import android.os.Bundle; +import android.os.Parcel; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; + +@RunWith(RobolectricTestRunner.class) +public final class DeviceInfoTest { + @Test + public void build_withoutBluetoothAddress_fail() { + assertThrows( + IllegalArgumentException.class, + () -> { + DeviceInfo unused = + new DeviceInfo.Builder() + .setExtras(buildBundle("key1", "value1")) + .build(); + }); + } + + @Test + public void build_withoutExtra_successfully() { + DeviceInfo unused = new DeviceInfo.Builder().setBluetoothAddress("12:34:56:78").build(); + } + + @Test + public void build_withAllFields_successfully() { + DeviceInfo unused = + new DeviceInfo.Builder() + .setBluetoothAddress("12:34:56:78") + .setExtras(buildBundle("key1", "value1")) + .build(); + } + + @Test + public void getMethods() { + DeviceInfo info = + new DeviceInfo.Builder() + .setBluetoothAddress("12:34:56:78") + .setExtras(buildBundle("key1", "value1")) + .build(); + + assertThat(info.getBluetoothAddress()).isEqualTo("12:34:56:78"); + assertThat(info.getExtras().getString("key1")).isEqualTo("value1"); + } + + @Test + public void parcelOperation() { + DeviceInfo info = + new DeviceInfo.Builder() + .setBluetoothAddress("12:34:56:78") + .setExtras(buildBundle("key1", "value1")) + .build(); + + DeviceInfo fromParcel = writeAndRead(info); + + assertThat(fromParcel.getBluetoothAddress()).isEqualTo(info.getBluetoothAddress()); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(info.getExtras().getString("key1")); + } + + private Bundle buildBundle(String key, String value) { + Bundle bundle = new Bundle(); + bundle.putString(key, value); + return bundle; + } + + private DeviceInfo writeAndRead(DeviceInfo state) { + Parcel parcel = Parcel.obtain(); + state.writeToParcel(parcel, 0); + parcel.setDataPosition(0); + DeviceInfo fromParcel = DeviceInfo.CREATOR.createFromParcel(parcel); + return fromParcel; + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItemTest.kt b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItemTest.kt new file mode 100644 index 000000000000..56e9b6c27925 --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItemTest.kt @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings + +import android.os.Bundle +import android.os.Parcel +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.RobolectricTestRunner + +@RunWith(RobolectricTestRunner::class) +class DeviceSettingItemTest { + + @Test + fun parcelOperation() { + val item = + DeviceSettingItem( + settingId = 1, + packageName = "package_name", + className = "class_name", + intentAction = "intent_action", + extras = Bundle().apply { putString("key1", "value1") }, + ) + + val fromParcel = writeAndRead(item) + + assertThat(fromParcel.settingId).isEqualTo(item.settingId) + assertThat(fromParcel.packageName).isEqualTo(item.packageName) + assertThat(fromParcel.className).isEqualTo(item.className) + assertThat(fromParcel.intentAction).isEqualTo(item.intentAction) + assertThat(fromParcel.extras.getString("key1")).isEqualTo(item.extras.getString("key1")) + } + + private fun writeAndRead(item: DeviceSettingItem): DeviceSettingItem { + val parcel = Parcel.obtain() + item.writeToParcel(parcel, 0) + parcel.setDataPosition(0) + return DeviceSettingItem.CREATOR.createFromParcel(parcel) + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingStateTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingStateTest.java new file mode 100644 index 000000000000..12b7a0f0167c --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingStateTest.java @@ -0,0 +1,170 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import static com.google.common.truth.Truth.assertThat; + +import static org.junit.Assert.assertThrows; + +import android.os.Bundle; +import android.os.Parcel; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; + +@RunWith(RobolectricTestRunner.class) +public final class DeviceSettingStateTest { + private static final ActionSwitchPreferenceState ACTION_SWITCH_PREFERENCE_STATE = + new ActionSwitchPreferenceState.Builder().setChecked(true).build(); + private static final MultiTogglePreferenceState MULTI_TOGGLE_PREFERENCE_STATE = + new MultiTogglePreferenceState.Builder().setState(123).build(); + + @Test + public void build_withoutPreferenceState_fail() { + assertThrows( + IllegalArgumentException.class, + () -> { + DeviceSettingState unused = + new DeviceSettingState.Builder() + .setSettingId(123) + .setExtras(buildBundle("key1", "value1")) + .build(); + }); + } + + @Test + public void build_withoutExtra_successfully() { + DeviceSettingState unused = + new DeviceSettingState.Builder() + .setSettingId(123) + .setPreferenceState(ACTION_SWITCH_PREFERENCE_STATE) + .build(); + } + + @Test + public void build_withAllFields_successfully() { + DeviceSettingState unused = + new DeviceSettingState.Builder() + .setSettingId(123) + .setPreferenceState(ACTION_SWITCH_PREFERENCE_STATE) + .setExtras(buildBundle("key1", "value1")) + .build(); + } + + @Test + public void getMethods_actionSwitchPreferenceState() { + DeviceSettingState state = + new DeviceSettingState.Builder() + .setSettingId(123) + .setPreferenceState(ACTION_SWITCH_PREFERENCE_STATE) + .setExtras(buildBundle("key1", "value1")) + .build(); + + assertThat(state.getSettingId()).isEqualTo(123); + assertThat(state.getPreferenceState()).isInstanceOf(ActionSwitchPreferenceState.class); + assertThat(state.getExtras().getString("key1")).isEqualTo("value1"); + } + + @Test + public void getMethods_multiTogglePreference() { + DeviceSettingState state = + new DeviceSettingState.Builder() + .setSettingId(123) + .setPreferenceState(MULTI_TOGGLE_PREFERENCE_STATE) + .setExtras(buildBundle("key1", "value1")) + .build(); + + assertThat(state.getSettingId()).isEqualTo(123); + assertThat(state.getPreferenceState()).isInstanceOf(MultiTogglePreferenceState.class); + assertThat(state.getExtras().getString("key1")).isEqualTo("value1"); + } + + @Test + public void parcelOperation_actionSwitchPreferenceState() { + DeviceSettingState state = + new DeviceSettingState.Builder() + .setSettingId(123) + .setPreferenceState(ACTION_SWITCH_PREFERENCE_STATE) + .setExtras(buildBundle("key1", "value1")) + .build(); + + DeviceSettingState fromParcel = writeAndRead(state); + + assertThat(fromParcel.getSettingId()).isEqualTo(state.getSettingId()); + assertThat(fromParcel.getPreferenceState()).isInstanceOf(ActionSwitchPreferenceState.class); + assertThat(fromParcel.getPreferenceState().getSettingType()) + .isEqualTo(DeviceSettingType.DEVICE_SETTING_TYPE_ACTION_SWITCH); + assertThat(((ActionSwitchPreferenceState) fromParcel.getPreferenceState()).getChecked()) + .isTrue(); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(state.getExtras().getString("key1")); + } + + @Test + public void parcelOperation_multiTogglePreferenceState() { + DeviceSettingState state = + new DeviceSettingState.Builder() + .setSettingId(123) + .setPreferenceState(MULTI_TOGGLE_PREFERENCE_STATE) + .setExtras(buildBundle("key1", "value1")) + .build(); + + DeviceSettingState fromParcel = writeAndRead(state); + + assertThat(fromParcel.getSettingId()).isEqualTo(state.getSettingId()); + assertThat(fromParcel.getPreferenceState()).isInstanceOf(MultiTogglePreferenceState.class); + assertThat(fromParcel.getPreferenceState().getSettingType()) + .isEqualTo(DeviceSettingType.DEVICE_SETTING_TYPE_MULTI_TOGGLE); + assertThat(((MultiTogglePreferenceState) fromParcel.getPreferenceState()).getState()) + .isEqualTo(123); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(state.getExtras().getString("key1")); + } + + @Test + public void parcelOperation_unknownPreferenceState() { + DeviceSettingState state = + new DeviceSettingState.Builder() + .setSettingId(123) + .setPreferenceState(new DeviceSettingPreferenceState(123) {}) + .setExtras(buildBundle("key1", "value1")) + .build(); + + DeviceSettingState fromParcel = writeAndRead(state); + + assertThat(fromParcel.getSettingId()).isEqualTo(state.getSettingId()); + assertThat(fromParcel.getPreferenceState()) + .isSameInstanceAs(DeviceSettingPreferenceState.UNKNOWN); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(state.getExtras().getString("key1")); + } + + private Bundle buildBundle(String key, String value) { + Bundle bundle = new Bundle(); + bundle.putString(key, value); + return bundle; + } + + private DeviceSettingState writeAndRead(DeviceSettingState state) { + Parcel parcel = Parcel.obtain(); + state.writeToParcel(parcel, 0); + parcel.setDataPosition(0); + DeviceSettingState fromParcel = DeviceSettingState.CREATOR.createFromParcel(parcel); + return fromParcel; + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingTest.java new file mode 100644 index 000000000000..98dc54b2e33d --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingTest.java @@ -0,0 +1,169 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import static com.google.common.truth.Truth.assertThat; + +import static org.junit.Assert.assertThrows; + +import android.os.Bundle; +import android.os.Parcel; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; + +@RunWith(RobolectricTestRunner.class) +public final class DeviceSettingTest { + private static final ActionSwitchPreference ACTION_SWITCH_PREFERENCE = + new ActionSwitchPreference.Builder().setTitle("action_switch_preference").build(); + private static final MultiTogglePreference MULTI_TOGGLE_PREFERENCE = + new MultiTogglePreference.Builder().setTitle("multi_toggle_preference").build(); + + @Test + public void build_withoutPreference_fail() { + assertThrows( + IllegalArgumentException.class, + () -> { + DeviceSetting unused = + new DeviceSetting.Builder() + .setSettingId(123) + .setExtras(buildBundle("key1", "value1")) + .build(); + }); + } + + @Test + public void build_withoutExtra_successfully() { + DeviceSetting unused = + new DeviceSetting.Builder() + .setSettingId(123) + .setPreference(ACTION_SWITCH_PREFERENCE) + .build(); + } + + @Test + public void build_withAllFields_successfully() { + DeviceSetting unused = + new DeviceSetting.Builder() + .setSettingId(123) + .setPreference(ACTION_SWITCH_PREFERENCE) + .setExtras(buildBundle("key1", "value1")) + .build(); + } + + @Test + public void getMethods_actionSwitchPreference() { + DeviceSetting setting = + new DeviceSetting.Builder() + .setSettingId(123) + .setPreference(ACTION_SWITCH_PREFERENCE) + .setExtras(buildBundle("key1", "value1")) + .build(); + + assertThat(setting.getSettingId()).isEqualTo(123); + assertThat(setting.getPreference()).isInstanceOf(ActionSwitchPreference.class); + assertThat(setting.getExtras().getString("key1")).isEqualTo("value1"); + } + + @Test + public void getMethods_multiTogglePreference() { + DeviceSetting setting = + new DeviceSetting.Builder() + .setSettingId(123) + .setPreference(MULTI_TOGGLE_PREFERENCE) + .setExtras(buildBundle("key1", "value1")) + .build(); + + assertThat(setting.getSettingId()).isEqualTo(123); + assertThat(setting.getPreference()).isInstanceOf(MultiTogglePreference.class); + assertThat(setting.getExtras().getString("key1")).isEqualTo("value1"); + } + + @Test + public void parcelOperation_actionSwitchPreference() { + DeviceSetting setting = + new DeviceSetting.Builder() + .setSettingId(123) + .setPreference(ACTION_SWITCH_PREFERENCE) + .setExtras(buildBundle("key1", "value1")) + .build(); + + DeviceSetting fromParcel = writeAndRead(setting); + + assertThat(fromParcel.getSettingId()).isEqualTo(setting.getSettingId()); + assertThat(fromParcel.getPreference()).isInstanceOf(ActionSwitchPreference.class); + assertThat(fromParcel.getPreference().getSettingType()) + .isEqualTo(DeviceSettingType.DEVICE_SETTING_TYPE_ACTION_SWITCH); + assertThat(((ActionSwitchPreference) fromParcel.getPreference()).getTitle()) + .isEqualTo("action_switch_preference"); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(setting.getExtras().getString("key1")); + } + + @Test + public void parcelOperation_multiTogglePreference() { + DeviceSetting setting = + new DeviceSetting.Builder() + .setSettingId(123) + .setPreference(MULTI_TOGGLE_PREFERENCE) + .setExtras(buildBundle("key1", "value1")) + .build(); + + DeviceSetting fromParcel = writeAndRead(setting); + + assertThat(fromParcel.getSettingId()).isEqualTo(setting.getSettingId()); + assertThat(fromParcel.getPreference()).isInstanceOf(MultiTogglePreference.class); + assertThat(fromParcel.getPreference().getSettingType()) + .isEqualTo(DeviceSettingType.DEVICE_SETTING_TYPE_MULTI_TOGGLE); + assertThat(((MultiTogglePreference) fromParcel.getPreference()).getTitle()) + .isEqualTo("multi_toggle_preference"); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(setting.getExtras().getString("key1")); + } + + @Test + public void parcelOperation_unknownPreference() { + DeviceSetting setting = + new DeviceSetting.Builder() + .setSettingId(123) + .setPreference(new DeviceSettingPreference(123) {}) + .setExtras(buildBundle("key1", "value1")) + .build(); + + DeviceSetting fromParcel = writeAndRead(setting); + + assertThat(fromParcel.getSettingId()).isEqualTo(setting.getSettingId()); + assertThat(fromParcel.getPreference()).isSameInstanceAs(DeviceSettingPreference.UNKNOWN); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(setting.getExtras().getString("key1")); + } + + private Bundle buildBundle(String key, String value) { + Bundle bundle = new Bundle(); + bundle.putString(key, value); + return bundle; + } + + private DeviceSetting writeAndRead(DeviceSetting state) { + Parcel parcel = Parcel.obtain(); + state.writeToParcel(parcel, 0); + parcel.setDataPosition(0); + DeviceSetting fromParcel = DeviceSetting.CREATOR.createFromParcel(parcel); + return fromParcel; + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfigTest.kt b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfigTest.kt new file mode 100644 index 000000000000..2b29a6ef5e5a --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfigTest.kt @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings + +import android.os.Bundle +import android.os.Parcel +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.RobolectricTestRunner + +@RunWith(RobolectricTestRunner::class) +class DeviceSettingsConfigTest { + + @Test + fun parcelOperation() { + val config = + DeviceSettingsConfig( + mainContentItems = + listOf( + DeviceSettingItem( + 1, + "package_name_1", + "class_name_1", + "intent_action_1", + Bundle() + ) + ), + moreSettingsItems = + listOf( + DeviceSettingItem( + 2, + "package_name_2", + "class_name_2", + "intent_action_2", + Bundle() + ) + ), + moreSettingsFooter = "footer", + extras = Bundle().apply { putString("key1", "value1") }, + ) + + val fromParcel = writeAndRead(config) + + assertThat(fromParcel.mainContentItems.stream().map { it.settingId }.toList()) + .containsExactly(1) + assertThat(fromParcel.mainContentItems.stream().map { it.packageName }.toList()) + .containsExactly("package_name_1") + assertThat(fromParcel.mainContentItems.stream().map { it.className }.toList()) + .containsExactly("class_name_1") + assertThat(fromParcel.mainContentItems.stream().map { it.intentAction }.toList()) + .containsExactly("intent_action_1") + assertThat(fromParcel.moreSettingsItems.stream().map { it.settingId }.toList()) + .containsExactly(2) + assertThat(fromParcel.moreSettingsItems.stream().map { it.packageName }.toList()) + .containsExactly("package_name_2") + assertThat(fromParcel.moreSettingsItems.stream().map { it.className }.toList()) + .containsExactly("class_name_2") + assertThat(fromParcel.moreSettingsItems.stream().map { it.intentAction }.toList()) + .containsExactly("intent_action_2") + assertThat(fromParcel.moreSettingsFooter).isEqualTo(config.moreSettingsFooter) + } + + private fun writeAndRead(item: DeviceSettingsConfig): DeviceSettingsConfig { + val parcel = Parcel.obtain() + item.writeToParcel(parcel, 0) + parcel.setDataPosition(0) + return DeviceSettingsConfig.CREATOR.createFromParcel(parcel) + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreferenceStateTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreferenceStateTest.java new file mode 100644 index 000000000000..2645fc5f16ff --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreferenceStateTest.java @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import static com.google.common.truth.Truth.assertThat; + +import android.os.Bundle; +import android.os.Parcel; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; + +@RunWith(RobolectricTestRunner.class) +public final class MultiTogglePreferenceStateTest { + + @Test + public void getMethods() { + MultiTogglePreferenceState state1 = + new MultiTogglePreferenceState.Builder() + .setState(1) + .setExtras(buildBundle("key1", "value1")) + .build(); + MultiTogglePreferenceState state2 = + new MultiTogglePreferenceState.Builder() + .setState(2) + .setExtras(buildBundle("key2", "value2")) + .build(); + + assertThat(state1.getState()).isEqualTo(1); + assertThat(state2.getState()).isEqualTo(2); + assertThat(state1.getExtras().getString("key1")).isEqualTo("value1"); + assertThat(state2.getExtras().getString("key2")).isEqualTo("value2"); + } + + @Test + public void parcelOperation() { + MultiTogglePreferenceState state = + new MultiTogglePreferenceState.Builder() + .setState(123) + .setExtras(buildBundle("key1", "value1")) + .build(); + + MultiTogglePreferenceState fromParcel = writeAndRead(state); + + assertThat(fromParcel.getState()).isEqualTo(state.getState()); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(state.getExtras().getString("key1")); + } + + private Bundle buildBundle(String key, String value) { + Bundle bundle = new Bundle(); + bundle.putString(key, value); + return bundle; + } + + private MultiTogglePreferenceState writeAndRead(MultiTogglePreferenceState state) { + Parcel parcel = Parcel.obtain(); + state.writeToParcel(parcel, 0); + parcel.setDataPosition(0); + MultiTogglePreferenceState fromParcel = + MultiTogglePreferenceState.CREATOR.createFromParcel(parcel); + return fromParcel; + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreferenceTest.java new file mode 100644 index 000000000000..62fcb5ec3011 --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/MultiTogglePreferenceTest.java @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import static com.google.common.truth.Truth.assertThat; + +import static org.junit.Assert.assertThrows; + +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Parcel; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; + +@RunWith(RobolectricTestRunner.class) +public final class MultiTogglePreferenceTest { + private static final Bitmap ICON = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); + private static final ToggleInfo TOGGLE_INFO_1 = + new ToggleInfo.Builder().setLabel("label1").setIcon(ICON).build(); + private static final ToggleInfo TOGGLE_INFO_2 = + new ToggleInfo.Builder().setLabel("label2").setIcon(ICON).build(); + + @Test + public void build_withoutTitle_fail() { + assertThrows( + IllegalArgumentException.class, + () -> { + MultiTogglePreference unused = + new MultiTogglePreference.Builder() + .addToggleInfo(TOGGLE_INFO_1) + .setState(0) + .setAllowChangingState(true) + .setExtras(buildBundle("key1", "value1")) + .build(); + }); + } + + @Test + public void build_withNegativeState_fail() { + assertThrows( + IllegalArgumentException.class, + () -> { + MultiTogglePreference unused = + new MultiTogglePreference.Builder() + .setTitle("title") + .addToggleInfo(TOGGLE_INFO_1) + .setState(-1) + .setAllowChangingState(true) + .setExtras(buildBundle("key1", "value1")) + .build(); + }); + } + + @Test + public void build_withoutExtra_successfully() { + MultiTogglePreference unused = + new MultiTogglePreference.Builder() + .setTitle("title") + .addToggleInfo(TOGGLE_INFO_1) + .addToggleInfo(TOGGLE_INFO_2) + .setState(123) + .setAllowChangingState(true) + .build(); + } + + @Test + public void build_withAllFields_successfully() { + MultiTogglePreference unused = + new MultiTogglePreference.Builder() + .setTitle("title") + .addToggleInfo(TOGGLE_INFO_1) + .addToggleInfo(TOGGLE_INFO_2) + .setState(123) + .setAllowChangingState(true) + .setExtras(buildBundle("key1", "value1")) + .build(); + } + + @Test + public void getMethods() { + MultiTogglePreference preference = + new MultiTogglePreference.Builder() + .setTitle("title") + .addToggleInfo(TOGGLE_INFO_1) + .addToggleInfo(TOGGLE_INFO_2) + .setState(123) + .setAllowChangingState(true) + .setExtras(buildBundle("key1", "value1")) + .build(); + + assertThat(preference.getTitle()).isEqualTo("title"); + assertThat(preference.getToggleInfos().stream().map(ToggleInfo::getLabel).toList()) + .containsExactly("label1", "label2"); + assertThat(preference.getState()).isEqualTo(123); + assertThat(preference.isAllowedChangingState()).isTrue(); + assertThat(preference.getExtras().getString("key1")).isEqualTo("value1"); + } + + @Test + public void parcelOperation() { + MultiTogglePreference preference = + new MultiTogglePreference.Builder() + .setTitle("title") + .addToggleInfo(TOGGLE_INFO_1) + .addToggleInfo(TOGGLE_INFO_2) + .setState(123) + .setAllowChangingState(true) + .setExtras(buildBundle("key1", "value1")) + .build(); + + MultiTogglePreference fromParcel = writeAndRead(preference); + + assertThat(fromParcel.getTitle()).isEqualTo(preference.getTitle()); + assertThat(fromParcel.getToggleInfos().stream().map(ToggleInfo::getLabel).toList()) + .containsExactly("label1", "label2"); + assertThat(fromParcel.getState()).isEqualTo(preference.getState()); + assertThat(fromParcel.isAllowedChangingState()) + .isEqualTo(preference.isAllowedChangingState()); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(preference.getExtras().getString("key1")); + } + + private Bundle buildBundle(String key, String value) { + Bundle bundle = new Bundle(); + bundle.putString(key, value); + return bundle; + } + + private MultiTogglePreference writeAndRead(MultiTogglePreference preference) { + Parcel parcel = Parcel.obtain(); + preference.writeToParcel(parcel, 0); + parcel.setDataPosition(0); + MultiTogglePreference fromParcel = MultiTogglePreference.CREATOR.createFromParcel(parcel); + return fromParcel; + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/ToggleInfoTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/ToggleInfoTest.java new file mode 100644 index 000000000000..439749a53d32 --- /dev/null +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/ToggleInfoTest.java @@ -0,0 +1,125 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.bluetooth.devicesettings; + +import static com.google.common.truth.Truth.assertThat; + +import static org.junit.Assert.assertThrows; + +import android.graphics.Bitmap; +import android.os.Bundle; +import android.os.Parcel; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; + +@RunWith(RobolectricTestRunner.class) +public final class ToggleInfoTest { + + @Test + public void build_withoutIcon_fail() { + assertThrows( + IllegalArgumentException.class, + () -> { + ToggleInfo unused = + new ToggleInfo.Builder() + .setLabel("label") + .setExtras(buildBundle("key1", "value1")) + .build(); + }); + } + + @Test + public void build_withoutLabel_fail() { + assertThrows( + IllegalArgumentException.class, + () -> { + ToggleInfo unused = + new ToggleInfo.Builder() + .setIcon(Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)) + .setExtras(buildBundle("key1", "value1")) + .build(); + }); + } + + @Test + public void build_withoutExtra_successfully() { + ToggleInfo unused = + new ToggleInfo.Builder() + .setLabel("label") + .setIcon(Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)) + .build(); + } + + @Test + public void build_withAllFields_successfully() { + ToggleInfo unused = + new ToggleInfo.Builder() + .setLabel("label") + .setIcon(Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)) + .setExtras(buildBundle("key1", "value1")) + .build(); + } + + @Test + public void getMethods() { + Bitmap icon = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); + ToggleInfo info = + new ToggleInfo.Builder() + .setLabel("label") + .setIcon(icon) + .setExtras(buildBundle("key1", "value1")) + .build(); + + assertThat(info.getLabel()).isEqualTo("label"); + assertThat(info.getIcon()).isSameInstanceAs(icon); + assertThat(info.getExtras().getString("key1")).isEqualTo("value1"); + } + + @Test + public void parcelOperation() { + Bitmap icon = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); + ToggleInfo info = + new ToggleInfo.Builder() + .setLabel("label") + .setIcon(icon) + .setExtras(buildBundle("key1", "value1")) + .build(); + + ToggleInfo fromParcel = writeAndRead(info); + + assertThat(fromParcel.getLabel()).isEqualTo(info.getLabel()); + assertThat(fromParcel.getIcon().sameAs(info.getIcon())).isTrue(); + assertThat(fromParcel.getExtras().getString("key1")) + .isEqualTo(info.getExtras().getString("key1")); + } + + private Bundle buildBundle(String key, String value) { + Bundle bundle = new Bundle(); + bundle.putString(key, value); + return bundle; + } + + private ToggleInfo writeAndRead(ToggleInfo state) { + Parcel parcel = Parcel.obtain(); + state.writeToParcel(parcel, 0); + parcel.setDataPosition(0); + ToggleInfo fromParcel = ToggleInfo.CREATOR.createFromParcel(parcel); + return fromParcel; + } +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java index c9b35a0ae833..e1447dc8410c 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java @@ -861,6 +861,23 @@ public class InfoMediaManagerTest { } @Test + public void addMediaDevice_withAddresslessBluetoothDevice_shouldIgnoreDeviceAndNotCrash() { + MediaRoute2Info bluetoothRoute = + new MediaRoute2Info.Builder(TEST_BLUETOOTH_ROUTE).setAddress(null).build(); + + final CachedBluetoothDeviceManager cachedBluetoothDeviceManager = + mock(CachedBluetoothDeviceManager.class); + when(mLocalBluetoothManager.getCachedDeviceManager()) + .thenReturn(cachedBluetoothDeviceManager); + when(cachedBluetoothDeviceManager.findDevice(any(BluetoothDevice.class))).thenReturn(null); + + mInfoMediaManager.mMediaDevices.clear(); + mInfoMediaManager.addMediaDevice(bluetoothRoute, TEST_SYSTEM_ROUTING_SESSION); + + assertThat(mInfoMediaManager.mMediaDevices.size()).isEqualTo(0); + } + + @Test public void onRoutesUpdated_setsFirstSelectedRouteAsCurrentConnectedDevice() { final CachedBluetoothDeviceManager cachedBluetoothDeviceManager = mock(CachedBluetoothDeviceManager.class); diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/statusbar/notification/data/repository/ZenModeRepositoryTest.kt b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/data/repository/ZenModeRepositoryTest.kt index 688bebb79384..5294ce382aa9 100644 --- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/statusbar/notification/data/repository/ZenModeRepositoryTest.kt +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/data/repository/ZenModeRepositoryTest.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.statusbar.notification.data.repository +package com.android.settingslib.notification.data.repository import android.app.NotificationManager import android.content.BroadcastReceiver @@ -23,7 +23,6 @@ import android.content.Intent import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import android.provider.Settings.Global -import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.settingslib.flags.Flags import com.google.common.truth.Truth.assertThat @@ -43,9 +42,10 @@ import org.mockito.Mockito.any import org.mockito.Mockito.verify import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations +import org.robolectric.RobolectricTestRunner @OptIn(ExperimentalCoroutinesApi::class) -@RunWith(AndroidJUnit4::class) +@RunWith(RobolectricTestRunner::class) @SmallTest class ZenModeRepositoryTest { diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/EnableZenModeDialogTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/modes/EnableZenModeDialogTest.java index 6b81c1a6f794..e397f97e0277 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/EnableZenModeDialogTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/modes/EnableZenModeDialogTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.notification; +package com.android.settingslib.notification.modes; import static com.google.common.truth.Truth.assertThat; @@ -77,7 +77,7 @@ public class EnableZenModeDialogTest { mController = spy(new EnableZenModeDialog(mContext)); mController.mContext = mContext; mController.mLayoutInflater = mLayoutInflater; - mController.mForeverId = Condition.newId(mContext).appendPath("forever").build(); + mController.mForeverId = Condition.newId(mContext).appendPath("forever").build(); when(mContext.getString(com.android.internal.R.string.zen_mode_forever)) .thenReturn("testSummary"); when(mContext.getString(com.android.internal.R.string.selected)) @@ -96,9 +96,9 @@ public class EnableZenModeDialogTest { doNothing().when(mController).bindNextAlarm(any()); // as a result of doing nothing above, must bind manually: - Uri alarm = Condition.newId(mContext).appendPath("alarm").build(); + Uri alarm = Condition.newId(mContext).appendPath("alarm").build(); mAlarmCondition = new Condition(alarm, "alarm", "", "", 0, 0, 0); - Uri countdown = Condition.newId(mContext).appendPath("countdown").build(); + Uri countdown = Condition.newId(mContext).appendPath("countdown").build(); mCountdownCondition = new Condition(countdown, "countdown", "", "", 0, 0, 0); mController.bind(mCountdownCondition, mController.mZenRadioGroupContent.getChildAt( @@ -215,4 +215,4 @@ public class EnableZenModeDialogTest { assertThat(countdown.line1.getStateDescription()).isNull(); assertThat(alwaysAsk.line1.getStateDescription().toString()).isEqualTo("selected"); } -}
\ No newline at end of file +} diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/ZenDurationDialogTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/modes/ZenDurationDialogTest.java index fc45e89a6dd5..19845a04ea18 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/ZenDurationDialogTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/modes/ZenDurationDialogTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settingslib.notification; +package com.android.settingslib.notification.modes; import static com.google.common.truth.Truth.assertThat; @@ -230,4 +230,4 @@ public class ZenDurationDialogTest { assertThat(countdown.line1.getStateDescription()).isNull(); assertThat(alwaysAsk.line1.getStateDescription().toString()).isEqualTo("selected"); } -}
\ No newline at end of file +} diff --git a/packages/SystemUI/aconfig/systemui.aconfig b/packages/SystemUI/aconfig/systemui.aconfig index 6bbac4572e11..3f165a3bcb63 100644 --- a/packages/SystemUI/aconfig/systemui.aconfig +++ b/packages/SystemUI/aconfig/systemui.aconfig @@ -1052,6 +1052,16 @@ flag { } flag { + name: "glanceable_hub_back_gesture" + namespace: "systemui" + description: "Enables back gesture on the glanceable hub" + bug: "346331399" + metadata { + purpose: PURPOSE_BUGFIX + } +} + +flag { name: "glanceable_hub_allow_keyguard_when_dreaming" namespace: "systemui" description: "Allows users to exit dream to keyguard with glanceable hub enabled" @@ -1136,4 +1146,14 @@ flag { metadata { purpose: PURPOSE_BUGFIX } -}
\ No newline at end of file +} + +flag { + namespace: "systemui" + name: "fetch_bookmarks_xml_keyboard_shortcuts" + description: "Fetches application launch keyboard shortcuts from system server rather than building a hardcoded list." + bug: "312452252" + metadata { + purpose: PURPOSE_BUGFIX + } +} diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt index cc4e7752ab21..d0466313cf81 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/communal/ui/compose/CommunalContainer.kt @@ -27,6 +27,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.android.compose.animation.scene.Back import com.android.compose.animation.scene.CommunalSwipeDetector import com.android.compose.animation.scene.Edge import com.android.compose.animation.scene.ElementKey @@ -41,6 +42,7 @@ import com.android.compose.animation.scene.SwipeDirection import com.android.compose.animation.scene.observableTransitionState import com.android.compose.animation.scene.transitions import com.android.compose.theme.LocalAndroidColorScheme +import com.android.systemui.Flags.glanceableHubBackGesture import com.android.systemui.communal.shared.model.CommunalBackgroundType import com.android.systemui.communal.shared.model.CommunalScenes import com.android.systemui.communal.shared.model.CommunalTransitionKeys @@ -193,10 +195,17 @@ fun CommunalContainer( Box(modifier = Modifier.fillMaxSize()) } - scene( - CommunalScenes.Communal, - userActions = mapOf(Swipe(SwipeDirection.Right) to CommunalScenes.Blank) - ) { + val userActions = + if (glanceableHubBackGesture()) { + mapOf( + Swipe(SwipeDirection.Right) to CommunalScenes.Blank, + Back to CommunalScenes.Blank, + ) + } else { + mapOf(Swipe(SwipeDirection.Right) to CommunalScenes.Blank) + } + + scene(CommunalScenes.Communal, userActions = userActions) { CommunalScene( backgroundType = backgroundType, colors = colors, diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/DraggableHandler.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/DraggableHandler.kt index e8fdfc8da3bc..d95b388eb347 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/DraggableHandler.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/DraggableHandler.kt @@ -913,6 +913,7 @@ internal class NestedScrollHandlerImpl( private val topOrLeftBehavior: NestedScrollBehavior, private val bottomOrRightBehavior: NestedScrollBehavior, private val isExternalOverscrollGesture: () -> Boolean, + private val pointersInfoOwner: PointersInfoOwner, ) { private val layoutState = layoutImpl.state private val draggableHandler = layoutImpl.draggableHandler(orientation) @@ -924,25 +925,12 @@ internal class NestedScrollHandlerImpl( // moving on to the next scene. var canChangeScene = false - val actionUpOrLeft = - Swipe( - direction = - when (orientation) { - Orientation.Horizontal -> SwipeDirection.Left - Orientation.Vertical -> SwipeDirection.Up - }, - pointerCount = 1, - ) - - val actionDownOrRight = - Swipe( - direction = - when (orientation) { - Orientation.Horizontal -> SwipeDirection.Right - Orientation.Vertical -> SwipeDirection.Down - }, - pointerCount = 1, - ) + var _lastPointersInfo: PointersInfo? = null + fun pointersInfo(): PointersInfo { + return checkNotNull(_lastPointersInfo) { + "PointersInfo should be initialized before the transition begins." + } + } fun hasNextScene(amount: Float): Boolean { val transitionState = layoutState.transitionState @@ -950,8 +938,30 @@ internal class NestedScrollHandlerImpl( val fromScene = layoutImpl.scene(scene) val nextScene = when { - amount < 0f -> fromScene.userActions[actionUpOrLeft] - amount > 0f -> fromScene.userActions[actionDownOrRight] + amount < 0f -> { + val actionUpOrLeft = + Swipe( + direction = + when (orientation) { + Orientation.Horizontal -> SwipeDirection.Left + Orientation.Vertical -> SwipeDirection.Up + }, + pointerCount = pointersInfo().pointersDown, + ) + fromScene.userActions[actionUpOrLeft] + } + amount > 0f -> { + val actionDownOrRight = + Swipe( + direction = + when (orientation) { + Orientation.Horizontal -> SwipeDirection.Right + Orientation.Vertical -> SwipeDirection.Down + }, + pointerCount = pointersInfo().pointersDown, + ) + fromScene.userActions[actionDownOrRight] + } else -> null } if (nextScene != null) return true @@ -985,6 +995,8 @@ internal class NestedScrollHandlerImpl( return@PriorityNestedScrollConnection false } + _lastPointersInfo = pointersInfoOwner.pointersInfo() + // If the current swipe transition is *not* closed to 0f or 1f, then we want the // scroll events to intercept the current transition to continue the scene // transition. @@ -1002,6 +1014,8 @@ internal class NestedScrollHandlerImpl( val isZeroOffset = if (isExternalOverscrollGesture()) false else offsetBeforeStart == 0f + _lastPointersInfo = pointersInfoOwner.pointersInfo() + val canStart = when (behavior) { NestedScrollBehavior.DuringTransitionBetweenScenes -> { @@ -1039,6 +1053,8 @@ internal class NestedScrollHandlerImpl( // We could start an overscroll animation canChangeScene = false + _lastPointersInfo = pointersInfoOwner.pointersInfo() + val canStart = behavior.canStartOnPostFling && hasNextScene(velocityAvailable) if (canStart) { isIntercepting = false @@ -1049,10 +1065,11 @@ internal class NestedScrollHandlerImpl( canContinueScroll = { true }, canScrollOnFling = false, onStart = { offsetAvailable -> + val pointersInfo = pointersInfo() dragController = draggableHandler.onDragStarted( - pointersDown = 1, - startedPosition = null, + pointersDown = pointersInfo.pointersDown, + startedPosition = pointersInfo.startedPosition, overSlop = if (isIntercepting) 0f else offsetAvailable, ) }, diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MultiPointerDraggable.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MultiPointerDraggable.kt index f40f26578302..cdcfc84ce92a 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MultiPointerDraggable.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/MultiPointerDraggable.kt @@ -29,18 +29,21 @@ import androidx.compose.ui.input.pointer.PointerId import androidx.compose.ui.input.pointer.PointerInputChange import androidx.compose.ui.input.pointer.PointerInputScope import androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNode -import androidx.compose.ui.input.pointer.changedToDownIgnoreConsumed +import androidx.compose.ui.input.pointer.changedToDown import androidx.compose.ui.input.pointer.changedToUpIgnoreConsumed import androidx.compose.ui.input.pointer.positionChange import androidx.compose.ui.input.pointer.positionChangeIgnoreConsumed import androidx.compose.ui.input.pointer.util.VelocityTracker import androidx.compose.ui.input.pointer.util.addPointerInputChange import androidx.compose.ui.node.CompositionLocalConsumerModifierNode +import androidx.compose.ui.node.DelegatableNode import androidx.compose.ui.node.DelegatingNode import androidx.compose.ui.node.ModifierNodeElement import androidx.compose.ui.node.ObserverModifierNode import androidx.compose.ui.node.PointerInputModifierNode +import androidx.compose.ui.node.TraversableNode import androidx.compose.ui.node.currentValueOf +import androidx.compose.ui.node.findNearestAncestor import androidx.compose.ui.node.observeReads import androidx.compose.ui.platform.LocalViewConfiguration import androidx.compose.ui.unit.IntSize @@ -48,11 +51,12 @@ import androidx.compose.ui.unit.Velocity import androidx.compose.ui.util.fastAll import androidx.compose.ui.util.fastAny import androidx.compose.ui.util.fastFirstOrNull -import androidx.compose.ui.util.fastForEach +import androidx.compose.ui.util.fastSumBy import kotlin.coroutines.cancellation.CancellationException import kotlin.math.sign import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.isActive +import kotlinx.coroutines.launch /** * Make an element draggable in the given [orientation]. @@ -112,6 +116,18 @@ private data class MultiPointerDraggableElement( } } +private val TRAVERSE_KEY = Any() + +/** Find the nearest [PointersInfoOwner] ancestor or throw. */ +internal fun DelegatableNode.requireAncestorPointersInfoOwner(): PointersInfoOwner { + val ancestorNode = + checkNotNull(findNearestAncestor(TRAVERSE_KEY)) { + "This should never happen! Couldn't find a MultiPointerDraggableNode. " + + "Are we inside an SceneTransitionLayout?" + } + return ancestorNode as PointersInfoOwner +} + internal class MultiPointerDraggableNode( orientation: Orientation, enabled: () -> Boolean, @@ -120,15 +136,19 @@ internal class MultiPointerDraggableNode( (startedPosition: Offset, overSlop: Float, pointersDown: Int) -> DragController, var swipeDetector: SwipeDetector = DefaultSwipeDetector, ) : - PointerInputModifierNode, DelegatingNode(), + PointerInputModifierNode, CompositionLocalConsumerModifierNode, + TraversableNode, + PointersInfoOwner, ObserverModifierNode { private val pointerInputHandler: suspend PointerInputScope.() -> Unit = { pointerInput() } private val delegate = delegate(SuspendingPointerInputModifierNode(pointerInputHandler)) private val velocityTracker = VelocityTracker() private var previousEnabled: Boolean = false + override val traverseKey: Any = TRAVERSE_KEY + var enabled: () -> Boolean = enabled set(value) { // Reset the pointer input whenever enabled changed. @@ -185,12 +205,42 @@ internal class MultiPointerDraggableNode( bounds: IntSize ) = delegate.onPointerEvent(pointerEvent, pass, bounds) + private var startedPosition: Offset? = null + private var pointersDown: Int = 0 + + override fun pointersInfo(): PointersInfo { + return PointersInfo( + startedPosition = startedPosition, + // Note: We could have 0 pointers during fling or for other reasons. + pointersDown = pointersDown.coerceAtLeast(1), + ) + } + private suspend fun PointerInputScope.pointerInput() { if (!enabled()) { return } coroutineScope { + launch { + // Intercepts pointer inputs and exposes [PointersInfo], via + // [requireAncestorPointersInfoOwner], to our descendants. + awaitPointerEventScope { + while (isActive) { + // During the Initial pass, we receive the event after our ancestors. + val pointers = awaitPointerEvent(PointerEventPass.Initial).changes + + pointersDown = pointers.countDown() + if (pointersDown == 0) { + // There are no more pointers down + startedPosition = null + } else if (startedPosition == null) { + startedPosition = pointers.first().position + } + } + } + } + awaitPointerEventScope { while (isActive) { try { @@ -314,15 +364,16 @@ internal class MultiPointerDraggableNode( } if (drag != null) { - // Count the number of pressed pointers. - val pressed = mutableSetOf<PointerId>() - currentEvent.changes.fastForEach { change -> - if (change.pressed) { - pressed.add(change.id) - } - } - - val controller = onDragStart(drag.position, overSlop, pressed.size) + val controller = + onDragStart( + // The startedPosition is the starting position when a gesture begins (when the + // first pointer touches the screen), not the point where we begin dragging. + // For example, this could be different if one of our children intercepts the + // gesture first and then we do. + requireNotNull(startedPosition), + overSlop, + pointersDown, + ) val successful: Boolean try { @@ -364,12 +415,10 @@ internal class MultiPointerDraggableNode( fun canBeConsumed(changes: List<PointerInputChange>): Boolean { // At least one pointer down AND return changes.fastAny { it.pressed } && - // All pointers must be: + // All pointers must be either: changes.fastAll { - // A) recently pressed: even if the event has already been consumed, we can - // still use the recently added finger event to determine whether to initiate - // dragging the scene. - it.changedToDownIgnoreConsumed() || + // A) unconsumed AND recently pressed + it.changedToDown() || // B) unconsumed AND in a new position (on the current axis) it.positionChange().toFloat() != 0f } @@ -461,4 +510,15 @@ internal class MultiPointerDraggableNode( } } } + + private fun List<PointerInputChange>.countDown() = fastSumBy { if (it.pressed) 1 else 0 } } + +internal fun interface PointersInfoOwner { + fun pointersInfo(): PointersInfo +} + +internal data class PointersInfo( + val startedPosition: Offset?, + val pointersDown: Int, +) diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/NestedScrollToScene.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/NestedScrollToScene.kt index 1fa6b3f7d6c0..ddff2f709082 100644 --- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/NestedScrollToScene.kt +++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/NestedScrollToScene.kt @@ -128,6 +128,7 @@ private class NestedScrollToSceneNode( bottomOrRightBehavior: NestedScrollBehavior, isExternalOverscrollGesture: () -> Boolean, ) : DelegatingNode() { + lateinit var pointersInfoOwner: PointersInfoOwner private var priorityNestedScrollConnection: PriorityNestedScrollConnection = scenePriorityNestedScrollConnection( layoutImpl = layoutImpl, @@ -135,6 +136,7 @@ private class NestedScrollToSceneNode( topOrLeftBehavior = topOrLeftBehavior, bottomOrRightBehavior = bottomOrRightBehavior, isExternalOverscrollGesture = isExternalOverscrollGesture, + pointersInfoOwner = { pointersInfoOwner.pointersInfo() } ) private var nestedScrollNode: DelegatableNode = @@ -144,6 +146,7 @@ private class NestedScrollToSceneNode( ) override fun onAttach() { + pointersInfoOwner = requireAncestorPointersInfoOwner() delegate(nestedScrollNode) } @@ -171,6 +174,7 @@ private class NestedScrollToSceneNode( topOrLeftBehavior = topOrLeftBehavior, bottomOrRightBehavior = bottomOrRightBehavior, isExternalOverscrollGesture = isExternalOverscrollGesture, + pointersInfoOwner = pointersInfoOwner, ) nestedScrollNode = nestedScrollModifierNode( @@ -187,6 +191,7 @@ private fun scenePriorityNestedScrollConnection( topOrLeftBehavior: NestedScrollBehavior, bottomOrRightBehavior: NestedScrollBehavior, isExternalOverscrollGesture: () -> Boolean, + pointersInfoOwner: PointersInfoOwner, ) = NestedScrollHandlerImpl( layoutImpl = layoutImpl, @@ -194,5 +199,6 @@ private fun scenePriorityNestedScrollConnection( topOrLeftBehavior = topOrLeftBehavior, bottomOrRightBehavior = bottomOrRightBehavior, isExternalOverscrollGesture = isExternalOverscrollGesture, + pointersInfoOwner = pointersInfoOwner, ) .connection diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt index 65b388f66a0d..ff83d4b93af8 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/DraggableHandlerTest.kt @@ -113,7 +113,10 @@ class DraggableHandlerTest { orientation = draggableHandler.orientation, topOrLeftBehavior = nestedScrollBehavior, bottomOrRightBehavior = nestedScrollBehavior, - isExternalOverscrollGesture = { isExternalOverscrollGesture } + isExternalOverscrollGesture = { isExternalOverscrollGesture }, + pointersInfoOwner = { + PointersInfo(startedPosition = Offset.Zero, pointersDown = 1) + } ) .connection diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt index 2de6faaccca2..1ae999282afa 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/ElementTest.kt @@ -839,6 +839,80 @@ class ElementTest { } @Test + fun elementTransitionDuringNestedScrollWith2Pointers() { + // The draggable touch slop, i.e. the min px distance a touch pointer must move before it is + // detected as a drag event. + var touchSlop = 0f + val translateY = 10.dp + val layoutWidth = 200.dp + val layoutHeight = 400.dp + + val state = + rule.runOnUiThread { + MutableSceneTransitionLayoutState( + initialScene = SceneA, + transitions = + transitions { + from(SceneA, to = SceneB) { + translate(TestElements.Foo, y = translateY) + } + }, + ) + as MutableSceneTransitionLayoutStateImpl + } + + rule.setContent { + touchSlop = LocalViewConfiguration.current.touchSlop + SceneTransitionLayout( + state = state, + modifier = Modifier.size(layoutWidth, layoutHeight) + ) { + scene( + SceneA, + userActions = mapOf(Swipe(SwipeDirection.Down, pointerCount = 2) to SceneB) + ) { + Box( + Modifier + // Unconsumed scroll gesture will be intercepted by STL + .verticalNestedScrollToScene() + // A scrollable that does not consume the scroll gesture + .scrollable( + rememberScrollableState(consumeScrollDelta = { 0f }), + Orientation.Vertical + ) + .fillMaxSize() + ) { + Spacer(Modifier.element(TestElements.Foo).fillMaxSize()) + } + } + scene(SceneB) { Spacer(Modifier.fillMaxSize()) } + } + } + + assertThat(state.transitionState).isIdle() + val fooElement = rule.onNodeWithTag(TestElements.Foo.testTag) + fooElement.assertTopPositionInRootIsEqualTo(0.dp) + + // Swipe down with 2 pointers by half of verticalSwipeDistance. + rule.onRoot().performTouchInput { + val middleTop = Offset((layoutWidth / 2).toPx(), 0f) + repeat(2) { i -> down(pointerId = i, middleTop) } + repeat(2) { i -> + // Scroll 50% + moveBy( + pointerId = i, + delta = Offset(0f, touchSlop + layoutHeight.toPx() * 0.5f), + delayMillis = 1_000, + ) + } + } + + val transition = assertThat(state.transitionState).isTransition() + assertThat(transition).hasProgress(0.5f) + fooElement.assertTopPositionInRootIsEqualTo(translateY * 0.5f) + } + + @Test fun elementTransitionWithDistanceDuringOverscroll() { val layoutWidth = 200.dp val layoutHeight = 400.dp diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/MultiPointerDraggableTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/MultiPointerDraggableTest.kt index 460b640f0f5f..ecafb170535d 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/MultiPointerDraggableTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/MultiPointerDraggableTest.kt @@ -128,7 +128,7 @@ class MultiPointerDraggableTest { var started = false var dragged = false var stopped = false - var consumeBeforeMultiPointerDraggable = false + var consumedByDescendant = false var touchSlop = 0f rule.setContent { @@ -138,6 +138,7 @@ class MultiPointerDraggableTest { .multiPointerDraggable( orientation = Orientation.Vertical, enabled = { true }, + // We want to start a drag gesture immediately startDragImmediately = { true }, onDragStarted = { _, _, _ -> started = true @@ -157,7 +158,7 @@ class MultiPointerDraggableTest { awaitPointerEventScope { while (isActive) { val change = awaitPointerEvent().changes.first() - if (consumeBeforeMultiPointerDraggable) { + if (consumedByDescendant) { change.consume() } } @@ -168,18 +169,19 @@ class MultiPointerDraggableTest { } // The first part of the gesture is consumed by our descendant - consumeBeforeMultiPointerDraggable = true + consumedByDescendant = true rule.onRoot().performTouchInput { down(middle) moveBy(Offset(0f, touchSlop)) } - started = false - dragged = false - stopped = false + // The events were consumed by our descendant, we should not start a drag gesture. + assertThat(started).isFalse() + assertThat(dragged).isFalse() + assertThat(stopped).isFalse() // The next events could be consumed by us - consumeBeforeMultiPointerDraggable = false + consumedByDescendant = false rule.onRoot().performTouchInput { // The pointer is moved to a new position without reporting it updatePointerBy(0, Offset(0f, touchSlop)) @@ -188,7 +190,7 @@ class MultiPointerDraggableTest { up() } - // This event should not be used to start a drag gesture + // The "up" event should not be used to start a drag gesture assertThat(started).isFalse() assertThat(dragged).isFalse() assertThat(stopped).isFalse() diff --git a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneTransitionLayoutStateTest.kt b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneTransitionLayoutStateTest.kt index de6f1cc518f4..41bf630e9ae4 100644 --- a/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneTransitionLayoutStateTest.kt +++ b/packages/SystemUI/compose/scene/tests/src/com/android/compose/animation/scene/SceneTransitionLayoutStateTest.kt @@ -314,7 +314,6 @@ class SceneTransitionLayoutStateTest { } }, ) - as MutableSceneTransitionLayoutStateImpl // Default transition from A to B. assertThat(state.setTargetScene(SceneB, coroutineScope = this)).isNotNull() diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfigTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfigTest.kt index 977f1db44258..bbfaf6fa4ce6 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfigTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfigTest.kt @@ -24,7 +24,7 @@ import android.provider.Settings.Secure.ZEN_DURATION_FOREVER import android.provider.Settings.Secure.ZEN_DURATION_PROMPT import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest -import com.android.settingslib.notification.EnableZenModeDialog +import com.android.settingslib.notification.modes.EnableZenModeDialog import com.android.systemui.SysuiTestCase import com.android.systemui.animation.Expandable import com.android.systemui.common.shared.model.ContentDescription diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractorTest.kt index 0f5e45814608..8914c80cdd5e 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractorTest.kt @@ -41,6 +41,7 @@ import com.android.systemui.authentication.data.repository.fakeAuthenticationRep import com.android.systemui.authentication.shared.model.AuthenticationMethodModel import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues +import com.android.systemui.flags.DisableSceneContainer import com.android.systemui.flags.EnableSceneContainer import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository import com.android.systemui.keyguard.data.repository.deviceEntryFingerprintAuthRepository @@ -54,6 +55,9 @@ import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.power.domain.interactor.PowerInteractor.Companion.setAsleepForTest import com.android.systemui.power.domain.interactor.PowerInteractor.Companion.setAwakeForTest import com.android.systemui.power.domain.interactor.powerInteractor +import com.android.systemui.scene.data.repository.Transition +import com.android.systemui.scene.data.repository.setSceneTransition +import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.statusbar.domain.interactor.keyguardOcclusionInteractor import com.android.systemui.testKosmos import com.google.common.truth.Truth.assertThat @@ -208,6 +212,7 @@ class KeyguardOcclusionInteractorTest : SysuiTestCase() { } @Test + @DisableSceneContainer fun showWhenLockedActivityLaunchedFromPowerGesture_falseIfReturningToGone() = testScope.runTest { val values by collectValues(underTest.showWhenLockedActivityLaunchedFromPowerGesture) @@ -245,6 +250,42 @@ class KeyguardOcclusionInteractorTest : SysuiTestCase() { @Test @EnableSceneContainer + fun showWhenLockedActivityLaunchedFromPowerGesture_falseIfReturningToGone_scene_container() = + testScope.runTest { + val values by collectValues(underTest.showWhenLockedActivityLaunchedFromPowerGesture) + powerInteractor.setAwakeForTest() + kosmos.setSceneTransition(Transition(Scenes.Lockscreen, Scenes.Gone)) + + powerInteractor.setAsleepForTest() + + kosmos.setSceneTransition(Transition(Scenes.Gone, Scenes.Lockscreen)) + transitionRepository.sendTransitionSteps( + from = KeyguardState.UNDEFINED, + to = KeyguardState.AOD, + testScope = testScope, + throughTransitionState = TransitionState.RUNNING + ) + + powerInteractor.onCameraLaunchGestureDetected() + kosmos.keyguardOcclusionRepository.setShowWhenLockedActivityInfo(true) + powerInteractor.setAwakeForTest() + runCurrent() + + kosmos.setSceneTransition(Transition(Scenes.Lockscreen, Scenes.Gone)) + transitionRepository.sendTransitionSteps( + from = KeyguardState.AOD, + to = KeyguardState.UNDEFINED, + testScope = testScope, + ) + + assertThat(values) + .containsExactly( + false, + ) + } + + @Test + @EnableSceneContainer fun occludingActivityWillDismissKeyguard() = testScope.runTest { val occludingActivityWillDismissKeyguard by diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractorTest.kt index 9ef42c30dcc1..0195e9d8418b 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractorTest.kt @@ -21,8 +21,8 @@ import android.media.AudioManager import android.provider.Settings.Global import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest -import com.android.settingslib.statusbar.notification.data.repository.updateNotificationPolicy -import com.android.settingslib.statusbar.notification.domain.interactor.NotificationsSoundPolicyInteractor +import com.android.settingslib.notification.data.repository.updateNotificationPolicy +import com.android.settingslib.notification.domain.interactor.NotificationsSoundPolicyInteractor import com.android.settingslib.volume.shared.model.AudioStream import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationListViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationListViewModelTest.kt index 40315a27da4f..ba7ddce10958 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationListViewModelTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationListViewModelTest.kt @@ -23,7 +23,7 @@ import android.platform.test.annotations.EnableFlags import android.platform.test.flag.junit.FlagsParameterization import android.provider.Settings import androidx.test.filters.SmallTest -import com.android.settingslib.statusbar.notification.data.repository.updateNotificationPolicy +import com.android.settingslib.notification.data.repository.updateNotificationPolicy import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.flags.Flags diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/policy/domain/interactor/ZenModeInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/policy/domain/interactor/ZenModeInteractorTest.kt index f1fed1904bc5..88431f004665 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/policy/domain/interactor/ZenModeInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/policy/domain/interactor/ZenModeInteractorTest.kt @@ -20,7 +20,7 @@ import android.app.NotificationManager.Policy import android.provider.Settings import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest -import com.android.settingslib.statusbar.notification.data.repository.updateNotificationPolicy +import com.android.settingslib.notification.data.repository.updateNotificationPolicy import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testScope diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/domain/interactor/AudioVolumeInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/domain/interactor/AudioVolumeInteractorTest.kt index 6e49e431bd80..1ea8a6b8d9e5 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/domain/interactor/AudioVolumeInteractorTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/volume/domain/interactor/AudioVolumeInteractorTest.kt @@ -20,7 +20,7 @@ import android.media.AudioManager import android.provider.Settings import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest -import com.android.settingslib.statusbar.notification.data.repository.updateNotificationPolicy +import com.android.settingslib.notification.data.repository.updateNotificationPolicy import com.android.settingslib.volume.domain.interactor.AudioVolumeInteractor import com.android.settingslib.volume.shared.model.AudioStream import com.android.settingslib.volume.shared.model.RingerMode @@ -35,6 +35,7 @@ import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest +import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -48,6 +49,20 @@ class AudioVolumeInteractorTest : SysuiTestCase() { private val underTest: AudioVolumeInteractor = with(kosmos) { AudioVolumeInteractor(audioRepository, notificationsSoundPolicyInteractor) } + @Before + fun setUp() = + with(kosmos) { + audioRepository.setAudioStreamModel( + audioRepository.getAudioStream(audioStream).value.copy(isAffectedByMute = true) + ) + audioRepository.setAudioStreamModel( + audioRepository + .getAudioStream(AudioStream(AudioManager.STREAM_RING)) + .value + .copy(isAffectedByMute = true) + ) + } + @Test fun setMuted_mutesStream() { with(kosmos) { @@ -189,10 +204,14 @@ class AudioVolumeInteractorTest : SysuiTestCase() { testScope.runTest { val audioStreamModel by collectLastValue(underTest.getAudioStream(audioStream)) audioRepository.setAudioStreamModel( - audioStreamModel!!.copy(isAffectedByMute = false) + audioStreamModel!!.copy(isAffectedByMute = false, isMuted = false) ) + underTest.setMuted(audioStream, true) + runCurrent() + assertThat(audioStreamModel!!.isAffectedByMute).isFalse() + assertThat(audioStreamModel!!.isMuted).isFalse() } } } diff --git a/packages/SystemUI/res/layout/app_clips_screenshot.xml b/packages/SystemUI/res/layout/app_clips_screenshot.xml index 6d4e410b3397..b09d35d46ca0 100644 --- a/packages/SystemUI/res/layout/app_clips_screenshot.xml +++ b/packages/SystemUI/res/layout/app_clips_screenshot.xml @@ -16,6 +16,7 @@ --> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:background="@null" @@ -30,9 +31,10 @@ android:layout_height="48dp" android:layout_marginStart="8dp" android:background="@drawable/overlay_button_background" + android:backgroundTint="?androidprv:attr/materialColorPrimary" android:paddingHorizontal="24dp" android:text="@string/app_clips_save_add_to_note" - android:textColor="?android:textColorSecondary" + android:textColor="?androidprv:attr/materialColorOnPrimary" app:layout_constraintBottom_toTopOf="@id/preview" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index e92b942635f2..ca5fc1209d32 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -3617,6 +3617,8 @@ <string name="touchpad_tutorial_action_key_button">Action key</string> <!-- Label for button finishing touchpad tutorial [CHAR LIMIT=NONE] --> <string name="touchpad_tutorial_done_button">Done</string> + <!-- Screen title after gesture was done successfully [CHAR LIMIT=NONE] --> + <string name="touchpad_tutorial_gesture_done">Great job!</string> <!-- Touchpad back gesture action name in tutorial [CHAR LIMIT=NONE] --> <string name="touchpad_back_gesture_action_title">Go back</string> <!-- Touchpad back gesture guidance in gestures tutorial [CHAR LIMIT=NONE] --> diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java index a614fc118636..4ef1f93481f7 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/QuickStepContract.java @@ -126,6 +126,8 @@ public class QuickStepContract { public static final long SYSUI_STATE_TOUCHPAD_GESTURES_DISABLED = 1L << 33; // PiP animation is running public static final long SYSUI_STATE_DISABLE_GESTURE_PIP_ANIMATING = 1L << 34; + // Communal hub is showing + public static final long SYSUI_STATE_COMMUNAL_HUB_SHOWING = 1L << 35; // Mask for SystemUiStateFlags to isolate SYSUI_STATE_AWAKE and // SYSUI_STATE_WAKEFULNESS_TRANSITION, to match WAKEFULNESS_* constants @@ -176,6 +178,7 @@ public class QuickStepContract { SYSUI_STATE_SHORTCUT_HELPER_SHOWING, SYSUI_STATE_TOUCHPAD_GESTURES_DISABLED, SYSUI_STATE_DISABLE_GESTURE_PIP_ANIMATING, + SYSUI_STATE_COMMUNAL_HUB_SHOWING, }) public @interface SystemUiStateFlags {} @@ -283,6 +286,9 @@ public class QuickStepContract { if ((flags & SYSUI_STATE_DISABLE_GESTURE_PIP_ANIMATING) != 0) { str.add("disable_gesture_pip_animating"); } + if ((flags & SYSUI_STATE_COMMUNAL_HUB_SHOWING) != 0) { + str.add("communal_hub_showing"); + } return str.toString(); } @@ -336,7 +342,8 @@ public class QuickStepContract { // the keyguard) if ((sysuiStateFlags & SYSUI_STATE_BOUNCER_SHOWING) != 0 || (sysuiStateFlags & SYSUI_STATE_DIALOG_SHOWING) != 0 - || (sysuiStateFlags & SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING) != 0) { + || (sysuiStateFlags & SYSUI_STATE_VOICE_INTERACTION_WINDOW_SHOWING) != 0 + || (sysuiStateFlags & SYSUI_STATE_COMMUNAL_HUB_SHOWING) != 0) { return false; } if ((sysuiStateFlags & SYSUI_STATE_ALLOW_GESTURE_IGNORING_BAR_VISIBILITY) != 0) { diff --git a/packages/SystemUI/src-debug/com/android/systemui/log/DebugLogger.kt b/packages/SystemUI/src-debug/com/android/systemui/log/DebugLogger.kt index af29b05a3fb1..8d1de0e65da5 100644 --- a/packages/SystemUI/src-debug/com/android/systemui/log/DebugLogger.kt +++ b/packages/SystemUI/src-debug/com/android/systemui/log/DebugLogger.kt @@ -62,6 +62,8 @@ object DebugLogger { * @param error: a [Throwable] to log. * @param message: a lazily evaluated message you wish to log. */ + @JvmOverloads + @JvmName("logcatMessage") inline fun Any.debugLog( enabled: Boolean = Build.IS_DEBUGGABLE, priority: Int = Log.DEBUG, diff --git a/packages/SystemUI/src-release/com/android/systemui/log/DebugLogger.kt b/packages/SystemUI/src-release/com/android/systemui/log/DebugLogger.kt index 2764a1fdfe3d..e29ce2da9970 100644 --- a/packages/SystemUI/src-release/com/android/systemui/log/DebugLogger.kt +++ b/packages/SystemUI/src-release/com/android/systemui/log/DebugLogger.kt @@ -22,6 +22,7 @@ import android.util.Log /** An empty logger for release builds. */ object DebugLogger { + @JvmOverloads @JvmName("logcatMessage") inline fun Any.debugLog( enabled: Boolean = Build.IS_DEBUGGABLE, diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/SystemActions.java b/packages/SystemUI/src/com/android/systemui/accessibility/SystemActions.java index 37e9dc1a9d48..7750f6bf4178 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/SystemActions.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/SystemActions.java @@ -233,7 +233,7 @@ public class SystemActions implements CoreStartable, ConfigurationController.Con // NotificationShadeWindowController.registerCallback() only keeps weak references. mNotificationShadeCallback = (keyguardShowing, keyguardOccluded, keyguardGoingAway, bouncerShowing, mDozing, - panelExpanded, isDreaming) -> + panelExpanded, isDreaming, communalShowing) -> registerOrUnregisterDismissNotificationShadeAction(); mScreenshotHelper = new ScreenshotHelper(mContext); } diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ShortcutHelperModule.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ShortcutHelperModule.kt index 30a391e63220..6364a6fb53c9 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ShortcutHelperModule.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ShortcutHelperModule.kt @@ -20,9 +20,11 @@ import android.app.Activity import com.android.systemui.CoreStartable import com.android.systemui.Flags.keyboardShortcutHelperRewrite import com.android.systemui.keyboard.shortcut.data.repository.ShortcutHelperStateRepository +import com.android.systemui.keyboard.shortcut.data.source.InputShortcutsSource import com.android.systemui.keyboard.shortcut.data.source.KeyboardShortcutGroupsSource import com.android.systemui.keyboard.shortcut.data.source.MultitaskingShortcutsSource import com.android.systemui.keyboard.shortcut.data.source.SystemShortcutsSource +import com.android.systemui.keyboard.shortcut.qualifiers.InputShortcuts import com.android.systemui.keyboard.shortcut.qualifiers.MultitaskingShortcuts import com.android.systemui.keyboard.shortcut.qualifiers.SystemShortcuts import com.android.systemui.keyboard.shortcut.ui.ShortcutHelperActivityStarter @@ -50,6 +52,10 @@ interface ShortcutHelperModule { @MultitaskingShortcuts fun multitaskingShortcutsSource(impl: MultitaskingShortcutsSource): KeyboardShortcutGroupsSource + @Binds + @InputShortcuts + fun inputShortcutsSources(impl: InputShortcutsSource): KeyboardShortcutGroupsSource + companion object { @Provides @IntoMap diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/repository/ShortcutHelperCategoriesRepository.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/repository/ShortcutHelperCategoriesRepository.kt index b47fb65ae9e8..133dab6b4d7b 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/repository/ShortcutHelperCategoriesRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/repository/ShortcutHelperCategoriesRepository.kt @@ -19,16 +19,14 @@ package com.android.systemui.keyboard.shortcut.data.repository import android.content.Context import android.hardware.input.InputManager import android.util.Log -import android.view.InputDevice import android.view.KeyCharacterMap import android.view.KeyEvent import android.view.KeyboardShortcutGroup import android.view.KeyboardShortcutInfo -import android.view.WindowManager -import android.view.WindowManager.KeyboardShortcutsReceiver import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.keyboard.shortcut.data.source.KeyboardShortcutGroupsSource +import com.android.systemui.keyboard.shortcut.qualifiers.InputShortcuts import com.android.systemui.keyboard.shortcut.qualifiers.MultitaskingShortcuts import com.android.systemui.keyboard.shortcut.qualifiers.SystemShortcuts import com.android.systemui.keyboard.shortcut.shared.model.Shortcut @@ -44,7 +42,6 @@ import com.android.systemui.keyboard.shortcut.shared.model.ShortcutSubCategory import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.flow.map -import kotlinx.coroutines.suspendCancellableCoroutine import kotlinx.coroutines.withContext @SysUISingleton @@ -55,7 +52,7 @@ constructor( @Background private val backgroundDispatcher: CoroutineDispatcher, @SystemShortcuts private val systemShortcutsSource: KeyboardShortcutGroupsSource, @MultitaskingShortcuts private val multitaskingShortcutsSource: KeyboardShortcutGroupsSource, - private val windowManager: WindowManager, + @InputShortcuts private val inputShortcutsSource: KeyboardShortcutGroupsSource, private val inputManager: InputManager, stateRepository: ShortcutHelperStateRepository ) { @@ -75,7 +72,7 @@ constructor( toShortcutCategory( it.keyCharacterMap, SYSTEM, - systemShortcutsSource.shortcutGroups() + systemShortcutsSource.shortcutGroups(it.id) ) } else { null @@ -88,7 +85,7 @@ constructor( toShortcutCategory( it.keyCharacterMap, MULTI_TASKING, - multitaskingShortcutsSource.shortcutGroups() + multitaskingShortcutsSource.shortcutGroups(it.id) ) } else { null @@ -96,22 +93,17 @@ constructor( } val imeShortcutsCategory = - activeInputDevice.map { if (it != null) retrieveImeShortcuts(it) else null } - - private suspend fun retrieveImeShortcuts( - inputDevice: InputDevice, - ): ShortcutCategory? { - return suspendCancellableCoroutine { continuation -> - val shortcutsReceiver = KeyboardShortcutsReceiver { shortcutGroups -> - continuation.resumeWith( - Result.success( - toShortcutCategory(inputDevice.keyCharacterMap, IME, shortcutGroups) - ) + activeInputDevice.map { + if (it != null) { + toShortcutCategory( + it.keyCharacterMap, + IME, + inputShortcutsSource.shortcutGroups(it.id) ) + } else { + null } - windowManager.requestImeKeyboardShortcuts(shortcutsReceiver, inputDevice.id) } - } private fun toShortcutCategory( keyCharacterMap: KeyCharacterMap, diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/InputShortcutsSource.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/InputShortcutsSource.kt new file mode 100644 index 000000000000..aba441546e35 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/InputShortcutsSource.kt @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.keyboard.shortcut.data.source + +import android.content.res.Resources +import android.view.KeyEvent.KEYCODE_SPACE +import android.view.KeyEvent.META_CTRL_ON +import android.view.KeyEvent.META_SHIFT_ON +import android.view.KeyboardShortcutGroup +import android.view.WindowManager +import android.view.WindowManager.KeyboardShortcutsReceiver +import com.android.systemui.dagger.qualifiers.Main +import com.android.systemui.keyboard.shortcut.data.model.shortcutInfo +import com.android.systemui.res.R +import javax.inject.Inject +import kotlinx.coroutines.suspendCancellableCoroutine + +class InputShortcutsSource +@Inject +constructor(@Main private val resources: Resources, private val windowManager: WindowManager) : + KeyboardShortcutGroupsSource { + override suspend fun shortcutGroups(deviceId: Int): List<KeyboardShortcutGroup> = + getInputLanguageShortcutGroup() + getImeShortcutGroup(deviceId) + + private fun getInputLanguageShortcutGroup() = + listOf( + KeyboardShortcutGroup( + resources.getString(R.string.shortcut_helper_category_input), + inputLanguageShortcuts() + ) + ) + + private fun inputLanguageShortcuts() = + listOf( + /* Switch input language (next language): Ctrl + Space */ + shortcutInfo(resources.getString(R.string.input_switch_input_language_next)) { + command(META_CTRL_ON, KEYCODE_SPACE) + }, + /* Switch previous language (next language): Ctrl + Shift + Space */ + shortcutInfo(resources.getString(R.string.input_switch_input_language_previous)) { + command(META_CTRL_ON or META_SHIFT_ON, KEYCODE_SPACE) + } + ) + + private suspend fun getImeShortcutGroup(deviceId: Int): List<KeyboardShortcutGroup> = + suspendCancellableCoroutine { continuation -> + val shortcutsReceiver = KeyboardShortcutsReceiver { + continuation.resumeWith(Result.success(it)) + } + windowManager.requestImeKeyboardShortcuts(shortcutsReceiver, deviceId) + } +} diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/KeyboardShortcutGroupsSource.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/KeyboardShortcutGroupsSource.kt index 1e2b333171d8..39d03771ecf4 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/KeyboardShortcutGroupsSource.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/KeyboardShortcutGroupsSource.kt @@ -20,5 +20,5 @@ import android.view.KeyboardShortcutGroup interface KeyboardShortcutGroupsSource { - fun shortcutGroups(): List<KeyboardShortcutGroup> + suspend fun shortcutGroups(deviceId: Int): List<KeyboardShortcutGroup> } diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/MultitaskingShortcutsSource.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/MultitaskingShortcutsSource.kt index f4022a01aedb..eddac4d4ad73 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/MultitaskingShortcutsSource.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/MultitaskingShortcutsSource.kt @@ -34,7 +34,7 @@ import javax.inject.Inject class MultitaskingShortcutsSource @Inject constructor(@Main private val resources: Resources) : KeyboardShortcutGroupsSource { - override fun shortcutGroups() = + override suspend fun shortcutGroups(deviceId: Int) = listOf( KeyboardShortcutGroup( resources.getString(R.string.shortcutHelper_category_recent_apps), diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/SystemShortcutsSource.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/SystemShortcutsSource.kt index 6cd2d2f91b30..e55e339704ee 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/SystemShortcutsSource.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/data/source/SystemShortcutsSource.kt @@ -40,7 +40,7 @@ import javax.inject.Inject class SystemShortcutsSource @Inject constructor(@Main private val resources: Resources) : KeyboardShortcutGroupsSource { - override fun shortcutGroups() = + override suspend fun shortcutGroups(deviceId: Int) = listOf( KeyboardShortcutGroup( resources.getString(R.string.shortcut_helper_category_system_controls), diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/qualifiers/InputShortcuts.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/qualifiers/InputShortcuts.kt new file mode 100644 index 000000000000..f8a4a49cc3ce --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/qualifiers/InputShortcuts.kt @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.keyboard.shortcut.qualifiers + +import javax.inject.Qualifier + +@Qualifier annotation class InputShortcuts diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelper.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelper.kt index 271e79b8d060..5b9d30e8cc80 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelper.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelper.kt @@ -44,7 +44,10 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.OpenInNew import androidx.compose.material.icons.filled.ExpandMore +import androidx.compose.material.icons.filled.Keyboard import androidx.compose.material.icons.filled.Search +import androidx.compose.material.icons.filled.Tv +import androidx.compose.material.icons.filled.VerticalSplit import androidx.compose.material3.CenterAlignedTopAppBar import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.HorizontalDivider @@ -73,6 +76,7 @@ import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.rememberNestedScrollInteropConnection +import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.role @@ -83,19 +87,42 @@ import androidx.compose.ui.unit.sp import androidx.compose.ui.util.fastForEach import androidx.compose.ui.util.fastForEachIndexed import com.android.compose.windowsizeclass.LocalWindowSizeClass +import com.android.systemui.keyboard.shortcut.shared.model.Shortcut +import com.android.systemui.keyboard.shortcut.shared.model.ShortcutCategory +import com.android.systemui.keyboard.shortcut.shared.model.ShortcutCategoryType +import com.android.systemui.keyboard.shortcut.shared.model.ShortcutCommand +import com.android.systemui.keyboard.shortcut.shared.model.ShortcutKey +import com.android.systemui.keyboard.shortcut.shared.model.ShortcutSubCategory +import com.android.systemui.keyboard.shortcut.ui.model.ShortcutsUiState import com.android.systemui.res.R @Composable fun ShortcutHelper( onKeyboardSettingsClicked: () -> Unit, modifier: Modifier = Modifier, - categories: List<ShortcutHelperCategory> = ShortcutHelperTemporaryData.categories, + shortcutsUiState: ShortcutsUiState, useSinglePane: @Composable () -> Boolean = { shouldUseSinglePane() }, ) { - if (useSinglePane()) { - ShortcutHelperSinglePane(modifier, categories, onKeyboardSettingsClicked) - } else { - ShortcutHelperTwoPane(modifier, categories, onKeyboardSettingsClicked) + when (shortcutsUiState) { + is ShortcutsUiState.Active -> { + if (useSinglePane()) { + ShortcutHelperSinglePane( + modifier, + shortcutsUiState.shortcutCategories, + onKeyboardSettingsClicked + ) + } else { + ShortcutHelperTwoPane( + modifier, + shortcutsUiState.shortcutCategories, + shortcutsUiState.defaultSelectedCategory, + onKeyboardSettingsClicked + ) + } + } + is ShortcutsUiState.Inactive -> { + // No-op for now. + } } } @@ -107,7 +134,7 @@ private fun shouldUseSinglePane() = @Composable private fun ShortcutHelperSinglePane( modifier: Modifier = Modifier, - categories: List<ShortcutHelperCategory>, + categories: List<ShortcutCategory>, onKeyboardSettingsClicked: () -> Unit, ) { Column( @@ -129,9 +156,9 @@ private fun ShortcutHelperSinglePane( @Composable private fun CategoriesPanelSinglePane( - categories: List<ShortcutHelperCategory>, + categories: List<ShortcutCategory>, ) { - var expandedCategory by remember { mutableStateOf<ShortcutHelperCategory?>(null) } + var expandedCategory by remember { mutableStateOf<ShortcutCategory?>(null) } Column(verticalArrangement = Arrangement.spacedBy(2.dp)) { categories.fastForEachIndexed { index, category -> val isExpanded = expandedCategory == category @@ -162,7 +189,7 @@ private fun CategoriesPanelSinglePane( @Composable private fun CategoryItemSinglePane( - category: ShortcutHelperCategory, + category: ShortcutCategory, isExpanded: Boolean, onClick: () -> Unit, shape: Shape, @@ -188,6 +215,22 @@ private fun CategoryItemSinglePane( } } +private val ShortcutCategory.icon: ImageVector + get() = + when (type) { + ShortcutCategoryType.SYSTEM -> Icons.Default.Tv + ShortcutCategoryType.MULTI_TASKING -> Icons.Default.VerticalSplit + ShortcutCategoryType.IME -> Icons.Default.Keyboard + } + +private val ShortcutCategory.labelResId: Int + get() = + when (type) { + ShortcutCategoryType.SYSTEM -> R.string.shortcut_helper_category_system + ShortcutCategoryType.MULTI_TASKING -> R.string.shortcut_helper_category_system + ShortcutCategoryType.IME -> R.string.shortcut_helper_category_input + } + @Composable private fun RotatingExpandCollapseIcon(isExpanded: Boolean) { val expandIconRotationDegrees by @@ -219,7 +262,7 @@ private fun RotatingExpandCollapseIcon(isExpanded: Boolean) { } @Composable -private fun ShortcutCategoryDetailsSinglePane(category: ShortcutHelperCategory) { +private fun ShortcutCategoryDetailsSinglePane(category: ShortcutCategory) { Column(Modifier.padding(horizontal = 16.dp)) { category.subCategories.fastForEach { subCategory -> ShortcutSubCategorySinglePane(subCategory) @@ -228,7 +271,7 @@ private fun ShortcutCategoryDetailsSinglePane(category: ShortcutHelperCategory) } @Composable -private fun ShortcutSubCategorySinglePane(subCategory: SubCategory) { +private fun ShortcutSubCategorySinglePane(subCategory: ShortcutSubCategory) { // This @Composable is expected to be in a Column. SubCategoryTitle(subCategory.label) subCategory.shortcuts.fastForEachIndexed { index, shortcut -> @@ -251,10 +294,12 @@ private fun ShortcutSinglePane(shortcut: Shortcut) { @Composable private fun ShortcutHelperTwoPane( modifier: Modifier = Modifier, - categories: List<ShortcutHelperCategory>, + categories: List<ShortcutCategory>, + defaultSelectedCategory: ShortcutCategoryType, onKeyboardSettingsClicked: () -> Unit, ) { - var selectedCategory by remember { mutableStateOf(categories.first()) } + var selectedCategoryType by remember { mutableStateOf(defaultSelectedCategory) } + val selectedCategory = categories.first { it.type == selectedCategoryType } Column(modifier = modifier.fillMaxSize().padding(start = 24.dp, end = 24.dp, top = 26.dp)) { TitleBar() Spacer(modifier = Modifier.height(12.dp)) @@ -262,8 +307,8 @@ private fun ShortcutHelperTwoPane( StartSidePanel( modifier = Modifier.fillMaxWidth(fraction = 0.32f), categories = categories, - selectedCategory = selectedCategory, - onCategoryClicked = { selectedCategory = it }, + selectedCategory = selectedCategoryType, + onCategoryClicked = { selectedCategoryType = it.type }, onKeyboardSettingsClicked = onKeyboardSettingsClicked, ) Spacer(modifier = Modifier.width(24.dp)) @@ -273,7 +318,7 @@ private fun ShortcutHelperTwoPane( } @Composable -private fun EndSidePanel(modifier: Modifier, category: ShortcutHelperCategory) { +private fun EndSidePanel(modifier: Modifier, category: ShortcutCategory) { LazyColumn(modifier.nestedScroll(rememberNestedScrollInteropConnection())) { items(items = category.subCategories, key = { item -> item.label }) { SubCategoryContainerDualPane(it) @@ -283,7 +328,7 @@ private fun EndSidePanel(modifier: Modifier, category: ShortcutHelperCategory) { } @Composable -private fun SubCategoryContainerDualPane(subCategory: SubCategory) { +private fun SubCategoryContainerDualPane(subCategory: ShortcutSubCategory) { Surface( modifier = Modifier.fillMaxWidth(), shape = RoundedCornerShape(28.dp), @@ -315,11 +360,12 @@ private fun SubCategoryTitle(title: String) { private fun ShortcutViewDualPane(shortcut: Shortcut) { Row(Modifier.padding(vertical = 16.dp)) { ShortcutDescriptionText( - modifier = Modifier.weight(0.25f).align(Alignment.CenterVertically), + modifier = Modifier.width(160.dp).align(Alignment.CenterVertically), shortcut = shortcut, ) + Spacer(modifier = Modifier.width(16.dp)) ShortcutKeyCombinations( - modifier = Modifier.weight(0.75f), + modifier = Modifier.weight(1f), shortcut = shortcut, ) } @@ -343,16 +389,17 @@ private fun ShortcutKeyCombinations( @Composable private fun ShortcutCommand(command: ShortcutCommand) { - // This @Composable is expected to be in a Row or FlowRow. - command.keys.forEachIndexed { keyIndex, key -> - if (keyIndex > 0) { - Spacer(Modifier.width(4.dp)) - } - ShortcutKeyContainer { - if (key is ShortcutKey.Text) { - ShortcutTextKey(key) - } else if (key is ShortcutKey.Icon) { - ShortcutIconKey(key) + Row { + command.keys.forEachIndexed { keyIndex, key -> + if (keyIndex > 0) { + Spacer(Modifier.width(4.dp)) + } + ShortcutKeyContainer { + if (key is ShortcutKey.Text) { + ShortcutTextKey(key) + } else if (key is ShortcutKey.Icon) { + ShortcutIconKey(key) + } } } } @@ -384,7 +431,7 @@ private fun BoxScope.ShortcutTextKey(key: ShortcutKey.Text) { @Composable private fun BoxScope.ShortcutIconKey(key: ShortcutKey.Icon) { Icon( - imageVector = key.value, + painter = painterResource(key.drawableResId), contentDescription = null, modifier = Modifier.align(Alignment.Center).padding(6.dp) ) @@ -418,10 +465,10 @@ private fun ShortcutDescriptionText( @Composable private fun StartSidePanel( modifier: Modifier, - categories: List<ShortcutHelperCategory>, + categories: List<ShortcutCategory>, onKeyboardSettingsClicked: () -> Unit, - selectedCategory: ShortcutHelperCategory, - onCategoryClicked: (ShortcutHelperCategory) -> Unit, + selectedCategory: ShortcutCategoryType, + onCategoryClicked: (ShortcutCategory) -> Unit, ) { Column(modifier) { ShortcutsSearchBar() @@ -434,16 +481,16 @@ private fun StartSidePanel( @Composable private fun CategoriesPanelTwoPane( - categories: List<ShortcutHelperCategory>, - selectedCategory: ShortcutHelperCategory, - onCategoryClicked: (ShortcutHelperCategory) -> Unit + categories: List<ShortcutCategory>, + selectedCategory: ShortcutCategoryType, + onCategoryClicked: (ShortcutCategory) -> Unit ) { Column { categories.fastForEach { CategoryItemTwoPane( label = stringResource(it.labelResId), icon = it.icon, - selected = selectedCategory == it, + selected = selectedCategory == it.type, onClick = { onCategoryClicked(it) } ) } diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelperTemporaryData.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelperTemporaryData.kt deleted file mode 100644 index fa2388f6287d..000000000000 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/composable/ShortcutHelperTemporaryData.kt +++ /dev/null @@ -1,251 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.keyboard.shortcut.ui.composable - -import androidx.annotation.StringRes -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Accessibility -import androidx.compose.material.icons.filled.Apps -import androidx.compose.material.icons.filled.ArrowBackIosNew -import androidx.compose.material.icons.filled.Keyboard -import androidx.compose.material.icons.filled.KeyboardCommandKey -import androidx.compose.material.icons.filled.RadioButtonUnchecked -import androidx.compose.material.icons.filled.Tv -import androidx.compose.material.icons.filled.VerticalSplit -import androidx.compose.ui.graphics.vector.ImageVector -import com.android.systemui.res.R - -/** Temporary data classes and data below just to populate the UI. */ -data class ShortcutHelperCategory( - @StringRes val labelResId: Int, - val icon: ImageVector, - val subCategories: List<SubCategory>, -) - -data class SubCategory( - val label: String, - val shortcuts: List<Shortcut>, -) - -data class Shortcut(val label: String, val commands: List<ShortcutCommand>) - -data class ShortcutCommand(val keys: List<ShortcutKey>) - -sealed interface ShortcutKey { - data class Text(val value: String) : ShortcutKey - - data class Icon(val value: ImageVector) : ShortcutKey -} - -// DSL Builder Functions -private fun shortcutHelperCategory( - labelResId: Int, - icon: ImageVector, - block: ShortcutHelperCategoryBuilder.() -> Unit -): ShortcutHelperCategory = ShortcutHelperCategoryBuilder(labelResId, icon).apply(block).build() - -private fun ShortcutHelperCategoryBuilder.subCategory( - label: String, - block: SubCategoryBuilder.() -> Unit -) { - subCategories.add(SubCategoryBuilder(label).apply(block).build()) -} - -private fun SubCategoryBuilder.shortcut(label: String, block: ShortcutBuilder.() -> Unit) { - shortcuts.add(ShortcutBuilder(label).apply(block).build()) -} - -private fun ShortcutBuilder.command(block: ShortcutCommandBuilder.() -> Unit) { - commands.add(ShortcutCommandBuilder().apply(block).build()) -} - -private fun ShortcutCommandBuilder.key(value: String) { - keys.add(ShortcutKey.Text(value)) -} - -private fun ShortcutCommandBuilder.key(value: ImageVector) { - keys.add(ShortcutKey.Icon(value)) -} - -private class ShortcutHelperCategoryBuilder( - private val labelResId: Int, - private val icon: ImageVector -) { - val subCategories = mutableListOf<SubCategory>() - - fun build() = ShortcutHelperCategory(labelResId, icon, subCategories) -} - -private class SubCategoryBuilder(private val label: String) { - val shortcuts = mutableListOf<Shortcut>() - - fun build() = SubCategory(label, shortcuts) -} - -private class ShortcutBuilder(private val label: String) { - val commands = mutableListOf<ShortcutCommand>() - - fun build() = Shortcut(label, commands) -} - -private class ShortcutCommandBuilder { - val keys = mutableListOf<ShortcutKey>() - - fun build() = ShortcutCommand(keys) -} - -object ShortcutHelperTemporaryData { - - // Some shortcuts and their strings below are made up just to populate the UI for now. - // For this reason they are not in translatable resources yet. - val categories = - listOf( - shortcutHelperCategory(R.string.shortcut_helper_category_system, Icons.Default.Tv) { - subCategory("System controls") { - shortcut("Go to home screen") { - command { key(Icons.Default.RadioButtonUnchecked) } - command { - key(Icons.Default.KeyboardCommandKey) - key("H") - } - command { - key(Icons.Default.KeyboardCommandKey) - key("Return") - } - } - shortcut("View recent apps") { - command { - key(Icons.Default.KeyboardCommandKey) - key("Tab") - } - } - shortcut("All apps search") { - command { key(Icons.Default.KeyboardCommandKey) } - } - } - subCategory("System apps") { - shortcut("Go back") { - command { key(Icons.Default.ArrowBackIosNew) } - command { - key(Icons.Default.KeyboardCommandKey) - key("Left arrow") - } - command { - key(Icons.Default.KeyboardCommandKey) - key("ESC") - } - command { - key(Icons.Default.KeyboardCommandKey) - key("Backspace") - } - } - shortcut("View notifications") { - command { - key(Icons.Default.KeyboardCommandKey) - key("N") - } - } - shortcut("Take a screenshot") { - command { key(Icons.Default.KeyboardCommandKey) } - command { key("CTRL") } - command { key("S") } - } - shortcut("Open Settings") { - command { - key(Icons.Default.KeyboardCommandKey) - key("I") - } - } - } - }, - shortcutHelperCategory( - R.string.shortcut_helper_category_multitasking, - Icons.Default.VerticalSplit - ) { - subCategory("Multitasking & windows") { - shortcut("Take a screenshot") { - command { key(Icons.Default.KeyboardCommandKey) } - command { key("CTRL") } - command { key("S") } - } - } - }, - shortcutHelperCategory( - R.string.shortcut_helper_category_input, - Icons.Default.Keyboard - ) { - subCategory("Input") { - shortcut("Open Settings") { - command { - key(Icons.Default.KeyboardCommandKey) - key("I") - } - } - shortcut("View notifications") { - command { - key(Icons.Default.KeyboardCommandKey) - key("N") - } - } - } - }, - shortcutHelperCategory( - R.string.shortcut_helper_category_app_shortcuts, - Icons.Default.Apps - ) { - subCategory("App shortcuts") { - shortcut("Open Settings") { - command { - key(Icons.Default.KeyboardCommandKey) - key("I") - } - } - shortcut("Go back") { - command { key(Icons.Default.ArrowBackIosNew) } - command { - key(Icons.Default.KeyboardCommandKey) - key("Left arrow") - } - command { - key(Icons.Default.KeyboardCommandKey) - key("ESC") - } - command { - key(Icons.Default.KeyboardCommandKey) - key("Backspace") - } - } - } - }, - shortcutHelperCategory( - R.string.shortcut_helper_category_a11y, - Icons.Default.Accessibility - ) { - subCategory("Accessibility shortcuts") { - shortcut("View recent apps") { - command { - key(Icons.Default.KeyboardCommandKey) - key("Tab") - } - } - shortcut("All apps search") { - command { key(Icons.Default.KeyboardCommandKey) } - } - } - } - ) -} diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/model/ShortcutsUiState.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/model/ShortcutsUiState.kt new file mode 100644 index 000000000000..daafc3f53147 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/model/ShortcutsUiState.kt @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.keyboard.shortcut.ui.model + +import com.android.systemui.keyboard.shortcut.shared.model.ShortcutCategory +import com.android.systemui.keyboard.shortcut.shared.model.ShortcutCategoryType + +sealed interface ShortcutsUiState { + + data class Active( + val shortcutCategories: List<ShortcutCategory>, + val defaultSelectedCategory: ShortcutCategoryType, + ) : ShortcutsUiState + + data object Inactive : ShortcutsUiState +} diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/view/ShortcutHelperActivity.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/view/ShortcutHelperActivity.kt index 8706280df975..646db401d0b7 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/view/ShortcutHelperActivity.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/view/ShortcutHelperActivity.kt @@ -26,12 +26,15 @@ import android.view.WindowInsets import androidx.activity.BackEventCompat import androidx.activity.ComponentActivity import androidx.activity.OnBackPressedCallback +import androidx.compose.runtime.getValue import androidx.compose.ui.platform.ComposeView import androidx.core.view.updatePadding +import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.flowWithLifecycle import androidx.lifecycle.lifecycleScope import com.android.compose.theme.PlatformTheme import com.android.systemui.keyboard.shortcut.ui.composable.ShortcutHelper +import com.android.systemui.keyboard.shortcut.ui.model.ShortcutsUiState import com.android.systemui.keyboard.shortcut.ui.viewmodel.ShortcutHelperViewModel import com.android.systemui.res.R import com.google.android.material.bottomsheet.BottomSheetBehavior @@ -78,7 +81,12 @@ constructor( requireViewById<ComposeView>(R.id.shortcut_helper_compose_container).apply { setContent { PlatformTheme { + val shortcutsUiState by + viewModel.shortcutsUiState.collectAsStateWithLifecycle( + initialValue = ShortcutsUiState.Inactive + ) ShortcutHelper( + shortcutsUiState = shortcutsUiState, onKeyboardSettingsClicked = ::onKeyboardSettingsClicked, ) } diff --git a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/viewmodel/ShortcutHelperViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/viewmodel/ShortcutHelperViewModel.kt index 510e55262224..3759b0c7ff1c 100644 --- a/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/viewmodel/ShortcutHelperViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyboard/shortcut/ui/viewmodel/ShortcutHelperViewModel.kt @@ -17,8 +17,10 @@ package com.android.systemui.keyboard.shortcut.ui.viewmodel import com.android.systemui.dagger.qualifiers.Background +import com.android.systemui.keyboard.shortcut.domain.interactor.ShortcutHelperCategoriesInteractor import com.android.systemui.keyboard.shortcut.domain.interactor.ShortcutHelperStateInteractor import com.android.systemui.keyboard.shortcut.shared.model.ShortcutHelperState +import com.android.systemui.keyboard.shortcut.ui.model.ShortcutsUiState import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.flow.distinctUntilChanged @@ -30,6 +32,7 @@ class ShortcutHelperViewModel constructor( @Background private val backgroundDispatcher: CoroutineDispatcher, private val stateInteractor: ShortcutHelperStateInteractor, + categoriesInteractor: ShortcutHelperCategoriesInteractor, ) { val shouldShow = @@ -38,6 +41,18 @@ constructor( .distinctUntilChanged() .flowOn(backgroundDispatcher) + val shortcutsUiState = + categoriesInteractor.shortcutCategories.map { + if (it.isEmpty()) { + ShortcutsUiState.Inactive + } else { + ShortcutsUiState.Active( + shortcutCategories = it, + defaultSelectedCategory = it.first().type, + ) + } + } + fun onViewClosed() { stateInteractor.onViewClosed() } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfig.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfig.kt index 9b5f4615a6d5..406b9f6e6a0d 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/DoNotDisturbQuickAffordanceConfig.kt @@ -25,9 +25,8 @@ import android.provider.Settings.Global.ZEN_MODE_OFF import android.provider.Settings.Secure.ZEN_DURATION_FOREVER import android.provider.Settings.Secure.ZEN_DURATION_PROMPT import android.service.notification.ZenModeConfig -import com.android.settingslib.notification.EnableZenModeDialog -import com.android.settingslib.notification.ZenModeDialogMetricsLogger -import com.android.systemui.res.R +import com.android.settingslib.notification.modes.EnableZenModeDialog +import com.android.settingslib.notification.modes.ZenModeDialogMetricsLogger import com.android.systemui.animation.Expandable import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow @@ -36,6 +35,7 @@ import com.android.systemui.common.shared.model.Icon import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.keyguard.shared.quickaffordance.ActivationState +import com.android.systemui.res.R import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.ZenModeController import com.android.systemui.util.settings.SecureSettings diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDozingTransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDozingTransitionInteractor.kt index 3877e7ae1e55..76e88a2a2cd6 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDozingTransitionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDozingTransitionInteractor.kt @@ -28,6 +28,7 @@ import com.android.systemui.keyguard.data.repository.KeyguardTransitionRepositor import com.android.systemui.keyguard.shared.model.BiometricUnlockMode.Companion.isWakeAndUnlock import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.power.domain.interactor.PowerInteractor +import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.util.kotlin.Utils.Companion.sample import com.android.systemui.util.kotlin.sample import javax.inject.Inject @@ -100,10 +101,14 @@ constructor( biometricUnlockState, ) -> if (isWakeAndUnlock(biometricUnlockState.mode)) { - startTransitionTo( - KeyguardState.GONE, - ownerReason = "biometric wake and unlock", - ) + if (SceneContainerFlag.isEnabled) { + // TODO(b/336576536): Check if adaptation for scene framework is needed + } else { + startTransitionTo( + KeyguardState.GONE, + ownerReason = "biometric wake and unlock", + ) + } } } } @@ -131,21 +136,35 @@ constructor( isIdleOnCommunal, canTransitionToGoneOnWake, primaryBouncerShowing) -> - startTransitionTo( - if (!deviceEntryRepository.isLockscreenEnabled()) { - KeyguardState.GONE - } else if (canTransitionToGoneOnWake) { - KeyguardState.GONE - } else if (primaryBouncerShowing) { - KeyguardState.PRIMARY_BOUNCER - } else if (occluded) { - KeyguardState.OCCLUDED - } else if (isIdleOnCommunal) { - KeyguardState.GLANCEABLE_HUB + if (!deviceEntryRepository.isLockscreenEnabled()) { + if (SceneContainerFlag.isEnabled) { + // TODO(b/336576536): Check if adaptation for scene framework is needed + } else { + startTransitionTo(KeyguardState.GONE) + } + } else if (canTransitionToGoneOnWake) { + if (SceneContainerFlag.isEnabled) { + // TODO(b/336576536): Check if adaptation for scene framework is needed + } else { + startTransitionTo(KeyguardState.GONE) + } + } else if (primaryBouncerShowing) { + if (SceneContainerFlag.isEnabled) { + // TODO(b/336576536): Check if adaptation for scene framework is needed + } else { + startTransitionTo(KeyguardState.PRIMARY_BOUNCER) + } + } else if (occluded) { + startTransitionTo(KeyguardState.OCCLUDED) + } else if (isIdleOnCommunal) { + if (SceneContainerFlag.isEnabled) { + // TODO(b/336576536): Check if adaptation for scene framework is needed } else { - KeyguardState.LOCKSCREEN + startTransitionTo(KeyguardState.GLANCEABLE_HUB) } - ) + } else { + startTransitionTo(KeyguardState.LOCKSCREEN) + } } } } @@ -177,23 +196,55 @@ constructor( // Handled by dismissFromDozing(). !isWakeAndUnlock(biometricUnlockState.mode) ) { - startTransitionTo( - if (!KeyguardWmStateRefactor.isEnabled && canDismissLockscreen) { - KeyguardState.GONE - } else if ( - KeyguardWmStateRefactor.isEnabled && - !deviceEntryRepository.isLockscreenEnabled() - ) { - KeyguardState.GONE - } else if (primaryBouncerShowing) { - KeyguardState.PRIMARY_BOUNCER - } else if (isIdleOnCommunal) { - KeyguardState.GLANCEABLE_HUB + if (!KeyguardWmStateRefactor.isEnabled && canDismissLockscreen) { + if (SceneContainerFlag.isEnabled) { + // TODO(b/336576536): Check if adaptation for scene framework is + // needed + } else { + startTransitionTo( + KeyguardState.GONE, + ownerReason = "waking from dozing" + ) + } + } else if ( + KeyguardWmStateRefactor.isEnabled && + !deviceEntryRepository.isLockscreenEnabled() + ) { + if (SceneContainerFlag.isEnabled) { + // TODO(b/336576536): Check if adaptation for scene framework is + // needed + } else { + startTransitionTo( + KeyguardState.GONE, + ownerReason = "waking from dozing" + ) + } + } else if (primaryBouncerShowing) { + if (SceneContainerFlag.isEnabled) { + // TODO(b/336576536): Check if adaptation for scene framework is + // needed } else { - KeyguardState.LOCKSCREEN - }, - ownerReason = "waking from dozing" - ) + startTransitionTo( + KeyguardState.PRIMARY_BOUNCER, + ownerReason = "waking from dozing" + ) + } + } else if (isIdleOnCommunal) { + if (SceneContainerFlag.isEnabled) { + // TODO(b/336576536): Check if adaptation for scene framework is + // needed + } else { + startTransitionTo( + KeyguardState.GLANCEABLE_HUB, + ownerReason = "waking from dozing" + ) + } + } else { + startTransitionTo( + KeyguardState.LOCKSCREEN, + ownerReason = "waking from dozing" + ) + } } } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDreamingTransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDreamingTransitionInteractor.kt index 97006486b6f1..0e764879d8f6 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDreamingTransitionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromDreamingTransitionInteractor.kt @@ -91,8 +91,8 @@ constructor( private fun listenForDreamingToGlanceableHub() { if (!communalHub()) return - if (SceneContainerFlag.isEnabled) - return // TODO(b/336576536): Check if adaptation for scene framework is needed + // TODO(b/336576536): Check if adaptation for scene framework is needed + if (SceneContainerFlag.isEnabled) return scope.launch("$TAG#listenForDreamingToGlanceableHub", mainDispatcher) { glanceableHubTransitions.listenForGlanceableHubTransition( transitionOwnerName = TAG, @@ -103,6 +103,8 @@ constructor( } private fun listenForDreamingToPrimaryBouncer() { + // TODO(b/336576536): Check if adaptation for scene framework is needed + if (SceneContainerFlag.isEnabled) return scope.launch { keyguardInteractor.primaryBouncerShowing .sample(startedKeyguardTransitionStep, ::Pair) @@ -179,8 +181,8 @@ constructor( } private fun listenForDreamingToGoneWhenDismissable() { - if (SceneContainerFlag.isEnabled) - return // TODO(b/336576536): Check if adaptation for scene framework is needed + // TODO(b/336576536): Check if adaptation for scene framework is needed + if (SceneContainerFlag.isEnabled) return scope.launch { keyguardInteractor.isAbleToDream .sampleCombine( diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt index 41ccea735f5f..5af38ba49b85 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt @@ -24,6 +24,7 @@ import com.android.systemui.keyguard.data.repository.KeyguardOcclusionRepository import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.power.domain.interactor.PowerInteractor import com.android.systemui.scene.shared.flag.SceneContainerFlag +import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.util.kotlin.sample import dagger.Lazy import javax.inject.Inject @@ -94,10 +95,15 @@ constructor( // currently // GONE, in which case we're going back to GONE and launching the insecure camera). powerInteractor.detailedWakefulness - .sample(transitionInteractor.currentKeyguardState, ::Pair) - .map { (wakefulness, currentKeyguardState) -> - wakefulness.powerButtonLaunchGestureTriggered && - currentKeyguardState != KeyguardState.GONE + .sample( + transitionInteractor.isFinishedIn( + Scenes.Gone, + stateWithoutSceneContainer = KeyguardState.GONE + ), + ::Pair + ) + .map { (wakefulness, isOnGone) -> + wakefulness.powerButtonLaunchGestureTriggered && !isOnGone }, // Emit false once that activity goes away. isShowWhenLockedActivityOnTop.filter { !it }.map { false } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt index 82255a0c0d54..bcbdc9cca83b 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt @@ -19,9 +19,10 @@ package com.android.systemui.keyguard.domain.interactor import android.content.Context import com.android.systemui.dagger.SysUISingleton import com.android.systemui.keyguard.data.repository.KeyguardSurfaceBehindRepository -import com.android.systemui.keyguard.domain.interactor.WindowManagerLockscreenVisibilityInteractor.Companion.isSurfaceVisible +import com.android.systemui.keyguard.shared.model.Edge import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.KeyguardSurfaceBehindModel +import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.statusbar.notification.domain.interactor.NotificationLaunchAnimationInteractor import com.android.systemui.util.kotlin.sample import com.android.systemui.util.kotlin.toPx @@ -56,12 +57,18 @@ constructor( */ val viewParams: Flow<KeyguardSurfaceBehindModel> = combine( - transitionInteractor.startedKeyguardTransitionStep, - transitionInteractor.currentKeyguardState, + transitionInteractor.isInTransition( + Edge.create(to = Scenes.Gone), + edgeWithoutSceneContainer = Edge.create(to = KeyguardState.GONE) + ), + transitionInteractor.isFinishedIn( + Scenes.Gone, + stateWithoutSceneContainer = KeyguardState.GONE + ), notificationLaunchInteractor.isLaunchAnimationRunning, - ) { startedStep, currentState, notifAnimationRunning -> + ) { transitioningToGone, isOnGone, notifAnimationRunning -> // If we're in transition to GONE, special unlock animation params apply. - if (startedStep.to == KeyguardState.GONE && currentState != KeyguardState.GONE) { + if (transitioningToGone) { if (notifAnimationRunning) { // If the notification launch animation is running, leave the alpha at 0f. // The ActivityLaunchAnimator will morph it from the notification at the @@ -87,14 +94,14 @@ constructor( animateFromTranslationY = SURFACE_TRANSLATION_Y_DISTANCE_DP.toPx(context).toFloat(), translationY = 0f, - startVelocity = swipeToDismissInteractor.dismissFling.value?.velocity - ?: 0f, + startVelocity = + swipeToDismissInteractor.dismissFling.value?.velocity ?: 0f, ) } } // Default to the visibility of the current state, with no animations. - KeyguardSurfaceBehindModel(alpha = if (isSurfaceVisible(currentState)) 1f else 0f) + KeyguardSurfaceBehindModel(alpha = if (isOnGone) 1f else 0f) } .distinctUntilChanged() @@ -103,10 +110,14 @@ constructor( */ private val isNotificationLaunchAnimationRunningOnKeyguard = notificationLaunchInteractor.isLaunchAnimationRunning - .sample(transitionInteractor.finishedKeyguardState, ::Pair) - .map { (animationRunning, finishedState) -> - animationRunning && finishedState != KeyguardState.GONE - } + .sample( + transitionInteractor.isFinishedIn( + Scenes.Gone, + stateWithoutSceneContainer = KeyguardState.GONE + ), + ::Pair + ) + .map { (animationRunning, isOnGone) -> animationRunning && !isOnGone } .onStart { emit(false) } /** diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionBootInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionBootInteractor.kt index b3c9591f5668..805dbb08d1ac 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionBootInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionBootInteractor.kt @@ -22,7 +22,10 @@ import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor import com.android.systemui.keyguard.data.repository.KeyguardTransitionRepository -import com.android.systemui.keyguard.shared.model.KeyguardState +import com.android.systemui.keyguard.shared.model.KeyguardState.GONE +import com.android.systemui.keyguard.shared.model.KeyguardState.LOCKSCREEN +import com.android.systemui.keyguard.shared.model.KeyguardState.OFF +import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.statusbar.policy.domain.interactor.DeviceProvisioningInteractor import javax.inject.Inject import kotlinx.coroutines.CoroutineScope @@ -57,17 +60,7 @@ constructor( override fun start() { scope.launch { - val state = - if (showLockscreenOnBoot.first()) { - KeyguardState.LOCKSCREEN - } else { - KeyguardState.GONE - } - - if ( - internalTransitionInteractor.currentTransitionInfoInternal.value.from != - KeyguardState.OFF - ) { + if (internalTransitionInteractor.currentTransitionInfoInternal.value.from != OFF) { Log.e( "KeyguardTransitionInteractor", "showLockscreenOnBoot emitted, but we've already " + @@ -75,7 +68,23 @@ constructor( "transition, but this should not happen." ) } else { - repository.emitInitialStepsFromOff(state) + if (SceneContainerFlag.isEnabled) { + // TODO(b/336576536): Some part of the transition implemented for flag off is + // missing here. There are two things achieved with this: + // 1. Keyguard is hidden when the setup wizard is shown. This part is already + // implemented in scene container by disabling visibility instead of going + // to Gone. See [SceneContainerStartable.hydrateVisibility]. We might want + // to unify this logic here. + // 2. When the auth method is set to NONE device boots into Gone (Launcher). + // For this we would just need to call changeScene(Scene.Gone). + // Unfortunately STL doesn't seem to be initialized at this point, therefore + // it needs a different solution. + repository.emitInitialStepsFromOff(LOCKSCREEN) + } else { + repository.emitInitialStepsFromOff( + if (showLockscreenOnBoot.first()) LOCKSCREEN else GONE + ) + } } } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/TransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/TransitionInteractor.kt index 973e8989b82a..bbc3d7699dee 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/TransitionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/TransitionInteractor.kt @@ -25,6 +25,7 @@ import com.android.systemui.keyguard.shared.model.TransitionInfo import com.android.systemui.keyguard.shared.model.TransitionModeOnCanceled import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.power.domain.interactor.PowerInteractor +import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.util.kotlin.sample import java.util.UUID import kotlinx.coroutines.CoroutineDispatcher @@ -81,6 +82,7 @@ sealed class TransitionInteractor( // a bugreport. ownerReason: String = "", ): UUID? { + toState.checkValidState() if (fromState != internalTransitionInteractor.currentTransitionInfoInternal.value.to) { Log.e( name, @@ -166,6 +168,8 @@ sealed class TransitionInteractor( */ @Deprecated("Will be merged into maybeStartTransitionToOccludedOrInsecureCamera") suspend fun maybeHandleInsecurePowerGesture(): Boolean { + // TODO(b/336576536): Check if adaptation for scene framework is needed + if (SceneContainerFlag.isEnabled) return true if (keyguardOcclusionInteractor.shouldTransitionFromPowerButtonGesture()) { if (keyguardInteractor.isKeyguardDismissible.value) { startTransitionTo( diff --git a/packages/SystemUI/src/com/android/systemui/model/SceneContainerPlugin.kt b/packages/SystemUI/src/com/android/systemui/model/SceneContainerPlugin.kt index 5084944685b6..42f66cca2522 100644 --- a/packages/SystemUI/src/com/android/systemui/model/SceneContainerPlugin.kt +++ b/packages/SystemUI/src/com/android/systemui/model/SceneContainerPlugin.kt @@ -18,12 +18,14 @@ package com.android.systemui.model import com.android.compose.animation.scene.ObservableTransitionState import com.android.compose.animation.scene.SceneKey +import com.android.systemui.Flags.glanceableHubBackGesture import com.android.systemui.dagger.SysUISingleton import com.android.systemui.scene.domain.interactor.SceneContainerOcclusionInteractor import com.android.systemui.scene.domain.interactor.SceneInteractor import com.android.systemui.scene.shared.flag.SceneContainerFlag import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING +import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_COMMUNAL_HUB_SHOWING import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_VISIBLE import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_QUICK_SETTINGS_EXPANDED @@ -105,6 +107,10 @@ constructor( { it.scene == Scenes.Lockscreen && it.invisibleDueToOcclusion }, + SYSUI_STATE_COMMUNAL_HUB_SHOWING to + { + glanceableHubBackGesture() && it.scene == Scenes.Communal + } ) } diff --git a/packages/SystemUI/src/com/android/systemui/notetask/quickaffordance/NoteTaskQuickAffordanceConfig.kt b/packages/SystemUI/src/com/android/systemui/notetask/quickaffordance/NoteTaskQuickAffordanceConfig.kt index de490a58a498..311cbfb7e632 100644 --- a/packages/SystemUI/src/com/android/systemui/notetask/quickaffordance/NoteTaskQuickAffordanceConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/notetask/quickaffordance/NoteTaskQuickAffordanceConfig.kt @@ -96,12 +96,27 @@ constructor( logDebug { "lockScreenState:isConfigSelected=$isConfigSelected" } logDebug { "lockScreenState:isDefaultNotesAppSet=$isDefaultNotesAppSet" } + val isCustomLockScreenShortcutEnabled = + context.resources.getBoolean(R.bool.custom_lockscreen_shortcuts_enabled) + val isShortcutSelectedOrDefaultEnabled = + if (isCustomLockScreenShortcutEnabled) { + isConfigSelected + } else { + isStylusEverUsed + } + logDebug { + "lockScreenState:isCustomLockScreenShortcutEnabled=" + + isCustomLockScreenShortcutEnabled + } + logDebug { + "lockScreenState:isShortcutSelectedOrDefaultEnabled=" + + isShortcutSelectedOrDefaultEnabled + } if ( isEnabled && isUserUnlocked && isDefaultNotesAppSet && - isConfigSelected && - isStylusEverUsed + isShortcutSelectedOrDefaultEnabled ) { val contentDescription = ContentDescription.Resource(pickerNameResourceId) val icon = Icon.Resource(pickerIconResourceId, contentDescription) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java index 4ebebeade1f4..bdf935ef420f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java @@ -42,7 +42,7 @@ import androidx.annotation.Nullable; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; -import com.android.settingslib.notification.EnableZenModeDialog; +import com.android.settingslib.notification.modes.EnableZenModeDialog; import com.android.systemui.Prefs; import com.android.systemui.animation.DialogCuj; import com.android.systemui.animation.DialogTransitionAnimator; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/QSZenModeDialogMetricsLogger.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/QSZenModeDialogMetricsLogger.java index 1b81a9947ee3..b3f66a6bf9dd 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/QSZenModeDialogMetricsLogger.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/QSZenModeDialogMetricsLogger.java @@ -19,7 +19,7 @@ package com.android.systemui.qs.tiles.dialog; import android.content.Context; import com.android.internal.logging.UiEventLogger; -import com.android.settingslib.notification.ZenModeDialogMetricsLogger; +import com.android.settingslib.notification.modes.ZenModeDialogMetricsLogger; import com.android.systemui.qs.QSDndEvent; import com.android.systemui.qs.QSEvents; diff --git a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java index e07b057119a1..b3624ad4ad82 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java +++ b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java @@ -26,11 +26,13 @@ import static android.view.MotionEvent.ACTION_UP; import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_3BUTTON; import static com.android.internal.accessibility.common.ShortcutConstants.CHOOSER_PACKAGE_NAME; +import static com.android.systemui.Flags.glanceableHubBackGesture; import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SYSUI_PROXY; import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_UNFOLD_ANIMATION_FORWARDER; import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_UNLOCK_ANIMATION_CONTROLLER; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_AWAKE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_COMMUNAL_HUB_SHOWING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_DEVICE_DOZING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_DEVICE_DREAMING; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_FREEFORM_ACTIVE_IN_DESKTOP_MODE; @@ -113,7 +115,7 @@ import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.phone.StatusBarWindowCallback; import com.android.systemui.statusbar.policy.CallbackController; import com.android.systemui.unfold.progress.UnfoldTransitionProgressForwarder; -import com.android.wm.shell.shared.DesktopModeStatus; +import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.sysui.ShellInterface; import dagger.Lazy; @@ -792,7 +794,7 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis private void onStatusBarStateChanged(boolean keyguardShowing, boolean keyguardOccluded, boolean keyguardGoingAway, boolean bouncerShowing, boolean isDozing, - boolean panelExpanded, boolean isDreaming) { + boolean panelExpanded, boolean isDreaming, boolean communalShowing) { mSysUiState.setFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING, keyguardShowing && !keyguardOccluded) .setFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED, @@ -802,6 +804,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis .setFlag(SYSUI_STATE_BOUNCER_SHOWING, bouncerShowing) .setFlag(SYSUI_STATE_DEVICE_DOZING, isDozing) .setFlag(SYSUI_STATE_DEVICE_DREAMING, isDreaming) + .setFlag(SYSUI_STATE_COMMUNAL_HUB_SHOWING, + glanceableHubBackGesture() && communalShowing) .commitUpdate(mContext.getDisplayId()); } diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsActivity.java b/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsActivity.java index c4f6cd9aac29..8feefa4eca0f 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsActivity.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsActivity.java @@ -62,6 +62,7 @@ import com.android.internal.logging.UiEventLogger; import com.android.internal.logging.UiEventLogger.UiEventEnum; import com.android.settingslib.Utils; import com.android.systemui.Flags; +import com.android.systemui.log.DebugLogger; import com.android.systemui.res.R; import com.android.systemui.screenshot.scroll.CropView; import com.android.systemui.settings.UserTracker; @@ -307,13 +308,16 @@ public class AppClipsActivity extends ComponentActivity { && mViewModel.getBacklinksLiveData().getValue() != null) { ClipData backlinksData = mViewModel.getBacklinksLiveData().getValue().getClipData(); data.putParcelable(EXTRA_CLIP_DATA, backlinksData); + + DebugLogger.INSTANCE.logcatMessage(this, + () -> "setResultThenFinish: sending notes app ClipData"); } try { mResultReceiver.send(Activity.RESULT_OK, data); logUiEvent(SCREENSHOT_FOR_NOTE_ACCEPTED); } catch (Exception e) { - Log.e(TAG, "Error while returning data to trampoline activity", e); + Log.e(TAG, "Error while sending data to trampoline activity", e); } // Nullify the ResultReceiver before finishing to avoid resending the result. @@ -354,6 +358,7 @@ public class AppClipsActivity extends ComponentActivity { } } catch (Exception e) { // Do nothing. + Log.e(TAG, "Error while sending trampoline activity error code: " + errorCode, e); } // Nullify the ResultReceiver to avoid resending the result. diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsTrampolineActivity.java b/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsTrampolineActivity.java index 0161f787b459..ef18fbe6db8b 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsTrampolineActivity.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsTrampolineActivity.java @@ -53,6 +53,7 @@ import com.android.systemui.broadcast.BroadcastSender; import com.android.systemui.dagger.qualifiers.Application; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; +import com.android.systemui.log.DebugLogger; import com.android.systemui.notetask.NoteTaskController; import com.android.systemui.notetask.NoteTaskEntryPoint; import com.android.systemui.res.R; @@ -265,11 +266,15 @@ public class AppClipsTrampolineActivity extends Activity { if (statusCode == CAPTURE_CONTENT_FOR_NOTE_SUCCESS) { Uri uri = resultData.getParcelable(EXTRA_SCREENSHOT_URI, Uri.class); convertedData.setData(uri); - } - if (resultData.containsKey(EXTRA_CLIP_DATA)) { - ClipData backlinksData = resultData.getParcelable(EXTRA_CLIP_DATA, ClipData.class); - convertedData.setClipData(backlinksData); + if (resultData.containsKey(EXTRA_CLIP_DATA)) { + ClipData backlinksData = resultData.getParcelable(EXTRA_CLIP_DATA, + ClipData.class); + convertedData.setClipData(backlinksData); + + DebugLogger.INSTANCE.logcatMessage(this, + () -> "onReceiveResult: sending notes app ClipData"); + } } // Broadcast no longer required, setting it to null. diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsViewModel.java b/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsViewModel.java index d30d518f5777..8c833eccb1fb 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsViewModel.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/appclips/AppClipsViewModel.java @@ -54,6 +54,7 @@ import androidx.lifecycle.ViewModelProvider; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; +import com.android.systemui.log.DebugLogger; import com.android.systemui.screenshot.AssistContentRequester; import com.android.systemui.screenshot.ImageExporter; @@ -143,6 +144,7 @@ final class AppClipsViewModel extends ViewModel { * @param displayId id of the display to query tasks for Backlinks data */ void triggerBacklinks(Set<Integer> taskIdsToIgnore, int displayId) { + DebugLogger.INSTANCE.logcatMessage(this, () -> "Backlinks triggered"); mBgExecutor.execute(() -> { ListenableFuture<InternalBacklinksData> backlinksData = getBacklinksData( taskIdsToIgnore, displayId); @@ -247,6 +249,10 @@ final class AppClipsViewModel extends ViewModel { } private boolean shouldIncludeTask(RootTaskInfo taskInfo, Set<Integer> taskIdsToIgnore) { + DebugLogger.INSTANCE.logcatMessage(this, + () -> String.format("shouldIncludeTask taskId %d; topActivity %s", taskInfo.taskId, + taskInfo.topActivity)); + // Only consider tasks that shouldn't be ignored, are visible, running, and have a launcher // icon. Furthermore, types such as launcher/home/dock/assistant are ignored. return !taskIdsToIgnore.contains(taskInfo.taskId) @@ -267,6 +273,10 @@ final class AppClipsViewModel extends ViewModel { private ListenableFuture<InternalBacklinksData> getBacklinksDataForTaskId( RootTaskInfo taskInfo) { + DebugLogger.INSTANCE.logcatMessage(this, + () -> String.format("getBacklinksDataForTaskId for taskId %d; topActivity %s", + taskInfo.taskId, taskInfo.topActivity)); + SettableFuture<InternalBacklinksData> backlinksData = SettableFuture.create(); int taskId = taskInfo.taskId; mAssistContentRequester.requestAssistContent(taskId, assistContent -> @@ -295,6 +305,10 @@ final class AppClipsViewModel extends ViewModel { */ private InternalBacklinksData getBacklinksDataFromAssistContent(RootTaskInfo taskInfo, @Nullable AssistContent content) { + DebugLogger.INSTANCE.logcatMessage(this, + () -> String.format("getBacklinksDataFromAssistContent taskId %d; topActivity %s", + taskInfo.taskId, taskInfo.topActivity)); + String appName = getAppNameOfTask(taskInfo); String packageName = taskInfo.topActivity.getPackageName(); Drawable appIcon = taskInfo.topActivityInfo.loadIcon(mPackageManager); @@ -307,22 +321,34 @@ final class AppClipsViewModel extends ViewModel { // First preference is given to app provided uri. if (content.isAppProvidedWebUri()) { + DebugLogger.INSTANCE.logcatMessage(this, + () -> "getBacklinksDataFromAssistContent: app has provided a uri"); + Uri uri = content.getWebUri(); Intent backlinksIntent = new Intent(ACTION_VIEW).setData(uri); if (doesIntentResolveToSamePackage(backlinksIntent, packageName)) { + DebugLogger.INSTANCE.logcatMessage(this, + () -> "getBacklinksDataFromAssistContent: using app provided uri"); return new InternalBacklinksData(ClipData.newRawUri(appName, uri), appIcon); } } // Second preference is given to app provided, hopefully deep-linking, intent. if (content.isAppProvidedIntent()) { + DebugLogger.INSTANCE.logcatMessage(this, + () -> "getBacklinksDataFromAssistContent: app has provided an intent"); + Intent backlinksIntent = content.getIntent(); if (doesIntentResolveToSamePackage(backlinksIntent, packageName)) { + DebugLogger.INSTANCE.logcatMessage(this, + () -> "getBacklinksDataFromAssistContent: using app provided intent"); return new InternalBacklinksData(ClipData.newIntent(appName, backlinksIntent), appIcon); } } + DebugLogger.INSTANCE.logcatMessage(this, + () -> "getBacklinksDataFromAssistContent: using fallback"); return fallback; } diff --git a/packages/SystemUI/src/com/android/systemui/shade/GlanceableHubContainerController.kt b/packages/SystemUI/src/com/android/systemui/shade/GlanceableHubContainerController.kt index ba4c29aad6a2..d870fe69463d 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/GlanceableHubContainerController.kt +++ b/packages/SystemUI/src/com/android/systemui/shade/GlanceableHubContainerController.kt @@ -17,6 +17,7 @@ package com.android.systemui.shade import android.content.Context +import android.graphics.Insets import android.graphics.Rect import android.os.PowerManager import android.os.SystemClock @@ -25,6 +26,7 @@ import android.view.GestureDetector import android.view.MotionEvent import android.view.View import android.view.ViewGroup +import android.view.WindowInsets import android.widget.FrameLayout import androidx.activity.OnBackPressedDispatcher import androidx.activity.OnBackPressedDispatcherOwner @@ -37,6 +39,7 @@ import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle import com.android.compose.theme.PlatformTheme import com.android.internal.annotations.VisibleForTesting +import com.android.systemui.Flags.glanceableHubBackGesture import com.android.systemui.ambient.touch.TouchMonitor import com.android.systemui.ambient.touch.dagger.AmbientTouchComponent import com.android.systemui.communal.dagger.Communal @@ -259,15 +262,33 @@ constructor( // Run when the touch handling lifecycle is RESUMED, meaning the hub is visible and not // occluded. lifecycleRegistry.repeatOnLifecycle(Lifecycle.State.RESUMED) { - val exclusionRect = - Rect( - 0, - topEdgeSwipeRegionWidth, - containerView.right, - containerView.bottom - bottomEdgeSwipeRegionWidth - ) + // Avoid adding exclusion to right/left edges to allow back gestures. + val insets = + if (glanceableHubBackGesture()) { + containerView.rootWindowInsets.getInsets(WindowInsets.Type.systemGestures()) + } else { + Insets.NONE + } - containerView.systemGestureExclusionRects = listOf(exclusionRect) + containerView.systemGestureExclusionRects = + listOf( + // Only allow swipe up to bouncer and swipe down to shade in the very + // top/bottom to avoid conflicting with widgets in the hub grid. + Rect( + insets.left, + topEdgeSwipeRegionWidth, + containerView.right - insets.right, + containerView.bottom - bottomEdgeSwipeRegionWidth + ), + // Disable back gestures on the left side of the screen, to avoid + // conflicting with scene transitions. + Rect( + 0, + 0, + insets.right, + containerView.bottom, + ) + ) } } diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java index f67d0c185e0f..bc5cf2a87925 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowControllerImpl.java @@ -644,7 +644,8 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW mCurrentState.bouncerShowing, mCurrentState.dozing, mCurrentState.shadeOrQsExpanded, - mCurrentState.dreaming); + mCurrentState.dreaming, + mCurrentState.communalVisible); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java index 762c9a14d40e..fec7cf060480 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationsModule.java @@ -21,9 +21,9 @@ import android.content.Context; import android.service.notification.NotificationListenerService; import com.android.internal.jank.InteractionJankMonitor; -import com.android.settingslib.statusbar.notification.data.repository.ZenModeRepository; -import com.android.settingslib.statusbar.notification.data.repository.ZenModeRepositoryImpl; -import com.android.settingslib.statusbar.notification.domain.interactor.NotificationsSoundPolicyInteractor; +import com.android.settingslib.notification.data.repository.ZenModeRepository; +import com.android.settingslib.notification.data.repository.ZenModeRepositoryImpl; +import com.android.settingslib.notification.domain.interactor.NotificationsSoundPolicyInteractor; import com.android.systemui.CoreStartable; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Application; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/CommonVisualInterruptionSuppressors.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/CommonVisualInterruptionSuppressors.kt index 5e91786e4160..e04e0facc766 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/CommonVisualInterruptionSuppressors.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/CommonVisualInterruptionSuppressors.kt @@ -39,6 +39,7 @@ import android.os.SystemProperties import android.provider.Settings import android.provider.Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED import android.provider.Settings.Global.HEADS_UP_OFF +import android.service.notification.Flags import com.android.internal.logging.UiEvent import com.android.internal.logging.UiEventLogger import com.android.internal.messages.nano.SystemMessageProto.SystemMessage @@ -221,6 +222,15 @@ class HunGroupAlertBehaviorSuppressor() : entry.sbn.let { it.isGroup && it.notification.suppressAlertingDueToGrouping() } } +class HunSilentNotificationSuppressor() : + VisualInterruptionFilter( + types = setOf(PEEK, PULSE), + reason = "notification isSilent" + ) { + override fun shouldSuppress(entry: NotificationEntry) = + entry.sbn.let { Flags.notificationSilentFlag() && it.notification.isSilent } +} + class HunJustLaunchedFsiSuppressor() : VisualInterruptionFilter(types = setOf(PEEK, PULSE), reason = "just launched FSI") { override fun shouldSuppress(entry: NotificationEntry) = entry.hasJustLaunchedFullScreenIntent() diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/FullScreenIntentDecisionProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/FullScreenIntentDecisionProvider.kt index b77748e2990b..576c7ad2ca3b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/FullScreenIntentDecisionProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/FullScreenIntentDecisionProvider.kt @@ -39,6 +39,7 @@ import com.android.systemui.statusbar.notification.interruption.FullScreenIntent import com.android.systemui.statusbar.notification.interruption.FullScreenIntentDecisionProvider.DecisionImpl.NO_FSI_SUPPRESSED_ONLY_BY_DND import com.android.systemui.statusbar.notification.interruption.FullScreenIntentDecisionProvider.DecisionImpl.NO_FSI_SUPPRESSIVE_BUBBLE_METADATA import com.android.systemui.statusbar.notification.interruption.FullScreenIntentDecisionProvider.DecisionImpl.NO_FSI_SUPPRESSIVE_GROUP_ALERT_BEHAVIOR +import com.android.systemui.statusbar.notification.interruption.FullScreenIntentDecisionProvider.DecisionImpl.NO_FSI_SUPPRESSIVE_SILENT_NOTIFICATION import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProviderImpl.NotificationInterruptEvent.FSI_SUPPRESSED_NO_HUN_OR_KEYGUARD import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProviderImpl.NotificationInterruptEvent.FSI_SUPPRESSED_SUPPRESSIVE_BUBBLE_METADATA import com.android.systemui.statusbar.notification.interruption.NotificationInterruptStateProviderImpl.NotificationInterruptEvent.FSI_SUPPRESSED_SUPPRESSIVE_GROUP_ALERT_BEHAVIOR @@ -94,6 +95,7 @@ class FullScreenIntentDecisionProvider( uiEventId = FSI_SUPPRESSED_SUPPRESSIVE_BUBBLE_METADATA, eventLogData = EventLogData("274759612", "bubbleMetadata") ), + NO_FSI_SUPPRESSIVE_SILENT_NOTIFICATION(false, "suppressive setSilent notification"), NO_FSI_PACKAGE_SUSPENDED(false, "package suspended"), FSI_DEVICE_NOT_INTERACTIVE(true, "device is not interactive"), FSI_DEVICE_DREAMING(true, "device is dreaming"), @@ -154,6 +156,12 @@ class FullScreenIntentDecisionProvider( return NO_FSI_SUPPRESSIVE_GROUP_ALERT_BEHAVIOR } + if (android.service.notification.Flags.notificationSilentFlag()) { + if (sbn.notification.isSilent) { + return NO_FSI_SUPPRESSIVE_SILENT_NOTIFICATION + } + } + val bubbleMetadata = notification.bubbleMetadata if (bubbleMetadata != null && bubbleMetadata.isNotificationSuppressed) { return NO_FSI_SUPPRESSIVE_BUBBLE_METADATA diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptLogger.kt index a2f97bdbc7a1..e9efa56399b1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptLogger.kt @@ -193,6 +193,14 @@ class NotificationInterruptLogger @Inject constructor( }) } + fun logNoAlertingSilentNotification(entry: NotificationEntry) { + buffer.log(TAG, DEBUG, { + str1 = entry.logKey + }, { + "No alerting: suppressed due to silent notification: $str1" + }) + } + fun logNoAlertingSuppressedBy( entry: NotificationEntry, suppressor: NotificationInterruptSuppressor, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java index c084482bec9d..2b027907fa62 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java @@ -67,6 +67,11 @@ public interface NotificationInterruptStateProvider { */ NO_FSI_SUPPRESSIVE_BUBBLE_METADATA(false), /** + * Notification should not FSI due to being explicitly silent. + * see {@link android.app.Notification#isSilent} + */ + NO_FSI_SUPPRESSIVE_SILENT_NOTIFICATION(false), + /** * Device screen is off, so the FSI should launch. */ FSI_DEVICE_NOT_INTERACTIVE(true), diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java index fea360d4e02a..450067a969e2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java @@ -295,8 +295,17 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter // b/231322873: Detect and report an event when a notification has both an FSI and a // suppressive groupAlertBehavior, and now correctly block the FSI from firing. return getDecisionGivenSuppression( - FullScreenIntentDecision.NO_FSI_SUPPRESSIVE_GROUP_ALERT_BEHAVIOR, + FullScreenIntentDecision.NO_FSI_SUPPRESSIVE_GROUP_ALERT_BEHAVIOR, + suppressedByDND); + } + + // If the notification is explicitly silent, block FSI and warn. + if (android.service.notification.Flags.notificationSilentFlag()) { + if (sbn.getNotification().isSilent()) { + return getDecisionGivenSuppression( + FullScreenIntentDecision.NO_FSI_SUPPRESSIVE_SILENT_NOTIFICATION, suppressedByDND); + } } // If the notification has suppressive BubbleMetadata, block FSI and warn. @@ -587,8 +596,18 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter StatusBarNotification sbn = entry.getSbn(); // Don't alert notifications that are suppressed due to group alert behavior + if (android.service.notification.Flags.notificationSilentFlag()) { + if (sbn.getNotification().isSilent()) { + if (log) { + mLogger.logNoAlertingSilentNotification(entry); + } + return false; + } + } + if (sbn.isGroup() && sbn.getNotification().suppressAlertingDueToGrouping()) { - if (log) mLogger.logNoAlertingGroupAlertBehavior(entry); + if (log) + mLogger.logNoAlertingGroupAlertBehavior(entry); return false; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImpl.kt index 96f94ca2a254..1c476ce0362b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderImpl.kt @@ -176,6 +176,7 @@ constructor( addFilter(BubbleNotAllowedSuppressor()) addFilter(BubbleNoMetadataSuppressor()) addFilter(HunGroupAlertBehaviorSuppressor()) + addFilter(HunSilentNotificationSuppressor()) addFilter(HunJustLaunchedFsiSuppressor()) addFilter(AlertAppSuspendedSuppressor()) addFilter(AlertKeyguardVisibilitySuppressor(keyguardNotificationVisibilityProvider)) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowCallback.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowCallback.java index da91d6a05d6b..6ac7f11d3ad8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowCallback.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowCallback.java @@ -26,5 +26,5 @@ public interface StatusBarWindowCallback { */ void onStateChanged(boolean keyguardShowing, boolean keyguardOccluded, boolean keyguardGoingAway, boolean bouncerShowing, boolean isDozing, - boolean panelExpanded, boolean isDreaming); + boolean panelExpanded, boolean isDreaming, boolean communalShowing); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/domain/interactor/ZenModeInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/policy/domain/interactor/ZenModeInteractor.kt index f5d7d0029e90..e4d06681d439 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/domain/interactor/ZenModeInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/domain/interactor/ZenModeInteractor.kt @@ -17,7 +17,7 @@ package com.android.systemui.statusbar.policy.domain.interactor import android.provider.Settings -import com.android.settingslib.statusbar.notification.data.repository.ZenModeRepository +import com.android.settingslib.notification.data.repository.ZenModeRepository import javax.inject.Inject import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine diff --git a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/GestureViewModelFactory.kt b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/GestureViewModelFactory.kt deleted file mode 100644 index 504bd5fbcb42..000000000000 --- a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/GestureViewModelFactory.kt +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.touchpad.tutorial.ui - -import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider - -sealed class GestureTutorialViewModel : ViewModel() - -class BackGestureTutorialViewModel : GestureTutorialViewModel() - -class HomeGestureTutorialViewModel : GestureTutorialViewModel() - -class GestureViewModelFactory : ViewModelProvider.Factory { - - @Suppress("UNCHECKED_CAST") - override fun <T : ViewModel> create(modelClass: Class<T>): T { - return when (modelClass) { - BackGestureTutorialViewModel::class.java -> BackGestureTutorialViewModel() - HomeGestureTutorialViewModel::class.java -> HomeGestureTutorialViewModel() - else -> error("Unknown ViewModel class: ${modelClass.name}") - } - as T - } -} diff --git a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/gesture/BackGestureMonitor.kt b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/gesture/BackGestureMonitor.kt new file mode 100644 index 000000000000..1fa7a0c44171 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/gesture/BackGestureMonitor.kt @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.touchpad.tutorial.ui.gesture + +import android.view.MotionEvent +import kotlin.math.abs + +/** + * Monitor for touchpad gestures that calls [gestureDoneCallback] when gesture was successfully + * done. All tracked motion events should be passed to [processTouchpadEvent] + */ +interface TouchpadGestureMonitor { + + val gestureDistanceThresholdPx: Int + val gestureDoneCallback: () -> Unit + + fun processTouchpadEvent(event: MotionEvent) +} + +class BackGestureMonitor( + override val gestureDistanceThresholdPx: Int, + override val gestureDoneCallback: () -> Unit +) : TouchpadGestureMonitor { + + private var xStart = 0f + + override fun processTouchpadEvent(event: MotionEvent) { + val action = event.actionMasked + when (action) { + MotionEvent.ACTION_DOWN -> { + if (isThreeFingerTouchpadSwipe(event)) { + xStart = event.x + } + } + MotionEvent.ACTION_UP -> { + if (isThreeFingerTouchpadSwipe(event)) { + val distance = abs(event.x - xStart) + if (distance >= gestureDistanceThresholdPx) { + gestureDoneCallback() + } + } + } + } + } + + private fun isThreeFingerTouchpadSwipe(event: MotionEvent): Boolean { + return event.classification == MotionEvent.CLASSIFICATION_MULTI_FINGER_SWIPE && + event.getAxisValue(MotionEvent.AXIS_GESTURE_SWIPE_FINGER_COUNT) == 3f + } +} diff --git a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/gesture/TouchpadGesture.kt b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/gesture/TouchpadGesture.kt new file mode 100644 index 000000000000..4ae9c7b2426c --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/gesture/TouchpadGesture.kt @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.touchpad.tutorial.ui.gesture + +enum class TouchpadGesture { + BACK, + HOME; + + fun toMonitor( + swipeDistanceThresholdPx: Int, + gestureDoneCallback: () -> Unit + ): TouchpadGestureMonitor { + return when (this) { + BACK -> BackGestureMonitor(swipeDistanceThresholdPx, gestureDoneCallback) + else -> throw IllegalArgumentException("Not implemented yet") + } + } +} diff --git a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/gesture/TouchpadGestureHandler.kt b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/gesture/TouchpadGestureHandler.kt new file mode 100644 index 000000000000..dc8471c3248a --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/gesture/TouchpadGestureHandler.kt @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.touchpad.tutorial.ui.gesture + +import android.view.InputDevice +import android.view.MotionEvent + +/** + * Allows listening to touchpadGesture and calling onDone when gesture was triggered. Can have all + * motion events passed to [onMotionEvent] and will filter touchpad events accordingly + */ +class TouchpadGestureHandler( + touchpadGesture: TouchpadGesture, + swipeDistanceThresholdPx: Int, + onDone: () -> Unit +) { + + private val gestureRecognition = + touchpadGesture.toMonitor(swipeDistanceThresholdPx, gestureDoneCallback = onDone) + + fun onMotionEvent(event: MotionEvent): Boolean { + // events from touchpad have SOURCE_MOUSE and not SOURCE_TOUCHPAD because of legacy reasons + val isFromTouchpad = + event.isFromSource(InputDevice.SOURCE_MOUSE) && + event.getToolType(0) == MotionEvent.TOOL_TYPE_FINGER + val buttonClick = + event.actionMasked == MotionEvent.ACTION_DOWN && + event.isButtonPressed(MotionEvent.BUTTON_PRIMARY) + return if (isFromTouchpad && !buttonClick) { + gestureRecognition.processTouchpadEvent(event) + true + } else { + false + } + } +} diff --git a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/view/BackGestureTutorialScreen.kt b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/view/BackGestureTutorialScreen.kt index 2460761c8592..04a47985dc29 100644 --- a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/view/BackGestureTutorialScreen.kt +++ b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/view/BackGestureTutorialScreen.kt @@ -17,9 +17,11 @@ package com.android.systemui.touchpad.tutorial.ui.view import androidx.activity.compose.BackHandler +import androidx.annotation.StringRes import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -31,29 +33,67 @@ import androidx.compose.foundation.layout.width import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier +import androidx.compose.ui.input.pointer.pointerInteropFilter +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import com.android.systemui.res.R +import com.android.systemui.touchpad.tutorial.ui.gesture.TouchpadGesture.BACK +import com.android.systemui.touchpad.tutorial.ui.gesture.TouchpadGestureHandler +@OptIn(ExperimentalComposeUiApi::class) @Composable fun BackGestureTutorialScreen( onDoneButtonClicked: () -> Unit, onBack: () -> Unit, - modifier: Modifier = Modifier, ) { - BackHandler { onBack() } + BackHandler(onBack = onBack) + var gestureDone by remember { mutableStateOf(false) } + val swipeDistanceThresholdPx = + with(LocalContext.current) { + resources.getDimensionPixelSize( + com.android.internal.R.dimen.system_gestures_distance_threshold + ) + } + val gestureHandler = + remember(swipeDistanceThresholdPx) { + TouchpadGestureHandler(BACK, swipeDistanceThresholdPx, onDone = { gestureDone = true }) + } + Box( + modifier = + Modifier.fillMaxSize() + // we need to use pointerInteropFilter because some info about touchpad gestures is + // only available in MotionEvent + .pointerInteropFilter(onTouchEvent = gestureHandler::onMotionEvent) + ) { + GestureTutorialContent(gestureDone, onDoneButtonClicked) + } +} + +@Composable +private fun GestureTutorialContent(gestureDone: Boolean, onDoneButtonClicked: () -> Unit) { Column( verticalArrangement = Arrangement.Center, modifier = - modifier + Modifier.fillMaxSize() .background(color = MaterialTheme.colorScheme.surfaceContainer) .padding(start = 48.dp, top = 124.dp, end = 48.dp, bottom = 48.dp) - .fillMaxSize() ) { Row(modifier = Modifier.fillMaxWidth().weight(1f)) { - TutorialDescription(modifier = Modifier.weight(1f)) + TutorialDescription( + titleTextId = + if (gestureDone) R.string.touchpad_tutorial_gesture_done + else R.string.touchpad_back_gesture_action_title, + bodyTextId = R.string.touchpad_back_gesture_guidance, + modifier = Modifier.weight(1f) + ) Spacer(modifier = Modifier.width(76.dp)) TutorialAnimation(modifier = Modifier.weight(1f).padding(top = 24.dp)) } @@ -62,17 +102,15 @@ fun BackGestureTutorialScreen( } @Composable -fun TutorialDescription(modifier: Modifier = Modifier) { +fun TutorialDescription( + @StringRes titleTextId: Int, + @StringRes bodyTextId: Int, + modifier: Modifier = Modifier +) { Column(verticalArrangement = Arrangement.Top, modifier = modifier) { - Text( - text = stringResource(id = R.string.touchpad_back_gesture_action_title), - style = MaterialTheme.typography.displayLarge - ) + Text(text = stringResource(id = titleTextId), style = MaterialTheme.typography.displayLarge) Spacer(modifier = Modifier.height(16.dp)) - Text( - text = stringResource(id = R.string.touchpad_back_gesture_guidance), - style = MaterialTheme.typography.bodyLarge - ) + Text(text = stringResource(id = bodyTextId), style = MaterialTheme.typography.bodyLarge) } } diff --git a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/view/TouchpadTutorialActivity.kt b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/view/TouchpadTutorialActivity.kt index 0c5c1874db8a..93c26583e11e 100644 --- a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/view/TouchpadTutorialActivity.kt +++ b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/view/TouchpadTutorialActivity.kt @@ -17,6 +17,7 @@ package com.android.systemui.touchpad.tutorial.ui.view import android.os.Bundle +import android.view.WindowManager import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge @@ -25,10 +26,7 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.lifecycle.Lifecycle.State.STARTED import androidx.lifecycle.compose.collectAsStateWithLifecycle -import androidx.lifecycle.viewmodel.compose.viewModel import com.android.compose.theme.PlatformTheme -import com.android.systemui.touchpad.tutorial.ui.GestureViewModelFactory -import com.android.systemui.touchpad.tutorial.ui.HomeGestureTutorialViewModel import com.android.systemui.touchpad.tutorial.ui.Screen.BACK_GESTURE import com.android.systemui.touchpad.tutorial.ui.Screen.HOME_GESTURE import com.android.systemui.touchpad.tutorial.ui.Screen.TUTORIAL_SELECTION @@ -47,6 +45,8 @@ constructor( super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { PlatformTheme { TouchpadTutorialScreen(vm) { finish() } } } + // required to handle 3+ fingers on touchpad + window.addPrivateFlags(WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY) } override fun onResume() { @@ -74,13 +74,8 @@ fun TouchpadTutorialScreen(vm: TouchpadTutorialViewModel, closeTutorial: () -> U BACK_GESTURE -> BackGestureTutorialScreen( onDoneButtonClicked = { vm.goTo(TUTORIAL_SELECTION) }, - onBack = { vm.goTo(TUTORIAL_SELECTION) } + onBack = { vm.goTo(TUTORIAL_SELECTION) }, ) - HOME_GESTURE -> HomeGestureTutorialScreen() + HOME_GESTURE -> {} } } - -@Composable -fun HomeGestureTutorialScreen() { - val vm = viewModel<HomeGestureTutorialViewModel>(factory = GestureViewModelFactory()) -} diff --git a/packages/SystemUI/src/com/android/systemui/volume/dagger/AudioModule.kt b/packages/SystemUI/src/com/android/systemui/volume/dagger/AudioModule.kt index 2e7b05a5422f..de8b9b1e7e3c 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/dagger/AudioModule.kt +++ b/packages/SystemUI/src/com/android/systemui/volume/dagger/AudioModule.kt @@ -20,7 +20,7 @@ import android.content.ContentResolver import android.content.Context import android.media.AudioManager import com.android.settingslib.bluetooth.LocalBluetoothManager -import com.android.settingslib.statusbar.notification.domain.interactor.NotificationsSoundPolicyInteractor +import com.android.settingslib.notification.domain.interactor.NotificationsSoundPolicyInteractor import com.android.settingslib.volume.data.repository.AudioRepository import com.android.settingslib.volume.data.repository.AudioRepositoryImpl import com.android.settingslib.volume.data.repository.AudioSharingRepository diff --git a/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java b/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java index 8457bdb2d0ff..45799b255630 100644 --- a/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java +++ b/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java @@ -261,7 +261,7 @@ public class BubblesManager { // Store callback in a field so it won't get GC'd mStatusBarWindowCallback = (keyguardShowing, keyguardOccluded, keyguardGoingAway, bouncerShowing, isDozing, - panelExpanded, isDreaming) -> { + panelExpanded, isDreaming, communalShowing) -> { if (panelExpanded != mPanelExpanded) { mPanelExpanded = panelExpanded; mBubbles.onNotificationPanelExpandedChanged(panelExpanded); diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/data/source/TestShortcuts.kt b/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/data/source/TestShortcuts.kt index c2814bd45e86..765cd014864c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/data/source/TestShortcuts.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/data/source/TestShortcuts.kt @@ -154,6 +154,29 @@ object TestShortcuts { listOf(standardShortcutInfo3, shortcutInfoWithUnsupportedModifiers) ) + private val switchToNextLanguageShortcut = + shortcut("Switch to next language") { + command { + key("Ctrl") + key("Space") + } + } + + private val switchToPreviousLanguageShortcut = + shortcut("Switch to previous language") { + command { + key("Ctrl") + key("Shift") + key("Space") + } + } + + private val subCategoryForInputLanguageSwitchShortcuts = + ShortcutSubCategory( + "Input", + listOf(switchToNextLanguageShortcut, switchToPreviousLanguageShortcut) + ) + private val subCategoryWithUnsupportedShortcutsRemoved = ShortcutSubCategory( groupWithSupportedAndUnsupportedModifierShortcut.label!!.toString(), @@ -198,7 +221,13 @@ object TestShortcuts { val imeCategory = ShortcutCategory( type = ShortcutCategoryType.IME, - subCategories = listOf(standardSubCategory1, standardSubCategory2, standardSubCategory3) + subCategories = + listOf( + subCategoryForInputLanguageSwitchShortcuts, + standardSubCategory1, + standardSubCategory2, + standardSubCategory3 + ) ) val systemGroups = listOf(standardGroup3, standardGroup2, standardGroup1) @@ -221,6 +250,13 @@ object TestShortcuts { val subCategoriesWithGroupedDuplicatedShortcutLabels = listOf(subCategoryWithGroupedRepeatedShortcutLabels, subCategoryWithStandardShortcut) + val imeSubCategoriesWithGroupedDuplicatedShortcutLabels = + listOf( + subCategoryForInputLanguageSwitchShortcuts, + subCategoryWithGroupedRepeatedShortcutLabels, + subCategoryWithStandardShortcut + ) + val groupsWithUnsupportedModifier = listOf( groupWithStandardShortcutInfo, @@ -231,5 +267,12 @@ object TestShortcuts { val subCategoriesWithUnsupportedModifiersRemoved = listOf(subCategoryWithStandardShortcut, subCategoryWithUnsupportedShortcutsRemoved) + val imeSubCategoriesWithUnsupportedModifiersRemoved = + listOf( + subCategoryForInputLanguageSwitchShortcuts, + subCategoryWithStandardShortcut, + subCategoryWithUnsupportedShortcutsRemoved + ) + val groupsWithOnlyUnsupportedModifiers = listOf(groupWithOnlyUnsupportedModifierShortcut) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/domain/interactor/ShortcutHelperCategoriesInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/domain/interactor/ShortcutHelperCategoriesInteractorTest.kt index c6a7565efcd7..a5f1f8c0896a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/domain/interactor/ShortcutHelperCategoriesInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/domain/interactor/ShortcutHelperCategoriesInteractorTest.kt @@ -116,7 +116,7 @@ class ShortcutHelperCategoriesInteractorTest : SysuiTestCase() { ShortcutCategory( type = IME, subCategories = - TestShortcuts.subCategoriesWithGroupedDuplicatedShortcutLabels + TestShortcuts.imeSubCategoriesWithGroupedDuplicatedShortcutLabels ), ) .inOrder() @@ -180,7 +180,8 @@ class ShortcutHelperCategoriesInteractorTest : SysuiTestCase() { TestShortcuts.multitaskingCategory, ShortcutCategory( type = IME, - subCategories = TestShortcuts.subCategoriesWithUnsupportedModifiersRemoved + subCategories = + TestShortcuts.imeSubCategoriesWithUnsupportedModifiersRemoved ), ) .inOrder() @@ -227,23 +228,7 @@ class ShortcutHelperCategoriesInteractorTest : SysuiTestCase() { } @Test - fun categories_stateActive_imeShortcutsWitOnlyUnsupportedModifiers_discardsCategory() = - testScope.runTest { - helper.setImeShortcuts(TestShortcuts.groupsWithOnlyUnsupportedModifiers) - val categories by collectLastValue(interactor.shortcutCategories) - - helper.showFromActivity() - - assertThat(categories) - .containsExactly( - TestShortcuts.systemCategory, - TestShortcuts.multitaskingCategory, - ) - .inOrder() - } - - @Test - fun categories_stateActive_systemShortcutsWitOnlyUnsupportedModifiers_discardsCategory() = + fun categories_stateActive_systemShortcutsWithOnlyUnsupportedModifiers_discardsCategory() = testScope.runTest { systemShortcutsSource.setGroups(TestShortcuts.groupsWithOnlyUnsupportedModifiers) val categories by collectLastValue(interactor.shortcutCategories) diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/ui/viewmodel/ShortcutHelperViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/ui/viewmodel/ShortcutHelperViewModelTest.kt index c985199a97a7..80d487cab50d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/ui/viewmodel/ShortcutHelperViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyboard/shortcut/ui/viewmodel/ShortcutHelperViewModelTest.kt @@ -23,6 +23,7 @@ import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues import com.android.systemui.keyboard.shortcut.shortcutHelperTestHelper import com.android.systemui.keyboard.shortcut.shortcutHelperViewModel +import com.android.systemui.keyboard.shortcut.ui.model.ShortcutsUiState import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.testCase import com.android.systemui.kosmos.testDispatcher @@ -163,4 +164,34 @@ class ShortcutHelperViewModelTest : SysuiTestCase() { assertThat(sysUiState.isFlagEnabled(SYSUI_STATE_SHORTCUT_HELPER_SHOWING)).isFalse() } + + @Test + fun shortcutsUiState_inactiveByDefault() = + testScope.runTest { + val uiState by collectLastValue(viewModel.shortcutsUiState) + + assertThat(uiState).isEqualTo(ShortcutsUiState.Inactive) + } + + @Test + fun shortcutsUiState_featureActive_emitsActive() = + testScope.runTest { + val uiState by collectLastValue(viewModel.shortcutsUiState) + + testHelper.showFromActivity() + + assertThat(uiState).isInstanceOf(ShortcutsUiState.Active::class.java) + } + + @Test + fun shortcutsUiState_featureActive_emitsActiveWithFirstCategorySelectedByDefault() = + testScope.runTest { + val uiState by collectLastValue(viewModel.shortcutsUiState) + + testHelper.showFromActivity() + + val activeUiState = uiState as ShortcutsUiState.Active + assertThat(activeUiState.defaultSelectedCategory) + .isEqualTo(activeUiState.shortcutCategories.first().type) + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractorTest.kt index f32e7757328f..c9871f1e4e1e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractorTest.kt @@ -21,6 +21,9 @@ import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues +import com.android.systemui.flags.DisableSceneContainer +import com.android.systemui.flags.EnableSceneContainer +import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository import com.android.systemui.keyguard.shared.model.KeyguardState import com.android.systemui.keyguard.shared.model.KeyguardSurfaceBehindModel @@ -28,12 +31,18 @@ import com.android.systemui.keyguard.shared.model.TransitionState import com.android.systemui.keyguard.shared.model.TransitionStep import com.android.systemui.keyguard.util.mockTopActivityClassName import com.android.systemui.kosmos.testScope +import com.android.systemui.scene.data.repository.Idle +import com.android.systemui.scene.data.repository.Transition +import com.android.systemui.scene.data.repository.setSceneTransition +import com.android.systemui.scene.shared.model.Scenes +import com.android.systemui.shared.system.ActivityManagerWrapper import com.android.systemui.shared.system.activityManagerWrapper import com.android.systemui.statusbar.notification.domain.interactor.notificationLaunchAnimationInteractor import com.android.systemui.testKosmos import com.android.systemui.util.assertValuesMatch import com.google.common.truth.Truth.assertThat import kotlin.test.Test +import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest import org.junit.Before @@ -44,16 +53,22 @@ import org.junit.runner.RunWith @kotlinx.coroutines.ExperimentalCoroutinesApi class KeyguardSurfaceBehindInteractorTest : SysuiTestCase() { private val kosmos = testKosmos() - private val testScope = kosmos.testScope - private val underTest = kosmos.keyguardSurfaceBehindInteractor - private val transitionRepository = kosmos.fakeKeyguardTransitionRepository - private val inWindowUnlockInteractor = kosmos.inWindowLauncherUnlockAnimationInteractor - private val activityManagerWrapper = kosmos.activityManagerWrapper + private lateinit var testScope: TestScope + private lateinit var underTest: KeyguardSurfaceBehindInteractor + private lateinit var transitionRepository: FakeKeyguardTransitionRepository + private lateinit var inWindowUnlockInteractor: InWindowLauncherUnlockAnimationInteractor + private lateinit var activityManagerWrapper: ActivityManagerWrapper private val LAUNCHER_ACTIVITY_NAME = "launcher" @Before fun setUp() { + testScope = kosmos.testScope + underTest = kosmos.keyguardSurfaceBehindInteractor + transitionRepository = kosmos.fakeKeyguardTransitionRepository + inWindowUnlockInteractor = kosmos.inWindowLauncherUnlockAnimationInteractor + activityManagerWrapper = kosmos.activityManagerWrapper + inWindowUnlockInteractor.setLauncherActivityClass(LAUNCHER_ACTIVITY_NAME) // Default to having something other than Launcher on top. @@ -61,6 +76,7 @@ class KeyguardSurfaceBehindInteractorTest : SysuiTestCase() { } @Test + @DisableSceneContainer fun testSurfaceBehindModel_toAppSurface() = testScope.runTest { val values by collectValues(underTest.viewParams) @@ -136,6 +152,7 @@ class KeyguardSurfaceBehindInteractorTest : SysuiTestCase() { } @Test + @DisableSceneContainer fun testSurfaceBehindModel_toLauncher() = testScope.runTest { val values by collectValues(underTest.viewParams) @@ -196,6 +213,7 @@ class KeyguardSurfaceBehindInteractorTest : SysuiTestCase() { } @Test + @DisableSceneContainer fun testSurfaceBehindModel_fromNotificationLaunch() = testScope.runTest { val values by collectValues(underTest.viewParams) @@ -230,6 +248,105 @@ class KeyguardSurfaceBehindInteractorTest : SysuiTestCase() { } @Test + @EnableSceneContainer + fun testSurfaceBehindModel_toAppSurface_scene_container() = + testScope.runTest { + val values by collectValues(underTest.viewParams) + runCurrent() + + assertThat(values) + .containsExactly( + // We're initialized in LOCKSCREEN. + KeyguardSurfaceBehindModel(alpha = 0f), + ) + + kosmos.setSceneTransition(Transition(Scenes.Lockscreen, Scenes.Gone)) + + values.assertValuesMatch( + { it == KeyguardSurfaceBehindModel(alpha = 0f) }, + // Once we start a transition to GONE, we should fade in and translate up. The exact + // start value depends on screen density, so just look for != 0. + { + it.animateFromAlpha == 0f && + it.alpha == 1f && + it.animateFromTranslationY != 0f && + it.translationY == 0f + } + ) + + kosmos.setSceneTransition(Idle(Scenes.Gone)) + + values.assertValuesMatch( + { it == KeyguardSurfaceBehindModel(alpha = 0f) }, + { + it.animateFromAlpha == 0f && + it.alpha == 1f && + it.animateFromTranslationY != 0f && + it.translationY == 0f + }, + // Once the current state is GONE, we should default to alpha = 1f. + { it == KeyguardSurfaceBehindModel(alpha = 1f) } + ) + } + + @Test + @EnableSceneContainer + fun testSurfaceBehindModel_toLauncher_scene_container() = + testScope.runTest { + val values by collectValues(underTest.viewParams) + activityManagerWrapper.mockTopActivityClassName(LAUNCHER_ACTIVITY_NAME) + runCurrent() + + assertThat(values) + .containsExactly( + // We're initialized in LOCKSCREEN. + KeyguardSurfaceBehindModel(alpha = 0f), + ) + .inOrder() + + kosmos.setSceneTransition(Transition(Scenes.Lockscreen, Scenes.Gone)) + + assertThat(values) + .containsExactly( + KeyguardSurfaceBehindModel(alpha = 0f), + // We should instantly set alpha = 1, with no animations, when Launcher is + // behind + // the keyguard since we're playing in-window animations. + KeyguardSurfaceBehindModel(alpha = 1f), + ) + .inOrder() + + kosmos.setSceneTransition(Idle(Scenes.Gone)) + + assertThat(values) + .containsExactly( + KeyguardSurfaceBehindModel(alpha = 0f), + // Should have remained at alpha = 1f through the entire animation. + KeyguardSurfaceBehindModel(alpha = 1f), + ) + .inOrder() + } + + @Test + @EnableSceneContainer + fun testSurfaceBehindModel_fromNotificationLaunch_scene_container() = + testScope.runTest { + val values by collectValues(underTest.viewParams) + runCurrent() + + kosmos.notificationLaunchAnimationInteractor.setIsLaunchAnimationRunning(true) + runCurrent() + + kosmos.setSceneTransition(Transition(Scenes.Lockscreen, Scenes.Gone)) + + values.assertValuesMatch( + // We should be at alpha = 0f during the animation. + { it == KeyguardSurfaceBehindModel(alpha = 0f) }, + ) + } + + @Test + @DisableSceneContainer fun notificationLaunchFromLockscreen_isAnimatingSurfaceTrue() = testScope.runTest { val isAnimatingSurface by collectLastValue(underTest.isAnimatingSurface) @@ -253,6 +370,7 @@ class KeyguardSurfaceBehindInteractorTest : SysuiTestCase() { } @Test + @DisableSceneContainer fun notificationLaunchFromGone_isAnimatingSurfaceFalse() = testScope.runTest { val isAnimatingSurface by collectLastValue(underTest.isAnimatingSurface) @@ -276,6 +394,7 @@ class KeyguardSurfaceBehindInteractorTest : SysuiTestCase() { } @Test + @DisableSceneContainer fun notificationLaunchFalse_isAnimatingSurfaceFalse() = testScope.runTest { val isAnimatingSurface by collectLastValue(underTest.isAnimatingSurface) @@ -297,4 +416,44 @@ class KeyguardSurfaceBehindInteractorTest : SysuiTestCase() { runCurrent() assertThat(isAnimatingSurface).isFalse() } + + @Test + @EnableSceneContainer + fun notificationLaunchFromLockscreen_isAnimatingSurfaceTrue_scene_container() = + testScope.runTest { + val isAnimatingSurface by collectLastValue(underTest.isAnimatingSurface) + + kosmos.setSceneTransition(Idle(Scenes.Lockscreen)) + kosmos.notificationLaunchAnimationInteractor.setIsLaunchAnimationRunning(true) + runCurrent() + + assertThat(isAnimatingSurface).isTrue() + } + + @Test + @EnableSceneContainer + fun notificationLaunchFromGone_isAnimatingSurfaceFalse_scene_container() = + testScope.runTest { + val isAnimatingSurface by collectLastValue(underTest.isAnimatingSurface) + + kosmos.setSceneTransition(Idle(Scenes.Gone)) + kosmos.notificationLaunchAnimationInteractor.setIsLaunchAnimationRunning(true) + runCurrent() + assertThat(isAnimatingSurface).isFalse() + + kosmos.setSceneTransition(Transition(from = Scenes.Gone, to = Scenes.Lockscreen)) + assertThat(isAnimatingSurface).isFalse() + } + + @Test + @EnableSceneContainer + fun notificationLaunchFalse_isAnimatingSurfaceFalse_scene_container() = + testScope.runTest { + val isAnimatingSurface by collectLastValue(underTest.isAnimatingSurface) + + kosmos.setSceneTransition(Idle(Scenes.Lockscreen)) + kosmos.notificationLaunchAnimationInteractor.setIsLaunchAnimationRunning(false) + runCurrent() + assertThat(isAnimatingSurface).isFalse() + } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionScenariosTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionScenariosTest.kt index 246cfbfbea68..824132adc0d5 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionScenariosTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionScenariosTest.kt @@ -30,7 +30,6 @@ import com.android.systemui.bouncer.data.repository.fakeKeyguardBouncerRepositor import com.android.systemui.communal.domain.interactor.communalInteractor import com.android.systemui.communal.domain.interactor.setCommunalAvailable import com.android.systemui.communal.shared.model.CommunalScenes -import com.android.systemui.dock.fakeDockManager import com.android.systemui.flags.BrokenWithSceneContainer import com.android.systemui.flags.DisableSceneContainer import com.android.systemui.flags.FakeFeatureFlags @@ -124,7 +123,6 @@ class KeyguardTransitionScenariosTest(flags: FlagsParameterization?) : SysuiTest private val powerInteractor by lazy { kosmos.powerInteractor } private val communalInteractor by lazy { kosmos.communalInteractor } - private val dockManager by lazy { kosmos.fakeDockManager } companion object { @JvmStatic @@ -583,6 +581,7 @@ class KeyguardTransitionScenariosTest(flags: FlagsParameterization?) : SysuiTest } @Test + @DisableSceneContainer fun dozingToPrimaryBouncer() = testScope.runTest { // GIVEN a prior transition has run to DOZING @@ -597,8 +596,8 @@ class KeyguardTransitionScenariosTest(flags: FlagsParameterization?) : SysuiTest assertThat(transitionRepository) .startedTransition( - to = KeyguardState.PRIMARY_BOUNCER, from = KeyguardState.DOZING, + to = KeyguardState.PRIMARY_BOUNCER, animatorAssertion = { it.isNotNull() } ) @@ -633,6 +632,7 @@ class KeyguardTransitionScenariosTest(flags: FlagsParameterization?) : SysuiTest } @Test + @DisableSceneContainer fun dozingToGlanceableHub() = testScope.runTest { // GIVEN a prior transition has run to DOZING @@ -654,8 +654,8 @@ class KeyguardTransitionScenariosTest(flags: FlagsParameterization?) : SysuiTest assertThat(transitionRepository) .startedTransition( - to = KeyguardState.GLANCEABLE_HUB, from = KeyguardState.DOZING, + to = KeyguardState.GLANCEABLE_HUB, animatorAssertion = { it.isNotNull() } ) @@ -1452,6 +1452,7 @@ class KeyguardTransitionScenariosTest(flags: FlagsParameterization?) : SysuiTest } @Test + @DisableSceneContainer fun dreamingToPrimaryBouncer() = testScope.runTest { // GIVEN a prior transition has run to DREAMING diff --git a/packages/SystemUI/tests/src/com/android/systemui/notetask/quickaffordance/NoteTaskQuickAffordanceConfigTest.kt b/packages/SystemUI/tests/src/com/android/systemui/notetask/quickaffordance/NoteTaskQuickAffordanceConfigTest.kt index f624f2029b36..b7fb759eb138 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/notetask/quickaffordance/NoteTaskQuickAffordanceConfigTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/notetask/quickaffordance/NoteTaskQuickAffordanceConfigTest.kt @@ -57,7 +57,9 @@ import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito.anyString +import org.mockito.Mockito.spy import org.mockito.Mockito.verify +import org.mockito.Mockito.`when` import org.mockito.MockitoSession import org.mockito.quality.Strictness @@ -75,6 +77,9 @@ internal class NoteTaskQuickAffordanceConfigTest : SysuiTestCase() { private lateinit var mockitoSession: MockitoSession + private val spiedContext = spy(context) + private val spiedResources = spy(spiedContext.resources) + @Before fun setUp() { mockitoSession = @@ -100,6 +105,8 @@ internal class NoteTaskQuickAffordanceConfigTest : SysuiTestCase() { ) ) .thenReturn(listOf("com.google.test.notes")) + + `when`(spiedContext.resources).thenReturn(spiedResources) } @After @@ -109,7 +116,7 @@ internal class NoteTaskQuickAffordanceConfigTest : SysuiTestCase() { private fun createUnderTest(isEnabled: Boolean = true): KeyguardQuickAffordanceConfig = NoteTaskQuickAffordanceConfig( - context = context, + context = spiedContext, controller = controller, stylusManager = stylusManager, userManager = userManager, @@ -132,126 +139,262 @@ internal class NoteTaskQuickAffordanceConfigTest : SysuiTestCase() { ) // region lockScreenState + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_stylusUsed_userUnlocked_isSelected_shouldEmitVisible() = runTest { - val underTest = createUnderTest() - TestConfig().setStylusEverUsed(true).setUserUnlocked(true).setConfigSelections(underTest) + fun lockScreenState_stylusUnused_userLocked_customizationDisabled_notesLockScreenShortcutNotSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(false) + .setUserUnlocked(false) + .setLockScreenCustomizationEnabled(false) + .setConfigSelections() - val actual by collectLastValue(underTest.lockScreenState) + val actual by collectLastValue(underTest.lockScreenState) - assertThat(actual).isEqualTo(createLockScreenStateVisible()) - } + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_stylusUsed_userUnlocked_isSelected_noDefaultNotesAppSet_shouldEmitHidden() = + fun lockScreenState_stylusUnused_userLocked_customizationDisabled_notesLockScreenShortcutSelected_shouldEmitHidden() = runTest { val underTest = createUnderTest() TestConfig() - .setStylusEverUsed(true) + .setStylusEverUsed(false) + .setUserUnlocked(false) + .setLockScreenCustomizationEnabled(false) + .setConfigSelections(underTest) + + val actual by collectLastValue(underTest.lockScreenState) + + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + + @Suppress("ktlint:standard:max-line-length") + @Test + fun lockScreenState_stylusUnused_userLocked_customizationEnabled_notesLockScreenShortcutNotSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(false) + .setUserUnlocked(false) + .setLockScreenCustomizationEnabled(true) + .setConfigSelections() + + val actual by collectLastValue(underTest.lockScreenState) + + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + + @Suppress("ktlint:standard:max-line-length") + @Test + fun lockScreenState_stylusUnused_userLocked_customizationEnabled_notesLockScreenShortcutSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(false) + .setUserUnlocked(false) + .setLockScreenCustomizationEnabled(true) + .setConfigSelections(underTest) + + val actual by collectLastValue(underTest.lockScreenState) + + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + + @Suppress("ktlint:standard:max-line-length") + @Test + fun lockScreenState_stylusUnused_userUnlocked_customizationDisabled_notesLockScreenShortcutNotSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(false) .setUserUnlocked(true) + .setLockScreenCustomizationEnabled(false) + .setConfigSelections() + + val actual by collectLastValue(underTest.lockScreenState) + + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + + @Suppress("ktlint:standard:max-line-length") + @Test + fun lockScreenState_stylusUnused_userUnlocked_customizationDisabled_notesLockScreenShortcutSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(false) + .setUserUnlocked(true) + .setLockScreenCustomizationEnabled(false) .setConfigSelections(underTest) - whenever( - roleManager.getRoleHoldersAsUser( - eq(RoleManager.ROLE_NOTES), - any(UserHandle::class.java) - ) - ) - .thenReturn(emptyList()) val actual by collectLastValue(underTest.lockScreenState) assertThat(actual).isEqualTo(LockScreenState.Hidden) } + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_stylusUnused_userUnlocked_isSelected_shouldEmitHidden() = runTest { - val underTest = createUnderTest() - TestConfig().setStylusEverUsed(false).setUserUnlocked(true).setConfigSelections(underTest) + fun lockScreenState_stylusUnused_userUnlocked_customizationEnabled_notesLockScreenShortcutNotSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(false) + .setUserUnlocked(true) + .setLockScreenCustomizationEnabled(true) + .setConfigSelections() - val actual by collectLastValue(underTest.lockScreenState) + val actual by collectLastValue(underTest.lockScreenState) - assertThat(actual).isEqualTo(LockScreenState.Hidden) - } + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_stylusUsed_userLocked_isSelected_shouldEmitHidden() = runTest { - val underTest = createUnderTest() - TestConfig().setStylusEverUsed(true).setUserUnlocked(false).setConfigSelections(underTest) + fun lockScreenState_stylusUnused_userUnlocked_customizationEnabled_notesLockScreenShortcutSelected_shouldEmitVisible() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(false) + .setUserUnlocked(true) + .setLockScreenCustomizationEnabled(true) + .setConfigSelections(underTest) - val actual by collectLastValue(underTest.lockScreenState) + val actual by collectLastValue(underTest.lockScreenState) - assertThat(actual).isEqualTo(LockScreenState.Hidden) - } + assertThat(actual).isEqualTo(createLockScreenStateVisible()) + } + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_stylusUsed_userUnlocked_noSelected_shouldEmitHidden() = runTest { - TestConfig().setStylusEverUsed(true).setUserUnlocked(true).setConfigSelections() + fun lockScreenState_stylusUsed_userLocked_customizationDisabled_notesLockScreenShortcutNotSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(true) + .setUserUnlocked(false) + .setLockScreenCustomizationEnabled(false) + .setConfigSelections() - val underTest = createUnderTest() - val actual by collectLastValue(underTest.lockScreenState) + val actual by collectLastValue(underTest.lockScreenState) - assertThat(actual).isEqualTo(LockScreenState.Hidden) - } + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_stylusUnused_userUnlocked_noSelected_shouldEmitHidden() = runTest { - TestConfig().setStylusEverUsed(false).setUserUnlocked(true).setConfigSelections() + fun lockScreenState_stylusUsed_userLocked_customizationDisabled_notesLockScreenShortcutSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(true) + .setUserUnlocked(false) + .setLockScreenCustomizationEnabled(false) + .setConfigSelections(underTest) - val underTest = createUnderTest() - val actual by collectLastValue(underTest.lockScreenState) + val actual by collectLastValue(underTest.lockScreenState) - assertThat(actual).isEqualTo(LockScreenState.Hidden) - } + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_stylusUsed_userLocked_noSelected_shouldEmitHidden() = runTest { - TestConfig().setStylusEverUsed(true).setUserUnlocked(false).setConfigSelections() + fun lockScreenState_stylusUsed_userLocked_customizationEnabled_notesLockScreenShortcutNotSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(true) + .setUserUnlocked(false) + .setLockScreenCustomizationEnabled(true) + .setConfigSelections() - val underTest = createUnderTest() - val actual by collectLastValue(underTest.lockScreenState) + val actual by collectLastValue(underTest.lockScreenState) - assertThat(actual).isEqualTo(LockScreenState.Hidden) - } + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_stylusUsed_userUnlocked_customSelections_shouldEmitHidden() = runTest { - TestConfig().setStylusEverUsed(true).setUserUnlocked(true).setConfigSelections(mock()) + fun lockScreenState_stylusUsed_userLocked_customizationEnabled_notesLockScreenShortcutSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(true) + .setUserUnlocked(false) + .setLockScreenCustomizationEnabled(true) + .setConfigSelections(underTest) - val underTest = createUnderTest() - val actual by collectLastValue(underTest.lockScreenState) + val actual by collectLastValue(underTest.lockScreenState) - assertThat(actual).isEqualTo(LockScreenState.Hidden) - } + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_stylusUnused_userUnlocked_customSelections_shouldEmitHidden() = runTest { - TestConfig().setStylusEverUsed(false).setUserUnlocked(true).setConfigSelections(mock()) + fun lockScreenState_stylusUsed_userUnlocked_customizationDisabled_notesLockScreenShortcutNotSelected_shouldEmitVisible() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(true) + .setUserUnlocked(true) + .setLockScreenCustomizationEnabled(false) + .setConfigSelections() - val underTest = createUnderTest() - val actual by collectLastValue(underTest.lockScreenState) + val actual by collectLastValue(underTest.lockScreenState) - assertThat(actual).isEqualTo(LockScreenState.Hidden) - } + assertThat(actual).isEqualTo(createLockScreenStateVisible()) + } + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_stylusUsed_userLocked_customSelections_shouldEmitHidden() = runTest { - TestConfig().setStylusEverUsed(true).setUserUnlocked(false).setConfigSelections(mock()) + fun lockScreenState_stylusUsed_userUnlocked_customizationDisabled_notesLockScreenShortcutSelected_shouldEmitVisible() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(true) + .setUserUnlocked(true) + .setLockScreenCustomizationEnabled(false) + .setConfigSelections(underTest) - val underTest = createUnderTest() - val actual by collectLastValue(underTest.lockScreenState) + val actual by collectLastValue(underTest.lockScreenState) - assertThat(actual).isEqualTo(LockScreenState.Hidden) - } + assertThat(actual).isEqualTo(createLockScreenStateVisible()) + } + @Suppress("ktlint:standard:max-line-length") @Test - fun lockScreenState_isNotEnabled_shouldEmitHidden() = runTest { - TestConfig().setStylusEverUsed(true).setUserUnlocked(true).setConfigSelections() + fun lockScreenState_stylusUsed_userUnlocked_customizationEnabled_notesLockScreenShortcutNotSelected_shouldEmitHidden() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(true) + .setUserUnlocked(true) + .setLockScreenCustomizationEnabled(true) + .setConfigSelections() - val underTest = createUnderTest(isEnabled = false) - val actual by collectLastValue(underTest.lockScreenState) + val actual by collectLastValue(underTest.lockScreenState) + + assertThat(actual).isEqualTo(LockScreenState.Hidden) + } + + @Suppress("ktlint:standard:max-line-length") + @Test + fun lockScreenState_stylusUsed_userUnlocked_customizationEnabled_notesLockScreenShortcutSelected_shouldEmitVisible() = + runTest { + val underTest = createUnderTest() + TestConfig() + .setStylusEverUsed(true) + .setUserUnlocked(true) + .setLockScreenCustomizationEnabled(true) + .setConfigSelections(underTest) + + val actual by collectLastValue(underTest.lockScreenState) + + assertThat(actual).isEqualTo(createLockScreenStateVisible()) + } - assertThat(actual).isEqualTo(LockScreenState.Hidden) - } // endregion @Test @@ -294,18 +437,24 @@ internal class NoteTaskQuickAffordanceConfigTest : SysuiTestCase() { .isEqualTo(ACTION_MANAGE_NOTES_ROLE_FROM_QUICK_AFFORDANCE) assertThat(disabled.actionIntent?.`package`).isEqualTo(context.packageName) } + // endregion private inner class TestConfig { fun setStylusEverUsed(value: Boolean) = also { - whenever(InputSettings.isStylusEverUsed(mContext)).thenReturn(value) + whenever(InputSettings.isStylusEverUsed(spiedContext)).thenReturn(value) } fun setUserUnlocked(value: Boolean) = also { whenever(userManager.isUserUnlocked).thenReturn(value) } + fun setLockScreenCustomizationEnabled(value: Boolean) = also { + `when`(spiedResources.getBoolean(R.bool.custom_lockscreen_shortcuts_enabled)) + .thenReturn(value) + } + fun setConfigSelections(vararg values: KeyguardQuickAffordanceConfig) = also { val slotKey = "bottom-right" val configSnapshots = values.toList() diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/GlanceableHubContainerControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/GlanceableHubContainerControllerTest.kt index b0213a4b6421..169511f827ef 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/GlanceableHubContainerControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/GlanceableHubContainerControllerTest.kt @@ -16,19 +16,24 @@ package com.android.systemui.shade +import android.graphics.Insets import android.graphics.Rect import android.os.PowerManager +import android.platform.test.annotations.DisableFlags +import android.platform.test.annotations.EnableFlags import android.testing.AndroidTestingRunner import android.testing.TestableLooper import android.testing.ViewUtils import android.view.MotionEvent import android.view.View +import android.view.WindowInsets import android.widget.FrameLayout import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleOwner import androidx.test.filters.SmallTest import com.android.compose.animation.scene.SceneKey import com.android.systemui.Flags +import com.android.systemui.Flags.FLAG_GLANCEABLE_HUB_BACK_GESTURE import com.android.systemui.SysuiTestCase import com.android.systemui.ambient.touch.TouchHandler import com.android.systemui.ambient.touch.TouchMonitor @@ -66,6 +71,9 @@ import org.mockito.ArgumentMatchers.anyFloat import org.mockito.Mock import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.mock +import org.mockito.kotlin.spy @ExperimentalCoroutinesApi @RunWith(AndroidTestingRunner::class) @@ -317,6 +325,7 @@ class GlanceableHubContainerControllerTest : SysuiTestCase() { } @Test + @DisableFlags(FLAG_GLANCEABLE_HUB_BACK_GESTURE) fun gestureExclusionZone_setAfterInit() = with(kosmos) { testScope.runTest { @@ -325,10 +334,41 @@ class GlanceableHubContainerControllerTest : SysuiTestCase() { assertThat(containerView.systemGestureExclusionRects) .containsExactly( Rect( - /* left */ 0, - /* top */ TOP_SWIPE_REGION_WIDTH, - /* right */ CONTAINER_WIDTH, - /* bottom */ CONTAINER_HEIGHT - BOTTOM_SWIPE_REGION_WIDTH + /* left= */ 0, + /* top= */ TOP_SWIPE_REGION_WIDTH, + /* right= */ CONTAINER_WIDTH, + /* bottom= */ CONTAINER_HEIGHT - BOTTOM_SWIPE_REGION_WIDTH + ), + Rect( + /* left= */ 0, + /* top= */ 0, + /* right= */ 0, + /* bottom= */ CONTAINER_HEIGHT + ) + ) + } + } + + @Test + @EnableFlags(FLAG_GLANCEABLE_HUB_BACK_GESTURE) + fun gestureExclusionZone_setAfterInit_backGestureEnabled() = + with(kosmos) { + testScope.runTest { + goToScene(CommunalScenes.Communal) + + assertThat(containerView.systemGestureExclusionRects) + .containsExactly( + Rect( + /* left= */ FAKE_INSETS.left, + /* top= */ TOP_SWIPE_REGION_WIDTH, + /* right= */ CONTAINER_WIDTH - FAKE_INSETS.right, + /* bottom= */ CONTAINER_HEIGHT - BOTTOM_SWIPE_REGION_WIDTH + ), + Rect( + /* left= */ 0, + /* top= */ 0, + /* right= */ FAKE_INSETS.right, + /* bottom= */ CONTAINER_HEIGHT ) ) } @@ -340,6 +380,9 @@ class GlanceableHubContainerControllerTest : SysuiTestCase() { testScope.runTest { goToScene(CommunalScenes.Communal) + // Exclusion rect is set. + assertThat(containerView.systemGestureExclusionRects).isNotEmpty() + // Shade shows up. shadeTestUtil.setQsExpansion(1.0f) testableLooper.processAllMessages() @@ -355,6 +398,9 @@ class GlanceableHubContainerControllerTest : SysuiTestCase() { testScope.runTest { goToScene(CommunalScenes.Communal) + // Exclusion rect is set. + assertThat(containerView.systemGestureExclusionRects).isNotEmpty() + // Bouncer is visible. fakeKeyguardBouncerRepository.setPrimaryShow(true) testableLooper.processAllMessages() @@ -371,7 +417,7 @@ class GlanceableHubContainerControllerTest : SysuiTestCase() { goToScene(CommunalScenes.Communal) // Exclusion rect is set. - assertThat(containerView.systemGestureExclusionRects).hasSize(1) + assertThat(containerView.systemGestureExclusionRects).isNotEmpty() // Leave the hub. goToScene(CommunalScenes.Blank) @@ -399,7 +445,12 @@ class GlanceableHubContainerControllerTest : SysuiTestCase() { } private fun initAndAttachContainerView() { - containerView = View(context) + val mockInsets = + mock<WindowInsets> { + on { getInsets(WindowInsets.Type.systemGestures()) } doReturn FAKE_INSETS + } + + containerView = spy(View(context)) { on { rootWindowInsets } doReturn mockInsets } parentView = FrameLayout(context) @@ -422,6 +473,7 @@ class GlanceableHubContainerControllerTest : SysuiTestCase() { private const val RIGHT_SWIPE_REGION_WIDTH = 20 private const val TOP_SWIPE_REGION_WIDTH = 12 private const val BOTTOM_SWIPE_REGION_WIDTH = 14 + private val FAKE_INSETS = Insets.of(10, 20, 30, 50) /** * A touch down event right in the middle of the screen, to avoid being in any of the swipe diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImplTest.java index bfe5c6e233d3..61d14b73204a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImplTest.java @@ -60,6 +60,7 @@ import android.os.Handler; import android.os.PowerManager; import android.platform.test.annotations.DisableFlags; +import android.platform.test.annotations.EnableFlags; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; @@ -244,6 +245,50 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase { } @Test + @EnableFlags(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) + public void testShouldNotHeadsUp_silentNotification() { + // GIVEN state for "heads up when awake" is true + ensureStateForHeadsUpWhenAwake(); + + // WHEN the alert for a grouped notification is suppressed + // see {@link android.app.Notification#GROUP_ALERT_CHILDREN} + NotificationEntry entry = new NotificationEntryBuilder() + .setPkg("a") + .setOpPkg("a") + .setTag("a") + .setNotification(new Notification.Builder(getContext(), "a") + .setSilent(true) + .build()) + .setImportance(IMPORTANCE_DEFAULT) + .build(); + + // THEN this entry shouldn't HUN + assertThat(mNotifInterruptionStateProvider.shouldHeadsUp(entry)).isFalse(); + } + + @Test + @EnableFlags(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) + public void testShouldNotHeadsUp_silentNotificationFalse() { + // GIVEN state for "heads up when awake" is true + ensureStateForHeadsUpWhenAwake(); + + // WHEN the alert for a grouped notification is suppressed + // see {@link android.app.Notification#GROUP_ALERT_CHILDREN} + NotificationEntry entry = new NotificationEntryBuilder() + .setPkg("a") + .setOpPkg("a") + .setTag("a") + .setNotification(new Notification.Builder(getContext(), "a") + .setSilent(false) + .build()) + .setImportance(IMPORTANCE_HIGH) + .build(); + + // THEN this entry shouldn't HUN + assertThat(mNotifInterruptionStateProvider.shouldHeadsUp(entry)).isTrue(); + } + + @Test public void testShouldHeadsUpWhenDozing() { ensureStateForHeadsUpWhenDozing(); @@ -685,6 +730,26 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase { } @Test + @EnableFlags(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) + public void testShouldNotFullScreen_silentNotification() { + Notification n = new Notification.Builder(getContext(), "a") + .setContentTitle("title") + .setContentText("content text") + .setFullScreenIntent(mPendingIntent, true) + .setSilent(true) + .build(); + NotificationEntry entry = createNotification(IMPORTANCE_HIGH, n); + + assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) + .isEqualTo(FullScreenIntentDecision.NO_FSI_SUPPRESSIVE_SILENT_NOTIFICATION); + assertThat(mNotifInterruptionStateProvider.shouldLaunchFullScreenIntentWhenAdded(entry)) + .isFalse(); + verify(mLogger).logNoFullscreen(entry, "NO_FSI_SUPPRESSIVE_SILENT_NOTIFICATION"); + verify(mLogger, never()).logFullscreen(any(), any()); + verify(mLogger, never()).logNoFullscreenWarning(any(), any()); + } + + @Test public void testShouldFullScreen_notInteractive() { NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); Notification.BubbleMetadata bubbleMetadata = new Notification.BubbleMetadata.Builder("foo") diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderTestBase.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderTestBase.kt index 378705a3c1a3..d5ab62b43866 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderTestBase.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/VisualInterruptionDecisionProviderTestBase.kt @@ -49,6 +49,7 @@ import android.graphics.drawable.Icon import android.hardware.display.FakeAmbientDisplayConfiguration import android.os.Looper import android.os.PowerManager +import android.platform.test.annotations.EnableFlags import android.provider.Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED import android.provider.Settings.Global.HEADS_UP_OFF import android.provider.Settings.Global.HEADS_UP_ON @@ -532,6 +533,32 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { } @Test + @EnableFlags(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) + fun testShouldNotHeadsUp_silentNotification() { + withPeekAndPulseEntry({ + isGrouped = false + isGroupSummary = false + isSilent = true + }) { + assertShouldNotHeadsUp(it) + assertNoEventsLogged() + } + } + + @Test + @EnableFlags(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) + fun testShouldHeadsUp_silentNotificationFalse() { + withPeekAndPulseEntry({ + isGrouped = false + isGroupSummary = false + isSilent = false + }) { + assertShouldHeadsUp(it) + assertNoEventsLogged() + } + } + + @Test fun testShouldNotHeadsUp_justLaunchedFsi() { withPeekAndPulseEntry({ hasJustLaunchedFsi = true }) { assertShouldNotHeadsUp(it) @@ -1163,6 +1190,7 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { var groupAlertBehavior: Int? = null var hasBubbleMetadata = false var hasFsi = false + var isSilent = false // Set on Notification: var isForegroundService = false @@ -1233,6 +1261,8 @@ abstract class VisualInterruptionDecisionProviderTestBase : SysuiTestCase() { } groupAlertBehavior?.let { nb.setGroupAlertBehavior(it) } + nb.setSilent(isSilent) + if (hasBubbleMetadata) { nb.setBubbleMetadata(buildBubbleMetadata()) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/touchpad/tutorial/ui/gesture/BackGestureMonitorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/touchpad/tutorial/ui/gesture/BackGestureMonitorTest.kt new file mode 100644 index 000000000000..cf0db7b51676 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/touchpad/tutorial/ui/gesture/BackGestureMonitorTest.kt @@ -0,0 +1,160 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.touchpad.tutorial.ui.gesture + +import android.view.MotionEvent +import android.view.MotionEvent.ACTION_DOWN +import android.view.MotionEvent.ACTION_MOVE +import android.view.MotionEvent.ACTION_POINTER_DOWN +import android.view.MotionEvent.ACTION_POINTER_UP +import android.view.MotionEvent.ACTION_UP +import android.view.MotionEvent.AXIS_GESTURE_SWIPE_FINGER_COUNT +import android.view.MotionEvent.CLASSIFICATION_MULTI_FINGER_SWIPE +import android.view.MotionEvent.CLASSIFICATION_TWO_FINGER_SWIPE +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith + +@SmallTest +@RunWith(AndroidJUnit4::class) +class BackGestureMonitorTest : SysuiTestCase() { + + private var gestureDoneWasCalled = false + private val gestureDoneCallback = { gestureDoneWasCalled = true } + private val gestureMonitor = BackGestureMonitor(SWIPE_DISTANCE.toInt(), gestureDoneCallback) + + companion object { + const val SWIPE_DISTANCE = 100f + } + + @Test + fun triggersGestureDoneForThreeFingerGestureRight() { + val events = + listOf( + threeFingerEvent(ACTION_DOWN, x = 0f, y = 0f), + threeFingerEvent(ACTION_POINTER_DOWN, x = 0f, y = 0f), + threeFingerEvent(ACTION_POINTER_DOWN, x = 0f, y = 0f), + threeFingerEvent(ACTION_MOVE, x = SWIPE_DISTANCE / 2, y = 0f), + threeFingerEvent(ACTION_POINTER_UP, x = SWIPE_DISTANCE, y = 0f), + threeFingerEvent(ACTION_POINTER_UP, x = SWIPE_DISTANCE, y = 0f), + threeFingerEvent(ACTION_UP, x = SWIPE_DISTANCE, y = 0f), + ) + + events.forEach { gestureMonitor.processTouchpadEvent(it) } + + assertThat(gestureDoneWasCalled).isTrue() + } + + @Test + fun triggersGestureDoneForThreeFingerGestureLeft() { + val events = + listOf( + threeFingerEvent(ACTION_DOWN, x = SWIPE_DISTANCE, y = 0f), + threeFingerEvent(ACTION_POINTER_DOWN, x = SWIPE_DISTANCE, y = 0f), + threeFingerEvent(ACTION_POINTER_DOWN, x = SWIPE_DISTANCE, y = 0f), + threeFingerEvent(ACTION_MOVE, x = SWIPE_DISTANCE / 2, y = 0f), + threeFingerEvent(ACTION_POINTER_UP, x = 0f, y = 0f), + threeFingerEvent(ACTION_POINTER_UP, x = 0f, y = 0f), + threeFingerEvent(ACTION_UP, x = 0f, y = 0f), + ) + + events.forEach { gestureMonitor.processTouchpadEvent(it) } + + assertThat(gestureDoneWasCalled).isTrue() + } + + private fun threeFingerEvent(action: Int, x: Float, y: Float): MotionEvent { + return motionEvent( + action = action, + x = x, + y = y, + classification = CLASSIFICATION_MULTI_FINGER_SWIPE, + axisValues = mapOf(AXIS_GESTURE_SWIPE_FINGER_COUNT to 3f) + ) + } + + @Test + fun doesntTriggerGestureDone_onThreeFingersSwipeUp() { + val events = + listOf( + threeFingerEvent(ACTION_DOWN, x = 0f, y = 0f), + threeFingerEvent(ACTION_POINTER_DOWN, x = 0f, y = 0f), + threeFingerEvent(ACTION_POINTER_DOWN, x = 0f, y = 0f), + threeFingerEvent(ACTION_MOVE, x = 0f, y = SWIPE_DISTANCE / 2), + threeFingerEvent(ACTION_POINTER_UP, x = 0f, y = SWIPE_DISTANCE), + threeFingerEvent(ACTION_POINTER_UP, x = 0f, y = SWIPE_DISTANCE), + threeFingerEvent(ACTION_UP, x = 0f, y = SWIPE_DISTANCE), + ) + + events.forEach { gestureMonitor.processTouchpadEvent(it) } + + assertThat(gestureDoneWasCalled).isFalse() + } + + @Test + fun doesntTriggerGestureDone_onTwoFingersSwipe() { + fun twoFingerEvent(action: Int, x: Float, y: Float) = + motionEvent( + action = action, + x = x, + y = y, + classification = CLASSIFICATION_TWO_FINGER_SWIPE, + axisValues = mapOf(AXIS_GESTURE_SWIPE_FINGER_COUNT to 2f) + ) + val events = + listOf( + twoFingerEvent(ACTION_DOWN, x = 0f, y = 0f), + twoFingerEvent(ACTION_MOVE, x = SWIPE_DISTANCE / 2, y = 0f), + twoFingerEvent(ACTION_UP, x = SWIPE_DISTANCE, y = 0f), + ) + + events.forEach { gestureMonitor.processTouchpadEvent(it) } + + assertThat(gestureDoneWasCalled).isFalse() + } + + @Test + fun doesntTriggerGestureDone_onFourFingersSwipe() { + fun fourFingerEvent(action: Int, x: Float, y: Float) = + motionEvent( + action = action, + x = x, + y = y, + classification = CLASSIFICATION_MULTI_FINGER_SWIPE, + axisValues = mapOf(AXIS_GESTURE_SWIPE_FINGER_COUNT to 4f) + ) + val events = + listOf( + fourFingerEvent(ACTION_DOWN, x = 0f, y = 0f), + fourFingerEvent(ACTION_POINTER_DOWN, x = 0f, y = 0f), + fourFingerEvent(ACTION_POINTER_DOWN, x = 0f, y = 0f), + fourFingerEvent(ACTION_POINTER_DOWN, x = 0f, y = 0f), + fourFingerEvent(ACTION_MOVE, x = SWIPE_DISTANCE / 2, y = 0f), + fourFingerEvent(ACTION_POINTER_UP, x = SWIPE_DISTANCE, y = 0f), + fourFingerEvent(ACTION_POINTER_UP, x = SWIPE_DISTANCE, y = 0f), + fourFingerEvent(ACTION_POINTER_UP, x = SWIPE_DISTANCE, y = 0f), + fourFingerEvent(ACTION_UP, x = SWIPE_DISTANCE, y = 0f), + ) + + events.forEach { gestureMonitor.processTouchpadEvent(it) } + + assertThat(gestureDoneWasCalled).isFalse() + } +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/touchpad/tutorial/ui/gesture/FakeMotionEvent.kt b/packages/SystemUI/tests/src/com/android/systemui/touchpad/tutorial/ui/gesture/FakeMotionEvent.kt new file mode 100644 index 000000000000..e632e3474b96 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/touchpad/tutorial/ui/gesture/FakeMotionEvent.kt @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.touchpad.tutorial.ui.gesture + +import android.view.InputDevice.SOURCE_CLASS_POINTER +import android.view.InputDevice.SOURCE_MOUSE +import android.view.MotionEvent +import android.view.MotionEvent.CLASSIFICATION_NONE +import android.view.MotionEvent.TOOL_TYPE_FINGER +import org.mockito.kotlin.doReturn +import org.mockito.kotlin.spy + +fun motionEvent( + action: Int, + x: Float, + y: Float, + source: Int = 0, + toolType: Int = TOOL_TYPE_FINGER, + pointerCount: Int = 1, + axisValues: Map<Int, Float> = emptyMap(), + classification: Int = CLASSIFICATION_NONE, +): MotionEvent { + val event = + MotionEvent.obtain(/* downTime= */ 0, /* eventTime= */ 0, action, x, y, /* metaState= */ 0) + event.source = source + return spy<MotionEvent>(event) { + on { getToolType(0) } doReturn toolType + on { getPointerCount() } doReturn pointerCount + axisValues.forEach { (key, value) -> on { getAxisValue(key) } doReturn value } + on { getClassification() } doReturn classification + } +} + +fun touchpadEvent( + action: Int, + x: Float, + y: Float, + pointerCount: Int = 1, + classification: Int = CLASSIFICATION_NONE, + axisValues: Map<Int, Float> = emptyMap() +): MotionEvent { + return motionEvent( + action = action, + x = x, + y = y, + source = SOURCE_MOUSE or SOURCE_CLASS_POINTER, + toolType = TOOL_TYPE_FINGER, + pointerCount = pointerCount, + classification = classification, + axisValues = axisValues + ) +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/touchpad/tutorial/ui/gesture/TouchpadGestureHandlerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/touchpad/tutorial/ui/gesture/TouchpadGestureHandlerTest.kt new file mode 100644 index 000000000000..769f264f0870 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/touchpad/tutorial/ui/gesture/TouchpadGestureHandlerTest.kt @@ -0,0 +1,124 @@ +/* + * Copyright (C) 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.touchpad.tutorial.ui.gesture + +import android.view.InputDevice.SOURCE_MOUSE +import android.view.InputDevice.SOURCE_TOUCHSCREEN +import android.view.MotionEvent +import android.view.MotionEvent.ACTION_DOWN +import android.view.MotionEvent.ACTION_HOVER_ENTER +import android.view.MotionEvent.ACTION_MOVE +import android.view.MotionEvent.ACTION_POINTER_DOWN +import android.view.MotionEvent.ACTION_POINTER_UP +import android.view.MotionEvent.ACTION_UP +import android.view.MotionEvent.AXIS_GESTURE_SWIPE_FINGER_COUNT +import android.view.MotionEvent.CLASSIFICATION_MULTI_FINGER_SWIPE +import android.view.MotionEvent.TOOL_TYPE_FINGER +import android.view.MotionEvent.TOOL_TYPE_MOUSE +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import com.android.systemui.touchpad.tutorial.ui.gesture.TouchpadGesture.BACK +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith + +@SmallTest +@RunWith(AndroidJUnit4::class) +class TouchpadGestureHandlerTest : SysuiTestCase() { + + private var gestureDone = false + private val handler = TouchpadGestureHandler(BACK, SWIPE_DISTANCE) { gestureDone = true } + + companion object { + const val SWIPE_DISTANCE = 100 + } + + @Test + fun handlesEventsFromTouchpad() { + val event = downEvent(source = SOURCE_MOUSE, toolType = TOOL_TYPE_FINGER) + val eventHandled = handler.onMotionEvent(event) + assertThat(eventHandled).isTrue() + } + + @Test + fun ignoresEventsFromMouse() { + val event = downEvent(source = SOURCE_MOUSE, toolType = TOOL_TYPE_MOUSE) + val eventHandled = handler.onMotionEvent(event) + assertThat(eventHandled).isFalse() + } + + @Test + fun ignoresEventsFromTouch() { + val event = downEvent(source = SOURCE_TOUCHSCREEN, toolType = TOOL_TYPE_FINGER) + val eventHandled = handler.onMotionEvent(event) + assertThat(eventHandled).isFalse() + } + + @Test + fun ignoresButtonClicksFromTouchpad() { + val event = downEvent(source = SOURCE_MOUSE, toolType = TOOL_TYPE_FINGER) + event.buttonState = MotionEvent.BUTTON_PRIMARY + val eventHandled = handler.onMotionEvent(event) + assertThat(eventHandled).isFalse() + } + + private fun downEvent(source: Int, toolType: Int) = + motionEvent(action = ACTION_DOWN, x = 0f, y = 0f, source = source, toolType = toolType) + + @Test + fun triggersGestureDoneForThreeFingerGesture() { + backGestureEvents().forEach { handler.onMotionEvent(it) } + + assertThat(gestureDone).isTrue() + } + + private fun backGestureEvents(): List<MotionEvent> { + // list of motion events read from device while doing back gesture + val y = 100f + return listOf( + touchpadEvent(ACTION_HOVER_ENTER, x = 759f, y = y, pointerCount = 1), + threeFingerTouchpadEvent(ACTION_DOWN, x = 759f, y = y, pointerCount = 1), + threeFingerTouchpadEvent(ACTION_POINTER_DOWN, x = 759f, y = y, pointerCount = 2), + threeFingerTouchpadEvent(ACTION_POINTER_DOWN, x = 759f, y = y, pointerCount = 3), + threeFingerTouchpadEvent(ACTION_MOVE, x = 767f, y = y, pointerCount = 3), + threeFingerTouchpadEvent(ACTION_MOVE, x = 785f, y = y, pointerCount = 3), + threeFingerTouchpadEvent(ACTION_MOVE, x = 814f, y = y, pointerCount = 3), + threeFingerTouchpadEvent(ACTION_MOVE, x = 848f, y = y, pointerCount = 3), + threeFingerTouchpadEvent(ACTION_MOVE, x = 943f, y = y, pointerCount = 3), + threeFingerTouchpadEvent(ACTION_POINTER_UP, x = 943f, y = y, pointerCount = 3), + threeFingerTouchpadEvent(ACTION_POINTER_UP, x = 943f, y = y, pointerCount = 2), + threeFingerTouchpadEvent(ACTION_UP, x = 943f, y = y, pointerCount = 1) + ) + } + + private fun threeFingerTouchpadEvent( + action: Int, + x: Float, + y: Float, + pointerCount: Int + ): MotionEvent { + return touchpadEvent( + action = action, + x = x, + y = y, + pointerCount = pointerCount, + classification = CLASSIFICATION_MULTI_FINGER_SWIPE, + axisValues = mapOf(AXIS_GESTURE_SWIPE_FINGER_COUNT to 3f) + ) + } +} diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/KeyboardShortcutHelperKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/KeyboardShortcutHelperKosmos.kt index dab70f86be09..55c803a39ef7 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/KeyboardShortcutHelperKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/KeyboardShortcutHelperKosmos.kt @@ -24,6 +24,7 @@ import com.android.systemui.broadcast.broadcastDispatcher import com.android.systemui.keyboard.shortcut.data.repository.ShortcutHelperCategoriesRepository import com.android.systemui.keyboard.shortcut.data.repository.ShortcutHelperStateRepository import com.android.systemui.keyboard.shortcut.data.repository.ShortcutHelperTestHelper +import com.android.systemui.keyboard.shortcut.data.source.InputShortcutsSource import com.android.systemui.keyboard.shortcut.data.source.KeyboardShortcutGroupsSource import com.android.systemui.keyboard.shortcut.data.source.MultitaskingShortcutsSource import com.android.systemui.keyboard.shortcut.data.source.SystemShortcutsSource @@ -56,6 +57,9 @@ val Kosmos.shortcutHelperStateRepository by ) } +val Kosmos.shortcutHelperInputShortcutsSource by + Kosmos.Fixture { InputShortcutsSource(mainResources, windowManager) } + val Kosmos.shortcutHelperCategoriesRepository by Kosmos.Fixture { ShortcutHelperCategoriesRepository( @@ -63,7 +67,7 @@ val Kosmos.shortcutHelperCategoriesRepository by testDispatcher, shortcutHelperSystemShortcutsSource, shortcutHelperMultiTaskingShortcutsSource, - windowManager, + shortcutHelperInputShortcutsSource, fakeInputManager.inputManager, shortcutHelperStateRepository, ) @@ -94,7 +98,13 @@ val Kosmos.shortcutHelperCategoriesInteractor by Kosmos.Fixture { ShortcutHelperCategoriesInteractor(shortcutHelperCategoriesRepository) } val Kosmos.shortcutHelperViewModel by - Kosmos.Fixture { ShortcutHelperViewModel(testDispatcher, shortcutHelperStateInteractor) } + Kosmos.Fixture { + ShortcutHelperViewModel( + testDispatcher, + shortcutHelperStateInteractor, + shortcutHelperCategoriesInteractor + ) + } val Kosmos.fakeShortcutHelperStartActivity by Kosmos.Fixture { FakeShortcutHelperStartActivity() } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/data/source/FakeKeyboardShortcutGroupsSource.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/data/source/FakeKeyboardShortcutGroupsSource.kt index e4c17a03f262..2bab1a4b32cf 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/data/source/FakeKeyboardShortcutGroupsSource.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/keyboard/shortcut/data/source/FakeKeyboardShortcutGroupsSource.kt @@ -22,7 +22,7 @@ class FakeKeyboardShortcutGroupsSource : KeyboardShortcutGroupsSource { private var groups = listOf<KeyboardShortcutGroup>() - override fun shortcutGroups(): List<KeyboardShortcutGroup> = groups + override suspend fun shortcutGroups(deviceId: Int): List<KeyboardShortcutGroup> = groups fun setGroups(groups: List<KeyboardShortcutGroup>) { this.groups = groups diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractorKosmos.kt index e6ca458fabbe..aee90d56faa6 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractorKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractorKosmos.kt @@ -16,7 +16,7 @@ package com.android.systemui.statusbar.notification.domain.interactor -import com.android.settingslib.statusbar.notification.domain.interactor.NotificationsSoundPolicyInteractor +import com.android.settingslib.notification.domain.interactor.NotificationsSoundPolicyInteractor import com.android.systemui.kosmos.Kosmos import com.android.systemui.statusbar.policy.data.repository.zenModeRepository diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/policy/data/repository/ZenModeRepositoryKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/policy/data/repository/ZenModeRepositoryKosmos.kt index c7fda54af39d..1ba5ddbf0337 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/policy/data/repository/ZenModeRepositoryKosmos.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/policy/data/repository/ZenModeRepositoryKosmos.kt @@ -16,7 +16,7 @@ package com.android.systemui.statusbar.policy.data.repository -import com.android.settingslib.statusbar.notification.data.repository.FakeZenModeRepository +import com.android.settingslib.notification.data.repository.FakeZenModeRepository import com.android.systemui.kosmos.Kosmos import com.android.systemui.kosmos.Kosmos.Fixture diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/data/repository/FakeAudioRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/data/repository/FakeAudioRepository.kt index fcea9e7b2a3f..135cb14a3497 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/data/repository/FakeAudioRepository.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/data/repository/FakeAudioRepository.kt @@ -22,7 +22,6 @@ import com.android.settingslib.volume.data.repository.AudioRepository import com.android.settingslib.volume.shared.model.AudioStream import com.android.settingslib.volume.shared.model.AudioStreamModel import com.android.settingslib.volume.shared.model.RingerMode -import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow @@ -61,7 +60,7 @@ class FakeAudioRepository : AudioRepository { ) } - override fun getAudioStream(audioStream: AudioStream): Flow<AudioStreamModel> = + override fun getAudioStream(audioStream: AudioStream): StateFlow<AudioStreamModel> = getAudioStreamModelState(audioStream).asStateFlow() override suspend fun setVolume(audioStream: AudioStream, volume: Int) { diff --git a/services/core/java/com/android/server/RescueParty.java b/services/core/java/com/android/server/RescueParty.java index a4026eb151b9..c2cb5e90ca58 100644 --- a/services/core/java/com/android/server/RescueParty.java +++ b/services/core/java/com/android/server/RescueParty.java @@ -803,22 +803,28 @@ public class RescueParty { @Override public int onHealthCheckFailed(@Nullable VersionedPackage failedPackage, @FailureReasons int failureReason, int mitigationCount) { + int impact = PackageHealthObserverImpact.USER_IMPACT_LEVEL_0; if (!isDisabled() && (failureReason == PackageWatchdog.FAILURE_REASON_APP_CRASH || failureReason == PackageWatchdog.FAILURE_REASON_APP_NOT_RESPONDING)) { if (Flags.recoverabilityDetection()) { if (!Flags.deprecateFlagsAndSettingsResets()) { - return mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, + impact = mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, mayPerformReboot(failedPackage), failedPackage)); } else { - return mapRescueLevelToUserImpact(getRescueLevel(mitigationCount)); + impact = mapRescueLevelToUserImpact(getRescueLevel(mitigationCount)); } } else { - return mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, + impact = mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, mayPerformReboot(failedPackage))); } - } else { - return PackageHealthObserverImpact.USER_IMPACT_LEVEL_0; } + + Slog.i(TAG, "Checking available remediations for health check failure." + + " failedPackage: " + + (failedPackage == null ? null : failedPackage.getPackageName()) + + " failureReason: " + failureReason + + " available impact: " + impact); + return impact; } @Override @@ -827,6 +833,11 @@ public class RescueParty { if (isDisabled()) { return false; } + Slog.i(TAG, "Executing remediation." + + " failedPackage: " + + (failedPackage == null ? null : failedPackage.getPackageName()) + + " failureReason: " + failureReason + + " mitigationCount: " + mitigationCount); if (failureReason == PackageWatchdog.FAILURE_REASON_APP_CRASH || failureReason == PackageWatchdog.FAILURE_REASON_APP_NOT_RESPONDING) { final int level; diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 7cd9144be77b..6694ebbe461a 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -1485,6 +1485,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call || !mAutomaticBrightnessStrategy.shouldUseAutoBrightness())) { rawBrightnessState = getDozeBrightnessForOffload(); brightnessState = clampScreenBrightness(rawBrightnessState); + updateScreenBrightnessSetting = false; mBrightnessReasonTemp.setReason(BrightnessReason.REASON_DOZE_MANUAL); mTempBrightnessEvent.setFlags( mTempBrightnessEvent.getFlags() | BrightnessEvent.FLAG_DOZE_SCALE); diff --git a/services/core/java/com/android/server/display/color/ColorDisplayService.java b/services/core/java/com/android/server/display/color/ColorDisplayService.java index 3883604b7134..bd759f378d5b 100644 --- a/services/core/java/com/android/server/display/color/ColorDisplayService.java +++ b/services/core/java/com/android/server/display/color/ColorDisplayService.java @@ -25,6 +25,9 @@ import static android.hardware.display.ColorDisplayManager.COLOR_MODE_NATURAL; import static android.hardware.display.ColorDisplayManager.COLOR_MODE_SATURATED; import static android.hardware.display.ColorDisplayManager.VENDOR_COLOR_MODE_RANGE_MAX; import static android.hardware.display.ColorDisplayManager.VENDOR_COLOR_MODE_RANGE_MIN; +import static android.os.UserHandle.USER_SYSTEM; +import static android.os.UserHandle.getCallingUserId; +import static android.os.UserManager.isVisibleBackgroundUsersEnabled; import static com.android.server.display.color.DisplayTransformManager.LEVEL_COLOR_MATRIX_NIGHT_DISPLAY; @@ -80,6 +83,7 @@ import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.accessibility.Flags; import com.android.server.display.feature.DisplayManagerFlags; +import com.android.server.pm.UserManagerService; import com.android.server.twilight.TwilightListener; import com.android.server.twilight.TwilightManager; import com.android.server.twilight.TwilightState; @@ -186,9 +190,14 @@ public final class ColorDisplayService extends SystemService { private final Object mCctTintApplierLock = new Object(); + private final boolean mVisibleBackgroundUsersEnabled; + private final UserManagerService mUserManager; + public ColorDisplayService(Context context) { super(context); mHandler = new TintHandler(DisplayThread.get().getLooper()); + mVisibleBackgroundUsersEnabled = isVisibleBackgroundUsersEnabled(); + mUserManager = UserManagerService.getInstance(); } @Override @@ -1745,6 +1754,9 @@ public final class ColorDisplayService extends SystemService { @Override public void setColorMode(int colorMode) { setColorMode_enforcePermission(); + + enforceValidCallingUser("setColorMode"); + final long token = Binder.clearCallingIdentity(); try { setColorModeInternal(colorMode); @@ -1784,6 +1796,9 @@ public final class ColorDisplayService extends SystemService { if (!hasTransformsPermission && !hasLegacyPermission) { throw new SecurityException("Permission required to set display saturation level"); } + + enforceValidCallingUser("setSaturationLevel"); + final long token = Binder.clearCallingIdentity(); try { setSaturationLevelInternal(level); @@ -1812,6 +1827,8 @@ public final class ColorDisplayService extends SystemService { public boolean setAppSaturationLevel(String packageName, int level) { super.setAppSaturationLevel_enforcePermission(); + enforceValidCallingUser("setAppSaturationLevel"); + final String callingPackageName = LocalServices.getService(PackageManagerInternal.class) .getNameForUid(Binder.getCallingUid()); final long token = Binder.clearCallingIdentity(); @@ -1838,6 +1855,9 @@ public final class ColorDisplayService extends SystemService { @Override public boolean setNightDisplayActivated(boolean activated) { setNightDisplayActivated_enforcePermission(); + + enforceValidCallingUser("setNightDisplayActivated"); + final long token = Binder.clearCallingIdentity(); try { mNightDisplayTintController.setActivated(activated); @@ -1861,6 +1881,9 @@ public final class ColorDisplayService extends SystemService { @Override public boolean setNightDisplayColorTemperature(int temperature) { setNightDisplayColorTemperature_enforcePermission(); + + enforceValidCallingUser("setNightDisplayColorTemperature"); + final long token = Binder.clearCallingIdentity(); try { return mNightDisplayTintController.setColorTemperature(temperature); @@ -1883,6 +1906,9 @@ public final class ColorDisplayService extends SystemService { @Override public boolean setNightDisplayAutoMode(int autoMode) { setNightDisplayAutoMode_enforcePermission(); + + enforceValidCallingUser("setNightDisplayAutoMode"); + final long token = Binder.clearCallingIdentity(); try { return setNightDisplayAutoModeInternal(autoMode); @@ -1917,6 +1943,9 @@ public final class ColorDisplayService extends SystemService { @Override public boolean setNightDisplayCustomStartTime(Time startTime) { setNightDisplayCustomStartTime_enforcePermission(); + + enforceValidCallingUser("setNightDisplayCustomStartTime"); + final long token = Binder.clearCallingIdentity(); try { return setNightDisplayCustomStartTimeInternal(startTime); @@ -1939,6 +1968,9 @@ public final class ColorDisplayService extends SystemService { @Override public boolean setNightDisplayCustomEndTime(Time endTime) { setNightDisplayCustomEndTime_enforcePermission(); + + enforceValidCallingUser("setNightDisplayCustomEndTime"); + final long token = Binder.clearCallingIdentity(); try { return setNightDisplayCustomEndTimeInternal(endTime); @@ -1961,6 +1993,9 @@ public final class ColorDisplayService extends SystemService { @Override public boolean setDisplayWhiteBalanceEnabled(boolean enabled) { setDisplayWhiteBalanceEnabled_enforcePermission(); + + enforceValidCallingUser("setDisplayWhiteBalanceEnabled"); + final long token = Binder.clearCallingIdentity(); try { return setDisplayWhiteBalanceSettingEnabled(enabled); @@ -1993,6 +2028,9 @@ public final class ColorDisplayService extends SystemService { @Override public boolean setReduceBrightColorsActivated(boolean activated) { setReduceBrightColorsActivated_enforcePermission(); + + enforceValidCallingUser("setReduceBrightColorsActivated"); + final long token = Binder.clearCallingIdentity(); try { return setReduceBrightColorsActivatedInternal(activated); @@ -2025,6 +2063,9 @@ public final class ColorDisplayService extends SystemService { @Override public boolean setReduceBrightColorsStrength(int strength) { setReduceBrightColorsStrength_enforcePermission(); + + enforceValidCallingUser("setReduceBrightColorsStrength"); + final long token = Binder.clearCallingIdentity(); try { return setReduceBrightColorsStrengthInternal(strength); @@ -2064,4 +2105,32 @@ public final class ColorDisplayService extends SystemService { } } } + + /** + * This method validates whether the calling user is allowed to set display's color transform + * on a device that enables visible background users. + * Only system or current user or the user that belongs to the same profile group as the current + * user is permitted to set the color transform. + */ + private void enforceValidCallingUser(String method) { + if (!mVisibleBackgroundUsersEnabled) { + return; + } + + int callingUserId = getCallingUserId(); + if (callingUserId == USER_SYSTEM || callingUserId == mCurrentUser) { + return; + } + long ident = Binder.clearCallingIdentity(); + try { + if (mUserManager.isSameProfileGroup(callingUserId, mCurrentUser)) { + return; + } + } finally { + Binder.restoreCallingIdentity(ident); + } + + throw new SecurityException("Calling user id: " + callingUserId + + ", is not permitted to use Method " + method + "()."); + } } diff --git a/services/core/java/com/android/server/media/MediaRoute2ProviderWatcher.java b/services/core/java/com/android/server/media/MediaRoute2ProviderWatcher.java index 7c1a5e113a5e..93ef6f044e1b 100644 --- a/services/core/java/com/android/server/media/MediaRoute2ProviderWatcher.java +++ b/services/core/java/com/android/server/media/MediaRoute2ProviderWatcher.java @@ -56,6 +56,7 @@ final class MediaRoute2ProviderWatcher { private final PackageManager mPackageManager; private final ArrayList<MediaRoute2ProviderServiceProxy> mProxies = new ArrayList<>(); + private final Runnable mScanPackagesRunnable = this::scanPackages; private boolean mRunning; MediaRoute2ProviderWatcher(Context context, @@ -106,7 +107,7 @@ final class MediaRoute2ProviderWatcher { mRunning = false; mContext.unregisterReceiver(mScanPackagesReceiver); - mHandler.removeCallbacks(this::scanPackages); + mHandler.removeCallbacks(mScanPackagesRunnable); // Stop all providers. for (int i = mProxies.size() - 1; i >= 0; i--) { @@ -189,8 +190,8 @@ final class MediaRoute2ProviderWatcher { } private void postScanPackagesIfNeeded() { - if (!mHandler.hasCallbacks(this::scanPackages)) { - mHandler.post(this::scanPackages); + if (!mHandler.hasCallbacks(mScanPackagesRunnable)) { + mHandler.post(mScanPackagesRunnable); } } diff --git a/services/core/java/com/android/server/notification/GroupHelper.java b/services/core/java/com/android/server/notification/GroupHelper.java index 13cc99c804f6..1cdab44a5b1b 100644 --- a/services/core/java/com/android/server/notification/GroupHelper.java +++ b/services/core/java/com/android/server/notification/GroupHelper.java @@ -24,9 +24,14 @@ import static android.app.Notification.FLAG_NO_CLEAR; import static android.app.Notification.FLAG_ONGOING_EVENT; import static android.app.Notification.VISIBILITY_PRIVATE; import static android.app.Notification.VISIBILITY_PUBLIC; +import static android.service.notification.Flags.notificationForceGrouping; +import android.annotation.FlaggedApi; import android.annotation.NonNull; +import android.annotation.Nullable; import android.app.Notification; +import android.app.NotificationChannel; +import android.app.NotificationManager; import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; @@ -34,7 +39,9 @@ import android.graphics.drawable.AdaptiveIconDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.service.notification.StatusBarNotification; +import android.text.TextUtils; import android.util.ArrayMap; +import android.util.Log; import android.util.Slog; import com.android.internal.R; @@ -42,14 +49,20 @@ import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.Set; +import java.util.function.Predicate; /** * NotificationManagerService helper for auto-grouping notifications. */ public class GroupHelper { private static final String TAG = "GroupHelper"; + static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG); protected static final String AUTOGROUP_KEY = "ranker_group"; @@ -63,8 +76,16 @@ public class GroupHelper { // Flags that autogroup summaries inherits if any child has them private static final int ANY_CHILDREN_FLAGS = FLAG_ONGOING_EVENT | FLAG_NO_CLEAR; + protected static final String AGGREGATE_GROUP_KEY = "Aggregate_"; + + // If an app posts more than NotificationManagerService.AUTOGROUP_SPARSE_GROUPS_AT_COUNT groups + // with less than this value, they will be forced grouped + private static final int MIN_CHILD_COUNT_TO_AVOID_FORCE_GROUPING = 3; + + private final Callback mCallback; private final int mAutoGroupAtCount; + private final int mAutogroupSparseGroupsAtCount; private final Context mContext; private final PackageManager mPackageManager; @@ -75,12 +96,41 @@ public class GroupHelper { private final ArrayMap<String, ArrayMap<String, NotificationAttributes>> mUngroupedNotifications = new ArrayMap<>(); + // Contains the list of notifications that should be aggregated (forced grouping) + // but there are less than mAutoGroupAtCount per section for a package. + // The primary map's key is the full aggregated group key: userId|pkgName|g:groupName + // The internal map's key is the notification record key + @GuardedBy("mAggregatedNotifications") + private final ArrayMap<FullyQualifiedGroupKey, ArrayMap<String, NotificationAttributes>> + mUngroupedAbuseNotifications = new ArrayMap<>(); + + // Contains the list of group summaries that were canceled when "singleton groups" were + // force grouped. Used to remove the original group's children when an app cancels the + // already removed summary. Key is userId|packageName|g:OriginalGroupName + @GuardedBy("mAggregatedNotifications") + private final ArrayMap<FullyQualifiedGroupKey, CachedSummary> + mCanceledSummaries = new ArrayMap<>(); + + // Represents the current state of the aggregated (forced grouped) notifications + // Key is the full aggregated group key: userId|pkgName|g:groupName + // And groupName is "Aggregate_"+sectionName + @GuardedBy("mAggregatedNotifications") + private final ArrayMap<FullyQualifiedGroupKey, ArrayMap<String, NotificationAttributes>> + mAggregatedNotifications = new ArrayMap<>(); + + private static final List<NotificationSectioner> NOTIFICATION_SHADE_SECTIONS = List.of( + new NotificationSectioner("AlertingSection", 0, (record) -> + record.getImportance() >= NotificationManager.IMPORTANCE_DEFAULT), + new NotificationSectioner("SilentSection", 1, (record) -> + record.getImportance() < NotificationManager.IMPORTANCE_DEFAULT)); + public GroupHelper(Context context, PackageManager packageManager, int autoGroupAtCount, - Callback callback) { + int autoGroupSparseGroupsAtCount, Callback callback) { mAutoGroupAtCount = autoGroupAtCount; mCallback = callback; mContext = context; mPackageManager = packageManager; + mAutogroupSparseGroupsAtCount = autoGroupSparseGroupsAtCount; } private String generatePackageKey(int userId, String pkg) { @@ -88,40 +138,50 @@ public class GroupHelper { } @VisibleForTesting - @GuardedBy("mUngroupedNotifications") - protected int getAutogroupSummaryFlags( - @NonNull final ArrayMap<String, NotificationAttributes> children) { + protected static int getAutogroupSummaryFlags( + @NonNull final ArrayMap<String, NotificationAttributes> childrenMap) { + final Collection<NotificationAttributes> children = childrenMap.values(); boolean allChildrenHasFlag = children.size() > 0; int anyChildFlagSet = 0; - for (int i = 0; i < children.size(); i++) { - if (!hasAnyFlag(children.valueAt(i).flags, ALL_CHILDREN_FLAG)) { + for (NotificationAttributes childAttr: children) { + if (!hasAnyFlag(childAttr.flags, ALL_CHILDREN_FLAG)) { allChildrenHasFlag = false; } - if (hasAnyFlag(children.valueAt(i).flags, ANY_CHILDREN_FLAGS)) { - anyChildFlagSet |= (children.valueAt(i).flags & ANY_CHILDREN_FLAGS); + if (hasAnyFlag(childAttr.flags, ANY_CHILDREN_FLAGS)) { + anyChildFlagSet |= (childAttr.flags & ANY_CHILDREN_FLAGS); } } return BASE_FLAGS | (allChildrenHasFlag ? ALL_CHILDREN_FLAG : 0) | anyChildFlagSet; } - private boolean hasAnyFlag(int flags, int mask) { + private static boolean hasAnyFlag(int flags, int mask) { return (flags & mask) != 0; } /** * Called when a notification is newly posted. Checks whether that notification, and all other * active notifications should be grouped or ungrouped atuomatically, and returns whether. - * @param sbn The posted notification. + * @param record The posted notification. * @param autogroupSummaryExists Whether a summary for this notification already exists. * @return Whether the provided notification should be autogrouped synchronously. */ - public boolean onNotificationPosted(StatusBarNotification sbn, boolean autogroupSummaryExists) { + public boolean onNotificationPosted(NotificationRecord record, boolean autogroupSummaryExists) { boolean sbnToBeAutogrouped = false; try { - if (!sbn.isAppGroup()) { - sbnToBeAutogrouped = maybeGroup(sbn, autogroupSummaryExists); + if (notificationForceGrouping()) { + final StatusBarNotification sbn = record.getSbn(); + if (!sbn.isAppGroup()) { + sbnToBeAutogrouped = maybeGroupWithSections(record, autogroupSummaryExists); + } else { + maybeUngroupWithSections(record); + } } else { - maybeUngroup(sbn, false, sbn.getUserId()); + final StatusBarNotification sbn = record.getSbn(); + if (!sbn.isAppGroup()) { + sbnToBeAutogrouped = maybeGroup(sbn, autogroupSummaryExists); + } else { + maybeUngroup(sbn, false, sbn.getUserId()); + } } } catch (Exception e) { Slog.e(TAG, "Failure processing new notification", e); @@ -129,9 +189,20 @@ public class GroupHelper { return sbnToBeAutogrouped; } - public void onNotificationRemoved(StatusBarNotification sbn) { + /** + * Called when a notification was removed. Checks if that notification was part of an autogroup + * and triggers any necessary cleanups: summary removal, clearing caches etc. + * + * @param record The removed notification. + */ + public void onNotificationRemoved(NotificationRecord record) { try { - maybeUngroup(sbn, true, sbn.getUserId()); + if (notificationForceGrouping()) { + onNotificationRemoved(record, new ArrayList<>()); + } else { + final StatusBarNotification sbn = record.getSbn(); + maybeUngroup(sbn, true, sbn.getUserId()); + } } catch (Exception e) { Slog.e(TAG, "Error processing canceled notification", e); } @@ -156,10 +227,10 @@ public class GroupHelper { String packageKey = generatePackageKey(sbn.getUserId(), sbn.getPackageName()); final ArrayMap<String, NotificationAttributes> children = mUngroupedNotifications.getOrDefault(packageKey, new ArrayMap<>()); - NotificationAttributes attr = new NotificationAttributes(sbn.getNotification().flags, sbn.getNotification().getSmallIcon(), sbn.getNotification().color, - sbn.getNotification().visibility); + sbn.getNotification().visibility, Notification.GROUP_ALERT_CHILDREN, + sbn.getNotification().getChannelId()); children.put(sbn.getKey(), attr); mUngroupedNotifications.put(packageKey, children); @@ -173,17 +244,20 @@ public class GroupHelper { if (autogroupSummaryExists) { NotificationAttributes attr = new NotificationAttributes(flags, sbn.getNotification().getSmallIcon(), sbn.getNotification().color, - VISIBILITY_PRIVATE); + VISIBILITY_PRIVATE, Notification.GROUP_ALERT_CHILDREN, + sbn.getNotification().getChannelId()); if (Flags.autogroupSummaryIconUpdate()) { attr = updateAutobundledSummaryAttributes(sbn.getPackageName(), childrenAttr, attr); } - mCallback.updateAutogroupSummary(sbn.getUserId(), sbn.getPackageName(), attr); + mCallback.updateAutogroupSummary(sbn.getUserId(), sbn.getPackageName(), + AUTOGROUP_KEY, attr); } else { Icon summaryIcon = sbn.getNotification().getSmallIcon(); int summaryIconColor = sbn.getNotification().color; int summaryVisibility = VISIBILITY_PRIVATE; + String summaryChannelId = sbn.getNotification().getChannelId(); if (Flags.autogroupSummaryIconUpdate()) { // Calculate the initial summary icon, icon color and visibility NotificationAttributes iconAttr = getAutobundledSummaryAttributes( @@ -191,12 +265,14 @@ public class GroupHelper { summaryIcon = iconAttr.icon; summaryIconColor = iconAttr.iconColor; summaryVisibility = iconAttr.visibility; + summaryChannelId = iconAttr.channelId; } NotificationAttributes attr = new NotificationAttributes(flags, summaryIcon, - summaryIconColor, summaryVisibility); + summaryIconColor, summaryVisibility, Notification.GROUP_ALERT_CHILDREN, + summaryChannelId); mCallback.addAutoGroupSummary(sbn.getUserId(), sbn.getPackageName(), sbn.getKey(), - attr); + AUTOGROUP_KEY, Integer.MAX_VALUE, attr); } for (String keyToGroup : notificationsToGroup) { if (android.app.Flags.checkAutogroupBeforePost()) { @@ -204,10 +280,10 @@ public class GroupHelper { // Autogrouping for the provided notification is to be done synchronously. sbnToBeAutogrouped = true; } else { - mCallback.addAutoGroup(keyToGroup, /*requestSort=*/true); + mCallback.addAutoGroup(keyToGroup, AUTOGROUP_KEY, /*requestSort=*/true); } } else { - mCallback.addAutoGroup(keyToGroup, /*requestSort=*/true); + mCallback.addAutoGroup(keyToGroup, AUTOGROUP_KEY, /*requestSort=*/true); } } } @@ -263,11 +339,12 @@ public class GroupHelper { } if (removeSummary) { - mCallback.removeAutoGroupSummary(userId, sbn.getPackageName()); + mCallback.removeAutoGroupSummary(userId, sbn.getPackageName(), AUTOGROUP_KEY); } else { NotificationAttributes attr = new NotificationAttributes(summaryFlags, sbn.getNotification().getSmallIcon(), sbn.getNotification().color, - VISIBILITY_PRIVATE); + VISIBILITY_PRIVATE, Notification.GROUP_ALERT_CHILDREN, + sbn.getNotification().getChannelId()); boolean attributesUpdated = false; if (Flags.autogroupSummaryIconUpdate()) { NotificationAttributes newAttr = updateAutobundledSummaryAttributes( @@ -279,7 +356,7 @@ public class GroupHelper { } if (updateSummaryFlags || attributesUpdated) { - mCallback.updateAutogroupSummary(userId, sbn.getPackageName(), attr); + mCallback.updateAutogroupSummary(userId, sbn.getPackageName(), AUTOGROUP_KEY, attr); } } if (removeAutogroupOverlay) { @@ -287,16 +364,6 @@ public class GroupHelper { } } - @VisibleForTesting - int getNotGroupedByAppCount(int userId, String pkg) { - synchronized (mUngroupedNotifications) { - String key = generatePackageKey(userId, pkg); - final ArrayMap<String, NotificationAttributes> children = - mUngroupedNotifications.getOrDefault(key, new ArrayMap<>()); - return children.size(); - } - } - NotificationAttributes getAutobundledSummaryAttributes(@NonNull String packageName, @NonNull List<NotificationAttributes> childrenAttr) { Icon newIcon = null; @@ -338,7 +405,20 @@ public class GroupHelper { newColor = COLOR_DEFAULT; } - return new NotificationAttributes(0, newIcon, newColor, newVisibility); + // Use GROUP_ALERT_CHILDREN + // Unless all children have GROUP_ALERT_SUMMARY => avoid muting all notifications in group + int newGroupAlertBehavior = Notification.GROUP_ALERT_SUMMARY; + for (NotificationAttributes attr: childrenAttr) { + if (attr.groupAlertBehavior != Notification.GROUP_ALERT_SUMMARY) { + newGroupAlertBehavior = Notification.GROUP_ALERT_CHILDREN; + break; + } + } + + String channelId = !childrenAttr.isEmpty() ? childrenAttr.get(0).channelId : null; + + return new NotificationAttributes(0, newIcon, newColor, newVisibility, + newGroupAlertBehavior, channelId); } NotificationAttributes updateAutobundledSummaryAttributes(@NonNull String packageName, @@ -348,14 +428,28 @@ public class GroupHelper { childrenAttr); Icon newIcon = newAttr.icon; int newColor = newAttr.iconColor; + String newChannelId = newAttr.channelId; if (newAttr.icon == null) { newIcon = oldAttr.icon; } if (newAttr.iconColor == Notification.COLOR_INVALID) { newColor = oldAttr.iconColor; } + if (newAttr.channelId == null) { + newChannelId = oldAttr.channelId; + } - return new NotificationAttributes(oldAttr.flags, newIcon, newColor, newAttr.visibility); + return new NotificationAttributes(oldAttr.flags, newIcon, newColor, newAttr.visibility, + oldAttr.groupAlertBehavior, newChannelId); + } + + private NotificationAttributes getSummaryAttributes(String pkgName, + ArrayMap<String, NotificationAttributes> childrenMap) { + int flags = getAutogroupSummaryFlags(childrenMap); + NotificationAttributes attr = getAutobundledSummaryAttributes(pkgName, + childrenMap.values().stream().toList()); + return new NotificationAttributes(flags, attr.icon, attr.iconColor, attr.visibility, + attr.groupAlertBehavior, attr.channelId); } /** @@ -388,17 +482,865 @@ public class GroupHelper { } } + /** + * A non-app grouped notification has been added or updated + * Evaluate if: + * (a) an existing autogroup summary needs updated attributes + * (b) a new autogroup summary needs to be added with correct attributes + * (c) other non-app grouped children need to be moved to the autogroup + * + * This method implements autogrouping with sections support. + * + * And stores the list of upgrouped notifications & their flags + */ + private boolean maybeGroupWithSections(NotificationRecord record, + boolean autogroupSummaryExists) { + final StatusBarNotification sbn = record.getSbn(); + boolean sbnToBeAutogrouped = false; + + final NotificationSectioner sectioner = getSection(record); + if (sectioner == null) { + if (DEBUG) { + Log.i(TAG, "Skipping autogrouping for " + record + " no valid section found."); + } + return false; + } + + final String pkgName = sbn.getPackageName(); + final FullyQualifiedGroupKey fullAggregateGroupKey = new FullyQualifiedGroupKey( + record.getUserId(), pkgName, sectioner); + + // This notification is already aggregated + if (record.getGroupKey().equals(fullAggregateGroupKey.toString())) { + return false; + } + + synchronized (mAggregatedNotifications) { + ArrayMap<String, NotificationAttributes> ungrouped = + mUngroupedAbuseNotifications.getOrDefault(fullAggregateGroupKey, new ArrayMap<>()); + ungrouped.put(record.getKey(), new NotificationAttributes( + record.getFlags(), + record.getNotification().getSmallIcon(), + record.getNotification().color, + record.getNotification().visibility, + record.getNotification().getGroupAlertBehavior(), + record.getChannel().getId())); + mUngroupedAbuseNotifications.put(fullAggregateGroupKey, ungrouped); + + // scenario 0: ungrouped notifications + if (ungrouped.size() >= mAutoGroupAtCount || autogroupSummaryExists) { + if (DEBUG) { + if (ungrouped.size() >= mAutoGroupAtCount) { + Log.i(TAG, + "Found >=" + mAutoGroupAtCount + + " ungrouped notifications => force grouping"); + } else { + Log.i(TAG, "Found aggregate summary => force grouping"); + } + } + + final ArrayMap<String, NotificationAttributes> aggregatedNotificationsAttrs = + mAggregatedNotifications.getOrDefault(fullAggregateGroupKey, new ArrayMap<>()); + aggregatedNotificationsAttrs.putAll(ungrouped); + mAggregatedNotifications.put(fullAggregateGroupKey, aggregatedNotificationsAttrs); + + // add/update aggregate summary + updateAggregateAppGroup(fullAggregateGroupKey, record.getKey(), + autogroupSummaryExists, sectioner.mSummaryId); + + // add notification to aggregate group + for (String keyToGroup : ungrouped.keySet()) { + if (android.app.Flags.checkAutogroupBeforePost()) { + if (keyToGroup.equals(record.getKey())) { + // Autogrouping for the posted notification is to be done synchronously. + sbnToBeAutogrouped = true; + } else { + mCallback.addAutoGroup(keyToGroup, fullAggregateGroupKey.toString(), + true); + } + } else { + mCallback.addAutoGroup(keyToGroup, fullAggregateGroupKey.toString(), true); + } + } + + //cleanup mUngroupedAbuseNotifications + mUngroupedAbuseNotifications.remove(fullAggregateGroupKey); + } + } + + return sbnToBeAutogrouped; + } + + /** + * A notification was added that's app grouped. + * Evaluate whether: + * (a) an existing autogroup summary needs updated attributes + * (b) if we need to remove our autogroup overlay for this notification + * (c) we need to remove the autogroup summary + * + * This method implements autogrouping with sections support. + * + * And updates the internal state of un-app-grouped notifications and their flags. + */ + private void maybeUngroupWithSections(NotificationRecord record) { + final StatusBarNotification sbn = record.getSbn(); + final String pkgName = sbn.getPackageName(); + final int userId = record.getUserId(); + final FullyQualifiedGroupKey fullAggregateGroupKey = new FullyQualifiedGroupKey(userId, + pkgName, getSection(record)); + + synchronized (mAggregatedNotifications) { + // if this notification still exists and has an autogroup overlay, but is now + // grouped by the app, clear the overlay + ArrayMap<String, NotificationAttributes> ungrouped = + mUngroupedAbuseNotifications.getOrDefault(fullAggregateGroupKey, new ArrayMap<>()); + ungrouped.remove(sbn.getKey()); + mUngroupedAbuseNotifications.put(fullAggregateGroupKey, ungrouped); + + final ArrayMap<String, NotificationAttributes> aggregatedNotificationsAttrs = + mAggregatedNotifications.getOrDefault(fullAggregateGroupKey, new ArrayMap<>()); + // check if the removed notification was part of the aggregate group + if (aggregatedNotificationsAttrs.containsKey(record.getKey())) { + aggregatedNotificationsAttrs.remove(sbn.getKey()); + mAggregatedNotifications.put(fullAggregateGroupKey, aggregatedNotificationsAttrs); + + if (DEBUG) { + Log.i(TAG, "maybeUngroup removeAutoGroup: " + record); + } + + mCallback.removeAutoGroup(sbn.getKey()); + + if (aggregatedNotificationsAttrs.isEmpty()) { + if (DEBUG) { + Log.i(TAG, "Aggregate group is empty: " + fullAggregateGroupKey); + } + mCallback.removeAutoGroupSummary(userId, pkgName, + fullAggregateGroupKey.toString()); + mAggregatedNotifications.remove(fullAggregateGroupKey); + } else { + if (DEBUG) { + Log.i(TAG, "Aggregate group not empty, updating: " + fullAggregateGroupKey); + } + updateAggregateAppGroup(fullAggregateGroupKey, sbn.getKey(), true, 0); + } + } + } + } + + /** + * Called when a notification is newly posted, after some delay, so that the app + * has a chance to post a group summary or children (complete a group). + * Checks whether that notification and other active notifications should be forced grouped + * because their grouping is incorrect: + * - missing summary + * - only summaries + * - sparse groups == multiple groups with very few notifications + * + * @param record the notification that was posted + * @param notificationList the full notification list from NotificationManagerService + * @param summaryByGroupKey the map of group summaries from NotificationManagerService + */ + @FlaggedApi(android.service.notification.Flags.FLAG_NOTIFICATION_FORCE_GROUPING) + protected void onNotificationPostedWithDelay(final NotificationRecord record, + final List<NotificationRecord> notificationList, + final Map<String, NotificationRecord> summaryByGroupKey) { + // Ungrouped notifications are handled separately in + // {@link #onNotificationPosted(StatusBarNotification, boolean)} + final StatusBarNotification sbn = record.getSbn(); + if (!sbn.isAppGroup()) { + return; + } + + if (record.isCanceled) { + return; + } + + final NotificationSectioner sectioner = getSection(record); + if (sectioner == null) { + if (DEBUG) { + Log.i(TAG, "Skipping autogrouping for " + record + " no valid section found."); + } + return; + } + + final String pkgName = sbn.getPackageName(); + final FullyQualifiedGroupKey fullAggregateGroupKey = new FullyQualifiedGroupKey( + record.getUserId(), pkgName, sectioner); + + // This notification is already aggregated + if (record.getGroupKey().equals(fullAggregateGroupKey.toString())) { + return; + } + + synchronized (mAggregatedNotifications) { + // scenario 1: group w/o summary + // scenario 2: summary w/o children + if (isGroupChildWithoutSummary(record, summaryByGroupKey) || + isGroupSummaryWithoutChildren(record, notificationList)) { + if (DEBUG) { + Log.i(TAG, "isGroupChildWithoutSummary OR isGroupSummaryWithoutChild" + + record); + } + + ArrayMap<String, NotificationAttributes> ungrouped = + mUngroupedAbuseNotifications.getOrDefault(fullAggregateGroupKey, + new ArrayMap<>()); + ungrouped.put(record.getKey(), new NotificationAttributes( + record.getFlags(), + record.getNotification().getSmallIcon(), + record.getNotification().color, + record.getNotification().visibility, + record.getNotification().getGroupAlertBehavior(), + record.getChannel().getId())); + mUngroupedAbuseNotifications.put(fullAggregateGroupKey, ungrouped); + // Create/update summary and group if >= mAutoGroupAtCount notifications + // or if aggregate group exists + boolean hasSummary = !mAggregatedNotifications.getOrDefault(fullAggregateGroupKey, + new ArrayMap<>()).isEmpty(); + if (ungrouped.size() >= mAutoGroupAtCount || hasSummary) { + if (DEBUG) { + if (ungrouped.size() >= mAutoGroupAtCount) { + Log.i(TAG, + "Found >=" + mAutoGroupAtCount + + " ungrouped notifications => force grouping"); + } else { + Log.i(TAG, "Found aggregate summary => force grouping"); + } + } + aggregateUngroupedNotifications(fullAggregateGroupKey, sbn.getKey(), + ungrouped, hasSummary, sectioner.mSummaryId); + } + + return; + } + + // scenario 3: sparse/singleton groups + if (Flags.notificationForceGroupSingletons()) { + groupSparseGroups(record, notificationList, summaryByGroupKey, sectioner, + fullAggregateGroupKey); + } + } + } + + /** + * Called when a notification is removed, so that this helper can adjust the aggregate groups: + * - Removes the autogroup summary of the notification's section + * if the record was the last child. + * - Recalculates the autogroup summary "attributes": + * icon, icon color, visibility, groupAlertBehavior, flags - if the removed record was + * part of an autogroup. + * - Removes the saved summary of the original group, if the record was the last remaining + * child of a sparse group that was forced auto-grouped. + * + * see also {@link #onNotificationPostedWithDelay(NotificationRecord, List, Map)} + * + * @param record the removed notification + * @param notificationList the full notification list from NotificationManagerService + */ + @FlaggedApi(android.service.notification.Flags.FLAG_NOTIFICATION_FORCE_GROUPING) + protected void onNotificationRemoved(final NotificationRecord record, + final List<NotificationRecord> notificationList) { + final StatusBarNotification sbn = record.getSbn(); + final String pkgName = sbn.getPackageName(); + final int userId = record.getUserId(); + final FullyQualifiedGroupKey fullAggregateGroupKey = new FullyQualifiedGroupKey(userId, + pkgName, getSection(record)); + + synchronized (mAggregatedNotifications) { + ArrayMap<String, NotificationAttributes> ungrouped = + mUngroupedAbuseNotifications.getOrDefault(fullAggregateGroupKey, new ArrayMap<>()); + ungrouped.remove(record.getKey()); + mUngroupedAbuseNotifications.put(fullAggregateGroupKey, ungrouped); + + final ArrayMap<String, NotificationAttributes> aggregatedNotificationsAttrs = + mAggregatedNotifications.getOrDefault(fullAggregateGroupKey, new ArrayMap<>()); + // check if the removed notification was part of the aggregate group + if (record.getGroupKey().equals(fullAggregateGroupKey.toString()) + || aggregatedNotificationsAttrs.containsKey(record.getKey())) { + aggregatedNotificationsAttrs.remove(record.getKey()); + mAggregatedNotifications.put(fullAggregateGroupKey, aggregatedNotificationsAttrs); + + if (aggregatedNotificationsAttrs.isEmpty()) { + if (DEBUG) { + Log.i(TAG, "Aggregate group is empty: " + fullAggregateGroupKey); + } + mCallback.removeAutoGroupSummary(userId, pkgName, + fullAggregateGroupKey.toString()); + mAggregatedNotifications.remove(fullAggregateGroupKey); + } else { + if (DEBUG) { + Log.i(TAG, "Aggregate group not empty, updating: " + fullAggregateGroupKey); + } + updateAggregateAppGroup(fullAggregateGroupKey, sbn.getKey(), true, 0); + } + + // Try to cleanup cached summaries if notification was canceled (not snoozed) + if (record.isCanceled) { + maybeClearCanceledSummariesCache(pkgName, userId, + record.getNotification().getGroup(), notificationList); + } + } + } + } + + private record NotificationMoveOp(NotificationRecord record, FullyQualifiedGroupKey oldGroup, + FullyQualifiedGroupKey newGroup) { } + + /** + * Called when a notification channel is updated, so that this helper can adjust + * the aggregate groups by moving children if their section has changed. + * see {@link #onNotificationPostedWithDelay(NotificationRecord, List, Map)} + * @param userId the userId of the channel + * @param pkgName the channel's package + * @param channel the channel that was updated + * @param notificationList the full notification list from NotificationManagerService + */ + @FlaggedApi(android.service.notification.Flags.FLAG_NOTIFICATION_FORCE_GROUPING) + public void onChannelUpdated(final int userId, final String pkgName, + final NotificationChannel channel, final List<NotificationRecord> notificationList) { + synchronized (mAggregatedNotifications) { + ArrayMap<String, NotificationRecord> notificationsToCheck = new ArrayMap<>(); + for (NotificationRecord r : notificationList) { + if (r.getChannel().getId().equals(channel.getId()) + && r.getSbn().getPackageName().equals(pkgName) + && r.getUserId() == userId) { + notificationsToCheck.put(r.getKey(), r); + } + } + + final ArrayList<NotificationMoveOp> notificationsToMove = new ArrayList<>(); + + final Set<FullyQualifiedGroupKey> oldGroups = + new HashSet<>(mAggregatedNotifications.keySet()); + for (FullyQualifiedGroupKey oldFullAggKey : oldGroups) { + // Only check aggregate groups that match the same userId & packageName + if (pkgName.equals(oldFullAggKey.pkg) && userId == oldFullAggKey.userId) { + final ArrayMap<String, NotificationAttributes> notificationsInAggGroup = + mAggregatedNotifications.get(oldFullAggKey); + if (notificationsInAggGroup == null) { + continue; + } + + FullyQualifiedGroupKey newFullAggregateGroupKey = null; + for (String key : notificationsInAggGroup.keySet()) { + if (notificationsToCheck.get(key) != null) { + // check if section changes + NotificationSectioner sectioner = getSection( + notificationsToCheck.get(key)); + if (sectioner == null) { + continue; + } + newFullAggregateGroupKey = new FullyQualifiedGroupKey(userId, pkgName, + sectioner); + if (!oldFullAggKey.equals(newFullAggregateGroupKey)) { + if (DEBUG) { + Log.i(TAG, "Change section on channel update: " + key); + } + notificationsToMove.add( + new NotificationMoveOp(notificationsToCheck.get(key), + oldFullAggKey, newFullAggregateGroupKey)); + } + } + } + + if (newFullAggregateGroupKey != null) { + // Add any notifications left ungrouped to the new section + ArrayMap<String, NotificationAttributes> ungrouped = + mUngroupedAbuseNotifications.get(newFullAggregateGroupKey); + if (ungrouped != null) { + for (NotificationRecord r : notificationList) { + if (ungrouped.containsKey(r.getKey())) { + if (DEBUG) { + Log.i(TAG, "Add previously ungrouped: " + r); + } + notificationsToMove.add( + new NotificationMoveOp(r, null, newFullAggregateGroupKey)); + } + } + //Cleanup mUngroupedAbuseNotifications + mUngroupedAbuseNotifications.remove(newFullAggregateGroupKey); + } + } + } + } + + // Batch move to new section + if (!notificationsToMove.isEmpty()) { + moveNotificationsToNewSection(userId, pkgName, notificationsToMove); + } + } + } + + @GuardedBy("mAggregatedNotifications") + private void moveNotificationsToNewSection(final int userId, final String pkgName, + final List<NotificationMoveOp> notificationsToMove) { + record GroupUpdateOp(FullyQualifiedGroupKey groupKey, NotificationRecord record, + boolean hasSummary) { } + ArrayMap<FullyQualifiedGroupKey, GroupUpdateOp> groupsToUpdate = new ArrayMap<>(); + + for (NotificationMoveOp moveOp: notificationsToMove) { + final NotificationRecord record = moveOp.record; + final FullyQualifiedGroupKey oldFullAggregateGroupKey = moveOp.oldGroup; + final FullyQualifiedGroupKey newFullAggregateGroupKey = moveOp.newGroup; + + if (DEBUG) { + Log.i(TAG, + "moveNotificationToNewSection: " + record + " " + newFullAggregateGroupKey + + " from: " + oldFullAggregateGroupKey); + } + + // Update/remove aggregate summary for old group + if (oldFullAggregateGroupKey != null) { + final ArrayMap<String, NotificationAttributes> oldAggregatedNotificationsAttrs = + mAggregatedNotifications.getOrDefault(oldFullAggregateGroupKey, + new ArrayMap<>()); + oldAggregatedNotificationsAttrs.remove(record.getKey()); + mAggregatedNotifications.put(oldFullAggregateGroupKey, + oldAggregatedNotificationsAttrs); + + // Only add once, for triggering notification + if (!groupsToUpdate.containsKey(oldFullAggregateGroupKey)) { + groupsToUpdate.put(oldFullAggregateGroupKey, + new GroupUpdateOp(oldFullAggregateGroupKey, record, true)); + } + } + + // Add/update aggregate summary for new group + if (newFullAggregateGroupKey != null) { + final ArrayMap<String, NotificationAttributes> newAggregatedNotificationsAttrs = + mAggregatedNotifications.getOrDefault(newFullAggregateGroupKey, + new ArrayMap<>()); + boolean newGroupExists = !newAggregatedNotificationsAttrs.isEmpty(); + newAggregatedNotificationsAttrs.put(record.getKey(), + new NotificationAttributes(record.getFlags(), + record.getNotification().getSmallIcon(), + record.getNotification().color, + record.getNotification().visibility, + record.getNotification().getGroupAlertBehavior(), + record.getChannel().getId())); + mAggregatedNotifications.put(newFullAggregateGroupKey, + newAggregatedNotificationsAttrs); + + // Only add once, for triggering notification + if (!groupsToUpdate.containsKey(newFullAggregateGroupKey)) { + groupsToUpdate.put(newFullAggregateGroupKey, + new GroupUpdateOp(newFullAggregateGroupKey, record, newGroupExists)); + } + + // Add notification to new group. do not request resort + record.setOverrideGroupKey(null); + mCallback.addAutoGroup(record.getKey(), newFullAggregateGroupKey.toString(), false); + } + } + + // Update groups (sections) + for (FullyQualifiedGroupKey groupKey : groupsToUpdate.keySet()) { + final ArrayMap<String, NotificationAttributes> aggregatedNotificationsAttrs = + mAggregatedNotifications.getOrDefault(groupKey, new ArrayMap<>()); + if (aggregatedNotificationsAttrs.isEmpty()) { + mCallback.removeAutoGroupSummary(userId, pkgName, groupKey.toString()); + mAggregatedNotifications.remove(groupKey); + } else { + NotificationRecord triggeringNotification = groupsToUpdate.get(groupKey).record; + boolean hasSummary = groupsToUpdate.get(groupKey).hasSummary; + NotificationSectioner sectioner = getSection(triggeringNotification); + if (sectioner == null) { + continue; + } + updateAggregateAppGroup(groupKey, triggeringNotification.getKey(), hasSummary, + sectioner.mSummaryId); + } + } + } + + static String getFullAggregateGroupKey(String pkgName, + String groupName, int userId) { + return new FullyQualifiedGroupKey(userId, pkgName, groupName).toString(); + } + + /** + * Returns the full aggregate group key, which contains the userId and package name + * in addition to the aggregate group key (name). + * Equivalent to {@link StatusBarNotification#groupKey()} + */ + static String getFullAggregateGroupKey(NotificationRecord record) { + return new FullyQualifiedGroupKey(record.getUserId(), record.getSbn().getPackageName(), + getSection(record)).toString(); + } + + protected static boolean isAggregatedGroup(NotificationRecord record) { + return (record.mOriginalFlags & Notification.FLAG_AUTOGROUP_SUMMARY) != 0; + } + + private static int getNumChildrenForGroup(@NonNull final String groupKey, + final List<NotificationRecord> notificationList) { + //TODO (b/349072751): track grouping state in GroupHelper -> do not use notificationList + int numChildren = 0; + // find children for this summary + for (NotificationRecord r : notificationList) { + if (!r.getNotification().isGroupSummary() + && groupKey.equals(r.getSbn().getGroup())) { + numChildren++; + } + } + + if (DEBUG) { + Log.i(TAG, "getNumChildrenForGroup " + groupKey + " numChild: " + numChildren); + } + return numChildren; + } + + private static boolean isGroupSummaryWithoutChildren(final NotificationRecord record, + final List<NotificationRecord> notificationList) { + final StatusBarNotification sbn = record.getSbn(); + final String groupKey = record.getSbn().getGroup(); + + // ignore non app groups and non summaries + if (!sbn.isAppGroup() || !record.getNotification().isGroupSummary()) { + return false; + } + + return getNumChildrenForGroup(groupKey, notificationList) == 0; + } + + private static boolean isGroupChildWithoutSummary(final NotificationRecord record, + final Map<String, NotificationRecord> summaryByGroupKey) { + final StatusBarNotification sbn = record.getSbn(); + final String groupKey = record.getSbn().getGroupKey(); + + if (!sbn.isAppGroup()) { + return false; + } + + if (record.getNotification().isGroupSummary()) { + return false; + } + + if (summaryByGroupKey.containsKey(groupKey)) { + return false; + } + + return true; + } + + @GuardedBy("mAggregatedNotifications") + private void aggregateUngroupedNotifications(FullyQualifiedGroupKey fullAggregateGroupKey, + String triggeringNotifKey, Map<String, NotificationAttributes> ungrouped, + final boolean hasSummary, int summaryId) { + final ArrayMap<String, NotificationAttributes> aggregatedNotificationsAttrs = + mAggregatedNotifications.getOrDefault(fullAggregateGroupKey, new ArrayMap<>()); + aggregatedNotificationsAttrs.putAll(ungrouped); + mAggregatedNotifications.put(fullAggregateGroupKey, aggregatedNotificationsAttrs); + + // add/update aggregate summary + updateAggregateAppGroup(fullAggregateGroupKey, triggeringNotifKey, hasSummary, summaryId); + + // add notification to aggregate group + for (String key: ungrouped.keySet()) { + mCallback.addAutoGroup(key, fullAggregateGroupKey.toString(), true); + } + + //cleanup mUngroupedAbuseNotifications + mUngroupedAbuseNotifications.remove(fullAggregateGroupKey); + } + + @GuardedBy("mAggregatedNotifications") + private void updateAggregateAppGroup(FullyQualifiedGroupKey fullAggregateGroupKey, + String triggeringNotifKey, boolean hasSummary, int summaryId) { + final ArrayMap<String, NotificationAttributes> aggregatedNotificationsAttrs = + mAggregatedNotifications.getOrDefault(fullAggregateGroupKey, new ArrayMap<>()); + NotificationAttributes attr = getSummaryAttributes(fullAggregateGroupKey.pkg, + aggregatedNotificationsAttrs); + String channelId = hasSummary ? attr.channelId + : aggregatedNotificationsAttrs.get(triggeringNotifKey).channelId; + NotificationAttributes summaryAttr = new NotificationAttributes(attr.flags, attr.icon, + attr.iconColor, attr.visibility, attr.groupAlertBehavior, channelId); + + if (!hasSummary) { + if (DEBUG) { + Log.i(TAG, "Create aggregate summary: " + fullAggregateGroupKey); + } + mCallback.addAutoGroupSummary(fullAggregateGroupKey.userId, fullAggregateGroupKey.pkg, + triggeringNotifKey, fullAggregateGroupKey.toString(), summaryId, summaryAttr); + } else { + if (DEBUG) { + Log.i(TAG, "Update aggregate summary: " + fullAggregateGroupKey); + } + mCallback.updateAutogroupSummary(fullAggregateGroupKey.userId, + fullAggregateGroupKey.pkg, fullAggregateGroupKey.toString(), summaryAttr); + } + } + + @GuardedBy("mAggregatedNotifications") + private void groupSparseGroups(final NotificationRecord record, + final List<NotificationRecord> notificationList, + final Map<String, NotificationRecord> summaryByGroupKey, + final NotificationSectioner sectioner, + final FullyQualifiedGroupKey fullAggregateGroupKey) { + final ArrayMap<String, NotificationRecord> sparseGroupSummaries = getSparseGroups( + fullAggregateGroupKey, notificationList, summaryByGroupKey, sectioner); + if (sparseGroupSummaries.size() >= mAutogroupSparseGroupsAtCount) { + if (DEBUG) { + Log.i(TAG, + "Aggregate sparse groups for: " + record.getSbn().getPackageName() + + " Section: " + sectioner.mName); + } + + ArrayMap<String, NotificationAttributes> ungrouped = + mUngroupedAbuseNotifications.getOrDefault( + fullAggregateGroupKey, new ArrayMap<>()); + final ArrayMap<String, NotificationAttributes> aggregatedNotificationsAttrs = + mAggregatedNotifications.getOrDefault(fullAggregateGroupKey, new ArrayMap<>()); + final boolean hasSummary = !aggregatedNotificationsAttrs.isEmpty(); + for (NotificationRecord r : notificationList) { + // Add notifications for detected sparse groups + if (sparseGroupSummaries.containsKey(r.getGroupKey())) { + // Move child notifications to aggregate group + if (!r.getNotification().isGroupSummary()) { + if (DEBUG) { + Log.i(TAG, "Aggregate notification (sparse group): " + r); + } + mCallback.addAutoGroup(r.getKey(), fullAggregateGroupKey.toString(), true); + aggregatedNotificationsAttrs.put(r.getKey(), + new NotificationAttributes(r.getFlags(), + r.getNotification().getSmallIcon(), r.getNotification().color, + r.getNotification().visibility, + r.getNotification().getGroupAlertBehavior(), + r.getChannel().getId())); + + } else if (r.getNotification().isGroupSummary()) { + // Remove summary notifications + if (DEBUG) { + Log.i(TAG, "Remove app summary (sparse group): " + r); + } + mCallback.removeAppProvidedSummary(r.getKey()); + cacheCanceledSummary(r); + } + } else { + // Add any notifications left ungrouped + if (ungrouped.containsKey(r.getKey())) { + if (DEBUG) { + Log.i(TAG, "Aggregate ungrouped (sparse group): " + r); + } + mCallback.addAutoGroup(r.getKey(), fullAggregateGroupKey.toString(), true); + aggregatedNotificationsAttrs.put(r.getKey(),ungrouped.get(r.getKey())); + } + } + } + + mAggregatedNotifications.put(fullAggregateGroupKey, aggregatedNotificationsAttrs); + // add/update aggregate summary + updateAggregateAppGroup(fullAggregateGroupKey, record.getKey(), hasSummary, + sectioner.mSummaryId); + + //cleanup mUngroupedAbuseNotifications + mUngroupedAbuseNotifications.remove(fullAggregateGroupKey); + } + } + + private ArrayMap<String, NotificationRecord> getSparseGroups( + final FullyQualifiedGroupKey fullAggregateGroupKey, + final List<NotificationRecord> notificationList, + final Map<String, NotificationRecord> summaryByGroupKey, + final NotificationSectioner sectioner) { + ArrayMap<String, NotificationRecord> sparseGroups = new ArrayMap<>(); + for (NotificationRecord summary : summaryByGroupKey.values()) { + if (summary != null && sectioner.isInSection(summary)) { + if (summary.getSbn().getPackageName().equalsIgnoreCase(fullAggregateGroupKey.pkg) + && summary.getUserId() == fullAggregateGroupKey.userId + && summary.getSbn().isAppGroup() + && !summary.getGroupKey().equals(fullAggregateGroupKey.toString())) { + int numChildren = getNumChildrenForGroup(summary.getSbn().getGroup(), + notificationList); + if (numChildren > 0 && numChildren < MIN_CHILD_COUNT_TO_AVOID_FORCE_GROUPING) { + sparseGroups.put(summary.getGroupKey(), summary); + } + } + } + } + return sparseGroups; + } + + @GuardedBy("mAggregatedNotifications") + private void cacheCanceledSummary(NotificationRecord record) { + final FullyQualifiedGroupKey groupKey = new FullyQualifiedGroupKey(record.getUserId(), + record.getSbn().getPackageName(), record.getNotification().getGroup()); + mCanceledSummaries.put(groupKey, new CachedSummary(record.getSbn().getId(), + record.getSbn().getTag(), record.getNotification().getGroup(), record.getKey())); + } + + @GuardedBy("mAggregatedNotifications") + private void maybeClearCanceledSummariesCache(String pkgName, int userId, + String groupName, List<NotificationRecord> notificationList) { + final FullyQualifiedGroupKey findKey = new FullyQualifiedGroupKey(userId, pkgName, + groupName); + CachedSummary summary = mCanceledSummaries.get(findKey); + // Check if any notifications from original group remain + if (summary != null) { + if (DEBUG) { + Log.i(TAG, "Try removing cached summary: " + summary); + } + boolean stillHasChildren = false; + //TODO (b/349072751): track grouping state in GroupHelper -> do not use notificationList + for (NotificationRecord r : notificationList) { + if (summary.originalGroupKey.equals(r.getNotification().getGroup()) + && r.getUser().getIdentifier() == userId + && r.getSbn().getPackageName().equals(pkgName)) { + stillHasChildren = true; + break; + } + } + if (!stillHasChildren) { + removeCachedSummary(pkgName, userId, summary); + } + } + } + + @VisibleForTesting + @GuardedBy("mAggregatedNotifications") + protected CachedSummary findCanceledSummary(String pkgName, String tag, int id, int userId) { + for (FullyQualifiedGroupKey key: mCanceledSummaries.keySet()) { + if (pkgName.equals(key.pkg) && userId == key.userId) { + CachedSummary summary = mCanceledSummaries.get(key); + if (summary != null && summary.id == id && TextUtils.equals(tag, summary.tag)) { + return summary; + } + } + } + return null; + } + + @VisibleForTesting + @GuardedBy("mAggregatedNotifications") + protected CachedSummary findCanceledSummary(String pkgName, String tag, int id, int userId, + String groupName) { + final FullyQualifiedGroupKey findKey = new FullyQualifiedGroupKey(userId, pkgName, + groupName); + CachedSummary summary = mCanceledSummaries.get(findKey); + if (summary != null && summary.id == id && TextUtils.equals(tag, summary.tag)) { + return summary; + } else { + return null; + } + } + + @GuardedBy("mAggregatedNotifications") + private void removeCachedSummary(String pkgName, int userId, CachedSummary summary) { + final FullyQualifiedGroupKey key = new FullyQualifiedGroupKey(userId, pkgName, + summary.originalGroupKey); + mCanceledSummaries.remove(key); + } + + protected boolean isUpdateForCanceledSummary(final NotificationRecord record) { + synchronized (mAggregatedNotifications) { + if (record.getSbn().isAppGroup() && record.getNotification().isGroupSummary()) { + CachedSummary cachedSummary = findCanceledSummary(record.getSbn().getPackageName(), + record.getSbn().getTag(), record.getSbn().getId(), record.getUserId(), + record.getNotification().getGroup()); + return cachedSummary != null; + } + return false; + } + } + + /** + * Cancels the original group's children when an app cancels a summary that was 'maybe' + * previously removed due to forced grouping of a "sparse group". + * + * @param pkgName packageName + * @param tag original summary notification tag + * @param id original summary notification id + * @param userId original summary userId + */ + @FlaggedApi(Flags.FLAG_NOTIFICATION_FORCE_GROUP_SINGLETONS) + public void maybeCancelGroupChildrenForCanceledSummary(String pkgName, String tag, int id, + int userId, int cancelReason) { + synchronized (mAggregatedNotifications) { + final CachedSummary summary = findCanceledSummary(pkgName, tag, id, userId); + if (summary != null) { + if (DEBUG) { + Log.i(TAG, "Found cached summary: " + summary.key); + } + mCallback.removeNotificationFromCanceledGroup(userId, pkgName, + summary.originalGroupKey, cancelReason); + removeCachedSummary(pkgName, userId, summary); + } + } + } + + static NotificationSectioner getSection(final NotificationRecord record) { + for (NotificationSectioner sectioner: NOTIFICATION_SHADE_SECTIONS) { + if (sectioner.isInSection(record)) { + return sectioner; + } + } + return null; + } + + record FullyQualifiedGroupKey(int userId, String pkg, String groupName) { + FullyQualifiedGroupKey(int userId, String pkg, @Nullable NotificationSectioner sectioner) { + this(userId, pkg, AGGREGATE_GROUP_KEY + (sectioner != null ? sectioner.mName : "")); + } + + @Override + public String toString() { + return userId + "|" + pkg + "|" + "g:" + groupName; + } + } + + protected static class NotificationSectioner { + final String mName; + final int mSummaryId; + private final Predicate<NotificationRecord> mSectionChecker; + + public NotificationSectioner(String name, int summaryId, + Predicate<NotificationRecord> sectionChecker) { + mName = name; + mSummaryId = summaryId; + mSectionChecker = sectionChecker; + } + + boolean isInSection(final NotificationRecord record) { + return isNotificationGroupable(record) && mSectionChecker.test(record); + } + + private boolean isNotificationGroupable(final NotificationRecord record) { + if (record.isConversation()) { + return false; + } + + Notification notification = record.getSbn().getNotification(); + boolean isColorizedFGS = notification.isForegroundService() + && notification.isColorized() + && record.getImportance() > NotificationManager.IMPORTANCE_MIN; + boolean isCall = record.getImportance() > NotificationManager.IMPORTANCE_MIN + && notification.isStyle(Notification.CallStyle.class); + if (isColorizedFGS || isCall) { + return false; + } + + return true; + } + } + + record CachedSummary(int id, String tag, String originalGroupKey, String key) {} + protected static class NotificationAttributes { public final int flags; public final int iconColor; public final Icon icon; public final int visibility; + public final int groupAlertBehavior; + public final String channelId; - public NotificationAttributes(int flags, Icon icon, int iconColor, int visibility) { + public NotificationAttributes(int flags, Icon icon, int iconColor, int visibility, + int groupAlertBehavior, String channelId) { this.flags = flags; this.icon = icon; this.iconColor = iconColor; this.visibility = visibility; + this.groupAlertBehavior = groupAlertBehavior; + this.channelId = channelId; } public NotificationAttributes(@NonNull NotificationAttributes attr) { @@ -406,6 +1348,8 @@ public class GroupHelper { this.icon = attr.icon; this.iconColor = attr.iconColor; this.visibility = attr.visibility; + this.groupAlertBehavior = attr.groupAlertBehavior; + this.channelId = attr.channelId; } @Override @@ -417,22 +1361,39 @@ public class GroupHelper { return false; } return flags == that.flags && iconColor == that.iconColor && icon.sameAs(that.icon) - && visibility == that.visibility; + && visibility == that.visibility + && groupAlertBehavior == that.groupAlertBehavior + && channelId.equals(that.channelId); } @Override public int hashCode() { - return Objects.hash(flags, iconColor, icon, visibility); + return Objects.hash(flags, iconColor, icon, visibility, groupAlertBehavior, channelId); + } + + @Override + public String toString() { + return "NotificationAttributes: flags: " + flags + " icon: " + icon + " color: " + + iconColor + " vis: " + visibility + " groupAlertBehavior: " + + groupAlertBehavior + " channelId: " + channelId; } } protected interface Callback { - void addAutoGroup(String key, boolean requestSort); + void addAutoGroup(String key, String groupName, boolean requestSort); void removeAutoGroup(String key); - void addAutoGroupSummary(int userId, String pkg, String triggeringKey, + void addAutoGroupSummary(int userId, String pkg, String triggeringKey, String groupName, + int summaryId, NotificationAttributes summaryAttr); + void removeAutoGroupSummary(int user, String pkg, String groupKey); + + void updateAutogroupSummary(int userId, String pkg, String groupKey, NotificationAttributes summaryAttr); - void removeAutoGroupSummary(int user, String pkg); - void updateAutogroupSummary(int userId, String pkg, NotificationAttributes summaryAttr); + + // New callbacks for API abuse grouping + void removeAppProvidedSummary(String key); + + void removeNotificationFromCanceledGroup(int userId, String pkg, String groupKey, + int cancelReason); } } diff --git a/services/core/java/com/android/server/notification/NotificationAttentionHelper.java b/services/core/java/com/android/server/notification/NotificationAttentionHelper.java index a7e14d9baea2..614a0a59c691 100644 --- a/services/core/java/com/android/server/notification/NotificationAttentionHelper.java +++ b/services/core/java/com/android/server/notification/NotificationAttentionHelper.java @@ -604,6 +604,13 @@ public final class NotificationAttentionHelper { } } + // Suppressed because notification was explicitly flagged as silent + if (android.service.notification.Flags.notificationSilentFlag()) { + if (notification.isSilent()) { + return true; + } + } + // Suppressed for being too recently noisy final String pkg = record.getSbn().getPackageName(); if (mUsageStats.isAlertRateLimited(pkg)) { diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index a4f534eeba67..1c40f44b7b78 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -39,6 +39,7 @@ import static android.app.Notification.FLAG_AUTO_CANCEL; import static android.app.Notification.FLAG_BUBBLE; import static android.app.Notification.FLAG_FOREGROUND_SERVICE; import static android.app.Notification.FLAG_FSI_REQUESTED_BUT_DENIED; +import static android.app.Notification.FLAG_GROUP_SUMMARY; import static android.app.Notification.FLAG_LIFETIME_EXTENDED_BY_DIRECT_REPLY; import static android.app.Notification.FLAG_NO_CLEAR; import static android.app.Notification.FLAG_NO_DISMISS; @@ -108,6 +109,7 @@ import static android.service.notification.Adjustment.TYPE_NEWS; import static android.service.notification.Adjustment.TYPE_PROMOTION; import static android.service.notification.Adjustment.TYPE_SOCIAL_MEDIA; import static android.service.notification.Flags.callstyleCallbackApi; +import static android.service.notification.Flags.notificationForceGrouping; import static android.service.notification.Flags.redactSensitiveNotificationsFromUntrustedListeners; import static android.service.notification.Flags.redactSensitiveNotificationsBigTextStyle; import static android.service.notification.NotificationListenerService.FLAG_FILTER_TYPE_ALERTING; @@ -371,6 +373,7 @@ import com.android.server.wm.ActivityTaskManagerInternal; import com.android.server.wm.BackgroundActivityStartCallback; import com.android.server.wm.WindowManagerInternal; +import java.util.function.BiPredicate; import libcore.io.IoUtils; import org.json.JSONException; @@ -512,6 +515,8 @@ public class NotificationManagerService extends SystemService { private static final long DELAY_FOR_ASSISTANT_TIME = 200; + private static final long DELAY_FORCE_REGROUP_TIME = 3000; + private static final String ACTION_NOTIFICATION_TIMEOUT = NotificationManagerService.class.getSimpleName() + ".TIMEOUT"; private static final int REQUEST_CODE_TIMEOUT = 1; @@ -608,6 +613,9 @@ public class NotificationManagerService extends SystemService { static final long NOTIFICATION_MAX_AGE_AT_POST = Duration.ofDays(14).toMillis(); + // Minium number of sparse groups for a package before autogrouping them + private static final int AUTOGROUP_SPARSE_GROUPS_AT_COUNT = 3; + private IActivityManager mAm; private ActivityTaskManagerInternal mAtm; private ActivityManager mActivityManager; @@ -1001,17 +1009,25 @@ public class NotificationManagerService extends SystemService { * icons are different. * @param userId user id of the autogroup summary * @param pkg package of the autogroup summary + * @param groupKey group key of the autogroup summary * @param summaryAttr the new flags and/or icon & color for this summary * @param isAppForeground true if the app is currently in the foreground. */ @GuardedBy("mNotificationLock") - protected void updateAutobundledSummaryLocked(int userId, String pkg, - NotificationAttributes summaryAttr, boolean isAppForeground) { + protected void updateAutobundledSummaryLocked(int userId, String pkg, String groupKey, + NotificationAttributes summaryAttr, boolean isAppForeground) { ArrayMap<String, String> summaries = mAutobundledSummaries.get(userId); if (summaries == null) { return; } - String summaryKey = summaries.get(pkg); + final String autbundledGroupKey; + if (notificationForceGrouping()) { + autbundledGroupKey = groupKey; + } else { + autbundledGroupKey = pkg; + } + + String summaryKey = summaries.get(autbundledGroupKey); if (summaryKey == null) { return; } @@ -1019,12 +1035,26 @@ public class NotificationManagerService extends SystemService { if (summary == null) { return; } + int oldFlags = summary.getSbn().getNotification().flags; boolean attributesUpdated = !summaryAttr.icon.sameAs(summary.getSbn().getNotification().getSmallIcon()) || summaryAttr.iconColor != summary.getSbn().getNotification().color - || summaryAttr.visibility != summary.getSbn().getNotification().visibility; + || summaryAttr.visibility != summary.getSbn().getNotification().visibility + || summaryAttr.groupAlertBehavior != + summary.getSbn().getNotification().getGroupAlertBehavior(); + + if (notificationForceGrouping()) { + if (!summary.getChannel().getId().equals(summaryAttr.channelId)) { + NotificationChannel newChannel = mPreferencesHelper.getNotificationChannel(pkg, + summary.getUid(), summaryAttr.channelId, false); + if (newChannel != null) { + summary.updateNotificationChannel(newChannel); + attributesUpdated = true; + } + } + } if (oldFlags != summaryAttr.flags || attributesUpdated) { summary.getSbn().getNotification().flags = @@ -1032,6 +1062,8 @@ public class NotificationManagerService extends SystemService { summary.getSbn().getNotification().setSmallIcon(summaryAttr.icon); summary.getSbn().getNotification().color = summaryAttr.iconColor; summary.getSbn().getNotification().visibility = summaryAttr.visibility; + summary.getSbn().getNotification() + .setGroupAlertBehavior(summaryAttr.groupAlertBehavior); mHandler.post(new EnqueueNotificationRunnable(userId, summary, isAppForeground, /* isAppProvided= */ false, mPostNotificationTrackerFactory.newTracker(null))); } @@ -2836,12 +2868,17 @@ public class NotificationManagerService extends SystemService { mAutoGroupAtCount = getContext().getResources().getInteger(R.integer.config_autoGroupAtCount); return new GroupHelper(getContext(), getContext().getPackageManager(), - mAutoGroupAtCount, new GroupHelper.Callback() { + mAutoGroupAtCount, AUTOGROUP_SPARSE_GROUPS_AT_COUNT, new GroupHelper.Callback() { @Override - public void addAutoGroup(String key, boolean requestSort) { - synchronized (mNotificationLock) { - addAutogroupKeyLocked(key, requestSort); - } + public void addAutoGroup(String key, String groupName, boolean requestSort) { + synchronized (mNotificationLock) { + if (notificationForceGrouping()) { + convertSummaryToNotificationLocked(key); + addAutogroupKeyLocked(key, groupName, requestSort); + } else { + addAutogroupKeyLocked(key, groupName, requestSort); + } + } } @Override @@ -2853,10 +2890,9 @@ public class NotificationManagerService extends SystemService { @Override public void addAutoGroupSummary(int userId, String pkg, String triggeringKey, - NotificationAttributes summaryAttr) { + String groupName, int summaryId, NotificationAttributes summaryAttr) { NotificationRecord r = createAutoGroupSummary(userId, pkg, triggeringKey, - summaryAttr.flags, summaryAttr.icon, summaryAttr.iconColor, - summaryAttr.visibility); + groupName, summaryId, summaryAttr); if (r != null) { final boolean isAppForeground = mActivityManager.getPackageImportance(pkg) == IMPORTANCE_FOREGROUND; @@ -2867,19 +2903,56 @@ public class NotificationManagerService extends SystemService { } @Override - public void removeAutoGroupSummary(int userId, String pkg) { + public void removeAutoGroupSummary(int userId, String pkg, String groupKey) { synchronized (mNotificationLock) { - clearAutogroupSummaryLocked(userId, pkg); + clearAutogroupSummaryLocked(userId, pkg, groupKey); } } @Override - public void updateAutogroupSummary(int userId, String pkg, + public void updateAutogroupSummary(int userId, String pkg, String groupKey, NotificationAttributes summaryAttr) { boolean isAppForeground = pkg != null && mActivityManager.getPackageImportance(pkg) == IMPORTANCE_FOREGROUND; synchronized (mNotificationLock) { - updateAutobundledSummaryLocked(userId, pkg, summaryAttr, isAppForeground); + updateAutobundledSummaryLocked(userId, pkg, groupKey, summaryAttr, + isAppForeground); + } + } + + @Override + public void removeAppProvidedSummary(String key) { + synchronized (mNotificationLock) { + removeAppSummaryLocked(key); + } + } + + @Override + public void removeNotificationFromCanceledGroup(int userId, String pkg, + String groupKey, int cancelReason) { + synchronized (mNotificationLock) { + final int mustNotHaveFlags; + if (lifetimeExtensionRefactor()) { + // Also don't allow client apps to cancel lifetime extended notifs. + mustNotHaveFlags = (FLAG_FOREGROUND_SERVICE | FLAG_USER_INITIATED_JOB + | FLAG_LIFETIME_EXTENDED_BY_DIRECT_REPLY); + } else { + mustNotHaveFlags = (FLAG_FOREGROUND_SERVICE | FLAG_USER_INITIATED_JOB); + } + FlagChecker childrenFlagChecker = (flags) -> { + if (cancelReason == REASON_CANCEL + || cancelReason == REASON_CLICK + || cancelReason == REASON_CANCEL_ALL) { + if ((flags & FLAG_BUBBLE) != 0) { + return false; + } + } + return (flags & mustNotHaveFlags) == 0; + }; + cancelGroupChildrenLocked(userId, pkg, Binder.getCallingUid(), + Binder.getCallingPid(), null, + false, childrenFlagChecker, groupKey, + REASON_APP_CANCEL, SystemClock.elapsedRealtime()); } } }); @@ -3107,6 +3180,18 @@ public class NotificationManagerService extends SystemService { modifiedChannel, NOTIFICATION_CHANNEL_OR_GROUP_UPDATED); } + if (notificationForceGrouping()) { + final NotificationChannel updatedChannel = mPreferencesHelper.getNotificationChannel( + pkg, uid, channel.getId(), false); + mHandler.postDelayed(() -> { + synchronized (mNotificationLock) { + mGroupHelper.onChannelUpdated( + UserHandle.getUserHandleForUid(uid).getIdentifier(), pkg, + updatedChannel, mNotificationList); + } + }, DELAY_FORCE_REGROUP_TIME); + } + handleSavePolicyFile(); } @@ -6652,18 +6737,33 @@ public class NotificationManagerService extends SystemService { } } + @SuppressWarnings("GuardedBy") @GuardedBy("mNotificationLock") - void addAutogroupKeyLocked(String key, boolean requestSort) { + void addAutogroupKeyLocked(String key, String groupName, boolean requestSort) { NotificationRecord r = mNotificationsByKey.get(key); if (r == null) { return; } if (r.getSbn().getOverrideGroupKey() == null) { - addAutoGroupAdjustment(r, GroupHelper.AUTOGROUP_KEY); + if (notificationForceGrouping()) { + if (r.getSbn().isAppGroup()) { + // Override group key early for forced grouped notifications + r.setOverrideGroupKey(groupName); + } + } + + addAutoGroupAdjustment(r, groupName); EventLogTags.writeNotificationAutogrouped(key); + if (!android.app.Flags.checkAutogroupBeforePost() || requestSort) { mRankingHandler.requestSort(); } + + if (notificationForceGrouping()) { + if (r.getSbn().isAppGroup()) { + mListeners.notifyPostedLocked(r, r); + } + } } } @@ -6692,27 +6792,57 @@ public class NotificationManagerService extends SystemService { // Clears the 'fake' auto-group summary. @VisibleForTesting @GuardedBy("mNotificationLock") - void clearAutogroupSummaryLocked(int userId, String pkg) { + void clearAutogroupSummaryLocked(int userId, String pkg, String groupKey) { + final String autbundledGroupKey; + if (notificationForceGrouping()) { + autbundledGroupKey = groupKey; + } else { + autbundledGroupKey = pkg; + } ArrayMap<String, String> summaries = mAutobundledSummaries.get(userId); - if (summaries != null && summaries.containsKey(pkg)) { - final NotificationRecord removed = findNotificationByKeyLocked(summaries.remove(pkg)); + if (summaries != null && summaries.containsKey(autbundledGroupKey)) { + final NotificationRecord removed = findNotificationByKeyLocked( + summaries.remove(autbundledGroupKey)); if (removed != null) { final StatusBarNotification sbn = removed.getSbn(); cancelNotification(MY_UID, MY_PID, pkg, sbn.getTag(), sbn.getId(), 0, 0, false, - userId, REASON_UNAUTOBUNDLED, null); + userId, REASON_UNAUTOBUNDLED, null); } } } @GuardedBy("mNotificationLock") - private boolean hasAutoGroupSummaryLocked(StatusBarNotification sbn) { - ArrayMap<String, String> summaries = mAutobundledSummaries.get(sbn.getUserId()); - return summaries != null && summaries.containsKey(sbn.getPackageName()); + void removeAppSummaryLocked(String key) { + NotificationRecord r = mNotificationsByKey.get(key); + if (r == null) { + return; + } + if (convertSummaryToNotificationLocked(key)) { + r.isCanceled = true; + cancelNotification(Binder.getCallingUid(), + Binder.getCallingPid(), r.getSbn().getPackageName(), + r.getSbn().getTag(), r.getSbn().getId(), 0, 0, + false, r.getUserId(), + NotificationListenerService.REASON_GROUP_OPTIMIZATION, null); + } + } + + @GuardedBy("mNotificationLock") + private boolean hasAutoGroupSummaryLocked(NotificationRecord record) { + final String autbundledGroupKey; + if (notificationForceGrouping()) { + autbundledGroupKey = GroupHelper.getFullAggregateGroupKey(record); + } else { + autbundledGroupKey = record.getSbn().getPackageName(); + } + + ArrayMap<String, String> summaries = mAutobundledSummaries.get(record.getUserId()); + return summaries != null && summaries.containsKey(autbundledGroupKey); } // Creates a 'fake' summary for a package that has exceeded the solo-notification limit. NotificationRecord createAutoGroupSummary(int userId, String pkg, String triggeringKey, - int flagsToSet, Icon summaryIcon, int summaryIconColor, int summaryVisibilty) { + String groupKey, int summaryId, NotificationAttributes summaryAttr) { NotificationRecord summaryRecord = null; boolean isPermissionFixed = mPermissionHelper.isPermissionFixed(pkg, userId); synchronized (mNotificationLock) { @@ -6730,24 +6860,35 @@ public class NotificationManagerService extends SystemService { summaries = new ArrayMap<>(); } mAutobundledSummaries.put(userId, summaries); - if (!summaries.containsKey(pkg)) { + + boolean hasSummary; + String channelId; + if (notificationForceGrouping()) { + hasSummary = summaries.containsKey(groupKey); + channelId = summaryAttr.channelId; + } else { + hasSummary = summaries.containsKey(pkg); + channelId = notificationRecord.getChannel().getId(); + } + + if (!hasSummary) { // Add summary final ApplicationInfo appInfo = adjustedSbn.getNotification().extras.getParcelable( EXTRA_BUILDER_APPLICATION_INFO, ApplicationInfo.class); final Bundle extras = new Bundle(); extras.putParcelable(EXTRA_BUILDER_APPLICATION_INFO, appInfo); - final String channelId = notificationRecord.getChannel().getId(); + final Notification summaryNotification = new Notification.Builder(getContext(), channelId) - .setSmallIcon(summaryIcon) + .setSmallIcon(summaryAttr.icon) .setGroupSummary(true) - .setGroupAlertBehavior(Notification.GROUP_ALERT_CHILDREN) - .setGroup(GroupHelper.AUTOGROUP_KEY) - .setFlag(flagsToSet, true) - .setColor(summaryIconColor) - .setVisibility(summaryVisibilty) + .setGroupAlertBehavior(summaryAttr.groupAlertBehavior) + .setGroup(groupKey) + .setFlag(summaryAttr.flags, true) + .setColor(summaryAttr.iconColor) + .setVisibility(summaryAttr.visibility) .build(); summaryNotification.extras.putAll(extras); Intent appIntent = getContext().getPackageManager().getLaunchIntentForPackage(pkg); @@ -6759,17 +6900,22 @@ public class NotificationManagerService extends SystemService { final StatusBarNotification summarySbn = new StatusBarNotification(adjustedSbn.getPackageName(), adjustedSbn.getOpPkg(), - Integer.MAX_VALUE, - GroupHelper.AUTOGROUP_KEY, adjustedSbn.getUid(), + summaryId, + groupKey, adjustedSbn.getUid(), adjustedSbn.getInitialPid(), summaryNotification, - adjustedSbn.getUser(), GroupHelper.AUTOGROUP_KEY, + adjustedSbn.getUser(), groupKey, System.currentTimeMillis()); summaryRecord = new NotificationRecord(getContext(), summarySbn, notificationRecord.getChannel()); summaryRecord.setImportanceFixed(isPermissionFixed); summaryRecord.setIsAppImportanceLocked( notificationRecord.getIsAppImportanceLocked()); - summaries.put(pkg, summarySbn.getKey()); + + if (notificationForceGrouping()) { + summaries.put(summarySbn.getGroupKey(), summarySbn.getKey()); + } else { + summaries.put(pkg, summarySbn.getKey()); + } } if (summaryRecord != null && checkDisqualifyingFeatures(userId, uid, summaryRecord.getSbn().getId(), summaryRecord.getSbn().getTag(), summaryRecord, @@ -6780,6 +6926,27 @@ public class NotificationManagerService extends SystemService { return null; } + @GuardedBy("mNotificationLock") + boolean convertSummaryToNotificationLocked(final String key) { + NotificationRecord r = mNotificationsByKey.get(key); + if (r == null) { + return false; + } + // Convert summary to regular notification + if (r.getSbn().isAppGroup() && r.getNotification().isGroupSummary()) { + String oldGroupKey = r.getGroupKey(); + NotificationRecord groupSummary = mSummaryByGroupKey.get(oldGroupKey); + if (groupSummary != null && groupSummary.getKey().equals(r.getKey())) { + mSummaryByGroupKey.remove(oldGroupKey); + } + // Clear summary flag + StatusBarNotification sbn = r.getSbn(); + sbn.getNotification().flags = (r.mOriginalFlags & ~FLAG_GROUP_SUMMARY); + return true; + } + return false; + } + // Gets packages that have requested notification permission, and whether that has been // allowed/denied, for all users on the device. // Returns a single map containing that info keyed by (uid, package name) for all users. @@ -7794,6 +7961,10 @@ public class NotificationManagerService extends SystemService { notification.setTimeoutAfter(NOTIFICATION_TTL); } } + + if (notificationForceGrouping()) { + notification.fixSilentGroup(); + } } /** @@ -8347,8 +8518,15 @@ public class NotificationManagerService extends SystemService { * They will be recreated as needed when the group children are unsnoozed */ private boolean isSnoozable(NotificationRecord record) { - return !(record.getNotification().isGroupSummary() && GroupHelper.AUTOGROUP_KEY.equals( - record.getNotification().getGroup())); + if (notificationForceGrouping()) { + boolean isExemptedSummary = + ((record.getFlags() & FLAG_AUTOGROUP_SUMMARY) != 0 + || GroupHelper.isAggregatedGroup(record)); + return !(record.getNotification().isGroupSummary() && isExemptedSummary); + } else { + return !(record.getNotification().isGroupSummary() + && GroupHelper.AUTOGROUP_KEY.equals(record.getNotification().getGroup())); + } } } @@ -8471,9 +8649,12 @@ public class NotificationManagerService extends SystemService { cancelNotificationLocked( r, mSendDelete, mReason, mRank, mCount, wasPosted, listenerName, mCancellationElapsedTimeMs); - cancelGroupChildrenLocked(r, mCallingUid, mCallingPid, listenerName, - mSendDelete, childrenFlagChecker, mReason, - mCancellationElapsedTimeMs); + if (r.getNotification().isGroupSummary()) { + cancelGroupChildrenLocked(mUserId, mPkg, mCallingUid, mCallingPid, + listenerName, mSendDelete, childrenFlagChecker, + r.getNotification().getGroup(), mReason, + mCancellationElapsedTimeMs); + } mAttentionHelper.updateLightsLocked(); if (mShortcutHelper != null) { mShortcutHelper.maybeListenForShortcutChangesForBubbles(r, @@ -8481,6 +8662,14 @@ public class NotificationManagerService extends SystemService { mHandler); } } else { + if (notificationForceGrouping()) { + // No notification was found => maybe it was canceled by forced grouping + if (Flags.notificationForceGroupSingletons()) { + mGroupHelper.maybeCancelGroupChildrenForCanceledSummary(mPkg, mTag, + mId, mUserId, mReason); + } + } + // No notification was found, assume that it is snoozed and cancel it. if (mReason != REASON_SNOOZED) { final boolean wasSnoozed = mSnoozeHelper.cancel(mUserId, mPkg, mTag, mId); @@ -8708,7 +8897,7 @@ public class NotificationManagerService extends SystemService { boolean appBanned = !areNotificationsEnabledForPackageInt(pkg, uid); boolean isCallNotification = isCallNotification(pkg, uid); boolean posted = false; - synchronized (mNotificationLock) { + synchronized (NotificationManagerService.this.mNotificationLock) { try { NotificationRecord r = findNotificationByListLocked(mEnqueuedNotifications, key); @@ -8731,6 +8920,29 @@ public class NotificationManagerService extends SystemService { return false; } + if (notificationForceGrouping()) { + if (Flags.notificationForceGroupSingletons()) { + // Check if this is an updated for a summary for an aggregated sparse + // group and remove it because that summary has been canceled + if (mGroupHelper.isUpdateForCanceledSummary(r)) { + if (DBG) { + Log.w(TAG, + "Suppressing notification because summary was canceled: " + + r); + } + + String groupKey = r.getGroupKey(); + NotificationRecord groupSummary = mSummaryByGroupKey.get(groupKey); + if (groupSummary != null && groupSummary.getKey() + .equals(r.getKey())) { + mSummaryByGroupKey.remove(groupKey); + } + return false; + } + } + } + + final boolean isPackageSuspended = isPackagePausedOrSuspended(r.getSbn().getPackageName(), r.getUid()); r.setHidden(isPackageSuspended); @@ -8788,18 +9000,38 @@ public class NotificationManagerService extends SystemService { if (notification.getSmallIcon() != null && !isCritical(r)) { StatusBarNotification oldSbn = (old != null) ? old.getSbn() : null; if (oldSbn == null || !Objects.equals(oldSbn.getGroup(), n.getGroup()) + || !Objects.equals(oldSbn.getNotification().getGroup(), + n.getNotification().getGroup()) || oldSbn.getNotification().flags != n.getNotification().flags) { synchronized (mNotificationLock) { - boolean willBeAutogrouped = mGroupHelper.onNotificationPosted(n, - hasAutoGroupSummaryLocked(n)); + final String autogroupName = + notificationForceGrouping() ? + GroupHelper.getFullAggregateGroupKey(r) + : GroupHelper.AUTOGROUP_KEY; + boolean willBeAutogrouped = + mGroupHelper.onNotificationPosted(r, + hasAutoGroupSummaryLocked(r)); if (willBeAutogrouped) { // The newly posted notification will be autogrouped, but // was not autogrouped onPost, to avoid an unnecessary sort. // We add the autogroup key to the notification without a // sort here, and it'll be sorted below with extractSignals. - addAutogroupKeyLocked(key, /* requestSort= */false); + addAutogroupKeyLocked(key, + autogroupName, /*requestSort=*/false); + } else { + if (notificationForceGrouping()) { + // Wait 3 seconds so that the app has a chance to post + // a group summary or children (complete a group) + mHandler.postDelayed(() -> { + synchronized (mNotificationLock) { + mGroupHelper.onNotificationPostedWithDelay( + r, mNotificationList, mSummaryByGroupKey); + } + }, r.getKey(), DELAY_FORCE_REGROUP_TIME); + } } + } } } @@ -8835,9 +9067,18 @@ public class NotificationManagerService extends SystemService { mHandler.post(() -> { synchronized (mNotificationLock) { mGroupHelper.onNotificationPosted( - n, hasAutoGroupSummaryLocked(n)); + r, hasAutoGroupSummaryLocked(r)); } }); + + if (notificationForceGrouping()) { + mHandler.postDelayed(() -> { + synchronized (mNotificationLock) { + mGroupHelper.onNotificationPostedWithDelay(r, + mNotificationList, mSummaryByGroupKey); + } + }, r.getKey(), DELAY_FORCE_REGROUP_TIME); + } } } } @@ -8846,12 +9087,20 @@ public class NotificationManagerService extends SystemService { if (old != null && !old.isCanceled) { mListeners.notifyRemovedLocked(r, REASON_ERROR, r.getStats()); - mHandler.post(new Runnable() { - @Override - public void run() { - mGroupHelper.onNotificationRemoved(n); - } - }); + if (notificationForceGrouping()) { + mHandler.post(() -> { + synchronized (mNotificationLock) { + mGroupHelper.onNotificationRemoved(r, mNotificationList); + } + }); + } else { + mHandler.post(new Runnable() { + @Override + public void run() { + mGroupHelper.onNotificationRemoved(r); + } + }); + } } if (callstyleCallbackApi()) { @@ -9082,6 +9331,18 @@ public class NotificationManagerService extends SystemService { n.flags &= ~Notification.FLAG_GROUP_SUMMARY; } + if (notificationForceGrouping()) { + if (old != null) { + // If this is an update to a summary that was forced grouped => remove summary flag + boolean wasSummary = (old.mOriginalFlags & FLAG_GROUP_SUMMARY) != 0; + boolean wasForcedGrouped = (old.getFlags() & FLAG_GROUP_SUMMARY) == 0 + && old.getSbn().getOverrideGroupKey() != null; + if (n.isGroupSummary() && wasSummary && wasForcedGrouped) { + n.flags &= ~FLAG_GROUP_SUMMARY; + } + } + } + String group = sbn.getGroupKey(); boolean isSummary = n.isGroupSummary(); @@ -9114,8 +9375,10 @@ public class NotificationManagerService extends SystemService { // notification was a summary and the new one isn't, or when the old // notification was a summary and its group key changed. if (oldIsSummary && (!isSummary || !oldGroup.equals(group))) { - cancelGroupChildrenLocked(old, callingUid, callingPid, null, false /* sendDelete */, - childrenFlagChecker, REASON_APP_CANCEL, SystemClock.elapsedRealtime()); + cancelGroupChildrenLocked(old.getUserId(), old.getSbn().getPackageName(), callingUid, + callingPid, null, false /* sendDelete */, childrenFlagChecker, + old.getNotification().getGroup(), REASON_APP_CANCEL, + SystemClock.elapsedRealtime()); } } @@ -9777,12 +10040,21 @@ public class NotificationManagerService extends SystemService { r.isCanceled = true; } mListeners.notifyRemovedLocked(r, reason, r.getStats()); - mHandler.post(new Runnable() { - @Override - public void run() { - mGroupHelper.onNotificationRemoved(r.getSbn()); - } - }); + if (notificationForceGrouping()) { + mHandler.removeCallbacksAndMessages(r.getKey()); + mHandler.post(() -> { + synchronized (NotificationManagerService.this.mNotificationLock) { + mGroupHelper.onNotificationRemoved(r, mNotificationList); + } + }); + } else { + mHandler.post(new Runnable() { + @Override + public void run() { + mGroupHelper.onNotificationRemoved(r); + } + }); + } if (callstyleCallbackApi()) { notifyCallNotificationEventListenerOnRemoved(r); } @@ -9815,9 +10087,15 @@ public class NotificationManagerService extends SystemService { } final ArrayMap<String, String> summaries = mAutobundledSummaries.get(r.getSbn().getUserId()); + final String autbundledGroupKey; + if (notificationForceGrouping()) { + autbundledGroupKey = groupKey; + } else { + autbundledGroupKey = r.getSbn().getPackageName(); + } if (summaries != null && r.getSbn().getKey().equals( - summaries.get(r.getSbn().getPackageName()))) { - summaries.remove(r.getSbn().getPackageName()); + summaries.get(autbundledGroupKey))) { + summaries.remove(autbundledGroupKey); } // Save it for users of getHistoricalNotifications(), unless the whole channel was deleted @@ -10081,6 +10359,15 @@ public class NotificationManagerService extends SystemService { public boolean apply(int flags); } + private static boolean isChildOfGroup(final NotificationRecord childRecord, int userId, + String pkg, String groupKey) { + return (childRecord.getUser().getIdentifier() == userId + && childRecord.getSbn().getPackageName().equals(pkg) + && childRecord.getSbn().isGroup() + && !childRecord.getNotification().isGroupSummary() + && TextUtils.equals(groupKey, childRecord.getNotification().getGroup())); + } + @GuardedBy("mNotificationLock") private void cancelAllNotificationsByListLocked(ArrayList<NotificationRecord> notificationList, @Nullable String pkg, boolean nullPkgIndicatesUserSwitch, @Nullable String channelId, @@ -10238,43 +10525,34 @@ public class NotificationManagerService extends SystemService { // Warning: The caller is responsible for invoking updateLightsLocked(). @GuardedBy("mNotificationLock") - private void cancelGroupChildrenLocked(NotificationRecord r, int callingUid, int callingPid, - String listenerName, boolean sendDelete, FlagChecker flagChecker, int reason, - @ElapsedRealtimeLong long cancellationElapsedTimeMs) { - Notification n = r.getNotification(); - if (!n.isGroupSummary()) { - return; - } - - String pkg = r.getSbn().getPackageName(); - + private void cancelGroupChildrenLocked(int userId, String pkg, int callingUid, int callingPid, + String listenerName, boolean sendDelete, FlagChecker flagChecker, String groupKey, + int reason, @ElapsedRealtimeLong long cancellationElapsedTimeMs) { if (pkg == null) { - if (DBG) Slog.e(TAG, "No package for group summary: " + r.getKey()); + if (DBG) Slog.e(TAG, "No package for group summary"); return; } - cancelGroupChildrenByListLocked(mNotificationList, r, callingUid, callingPid, listenerName, - sendDelete, true, flagChecker, reason, cancellationElapsedTimeMs); - cancelGroupChildrenByListLocked(mEnqueuedNotifications, r, callingUid, callingPid, - listenerName, sendDelete, false, flagChecker, reason, cancellationElapsedTimeMs); + cancelGroupChildrenByListLocked(mNotificationList, userId, pkg, callingUid, callingPid, + listenerName, sendDelete, true, flagChecker, groupKey, + reason, cancellationElapsedTimeMs); + cancelGroupChildrenByListLocked(mEnqueuedNotifications, userId, pkg, callingUid, callingPid, + listenerName, sendDelete, false, flagChecker, groupKey, + reason, cancellationElapsedTimeMs); } @GuardedBy("mNotificationLock") private void cancelGroupChildrenByListLocked(ArrayList<NotificationRecord> notificationList, - NotificationRecord parentNotification, int callingUid, int callingPid, + int userId, String pkg, int callingUid, int callingPid, String listenerName, boolean sendDelete, boolean wasPosted, FlagChecker flagChecker, - int reason, @ElapsedRealtimeLong long cancellationElapsedTimeMs) { - final String pkg = parentNotification.getSbn().getPackageName(); - final int userId = parentNotification.getUserId(); + String groupKey, int reason, @ElapsedRealtimeLong long cancellationElapsedTimeMs) { final int childReason = REASON_GROUP_SUMMARY_CANCELED; for (int i = notificationList.size() - 1; i >= 0; i--) { final NotificationRecord childR = notificationList.get(i); final StatusBarNotification childSbn = childR.getSbn(); - if ((childSbn.isGroup() && !childSbn.getNotification().isGroupSummary()) && - childR.getGroupKey().equals(parentNotification.getGroupKey()) - && (flagChecker == null || flagChecker.apply(childR.getFlags())) - && (!childR.getChannel().isImportantConversation() - || reason != REASON_CANCEL)) { + if (isChildOfGroup(childR, userId, pkg, groupKey) + && (flagChecker == null || flagChecker.apply(childR.getFlags())) + && (!childR.getChannel().isImportantConversation() || reason != REASON_CANCEL)) { EventLogTags.writeNotificationCancel(callingUid, callingPid, pkg, childSbn.getId(), childSbn.getTag(), userId, 0, 0, childReason, listenerName); notificationList.remove(i); @@ -10354,6 +10632,7 @@ public class NotificationManagerService extends SystemService { != null) { return r; } + return null; } diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java index 0d4bdf663679..bd009010a313 100644 --- a/services/core/java/com/android/server/notification/NotificationRecord.java +++ b/services/core/java/com/android/server/notification/NotificationRecord.java @@ -449,9 +449,16 @@ public final class NotificationRecord { mRankingTimeMs = calculateRankingTimeMs(previous.getRankingTimeMs()); mCreationTimeMs = previous.mCreationTimeMs; mVisibleSinceMs = previous.mVisibleSinceMs; - if (previous.getSbn().getOverrideGroupKey() != null && !getSbn().isAppGroup()) { - getSbn().setOverrideGroupKey(previous.getSbn().getOverrideGroupKey()); + if (android.service.notification.Flags.notificationForceGrouping()) { + if (previous.getSbn().getOverrideGroupKey() != null) { + getSbn().setOverrideGroupKey(previous.getSbn().getOverrideGroupKey()); + } + } else { + if (previous.getSbn().getOverrideGroupKey() != null && !getSbn().isAppGroup()) { + getSbn().setOverrideGroupKey(previous.getSbn().getOverrideGroupKey()); + } } + // Don't copy importance information or mGlobalSortKey, recompute them. } diff --git a/services/core/java/com/android/server/notification/flags.aconfig b/services/core/java/com/android/server/notification/flags.aconfig index bf6b6521c19a..7265cff19077 100644 --- a/services/core/java/com/android/server/notification/flags.aconfig +++ b/services/core/java/com/android/server/notification/flags.aconfig @@ -141,4 +141,11 @@ flag { namespace: "systemui" description: "This flag does not allow notifications older than 2 weeks old to be posted" bug: "339833083" -}
\ No newline at end of file +} + +flag { + name: "notification_force_group_singletons" + namespace: "systemui" + description: "This flag enables forced auto-grouping singleton groups" + bug: "336488844" +} diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 2e63cdbf1823..c0b8034b9a56 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -186,7 +186,6 @@ import com.android.internal.pm.pkg.component.ParsedInstrumentation; import com.android.internal.pm.pkg.component.ParsedMainComponent; import com.android.internal.pm.pkg.parsing.ParsingPackageUtils; import com.android.internal.telephony.CarrierAppUtils; -import com.android.internal.telephony.TelephonyPermissions; import com.android.internal.util.ArrayUtils; import com.android.internal.util.CollectionUtils; import com.android.internal.util.ConcurrentUtils; @@ -4493,7 +4492,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService void setSystemAppHiddenUntilInstalled(@NonNull Computer snapshot, String packageName, boolean hidden) { final int callingUid = Binder.getCallingUid(); - final boolean calledFromSystemOrPhone = TelephonyPermissions.isSystemOrPhone(callingUid); + final boolean calledFromSystemOrPhone = callingUid == Process.PHONE_UID + || callingUid == Process.SYSTEM_UID; if (!calledFromSystemOrPhone) { mContext.enforceCallingOrSelfPermission(Manifest.permission.SUSPEND_APPS, "setSystemAppHiddenUntilInstalled"); diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java index 924b36cef79a..ff8abf879487 100644 --- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java +++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java @@ -92,7 +92,6 @@ import android.util.proto.ProtoOutputStream; import com.android.internal.content.InstallLocationUtils; import com.android.internal.content.NativeLibraryHelper; -import com.android.internal.telephony.TelephonyPermissions; import com.android.internal.util.ArrayUtils; import com.android.internal.util.FastPrintWriter; import com.android.internal.util.HexDump; @@ -357,7 +356,7 @@ public class PackageManagerServiceUtils { * If not, throws a {@link SecurityException}. */ public static void enforceSystemOrPhoneCaller(String methodName, int callingUid) { - if (!TelephonyPermissions.isSystemOrPhone(callingUid)) { + if (callingUid != Process.PHONE_UID && callingUid != Process.SYSTEM_UID) { throw new SecurityException( "Cannot call " + methodName + " from UID " + callingUid); } diff --git a/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java b/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java index c85ceac9ea55..4f28e023da92 100644 --- a/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java +++ b/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java @@ -154,12 +154,22 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve } } + Slog.i(TAG, "Checking available remediations for health check failure." + + " failedPackage: " + + (failedPackage == null ? null : failedPackage.getPackageName()) + + " failureReason: " + failureReason + + " available impact: " + impact); return impact; } @Override public boolean execute(@Nullable VersionedPackage failedPackage, @FailureReasons int rollbackReason, int mitigationCount) { + Slog.i(TAG, "Executing remediation." + + " failedPackage: " + + (failedPackage == null ? null : failedPackage.getPackageName()) + + " rollbackReason: " + rollbackReason + + " mitigationCount: " + mitigationCount); if (Flags.recoverabilityDetection()) { List<RollbackInfo> availableRollbacks = getAvailableRollbacks(); if (rollbackReason == PackageWatchdog.FAILURE_REASON_NATIVE_CRASH) { @@ -503,6 +513,10 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve @FailureReasons int rollbackReason) { assertInWorkerThread(); + Slog.i(TAG, "Rolling back package. RollbackId: " + rollback.getRollbackId() + + " failedPackage: " + + (failedPackage == null ? null : failedPackage.getPackageName()) + + " rollbackReason: " + rollbackReason); final RollbackManager rollbackManager = mContext.getSystemService(RollbackManager.class); int reasonToLog = WatchdogRollbackLogger.mapFailureReasonToMetric(rollbackReason); final String failedPackageToLog; diff --git a/services/core/java/com/android/server/vibrator/VibrationSettings.java b/services/core/java/com/android/server/vibrator/VibrationSettings.java index bc29b377f540..02061555a37f 100644 --- a/services/core/java/com/android/server/vibrator/VibrationSettings.java +++ b/services/core/java/com/android/server/vibrator/VibrationSettings.java @@ -557,8 +557,8 @@ final class VibrationSettings { mVibrateInputDevices = loadSystemSetting(Settings.System.VIBRATE_INPUT_DEVICES, 0, userHandle) > 0; mVibrateOn = loadSystemSetting(Settings.System.VIBRATE_ON, 1, userHandle) > 0; - mKeyboardVibrationOn = loadSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED, - mVibrationConfig.isDefaultKeyboardVibrationEnabled() ? 1 : 0, userHandle) > 0; + mKeyboardVibrationOn = loadSystemSetting( + Settings.System.KEYBOARD_VIBRATION_ENABLED, 1, userHandle) > 0; int alarmIntensity = toIntensity( loadSystemSetting(Settings.System.ALARM_VIBRATION_INTENSITY, -1, userHandle), @@ -645,12 +645,10 @@ final class VibrationSettings { .append("), "); } vibrationIntensitiesString.append('}'); - String keyboardVibrationOnString = mKeyboardVibrationOn - + " (default: " + mVibrationConfig.isDefaultKeyboardVibrationEnabled() + ")"; return "VibrationSettings{" + "mVibratorConfig=" + mVibrationConfig + ", mVibrateOn=" + mVibrateOn - + ", mKeyboardVibrationOn=" + keyboardVibrationOnString + + ", mKeyboardVibrationOn=" + mKeyboardVibrationOn + ", mVibrateInputDevices=" + mVibrateInputDevices + ", mBatterySaverMode=" + mBatterySaverMode + ", mRingerMode=" + ringerModeToString(mRingerMode) @@ -667,8 +665,7 @@ final class VibrationSettings { pw.println("VibrationSettings:"); pw.increaseIndent(); pw.println("vibrateOn = " + mVibrateOn); - pw.println("keyboardVibrationOn = " + mKeyboardVibrationOn - + ", default: " + mVibrationConfig.isDefaultKeyboardVibrationEnabled()); + pw.println("keyboardVibrationOn = " + mKeyboardVibrationOn); pw.println("vibrateInputDevices = " + mVibrateInputDevices); pw.println("batterySaverMode = " + mBatterySaverMode); pw.println("ringerMode = " + ringerModeToString(mRingerMode)); diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 8be338049435..efe07dc36646 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -2925,14 +2925,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A /** Makes starting window always fill the associated task. */ private void attachStartingSurfaceToAssociatedTask() { - if (mSyncState == SYNC_STATE_NONE && isEmbedded()) { - // Collect this activity since it's starting window will reparent to task. To ensure - // any starting window's transaction will occur in order. - mTransitionController.collect(this); - } + mTransitionController.collect(mStartingWindow); // Associate the configuration of starting window with the task. overrideConfigurationPropagation(mStartingWindow, mStartingData.mAssociatedTask); - getSyncTransaction().reparent(mStartingWindow.mSurfaceControl, + mStartingWindow.getSyncTransaction().reparent(mStartingWindow.mSurfaceControl, mStartingData.mAssociatedTask.mSurfaceControl); } diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java index d65a106a1079..00b6453b2484 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java @@ -2737,9 +2737,9 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { final ActivityOptions activityOptions = options != null ? options.getOptions(this) : null; - boolean moveHomeTaskForward = true; synchronized (mService.mGlobalLock) { final boolean isCallerRecents = mRecentTasks.isCallerRecents(callingUid); + boolean moveHomeTaskForward = isCallerRecents; int activityType = ACTIVITY_TYPE_UNDEFINED; if (activityOptions != null) { activityType = activityOptions.getLaunchActivityType(); diff --git a/services/core/java/com/android/server/wm/BackNavigationController.java b/services/core/java/com/android/server/wm/BackNavigationController.java index 14e256f7a815..8421765060ce 100644 --- a/services/core/java/com/android/server/wm/BackNavigationController.java +++ b/services/core/java/com/android/server/wm/BackNavigationController.java @@ -210,6 +210,9 @@ class BackNavigationController { + "topRunningActivity=%s, callbackInfo=%s, currentFocus=%s", currentTask, currentActivity, callbackInfo, window); + // Clear the pointer down outside focus if any. + mWindowManagerService.clearPointerDownOutsideFocusRunnable(); + // If we don't need to set up the animation, we return early. This is the case when // - We have an application callback. // - We don't have any ActivityRecord or Task to animate. @@ -1361,6 +1364,8 @@ class BackNavigationController { synchronized (openTask.mWmService.mGlobalLock) { if (mRequestedStartingSurfaceId != INVALID_TASK_ID) { mStartingSurface = sc; + } else { + sc.release(); } } } @@ -1599,12 +1604,20 @@ class BackNavigationController { @NonNull ActivityRecord[] visibleOpenActivities) { boolean needsLaunchBehind = true; if (isSupportWindowlessSurface() && mShowWindowlessSurface && !mIsLaunchBehind) { + boolean activitiesAreDrawn = false; + for (int i = visibleOpenActivities.length - 1; i >= 0; --i) { + // If the activity hasn't stopped, it's window should remain drawn. + activitiesAreDrawn |= visibleOpenActivities[i].firstWindowDrawn; + } final WindowContainer mainOpen = openAnimationAdaptor.mAdaptors[0].mTarget; final TaskSnapshot snapshot = getSnapshot(mainOpen, visibleOpenActivities); - openAnimationAdaptor.createStartingSurface(snapshot); - // set LaunchBehind if we are creating splash screen surface. - needsLaunchBehind = snapshot == null - && openAnimationAdaptor.mRequestedStartingSurfaceId != INVALID_TASK_ID; + // Don't create starting surface if previous activities haven't stopped or + // the snapshot does not exist. + if (snapshot != null || !activitiesAreDrawn) { + openAnimationAdaptor.createStartingSurface(snapshot); + } + // Only use LaunchBehind if snapshot does not exist. + needsLaunchBehind = snapshot == null; } if (needsLaunchBehind) { for (int i = visibleOpenActivities.length - 1; i >= 0; --i) { diff --git a/services/core/java/com/android/server/wm/UnknownAppVisibilityController.java b/services/core/java/com/android/server/wm/UnknownAppVisibilityController.java index c0713966d8de..3947d02c86c9 100644 --- a/services/core/java/com/android/server/wm/UnknownAppVisibilityController.java +++ b/services/core/java/com/android/server/wm/UnknownAppVisibilityController.java @@ -153,6 +153,10 @@ class UnknownAppVisibilityController { mUnknownApps.put(activity, UNKNOWN_STATE_WAITING_VISIBILITY_UPDATE); mDisplayContent.notifyKeyguardFlagsChanged(); notifyVisibilitiesUpdated(); + } else if (state == UNKNOWN_STATE_WAITING_RESUME + && !activity.isState(ActivityRecord.State.RESUMED)) { + Slog.d(TAG, "UAVC: skip waiting for non-resumed relayouted " + activity); + mUnknownApps.remove(activity); } } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 0c1ec5042c19..9a5f84cf7449 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -732,6 +732,13 @@ public class WindowManagerService extends IWindowManager.Stub final DisplayWindowListenerController mDisplayNotificationController; final TaskSystemBarsListenerController mTaskSystemBarsListenerController; + /** Amount of time (in milliseconds) to delay the pointer down outside focus handling */ + private static final int POINTER_DOWN_OUTSIDE_FOCUS_TIMEOUT_MS = 50; + + /** A runnable to handle pointer down outside focus event. */ + @Nullable + private Runnable mPointerDownOutsideFocusRunnable; + boolean mDisplayFrozen = false; long mDisplayFreezeTime = 0; int mLastDisplayFreezeDuration = 0; @@ -5896,7 +5903,8 @@ public class WindowManagerService extends IWindowManager.Stub case ON_POINTER_DOWN_OUTSIDE_FOCUS: { synchronized (mGlobalLock) { final IBinder touchedToken = (IBinder) msg.obj; - onPointerDownOutsideFocusLocked(getInputTargetFromToken(touchedToken)); + onPointerDownOutsideFocusLocked(getInputTargetFromToken(touchedToken), + true /* fromHandler */); } break; } @@ -7922,7 +7930,8 @@ public class WindowManagerService extends IWindowManager.Stub synchronized (mGlobalLock) { final InputTarget inputTarget = WindowManagerService.this.getInputTargetFromWindowTokenLocked(windowToken); - WindowManagerService.this.onPointerDownOutsideFocusLocked(inputTarget); + WindowManagerService.this.onPointerDownOutsideFocusLocked(inputTarget, + false /* fromHandler */); } } @@ -8997,39 +9006,78 @@ public class WindowManagerService extends IWindowManager.Stub } } - private void onPointerDownOutsideFocusLocked(InputTarget t) { + void clearPointerDownOutsideFocusRunnable() { + if (mPointerDownOutsideFocusRunnable == null) return; + + mH.removeCallbacks(mPointerDownOutsideFocusRunnable); + mPointerDownOutsideFocusRunnable = null; + } + + private void onPointerDownOutsideFocusLocked(InputTarget t, boolean fromHandler) { if (t == null || !t.receiveFocusFromTapOutside()) { // If the window that received the input event cannot receive keys, don't move the // display it's on to the top since that window won't be able to get focus anyway. return; } - if (mRecentsAnimationController != null - && mRecentsAnimationController.getTargetAppMainWindow() == t) { - // If there is an active recents animation and touched window is the target, then ignore - // the touch. The target already handles touches using its own input monitor and we - // don't want to trigger any lifecycle changes from focusing another window. - // TODO(b/186770026): We should remove this once we support multiple resumed activities - // while in overview - return; - } + clearPointerDownOutsideFocusRunnable(); + + // For embedded activity that is showing side-by-side with another activity, delay + // handling the touch-outside event to prevent focus rapid changes back-n-forth. + // Otherwise, handle the touch-outside event directly. final WindowState w = t.getWindowState(); - if (w != null) { - final Task task = w.getTask(); - if (task != null && w.mTransitionController.isTransientHide(task)) { - // Don't disturb transient animation by accident touch. + final ActivityRecord activity = w != null ? w.getActivityRecord() : null; + if (activity != null && activity.isEmbedded() + && activity.getTaskFragment().getAdjacentTaskFragment() != null) { + mPointerDownOutsideFocusRunnable = () -> handlePointerDownOutsideFocus(t); + mH.postDelayed(mPointerDownOutsideFocusRunnable, POINTER_DOWN_OUTSIDE_FOCUS_TIMEOUT_MS); + } else if (!fromHandler) { + // Still post the runnable to handler thread in case there is already a runnable + // in execution, but still waiting to hold the wm lock. + mPointerDownOutsideFocusRunnable = () -> handlePointerDownOutsideFocus(t); + mH.post(mPointerDownOutsideFocusRunnable); + } else { + handlePointerDownOutsideFocus(t); + } + } + + private void handlePointerDownOutsideFocus(InputTarget t) { + synchronized (mGlobalLock) { + if (mPointerDownOutsideFocusRunnable != null + && mH.hasCallbacks(mPointerDownOutsideFocusRunnable)) { + // Skip if there's another pending pointer-down-outside-focus event. + return; + } + clearPointerDownOutsideFocusRunnable(); + + if (mRecentsAnimationController != null + && mRecentsAnimationController.getTargetAppMainWindow() == t) { + // If there is an active recents animation and touched window is the target, + // then ignore the touch. The target already handles touches using its own + // input monitor and we don't want to trigger any lifecycle changes from + // focusing another window. + // TODO(b/186770026): We should remove this once we support multiple resumed + // activities while in overview return; } - } - ProtoLog.i(WM_DEBUG_FOCUS_LIGHT, "onPointerDownOutsideFocusLocked called on %s", - t); - if (mFocusedInputTarget != t && mFocusedInputTarget != null) { - mFocusedInputTarget.handleTapOutsideFocusOutsideSelf(); + final WindowState w = t.getWindowState(); + if (w != null) { + final Task task = w.getTask(); + if (task != null && w.mTransitionController.isTransientHide(task)) { + // Don't disturb transient animation by accident touch. + return; + } + } + + ProtoLog.i(WM_DEBUG_FOCUS_LIGHT, "onPointerDownOutsideFocusLocked called on %s", t); + if (mFocusedInputTarget != t && mFocusedInputTarget != null) { + mFocusedInputTarget.handleTapOutsideFocusOutsideSelf(); + } + // Trigger Activity#onUserLeaveHint() if the order change of task pauses any activities. + mAtmService.mTaskSupervisor.mUserLeaving = true; + t.handleTapOutsideFocusInsideSelf(); + mAtmService.mTaskSupervisor.mUserLeaving = false; } - // Trigger Activity#onUserLeaveHint() if the order change of task pauses any activities. - mAtmService.mTaskSupervisor.mUserLeaving = true; - t.handleTapOutsideFocusInsideSelf(); - mAtmService.mTaskSupervisor.mUserLeaving = false; } @VisibleForTesting diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java index 3431154cf652..deb7098a8489 100644 --- a/services/core/java/com/android/server/wm/WindowOrganizerController.java +++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java @@ -878,15 +878,20 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub final int childWindowingMode = c.getActivityWindowingMode(); if (!ActivityTaskManagerService.isPip2ExperimentEnabled() - && tr.getWindowingMode() == WINDOWING_MODE_PINNED - && (childWindowingMode == WINDOWING_MODE_PINNED - || childWindowingMode == WINDOWING_MODE_UNDEFINED)) { - // If setActivityWindowingMode requested to match its pinned task's windowing mode, - // remove any inconsistency checking timeout callbacks for PiP. - Slog.d(TAG, "Task and activity windowing modes match, so remove any timeout " - + "abort PiP callbacks scheduled if needed; task_win_mode=" - + tr.getWindowingMode() + ", activity_win_mode=" + childWindowingMode); - mService.mRootWindowContainer.removeAllMaybeAbortPipEnterRunnable(); + && tr.getWindowingMode() == WINDOWING_MODE_PINNED) { + if (childWindowingMode == WINDOWING_MODE_PINNED + || childWindowingMode == WINDOWING_MODE_UNDEFINED) { + // If setActivityWindowingMode requested to match its pinned task's windowing mode, + // remove any inconsistency checking timeout callbacks for PiP. + Slog.d(TAG, "Task and activity windowing modes match, so remove any timeout " + + "abort PiP callbacks scheduled if needed; task_win_mode=" + + tr.getWindowingMode() + ", activity_win_mode=" + childWindowingMode); + mService.mRootWindowContainer.removeAllMaybeAbortPipEnterRunnable(); + } else if (shouldApplyLifecycleEffectOnPipChange()) { + // This is leaving PiP: task is pinned mode and activity changes to non-pip mode. + // Then the activity can be resumed because it becomes focusable. + effects |= TRANSACT_EFFECTS_LIFECYCLE; + } } if (childWindowingMode > -1) { tr.forAllActivities(a -> { a.setWindowingMode(childWindowingMode); }); @@ -911,6 +916,9 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub if (canEnterPip) { canEnterPip = mService.mActivityClientController .requestPictureInPictureMode(activity); + if (canEnterPip && shouldApplyLifecycleEffectOnPipChange()) { + effects |= TRANSACT_EFFECTS_LIFECYCLE; + } } if (!canEnterPip) { // Restore the flag to its previous state when the activity cannot enter PIP. @@ -922,6 +930,14 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub return effects; } + // TODO(b/333452456): For testing on local easier. Remove after the use case is gone. + @VisibleForTesting + static boolean shouldApplyLifecycleEffectOnPipChange() { + return android.os.SystemProperties.getBoolean( + "persist.wm.debug.apply_lifecycle_on_pip_change", false) + || com.android.window.flags.Flags.applyLifecycleOnPipChange(); + } + private int applyDisplayAreaChanges(DisplayArea displayArea, WindowContainerTransaction.Change c) { final int[] effects = new int[1]; diff --git a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java index 977a8a05d6f3..c76bcf804ee4 100644 --- a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java +++ b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java @@ -287,7 +287,7 @@ public final class ProfcollectForwardingService extends SystemService { if (randomNum < traceFrequency) { BackgroundThread.get().getThreadHandler().post(() -> { try { - mIProfcollect.trace_once("applaunch"); + mIProfcollect.trace_system("applaunch"); } catch (RemoteException e) { Log.e(LOG_TAG, "Failed to initiate trace: " + e.getMessage()); } @@ -327,7 +327,7 @@ public final class ProfcollectForwardingService extends SystemService { // Dex2oat could take a while before it starts. Add a short delay before start tracing. BackgroundThread.get().getThreadHandler().postDelayed(() -> { try { - mIProfcollect.trace_once("dex2oat"); + mIProfcollect.trace_system("dex2oat"); } catch (RemoteException e) { Log.e(LOG_TAG, "Failed to initiate trace: " + e.getMessage()); } @@ -398,14 +398,17 @@ public final class ProfcollectForwardingService extends SystemService { if (randomNum >= traceFrequency) { return; } - // Wait for 1s before starting tracing. + // For a small percentage a traces, we collect the initialization behavior. + boolean traceInitialization = ThreadLocalRandom.current().nextInt(10) < 1; + int traceDelay = traceInitialization ? 0 : 1000; + String traceTag = traceInitialization ? "camera_init" : "camera"; BackgroundThread.get().getThreadHandler().postDelayed(() -> { try { - mIProfcollect.trace_once("camera"); + mIProfcollect.trace_system(traceTag); } catch (RemoteException e) { Log.e(LOG_TAG, "Failed to initiate trace: " + e.getMessage()); } - }, 1000); + }, traceDelay); } }, null); } diff --git a/services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java b/services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java index d070aaa93b01..2018e1a3ae62 100644 --- a/services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java +++ b/services/tests/displayservicetests/src/com/android/server/display/DisplayPowerControllerTest.java @@ -1942,7 +1942,7 @@ public final class DisplayPowerControllerTest { } @Test - public void testDozeManualBrightness() { + public void testDozeManualBrightness_DpcRefactorDisabled() { when(mDisplayManagerFlagsMock.isDisplayOffloadEnabled()).thenReturn(true); mHolder.dpc.setDisplayOffloadSession(mDisplayOffloadSession); Settings.System.putInt(mContext.getContentResolver(), @@ -1972,6 +1972,45 @@ public final class DisplayPowerControllerTest { /* ignoreAnimationLimits= */ anyBoolean()); assertEquals(brightness * DOZE_SCALE_FACTOR, mHolder.dpc.getDozeBrightnessForOffload(), /* delta= */ 0); + // This brightness shouldn't be stored in the setting + verify(mHolder.brightnessSetting, never()).setBrightness(brightness * DOZE_SCALE_FACTOR); + } + + @Test + public void testDozeManualBrightness_DpcRefactorEnabled() { + when(mDisplayManagerFlagsMock.isDisplayOffloadEnabled()).thenReturn(true); + when(mDisplayManagerFlagsMock.isRefactorDisplayPowerControllerEnabled()).thenReturn(true); + mHolder = createDisplayPowerController(DISPLAY_ID, UNIQUE_ID); + mHolder.dpc.setDisplayOffloadSession(mDisplayOffloadSession); + Settings.System.putInt(mContext.getContentResolver(), + Settings.System.SCREEN_BRIGHTNESS_MODE, + Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL); + float brightness = 0.277f; + when(mHolder.displayPowerState.getColorFadeLevel()).thenReturn(1.0f); + when(mHolder.brightnessSetting.getBrightness()).thenReturn(brightness); + when(mHolder.hbmController.getCurrentBrightnessMax()) + .thenReturn(PowerManager.BRIGHTNESS_MAX); + when(mHolder.displayPowerState.getScreenState()).thenReturn(Display.STATE_DOZE); + + DisplayPowerRequest dpr = new DisplayPowerRequest(); + dpr.policy = DisplayPowerRequest.POLICY_DOZE; + mHolder.dpc.requestPowerState(dpr, /* waitForNegativeProximity= */ false); + advanceTime(1); // Run updatePowerState, initialize + + ArgumentCaptor<BrightnessSetting.BrightnessSettingListener> listenerCaptor = + ArgumentCaptor.forClass(BrightnessSetting.BrightnessSettingListener.class); + verify(mHolder.brightnessSetting).registerListener(listenerCaptor.capture()); + BrightnessSetting.BrightnessSettingListener listener = listenerCaptor.getValue(); + listener.onBrightnessChanged(brightness); + advanceTime(1); // Send messages, run updatePowerState + + verify(mHolder.animator).animateTo(eq(brightness * DOZE_SCALE_FACTOR), + /* linearSecondTarget= */ anyFloat(), /* rate= */ anyFloat(), + /* ignoreAnimationLimits= */ anyBoolean()); + assertEquals(brightness * DOZE_SCALE_FACTOR, mHolder.dpc.getDozeBrightnessForOffload(), + /* delta= */ 0); + // This brightness shouldn't be stored in the setting + verify(mHolder.brightnessSetting, never()).setBrightness(brightness * DOZE_SCALE_FACTOR); } @Test diff --git a/services/tests/uiservicestests/src/com/android/server/notification/GroupHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/GroupHelperTest.java index 8a7d276dbecd..225c1dc752c1 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/GroupHelperTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/GroupHelperTest.java @@ -20,13 +20,23 @@ import static android.app.Notification.FLAG_AUTO_CANCEL; import static android.app.Notification.FLAG_BUBBLE; import static android.app.Notification.FLAG_CAN_COLORIZE; import static android.app.Notification.FLAG_FOREGROUND_SERVICE; +import static android.app.Notification.FLAG_GROUP_SUMMARY; import static android.app.Notification.FLAG_NO_CLEAR; import static android.app.Notification.FLAG_ONGOING_EVENT; +import static android.app.Notification.GROUP_ALERT_ALL; +import static android.app.Notification.GROUP_ALERT_CHILDREN; +import static android.app.Notification.GROUP_ALERT_SUMMARY; import static android.app.Notification.VISIBILITY_PRIVATE; import static android.app.Notification.VISIBILITY_PUBLIC; import static android.app.Notification.VISIBILITY_SECRET; +import static android.app.NotificationManager.IMPORTANCE_DEFAULT; +import static android.app.NotificationManager.IMPORTANCE_LOW; +import static android.service.notification.Flags.FLAG_NOTIFICATION_FORCE_GROUPING; import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT; +import static android.service.notification.NotificationListenerService.REASON_APP_CANCEL; +import static com.android.server.notification.GroupHelper.AGGREGATE_GROUP_KEY; +import static com.android.server.notification.GroupHelper.AUTOGROUP_KEY; import static com.android.server.notification.GroupHelper.BASE_FLAGS; import static com.google.common.truth.Truth.assertThat; @@ -41,6 +51,7 @@ import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; +import static org.mockito.Mockito.reset; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -49,6 +60,7 @@ import static org.mockito.Mockito.when; import android.annotation.SuppressLint; import android.app.Notification; +import android.app.NotificationChannel; import android.content.pm.PackageManager; import android.graphics.Color; import android.graphics.drawable.AdaptiveIconDrawable; @@ -66,6 +78,7 @@ import androidx.test.filters.SmallTest; import com.android.internal.R; import com.android.server.UiServiceTestCase; +import com.android.server.notification.GroupHelper.CachedSummary; import com.android.server.notification.GroupHelper.NotificationAttributes; import org.junit.Before; @@ -90,11 +103,15 @@ public class GroupHelperTest extends UiServiceTestCase { public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT); private final int DEFAULT_VISIBILITY = VISIBILITY_PRIVATE; + private final int DEFAULT_GROUP_ALERT = GROUP_ALERT_CHILDREN; + + private final String TEST_CHANNEL_ID = "TEST_CHANNEL_ID"; private @Mock GroupHelper.Callback mCallback; private @Mock PackageManager mPackageManager; private final static int AUTOGROUP_AT_COUNT = 7; + private final static int AUTOGROUP_SINGLETONS_AT_COUNT = 2; private GroupHelper mGroupHelper; private @Mock Icon mSmallIcon; @@ -113,7 +130,7 @@ public class GroupHelperTest extends UiServiceTestCase { MockitoAnnotations.initMocks(this); mGroupHelper = new GroupHelper(getContext(), mPackageManager, AUTOGROUP_AT_COUNT, - mCallback); + AUTOGROUP_SINGLETONS_AT_COUNT, mCallback); NotificationRecord r = mock(NotificationRecord.class); StatusBarNotification sbn = getSbn("package", 0, "0", UserHandle.SYSTEM); @@ -124,7 +141,7 @@ public class GroupHelperTest extends UiServiceTestCase { private StatusBarNotification getSbn(String pkg, int id, String tag, UserHandle user, String groupKey, Icon smallIcon, int iconColor) { - Notification.Builder nb = new Notification.Builder(getContext(), "test_channel_id") + Notification.Builder nb = new Notification.Builder(getContext(), TEST_CHANNEL_ID) .setContentTitle("A") .setWhen(1205) .setSmallIcon(smallIcon) @@ -146,15 +163,54 @@ public class GroupHelperTest extends UiServiceTestCase { return getSbn(pkg, id, tag, user, null); } + private NotificationRecord getNotificationRecord(String pkg, int id, String tag, + UserHandle user) { + return getNotificationRecord(pkg, id, tag, user, null, false); + } + + private NotificationRecord getNotificationRecord(String pkg, int id, String tag, + UserHandle user, String groupKey, boolean isSummary) { + return getNotificationRecord(pkg, id, tag, user, groupKey, isSummary, IMPORTANCE_DEFAULT); + } + + private NotificationRecord getNotificationRecord(String pkg, int id, String tag, + UserHandle user, String groupKey, boolean isSummary, int importance) { + return getNotificationRecord(pkg, id, tag, user, groupKey, isSummary, + new NotificationChannel(TEST_CHANNEL_ID, TEST_CHANNEL_ID, importance)); + } + + private NotificationRecord getNotificationRecord(String pkg, int id, String tag, + UserHandle user, String groupKey, boolean isSummary, NotificationChannel channel) { + StatusBarNotification sbn = getSbn(pkg, id, tag, user, groupKey); + if (isSummary) { + sbn.getNotification().flags |= FLAG_GROUP_SUMMARY; + } + return new NotificationRecord(getContext(), sbn, channel); + } + + private NotificationRecord getNotificationRecord(StatusBarNotification sbn) { + return new NotificationRecord(getContext(), sbn, + new NotificationChannel(TEST_CHANNEL_ID, TEST_CHANNEL_ID, IMPORTANCE_DEFAULT)); + } + private NotificationAttributes getNotificationAttributes(int flags) { - return new NotificationAttributes(flags, mSmallIcon, COLOR_DEFAULT, DEFAULT_VISIBILITY); + return new NotificationAttributes(flags, mSmallIcon, COLOR_DEFAULT, DEFAULT_VISIBILITY, + DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); + } + + private String getExpectedAutogroupKey(final NotificationRecord record) { + if (android.service.notification.Flags.notificationForceGrouping()) { + return GroupHelper.getFullAggregateGroupKey(record); + } else { + return AUTOGROUP_KEY; + } } @Test public void testGetAutogroupSummaryFlags_noChildren() { ArrayMap<String, NotificationAttributes> children = new ArrayMap<>(); - assertEquals(BASE_FLAGS, mGroupHelper.getAutogroupSummaryFlags(children)); + assertEquals(BASE_FLAGS, GroupHelper.getAutogroupSummaryFlags(children)); } @Test @@ -165,7 +221,7 @@ public class GroupHelperTest extends UiServiceTestCase { children.put("c", getNotificationAttributes(FLAG_BUBBLE)); assertEquals(FLAG_ONGOING_EVENT | BASE_FLAGS, - mGroupHelper.getAutogroupSummaryFlags(children)); + GroupHelper.getAutogroupSummaryFlags(children)); } @Test @@ -176,7 +232,7 @@ public class GroupHelperTest extends UiServiceTestCase { children.put("c", getNotificationAttributes(FLAG_BUBBLE)); assertEquals(FLAG_NO_CLEAR | FLAG_ONGOING_EVENT | BASE_FLAGS, - mGroupHelper.getAutogroupSummaryFlags(children)); + GroupHelper.getAutogroupSummaryFlags(children)); } @Test @@ -187,7 +243,7 @@ public class GroupHelperTest extends UiServiceTestCase { children.put("c", getNotificationAttributes(FLAG_BUBBLE)); assertEquals(FLAG_ONGOING_EVENT | BASE_FLAGS, - mGroupHelper.getAutogroupSummaryFlags(children)); + GroupHelper.getAutogroupSummaryFlags(children)); } @Test @@ -199,7 +255,7 @@ public class GroupHelperTest extends UiServiceTestCase { children.put("d", getNotificationAttributes(FLAG_ONGOING_EVENT)); assertEquals(FLAG_ONGOING_EVENT | BASE_FLAGS, - mGroupHelper.getAutogroupSummaryFlags(children)); + GroupHelper.getAutogroupSummaryFlags(children)); } @Test @@ -210,7 +266,7 @@ public class GroupHelperTest extends UiServiceTestCase { children.put("c", getNotificationAttributes(FLAG_BUBBLE)); assertEquals(BASE_FLAGS, - mGroupHelper.getAutogroupSummaryFlags(children)); + GroupHelper.getAutogroupSummaryFlags(children)); } @Test @@ -222,7 +278,7 @@ public class GroupHelperTest extends UiServiceTestCase { children.put("d", getNotificationAttributes(FLAG_AUTO_CANCEL | FLAG_FOREGROUND_SERVICE)); assertEquals(FLAG_AUTO_CANCEL | BASE_FLAGS, - mGroupHelper.getAutogroupSummaryFlags(children)); + GroupHelper.getAutogroupSummaryFlags(children)); } @Test @@ -235,15 +291,16 @@ public class GroupHelperTest extends UiServiceTestCase { FLAG_AUTO_CANCEL | FLAG_FOREGROUND_SERVICE | FLAG_ONGOING_EVENT)); assertEquals(FLAG_AUTO_CANCEL| FLAG_ONGOING_EVENT | BASE_FLAGS, - mGroupHelper.getAutogroupSummaryFlags(children)); + GroupHelper.getAutogroupSummaryFlags(children)); } @Test public void testNoGroup_postingUnderLimit() { final String pkg = "package"; for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { - mGroupHelper.onNotificationPosted(getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM), - false); + mGroupHelper.onNotificationPosted( + getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM), + false); } verifyZeroInteractions(mCallback); } @@ -253,11 +310,12 @@ public class GroupHelperTest extends UiServiceTestCase { final String pkg = "package"; final String pkg2 = "package2"; for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { - mGroupHelper.onNotificationPosted(getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM), - false); + mGroupHelper.onNotificationPosted( + getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM), + false); } mGroupHelper.onNotificationPosted( - getSbn(pkg2, AUTOGROUP_AT_COUNT, "four", UserHandle.SYSTEM), false); + getNotificationRecord(pkg2, AUTOGROUP_AT_COUNT, "four", UserHandle.SYSTEM), false); verifyZeroInteractions(mCallback); } @@ -265,11 +323,12 @@ public class GroupHelperTest extends UiServiceTestCase { public void testNoGroup_multiUser() { final String pkg = "package"; for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { - mGroupHelper.onNotificationPosted(getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM), - false); + mGroupHelper.onNotificationPosted( + getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM), + false); } mGroupHelper.onNotificationPosted( - getSbn(pkg, AUTOGROUP_AT_COUNT, "four", UserHandle.of(7)), false); + getNotificationRecord(pkg, AUTOGROUP_AT_COUNT, "four", UserHandle.of(7)), false); verifyZeroInteractions(mCallback); } @@ -278,10 +337,11 @@ public class GroupHelperTest extends UiServiceTestCase { final String pkg = "package"; for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { mGroupHelper.onNotificationPosted( - getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM), false); + getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM), false); } mGroupHelper.onNotificationPosted( - getSbn(pkg, AUTOGROUP_AT_COUNT, "four", UserHandle.SYSTEM, "a"), false); + getNotificationRecord(pkg, AUTOGROUP_AT_COUNT, "four", UserHandle.SYSTEM, "a", false), + false); verifyZeroInteractions(mCallback); } @@ -289,185 +349,241 @@ public class GroupHelperTest extends UiServiceTestCase { @DisableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAddSummary_alwaysAutogroup() { final String pkg = "package"; + final String autogroupKey = getExpectedAutogroupKey( + getNotificationRecord(pkg, 0, String.valueOf(0), UserHandle.SYSTEM)); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { mGroupHelper.onNotificationPosted( - getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM), false); + getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM), false); } verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + anyInt(), eq(pkg), anyString(), eq(autogroupKey), + anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), eq(autogroupKey), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @EnableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAddSummary() { final String pkg = "package"; + final String autogroupKey = getExpectedAutogroupKey( + getNotificationRecord(pkg, 0, String.valueOf(0), UserHandle.SYSTEM)); for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { assertThat(mGroupHelper.onNotificationPosted( - getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM), false)).isFalse(); + getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM), + false)).isFalse(); } assertThat(mGroupHelper.onNotificationPosted( - getSbn(pkg, AUTOGROUP_AT_COUNT - 1, String.valueOf(AUTOGROUP_AT_COUNT - 1), + getNotificationRecord(pkg, AUTOGROUP_AT_COUNT - 1, String.valueOf(AUTOGROUP_AT_COUNT - 1), UserHandle.SYSTEM), false)).isTrue(); - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(autogroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @DisableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAddSummary_oneChildOngoing_summaryOngoing_alwaysAutogroup() { final String pkg = "package"; + final String autogroupKey = getExpectedAutogroupKey( + getNotificationRecord(pkg, 0, String.valueOf(0), UserHandle.SYSTEM)); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); if (i == 0) { - sbn.getNotification().flags |= FLAG_ONGOING_EVENT; + r.getNotification().flags |= FLAG_ONGOING_EVENT; } - mGroupHelper.onNotificationPosted(sbn, false); + mGroupHelper.onNotificationPosted(r, false); } verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(autogroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS | FLAG_ONGOING_EVENT))); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @EnableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAddSummary_oneChildOngoing_summaryOngoing() { final String pkg = "package"; + final String autogroupKey = getExpectedAutogroupKey( + getNotificationRecord(pkg, 0, String.valueOf(0), UserHandle.SYSTEM)); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); if (i == 0) { - sbn.getNotification().flags |= FLAG_ONGOING_EVENT; + r.getNotification().flags |= FLAG_ONGOING_EVENT; } - mGroupHelper.onNotificationPosted(sbn, false); + mGroupHelper.onNotificationPosted(r, false); } verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(autogroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS | FLAG_ONGOING_EVENT))); - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @DisableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAddSummary_oneChildAutoCancel_summaryNotAutoCancel_alwaysAutogroup() { final String pkg = "package"; + final String autogroupKey = getExpectedAutogroupKey( + getNotificationRecord(pkg, 0, String.valueOf(0), UserHandle.SYSTEM)); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); if (i == 0) { - sbn.getNotification().flags |= FLAG_AUTO_CANCEL; + r.getNotification().flags |= FLAG_AUTO_CANCEL; } - mGroupHelper.onNotificationPosted(sbn, false); + mGroupHelper.onNotificationPosted(r, false); } - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(autogroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @EnableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAddSummary_oneChildAutoCancel_summaryNotAutoCancel() { final String pkg = "package"; + final String autogroupKey = getExpectedAutogroupKey( + getNotificationRecord(pkg, 0, String.valueOf(0), UserHandle.SYSTEM)); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); if (i == 0) { - sbn.getNotification().flags |= FLAG_AUTO_CANCEL; + r.getNotification().flags |= FLAG_AUTO_CANCEL; } - mGroupHelper.onNotificationPosted(sbn, false); + mGroupHelper.onNotificationPosted(r, false); } - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(autogroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), + eq(autogroupKey), anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @DisableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAddSummary_allChildrenAutoCancel_summaryAutoCancel_alwaysAutogroup() { final String pkg = "package"; + final String autogroupKey = getExpectedAutogroupKey( + getNotificationRecord(pkg, 0, String.valueOf(0), UserHandle.SYSTEM)); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - sbn.getNotification().flags |= FLAG_AUTO_CANCEL; - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_AUTO_CANCEL; + mGroupHelper.onNotificationPosted(r, false); } verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(autogroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS | FLAG_AUTO_CANCEL))); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), eq(autogroupKey), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @EnableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAddSummary_allChildrenAutoCancel_summaryAutoCancel() { final String pkg = "package"; + final String autogroupKey = getExpectedAutogroupKey( + getNotificationRecord(pkg, 0, String.valueOf(0), UserHandle.SYSTEM)); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - sbn.getNotification().flags |= FLAG_AUTO_CANCEL; - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_AUTO_CANCEL; + mGroupHelper.onNotificationPosted(r, false); } verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(autogroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS | FLAG_AUTO_CANCEL))); - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), + eq(autogroupKey), anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @DisableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAddSummary_summaryAutoCancelNoClear_alwaysAutogroup() { final String pkg = "package"; + final String autogroupKey = getExpectedAutogroupKey( + getNotificationRecord(pkg, 0, String.valueOf(0), UserHandle.SYSTEM)); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - sbn.getNotification().flags |= FLAG_AUTO_CANCEL; + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_AUTO_CANCEL; if (i == 0) { - sbn.getNotification().flags |= FLAG_NO_CLEAR; + r.getNotification().flags |= FLAG_NO_CLEAR; } - mGroupHelper.onNotificationPosted(sbn, false); + mGroupHelper.onNotificationPosted(r, false); } verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(autogroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS | FLAG_AUTO_CANCEL | FLAG_NO_CLEAR))); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), eq(autogroupKey), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @EnableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAddSummary_summaryAutoCancelNoClear() { final String pkg = "package"; + final String autogroupKey = getExpectedAutogroupKey( + getNotificationRecord(pkg, 0, String.valueOf(0), UserHandle.SYSTEM)); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - sbn.getNotification().flags |= FLAG_AUTO_CANCEL; + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_AUTO_CANCEL; if (i == 0) { - sbn.getNotification().flags |= FLAG_NO_CLEAR; + r.getNotification().flags |= FLAG_NO_CLEAR; } - mGroupHelper.onNotificationPosted(sbn, false); + mGroupHelper.onNotificationPosted(r, false); } verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(autogroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS | FLAG_AUTO_CANCEL | FLAG_NO_CLEAR))); - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), + eq(autogroupKey), anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @@ -475,15 +591,16 @@ public class GroupHelperTest extends UiServiceTestCase { final String pkg = "package"; // Post AUTOGROUP_AT_COUNT ongoing notifications - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - sbn.getNotification().flags |= FLAG_ONGOING_EVENT; - notifications.add(sbn); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_ONGOING_EVENT; + notifications.add(r); } - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } // One notification is no longer ongoing @@ -491,7 +608,7 @@ public class GroupHelperTest extends UiServiceTestCase { mGroupHelper.onNotificationPosted(notifications.get(0), true); // Summary should keep FLAG_ONGOING_EVENT if any child has it - verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), + verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), anyString(), eq(getNotificationAttributes(BASE_FLAGS | FLAG_ONGOING_EVENT))); } @@ -500,24 +617,25 @@ public class GroupHelperTest extends UiServiceTestCase { final String pkg = "package"; // Post AUTOGROUP_AT_COUNT ongoing notifications - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); if (i == 0) { - sbn.getNotification().flags |= FLAG_ONGOING_EVENT; + r.getNotification().flags |= FLAG_ONGOING_EVENT; } - notifications.add(sbn); + notifications.add(r); } - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } // remove ongoing mGroupHelper.onNotificationRemoved(notifications.get(0)); // Summary is no longer ongoing - verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), + verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); } @@ -526,14 +644,15 @@ public class GroupHelperTest extends UiServiceTestCase { final String pkg = "package"; // Post AUTOGROUP_AT_COUNT ongoing notifications - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - notifications.add(sbn); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + notifications.add(r); } - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } // update to ongoing @@ -541,7 +660,7 @@ public class GroupHelperTest extends UiServiceTestCase { mGroupHelper.onNotificationPosted(notifications.get(0), true); // Summary is now ongoing - verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), + verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), anyString(), eq(getNotificationAttributes(BASE_FLAGS | FLAG_ONGOING_EVENT))); } @@ -550,23 +669,25 @@ public class GroupHelperTest extends UiServiceTestCase { final String pkg = "package"; // Post AUTOGROUP_AT_COUNT ongoing notifications - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - notifications.add(sbn); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + notifications.add(r); } - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } // add ongoing - StatusBarNotification sbn = getSbn(pkg, AUTOGROUP_AT_COUNT + 1, null, UserHandle.SYSTEM); - sbn.getNotification().flags |= FLAG_ONGOING_EVENT; - mGroupHelper.onNotificationPosted(sbn, true); + NotificationRecord r = getNotificationRecord(pkg, AUTOGROUP_AT_COUNT + 1, null, + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_ONGOING_EVENT; + mGroupHelper.onNotificationPosted(r, true); // Summary is now ongoing - verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), + verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), anyString(), eq(getNotificationAttributes(BASE_FLAGS | FLAG_ONGOING_EVENT))); } @@ -575,51 +696,84 @@ public class GroupHelperTest extends UiServiceTestCase { final String pkg = "package"; // Post AUTOGROUP_AT_COUNT ongoing notifications - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); if (i == 0) { - sbn.getNotification().flags |= FLAG_ONGOING_EVENT; + r.getNotification().flags |= FLAG_ONGOING_EVENT; } - notifications.add(sbn); + notifications.add(r); } - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } // app group the ongoing child - StatusBarNotification sbn = getSbn(pkg, 0, "0", UserHandle.SYSTEM, "app group now"); - mGroupHelper.onNotificationPosted(sbn, true); + NotificationRecord r = getNotificationRecord(pkg, 0, "0", UserHandle.SYSTEM, + "app group now", false); + mGroupHelper.onNotificationPosted(r, true); // Summary is no longer ongoing - verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), + verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); } @Test + @DisableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) public void testAutoGrouped_singleOngoing_removeNonOngoingChild() { final String pkg = "package"; // Post AUTOGROUP_AT_COUNT ongoing notifications - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); if (i == 0) { - sbn.getNotification().flags |= FLAG_ONGOING_EVENT; + r.getNotification().flags |= FLAG_ONGOING_EVENT; } - notifications.add(sbn); + notifications.add(r); } - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } // remove ongoing mGroupHelper.onNotificationRemoved(notifications.get(1)); // Summary is still ongoing - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAutoGrouped_singleOngoing_removeNonOngoingChild_forceGrouping() { + final String pkg = "package"; + + // Post AUTOGROUP_AT_COUNT ongoing notifications + ArrayList<NotificationRecord> notifications = new ArrayList<>(); + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + if (i == 0) { + r.getNotification().flags |= FLAG_ONGOING_EVENT; + } + notifications.add(r); + } + + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); + } + + // remove ongoing + mGroupHelper.onNotificationRemoved(notifications.get(1)); + + // Summary is still ongoing + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @@ -627,15 +781,16 @@ public class GroupHelperTest extends UiServiceTestCase { final String pkg = "package"; // Post AUTOGROUP_AT_COUNT ongoing notifications - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - sbn.getNotification().flags |= FLAG_AUTO_CANCEL; - notifications.add(sbn); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_AUTO_CANCEL; + notifications.add(r); } - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } // One notification is no longer autocancelable @@ -643,7 +798,7 @@ public class GroupHelperTest extends UiServiceTestCase { mGroupHelper.onNotificationPosted(notifications.get(0), true); // Summary should no longer be autocancelable - verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), + verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); } @@ -652,17 +807,18 @@ public class GroupHelperTest extends UiServiceTestCase { final String pkg = "package"; // Post AUTOGROUP_AT_COUNT ongoing notifications - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); if (i != 0) { - sbn.getNotification().flags |= FLAG_AUTO_CANCEL; + r.getNotification().flags |= FLAG_AUTO_CANCEL; } - notifications.add(sbn); + notifications.add(r); } - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } // Missing notification is now autocancelable @@ -670,254 +826,327 @@ public class GroupHelperTest extends UiServiceTestCase { mGroupHelper.onNotificationPosted(notifications.get(0), true); // Summary should now autocancelable - verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), + verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), anyString(), eq(getNotificationAttributes(BASE_FLAGS | FLAG_AUTO_CANCEL))); } @Test + @DisableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) public void testAutoGrouped_allAutoCancel_updateChildAppGrouped() { final String pkg = "package"; // Post AUTOGROUP_AT_COUNT ongoing notifications - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_AUTO_CANCEL; + notifications.add(r); + } + + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); + } + + // One notification is now grouped by app + NotificationRecord r = getNotificationRecord(pkg, 0, "0", UserHandle.SYSTEM, + "app group now", false); + mGroupHelper.onNotificationPosted(r, true); + + // Summary should be still be autocancelable + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAutoGrouped_allAutoCancel_updateChildAppGrouped_forceGrouping() { + final String pkg = "package"; + + // Post AUTOGROUP_AT_COUNT ongoing notifications + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - sbn.getNotification().flags |= FLAG_AUTO_CANCEL; - notifications.add(sbn); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_AUTO_CANCEL; + notifications.add(r); } - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } // One notification is now grouped by app - StatusBarNotification sbn = getSbn(pkg, 0, "0", UserHandle.SYSTEM, "app group now"); - mGroupHelper.onNotificationPosted(sbn, true); + NotificationRecord r = getNotificationRecord(pkg, 0, "0", UserHandle.SYSTEM, + "app group now", false); + mGroupHelper.onNotificationPosted(r, true); // Summary should be still be autocancelable - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test + @DisableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) public void testAutoGrouped_allAutoCancel_removeChild() { final String pkg = "package"; // Post AUTOGROUP_AT_COUNT ongoing notifications - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - sbn.getNotification().flags |= FLAG_AUTO_CANCEL; - notifications.add(sbn); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_AUTO_CANCEL; + notifications.add(r); } - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } mGroupHelper.onNotificationRemoved(notifications.get(0)); // Summary should still be autocancelable - verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), any()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAutoGrouped_allAutoCancel_removeChild_forceGrouping() { + final String pkg = "package"; + + // Post AUTOGROUP_AT_COUNT ongoing notifications + ArrayList<NotificationRecord> notifications = new ArrayList<>(); + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + r.getNotification().flags |= FLAG_AUTO_CANCEL; + notifications.add(r); + } + + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); + } + + mGroupHelper.onNotificationRemoved(notifications.get(0)); + + // Summary should still be autocancelable + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); } @Test @DisableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testDropToZeroRemoveGroup_disableFlag() { final String pkg = "package"; - List<StatusBarNotification> posted = new ArrayList<>(); + ArrayList<NotificationRecord> posted = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - final StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - posted.add(sbn); - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + posted.add(r); + mGroupHelper.onNotificationPosted(r, false); } - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), anyString(), + anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); Mockito.reset(mCallback); for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { mGroupHelper.onNotificationRemoved(posted.remove(0)); } verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); Mockito.reset(mCallback); mGroupHelper.onNotificationRemoved(posted.remove(0)); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), anyString(), anyString()); } @Test @EnableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testDropToZeroRemoveGroup() { final String pkg = "package"; - List<StatusBarNotification> posted = new ArrayList<>(); + ArrayList<NotificationRecord> posted = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - final StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - posted.add(sbn); - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + posted.add(r); + mGroupHelper.onNotificationPosted(r, false); } - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), anyString(), + anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); Mockito.reset(mCallback); for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { mGroupHelper.onNotificationRemoved(posted.remove(0)); } verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); Mockito.reset(mCallback); mGroupHelper.onNotificationRemoved(posted.remove(0)); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), anyString(), anyString()); } @Test @DisableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAppStartsGrouping_disableFlag() { final String pkg = "package"; - List<StatusBarNotification> posted = new ArrayList<>(); + ArrayList<NotificationRecord> posted = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - final StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - posted.add(sbn); - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + posted.add(r); + mGroupHelper.onNotificationPosted(r, false); } - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + anyString(), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); Mockito.reset(mCallback); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - final StatusBarNotification sbn = - getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, "app group"); - sbn.setOverrideGroupKey("autogrouped"); - mGroupHelper.onNotificationPosted(sbn, true); - verify(mCallback, times(1)).removeAutoGroup(sbn.getKey()); + final NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "app group", false); + r.getSbn().setOverrideGroupKey("autogrouped"); + mGroupHelper.onNotificationPosted(r, true); + verify(mCallback, times(1)).removeAutoGroup(r.getKey()); if (i < AUTOGROUP_AT_COUNT - 1) { - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), + anyString()); } } - verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), anyString(), anyString()); } @Test @EnableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testAppStartsGrouping() { final String pkg = "package"; - List<StatusBarNotification> posted = new ArrayList<>(); + ArrayList<NotificationRecord> posted = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - final StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - posted.add(sbn); - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + posted.add(r); + mGroupHelper.onNotificationPosted(r, false); } - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + anyString(), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); Mockito.reset(mCallback); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - final StatusBarNotification sbn = - getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, "app group"); - sbn.setOverrideGroupKey("autogrouped"); - mGroupHelper.onNotificationPosted(sbn, true); - verify(mCallback, times(1)).removeAutoGroup(sbn.getKey()); + final NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "app group", false); + r.getSbn().setOverrideGroupKey("autogrouped"); + mGroupHelper.onNotificationPosted(r, true); + verify(mCallback, times(1)).removeAutoGroup(r.getKey()); if (i < AUTOGROUP_AT_COUNT - 1) { - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), + anyString()); } } - verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), anyString(), anyString()); } @Test @DisableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testNewNotificationsAddedToAutogroup_ifOriginalNotificationsCanceled_alwaysGroup() { final String pkg = "package"; - List<StatusBarNotification> posted = new ArrayList<>(); + ArrayList<NotificationRecord> posted = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - final StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - posted.add(sbn); - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + posted.add(r); + mGroupHelper.onNotificationPosted(r, false); } - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + anyString(), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); Mockito.reset(mCallback); for (int i = posted.size() - 2; i >= 0; i--) { mGroupHelper.onNotificationRemoved(posted.remove(i)); } verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); Mockito.reset(mCallback); - // only one child remains - assertEquals(1, mGroupHelper.getNotGroupedByAppCount(UserHandle.USER_SYSTEM, pkg)); - // Add new notification; it should be autogrouped even though the total count is // < AUTOGROUP_AT_COUNT - final StatusBarNotification sbn = getSbn(pkg, 5, String.valueOf(5), UserHandle.SYSTEM); - posted.add(sbn); - assertThat(mGroupHelper.onNotificationPosted(sbn, true)).isFalse(); - verify(mCallback, times(1)).addAutoGroup(sbn.getKey(), true); + final NotificationRecord r = getNotificationRecord(pkg, 5, String.valueOf(5), + UserHandle.SYSTEM); + final String autogroupKey = getExpectedAutogroupKey(r); + posted.add(r); + assertThat(mGroupHelper.onNotificationPosted(r, true)).isFalse(); + verify(mCallback, times(1)).addAutoGroup(r.getKey(), autogroupKey, true); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, never()).addAutoGroupSummary(anyInt(), anyString(), anyString(), any()); + verify(mCallback, never()).addAutoGroupSummary(anyInt(), anyString(), anyString(), + anyString(), anyInt(), any()); } @Test @EnableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) public void testNewNotificationsAddedToAutogroup_ifOriginalNotificationsCanceled() { final String pkg = "package"; - List<StatusBarNotification> posted = new ArrayList<>(); + ArrayList<NotificationRecord> posted = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - final StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM); - posted.add(sbn); - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM); + posted.add(r); + mGroupHelper.onNotificationPosted(r, false); } - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + anyString(), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); Mockito.reset(mCallback); for (int i = posted.size() - 2; i >= 0; i--) { mGroupHelper.onNotificationRemoved(posted.remove(i)); } verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); Mockito.reset(mCallback); - // only one child remains - assertEquals(1, mGroupHelper.getNotGroupedByAppCount(UserHandle.USER_SYSTEM, pkg)); - // Add new notification; it should be autogrouped even though the total count is // < AUTOGROUP_AT_COUNT - final StatusBarNotification sbn = getSbn(pkg, 5, String.valueOf(5), UserHandle.SYSTEM); - posted.add(sbn); - assertThat(mGroupHelper.onNotificationPosted(sbn, true)).isTrue(); + final NotificationRecord r = getNotificationRecord(pkg, 5, String.valueOf(5), + UserHandle.SYSTEM); + posted.add(r); + assertThat(mGroupHelper.onNotificationPosted(r, true)).isTrue(); // addAutoGroup not called on sbn, because the autogrouping is expected to be done // synchronously. verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); - verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback).updateAutogroupSummary(anyInt(), anyString(), anyString(), eq(getNotificationAttributes(BASE_FLAGS))); - verify(mCallback, never()).addAutoGroupSummary(anyInt(), anyString(), anyString(), any()); + verify(mCallback, never()).addAutoGroupSummary(anyInt(), anyString(), anyString(), + anyString(), anyInt(), any()); } @Test @@ -929,29 +1158,32 @@ public class GroupHelperTest extends UiServiceTestCase { when(icon.sameAs(icon)).thenReturn(true); final int iconColor = Color.BLUE; final NotificationAttributes attr = new NotificationAttributes(BASE_FLAGS, icon, iconColor, - DEFAULT_VISIBILITY); + DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); // Add notifications with same icon and color for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, - icon, iconColor); - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord( + getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, icon, iconColor)); + mGroupHelper.onNotificationPosted(r, false); } // Check that the summary would have the same icon and color verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(attr)); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + anyInt(), eq(pkg), anyString(), anyString(), anyInt(), eq(attr)); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); // After auto-grouping, add new notification with the same color - StatusBarNotification sbn = getSbn(pkg, AUTOGROUP_AT_COUNT, - String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, null, icon, iconColor); - mGroupHelper.onNotificationPosted(sbn, true); + NotificationRecord r = getNotificationRecord( + getSbn(pkg, AUTOGROUP_AT_COUNT, String.valueOf(AUTOGROUP_AT_COUNT), + UserHandle.SYSTEM,null, icon, iconColor)); + mGroupHelper.onNotificationPosted(r, true); // Check that the summary was updated //NotificationAttributes newAttr = new NotificationAttributes(BASE_FLAGS, icon, iconColor); - verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), eq(attr)); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + eq(attr)); } @Test @@ -963,29 +1195,31 @@ public class GroupHelperTest extends UiServiceTestCase { when(icon.sameAs(icon)).thenReturn(true); final int iconColor = Color.BLUE; final NotificationAttributes attr = new NotificationAttributes(BASE_FLAGS, icon, iconColor, - DEFAULT_VISIBILITY); + DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); // Add notifications with same icon and color for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, - icon, iconColor); - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord( + getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, icon, iconColor)); + mGroupHelper.onNotificationPosted(r, false); } // Check that the summary would have the same icon and color - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(attr)); - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + anyString(), anyInt(), eq(attr)); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); // After auto-grouping, add new notification with the same color - StatusBarNotification sbn = getSbn(pkg, AUTOGROUP_AT_COUNT, - String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, null, icon, iconColor); - mGroupHelper.onNotificationPosted(sbn, true); + NotificationRecord r = getNotificationRecord(getSbn(pkg, AUTOGROUP_AT_COUNT, + String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, null, icon, iconColor)); + mGroupHelper.onNotificationPosted(r, true); // Check that the summary was updated //NotificationAttributes newAttr = new NotificationAttributes(BASE_FLAGS, icon, iconColor); - verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), eq(attr)); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + eq(attr)); } @Test @@ -1004,33 +1238,37 @@ public class GroupHelperTest extends UiServiceTestCase { doReturn(monochromeIcon).when(groupHelper).getMonochromeAppIcon(eq(pkg)); final NotificationAttributes initialAttr = new NotificationAttributes(BASE_FLAGS, - initialIcon, initialIconColor, DEFAULT_VISIBILITY); + initialIcon, initialIconColor, DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, + TEST_CHANNEL_ID); // Add notifications with same icon and color for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, - initialIcon, initialIconColor); - groupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord( + getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, + initialIcon, initialIconColor)); + groupHelper.onNotificationPosted(r, false); } // Check that the summary would have the same icon and color - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(initialAttr)); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + anyString(), anyInt(), eq(initialAttr)); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); // After auto-grouping, add new notification with a different color final Icon newIcon = mock(Icon.class); final int newIconColor = Color.YELLOW; - StatusBarNotification sbn = getSbn(pkg, AUTOGROUP_AT_COUNT, + NotificationRecord r = getNotificationRecord(getSbn(pkg, AUTOGROUP_AT_COUNT, String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, null, newIcon, - newIconColor); - groupHelper.onNotificationPosted(sbn, true); + newIconColor)); + groupHelper.onNotificationPosted(r, true); // Summary should be updated to the default color and the icon to the monochrome icon NotificationAttributes newAttr = new NotificationAttributes(BASE_FLAGS, monochromeIcon, - COLOR_DEFAULT, DEFAULT_VISIBILITY); - verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), eq(newAttr)); + COLOR_DEFAULT, DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + eq(newAttr)); } @Test @@ -1049,33 +1287,37 @@ public class GroupHelperTest extends UiServiceTestCase { doReturn(monochromeIcon).when(groupHelper).getMonochromeAppIcon(eq(pkg)); final NotificationAttributes initialAttr = new NotificationAttributes(BASE_FLAGS, - initialIcon, initialIconColor, DEFAULT_VISIBILITY); + initialIcon, initialIconColor, DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, + TEST_CHANNEL_ID); // Add notifications with same icon and color for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, - initialIcon, initialIconColor); - groupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord( + getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, + initialIcon, initialIconColor)); + groupHelper.onNotificationPosted(r, false); } // Check that the summary would have the same icon and color - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(initialAttr)); - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + anyString(), anyInt(), eq(initialAttr)); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); // After auto-grouping, add new notification with a different color final Icon newIcon = mock(Icon.class); final int newIconColor = Color.YELLOW; - StatusBarNotification sbn = getSbn(pkg, AUTOGROUP_AT_COUNT, - String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, null, newIcon, - newIconColor); - groupHelper.onNotificationPosted(sbn, true); + NotificationRecord r = getNotificationRecord(getSbn(pkg, AUTOGROUP_AT_COUNT, + String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, null, newIcon, + newIconColor)); + groupHelper.onNotificationPosted(r, true); // Summary should be updated to the default color and the icon to the monochrome icon NotificationAttributes newAttr = new NotificationAttributes(BASE_FLAGS, monochromeIcon, - COLOR_DEFAULT, DEFAULT_VISIBILITY); - verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), eq(newAttr)); + COLOR_DEFAULT, DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + eq(newAttr)); } @Test @@ -1087,32 +1329,35 @@ public class GroupHelperTest extends UiServiceTestCase { when(icon.sameAs(icon)).thenReturn(true); final int iconColor = Color.BLUE; final NotificationAttributes attr = new NotificationAttributes(BASE_FLAGS, icon, iconColor, - VISIBILITY_PRIVATE); + VISIBILITY_PRIVATE, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); // Add notifications with same icon and color and default visibility (private) for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, - icon, iconColor); - mGroupHelper.onNotificationPosted(sbn, false); + NotificationRecord r = getNotificationRecord( + getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, + icon, iconColor)); + mGroupHelper.onNotificationPosted(r, false); } // Check that the summary has private visibility verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(attr)); + anyInt(), eq(pkg), anyString(), anyString(), anyInt(), eq(attr)); - verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); // After auto-grouping, add new notification with public visibility - StatusBarNotification sbn = getSbn(pkg, AUTOGROUP_AT_COUNT, - String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, null, icon, iconColor); - sbn.getNotification().visibility = VISIBILITY_PUBLIC; - mGroupHelper.onNotificationPosted(sbn, true); + NotificationRecord r = getNotificationRecord(getSbn(pkg, AUTOGROUP_AT_COUNT, + String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, null, icon, iconColor)); + r.getNotification().visibility = VISIBILITY_PUBLIC; + mGroupHelper.onNotificationPosted(r, true); // Check that the summary visibility was updated NotificationAttributes newAttr = new NotificationAttributes(BASE_FLAGS, icon, iconColor, - VISIBILITY_PUBLIC); - verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), eq(newAttr)); + VISIBILITY_PUBLIC, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + eq(newAttr)); } @Test @@ -1124,71 +1369,116 @@ public class GroupHelperTest extends UiServiceTestCase { when(icon.sameAs(icon)).thenReturn(true); final int iconColor = Color.BLUE; final NotificationAttributes attr = new NotificationAttributes(BASE_FLAGS, icon, iconColor, - VISIBILITY_PRIVATE); + VISIBILITY_PRIVATE, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); // Add notifications with same icon and color and default visibility (private) for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, - icon, iconColor); - assertThat(mGroupHelper.onNotificationPosted(sbn, false)).isFalse(); + NotificationRecord r = getNotificationRecord( + getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, + icon, iconColor)); + assertThat(mGroupHelper.onNotificationPosted(r, false)).isFalse(); } // The last notification added will reach the autogroup threshold. - StatusBarNotification sbn = getSbn(pkg, AUTOGROUP_AT_COUNT - 1, - String.valueOf(AUTOGROUP_AT_COUNT - 1), UserHandle.SYSTEM, null, icon, iconColor); - assertThat(mGroupHelper.onNotificationPosted(sbn, false)).isTrue(); + NotificationRecord r = getNotificationRecord(getSbn(pkg, AUTOGROUP_AT_COUNT - 1, + String.valueOf(AUTOGROUP_AT_COUNT - 1), UserHandle.SYSTEM, null, icon, iconColor)); + assertThat(mGroupHelper.onNotificationPosted(r, false)).isTrue(); // Check that the summary has private visibility - verify(mCallback, times(1)).addAutoGroupSummary( - anyInt(), eq(pkg), anyString(), eq(attr)); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), anyString(), + anyInt(), eq(attr)); // The last sbn is expected to be added to autogroup synchronously. - verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyBoolean()); + verify(mCallback, times(AUTOGROUP_AT_COUNT - 1)).addAutoGroup(anyString(), anyString(), + anyBoolean()); verify(mCallback, never()).removeAutoGroup(anyString()); - verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); // After auto-grouping, add new notification with public visibility - sbn = getSbn(pkg, AUTOGROUP_AT_COUNT, - String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, null, icon, iconColor); - sbn.getNotification().visibility = VISIBILITY_PUBLIC; - assertThat(mGroupHelper.onNotificationPosted(sbn, true)).isTrue(); + r = getNotificationRecord(getSbn(pkg, AUTOGROUP_AT_COUNT, + String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, null, icon, iconColor)); + r.getNotification().visibility = VISIBILITY_PUBLIC; + assertThat(mGroupHelper.onNotificationPosted(r, true)).isTrue(); // Check that the summary visibility was updated NotificationAttributes newAttr = new NotificationAttributes(BASE_FLAGS, icon, iconColor, - VISIBILITY_PUBLIC); - verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), eq(newAttr)); + VISIBILITY_PUBLIC, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + eq(newAttr)); } @Test @EnableFlags(Flags.FLAG_AUTOGROUP_SUMMARY_ICON_UPDATE) + @DisableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) public void testAutoGrouped_diffIcon_diffColor_removeChild_updateTo_sameIcon_sameColor() { final String pkg = "package"; final Icon initialIcon = mock(Icon.class); when(initialIcon.sameAs(initialIcon)).thenReturn(true); final int initialIconColor = Color.BLUE; final NotificationAttributes initialAttr = new NotificationAttributes( - GroupHelper.FLAG_INVALID, initialIcon, initialIconColor, DEFAULT_VISIBILITY); + GroupHelper.FLAG_INVALID, initialIcon, initialIconColor, DEFAULT_VISIBILITY, + DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); // Add AUTOGROUP_AT_COUNT-1 notifications with same icon and color - ArrayList<StatusBarNotification> notifications = new ArrayList<>(); + ArrayList<NotificationRecord> notifications = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { - StatusBarNotification sbn = getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, - initialIcon, initialIconColor); - notifications.add(sbn); + NotificationRecord r = getNotificationRecord( + getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, + initialIcon, initialIconColor)); + notifications.add(r); } // And an additional notification with different icon and color final int lastIdx = AUTOGROUP_AT_COUNT - 1; - StatusBarNotification newSbn = getSbn(pkg, lastIdx, + NotificationRecord newRec = getNotificationRecord(getSbn(pkg, lastIdx, String.valueOf(lastIdx), UserHandle.SYSTEM, null, mock(Icon.class), - Color.YELLOW); - notifications.add(newSbn); - for (StatusBarNotification sbn: notifications) { - mGroupHelper.onNotificationPosted(sbn, false); + Color.YELLOW)); + notifications.add(newRec); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); } // Remove last notification (the only one with different icon and color) mGroupHelper.onNotificationRemoved(notifications.get(lastIdx)); // Summary should be updated to the common icon and color - verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), eq(initialAttr)); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + eq(initialAttr)); + } + + @Test + @EnableFlags({Flags.FLAG_AUTOGROUP_SUMMARY_ICON_UPDATE, + FLAG_NOTIFICATION_FORCE_GROUPING}) + public void testAutoGrouped_diffIcon_diffColor_removeChild_updateTo_sameIcon_sameColor_forceGrouping() { + final String pkg = "package"; + final Icon initialIcon = mock(Icon.class); + when(initialIcon.sameAs(initialIcon)).thenReturn(true); + final int initialIconColor = Color.BLUE; + final NotificationAttributes initialAttr = new NotificationAttributes( + BASE_FLAGS, initialIcon, initialIconColor, DEFAULT_VISIBILITY, + DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID); + + // Add AUTOGROUP_AT_COUNT-1 notifications with same icon and color + ArrayList<NotificationRecord> notifications = new ArrayList<>(); + for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { + NotificationRecord r = getNotificationRecord( + getSbn(pkg, i, String.valueOf(i), UserHandle.SYSTEM, null, + initialIcon, initialIconColor)); + notifications.add(r); + } + // And an additional notification with different icon and color + final int lastIdx = AUTOGROUP_AT_COUNT - 1; + NotificationRecord newRec = getNotificationRecord(getSbn(pkg, lastIdx, + String.valueOf(lastIdx), UserHandle.SYSTEM, null, mock(Icon.class), + Color.YELLOW)); + notifications.add(newRec); + for (NotificationRecord r: notifications) { + mGroupHelper.onNotificationPosted(r, false); + } + + // Remove last notification (the only one with different icon and color) + mGroupHelper.onNotificationRemoved(notifications.get(lastIdx)); + + // Summary should be updated to the common icon and color + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), anyString(), anyString(), + eq(initialAttr)); } @Test @@ -1202,7 +1492,7 @@ public class GroupHelperTest extends UiServiceTestCase { List<NotificationAttributes> childrenAttr = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { childrenAttr.add(new NotificationAttributes(0, icon, COLOR_DEFAULT, - DEFAULT_VISIBILITY)); + DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID)); } //Check that the generated summary icon is the same as the child notifications' @@ -1223,7 +1513,7 @@ public class GroupHelperTest extends UiServiceTestCase { List<NotificationAttributes> childrenAttr = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), COLOR_DEFAULT, - DEFAULT_VISIBILITY)); + DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID)); } // Check that the generated summary icon is the monochrome icon @@ -1240,7 +1530,7 @@ public class GroupHelperTest extends UiServiceTestCase { List<NotificationAttributes> childrenAttr = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), iconColor, - DEFAULT_VISIBILITY)); + DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID)); } // Check that the generated summary icon color is the same as the child notifications' @@ -1257,7 +1547,7 @@ public class GroupHelperTest extends UiServiceTestCase { List<NotificationAttributes> childrenAttr = new ArrayList<>(); for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), i, - DEFAULT_VISIBILITY)); + DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID)); } // Check that the generated summary icon color is the default color @@ -1274,10 +1564,10 @@ public class GroupHelperTest extends UiServiceTestCase { // Create notifications with private and public visibility List<NotificationAttributes> childrenAttr = new ArrayList<>(); childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), iconColor, - VISIBILITY_PUBLIC)); + VISIBILITY_PUBLIC, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID)); for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), iconColor, - VISIBILITY_PRIVATE)); + VISIBILITY_PRIVATE, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID)); } // Check that the generated summary visibility is public @@ -1301,7 +1591,7 @@ public class GroupHelperTest extends UiServiceTestCase { visibility = VISIBILITY_SECRET; } childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), iconColor, - visibility)); + visibility, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID)); } // Check that the generated summary visibility is private @@ -1311,6 +1601,90 @@ public class GroupHelperTest extends UiServiceTestCase { } @Test + public void testAutobundledSummaryAlertBehavior_oneChildAlertChildren() { + final String pkg = "package"; + final int iconColor = Color.BLUE; + // Create notifications with GROUP_ALERT_SUMMARY + one with GROUP_ALERT_CHILDREN + List<NotificationAttributes> childrenAttr = new ArrayList<>(); + childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), iconColor, + VISIBILITY_PUBLIC, GROUP_ALERT_CHILDREN, TEST_CHANNEL_ID)); + for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { + childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), iconColor, + VISIBILITY_PRIVATE, GROUP_ALERT_SUMMARY, TEST_CHANNEL_ID)); + } + // Check that the generated summary alert behavior is GROUP_ALERT_CHILDREN + int groupAlertBehavior = mGroupHelper.getAutobundledSummaryAttributes(pkg, + childrenAttr).groupAlertBehavior; + assertThat(groupAlertBehavior).isEqualTo(GROUP_ALERT_CHILDREN); + } + + @Test + public void testAutobundledSummaryAlertBehavior_oneChildAlertAll() { + final String pkg = "package"; + final int iconColor = Color.BLUE; + // Create notifications with GROUP_ALERT_SUMMARY + one with GROUP_ALERT_ALL + List<NotificationAttributes> childrenAttr = new ArrayList<>(); + childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), iconColor, + VISIBILITY_PUBLIC, GROUP_ALERT_ALL, TEST_CHANNEL_ID)); + for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { + childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), iconColor, + VISIBILITY_PRIVATE, GROUP_ALERT_SUMMARY, TEST_CHANNEL_ID)); + } + // Check that the generated summary alert behavior is GROUP_ALERT_CHILDREN + int groupAlertBehavior = mGroupHelper.getAutobundledSummaryAttributes(pkg, + childrenAttr).groupAlertBehavior; + assertThat(groupAlertBehavior).isEqualTo(GROUP_ALERT_CHILDREN); + } + + @Test + public void testAutobundledSummaryAlertBehavior_allChildAlertSummary() { + final String pkg = "package"; + final int iconColor = Color.BLUE; + // Create notifications with GROUP_ALERT_SUMMARY + List<NotificationAttributes> childrenAttr = new ArrayList<>(); + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), iconColor, + VISIBILITY_PRIVATE, GROUP_ALERT_SUMMARY, TEST_CHANNEL_ID)); + } + + // Check that the generated summary alert behavior is GROUP_ALERT_SUMMARY + int groupAlertBehavior = mGroupHelper.getAutobundledSummaryAttributes(pkg, + childrenAttr).groupAlertBehavior; + assertThat(groupAlertBehavior).isEqualTo(GROUP_ALERT_SUMMARY); + } + + @Test + @EnableFlags(Flags.FLAG_AUTOGROUP_SUMMARY_ICON_UPDATE) + public void testAutobundledSummaryChannelId() { + final String pkg = "package"; + final int iconColor = Color.BLUE; + final String expectedChannelId = TEST_CHANNEL_ID + "0"; + // Create notifications with different channelIds + List<NotificationAttributes> childrenAttr = new ArrayList<>(); + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + childrenAttr.add(new NotificationAttributes(0, mock(Icon.class), iconColor, + DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, TEST_CHANNEL_ID+i)); + } + + // Check that the generated summary channelId is the first child in the list + String summaryChannelId = mGroupHelper.getAutobundledSummaryAttributes(pkg, + childrenAttr).channelId; + assertThat(summaryChannelId).isEqualTo(expectedChannelId); + } + + @Test + @EnableFlags(Flags.FLAG_AUTOGROUP_SUMMARY_ICON_UPDATE) + public void testAutobundledSummaryChannelId_noChildren() { + final String pkg = "package"; + // No child notifications + List<NotificationAttributes> childrenAttr = new ArrayList<>(); + // Check that the generated summary channelId is null + String summaryChannelId = mGroupHelper.getAutobundledSummaryAttributes(pkg, + childrenAttr).channelId; + assertThat(summaryChannelId).isNull(); + } + + @Test @EnableFlags(Flags.FLAG_AUTOGROUP_SUMMARY_ICON_UPDATE) public void testMonochromeAppIcon_adaptiveIconExists() throws Exception { final String pkg = "testPackage"; @@ -1333,4 +1707,855 @@ public class GroupHelperTest extends UiServiceTestCase { assertThat(mGroupHelper.getMonochromeAppIcon(pkg).getResId()) .isEqualTo(fallbackIconResId); } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testGetAggregateGroupKey() { + final String fullAggregateGroupKey = GroupHelper.getFullAggregateGroupKey("pkg", + "groupKey", 1234); + assertThat(fullAggregateGroupKey).isEqualTo("1234|pkg|g:groupKey"); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testNoGroup_postingUnderLimit_forcedGrouping() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, true); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verifyZeroInteractions(mCallback); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testNoGroup_AutobundledAlready_forcedGrouping() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, null, true); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verifyZeroInteractions(mCallback); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testNoGroup_isCanceled_forcedGrouping() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp" + i, true); + r.isCanceled = true; + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verifyZeroInteractions(mCallback); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testNoGroup_isAggregated_forcedGrouping() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + String aggregateGroupKey = AGGREGATE_GROUP_KEY + "AlertingSection"; + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, aggregateGroupKey, true); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verifyZeroInteractions(mCallback); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testNoGroup_multiPackage_forcedGrouping() { + final String pkg = "package"; + final String pkg2 = "package2"; + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, true); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + NotificationRecord r = getNotificationRecord(pkg2, AUTOGROUP_AT_COUNT, + String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, "testGrp", true); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + verifyZeroInteractions(mCallback); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testNoGroup_multiUser_forcedGrouping() { + final String pkg = "package"; + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, true); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + NotificationRecord r = getNotificationRecord(pkg, AUTOGROUP_AT_COUNT, + String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.of(7), "testGrp", true); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + verifyZeroInteractions(mCallback); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testNoGroup_summaryWithChildren_forcedGrouping() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, true); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + // Next posted summary has 1 child => no forced grouping + NotificationRecord summary = getNotificationRecord(pkg, AUTOGROUP_AT_COUNT, + String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, "testGrp", true); + notificationList.add(summary); + NotificationRecord child = getNotificationRecord(pkg, AUTOGROUP_AT_COUNT + 1, + String.valueOf(AUTOGROUP_AT_COUNT + 1), UserHandle.SYSTEM, "testGrp", false); + notificationList.add(child); + mGroupHelper.onNotificationPostedWithDelay(summary, notificationList, summaryByGroup); + verifyZeroInteractions(mCallback); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testNoGroup_groupWithSummary_forcedGrouping() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + for (int i = 0; i < AUTOGROUP_AT_COUNT - 1; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, true); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + // Next posted notification has summary => no forced grouping + NotificationRecord summary = getNotificationRecord(pkg, AUTOGROUP_AT_COUNT, + String.valueOf(AUTOGROUP_AT_COUNT), UserHandle.SYSTEM, "testGrp", true); + notificationList.add(summary); + NotificationRecord child = getNotificationRecord(pkg, AUTOGROUP_AT_COUNT + 1, + String.valueOf(AUTOGROUP_AT_COUNT + 1), UserHandle.SYSTEM, "testGrp", false); + notificationList.add(child); + summaryByGroup.put(summary.getGroupKey(), summary); + mGroupHelper.onNotificationPostedWithDelay(child, notificationList, summaryByGroup); + verifyZeroInteractions(mCallback); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAddAggregateSummary_summaryNoChildren() { + final String pkg = "package"; + final String expectedGroupKey = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + // Post group summaries without children => force autogroup + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, true); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey), eq(true)); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAddAggregateSummary_childrenNoSummary() { + final String pkg = "package"; + final String expectedGroupKey = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + // Post group notifications without summaries => force autogroup + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, false); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey), eq(true)); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAddAggregateSummary_multipleSections() { + final String pkg = "package"; + final String expectedGroupKey_alerting = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final String expectedGroupKey_silent = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "SilentSection", UserHandle.SYSTEM.getIdentifier()); + + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + // Post notifications with different importance values => force group into separate sections + NotificationRecord r; + for (int i = 0; i < 2 * AUTOGROUP_AT_COUNT; i++) { + if (i % 2 == 0) { + r = getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM, + "testGrp " + i, true, IMPORTANCE_DEFAULT); + } else { + r = getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM, + "testGrp " + i, false, IMPORTANCE_LOW); + } + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey_alerting), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey_silent), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey_alerting), eq(true)); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey_silent), eq(true)); + + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + } + + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + @DisableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) + public void testAddAggregateSummary_mixUngroupedAndAbusive_alwaysAutogroup() { + final String pkg = "package"; + final String expectedGroupKey = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + // Post ungrouped notifications => create autogroup + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + mGroupHelper.onNotificationPosted( + getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM), false); + } + verify(mCallback, times(1)).addAutoGroupSummary( + anyInt(), eq(pkg), anyString(), eq(expectedGroupKey), + anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), eq(expectedGroupKey), + anyBoolean()); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + + reset(mCallback); + + // Post group notifications without summaries => add to autogroup + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final int id = AUTOGROUP_AT_COUNT; + NotificationRecord r = getNotificationRecord(pkg, id, String.valueOf(id), + UserHandle.SYSTEM, "testGrp " + id, false); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + + // Check that the new notification was added + verify(mCallback, times(1)).addAutoGroup(eq(r.getKey()), + eq(expectedGroupKey), eq(true)); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), eq(pkg), + eq(expectedGroupKey), any()); + verify(mCallback, never()).addAutoGroupSummary(anyInt(), anyString(), anyString(), + anyString(), anyInt(), any()); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + @DisableFlags(android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST) + public void testUpdateAggregateSummary_postUngroupedAfterForcedGrouping_alwaysAutogroup() { + final String pkg = "package"; + final String expectedGroupKey = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + // Post group notifications without summaries => force autogroup + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, false); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey), eq(true)); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + + reset(mCallback); + + // Post ungrouped notification => update autogroup + final int id = AUTOGROUP_AT_COUNT; + NotificationRecord r = getNotificationRecord(pkg, id, String.valueOf(id), + UserHandle.SYSTEM); + mGroupHelper.onNotificationPosted(r, true); + + verify(mCallback, times(1)).addAutoGroup(eq(r.getKey()), + eq(expectedGroupKey), eq(true)); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), eq(pkg), + eq(expectedGroupKey), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, never()).addAutoGroupSummary(anyInt(), anyString(), anyString(), + anyString(), anyInt(), any()); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + } + + @Test + @EnableFlags({FLAG_NOTIFICATION_FORCE_GROUPING, + android.app.Flags.FLAG_CHECK_AUTOGROUP_BEFORE_POST}) + public void testUpdateAggregateSummary_postUngroupedAfterForcedGrouping() { + final String pkg = "package"; + final String expectedGroupKey = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + // Post group notifications without summaries => force autogroup + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, false); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey), eq(true)); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + + reset(mCallback); + + // Post ungrouped notification => update autogroup + final int id = AUTOGROUP_AT_COUNT; + NotificationRecord r = getNotificationRecord(pkg, id, String.valueOf(id), + UserHandle.SYSTEM); + mGroupHelper.onNotificationPosted(r, true); + + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), eq(pkg), + eq(expectedGroupKey), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, never()).addAutoGroup(anyString(), anyString(), anyBoolean()); + verify(mCallback, never()).addAutoGroupSummary(anyInt(), anyString(), anyString(), + anyString(), anyInt(), any()); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testUpdateAggregateSummary_postAfterForcedGrouping() { + final String pkg = "package"; + final String expectedGroupKey = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + // Post group notifications w/o summaries and summaries w/o children => force autogrouping + NotificationRecord r; + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + if (i % 2 == 0) { + r = getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM, + "testGrp " + i, true); + } else { + r = getNotificationRecord(pkg, i, String.valueOf(i), UserHandle.SYSTEM, + "testGrp " + i, false); + } + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + + // Post another notification after forced grouping + final Icon icon = mock(Icon.class); + when(icon.sameAs(icon)).thenReturn(true); + final int iconColor = Color.BLUE; + r = getNotificationRecord( + getSbn(pkg, AUTOGROUP_AT_COUNT, String.valueOf(AUTOGROUP_AT_COUNT), + UserHandle.SYSTEM, "testGrp " + AUTOGROUP_AT_COUNT, icon, iconColor)); + + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT + 1)).addAutoGroup(anyString(), + eq(expectedGroupKey), eq(true)); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), eq(pkg), + eq(expectedGroupKey), any()); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testRemoveAggregateSummary_removeAllNotifications() { + final String pkg = "package"; + final String expectedGroupKey = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + // Post group notifications without summaries => force autogroup + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, false); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey), eq(true)); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + Mockito.reset(mCallback); + + // Remove all posted notifications + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, false); + r.setOverrideGroupKey(expectedGroupKey); + mGroupHelper.onNotificationRemoved(r, notificationList); + } + // Check that the autogroup summary is removed + verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), eq(pkg), + eq(expectedGroupKey)); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testMoveAggregateGroups_updateChannel() { + final String pkg = "package"; + final String expectedGroupKey_alerting = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final NotificationChannel channel = new NotificationChannel(TEST_CHANNEL_ID, + TEST_CHANNEL_ID, IMPORTANCE_DEFAULT); + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + // Post group notifications without summaries => force autogroup + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, false, channel); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey_alerting), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey_alerting), eq(true)); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + Mockito.reset(mCallback); + + // Update the channel importance for all posted notifications + final String expectedGroupKey_silent = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "SilentSection", UserHandle.SYSTEM.getIdentifier()); + channel.setImportance(IMPORTANCE_LOW); + for (NotificationRecord r: notificationList) { + r.updateNotificationChannel(channel); + } + mGroupHelper.onChannelUpdated(UserHandle.SYSTEM.getIdentifier(), pkg, channel, + notificationList); + + // Check that all notifications are moved to the silent section group + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey_silent), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey_silent), eq(false)); + + // Check that the alerting section group is removed + verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), eq(pkg), + eq(expectedGroupKey_alerting)); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testMoveAggregateGroups_updateChannel_multipleChannels() { + final String pkg = "package"; + final String expectedGroupKey_alerting = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final NotificationChannel channel1 = new NotificationChannel("TEST_CHANNEL_ID1", + "TEST_CHANNEL_ID1", IMPORTANCE_DEFAULT); + final NotificationChannel channel2 = new NotificationChannel("TEST_CHANNEL_ID2", + "TEST_CHANNEL_ID2", IMPORTANCE_DEFAULT); + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + // Post notifications with different channels that autogroup within the same section + NotificationRecord r; + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + if (i % 2 == 0) { + r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, false, channel1); + } else { + r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, false, channel2); + } + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + NotificationAttributes expectedSummaryAttr = new NotificationAttributes(BASE_FLAGS, + mSmallIcon, COLOR_DEFAULT, DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, + "TEST_CHANNEL_ID1"); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey_alerting), anyInt(), eq(expectedSummaryAttr)); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey_alerting), eq(true)); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + Mockito.reset(mCallback); + + // Update channel1's importance + final String expectedGroupKey_silent = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "SilentSection", UserHandle.SYSTEM.getIdentifier()); + channel1.setImportance(IMPORTANCE_LOW); + for (NotificationRecord record: notificationList) { + if (record.getChannel().getId().equals(channel1.getId())) { + record.updateNotificationChannel(channel1); + } + } + mGroupHelper.onChannelUpdated(UserHandle.SYSTEM.getIdentifier(), pkg, channel1, + notificationList); + + // Check that channel1's notifications are moved to the silent section group + expectedSummaryAttr = new NotificationAttributes(BASE_FLAGS, + mSmallIcon, COLOR_DEFAULT, DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, + "TEST_CHANNEL_ID1"); + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey_silent), anyInt(), eq(expectedSummaryAttr)); + verify(mCallback, times(AUTOGROUP_AT_COUNT/2 + 1)).addAutoGroup(anyString(), + eq(expectedGroupKey_silent), eq(false)); + + // Check that the alerting section group is not removed, only updated + expectedSummaryAttr = new NotificationAttributes(BASE_FLAGS, + mSmallIcon, COLOR_DEFAULT, DEFAULT_VISIBILITY, DEFAULT_GROUP_ALERT, + "TEST_CHANNEL_ID2"); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), eq(pkg), + eq(expectedGroupKey_alerting)); + verify(mCallback, times(1)).updateAutogroupSummary(anyInt(), eq(pkg), + eq(expectedGroupKey_alerting), eq(expectedSummaryAttr)); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testMoveAggregateGroups_updateChannel_groupsUngrouped() { + final String pkg = "package"; + final String expectedGroupKey_silent = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "SilentSection", UserHandle.SYSTEM.getIdentifier()); + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + + // Post too few group notifications without summaries => do not autogroup + final NotificationChannel lowPrioChannel = new NotificationChannel("TEST_CHANNEL_LOW_ID", + "TEST_CHANNEL_LOW_ID", IMPORTANCE_LOW); + final int numUngrouped = AUTOGROUP_AT_COUNT - 1; + int startIdx = 42; + for (int i = startIdx; i < startIdx + numUngrouped; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, false, lowPrioChannel); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verify(mCallback, never()).addAutoGroup(anyString(), anyString(), anyBoolean()); + verify(mCallback, never()).addAutoGroupSummary(anyInt(), anyString(), anyString(), + anyString(), anyInt(), any()); + + reset(mCallback); + + final String expectedGroupKey_alerting = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final NotificationChannel channel = new NotificationChannel(TEST_CHANNEL_ID, + TEST_CHANNEL_ID, IMPORTANCE_DEFAULT); + + // Post group notifications without summaries => force autogroup + for (int i = 0; i < AUTOGROUP_AT_COUNT; i++) { + NotificationRecord r = getNotificationRecord(pkg, i, String.valueOf(i), + UserHandle.SYSTEM, "testGrp " + i, false, channel); + notificationList.add(r); + mGroupHelper.onNotificationPostedWithDelay(r, notificationList, summaryByGroup); + } + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey_alerting), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey_alerting), eq(true)); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + Mockito.reset(mCallback); + + // Update the channel importance for all posted notifications + final int numSilentGroupNotifications = AUTOGROUP_AT_COUNT + numUngrouped; + channel.setImportance(IMPORTANCE_LOW); + for (NotificationRecord r: notificationList) { + r.updateNotificationChannel(channel); + } + mGroupHelper.onChannelUpdated(UserHandle.SYSTEM.getIdentifier(), pkg, channel, + notificationList); + + // Check that all notifications are moved to the silent section group + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey_silent), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(numSilentGroupNotifications)).addAutoGroup(anyString(), + eq(expectedGroupKey_silent), eq(false)); + + // Check that the alerting section group is removed + verify(mCallback, times(1)).removeAutoGroupSummary(anyInt(), eq(pkg), + eq(expectedGroupKey_alerting)); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + } + + @Test + @EnableFlags({FLAG_NOTIFICATION_FORCE_GROUPING, + Flags.FLAG_NOTIFICATION_FORCE_GROUP_SINGLETONS}) + public void testNoGroup_singletonGroup_underLimit() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + // Post singleton groups, under forced group limit + for (int i = 0; i < AUTOGROUP_SINGLETONS_AT_COUNT - 1; i++) { + NotificationRecord summary = getNotificationRecord(pkg, i, + String.valueOf(i), UserHandle.SYSTEM, "testGrp "+i, true); + notificationList.add(summary); + NotificationRecord child = getNotificationRecord(pkg, i + 42, + String.valueOf(i + 42), UserHandle.SYSTEM, "testGrp "+i, false); + notificationList.add(child); + summaryByGroup.put(summary.getGroupKey(), summary); + mGroupHelper.onNotificationPostedWithDelay(child, notificationList, summaryByGroup); + mGroupHelper.onNotificationPostedWithDelay(summary, notificationList, summaryByGroup); + } + verifyZeroInteractions(mCallback); + } + + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + @DisableFlags(Flags.FLAG_NOTIFICATION_FORCE_GROUP_SINGLETONS) + public void testAddAggregateSummary_singletonGroup_disableFlag() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + // Post singleton groups, above forced group limit + for (int i = 0; i < AUTOGROUP_SINGLETONS_AT_COUNT; i++) { + NotificationRecord summary = getNotificationRecord(pkg, i, + String.valueOf(i), UserHandle.SYSTEM, "testGrp "+i, true); + notificationList.add(summary); + NotificationRecord child = getNotificationRecord(pkg, i + 42, + String.valueOf(i + 42), UserHandle.SYSTEM, "testGrp "+i, false); + notificationList.add(child); + summaryByGroup.put(summary.getGroupKey(), summary); + mGroupHelper.onNotificationPostedWithDelay(child, notificationList, summaryByGroup); + mGroupHelper.onNotificationPostedWithDelay(summary, notificationList, summaryByGroup); + } + // FLAG_NOTIFICATION_FORCE_GROUP_SINGLETONS is disabled => don't force group + verifyZeroInteractions(mCallback); + } + + @Test + @EnableFlags({FLAG_NOTIFICATION_FORCE_GROUPING, + Flags.FLAG_NOTIFICATION_FORCE_GROUP_SINGLETONS}) + public void testAddAggregateSummary_singletonGroups() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + final String expectedGroupKey = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + // Post singleton groups, above forced group limit + for (int i = 0; i < AUTOGROUP_SINGLETONS_AT_COUNT; i++) { + NotificationRecord summary = getNotificationRecord(pkg, i, + String.valueOf(i), UserHandle.SYSTEM, "testGrp "+i, true); + notificationList.add(summary); + NotificationRecord child = getNotificationRecord(pkg, i + 42, + String.valueOf(i + 42), UserHandle.SYSTEM, "testGrp "+i, false); + notificationList.add(child); + summaryByGroup.put(summary.getGroupKey(), summary); + mGroupHelper.onNotificationPostedWithDelay(child, notificationList, summaryByGroup); + summary.isCanceled = true; // simulate removing the app summary + mGroupHelper.onNotificationPostedWithDelay(summary, notificationList, summaryByGroup); + + } + // Check that notifications are forced grouped + verify(mCallback, times(1)).addAutoGroupSummary(anyInt(), eq(pkg), anyString(), + eq(expectedGroupKey), anyInt(), eq(getNotificationAttributes(BASE_FLAGS))); + verify(mCallback, times(AUTOGROUP_SINGLETONS_AT_COUNT)).addAutoGroup(anyString(), + eq(expectedGroupKey), eq(true)); + verify(mCallback, never()).removeAutoGroup(anyString()); + verify(mCallback, never()).removeAutoGroupSummary(anyInt(), anyString(), anyString()); + verify(mCallback, never()).updateAutogroupSummary(anyInt(), anyString(), anyString(), + any()); + + // Check that summaries are canceled + verify(mCallback, times(AUTOGROUP_SINGLETONS_AT_COUNT)).removeAppProvidedSummary(anyString()); + } + + @Test + @EnableFlags({FLAG_NOTIFICATION_FORCE_GROUPING, + Flags.FLAG_NOTIFICATION_FORCE_GROUP_SINGLETONS}) + public void testCancelCachedSummary_singletonGroups() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + final int id = 0; + // Post singleton groups, above forced group limit + for (int i = 0; i < AUTOGROUP_SINGLETONS_AT_COUNT; i++) { + NotificationRecord summary = getNotificationRecord(pkg, i, + String.valueOf(i), UserHandle.SYSTEM, "testGrp "+i, true); + notificationList.add(summary); + NotificationRecord child = getNotificationRecord(pkg, i + 42, + String.valueOf(i + 42), UserHandle.SYSTEM, "testGrp "+i, false); + notificationList.add(child); + summaryByGroup.put(summary.getGroupKey(), summary); + mGroupHelper.onNotificationPostedWithDelay(child, notificationList, summaryByGroup); + summary.isCanceled = true; // simulate removing the app summary + mGroupHelper.onNotificationPostedWithDelay(summary, notificationList, summaryByGroup); + } + Mockito.reset(mCallback); + + // App cancels the summary of an aggregated group + mGroupHelper.maybeCancelGroupChildrenForCanceledSummary(pkg, String.valueOf(id), id, + UserHandle.SYSTEM.getIdentifier(), REASON_APP_CANCEL); + + verify(mCallback, times(1)).removeNotificationFromCanceledGroup( + eq(UserHandle.SYSTEM.getIdentifier()), eq(pkg), eq("testGrp " + id), + eq(REASON_APP_CANCEL)); + CachedSummary cachedSummary = mGroupHelper.findCanceledSummary(pkg, String.valueOf(id), id, + UserHandle.SYSTEM.getIdentifier()); + assertThat(cachedSummary).isNull(); + } + + @Test + @EnableFlags({FLAG_NOTIFICATION_FORCE_GROUPING, + Flags.FLAG_NOTIFICATION_FORCE_GROUP_SINGLETONS}) + public void testRemoveCachedSummary_singletonGroups_removeChildren() { + final List<NotificationRecord> notificationList = new ArrayList<>(); + final ArrayMap<String, NotificationRecord> summaryByGroup = new ArrayMap<>(); + final String pkg = "package"; + final String expectedGroupKey = GroupHelper.getFullAggregateGroupKey(pkg, + AGGREGATE_GROUP_KEY + "AlertingSection", UserHandle.SYSTEM.getIdentifier()); + final int id = 0; + NotificationRecord childToRemove = null; + // Post singleton groups, above forced group limit + for (int i = 0; i < AUTOGROUP_SINGLETONS_AT_COUNT; i++) { + NotificationRecord summary = getNotificationRecord(pkg, i, + String.valueOf(i), UserHandle.SYSTEM, "testGrp "+i, true); + notificationList.add(summary); + NotificationRecord child = getNotificationRecord(pkg, i + 42, String.valueOf(i + 42), + UserHandle.SYSTEM, "testGrp " + i, false); + if (i == id) { + childToRemove = child; + } + notificationList.add(child); + summaryByGroup.put(summary.getGroupKey(), summary); + mGroupHelper.onNotificationPostedWithDelay(child, notificationList, summaryByGroup); + summary.isCanceled = true; // simulate removing the app summary + mGroupHelper.onNotificationPostedWithDelay(summary, notificationList, summaryByGroup); + } + // override group key for child notifications + List<NotificationRecord> notificationListAfterGrouping = new ArrayList<>( + notificationList.stream().filter(r -> { + if (r.getSbn().getNotification().isGroupChild()) { + r.setOverrideGroupKey(expectedGroupKey); + return true; + } else { + return false; + } + }).toList()); + summaryByGroup.clear(); + Mockito.reset(mCallback); + + //Cancel child 0 => remove cached summary + childToRemove.isCanceled = true; + notificationListAfterGrouping.remove(childToRemove); + mGroupHelper.onNotificationRemoved(childToRemove, notificationListAfterGrouping); + CachedSummary cachedSummary = mGroupHelper.findCanceledSummary(pkg, String.valueOf(id), id, + UserHandle.SYSTEM.getIdentifier()); + assertThat(cachedSummary).isNull(); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testGroupSectioners() { + final NotificationRecord notification_alerting = getNotificationRecord(mPkg, 0, "", mUser, + "", false, IMPORTANCE_DEFAULT); + assertThat(GroupHelper.getSection(notification_alerting).mName).isEqualTo("AlertingSection"); + + final NotificationRecord notification_silent = getNotificationRecord(mPkg, 0, "", mUser, + "", false, IMPORTANCE_LOW); + assertThat(GroupHelper.getSection(notification_silent).mName).isEqualTo("SilentSection"); + + NotificationRecord notification_conversation = mock(NotificationRecord.class); + when(notification_conversation.isConversation()).thenReturn(true); + assertThat(GroupHelper.getSection(notification_conversation)).isNull(); + + NotificationRecord notification_call = spy(getNotificationRecord(mPkg, 0, "", mUser, + "", false, IMPORTANCE_LOW)); + Notification n = mock(Notification.class); + StatusBarNotification sbn = spy(getSbn("package", 0, "0", UserHandle.SYSTEM)); + when(notification_call.isConversation()).thenReturn(false); + when(notification_call.getNotification()).thenReturn(n); + when(notification_call.getSbn()).thenReturn(sbn); + when(sbn.getNotification()).thenReturn(n); + when(n.isStyle(Notification.CallStyle.class)).thenReturn(true); + assertThat(GroupHelper.getSection(notification_call)).isNull(); + + NotificationRecord notification_colorFg = spy(getNotificationRecord(mPkg, 0, "", mUser, + "", false, IMPORTANCE_LOW)); + sbn = spy(getSbn("package", 0, "0", UserHandle.SYSTEM)); + n = mock(Notification.class); + when(notification_colorFg.isConversation()).thenReturn(false); + when(notification_colorFg.getNotification()).thenReturn(n); + when(notification_colorFg.getSbn()).thenReturn(sbn); + when(sbn.getNotification()).thenReturn(n); + when(n.isForegroundService()).thenReturn(true); + when(n.isColorized()).thenReturn(true); + when(n.isStyle(Notification.CallStyle.class)).thenReturn(false); + assertThat(GroupHelper.getSection(notification_colorFg)).isNull(); + } + } diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAttentionHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAttentionHelperTest.java index 3da80314e6d4..2233aa2eed0f 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAttentionHelperTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAttentionHelperTest.java @@ -84,6 +84,8 @@ import android.os.UserManager; import android.os.VibrationAttributes; import android.os.VibrationEffect; import android.os.Vibrator; +import android.platform.test.annotations.DisableFlags; +import android.platform.test.annotations.EnableFlags; import android.platform.test.flag.junit.SetFlagsRule; import android.provider.Settings; import android.service.notification.NotificationListenerService; @@ -1221,6 +1223,44 @@ public class NotificationAttentionHelperTest extends UiServiceTestCase { } @Test + @EnableFlags(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) + public void testSilentNotification_flagSilent() throws Exception { + final Notification n = new Builder(getContext(), "test") + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .setSilent(true) + .build(); + StatusBarNotification sbn = new StatusBarNotification(mPkg, mPkg, 0, mTag, mUid, + mPid, n, mUser, null, System.currentTimeMillis()); + NotificationRecord r = new NotificationRecord(getContext(), sbn, + new NotificationChannel("test", "test", IMPORTANCE_HIGH)); + + mAttentionHelper.buzzBeepBlinkLocked(r, DEFAULT_SIGNALS); + verifyNeverBeep(); + assertFalse(r.isInterruptive()); + assertEquals(-1, r.getLastAudiblyAlertedMs()); + assertTrue(mAttentionHelper.shouldMuteNotificationLocked(r, DEFAULT_SIGNALS)); + } + + @Test + @DisableFlags(android.service.notification.Flags.FLAG_NOTIFICATION_SILENT_FLAG) + public void testSilentNotification_groupKeySilent() throws Exception { + final Notification n = new Builder(getContext(), "test") + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .setSilent(true) + .build(); + StatusBarNotification sbn = new StatusBarNotification(mPkg, mPkg, 0, mTag, mUid, + mPid, n, mUser, null, System.currentTimeMillis()); + NotificationRecord r = new NotificationRecord(getContext(), sbn, + new NotificationChannel("test", "test", IMPORTANCE_HIGH)); + + mAttentionHelper.buzzBeepBlinkLocked(r, DEFAULT_SIGNALS); + verifyNeverBeep(); + assertFalse(r.isInterruptive()); + assertEquals(-1, r.getLastAudiblyAlertedMs()); + assertTrue(mAttentionHelper.shouldMuteNotificationLocked(r, DEFAULT_SIGNALS)); + } + + @Test public void testHonorAlertOnlyOnceForBuzz() throws Exception { NotificationRecord r = getBuzzyNotification(); NotificationRecord s = getBuzzyOnceNotification(); diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java index c48d745b1dc0..5d306e152ad7 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java @@ -39,8 +39,10 @@ import static android.app.Notification.FLAG_NO_DISMISS; import static android.app.Notification.FLAG_ONGOING_EVENT; import static android.app.Notification.FLAG_ONLY_ALERT_ONCE; import static android.app.Notification.FLAG_USER_INITIATED_JOB; +import static android.app.Notification.GROUP_ALERT_CHILDREN; import static android.app.Notification.VISIBILITY_PRIVATE; import static android.app.NotificationChannel.NEWS_ID; +import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID; import static android.app.NotificationChannel.USER_LOCKED_ALLOW_BUBBLE; import static android.app.NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED; import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL; @@ -98,11 +100,13 @@ import static android.service.notification.Adjustment.TYPE_NEWS; import static android.service.notification.Condition.SOURCE_CONTEXT; import static android.service.notification.Condition.SOURCE_USER_ACTION; import static android.service.notification.Condition.STATE_TRUE; +import static android.service.notification.Flags.FLAG_NOTIFICATION_FORCE_GROUPING; import static android.service.notification.Flags.FLAG_REDACT_SENSITIVE_NOTIFICATIONS_FROM_UNTRUSTED_LISTENERS; import static android.service.notification.NotificationListenerService.FLAG_FILTER_TYPE_ALERTING; import static android.service.notification.NotificationListenerService.FLAG_FILTER_TYPE_CONVERSATIONS; import static android.service.notification.NotificationListenerService.FLAG_FILTER_TYPE_ONGOING; import static android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_EFFECTS; +import static android.service.notification.NotificationListenerService.REASON_APP_CANCEL; import static android.service.notification.NotificationListenerService.REASON_CANCEL; import static android.service.notification.NotificationListenerService.REASON_LOCKDOWN; import static android.service.notification.NotificationListenerService.Ranking.USER_SENTIMENT_NEGATIVE; @@ -117,6 +121,7 @@ import static com.android.server.am.PendingIntentRecord.FLAG_BROADCAST_SENDER; import static com.android.server.am.PendingIntentRecord.FLAG_SERVICE_SENDER; import static com.android.server.notification.Flags.FLAG_ALL_NOTIFS_NEED_TTL; import static com.android.server.notification.Flags.FLAG_REJECT_OLD_NOTIFICATIONS; +import static com.android.server.notification.GroupHelper.AUTOGROUP_KEY; import static com.android.server.notification.NotificationManagerService.BITMAP_DURATION; import static com.android.server.notification.NotificationManagerService.DEFAULT_MAX_NOTIFICATION_ENQUEUE_RATE; import static com.android.server.notification.NotificationManagerService.NOTIFICATION_TTL; @@ -369,6 +374,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { private static final int TOAST_DURATION = 2_000; private static final int SECONDARY_DISPLAY_ID = 42; private static final int TEST_PROFILE_USERHANDLE = 12; + private static final long DELAY_FORCE_REGROUP_TIME = 3000; private static final String ACTION_NOTIFICATION_TIMEOUT = NotificationManagerService.class.getSimpleName() + ".TIMEOUT"; @@ -2487,43 +2493,372 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { } @Test + @DisableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) public void testAutobundledSummary_notificationAdded() { NotificationRecord summary = - generateNotificationRecord(mTestNotificationChannel, 0, "pkg", true); + generateNotificationRecord(mTestNotificationChannel, 0, AUTOGROUP_KEY, true); summary.getNotification().flags |= Notification.FLAG_AUTOGROUP_SUMMARY; mService.addNotification(summary); mService.mSummaryByGroupKey.put("pkg", summary); mService.mAutobundledSummaries.put(0, new ArrayMap<>()); mService.mAutobundledSummaries.get(0).put("pkg", summary.getKey()); - mService.updateAutobundledSummaryLocked(0, "pkg", + mService.updateAutobundledSummaryLocked(0, "pkg", AUTOGROUP_KEY, new NotificationAttributes(GroupHelper.BASE_FLAGS | FLAG_ONGOING_EVENT, - mock(Icon.class), 0, VISIBILITY_PRIVATE), false); + mock(Icon.class), 0, + VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, DEFAULT_CHANNEL_ID), false); waitForIdle(); assertTrue(summary.getSbn().isOngoing()); } @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAutobundledSummary_notificationAdded_forcedGrouping() { + NotificationRecord summary = + generateNotificationRecord(mTestNotificationChannel, 0, AUTOGROUP_KEY, true); + summary.getNotification().flags |= Notification.FLAG_AUTOGROUP_SUMMARY; + mService.addNotification(summary); + mService.mSummaryByGroupKey.put("pkg", summary); + mService.mAutobundledSummaries.put(0, new ArrayMap<>()); + mService.mAutobundledSummaries.get(0).put(summary.getGroupKey(), summary.getKey()); + + mService.updateAutobundledSummaryLocked(0, "pkg", summary.getGroupKey(), + new NotificationAttributes(GroupHelper.BASE_FLAGS | FLAG_ONGOING_EVENT, + mock(Icon.class), 0, + VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, DEFAULT_CHANNEL_ID), false); + waitForIdle(); + + assertTrue(summary.getSbn().isOngoing()); + } + + @Test + @DisableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) public void testAutobundledSummary_notificationRemoved() { NotificationRecord summary = - generateNotificationRecord(mTestNotificationChannel, 0, "pkg", true); + generateNotificationRecord(mTestNotificationChannel, 0, AUTOGROUP_KEY, true); summary.getNotification().flags |= Notification.FLAG_AUTOGROUP_SUMMARY; summary.getNotification().flags |= Notification.FLAG_ONGOING_EVENT; mService.addNotification(summary); mService.mAutobundledSummaries.put(0, new ArrayMap<>()); mService.mAutobundledSummaries.get(0).put("pkg", summary.getKey()); - mService.mSummaryByGroupKey.put("pkg", summary); + mService.mSummaryByGroupKey.put(summary.getGroupKey(), summary); - mService.updateAutobundledSummaryLocked(0, "pkg", + mService.updateAutobundledSummaryLocked(0, "pkg", AUTOGROUP_KEY, new NotificationAttributes(GroupHelper.BASE_FLAGS, - mock(Icon.class), 0, VISIBILITY_PRIVATE), false); + mock(Icon.class), 0, + VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, DEFAULT_CHANNEL_ID), false); waitForIdle(); assertFalse(summary.getSbn().isOngoing()); } @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAutobundledSummary_notificationRemoved_forceGrouping() { + NotificationRecord summary = + generateNotificationRecord(mTestNotificationChannel, 0, AUTOGROUP_KEY, true); + summary.getNotification().flags |= Notification.FLAG_AUTOGROUP_SUMMARY; + summary.getNotification().flags |= Notification.FLAG_ONGOING_EVENT; + mService.addNotification(summary); + mService.mAutobundledSummaries.put(0, new ArrayMap<>()); + mService.mAutobundledSummaries.get(0).put(summary.getGroupKey(), summary.getKey()); + + mService.updateAutobundledSummaryLocked(0, "pkg", summary.getGroupKey(), + new NotificationAttributes(GroupHelper.BASE_FLAGS, + mock(Icon.class), 0, + VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, DEFAULT_CHANNEL_ID), false); + waitForIdle(); + + assertFalse(summary.getSbn().isOngoing()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAggregatedSummary_updateSummaryAttributes() { + final String aggregateGroupName = "Aggregate_Test"; + final String newChannelId = "newChannelId"; + final NotificationChannel newChannel = new NotificationChannel( + newChannelId, newChannelId, IMPORTANCE_DEFAULT); + mService.setPreferencesHelper(mPreferencesHelper); + final NotificationRecord summary = + generateNotificationRecord(mTestNotificationChannel, 0, aggregateGroupName, true); + final String groupKey = summary.getGroupKey(); + summary.getNotification().flags |= Notification.FLAG_AUTOGROUP_SUMMARY; + mService.addNotification(summary); + mService.mAutobundledSummaries.put(0, new ArrayMap<>()); + mService.mAutobundledSummaries.get(0).put(groupKey, summary.getKey()); + when(mPreferencesHelper.getNotificationChannel(eq("pkg"), anyInt(), + eq(newChannelId), anyBoolean())).thenReturn(newChannel); + + mService.updateAutobundledSummaryLocked(0, "pkg", groupKey, + new NotificationAttributes(GroupHelper.BASE_FLAGS | FLAG_ONGOING_EVENT, + mock(Icon.class), 0, VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, newChannelId), + false); + waitForIdle(); + + assertTrue(summary.getSbn().isOngoing()); + assertThat(summary.getNotification().getGroupAlertBehavior()).isEqualTo( + GROUP_ALERT_CHILDREN); + + assertThat(summary.getChannel().getId()).isEqualTo(newChannelId); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAddAggregateNotification_notifyPostedLocked() throws Exception { + final String originalGroupName = "originalGroup"; + final NotificationRecord r = + generateNotificationRecord(mTestNotificationChannel, 0, originalGroupName, false); + mService.addNotification(r); + mService.addAutogroupKeyLocked(r.getKey(), "grpKey", true); + + assertThat(r.getSbn().getOverrideGroupKey()).isEqualTo("grpKey"); + verify(mRankingHandler, times(1)).requestSort(); + verify(mListeners, times(1)).notifyPostedLocked(eq(r), eq(r)); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testAddAggregateSummaryNotification_convertSummary() throws Exception { + final String originalGroupName = "originalGroup"; + final NotificationRecord r = + generateNotificationRecord(mTestNotificationChannel, 0, originalGroupName, true); + final String groupKey = r.getGroupKey(); + mService.addNotification(r); + assertThat(mService.mSummaryByGroupKey.containsKey(groupKey)).isTrue(); + boolean isConverted = mService.convertSummaryToNotificationLocked(r.getKey()); + + assertThat(isConverted).isTrue(); + assertThat(r.getSbn().isGroup()).isTrue(); + assertThat(r.getNotification().isGroupSummary()).isFalse(); + assertThat(mService.mSummaryByGroupKey.containsKey(groupKey)).isFalse(); + } + + @Test + @EnableFlags({FLAG_NOTIFICATION_FORCE_GROUPING, + Flags.FLAG_NOTIFICATION_FORCE_GROUP_SINGLETONS}) + public void testAggregateGroups_RemoveAppSummary() throws Exception { + final String originalGroupName = "originalGroup"; + final NotificationRecord r = + generateNotificationRecord(mTestNotificationChannel, 0, originalGroupName, true); + mService.addNotification(r); + mService.removeAppSummaryLocked(r.getKey()); + + assertThat(r.isCanceled).isTrue(); + waitForIdle(); + verify(mWorkerHandler, times(1)).scheduleCancelNotification(any(), eq(0)); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testUngroupingAggregateSummary() throws Exception { + final String originalGroupName = "originalGroup"; + final String aggregateGroupName = "Aggregate_Test"; + final int summaryId = Integer.MAX_VALUE; + // Add 2 group notifications without a summary + NotificationRecord nr0 = + generateNotificationRecord(mTestNotificationChannel, 0, originalGroupName, false); + NotificationRecord nr1 = + generateNotificationRecord(mTestNotificationChannel, 1, originalGroupName, false); + mService.addNotification(nr0); + mService.addNotification(nr1); + mService.mSummaryByGroupKey.remove(nr0.getGroupKey()); + + // GroupHelper is a mock, so make the calls it would make + // Add aggregate group summary + NotificationAttributes attr = new NotificationAttributes(GroupHelper.BASE_FLAGS, + mock(Icon.class), 0, VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, + nr0.getChannel().getId()); + NotificationRecord aggregateSummary = mService.createAutoGroupSummary(nr0.getUserId(), + nr0.getSbn().getPackageName(), nr0.getKey(), aggregateGroupName, summaryId, attr); + mService.addNotification(aggregateSummary); + nr0.setOverrideGroupKey(aggregateGroupName); + nr1.setOverrideGroupKey(aggregateGroupName); + final String fullAggregateGroupKey = nr0.getGroupKey(); + + // Check that the aggregate group summary was created + assertThat(aggregateSummary.getNotification().getGroup()).isEqualTo(aggregateGroupName); + assertThat(aggregateSummary.getNotification().getChannelId()).isEqualTo( + nr0.getChannel().getId()); + assertThat(mService.mSummaryByGroupKey.containsKey(fullAggregateGroupKey)).isTrue(); + + // Cancel both children + mBinderService.cancelNotificationWithTag(mPkg, mPkg, nr0.getSbn().getTag(), + nr0.getSbn().getId(), nr0.getSbn().getUserId()); + mBinderService.cancelNotificationWithTag(mPkg, mPkg, nr1.getSbn().getTag(), + nr1.getSbn().getId(), nr1.getSbn().getUserId()); + waitForIdle(); + + verify(mGroupHelper, times(1)).onNotificationRemoved(eq(nr0), any()); + verify(mGroupHelper, times(1)).onNotificationRemoved(eq(nr1), any()); + + // GroupHelper would send 'remove summary' event + mService.clearAutogroupSummaryLocked(nr1.getUserId(), nr1.getSbn().getPackageName(), + fullAggregateGroupKey); + waitForIdle(); + + // Make sure the summary was removed and not re-posted + assertThat(mService.getNotificationRecordCount()).isEqualTo(0); + } + + @Test + @EnableFlags({FLAG_NOTIFICATION_FORCE_GROUPING, + Flags.FLAG_NOTIFICATION_FORCE_GROUP_SINGLETONS}) + public void testCancelGroupChildrenForCanceledSummary_singletonGroup() throws Exception { + final String originalGroupName = "originalGroup"; + final String aggregateGroupName = "Aggregate_Test"; + final int summaryId = Integer.MAX_VALUE; + // Add a "singleton group" + NotificationRecord nr0 = + generateNotificationRecord(mTestNotificationChannel, 0, originalGroupName, false); + NotificationRecord nr1 = + generateNotificationRecord(mTestNotificationChannel, 1, originalGroupName, false); + final NotificationRecord summary = + generateNotificationRecord(mTestNotificationChannel, 2, originalGroupName, true); + final String originalGroupKey = summary.getGroupKey(); + mService.addNotification(nr0); + mService.addNotification(nr1); + mService.addNotification(summary); + + // GroupHelper is a mock, so make the calls it would make + // Remove the app's summary notification + mService.removeAppSummaryLocked(summary.getKey()); + waitForIdle(); + + // Add aggregate group summary + NotificationAttributes attr = new NotificationAttributes(GroupHelper.BASE_FLAGS, + mock(Icon.class), 0, VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, + nr0.getChannel().getId()); + NotificationRecord aggregateSummary = mService.createAutoGroupSummary(nr0.getUserId(), + nr0.getSbn().getPackageName(), nr0.getKey(), aggregateGroupName, summaryId, attr); + mService.addNotification(aggregateSummary); + + nr0.setOverrideGroupKey(aggregateGroupName); + nr1.setOverrideGroupKey(aggregateGroupName); + final String fullAggregateGroupKey = nr0.getGroupKey(); + + assertThat(aggregateSummary.getNotification().getGroup()).isEqualTo(aggregateGroupName); + assertThat(aggregateSummary.getNotification().getChannelId()).isEqualTo( + nr0.getChannel().getId()); + assertThat(mService.mSummaryByGroupKey.containsKey(fullAggregateGroupKey)).isTrue(); + assertThat(mService.mSummaryByGroupKey.containsKey(originalGroupKey)).isFalse(); + + // Cancel the original app summary (is already removed) + mBinderService.cancelNotificationWithTag(summary.getSbn().getPackageName(), + summary.getSbn().getPackageName(), summary.getSbn().getTag(), + summary.getSbn().getId(), summary.getSbn().getUserId()); + waitForIdle(); + + // Check if NMS.CancelNotificationRunnable calls maybeCancelGroupChildrenForCanceledSummary + verify(mGroupHelper, times(1)).maybeCancelGroupChildrenForCanceledSummary( + eq(summary.getSbn().getPackageName()), eq(summary.getSbn().getTag()), + eq(summary.getSbn().getId()), eq(summary.getSbn().getUserId()), + eq(REASON_APP_CANCEL)); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testUpdateChannel_notifyGroupHelper() throws Exception { + mService.setPreferencesHelper(mPreferencesHelper); + mTestNotificationChannel.setLightColor(Color.CYAN); + when(mPreferencesHelper.getNotificationChannel(eq(mPkg), anyInt(), + eq(mTestNotificationChannel.getId()), anyBoolean())) + .thenReturn(mTestNotificationChannel); + + mBinderService.updateNotificationChannelForPackage(mPkg, mUid, mTestNotificationChannel); + mTestableLooper.moveTimeForward(DELAY_FORCE_REGROUP_TIME); + waitForIdle(); + + verify(mGroupHelper, times(1)).onChannelUpdated(eq(Process.myUserHandle().getIdentifier()), + eq(mPkg), eq(mTestNotificationChannel), any()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testSnoozeRunnable_snoozeAggregateGroupChild_summaryNotSnoozed() throws Exception { + final String aggregateGroupName = "Aggregate_Test"; + + // build autogroup summary notification + Notification.Builder nb = new Notification.Builder(mContext, + mTestNotificationChannel.getId()) + .setContentTitle("foo") + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .setGroup(aggregateGroupName) + .setGroupSummary(true) + .setFlag(Notification.FLAG_AUTOGROUP_SUMMARY, true); + StatusBarNotification sbn = new StatusBarNotification(mPkg, mPkg, 1, + "tag" + System.currentTimeMillis(), mUid, 0, nb.build(), + UserHandle.getUserHandleForUid(mUid), null, 0); + final NotificationRecord summary = new NotificationRecord(mContext, sbn, + mTestNotificationChannel); + + final NotificationRecord child = generateNotificationRecord( + mTestNotificationChannel, 2, aggregateGroupName, false); + mService.addNotification(summary); + mService.addNotification(child); + when(mSnoozeHelper.canSnooze(anyInt())).thenReturn(true); + + // snooze child only + NotificationManagerService.SnoozeNotificationRunnable snoozeNotificationRunnable = + mService.new SnoozeNotificationRunnable( + child.getKey(), 100, null); + snoozeNotificationRunnable.run(); + + // only child should be snoozed + verify(mSnoozeHelper, times(1)).snooze(any(NotificationRecord.class), anyLong()); + + // both group summary and child should be cancelled + assertNull(mService.getNotificationRecord(summary.getKey())); + assertNull(mService.getNotificationRecord(child.getKey())); + + assertEquals(4, mNotificationRecordLogger.numCalls()); + assertEquals(NotificationRecordLogger.NotificationEvent.NOTIFICATION_SNOOZED, + mNotificationRecordLogger.event(0)); + assertEquals( + NotificationRecordLogger.NotificationCancelledEvent.NOTIFICATION_CANCEL_SNOOZED, + mNotificationRecordLogger.event(1)); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testOnlyForceGroupIfNeeded_newNotification_notAutogrouped() { + NotificationRecord r = generateNotificationRecord(mTestNotificationChannel, 0, null, false); + when(mGroupHelper.onNotificationPosted(any(), anyBoolean())).thenReturn(false); + mService.addEnqueuedNotification(r); + NotificationManagerService.PostNotificationRunnable runnable = + mService.new PostNotificationRunnable(r.getKey(), r.getSbn().getPackageName(), + r.getUid(), mPostNotificationTrackerFactory.newTracker(null)); + runnable.run(); + waitForIdle(); + + mTestableLooper.moveTimeForward(DELAY_FORCE_REGROUP_TIME); + waitForIdle(); + + verify(mGroupHelper, times(1)).onNotificationPosted(any(), anyBoolean()); + verify(mGroupHelper, times(1)).onNotificationPostedWithDelay(eq(r), any(), any()); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testOnlyForceGroupIfNeeded_newNotification_wasAutogrouped() { + NotificationRecord r = generateNotificationRecord(mTestNotificationChannel, 0, null, false); + when(mGroupHelper.onNotificationPosted(any(), anyBoolean())).thenReturn(true); + mService.addEnqueuedNotification(r); + NotificationManagerService.PostNotificationRunnable runnable = + mService.new PostNotificationRunnable(r.getKey(), r.getSbn().getPackageName(), + r.getUid(), mPostNotificationTrackerFactory.newTracker(null)); + runnable.run(); + waitForIdle(); + + mTestableLooper.moveTimeForward(DELAY_FORCE_REGROUP_TIME); + waitForIdle(); + + verify(mGroupHelper, times(1)).onNotificationPosted(any(), anyBoolean()); + verify(mGroupHelper, never()).onNotificationPostedWithDelay(eq(r), any(), any()); + } + + @Test public void testCancelAllNotifications_IgnoreForegroundService() throws Exception { when(mAmi.applyForegroundServiceNotification( any(), anyString(), anyInt(), anyString(), anyInt())).thenReturn(SHOW_IMMEDIATELY); @@ -3653,9 +3988,11 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { when(mPermissionHelper.hasPermission(mUid)).thenReturn(true); when(mPermissionHelper.isPermissionFixed(mPkg, temp.getUserId())).thenReturn(true); + NotificationAttributes attr = new NotificationAttributes(GroupHelper.BASE_FLAGS, + mock(Icon.class), 0, VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, DEFAULT_CHANNEL_ID); + NotificationRecord r = mService.createAutoGroupSummary(temp.getUserId(), - temp.getSbn().getPackageName(), temp.getKey(), 0, mock(Icon.class), 0, - VISIBILITY_PRIVATE); + temp.getSbn().getPackageName(), temp.getKey(), AUTOGROUP_KEY, Integer.MAX_VALUE, attr); assertThat(r.isImportanceFixed()).isTrue(); } @@ -4796,6 +5133,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { } @Test + @DisableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) public void testSnoozeRunnable_snoozeAutoGroupChild_summaryNotSnoozed() throws Exception { final NotificationRecord parent = generateNotificationRecord( mTestNotificationChannel, 1, GroupHelper.AUTOGROUP_KEY, true); @@ -5659,7 +5997,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { public void testAddAutogroup_requestsSort() throws Exception { final NotificationRecord r = generateNotificationRecord(mTestNotificationChannel); mService.addNotification(r); - mService.addAutogroupKeyLocked(r.getKey(), true); + mService.addAutogroupKeyLocked(r.getKey(), "grpKey", true); verify(mRankingHandler, times(1)).requestSort(); } @@ -5679,7 +6017,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { final NotificationRecord r = generateNotificationRecord(mTestNotificationChannel); r.setOverrideGroupKey("TEST"); mService.addNotification(r); - mService.addAutogroupKeyLocked(r.getKey(), true); + mService.addAutogroupKeyLocked(r.getKey(), "grpName", true); verify(mRankingHandler, never()).requestSort(); } @@ -5689,7 +6027,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { public void testAutogroupSuppressSort_noSort() throws Exception { final NotificationRecord r = generateNotificationRecord(mTestNotificationChannel); mService.addNotification(r); - mService.addAutogroupKeyLocked(r.getKey(), false); + mService.addAutogroupKeyLocked(r.getKey(), "grpName", false); verify(mRankingHandler, never()).requestSort(); } @@ -12688,6 +13026,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { } @Test + @DisableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) public void testUngroupingOngoingAutoSummary() throws Exception { NotificationRecord nr0 = generateNotificationRecord(mTestNotificationChannel, 0); @@ -12701,10 +13040,12 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { // grouphelper is a mock here, so make the calls it would make // add summary + NotificationAttributes attr = new NotificationAttributes( + GroupHelper.BASE_FLAGS | FLAG_ONGOING_EVENT, mock(Icon.class), 0, + VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, DEFAULT_CHANNEL_ID); mService.addNotification( mService.createAutoGroupSummary(nr1.getUserId(), nr1.getSbn().getPackageName(), - nr1.getKey(), GroupHelper.BASE_FLAGS | FLAG_ONGOING_EVENT, mock(Icon.class), 0, - VISIBILITY_PRIVATE)); + nr1.getKey(), AUTOGROUP_KEY, Integer.MAX_VALUE, attr)); // cancel both children mBinderService.cancelNotificationWithTag(mPkg, mPkg, nr0.getSbn().getTag(), @@ -12714,7 +13055,46 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { waitForIdle(); // group helper would send 'remove summary' event - mService.clearAutogroupSummaryLocked(nr1.getUserId(), nr1.getSbn().getPackageName()); + mService.clearAutogroupSummaryLocked(nr1.getUserId(), nr1.getSbn().getPackageName(), + AUTOGROUP_KEY); + waitForIdle(); + + // make sure the summary was removed and not re-posted + assertThat(mService.getNotificationRecordCount()).isEqualTo(0); + } + + @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testUngroupingOngoingAutoSummary_forceGrouping() throws Exception { + NotificationRecord nr0 = + generateNotificationRecord(mTestNotificationChannel, 0); + NotificationRecord nr1 = + generateNotificationRecord(mTestNotificationChannel, 0); + nr1.getSbn().getNotification().flags |= FLAG_ONGOING_EVENT; + + mService.addNotification(nr0); + mService.addNotification(nr1); + + // grouphelper is a mock here, so make the calls it would make + + // add summary + NotificationAttributes attr = new NotificationAttributes( + GroupHelper.BASE_FLAGS | FLAG_ONGOING_EVENT, mock(Icon.class), 0, + VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, DEFAULT_CHANNEL_ID); + mService.addNotification( + mService.createAutoGroupSummary(nr1.getUserId(), nr1.getSbn().getPackageName(), + nr1.getKey(), AUTOGROUP_KEY, Integer.MAX_VALUE, attr)); + + // cancel both children + mBinderService.cancelNotificationWithTag(mPkg, mPkg, nr0.getSbn().getTag(), + nr0.getSbn().getId(), nr0.getSbn().getUserId()); + mBinderService.cancelNotificationWithTag(mPkg, mPkg, nr1.getSbn().getTag(), + nr1.getSbn().getId(), nr1.getSbn().getUserId()); + waitForIdle(); + + // group helper would send 'remove summary' event + mService.clearAutogroupSummaryLocked(nr1.getUserId(), nr1.getSbn().getPackageName(), + AUTOGROUP_KEY); waitForIdle(); // make sure the summary was removed and not re-posted @@ -12722,6 +13102,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { } @Test + @DisableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) public void testUngroupingAutoSummary_differentUsers() throws Exception { NotificationRecord nr0 = generateNotificationRecord(mTestNotificationChannel, 0, USER_SYSTEM); @@ -12729,11 +13110,14 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { generateNotificationRecord(mTestNotificationChannel, 1, USER_SYSTEM); // add notifications + summary for USER_SYSTEM + NotificationAttributes attr = new NotificationAttributes( + GroupHelper.BASE_FLAGS, mock(Icon.class), 0, + VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, DEFAULT_CHANNEL_ID); mService.addNotification(nr0); mService.addNotification(nr1); mService.addNotification( mService.createAutoGroupSummary(nr1.getUserId(), nr1.getSbn().getPackageName(), - nr1.getKey(), GroupHelper.BASE_FLAGS, mock(Icon.class), 0, VISIBILITY_PRIVATE)); + nr1.getKey(), AUTOGROUP_KEY, Integer.MAX_VALUE, attr)); // add notifications + summary for USER_ALL NotificationRecord nr0_all = @@ -12746,7 +13130,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { mService.addNotification( mService.createAutoGroupSummary(nr0_all.getUserId(), nr0_all.getSbn().getPackageName(), - nr0_all.getKey(), GroupHelper.BASE_FLAGS, mock(Icon.class), 0, VISIBILITY_PRIVATE)); + nr0_all.getKey(), AUTOGROUP_KEY, Integer.MAX_VALUE, attr)); // cancel both children for USER_ALL mBinderService.cancelNotificationWithTag(mPkg, mPkg, nr0_all.getSbn().getTag(), @@ -12757,7 +13141,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { // group helper would send 'remove summary' event mService.clearAutogroupSummaryLocked(UserHandle.USER_ALL, - nr0_all.getSbn().getPackageName()); + nr0_all.getSbn().getPackageName(), AUTOGROUP_KEY); waitForIdle(); // make sure the right summary was removed @@ -12770,6 +13154,58 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { } @Test + @EnableFlags(FLAG_NOTIFICATION_FORCE_GROUPING) + public void testUngroupingAutoSummary_differentUsers_forceGrouping() throws Exception { + NotificationRecord nr0 = + generateNotificationRecord(mTestNotificationChannel, 0, USER_SYSTEM); + NotificationRecord nr1 = + generateNotificationRecord(mTestNotificationChannel, 1, USER_SYSTEM); + + // add notifications + summary for USER_SYSTEM + NotificationAttributes attr = new NotificationAttributes( + GroupHelper.BASE_FLAGS, mock(Icon.class), 0, + VISIBILITY_PRIVATE, GROUP_ALERT_CHILDREN, DEFAULT_CHANNEL_ID); + mService.addNotification(nr0); + mService.addNotification(nr1); + mService.addNotification( + mService.createAutoGroupSummary(nr1.getUserId(), nr1.getSbn().getPackageName(), + nr1.getKey(), AUTOGROUP_KEY, Integer.MAX_VALUE, attr)); + + // add notifications + summary for USER_ALL + NotificationRecord nr0_all = + generateNotificationRecord(mTestNotificationChannel, 2, UserHandle.USER_ALL); + NotificationRecord nr1_all = + generateNotificationRecord(mTestNotificationChannel, 3, UserHandle.USER_ALL); + + mService.addNotification(nr0_all); + mService.addNotification(nr1_all); + mService.addNotification( + mService.createAutoGroupSummary(nr0_all.getUserId(), + nr0_all.getSbn().getPackageName(), + nr0_all.getKey(), AUTOGROUP_KEY, Integer.MAX_VALUE, attr)); + + // cancel both children for USER_ALL + mBinderService.cancelNotificationWithTag(mPkg, mPkg, nr0_all.getSbn().getTag(), + nr0_all.getSbn().getId(), UserHandle.USER_ALL); + mBinderService.cancelNotificationWithTag(mPkg, mPkg, nr1_all.getSbn().getTag(), + nr1_all.getSbn().getId(), UserHandle.USER_ALL); + waitForIdle(); + + // group helper would send 'remove summary' event + mService.clearAutogroupSummaryLocked(UserHandle.USER_ALL, + nr0_all.getSbn().getPackageName(), AUTOGROUP_KEY); + waitForIdle(); + + // make sure the right summary was removed + assertThat(mService.getNotificationCount(nr0_all.getSbn().getPackageName(), + UserHandle.USER_ALL, 0, null)).isEqualTo(0); + + // the USER_SYSTEM notifications + summary were not removed + assertThat(mService.getNotificationCount(nr0.getSbn().getPackageName(), + USER_SYSTEM, 0, null)).isEqualTo(3); + } + + @Test public void testStrongAuthTracker_isInLockDownMode() { mStrongAuthTracker.setGetStrongAuthForUserReturnValue( STRONG_AUTH_REQUIRED_AFTER_USER_LOCKDOWN); diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java index ab4decacf0ca..d3504cc1bd28 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowOrganizerTests.java @@ -1725,26 +1725,41 @@ public class WindowOrganizerTests extends WindowTestsBase { assertTrue(optionsCaptor.getValue().getOriginalOptions().getTransientLaunch()); } + @SuppressWarnings("GuardedBy") @Test public void testResumeTopsWhenLeavingPinned() { - final ActivityRecord record = makePipableActivity(); - final Task rootTask = record.getRootTask(); + final ActivityRecord home = new ActivityBuilder(mAtm).setTask( + mRootWindowContainer.getDefaultTaskDisplayArea().getRootHomeTask()).build(); + final Task homeTask = home.getTask(); + final ActivityRecord pipActivity = makePipableActivity(); - clearInvocations(mWm.mAtmService.mRootWindowContainer); final WindowContainerTransaction t = new WindowContainerTransaction(); - WindowContainerToken wct = rootTask.mRemoteToken.toWindowContainerToken(); - t.setWindowingMode(wct, WINDOWING_MODE_PINNED); + t.setWindowingMode(pipActivity.getTask().mRemoteToken.toWindowContainerToken(), + WINDOWING_MODE_PINNED); + clearInvocations(homeTask); mWm.mAtmService.mWindowOrganizerController.applyTransaction(t); - verify(mWm.mAtmService.mRootWindowContainer).resumeFocusedTasksTopActivities(); + if (WindowOrganizerController.shouldApplyLifecycleEffectOnPipChange()) { + verify(homeTask).resumeTopActivityUncheckedLocked(any(), any(), anyBoolean()); + } else { + verify(homeTask, never()).resumeTopActivityUncheckedLocked(any(), any(), anyBoolean()); + } + + // Undo the effect of legacy logic in RootWindowContainer#moveActivityToPinnedRootTask. + if (pipActivity.mWaitForEnteringPinnedMode) { + pipActivity.mWaitForEnteringPinnedMode = false; + pipActivity.setWindowingMode(WINDOWING_MODE_UNDEFINED); + } + assertFalse(pipActivity.isFocusable()); - clearInvocations(mWm.mAtmService.mRootWindowContainer); // The token for the PIP root task may have changed when the task entered PIP mode, so do // not reuse the one from above. - final WindowContainerToken newToken = - record.getRootTask().mRemoteToken.toWindowContainerToken(); + final Task pipTask = pipActivity.getTask(); + final WindowContainerToken newToken = pipTask.mRemoteToken.toWindowContainerToken(); t.setWindowingMode(newToken, WINDOWING_MODE_FULLSCREEN); + clearInvocations(pipTask); mWm.mAtmService.mWindowOrganizerController.applyTransaction(t); - verify(mWm.mAtmService.mRootWindowContainer).resumeFocusedTasksTopActivities(); + assertTrue(pipActivity.isFocusable()); + verify(pipTask).resumeTopActivityUncheckedLocked(any(), any(), anyBoolean()); } @Test diff --git a/tests/PackageWatchdog/src/com/android/server/CrashRecoveryTest.java b/tests/PackageWatchdog/src/com/android/server/CrashRecoveryTest.java index 489ef4444e1d..3722fefb12ad 100644 --- a/tests/PackageWatchdog/src/com/android/server/CrashRecoveryTest.java +++ b/tests/PackageWatchdog/src/com/android/server/CrashRecoveryTest.java @@ -47,6 +47,8 @@ import android.net.ConnectivityModuleConnector.ConnectivityModuleHealthListener; import android.os.Handler; import android.os.SystemProperties; import android.os.test.TestLooper; +import android.platform.test.annotations.DisableFlags; +import android.platform.test.annotations.EnableFlags; import android.platform.test.flag.junit.SetFlagsRule; import android.provider.DeviceConfig; import android.util.AtomicFile; @@ -288,7 +290,8 @@ public class CrashRecoveryTest { } @Test - public void testBootLoopWithRescuePartyAndRollbackPackageHealthObserver() throws Exception { + @DisableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS) + public void testBootLoopWithRescuePartyAndRollbackObserver() throws Exception { PackageWatchdog watchdog = createWatchdog(); RescuePartyObserver rescuePartyObserver = setUpRescuePartyObserver(watchdog); RollbackPackageHealthObserver rollbackObserver = @@ -360,6 +363,56 @@ public class CrashRecoveryTest { verify(rescuePartyObserver, never()).executeBootLoopMitigation(2); } + @Test + @EnableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS) + public void testBootLoopWithRescuePartyAndRollbackObserverNoFlags() throws Exception { + PackageWatchdog watchdog = createWatchdog(); + RescuePartyObserver rescuePartyObserver = setUpRescuePartyObserver(watchdog); + RollbackPackageHealthObserver rollbackObserver = + setUpRollbackPackageHealthObserver(watchdog); + + verify(rescuePartyObserver, never()).executeBootLoopMitigation(1); + verify(rollbackObserver, never()).executeBootLoopMitigation(1); + for (int i = 0; i < PackageWatchdog.DEFAULT_BOOT_LOOP_TRIGGER_COUNT; i++) { + watchdog.noteBoot(); + } + verify(rescuePartyObserver).executeBootLoopMitigation(1); + verify(rescuePartyObserver, never()).executeBootLoopMitigation(2); + verify(rollbackObserver, never()).executeBootLoopMitigation(1); + + watchdog.noteBoot(); + + verify(rescuePartyObserver, never()).executeBootLoopMitigation(2); + verify(rollbackObserver).executeBootLoopMitigation(1); + verify(rollbackObserver, never()).executeBootLoopMitigation(2); + // Update the list of available rollbacks after executing bootloop mitigation once + when(mRollbackManager.getAvailableRollbacks()).thenReturn(List.of(ROLLBACK_INFO_HIGH, + ROLLBACK_INFO_MANUAL)); + + watchdog.noteBoot(); + + verify(rescuePartyObserver, never()).executeBootLoopMitigation(2); + verify(rollbackObserver).executeBootLoopMitigation(2); + verify(rollbackObserver, never()).executeBootLoopMitigation(3); + // Update the list of available rollbacks after executing bootloop mitigation + when(mRollbackManager.getAvailableRollbacks()).thenReturn(List.of(ROLLBACK_INFO_MANUAL)); + + watchdog.noteBoot(); + + verify(rescuePartyObserver).executeBootLoopMitigation(2); + verify(rescuePartyObserver, never()).executeBootLoopMitigation(3); + verify(rollbackObserver, never()).executeBootLoopMitigation(3); + + moveTimeForwardAndDispatch(PackageWatchdog.DEFAULT_DEESCALATION_WINDOW_MS + 1); + Mockito.reset(rescuePartyObserver); + + for (int i = 0; i < PackageWatchdog.DEFAULT_BOOT_LOOP_TRIGGER_COUNT; i++) { + watchdog.noteBoot(); + } + verify(rescuePartyObserver).executeBootLoopMitigation(1); + verify(rescuePartyObserver, never()).executeBootLoopMitigation(2); + } + RollbackPackageHealthObserver setUpRollbackPackageHealthObserver(PackageWatchdog watchdog) { RollbackPackageHealthObserver rollbackObserver = spy(new RollbackPackageHealthObserver(mSpyContext, mApexManager)); diff --git a/tools/aapt2/xml/XmlPullParser.cpp b/tools/aapt2/xml/XmlPullParser.cpp index 203832d2dbe8..8abc26d67c1f 100644 --- a/tools/aapt2/xml/XmlPullParser.cpp +++ b/tools/aapt2/xml/XmlPullParser.cpp @@ -14,11 +14,13 @@ * limitations under the License. */ -#include <iostream> +#include "xml/XmlPullParser.h" + +#include <algorithm> #include <string> +#include <tuple> #include "util/Util.h" -#include "xml/XmlPullParser.h" #include "xml/XmlUtil.h" using ::android::InputStream; @@ -325,5 +327,18 @@ std::optional<StringPiece> FindNonEmptyAttribute(const XmlPullParser* parser, St return {}; } +XmlPullParser::const_iterator XmlPullParser::FindAttribute(android::StringPiece namespace_uri, + android::StringPiece name) const { + const auto end_iter = end_attributes(); + const auto iter = std::lower_bound(begin_attributes(), end_iter, std::tuple(namespace_uri, name), + [](const Attribute& attr, const auto& rhs) { + return std::tie(attr.namespace_uri, attr.name) < rhs; + }); + if (iter != end_iter && namespace_uri == iter->namespace_uri && name == iter->name) { + return iter; + } + return end_iter; +} + } // namespace xml } // namespace aapt diff --git a/tools/aapt2/xml/XmlPullParser.h b/tools/aapt2/xml/XmlPullParser.h index 655e6dc93e75..64274d032c61 100644 --- a/tools/aapt2/xml/XmlPullParser.h +++ b/tools/aapt2/xml/XmlPullParser.h @@ -19,8 +19,7 @@ #include <expat.h> -#include <algorithm> -#include <istream> +#include <optional> #include <ostream> #include <queue> #include <stack> @@ -302,31 +301,6 @@ inline bool XmlPullParser::Attribute::operator!=(const Attribute& rhs) const { return compare(rhs) != 0; } -inline XmlPullParser::const_iterator XmlPullParser::FindAttribute( - android::StringPiece namespace_uri, android::StringPiece name) const { - const auto end_iter = end_attributes(); - const auto iter = std::lower_bound( - begin_attributes(), end_iter, - std::pair<android::StringPiece, android::StringPiece>(namespace_uri, name), - [](const Attribute& attr, - const std::pair<android::StringPiece, android::StringPiece>& rhs) -> bool { - int cmp = attr.namespace_uri.compare( - 0, attr.namespace_uri.size(), rhs.first.data(), rhs.first.size()); - if (cmp < 0) return true; - if (cmp > 0) return false; - cmp = attr.name.compare(0, attr.name.size(), rhs.second.data(), - rhs.second.size()); - if (cmp < 0) return true; - return false; - }); - - if (iter != end_iter && namespace_uri == iter->namespace_uri && - name == iter->name) { - return iter; - } - return end_iter; -} - } // namespace xml } // namespace aapt |