summaryrefslogtreecommitdiff
path: root/java/test/android/src/com/zeroc/testsuite/TestSuite.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/test/android/src/com/zeroc/testsuite/TestSuite.java')
-rw-r--r--java/test/android/src/com/zeroc/testsuite/TestSuite.java134
1 files changed, 134 insertions, 0 deletions
diff --git a/java/test/android/src/com/zeroc/testsuite/TestSuite.java b/java/test/android/src/com/zeroc/testsuite/TestSuite.java
new file mode 100644
index 00000000000..aa4b1b1c6f1
--- /dev/null
+++ b/java/test/android/src/com/zeroc/testsuite/TestSuite.java
@@ -0,0 +1,134 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+package com.zeroc.testsuite;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.ListActivity;
+import android.app.ProgressDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.ArrayAdapter;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.ListView;
+import android.widget.CompoundButton.OnCheckedChangeListener;
+
+public class TestSuite extends ListActivity
+{
+ private static final int DIALOG_INITIALIZING = 1;
+ private static final int DIALOG_SSL_FAILED = 2;
+ private List<String> _tests = new ArrayList<String>();
+
+ @Override
+ public void onCreate(Bundle savedInstanceState)
+ {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+
+ final TestApp app = (TestApp)getApplication();
+ _tests.addAll(app.getTestNames());
+ final ArrayAdapter<String> adapter =
+ new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, _tests);
+ setListAdapter(adapter);
+ app.setSSLInitializationListener(new TestApp.SSLInitializationListener()
+ {
+ private boolean dismiss = false;
+
+ public void onComplete()
+ {
+ if(dismiss)
+ {
+ dismissDialog(DIALOG_INITIALIZING);
+ }
+ }
+
+ public void onError()
+ {
+ if(dismiss)
+ {
+ dismissDialog(DIALOG_INITIALIZING);
+ }
+ showDialog(DIALOG_SSL_FAILED);
+ }
+
+ public void onWait()
+ {
+ // Show the initializing dialog.
+ dismiss = true;
+ showDialog(DIALOG_INITIALIZING);
+ }
+ });
+ CheckBox secure = (CheckBox)findViewById(R.id.secure);
+ if(app.isSSLSupported())
+ {
+ secure.setOnCheckedChangeListener(new OnCheckedChangeListener()
+ {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
+ {
+ app.setSSL(isChecked);
+ _tests.clear();
+ _tests.addAll(app.getTestNames());
+ adapter.notifyDataSetChanged();
+ }
+ });
+ }
+ else
+ {
+ secure.setEnabled(false);
+ }
+ }
+
+ protected void onListItemClick(ListView l, View v, int position, long id)
+ {
+ TestApp app = (TestApp)getApplication();
+ app.startTest(position);
+ startActivity(new Intent(this, TestContainer.class));
+ }
+
+ @Override
+ protected Dialog onCreateDialog(int id)
+ {
+ switch (id)
+ {
+ case DIALOG_INITIALIZING:
+ {
+ ProgressDialog dialog = new ProgressDialog(this);
+ dialog.setTitle("Initializing");
+ dialog.setMessage("Please wait while initializing SSL...");
+ dialog.setIndeterminate(true);
+ dialog.setCancelable(false);
+ return dialog;
+ }
+
+ case DIALOG_SSL_FAILED:
+ {
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setTitle("Error");
+ builder.setMessage("SSL Initialization failed");
+ builder.setCancelable(false);
+ builder.setPositiveButton("Ok", new DialogInterface.OnClickListener()
+ {
+ public void onClick(DialogInterface dialog, int whichButton)
+ {
+ finish();
+ }
+ });
+ return builder.create();
+ }
+ }
+ return null;
+ }
+}