summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2015-05-11 23:55:11 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-05-11 23:55:12 +0000
commit57ebefb5891255a23472473d5ec90b5247a334fc (patch)
tree4911ca34993b6f03b8e71c3a97e86c9ab73ba449
parentbcae8f0272f4e1c7a8736de22d96924759cbc3c6 (diff)
parentdfaccf64bd59343de483b12eee6db61c960aedce (diff)
downloadandroid_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.xml21
-rw-r--r--res/layout/apps_grid_row_icon_view.xml3
-rw-r--r--res/layout/apps_list_row_view.xml33
-rw-r--r--res/values/attrs.xml6
-rw-r--r--src/com/android/launcher3/BubbleTextView.java53
-rw-r--r--src/com/android/launcher3/Folder.java3
-rw-r--r--src/com/android/launcher3/FolderPagedView.java2
-rw-r--r--src/com/android/launcher3/Launcher.java26
-rw-r--r--src/com/android/launcher3/Workspace.java7
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) {