com.judepereira.android.co.uncyclopedia.BookmarksDialog.java Source code

Java tutorial

Introduction

Here is the source code for com.judepereira.android.co.uncyclopedia.BookmarksDialog.java

Source

/*
 * This work is licensed under the
 * Creative Commons Attribution-ShareAlike 3.0 Unported License.
 * 
 * To view a copy of this license,
 * visit http://creativecommons.org/licenses/by-sa/3.0/.
 */
package com.judepereira.android.co.uncyclopedia;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.webkit.WebView;
import com.judepereira.android.co.uncyclopedia.db.Dao;
import com.judepereira.android.co.uncyclopedia.dto.Bookmark;
import java.util.ArrayList;
import java.util.Collections;

/**
 *
 * @author Jude Pereira
 */
public class BookmarksDialog extends DialogFragment {

    private Context context;
    private ArrayList<Bookmark> bookmarkList;
    private UncyclopediaWebViewClient client;
    private WebView wikiView;

    public UncyclopediaWebViewClient getClient() {
        return client;
    }

    public void setClient(UncyclopediaWebViewClient client) {
        this.client = client;
    }

    public WebView getWikiView() {
        return wikiView;
    }

    public void setWikiView(WebView wikiView) {
        this.wikiView = wikiView;
    }

    public void setContext(Context context) {
        this.context = context;
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        Dao dao = new Dao(context);
        bookmarkList = dao.getBookmarkList();
        dao.close();
        ArrayList<String> titleList = new ArrayList<String>();
        Collections.reverse(bookmarkList);
        for (Bookmark b : bookmarkList) {
            titleList.add(b.getTitle());
        }
        String[] titleArray = titleList.toArray(new String[bookmarkList.size()]);

        builder.setTitle("Bookmarks").setItems(titleArray, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int index) {
                Bookmark b = bookmarkList.get(index);
                client.setUniqueId(Math.random());
                wikiView.loadUrl(b.getUrl());
            }
        });
        Dialog d = builder.create();
        d.setCanceledOnTouchOutside(false);
        return d;
    }
}