package com.yidianling.common.view.ticker; /** * Static utility class for the ticker package. This class contains helper methods such as those * that generate default character lists to use for animation. */ public class RxTickerUtils { public static final char EMPTY_CHAR = (char) 0; /** * @return a default ordering for all viewable ASCII characters. This list also special cases * space to be in front of the 0 and swap '.' with '/'. These special cases make * typical US currency animations intuitive. */ public static char[] getDefaultListForUSCurrency() { final int indexOf0 = (int) '0'; final int indexOfPeriod = (int) '.'; final int indexOfSlash = (int) '/'; final int start = 33; final int end = 256; final char[] charList = new char[end - start + 1]; for (int i = start; i < indexOf0; i++) { charList[i - start] = (char) i; } // Special case EMPTY_CHAR and '.' <-> '/' charList[indexOf0 - start] = EMPTY_CHAR; charList[indexOfPeriod - start] = '/'; charList[indexOfSlash - start] = '.'; for (int i = indexOf0 + 1; i < end + 1; i++) { charList[i - start] = (char) (i - 1); } return charList; } /** * @return a default ordering for numbers (including periods). */ public static char[] getDefaultNumberList() { final char[] charList = new char[11]; charList[0] = EMPTY_CHAR; for (int i = 0; i < 10; i++) { charList[i + 1] = (char) (i + 48); } return charList; } }