DynamicUtilWriter.kt revision 11df39c91611b9ff2d7c87a9a9829251a015bccf
1package android.databinding.tool.writer; 2 3class DynamicUtilWriter() { 4 public fun write(targetSdk : kotlin.Int) : KCode = kcode("package android.databinding;") { 5 nl("") 6 nl("import android.os.Build.VERSION;") 7 nl("import android.os.Build.VERSION_CODES;") 8 nl("") 9 block("public class DynamicUtil") { 10 nl("@SuppressWarnings(\"deprecation\")") 11 block("public static int getColorFromResource(final android.view.View root, final int resourceId)") { 12 if (targetSdk >= 23) { 13 block("if (VERSION.SDK_INT >= VERSION_CODES.M)") { 14 nl("return root.getContext().getColor(resourceId);") 15 } 16 } 17 nl("return root.getResources().getColor(resourceId);") 18 } 19 20 block("public static boolean parse(String str, boolean fallback)") { 21 block("if (str == null)") { 22 nl("return fallback;"); 23 } 24 nl("return Boolean.parseBoolean(str);") 25 } 26 block("public static byte parse(String str, byte fallback)") { 27 block("try") { 28 nl("return Byte.parseByte(str);") 29 } 30 block("catch (NumberFormatException e)") { 31 nl("return fallback;") 32 } 33 } 34 block("public static short parse(String str, short fallback)") { 35 block("try") { 36 nl("return Short.parseShort(str);") 37 } 38 block("catch (NumberFormatException e)") { 39 nl("return fallback;") 40 } 41 } 42 block("public static int parse(String str, int fallback)") { 43 block("try") { 44 nl("return Integer.parseInt(str);") 45 } 46 block("catch (NumberFormatException e)") { 47 nl("return fallback;") 48 } 49 } 50 block("public static long parse(String str, long fallback)") { 51 block("try") { 52 nl("return Long.parseLong(str);") 53 } 54 block("catch (NumberFormatException e)") { 55 nl("return fallback;") 56 } 57 } 58 block("public static float parse(String str, float fallback)") { 59 block("try") { 60 nl("return Float.parseFloat(str);") 61 } 62 block("catch (NumberFormatException e)") { 63 nl("return fallback;") 64 } 65 } 66 block("public static double parse(String str, double fallback)") { 67 block("try") { 68 nl("return Double.parseDouble(str);") 69 } 70 block("catch (NumberFormatException e)") { 71 nl("return fallback;") 72 } 73 } 74 block("public static char parse(String str, char fallback)") { 75 block ("if (str == null || str.isEmpty())") { 76 nl("return fallback;") 77 } 78 nl("return str.charAt(0);") 79 } 80 } 81 } 82}