diff options
-rw-r--r-- | api/current.txt | 4 | ||||
-rw-r--r-- | core/java/android/appwidget/AppWidgetHost.java | 4 | ||||
-rw-r--r-- | core/java/android/appwidget/AppWidgetProviderInfo.java | 24 | ||||
-rwxr-xr-x | core/res/res/values/attrs.xml | 4 | ||||
-rw-r--r-- | core/res/res/values/public.xml | 2 | ||||
-rw-r--r-- | services/java/com/android/server/AppWidgetService.java | 6 |
6 files changed, 42 insertions, 2 deletions
diff --git a/api/current.txt b/api/current.txt index a9aaf38..a437640 100644 --- a/api/current.txt +++ b/api/current.txt @@ -673,6 +673,8 @@ package android { field public static final int minHeight = 16843072; // 0x1010140 field public static final int minLevel = 16843185; // 0x10101b1 field public static final int minLines = 16843094; // 0x1010156 + field public static final int minResizeHeight = 16843690; // 0x10103aa + field public static final int minResizeWidth = 16843689; // 0x10103a9 field public static final int minSdkVersion = 16843276; // 0x101020c field public static final int minWidth = 16843071; // 0x101013f field public static final int mode = 16843134; // 0x101017e @@ -3929,6 +3931,8 @@ package android.appwidget { field public int initialLayout; field public java.lang.String label; field public int minHeight; + field public int minResizeHeight; + field public int minResizeWidth; field public int minWidth; field public int previewImage; field public android.content.ComponentName provider; diff --git a/core/java/android/appwidget/AppWidgetHost.java b/core/java/android/appwidget/AppWidgetHost.java index 8204a4f..08bc0ac 100644 --- a/core/java/android/appwidget/AppWidgetHost.java +++ b/core/java/android/appwidget/AppWidgetHost.java @@ -261,6 +261,10 @@ public class AppWidgetHost { TypedValue.complexToDimensionPixelSize(appWidget.minWidth, mDisplayMetrics); appWidget.minHeight = TypedValue.complexToDimensionPixelSize(appWidget.minHeight, mDisplayMetrics); + appWidget.minResizeWidth = + TypedValue.complexToDimensionPixelSize(appWidget.minResizeWidth, mDisplayMetrics); + appWidget.minResizeHeight = + TypedValue.complexToDimensionPixelSize(appWidget.minResizeHeight, mDisplayMetrics); synchronized (mViews) { v = mViews.get(appWidgetId); diff --git a/core/java/android/appwidget/AppWidgetProviderInfo.java b/core/java/android/appwidget/AppWidgetProviderInfo.java index b46802e..b8c5b02 100644 --- a/core/java/android/appwidget/AppWidgetProviderInfo.java +++ b/core/java/android/appwidget/AppWidgetProviderInfo.java @@ -54,7 +54,8 @@ public class AppWidgetProviderInfo implements Parcelable { public ComponentName provider; /** - * Minimum width of the AppWidget, in dp. + * The default height of the widget when added to a host, in dp. The widget will get + * at least this width, and will often be given more, depending on the host. * * <p>This field corresponds to the <code>android:minWidth</code> attribute in * the AppWidget meta-data file. @@ -62,7 +63,8 @@ public class AppWidgetProviderInfo implements Parcelable { public int minWidth; /** - * Minimum height of the AppWidget, in dp. + * The default height of the widget when added to a host, in dp. The widget will get + * at least this height, and will often be given more, depending on the host. * * <p>This field corresponds to the <code>android:minHeight</code> attribute in * the AppWidget meta-data file. @@ -70,6 +72,24 @@ public class AppWidgetProviderInfo implements Parcelable { public int minHeight; /** + * Minimum width (in dp) which the widget can be resized to. This field has no effect if it + * is greater than minWidth or if horizontal resizing isn't enabled (see {@link #resizeMode}). + * + * <p>This field corresponds to the <code>android:minResizeWidth</code> attribute in + * the AppWidget meta-data file. + */ + public int minResizeWidth; + + /** + * Minimum height (in dp) which the widget can be resized to. This field has no effect if it + * is greater than minHeight or if vertical resizing isn't enabled (see {@link #resizeMode}). + * + * <p>This field corresponds to the <code>android:minResizeHeight</code> attribute in + * the AppWidget meta-data file. + */ + public int minResizeHeight; + + /** * How often, in milliseconds, that this AppWidget wants to be updated. * The AppWidget manager may place a limit on how often a AppWidget is updated. * diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index d0361ca..082284a 100755 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -4913,6 +4913,10 @@ <attr name="minWidth"/> <!-- Minimum height of the AppWidget. --> <attr name="minHeight"/> + <!-- Minimum width that the AppWidget can be resized to. --> + <attr name="minResizeWidth" format="dimension"/> + <!-- Minimum height that the AppWidget can be resized to. --> + <attr name="minResizeHeight" format="dimension"/> <!-- Update period in milliseconds, or 0 if the AppWidget will update itself. --> <attr name="updatePeriodMillis" format="integer" /> <!-- A resource id of a layout. --> diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index f464623..ba2a036 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -1831,4 +1831,6 @@ <public type="color" name="holo_purple" /> <public type="color" name="holo_blue_bright" /> + <public type="attr" name="minResizeWidth" /> + <public type="attr" name="minResizeHeight" /> </resources> diff --git a/services/java/com/android/server/AppWidgetService.java b/services/java/com/android/server/AppWidgetService.java index 0b15221..438883e 100644 --- a/services/java/com/android/server/AppWidgetService.java +++ b/services/java/com/android/server/AppWidgetService.java @@ -1022,6 +1022,12 @@ class AppWidgetService extends IAppWidgetService.Stub info.minWidth = value != null ? value.data : 0; value = sa.peekValue(com.android.internal.R.styleable.AppWidgetProviderInfo_minHeight); info.minHeight = value != null ? value.data : 0; + value = sa.peekValue( + com.android.internal.R.styleable.AppWidgetProviderInfo_minResizeWidth); + info.minResizeWidth = value != null ? value.data : info.minWidth; + value = sa.peekValue( + com.android.internal.R.styleable.AppWidgetProviderInfo_minResizeHeight); + info.minResizeHeight = value != null ? value.data : info.minHeight; info.updatePeriodMillis = sa.getInt( com.android.internal.R.styleable.AppWidgetProviderInfo_updatePeriodMillis, 0); |