mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-09 13:50:57 +00:00
Merge branch 'master' into ubilabs--rcapp--develop
This commit is contained in:
commit
a900b37632
36 files changed
+1157
-156
No files matched your search
+61
-2
@@ -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>
|
||||
|
||||
|
||||
+40
-13
@@ -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);
|
||||
|
||||
-46
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -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 {
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+1
-1
@@ -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 {
|
||||
|
||||
+1
-1
@@ -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 {
|
||||
|
||||
|
||||
+1
-1
@@ -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 {
|
||||
|
||||
Executable → Regular
+1
-1
@@ -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;
|
||||
|
||||
+2
-2
@@ -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) {
|
||||
|
||||
+1
-1
@@ -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> {
|
||||
|
||||
+1
-1
@@ -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> {
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+22
-20
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
+3
-3
@@ -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;
|
||||
|
||||
+1
-1
@@ -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 {
|
||||
|
||||
|
||||
Reference in new issue
Block a user