mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 10:48:19 +00:00
Generalize support for 'App Info', 'Uninstall' and 'Delete'
This allows other DragSource's to allow this behaviour, instead of it being tied to specific source types. Change-Id: I06b7c39b1b34a0ae141245bcc13b6a0873a4c0fd
This commit is contained in:
@@ -95,7 +95,7 @@ public class DeleteDropTarget extends ButtonDropTarget {
|
||||
}
|
||||
|
||||
private boolean isAllAppsApplication(DragSource source, Object info) {
|
||||
return (source instanceof AppsCustomizePagedView) && (info instanceof AppInfo);
|
||||
return source.supportsAppInfoDropTarget() && (info instanceof AppInfo);
|
||||
}
|
||||
private boolean isAllAppsWidget(DragSource source, Object info) {
|
||||
if (source instanceof AppsCustomizePagedView) {
|
||||
@@ -175,6 +175,7 @@ public class DeleteDropTarget extends ButtonDropTarget {
|
||||
boolean isVisible = true;
|
||||
boolean useUninstallLabel = !AppsCustomizePagedView.DISABLE_ALL_APPS &&
|
||||
isAllAppsApplication(source, info);
|
||||
boolean useDeleteLabel = !useUninstallLabel && source.supportsDeleteDropTarget();
|
||||
|
||||
// If we are dragging an application from AppsCustomize, only show the control if we can
|
||||
// delete the app (it was downloaded), and rename the string to "uninstall" in such a case.
|
||||
@@ -185,15 +186,17 @@ public class DeleteDropTarget extends ButtonDropTarget {
|
||||
|
||||
if (useUninstallLabel) {
|
||||
setCompoundDrawablesRelativeWithIntrinsicBounds(mUninstallDrawable, null, null, null);
|
||||
} else {
|
||||
} else if (useDeleteLabel) {
|
||||
setCompoundDrawablesRelativeWithIntrinsicBounds(mRemoveDrawable, null, null, null);
|
||||
} else {
|
||||
isVisible = false;
|
||||
}
|
||||
mCurrentDrawable = (TransitionDrawable) getCurrentDrawable();
|
||||
|
||||
mActive = isVisible;
|
||||
resetHoverColor();
|
||||
((ViewGroup) getParent()).setVisibility(isVisible ? View.VISIBLE : View.GONE);
|
||||
if (getText().length() > 0) {
|
||||
if (isVisible && getText().length() > 0) {
|
||||
setText(useUninstallLabel ? R.string.delete_target_uninstall_label
|
||||
: R.string.delete_target_label);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user