diff --git a/android-generator.py b/android-generator.py index 8a4d17c..4d0c870 100755 --- a/android-generator.py +++ b/android-generator.py @@ -6,6 +6,7 @@ LAYOUT_CLASS_NAME = "" TYPE = "" PACKAGE_DETAIL = "PACKAGE_DETAIL" +OBJECT = "OBJECT" template_dir = r"./templates" values = { @@ -14,6 +15,7 @@ LAYOUT_CLASS_NAME : "test_activity", TYPE : "test", PACKAGE_DETAIL : "", + OBJECT : "", } template_list = [] @@ -38,10 +40,10 @@ def parse_string(line): def get_class_name(): class_name = values[CLASS_NAME] name_substrings = get_camel_case_substrings(class_name) - if (name_substrings[-1] == values[PACKAGE_DETAIL]): + if (name_substrings[-1] == values[OBJECT]): return class_name else: - name_substrings[-1] = values[PACKAGE_DETAIL] + name_substrings[-1] = values[OBJECT] string = "" for t in name_substrings: tl = list(t) @@ -63,7 +65,7 @@ def copy_java_file(in_file_path, out_file_path, package_name): if (not os.path.exists(new_out_path)): os.makedirs(new_out_path) - new_out_path += get_new_file_name(split_out_path[-1], package_name) + new_out_path += get_new_file_name(split_out_path[-1], values[OBJECT]) out_file_path = new_out_path values[PACKAGE_DETAIL] = package_name try: @@ -80,11 +82,12 @@ def copy_java_file(in_file_path, out_file_path, package_name): print "Something went wrong... ", sys.exc_info()[1] def get_new_file_name(in_file_name, package_name): + in_file_name = in_file_name.replace(".java","") name_substrings = get_camel_case_substrings(in_file_name) if (name_substrings[-1] == package_name): return in_file_name else: - name_substrings[-1] = package_name + name_substrings.insert(len(name_substrings), package_name) string = "" for t in name_substrings: tl = list(t) @@ -180,7 +183,9 @@ def infer_layout_name(): class_name = values[CLASS_NAME] name_substrings = get_camel_case_substrings(class_name) layout_name = "" - for i in range(0, len(name_substrings) - 1): + length = len(name_substrings) - 1 if name_substrings[-1].lower() == values[OBJECT] else len(name_substrings) + print length + for i in range(0, length): if (i == 0): layout_name = name_substrings[i].lower() else: @@ -210,6 +215,7 @@ def generate_files(): update_manifest() elif (item["type"] == "java"): out = r"./" + item["out"] + values[PACKAGE].replace(".", "/") + "/" + values[CLASS_NAME] + "." + item["type"] + values[OBJECT] = item["object"] copy_java_file(r"./templates/"+item["in"], out, item["package"]) elif (item["object"] == "layout"): if (values.get(LAYOUT_CLASS_NAME) != None): diff --git a/template.list b/template.list index ee86eac..c043907 100644 --- a/template.list +++ b/template.list @@ -1,7 +1,7 @@ { "activity" : [ { - "object" : "class", + "object" : "activity", "in" : "src/Activity.java", "out" : "src/", "type" : "java", @@ -21,16 +21,16 @@ ], - "listactivity" : [ + "listactivity" : [ { - "object" : "class", + "object" : "activity", "in" : "src/ListActivity.java", "out" : "src/", "type" : "java", "package" : "activities" }, { - "object" : "class", + "object" : "adapter", "in" : "src/BaseAdapter.java", "out" : "src/", "type" : "java", @@ -47,11 +47,11 @@ "object" : "manifest", "type" : "activity" } - ], + ], - "fragment" : [ + "fragment" : [ { - "object" : "class", + "object" : "fragment", "in" : "src/Fragment.java", "out" : "src/", "type" : "java", @@ -64,6 +64,15 @@ "default" : "list_activity_default", "type" : "xml" } - ] + ], + "view" : [ + { + "object" : "view", + "in" : "src/View.java", + "out" : "src/", + "type" : "java", + "package" : "views" + } + ] } diff --git a/templates/src/View.java b/templates/src/View.java new file mode 100644 index 0000000..ddda1a0 --- /dev/null +++ b/templates/src/View.java @@ -0,0 +1,48 @@ +package ; + +import android.content.Context; +import android.graphics.Canvas; +import android.util.AttributeSet; +import android.view.View; + +public class extends View { + + public (Context context) { + super(context); + } + + public (Context context, AttributeSet attrs) { + super(context, attrs); + } + + public (Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + + @Override + protected void onSizeChanged(int w, int h, int oldw, int oldh) { + super.onSizeChanged(w, h, oldw, oldh); + } + + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + } + + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + } + +} +