diff --git a/mobile/com.sap.sailing.buoy.positioning/AndroidManifest.xml b/mobile/com.sap.sailing.buoy.positioning/AndroidManifest.xml
index 11ae6a6cad8..c2cbd42d7d0 100644
--- a/mobile/com.sap.sailing.buoy.positioning/AndroidManifest.xml
+++ b/mobile/com.sap.sailing.buoy.positioning/AndroidManifest.xml
@@ -1,25 +1,30 @@
+
+ package="com.sap.sailing.android.buoy.positioning.app"
+ android:versionCode="1"
+ android:versionName="1.0" >
+ android:targetSdkVersion="22" />
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ android:required="true" />
+
+
+ android:theme="@style/AppTheme" >
+ android:value="@integer/google_play_services_version" />
-
+ android:value="AIzaSyDH-Dwy5yFlyBa2-VUgiZ3qGGUO8M_0MPY" />
+ android:screenOrientation="portrait" >
-
+
-
-
+
+
-
+
-
-
+
+
+ android:scheme="http" />
+ android:scheme="http" />
-
-
+ android:screenOrientation="portrait" >
-
-
+ android:screenOrientation="portrait" >
+ android:exported="false" >
-
-
+
+
-
+ android:exported="false" />
+ android:exported="false" />
+
+
+
-
\ No newline at end of file
+
diff --git a/mobile/com.sap.sailing.buoy.positioning/res/menu/about_menu.xml b/mobile/com.sap.sailing.buoy.positioning/res/menu/about_menu.xml
index bcf90e00c81..a6a88ae633b 100644
--- a/mobile/com.sap.sailing.buoy.positioning/res/menu/about_menu.xml
+++ b/mobile/com.sap.sailing.buoy.positioning/res/menu/about_menu.xml
@@ -3,4 +3,7 @@
+
\ No newline at end of file
diff --git a/mobile/com.sap.sailing.buoy.positioning/res/menu/regatta_menu.xml b/mobile/com.sap.sailing.buoy.positioning/res/menu/regatta_menu.xml
index 546f77e7130..8b762d928de 100644
--- a/mobile/com.sap.sailing.buoy.positioning/res/menu/regatta_menu.xml
+++ b/mobile/com.sap.sailing.buoy.positioning/res/menu/regatta_menu.xml
@@ -4,6 +4,10 @@
android:id="@+id/refresh"
android:title="@string/options_refresh"/>
+
+
diff --git a/mobile/com.sap.sailing.buoy.positioning/res/values-de/strings.xml b/mobile/com.sap.sailing.buoy.positioning/res/values-de/strings.xml
index 9b4eb7173ad..95a473a358c 100644
--- a/mobile/com.sap.sailing.buoy.positioning/res/values-de/strings.xml
+++ b/mobile/com.sap.sailing.buoy.positioning/res/values-de/strings.xml
@@ -12,5 +12,9 @@
Genauigkeit
Die Position wurde gesetzt
Keine Information
+ Einstellungen
+
+ Server
+ Server Synchronisations Intervall in Sekunden
\ No newline at end of file
diff --git a/mobile/com.sap.sailing.buoy.positioning/res/values/preferences.xml b/mobile/com.sap.sailing.buoy.positioning/res/values/preferences.xml
index fe8f7ed63a5..b8c4dd7eda9 100644
--- a/mobile/com.sap.sailing.buoy.positioning/res/values/preferences.xml
+++ b/mobile/com.sap.sailing.buoy.positioning/res/values/preferences.xml
@@ -1,6 +1,6 @@
- messageResendIntervalMillis
- 120000
+ data_refresh_interval_millis
+ 120
check_in_url
\ No newline at end of file
diff --git a/mobile/com.sap.sailing.buoy.positioning/res/values/strings.xml b/mobile/com.sap.sailing.buoy.positioning/res/values/strings.xml
index 4497ba142c9..c629ab94efb 100644
--- a/mobile/com.sap.sailing.buoy.positioning/res/values/strings.xml
+++ b/mobile/com.sap.sailing.buoy.positioning/res/values/strings.xml
@@ -16,5 +16,13 @@
Accuracy
The position has been set
No information
+ Settings
+
+ Hello world!
+ Settings
+ Settings
+
+ Server
+ Interval of server synchronisation in seconds
\ No newline at end of file
diff --git a/mobile/com.sap.sailing.buoy.positioning/res/xml/preference_general b/mobile/com.sap.sailing.buoy.positioning/res/xml/preference_general
new file mode 100644
index 00000000000..5254455e766
--- /dev/null
+++ b/mobile/com.sap.sailing.buoy.positioning/res/xml/preference_general
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/service/MarkerService.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/service/MarkerService.java
index dd9c22febfb..1714fec41e1 100644
--- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/service/MarkerService.java
+++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/service/MarkerService.java
@@ -87,7 +87,7 @@ public class MarkerService extends Service implements CheckinManager.DataChange
while (running) {
long timeDiff = Calendar.getInstance().getTimeInMillis() - lastCheck;
- if(timeDiff > preferences.getDataRefreshInterval()) {
+ if(timeDiff > preferences.getDataRefreshInterval() * 1000) {
manager.callServerAndGenerateCheckinData();
lastCheck = Calendar.getInstance().getTimeInMillis();
}
diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/RegattaActivity.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/RegattaActivity.java
index a7f6b8bd3b4..000cf1ca23d 100644
--- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/RegattaActivity.java
+++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/RegattaActivity.java
@@ -134,6 +134,9 @@ public class RegattaActivity extends AbstractRegattaActivity {
AboutDialog aboutDialog = new AboutDialog(this);
aboutDialog.show();
return true;
+ case R.id.settings:
+ startActivity(new Intent(this, SettingActivity.class));
+ return true;
default:
return super.onOptionsItemSelected(item);
}
diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/SettingActivity.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/SettingActivity.java
new file mode 100644
index 00000000000..162c337d66d
--- /dev/null
+++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/SettingActivity.java
@@ -0,0 +1,43 @@
+package com.sap.sailing.android.buoy.positioning.app.ui.activities;
+
+import android.os.Bundle;
+import android.support.v7.app.ActionBar;
+import android.support.v7.widget.Toolbar;
+import android.view.View;
+import com.sap.sailing.android.buoy.positioning.app.R;
+import com.sap.sailing.android.buoy.positioning.app.ui.fragments.GeneralPreferenceFragment;
+
+public class SettingActivity extends BaseActivity {
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.pref_with_actionbar);
+
+ setupToolbar();
+
+ getFragmentManager().beginTransaction().replace(R.id.content_frame, new GeneralPreferenceFragment()).commit();
+ }
+
+ private void setupToolbar() {
+ Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ setSupportActionBar(toolbar);
+ toolbar.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
+ toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+
+ ActionBar supportActionBar = getSupportActionBar();
+ if (supportActionBar != null) {
+ supportActionBar.setDisplayHomeAsUpEnabled(true);
+ supportActionBar.setHomeButtonEnabled(true);
+ supportActionBar.setTitle(R.string.settings);
+ toolbar.setNavigationIcon(R.drawable.sap_logo_64_sq);
+ toolbar.setPadding(20, 0, 0, 0);
+ }
+ }
+
+}
diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/StartActivity.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/StartActivity.java
index 7b490afea71..c2155d03a0d 100644
--- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/StartActivity.java
+++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/activities/StartActivity.java
@@ -43,6 +43,9 @@ public class StartActivity extends AbstractStartActivity {
AboutDialog aboutDialog = new AboutDialog(this);
aboutDialog.show();
return true;
+ case R.id.settings:
+ startActivity(new Intent(this, SettingActivity.class));
+ return true;
default:
return super.onOptionsItemSelected(item);
}
diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/fragments/GeneralPreferenceFragment.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/fragments/GeneralPreferenceFragment.java
new file mode 100644
index 00000000000..39603b904b9
--- /dev/null
+++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/fragments/GeneralPreferenceFragment.java
@@ -0,0 +1,36 @@
+package com.sap.sailing.android.buoy.positioning.app.ui.fragments;
+
+import android.os.Bundle;
+import android.preference.EditTextPreference;
+import android.preference.Preference;
+import com.sap.sailing.android.buoy.positioning.app.R;
+import com.sap.sailing.android.buoy.positioning.app.util.AppPreferences;
+import com.sap.sailing.android.shared.ui.fragments.preference.BasePreferenceFragment;
+
+public class GeneralPreferenceFragment extends BasePreferenceFragment {
+
+ private EditTextPreference prefServerSync;
+ private AppPreferences prefs;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ prefs = new AppPreferences(getActivity());
+ addPreferencesFromResource(R.xml.preference_general);
+ prefServerSync = findPreference(R.string.preference_data_refresh_interval_seconds_key);
+ prefServerSync.setSummary("" + prefs.getDataRefreshInterval());
+ prefServerSync.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ preference.setSummary("" + newValue);
+ return true;
+ }
+ });
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ prefs.setDataRefreshInterval(Long.parseLong(prefServerSync.getText()));
+ }
+}
diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/AppPreferences.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/AppPreferences.java
index 1a1ee789dae..01a439c3028 100644
--- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/AppPreferences.java
+++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/AppPreferences.java
@@ -28,13 +28,13 @@ public class AppPreferences extends BaseAppPreferences {
}
public void setDataRefreshInterval(long interval){
- preferences.edit().putLong(context.getString(R.string.preference_data_refresh_interval_millis_key), interval)
+ preferences.edit().putLong(context.getString(R.string.preference_data_refresh_interval_seconds_key), interval)
.apply();
}
public long getDataRefreshInterval(){
- return preferences.getLong(context.getString(R.string.preference_data_refresh_interval_millis_key),
- context.getResources().getInteger(R.integer.preference_data_refresh_interval_millis_default));
+ return preferences.getLong(context.getString(R.string.preference_data_refresh_interval_seconds_key),
+ context.getResources().getInteger(R.integer.preference_data_refresh_interval_seconds_default));
}
public static boolean getPrintDatabaseOperationDebugMessages() {