use of com.abewy.android.apps.klyph.core.fql.Tag in project Klyph by jonathangerbaud.
the class TagAdapter method mergeViewWithData.
@Override
protected void mergeViewWithData(View view, GraphObject data) {
super.mergeViewWithData(view, data);
PicturePrimaryTextHolder holder = (PicturePrimaryTextHolder) getHolder(view);
// holder.getPicture().setImageDrawable(null);
Tag tag = (Tag) data;
holder.getPrimaryText().setText(tag.getName());
String url = FacebookUtil.getImageURLForId(tag.getId());
loadImage(holder.getPicture(), url, AttrUtil.getResourceId(getContext(view), R.attr.squarePlaceHolderIcon), data);
}
use of com.abewy.android.apps.klyph.core.fql.Tag in project Klyph by jonathangerbaud.
the class TextViewUtil method setElementClickable.
/**
* Make a substring clickable and associated with a list of tags
* If callback is null, TextViewUtil.onTagClick is called
*/
public static void setElementClickable(Context context, TextView textView, String elementName, List<Tag> tags, TagCallback callback, boolean clickable) {
String text = textView.getText().toString();
int offset = text.indexOf(elementName);
if (offset == -1) {
Log.e("TextViewUtil", "setElementClickable : element name not in text TextView : [" + elementName + "] in " + text);
} else {
Tag tag = tags.get(0);
tag.setOffset(offset);
tag.setLength(elementName.length());
Map<String, List<Tag>> map = new HashMap<String, List<Tag>>();
map.put(String.valueOf(offset), tags);
setTextClickableForTags(context, textView, map, callback, clickable);
}
}
use of com.abewy.android.apps.klyph.core.fql.Tag in project Klyph by jonathangerbaud.
the class TextViewUtil method setElementClickable.
/**
* Make a substring clickable and associated a tag with values elementName, elementId and elementType
* If callback is null, TextViewUtil.onTagClick is called
*/
public static void setElementClickable(Context context, TextView textView, String elementName, String elementId, String elementType, TagCallback callback, boolean clickable) {
String text = textView.getText().toString();
int offset = text.indexOf(elementName);
if (offset == -1) {
Log.e("TextViewUtil", "setElementClickable : element name not in text TextView : [" + elementName + "] in " + text);
} else {
Tag tag = new Tag();
tag.setId(elementId);
tag.setName(elementName);
tag.setType(elementType);
tag.setOffset(offset);
tag.setLength(elementName.length());
Map<String, List<Tag>> map = new HashMap<String, List<Tag>>();
List<Tag> tags = new ArrayList<Tag>();
tags.add(tag);
map.put(String.valueOf(offset), tags);
setTextClickableForTags(context, textView, map, callback, clickable);
}
}
use of com.abewy.android.apps.klyph.core.fql.Tag in project Klyph by jonathangerbaud.
the class TextViewUtil method onTagClick.
/**
* Handle a tag click generated by one of the method of this class.
* Opens the activity/dialog assotiated with the type of tag :
* <ul>
* <li>User : UserActivity</li>
* <li>Page : PageActivity</li>
* <li>Event : EventActivity</li>
* <li>Album : AlbumActivity</li>
* <li>Several tags : UserListDialog</li>
*/
public static void onTagClick(Context context, List<Tag> tags) {
if (tags.size() == 1) {
Tag tag = tags.get(0);
String type = tag.getType();
Intent intent = null;
if (type.equals(GraphType.FQL_USER.name()) || type.equals("user")) {
intent = new Intent(context, UserActivity.class);
intent.putExtra(KlyphBundleExtras.USER_ID, tag.getId());
intent.putExtra(KlyphBundleExtras.USER_NAME, tag.getName());
} else if (type.equals(GraphType.FQL_PAGE.name()) || type.equals("page")) {
intent = new Intent(context, PageActivity.class);
intent.putExtra(KlyphBundleExtras.PAGE_ID, tag.getId());
intent.putExtra(KlyphBundleExtras.PAGE_NAME, tag.getName());
} else if (type.equals(GraphType.FQL_EVENT.name()) || type.equals("event")) {
intent = new Intent(context, EventActivity.class);
intent.putExtra(KlyphBundleExtras.EVENT_ID, tag.getId());
intent.putExtra(KlyphBundleExtras.EVENT_NAME, tag.getName());
} else if (type.equals(GraphType.FQL_ALBUM.name())) {
intent = new Intent(context, AlbumActivity.class);
intent.putExtra(KlyphBundleExtras.ALBUM_ID, tag.getId());
intent.putExtra(KlyphBundleExtras.ALBUM_NAME, tag.getName());
}
if (intent != null) {
context.startActivity(intent);
} else {
Log.e("TextViewUtil", "Click on an unlisted type : " + type);
}
} else {
UserListDialog uld = new UserListDialog(false);
uld.loadList(tags);
uld.show(((FragmentActivity) context).getFragmentManager(), "userlist");
}
}
Aggregations