package jds.dofcalc;
import java.util.List;
import jds.dofcalc.Camera.CameraItem;
import jds.dofcalc.R;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
public class SelectCameraActivity extends ListActivity {
private CameraListAdapter CameraAdapter;
private EditText CustomCoC;
private Camera Cameras;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature (Window.FEATURE_NO_TITLE);
setContentView(R.layout.selectcamera_layout);
LinearLayout TopView = (LinearLayout)findViewById(R.id.selectcamera_top_view);
Animation FadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein);
TopView.startAnimation(FadeInAnimation);
Cameras = new Camera();
List<CameraItem> CameraList = Cameras.GetCameraList();
Intent StartIntent = this.getIntent();
int StartIndex = StartIntent.getIntExtra("Index", 0);
double CurrentCoC = StartIntent.getDoubleExtra("CoC", (double) 0.01);
CameraAdapter = new CameraListAdapter(this, 0, 0, CameraList,StartIndex);
this.setListAdapter(CameraAdapter);
CustomCoC = (EditText)findViewById(R.id.customcoc);
CustomCoC.setText(String.valueOf(CurrentCoC));
CustomCoC.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_ENTER) && (event.getAction() == KeyEvent.ACTION_DOWN))
{
try{
double CustomCoCVal = Double.valueOf(CustomCoC.getText().toString());
FinishCameraSelection(-1,CustomCoCVal,"Custom CoC (" + CustomCoCVal + "mm)");
} finally
{
}
}
return false;
}
});
if ((StartIndex > 0) && (StartIndex < CameraList.size()))
{
this.getListView().setSelection(StartIndex);
}
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
CameraAdapter.SetSelectedItem(position);
double CurrentCircelOfConfusion = Cameras.GetCircleOfConfusion(position);
String CameraName = Cameras.GetName(position);
super.onListItemClick(l, v, position, id);
FinishCameraSelection(position,CurrentCircelOfConfusion,CameraName);
}
private void FinishCameraSelection(int SelectedItem, double CoC, String Name)
{
Intent intent = this.getIntent();
intent.putExtra("Index", SelectedItem);
intent.putExtra("CoC", CoC);
intent.putExtra("Name", Name);
this.setResult(RESULT_OK, intent);
finish();
}
}
|