diff options
author | nebkat <nebkat@teamhacksung.org> | 2012-01-25 15:44:28 +0000 |
---|---|---|
committer | nebkat <nebkat@teamhacksung.org> | 2012-01-25 15:44:28 +0000 |
commit | 0a360d97ba4c378c04a390a34e115d1ef2363a41 (patch) | |
tree | 05f65bb39d948837ad9efd6dc531e199aae72c9b | |
parent | 089c749c2fbae611d19000317979197e26ff9f19 (diff) | |
download | android_packages_apps_Trebuchet-0a360d97ba4c378c04a390a34e115d1ef2363a41.tar.gz android_packages_apps_Trebuchet-0a360d97ba4c378c04a390a34e115d1ef2363a41.tar.bz2 android_packages_apps_Trebuchet-0a360d97ba4c378c04a390a34e115d1ef2363a41.zip |
AppWidget: Use old padding method on 4.0.1
Change-Id: I8a3e6fee92be9ffed2d59504d096404c7651c602
-rw-r--r-- | AndroidManifest.xml | 3 | ||||
-rw-r--r-- | res/values-sw600dp/dimens.xml | 7 | ||||
-rw-r--r-- | res/values/dimens.xml | 4 | ||||
-rw-r--r-- | src/com/cyanogenmod/trebuchet/AppWidgetResizeFrame.java | 14 | ||||
-rw-r--r-- | src/com/cyanogenmod/trebuchet/Launcher.java | 22 |
5 files changed, 47 insertions, 3 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 598053e2d..ad5bdad2b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -55,6 +55,9 @@ <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" /> + <uses-sdk android:minSdkVersion="14" + android:targetSdkVersion="15" /> + <application android:name="com.cyanogenmod.trebuchet.LauncherApplication" android:label="@string/application_name" diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml index d265c369c..aab2d8068 100644 --- a/res/values-sw600dp/dimens.xml +++ b/res/values-sw600dp/dimens.xml @@ -73,6 +73,13 @@ <dimen name="dragViewOffsetX">0dp</dimen> <dimen name="dragViewOffsetY">-12dp</dimen> +<!-- Workspace grid --> + <!-- Padding applied to AppWidgets --> + <dimen name="app_widget_padding_left">12dp</dimen> + <dimen name="app_widget_padding_right">12dp</dimen> + <dimen name="app_widget_padding_top">4dp</dimen> + <dimen name="app_widget_padding_bottom">20dp</dimen> + <!-- Folders --> <!-- The size of the image which sits behind the preview of the folder contents --> <dimen name="folder_preview_size">78dp</dimen> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 1cf7319bc..121499900 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -113,6 +113,10 @@ <dimen name="dragViewOffsetY">-8dp</dimen> <!-- Padding applied to AppWidgets --> + <dimen name="app_widget_padding_left">16dp</dimen> + <dimen name="app_widget_padding_right">16dp</dimen> + <dimen name="app_widget_padding_top">16dp</dimen> + <dimen name="app_widget_padding_bottom">16dp</dimen> <dimen name="app_widget_preview_padding_left">8dp</dimen> <dimen name="app_widget_preview_padding_top">8dp</dimen> diff --git a/src/com/cyanogenmod/trebuchet/AppWidgetResizeFrame.java b/src/com/cyanogenmod/trebuchet/AppWidgetResizeFrame.java index a9f5f9a7f..e0f3b707f 100644 --- a/src/com/cyanogenmod/trebuchet/AppWidgetResizeFrame.java +++ b/src/com/cyanogenmod/trebuchet/AppWidgetResizeFrame.java @@ -9,6 +9,7 @@ import android.appwidget.AppWidgetHostView; import android.appwidget.AppWidgetProviderInfo; import android.content.Context; import android.graphics.Rect; +import android.os.Build; import android.view.Gravity; import android.widget.FrameLayout; import android.widget.ImageView; @@ -111,8 +112,17 @@ public class AppWidgetResizeFrame extends FrameLayout { Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM); addView(mBottomHandle, lp); - Rect p = AppWidgetHostView.getDefaultPaddingForWidget(context, - widgetView.getAppWidgetInfo().provider, null); + Rect p; + + // Public api for widget padding was added in 4.0.3 + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + p = AppWidgetHostView.getDefaultPaddingForWidget(context, + widgetView.getAppWidgetInfo().provider, null); + } else { + p = mLauncher.getDefaultPaddingForWidget( + widgetView.getAppWidgetInfo().provider); + } + mWidgetPaddingLeft = p.left; mWidgetPaddingTop = p.top; mWidgetPaddingRight = p.right; diff --git a/src/com/cyanogenmod/trebuchet/Launcher.java b/src/com/cyanogenmod/trebuchet/Launcher.java index 8d460c848..af88dcad0 100644 --- a/src/com/cyanogenmod/trebuchet/Launcher.java +++ b/src/com/cyanogenmod/trebuchet/Launcher.java @@ -952,12 +952,32 @@ public final class Launcher extends Activity } } + Rect getDefaultPaddingForWidget(ComponentName component) { + Rect p = new Rect(); + + Resources r = getResources(); + p.left = r.getDimensionPixelSize(R.dimen.app_widget_padding_left); + p.right = r.getDimensionPixelSize(R.dimen.app_widget_padding_right); + p.top = r.getDimensionPixelSize(R.dimen.app_widget_padding_top); + p.bottom = r.getDimensionPixelSize(R.dimen.app_widget_padding_bottom); + + return p; + } + int[] getSpanForWidget(ComponentName component, int minWidth, int minHeight, int[] spanXY) { if (spanXY == null) { spanXY = new int[2]; } - Rect padding = AppWidgetHostView.getDefaultPaddingForWidget(this, component, null); + Rect padding; + + // Public api for widget padding was added in 4.0.3 + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + padding = AppWidgetHostView.getDefaultPaddingForWidget(this, component, null); + } else { + padding = getDefaultPaddingForWidget(component); + } + // We want to account for the extra amount of padding that we are adding to the widget // to ensure that it gets the full amount of space that it has requested int requiredWidth = minWidth + padding.left + padding.right; |