package com.WazaBe.HoloEverywhere;
import android.annotation.SuppressLint;
import android.content.Context;
import android.util.AttributeSet;
import com.actionbarsherlock.internal.nineoldandroids.view.animation.AnimatorProxy;
public class View extends android.view.View {
public static int resolveSize(int size, int measureSpec) {
return resolveSizeAndState(size, measureSpec, 0) & MEASURED_SIZE_MASK;
}
public static int resolveSizeAndState(int size, int measureSpec,
int childMeasuredState) {
int result = size;
int specMode = MeasureSpec.getMode(measureSpec);
int specSize = MeasureSpec.getSize(measureSpec);
switch (specMode) {
case MeasureSpec.UNSPECIFIED:
result = size;
break;
case MeasureSpec.AT_MOST:
if (specSize < size) {
result = specSize | MEASURED_STATE_TOO_SMALL;
} else {
result = size;
}
break;
case MeasureSpec.EXACTLY:
result = specSize;
break;
}
return result | childMeasuredState & MEASURED_STATE_MASK;
}
private final AnimatorProxy proxy;
public View(Context context) {
super(context);
proxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null;
}
public View(Context context, AttributeSet attrs) {
super(context, attrs);
proxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null;
}
public View(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
proxy = AnimatorProxy.NEEDS_PROXY ? AnimatorProxy.wrap(this) : null;
}
@SuppressLint("NewApi")
@Override
public float getAlpha() {
if (proxy != null) {
return proxy.getAlpha();
}
return super.getAlpha();
}
@SuppressLint("NewApi")
@Override
public float getTranslationX() {
if (proxy != null) {
return proxy.getTranslationX();
}
return super.getTranslationX();
}
@SuppressLint("NewApi")
@Override
public float getTranslationY() {
if (proxy != null) {
return proxy.getTranslationY();
}
return super.getTranslationY();
}
@SuppressLint("NewApi")
public void onVisibilityChanged(View changedView, int visibility) {
super.onVisibilityChanged(changedView, visibility);
}
@SuppressLint("NewApi")
@Override
public void setAlpha(float alpha) {
if (proxy != null) {
proxy.setAlpha(alpha);
}
super.setAlpha(alpha);
}
@SuppressLint("NewApi")
@Override
public void setTranslationX(float translationX) {
if (proxy != null) {
proxy.setTranslationX(translationX);
}
super.setTranslationX(translationX);
}
@SuppressLint("NewApi")
@Override
public void setTranslationY(float translationY) {
if (proxy != null) {
proxy.setTranslationY(translationY);
}
super.setTranslationY(translationY);
}
@Override
public void setVisibility(int visibility) {
if (proxy != null) {
if (visibility == GONE) {
clearAnimation();
} else if (visibility == VISIBLE) {
setAnimation(proxy);
}
}
super.setVisibility(visibility);
}
}