CrackMe.apk
Download file
package androidx.appcompat.widget;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Parcelable;
import android.util.AttributeSet;
import android.util.SparseArray;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewPropertyAnimator;
import android.view.Window;
import android.view.WindowInsets;
import android.widget.OverScroller;
import androidx.appcompat.R;
import androidx.appcompat.view.menu.MenuPresenter;
import androidx.core.graphics.Insets;
import androidx.core.view.NestedScrollingParent;
import androidx.core.view.NestedScrollingParent2;
import androidx.core.view.NestedScrollingParent3;
import androidx.core.view.NestedScrollingParentHelper;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class ActionBarOverlayLayout extends ViewGroup implements DecorContentParent, NestedScrollingParent, NestedScrollingParent2, NestedScrollingParent3 {
private static final int ACTION_BAR_ANIMATE_DELAY = 600;
static final int[] ATTRS = {R.attr.actionBarSize, 16842841};
private static final String TAG = "ActionBarOverlayLayout";
private int mActionBarHeight;
ActionBarContainer mActionBarTop;
private ActionBarVisibilityCallback mActionBarVisibilityCallback;
private final Runnable mAddActionBarHideOffset;
boolean mAnimatingForFling;
private final Rect mBaseContentInsets;
private WindowInsetsCompat mBaseInnerInsets;
private final Rect mBaseInnerInsetsRect;
private ContentFrameLayout mContent;
private final Rect mContentInsets;
ViewPropertyAnimator mCurrentActionBarTopAnimator;
private DecorToolbar mDecorToolbar;
private OverScroller mFlingEstimator;
private boolean mHasNonEmbeddedTabs;
private boolean mHideOnContentScroll;
private int mHideOnContentScrollReference;
private boolean mIgnoreWindowContentOverlay;
private WindowInsetsCompat mInnerInsets;
private final Rect mInnerInsetsRect;
private final Rect mLastBaseContentInsets;
private WindowInsetsCompat mLastBaseInnerInsets;
private final Rect mLastBaseInnerInsetsRect;
private WindowInsetsCompat mLastInnerInsets;
private final Rect mLastInnerInsetsRect;
private int mLastSystemUiVisibility;
private boolean mOverlayMode;
private final NestedScrollingParentHelper mParentHelper;
private final Runnable mRemoveActionBarHideOffset;
final AnimatorListenerAdapter mTopAnimatorListener;
private Drawable mWindowContentOverlay;
private int mWindowVisibility;
public interface ActionBarVisibilityCallback {
void enableContentAnimations(boolean z);
void hideForSystem();
void onContentScrollStarted();
void onContentScrollStopped();
void onWindowVisibilityChanged(int i);
void showForSystem();
}
public boolean onNestedPreFling(View view, float f, float f2) {
return false;
}
public void onNestedPreScroll(View view, int i, int i2, int[] iArr) {
}
public void setShowingForActionMode(boolean z) {
}
public void setUiOptions(int i) {
}
public boolean shouldDelayChildPressedState() {
return false;
}
public ActionBarOverlayLayout(Context context) {
this(context, (AttributeSet) null);
}
public ActionBarOverlayLayout(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
this.mWindowVisibility = 0;
this.mBaseContentInsets = new Rect();
this.mLastBaseContentInsets = new Rect();
this.mContentInsets = new Rect();
this.mBaseInnerInsetsRect = new Rect();
this.mLastBaseInnerInsetsRect = new Rect();
this.mInnerInsetsRect = new Rect();
this.mLastInnerInsetsRect = new Rect();
this.mBaseInnerInsets = WindowInsetsCompat.CONSUMED;
this.mLastBaseInnerInsets = WindowInsetsCompat.CONSUMED;
this.mInnerInsets = WindowInsetsCompat.CONSUMED;
this.mLastInnerInsets = WindowInsetsCompat.CONSUMED;
this.mTopAnimatorListener = new AnimatorListenerAdapter() {
public void onAnimationEnd(Animator animator) {
ActionBarOverlayLayout.this.mCurrentActionBarTopAnimator = null;
ActionBarOverlayLayout.this.mAnimatingForFling = false;
}
public void onAnimationCancel(Animator animator) {
ActionBarOverlayLayout.this.mCurrentActionBarTopAnimator = null;
ActionBarOverlayLayout.this.mAnimatingForFling = false;
}
};
this.mRemoveActionBarHideOffset = new Runnable() {
public void run() {
ActionBarOverlayLayout.this.haltActionBarHideOffsetAnimations();
ActionBarOverlayLayout actionBarOverlayLayout = ActionBarOverlayLayout.this;
actionBarOverlayLayout.mCurrentActionBarTopAnimator = actionBarOverlayLayout.mActionBarTop.animate().translationY(0.0f).setListener(ActionBarOverlayLayout.this.mTopAnimatorListener);
}
};
this.mAddActionBarHideOffset = new Runnable() {
public void run() {
ActionBarOverlayLayout.this.haltActionBarHideOffsetAnimations();
ActionBarOverlayLayout actionBarOverlayLayout = ActionBarOverlayLayout.this;
actionBarOverlayLayout.mCurrentActionBarTopAnimator = actionBarOverlayLayout.mActionBarTop.animate().translationY((float) (-ActionBarOverlayLayout.this.mActionBarTop.getHeight())).setListener(ActionBarOverlayLayout.this.mTopAnimatorListener);
}
};
init(context);
this.mParentHelper = new NestedScrollingParentHelper(this);
}
private void init(Context context) {
TypedArray obtainStyledAttributes = getContext().getTheme().obtainStyledAttributes(ATTRS);
boolean z = false;
this.mActionBarHeight = obtainStyledAttributes.getDimensionPixelSize(0, 0);
Drawable drawable = obtainStyledAttributes.getDrawable(1);
this.mWindowContentOverlay = drawable;
setWillNotDraw(drawable == null);
obtainStyledAttributes.recycle();
if (context.getApplicationInfo().targetSdkVersion < 19) {
z = true;
}
this.mIgnoreWindowContentOverlay = z;
this.mFlingEstimator = new OverScroller(context);
}
/* access modifiers changed from: protected */
public void onDetachedFromWindow() {
super.onDetachedFromWindow();
haltActionBarHideOffsetAnimations();
}
public void setActionBarVisibilityCallback(ActionBarVisibilityCallback actionBarVisibilityCallback) {
this.mActionBarVisibilityCallback = actionBarVisibilityCallback;
if (getWindowToken() != null) {
this.mActionBarVisibilityCallback.onWindowVisibilityChanged(this.mWindowVisibility);
int i = this.mLastSystemUiVisibility;
if (i != 0) {
onWindowSystemUiVisibilityChanged(i);
ViewCompat.requestApplyInsets(this);
}
}
}
public void setOverlayMode(boolean z) {
this.mOverlayMode = z;
this.mIgnoreWindowContentOverlay = z && getContext().getApplicationInfo().targetSdkVersion < 19;
}
public boolean isInOverlayMode() {
return this.mOverlayMode;
}
public void setHasNonEmbeddedTabs(boolean z) {
this.mHasNonEmbeddedTabs = z;
}
/* access modifiers changed from: protected */
public void onConfigurationChanged(Configuration configuration) {
super.onConfigurationChanged(configuration);
init(getContext());
ViewCompat.requestApplyInsets(this);
}
@Deprecated
public void onWindowSystemUiVisibilityChanged(int i) {
if (Build.VERSION.SDK_INT >= 16) {
super.onWindowSystemUiVisibilityChanged(i);
}
pullChildren();
int i2 = this.mLastSystemUiVisibility ^ i;
this.mLastSystemUiVisibility = i;
boolean z = false;
boolean z2 = (i & 4) == 0;
if ((i & 256) != 0) {
z = true;
}
ActionBarVisibilityCallback actionBarVisibilityCallback = this.mActionBarVisibilityCallback;
if (actionBarVisibilityCallback != null) {
actionBarVisibilityCallback.enableContentAnimations(!z);
if (z2 || !z) {
this.mActionBarVisibilityCallback.showForSystem();
} else {
this.mActionBarVisibilityCallback.hideForSystem();
}
}
if ((i2 & 256) != 0 && this.mActionBarVisibilityCallback != null) {
ViewCompat.requestApplyInsets(this);
}
}
/* access modifiers changed from: protected */
public void onWindowVisibilityChanged(int i) {
super.onWindowVisibilityChanged(i);
this.mWindowVisibility = i;
ActionBarVisibilityCallback actionBarVisibilityCallback = this.mActionBarVisibilityCallback;
if (actionBarVisibilityCallback != null) {
actionBarVisibilityCallback.onWindowVisibilityChanged(i);
}
}
private boolean applyInsets(View view, Rect rect, boolean z, boolean z2, boolean z3, boolean z4) {
boolean z5;
LayoutParams layoutParams = (LayoutParams) view.getLayoutParams();
if (!z || layoutParams.leftMargin == rect.left) {
z5 = false;
} else {
layoutParams.leftMargin = rect.left;
z5 = true;
}
if (z2 && layoutParams.topMargin != rect.top) {
layoutParams.topMargin = rect.top;
z5 = true;
}
if (z4 && layoutParams.rightMargin != rect.right) {
layoutParams.rightMargin = rect.right;
z5 = true;
}
if (!z3 || layoutParams.bottomMargin == rect.bottom) {
return z5;
}
layoutParams.bottomMargin = rect.bottom;
return true;
}
/* access modifiers changed from: protected */
public boolean fitSystemWindows(Rect rect) {
if (Build.VERSION.SDK_INT >= 21) {
return super.fitSystemWindows(rect);
}
pullChildren();
boolean applyInsets = applyInsets(this.mActionBarTop, rect, true, true, false, true);
this.mBaseInnerInsetsRect.set(rect);
ViewUtils.computeFitSystemWindows(this, this.mBaseInnerInsetsRect, this.mBaseContentInsets);
if (!this.mLastBaseInnerInsetsRect.equals(this.mBaseInnerInsetsRect)) {
this.mLastBaseInnerInsetsRect.set(this.mBaseInnerInsetsRect);
applyInsets = true;
}
if (!this.mLastBaseContentInsets.equals(this.mBaseContentInsets)) {
this.mLastBaseContentInsets.set(this.mBaseContentInsets);
applyInsets = true;
}
if (applyInsets) {
requestLayout();
}
return true;
}
public WindowInsets onApplyWindowInsets(WindowInsets windowInsets) {
pullChildren();
WindowInsetsCompat windowInsetsCompat = WindowInsetsCompat.toWindowInsetsCompat(windowInsets, this);
boolean applyInsets = applyInsets(this.mActionBarTop, new Rect(windowInsetsCompat.getSystemWindowInsetLeft(), windowInsetsCompat.getSystemWindowInsetTop(), windowInsetsCompat.getSystemWindowInsetRight(), windowInsetsCompat.getSystemWindowInsetBottom()), true, true, false, true);
ViewCompat.computeSystemWindowInsets(this, windowInsetsCompat, this.mBaseContentInsets);
WindowInsetsCompat inset = windowInsetsCompat.inset(this.mBaseContentInsets.left, this.mBaseContentInsets.top, this.mBaseContentInsets.right, this.mBaseContentInsets.bottom);
this.mBaseInnerInsets = inset;
boolean z = true;
if (!this.mLastBaseInnerInsets.equals(inset)) {
this.mLastBaseInnerInsets = this.mBaseInnerInsets;
applyInsets = true;
}
if (!this.mLastBaseContentInsets.equals(this.mBaseContentInsets)) {
this.mLastBaseContentInsets.set(this.mBaseContentInsets);
} else {
z = applyInsets;
}
if (z) {
requestLayout();
}
return windowInsetsCompat.consumeDisplayCutout().consumeSystemWindowInsets().consumeStableInsets().toWindowInsets();
}
/* access modifiers changed from: protected */
public LayoutParams generateDefaultLayoutParams() {
return new LayoutParams(-1, -1);
}
public LayoutParams generateLayoutParams(AttributeSet attributeSet) {
return new LayoutParams(getContext(), attributeSet);
}
/* access modifiers changed from: protected */
public ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams layoutParams) {
return new LayoutParams(layoutParams);
}
/* access modifiers changed from: protected */
public boolean checkLayoutParams(ViewGroup.LayoutParams layoutParams) {
return layoutParams instanceof LayoutParams;
}
/* access modifiers changed from: protected */
public void onMeasure(int i, int i2) {
int i3;
pullChildren();
measureChildWithMargins(this.mActionBarTop, i, 0, i2, 0);
LayoutParams layoutParams = (LayoutParams) this.mActionBarTop.getLayoutParams();
int max = Math.max(0, this.mActionBarTop.getMeasuredWidth() + layoutParams.leftMargin + layoutParams.rightMargin);
int max2 = Math.max(0, this.mActionBarTop.getMeasuredHeight() + layoutParams.topMargin + layoutParams.bottomMargin);
int combineMeasuredStates = View.combineMeasuredStates(0, this.mActionBarTop.getMeasuredState());
boolean z = (ViewCompat.getWindowSystemUiVisibility(this) & 256) != 0;
if (z) {
i3 = this.mActionBarHeight;
if (this.mHasNonEmbeddedTabs && this.mActionBarTop.getTabContainer() != null) {
i3 += this.mActionBarHeight;
}
} else {
i3 = this.mActionBarTop.getVisibility() != 8 ? this.mActionBarTop.getMeasuredHeight() : 0;
}
this.mContentInsets.set(this.mBaseContentInsets);
if (Build.VERSION.SDK_INT >= 21) {
this.mInnerInsets = this.mBaseInnerInsets;
} else {
this.mInnerInsetsRect.set(this.mBaseInnerInsetsRect);
}
if (!this.mOverlayMode && !z) {
this.mContentInsets.top += i3;
this.mContentInsets.bottom += 0;
if (Build.VERSION.SDK_INT >= 21) {
this.mInnerInsets = this.mInnerInsets.inset(0, i3, 0, 0);
}
} else if (Build.VERSION.SDK_INT >= 21) {
this.mInnerInsets = new WindowInsetsCompat.Builder(this.mInnerInsets).setSystemWindowInsets(Insets.of(this.mInnerInsets.getSystemWindowInsetLeft(), this.mInnerInsets.getSystemWindowInsetTop() + i3, this.mInnerInsets.getSystemWindowInsetRight(), this.mInnerInsets.getSystemWindowInsetBottom() + 0)).build();
} else {
this.mInnerInsetsRect.top += i3;
this.mInnerInsetsRect.bottom += 0;
}
applyInsets(this.mContent, this.mContentInsets, true, true, true, true);
if (Build.VERSION.SDK_INT >= 21 && !this.mLastInnerInsets.equals(this.mInnerInsets)) {
WindowInsetsCompat windowInsetsCompat = this.mInnerInsets;
this.mLastInnerInsets = windowInsetsCompat;
ViewCompat.dispatchApplyWindowInsets(this.mContent, windowInsetsCompat);
} else if (Build.VERSION.SDK_INT < 21 && !this.mLastInnerInsetsRect.equals(this.mInnerInsetsRect)) {
this.mLastInnerInsetsRect.set(this.mInnerInsetsRect);
this.mContent.dispatchFitSystemWindows(this.mInnerInsetsRect);
}
measureChildWithMargins(this.mContent, i, 0, i2, 0);
LayoutParams layoutParams2 = (LayoutParams) this.mContent.getLayoutParams();
int max3 = Math.max(max, this.mContent.getMeasuredWidth() + layoutParams2.leftMargin + layoutParams2.rightMargin);
int max4 = Math.max(max2, this.mContent.getMeasuredHeight() + layoutParams2.topMargin + layoutParams2.bottomMargin);
int combineMeasuredStates2 = View.combineMeasuredStates(combineMeasuredStates, this.mContent.getMeasuredState());
setMeasuredDimension(View.resolveSizeAndState(Math.max(max3 + getPaddingLeft() + getPaddingRight(), getSuggestedMinimumWidth()), i, combineMeasuredStates2), View.resolveSizeAndState(Math.max(max4 + getPaddingTop() + getPaddingBottom(), getSuggestedMinimumHeight()), i2, combineMeasuredStates2 << 16));
}
/* access modifiers changed from: protected */
public void onLayout(boolean z, int i, int i2, int i3, int i4) {
int childCount = getChildCount();
int paddingLeft = getPaddingLeft();
int paddingTop = getPaddingTop();
for (int i5 = 0; i5 < childCount; i5++) {
View childAt = getChildAt(i5);
if (childAt.getVisibility() != 8) {
LayoutParams layoutParams = (LayoutParams) childAt.getLayoutParams();
int measuredWidth = childAt.getMeasuredWidth();
int measuredHeight = childAt.getMeasuredHeight();
int i6 = layoutParams.leftMargin + paddingLeft;
int i7 = layoutParams.topMargin + paddingTop;
childAt.layout(i6, i7, measuredWidth + i6, measuredHeight + i7);
}
}
}
public void draw(Canvas canvas) {
super.draw(canvas);
if (this.mWindowContentOverlay != null && !this.mIgnoreWindowContentOverlay) {
int bottom = this.mActionBarTop.getVisibility() == 0 ? (int) (((float) this.mActionBarTop.getBottom()) + this.mActionBarTop.getTranslationY() + 0.5f) : 0;
this.mWindowContentOverlay.setBounds(0, bottom, getWidth(), this.mWindowContentOverlay.getIntrinsicHeight() + bottom);
this.mWindowContentOverlay.draw(canvas);
}
}
public void onNestedScroll(View view, int i, int i2, int i3, int i4, int i5, int[] iArr) {
onNestedScroll(view, i, i2, i3, i4, i5);
}
public boolean onStartNestedScroll(View view, View view2, int i, int i2) {
return i2 == 0 && onStartNestedScroll(view, view2, i);
}
public void onNestedScrollAccepted(View view, View view2, int i, int i2) {
if (i2 == 0) {
onNestedScrollAccepted(view, view2, i);
}
}
public void onStopNestedScroll(View view, int i) {
if (i == 0) {
onStopNestedScroll(view);
}
}
public void onNestedScroll(View view, int i, int i2, int i3, int i4, int i5) {
if (i5 == 0) {
onNestedScroll(view, i, i2, i3, i4);
}
}
public void onNestedPreScroll(View view, int i, int i2, int[] iArr, int i3) {
if (i3 == 0) {
onNestedPreScroll(view, i, i2, iArr);
}
}
public boolean onStartNestedScroll(View view, View view2, int i) {
if ((i & 2) == 0 || this.mActionBarTop.getVisibility() != 0) {
return false;
}
return this.mHideOnContentScroll;
}
public void onNestedScrollAccepted(View view, View view2, int i) {
this.mParentHelper.onNestedScrollAccepted(view, view2, i);
this.mHideOnContentScrollReference = getActionBarHideOffset();
haltActionBarHideOffsetAnimations();
ActionBarVisibilityCallback actionBarVisibilityCallback = this.mActionBarVisibilityCallback;
if (actionBarVisibilityCallback != null) {
actionBarVisibilityCallback.onContentScrollStarted();
}
}
public void onNestedScroll(View view, int i, int i2, int i3, int i4) {
int i5 = this.mHideOnContentScrollReference + i2;
this.mHideOnContentScrollReference = i5;
setActionBarHideOffset(i5);
}
public void onStopNestedScroll(View view) {
if (this.mHideOnContentScroll && !this.mAnimatingForFling) {
if (this.mHideOnContentScrollReference <= this.mActionBarTop.getHeight()) {
postRemoveActionBarHideOffset();
} else {
postAddActionBarHideOffset();
}
}
ActionBarVisibilityCallback actionBarVisibilityCallback = this.mActionBarVisibilityCallback;
if (actionBarVisibilityCallback != null) {
actionBarVisibilityCallback.onContentScrollStopped();
}
}
public boolean onNestedFling(View view, float f, float f2, boolean z) {
if (!this.mHideOnContentScroll || !z) {
return false;
}
if (shouldHideActionBarOnFling(f2)) {
addActionBarHideOffset();
} else {
removeActionBarHideOffset();
}
this.mAnimatingForFling = true;
return true;
}
public int getNestedScrollAxes() {
return this.mParentHelper.getNestedScrollAxes();
}
/* access modifiers changed from: package-private */
public void pullChildren() {
if (this.mContent == null) {
this.mContent = (ContentFrameLayout) findViewById(R.id.action_bar_activity_content);
this.mActionBarTop = (ActionBarContainer) findViewById(R.id.action_bar_container);
this.mDecorToolbar = getDecorToolbar(findViewById(R.id.action_bar));
}
}
private DecorToolbar getDecorToolbar(View view) {
if (view instanceof DecorToolbar) {
return (DecorToolbar) view;
}
if (view instanceof Toolbar) {
return ((Toolbar) view).getWrapper();
}
throw new IllegalStateException("Can't make a decor toolbar out of " + view.getClass().getSimpleName());
}
public void setHideOnContentScrollEnabled(boolean z) {
if (z != this.mHideOnContentScroll) {
this.mHideOnContentScroll = z;
if (!z) {
haltActionBarHideOffsetAnimations();
setActionBarHideOffset(0);
}
}
}
public boolean isHideOnContentScrollEnabled() {
return this.mHideOnContentScroll;
}
public int getActionBarHideOffset() {
ActionBarContainer actionBarContainer = this.mActionBarTop;
if (actionBarContainer != null) {
return -((int) actionBarContainer.getTranslationY());
}
return 0;
}
public void setActionBarHideOffset(int i) {
haltActionBarHideOffsetAnimations();
this.mActionBarTop.setTranslationY((float) (-Math.max(0, Math.min(i, this.mActionBarTop.getHeight()))));
}
/* access modifiers changed from: package-private */
public void haltActionBarHideOffsetAnimations() {
removeCallbacks(this.mRemoveActionBarHideOffset);
removeCallbacks(this.mAddActionBarHideOffset);
ViewPropertyAnimator viewPropertyAnimator = this.mCurrentActionBarTopAnimator;
if (viewPropertyAnimator != null) {
viewPropertyAnimator.cancel();
}
}
private void postRemoveActionBarHideOffset() {
haltActionBarHideOffsetAnimations();
postDelayed(this.mRemoveActionBarHideOffset, 600);
}
private void postAddActionBarHideOffset() {
haltActionBarHideOffsetAnimations();
postDelayed(this.mAddActionBarHideOffset, 600);
}
private void removeActionBarHideOffset() {
haltActionBarHideOffsetAnimations();
this.mRemoveActionBarHideOffset.run();
}
private void addActionBarHideOffset() {
haltActionBarHideOffsetAnimations();
this.mAddActionBarHideOffset.run();
}
private boolean shouldHideActionBarOnFling(float f) {
this.mFlingEstimator.fling(0, 0, 0, (int) f, 0, 0, Integer.MIN_VALUE, Integer.MAX_VALUE);
return this.mFlingEstimator.getFinalY() > this.mActionBarTop.getHeight();
}
public void setWindowCallback(Window.Callback callback) {
pullChildren();
this.mDecorToolbar.setWindowCallback(callback);
}
public void setWindowTitle(CharSequence charSequence) {
pullChildren();
this.mDecorToolbar.setWindowTitle(charSequence);
}
public CharSequence getTitle() {
pullChildren();
return this.mDecorToolbar.getTitle();
}
public void initFeature(int i) {
pullChildren();
if (i == 2) {
this.mDecorToolbar.initProgress();
} else if (i == 5) {
this.mDecorToolbar.initIndeterminateProgress();
} else if (i == 109) {
setOverlayMode(true);
}
}
public boolean hasIcon() {
pullChildren();
return this.mDecorToolbar.hasIcon();
}
public boolean hasLogo() {
pullChildren();
return this.mDecorToolbar.hasLogo();
}
public void setIcon(int i) {
pullChildren();
this.mDecorToolbar.setIcon(i);
}
public void setIcon(Drawable drawable) {
pullChildren();
this.mDecorToolbar.setIcon(drawable);
}
public void setLogo(int i) {
pullChildren();
this.mDecorToolbar.setLogo(i);
}
public boolean canShowOverflowMenu() {
pullChildren();
return this.mDecorToolbar.canShowOverflowMenu();
}
public boolean isOverflowMenuShowing() {
pullChildren();
return this.mDecorToolbar.isOverflowMenuShowing();
}
public boolean isOverflowMenuShowPending() {
pullChildren();
return this.mDecorToolbar.isOverflowMenuShowPending();
}
public boolean showOverflowMenu() {
pullChildren();
return this.mDecorToolbar.showOverflowMenu();
}
public boolean hideOverflowMenu() {
pullChildren();
return this.mDecorToolbar.hideOverflowMenu();
}
public void setMenuPrepared() {
pullChildren();
this.mDecorToolbar.setMenuPrepared();
}
public void setMenu(Menu menu, MenuPresenter.Callback callback) {
pullChildren();
this.mDecorToolbar.setMenu(menu, callback);
}
public void saveToolbarHierarchyState(SparseArray<Parcelable> sparseArray) {
pullChildren();
this.mDecorToolbar.saveHierarchyState(sparseArray);
}
public void restoreToolbarHierarchyState(SparseArray<Parcelable> sparseArray) {
pullChildren();
this.mDecorToolbar.restoreHierarchyState(sparseArray);
}
public void dismissPopups() {
pullChildren();
this.mDecorToolbar.dismissPopupMenus();
}
public static class LayoutParams extends ViewGroup.MarginLayoutParams {
public LayoutParams(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
}
public LayoutParams(int i, int i2) {
super(i, i2);
}
public LayoutParams(ViewGroup.LayoutParams layoutParams) {
super(layoutParams);
}
public LayoutParams(ViewGroup.MarginLayoutParams marginLayoutParams) {
super(marginLayoutParams);
}
}
}
Download file