use of com.mrane.data.Marker in project IITB-App by wncc.
the class MapFragment method setSubHeading.
private void setSubHeading(Marker marker) {
SpannableStringBuilder result = new SpannableStringBuilder("");
result.append(marker.getName());
if (marker instanceof Room) {
Room room = (Room) marker;
String tag = room.tag;
if (!"Inside".equals(tag)) {
tag += ",";
} else {
tag = "in";
}
Marker parent = data.get(room.parentKey);
final String parentKey = parent.getName();
String parentName = parent.getName();
if (!parent.getShortName().equals("0"))
parentName = parent.getShortName();
result.append(" - " + tag + " ");
int start = result.length();
result.append(parentName);
int end = result.length();
result.append(" ");
ClickableSpan parentSpan = new ClickableSpan() {
@Override
public void onClick(View widget) {
editText.setText(parentKey);
dismissCard();
displayMap();
}
@Override
public void updateDrawState(TextPaint p) {
p.setColor(Color.rgb(19, 140, 190));
p.setUnderlineText(true);
}
};
result.setSpan(parentSpan, start, end, SpannableStringBuilder.SPAN_INCLUSIVE_INCLUSIVE);
ClickableSpan restSpan1 = new ClickableSpan() {
private TextPaint ds;
@Override
public void onClick(View widget) {
updateDrawState(ds);
widget.invalidate();
// newCardTouchListener.toggleExpansion();
}
@Override
public void updateDrawState(TextPaint ds) {
ds.bgColor = Color.TRANSPARENT;
ds.setUnderlineText(false);
this.ds = ds;
}
};
ClickableSpan restSpan2 = new ClickableSpan() {
private TextPaint ds;
@Override
public void onClick(View widget) {
updateDrawState(ds);
widget.invalidate();
// newCardTouchListener.toggleExpansion();
}
@Override
public void updateDrawState(TextPaint ds) {
ds.bgColor = Color.TRANSPARENT;
ds.setUnderlineText(false);
this.ds = ds;
}
};
result.setSpan(restSpan1, 0, start, SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
result.setSpan(restSpan2, end, end + 1, SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
placeSubHeadTextView.setMovementMethod(LinkMovementMethod.getInstance());
// placeSubHeadTextView.setHighlightColor(Color.TRANSPARENT);
placeSubHeadTextView.setOnClickListener(null);
} else {
placeSubHeadTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// newCardTouchListener.toggleExpansion();
}
});
}
placeSubHeadTextView.setText(result);
}
use of com.mrane.data.Marker in project IITB-App by wncc.
the class MapFragment method reCenterMarker.
private void reCenterMarker() {
Marker marker = campusMapView.getResultMarker();
reCenterMarker(marker);
}
use of com.mrane.data.Marker in project IITB-App by wncc.
the class CampusMapView method onDraw.
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// setup.
if (!isImageReady()) {
return;
}
for (Marker marker : markerList) {
if (isInView(marker.getPoint())) {
if (isShowPinScale(marker) && !(isResultMarker(marker) || addedMarkerList.contains(marker)) && shouldShowUp(marker)) {
drawPionterAndText(canvas, marker);
}
}
}
for (Marker marker : addedMarkerList) {
if (isInView(marker.getPoint()) && !isResultMarker(marker)) {
drawMarkerBitmap(canvas, marker);
drawMarkerText(canvas, marker);
}
}
Marker marker = getResultMarker();
if (marker != null) {
if (isInView(marker.getPoint())) {
drawMarkerBitmap(canvas, marker);
drawMarkerText(canvas, marker);
}
}
}
use of com.mrane.data.Marker in project IITB-App by wncc.
the class CampusMapView method getNearestMarker.
private Marker getNearestMarker(PointF touchPoint) {
Marker resultMarker = null;
float minDist = 100000000f;
for (Marker marker : markerList) {
PointF point = marker.getPoint();
float dist = (float) calculateDistance(point, touchPoint);
if (dist < minDist && isMarkerVisible(marker)) {
minDist = dist;
resultMarker = marker;
}
}
return resultMarker;
}
use of com.mrane.data.Marker in project IITB-App by wncc.
the class FuzzySearchAdapter method filter.
public void filter(String charText) {
turnOnResidences = false;
charText = charText.toLowerCase(Locale.getDefault());
searchedText = charText;
resultlist.clear();
map.clear();
if (charText.length() == 0) {
if (settingsManager.showResidences()) {
resultlist.addAll(inputlist);
} else {
for (Marker m : inputlist) {
if (m.getGroupIndex() != Marker.RESIDENCES) {
resultlist.add(m);
}
}
}
} else if (charText.length() > 10) {
for (Marker m : inputlist) {
if (m.getName().toLowerCase(Locale.getDefault()).contains(charText)) {
if (settingsManager.showResidences()) {
resultlist.add(m);
} else {
if (m.getGroupIndex() != Marker.RESIDENCES) {
resultlist.add(m);
} else {
turnOnResidences = true;
}
}
}
}
} else {
for (Marker m : inputlist) {
int score = checkModifyMarker(m, charText);
if (score != 0) {
if (settingsManager.showResidences()) {
map.add(new ScoredMarker(score, m));
} else {
if (m.getGroupIndex() != Marker.RESIDENCES) {
map.add(new ScoredMarker(score, m));
} else {
turnOnResidences = true;
}
}
}
}
resultlist = sortByScore(map);
}
if (resultlist != null && resultlist.size() > 16) {
resultlist = resultlist.subList(0, 15);
}
notifyDataSetChanged();
}
Aggregations