private void read_prefs() { SharedPreferences lPrefs = getSharedPreferences("DatLogPrefs", MODE_PRIVATE); CLocProvStates lLPStates = mLPStates; CSensorStates lSenNames = mSenStates; float mindist; long mintime; boolean val; int rate; // Read the sensor preferences for (int i = 0; i < lSenNames.getNum(); i++) { val = lPrefs.getBoolean(lSenNames.getName(i), false); lSenNames.setActive(i, val); rate = lPrefs.getInt(lSenNames.getName(i) + "_rate", SensorManager.SENSOR_DELAY_FASTEST); lSenNames.setRate(i, rate); } // Read the location provider preferences for (int i = 0; i < lLPStates.getNum(); i++) { val = lPrefs.getBoolean(lLPStates.getName(i), false); lLPStates.setActive(i, val); mindist = lPrefs.getFloat(lLPStates.getName(i) + "_mindist", 0); mintime = lPrefs.getLong(lLPStates.getName(i) + "_mintime", 0); lLPStates.setCriterion(i, mindist, mintime); } // Read the GPS Status preference val = lPrefs.getBoolean("gps_status", false); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SensorManager lSenMan = (SensorManager) getSystemService(SENSOR_SERVICE); LocationManager lLocMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE); mSenMan = lSenMan; mLocMan = lLocMan; // Get the names of all sources mSenStates = new CSensorStates(lSenMan.getSensorList(Sensor.TYPE_ALL)); mLPStates = new CLocProvStates(lLocMan.getAllProviders()); mGPSState = false; mSenStates.setRate( SensorManager.SENSOR_DELAY_FASTEST); // Set the sensor rate to the maximum (default is UI) CSensorStates lSenStates = mSenStates; CLocProvStates lLPStates = mLPStates; // Read the prefs read_prefs(); // Construct the view setContentView(R.layout.datlog); // Main Tab (tab0) mLV = (CLogView) findViewById(R.id.DLtv1); Button lbtn_start = (Button) findViewById(R.id.DLbtn0); Button lbtn_event = (Button) findViewById(R.id.DLbtn1); Button lbtn_stop = (Button) findViewById(R.id.DLbtn2); Button lbtn_erec = (Button) findViewById(R.id.DLbtn3); Button lbtn_show = (Button) findViewById(R.id.DLbtn4); lbtn_start.setOnClickListener(this); lbtn_event.setOnClickListener(this); lbtn_stop.setOnClickListener(this); lbtn_erec.setOnClickListener(this); lbtn_show.setOnClickListener(this); lbtn_stop.setEnabled(false); mbtn_start = lbtn_start; mbtn_stop = lbtn_stop; // The sensor selection tab ListView llistview1 = (ListView) findViewById(R.id.DLtab2); ArrayAdapter<String> ladapter1 = new ArrayAdapter<String>( this, android.R.layout.simple_list_item_multiple_choice, lSenStates.getNames()); llistview1.setAdapter(ladapter1); // Show the current sensor selection for (int i = 0; i < lSenStates.getNum(); i++) { llistview1.setItemChecked(i, lSenStates.getActive(i)); } llistview1.setOnItemClickListener( new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View aview, int position, long arg3) { mSenStates.setActToggle(position); } }); // Location Provider Selection Tab ListView llistview2 = (ListView) findViewById(R.id.DLtab3); llistview2.setAdapter( new ArrayAdapter<String>( this, android.R.layout.simple_list_item_multiple_choice, lLPStates.getNames())); // Show the current sensor selection for (int i = 0; i < lLPStates.getNum(); i++) { llistview2.setItemChecked(i, lLPStates.getActive(i)); } llistview2.setOnItemClickListener( new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View aview, int position, long arg3) { mLPStates.setActToggle(position); } }); // Gps Status selection tab CheckedTextView lcheckview = (CheckedTextView) findViewById(R.id.DLck1); lcheckview.setChecked(mGPSState); lcheckview.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { mGPSState = !mGPSState; ((CheckedTextView) v).setChecked(mGPSState); }; }); // Create the tabs TabHost lTabHost = getTabHost(); lTabHost.addTab(lTabHost.newTabSpec("tab1").setIndicator("Control").setContent(R.id.DLtab1)); lTabHost.addTab(lTabHost.newTabSpec("tab2").setIndicator("Sensors").setContent(R.id.DLtab2)); lTabHost.addTab(lTabHost.newTabSpec("tab3").setIndicator("Providers").setContent(R.id.DLtab3)); if (mLPStates.isExist(LocationManager.GPS_PROVIDER)) lTabHost.addTab( lTabHost.newTabSpec("tab4").setIndicator("GPS Status").setContent(R.id.DLtab4)); lTabHost.setCurrentTab(0); mTabWidget = lTabHost.getTabWidget(); }