CrackMe.apk
Download file
package androidx.appcompat.view.menu;
import android.content.Context;
import android.graphics.Rect;
import android.view.View;
import android.widget.ListView;
import android.widget.PopupWindow;
import androidx.appcompat.R;
import androidx.appcompat.view.menu.MenuPresenter;
import androidx.core.view.GravityCompat;
import androidx.core.view.ViewCompat;
public class MenuPopupHelper implements MenuHelper {
private static final int TOUCH_EPICENTER_SIZE_DP = 48;
private View mAnchorView;
private final Context mContext;
private int mDropDownGravity;
private boolean mForceShowIcon;
private final PopupWindow.OnDismissListener mInternalOnDismissListener;
private final MenuBuilder mMenu;
private PopupWindow.OnDismissListener mOnDismissListener;
private final boolean mOverflowOnly;
private MenuPopup mPopup;
private final int mPopupStyleAttr;
private final int mPopupStyleRes;
private MenuPresenter.Callback mPresenterCallback;
public MenuPopupHelper(Context context, MenuBuilder menuBuilder) {
this(context, menuBuilder, (View) null, false, R.attr.popupMenuStyle, 0);
}
public MenuPopupHelper(Context context, MenuBuilder menuBuilder, View view) {
this(context, menuBuilder, view, false, R.attr.popupMenuStyle, 0);
}
public MenuPopupHelper(Context context, MenuBuilder menuBuilder, View view, boolean z, int i) {
this(context, menuBuilder, view, z, i, 0);
}
public MenuPopupHelper(Context context, MenuBuilder menuBuilder, View view, boolean z, int i, int i2) {
this.mDropDownGravity = GravityCompat.START;
this.mInternalOnDismissListener = new PopupWindow.OnDismissListener() {
public void onDismiss() {
MenuPopupHelper.this.onDismiss();
}
};
this.mContext = context;
this.mMenu = menuBuilder;
this.mAnchorView = view;
this.mOverflowOnly = z;
this.mPopupStyleAttr = i;
this.mPopupStyleRes = i2;
}
public void setOnDismissListener(PopupWindow.OnDismissListener onDismissListener) {
this.mOnDismissListener = onDismissListener;
}
public void setAnchorView(View view) {
this.mAnchorView = view;
}
public void setForceShowIcon(boolean z) {
this.mForceShowIcon = z;
MenuPopup menuPopup = this.mPopup;
if (menuPopup != null) {
menuPopup.setForceShowIcon(z);
}
}
public void setGravity(int i) {
this.mDropDownGravity = i;
}
public int getGravity() {
return this.mDropDownGravity;
}
public void show() {
if (!tryShow()) {
throw new IllegalStateException("MenuPopupHelper cannot be used without an anchor");
}
}
public void show(int i, int i2) {
if (!tryShow(i, i2)) {
throw new IllegalStateException("MenuPopupHelper cannot be used without an anchor");
}
}
public MenuPopup getPopup() {
if (this.mPopup == null) {
this.mPopup = createPopup();
}
return this.mPopup;
}
public boolean tryShow() {
if (isShowing()) {
return true;
}
if (this.mAnchorView == null) {
return false;
}
showPopup(0, 0, false, false);
return true;
}
public boolean tryShow(int i, int i2) {
if (isShowing()) {
return true;
}
if (this.mAnchorView == null) {
return false;
}
showPopup(i, i2, true, true);
return true;
}
/* JADX WARNING: type inference failed for: r0v7, types: [androidx.appcompat.view.menu.MenuPopup] */
/* JADX WARNING: type inference failed for: r7v1, types: [androidx.appcompat.view.menu.StandardMenuPopup] */
/* JADX WARNING: type inference failed for: r1v13, types: [androidx.appcompat.view.menu.CascadingMenuPopup] */
/* JADX WARNING: Multi-variable type inference failed */
/* Code decompiled incorrectly, please refer to instructions dump. */
private androidx.appcompat.view.menu.MenuPopup createPopup() {
/*
r14 = this;
android.content.Context r0 = r14.mContext
java.lang.String r1 = "window"
java.lang.Object r0 = r0.getSystemService(r1)
android.view.WindowManager r0 = (android.view.WindowManager) r0
android.view.Display r0 = r0.getDefaultDisplay()
android.graphics.Point r1 = new android.graphics.Point
r1.<init>()
int r2 = android.os.Build.VERSION.SDK_INT
r3 = 17
if (r2 < r3) goto L_0x001e
r0.getRealSize(r1)
goto L_0x0021
L_0x001e:
r0.getSize(r1)
L_0x0021:
int r0 = r1.x
int r1 = r1.y
int r0 = java.lang.Math.min(r0, r1)
android.content.Context r1 = r14.mContext
android.content.res.Resources r1 = r1.getResources()
int r2 = androidx.appcompat.R.dimen.abc_cascading_menus_min_smallest_width
int r1 = r1.getDimensionPixelSize(r2)
if (r0 < r1) goto L_0x0039
r0 = 1
goto L_0x003a
L_0x0039:
r0 = 0
L_0x003a:
if (r0 == 0) goto L_0x004d
androidx.appcompat.view.menu.CascadingMenuPopup r0 = new androidx.appcompat.view.menu.CascadingMenuPopup
android.content.Context r2 = r14.mContext
android.view.View r3 = r14.mAnchorView
int r4 = r14.mPopupStyleAttr
int r5 = r14.mPopupStyleRes
boolean r6 = r14.mOverflowOnly
r1 = r0
r1.<init>(r2, r3, r4, r5, r6)
goto L_0x005f
L_0x004d:
androidx.appcompat.view.menu.StandardMenuPopup r0 = new androidx.appcompat.view.menu.StandardMenuPopup
android.content.Context r8 = r14.mContext
androidx.appcompat.view.menu.MenuBuilder r9 = r14.mMenu
android.view.View r10 = r14.mAnchorView
int r11 = r14.mPopupStyleAttr
int r12 = r14.mPopupStyleRes
boolean r13 = r14.mOverflowOnly
r7 = r0
r7.<init>(r8, r9, r10, r11, r12, r13)
L_0x005f:
androidx.appcompat.view.menu.MenuBuilder r1 = r14.mMenu
r0.addMenu(r1)
android.widget.PopupWindow$OnDismissListener r1 = r14.mInternalOnDismissListener
r0.setOnDismissListener(r1)
android.view.View r1 = r14.mAnchorView
r0.setAnchorView(r1)
androidx.appcompat.view.menu.MenuPresenter$Callback r1 = r14.mPresenterCallback
r0.setCallback(r1)
boolean r1 = r14.mForceShowIcon
r0.setForceShowIcon(r1)
int r1 = r14.mDropDownGravity
r0.setGravity(r1)
return r0
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.view.menu.MenuPopupHelper.createPopup():androidx.appcompat.view.menu.MenuPopup");
}
private void showPopup(int i, int i2, boolean z, boolean z2) {
MenuPopup popup = getPopup();
popup.setShowTitle(z2);
if (z) {
if ((GravityCompat.getAbsoluteGravity(this.mDropDownGravity, ViewCompat.getLayoutDirection(this.mAnchorView)) & 7) == 5) {
i -= this.mAnchorView.getWidth();
}
popup.setHorizontalOffset(i);
popup.setVerticalOffset(i2);
int i3 = (int) ((this.mContext.getResources().getDisplayMetrics().density * 48.0f) / 2.0f);
popup.setEpicenterBounds(new Rect(i - i3, i2 - i3, i + i3, i2 + i3));
}
popup.show();
}
public void dismiss() {
if (isShowing()) {
this.mPopup.dismiss();
}
}
/* access modifiers changed from: protected */
public void onDismiss() {
this.mPopup = null;
PopupWindow.OnDismissListener onDismissListener = this.mOnDismissListener;
if (onDismissListener != null) {
onDismissListener.onDismiss();
}
}
public boolean isShowing() {
MenuPopup menuPopup = this.mPopup;
return menuPopup != null && menuPopup.isShowing();
}
public void setPresenterCallback(MenuPresenter.Callback callback) {
this.mPresenterCallback = callback;
MenuPopup menuPopup = this.mPopup;
if (menuPopup != null) {
menuPopup.setCallback(callback);
}
}
public ListView getListView() {
return getPopup().getListView();
}
}
Download file