forked from upstream-mirrors/OpenTracks
MarkerDetailFragment now shows the blue pin as default image.
This commit is contained in:
@@ -45,6 +45,7 @@ import de.dennisguse.opentracks.fragments.DeleteMarkerDialogFragment.DeleteMarke
|
|||||||
import de.dennisguse.opentracks.util.ActivityUtils;
|
import de.dennisguse.opentracks.util.ActivityUtils;
|
||||||
import de.dennisguse.opentracks.util.IntentUtils;
|
import de.dennisguse.opentracks.util.IntentUtils;
|
||||||
import de.dennisguse.opentracks.util.ListItemUtils;
|
import de.dennisguse.opentracks.util.ListItemUtils;
|
||||||
|
import de.dennisguse.opentracks.util.MarkerUtils;
|
||||||
import de.dennisguse.opentracks.util.PreferencesUtils;
|
import de.dennisguse.opentracks.util.PreferencesUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -159,7 +160,7 @@ public class MarkerListActivity extends AbstractActivity implements DeleteMarker
|
|||||||
int latitudeIndex = cursor.getColumnIndex(WaypointsColumns.LATITUDE);
|
int latitudeIndex = cursor.getColumnIndex(WaypointsColumns.LATITUDE);
|
||||||
int longitudeIndex = cursor.getColumnIndex(WaypointsColumns.LONGITUDE);
|
int longitudeIndex = cursor.getColumnIndex(WaypointsColumns.LONGITUDE);
|
||||||
|
|
||||||
int iconId = R.drawable.ic_marker_blue_pushpin;
|
int iconId = MarkerUtils.ICON_ID;
|
||||||
String name = cursor.getString(nameIndex);
|
String name = cursor.getString(nameIndex);
|
||||||
long time = cursor.getLong(timeIndex);
|
long time = cursor.getLong(timeIndex);
|
||||||
String category = cursor.getString(categoryIndex);
|
String category = cursor.getString(categoryIndex);
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ import de.dennisguse.opentracks.stats.TripStatistics;
|
|||||||
import de.dennisguse.opentracks.util.ActivityUtils;
|
import de.dennisguse.opentracks.util.ActivityUtils;
|
||||||
import de.dennisguse.opentracks.util.IntentUtils;
|
import de.dennisguse.opentracks.util.IntentUtils;
|
||||||
import de.dennisguse.opentracks.util.ListItemUtils;
|
import de.dennisguse.opentracks.util.ListItemUtils;
|
||||||
|
import de.dennisguse.opentracks.util.MarkerUtils;
|
||||||
import de.dennisguse.opentracks.util.PreferencesUtils;
|
import de.dennisguse.opentracks.util.PreferencesUtils;
|
||||||
import de.dennisguse.opentracks.util.StringUtils;
|
import de.dennisguse.opentracks.util.StringUtils;
|
||||||
import de.dennisguse.opentracks.util.TrackIconUtils;
|
import de.dennisguse.opentracks.util.TrackIconUtils;
|
||||||
@@ -394,7 +395,7 @@ public class SearchListActivity extends AbstractListActivity implements DeleteMa
|
|||||||
|
|
||||||
resultMap.put(IS_RECORDING_FIELD, false);
|
resultMap.put(IS_RECORDING_FIELD, false);
|
||||||
resultMap.put(IS_PAUSED_FIELD, true);
|
resultMap.put(IS_PAUSED_FIELD, true);
|
||||||
resultMap.put(ICON_ID_FIELD, R.drawable.ic_marker_blue_pushpin);
|
resultMap.put(ICON_ID_FIELD, MarkerUtils.ICON_ID);
|
||||||
resultMap.put(ICON_CONTENT_DESCRIPTION_ID_FIELD, R.string.image_marker);
|
resultMap.put(ICON_CONTENT_DESCRIPTION_ID_FIELD, R.string.image_marker);
|
||||||
resultMap.put(NAME_FIELD, waypoint.getName());
|
resultMap.put(NAME_FIELD, waypoint.getName());
|
||||||
// Display the marker's track name in the total time field
|
// Display the marker's track name in the total time field
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ import de.dennisguse.opentracks.R;
|
|||||||
import de.dennisguse.opentracks.content.Waypoint;
|
import de.dennisguse.opentracks.content.Waypoint;
|
||||||
import de.dennisguse.opentracks.stats.ExtremityMonitor;
|
import de.dennisguse.opentracks.stats.ExtremityMonitor;
|
||||||
import de.dennisguse.opentracks.util.IntentUtils;
|
import de.dennisguse.opentracks.util.IntentUtils;
|
||||||
|
import de.dennisguse.opentracks.util.MarkerUtils;
|
||||||
import de.dennisguse.opentracks.util.StringUtils;
|
import de.dennisguse.opentracks.util.StringUtils;
|
||||||
import de.dennisguse.opentracks.util.UnitConversions;
|
import de.dennisguse.opentracks.util.UnitConversions;
|
||||||
|
|
||||||
@@ -263,7 +264,7 @@ public class ChartView extends View {
|
|||||||
pointer = context.getResources().getDrawable(R.drawable.ic_logo_color_24dp);
|
pointer = context.getResources().getDrawable(R.drawable.ic_logo_color_24dp);
|
||||||
pointer.setBounds(0, 0, pointer.getIntrinsicWidth(), pointer.getIntrinsicHeight());
|
pointer.setBounds(0, 0, pointer.getIntrinsicWidth(), pointer.getIntrinsicHeight());
|
||||||
|
|
||||||
Drawable waypointMarker = getResources().getDrawable(R.drawable.ic_marker_blue_pushpin);
|
Drawable waypointMarker = MarkerUtils.getDefaultPhoto(context);
|
||||||
markerWidth = waypointMarker.getIntrinsicWidth();
|
markerWidth = waypointMarker.getIntrinsicWidth();
|
||||||
markerHeight = waypointMarker.getIntrinsicHeight();
|
markerHeight = waypointMarker.getIntrinsicHeight();
|
||||||
waypointMarker.setBounds(0, 0, markerWidth, markerHeight);
|
waypointMarker.setBounds(0, 0, markerWidth, markerHeight);
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ import de.dennisguse.opentracks.content.ContentProviderUtils;
|
|||||||
import de.dennisguse.opentracks.content.Waypoint;
|
import de.dennisguse.opentracks.content.Waypoint;
|
||||||
import de.dennisguse.opentracks.util.IntentUtils;
|
import de.dennisguse.opentracks.util.IntentUtils;
|
||||||
import de.dennisguse.opentracks.util.ListItemUtils;
|
import de.dennisguse.opentracks.util.ListItemUtils;
|
||||||
|
import de.dennisguse.opentracks.util.MarkerUtils;
|
||||||
import de.dennisguse.opentracks.util.StringUtils;
|
import de.dennisguse.opentracks.util.StringUtils;
|
||||||
import de.dennisguse.opentracks.util.UnitConversions;
|
import de.dennisguse.opentracks.util.UnitConversions;
|
||||||
|
|
||||||
@@ -59,7 +60,7 @@ public class MarkerDetailFragment extends Fragment {
|
|||||||
private static final long HIDE_TEXT_DELAY = 4 * UnitConversions.ONE_SECOND;
|
private static final long HIDE_TEXT_DELAY = 4 * UnitConversions.ONE_SECOND;
|
||||||
private ContentProviderUtils contentProviderUtils;
|
private ContentProviderUtils contentProviderUtils;
|
||||||
private Handler handler;
|
private Handler handler;
|
||||||
private ImageView photo;
|
private ImageView photoView;
|
||||||
private ImageView textGradient;
|
private ImageView textGradient;
|
||||||
private LinearLayout waypointInfo;
|
private LinearLayout waypointInfo;
|
||||||
private Waypoint waypoint;
|
private Waypoint waypoint;
|
||||||
@@ -116,11 +117,11 @@ public class MarkerDetailFragment extends Fragment {
|
|||||||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
View view = inflater.inflate(R.layout.marker_detail_fragment, container, false);
|
View view = inflater.inflate(R.layout.marker_detail_fragment, container, false);
|
||||||
|
|
||||||
photo = view.findViewById(R.id.marker_detail_waypoint_photo);
|
photoView = view.findViewById(R.id.marker_detail_waypoint_photo);
|
||||||
textGradient = view.findViewById(R.id.marker_detail_waypoint_text_gradient);
|
textGradient = view.findViewById(R.id.marker_detail_waypoint_text_gradient);
|
||||||
waypointInfo = view.findViewById(R.id.marker_detail_waypoint_info);
|
waypointInfo = view.findViewById(R.id.marker_detail_waypoint_info);
|
||||||
|
|
||||||
photo.setOnClickListener(new View.OnClickListener() {
|
photoView.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
handler.removeCallbacks(hideText);
|
handler.removeCallbacks(hideText);
|
||||||
@@ -153,11 +154,8 @@ public class MarkerDetailFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public void setMenuVisibility(boolean menuVisible) {
|
public void setMenuVisibility(boolean menuVisible) {
|
||||||
super.setMenuVisibility(menuVisible);
|
super.setMenuVisibility(menuVisible);
|
||||||
/*
|
// View pager caches the neighboring fragments in the resumed state.
|
||||||
* View pager caches the neighboring fragments in the resumed state. If
|
// If becoming visible from the resumed state, update the UI to display the text above the image.
|
||||||
* becoming visible from the resumed state, update the UI to display the
|
|
||||||
* text above the image.
|
|
||||||
*/
|
|
||||||
if (isResumed()) {
|
if (isResumed()) {
|
||||||
if (menuVisible) {
|
if (menuVisible) {
|
||||||
updateUi();
|
updateUi();
|
||||||
@@ -211,19 +209,14 @@ public class MarkerDetailFragment extends Fragment {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Updates the UI.
|
|
||||||
*/
|
|
||||||
private void updateUi() {
|
private void updateUi() {
|
||||||
boolean hasPhoto = waypoint.hasPhoto();
|
boolean hasPhoto = waypoint.hasPhoto();
|
||||||
photo.setVisibility(hasPhoto ? View.VISIBLE : View.GONE);
|
|
||||||
textGradient.setVisibility(hasPhoto ? View.VISIBLE : View.GONE);
|
|
||||||
waypointInfo.setVisibility(View.VISIBLE);
|
|
||||||
|
|
||||||
if (hasPhoto) {
|
if (hasPhoto) {
|
||||||
handler.removeCallbacks(hideText);
|
handler.removeCallbacks(hideText);
|
||||||
photo.setImageURI(waypoint.getPhotoURI());
|
photoView.setImageURI(waypoint.getPhotoURI());
|
||||||
handler.postDelayed(hideText, HIDE_TEXT_DELAY);
|
handler.postDelayed(hideText, HIDE_TEXT_DELAY);
|
||||||
|
} else {
|
||||||
|
photoView.setImageResource(MarkerUtils.ICON_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
setName(R.id.marker_detail_waypoint_name, hasPhoto);
|
setName(R.id.marker_detail_waypoint_name, hasPhoto);
|
||||||
@@ -235,7 +228,6 @@ public class MarkerDetailFragment extends Fragment {
|
|||||||
ListItemUtils.setTextView(getActivity(), description, waypoint.getDescription(), hasPhoto);
|
ListItemUtils.setTextView(getActivity(), description, waypoint.getDescription(), hasPhoto);
|
||||||
|
|
||||||
setLocation(R.id.marker_detail_waypoint_location, hasPhoto);
|
setLocation(R.id.marker_detail_waypoint_location, hasPhoto);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setName(int resId, boolean addShadow) {
|
private void setName(int resId, boolean addShadow) {
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package de.dennisguse.opentracks.util;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import de.dennisguse.opentracks.R;
|
||||||
|
|
||||||
|
public class MarkerUtils {
|
||||||
|
|
||||||
|
public static final int ICON_ID = R.drawable.ic_marker_blue_pushpin;
|
||||||
|
|
||||||
|
private MarkerUtils() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Drawable getDefaultPhoto(@NonNull Context context) {
|
||||||
|
return context.getResources().getDrawable(ICON_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user