mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
396 lines
20 KiB
Java
396 lines
20 KiB
Java
|
package com.google.android.material.search;
|
||
|
|
||
|
import android.animation.Animator;
|
||
|
import android.animation.AnimatorListenerAdapter;
|
||
|
import android.animation.AnimatorSet;
|
||
|
import android.animation.ValueAnimator;
|
||
|
import android.view.View;
|
||
|
import android.view.ViewGroup;
|
||
|
import android.widget.TextView;
|
||
|
import androidx.appcompat.widget.ActionMenuView;
|
||
|
import androidx.core.view.ViewCompat;
|
||
|
import com.google.android.material.animation.AnimatableView;
|
||
|
import com.google.android.material.animation.AnimationUtils;
|
||
|
import com.google.android.material.appbar.AppBarLayout;
|
||
|
import com.google.android.material.internal.ExpandCollapseAnimationHelper;
|
||
|
import com.google.android.material.internal.MultiViewUpdateListener;
|
||
|
import com.google.android.material.internal.ToolbarUtils;
|
||
|
import com.google.android.material.internal.ViewUtils;
|
||
|
import com.google.android.material.search.SearchBar;
|
||
|
import com.google.android.material.shape.MaterialShapeDrawable;
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.Iterator;
|
||
|
import java.util.LinkedHashSet;
|
||
|
import java.util.List;
|
||
|
import java.util.Objects;
|
||
|
import java.util.Set;
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
/* loaded from: classes2.dex */
|
||
|
public class SearchBarAnimationHelper {
|
||
|
private static final long COLLAPSE_DURATION_MS = 250;
|
||
|
private static final long COLLAPSE_FADE_IN_CHILDREN_DURATION_MS = 100;
|
||
|
private static final long EXPAND_DURATION_MS = 300;
|
||
|
private static final long EXPAND_FADE_OUT_CHILDREN_DURATION_MS = 75;
|
||
|
private static final long ON_LOAD_ANIM_CENTER_VIEW_DEFAULT_FADE_DURATION_MS = 250;
|
||
|
private static final long ON_LOAD_ANIM_CENTER_VIEW_DEFAULT_FADE_IN_START_DELAY_MS = 500;
|
||
|
private static final long ON_LOAD_ANIM_CENTER_VIEW_DEFAULT_FADE_OUT_START_DELAY_MS = 750;
|
||
|
private static final long ON_LOAD_ANIM_SECONDARY_DURATION_MS = 250;
|
||
|
private static final long ON_LOAD_ANIM_SECONDARY_START_DELAY_MS = 250;
|
||
|
private boolean collapsing;
|
||
|
private Animator defaultCenterViewAnimator;
|
||
|
private boolean expanding;
|
||
|
private Animator secondaryViewAnimator;
|
||
|
private final Set<SearchBar.OnLoadAnimationCallback> onLoadAnimationCallbacks = new LinkedHashSet();
|
||
|
private final Set<AnimatorListenerAdapter> expandAnimationListeners = new LinkedHashSet();
|
||
|
private final Set<AnimatorListenerAdapter> collapseAnimationListeners = new LinkedHashSet();
|
||
|
private boolean onLoadAnimationFadeInEnabled = true;
|
||
|
private Animator runningExpandOrCollapseAnimator = null;
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: private */
|
||
|
/* loaded from: classes2.dex */
|
||
|
public interface OnLoadAnimationInvocation {
|
||
|
void invoke(SearchBar.OnLoadAnimationCallback onLoadAnimationCallback);
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public boolean isCollapsing() {
|
||
|
return this.collapsing;
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public boolean isExpanding() {
|
||
|
return this.expanding;
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public boolean isOnLoadAnimationFadeInEnabled() {
|
||
|
return this.onLoadAnimationFadeInEnabled;
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public void setOnLoadAnimationFadeInEnabled(boolean z) {
|
||
|
this.onLoadAnimationFadeInEnabled = z;
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
/* JADX WARN: Multi-variable type inference failed */
|
||
|
public void startOnLoadAnimation(SearchBar searchBar) {
|
||
|
dispatchOnLoadAnimation(new OnLoadAnimationInvocation() { // from class: com.google.android.material.search.SearchBarAnimationHelper$$ExternalSyntheticLambda3
|
||
|
@Override // com.google.android.material.search.SearchBarAnimationHelper.OnLoadAnimationInvocation
|
||
|
public final void invoke(SearchBar.OnLoadAnimationCallback onLoadAnimationCallback) {
|
||
|
onLoadAnimationCallback.onAnimationStart();
|
||
|
}
|
||
|
});
|
||
|
TextView textView = searchBar.getTextView();
|
||
|
final View centerView = searchBar.getCenterView();
|
||
|
View secondaryActionMenuItemView = ToolbarUtils.getSecondaryActionMenuItemView(searchBar);
|
||
|
final Animator secondaryViewAnimator = getSecondaryViewAnimator(textView, secondaryActionMenuItemView);
|
||
|
secondaryViewAnimator.addListener(new AnimatorListenerAdapter() { // from class: com.google.android.material.search.SearchBarAnimationHelper.1
|
||
|
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
||
|
public void onAnimationEnd(Animator animator) {
|
||
|
SearchBarAnimationHelper.this.dispatchOnLoadAnimation(new OnLoadAnimationInvocation() { // from class: com.google.android.material.search.SearchBarAnimationHelper$1$$ExternalSyntheticLambda0
|
||
|
@Override // com.google.android.material.search.SearchBarAnimationHelper.OnLoadAnimationInvocation
|
||
|
public final void invoke(SearchBar.OnLoadAnimationCallback onLoadAnimationCallback) {
|
||
|
onLoadAnimationCallback.onAnimationEnd();
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
this.secondaryViewAnimator = secondaryViewAnimator;
|
||
|
textView.setAlpha(0.0f);
|
||
|
if (secondaryActionMenuItemView != null) {
|
||
|
secondaryActionMenuItemView.setAlpha(0.0f);
|
||
|
}
|
||
|
if (centerView instanceof AnimatableView) {
|
||
|
Objects.requireNonNull(secondaryViewAnimator);
|
||
|
((AnimatableView) centerView).startAnimation(new AnimatableView.Listener() { // from class: com.google.android.material.search.SearchBarAnimationHelper$$ExternalSyntheticLambda4
|
||
|
@Override // com.google.android.material.animation.AnimatableView.Listener
|
||
|
public final void onAnimationEnd() {
|
||
|
secondaryViewAnimator.start();
|
||
|
}
|
||
|
});
|
||
|
} else {
|
||
|
if (centerView != 0) {
|
||
|
centerView.setAlpha(0.0f);
|
||
|
centerView.setVisibility(0);
|
||
|
Animator defaultCenterViewAnimator = getDefaultCenterViewAnimator(centerView);
|
||
|
this.defaultCenterViewAnimator = defaultCenterViewAnimator;
|
||
|
defaultCenterViewAnimator.addListener(new AnimatorListenerAdapter() { // from class: com.google.android.material.search.SearchBarAnimationHelper.2
|
||
|
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
||
|
public void onAnimationEnd(Animator animator) {
|
||
|
centerView.setVisibility(8);
|
||
|
secondaryViewAnimator.start();
|
||
|
}
|
||
|
});
|
||
|
defaultCenterViewAnimator.start();
|
||
|
return;
|
||
|
}
|
||
|
secondaryViewAnimator.start();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
/* JADX WARN: Multi-variable type inference failed */
|
||
|
public void stopOnLoadAnimation(SearchBar searchBar) {
|
||
|
Animator animator = this.secondaryViewAnimator;
|
||
|
if (animator != null) {
|
||
|
animator.end();
|
||
|
}
|
||
|
Animator animator2 = this.defaultCenterViewAnimator;
|
||
|
if (animator2 != null) {
|
||
|
animator2.end();
|
||
|
}
|
||
|
View centerView = searchBar.getCenterView();
|
||
|
if (centerView instanceof AnimatableView) {
|
||
|
((AnimatableView) centerView).stopAnimation();
|
||
|
}
|
||
|
if (centerView != 0) {
|
||
|
centerView.setAlpha(0.0f);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public void addOnLoadAnimationCallback(SearchBar.OnLoadAnimationCallback onLoadAnimationCallback) {
|
||
|
this.onLoadAnimationCallbacks.add(onLoadAnimationCallback);
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public boolean removeOnLoadAnimationCallback(SearchBar.OnLoadAnimationCallback onLoadAnimationCallback) {
|
||
|
return this.onLoadAnimationCallbacks.remove(onLoadAnimationCallback);
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: private */
|
||
|
public void dispatchOnLoadAnimation(OnLoadAnimationInvocation onLoadAnimationInvocation) {
|
||
|
Iterator<SearchBar.OnLoadAnimationCallback> it = this.onLoadAnimationCallbacks.iterator();
|
||
|
while (it.hasNext()) {
|
||
|
onLoadAnimationInvocation.invoke(it.next());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private Animator getDefaultCenterViewAnimator(View view) {
|
||
|
ValueAnimator ofFloat = ValueAnimator.ofFloat(0.0f, 1.0f);
|
||
|
ofFloat.addUpdateListener(MultiViewUpdateListener.alphaListener(view));
|
||
|
ofFloat.setInterpolator(AnimationUtils.LINEAR_INTERPOLATOR);
|
||
|
ofFloat.setDuration(this.onLoadAnimationFadeInEnabled ? 250L : 0L);
|
||
|
ofFloat.setStartDelay(this.onLoadAnimationFadeInEnabled ? 500L : 0L);
|
||
|
ValueAnimator ofFloat2 = ValueAnimator.ofFloat(1.0f, 0.0f);
|
||
|
ofFloat2.addUpdateListener(MultiViewUpdateListener.alphaListener(view));
|
||
|
ofFloat2.setInterpolator(AnimationUtils.LINEAR_INTERPOLATOR);
|
||
|
ofFloat2.setDuration(250L);
|
||
|
ofFloat2.setStartDelay(ON_LOAD_ANIM_CENTER_VIEW_DEFAULT_FADE_OUT_START_DELAY_MS);
|
||
|
AnimatorSet animatorSet = new AnimatorSet();
|
||
|
animatorSet.playSequentially(ofFloat, ofFloat2);
|
||
|
return animatorSet;
|
||
|
}
|
||
|
|
||
|
private Animator getSecondaryViewAnimator(TextView textView, View view) {
|
||
|
AnimatorSet animatorSet = new AnimatorSet();
|
||
|
animatorSet.setStartDelay(250L);
|
||
|
animatorSet.play(getTextViewAnimator(textView));
|
||
|
if (view != null) {
|
||
|
animatorSet.play(getSecondaryActionMenuItemAnimator(view));
|
||
|
}
|
||
|
return animatorSet;
|
||
|
}
|
||
|
|
||
|
private Animator getTextViewAnimator(TextView textView) {
|
||
|
ValueAnimator ofFloat = ValueAnimator.ofFloat(0.0f, 1.0f);
|
||
|
ofFloat.addUpdateListener(MultiViewUpdateListener.alphaListener(textView));
|
||
|
ofFloat.setInterpolator(AnimationUtils.LINEAR_INTERPOLATOR);
|
||
|
ofFloat.setDuration(250L);
|
||
|
return ofFloat;
|
||
|
}
|
||
|
|
||
|
private Animator getSecondaryActionMenuItemAnimator(View view) {
|
||
|
ValueAnimator ofFloat = ValueAnimator.ofFloat(0.0f, 1.0f);
|
||
|
ofFloat.addUpdateListener(MultiViewUpdateListener.alphaListener(view));
|
||
|
ofFloat.setInterpolator(AnimationUtils.LINEAR_INTERPOLATOR);
|
||
|
ofFloat.setDuration(250L);
|
||
|
return ofFloat;
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public void startExpandAnimation(final SearchBar searchBar, final View view, final AppBarLayout appBarLayout, final boolean z) {
|
||
|
Animator animator;
|
||
|
if (isCollapsing() && (animator = this.runningExpandOrCollapseAnimator) != null) {
|
||
|
animator.cancel();
|
||
|
}
|
||
|
this.expanding = true;
|
||
|
view.setVisibility(4);
|
||
|
view.post(new Runnable() { // from class: com.google.android.material.search.SearchBarAnimationHelper$$ExternalSyntheticLambda0
|
||
|
@Override // java.lang.Runnable
|
||
|
public final void run() {
|
||
|
SearchBarAnimationHelper.this.m5538x1b96b119(searchBar, view, appBarLayout, z);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
/* renamed from: lambda$startExpandAnimation$0$com-google-android-material-search-SearchBarAnimationHelper, reason: not valid java name */
|
||
|
public /* synthetic */ void m5538x1b96b119(SearchBar searchBar, View view, AppBarLayout appBarLayout, boolean z) {
|
||
|
AnimatorSet animatorSet = new AnimatorSet();
|
||
|
animatorSet.playSequentially(getFadeOutChildrenAnimator(searchBar, view), getExpandAnimator(searchBar, view, appBarLayout));
|
||
|
animatorSet.addListener(new AnimatorListenerAdapter() { // from class: com.google.android.material.search.SearchBarAnimationHelper.3
|
||
|
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
||
|
public void onAnimationEnd(Animator animator) {
|
||
|
SearchBarAnimationHelper.this.runningExpandOrCollapseAnimator = null;
|
||
|
}
|
||
|
});
|
||
|
Iterator<AnimatorListenerAdapter> it = this.expandAnimationListeners.iterator();
|
||
|
while (it.hasNext()) {
|
||
|
animatorSet.addListener(it.next());
|
||
|
}
|
||
|
if (z) {
|
||
|
animatorSet.setDuration(0L);
|
||
|
}
|
||
|
animatorSet.start();
|
||
|
this.runningExpandOrCollapseAnimator = animatorSet;
|
||
|
}
|
||
|
|
||
|
private Animator getExpandAnimator(final SearchBar searchBar, View view, AppBarLayout appBarLayout) {
|
||
|
return getExpandCollapseAnimationHelper(searchBar, view, appBarLayout).setDuration(EXPAND_DURATION_MS).addListener(new AnimatorListenerAdapter() { // from class: com.google.android.material.search.SearchBarAnimationHelper.4
|
||
|
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
||
|
public void onAnimationStart(Animator animator) {
|
||
|
searchBar.setVisibility(4);
|
||
|
}
|
||
|
|
||
|
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
||
|
public void onAnimationEnd(Animator animator) {
|
||
|
SearchBarAnimationHelper.this.expanding = false;
|
||
|
}
|
||
|
}).getExpandAnimator();
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public void addExpandAnimationListener(AnimatorListenerAdapter animatorListenerAdapter) {
|
||
|
this.expandAnimationListeners.add(animatorListenerAdapter);
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public boolean removeExpandAnimationListener(AnimatorListenerAdapter animatorListenerAdapter) {
|
||
|
return this.expandAnimationListeners.remove(animatorListenerAdapter);
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public void startCollapseAnimation(SearchBar searchBar, View view, AppBarLayout appBarLayout, boolean z) {
|
||
|
Animator animator;
|
||
|
if (isExpanding() && (animator = this.runningExpandOrCollapseAnimator) != null) {
|
||
|
animator.cancel();
|
||
|
}
|
||
|
this.collapsing = true;
|
||
|
AnimatorSet animatorSet = new AnimatorSet();
|
||
|
animatorSet.playSequentially(getCollapseAnimator(searchBar, view, appBarLayout), getFadeInChildrenAnimator(searchBar));
|
||
|
animatorSet.addListener(new AnimatorListenerAdapter() { // from class: com.google.android.material.search.SearchBarAnimationHelper.5
|
||
|
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
||
|
public void onAnimationEnd(Animator animator2) {
|
||
|
SearchBarAnimationHelper.this.runningExpandOrCollapseAnimator = null;
|
||
|
}
|
||
|
});
|
||
|
Iterator<AnimatorListenerAdapter> it = this.collapseAnimationListeners.iterator();
|
||
|
while (it.hasNext()) {
|
||
|
animatorSet.addListener(it.next());
|
||
|
}
|
||
|
if (z) {
|
||
|
animatorSet.setDuration(0L);
|
||
|
}
|
||
|
animatorSet.start();
|
||
|
this.runningExpandOrCollapseAnimator = animatorSet;
|
||
|
}
|
||
|
|
||
|
private Animator getCollapseAnimator(final SearchBar searchBar, View view, AppBarLayout appBarLayout) {
|
||
|
return getExpandCollapseAnimationHelper(searchBar, view, appBarLayout).setDuration(250L).addListener(new AnimatorListenerAdapter() { // from class: com.google.android.material.search.SearchBarAnimationHelper.6
|
||
|
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
||
|
public void onAnimationStart(Animator animator) {
|
||
|
searchBar.stopOnLoadAnimation();
|
||
|
}
|
||
|
|
||
|
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
||
|
public void onAnimationEnd(Animator animator) {
|
||
|
searchBar.setVisibility(0);
|
||
|
SearchBarAnimationHelper.this.collapsing = false;
|
||
|
}
|
||
|
}).getCollapseAnimator();
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public void addCollapseAnimationListener(AnimatorListenerAdapter animatorListenerAdapter) {
|
||
|
this.collapseAnimationListeners.add(animatorListenerAdapter);
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public boolean removeCollapseAnimationListener(AnimatorListenerAdapter animatorListenerAdapter) {
|
||
|
return this.collapseAnimationListeners.remove(animatorListenerAdapter);
|
||
|
}
|
||
|
|
||
|
private ExpandCollapseAnimationHelper getExpandCollapseAnimationHelper(SearchBar searchBar, View view, AppBarLayout appBarLayout) {
|
||
|
return new ExpandCollapseAnimationHelper(searchBar, view).setAdditionalUpdateListener(getExpandedViewBackgroundUpdateListener(searchBar, view)).setCollapsedViewOffsetY(appBarLayout != null ? appBarLayout.getTop() : 0).addEndAnchoredViews(getEndAnchoredViews(view));
|
||
|
}
|
||
|
|
||
|
private ValueAnimator.AnimatorUpdateListener getExpandedViewBackgroundUpdateListener(SearchBar searchBar, final View view) {
|
||
|
final MaterialShapeDrawable createWithElevationOverlay = MaterialShapeDrawable.createWithElevationOverlay(view.getContext());
|
||
|
createWithElevationOverlay.setCornerSize(searchBar.getCornerSize());
|
||
|
createWithElevationOverlay.setElevation(ViewCompat.getElevation(searchBar));
|
||
|
return new ValueAnimator.AnimatorUpdateListener() { // from class: com.google.android.material.search.SearchBarAnimationHelper$$ExternalSyntheticLambda1
|
||
|
@Override // android.animation.ValueAnimator.AnimatorUpdateListener
|
||
|
public final void onAnimationUpdate(ValueAnimator valueAnimator) {
|
||
|
SearchBarAnimationHelper.lambda$getExpandedViewBackgroundUpdateListener$1(MaterialShapeDrawable.this, view, valueAnimator);
|
||
|
}
|
||
|
};
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: package-private */
|
||
|
public static /* synthetic */ void lambda$getExpandedViewBackgroundUpdateListener$1(MaterialShapeDrawable materialShapeDrawable, View view, ValueAnimator valueAnimator) {
|
||
|
materialShapeDrawable.setInterpolation(1.0f - valueAnimator.getAnimatedFraction());
|
||
|
ViewCompat.setBackground(view, materialShapeDrawable);
|
||
|
view.setAlpha(1.0f);
|
||
|
}
|
||
|
|
||
|
private Animator getFadeOutChildrenAnimator(SearchBar searchBar, final View view) {
|
||
|
List<View> fadeChildren = getFadeChildren(searchBar);
|
||
|
ValueAnimator ofFloat = ValueAnimator.ofFloat(1.0f, 0.0f);
|
||
|
ofFloat.addUpdateListener(MultiViewUpdateListener.alphaListener(fadeChildren));
|
||
|
ofFloat.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { // from class: com.google.android.material.search.SearchBarAnimationHelper$$ExternalSyntheticLambda2
|
||
|
@Override // android.animation.ValueAnimator.AnimatorUpdateListener
|
||
|
public final void onAnimationUpdate(ValueAnimator valueAnimator) {
|
||
|
view.setAlpha(0.0f);
|
||
|
}
|
||
|
});
|
||
|
ofFloat.setDuration(75L);
|
||
|
ofFloat.setInterpolator(AnimationUtils.LINEAR_INTERPOLATOR);
|
||
|
return ofFloat;
|
||
|
}
|
||
|
|
||
|
private Animator getFadeInChildrenAnimator(SearchBar searchBar) {
|
||
|
List<View> fadeChildren = getFadeChildren(searchBar);
|
||
|
ValueAnimator ofFloat = ValueAnimator.ofFloat(0.0f, 1.0f);
|
||
|
ofFloat.addUpdateListener(MultiViewUpdateListener.alphaListener(fadeChildren));
|
||
|
ofFloat.setDuration(100L);
|
||
|
ofFloat.setInterpolator(AnimationUtils.LINEAR_INTERPOLATOR);
|
||
|
return ofFloat;
|
||
|
}
|
||
|
|
||
|
private List<View> getFadeChildren(SearchBar searchBar) {
|
||
|
List<View> children = ViewUtils.getChildren(searchBar);
|
||
|
if (searchBar.getCenterView() != null) {
|
||
|
children.remove(searchBar.getCenterView());
|
||
|
}
|
||
|
return children;
|
||
|
}
|
||
|
|
||
|
private List<View> getEndAnchoredViews(View view) {
|
||
|
boolean isLayoutRtl = ViewUtils.isLayoutRtl(view);
|
||
|
ArrayList arrayList = new ArrayList();
|
||
|
if (view instanceof ViewGroup) {
|
||
|
ViewGroup viewGroup = (ViewGroup) view;
|
||
|
for (int i = 0; i < viewGroup.getChildCount(); i++) {
|
||
|
View childAt = viewGroup.getChildAt(i);
|
||
|
if ((!isLayoutRtl && (childAt instanceof ActionMenuView)) || (isLayoutRtl && !(childAt instanceof ActionMenuView))) {
|
||
|
arrayList.add(childAt);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return arrayList;
|
||
|
}
|
||
|
}
|