package interdroid.sense;
import nl.sense_os.platform.SensePlatform;
import interdroid.swan.R;
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.view.KeyEvent;
public class SettingsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
public static String TAG = "SettingsActivity";
// Sense specific members
private SensePlatform mSensePlatform;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Loads the XML preferences file
addPreferencesFromResource(R.xml.sense_preferences);
mSensePlatform = new SensePlatform(this);
}
@Override
protected void onResume() {
super.onResume();
// Registers a listener whenever a key changes
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
@Override
protected void onPause() {
super.onPause();
// Unregisters the listener set in onResume().
// It's best practice to unregister listeners when your app isn't using them to cut down on
// unnecessary system overhead. You do this in onPause().
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
}
// When the user changes the preferences selection,
// onSharedPreferenceChanged() restarts the main activity as a new
// task. Sets the refreshDisplay flag to "true" to indicate that
// the main activity should update its display.
// The main activity queries the PreferenceManager to get the latest settings.
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
// if (keyCode == KeyEvent.KEYCODE_BACK)
// return true;
mSensePlatform.close();
return super.onKeyUp(keyCode, event);
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
mSensePlatform.setPreferenceString(sharedPreferences, key);
}
}