From 37b5dcf322f116cd3cd5fd7a598b30a1e8a0e08d Mon Sep 17 00:00:00 2001 From: Jakob Moellers Date: Tue, 13 Aug 2013 13:45:30 +0200 Subject: [PATCH 1/2] migrated from PreferencesActivity to PreferencesFragment to get rid of "deprecated" issues. --- AndroidManifest.xml | 2 +- .../osmtracker/activity/Preferences.java | 8 ++++---- .../activity/SetPreferenceActivity.java | 17 +++++++++++++++++ .../osmtracker/activity/TrackLogger.java | 1 - .../osmtracker/activity/TrackManager.java | 5 +++-- 5 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 src/me/guillaumin/android/osmtracker/activity/SetPreferenceActivity.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c9c419311..474342fa9 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -20,7 +20,7 @@ - + diff --git a/src/me/guillaumin/android/osmtracker/activity/Preferences.java b/src/me/guillaumin/android/osmtracker/activity/Preferences.java index 76030ea3a..95a5c205e 100644 --- a/src/me/guillaumin/android/osmtracker/activity/Preferences.java +++ b/src/me/guillaumin/android/osmtracker/activity/Preferences.java @@ -15,7 +15,7 @@ import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; -import android.preference.PreferenceActivity; +import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import android.provider.Settings; @@ -25,7 +25,7 @@ * @author Nicolas Guillaumin * */ -public class Preferences extends PreferenceActivity { +public class Preferences extends PreferenceFragment { @SuppressWarnings("unused") private static final String TAG = Preferences.class.getSimpleName(); @@ -41,13 +41,13 @@ public class Preferences extends PreferenceActivity { private static final String LAYOUT_FILE_EXTENSION = ".xml"; @Override - protected void onCreate(Bundle savedInstanceState) { + public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); // Set summary of some preferences to their actual values // and register a change listener to set again the summary in case of change - final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); // External storage directory EditTextPreference storageDirPref = (EditTextPreference) findPreference(OSMTracker.Preferences.KEY_STORAGE_DIR); diff --git a/src/me/guillaumin/android/osmtracker/activity/SetPreferenceActivity.java b/src/me/guillaumin/android/osmtracker/activity/SetPreferenceActivity.java new file mode 100644 index 000000000..c9d533cf3 --- /dev/null +++ b/src/me/guillaumin/android/osmtracker/activity/SetPreferenceActivity.java @@ -0,0 +1,17 @@ +package me.guillaumin.android.osmtracker.activity; + +import android.app.Activity; +import android.os.Bundle; + +public class SetPreferenceActivity extends Activity{ + + @Override + protected void onCreate(Bundle savedInstanceState) { + // TODO Auto-generated method stub + super.onCreate(savedInstanceState); + + getFragmentManager().beginTransaction().replace(android.R.id.content, + new Preferences()).commit(); + } + +} diff --git a/src/me/guillaumin/android/osmtracker/activity/TrackLogger.java b/src/me/guillaumin/android/osmtracker/activity/TrackLogger.java index bdb218aba..b867d2301 100644 --- a/src/me/guillaumin/android/osmtracker/activity/TrackLogger.java +++ b/src/me/guillaumin/android/osmtracker/activity/TrackLogger.java @@ -21,7 +21,6 @@ import android.content.Intent; import android.content.ServiceConnection; import android.content.SharedPreferences; -import android.content.SharedPreferences.Editor; import android.content.pm.ActivityInfo; import android.location.LocationManager; import android.net.Uri; diff --git a/src/me/guillaumin/android/osmtracker/activity/TrackManager.java b/src/me/guillaumin/android/osmtracker/activity/TrackManager.java index 09258fbee..a156c05d7 100644 --- a/src/me/guillaumin/android/osmtracker/activity/TrackManager.java +++ b/src/me/guillaumin/android/osmtracker/activity/TrackManager.java @@ -251,8 +251,9 @@ public void onClick(DialogInterface dialog, int which) { }).create().show(); break; case R.id.trackmgr_menu_settings: - // Start settings activity - startActivity(new Intent(this, Preferences.class)); + Intent intent = new Intent(); + intent.setClass(TrackManager.this, SetPreferenceActivity.class); + startActivityForResult(intent, 0); break; case R.id.trackmgr_menu_about: // Start About activity From 70c08e10011388e91697f6dd7005fcaae10f5534 Mon Sep 17 00:00:00 2001 From: Jakob Moellers Date: Wed, 14 Aug 2013 14:11:10 +0200 Subject: [PATCH 2/2] noticed that the settings are also called at other positions in the code. --- .../android/osmtracker/activity/DisplayTrackMap.java | 5 +++-- .../guillaumin/android/osmtracker/activity/TrackLogger.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/me/guillaumin/android/osmtracker/activity/DisplayTrackMap.java b/src/me/guillaumin/android/osmtracker/activity/DisplayTrackMap.java index 56ab06ce3..e112e7363 100644 --- a/src/me/guillaumin/android/osmtracker/activity/DisplayTrackMap.java +++ b/src/me/guillaumin/android/osmtracker/activity/DisplayTrackMap.java @@ -293,8 +293,9 @@ public boolean onOptionsItemSelected(MenuItem item) { } break; case R.id.displaytrackmap_menu_settings: - // Start settings activity - startActivity(new Intent(this, Preferences.class)); + Intent intent = new Intent(); + intent.setClass(DisplayTrackMap.this, SetPreferenceActivity.class); + startActivityForResult(intent, 0); break; } return super.onOptionsItemSelected(item); diff --git a/src/me/guillaumin/android/osmtracker/activity/TrackLogger.java b/src/me/guillaumin/android/osmtracker/activity/TrackLogger.java index b867d2301..73353c0de 100644 --- a/src/me/guillaumin/android/osmtracker/activity/TrackLogger.java +++ b/src/me/guillaumin/android/osmtracker/activity/TrackLogger.java @@ -335,8 +335,9 @@ public boolean onOptionsItemSelected(MenuItem item) { } break; case R.id.tracklogger_menu_settings: - // Start settings activity - startActivity(new Intent(this, Preferences.class)); + Intent intent = new Intent(); + intent.setClass(TrackLogger.this, SetPreferenceActivity.class); + startActivityForResult(intent, 0); break; case R.id.tracklogger_menu_waypointlist: // Start Waypoint list activity