diff --git a/mobile/com.sap.sailing.android.tracking.app/res/menu/options_menu_with_checkout.xml b/mobile/com.sap.sailing.android.tracking.app/res/menu/options_menu_with_checkout.xml
index 7cf322ee94e..f2dca64bee3 100644
--- a/mobile/com.sap.sailing.android.tracking.app/res/menu/options_menu_with_checkout.xml
+++ b/mobile/com.sap.sailing.android.tracking.app/res/menu/options_menu_with_checkout.xml
@@ -14,4 +14,8 @@
android:title="@string/options_menu_checkout"
app:showAsAction=""/>
+
\ No newline at end of file
diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values-de/strings.xml b/mobile/com.sap.sailing.android.tracking.app/res/values-de/strings.xml
index f8c4a9ce7c5..90e41b318a4 100644
--- a/mobile/com.sap.sailing.android.tracking.app/res/values-de/strings.xml
+++ b/mobile/com.sap.sailing.android.tracking.app/res/values-de/strings.xml
@@ -7,6 +7,8 @@
SAP Sailing Tracking App
Einstellungen
Checkout
+ Team Foto hinzufügen
+ Team Foto ersetzen
Andere Einstellungen
Der QR-Code befindet sich auf Ihrer Teilnahmebestätigung
Geräte-ID
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 95858e89c69..2994ecfe555 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
@@ -5,6 +5,8 @@
SAP Sailing Tracking App
Settings
Checkout
+ Add Team Photo
+ Replace Team Photo
Other Settings
Device Identifier
SAP Sailing Tracker started
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 a565ea4b0cf..ba01fa1c885 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
@@ -59,8 +59,9 @@ public class RegattaActivity extends BaseActivity {
public EventInfo event;
public CompetitorInfo competitor;
public LeaderboardInfo leaderboard;
-
-
+
+ private boolean hasPicture;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -91,8 +92,7 @@ public class RegattaActivity extends BaseActivity {
getSupportActionBar().setTitle(leaderboard.name);
getSupportActionBar().setSubtitle(event.name);
}
-
- replaceFragment(R.id.content_frame, new RegattaFragment());
+ replaceFragment(R.id.content_frame, new RegattaFragment());
}
@Override
@@ -111,7 +111,21 @@ public class RegattaActivity extends BaseActivity {
inflater.inflate(R.menu.options_menu_with_checkout, menu);
return true;
}
-
+
+ @Override
+ public boolean onPrepareOptionsMenu(Menu menu) {
+ MenuItem teamPhotoItem = menu.findItem(R.id.options_menu_add_team_image);
+ if(hasPicture)
+ {
+ teamPhotoItem.setTitle(getString(R.string.options_replace_team_photo));
+ }
+ else
+ {
+ teamPhotoItem.setTitle(getString(R.string.options_add_team_photo));
+ }
+ return super.onPrepareOptionsMenu(menu);
+ }
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
@@ -123,6 +137,10 @@ public class RegattaActivity extends BaseActivity {
ExLog.i(this, TAG, "Clicked CHECKOUT.");
checkout();
return true;
+ case R.id.options_menu_add_team_image:
+ ExLog.i(this, TAG, "Clicked ADD TEAM IMAGE");
+ getRegattaFragment().showChooseExistingPictureOrTakeNewPhotoAlert();
+ return true;
default:
return super.onOptionsItemSelected(item);
}
@@ -136,11 +154,12 @@ public class RegattaActivity extends BaseActivity {
runOnUiThread(new Runnable() {
@Override
public void run() {
+ hasPicture = true;
LinearLayout addTeamPhotoTextView = (LinearLayout) findViewById(R.id.add_photo);
addTeamPhotoTextView.setVisibility(View.INVISIBLE);
getRegattaFragment().setChangePhotoButtonHidden(false);
- }
+ }
});
}
@@ -160,7 +179,7 @@ public class RegattaActivity extends BaseActivity {
TextView sailIdTextView = (TextView)findViewById(R.id.sail_id);
sailIdTextView.setText(competitor.sailId);
-
+
// ImageView flagImageView = (ImageView)findViewById(R.id.flag_image);
//String flagStr = String.format("%s.png", countryCode);
// String uri = "@drawable/" + competitor.countryCode.toLowerCase(Locale.getDefault());
@@ -179,7 +198,6 @@ public class RegattaActivity extends BaseActivity {
ImageView imageView = (ImageView) findViewById(R.id.userImage);
Bitmap storedImage = getStoredImage(getLeaderboardImageFileName(leaderboard.name));
-
if (storedImage == null)
{
if (event.imageUrl != null)
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 c17cadb582c..a59ab41b11f 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
@@ -193,7 +193,7 @@ public class RegattaFragment extends BaseFragment implements OnClickListener {
/**
* Ask user if he wants to take a new picture or select an existing one.
*/
- private void showChooseExistingPictureOrTakeNewPhotoAlert() {
+ public void showChooseExistingPictureOrTakeNewPhotoAlert() {
AlertDialog dialog = new AlertDialog.Builder(getActivity())
.setTitle(R.string.add_photo_select)
.setMessage(