blob: e7314606ce39ecbc71e17c88eed927f830bf7730 [file] [log] [blame]
package android.databinding.tool.writer;
class DynamicUtilWriter() {
public fun write(targetSdk : kotlin.Int) : KCode = kcode("package android.databinding;") {
nl("")
nl("import android.os.Build.VERSION;")
nl("import android.os.Build.VERSION_CODES;")
nl("")
block("public class DynamicUtil") {
nl("@SuppressWarnings(\"deprecation\")")
block("public static int getColorFromResource(final android.view.View view, final int resourceId)") {
if (targetSdk >= 23) {
block("if (VERSION.SDK_INT >= VERSION_CODES.M)") {
nl("return view.getContext().getColor(resourceId);")
}
}
nl("return view.getResources().getColor(resourceId);")
}
nl("@SuppressWarnings(\"deprecation\")")
block("public static android.content.res.ColorStateList getColorStateListFromResource(final android.view.View view, final int resourceId)") {
if (targetSdk >= 23) {
block("if (VERSION.SDK_INT >= VERSION_CODES.M)") {
nl("return view.getContext().getColorStateList(resourceId);")
}
}
nl("return view.getResources().getColorStateList(resourceId);")
}
nl("@SuppressWarnings(\"deprecation\")")
block("public static android.graphics.drawable.Drawable getDrawableFromResource(final android.view.View view, final int resourceId)") {
if (targetSdk >= 21) {
block("if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP)") {
nl("return view.getContext().getDrawable(resourceId);")
}
}
nl("return view.getResources().getDrawable(resourceId);")
}
block("public static boolean parse(String str, boolean fallback)") {
block("if (str == null)") {
nl("return fallback;");
}
nl("return Boolean.parseBoolean(str);")
}
block("public static byte parse(String str, byte fallback)") {
block("try") {
nl("return Byte.parseByte(str);")
}
block("catch (NumberFormatException e)") {
nl("return fallback;")
}
}
block("public static short parse(String str, short fallback)") {
block("try") {
nl("return Short.parseShort(str);")
}
block("catch (NumberFormatException e)") {
nl("return fallback;")
}
}
block("public static int parse(String str, int fallback)") {
block("try") {
nl("return Integer.parseInt(str);")
}
block("catch (NumberFormatException e)") {
nl("return fallback;")
}
}
block("public static long parse(String str, long fallback)") {
block("try") {
nl("return Long.parseLong(str);")
}
block("catch (NumberFormatException e)") {
nl("return fallback;")
}
}
block("public static float parse(String str, float fallback)") {
block("try") {
nl("return Float.parseFloat(str);")
}
block("catch (NumberFormatException e)") {
nl("return fallback;")
}
}
block("public static double parse(String str, double fallback)") {
block("try") {
nl("return Double.parseDouble(str);")
}
block("catch (NumberFormatException e)") {
nl("return fallback;")
}
}
block("public static char parse(String str, char fallback)") {
block ("if (str == null || str.isEmpty())") {
nl("return fallback;")
}
nl("return str.charAt(0);")
}
}
}
}