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 1297b273713..7a57a3a1d0e 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
@@ -32,5 +32,8 @@
good
great
no signal
+ CompetitorId
+ EventId
+ LeaderboardName
diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values/strings_fragment.xml b/mobile/com.sap.sailing.android.tracking.app/res/values/strings_fragment.xml
index 1a665551573..bacbc7e4b76 100644
--- a/mobile/com.sap.sailing.android.tracking.app/res/values/strings_fragment.xml
+++ b/mobile/com.sap.sailing.android.tracking.app/res/values/strings_fragment.xml
@@ -26,7 +26,7 @@
Tracking Time
RegattaName
EventName
- CompetitorName
+ CompetitorName
Country Code
SailId
Status
diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/provider/AnalyticsProvider.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/provider/AnalyticsProvider.java
index 8037951e3dd..e6076b53f89 100644
--- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/provider/AnalyticsProvider.java
+++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/provider/AnalyticsProvider.java
@@ -106,6 +106,7 @@ public class AnalyticsProvider extends ContentProvider {
cursor = qb.query(db, projection, selection, selectionArgs, null, null, sortOrder);
return cursor;
+
default:
final SelectionBuilder builder = buildExpandedSelection(uri);
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 313e3ebf90c..3ec65b0e46f 100644
--- 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
@@ -3,6 +3,7 @@ package com.sap.sailing.android.tracking.app.ui.activities;
import java.util.Locale;
import android.content.Intent;
+import android.database.Cursor;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -16,11 +17,26 @@ import android.widget.ImageView;
import android.widget.TextView;
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;
public class RegattaActivity extends BaseActivity {
private final static String TAG = RegattaActivity.class.getName();
+
+ private String eventId;
+ private String competitorId;
+
+ private String competitorName;
+ private String competitorCountryCode;
+ private String competitorSailId;
+
+ private String eventName;
+ private String eventImageUrl;
+
+ private String leaderboardName;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -28,10 +44,12 @@ public class RegattaActivity extends BaseActivity {
Intent intent = getIntent();
- String regattaName = intent.getStringExtra(getString(R.string.regatta_name));
- String eventName = intent.getStringExtra(getString(R.string.event_name));
-
+ leaderboardName = intent.getStringExtra(getString(R.string.leaderboard_name));
+ eventId = intent.getStringExtra(getString(R.string.event_id));
+ competitorId = intent.getStringExtra(getString(R.string.competitor_id));
+ fetchData(eventId, competitorId);
+
setContentView(R.layout.fragment_container);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
@@ -41,7 +59,7 @@ public class RegattaActivity extends BaseActivity {
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
- getSupportActionBar().setTitle(regattaName);
+ getSupportActionBar().setTitle(leaderboardName);
Spannable subtitle = new SpannableString("Registered for: " + eventName);
StyleSpan styleBold = new StyleSpan(Typeface.BOLD);
subtitle.setSpan(styleBold, 16, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -50,36 +68,48 @@ public class RegattaActivity extends BaseActivity {
replaceFragment(R.id.content_frame, new RegattaFragment());
}
+
+ 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));
+ }
+
+ 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));
+ }
+
+ ec.close();
+ }
@Override
protected void onResume() {
-
- Intent intent = getIntent();
-
- String countryCode = intent.getStringExtra(getString(R.string.country_code));
- String competitorName = intent.getStringExtra(getString(R.string.competitor_name));
- String sailId = intent.getStringExtra(getString(R.string.sail_id));
-
TextView competitorNameTextView = (TextView)findViewById(R.id.competitor_name);
competitorNameTextView.setText(competitorName);
TextView sailIdTextView = (TextView)findViewById(R.id.sail_id);
- sailIdTextView.setText(sailId);
+ sailIdTextView.setText(competitorSailId);
ImageView flagImageView = (ImageView)findViewById(R.id.flag_image);
//String flagStr = String.format("%s.png", countryCode);
- String uri = "@drawable/" + countryCode.toLowerCase(Locale.getDefault());
+ String uri = "@drawable/" + competitorCountryCode.toLowerCase(Locale.getDefault());
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
- try {
- Drawable res = getResources().getDrawable(imageResource);
- flagImageView.setImageDrawable(res);
- } catch (Exception e)
- {
- e.printStackTrace();
- }
+ try {
+ Drawable res = getResources().getDrawable(imageResource);
+ flagImageView.setImageDrawable(res);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
super.onResume();
}
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 05a1ad761fb..a4d0a0513f3 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
@@ -532,10 +532,8 @@ public class HomeFragment extends BaseFragment implements
JsonObjectRequest checkinRequest = new JsonObjectRequest(
checkinData.checkinURL, requestObject, new CheckinListener(
- checkinData.leaderboardName,
- checkinData.competitorCountryCode,
- checkinData.competitorDisplayName,
- checkinData.competitorSailId),
+ checkinData.leaderboardName, checkinData.eventId,
+ checkinData.competitorId),
new CheckinErrorListener());
VolleyHelper.getInstance(getActivity()).addRequest(checkinRequest);
@@ -595,14 +593,12 @@ public class HomeFragment extends BaseFragment implements
* @param regattaName
* @param eventName
*/
- private void startRegatta(String regattaName, String eventName,
- String countryCode, String competitorName, String sailId) {
+ private void startRegatta(String leaderboardName, String eventId,
+ String competitorId) {
Intent intent = new Intent(getActivity(), RegattaActivity.class);
- intent.putExtra(getString(R.string.regatta_name), regattaName);
- intent.putExtra(getString(R.string.event_name), eventName);
- intent.putExtra(getString(R.string.competitor_name), competitorName);
- intent.putExtra(getString(R.string.country_code), countryCode);
- intent.putExtra(getString(R.string.sail_id), sailId);
+ intent.putExtra(getString(R.string.leaderboard_name), leaderboardName);
+ intent.putExtra(getString(R.string.event_id), eventId);
+ intent.putExtra(getString(R.string.competitor_id), competitorId);
getActivity().startActivity(intent);
}
@@ -698,54 +694,38 @@ public class HomeFragment extends BaseFragment implements
// a
// header
// row
-
+
+
prefs.setServerURL(cursor.getString(cursor
.getColumnIndex(Event.EVENT_SERVER)));
- // String competitorId =
- // cursor.getString(cursor.getColumnIndex("competitor_id"));
- // String eventServer =
- // cursor.getString(cursor.getColumnIndex("event_server"));
String leaderboardName = cursor.getString(cursor
.getColumnIndex("leaderboard_name"));
- String competitorName = cursor.getString(cursor
- .getColumnIndex("competitor_display_name"));
- String countryCode = cursor.getString(cursor
- .getColumnIndex("competitor_country_code"));
- String sailId = cursor.getString(cursor
- .getColumnIndex("competitor_sail_id"));
+ String competitorId = cursor.getString(cursor
+ .getColumnIndex("competitor_id"));
+ String eventId = cursor.getString(cursor
+ .getColumnIndex("event_id"));
- startRegatta(leaderboardName, leaderboardName, countryCode,
- competitorName, sailId);
+ startRegatta(leaderboardName, eventId, competitorId);
}
}
private class CheckinListener implements Listener {
public String leaderboardName;
- public String countryCode;
- public String sailId;
- public String competitorName;
+ public String eventId;
+ public String competitorId;
- public CheckinListener(String leaderboardName, String countryCode,
- String competitorName, String sailId) {
- try {
- this.leaderboardName = URLDecoder.decode(leaderboardName,
- "UTF-8");
- this.countryCode = countryCode;
- this.competitorName = competitorName;
- this.sailId = sailId;
- } catch (UnsupportedEncodingException e) {
- ExLog.e(getActivity(), TAG, "UnsupportedEncodingException: "
- + e.getMessage());
- }
+ public CheckinListener(String leaderboardName, String eventId,
+ String competitorId) {
+ this.leaderboardName = leaderboardName;
+ this.eventId = eventId;
+ this.competitorId = competitorId;
}
@Override
public void onResponse(JSONObject response) {
- // TODO: twice the same string here
- startRegatta(leaderboardName, leaderboardName, countryCode,
- competitorName, sailId);
+ startRegatta(leaderboardName, eventId, competitorId);
}
}