From 32a419229ae3a6165e3c793ff132bb9803594fb0 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 28 Mar 2016 15:28:43 +0300 Subject: Fix wrong style of QMessageBox on Android. Extracting the theme information seems pretty buggy on some Android devices, so let the platform functions do it instead. Task-number: QTBUG-35687 Change-Id: Ib27e846fad98624c3c396dab06d476281de693f7 Reviewed-by: Christian Stromme --- .../qt5/android/QtMessageDialogHelper.java | 32 +++------------------- 1 file changed, 4 insertions(+), 28 deletions(-) (limited to 'src/android') diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java b/src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java index 341bc159c8..f9ece74de3 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java +++ b/src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java @@ -1,6 +1,6 @@ /**************************************************************************** ** - ** Copyright (C) 2013 BogDan Vatra + ** Copyright (C) 2016 BogDan Vatra ** Contact: http://www.qt.io/licensing/ ** ** This file is part of the Android port of the Qt Toolkit. @@ -172,30 +172,6 @@ public class QtMessageDialogHelper m_buttonsList.add(new ButtonStruct(this, id, text)); } - private void setTextAppearance(TextView view, String attr, String style) - { - try { - int[] attrs = (int[]) Class.forName("android.R$styleable").getDeclaredField("TextAppearance").get(null); - final TypedArray a = m_theme.obtainStyledAttributes(null, - attrs, - Class.forName("android.R$attr").getDeclaredField(attr).getInt(null), - Class.forName("android.R$style").getDeclaredField(style).getInt(null)); - final int textSize = a.getDimensionPixelSize( - Class.forName("android.R$styleable").getDeclaredField("TextAppearance_textSize").getInt(null), 0); - if (textSize != 0) - view.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); - - final int textColor = a.getColor( - Class.forName("android.R$styleable").getDeclaredField("TextAppearance_textColor").getInt(null), 0x3138); - if (textColor != 0x3138) - view.setTextColor(textColor); - - a.recycle(); - } catch (Exception e) { - e.printStackTrace(); - } - } - private Drawable getStyledDrawable(String drawable) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException { int[] attrs = {Class.forName("android.R$attr").getDeclaredField(drawable).getInt(null)}; @@ -252,7 +228,7 @@ public class QtMessageDialogHelper view.setLongClickable(true); view.setText(m_text); - setTextAppearance(view, "textAppearanceMedium", "TextAppearance_Medium"); + view.setTextAppearance(m_activity, android.R.style.TextAppearance_Medium); RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT); layout.setMargins(16, 8, 16, 8); @@ -269,7 +245,7 @@ public class QtMessageDialogHelper view.setLongClickable(true); view.setText(m_informativeText); - setTextAppearance(view, "textAppearanceMedium", "TextAppearance_Medium"); + view.setTextAppearance(m_activity, android.R.style.TextAppearance_Medium); RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT); layout.setMargins(16, 8, 16, 8); @@ -289,7 +265,7 @@ public class QtMessageDialogHelper view.setLongClickable(true); view.setText(m_detailedText); - setTextAppearance(view, "textAppearanceSmall", "TextAppearance_Small"); + view.setTextAppearance(m_activity, android.R.style.TextAppearance_Small); RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT); layout.setMargins(16, 8, 16, 8); -- cgit v1.2.3