2011-10-17 14:24:15 -07:00
|
|
|
/* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*-
|
|
|
|
* ***** BEGIN LICENSE BLOCK *****
|
|
|
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
|
|
*
|
|
|
|
* The contents of this file are subject to the Mozilla Public License Version
|
|
|
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
|
|
|
* the License. You may obtain a copy of the License at
|
|
|
|
* http://www.mozilla.org/MPL/
|
|
|
|
*
|
|
|
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
|
|
* for the specific language governing rights and limitations under the
|
|
|
|
* License.
|
|
|
|
*
|
|
|
|
* The Original Code is Mozilla Android code.
|
|
|
|
*
|
|
|
|
* The Initial Developer of the Original Code is Mozilla Foundation.
|
|
|
|
* Portions created by the Initial Developer are Copyright (C) 2009-2011
|
|
|
|
* the Initial Developer. All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Contributor(s):
|
|
|
|
* Brad Lassey <blassey@mozilla.com>
|
|
|
|
*
|
|
|
|
* Alternatively, the contents of this file may be used under the terms of
|
|
|
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
|
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
|
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
|
|
* of those above. If you wish to allow use of your version of this file only
|
|
|
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
|
|
* use your version of this file under the terms of the MPL, indicate your
|
|
|
|
* decision by deleting the provisions above and replace them with the notice
|
|
|
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
|
|
* the provisions above, a recipient may use your version of this file under
|
|
|
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
|
|
*
|
|
|
|
* ***** END LICENSE BLOCK ***** */
|
|
|
|
|
2011-10-13 17:00:26 -07:00
|
|
|
package org.mozilla.gecko;
|
|
|
|
|
2011-10-17 14:24:15 -07:00
|
|
|
import android.app.ListActivity;
|
|
|
|
import android.content.Intent;
|
|
|
|
import android.database.Cursor;
|
|
|
|
import android.net.Uri;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.provider.Browser;
|
|
|
|
import android.util.Log;
|
|
|
|
import android.view.View;
|
|
|
|
import android.widget.ListAdapter;
|
|
|
|
import android.widget.ListView;
|
|
|
|
import android.widget.SimpleCursorAdapter;
|
2011-10-13 17:00:26 -07:00
|
|
|
|
2011-10-17 14:24:15 -07:00
|
|
|
public class GeckoBookmarks extends ListActivity {
|
|
|
|
private static final String LOG_NAME = "GeckoBookmarks";
|
|
|
|
private static final String TITLE_KEY = "title";
|
2011-10-19 10:39:51 -07:00
|
|
|
private static final String kBookmarksWhereClause = Browser.BookmarkColumns.BOOKMARK + " = 1";
|
2011-10-13 17:00:26 -07:00
|
|
|
|
2011-10-17 14:24:15 -07:00
|
|
|
private Cursor mCursor;
|
|
|
|
private Uri mUri;
|
|
|
|
private String mTitle;
|
2011-10-13 17:00:26 -07:00
|
|
|
|
2011-10-17 14:24:15 -07:00
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
setContentView(R.layout.bookmarks);
|
|
|
|
mCursor = managedQuery(Browser.BOOKMARKS_URI,
|
2011-10-19 10:39:51 -07:00
|
|
|
null, kBookmarksWhereClause, null, null);
|
2011-10-17 14:24:15 -07:00
|
|
|
startManagingCursor(mCursor);
|
2011-10-13 17:00:26 -07:00
|
|
|
|
2011-10-17 14:24:15 -07:00
|
|
|
ListAdapter adapter =
|
|
|
|
new SimpleCursorAdapter(this, R.layout.bookmark_list_row, mCursor,
|
|
|
|
new String[] {Browser.BookmarkColumns.TITLE,
|
|
|
|
Browser.BookmarkColumns.URL},
|
|
|
|
new int[] {R.id.bookmark_title, R.id.bookmark_url});
|
|
|
|
setListAdapter(adapter);
|
|
|
|
}
|
2011-10-13 17:00:26 -07:00
|
|
|
|
2011-10-17 14:24:15 -07:00
|
|
|
@Override
|
|
|
|
protected void onListItemClick(ListView l, View v, int position, long id) {
|
|
|
|
mCursor.moveToPosition(position);
|
|
|
|
String spec = mCursor.getString(mCursor.getColumnIndex(Browser.BookmarkColumns.URL));
|
|
|
|
Log.i(LOG_NAME, "clicked: " + spec);
|
|
|
|
Intent intent = new Intent(this, GeckoApp.class);
|
|
|
|
intent.setAction(Intent.ACTION_VIEW);
|
|
|
|
intent.setData(Uri.parse(spec));
|
|
|
|
startActivity(intent);
|
|
|
|
}
|
2011-10-13 17:00:26 -07:00
|
|
|
|
2011-10-17 14:24:15 -07:00
|
|
|
public void addBookmark(View v) {
|
|
|
|
Browser.saveBookmark(this, mTitle, mUri.toString());
|
|
|
|
finish();
|
|
|
|
}
|
2011-10-13 17:00:26 -07:00
|
|
|
|
2011-10-17 14:24:15 -07:00
|
|
|
@Override
|
|
|
|
protected void onNewIntent(Intent intent) {
|
|
|
|
// just save the uri from the intent
|
|
|
|
mUri = intent.getData();
|
|
|
|
mTitle = intent.getStringExtra(TITLE_KEY);
|
|
|
|
}
|
|
|
|
}
|