Search in sources :

Example 1 with Tag

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();
}
Also used : TextView(android.widget.TextView) Tag(com.quran.labs.androidquran.dao.Tag) LinearLayout(android.widget.LinearLayout)

Example 2 with Tag

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;
}
Also used : ArrayList(java.util.ArrayList) Tag(com.quran.labs.androidquran.dao.Tag) Cursor(android.database.Cursor) NonNull(android.support.annotation.NonNull)

Example 3 with Tag

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();
}
Also used : AlertDialog(android.support.v7.app.AlertDialog) EditText(android.widget.EditText) DialogInterface(android.content.DialogInterface) Bundle(android.os.Bundle) View(android.view.View) SuppressLint(android.annotation.SuppressLint) LayoutInflater(android.view.LayoutInflater) SuppressLint(android.annotation.SuppressLint) Tag(com.quran.labs.androidquran.dao.Tag) NonNull(android.support.annotation.NonNull)

Example 4 with Tag

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;
}
Also used : FragmentActivity(android.support.v4.app.FragmentActivity) ListView(android.widget.ListView) Tag(com.quran.labs.androidquran.dao.Tag)

Example 5 with Tag

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;
}
Also used : HashMap(java.util.HashMap) Tag(com.quran.labs.androidquran.dao.Tag) SuppressLint(android.annotation.SuppressLint)

Aggregations

Tag (com.quran.labs.androidquran.dao.Tag)13 SuppressLint (android.annotation.SuppressLint)5 ArrayList (java.util.ArrayList)5 Bookmark (com.quran.labs.androidquran.dao.Bookmark)4 QuranRow (com.quran.labs.androidquran.ui.helpers.QuranRow)3 NonNull (android.support.annotation.NonNull)2 List (java.util.List)2 ContentValues (android.content.ContentValues)1 DialogInterface (android.content.DialogInterface)1 Cursor (android.database.Cursor)1 Bundle (android.os.Bundle)1 FragmentActivity (android.support.v4.app.FragmentActivity)1 AlertDialog (android.support.v7.app.AlertDialog)1 LayoutInflater (android.view.LayoutInflater)1 View (android.view.View)1 EditText (android.widget.EditText)1 LinearLayout (android.widget.LinearLayout)1 ListView (android.widget.ListView)1 TextView (android.widget.TextView)1 RecentPage (com.quran.labs.androidquran.dao.RecentPage)1