summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2011-01-11 15:36:01 -0800
committerJohn Reck <jreck@google.com>2011-01-12 16:35:11 -0800
commit1537b774a62042a8b86100e1e6b0988bed70c385 (patch)
treeb1ec5561d8fa4f679699fff9b80bba2731e35285 /src/com
parentdcc1cd118d4db2b47ecd93c00608441375ced6b5 (diff)
downloadpackages_apps_Browser-1537b774a62042a8b86100e1e6b0988bed70c385.tar.gz
packages_apps_Browser-1537b774a62042a8b86100e1e6b0988bed70c385.tar.bz2
packages_apps_Browser-1537b774a62042a8b86100e1e6b0988bed70c385.zip
Replace old list widget with new thumbnail widget
Bug: 3336562 Change-Id: Ic612b5309f185658f4515bbc90cc44d8b9ccf1e0
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/browser/widget/BookmarkThumbnailWidgetProvider.java (renamed from src/com/android/browser/widget/BookmarkListWidgetProvider.java)28
-rw-r--r--src/com/android/browser/widget/BookmarkThumbnailWidgetService.java (renamed from src/com/android/browser/widget/BookmarkListWidgetService.java)73
2 files changed, 41 insertions, 60 deletions
diff --git a/src/com/android/browser/widget/BookmarkListWidgetProvider.java b/src/com/android/browser/widget/BookmarkThumbnailWidgetProvider.java
index 99daaa1c0..14e1c8903 100644
--- a/src/com/android/browser/widget/BookmarkListWidgetProvider.java
+++ b/src/com/android/browser/widget/BookmarkThumbnailWidgetProvider.java
@@ -16,7 +16,6 @@
package com.android.browser.widget;
-import com.android.browser.BrowserActivity;
import com.android.browser.R;
import android.app.PendingIntent;
@@ -31,7 +30,7 @@ import android.widget.RemoteViews;
/**
* Widget that shows a preview of the user's bookmarks.
*/
-public class BookmarkListWidgetProvider extends AppWidgetProvider {
+public class BookmarkThumbnailWidgetProvider extends AppWidgetProvider {
static final String ACTION_BOOKMARK_APPWIDGET_UPDATE =
"com.android.browser.BOOKMARK_APPWIDGET_UPDATE";
@@ -60,46 +59,37 @@ public class BookmarkListWidgetProvider extends AppWidgetProvider {
@Override
public void onEnabled(Context context) {
// Start the backing service
- context.startService(new Intent(context, BookmarkListWidgetService.class));
+ context.startService(new Intent(context, BookmarkThumbnailWidgetService.class));
}
@Override
public void onDisabled(Context context) {
// Stop the backing service
- context.stopService(new Intent(context, BookmarkListWidgetService.class));
+ context.stopService(new Intent(context, BookmarkThumbnailWidgetService.class));
}
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
super.onDeleted(context, appWidgetIds);
- context.startService(new Intent(BookmarkListWidgetService.ACTION_REMOVE_FACTORIES,
- null, context, BookmarkListWidgetService.class)
+ context.startService(new Intent(BookmarkThumbnailWidgetService.ACTION_REMOVE_FACTORIES,
+ null, context, BookmarkThumbnailWidgetService.class)
.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds));
}
private void performUpdate(Context context,
AppWidgetManager appWidgetManager, int[] appWidgetIds) {
- Intent launchBrowser = new Intent(BrowserActivity.ACTION_SHOW_BROWSER,
- null, context, BrowserActivity.class);
- Intent launchBookmarks = new Intent(BrowserActivity.ACTION_SHOW_BOOKMARKS,
- null, context, BrowserActivity.class);
- // Update the widgets
for (int appWidgetId : appWidgetIds) {
- Intent updateIntent = new Intent(context, BookmarkListWidgetService.class);
+ Intent updateIntent = new Intent(context, BookmarkThumbnailWidgetService.class);
updateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
updateIntent.setData(Uri.parse(updateIntent.toUri(Intent.URI_INTENT_SCHEME)));
RemoteViews views = new RemoteViews(context.getPackageName(),
- R.layout.bookmarklistwidget);
+ R.layout.bookmarkthumbnailwidget);
views.setRemoteAdapter(R.id.bookmarks_list, updateIntent);
appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetId, R.id.bookmarks_list);
- Intent ic = new Intent(context, BookmarkListWidgetService.class);
+ Intent ic = new Intent(context, BookmarkThumbnailWidgetService.class);
views.setPendingIntentTemplate(R.id.bookmarks_list,
PendingIntent.getService(context, 0, ic,
PendingIntent.FLAG_UPDATE_CURRENT));
- views.setOnClickPendingIntent(R.id.header_browser, PendingIntent
- .getActivity(context, 0, launchBrowser, PendingIntent.FLAG_CANCEL_CURRENT));
- views.setOnClickPendingIntent(R.id.header_bookmarks, PendingIntent
- .getActivity(context, 0, launchBookmarks, PendingIntent.FLAG_CANCEL_CURRENT));
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
@@ -109,6 +99,6 @@ public class BookmarkListWidgetProvider extends AppWidgetProvider {
* {@link AppWidgetProvider}
*/
static ComponentName getComponentName(Context context) {
- return new ComponentName(context, BookmarkListWidgetProvider.class);
+ return new ComponentName(context, BookmarkThumbnailWidgetProvider.class);
}
}
diff --git a/src/com/android/browser/widget/BookmarkListWidgetService.java b/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java
index 4d72d4159..fcd210332 100644
--- a/src/com/android/browser/widget/BookmarkListWidgetService.java
+++ b/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java
@@ -16,7 +16,6 @@
package com.android.browser.widget;
-import com.android.browser.BookmarkUtils;
import com.android.browser.BrowserBookmarksPage;
import com.android.browser.R;
@@ -49,9 +48,9 @@ import java.util.List;
import java.util.Map;
import java.util.Stack;
-public class BookmarkListWidgetService extends RemoteViewsService {
+public class BookmarkThumbnailWidgetService extends RemoteViewsService {
- static final String TAG = "BookmarkListWidgetService";
+ static final String TAG = "BookmarkThumbnailWidgetService";
static final boolean USE_FOLDERS = true;
static final String ACTION_REMOVE_FACTORIES
@@ -66,13 +65,15 @@ public class BookmarkListWidgetService extends RemoteViewsService {
BrowserContract.Bookmarks.FAVICON,
BrowserContract.Bookmarks.IS_FOLDER,
BrowserContract.Bookmarks.TOUCH_ICON,
- BrowserContract.Bookmarks.POSITION /* needed for order by */};
+ BrowserContract.Bookmarks.POSITION, /* needed for order by */
+ BrowserContract.Bookmarks.THUMBNAIL};
private static final int BOOKMARK_INDEX_ID = 0;
private static final int BOOKMARK_INDEX_TITLE = 1;
private static final int BOOKMARK_INDEX_URL = 2;
private static final int BOOKMARK_INDEX_FAVICON = 3;
private static final int BOOKMARK_INDEX_IS_FOLDER = 4;
private static final int BOOKMARK_INDEX_TOUCH_ICON = 5;
+ private static final int BOOKMARK_INDEX_THUMBNAIL = 7;
private Map<Integer, BookmarkFactory> mFactories;
private Handler mUiHandler;
@@ -223,12 +224,12 @@ public class BookmarkListWidgetService extends RemoteViewsService {
Breadcrumb folder = mBreadcrumbs.empty() ? null : mBreadcrumbs.peek();
RemoteViews views = new RemoteViews(
- mContext.getPackageName(), R.layout.bookmarklistwidget_item);
+ mContext.getPackageName(), R.layout.bookmarkthumbnailwidget_item);
Intent fillin;
if (res.mIsFolder) {
long nfi = res.mId;
fillin = new Intent(ACTION_CHANGE_FOLDER, null,
- mContext, BookmarkListWidgetService.class)
+ mContext, BookmarkThumbnailWidgetService.class)
.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mWidgetId)
.putExtra(Bookmarks._ID, nfi);
} else {
@@ -244,21 +245,26 @@ public class BookmarkListWidgetService extends RemoteViewsService {
displayTitle = res.mUrl;
}
views.setTextViewText(R.id.label, displayTitle);
- views.setDrawableParameters(R.id.list_item, true, 0, -1, null, -1);
if (res.mIsFolder) {
if (folder != null && res.mId == folder.mId) {
- views.setImageViewResource(R.id.thumb, R.drawable.btn_ic_back_bookmark_widget_holo_dark);
- views.setDrawableParameters(R.id.list_item, true, 255, -1, null, -1);
+ views.setImageViewResource(R.id.thumb, R.drawable.thumb_bookmark_widget_folder_back_holo);
} else {
- views.setImageViewResource(R.id.thumb, R.drawable.ic_folder_bookmark_widget_holo_dark);
+ views.setImageViewResource(R.id.thumb, R.drawable.thumb_bookmark_widget_folder_holo);
}
+ views.setImageViewResource(R.id.favicon, R.drawable.ic_bookmark_widget_bookmark_holo_dark);
} else {
- if (res.mBitmap != null) {
- views.setImageViewBitmap(R.id.thumb, res.mBitmap);
+ if (res.mThumbnail != null) {
+ views.setImageViewBitmap(R.id.thumb, res.mThumbnail);
} else {
views.setImageViewResource(R.id.thumb,
R.drawable.browser_thumbnail);
}
+ if (res.mIcon != null) {
+ views.setImageViewBitmap(R.id.favicon, res.mIcon);
+ } else {
+ views.setImageViewResource(R.id.favicon,
+ R.drawable.app_web_browser_sm);
+ }
}
return views;
}
@@ -364,35 +370,19 @@ public class BookmarkListWidgetService extends RemoteViewsService {
// RemoteViews require a valid bitmap config
Options options = new Options();
options.inPreferredConfig = Config.ARGB_8888;
- Bitmap favIcon = null;
- Bitmap touchIcon = null;
- byte[] blob = c.getBlob(BOOKMARK_INDEX_TOUCH_ICON);
+ Bitmap thumbnail = null, favicon = null;
+ byte[] blob = c.getBlob(BOOKMARK_INDEX_THUMBNAIL);
if (blob != null && blob.length > 0) {
- touchIcon = BitmapFactory.decodeByteArray(
+ thumbnail = BitmapFactory.decodeByteArray(
blob, 0, blob.length, options);
- } else {
- blob = c.getBlob(BOOKMARK_INDEX_FAVICON);
- if (blob != null && blob.length > 0) {
- favIcon = BitmapFactory.decodeByteArray(
- blob, 0, blob.length, options);
- }
- }
-
- if (favIcon == null) {
- favIcon = BitmapFactory.decodeResource(
- mContext.getResources(),
- R.drawable.app_web_browser_sm);
}
- if (touchIcon != null || favIcon != null) {
- res.mBitmap = BookmarkUtils.createListWidgetIcon(
- mContext, touchIcon, favIcon);
- }
- if (touchIcon != null) {
- touchIcon.recycle();
- }
- if (favIcon != null) {
- favIcon.recycle();
+ blob = c.getBlob(BOOKMARK_INDEX_FAVICON);
+ if (blob != null && blob.length > 0) {
+ favicon = BitmapFactory.decodeByteArray(
+ blob, 0, blob.length, options);
}
+ res.mThumbnail = thumbnail;
+ res.mIcon = favicon;
}
bookmarks.add(res);
}
@@ -412,9 +402,9 @@ public class BookmarkListWidgetService extends RemoteViewsService {
// Do a bit of house cleaning for the system
if (mBookmarks != null) {
for (RenderResult res : mBookmarks) {
- if (res.mBitmap != null) {
- res.mBitmap.recycle();
- res.mBitmap = null;
+ if (res.mThumbnail != null) {
+ res.mThumbnail.recycle();
+ res.mThumbnail = null;
}
}
}
@@ -440,7 +430,8 @@ public class BookmarkListWidgetService extends RemoteViewsService {
private static class RenderResult {
final String mTitle;
final String mUrl;
- Bitmap mBitmap;
+ Bitmap mThumbnail;
+ Bitmap mIcon;
boolean mIsFolder;
long mId;