EditActivity.java :  » UnTagged » amarino » at » abraxas » amarino » plugins » proximity » Android Open Source

Android Open Source » UnTagged » amarino 
amarino » at » abraxas » amarino » plugins » proximity » EditActivity.java
package at.abraxas.amarino.plugins.proximity;

import android.app.Activity;
import android.content.Intent;
import android.hardware.Sensor;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Spinner;
import at.abraxas.amarino.AmarinoIntent;
import at.abraxas.amarino.plugins.Constants;
import at.abraxas.amarino.plugins.R;

public class EditActivity extends Activity {
  
  static final String PREF_FREQUENCY = "at.abraxas.amarino.plugins.proximity.frequency";
  static final String KEY_PLUGIN_ID = "at.abraxas.amarino.plugins.proximity.id";
  static final String KEY_VISUALIZER = "at.abraxas.amarino.plugins.proximity.visualizer";
  
  private static final String TAG = "ProximitySensor EditActivity";
  
  Spinner visualizer;
  int pluginId;
  
  private boolean cancelled = true;
  
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setContentView(R.layout.proximitysensor_edit);
        
        Intent intent = getIntent();
        if (intent != null){
          pluginId = intent.getIntExtra(AmarinoIntent.EXTRA_PLUGIN_ID, -1);
          
          // we need to know the ID Amarino has assigned to this plugin
          // in order to identify sent data
          PreferenceManager.getDefaultSharedPreferences(EditActivity.this)
        .edit()
        .putInt(KEY_PLUGIN_ID, pluginId)
        .commit();
        }

        visualizer =(Spinner)findViewById(R.id.visualizer);
        // init as text visualizer, this is the most common one
        visualizer.setSelection(PreferenceManager.getDefaultSharedPreferences(this).getInt(KEY_VISUALIZER, 0));
        
        findViewById(R.id.saveBtn).setOnClickListener(new OnClickListener() {
      
      @Override
      public void onClick(View v) {
        cancelled = false;
        finish();
      }
    });
        
        findViewById(R.id.discardBtn).setOnClickListener(new OnClickListener() {
      
      @Override
      public void onClick(View v) {
        finish();
      }
    });
    }

  @Override
  public void finish() {
    if (cancelled) {
      setResult(RESULT_CANCELED);
    }
    else {
      final Intent returnIntent = new Intent();
      
      returnIntent.putExtra(AmarinoIntent.EXTRA_PLUGIN_NAME, getString(R.string.proximitysensor_plugin_name));
      returnIntent.putExtra(AmarinoIntent.EXTRA_PLUGIN_DESC, getString(R.string.proximitysensor_plugin_desc));
      returnIntent.putExtra(AmarinoIntent.EXTRA_PLUGIN_SERVICE_CLASS_NAME, "at.abraxas.amarino.plugins.proximity.BackgroundService"); 
      returnIntent.putExtra(AmarinoIntent.EXTRA_PLUGIN_ID, pluginId);  
      
      int selectedVisualizer = visualizer.getSelectedItemPosition();
      PreferenceManager.getDefaultSharedPreferences(this).edit().putInt(KEY_VISUALIZER, selectedVisualizer).commit();
      
      switch(selectedVisualizer){
        case Constants.TEXT:
          returnIntent.putExtra(AmarinoIntent.EXTRA_PLUGIN_VISUALIZER, AmarinoIntent.VISUALIZER_TEXT);
          break;
        case Constants.GRAPH:
          returnIntent.putExtra(AmarinoIntent.EXTRA_PLUGIN_VISUALIZER, AmarinoIntent.VISUALIZER_GRAPH);
          break;
        case Constants.BARS:
          returnIntent.putExtra(AmarinoIntent.EXTRA_PLUGIN_VISUALIZER, AmarinoIntent.VISUALIZER_BARS);
          break;
      }
      
      float range = Constants.getMaxSensorRange(this, Sensor.TYPE_MAGNETIC_FIELD, 2200f);
      returnIntent.putExtra(AmarinoIntent.EXTRA_VISUALIZER_MIN_VALUE, 0f);
      returnIntent.putExtra(AmarinoIntent.EXTRA_VISUALIZER_MAX_VALUE, range);
      
      setResult(RESULT_OK, returnIntent);
    }
    super.finish();
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.