From af60dcf7389a01cafb8758700e06ea749933fd9a Mon Sep 17 00:00:00 2001 From: Alexandros Schillings Date: Mon, 7 Jan 2013 14:44:50 +0000 Subject: [PATCH] A couple UI changes --- gen/com/martinadamek/jsonandroid/R.java | 1 + res/layout/main.xml | 12 +++ .../jsonandroid/MainActivity.java | 100 +++++++++--------- 3 files changed, 64 insertions(+), 49 deletions(-) diff --git a/gen/com/martinadamek/jsonandroid/R.java b/gen/com/martinadamek/jsonandroid/R.java index 15160db..b104edb 100644 --- a/gen/com/martinadamek/jsonandroid/R.java +++ b/gen/com/martinadamek/jsonandroid/R.java @@ -15,6 +15,7 @@ public static final class drawable { } public static final class id { public static final int layout=0x7f050000; + public static final int text=0x7f050001; } public static final class layout { public static final int main=0x7f030000; diff --git a/res/layout/main.xml b/res/layout/main.xml index 78b37e7..77c0c90 100644 --- a/res/layout/main.xml +++ b/res/layout/main.xml @@ -6,4 +6,16 @@ android:orientation="vertical" android:padding="10dp" > + + + + + \ No newline at end of file diff --git a/src/com/martinadamek/jsonandroid/MainActivity.java b/src/com/martinadamek/jsonandroid/MainActivity.java index 3326abd..4a0c774 100644 --- a/src/com/martinadamek/jsonandroid/MainActivity.java +++ b/src/com/martinadamek/jsonandroid/MainActivity.java @@ -8,19 +8,15 @@ import java.util.Map; import android.app.Activity; -import android.graphics.Typeface; import android.os.Bundle; -import android.widget.LinearLayout; import android.widget.TextView; public class MainActivity extends Activity { private static final String TAG = MainActivity.class.getName(); - - private LinearLayout mLayout; - private LinearLayout.LayoutParams mLayoutParams; private String mPath; - + private TextView mTextView; + private final Runnable mTestTask = new Runnable() { public void run() { @@ -34,19 +30,15 @@ public void run() { runOnUiThread(new Runnable() { public void run() { - - mLayout.removeAllViews(); - + writeToTextView("== Done!"); + writeToTextView("\n"); + List keys = new ArrayList(results.keySet()); Collections.sort(keys); for (String key: keys) { - TextView textView = new TextView(MainActivity.this); - textView.setTypeface(Typeface.MONOSPACE); - textView.setText(key + ": " + results.get(key) + "ms"); - mLayout.addView(textView, mLayoutParams); + writeToTextView(padRight(key, 12) + ": " + results.get(key) + "ms"); } - } }); @@ -59,24 +51,43 @@ public void onCreate(Bundle savedInstanceState) { setContentView(R.layout.main); - mLayout = (LinearLayout) findViewById(R.id.layout); - mLayoutParams = new LinearLayout.LayoutParams( - LinearLayout.LayoutParams.FILL_PARENT, - LinearLayout.LayoutParams.WRAP_CONTENT - ); - + mTextView = (TextView) findViewById(R.id.text); + mPath = "com/martinadamek/jsonandroid/public_timeline.json"; - TextView textView = new TextView(MainActivity.this); - textView.setText("Running tests..."); - mLayout.addView(textView, mLayoutParams); - + mTextView.setText("Running tests..."); + writeToTextView("-----------------"); + new Thread(mTestTask).start(); - } + + private long test(final TestJson testJson, int repeats) { + InputStream inputStream = getClass().getClassLoader().getResourceAsStream(mPath); + + List result = testJson.parsePublicTimeline(inputStream); + verify(result); + + long duration = 0; + + for (int i = 0; i < repeats; i++) { + inputStream = getClass().getClassLoader().getResourceAsStream(mPath); + long start = System.currentTimeMillis(); + testJson.parsePublicTimeline(inputStream); + duration += (System.currentTimeMillis() - start); + } - private void testImpl(TestJson testJson, Map results) { + return duration; + } + + private void testImpl(final TestJson testJson, Map results) { + runOnUiThread(new Runnable() { + public void run() { + writeToTextView("== Running tests for '" + testJson.getName() + "'"); + } + }); + warmUp(testJson); + long duration = test(testJson, 1); results.put("[1 run] " + testJson.getName(), duration); duration = test(testJson, 5); @@ -93,24 +104,26 @@ private void warmUp(final TestJson testJson) { } } - private long test(final TestJson testJson, int repeats) { - InputStream inputStream = getClass().getClassLoader().getResourceAsStream(mPath); - - List result = testJson.parsePublicTimeline(inputStream); - verify(result); + private void writeToTextView(String text){ + mTextView.append("\n"); + mTextView.append(text); + } - long duration = 0; + private static String map2json(Map map) { + StringBuilder sb = new StringBuilder("{"); - for (int i = 0; i < repeats; i++) { - inputStream = getClass().getClassLoader().getResourceAsStream(mPath); - long start = System.currentTimeMillis(); - testJson.parsePublicTimeline(inputStream); - duration += (System.currentTimeMillis() - start); + for (Object key: map.keySet()) { + sb.append('"').append(key).append('"').append(':').append('"').append(map.get(key)).append('"').append(","); } - return duration; + sb.append("}"); + return sb.toString(); } + private static String padRight(String s, int n) { + return String.format("%1$-" + n + "s", s); + } + private static void verify(List result) { if (result.size() != 20) { throw new IllegalStateException("Expected 20 but was " + result.size()); @@ -123,15 +136,4 @@ private static void verify(List result) { } } - private static String map2json(Map map) { - StringBuilder sb = new StringBuilder("{"); - - for (Object key: map.keySet()) { - sb.append('"').append(key).append('"').append(':').append('"').append(map.get(key)).append('"').append(","); - } - - sb.append("}"); - return sb.toString(); - } - }