diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2013-01-23 09:22:04 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2013-01-23 09:22:04 +0100 |
| commit | 07e614c71e22d5bc7a6fc3e31557b4d20a21daea (patch) | |
| tree | 187afdd53f7a12bba7c587c41551edaccf0a5ed3 /main/src/cgeo/geocaching/utils | |
| parent | 49a756515566db95b4bf280c70a5ca03812ee488 (diff) | |
| download | cgeo-07e614c71e22d5bc7a6fc3e31557b4d20a21daea.zip cgeo-07e614c71e22d5bc7a6fc3e31557b4d20a21daea.tar.gz cgeo-07e614c71e22d5bc7a6fc3e31557b4d20a21daea.tar.bz2 | |
fix #2317: NPE while backuping data
The previous fix for #2317 was incomplete, as the dependency of the
CentralBackupAgent onto Settings caused a NPE because Settings static
initializations require that an application has been created, which is
apparently not the case when a backup is launched by the OS.
The preference name has been isolated into a no-dependency package so
that the CentralBackupAgent does not depend on an application existing
anymore.
Diffstat (limited to 'main/src/cgeo/geocaching/utils')
| -rw-r--r-- | main/src/cgeo/geocaching/utils/ApplicationSettings.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/utils/ApplicationSettings.java b/main/src/cgeo/geocaching/utils/ApplicationSettings.java new file mode 100644 index 0000000..99d3142 --- /dev/null +++ b/main/src/cgeo/geocaching/utils/ApplicationSettings.java @@ -0,0 +1,24 @@ +package cgeo.geocaching.utils; + +/** + * This utility class contains static settings that do not require a context or + * an application. It may not depend or use any other package from c:geo. + * <br/> + * It is used, for example, to get some settings for the BackupAgent. In this case, + * no application is instantiated by the OS. + */ + +public class ApplicationSettings { + + /** + * Get the name of the preferences file. + * + * @return the name of the shared preferences file without the extension + */ + public static String getPreferencesName() { + // There is currently no Android API to get the file name of the shared preferences. Let's hardcode + // it without needing a cgeoapplication instance. + return "cgeo.geocaching_preferences"; + } + +} |
