From 8ec2cc8582084bc1072541bfc3012f30707f8c84 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Mon, 30 Jul 2018 17:32:18 +0200 Subject: [PATCH] FloatingActionsMenu: don't wrap context on asus api 21 Works around frameworks bug. Signed-off-by: Jason A. Donenfeld --- .../wireguard/android/widget/fab/FloatingActionsMenu.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java b/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java index e71793d9..ca71d712 100644 --- a/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java +++ b/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java @@ -17,6 +17,7 @@ import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; +import android.os.Build; import android.os.Parcel; import android.os.Parcelable; import android.support.annotation.Keep; @@ -392,8 +393,10 @@ public class FloatingActionsMenu extends ViewGroup { } } + private static final boolean BROKEN_LABEL_STYLE = Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1 && Build.BRAND.equals("ASUS"); + private void createLabels() { - final Context context = new ContextThemeWrapper(getContext(), mLabelsStyle); + final Context context = BROKEN_LABEL_STYLE ? getContext() : new ContextThemeWrapper(getContext(), mLabelsStyle); for (int i = 0; i < mButtonsCount; i++) { final FloatingActionButton button = (FloatingActionButton) getChildAt(i); @@ -402,7 +405,8 @@ public class FloatingActionsMenu extends ViewGroup { final String title = ((LabeledFloatingActionButton) button).getTitle(); final AppCompatTextView label = new AppCompatTextView(context); - label.setTextAppearance(context, mLabelsStyle); + if (!BROKEN_LABEL_STYLE) + label.setTextAppearance(context, mLabelsStyle); label.setText(title); addView(label);