mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-28 14:57:12 +00:00
TRACKING APP: Refactoring
This commit is contained in:
1 parent
47d349313a
commit
2d9872e5c1
4 files changed
+69
-55
No files matched your search
@@ -32,5 +32,8 @@
|
|||||||
<string name="good">good</string>
|
<string name="good">good</string>
|
||||||
<string name="great">great</string>
|
<string name="great">great</string>
|
||||||
<string name="no_signal">no signal</string>
|
<string name="no_signal">no signal</string>
|
||||||
|
<string name="competitor_id">CompetitorId</string>
|
||||||
|
<string name="event_id">EventId</string>
|
||||||
|
<string name="leaderboard_name">LeaderboardName</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
+1
@@ -106,6 +106,7 @@ public class AnalyticsProvider extends ContentProvider {
|
|||||||
cursor = qb.query(db, projection, selection, selectionArgs, null, null, sortOrder);
|
cursor = qb.query(db, projection, selection, selectionArgs, null, null, sortOrder);
|
||||||
return cursor;
|
return cursor;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
final SelectionBuilder builder = buildExpandedSelection(uri);
|
final SelectionBuilder builder = buildExpandedSelection(uri);
|
||||||
|
|
||||||
|
|||||||
+44
-14
@@ -3,6 +3,7 @@ package com.sap.sailing.android.tracking.app.ui.activities;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.database.Cursor;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -16,21 +17,38 @@ import android.widget.ImageView;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
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 String eventId;
|
||||||
|
private String competitorId;
|
||||||
|
|
||||||
|
private String competitorName;
|
||||||
|
private String competitorCountryCode;
|
||||||
|
private String competitorSailId;
|
||||||
|
|
||||||
|
private String eventName;
|
||||||
|
private String eventImageUrl;
|
||||||
|
|
||||||
|
private String leaderboardName;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
|
|
||||||
String regattaName = intent.getStringExtra(getString(R.string.regatta_name));
|
leaderboardName = intent.getStringExtra(getString(R.string.leaderboard_name));
|
||||||
String eventName = intent.getStringExtra(getString(R.string.event_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);
|
setContentView(R.layout.fragment_container);
|
||||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||||
@@ -41,7 +59,7 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
if (getSupportActionBar() != null) {
|
if (getSupportActionBar() != null) {
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
getSupportActionBar().setHomeButtonEnabled(true);
|
getSupportActionBar().setHomeButtonEnabled(true);
|
||||||
getSupportActionBar().setTitle(regattaName);
|
getSupportActionBar().setTitle(leaderboardName);
|
||||||
Spannable subtitle = new SpannableString("Registered for: " + eventName);
|
Spannable subtitle = new SpannableString("Registered for: " + eventName);
|
||||||
StyleSpan styleBold = new StyleSpan(Typeface.BOLD);
|
StyleSpan styleBold = new StyleSpan(Typeface.BOLD);
|
||||||
subtitle.setSpan(styleBold, 16, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
subtitle.setSpan(styleBold, 16, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
@@ -51,33 +69,45 @@ public class RegattaActivity extends BaseActivity {
|
|||||||
replaceFragment(R.id.content_frame, new RegattaFragment());
|
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
|
@Override
|
||||||
protected void onResume() {
|
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);
|
TextView competitorNameTextView = (TextView)findViewById(R.id.competitor_name);
|
||||||
competitorNameTextView.setText(competitorName);
|
competitorNameTextView.setText(competitorName);
|
||||||
|
|
||||||
TextView sailIdTextView = (TextView)findViewById(R.id.sail_id);
|
TextView sailIdTextView = (TextView)findViewById(R.id.sail_id);
|
||||||
sailIdTextView.setText(sailId);
|
sailIdTextView.setText(competitorSailId);
|
||||||
|
|
||||||
|
|
||||||
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/" + countryCode.toLowerCase(Locale.getDefault());
|
String uri = "@drawable/" + competitorCountryCode.toLowerCase(Locale.getDefault());
|
||||||
|
|
||||||
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
|
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Drawable res = getResources().getDrawable(imageResource);
|
Drawable res = getResources().getDrawable(imageResource);
|
||||||
flagImageView.setImageDrawable(res);
|
flagImageView.setImageDrawable(res);
|
||||||
} catch (Exception e)
|
} catch (Exception e) {
|
||||||
{
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+21
-41
@@ -532,10 +532,8 @@ public class HomeFragment extends BaseFragment implements
|
|||||||
|
|
||||||
JsonObjectRequest checkinRequest = new JsonObjectRequest(
|
JsonObjectRequest checkinRequest = new JsonObjectRequest(
|
||||||
checkinData.checkinURL, requestObject, new CheckinListener(
|
checkinData.checkinURL, requestObject, new CheckinListener(
|
||||||
checkinData.leaderboardName,
|
checkinData.leaderboardName, checkinData.eventId,
|
||||||
checkinData.competitorCountryCode,
|
checkinData.competitorId),
|
||||||
checkinData.competitorDisplayName,
|
|
||||||
checkinData.competitorSailId),
|
|
||||||
new CheckinErrorListener());
|
new CheckinErrorListener());
|
||||||
|
|
||||||
VolleyHelper.getInstance(getActivity()).addRequest(checkinRequest);
|
VolleyHelper.getInstance(getActivity()).addRequest(checkinRequest);
|
||||||
@@ -595,14 +593,12 @@ public class HomeFragment extends BaseFragment implements
|
|||||||
* @param regattaName
|
* @param regattaName
|
||||||
* @param eventName
|
* @param eventName
|
||||||
*/
|
*/
|
||||||
private void startRegatta(String regattaName, String eventName,
|
private void startRegatta(String leaderboardName, String eventId,
|
||||||
String countryCode, String competitorName, String sailId) {
|
String competitorId) {
|
||||||
Intent intent = new Intent(getActivity(), RegattaActivity.class);
|
Intent intent = new Intent(getActivity(), RegattaActivity.class);
|
||||||
intent.putExtra(getString(R.string.regatta_name), regattaName);
|
intent.putExtra(getString(R.string.leaderboard_name), leaderboardName);
|
||||||
intent.putExtra(getString(R.string.event_name), eventName);
|
intent.putExtra(getString(R.string.event_id), eventId);
|
||||||
intent.putExtra(getString(R.string.competitor_name), competitorName);
|
intent.putExtra(getString(R.string.competitor_id), competitorId);
|
||||||
intent.putExtra(getString(R.string.country_code), countryCode);
|
|
||||||
intent.putExtra(getString(R.string.sail_id), sailId);
|
|
||||||
getActivity().startActivity(intent);
|
getActivity().startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -699,53 +695,37 @@ public class HomeFragment extends BaseFragment implements
|
|||||||
// header
|
// header
|
||||||
// row
|
// row
|
||||||
|
|
||||||
|
|
||||||
prefs.setServerURL(cursor.getString(cursor
|
prefs.setServerURL(cursor.getString(cursor
|
||||||
.getColumnIndex(Event.EVENT_SERVER)));
|
.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
|
String leaderboardName = cursor.getString(cursor
|
||||||
.getColumnIndex("leaderboard_name"));
|
.getColumnIndex("leaderboard_name"));
|
||||||
String competitorName = cursor.getString(cursor
|
String competitorId = cursor.getString(cursor
|
||||||
.getColumnIndex("competitor_display_name"));
|
.getColumnIndex("competitor_id"));
|
||||||
String countryCode = cursor.getString(cursor
|
String eventId = cursor.getString(cursor
|
||||||
.getColumnIndex("competitor_country_code"));
|
.getColumnIndex("event_id"));
|
||||||
String sailId = cursor.getString(cursor
|
|
||||||
.getColumnIndex("competitor_sail_id"));
|
|
||||||
|
|
||||||
startRegatta(leaderboardName, leaderboardName, countryCode,
|
startRegatta(leaderboardName, eventId, competitorId);
|
||||||
competitorName, sailId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class CheckinListener implements Listener<JSONObject> {
|
private class CheckinListener implements Listener<JSONObject> {
|
||||||
|
|
||||||
public String leaderboardName;
|
public String leaderboardName;
|
||||||
public String countryCode;
|
public String eventId;
|
||||||
public String sailId;
|
public String competitorId;
|
||||||
public String competitorName;
|
|
||||||
|
|
||||||
public CheckinListener(String leaderboardName, String countryCode,
|
public CheckinListener(String leaderboardName, String eventId,
|
||||||
String competitorName, String sailId) {
|
String competitorId) {
|
||||||
try {
|
this.leaderboardName = leaderboardName;
|
||||||
this.leaderboardName = URLDecoder.decode(leaderboardName,
|
this.eventId = eventId;
|
||||||
"UTF-8");
|
this.competitorId = competitorId;
|
||||||
this.countryCode = countryCode;
|
|
||||||
this.competitorName = competitorName;
|
|
||||||
this.sailId = sailId;
|
|
||||||
} catch (UnsupportedEncodingException e) {
|
|
||||||
ExLog.e(getActivity(), TAG, "UnsupportedEncodingException: "
|
|
||||||
+ e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(JSONObject response) {
|
public void onResponse(JSONObject response) {
|
||||||
// TODO: twice the same string here
|
startRegatta(leaderboardName, eventId, competitorId);
|
||||||
startRegatta(leaderboardName, leaderboardName, countryCode,
|
|
||||||
competitorName, sailId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user