use of com.quran.labs.androidquran.dao.Tag in project quran_android by quran.
the class TagsViewGroup method setTags.
public void setTags(List<Tag> tags) {
removeAllViews();
mTags = tags;
for (int i = 0, tagsSize = tags.size(); i < tagsSize; i++) {
Tag tag = tags.get(i);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mTagWidth, ViewGroup.LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.CENTER;
setLeftRightMargin(params, i, Math.min(tagsSize, MAX_TAGS) - 1);
TextView tv = new TextView(mContext);
tv.setText(tag.getName());
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTagsTextSize);
tv.setBackgroundColor(mDefaultTagBackgroundColor);
tv.setGravity(Gravity.CENTER);
tv.setLines(1);
tv.setEllipsize(TextUtils.TruncateAt.END);
addView(tv, params);
}
requestLayout();
}
use of com.quran.labs.androidquran.dao.Tag in project quran_android by quran.
the class BookmarksDBAdapter method getTags.
@NonNull
private List<Tag> getTags(int sortOrder) {
String orderBy;
switch(sortOrder) {
case SORT_DATE_ADDED:
orderBy = TagsTable.ADDED_DATE + " DESC";
break;
case SORT_ALPHABETICAL:
default:
orderBy = TagsTable.NAME + " ASC";
break;
}
List<Tag> tags = new ArrayList<>();
Cursor cursor = null;
try {
cursor = mDb.query(TagsTable.TABLE_NAME, null, null, null, null, null, orderBy);
if (cursor != null) {
while (cursor.moveToNext()) {
long id = cursor.getLong(0);
String name = cursor.getString(1);
Tag tag = new Tag(id, name);
tags.add(tag);
}
}
} finally {
DatabaseUtils.closeCursor(cursor);
}
return tags;
}
use of com.quran.labs.androidquran.dao.Tag in project quran_android by quran.
the class AddTagDialog method onCreateDialog.
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Bundle args = getArguments();
final long id;
final String name;
if (args != null) {
id = args.getLong(EXTRA_ID, -1);
name = args.getString(EXTRA_NAME);
} else {
id = -1;
name = null;
}
LayoutInflater inflater = getActivity().getLayoutInflater();
@SuppressLint("InflateParams") View layout = inflater.inflate(R.layout.tag_dialog, null);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(getString(R.string.tag_dlg_title));
final EditText nameText = (EditText) layout.findViewById(R.id.tag_name);
if (id > -1) {
nameText.setText(name == null ? "" : name);
}
builder.setView(layout);
builder.setPositiveButton(getString(R.string.dialog_ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String name = nameText.getText().toString();
if (id > 0) {
addTagDialogPresenter.updateTag(new Tag(id, name));
} else {
addTagDialogPresenter.addTag(name);
}
dismiss();
}
});
return builder.create();
}
use of com.quran.labs.androidquran.dao.Tag in project quran_android by quran.
the class TagBookmarkDialog method createTagsListView.
private ListView createTagsListView() {
final FragmentActivity activity = getActivity();
mAdapter = new TagsAdapter(activity, mTagBookmarkPresenter);
final ListView listview = new ListView(activity);
listview.setAdapter(mAdapter);
listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
listview.setOnItemClickListener((parent, view, position, id) -> {
Tag tag = (Tag) mAdapter.getItem(position);
boolean isChecked = mTagBookmarkPresenter.toggleTag(tag.getId());
Object viewTag = view.getTag();
if (viewTag instanceof ViewHolder) {
ViewHolder holder = (ViewHolder) viewTag;
holder.checkBox.setChecked(isChecked);
}
});
return listview;
}
use of com.quran.labs.androidquran.dao.Tag in project quran_android by quran.
the class BookmarkPresenter method generateTagMap.
private Map<Long, Tag> generateTagMap(List<Tag> tags) {
Map<Long, Tag> tagMap = new HashMap<>(tags.size());
for (int i = 0, size = tags.size(); i < size; i++) {
Tag tag = tags.get(i);
tagMap.put(tag.getId(), tag);
}
return tagMap;
}
Aggregations