mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-28 14:57:12 +00:00
TRACKING APP: cleanup RegattaActivity
This commit is contained in:
1 parent
98cabf92be
commit
c739f9977c
13 files changed
+164
-138
No files matched your search
@@ -22,7 +22,7 @@
|
|||||||
android:title="@string/device_identifier" android:selectable="false"/>
|
android:title="@string/device_identifier" android:selectable="false"/>
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:defaultValue="false"
|
android:defaultValue="true"
|
||||||
android:key="@string/preference_heading_from_magnetic_key"
|
android:key="@string/preference_heading_from_magnetic_key"
|
||||||
android:switchTextOn="@string/preference_heading_from_magnetic_key_is_enabled"
|
android:switchTextOn="@string/preference_heading_from_magnetic_key_is_enabled"
|
||||||
android:switchTextOff="@string/preference_heading_from_magnetic_key_is_disabled"
|
android:switchTextOff="@string/preference_heading_from_magnetic_key_is_disabled"
|
||||||
|
|||||||
+5
-4
@@ -20,6 +20,7 @@ import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.Event;
|
|||||||
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.Leaderboard;
|
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.Leaderboard;
|
||||||
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.SensorGps;
|
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.SensorGps;
|
||||||
import com.sap.sailing.android.tracking.app.provider.AnalyticsDatabase.Tables;
|
import com.sap.sailing.android.tracking.app.provider.AnalyticsDatabase.Tables;
|
||||||
|
import com.sap.sailing.android.tracking.app.utils.AppPreferences;
|
||||||
|
|
||||||
public class AnalyticsProvider extends ContentProvider {
|
public class AnalyticsProvider extends ContentProvider {
|
||||||
|
|
||||||
@@ -93,7 +94,7 @@ public class AnalyticsProvider extends ContentProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
|
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
|
||||||
if (BuildConfig.DEBUG) {
|
if (BuildConfig.DEBUG && AppPreferences.getPrintDatabaseOperationDebugMessages()) {
|
||||||
String message = "query: uri=" + uri + " projection=" + Arrays.toString(projection) + " selection=["
|
String message = "query: uri=" + uri + " projection=" + Arrays.toString(projection) + " selection=["
|
||||||
+ selection + "] args=" + Arrays.toString(selectionArgs) + " order=[" + sortOrder + "]";
|
+ selection + "] args=" + Arrays.toString(selectionArgs) + " order=[" + sortOrder + "]";
|
||||||
ExLog.i(getContext(), TAG, message);
|
ExLog.i(getContext(), TAG, message);
|
||||||
@@ -173,7 +174,7 @@ public class AnalyticsProvider extends ContentProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Uri insert(Uri uri, ContentValues values) {
|
public Uri insert(Uri uri, ContentValues values) {
|
||||||
if (BuildConfig.DEBUG) {
|
if (BuildConfig.DEBUG && AppPreferences.getPrintDatabaseOperationDebugMessages()) {
|
||||||
String message = "insert: uri=" + uri + " values=[" + values.toString() + "]";
|
String message = "insert: uri=" + uri + " values=[" + values.toString() + "]";
|
||||||
ExLog.i(getContext(), TAG, message);
|
ExLog.i(getContext(), TAG, message);
|
||||||
}
|
}
|
||||||
@@ -208,7 +209,7 @@ public class AnalyticsProvider extends ContentProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int delete(Uri uri, String selection, String[] selectionArgs) {
|
public int delete(Uri uri, String selection, String[] selectionArgs) {
|
||||||
if (BuildConfig.DEBUG) {
|
if (BuildConfig.DEBUG && AppPreferences.getPrintDatabaseOperationDebugMessages()) {
|
||||||
String message = "delete: uri=" + uri + " selection=[" + selection + "] args="
|
String message = "delete: uri=" + uri + " selection=[" + selection + "] args="
|
||||||
+ Arrays.toString(selectionArgs);
|
+ Arrays.toString(selectionArgs);
|
||||||
ExLog.i(getContext(), TAG, message);
|
ExLog.i(getContext(), TAG, message);
|
||||||
@@ -252,7 +253,7 @@ public class AnalyticsProvider extends ContentProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
|
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
|
||||||
if (BuildConfig.DEBUG) {
|
if (BuildConfig.DEBUG && AppPreferences.getPrintDatabaseOperationDebugMessages()) {
|
||||||
String message = "update: uri=" + uri + " values=[" + values == null ? "null"
|
String message = "update: uri=" + uri + " values=[" + values == null ? "null"
|
||||||
: values.toString() + "] selection=[" + selection + "]"
|
: values.toString() + "] selection=[" + selection + "]"
|
||||||
+ " args=" + Arrays.toString(selectionArgs);
|
+ " args=" + Arrays.toString(selectionArgs);
|
||||||
|
|||||||
+1
@@ -14,6 +14,7 @@ import android.content.Intent;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.sap.sailing.android.shared.logging.ExLog;
|
import com.sap.sailing.android.shared.logging.ExLog;
|
||||||
|
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract;
|
||||||
import com.sap.sailing.android.shared.util.FileHandlerUtils;
|
import com.sap.sailing.android.shared.util.FileHandlerUtils;
|
||||||
|
|
||||||
public class MessagePersistenceManager {
|
public class MessagePersistenceManager {
|
||||||
|
|||||||
+31
-112
@@ -10,9 +10,7 @@ import java.util.Locale;
|
|||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.database.Cursor;
|
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
@@ -20,7 +18,6 @@ import android.net.Uri;
|
|||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.provider.BaseColumns;
|
|
||||||
import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
@@ -35,36 +32,25 @@ import com.android.volley.Response.ErrorListener;
|
|||||||
import com.android.volley.Response.Listener;
|
import com.android.volley.Response.Listener;
|
||||||
import com.android.volley.VolleyError;
|
import com.android.volley.VolleyError;
|
||||||
import com.android.volley.toolbox.JsonObjectRequest;
|
import com.android.volley.toolbox.JsonObjectRequest;
|
||||||
|
import com.google.android.gms.internal.cm;
|
||||||
import com.sap.sailing.android.shared.logging.ExLog;
|
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.R;
|
||||||
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.Competitor;
|
|
||||||
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.Event;
|
|
||||||
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.Leaderboard;
|
|
||||||
import com.sap.sailing.android.tracking.app.ui.fragments.RegattaFragment;
|
import com.sap.sailing.android.tracking.app.ui.fragments.RegattaFragment;
|
||||||
|
import com.sap.sailing.android.tracking.app.utils.DatabaseHelper;
|
||||||
import com.sap.sailing.android.tracking.app.utils.UniqueDeviceUuid;
|
import com.sap.sailing.android.tracking.app.utils.UniqueDeviceUuid;
|
||||||
import com.sap.sailing.android.tracking.app.utils.VolleyHelper;
|
import com.sap.sailing.android.tracking.app.utils.VolleyHelper;
|
||||||
|
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;
|
||||||
|
|
||||||
public class RegattaActivity extends BaseActivity {
|
public class RegattaActivity extends BaseActivity {
|
||||||
|
|
||||||
private final static String TAG = RegattaActivity.class.getName();
|
private final static String TAG = RegattaActivity.class.getName();
|
||||||
|
|
||||||
|
private EventInfo event;
|
||||||
|
private CompetitorInfo competitor;
|
||||||
|
private LeaderboardInfo leaderboard;
|
||||||
|
|
||||||
private String eventId;
|
|
||||||
private String competitorId;
|
|
||||||
|
|
||||||
private int competitorRowId;
|
|
||||||
private String competitorName;
|
|
||||||
private String competitorCountryCode;
|
|
||||||
private String competitorSailId;
|
|
||||||
|
|
||||||
private String eventName;
|
|
||||||
private int eventRowId;
|
|
||||||
private String eventImageUrl;
|
|
||||||
private long eventStartMillis;
|
|
||||||
private long eventEndMillis;
|
|
||||||
|
|
||||||
private String leaderboardName;
|
|
||||||
private int leaderboardRowId;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@@ -72,11 +58,17 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
|
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
|
|
||||||
leaderboardName = intent.getStringExtra(getString(R.string.leaderboard_name));
|
event = new EventInfo();
|
||||||
eventId = intent.getStringExtra(getString(R.string.event_id));
|
competitor = new CompetitorInfo();
|
||||||
competitorId = intent.getStringExtra(getString(R.string.competitor_id));
|
leaderboard = new LeaderboardInfo();
|
||||||
|
|
||||||
|
String leaderboardName = intent.getStringExtra(getString(R.string.leaderboard_name));
|
||||||
|
String eventId = intent.getStringExtra(getString(R.string.event_id));
|
||||||
|
String competitorId = intent.getStringExtra(getString(R.string.competitor_id));
|
||||||
|
|
||||||
fetchData(eventId, competitorId);
|
competitor = DatabaseHelper.getInstance(this).getCompetitor(competitorId);
|
||||||
|
event = DatabaseHelper.getInstance(this).getEventInfo(eventId);
|
||||||
|
leaderboard = DatabaseHelper.getInstance(this).getLeaderboard(leaderboardName);
|
||||||
|
|
||||||
setContentView(R.layout.fragment_container);
|
setContentView(R.layout.fragment_container);
|
||||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||||
@@ -90,7 +82,7 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
toolbar.setNavigationIcon(R.drawable.sap_logo_64_sq);
|
toolbar.setNavigationIcon(R.drawable.sap_logo_64_sq);
|
||||||
toolbar.setPadding(20, 0, 0, 0);
|
toolbar.setPadding(20, 0, 0, 0);
|
||||||
getSupportActionBar().setTitle(leaderboardName);
|
getSupportActionBar().setTitle(leaderboardName);
|
||||||
getSupportActionBar().setSubtitle(eventName);
|
getSupportActionBar().setSubtitle(event.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
replaceFragment(R.id.content_frame, new RegattaFragment());
|
replaceFragment(R.id.content_frame, new RegattaFragment());
|
||||||
@@ -127,37 +119,6 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
{
|
{
|
||||||
return (RegattaFragment) getSupportFragmentManager().findFragmentById(R.id.content_frame);
|
return (RegattaFragment) getSupportFragmentManager().findFragmentById(R.id.content_frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fetchData(String eventId, String competitorId)
|
|
||||||
{
|
|
||||||
Cursor cc = getContentResolver().query(Competitor.CONTENT_URI, null, "competitor_id = \"" + competitorId + "\"", null, null);
|
|
||||||
if (cc.moveToFirst()) {
|
|
||||||
competitorName = cc.getString(cc.getColumnIndex(Competitor.COMPETITOR_DISPLAY_NAME));
|
|
||||||
competitorCountryCode = cc.getString(cc.getColumnIndex(Competitor.COMPETITOR_COUNTRY_CODE));
|
|
||||||
competitorSailId = cc.getString(cc.getColumnIndex(Competitor.COMPETITOR_SAIL_ID));
|
|
||||||
competitorRowId = cc.getInt(cc.getColumnIndex(BaseColumns._ID));
|
|
||||||
}
|
|
||||||
|
|
||||||
cc.close();
|
|
||||||
|
|
||||||
Cursor ec = getContentResolver().query(Event.CONTENT_URI, null, "event_id = \"" + eventId + "\"", null, null);
|
|
||||||
if (ec.moveToFirst()) {
|
|
||||||
eventName = ec.getString(ec.getColumnIndex(Event.EVENT_NAME));
|
|
||||||
eventImageUrl = ec.getString(ec.getColumnIndex(Event.EVENT_IMAGE_URL));
|
|
||||||
eventStartMillis = ec.getLong(ec.getColumnIndex(Event.EVENT_DATE_START));
|
|
||||||
eventEndMillis = ec.getLong(ec.getColumnIndex(Event.EVENT_DATE_END));
|
|
||||||
eventRowId = ec.getInt(ec.getColumnIndex(BaseColumns._ID));
|
|
||||||
}
|
|
||||||
|
|
||||||
ec.close();
|
|
||||||
|
|
||||||
Cursor lc = getContentResolver().query(Leaderboard.CONTENT_URI, null, "leaderboard_name = \"" + leaderboardName + "\"", null, null);
|
|
||||||
if (lc.moveToFirst()) {
|
|
||||||
leaderboardRowId = lc.getInt(lc.getColumnIndex(BaseColumns._ID));
|
|
||||||
}
|
|
||||||
|
|
||||||
lc.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void userImageUpdated() {
|
private void userImageUpdated() {
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
@@ -174,14 +135,14 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
TextView competitorNameTextView = (TextView)findViewById(R.id.competitor_name);
|
TextView competitorNameTextView = (TextView)findViewById(R.id.competitor_name);
|
||||||
competitorNameTextView.setText(competitorName);
|
competitorNameTextView.setText(competitor.name);
|
||||||
|
|
||||||
TextView sailIdTextView = (TextView)findViewById(R.id.sail_id);
|
TextView sailIdTextView = (TextView)findViewById(R.id.sail_id);
|
||||||
sailIdTextView.setText(competitorSailId);
|
sailIdTextView.setText(competitor.sailId);
|
||||||
|
|
||||||
ImageView flagImageView = (ImageView)findViewById(R.id.flag_image);
|
ImageView flagImageView = (ImageView)findViewById(R.id.flag_image);
|
||||||
//String flagStr = String.format("%s.png", countryCode);
|
//String flagStr = String.format("%s.png", countryCode);
|
||||||
String uri = "@drawable/" + competitorCountryCode.toLowerCase(Locale.getDefault());
|
String uri = "@drawable/" + competitor.countryCode.toLowerCase(Locale.getDefault());
|
||||||
|
|
||||||
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
|
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
|
||||||
|
|
||||||
@@ -194,7 +155,7 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
|
|
||||||
getRegattaFragment().setChangePhotoButtonHidden(true);
|
getRegattaFragment().setChangePhotoButtonHidden(true);
|
||||||
|
|
||||||
if (eventImageUrl != null)
|
if (event.imageUrl != null)
|
||||||
{
|
{
|
||||||
ImageView imageView = (ImageView) findViewById(R.id.userImage);
|
ImageView imageView = (ImageView) findViewById(R.id.userImage);
|
||||||
Bitmap storedImage = getStoredImage();
|
Bitmap storedImage = getStoredImage();
|
||||||
@@ -205,7 +166,7 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
new DownloadImageTask(imageView).execute(eventImageUrl);
|
new DownloadImageTask(imageView).execute(event.imageUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -299,7 +260,7 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
File mediaFile;
|
File mediaFile;
|
||||||
String mImageName="MI_"+ leaderboardName +".png";
|
String mImageName="MI_"+ leaderboard.name +".png";
|
||||||
mediaFile = new File(mediaStorageDir.getPath() + File.separator + mImageName);
|
mediaFile = new File(mediaStorageDir.getPath() + File.separator + mImageName);
|
||||||
return mediaFile;
|
return mediaFile;
|
||||||
}
|
}
|
||||||
@@ -337,13 +298,13 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
{
|
{
|
||||||
final String checkoutURLStr = prefs.getServerURL()
|
final String checkoutURLStr = prefs.getServerURL()
|
||||||
+ prefs.getServerCheckoutPath().replace("{leaderboard-name}",
|
+ prefs.getServerCheckoutPath().replace("{leaderboard-name}",
|
||||||
Uri.encode(leaderboardName));
|
Uri.encode(leaderboard.name));
|
||||||
|
|
||||||
showProgressDialog(R.string.please_wait, R.string.checking_out);
|
showProgressDialog(R.string.please_wait, R.string.checking_out);
|
||||||
|
|
||||||
JSONObject checkoutData = new JSONObject();
|
JSONObject checkoutData = new JSONObject();
|
||||||
try {
|
try {
|
||||||
checkoutData.put("competitorId", competitorId);
|
checkoutData.put("competitorId", competitor.id);
|
||||||
checkoutData.put("deviceUuid", UniqueDeviceUuid.getUniqueId(this));
|
checkoutData.put("deviceUuid", UniqueDeviceUuid.getUniqueId(this));
|
||||||
checkoutData.put("toMillis", String.valueOf(System.currentTimeMillis()));
|
checkoutData.put("toMillis", String.valueOf(System.currentTimeMillis()));
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
@@ -360,7 +321,7 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
JsonObjectRequest checkoutRequest = new JsonObjectRequest(checkoutURLStr, checkoutData, new Listener<JSONObject>(){
|
JsonObjectRequest checkoutRequest = new JsonObjectRequest(checkoutURLStr, checkoutData, new Listener<JSONObject>(){
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(JSONObject response) {
|
public void onResponse(JSONObject response) {
|
||||||
deleteRegttaFromDatabase();
|
DatabaseHelper.getInstance(RegattaActivity.this).deleteRegttaFromDatabase(event, competitor, leaderboard);
|
||||||
dismissProgressDialog();
|
dismissProgressDialog();
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
@@ -379,50 +340,8 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
VolleyHelper.getInstance(this).addRequest(checkoutRequest);
|
VolleyHelper.getInstance(this).addRequest(checkoutRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public EventInfo getEvent()
|
||||||
* So the fragment can get the value for its countdown-display.
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public long getEventStartMillis()
|
|
||||||
{
|
{
|
||||||
return eventStartMillis;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* So the fragment can get the value to decide if thank you note should be shown.
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public long getEventEndMillis()
|
|
||||||
{
|
|
||||||
return eventEndMillis;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Event-id for event, so tracking-service can link GPS fixes to event.
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public String getEventId()
|
|
||||||
{
|
|
||||||
return eventId;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete Event, Competitor and Leaderboard
|
|
||||||
*/
|
|
||||||
private void deleteRegttaFromDatabase()
|
|
||||||
{
|
|
||||||
ContentResolver cr = getContentResolver();
|
|
||||||
|
|
||||||
int d1 = cr.delete(Event.CONTENT_URI, BaseColumns._ID + " = " + eventRowId, null);
|
|
||||||
int d2 = cr.delete(Competitor.CONTENT_URI, BaseColumns._ID + " = " + competitorRowId, null);
|
|
||||||
int d3 = cr.delete(Leaderboard.CONTENT_URI, BaseColumns._ID + " = " + leaderboardRowId, null);
|
|
||||||
|
|
||||||
if (BuildConfig.DEBUG)
|
|
||||||
{
|
|
||||||
ExLog.i(this, TAG, "Checkout, number of events deleted: " + d1);
|
|
||||||
ExLog.i(this, TAG, "Checkout, number of competitors deleted: " + d2);
|
|
||||||
ExLog.i(this, TAG, "Checkout, number of leaderbards deleted: " + d3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+1
-1
@@ -30,7 +30,7 @@ public class SystemInformationActivityHelper {
|
|||||||
*/
|
*/
|
||||||
public void updateSendingServiceInformation() {
|
public void updateSendingServiceInformation() {
|
||||||
TextView statusView = (TextView) activity.findViewById(R.id.system_information_persistence_status);
|
TextView statusView = (TextView) activity.findViewById(R.id.system_information_persistence_status);
|
||||||
ListView waitingView = (ListView) activity.findViewById(R.id.system_information_persistence_waiting);
|
//ListView waitingView = (ListView) activity.findViewById(R.id.system_information_persistence_waiting);
|
||||||
if (activity.boundSendingService) {
|
if (activity.boundSendingService) {
|
||||||
Date lastSuccessfulSend = activity.sendingService.getLastSuccessfulSend();
|
Date lastSuccessfulSend = activity.sendingService.getLastSuccessfulSend();
|
||||||
statusView.setText(String.format(
|
statusView.setText(String.format(
|
||||||
|
|||||||
+2
-2
@@ -62,13 +62,13 @@ public class TrackingActivity extends BaseActivity implements GPSQualityListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (getSupportActionBar() != null) {
|
if (getSupportActionBar() != null) {
|
||||||
EventInfo eventInfo = DatabaseHelper.getInstance(this).getEventInfo(eventId);
|
EventInfo eventInfo = DatabaseHelper.getInstance(this).getEventInfoWithLeaderboard(eventId);
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
getSupportActionBar().setHomeButtonEnabled(true);
|
getSupportActionBar().setHomeButtonEnabled(true);
|
||||||
toolbar.setNavigationIcon(R.drawable.sap_logo_64_sq);
|
toolbar.setNavigationIcon(R.drawable.sap_logo_64_sq);
|
||||||
toolbar.setPadding(20, 0, 0, 0);
|
toolbar.setPadding(20, 0, 0, 0);
|
||||||
getSupportActionBar().setTitle(eventInfo.leaderboardName);
|
getSupportActionBar().setTitle(eventInfo.leaderboardName);
|
||||||
getSupportActionBar().setSubtitle(getString(R.string.tracking_colon) + " " + eventInfo.eventName);
|
getSupportActionBar().setSubtitle(getString(R.string.tracking_colon) + " " + eventInfo.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
TrackingFragment mainFragment;
|
TrackingFragment mainFragment;
|
||||||
|
|||||||
+8
-8
@@ -449,14 +449,14 @@ public class HomeFragment extends BaseFragment implements
|
|||||||
/**
|
/**
|
||||||
* Delete Event, Competitor and Leaderboard
|
* Delete Event, Competitor and Leaderboard
|
||||||
*/
|
*/
|
||||||
private void deleteRegttaFromDatabase()
|
// private void deleteRegttaFromDatabase()
|
||||||
{
|
// {
|
||||||
ContentResolver cr = getActivity().getContentResolver();
|
// ContentResolver cr = getActivity().getContentResolver();
|
||||||
|
//
|
||||||
cr.delete(Event.CONTENT_URI, BaseColumns._ID + " = " + eventRowId, null);
|
// cr.delete(Event.CONTENT_URI, BaseColumns._ID + " = " + eventRowId, null);
|
||||||
cr.delete(Competitor.CONTENT_URI, BaseColumns._ID + " = " + competitorRowId, null);
|
// cr.delete(Competitor.CONTENT_URI, BaseColumns._ID + " = " + competitorRowId, null);
|
||||||
cr.delete(Leaderboard.CONTENT_URI, BaseColumns._ID + " = " + leaderboardRowId, null);
|
// cr.delete(Leaderboard.CONTENT_URI, BaseColumns._ID + " = " + leaderboardRowId, null);
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return true if the combination of eventId, leaderboardName and
|
* Return true if the combination of eventId, leaderboardName and
|
||||||
|
|||||||
+4
-4
@@ -63,7 +63,7 @@ public class RegattaFragment extends BaseFragment implements OnClickListener {
|
|||||||
|
|
||||||
private void checkAndSwitchToThankYouScreenIfRegattaOver() {
|
private void checkAndSwitchToThankYouScreenIfRegattaOver() {
|
||||||
RegattaActivity regattaActivity = (RegattaActivity) getActivity();
|
RegattaActivity regattaActivity = (RegattaActivity) getActivity();
|
||||||
long regattaEnd = regattaActivity.getEventEndMillis();
|
long regattaEnd = regattaActivity.getEvent().endMillis;
|
||||||
|
|
||||||
if (System.currentTimeMillis() > regattaEnd) {
|
if (System.currentTimeMillis() > regattaEnd) {
|
||||||
switchToThankYouScreen();
|
switchToThankYouScreen();
|
||||||
@@ -77,7 +77,7 @@ public class RegattaFragment extends BaseFragment implements OnClickListener {
|
|||||||
TextView textView = (TextView)getActivity().findViewById(R.id.regatta_starts_in);
|
TextView textView = (TextView)getActivity().findViewById(R.id.regatta_starts_in);
|
||||||
|
|
||||||
RegattaActivity regattaActivity = (RegattaActivity) getActivity();
|
RegattaActivity regattaActivity = (RegattaActivity) getActivity();
|
||||||
long regattaStart = regattaActivity.getEventStartMillis();
|
long regattaStart = regattaActivity.getEvent().startMillis;
|
||||||
|
|
||||||
LinearLayout threeBoxesLayout = (LinearLayout) getActivity()
|
LinearLayout threeBoxesLayout = (LinearLayout) getActivity()
|
||||||
.findViewById(R.id.three_boxes_regatta_starts);
|
.findViewById(R.id.three_boxes_regatta_starts);
|
||||||
@@ -233,13 +233,13 @@ public class RegattaFragment extends BaseFragment implements OnClickListener {
|
|||||||
Intent intent = new Intent(getActivity(), TrackingActivity.class);
|
Intent intent = new Intent(getActivity(), TrackingActivity.class);
|
||||||
intent.putExtra(
|
intent.putExtra(
|
||||||
getString(R.string.tracking_activity_event_id_parameter),
|
getString(R.string.tracking_activity_event_id_parameter),
|
||||||
regattaActivity.getEventId());
|
regattaActivity.getEvent().id);
|
||||||
getActivity().startActivity(intent);
|
getActivity().startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void timerFired() {
|
private void timerFired() {
|
||||||
RegattaActivity regattaActivity = (RegattaActivity) getActivity();
|
RegattaActivity regattaActivity = (RegattaActivity) getActivity();
|
||||||
updateCountdownTimer(regattaActivity.getEventStartMillis());
|
updateCountdownTimer(regattaActivity.getEvent().startMillis);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateCountdownTimer(long startTime) {
|
private void updateCountdownTimer(long startTime) {
|
||||||
|
|||||||
+5
@@ -137,4 +137,9 @@ public class AppPreferences {
|
|||||||
{
|
{
|
||||||
return preferences.getString(context.getString(R.string.preference_tracker_is_tracking_event_id), null);
|
return preferences.getString(context.getString(R.string.preference_tracker_is_tracking_event_id), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean getPrintDatabaseOperationDebugMessages()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+75
-2
@@ -13,12 +13,16 @@ import android.provider.BaseColumns;
|
|||||||
|
|
||||||
import com.sap.sailing.android.shared.logging.ExLog;
|
import com.sap.sailing.android.shared.logging.ExLog;
|
||||||
import com.sap.sailing.android.tracking.app.BuildConfig;
|
import com.sap.sailing.android.tracking.app.BuildConfig;
|
||||||
|
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.Competitor;
|
||||||
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.Event;
|
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.Event;
|
||||||
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.EventGpsFixesJoined;
|
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.EventGpsFixesJoined;
|
||||||
|
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.Leaderboard;
|
||||||
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.LeaderboardsEventsJoined;
|
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.LeaderboardsEventsJoined;
|
||||||
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.SensorGps;
|
import com.sap.sailing.android.tracking.app.provider.AnalyticsContract.SensorGps;
|
||||||
|
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.EventInfo;
|
||||||
import com.sap.sailing.android.tracking.app.valueobjects.GpsFix;
|
import com.sap.sailing.android.tracking.app.valueobjects.GpsFix;
|
||||||
|
import com.sap.sailing.android.tracking.app.valueobjects.LeaderboardInfo;
|
||||||
|
|
||||||
public class DatabaseHelper {
|
public class DatabaseHelper {
|
||||||
|
|
||||||
@@ -178,7 +182,7 @@ public class DatabaseHelper {
|
|||||||
cr.insert(SensorGps.CONTENT_URI, cv);
|
cr.insert(SensorGps.CONTENT_URI, cv);
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventInfo getEventInfo(String eventId) {
|
public EventInfo getEventInfoWithLeaderboard(String eventId) {
|
||||||
EventInfo result = new EventInfo();
|
EventInfo result = new EventInfo();
|
||||||
|
|
||||||
ContentResolver cr = mContext.getContentResolver();
|
ContentResolver cr = mContext.getContentResolver();
|
||||||
@@ -187,13 +191,82 @@ public class DatabaseHelper {
|
|||||||
Cursor cursor = cr.query(LeaderboardsEventsJoined.CONTENT_URI, projection, "events.event_id = \"" + eventId + "\"", null, null);
|
Cursor cursor = cr.query(LeaderboardsEventsJoined.CONTENT_URI, projection, "events.event_id = \"" + eventId + "\"", null, null);
|
||||||
if (cursor.moveToFirst())
|
if (cursor.moveToFirst())
|
||||||
{
|
{
|
||||||
result.eventName = cursor.getString(cursor.getColumnIndex("event_name"));
|
result.name = cursor.getString(cursor.getColumnIndex("event_name"));
|
||||||
result.leaderboardName = cursor.getString(cursor.getColumnIndex("leaderboard_name"));
|
result.leaderboardName = cursor.getString(cursor.getColumnIndex("leaderboard_name"));
|
||||||
}
|
}
|
||||||
|
|
||||||
cursor.close();
|
cursor.close();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public EventInfo getEventInfo(String eventId) {
|
||||||
|
EventInfo event = new EventInfo();
|
||||||
|
event.id = eventId;
|
||||||
|
|
||||||
|
Cursor cursor = mContext.getContentResolver().query(Event.CONTENT_URI,
|
||||||
|
null, "event_id = \"" + eventId + "\"", null, null);
|
||||||
|
|
||||||
|
if (cursor.moveToFirst()) {
|
||||||
|
event.name = cursor.getString(cursor.getColumnIndex(Event.EVENT_NAME));
|
||||||
|
event.imageUrl = cursor.getString(cursor.getColumnIndex(Event.EVENT_IMAGE_URL));
|
||||||
|
event.startMillis = cursor.getLong(cursor.getColumnIndex(Event.EVENT_DATE_START));
|
||||||
|
event.endMillis = cursor.getLong(cursor.getColumnIndex(Event.EVENT_DATE_END));
|
||||||
|
event.rowId = cursor.getInt(cursor.getColumnIndex(BaseColumns._ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor.close();
|
||||||
|
return event;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CompetitorInfo getCompetitor(String competitorId)
|
||||||
|
{
|
||||||
|
CompetitorInfo competitor = new CompetitorInfo();
|
||||||
|
competitor.id = competitorId;
|
||||||
|
|
||||||
|
Cursor cursor = mContext.getContentResolver().query(Competitor.CONTENT_URI, null, "competitor_id = \"" + competitorId + "\"", null, null);
|
||||||
|
if (cursor.moveToFirst()) {
|
||||||
|
competitor.name = cursor.getString(cursor.getColumnIndex(Competitor.COMPETITOR_DISPLAY_NAME));
|
||||||
|
competitor.countryCode = cursor.getString(cursor.getColumnIndex(Competitor.COMPETITOR_COUNTRY_CODE));
|
||||||
|
competitor.sailId = cursor.getString(cursor.getColumnIndex(Competitor.COMPETITOR_SAIL_ID));
|
||||||
|
competitor.rowId = cursor.getInt(cursor.getColumnIndex(BaseColumns._ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor.close();
|
||||||
|
return competitor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LeaderboardInfo getLeaderboard(String leaderboardName)
|
||||||
|
{
|
||||||
|
LeaderboardInfo leaderboard = new LeaderboardInfo();
|
||||||
|
leaderboard.name = leaderboardName;
|
||||||
|
|
||||||
|
Cursor lc = mContext.getContentResolver().query(Leaderboard.CONTENT_URI, null, "leaderboard_name = \"" + leaderboardName + "\"", null, null);
|
||||||
|
if (lc.moveToFirst()) {
|
||||||
|
leaderboard.rowId = lc.getInt(lc.getColumnIndex(BaseColumns._ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
lc.close();
|
||||||
|
|
||||||
|
return leaderboard;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void deleteRegttaFromDatabase(EventInfo event, CompetitorInfo competitor, LeaderboardInfo leaderboard)
|
||||||
|
{
|
||||||
|
ContentResolver cr = mContext.getContentResolver();
|
||||||
|
|
||||||
|
int d1 = cr.delete(Event.CONTENT_URI, BaseColumns._ID + " = " + event.rowId, null);
|
||||||
|
int d2 = cr.delete(Competitor.CONTENT_URI, BaseColumns._ID + " = " + competitor.rowId, null);
|
||||||
|
int d3 = cr.delete(Leaderboard.CONTENT_URI, BaseColumns._ID + " = " + leaderboard.rowId, null);
|
||||||
|
|
||||||
|
if (BuildConfig.DEBUG)
|
||||||
|
{
|
||||||
|
ExLog.i(mContext, TAG, "Checkout, number of events deleted: " + d1);
|
||||||
|
ExLog.i(mContext, TAG, "Checkout, number of competitors deleted: " + d2);
|
||||||
|
ExLog.i(mContext, TAG, "Checkout, number of leaderbards deleted: " + d3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
package com.sap.sailing.android.tracking.app.valueobjects;
|
||||||
|
|
||||||
|
public class CompetitorInfo {
|
||||||
|
|
||||||
|
public String id;
|
||||||
|
public String name;
|
||||||
|
public String countryCode;
|
||||||
|
public String sailId;
|
||||||
|
public int rowId;
|
||||||
|
|
||||||
|
}
|
||||||
+13
-4
@@ -2,11 +2,20 @@ package com.sap.sailing.android.tracking.app.valueobjects;
|
|||||||
|
|
||||||
public class EventInfo {
|
public class EventInfo {
|
||||||
|
|
||||||
public String eventName;
|
public String id;
|
||||||
public String leaderboardName;
|
public String name;
|
||||||
|
public String leaderboardName; // when using join-query
|
||||||
|
public String imageUrl;
|
||||||
|
public long startMillis;
|
||||||
|
public long endMillis;
|
||||||
|
public int rowId;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "eventName: " + eventName + ", leaderboardName: " + leaderboardName;
|
return "eventName: " + name + ", leaderboardName: "
|
||||||
|
+ leaderboardName + ", eventImageUrl: " + imageUrl
|
||||||
|
+ ", eventStartMillis: " + startMillis
|
||||||
|
+ ", eventEndMillis: " + endMillis + ", eventRowId: "
|
||||||
|
+ rowId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+7
@@ -0,0 +1,7 @@
|
|||||||
|
package com.sap.sailing.android.tracking.app.valueobjects;
|
||||||
|
|
||||||
|
public class LeaderboardInfo {
|
||||||
|
|
||||||
|
public String name;
|
||||||
|
public int rowId;
|
||||||
|
}
|
||||||
Reference in new issue
Block a user