diff options
Diffstat (limited to 'navit/android/src/org/navitproject/navit/NavitAppConfig.java')
-rwxr-xr-x | navit/android/src/org/navitproject/navit/NavitAppConfig.java | 56 |
1 files changed, 41 insertions, 15 deletions
diff --git a/navit/android/src/org/navitproject/navit/NavitAppConfig.java b/navit/android/src/org/navitproject/navit/NavitAppConfig.java index 22c310f70..322fcc9c7 100755 --- a/navit/android/src/org/navitproject/navit/NavitAppConfig.java +++ b/navit/android/src/org/navitproject/navit/NavitAppConfig.java @@ -2,6 +2,7 @@ package org.navitproject.navit; import android.app.Application; import android.content.SharedPreferences; +import android.content.res.Resources; import java.util.ArrayList; import java.util.List; @@ -10,34 +11,36 @@ import org.navitproject.navit.NavitAddressSearchActivity.NavitAddress; public class NavitAppConfig extends Application { + public static final String NAVIT_PREFS = "NavitPrefs"; private static final int MAX_LAST_ADDRESSES = 10; - private static final String TAG = "Navit"; - - private List<NavitAddress> mLastAddresses = null; + static Resources sResources; + private List<NavitAddress> mLastAddresses = null; private int mLastAddressField; private SharedPreferences mSettings; + @Override public void onCreate() { - mSettings = getSharedPreferences(Navit.NAVIT_PREFS, MODE_PRIVATE); super.onCreate(); + mSettings = getSharedPreferences(NAVIT_PREFS, MODE_PRIVATE); + sResources = getResources(); } - public List<NavitAddress> getLastAddresses() { + List<NavitAddress> getLastAddresses() { if (mLastAddresses == null) { - mLastAddresses = new ArrayList<NavitAddress>(); + mLastAddresses = new ArrayList<>(); int mLastAddressField = mSettings.getInt("LastAddress", -1); if (mLastAddressField >= 0) { int index = mLastAddressField; do { - String addr_str = mSettings.getString("LastAddress_" + String.valueOf(index), ""); + String addrStr = mSettings.getString("LastAddress_" + index, ""); - if (addr_str.length() > 0) { + if (addrStr.length() > 0) { mLastAddresses.add(new NavitAddress( 1, - mSettings.getFloat("LastAddress_Lat_" + String.valueOf(index), 0), - mSettings.getFloat("LastAddress_Lon_" + String.valueOf(index), 0), - addr_str)); + mSettings.getFloat("LastAddress_Lat_" + index, 0), + mSettings.getFloat("LastAddress_Lon_" + index, 0), + addrStr)); } if (--index < 0) { @@ -50,7 +53,7 @@ public class NavitAppConfig extends Application { return mLastAddresses; } - public void addLastAddress(NavitAddress newAddress) { + void addLastAddress(NavitAddress newAddress) { getLastAddresses(); mLastAddresses.add(newAddress); @@ -66,10 +69,33 @@ public class NavitAppConfig extends Application { SharedPreferences.Editor editSettings = mSettings.edit(); editSettings.putInt("LastAddress", mLastAddressField); - editSettings.putString("LastAddress_" + String.valueOf(mLastAddressField), newAddress.addr); - editSettings.putFloat("LastAddress_Lat_" + String.valueOf(mLastAddressField), newAddress.lat); - editSettings.putFloat("LastAddress_Lon_" + String.valueOf(mLastAddressField), newAddress.lon); + editSettings.putString("LastAddress_" + mLastAddressField, newAddress.mAddr); + editSettings.putFloat("LastAddress_Lat_" + mLastAddressField, newAddress.mLat); + editSettings.putFloat("LastAddress_Lon_" + mLastAddressField, newAddress.mLon); editSettings.apply(); } + + /** + * Translates a string from its id + * in R.strings + * + * @param riD resource identifier + * @return translated string + */ + static String getTstring(int riD) { + + return callbackLocalizedString(sResources.getString(riD)); + } + + static native String callbackLocalizedString(String s); + + /* + * this is used to load the 'navit' native library on + * application startup. The library has already been unpacked at + * installation time by the package manager. + */ + static { + System.loadLibrary("navit"); + } } |