CrackMe.apk
Download file
package androidx.appcompat.graphics.drawable;
import android.animation.ObjectAnimator;
import android.animation.TimeInterpolator;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Outline;
import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.drawable.Animatable;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.util.AttributeSet;
import android.util.StateSet;
import androidx.appcompat.graphics.drawable.DrawableContainer;
import androidx.appcompat.graphics.drawable.StateListDrawable;
import androidx.appcompat.resources.Compatibility;
import androidx.appcompat.resources.R;
import androidx.appcompat.widget.ResourceManagerInternal;
import androidx.collection.LongSparseArray;
import androidx.collection.SparseArrayCompat;
import androidx.core.content.res.TypedArrayUtils;
import androidx.core.graphics.drawable.TintAwareDrawable;
import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat;
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
import java.io.IOException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public class AnimatedStateListDrawableCompat extends StateListDrawable implements TintAwareDrawable {
private static final String ELEMENT_ITEM = "item";
private static final String ELEMENT_TRANSITION = "transition";
private static final String ITEM_MISSING_DRAWABLE_ERROR = ": <item> tag requires a 'drawable' attribute or child tag defining a drawable";
private static final String LOGTAG = "AnimatedStateListDrawableCompat";
private static final String TRANSITION_MISSING_DRAWABLE_ERROR = ": <transition> tag requires a 'drawable' attribute or child tag defining a drawable";
private static final String TRANSITION_MISSING_FROM_TO_ID = ": <transition> tag requires 'fromId' & 'toId' attributes";
private boolean mMutated;
private AnimatedStateListState mState;
private Transition mTransition;
private int mTransitionFromIndex;
private int mTransitionToIndex;
public boolean isStateful() {
return true;
}
public /* bridge */ /* synthetic */ void addState(int[] iArr, Drawable drawable) {
super.addState(iArr, drawable);
}
public /* bridge */ /* synthetic */ void applyTheme(Resources.Theme theme) {
super.applyTheme(theme);
}
public /* bridge */ /* synthetic */ boolean canApplyTheme() {
return super.canApplyTheme();
}
public /* bridge */ /* synthetic */ void draw(Canvas canvas) {
super.draw(canvas);
}
public /* bridge */ /* synthetic */ int getAlpha() {
return super.getAlpha();
}
public /* bridge */ /* synthetic */ int getChangingConfigurations() {
return super.getChangingConfigurations();
}
public /* bridge */ /* synthetic */ Drawable getCurrent() {
return super.getCurrent();
}
public /* bridge */ /* synthetic */ void getHotspotBounds(Rect rect) {
super.getHotspotBounds(rect);
}
public /* bridge */ /* synthetic */ int getIntrinsicHeight() {
return super.getIntrinsicHeight();
}
public /* bridge */ /* synthetic */ int getIntrinsicWidth() {
return super.getIntrinsicWidth();
}
public /* bridge */ /* synthetic */ int getMinimumHeight() {
return super.getMinimumHeight();
}
public /* bridge */ /* synthetic */ int getMinimumWidth() {
return super.getMinimumWidth();
}
public /* bridge */ /* synthetic */ int getOpacity() {
return super.getOpacity();
}
public /* bridge */ /* synthetic */ void getOutline(Outline outline) {
super.getOutline(outline);
}
public /* bridge */ /* synthetic */ boolean getPadding(Rect rect) {
return super.getPadding(rect);
}
public /* bridge */ /* synthetic */ void invalidateDrawable(Drawable drawable) {
super.invalidateDrawable(drawable);
}
public /* bridge */ /* synthetic */ boolean isAutoMirrored() {
return super.isAutoMirrored();
}
public /* bridge */ /* synthetic */ boolean onLayoutDirectionChanged(int i) {
return super.onLayoutDirectionChanged(i);
}
public /* bridge */ /* synthetic */ void scheduleDrawable(Drawable drawable, Runnable runnable, long j) {
super.scheduleDrawable(drawable, runnable, j);
}
public /* bridge */ /* synthetic */ void setAlpha(int i) {
super.setAlpha(i);
}
public /* bridge */ /* synthetic */ void setAutoMirrored(boolean z) {
super.setAutoMirrored(z);
}
public /* bridge */ /* synthetic */ void setColorFilter(ColorFilter colorFilter) {
super.setColorFilter(colorFilter);
}
public /* bridge */ /* synthetic */ void setDither(boolean z) {
super.setDither(z);
}
public /* bridge */ /* synthetic */ void setEnterFadeDuration(int i) {
super.setEnterFadeDuration(i);
}
public /* bridge */ /* synthetic */ void setExitFadeDuration(int i) {
super.setExitFadeDuration(i);
}
public /* bridge */ /* synthetic */ void setHotspot(float f, float f2) {
super.setHotspot(f, f2);
}
public /* bridge */ /* synthetic */ void setHotspotBounds(int i, int i2, int i3, int i4) {
super.setHotspotBounds(i, i2, i3, i4);
}
public /* bridge */ /* synthetic */ void setTintList(ColorStateList colorStateList) {
super.setTintList(colorStateList);
}
public /* bridge */ /* synthetic */ void setTintMode(PorterDuff.Mode mode) {
super.setTintMode(mode);
}
public /* bridge */ /* synthetic */ void unscheduleDrawable(Drawable drawable, Runnable runnable) {
super.unscheduleDrawable(drawable, runnable);
}
public AnimatedStateListDrawableCompat() {
this((AnimatedStateListState) null, (Resources) null);
}
AnimatedStateListDrawableCompat(AnimatedStateListState animatedStateListState, Resources resources) {
super((StateListDrawable.StateListState) null);
this.mTransitionToIndex = -1;
this.mTransitionFromIndex = -1;
setConstantState(new AnimatedStateListState(animatedStateListState, this, resources));
onStateChange(getState());
jumpToCurrentState();
}
/* JADX WARNING: Removed duplicated region for block: B:11:0x0020 A[Catch:{ XmlPullParserException -> 0x002f, IOException -> 0x0028 }] */
/* JADX WARNING: Removed duplicated region for block: B:9:0x001b A[Catch:{ XmlPullParserException -> 0x002f, IOException -> 0x0028 }] */
/* Code decompiled incorrectly, please refer to instructions dump. */
public static androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat create(android.content.Context r6, int r7, android.content.res.Resources.Theme r8) {
/*
java.lang.String r0 = "parser error"
android.content.res.Resources r1 = r6.getResources() // Catch:{ XmlPullParserException -> 0x002f, IOException -> 0x0028 }
android.content.res.XmlResourceParser r7 = r1.getXml(r7) // Catch:{ XmlPullParserException -> 0x002f, IOException -> 0x0028 }
android.util.AttributeSet r2 = android.util.Xml.asAttributeSet(r7) // Catch:{ XmlPullParserException -> 0x002f, IOException -> 0x0028 }
L_0x000e:
int r3 = r7.next() // Catch:{ XmlPullParserException -> 0x002f, IOException -> 0x0028 }
r4 = 2
if (r3 == r4) goto L_0x0019
r5 = 1
if (r3 == r5) goto L_0x0019
goto L_0x000e
L_0x0019:
if (r3 != r4) goto L_0x0020
androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat r6 = createFromXmlInner(r6, r1, r7, r2, r8) // Catch:{ XmlPullParserException -> 0x002f, IOException -> 0x0028 }
return r6
L_0x0020:
org.xmlpull.v1.XmlPullParserException r6 = new org.xmlpull.v1.XmlPullParserException // Catch:{ XmlPullParserException -> 0x002f, IOException -> 0x0028 }
java.lang.String r7 = "No start tag found"
r6.<init>(r7) // Catch:{ XmlPullParserException -> 0x002f, IOException -> 0x0028 }
throw r6 // Catch:{ XmlPullParserException -> 0x002f, IOException -> 0x0028 }
L_0x0028:
r6 = move-exception
java.lang.String r7 = LOGTAG
android.util.Log.e(r7, r0, r6)
goto L_0x0035
L_0x002f:
r6 = move-exception
java.lang.String r7 = LOGTAG
android.util.Log.e(r7, r0, r6)
L_0x0035:
r6 = 0
return r6
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat.create(android.content.Context, int, android.content.res.Resources$Theme):androidx.appcompat.graphics.drawable.AnimatedStateListDrawableCompat");
}
public static AnimatedStateListDrawableCompat createFromXmlInner(Context context, Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws IOException, XmlPullParserException {
String name = xmlPullParser.getName();
if (name.equals("animated-selector")) {
AnimatedStateListDrawableCompat animatedStateListDrawableCompat = new AnimatedStateListDrawableCompat();
animatedStateListDrawableCompat.inflate(context, resources, xmlPullParser, attributeSet, theme);
return animatedStateListDrawableCompat;
}
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + ": invalid animated-selector tag " + name);
}
public void inflate(Context context, Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws XmlPullParserException, IOException {
TypedArray obtainAttributes = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, R.styleable.AnimatedStateListDrawableCompat);
setVisible(obtainAttributes.getBoolean(R.styleable.AnimatedStateListDrawableCompat_android_visible, true), true);
updateStateFromTypedArray(obtainAttributes);
updateDensity(resources);
obtainAttributes.recycle();
inflateChildElements(context, resources, xmlPullParser, attributeSet, theme);
init();
}
public boolean setVisible(boolean z, boolean z2) {
boolean visible = super.setVisible(z, z2);
Transition transition = this.mTransition;
if (transition != null && (visible || z2)) {
if (z) {
transition.start();
} else {
jumpToCurrentState();
}
}
return visible;
}
public void addState(int[] iArr, Drawable drawable, int i) {
if (drawable != null) {
this.mState.addStateSet(iArr, drawable, i);
onStateChange(getState());
return;
}
throw new IllegalArgumentException("Drawable must not be null");
}
public <T extends Drawable & Animatable> void addTransition(int i, int i2, T t, boolean z) {
if (t != null) {
this.mState.addTransition(i, i2, t, z);
return;
}
throw new IllegalArgumentException("Transition drawable must not be null");
}
public void jumpToCurrentState() {
super.jumpToCurrentState();
Transition transition = this.mTransition;
if (transition != null) {
transition.stop();
this.mTransition = null;
selectDrawable(this.mTransitionToIndex);
this.mTransitionToIndex = -1;
this.mTransitionFromIndex = -1;
}
}
/* access modifiers changed from: protected */
public boolean onStateChange(int[] iArr) {
int indexOfKeyframe = this.mState.indexOfKeyframe(iArr);
boolean z = indexOfKeyframe != getCurrentIndex() && (selectTransition(indexOfKeyframe) || selectDrawable(indexOfKeyframe));
Drawable current = getCurrent();
return current != null ? z | current.setState(iArr) : z;
}
private boolean selectTransition(int i) {
int i2;
int indexOfTransition;
Transition transition;
Transition transition2 = this.mTransition;
if (transition2 == null) {
i2 = getCurrentIndex();
} else if (i == this.mTransitionToIndex) {
return true;
} else {
if (i != this.mTransitionFromIndex || !transition2.canReverse()) {
i2 = this.mTransitionToIndex;
transition2.stop();
} else {
transition2.reverse();
this.mTransitionToIndex = this.mTransitionFromIndex;
this.mTransitionFromIndex = i;
return true;
}
}
this.mTransition = null;
this.mTransitionFromIndex = -1;
this.mTransitionToIndex = -1;
AnimatedStateListState animatedStateListState = this.mState;
int keyframeIdAt = animatedStateListState.getKeyframeIdAt(i2);
int keyframeIdAt2 = animatedStateListState.getKeyframeIdAt(i);
if (keyframeIdAt2 == 0 || keyframeIdAt == 0 || (indexOfTransition = animatedStateListState.indexOfTransition(keyframeIdAt, keyframeIdAt2)) < 0) {
return false;
}
boolean transitionHasReversibleFlag = animatedStateListState.transitionHasReversibleFlag(keyframeIdAt, keyframeIdAt2);
selectDrawable(indexOfTransition);
Drawable current = getCurrent();
if (current instanceof AnimationDrawable) {
transition = new AnimationDrawableTransition((AnimationDrawable) current, animatedStateListState.isTransitionReversed(keyframeIdAt, keyframeIdAt2), transitionHasReversibleFlag);
} else if (current instanceof AnimatedVectorDrawableCompat) {
transition = new AnimatedVectorDrawableTransition((AnimatedVectorDrawableCompat) current);
} else {
if (current instanceof Animatable) {
transition = new AnimatableTransition((Animatable) current);
}
return false;
}
transition.start();
this.mTransition = transition;
this.mTransitionFromIndex = i2;
this.mTransitionToIndex = i;
return true;
}
private static abstract class Transition {
public boolean canReverse() {
return false;
}
public void reverse() {
}
public abstract void start();
public abstract void stop();
private Transition() {
}
}
private static class AnimatableTransition extends Transition {
private final Animatable mA;
AnimatableTransition(Animatable animatable) {
super();
this.mA = animatable;
}
public void start() {
this.mA.start();
}
public void stop() {
this.mA.stop();
}
}
private static class AnimationDrawableTransition extends Transition {
private final ObjectAnimator mAnim;
private final boolean mHasReversibleFlag;
AnimationDrawableTransition(AnimationDrawable animationDrawable, boolean z, boolean z2) {
super();
int numberOfFrames = animationDrawable.getNumberOfFrames();
int i = z ? numberOfFrames - 1 : 0;
int i2 = z ? 0 : numberOfFrames - 1;
FrameInterpolator frameInterpolator = new FrameInterpolator(animationDrawable, z);
ObjectAnimator ofInt = ObjectAnimator.ofInt(animationDrawable, "currentIndex", new int[]{i, i2});
if (Build.VERSION.SDK_INT >= 18) {
Compatibility.Api18Impl.setAutoCancel(ofInt, true);
}
ofInt.setDuration((long) frameInterpolator.getTotalDuration());
ofInt.setInterpolator(frameInterpolator);
this.mHasReversibleFlag = z2;
this.mAnim = ofInt;
}
public boolean canReverse() {
return this.mHasReversibleFlag;
}
public void start() {
this.mAnim.start();
}
public void reverse() {
this.mAnim.reverse();
}
public void stop() {
this.mAnim.cancel();
}
}
private static class AnimatedVectorDrawableTransition extends Transition {
private final AnimatedVectorDrawableCompat mAvd;
AnimatedVectorDrawableTransition(AnimatedVectorDrawableCompat animatedVectorDrawableCompat) {
super();
this.mAvd = animatedVectorDrawableCompat;
}
public void start() {
this.mAvd.start();
}
public void stop() {
this.mAvd.stop();
}
}
private void updateStateFromTypedArray(TypedArray typedArray) {
AnimatedStateListState animatedStateListState = this.mState;
if (Build.VERSION.SDK_INT >= 21) {
animatedStateListState.mChangingConfigurations |= Compatibility.Api21Impl.getChangingConfigurations(typedArray);
}
animatedStateListState.setVariablePadding(typedArray.getBoolean(R.styleable.AnimatedStateListDrawableCompat_android_variablePadding, animatedStateListState.mVariablePadding));
animatedStateListState.setConstantSize(typedArray.getBoolean(R.styleable.AnimatedStateListDrawableCompat_android_constantSize, animatedStateListState.mConstantSize));
animatedStateListState.setEnterFadeDuration(typedArray.getInt(R.styleable.AnimatedStateListDrawableCompat_android_enterFadeDuration, animatedStateListState.mEnterFadeDuration));
animatedStateListState.setExitFadeDuration(typedArray.getInt(R.styleable.AnimatedStateListDrawableCompat_android_exitFadeDuration, animatedStateListState.mExitFadeDuration));
setDither(typedArray.getBoolean(R.styleable.AnimatedStateListDrawableCompat_android_dither, animatedStateListState.mDither));
}
private void init() {
onStateChange(getState());
}
private void inflateChildElements(Context context, Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws XmlPullParserException, IOException {
int depth = xmlPullParser.getDepth() + 1;
while (true) {
int next = xmlPullParser.next();
if (next != 1) {
int depth2 = xmlPullParser.getDepth();
if (depth2 < depth && next == 3) {
return;
}
if (next == 2 && depth2 <= depth) {
if (xmlPullParser.getName().equals(ELEMENT_ITEM)) {
parseItem(context, resources, xmlPullParser, attributeSet, theme);
} else if (xmlPullParser.getName().equals(ELEMENT_TRANSITION)) {
parseTransition(context, resources, xmlPullParser, attributeSet, theme);
}
}
} else {
return;
}
}
}
private int parseTransition(Context context, Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws XmlPullParserException, IOException {
int next;
TypedArray obtainAttributes = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, R.styleable.AnimatedStateListDrawableTransition);
int resourceId = obtainAttributes.getResourceId(R.styleable.AnimatedStateListDrawableTransition_android_fromId, -1);
int resourceId2 = obtainAttributes.getResourceId(R.styleable.AnimatedStateListDrawableTransition_android_toId, -1);
int resourceId3 = obtainAttributes.getResourceId(R.styleable.AnimatedStateListDrawableTransition_android_drawable, -1);
Drawable drawable = resourceId3 > 0 ? ResourceManagerInternal.get().getDrawable(context, resourceId3) : null;
boolean z = obtainAttributes.getBoolean(R.styleable.AnimatedStateListDrawableTransition_android_reversible, false);
obtainAttributes.recycle();
if (drawable == null) {
do {
next = xmlPullParser.next();
} while (next == 4);
if (next != 2) {
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + TRANSITION_MISSING_DRAWABLE_ERROR);
} else if (xmlPullParser.getName().equals("animated-vector")) {
drawable = AnimatedVectorDrawableCompat.createFromXmlInner(context, resources, xmlPullParser, attributeSet, theme);
} else if (Build.VERSION.SDK_INT >= 21) {
drawable = Compatibility.Api21Impl.createFromXmlInner(resources, xmlPullParser, attributeSet, theme);
} else {
drawable = Drawable.createFromXmlInner(resources, xmlPullParser, attributeSet);
}
}
if (drawable == null) {
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + TRANSITION_MISSING_DRAWABLE_ERROR);
} else if (resourceId != -1 && resourceId2 != -1) {
return this.mState.addTransition(resourceId, resourceId2, drawable, z);
} else {
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + TRANSITION_MISSING_FROM_TO_ID);
}
}
private int parseItem(Context context, Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws XmlPullParserException, IOException {
int next;
TypedArray obtainAttributes = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, R.styleable.AnimatedStateListDrawableItem);
int resourceId = obtainAttributes.getResourceId(R.styleable.AnimatedStateListDrawableItem_android_id, 0);
int resourceId2 = obtainAttributes.getResourceId(R.styleable.AnimatedStateListDrawableItem_android_drawable, -1);
Drawable drawable = resourceId2 > 0 ? ResourceManagerInternal.get().getDrawable(context, resourceId2) : null;
obtainAttributes.recycle();
int[] extractStateSet = extractStateSet(attributeSet);
if (drawable == null) {
do {
next = xmlPullParser.next();
} while (next == 4);
if (next != 2) {
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + ITEM_MISSING_DRAWABLE_ERROR);
} else if (xmlPullParser.getName().equals("vector")) {
drawable = VectorDrawableCompat.createFromXmlInner(resources, xmlPullParser, attributeSet, theme);
} else if (Build.VERSION.SDK_INT >= 21) {
drawable = Compatibility.Api21Impl.createFromXmlInner(resources, xmlPullParser, attributeSet, theme);
} else {
drawable = Drawable.createFromXmlInner(resources, xmlPullParser, attributeSet);
}
}
if (drawable != null) {
return this.mState.addStateSet(extractStateSet, drawable, resourceId);
}
throw new XmlPullParserException(xmlPullParser.getPositionDescription() + ITEM_MISSING_DRAWABLE_ERROR);
}
public Drawable mutate() {
if (!this.mMutated && super.mutate() == this) {
this.mState.mutate();
this.mMutated = true;
}
return this;
}
/* access modifiers changed from: package-private */
public AnimatedStateListState cloneConstantState() {
return new AnimatedStateListState(this.mState, this, (Resources) null);
}
/* access modifiers changed from: package-private */
public void clearMutated() {
super.clearMutated();
this.mMutated = false;
}
static class AnimatedStateListState extends StateListDrawable.StateListState {
private static final long REVERSED_BIT = 4294967296L;
private static final long REVERSIBLE_FLAG_BIT = 8589934592L;
SparseArrayCompat<Integer> mStateIds;
LongSparseArray<Long> mTransitions;
private static long generateTransitionKey(int i, int i2) {
return ((long) i2) | (((long) i) << 32);
}
AnimatedStateListState(AnimatedStateListState animatedStateListState, AnimatedStateListDrawableCompat animatedStateListDrawableCompat, Resources resources) {
super(animatedStateListState, animatedStateListDrawableCompat, resources);
if (animatedStateListState != null) {
this.mTransitions = animatedStateListState.mTransitions;
this.mStateIds = animatedStateListState.mStateIds;
return;
}
this.mTransitions = new LongSparseArray<>();
this.mStateIds = new SparseArrayCompat<>();
}
/* access modifiers changed from: package-private */
public void mutate() {
this.mTransitions = this.mTransitions.clone();
this.mStateIds = this.mStateIds.clone();
}
/* access modifiers changed from: package-private */
public int addTransition(int i, int i2, Drawable drawable, boolean z) {
int addChild = super.addChild(drawable);
long generateTransitionKey = generateTransitionKey(i, i2);
long j = z ? REVERSIBLE_FLAG_BIT : 0;
long j2 = (long) addChild;
this.mTransitions.append(generateTransitionKey, Long.valueOf(j2 | j));
if (z) {
this.mTransitions.append(generateTransitionKey(i2, i), Long.valueOf(REVERSED_BIT | j2 | j));
}
return addChild;
}
/* access modifiers changed from: package-private */
public int addStateSet(int[] iArr, Drawable drawable, int i) {
int addStateSet = super.addStateSet(iArr, drawable);
this.mStateIds.put(addStateSet, Integer.valueOf(i));
return addStateSet;
}
/* access modifiers changed from: package-private */
public int indexOfKeyframe(int[] iArr) {
int indexOfStateSet = super.indexOfStateSet(iArr);
if (indexOfStateSet >= 0) {
return indexOfStateSet;
}
return super.indexOfStateSet(StateSet.WILD_CARD);
}
/* access modifiers changed from: package-private */
public int getKeyframeIdAt(int i) {
if (i < 0) {
return 0;
}
return this.mStateIds.get(i, 0).intValue();
}
/* access modifiers changed from: package-private */
public int indexOfTransition(int i, int i2) {
return (int) this.mTransitions.get(generateTransitionKey(i, i2), -1L).longValue();
}
/* access modifiers changed from: package-private */
public boolean isTransitionReversed(int i, int i2) {
return (this.mTransitions.get(generateTransitionKey(i, i2), -1L).longValue() & REVERSED_BIT) != 0;
}
/* access modifiers changed from: package-private */
public boolean transitionHasReversibleFlag(int i, int i2) {
return (this.mTransitions.get(generateTransitionKey(i, i2), -1L).longValue() & REVERSIBLE_FLAG_BIT) != 0;
}
public Drawable newDrawable() {
return new AnimatedStateListDrawableCompat(this, (Resources) null);
}
public Drawable newDrawable(Resources resources) {
return new AnimatedStateListDrawableCompat(this, resources);
}
}
/* access modifiers changed from: package-private */
public void setConstantState(DrawableContainer.DrawableContainerState drawableContainerState) {
super.setConstantState(drawableContainerState);
if (drawableContainerState instanceof AnimatedStateListState) {
this.mState = (AnimatedStateListState) drawableContainerState;
}
}
private static class FrameInterpolator implements TimeInterpolator {
private int[] mFrameTimes;
private int mFrames;
private int mTotalDuration;
FrameInterpolator(AnimationDrawable animationDrawable, boolean z) {
updateFrames(animationDrawable, z);
}
/* access modifiers changed from: package-private */
public int updateFrames(AnimationDrawable animationDrawable, boolean z) {
int numberOfFrames = animationDrawable.getNumberOfFrames();
this.mFrames = numberOfFrames;
int[] iArr = this.mFrameTimes;
if (iArr == null || iArr.length < numberOfFrames) {
this.mFrameTimes = new int[numberOfFrames];
}
int[] iArr2 = this.mFrameTimes;
int i = 0;
for (int i2 = 0; i2 < numberOfFrames; i2++) {
int duration = animationDrawable.getDuration(z ? (numberOfFrames - i2) - 1 : i2);
iArr2[i2] = duration;
i += duration;
}
this.mTotalDuration = i;
return i;
}
/* access modifiers changed from: package-private */
public int getTotalDuration() {
return this.mTotalDuration;
}
public float getInterpolation(float f) {
int i = (int) ((f * ((float) this.mTotalDuration)) + 0.5f);
int i2 = this.mFrames;
int[] iArr = this.mFrameTimes;
int i3 = 0;
while (i3 < i2 && i >= iArr[i3]) {
i -= iArr[i3];
i3++;
}
return (((float) i3) / ((float) i2)) + (i3 < i2 ? ((float) i) / ((float) this.mTotalDuration) : 0.0f);
}
}
}
Download file