package yotacast.com.yotacast; import android.app.Activity; import android.appwidget.AppWidgetManager; import android.content.ComponentName; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.RemoteViews; import android.widget.SeekBar; import android.widget.Switch; import android.widget.TextView; public class ConfigActivity extends Activity { public void onResume() { super.onResume(); // Always call the superclass method first SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); Log.d("yota", prefs.getBoolean("running", true)+""); // First Time if (prefs.getString("endpoint", "null").equals("null")){ SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit(); editor.putString("endpoint", "http://localhost:8080"); editor.putInt("freq", 5000); editor.putBoolean("running", true); editor.commit(); } // Checked Switch s = (Switch) findViewById(R.id.yotaSwitch); if (prefs.getBoolean("running", false)){ s.setChecked(true); } else s.setChecked(false); // Set endpoint listener EditText endpoint = (EditText) findViewById(R.id.endpointUrl); endpoint.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit(); editor.putString("endpoint", s.toString()); editor.commit(); restartService(); } }); endpoint.setText(prefs.getString("endpoint", "null")); // Set frequency listener SeekBar freq = (SeekBar) findViewById(R.id.updateFreq); TextView tv = (TextView) findViewById(R.id.freqText); final String[] frequenciesNames = {"1 sec", "3 secs", "5 secs", "10 secs", "30 secs", "1 min", "3 mins", "5 mins", "15 mins", "30 mins", "1 hour"}; final int[] freqencies = {1000, 3000, 5000, 10000, 30000, 60000, 180000, 300000, 900000, 1800000, 3600000}; freq.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { TextView tv = (TextView) findViewById(R.id.freqText); tv.setText(frequenciesNames[progress]); SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit(); editor.putInt("freq", freqencies[progress]); editor.commit(); restartService(); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); int pos = 0; int currentFreq = prefs.getInt("freq", 1000); for (int i = 0; i < freqencies.length; i++){ if (freqencies[i] == currentFreq) pos = i; } tv.setText(frequenciesNames[pos]); freq.setProgress(pos); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_config); } public void setService(View v){ Switch s = (Switch) v; SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit(); editor.putBoolean("running", s.isChecked()); editor.commit(); updateService(); } public void updateService(){ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); if (prefs.getBoolean("running", false)){ startService(new Intent(this, YotaCastService.class)); } else { stopService(new Intent(this, YotaCastService.class)); } } public void restartService(){ stopService(new Intent(this, YotaCastService.class)); startService(new Intent(this, YotaCastService.class)); } }