am 57ebefb5: Merge "Various icon size changes" into ub-launcher3-burnaby
* commit '57ebefb5891255a23472473d5ec90b5247a334fc': Various icon size changes
This commit is contained in:
@@ -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" />
|
||||
@@ -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" />
|
||||
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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) {
|
||||
applyFromShortcutInfo(info, iconCache, false);
|
||||
}
|
||||
|
||||
public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache,
|
||||
boolean setDefaultPadding) {
|
||||
applyFromShortcutInfo(info, iconCache, setDefaultPadding, 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user