From 4f3e49619d3954056f899660cc764f3773d92141 Mon Sep 17 00:00:00 2001 From: Paramananda Date: Tue, 24 Mar 2015 18:04:23 +0530 Subject: Gallery2 : Drm lock icon added on Photo widget for drm content CRs-fixed : 804180 Change-Id: I11c969f0156dba6db75c924a568eaa0733395208 --- res/layout/appwidget_drm_empty_item.xml | 48 ++++++++++++++++++++++ .../gallery3d/gadget/PhotoAppWidgetProvider.java | 2 +- .../gallery3d/gadget/WidgetClickHandler.java | 2 - .../android/gallery3d/gadget/WidgetService.java | 35 +++++++++++++++- 4 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 res/layout/appwidget_drm_empty_item.xml diff --git a/res/layout/appwidget_drm_empty_item.xml b/res/layout/appwidget_drm_empty_item.xml new file mode 100644 index 000000000..8261dbe77 --- /dev/null +++ b/res/layout/appwidget_drm_empty_item.xml @@ -0,0 +1,48 @@ + + + + + + + + +s + \ No newline at end of file diff --git a/src/com/android/gallery3d/gadget/PhotoAppWidgetProvider.java b/src/com/android/gallery3d/gadget/PhotoAppWidgetProvider.java index 1dfbe3ff8..58466bf01 100644 --- a/src/com/android/gallery3d/gadget/PhotoAppWidgetProvider.java +++ b/src/com/android/gallery3d/gadget/PhotoAppWidgetProvider.java @@ -106,7 +106,7 @@ public class PhotoAppWidgetProvider extends AppWidgetProvider { context.getPackageName(), R.layout.photo_frame); try { byte[] data = entry.imageData; - Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length, false); + Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); views.setImageViewBitmap(R.id.photo, bitmap); } catch (Throwable t) { Log.w(TAG, "cannot load widget image: " + appWidgetId, t); diff --git a/src/com/android/gallery3d/gadget/WidgetClickHandler.java b/src/com/android/gallery3d/gadget/WidgetClickHandler.java index 642f3d650..e5b0a376c 100644 --- a/src/com/android/gallery3d/gadget/WidgetClickHandler.java +++ b/src/com/android/gallery3d/gadget/WidgetClickHandler.java @@ -57,8 +57,6 @@ public class WidgetClickHandler extends Activity { Intent intent; if (isValidDataUri(uri)) { intent = new Intent(Intent.ACTION_VIEW, uri); - intent.putExtra("WidgetClick", true); - // Used for checking whether it is from widget intent.putExtra(PhotoPage.KEY_IS_FROM_WIDGET, true); if (tediousBack) { diff --git a/src/com/android/gallery3d/gadget/WidgetService.java b/src/com/android/gallery3d/gadget/WidgetService.java index 854433776..7b16f8b7c 100644 --- a/src/com/android/gallery3d/gadget/WidgetService.java +++ b/src/com/android/gallery3d/gadget/WidgetService.java @@ -19,8 +19,10 @@ package com.android.gallery3d.gadget; import android.annotation.TargetApi; import android.appwidget.AppWidgetManager; import android.content.Intent; +import android.drm.DrmHelper; import android.graphics.Bitmap; import android.net.Uri; +import android.view.View; import android.widget.RemoteViews; import android.widget.RemoteViewsService; @@ -121,7 +123,31 @@ public class WidgetService extends RemoteViewsService { return null; } Bitmap bitmap = mSource.getImage(position); - if (bitmap == null) return getLoadingView(); + + boolean isDrm = false; + if (DrmHelper.isDrmFile(DrmHelper.getFilePath( + mApp.getAndroidContext(), mSource.getContentUri(position)))) { + isDrm = true; + } + + if (isDrm) { + if (bitmap == null) { + RemoteViews rv = new RemoteViews(mApp.getAndroidContext() + .getPackageName(), + R.layout.appwidget_drm_empty_item); + rv.setOnClickFillInIntent( + R.id.appwidget_photo_item, + new Intent().setFlags( + Intent.FLAG_ACTIVITY_CLEAR_TOP).setData( + mSource.getContentUri(position))); + return rv; + } + } else { + if (bitmap == null) { + return getLoadingView(); + } + } + RemoteViews views = new RemoteViews( mApp.getAndroidContext().getPackageName(), R.layout.appwidget_photo_item); @@ -129,6 +155,13 @@ public class WidgetService extends RemoteViewsService { views.setOnClickFillInIntent(R.id.appwidget_photo_item, new Intent() .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) .setData(mSource.getContentUri(position))); + + if (isDrm) { + views.setViewVisibility(R.id.drm_icon, View.VISIBLE); + } else { + views.setViewVisibility(R.id.drm_icon, View.GONE); + } + return views; } -- cgit v1.2.3