summaryrefslogtreecommitdiffstats
path: root/tests/BiDiTests/src/com/android/bidi/BiDiTestActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/BiDiTests/src/com/android/bidi/BiDiTestActivity.java')
-rw-r--r--tests/BiDiTests/src/com/android/bidi/BiDiTestActivity.java186
1 files changed, 94 insertions, 92 deletions
diff --git a/tests/BiDiTests/src/com/android/bidi/BiDiTestActivity.java b/tests/BiDiTests/src/com/android/bidi/BiDiTestActivity.java
index 1ffe7ee..a3a0041 100644
--- a/tests/BiDiTests/src/com/android/bidi/BiDiTestActivity.java
+++ b/tests/BiDiTests/src/com/android/bidi/BiDiTestActivity.java
@@ -16,12 +16,56 @@
package com.android.bidi;
-import android.app.TabActivity;
-import android.content.Intent;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import android.app.Activity;
+import android.app.Fragment;
+import android.app.FragmentTransaction;
import android.os.Bundle;
-import android.widget.TabHost;
-
-public class BiDiTestActivity extends TabActivity {
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ListView;
+import android.widget.SimpleAdapter;
+
+public class BiDiTestActivity extends Activity {
+
+ private static final String KEY_CLASS = "class";
+ private static final String KEY_TITLE = "title";
+ private static final String KEY_FRAGMENT_ID = "id";
+
+ private ListView mList;
+
+ private AdapterView.OnItemClickListener mOnClickListener =
+ new AdapterView.OnItemClickListener() {
+ public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
+ onListItemClick((ListView)parent, v, position, id);
+ }
+ };
+
+ private void onListItemClick(ListView lv, View v, int position, long id) {
+ // Show the test
+ Map<String, Object> map = (Map<String, Object>)lv.getItemAtPosition(position);
+ int fragmentId = (Integer) map.get(KEY_FRAGMENT_ID);
+ Fragment fragment = getFragmentManager().findFragmentById(fragmentId);
+ if (fragment == null) {
+ try {
+ // Create an instance of the test
+ Class<? extends Fragment> clazz = (Class<? extends Fragment>) map.get(KEY_CLASS);
+ fragment = clazz.newInstance();
+
+ // Replace the old test fragment with the new one
+ FragmentTransaction ft = getFragmentManager().beginTransaction();
+ ft.replace(R.id.testframe, fragment);
+ ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
+ ft.commit();
+ } catch (InstantiationException e) {
+ } catch (IllegalAccessException e) {
+ }
+ }
+ }
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -29,94 +73,52 @@ public class BiDiTestActivity extends TabActivity {
setContentView(R.layout.main);
- TabHost tabHost = getTabHost();
- TabHost.TabSpec spec;
- Intent intent;
-
- // Create an Intent to launch an Activity for the tab (to be reused)
- intent = new Intent().setClass(this, BiDiTestBasicActivity.class);
-
- // Initialize a TabSpec for each tab and add it to the TabHost
- spec = tabHost.newTabSpec("basic").setIndicator("Basic").
- setContent(intent);
- tabHost.addTab(spec);
-
- // Do the same for the other tabs
- intent = new Intent().setClass(this, BiDiTestCanvasActivity.class);
- spec = tabHost.newTabSpec("canvas").setIndicator("Canvas").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestLinearLayoutLtrActivity.class);
- spec = tabHost.newTabSpec("linear-layout-ltr").setIndicator("Linear LTR").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestLinearLayoutRtlActivity.class);
- spec = tabHost.newTabSpec("linear-layout-rtl").setIndicator("Linear RTL").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestLinearLayoutLocaleActivity.class);
- spec = tabHost.newTabSpec("linear-layout-locale").setIndicator("Linear LOC").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestFrameLayoutLtrActivity.class);
- spec = tabHost.newTabSpec("frame-layout-ltr").setIndicator("Frame LTR").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestFrameLayoutRtlActivity.class);
- spec = tabHost.newTabSpec("frame-layout-rtl").setIndicator("Frame RTL").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestFrameLayoutLocaleActivity.class);
- spec = tabHost.newTabSpec("frame-layout-locale").setIndicator("Frame LOC").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestRelativeLayoutLtrActivity.class);
- spec = tabHost.newTabSpec("relative-layout-ltr").setIndicator("Relative LTR").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestRelativeLayoutRtlActivity.class);
- spec = tabHost.newTabSpec("relative-layout-rtl").setIndicator("Relative RTL").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestRelativeLayoutLtrActivity2.class);
- spec = tabHost.newTabSpec("relative-layout-ltr-2").setIndicator("Relative2 LTR").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestRelativeLayoutRtlActivity2.class);
- spec = tabHost.newTabSpec("relative-layout-rtl-2").setIndicator("Relative2 RTL").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestRelativeLayoutLocaleActivity2.class);
- spec = tabHost.newTabSpec("relative-layout-locale-2").setIndicator("Relative2 LOC").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestTableLayoutLtrActivity.class);
- spec = tabHost.newTabSpec("table-layout-ltr").setIndicator("Table LTR").
- setContent(intent);
- tabHost.addTab(spec);
-
- intent = new Intent().setClass(this, BiDiTestTableLayoutRtlActivity.class);
- spec = tabHost.newTabSpec("table-layout-rtl").setIndicator("Table RTL").
- setContent(intent);
- tabHost.addTab(spec);
+ mList = (ListView) findViewById(R.id.testlist);
+ mList.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
+ mList.setFocusableInTouchMode(true);
+
+ final SimpleAdapter adapter = new SimpleAdapter(this, getTests(),
+ R.layout.custom_list_item, new String[]{"title"},
+ new int[]{android.R.id.text1});
+ mList.setAdapter(adapter);
+
+ mList.setOnItemClickListener(mOnClickListener);
+ }
- intent = new Intent().setClass(this, BiDiTestTableLayoutLocaleActivity.class);
- spec = tabHost.newTabSpec("table-layout-locale").setIndicator("Table LOC").
- setContent(intent);
- tabHost.addTab(spec);
+ private void addItem(List<Map<String, Object>> data, String name,
+ Class<? extends Fragment> clazz, int fragmentId) {
+ Map<String, Object> temp = new HashMap<String, Object>();
+ temp.put(KEY_TITLE, name);
+ temp.put(KEY_CLASS, clazz);
+ temp.put(KEY_FRAGMENT_ID, fragmentId);
+ data.add(temp);
+ }
- tabHost.setCurrentTab(0);
+ private List<Map<String, Object>> getTests() {
+ List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
+
+ addItem(result, "Basic", BiDiTestBasic.class, R.id.basic);
+ addItem(result, "Canvas", BiDiTestCanvas.class, R.id.canvas);
+
+ addItem(result, "Linear LTR", BiDiTestLinearLayoutLtr.class, R.id.linear_layout_ltr);
+ addItem(result, "Linear RTL", BiDiTestLinearLayoutRtl.class, R.id.linear_layout_rtl);
+ addItem(result, "Linear LOC", BiDiTestLinearLayoutLocale.class, R.id.linear_layout_locale);
+
+ addItem(result, "Frame LTR", BiDiTestFrameLayoutLtr.class, R.id.frame_layout_ltr);
+ addItem(result, "Frame RTL", BiDiTestFrameLayoutRtl.class, R.id.frame_layout_rtl);
+ addItem(result, "Frame LOC", BiDiTestFrameLayoutLocale.class, R.id.frame_layout_locale);
+
+ addItem(result, "Relative LTR", BiDiTestRelativeLayoutLtr.class, R.id.relative_layout_ltr);
+ addItem(result, "Relative RTL", BiDiTestRelativeLayoutRtl.class, R.id.relative_layout_rtl);
+
+ addItem(result, "Relative2 LTR", BiDiTestRelativeLayout2Ltr.class, R.id.relative_layout_2_ltr);
+ addItem(result, "Relative2 RTL", BiDiTestRelativeLayout2Rtl.class, R.id.relative_layout_2_rtl);
+ addItem(result, "Relative2 LOC", BiDiTestRelativeLayout2Locale.class, R.id.relative_layout_2_locale);
+
+ addItem(result, "Table LTR", BiDiTestTableLayoutLtr.class, R.id.table_layout_ltr);
+ addItem(result, "Table RTL", BiDiTestTableLayoutRtl.class, R.id.table_layout_rtl);
+ addItem(result, "Table LOC", BiDiTestTableLayoutLocale.class, R.id.table_layout_locale);
+
+ return result;
}
} \ No newline at end of file