package im.delight.android.identicons;
import android.graphics.Color;
public class Identicon extends IdenticonBase {
private static final int CENTER_COLUMN_INDEX = 5;
@Override
protected int getRowCount() {
return 9;
}
@Override
protected int getColumnCount() {
return 9;
}
protected int getSymmetricColumnIndex(int col) {
if (col < CENTER_COLUMN_INDEX) {
return col;
} else {
return getColumnCount() - col - 1;
}
}
@Override
protected boolean isCellVisible(int row, int column) {
return getByte(3 + row * CENTER_COLUMN_INDEX + getSymmetricColumnIndex(column)) >= 0;
}
@Override
protected int getIconColor() {
return Color.rgb(getByte(0) + 128, getByte(1) + 128, getByte(2) + 128);
}
@Override
protected int getBackgroundColor() {
float[] hsv = new float[3];
Color.colorToHSV(getIconColor(), hsv);
if (hsv[2] < 0.5)
return Color.parseColor("#ffeeeeee"); // @color/background_material_light
else
return Color.parseColor("#ff303030"); // @color/background_material_dark
}
}