Android Open Source - interdroid-swan Merge Expression Dialog From Project Back to project page interdroid-swan .
License The source code is released under:
Copyright (c) 2008-2011 Vrije Universiteit, The Netherlands
All rights reserved.
Redistribution and use in source and binary forms,
with or without modification, are permitted provided
that the follo...
If you think the Android project interdroid-swan listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package interdroid.swan.ui;
/ / f r o m w w w . j a v a 2 s . c o m
import interdroid.swan.R;
import interdroid.swan.swansong.BinaryLogicOperator;
import interdroid.swan.swansong.Expression;
import interdroid.swan.swansong.ExpressionFactory;
import interdroid.swan.swansong.ExpressionParseException;
import interdroid.swan.swansong.LogicExpression;
import interdroid.swan.swansong.TriStateExpression;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MergeExpressionDialog extends Activity {
public static final int LEFT = 1;
public static final int RIGHT = 2;
public static final int OPERATOR = 3;
boolean leftActive = false;
boolean rightActive = false;
int leftIndex;
int rightIndex;
ArrayList<String> expressions;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setResult(RESULT_CANCELED);
setContentView(R.layout.expression_builder_merge_dialog);
expressions = getIntent().getStringArrayListExtra("Expressions" );
findViewById(R.id.left).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivityForResult(
getIntent().setClass(getApplicationContext(),
SelectExpressionDialog.class), LEFT);
}
});
findViewById(R.id.right).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivityForResult(
getIntent().setClass(getApplicationContext(),
SelectExpressionDialog.class), RIGHT);
}
});
findViewById(R.id.ok).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Expression left = ExpressionFactory
.parse(((Button) findViewById(R.id.left)).getText()
.toString());
Expression right = ExpressionFactory
.parse(((Button) findViewById(R.id.right))
.getText().toString());
BinaryLogicOperator logicOperator = ((RadioGroup) findViewById(R.id.operator))
.getCheckedRadioButtonId() == R.id.and ? BinaryLogicOperator.AND
: BinaryLogicOperator.OR;
Expression newExpression = new LogicExpression(
Expression.LOCATION_INFER,
(TriStateExpression) left, logicOperator,
(TriStateExpression) right);
expressions.add(newExpression.toParseString());
if (!((CheckBox) findViewById(R.id.keep_originals))
.isChecked()) {
expressions.remove(Math.max(rightIndex, leftIndex));
expressions.remove(Math.min(rightIndex, leftIndex));
}
Intent result = new Intent();
result.putStringArrayListExtra("Expressions" , expressions);
setResult(RESULT_OK, result);
finish();
} catch (ExpressionParseException e) {
// TODO: improve this
Toast.makeText(getApplicationContext(), "Failed!" ,
Toast.LENGTH_LONG).show();
}
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case LEFT:
leftIndex = data.getIntExtra("Position" , -1);
((Button) findViewById(R.id.left)).setText(expressions
.get(leftIndex));
leftActive = true;
break ;
case RIGHT:
rightIndex = data.getIntExtra("Position" , -1);
((Button) findViewById(R.id.right)).setText(expressions
.get(rightIndex));
rightActive = true;
break ;
default :
break ;
}
findViewById(R.id.ok).setEnabled(leftActive && rightActive);
}
}
}
Java Source Code List interdroid.swan.ExpressionListener.java interdroid.swan.ExpressionManager.java interdroid.swan.SensorConfigurationException.java interdroid.swan.SensorInfo.java interdroid.swan.SwanException.java interdroid.swan.TriStateExpressionListener.java interdroid.swan.ValueExpressionListener.java interdroid.swan.crossdevice.Converter.java interdroid.swan.crossdevice.CrossDeviceReceiver.java interdroid.swan.crossdevice.Pusher.java interdroid.swan.crossdevice.Registry.java interdroid.swan.crossdevice.SwanGCMConstants.java interdroid.swan.crossdevice.SwanLakeActivity.java interdroid.swan.engine.EvaluationEngineReceiver.java interdroid.swan.engine.EvaluationEngineService.java interdroid.swan.engine.EvaluationManager.java interdroid.swan.engine.ExpressionViewerActivity.java interdroid.swan.engine.QueuedExpression.java interdroid.swan.engine.SensorSetupFailedException.java interdroid.swan.engine.SensorViewerActivity.java interdroid.swan.engine.TextProgressBar.java interdroid.swan.sensors.AbstractConfigurationActivity.java interdroid.swan.sensors.AbstractCuckooSensor.java interdroid.swan.sensors.AbstractMemorySensor.java interdroid.swan.sensors.AbstractSensorBase.java interdroid.swan.sensors.AbstractVdbSensor.java interdroid.swan.sensors.MonitorThread.java interdroid.swan.sensors.SensorInterface.java interdroid.swan.sensors.TimeSensor.java interdroid.swan.sensors.impl.BatterySensor.java interdroid.swan.sensors.impl.BluetoothSensor.java interdroid.swan.sensors.impl.CalendarSensor.java interdroid.swan.sensors.impl.CallSensor.java interdroid.swan.sensors.impl.GyroscopeSensor.java interdroid.swan.sensors.impl.IntentSensor.java interdroid.swan.sensors.impl.LightSensor.java interdroid.swan.sensors.impl.LocationSensor.java interdroid.swan.sensors.impl.LogCatSensor.java interdroid.swan.sensors.impl.MagnetometerSensor.java interdroid.swan.sensors.impl.MovementSensor.java interdroid.swan.sensors.impl.PolarHeartRate.java interdroid.swan.sensors.impl.PressureSensor.java interdroid.swan.sensors.impl.ProximitySensor.java interdroid.swan.sensors.impl.ScreenSensor.java interdroid.swan.sensors.impl.SignalStrengthSensor.java interdroid.swan.sensors.impl.SmartLocationSensor.java interdroid.swan.sensors.impl.SoundSensor.java interdroid.swan.sensors.impl.TemperatureSensor.java interdroid.swan.sensors.impl.TwitterSensor.java interdroid.swan.sensors.impl.WifiSensor.java interdroid.swan.sensors.impl.package-info.java interdroid.swan.swansong.BinaryLogicOperator.java interdroid.swan.swansong.ComparatorResult.java interdroid.swan.swansong.Comparator.java interdroid.swan.swansong.ComparisonExpression.java interdroid.swan.swansong.ConstantValueExpression.java interdroid.swan.swansong.ExpressionFactory.java interdroid.swan.swansong.ExpressionParseException.java interdroid.swan.swansong.Expression.java interdroid.swan.swansong.HistoryReductionMode.java interdroid.swan.swansong.LogicExpression.java interdroid.swan.swansong.LogicOperator.java interdroid.swan.swansong.MathOperator.java interdroid.swan.swansong.MathValueExpression.java interdroid.swan.swansong.ParseableEnum.java interdroid.swan.swansong.Parseable.java interdroid.swan.swansong.Result.java interdroid.swan.swansong.SensorValueExpression.java interdroid.swan.swansong.TimestampedValue.java interdroid.swan.swansong.TriStateExpression.java interdroid.swan.swansong.TriState.java interdroid.swan.swansong.UnaryLogicOperator.java interdroid.swan.swansong.ValueExpression.java interdroid.swan.ui.EnterConstantDialog.java interdroid.swan.ui.ExpressionBuilderActivity.java interdroid.swan.ui.LaunchService.java interdroid.swan.ui.MergeExpressionDialog.java interdroid.swan.ui.NewExpressionDialog.java interdroid.swan.ui.NewMathExpressionDialog.java interdroid.swan.ui.SelectComparatorDialog.java interdroid.swan.ui.SelectExpressionDialog.java interdroid.swan.ui.SelectOperatorDialog.java interdroid.swan.ui.SelectSensorDialog.java interdroid.swan.ui.SelectTypedValueDialog.java interdroid.swan.ui.package-info.java interdroid.swan.util.SeekBarPreference.java interdroid.swan.util.TimePreference.java