TRACKING APP: new layout button handling

This commit is contained in:
Lukas Zielinski committed 2014-12-12 11:34:35 +01:00
1 parent 44a9585373
commit 7746e5530a
3 files changed
+54 -46

No files matched your search

@@ -1,7 +1,9 @@
package com.sap.sailing.android.tracking.app.ui.activities;
import android.app.AlertDialog;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
@@ -330,4 +332,27 @@ public class TrackingActivity extends BaseActivity implements GPSQualityListener
return 3;
}
}
public void showStopTrackingConfirmationDialog() {
AlertDialog dialog = new AlertDialog.Builder(this)
.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();
}
public void stopTracking() {
prefs.setTrackingTimerStarted(0);
ServiceHelper.getInstance().stopTrackingService(this);
finish();
}
}
@@ -3,16 +3,36 @@ package com.sap.sailing.android.tracking.app.ui.fragments;
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.ui.activities.TrackingActivity;
public class StopTrackingButtonFragment extends BaseFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
ViewGroup view = (ViewGroup) inflater.inflate(R.layout.fragment_stop_button, container,false);
ViewGroup view = (ViewGroup) inflater.inflate(R.layout.fragment_stop_button, container,
false);
Button stopTracking = (Button) view.findViewById(R.id.stop_tracking);
stopTracking.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.stop_tracking:
TrackingActivity activity = (TrackingActivity) getActivity();
activity.showStopTrackingConfirmationDialog();
break;
default:
break;
}
}
});
return view;
}
}
@@ -2,9 +2,7 @@ package com.sap.sailing.android.tracking.app.ui.fragments;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
@@ -13,22 +11,19 @@ import android.provider.Settings.SettingNotFoundException;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
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.customviews.AutoResizeTextView;
import com.sap.sailing.android.tracking.app.customviews.SignalQualityIndicatorView;
import com.sap.sailing.android.tracking.app.services.TrackingService.GPSQuality;
import com.sap.sailing.android.tracking.app.services.TransmittingService.APIConnectivity;
import com.sap.sailing.android.tracking.app.ui.activities.TrackingActivity;
import com.sap.sailing.android.tracking.app.utils.AppPreferences;
import com.sap.sailing.android.tracking.app.utils.ServiceHelper;
public class TrackingFragment extends BaseFragment implements OnClickListener {
public class TrackingFragment extends BaseFragment {
static final String SIS_MODE = "instanceStateMode";
static final String SIS_STATUS = "instanceStateStatus";
@@ -47,9 +42,6 @@ public class TrackingFragment extends BaseFragment implements OnClickListener {
super.onCreateView(inflater, container, savedInstanceState);
ViewGroup view = (ViewGroup) inflater.inflate(R.layout.fragment_tracking, container, false);
// Button stopTracking = (Button)view.findViewById(R.id.stop_tracking);
// stopTracking.setOnClickListener(this);
prefs = new AppPreferences(getActivity());
if (prefs.getTrackingTimerStarted() == 0)
@@ -69,17 +61,6 @@ public class TrackingFragment extends BaseFragment implements OnClickListener {
timer.start();
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.stop_tracking:
showStopTrackingConfirmationDialog();
break;
default:
break;
}
}
@Override
public void onPause() {
super.onPause();
@@ -131,7 +112,10 @@ public class TrackingFragment extends BaseFragment implements OnClickListener {
{
long diff = System.currentTimeMillis() - prefs.getTrackingTimerStarted();
TextView textView = (TextView) getActivity().findViewById(R.id.tracking_time_label);
textView.setText(getTimeFormatString(diff));
if (textView != null)
{
textView.setText(getTimeFormatString(diff));
}
}
}
@@ -249,31 +233,10 @@ public class TrackingFragment extends BaseFragment implements OnClickListener {
public void userTappedBackButton()
{
showStopTrackingConfirmationDialog();
}
private void stopTracking() {
prefs.setTrackingTimerStarted(0);
ServiceHelper.getInstance().stopTrackingService(getActivity());
getActivity().finish();
TrackingActivity activity = (TrackingActivity)getActivity();
activity.showStopTrackingConfirmationDialog();
}
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();
}
private String getTimeFormatString(long milliseconds) {
int seconds = (int) (milliseconds / 1000) % 60 ;