diff options
Diffstat (limited to 'src/com/android/gallery3d/gadget/WidgetService.java')
-rw-r--r-- | src/com/android/gallery3d/gadget/WidgetService.java | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/src/com/android/gallery3d/gadget/WidgetService.java b/src/com/android/gallery3d/gadget/WidgetService.java deleted file mode 100644 index 94dd16439..000000000 --- a/src/com/android/gallery3d/gadget/WidgetService.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.gallery3d.gadget; - -import android.annotation.TargetApi; -import android.appwidget.AppWidgetManager; -import android.content.Intent; -import android.graphics.Bitmap; -import android.net.Uri; -import android.widget.RemoteViews; -import android.widget.RemoteViewsService; - -import com.android.gallery3d.R; -import com.android.gallery3d.app.GalleryApp; -import com.android.gallery3d.common.ApiHelper; -import com.android.gallery3d.data.ContentListener; - -@TargetApi(ApiHelper.VERSION_CODES.HONEYCOMB) -public class WidgetService extends RemoteViewsService { - - @SuppressWarnings("unused") - private static final String TAG = "GalleryAppWidgetService"; - - public static final String EXTRA_WIDGET_TYPE = "widget-type"; - public static final String EXTRA_ALBUM_PATH = "album-path"; - - @Override - public RemoteViewsFactory onGetViewFactory(Intent intent) { - int id = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, - AppWidgetManager.INVALID_APPWIDGET_ID); - int type = intent.getIntExtra(EXTRA_WIDGET_TYPE, 0); - String albumPath = intent.getStringExtra(EXTRA_ALBUM_PATH); - - return new PhotoRVFactory((GalleryApp) getApplicationContext(), - id, type, albumPath); - } - - private static class PhotoRVFactory implements - RemoteViewsService.RemoteViewsFactory, ContentListener { - - private final int mAppWidgetId; - private final int mType; - private final String mAlbumPath; - private final GalleryApp mApp; - - private WidgetSource mSource; - - public PhotoRVFactory(GalleryApp app, int id, int type, String albumPath) { - mApp = app; - mAppWidgetId = id; - mType = type; - mAlbumPath = albumPath; - } - - @Override - public void onCreate() { - if (mType == WidgetDatabaseHelper.TYPE_ALBUM) { - mSource = new MediaSetSource(mApp.getDataManager(), mAlbumPath); - } else { - mSource = new LocalPhotoSource(mApp.getAndroidContext()); - } - mSource.setContentListener(this); - AppWidgetManager.getInstance(mApp.getAndroidContext()) - .notifyAppWidgetViewDataChanged( - mAppWidgetId, R.id.appwidget_stack_view); - } - - @Override - public void onDestroy() { - mSource.close(); - mSource = null; - } - - @Override - public int getCount() { - return mSource.size(); - } - - @Override - public long getItemId(int position) { - return position; - } - - @Override - public int getViewTypeCount() { - return 1; - } - - @Override - public boolean hasStableIds() { - return true; - } - - @Override - public RemoteViews getLoadingView() { - RemoteViews rv = new RemoteViews( - mApp.getAndroidContext().getPackageName(), - R.layout.appwidget_loading_item); - rv.setProgressBar(R.id.appwidget_loading_item, 0, 0, true); - return rv; - } - - @Override - public RemoteViews getViewAt(int position) { - Bitmap bitmap = mSource.getImage(position); - if (bitmap == null) return getLoadingView(); - RemoteViews views = new RemoteViews( - mApp.getAndroidContext().getPackageName(), - R.layout.appwidget_photo_item); - views.setImageViewBitmap(R.id.appwidget_photo_item, bitmap); - views.setOnClickFillInIntent(R.id.appwidget_photo_item, new Intent() - .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) - .setData(mSource.getContentUri(position))); - return views; - } - - @Override - public void onDataSetChanged() { - mSource.reload(); - } - - @Override - public void onContentDirty() { - AppWidgetManager.getInstance(mApp.getAndroidContext()) - .notifyAppWidgetViewDataChanged( - mAppWidgetId, R.id.appwidget_stack_view); - } - } -} |