summaryrefslogtreecommitdiff
path: root/same-android/src/main/java/com/orbekk/same/android/VariableTestActivity.java
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-03-02 16:04:55 +0100
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-03-02 16:04:55 +0100
commit4474ee26b3eee38d1ad33bb3d771d6f804fedfcb (patch)
treea39c809a58b3e9b2a5f2e81942a8cd6e56d647ae /same-android/src/main/java/com/orbekk/same/android/VariableTestActivity.java
parentf48ad7f90ad1d494299b08f5e1866ccb63ee7b2d (diff)
Move all Android cleasses to com.orbekk.same.android package.
Diffstat (limited to 'same-android/src/main/java/com/orbekk/same/android/VariableTestActivity.java')
-rw-r--r--same-android/src/main/java/com/orbekk/same/android/VariableTestActivity.java85
1 files changed, 85 insertions, 0 deletions
diff --git a/same-android/src/main/java/com/orbekk/same/android/VariableTestActivity.java b/same-android/src/main/java/com/orbekk/same/android/VariableTestActivity.java
new file mode 100644
index 0000000..7560a41
--- /dev/null
+++ b/same-android/src/main/java/com/orbekk/same/android/VariableTestActivity.java
@@ -0,0 +1,85 @@
+package com.orbekk.same.android;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import android.app.Activity;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.orbekk.same.android.R;
+import com.orbekk.same.Variable;
+import com.orbekk.same.android.R.id;
+import com.orbekk.same.android.R.layout;
+import com.orbekk.same.Variable.OnChangeListener;
+import com.orbekk.util.DelayedOperation;
+
+public class VariableTestActivity extends Activity {
+ private Logger logger = LoggerFactory.getLogger(getClass());
+ private ClientInterfaceBridge client;
+ private Variable<String> variable;
+
+ private Variable.OnChangeListener<String> onChangeListener =
+ new Variable.OnChangeListener<String>() {
+ @Override
+ public void valueChanged(Variable<String> unused) {
+ variable.update();
+ displayVariable();
+ }
+ };
+
+ private class UpdateVariableTask
+ extends AsyncTask<String, Void, DelayedOperation.Status> {
+ @Override protected DelayedOperation.Status doInBackground(String... values) {
+ String value = values[0];
+ return variable.set(value).getStatus();
+ }
+
+ @Override protected void onPostExecute(DelayedOperation.Status status) {
+ if (!status.isOk()) {
+ Toast.makeText(VariableTestActivity.this,
+ "Update failed: " + status, Toast.LENGTH_SHORT)
+ .show();
+ }
+ }
+ }
+
+ private void displayVariable() {
+ TextView tv = (TextView)findViewById(R.id.variable_text);
+ if (variable.get() != null) {
+ tv.setText(variable.get());
+ }
+ }
+
+ public void setVariable(View unused) {
+ EditText et = (EditText)findViewById(R.id.set_variable_text);
+ String newValue = et.getText().toString();
+ new UpdateVariableTask().execute(newValue);
+ }
+
+ @Override public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.variable_test);
+ }
+
+ @Override public void onResume() {
+ super.onResume();
+ client = new ClientInterfaceBridge(this);
+ client.connect();
+ variable = client.createVariableFactory()
+ .createString("TestVariable");
+ variable.addOnChangeListener(onChangeListener);
+ variable.set("Hello, World!");
+ displayVariable();
+ }
+
+ @Override public void onStop() {
+ super.onStop();
+ variable.removeOnChangeListener(onChangeListener);
+ client.disconnect();
+ }
+}