diff --git a/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java b/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java index a69d72ae8f..28787e7f64 100644 --- a/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java +++ b/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java @@ -153,6 +153,36 @@ public class ViewPressedStateLancet { view.setOnLongClickListener(listener); } + @TargetClass(value = "android.view.View", scope = Scope.ALL) + @TargetMethod(methodName = "setBackgroundDrawable") + @ReplaceInvoke + public static void setBackgroundDrawable(View view, Drawable drawable) { + if (view == null) { + return; + } + if (!view.isLongClickable() && !view.isClickable()) { + view.setBackground(drawable); + return; + } + float alpha = getAlpha(view); + if (alpha >= 0) { + Drawable replaced = checkAndReplaceDrawable(drawable, alpha); + if (replaced != null) { + view.setTag(R.id.click_pressed_attr_replaced, drawable); + int paddingLeft = view.getPaddingLeft(); + int paddingRight = view.getPaddingRight(); + int paddingTop = view.getPaddingTop(); + int paddingBottom = view.getPaddingBottom(); + view.setBackground(replaced); + view.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom); + } else { + view.setBackground(drawable); + } + } else { + view.setBackground(drawable); + } + } + @TargetClass(value = "android.view.View", scope = Scope.ALL) @TargetMethod(methodName = "setBackground")