summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorOwen Lin <owenlin@google.com>2012-07-04 18:20:13 +0800
committerOwen Lin <owenlin@google.com>2012-07-05 14:23:51 +0800
commitcdb3717c706421fbf392b5da8018c5a029c59324 (patch)
tree0e740600a35fe9687bb09008306105f72bdc02df /src/com/android
parentfdccf988358df08f711a98aa79d3dbda44141ce4 (diff)
downloadandroid_packages_apps_Snap-cdb3717c706421fbf392b5da8018c5a029c59324.tar.gz
android_packages_apps_Snap-cdb3717c706421fbf392b5da8018c5a029c59324.tar.bz2
android_packages_apps_Snap-cdb3717c706421fbf392b5da8018c5a029c59324.zip
Don't show the shuffle and album widget for old platforms
Change-Id: Ide7074025aefe289bf6c71d623eac5100ab72932
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/gallery3d/gadget/PhotoAppWidgetProvider.java10
-rw-r--r--src/com/android/gallery3d/gadget/WidgetConfigure.java31
-rw-r--r--src/com/android/gallery3d/gadget/WidgetService.java3
3 files changed, 33 insertions, 11 deletions
diff --git a/src/com/android/gallery3d/gadget/PhotoAppWidgetProvider.java b/src/com/android/gallery3d/gadget/PhotoAppWidgetProvider.java
index 98139026e..58466bf01 100644
--- a/src/com/android/gallery3d/gadget/PhotoAppWidgetProvider.java
+++ b/src/com/android/gallery3d/gadget/PhotoAppWidgetProvider.java
@@ -16,6 +16,7 @@
package com.android.gallery3d.gadget;
+import android.annotation.TargetApi;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
@@ -28,6 +29,7 @@ import android.util.Log;
import android.widget.RemoteViews;
import com.android.gallery3d.R;
+import com.android.gallery3d.common.ApiHelper;
import com.android.gallery3d.gadget.WidgetDatabaseHelper.Entry;
import com.android.gallery3d.onetimeinitializer.GalleryWidgetMigrator;
@@ -50,8 +52,11 @@ public class PhotoAppWidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate(Context context,
AppWidgetManager appWidgetManager, int[] appWidgetIds) {
- // migrate gallery widgets from pre-JB releases to JB due to bucket ID change
- GalleryWidgetMigrator.migrateGalleryWidgets(context);
+
+ if (ApiHelper.HAS_REMOTE_VIEWS_SERVICE) {
+ // migrate gallery widgets from pre-JB releases to JB due to bucket ID change
+ GalleryWidgetMigrator.migrateGalleryWidgets(context);
+ }
WidgetDatabaseHelper helper = new WidgetDatabaseHelper(context);
try {
@@ -71,6 +76,7 @@ public class PhotoAppWidgetProvider extends AppWidgetProvider {
}
@SuppressWarnings("deprecation")
+ @TargetApi(ApiHelper.VERSION_CODES.HONEYCOMB)
private static RemoteViews buildStackWidget(Context context, int widgetId, Entry entry) {
RemoteViews views = new RemoteViews(
context.getPackageName(), R.layout.appwidget_main);
diff --git a/src/com/android/gallery3d/gadget/WidgetConfigure.java b/src/com/android/gallery3d/gadget/WidgetConfigure.java
index 5717657c2..331e7d2c4 100644
--- a/src/com/android/gallery3d/gadget/WidgetConfigure.java
+++ b/src/com/android/gallery3d/gadget/WidgetConfigure.java
@@ -29,12 +29,14 @@ import com.android.gallery3d.R;
import com.android.gallery3d.app.AlbumPicker;
import com.android.gallery3d.app.CropImage;
import com.android.gallery3d.app.DialogPicker;
+import com.android.gallery3d.common.ApiHelper;
public class WidgetConfigure extends Activity {
@SuppressWarnings("unused")
private static final String TAG = "WidgetConfigure";
public static final String KEY_WIDGET_TYPE = "widget-type";
+ private static final String KEY_PICKED_ITEM = "picked-item";
private static final int REQUEST_WIDGET_TYPE = 1;
private static final int REQUEST_CHOOSE_ALBUM = 2;
@@ -51,12 +53,11 @@ public class WidgetConfigure extends Activity {
private static int MAX_WIDGET_SIDE = 360;
private int mAppWidgetId = -1;
- private int mWidgetType = 0;
private Uri mPickedItem;
@Override
- protected void onCreate(Bundle bundle) {
- super.onCreate(bundle);
+ protected void onCreate(Bundle savedState) {
+ super.onCreate(savedState);
mAppWidgetId = getIntent().getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
if (mAppWidgetId == -1) {
@@ -65,12 +66,24 @@ public class WidgetConfigure extends Activity {
return;
}
- if (mWidgetType == 0) {
- Intent intent = new Intent(this, WidgetTypeChooser.class);
- startActivityForResult(intent, REQUEST_WIDGET_TYPE);
+ if (savedState == null) {
+ if (ApiHelper.HAS_REMOTE_VIEWS_SERVICE) {
+ Intent intent = new Intent(this, WidgetTypeChooser.class);
+ startActivityForResult(intent, REQUEST_WIDGET_TYPE);
+ } else { // Choose the photo type widget
+ setWidgetType(new Intent()
+ .putExtra(KEY_WIDGET_TYPE, R.id.widget_type_photo));
+ }
+ } else {
+ mPickedItem = savedState.getParcelable(KEY_PICKED_ITEM);
}
}
+ protected void onSaveInstanceStates(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ outState.putParcelable(KEY_PICKED_ITEM, mPickedItem);
+ }
+
private void updateWidgetAndFinish(WidgetDatabaseHelper.Entry entry) {
AppWidgetManager manager = AppWidgetManager.getInstance(this);
RemoteViews views = PhotoAppWidgetProvider.buildWidget(this, mAppWidgetId, entry);
@@ -153,11 +166,11 @@ public class WidgetConfigure extends Activity {
}
private void setWidgetType(Intent data) {
- mWidgetType = data.getIntExtra(KEY_WIDGET_TYPE, R.id.widget_type_shuffle);
- if (mWidgetType == R.id.widget_type_album) {
+ int widgetType = data.getIntExtra(KEY_WIDGET_TYPE, R.id.widget_type_shuffle);
+ if (widgetType == R.id.widget_type_album) {
Intent intent = new Intent(this, AlbumPicker.class);
startActivityForResult(intent, REQUEST_CHOOSE_ALBUM);
- } else if (mWidgetType == R.id.widget_type_shuffle) {
+ } else if (widgetType == R.id.widget_type_shuffle) {
WidgetDatabaseHelper helper = new WidgetDatabaseHelper(this);
try {
helper.setWidget(mAppWidgetId, WidgetDatabaseHelper.TYPE_SHUFFLE, null);
diff --git a/src/com/android/gallery3d/gadget/WidgetService.java b/src/com/android/gallery3d/gadget/WidgetService.java
index eba7403c9..83e37a630 100644
--- a/src/com/android/gallery3d/gadget/WidgetService.java
+++ b/src/com/android/gallery3d/gadget/WidgetService.java
@@ -16,6 +16,7 @@
package com.android.gallery3d.gadget;
+import android.annotation.TargetApi;
import android.appwidget.AppWidgetManager;
import android.content.Intent;
import android.graphics.Bitmap;
@@ -25,11 +26,13 @@ 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;
import com.android.gallery3d.data.DataManager;
import com.android.gallery3d.data.MediaSet;
import com.android.gallery3d.data.Path;
+@TargetApi(ApiHelper.VERSION_CODES.HONEYCOMB)
public class WidgetService extends RemoteViewsService {
@SuppressWarnings("unused")