Fix hidden API access for Android style

Use public API and attributes to retrieve part of the Android
style values instead of using reflection to access hidden or
private fields. This latter method, was throwing lots of warnings
or exceptions at the start of apps making it big annoyance to deal
with.

This patch doesn't handle drawables though, so the "full" and
"default" Android style will be somehow broken still for now.
For that reason, the default style extraction method is set to
minimal to avoid getting warnings about it, and Fusion style
could be used for Widgets apps, and for QML apps, it's recommended
to use the Material style from Quick Controls 2.

Pick-to: 6.2 5.15 6.1
Task-number: QTBUG-71590
Change-Id: If87895dc66751e23c9f4ea840e9f3e611aaa8833
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
This commit is contained in:
Assam Boudjelthia 2021-08-01 23:41:05 +03:00
parent 54b1ed6798
commit b5b9c264dd
2 changed files with 764 additions and 810 deletions

File diff suppressed because it is too large Load Diff

View File

@ -75,7 +75,7 @@
* none - useful for apps that don't use any of the above Qt modules -->
<meta-data
android:name="android.app.extract_android_style"
android:value="default" />
android:value="minimal" />
<!-- extract android style -->
</activity>
</application>