diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2015-05-11 23:55:11 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-05-11 23:55:12 +0000 |
commit | 57ebefb5891255a23472473d5ec90b5247a334fc (patch) | |
tree | 4911ca34993b6f03b8e71c3a97e86c9ab73ba449 | |
parent | bcae8f0272f4e1c7a8736de22d96924759cbc3c6 (diff) | |
parent | dfaccf64bd59343de483b12eee6db61c960aedce (diff) | |
download | android_packages_apps_Trebuchet-57ebefb5891255a23472473d5ec90b5247a334fc.tar.gz android_packages_apps_Trebuchet-57ebefb5891255a23472473d5ec90b5247a334fc.tar.bz2 android_packages_apps_Trebuchet-57ebefb5891255a23472473d5ec90b5247a334fc.zip |
Merge "Various icon size changes" into ub-launcher3-burnaby
-rw-r--r-- | res/layout/apps_customize_application.xml | 21 | ||||
-rw-r--r-- | res/layout/apps_grid_row_icon_view.xml | 3 | ||||
-rw-r--r-- | res/layout/apps_list_row_view.xml | 33 | ||||
-rw-r--r-- | res/values/attrs.xml | 6 | ||||
-rw-r--r-- | src/com/android/launcher3/BubbleTextView.java | 53 | ||||
-rw-r--r-- | src/com/android/launcher3/Folder.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/FolderPagedView.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 26 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 7 |
9 files changed, 48 insertions, 106 deletions
diff --git a/res/layout/apps_customize_application.xml b/res/layout/apps_customize_application.xml deleted file mode 100644 index c56cdf3d2..000000000 --- a/res/layout/apps_customize_application.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<com.android.launcher3.BubbleTextView - xmlns:android="http://schemas.android.com/apk/res/android" - style="@style/WorkspaceIcon.AppsCustomize" - android:id="@+id/application_icon" - android:focusable="true" /> diff --git a/res/layout/apps_grid_row_icon_view.xml b/res/layout/apps_grid_row_icon_view.xml index 149e28e2d..acb3da334 100644 --- a/res/layout/apps_grid_row_icon_view.xml +++ b/res/layout/apps_grid_row_icon_view.xml @@ -25,5 +25,6 @@ android:paddingBottom="@dimen/apps_icon_top_bottom_padding" android:focusable="true" android:background="@drawable/focusable_view_bg" - launcher:deferShadowGeneration="true" /> + launcher:deferShadowGeneration="true" + launcher:iconDisplay="all_apps" /> diff --git a/res/layout/apps_list_row_view.xml b/res/layout/apps_list_row_view.xml deleted file mode 100644 index e80285b95..000000000 --- a/res/layout/apps_list_row_view.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2015 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="@dimen/apps_view_row_height" - android:orientation="horizontal" - android:focusable="true" - android:background="@drawable/focusable_view_bg" - android:descendantFocusability="afterDescendants"> - <TextView - android:id="@+id/section" - android:layout_width="64dp" - android:layout_height="match_parent" - android:paddingLeft="16dp" - android:gravity="start|center_vertical" - android:textColor="@color/apps_view_section_text_color" - android:textSize="@dimen/apps_view_section_text_size" - android:focusable="false" /> -</LinearLayout> diff --git a/res/values/attrs.xml b/res/values/attrs.xml index a1f28452a..fee3417b0 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -22,8 +22,10 @@ <declare-styleable name="BubbleTextView"> <attr name="layoutHorizontal" format="boolean" /> <attr name="iconSizeOverride" format="dimension" /> - <attr name="iconPaddingOverride" format="dimension" /> - <attr name="textSizeOverride" format="dimension" /> + <attr name="iconDisplay" format="integer"> + <enum name="workspace" value="0" /> + <enum name="all_apps" value="1" /> + </attr> <attr name="deferShadowGeneration" format="boolean" /> <attr name="customShadows" format="boolean" /> </declare-styleable> diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java index ae6ebba34..009cc2ba5 100644 --- a/src/com/android/launcher3/BubbleTextView.java +++ b/src/com/android/launcher3/BubbleTextView.java @@ -52,13 +52,14 @@ public class BubbleTextView extends TextView { private static final int SHADOW_SMALL_COLOUR = 0xCC000000; static final float PADDING_V = 3.0f; + private static final int DISPLAY_WORKSPACE = 0; + private static final int DISPLAY_ALL_APPS = 1; + private Drawable mIcon; private final Drawable mBackground; private final CheckLongPressHelper mLongPressHelper; private final HolographicOutlineHelper mOutlineHelper; - // TODO: Remove custom background handling code, as no instance of BubbleTextView use any - // background. private boolean mBackgroundSizeChanged; private Bitmap mPressedBackground; @@ -69,8 +70,6 @@ public class BubbleTextView extends TextView { private final boolean mCustomShadowsEnabled; private final boolean mLayoutHorizontal; private final int mIconSize; - private final int mIconPaddingSize; - private final int mTextSize; private int mTextColor; private boolean mStayPressed; @@ -95,14 +94,21 @@ public class BubbleTextView extends TextView { R.styleable.BubbleTextView, defStyle, 0); mCustomShadowsEnabled = a.getBoolean(R.styleable.BubbleTextView_customShadows, true); mLayoutHorizontal = a.getBoolean(R.styleable.BubbleTextView_layoutHorizontal, false); - mIconSize = a.getDimensionPixelSize(R.styleable.BubbleTextView_iconSizeOverride, - grid.allAppsIconSizePx); - mIconPaddingSize = a.getDimensionPixelSize(R.styleable.BubbleTextView_iconPaddingOverride, - grid.iconDrawablePaddingPx); - mTextSize = a.getDimensionPixelSize(R.styleable.BubbleTextView_textSizeOverride, - grid.allAppsIconTextSizePx); mDeferShadowGenerationOnTouch = a.getBoolean(R.styleable.BubbleTextView_deferShadowGeneration, false); + + int display = a.getInteger(R.styleable.BubbleTextView_iconDisplay, DISPLAY_WORKSPACE); + int defaultIconSize = grid.iconSizePx; + if (display == DISPLAY_WORKSPACE) { + setTextSize(grid.iconTextSizePx); + } else if (display == DISPLAY_ALL_APPS) { + setTextSize(grid.allAppsIconTextSizePx); + defaultIconSize = grid.allAppsIconSizePx; + } + + mIconSize = a.getDimensionPixelSize(R.styleable.BubbleTextView_iconSizeOverride, + defaultIconSize); + a.recycle(); if (mCustomShadowsEnabled) { @@ -128,26 +134,18 @@ public class BubbleTextView extends TextView { setAccessibilityDelegate(LauncherAppState.getInstance().getAccessibilityDelegate()); } - public void onFinishInflate() { - super.onFinishInflate(); - - // Ensure we are using the right text size - setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize); - } - - public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache, - boolean setDefaultPadding) { - applyFromShortcutInfo(info, iconCache, setDefaultPadding, false); + public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache) { + applyFromShortcutInfo(info, iconCache, false); } public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache, - boolean setDefaultPadding, boolean promiseStateChanged) { + boolean promiseStateChanged) { Bitmap b = info.getIcon(iconCache); FastBitmapDrawable iconDrawable = Utilities.createIconDrawable(b); iconDrawable.setGhostModeEnabled(info.isDisabled != 0); - setIcon(iconDrawable, mIconSize, setDefaultPadding ? mIconPaddingSize : -1); + setIcon(iconDrawable, mIconSize); if (info.contentDescription != null) { setContentDescription(info.contentDescription); } @@ -160,7 +158,7 @@ public class BubbleTextView extends TextView { } public void applyFromApplicationInfo(AppInfo info) { - setIcon(Utilities.createIconDrawable(info.iconBitmap), mIconSize, mIconPaddingSize); + setIcon(Utilities.createIconDrawable(info.iconBitmap), mIconSize); setText(info.title); if (info.contentDescription != null) { setContentDescription(info.contentDescription); @@ -409,7 +407,7 @@ public class BubbleTextView extends TextView { preloadDrawable = (PreloadIconDrawable) mIcon; } else { preloadDrawable = new PreloadIconDrawable(mIcon, getPreloaderTheme()); - setIcon(preloadDrawable, mIconSize, -1); + setIcon(preloadDrawable, mIconSize); } preloadDrawable.setLevel(progressLevel); @@ -437,7 +435,7 @@ public class BubbleTextView extends TextView { /** * Sets the icon for this view based on the layout direction. */ - private Drawable setIcon(Drawable icon, int iconSize, int drawablePadding) { + private Drawable setIcon(Drawable icon, int iconSize) { mIcon = icon; if (iconSize != -1) { mIcon.setBounds(0, 0, iconSize, iconSize); @@ -447,9 +445,6 @@ public class BubbleTextView extends TextView { } else { setCompoundDrawablesRelative(null, mIcon, null, null); } - if (drawablePadding != -1) { - setCompoundDrawablePadding(drawablePadding); - } return icon; } @@ -463,7 +458,7 @@ public class BubbleTextView extends TextView { applyFromApplicationInfo((AppInfo) info); } else if (info instanceof ShortcutInfo) { applyFromShortcutInfo((ShortcutInfo) info, - LauncherAppState.getInstance().getIconCache(), false); + LauncherAppState.getInstance().getIconCache()); } } } diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java index 6ca488853..a955b27a7 100644 --- a/src/com/android/launcher3/Folder.java +++ b/src/com/android/launcher3/Folder.java @@ -1076,8 +1076,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList // Move the item from the folder to the workspace, in the position of the folder if (getItemCount() == 1) { ShortcutInfo finalItem = mInfo.contents.get(0); - child = mLauncher.createShortcut(R.layout.application, cellLayout, - finalItem); + child = mLauncher.createShortcut(cellLayout, finalItem); LauncherModel.addOrMoveItemInDatabase(mLauncher, finalItem, mInfo.container, mInfo.screenId, mInfo.cellX, mInfo.cellY); } diff --git a/src/com/android/launcher3/FolderPagedView.java b/src/com/android/launcher3/FolderPagedView.java index 348655f2a..05b2bbf67 100644 --- a/src/com/android/launcher3/FolderPagedView.java +++ b/src/com/android/launcher3/FolderPagedView.java @@ -198,7 +198,7 @@ public class FolderPagedView extends PagedView { public View createNewView(ShortcutInfo item) { final BubbleTextView textView = (BubbleTextView) mInflater.inflate( R.layout.folder_application, null, false); - textView.applyFromShortcutInfo(item, mIconCache, false); + textView.applyFromShortcutInfo(item, mIconCache); textView.setOnClickListener(mFolder); textView.setOnLongClickListener(mFolder); textView.setOnFocusChangeListener(mFocusIndicatorView); diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 11b1e9aa5..16e4ce644 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -348,6 +348,8 @@ public class Launcher extends Activity private Canvas mFolderIconCanvas; private Rect mRectForFolderAnimation = new Rect(); + private DeviceProfile mDeviceProfile; + private BubbleTextView mWaitingForResume; protected static HashMap<String, CustomAppWidget> sCustomAppWidgets = @@ -424,7 +426,7 @@ public class Launcher extends Activity LauncherAppState.getLauncherProvider().setLauncherProviderChangeListener(this); // Lazy-initialize the dynamic grid - DeviceProfile grid = app.initDynamicGrid(this); + mDeviceProfile = app.initDynamicGrid(this); // the LauncherApplication should call this, but in case of Instrumentation it might not be present yet mSharedPrefs = getSharedPreferences(LauncherAppState.getSharedPreferencesKey(), @@ -432,7 +434,7 @@ public class Launcher extends Activity mIsSafeModeEnabled = getPackageManager().isSafeMode(); mModel = app.setLauncher(this); mIconCache = app.getIconCache(); - mIconCache.flushInvalidIcons(grid); + mIconCache.flushInvalidIcons(mDeviceProfile); mDragController = new DragController(this); mInflater = getLayoutInflater(); mStateTransitionAnimation = new LauncherStateTransitionAnimation(this, this); @@ -458,7 +460,7 @@ public class Launcher extends Activity setContentView(R.layout.launcher); setupViews(); - grid.layout(this); + mDeviceProfile.layout(this); registerContentObservers(); @@ -1518,22 +1520,22 @@ public class Launcher extends Activity * @return A View inflated from R.layout.application. */ View createShortcut(ShortcutInfo info) { - return createShortcut(R.layout.application, - (ViewGroup) mWorkspace.getChildAt(mWorkspace.getCurrentPage()), info); + return createShortcut((ViewGroup) mWorkspace.getChildAt(mWorkspace.getCurrentPage()), info); } /** * Creates a view representing a shortcut inflated from the specified resource. * - * @param layoutResId The id of the XML layout used to create the shortcut. * @param parent The group the shortcut belongs to. * @param info The data structure describing the shortcut. * * @return A View inflated from layoutResId. */ - public View createShortcut(int layoutResId, ViewGroup parent, ShortcutInfo info) { - BubbleTextView favorite = (BubbleTextView) mInflater.inflate(layoutResId, parent, false); - favorite.applyFromShortcutInfo(info, mIconCache, true); + public View createShortcut(ViewGroup parent, ShortcutInfo info) { + BubbleTextView favorite = (BubbleTextView) mInflater.inflate(R.layout.application, + parent, false); + favorite.applyFromShortcutInfo(info, mIconCache); + favorite.setCompoundDrawablePadding(mDeviceProfile.iconDrawablePaddingPx); favorite.setOnClickListener(this); favorite.setOnFocusChangeListener(mFocusHandler); return favorite; @@ -4183,13 +4185,11 @@ public class Launcher extends Activity } public boolean useVerticalBarLayout() { - return LauncherAppState.getInstance().getDynamicGrid(). - getDeviceProfile().isVerticalBarLayout(); + return mDeviceProfile.isVerticalBarLayout(); } protected Rect getSearchBarBounds() { - return LauncherAppState.getInstance().getDynamicGrid(). - getDeviceProfile().getSearchBarBounds(); + return mDeviceProfile.getSearchBarBounds(); } public void bindSearchablesChanged() { diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 55deb8559..4004b1d90 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -3558,8 +3558,7 @@ public class Workspace extends SmoothPagedView // Came from all apps -- make a copy info = ((AppInfo) info).makeShortcut(); } - view = mLauncher.createShortcut(R.layout.application, cellLayout, - (ShortcutInfo) info); + view = mLauncher.createShortcut(cellLayout, (ShortcutInfo) info); break; case LauncherSettings.Favorites.ITEM_TYPE_FOLDER: view = FolderIcon.fromXml(R.layout.folder_icon, mLauncher, cellLayout, @@ -4185,7 +4184,7 @@ public class Workspace extends SmoothPagedView && packageNames.contains(cn.getPackageName())) { shortcutInfo.isDisabled |= reason; BubbleTextView shortcut = (BubbleTextView) v; - shortcut.applyFromShortcutInfo(shortcutInfo, mIconCache, false); + shortcut.applyFromShortcutInfo(shortcutInfo, mIconCache); if (parent != null) { parent.invalidate(); @@ -4371,7 +4370,7 @@ public class Workspace extends SmoothPagedView BubbleTextView shortcut = (BubbleTextView) v; boolean oldPromiseState = getTextViewIcon(shortcut) instanceof PreloadIconDrawable; - shortcut.applyFromShortcutInfo(si, mIconCache, false, + shortcut.applyFromShortcutInfo(si, mIconCache, si.isPromise() != oldPromiseState); if (parent != null) { |