package com.jadn.cc.ui; import android.app.AlertDialog; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.os.Bundle; import android.preference.PreferenceActivity; import android.preference.PreferenceManager; import android.util.Log; import com.jadn.cc.R; import com.jadn.cc.core.CarCastApplication; public class Settings extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String version = ""; try { String ourPackage = CarCast.class.getPackage().getName(); int lastDot = ourPackage.lastIndexOf('.'); ourPackage = ourPackage.substring(0, lastDot); PackageInfo pInfo = getPackageManager().getPackageInfo(ourPackage, PackageManager.GET_META_DATA); version = pInfo.versionName; } catch (NameNotFoundException e) { Log.e("Settings", "looking up own version", e); } addPreferencesFromResource(R.xml.settings); setTitle(CarCastApplication.getAppTitle() + ": " + CarCastApplication.getVersion() + " / " + version); } @Override protected void onStop() { super.onStop(); SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this); String accounts = app_preferences.getString("accounts", ""); if (app_preferences.getBoolean("emailSecret", false)) { if (!accounts.startsWith("anon:")) { SharedPreferences.Editor editor = app_preferences.edit(); editor.putString("accounts", "anon:" + System.currentTimeMillis()); editor.commit(); } } else { if (accounts.startsWith("anon:")) { SharedPreferences.Editor editor = app_preferences.edit(); // We use null to mean ask google. editor.putString("accounts", null); editor.commit(); } } //Prepare to cycle the alarm host service Intent serviceIntent = new Intent(); serviceIntent.setAction("com.jadn.cc.services.AlarmHostService"); //We always want to stop try { stopService(serviceIntent); } catch (Throwable e) { Log.w("Settings", "stopping AlarmHostService", e); } //We might want to start if (app_preferences.getBoolean("autoDownload", false)) { try { startService(serviceIntent); } catch (Throwable e) { Log.e("Settings", "starting AlarmHostService", e); } } ((CarCastApplication)getApplication()).directorySettingsChanged(); } }