From 734ebfad68ab5a93055c002eb073c6a694ef4436 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Sun, 26 Feb 2012 12:55:34 +0100 Subject: Begin support for variables on Android. --- .../java/com/orbekk/same/VariableTestActivity.java | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'same-android/src/main/java/com/orbekk/same/VariableTestActivity.java') diff --git a/same-android/src/main/java/com/orbekk/same/VariableTestActivity.java b/same-android/src/main/java/com/orbekk/same/VariableTestActivity.java index f98e204..ba33058 100644 --- a/same-android/src/main/java/com/orbekk/same/VariableTestActivity.java +++ b/same-android/src/main/java/com/orbekk/same/VariableTestActivity.java @@ -5,21 +5,59 @@ import org.slf4j.LoggerFactory; import android.app.Activity; 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.ClientInterfaceBridge; public class VariableTestActivity extends Activity { private Logger logger = LoggerFactory.getLogger(getClass()); private ClientInterfaceBridge client; + private Variable variable; + + private Variable.OnChangeListener onChangeListener = + new Variable.OnChangeListener() { + @Override + public void valueChanged(Variable unused) { + variable.update(); + displayVariable(); + } + }; + + 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(); + try { + variable.set(newValue); + } catch (UpdateConflict e) { + Toast.makeText(this, "Failed to update.", Toast.LENGTH_SHORT) + .show(); + e.printStackTrace(); + } + } @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.setOnChangeListener(onChangeListener); + displayVariable(); } @Override public void onStop() { -- cgit v1.2.3