diff --git a/mobile/com.sap.sailing.android.tracking.app/AndroidManifest.xml b/mobile/com.sap.sailing.android.tracking.app/AndroidManifest.xml
index db9fa11b911..d1c6dce9c42 100644
--- a/mobile/com.sap.sailing.android.tracking.app/AndroidManifest.xml
+++ b/mobile/com.sap.sailing.android.tracking.app/AndroidManifest.xml
@@ -55,6 +55,14 @@
android:name="android.support.PARENT_ACTIVITY"
android:value=".ui.activities.StartActivity" />
+
+
+
diff --git a/mobile/com.sap.sailing.android.tracking.app/res/layout/fragment_regatta.xml b/mobile/com.sap.sailing.android.tracking.app/res/layout/fragment_regatta.xml
index 7d0c28ec8c4..2d11d5c5972 100644
--- a/mobile/com.sap.sailing.android.tracking.app/res/layout/fragment_regatta.xml
+++ b/mobile/com.sap.sailing.android.tracking.app/res/layout/fragment_regatta.xml
@@ -1,5 +1,4 @@
-
-
-
+ android:layout_alignParentBottom="true"
+ android:text="@string/start_tracking"
+ android:background="#8ab54e"
+ android:layout_marginLeft="4px"
+ android:layout_marginRight="4px"
+ />
\ No newline at end of file
diff --git a/mobile/com.sap.sailing.android.tracking.app/res/layout/fragment_tracking.xml b/mobile/com.sap.sailing.android.tracking.app/res/layout/fragment_tracking.xml
index 9e643d6bdfa..5ed5ee76d63 100644
--- a/mobile/com.sap.sailing.android.tracking.app/res/layout/fragment_tracking.xml
+++ b/mobile/com.sap.sailing.android.tracking.app/res/layout/fragment_tracking.xml
@@ -39,7 +39,11 @@
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
- android:text="@string/stop_tracking" />
+ android:text="@string/stop_tracking"
+ android:background="#e94a1b"
+ android:layout_marginLeft="4px"
+ android:layout_marginRight="4px"
+ />
GPS Fix Interval
Regatta
GPS Tracker gestartetp
+ Tracking
Hello wörld!
Einstellungen
Bitte bestätigen
diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values/strings.xml b/mobile/com.sap.sailing.android.tracking.app/res/values/strings.xml
index 2161f9fabe8..f7273824fa1 100644
--- a/mobile/com.sap.sailing.android.tracking.app/res/values/strings.xml
+++ b/mobile/com.sap.sailing.android.tracking.app/res/values/strings.xml
@@ -21,6 +21,7 @@
GPS fix interval
Regatta
GPS Tracker Set-Up
+ Tracking
Hello world!
Settings
Please confirm
diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TransmittingService.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TransmittingService.java
index c8cce81dd54..2000f98821b 100644
--- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TransmittingService.java
+++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TransmittingService.java
@@ -205,7 +205,8 @@ public class TransmittingService extends Service {
float batteryPct = getBatteryPercentage();
boolean batteryIsCharging = prefs.getBatteryIsCharging();
- if (batteryPct < BATTERY_POWER_SAVE_TRESHOLD && !batteryIsCharging)
+ if ( prefs.getEnergySavingEnabledByUser() ||
+ (batteryPct < BATTERY_POWER_SAVE_TRESHOLD && !batteryIsCharging))
{
if (BuildConfig.DEBUG)
{
diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/activities/TrackingActivity.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/activities/TrackingActivity.java
new file mode 100644
index 00000000000..c6a20364e4e
--- /dev/null
+++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/activities/TrackingActivity.java
@@ -0,0 +1,59 @@
+package com.sap.sailing.android.tracking.app.ui.activities;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v4.app.FragmentActivity;
+import android.support.v7.widget.Toolbar;
+
+import com.sap.sailing.android.tracking.app.R;
+import com.sap.sailing.android.tracking.app.services.TrackingService;
+import com.sap.sailing.android.tracking.app.ui.fragments.HomeFragment;
+import com.sap.sailing.android.tracking.app.ui.fragments.TrackingFragment;
+
+public class TrackingActivity extends BaseActivity {
+
+ private final static String TAG = TrackingActivity.class.getName();
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ //Intent intent = getIntent();
+
+ setContentView(R.layout.fragment_container);
+
+
+ Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ if (toolbar != null) {
+ setSupportActionBar(toolbar);
+ toolbar.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
+ }
+ if (getSupportActionBar() != null) {
+ getSupportActionBar().setDisplayHomeAsUpEnabled(false);
+ getSupportActionBar().setHomeButtonEnabled(false);
+ getSupportActionBar().setTitle(R.string.title_activity_tracking);
+ }
+
+ replaceFragment(R.id.content_frame, new TrackingFragment());
+ startTrackingService();
+ }
+
+ private void startTrackingService()
+ {
+ Intent intent = new Intent(this, TrackingService.class);
+ intent.setAction(getString(R.string.tracking_service_start));
+ startService(intent);
+ }
+
+ @Override
+ public void onBackPressed() {
+ TrackingFragment trackingFragment = (TrackingFragment) getSupportFragmentManager()
+ .findFragmentById(R.id.content_frame);
+
+ trackingFragment.userTappedBackButton();
+ }
+}
diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/RegattaFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/RegattaFragment.java
index 5f09692df6a..74897dd4863 100644
--- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/RegattaFragment.java
+++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/RegattaFragment.java
@@ -9,10 +9,10 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
-import android.widget.Toast;
import com.sap.sailing.android.tracking.app.R;
import com.sap.sailing.android.tracking.app.services.TrackingService;
+import com.sap.sailing.android.tracking.app.ui.activities.TrackingActivity;
public class RegattaFragment extends BaseFragment implements OnClickListener {
@@ -23,10 +23,8 @@ public class RegattaFragment extends BaseFragment implements OnClickListener {
View view = inflater.inflate(R.layout.fragment_regatta, container, false);
- Button startTracking = (Button) view.findViewById(R.id.startTracking);
+ Button startTracking = (Button) view.findViewById(R.id.start_tracking);
startTracking.setOnClickListener(this);
- Button stopTracking = (Button) view.findViewById(R.id.stopTracking);
- stopTracking.setOnClickListener(this);
return view;
}
@@ -34,23 +32,17 @@ public class RegattaFragment extends BaseFragment implements OnClickListener {
@Override
public void onClick(View view) {
switch (view.getId()) {
- case R.id.startTracking:
- startTracking();
+ case R.id.start_tracking:
+ showTrackingActivity();
break;
-
- case R.id.stopTracking:
- showStopTrackingConfirmationDialog();
- break;
-
default:
break;
}
}
- private void startTracking() {
- Intent intent = new Intent(getActivity(), TrackingService.class);
- intent.setAction(getString(R.string.tracking_service_start));
- getActivity().startService(intent);
+ private void showTrackingActivity() {
+ Intent intent = new Intent(getActivity(), TrackingActivity.class);
+ getActivity().startActivity(intent);
}
private void stopTracking() {
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
new file mode 100644
index 00000000000..beb4820116e
--- /dev/null
+++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java
@@ -0,0 +1,71 @@
+package com.sap.sailing.android.tracking.app.ui.fragments;
+
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import com.sap.sailing.android.tracking.app.R;
+import com.sap.sailing.android.tracking.app.services.TrackingService;
+
+public class TrackingFragment extends BaseFragment implements OnClickListener{
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ super.onCreateView(inflater, container, savedInstanceState);
+
+ View view = inflater.inflate(R.layout.fragment_tracking, container, false);
+
+ Button startTracking = (Button) view.findViewById(R.id.stop_tracking);
+ startTracking.setOnClickListener(this);
+
+ return view;
+ }
+
+ @Override
+ public void onClick(View view) {
+ switch (view.getId()) {
+ case R.id.stop_tracking:
+ showStopTrackingConfirmationDialog();
+ break;
+ default:
+ break;
+ }
+ }
+
+ public void userTappedBackButton()
+ {
+ showStopTrackingConfirmationDialog();
+ }
+
+ private void stopTracking() {
+ Intent intent = new Intent(getActivity(), TrackingService.class);
+ intent.setAction(getString(R.string.tracking_service_stop));
+ getActivity().startService(intent);
+ getActivity().finish();
+ }
+
+ private void showStopTrackingConfirmationDialog() {
+ AlertDialog dialog = new AlertDialog.Builder(getActivity())
+ .setTitle(R.string.please_confirm)
+ .setMessage(R.string.do_you_really_want_to_stop_tracking)
+ .setIcon(android.R.drawable.ic_dialog_alert)
+ .setPositiveButton(android.R.string.yes,
+ new DialogInterface.OnClickListener() {
+
+ public void onClick(DialogInterface dialog,
+ int whichButton) {
+ stopTracking();
+ }
+ }).setNegativeButton(android.R.string.no, null).create();
+
+ dialog.show();
+ }
+
+}