Merge branch 'master' into ubilabs--rcapp--develop

This commit is contained in:
Axel Uhl committed 2016-04-05 18:09:12 +02:00
commit a900b37632
36 files changed
+1157 -156

No files matched your search

@@ -1,4 +1,4 @@
package com.sap.sailing.racecommittee.app.utils;
package com.sap.sailing.android.shared.util;
import android.annotation.TargetApi;
import android.content.Context;
@@ -16,8 +16,20 @@ import android.support.v4.graphics.drawable.DrawableCompat;
import android.util.TypedValue;
import android.view.View;
/**
* Utility class for decoding Bitmap files and requiring Drawables.
*/
public class BitmapHelper {
/**
* Decodes a bitmap resource, calculates its sample size, and returns the size-reduced Bitmap for that resource.
*
* @param res the resource to decode
* @param resId the resource ID
* @param reqWidth the required width of the output Bitmap
* @param reqHeight the required height of the output Bitmap
* @return the down-sampled decoded Bitmap
*/
public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight) {
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
@@ -32,9 +44,22 @@ public class BitmapHelper {
return BitmapFactory.decodeResource(res, resId, options);
}
public static Bitmap decodeSampleBitmapFromFile(String fileName, int reqWidth, int reqHeight) {
/**
* Decodes a bitmap file, calculates its sample size, and returns the size-reduced Bitmap for that file.
*
* @param fileName the absolute path of the file to decode
* @param reqWidth the required width of the output Bitmap
* @param reqHeight the required height of the output Bitmap
* @param preferredConfig additional preferred config (optional, can be null)
* @return the down-sampled decoded Bitmap
*/
public static Bitmap decodeSampleBitmapFromFile(String fileName, int reqWidth, int reqHeight,
Bitmap.Config preferredConfig) {
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
if (preferredConfig != null) {
options.inPreferredConfig = preferredConfig;
}
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(fileName, options);
@@ -67,6 +92,13 @@ public class BitmapHelper {
return inSampleSize;
}
/**
* Gets a Drawable from the provided attribute resource.
*
* @param context the context
* @param attrRes the attribute resource
* @return the Drawable of the resource
*/
public static Drawable getAttrDrawable(Context context, @AttrRes int attrRes) {
Drawable drawable = null;
TypedValue value = new TypedValue();
@@ -80,6 +112,13 @@ public class BitmapHelper {
return drawable;
}
/**
* Gets a Drawable from the provided attribute identifier.
*
* @param context the context
* @param attr the attribute identifier specifying a Drawable resource
* @return the Drawable of the resource
*/
public static Drawable getAttrDrawable(Context context, String attr) {
int attrRes = context.getResources().getIdentifier(attr, "attr", context.getPackageName());
if (attrRes != 0) {
@@ -88,6 +127,12 @@ public class BitmapHelper {
return null;
}
/**
* Sets the given Drawable as background for the given View.
*
* @param view the view that gets its background set
* @param drawable the Drawable for the background
*/
// @SuppressWarnings, but it is handled correctly
@SuppressWarnings("deprecation")
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@@ -99,6 +144,14 @@ public class BitmapHelper {
}
}
/**
* Tints a drawable given by its resource ID in the given color.
*
* @param context the context
* @param drawableResId the resource ID of the drawable to tint
* @param color the color in which the drawable should be tinted
* @return the tinted Drawable
*/
public static Drawable getTintedDrawable(Context context, @DrawableRes int drawableResId, int color) {
Drawable drawable = ContextCompat.getDrawable(context, drawableResId);
drawable = DrawableCompat.wrap(drawable).mutate();
@@ -106,6 +159,12 @@ public class BitmapHelper {
return drawable;
}
/**
* Creates a Bitmap from the given Drawable. Uses {@link Bitmap.Config#ARGB_8888}.
*
* @param drawable the source Drawable
* @return the Bitmap for that Drawable
*/
public static Bitmap toBitmap(Drawable drawable) {
if (drawable instanceof BitmapDrawable) {
return ((BitmapDrawable) drawable).getBitmap();
@@ -171,6 +171,7 @@
android:layout_height="fill_parent"
android:scaleType="fitXY"
android:contentDescription="@string/content_description_flag_icon"
android:adjustViewBounds="true"
android:textColor="@color/white"/>
</RelativeLayout>
@@ -148,6 +148,7 @@
android:layout_height="fill_parent"
android:scaleType="fitXY"
android:contentDescription="@string/content_description_flag_icon"
android:adjustViewBounds="true"
android:textColor="@color/white"/>
</RelativeLayout>
@@ -27,6 +27,7 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -39,6 +40,7 @@ import com.sap.sailing.android.shared.data.http.HttpGetRequest;
import com.sap.sailing.android.shared.data.http.HttpJsonPostRequest;
import com.sap.sailing.android.shared.logging.ExLog;
import com.sap.sailing.android.shared.ui.activities.AbstractRegattaActivity;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.NetworkHelper;
import com.sap.sailing.android.shared.util.NetworkHelper.NetworkHelperError;
import com.sap.sailing.android.shared.util.NetworkHelper.NetworkHelperFailureListener;
@@ -52,7 +54,6 @@ import com.sap.sailing.android.tracking.app.upload.UploadResult;
import com.sap.sailing.android.tracking.app.upload.UploadTeamImageTask;
import com.sap.sailing.android.tracking.app.utils.AboutHelper;
import com.sap.sailing.android.tracking.app.utils.AppPreferences;
import com.sap.sailing.android.tracking.app.utils.BitmapHelper;
import com.sap.sailing.android.tracking.app.utils.CheckinManager;
import com.sap.sailing.android.tracking.app.utils.DatabaseHelper;
import com.sap.sailing.android.tracking.app.valueobjects.CheckinData;
@@ -204,24 +205,51 @@ public class RegattaActivity extends AbstractRegattaActivity
getRegattaFragment().setChangePhotoButtonHidden(true);
ImageView imageView = (ImageView) findViewById(R.id.userImage);
Bitmap storedImage = getStoredImage(getLeaderboardImageFileName(leaderboard.name));
final ImageView imageView = (ImageView) findViewById(R.id.userImage);
imageView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
imageView.getViewTreeObserver().removeOnPreDrawListener(this);
int measuredWidth = imageView.getMeasuredWidth();
int measuredHeight = imageView.getMeasuredHeight();
setTeamImage(imageView, measuredWidth, measuredHeight);
return true;
}
});
final ImageView flagImageView = (ImageView) findViewById(R.id.flag_image);
flagImageView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
flagImageView.getViewTreeObserver().removeOnPreDrawListener(this);
int measuredWidth = flagImageView.getMeasuredWidth();
int measuredHeight = flagImageView.getMeasuredHeight();
setFlagImage(flagImageView, measuredWidth, measuredHeight);
return true;
}
});
}
private void setTeamImage(ImageView imageView, int width, int height) {
String fileName = getLeaderboardImageFileName(leaderboard.name);
Bitmap storedImage = getStoredImage(fileName, width, height);
if (storedImage == null) {
askServerAboutTeamImageUrl(imageView);
} else {
imageView.setImageBitmap(storedImage);
userImageUpdated();
}
}
ImageView flagImageView = (ImageView) findViewById(R.id.flag_image);
Bitmap storedFlagImage = getStoredImage(getFlagImageFileName(competitor.countryCode.toLowerCase(Locale
.getDefault())));
private void setFlagImage(ImageView imageView, int width, int height) {
String flagFileName = getFlagImageFileName(competitor.countryCode.toLowerCase(Locale.getDefault()));
Bitmap storedFlagImage = getStoredImage(flagFileName, width, height);
if (storedFlagImage == null) {
String urlStr = String.format("%s/gwt/images/flags/%s.png", event.server,
competitor.countryCode.toLowerCase(Locale.getDefault()));
new DownloadFlagImageTask(flagImageView, competitor.countryCode).execute(urlStr);
new DownloadFlagImageTask(imageView, competitor.countryCode).execute(urlStr);
} else {
flagImageView.setImageBitmap(storedFlagImage);
imageView.setImageBitmap(storedFlagImage);
}
}
@@ -314,14 +342,13 @@ public class RegattaActivity extends AbstractRegattaActivity
*
* @return
*/
private Bitmap getStoredImage(String fileName) {
private Bitmap getStoredImage(String fileName, int width, int height) {
File pictureFile = getImageFile(fileName);
if (pictureFile == null || !pictureFile.exists()) {
return null;
}
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
return BitmapFactory.decodeFile(pictureFile.getAbsolutePath(), options);
Bitmap.Config preferredConfig = Bitmap.Config.ARGB_8888;
return BitmapHelper.decodeSampleBitmapFromFile(pictureFile.getAbsolutePath(), width, height, preferredConfig);
}
/**
@@ -594,7 +621,7 @@ public class RegattaActivity extends AbstractRegattaActivity
protected void onPostExecute(File result) {
if (result != null && result.exists()) {
bmImage.setImageBitmap(BitmapHelper.getBitmapFromFile(result, bmImage.getMeasuredWidth(), bmImage.getMeasuredHeight()));
bmImage.setImageBitmap(BitmapHelper.decodeSampleBitmapFromFile(result.getPath(), bmImage.getMeasuredWidth(), bmImage.getMeasuredHeight(), null));
userImageUpdated();
} else {
ExLog.e(RegattaActivity.this, TAG, "Failed to download leaderboard image at url " + downloadUrl);
@@ -1,46 +0,0 @@
package com.sap.sailing.android.tracking.app.utils;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import java.io.File;
public class BitmapHelper {
public static Bitmap getBitmapFromFile(File file, int requiredWidth, int requiredHeight){
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(file.getPath(), options);
// Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, requiredWidth, requiredHeight);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
return BitmapFactory.decodeFile(file.getPath(), options);
}
// Source: http://developer.android.com/training/displaying-bitmaps/load-bitmap.html
private static int calculateInSampleSize(
BitmapFactory.Options options, int reqWidth, int reqHeight) {
// Raw height and width of image
final int height = options.outHeight;
final int width = options.outWidth;
int inSampleSize = 1;
if (height > reqHeight || width > reqWidth) {
final int halfHeight = height / 2;
final int halfWidth = width / 2;
// Calculate the largest inSampleSize value that is a power of 2 and keeps both
// height and width larger than the requested height and width.
while ((halfHeight / inSampleSize) > reqHeight
&& (halfWidth / inSampleSize) > reqWidth) {
inSampleSize *= 2;
}
}
return inSampleSize;
}
}
@@ -9,11 +9,11 @@ import android.content.Context;
import com.google.android.gms.maps.model.BitmapDescriptor;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.Marker;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.domain.common.MarkType;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.domain.MapMarker;
import com.sap.sailing.racecommittee.app.ui.utils.BuoyHelper;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sse.common.Color;
public class MapMarkerImpl implements MapMarker {
@@ -38,6 +38,7 @@ import android.widget.Toast;
import com.sap.sailing.android.shared.logging.ExLog;
import com.sap.sailing.android.shared.util.AppUtils;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.CollectionUtils;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.base.CourseArea;
@@ -67,7 +68,6 @@ import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.RaceFlagViewerFra
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.RaceSummaryFragment;
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.TrackingListFragment;
import com.sap.sailing.racecommittee.app.ui.views.PanelButton;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.RaceHelper;
import com.sap.sse.common.TimePoint;
import com.sap.sse.common.impl.MillisecondsTimePoint;
@@ -22,10 +22,10 @@ import com.sap.sailing.android.shared.services.sending.MessageSendingService.Mes
import com.sap.sailing.android.shared.services.sending.MessageSendingService.MessageSendingServiceLogger;
import com.sap.sailing.android.shared.ui.activities.ResilientActivity;
import com.sap.sailing.android.shared.util.AuthCheckTask;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.PrefUtils;
import com.sap.sailing.racecommittee.app.AppPreferences;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
public abstract class SendingServiceAwareActivity extends ResilientActivity implements AuthCheckTask.AuthCheckTaskListener {
@@ -14,11 +14,11 @@ import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.common.racelog.Flags;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.ui.utils.FlagsResources;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
public class AbortFlagsAdapter extends BaseFlagsAdapter {
@@ -14,9 +14,9 @@ import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sse.common.util.NaturalComparator;
public class CourseNameAdapter extends BaseAdapter implements View.OnClickListener {
@@ -11,11 +11,11 @@ import android.widget.TextView;
import com.h6ah4i.android.widget.advrecyclerview.draggable.ItemDraggableRange;
import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager;
import com.h6ah4i.android.widget.advrecyclerview.swipeable.RecyclerViewSwipeManager;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.common.MaxPointsReason;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.domain.impl.CompetitorResultWithIdImpl;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
import java.util.ArrayList;
@@ -17,9 +17,9 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
public class PhotoListAdapter extends RecyclerView.Adapter<PhotoListAdapter.ViewHolder> {
@@ -53,7 +53,7 @@ public class PhotoListAdapter extends RecyclerView.Adapter<PhotoListAdapter.View
holder.dateTime.setText(mDateFormat.format(file.lastModified()));
}
if (holder.imageView != null) {
Bitmap bitmap = BitmapHelper.decodeSampleBitmapFromFile(fileName, (int) mHeight, (int) mHeight);
Bitmap bitmap = BitmapHelper.decodeSampleBitmapFromFile(fileName, (int) mHeight, (int) mHeight, null);
holder.imageView.setImageBitmap(bitmap);
}
if (holder.deleteView != null) {
@@ -12,9 +12,9 @@ import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
public class CheckedItemAdapter extends ArrayAdapter<CheckedItem> {
@@ -17,6 +17,7 @@ import com.h6ah4i.android.widget.advrecyclerview.draggable.ItemDraggableRange;
import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager;
import com.h6ah4i.android.widget.advrecyclerview.swipeable.RecyclerViewSwipeManager;
import com.sap.sailing.android.shared.logging.ExLog;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.common.PassingInstruction;
import com.sap.sailing.racecommittee.app.R;
@@ -24,7 +25,6 @@ import com.sap.sailing.racecommittee.app.domain.impl.CourseListDataElementWithId
import com.sap.sailing.racecommittee.app.ui.adapters.BaseDraggableSwipeAdapter;
import com.sap.sailing.racecommittee.app.ui.adapters.BaseDraggableSwipeViewHolder;
import com.sap.sailing.racecommittee.app.ui.utils.MarkImageHelper;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
public class CourseElementAdapter extends BaseDraggableSwipeAdapter<RecyclerView.ViewHolder> {
@@ -19,6 +19,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.sap.sailing.android.shared.logging.ExLog;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.BroadcastManager;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier;
@@ -34,7 +35,6 @@ import com.sap.sailing.racecommittee.app.data.DataManager;
import com.sap.sailing.racecommittee.app.domain.ManagedRace;
import com.sap.sailing.racecommittee.app.ui.adapters.racelist.RaceFilter.FilterSubscriber;
import com.sap.sailing.racecommittee.app.ui.utils.FlagsResources;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.RaceHelper;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
import com.sap.sailing.racecommittee.app.utils.TimeUtils;
@@ -10,6 +10,7 @@ import android.view.View;
import android.widget.ImageView;
import com.sap.sailing.android.shared.logging.ExLog;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.BroadcastManager;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.abstractlog.race.state.RaceState;
@@ -19,7 +20,6 @@ import com.sap.sailing.racecommittee.app.AppPreferences;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.data.OnlineDataManager;
import com.sap.sailing.racecommittee.app.domain.ManagedRace;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
import com.sap.sailing.racecommittee.app.utils.TickListener;
import com.sap.sailing.racecommittee.app.utils.TickSingleton;
@@ -43,6 +43,7 @@ import android.widget.TextView;
import com.sap.sailing.android.shared.logging.ExLog;
import com.sap.sailing.android.shared.util.AppUtils;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.BroadcastManager;
import com.sap.sailing.domain.abstractlog.race.state.ReadonlyRaceState;
import com.sap.sailing.domain.abstractlog.race.state.impl.BaseRaceStateChangedListener;
@@ -62,7 +63,6 @@ import com.sap.sailing.racecommittee.app.ui.adapters.racelist.RaceListDataType;
import com.sap.sailing.racecommittee.app.ui.adapters.racelist.RaceListDataTypeHeader;
import com.sap.sailing.racecommittee.app.ui.adapters.racelist.RaceListDataTypeRace;
import com.sap.sailing.racecommittee.app.ui.fragments.dialogs.ProtestTimeDialogFragment;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.RaceHelper;
import com.sap.sailing.racecommittee.app.utils.StringHelper;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
@@ -22,6 +22,7 @@ import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TimePicker;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.BroadcastManager;
import com.sap.sailing.android.shared.util.ScreenHelper;
import com.sap.sailing.android.shared.util.ViewHelper;
@@ -33,7 +34,6 @@ import com.sap.sailing.racecommittee.app.data.DataManager;
import com.sap.sailing.racecommittee.app.data.ReadonlyDataManager;
import com.sap.sailing.racecommittee.app.domain.ManagedRace;
import com.sap.sailing.racecommittee.app.domain.impl.RaceGroupSeriesFleet;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
import com.sap.sailing.racecommittee.app.utils.TimeUtils;
import com.sap.sse.common.TimePoint;
@@ -255,30 +255,32 @@ public class TimePanelFragment extends BasePanelFragment {
@Override
public void onReceive(Context context, Intent intent) {
View view = new View(context);
String action = intent.getAction();
if (AppConstants.INTENT_ACTION_CLEAR_TOGGLE.equals(action)) {
uncheckMarker(view);
}
if (AppConstants.INTENT_ACTION_TOGGLE.equals(action)) {
if (intent.getExtras() != null) {
String data = intent.getExtras().getString(AppConstants.INTENT_ACTION_EXTRA);
if (AppConstants.INTENT_ACTION_TOGGLE_TIME.equals(data)) {
uncheckMarker(mRaceHeader);
} else {
uncheckMarker(view);
if (isAdded()) {
View view = new View(context);
String action = intent.getAction();
if (AppConstants.INTENT_ACTION_CLEAR_TOGGLE.equals(action)) {
uncheckMarker(view);
}
if (AppConstants.INTENT_ACTION_TOGGLE.equals(action)) {
if (intent.getExtras() != null) {
String data = intent.getExtras().getString(AppConstants.INTENT_ACTION_EXTRA);
if (AppConstants.INTENT_ACTION_TOGGLE_TIME.equals(data)) {
uncheckMarker(mRaceHeader);
} else {
uncheckMarker(view);
}
}
}
}
view = getActivity().findViewById(R.id.race_panel_time);
if (getActivity().findViewById(R.id.race_edit) == null && view != null) {
if (AppConstants.INTENT_ACTION_TIME_HIDE.equals(action)) {
view.setVisibility(View.GONE);
}
view = getActivity().findViewById(R.id.race_panel_time);
if (getActivity().findViewById(R.id.race_edit) == null && view != null) {
if (AppConstants.INTENT_ACTION_TIME_HIDE.equals(action)) {
view.setVisibility(View.GONE);
}
if (AppConstants.INTENT_ACTION_TIME_SHOW.equals(action)) {
view.setVisibility(View.VISIBLE);
if (AppConstants.INTENT_ACTION_TIME_SHOW.equals(action)) {
view.setVisibility(View.VISIBLE);
}
}
}
}
@@ -25,6 +25,7 @@ import android.widget.TextView;
import android.widget.TimePicker;
import com.sap.sailing.android.shared.util.AppUtils;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier;
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.StartTimeFinderResult;
@@ -44,7 +45,6 @@ import com.sap.sailing.racecommittee.app.domain.ManagedRace;
import com.sap.sailing.racecommittee.app.domain.impl.RaceGroupSeriesFleet;
import com.sap.sailing.racecommittee.app.ui.adapters.DependentRaceSpinnerAdapter;
import com.sap.sailing.racecommittee.app.ui.fragments.RaceFragment;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
import com.sap.sailing.racecommittee.app.utils.TimeUtils;
import com.sap.sse.common.Duration;
@@ -10,12 +10,12 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.RacingProcedure;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.ui.adapters.PanelsAdapter;
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.BaseRaceInfoRaceFragment;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
import java.lang.ref.WeakReference;
@@ -1,5 +1,8 @@
package com.sap.sailing.racecommittee.app.ui.layouts;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.racecommittee.app.R;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
@@ -8,9 +11,6 @@ import android.util.AttributeSet;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
public class HeaderLayout extends RelativeLayout {
private TextView mHeaderText;
@@ -8,9 +8,9 @@ import android.graphics.drawable.LayerDrawable;
import android.support.v4.content.ContextCompat;
import android.text.TextUtils;
import com.sap.sailing.android.shared.util.BitmapHelper;
import com.sap.sailing.domain.common.MarkType;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
public class BuoyHelper {