diff options
author | Jorge Ruesga <jorge@ruesga.com> | 2013-04-28 05:11:42 +0200 |
---|---|---|
committer | Jorge Ruesga <jorge@ruesga.com> | 2013-05-08 01:53:42 +0200 |
commit | 7fc2a5039f11da376076213ff9613a84e678fc55 (patch) | |
tree | c2f7d9ea09bb0eb6c00bcb9d04bc943a7de196f0 /src/com/cyanogenmod/trebuchet/Launcher.java | |
parent | 59b16ee37be235d175a04114af9de402f5d5dfec (diff) | |
download | android_packages_apps_Trebuchet-7fc2a5039f11da376076213ff9613a84e678fc55.tar.gz android_packages_apps_Trebuchet-7fc2a5039f11da376076213ff9613a84e678fc55.tar.bz2 android_packages_apps_Trebuchet-7fc2a5039f11da376076213ff9613a84e678fc55.zip |
Trebuchet: Labels on dock items
Patchset 4: Discard item scale and use paddings to adjust the workspace
Patchset 5: mHideDockIconLabels = false on vertical hotseat
Patchset 6: Fixed FolderIcon typo
Fixed inline style
Remove Workspace injection on Launcher class
Use isLargeScreen to show text in vertical hotseat
Change-Id: I055817d30e95ea7f5beaa7e7bdb242c6e887d2fd
JIRA: CYAN-523
Issue: https://jira.cyanogenmod.org/browse/CYAN-523
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Diffstat (limited to 'src/com/cyanogenmod/trebuchet/Launcher.java')
-rw-r--r-- | src/com/cyanogenmod/trebuchet/Launcher.java | 50 |
1 files changed, 41 insertions, 9 deletions
diff --git a/src/com/cyanogenmod/trebuchet/Launcher.java b/src/com/cyanogenmod/trebuchet/Launcher.java index ed8ae0879..148f3368f 100644 --- a/src/com/cyanogenmod/trebuchet/Launcher.java +++ b/src/com/cyanogenmod/trebuchet/Launcher.java @@ -87,6 +87,7 @@ import android.view.View.OnLongClickListener; import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.ViewTreeObserver; +import android.view.ViewGroup.MarginLayoutParams; import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.view.WindowManager; import android.view.accessibility.AccessibilityEvent; @@ -319,6 +320,7 @@ public final class Launcher extends Activity private boolean mShowHotseat; private boolean mShowDockDivider; private boolean mHideIconLabels; + private boolean mHideDockIconLabels; private boolean mAutoRotate; private boolean mLockWorkspace; private boolean mFullscreenMode; @@ -387,6 +389,7 @@ public final class Launcher extends Activity mIconCache = app.getIconCache(); mDragController = new DragController(this); mInflater = getLayoutInflater(); + final Resources res = getResources(); // Load all preferences PreferencesProvider.load(this); @@ -404,6 +407,12 @@ public final class Launcher extends Activity mShowHotseat = PreferencesProvider.Interface.Dock.getShowDock(); mShowDockDivider = PreferencesProvider.Interface.Dock.getShowDivider() && mShowHotseat; mHideIconLabels = PreferencesProvider.Interface.Homescreen.getHideIconLabels(); + mHideDockIconLabels = PreferencesProvider.Interface.Dock.getHideIconLabels(); + boolean verticalHotseat = + res.getBoolean(R.bool.hotseat_transpose_layout_with_orientation) && + res.getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; + mHideDockIconLabels = PreferencesProvider.Interface.Dock.getHideIconLabels() || + (!mShowHotseat || (verticalHotseat && !LauncherApplication.isScreenLarge())); mAutoRotate = PreferencesProvider.Interface.General.getAutoRotate(getResources().getBoolean(R.bool.allow_rotation)); mLockWorkspace = PreferencesProvider.Interface.General.getLockWorkspace(getResources().getBoolean(R.bool.lock_workspace)); mFullscreenMode = PreferencesProvider.Interface.General.getFullscreenMode(); @@ -983,6 +992,30 @@ public final class Launcher extends Activity mDockDivider.setVisibility(View.GONE); } + // Redim the hotseat and statusbar to let some extra size for the item text + if (mShowHotseat && !mHideDockIconLabels && !mHotseat.hasVerticalHotseat()) { + Resources res = getResources(); + int bottomMarginWithText = res.getDimensionPixelSize(R.dimen.button_bar_height_with_text); + // Divider + if (mDockDivider != null) { + ((MarginLayoutParams)mDockDivider.getLayoutParams()).bottomMargin = bottomMarginWithText; + } + // Divider indicator + View dockScrollingIndicator = findViewById(R.id.paged_view_indicator_dock); + if (dockScrollingIndicator != null) { + ((MarginLayoutParams)dockScrollingIndicator.getLayoutParams()).bottomMargin = bottomMarginWithText; + } + // Hotseat + mHotseat.getLayoutParams().height = res.getDimensionPixelSize(R.dimen.button_bar_height_plus_padding_with_text); + + // Workspace + mWorkspace.setPadding( + mWorkspace.getPaddingLeft(), + mWorkspace.getPaddingTop(), + mWorkspace.getPaddingRight(), + res.getDimensionPixelSize(R.dimen.workspace_bottom_padding_port_with_text)); + } + // Setup AppsCustomize mAppsCustomizeTabHost = (AppsCustomizeTabHost) findViewById(R.id.apps_customize_pane); mAppsCustomizeContent = (AppsCustomizePagedView) @@ -1048,9 +1081,7 @@ public final class Launcher extends Activity View createShortcut(int layoutResId, ViewGroup parent, ShortcutInfo info) { BubbleTextView favorite = (BubbleTextView) mInflater.inflate(layoutResId, parent, false); favorite.applyFromShortcutInfo(info, mIconCache); - if (mHideIconLabels) { - favorite.setTextVisible(false); - } + favorite.setTextVisible(!mHideIconLabels); favorite.setOnClickListener(this); favorite.setOnTouchListener(this); return favorite; @@ -2001,10 +2032,13 @@ public final class Launcher extends Activity // Create the view FolderIcon newFolder = FolderIcon.fromXml(R.layout.folder_icon, this, layout, folderInfo); - if (mHideIconLabels) { - newFolder.setTextVisible(false); - } int x = cellX, y = cellY; + if (container == LauncherSettings.Favorites.CONTAINER_HOTSEAT) { + newFolder.setTextVisible(!mHideDockIconLabels); + } else { + newFolder.setTextVisible(!mHideIconLabels); + } + if (container == LauncherSettings.Favorites.CONTAINER_HOTSEAT && getHotseat().hasVerticalHotseat()) { // Note: If the destination of the new folder is the hotseat and @@ -3636,9 +3670,7 @@ public final class Launcher extends Activity FolderIcon newFolder = FolderIcon.fromXml(R.layout.folder_icon, this, (ViewGroup) workspace.getChildAt(workspace.getCurrentPage()), (FolderInfo) item); - if (!mHideIconLabels) { - newFolder.setTextVisible(false); - } + newFolder.setTextVisible(!mHideIconLabels); workspace.addInScreen(newFolder, item.container, item.screen, item.cellX, item.cellY, 1, 1, false); break; |