diff --git a/mobile/com.sap.sailing.android.shared/res/values/preferences.xml b/mobile/com.sap.sailing.android.shared/res/values/preferences.xml index bfa77307b4e..0fbf93666e0 100644 --- a/mobile/com.sap.sailing.android.shared/res/values/preferences.xml +++ b/mobile/com.sap.sailing.android.shared/res/values/preferences.xml @@ -17,9 +17,12 @@ competitor -1 - + ‚ + lastScannedQRCode + com.sap.sailing com.sap.sailing.android.shared.action.sendSavedIntents com.sap.sailing.android.shared.action.sendMessage + diff --git a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/shared/util/BaseAppPreferences.java b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/shared/util/BaseAppPreferences.java new file mode 100644 index 00000000000..e9c2e3a08b2 --- /dev/null +++ b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/shared/util/BaseAppPreferences.java @@ -0,0 +1,31 @@ +package com.sap.sailing.android.shared.util; + +import android.content.Context; +import android.content.SharedPreferences; + +import com.sap.sailing.android.shared.R; + +public class BaseAppPreferences { + protected final Context context; + protected final SharedPreferences preferences; + + public BaseAppPreferences(Context context) { + this.context = context; + //multi process mode so that services read consistent values + preferences = context.getSharedPreferences(BaseAppPreferences.class.getName(), Context.MODE_MULTI_PROCESS); + } + + public String getDeviceIdentifier() { + return UniqueDeviceUuid.getUniqueId(context); + } + + public String getLastScannedQRCode() + { + return preferences.getString(context.getString(R.string.preference_last_scanned_qr_code), null); + } + + public void setLastScannedQRCode(String lastQRCode) + { + preferences.edit().putString(context.getString(R.string.preference_last_scanned_qr_code), lastQRCode).commit(); + } +} diff --git a/mobile/com.sap.sailing.android.tracking.app/res/layout-land/fragment_compass.xml b/mobile/com.sap.sailing.android.tracking.app/res/layout-land/fragment_compass.xml index b472184950a..d4f25699ecc 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/layout-land/fragment_compass.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/layout-land/fragment_compass.xml @@ -21,7 +21,7 @@ android:paddingTop="15dp" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - trackingTimerStarted trackerIsTracking trackerIsTrackingCheckinDigest - lastScannedQRCode On Off diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/activities/RegattaActivity.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/activities/RegattaActivity.java index 1421ded7d6a..602998c3923 100755 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/activities/RegattaActivity.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/activities/RegattaActivity.java @@ -25,16 +25,16 @@ import com.sap.sailing.android.tracking.app.R; import com.sap.sailing.android.tracking.app.ui.fragments.RegattaFragment; import com.sap.sailing.android.tracking.app.utils.CheckinManager; import com.sap.sailing.android.tracking.app.utils.DatabaseHelper; -import com.sap.sailing.android.tracking.app.utils.NetworkHelper; -import com.sap.sailing.android.tracking.app.utils.NetworkHelper.NetworkHelperError; -import com.sap.sailing.android.tracking.app.utils.NetworkHelper.NetworkHelperFailureListener; -import com.sap.sailing.android.tracking.app.utils.NetworkHelper.NetworkHelperSuccessListener; -import com.sap.sailing.android.tracking.app.utils.UniqueDeviceUuid; +import com.sap.sailing.android.shared.util.NetworkHelper; +import com.sap.sailing.android.shared.util.NetworkHelper.NetworkHelperError; +import com.sap.sailing.android.shared.util.NetworkHelper.NetworkHelperFailureListener; +import com.sap.sailing.android.shared.util.NetworkHelper.NetworkHelperSuccessListener; +import com.sap.sailing.android.shared.util.UniqueDeviceUuid; import com.sap.sailing.android.tracking.app.valueobjects.CheckinData; import com.sap.sailing.android.tracking.app.valueobjects.CheckinUrlInfo; import com.sap.sailing.android.tracking.app.valueobjects.CompetitorInfo; import com.sap.sailing.android.tracking.app.valueobjects.EventInfo; -import com.sap.sailing.android.tracking.app.valueobjects.LeaderboardInfo; +import com.sap.sailing.android.shared.data.LeaderboardInfo; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/HomeFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/HomeFragment.java index eaf454aac43..e762cbe0a46 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/HomeFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/HomeFragment.java @@ -27,7 +27,7 @@ import com.sap.sailing.android.shared.data.http.HttpJsonPostRequest; import com.sap.sailing.android.shared.logging.ExLog; import com.sap.sailing.android.tracking.app.BuildConfig; import com.sap.sailing.android.tracking.app.R; -import com.sap.sailing.android.tracking.app.adapter.RegattaAdapter; +import com.sap.sailing.android.shared.ui.adapters.RegattaAdapter; import com.sap.sailing.android.tracking.app.provider.AnalyticsContract; import com.sap.sailing.android.tracking.app.ui.activities.RegattaActivity; import com.sap.sailing.android.tracking.app.ui.activities.StartActivity; @@ -36,10 +36,10 @@ import com.sap.sailing.android.tracking.app.utils.CheckinHelper; import com.sap.sailing.android.tracking.app.utils.CheckinManager; import com.sap.sailing.android.tracking.app.utils.DatabaseHelper; import com.sap.sailing.android.tracking.app.utils.DatabaseHelper.GeneralDatabaseHelperException; -import com.sap.sailing.android.tracking.app.utils.NetworkHelper; -import com.sap.sailing.android.tracking.app.utils.NetworkHelper.NetworkHelperError; -import com.sap.sailing.android.tracking.app.utils.NetworkHelper.NetworkHelperFailureListener; -import com.sap.sailing.android.tracking.app.utils.NetworkHelper.NetworkHelperSuccessListener; +import com.sap.sailing.android.shared.util.NetworkHelper; +import com.sap.sailing.android.shared.util.NetworkHelper.NetworkHelperError; +import com.sap.sailing.android.shared.util.NetworkHelper.NetworkHelperFailureListener; +import com.sap.sailing.android.shared.util.NetworkHelper.NetworkHelperSuccessListener; import com.sap.sailing.android.tracking.app.valueobjects.CheckinData; import org.json.JSONException; diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java index 77e33277588..6a3ff4c7049 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java @@ -18,7 +18,7 @@ import com.sap.sailing.android.shared.logging.ExLog; import com.sap.sailing.android.shared.services.sending.MessageSendingService.APIConnectivity; import com.sap.sailing.android.tracking.app.BuildConfig; import com.sap.sailing.android.tracking.app.R; -import com.sap.sailing.android.tracking.app.customviews.SignalQualityIndicatorView; +import com.sap.sailing.android.shared.ui.customviews.SignalQualityIndicatorView; import com.sap.sailing.android.tracking.app.services.TrackingService.GPSQuality; import com.sap.sailing.android.tracking.app.ui.activities.TrackingActivity; import com.sap.sailing.android.tracking.app.utils.AppPreferences; diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java index 249cb001d88..7e3e592d563 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java @@ -8,7 +8,7 @@ import android.preference.SwitchPreference; import com.sap.sailing.android.shared.ui.fragments.preference.BasePreferenceFragment; import com.sap.sailing.android.tracking.app.R; import com.sap.sailing.android.tracking.app.utils.AppPreferences; -import com.sap.sailing.android.tracking.app.utils.UniqueDeviceUuid; +import com.sap.sailing.android.shared.util.UniqueDeviceUuid; public class GeneralPreferenceFragment extends BasePreferenceFragment { diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java index 1fc261160a4..3726faae147 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java @@ -1,33 +1,22 @@ package com.sap.sailing.android.tracking.app.utils; import android.content.Context; -import android.content.SharedPreferences; import com.sap.sailing.android.shared.util.PrefUtils; import com.sap.sailing.android.tracking.app.R; +import com.sap.sailing.android.shared.util.BaseAppPreferences; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; -public class AppPreferences { - protected final Context context; - protected final SharedPreferences preferences; - public static final AbstractLogEventAuthor raceLogEventAuthor = new LogEventAuthorImpl("Tracking App", 0); - - public AppPreferences(Context context) { - this.context = context; - //multi process mode so that services read consistent values - this.preferences = context.getSharedPreferences(AppPreferences.class.getName(), Context.MODE_MULTI_PROCESS); - } - - public void setDeviceIdentifier(String deviceId) - { - preferences.edit().putString(context.getString(R.string.preference_device_identifier_key), deviceId).commit(); +public class AppPreferences extends BaseAppPreferences { + + public AppPreferences(Context context){ + super(context); } - public String getDeviceIdentifier() { - return UniqueDeviceUuid.getUniqueId(context); - } + public static final AbstractLogEventAuthor raceLogEventAuthor = new LogEventAuthorImpl("Tracking App", 0); + public String getServerUploadTeamImagePath() { return PrefUtils.getString(context, R.string.preference_server_team_image_upload_path, R.string.preference_server_team_image_upload_path); } @@ -145,16 +134,6 @@ public class AppPreferences { return false; } - public String getLastScannedQRCode() - { - return preferences.getString(context.getString(R.string.preference_last_scanned_qr_code), null); - } - - public void setLastScannedQRCode(String lastQRCode) - { - preferences.edit().putString(context.getString(R.string.preference_last_scanned_qr_code), lastQRCode).commit(); - } - public void setMessageResendInterval(int interval) { preferences.edit().putInt(context.getString(R.string.preference_messageResendIntervalMillis_key), interval).commit(); diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/CheckinManager.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/CheckinManager.java index ac55cab5245..f0166431234 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/CheckinManager.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/CheckinManager.java @@ -7,6 +7,8 @@ import android.widget.Toast; import com.sap.sailing.android.shared.data.http.HttpGetRequest; import com.sap.sailing.android.shared.logging.ExLog; +import com.sap.sailing.android.shared.util.NetworkHelper; +import com.sap.sailing.android.shared.util.UniqueDeviceUuid; import com.sap.sailing.android.tracking.app.R; import com.sap.sailing.android.tracking.app.ui.activities.CheckinDataActivity; import com.sap.sailing.android.tracking.app.valueobjects.CheckinData; diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/DatabaseHelper.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/DatabaseHelper.java index 83455c8698f..54ad387bc05 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/DatabaseHelper.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/DatabaseHelper.java @@ -20,7 +20,7 @@ import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.CheckinUr import com.sap.sailing.android.tracking.app.valueobjects.CheckinUrlInfo; import com.sap.sailing.android.tracking.app.valueobjects.CompetitorInfo; import com.sap.sailing.android.tracking.app.valueobjects.EventInfo; -import com.sap.sailing.android.tracking.app.valueobjects.LeaderboardInfo; +import com.sap.sailing.android.shared.data.LeaderboardInfo; import java.util.ArrayList; diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/valueobjects/CheckinData.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/valueobjects/CheckinData.java index 10b81acc82e..3aeb9a78891 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/valueobjects/CheckinData.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/valueobjects/CheckinData.java @@ -1,5 +1,7 @@ package com.sap.sailing.android.tracking.app.valueobjects; +import com.sap.sailing.android.shared.data.LeaderboardInfo; + import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;