CrackMe.apk
Download file
package androidx.legacy.app;
import android.app.ActionBar;
import android.app.Activity;
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.graphics.drawable.InsetDrawable;
import android.os.Build;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.core.content.ContextCompat;
import androidx.core.view.GravityCompat;
import androidx.core.view.ViewCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import java.lang.reflect.Method;
@Deprecated
public class ActionBarDrawerToggle implements DrawerLayout.DrawerListener {
private static final int ID_HOME = 16908332;
private static final String TAG = "ActionBarDrawerToggle";
private static final int[] THEME_ATTRS = {16843531};
private static final float TOGGLE_DRAWABLE_OFFSET = 0.33333334f;
final Activity mActivity;
private final Delegate mActivityImpl;
private final int mCloseDrawerContentDescRes;
private Drawable mDrawerImage;
private final int mDrawerImageResource;
private boolean mDrawerIndicatorEnabled;
private final DrawerLayout mDrawerLayout;
private boolean mHasCustomUpIndicator;
private Drawable mHomeAsUpIndicator;
private final int mOpenDrawerContentDescRes;
private SetIndicatorInfo mSetIndicatorInfo;
private SlideDrawable mSlider;
@Deprecated
public interface Delegate {
Drawable getThemeUpIndicator();
void setActionBarDescription(int i);
void setActionBarUpIndicator(Drawable drawable, int i);
}
@Deprecated
public interface DelegateProvider {
Delegate getDrawerToggleDelegate();
}
public void onDrawerStateChanged(int i) {
}
public ActionBarDrawerToggle(Activity activity, DrawerLayout drawerLayout, int i, int i2, int i3) {
this(activity, drawerLayout, !assumeMaterial(activity), i, i2, i3);
}
private static boolean assumeMaterial(Context context) {
return context.getApplicationInfo().targetSdkVersion >= 21 && Build.VERSION.SDK_INT >= 21;
}
public ActionBarDrawerToggle(Activity activity, DrawerLayout drawerLayout, boolean z, int i, int i2, int i3) {
this.mDrawerIndicatorEnabled = true;
this.mActivity = activity;
if (activity instanceof DelegateProvider) {
this.mActivityImpl = ((DelegateProvider) activity).getDrawerToggleDelegate();
} else {
this.mActivityImpl = null;
}
this.mDrawerLayout = drawerLayout;
this.mDrawerImageResource = i;
this.mOpenDrawerContentDescRes = i2;
this.mCloseDrawerContentDescRes = i3;
this.mHomeAsUpIndicator = getThemeUpIndicator();
this.mDrawerImage = ContextCompat.getDrawable(activity, i);
SlideDrawable slideDrawable = new SlideDrawable(this.mDrawerImage);
this.mSlider = slideDrawable;
slideDrawable.setOffset(z ? TOGGLE_DRAWABLE_OFFSET : 0.0f);
}
public void syncState() {
if (this.mDrawerLayout.isDrawerOpen((int) GravityCompat.START)) {
this.mSlider.setPosition(1.0f);
} else {
this.mSlider.setPosition(0.0f);
}
if (this.mDrawerIndicatorEnabled) {
setActionBarUpIndicator(this.mSlider, this.mDrawerLayout.isDrawerOpen((int) GravityCompat.START) ? this.mCloseDrawerContentDescRes : this.mOpenDrawerContentDescRes);
}
}
public void setHomeAsUpIndicator(Drawable drawable) {
if (drawable == null) {
this.mHomeAsUpIndicator = getThemeUpIndicator();
this.mHasCustomUpIndicator = false;
} else {
this.mHomeAsUpIndicator = drawable;
this.mHasCustomUpIndicator = true;
}
if (!this.mDrawerIndicatorEnabled) {
setActionBarUpIndicator(this.mHomeAsUpIndicator, 0);
}
}
public void setHomeAsUpIndicator(int i) {
setHomeAsUpIndicator(i != 0 ? ContextCompat.getDrawable(this.mActivity, i) : null);
}
public void setDrawerIndicatorEnabled(boolean z) {
if (z != this.mDrawerIndicatorEnabled) {
if (z) {
setActionBarUpIndicator(this.mSlider, this.mDrawerLayout.isDrawerOpen((int) GravityCompat.START) ? this.mCloseDrawerContentDescRes : this.mOpenDrawerContentDescRes);
} else {
setActionBarUpIndicator(this.mHomeAsUpIndicator, 0);
}
this.mDrawerIndicatorEnabled = z;
}
}
public boolean isDrawerIndicatorEnabled() {
return this.mDrawerIndicatorEnabled;
}
public void onConfigurationChanged(Configuration configuration) {
if (!this.mHasCustomUpIndicator) {
this.mHomeAsUpIndicator = getThemeUpIndicator();
}
this.mDrawerImage = ContextCompat.getDrawable(this.mActivity, this.mDrawerImageResource);
syncState();
}
public boolean onOptionsItemSelected(MenuItem menuItem) {
if (menuItem == null || menuItem.getItemId() != ID_HOME || !this.mDrawerIndicatorEnabled) {
return false;
}
if (this.mDrawerLayout.isDrawerVisible((int) GravityCompat.START)) {
this.mDrawerLayout.closeDrawer((int) GravityCompat.START);
return true;
}
this.mDrawerLayout.openDrawer((int) GravityCompat.START);
return true;
}
public void onDrawerSlide(View view, float f) {
float f2;
float position = this.mSlider.getPosition();
if (f > 0.5f) {
f2 = Math.max(position, Math.max(0.0f, f - 0.5f) * 2.0f);
} else {
f2 = Math.min(position, f * 2.0f);
}
this.mSlider.setPosition(f2);
}
public void onDrawerOpened(View view) {
this.mSlider.setPosition(1.0f);
if (this.mDrawerIndicatorEnabled) {
setActionBarDescription(this.mCloseDrawerContentDescRes);
}
}
public void onDrawerClosed(View view) {
this.mSlider.setPosition(0.0f);
if (this.mDrawerIndicatorEnabled) {
setActionBarDescription(this.mOpenDrawerContentDescRes);
}
}
private Drawable getThemeUpIndicator() {
Context context;
Delegate delegate = this.mActivityImpl;
if (delegate != null) {
return delegate.getThemeUpIndicator();
}
if (Build.VERSION.SDK_INT >= 18) {
ActionBar actionBar = this.mActivity.getActionBar();
if (actionBar != null) {
context = actionBar.getThemedContext();
} else {
context = this.mActivity;
}
TypedArray obtainStyledAttributes = context.obtainStyledAttributes((AttributeSet) null, THEME_ATTRS, 16843470, 0);
Drawable drawable = obtainStyledAttributes.getDrawable(0);
obtainStyledAttributes.recycle();
return drawable;
}
TypedArray obtainStyledAttributes2 = this.mActivity.obtainStyledAttributes(THEME_ATTRS);
Drawable drawable2 = obtainStyledAttributes2.getDrawable(0);
obtainStyledAttributes2.recycle();
return drawable2;
}
private void setActionBarUpIndicator(Drawable drawable, int i) {
Delegate delegate = this.mActivityImpl;
if (delegate != null) {
delegate.setActionBarUpIndicator(drawable, i);
} else if (Build.VERSION.SDK_INT >= 18) {
ActionBar actionBar = this.mActivity.getActionBar();
if (actionBar != null) {
actionBar.setHomeAsUpIndicator(drawable);
actionBar.setHomeActionContentDescription(i);
}
} else {
if (this.mSetIndicatorInfo == null) {
this.mSetIndicatorInfo = new SetIndicatorInfo(this.mActivity);
}
if (this.mSetIndicatorInfo.mSetHomeAsUpIndicator != null) {
try {
ActionBar actionBar2 = this.mActivity.getActionBar();
this.mSetIndicatorInfo.mSetHomeAsUpIndicator.invoke(actionBar2, new Object[]{drawable});
this.mSetIndicatorInfo.mSetHomeActionContentDescription.invoke(actionBar2, new Object[]{Integer.valueOf(i)});
} catch (Exception e) {
Log.w(TAG, "Couldn't set home-as-up indicator via JB-MR2 API", e);
}
} else if (this.mSetIndicatorInfo.mUpIndicatorView != null) {
this.mSetIndicatorInfo.mUpIndicatorView.setImageDrawable(drawable);
} else {
Log.w(TAG, "Couldn't set home-as-up indicator");
}
}
}
private void setActionBarDescription(int i) {
Delegate delegate = this.mActivityImpl;
if (delegate != null) {
delegate.setActionBarDescription(i);
} else if (Build.VERSION.SDK_INT >= 18) {
ActionBar actionBar = this.mActivity.getActionBar();
if (actionBar != null) {
actionBar.setHomeActionContentDescription(i);
}
} else {
if (this.mSetIndicatorInfo == null) {
this.mSetIndicatorInfo = new SetIndicatorInfo(this.mActivity);
}
if (this.mSetIndicatorInfo.mSetHomeAsUpIndicator != null) {
try {
ActionBar actionBar2 = this.mActivity.getActionBar();
this.mSetIndicatorInfo.mSetHomeActionContentDescription.invoke(actionBar2, new Object[]{Integer.valueOf(i)});
actionBar2.setSubtitle(actionBar2.getSubtitle());
} catch (Exception e) {
Log.w(TAG, "Couldn't set content description via JB-MR2 API", e);
}
}
}
}
private static class SetIndicatorInfo {
Method mSetHomeActionContentDescription;
Method mSetHomeAsUpIndicator;
ImageView mUpIndicatorView;
SetIndicatorInfo(Activity activity) {
try {
this.mSetHomeAsUpIndicator = ActionBar.class.getDeclaredMethod("setHomeAsUpIndicator", new Class[]{Drawable.class});
this.mSetHomeActionContentDescription = ActionBar.class.getDeclaredMethod("setHomeActionContentDescription", new Class[]{Integer.TYPE});
} catch (NoSuchMethodException unused) {
View findViewById = activity.findViewById(ActionBarDrawerToggle.ID_HOME);
if (findViewById != null) {
ViewGroup viewGroup = (ViewGroup) findViewById.getParent();
if (viewGroup.getChildCount() == 2) {
View childAt = viewGroup.getChildAt(0);
childAt = childAt.getId() == ActionBarDrawerToggle.ID_HOME ? viewGroup.getChildAt(1) : childAt;
if (childAt instanceof ImageView) {
this.mUpIndicatorView = (ImageView) childAt;
}
}
}
}
}
}
private class SlideDrawable extends InsetDrawable implements Drawable.Callback {
private final boolean mHasMirroring;
private float mOffset;
private float mPosition;
private final Rect mTmpRect;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
SlideDrawable(Drawable drawable) {
super(drawable, 0);
boolean z = false;
this.mHasMirroring = Build.VERSION.SDK_INT > 18 ? true : z;
this.mTmpRect = new Rect();
}
public void setPosition(float f) {
this.mPosition = f;
invalidateSelf();
}
public float getPosition() {
return this.mPosition;
}
public void setOffset(float f) {
this.mOffset = f;
invalidateSelf();
}
public void draw(Canvas canvas) {
copyBounds(this.mTmpRect);
canvas.save();
int i = 1;
boolean z = ViewCompat.getLayoutDirection(ActionBarDrawerToggle.this.mActivity.getWindow().getDecorView()) == 1;
if (z) {
i = -1;
}
float width = (float) this.mTmpRect.width();
canvas.translate((-this.mOffset) * width * this.mPosition * ((float) i), 0.0f);
if (z && !this.mHasMirroring) {
canvas.translate(width, 0.0f);
canvas.scale(-1.0f, 1.0f);
}
super.draw(canvas);
canvas.restore();
}
}
}
Download file