package com.orbekk.same; import org.slf4j.Logger; 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() { super.onStop(); client.disconnect(); } }