package org.exalm.tabletkat;
import android.content.res.XResources;
import android.util.DisplayMetrics;
import android.util.TypedValue;
public abstract class CustomDimenReplacement extends XResources.DimensionReplacement {
private final int mUnit;
public CustomDimenReplacement() {
super(0, TypedValue.COMPLEX_UNIT_PX);
mUnit = TypedValue.COMPLEX_UNIT_PX;
}
protected abstract float getValue();
@Override
public float getDimension(DisplayMetrics metrics) {
return TypedValue.applyDimension(mUnit, getValue(), metrics);
}
@Override
public int getDimensionPixelOffset(DisplayMetrics metrics) {
return (int) TypedValue.applyDimension(mUnit, getValue(), metrics);
}
@Override
public int getDimensionPixelSize(DisplayMetrics metrics) {
final float f = TypedValue.applyDimension(mUnit, getValue(), metrics);
final int res = (int) (f + 0.5f);
if (res != 0) return res;
if (getValue() == 0) return 0;
if (getValue() > 0) return 1;
return -1;
}
}