Merge "Various icon size changes" into ub-launcher3-burnaby
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:paddingBottom="@dimen/apps_icon_top_bottom_padding"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:background="@drawable/focusable_view_bg"
|
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">
|
<declare-styleable name="BubbleTextView">
|
||||||
<attr name="layoutHorizontal" format="boolean" />
|
<attr name="layoutHorizontal" format="boolean" />
|
||||||
<attr name="iconSizeOverride" format="dimension" />
|
<attr name="iconSizeOverride" format="dimension" />
|
||||||
<attr name="iconPaddingOverride" format="dimension" />
|
<attr name="iconDisplay" format="integer">
|
||||||
<attr name="textSizeOverride" format="dimension" />
|
<enum name="workspace" value="0" />
|
||||||
|
<enum name="all_apps" value="1" />
|
||||||
|
</attr>
|
||||||
<attr name="deferShadowGeneration" format="boolean" />
|
<attr name="deferShadowGeneration" format="boolean" />
|
||||||
<attr name="customShadows" format="boolean" />
|
<attr name="customShadows" format="boolean" />
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
|||||||
@@ -52,13 +52,14 @@ public class BubbleTextView extends TextView {
|
|||||||
private static final int SHADOW_SMALL_COLOUR = 0xCC000000;
|
private static final int SHADOW_SMALL_COLOUR = 0xCC000000;
|
||||||
static final float PADDING_V = 3.0f;
|
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 Drawable mIcon;
|
||||||
private final Drawable mBackground;
|
private final Drawable mBackground;
|
||||||
private final CheckLongPressHelper mLongPressHelper;
|
private final CheckLongPressHelper mLongPressHelper;
|
||||||
private final HolographicOutlineHelper mOutlineHelper;
|
private final HolographicOutlineHelper mOutlineHelper;
|
||||||
|
|
||||||
// TODO: Remove custom background handling code, as no instance of BubbleTextView use any
|
|
||||||
// background.
|
|
||||||
private boolean mBackgroundSizeChanged;
|
private boolean mBackgroundSizeChanged;
|
||||||
|
|
||||||
private Bitmap mPressedBackground;
|
private Bitmap mPressedBackground;
|
||||||
@@ -69,8 +70,6 @@ public class BubbleTextView extends TextView {
|
|||||||
private final boolean mCustomShadowsEnabled;
|
private final boolean mCustomShadowsEnabled;
|
||||||
private final boolean mLayoutHorizontal;
|
private final boolean mLayoutHorizontal;
|
||||||
private final int mIconSize;
|
private final int mIconSize;
|
||||||
private final int mIconPaddingSize;
|
|
||||||
private final int mTextSize;
|
|
||||||
private int mTextColor;
|
private int mTextColor;
|
||||||
|
|
||||||
private boolean mStayPressed;
|
private boolean mStayPressed;
|
||||||
@@ -95,14 +94,21 @@ public class BubbleTextView extends TextView {
|
|||||||
R.styleable.BubbleTextView, defStyle, 0);
|
R.styleable.BubbleTextView, defStyle, 0);
|
||||||
mCustomShadowsEnabled = a.getBoolean(R.styleable.BubbleTextView_customShadows, true);
|
mCustomShadowsEnabled = a.getBoolean(R.styleable.BubbleTextView_customShadows, true);
|
||||||
mLayoutHorizontal = a.getBoolean(R.styleable.BubbleTextView_layoutHorizontal, false);
|
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 =
|
mDeferShadowGenerationOnTouch =
|
||||||
a.getBoolean(R.styleable.BubbleTextView_deferShadowGeneration, false);
|
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();
|
a.recycle();
|
||||||
|
|
||||||
if (mCustomShadowsEnabled) {
|
if (mCustomShadowsEnabled) {
|
||||||
@@ -128,26 +134,18 @@ public class BubbleTextView extends TextView {
|
|||||||
setAccessibilityDelegate(LauncherAppState.getInstance().getAccessibilityDelegate());
|
setAccessibilityDelegate(LauncherAppState.getInstance().getAccessibilityDelegate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onFinishInflate() {
|
public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache) {
|
||||||
super.onFinishInflate();
|
applyFromShortcutInfo(info, iconCache, false);
|
||||||
|
|
||||||
// Ensure we are using the right text size
|
|
||||||
setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache,
|
public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache,
|
||||||
boolean setDefaultPadding) {
|
boolean promiseStateChanged) {
|
||||||
applyFromShortcutInfo(info, iconCache, setDefaultPadding, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache,
|
|
||||||
boolean setDefaultPadding, boolean promiseStateChanged) {
|
|
||||||
Bitmap b = info.getIcon(iconCache);
|
Bitmap b = info.getIcon(iconCache);
|
||||||
|
|
||||||
FastBitmapDrawable iconDrawable = Utilities.createIconDrawable(b);
|
FastBitmapDrawable iconDrawable = Utilities.createIconDrawable(b);
|
||||||
iconDrawable.setGhostModeEnabled(info.isDisabled != 0);
|
iconDrawable.setGhostModeEnabled(info.isDisabled != 0);
|
||||||
|
|
||||||
setIcon(iconDrawable, mIconSize, setDefaultPadding ? mIconPaddingSize : -1);
|
setIcon(iconDrawable, mIconSize);
|
||||||
if (info.contentDescription != null) {
|
if (info.contentDescription != null) {
|
||||||
setContentDescription(info.contentDescription);
|
setContentDescription(info.contentDescription);
|
||||||
}
|
}
|
||||||
@@ -160,7 +158,7 @@ public class BubbleTextView extends TextView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void applyFromApplicationInfo(AppInfo info) {
|
public void applyFromApplicationInfo(AppInfo info) {
|
||||||
setIcon(Utilities.createIconDrawable(info.iconBitmap), mIconSize, mIconPaddingSize);
|
setIcon(Utilities.createIconDrawable(info.iconBitmap), mIconSize);
|
||||||
setText(info.title);
|
setText(info.title);
|
||||||
if (info.contentDescription != null) {
|
if (info.contentDescription != null) {
|
||||||
setContentDescription(info.contentDescription);
|
setContentDescription(info.contentDescription);
|
||||||
@@ -409,7 +407,7 @@ public class BubbleTextView extends TextView {
|
|||||||
preloadDrawable = (PreloadIconDrawable) mIcon;
|
preloadDrawable = (PreloadIconDrawable) mIcon;
|
||||||
} else {
|
} else {
|
||||||
preloadDrawable = new PreloadIconDrawable(mIcon, getPreloaderTheme());
|
preloadDrawable = new PreloadIconDrawable(mIcon, getPreloaderTheme());
|
||||||
setIcon(preloadDrawable, mIconSize, -1);
|
setIcon(preloadDrawable, mIconSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
preloadDrawable.setLevel(progressLevel);
|
preloadDrawable.setLevel(progressLevel);
|
||||||
@@ -437,7 +435,7 @@ public class BubbleTextView extends TextView {
|
|||||||
/**
|
/**
|
||||||
* Sets the icon for this view based on the layout direction.
|
* 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;
|
mIcon = icon;
|
||||||
if (iconSize != -1) {
|
if (iconSize != -1) {
|
||||||
mIcon.setBounds(0, 0, iconSize, iconSize);
|
mIcon.setBounds(0, 0, iconSize, iconSize);
|
||||||
@@ -447,9 +445,6 @@ public class BubbleTextView extends TextView {
|
|||||||
} else {
|
} else {
|
||||||
setCompoundDrawablesRelative(null, mIcon, null, null);
|
setCompoundDrawablesRelative(null, mIcon, null, null);
|
||||||
}
|
}
|
||||||
if (drawablePadding != -1) {
|
|
||||||
setCompoundDrawablePadding(drawablePadding);
|
|
||||||
}
|
|
||||||
return icon;
|
return icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -463,7 +458,7 @@ public class BubbleTextView extends TextView {
|
|||||||
applyFromApplicationInfo((AppInfo) info);
|
applyFromApplicationInfo((AppInfo) info);
|
||||||
} else if (info instanceof ShortcutInfo) {
|
} else if (info instanceof ShortcutInfo) {
|
||||||
applyFromShortcutInfo((ShortcutInfo) info,
|
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
|
// Move the item from the folder to the workspace, in the position of the folder
|
||||||
if (getItemCount() == 1) {
|
if (getItemCount() == 1) {
|
||||||
ShortcutInfo finalItem = mInfo.contents.get(0);
|
ShortcutInfo finalItem = mInfo.contents.get(0);
|
||||||
child = mLauncher.createShortcut(R.layout.application, cellLayout,
|
child = mLauncher.createShortcut(cellLayout, finalItem);
|
||||||
finalItem);
|
|
||||||
LauncherModel.addOrMoveItemInDatabase(mLauncher, finalItem, mInfo.container,
|
LauncherModel.addOrMoveItemInDatabase(mLauncher, finalItem, mInfo.container,
|
||||||
mInfo.screenId, mInfo.cellX, mInfo.cellY);
|
mInfo.screenId, mInfo.cellX, mInfo.cellY);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ public class FolderPagedView extends PagedView {
|
|||||||
public View createNewView(ShortcutInfo item) {
|
public View createNewView(ShortcutInfo item) {
|
||||||
final BubbleTextView textView = (BubbleTextView) mInflater.inflate(
|
final BubbleTextView textView = (BubbleTextView) mInflater.inflate(
|
||||||
R.layout.folder_application, null, false);
|
R.layout.folder_application, null, false);
|
||||||
textView.applyFromShortcutInfo(item, mIconCache, false);
|
textView.applyFromShortcutInfo(item, mIconCache);
|
||||||
textView.setOnClickListener(mFolder);
|
textView.setOnClickListener(mFolder);
|
||||||
textView.setOnLongClickListener(mFolder);
|
textView.setOnLongClickListener(mFolder);
|
||||||
textView.setOnFocusChangeListener(mFocusIndicatorView);
|
textView.setOnFocusChangeListener(mFocusIndicatorView);
|
||||||
|
|||||||
@@ -348,6 +348,8 @@ public class Launcher extends Activity
|
|||||||
private Canvas mFolderIconCanvas;
|
private Canvas mFolderIconCanvas;
|
||||||
private Rect mRectForFolderAnimation = new Rect();
|
private Rect mRectForFolderAnimation = new Rect();
|
||||||
|
|
||||||
|
private DeviceProfile mDeviceProfile;
|
||||||
|
|
||||||
private BubbleTextView mWaitingForResume;
|
private BubbleTextView mWaitingForResume;
|
||||||
|
|
||||||
protected static HashMap<String, CustomAppWidget> sCustomAppWidgets =
|
protected static HashMap<String, CustomAppWidget> sCustomAppWidgets =
|
||||||
@@ -424,7 +426,7 @@ public class Launcher extends Activity
|
|||||||
LauncherAppState.getLauncherProvider().setLauncherProviderChangeListener(this);
|
LauncherAppState.getLauncherProvider().setLauncherProviderChangeListener(this);
|
||||||
|
|
||||||
// Lazy-initialize the dynamic grid
|
// 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
|
// the LauncherApplication should call this, but in case of Instrumentation it might not be present yet
|
||||||
mSharedPrefs = getSharedPreferences(LauncherAppState.getSharedPreferencesKey(),
|
mSharedPrefs = getSharedPreferences(LauncherAppState.getSharedPreferencesKey(),
|
||||||
@@ -432,7 +434,7 @@ public class Launcher extends Activity
|
|||||||
mIsSafeModeEnabled = getPackageManager().isSafeMode();
|
mIsSafeModeEnabled = getPackageManager().isSafeMode();
|
||||||
mModel = app.setLauncher(this);
|
mModel = app.setLauncher(this);
|
||||||
mIconCache = app.getIconCache();
|
mIconCache = app.getIconCache();
|
||||||
mIconCache.flushInvalidIcons(grid);
|
mIconCache.flushInvalidIcons(mDeviceProfile);
|
||||||
mDragController = new DragController(this);
|
mDragController = new DragController(this);
|
||||||
mInflater = getLayoutInflater();
|
mInflater = getLayoutInflater();
|
||||||
mStateTransitionAnimation = new LauncherStateTransitionAnimation(this, this);
|
mStateTransitionAnimation = new LauncherStateTransitionAnimation(this, this);
|
||||||
@@ -458,7 +460,7 @@ public class Launcher extends Activity
|
|||||||
setContentView(R.layout.launcher);
|
setContentView(R.layout.launcher);
|
||||||
|
|
||||||
setupViews();
|
setupViews();
|
||||||
grid.layout(this);
|
mDeviceProfile.layout(this);
|
||||||
|
|
||||||
registerContentObservers();
|
registerContentObservers();
|
||||||
|
|
||||||
@@ -1518,22 +1520,22 @@ public class Launcher extends Activity
|
|||||||
* @return A View inflated from R.layout.application.
|
* @return A View inflated from R.layout.application.
|
||||||
*/
|
*/
|
||||||
View createShortcut(ShortcutInfo info) {
|
View createShortcut(ShortcutInfo info) {
|
||||||
return createShortcut(R.layout.application,
|
return createShortcut((ViewGroup) mWorkspace.getChildAt(mWorkspace.getCurrentPage()), info);
|
||||||
(ViewGroup) mWorkspace.getChildAt(mWorkspace.getCurrentPage()), info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a view representing a shortcut inflated from the specified resource.
|
* 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 parent The group the shortcut belongs to.
|
||||||
* @param info The data structure describing the shortcut.
|
* @param info The data structure describing the shortcut.
|
||||||
*
|
*
|
||||||
* @return A View inflated from layoutResId.
|
* @return A View inflated from layoutResId.
|
||||||
*/
|
*/
|
||||||
public View createShortcut(int layoutResId, ViewGroup parent, ShortcutInfo info) {
|
public View createShortcut(ViewGroup parent, ShortcutInfo info) {
|
||||||
BubbleTextView favorite = (BubbleTextView) mInflater.inflate(layoutResId, parent, false);
|
BubbleTextView favorite = (BubbleTextView) mInflater.inflate(R.layout.application,
|
||||||
favorite.applyFromShortcutInfo(info, mIconCache, true);
|
parent, false);
|
||||||
|
favorite.applyFromShortcutInfo(info, mIconCache);
|
||||||
|
favorite.setCompoundDrawablePadding(mDeviceProfile.iconDrawablePaddingPx);
|
||||||
favorite.setOnClickListener(this);
|
favorite.setOnClickListener(this);
|
||||||
favorite.setOnFocusChangeListener(mFocusHandler);
|
favorite.setOnFocusChangeListener(mFocusHandler);
|
||||||
return favorite;
|
return favorite;
|
||||||
@@ -4183,13 +4185,11 @@ public class Launcher extends Activity
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean useVerticalBarLayout() {
|
public boolean useVerticalBarLayout() {
|
||||||
return LauncherAppState.getInstance().getDynamicGrid().
|
return mDeviceProfile.isVerticalBarLayout();
|
||||||
getDeviceProfile().isVerticalBarLayout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Rect getSearchBarBounds() {
|
protected Rect getSearchBarBounds() {
|
||||||
return LauncherAppState.getInstance().getDynamicGrid().
|
return mDeviceProfile.getSearchBarBounds();
|
||||||
getDeviceProfile().getSearchBarBounds();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void bindSearchablesChanged() {
|
public void bindSearchablesChanged() {
|
||||||
|
|||||||
@@ -3558,8 +3558,7 @@ public class Workspace extends SmoothPagedView
|
|||||||
// Came from all apps -- make a copy
|
// Came from all apps -- make a copy
|
||||||
info = ((AppInfo) info).makeShortcut();
|
info = ((AppInfo) info).makeShortcut();
|
||||||
}
|
}
|
||||||
view = mLauncher.createShortcut(R.layout.application, cellLayout,
|
view = mLauncher.createShortcut(cellLayout, (ShortcutInfo) info);
|
||||||
(ShortcutInfo) info);
|
|
||||||
break;
|
break;
|
||||||
case LauncherSettings.Favorites.ITEM_TYPE_FOLDER:
|
case LauncherSettings.Favorites.ITEM_TYPE_FOLDER:
|
||||||
view = FolderIcon.fromXml(R.layout.folder_icon, mLauncher, cellLayout,
|
view = FolderIcon.fromXml(R.layout.folder_icon, mLauncher, cellLayout,
|
||||||
@@ -4185,7 +4184,7 @@ public class Workspace extends SmoothPagedView
|
|||||||
&& packageNames.contains(cn.getPackageName())) {
|
&& packageNames.contains(cn.getPackageName())) {
|
||||||
shortcutInfo.isDisabled |= reason;
|
shortcutInfo.isDisabled |= reason;
|
||||||
BubbleTextView shortcut = (BubbleTextView) v;
|
BubbleTextView shortcut = (BubbleTextView) v;
|
||||||
shortcut.applyFromShortcutInfo(shortcutInfo, mIconCache, false);
|
shortcut.applyFromShortcutInfo(shortcutInfo, mIconCache);
|
||||||
|
|
||||||
if (parent != null) {
|
if (parent != null) {
|
||||||
parent.invalidate();
|
parent.invalidate();
|
||||||
@@ -4371,7 +4370,7 @@ public class Workspace extends SmoothPagedView
|
|||||||
BubbleTextView shortcut = (BubbleTextView) v;
|
BubbleTextView shortcut = (BubbleTextView) v;
|
||||||
boolean oldPromiseState = getTextViewIcon(shortcut)
|
boolean oldPromiseState = getTextViewIcon(shortcut)
|
||||||
instanceof PreloadIconDrawable;
|
instanceof PreloadIconDrawable;
|
||||||
shortcut.applyFromShortcutInfo(si, mIconCache, false,
|
shortcut.applyFromShortcutInfo(si, mIconCache,
|
||||||
si.isPromise() != oldPromiseState);
|
si.isPromise() != oldPromiseState);
|
||||||
|
|
||||||
if (parent != null) {
|
if (parent != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user