From b79df3fec52c449a77e74d43b6cfcc1823692b03 Mon Sep 17 00:00:00 2001 From: nebkat Date: Sat, 3 Dec 2011 17:40:47 +0000 Subject: Preferences: Resize any widget Change-Id: I7ef5546f57543664d45a25eb5b9d07f303c9db0b --- res/values/strings.xml | 2 ++ res/xml/preferences.xml | 3 +++ src/com/cyanogenmod/trebuchet/AppWidgetResizeFrame.java | 6 ++++++ src/com/cyanogenmod/trebuchet/Workspace.java | 4 +++- src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java | 4 ++++ 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 48b96fac4..b9c334a41 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -294,6 +294,8 @@ s --> General Search Bar Enable persistent search bar + Resize any widget + Allow resizing of widgets that normally aren\'t resizeable Drawer diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 46f0af5f3..5ed3ae963 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -25,6 +25,9 @@ android:title="@string/preferences_interface_homescreen_general_search_title" android:summary="@string/preferences_interface_homescreen_general_search_summary" android:defaultValue="true" /> + diff --git a/src/com/cyanogenmod/trebuchet/AppWidgetResizeFrame.java b/src/com/cyanogenmod/trebuchet/AppWidgetResizeFrame.java index fdd8b3edd..39346f0fd 100644 --- a/src/com/cyanogenmod/trebuchet/AppWidgetResizeFrame.java +++ b/src/com/cyanogenmod/trebuchet/AppWidgetResizeFrame.java @@ -14,6 +14,7 @@ import android.widget.FrameLayout; import android.widget.ImageView; import com.cyanogenmod.trebuchet.R; +import com.cyanogenmod.trebuchet.preference.PreferencesProvider; public class AppWidgetResizeFrame extends FrameLayout { private LauncherAppWidgetHostView mWidgetView; @@ -118,6 +119,11 @@ public class AppWidgetResizeFrame extends FrameLayout { mWidgetPaddingRight = p.right; mWidgetPaddingBottom = p.bottom; + // Resize any widget + if (PreferencesProvider.Interface.Homescreen.getResizeAnyWidget(context)) { + mResizeMode = AppWidgetProviderInfo.RESIZE_BOTH; + } + if (mResizeMode == AppWidgetProviderInfo.RESIZE_HORIZONTAL) { mTopHandle.setVisibility(GONE); mBottomHandle.setVisibility(GONE); diff --git a/src/com/cyanogenmod/trebuchet/Workspace.java b/src/com/cyanogenmod/trebuchet/Workspace.java index b0ebfc6e8..e8e5bb9f4 100644 --- a/src/com/cyanogenmod/trebuchet/Workspace.java +++ b/src/com/cyanogenmod/trebuchet/Workspace.java @@ -260,6 +260,7 @@ public class Workspace extends SmoothPagedView // Preferences private boolean mShowSearchBar; + private boolean mResizeAnyWidget; /** * Used to inflate the Workspace from XML. @@ -341,6 +342,7 @@ public class Workspace extends SmoothPagedView // Preferences mShowSearchBar = PreferencesProvider.Interface.Homescreen.getShowSearchBar(context); + mResizeAnyWidget = PreferencesProvider.Interface.Homescreen.getResizeAnyWidget(context); mLauncher = (Launcher) context; initWorkspace(); @@ -2272,7 +2274,7 @@ public class Workspace extends SmoothPagedView final LauncherAppWidgetHostView hostView = (LauncherAppWidgetHostView) cell; AppWidgetProviderInfo pinfo = hostView.getAppWidgetInfo(); if (pinfo != null && - pinfo.resizeMode != AppWidgetProviderInfo.RESIZE_NONE) { + pinfo.resizeMode != AppWidgetProviderInfo.RESIZE_NONE || mResizeAnyWidget) { final Runnable addResizeFrame = new Runnable() { public void run() { DragLayer dragLayer = mLauncher.getDragLayer(); diff --git a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java index f6cc9d5d8..efab5fe9a 100644 --- a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java +++ b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java @@ -13,6 +13,10 @@ public final class PreferencesProvider { final SharedPreferences preferences = context.getSharedPreferences(PREFERENCES_KEY, 0); return preferences.getBoolean("ui_homescreen_general_search", true); } + public static boolean getResizeAnyWidget(Context context) { + final SharedPreferences preferences = context.getSharedPreferences(PREFERENCES_KEY, 0); + return preferences.getBoolean("ui_homescreen_general_resize_any_widget", false); + } } public static class Drawer { -- cgit v1.2.3