use of net.osmand.plus.track.cards.TrackColoringCard in project Osmand by osmandapp.
the class TrackAppearanceFragment method onCardPressed.
@Override
public void onCardPressed(@NonNull BaseCard card) {
MapActivity mapActivity = getMapActivity();
if (mapActivity != null) {
if (card instanceof SplitIntervalCard) {
SplitIntervalBottomSheet.showInstance(mapActivity.getSupportFragmentManager(), trackDrawInfo, this);
} else if (card instanceof TrackColoringCard) {
TrackColoringCard trackColoringCard = ((TrackColoringCard) card);
ColoringType currentColoringType = trackColoringCard.getSelectedColoringType();
String routeInfoAttribute = trackColoringCard.getRouteInfoAttribute();
trackDrawInfo.setColoringType(currentColoringType);
trackDrawInfo.setRouteInfoAttribute(routeInfoAttribute);
refreshMap();
if (coloringTypeCard != null) {
coloringTypeCard.setColoringType(currentColoringType);
}
if (colorsCard != null) {
AndroidUiHelper.updateVisibility(colorsCard.getView(), currentColoringType.isTrackSolid());
}
updatePromoCardVisibility();
} else if (card instanceof ColorsCard) {
int color = ((ColorsCard) card).getSelectedColor();
trackDrawInfo.setColor(color);
updateColorItems();
} else if (card instanceof TrackWidthCard) {
updateAppearanceIcon();
} else if (card instanceof DirectionArrowsCard) {
updateAppearanceIcon();
}
}
}
use of net.osmand.plus.track.cards.TrackColoringCard in project Osmand by osmandapp.
the class TrackAppearanceFragment method setupCards.
private void setupCards() {
MapActivity mapActivity = getMapActivity();
if (mapActivity != null) {
ViewGroup container = getCardsContainer();
container.removeAllViews();
cards.clear();
if (!selectedGpxFile.isShowCurrentTrack() && !Algorithms.isEmpty(getDisplaySegmentGroups())) {
splitIntervalCard = new SplitIntervalCard(mapActivity, trackDrawInfo);
addCard(container, splitIntervalCard);
}
addCard(container, new DirectionArrowsCard(mapActivity, trackDrawInfo));
addCard(container, new ShowStartFinishCard(mapActivity, trackDrawInfo));
trackColoringCard = new TrackColoringCard(mapActivity, selectedGpxFile, trackDrawInfo);
addCard(container, trackColoringCard);
setupColorsCard(container);
GPXTrackAnalysis analysis = selectedGpxFile.getTrackAnalysis(app);
ColoringType coloringType = trackDrawInfo.getColoringType();
coloringTypeCard = new ColoringTypeCard(mapActivity, analysis, coloringType);
addCard(container, coloringTypeCard);
promoCard = new PromoBannerCard(mapActivity, true);
addCard(container, promoCard);
trackWidthCard = new TrackWidthCard(mapActivity, trackDrawInfo, new OnNeedScrollListener() {
@Override
public void onVerticalScrollNeeded(int y) {
View view = trackWidthCard.getView();
if (view != null) {
int resultYPosition = view.getTop() + y;
int dialogHeight = getInnerScrollableHeight();
ScrollView scrollView = (ScrollView) getBottomScrollView();
if (resultYPosition > (scrollView.getScrollY() + dialogHeight)) {
scrollView.smoothScrollTo(0, resultYPosition - dialogHeight);
}
}
}
});
addCard(container, trackWidthCard);
addCard(container, new ActionsCard(mapActivity));
updatePromoCardVisibility();
}
}
Aggregations