Comments (7)
Checking if compose is available by calling ComposeViews.isComposeAvailable
causes the loading of the ComposeViews
which causes the init of the VIEW_KEYED_TAGS_FIELD
field:
private val VIEW_KEYED_TAGS_FIELD = View::class.java.getDeclaredField("mKeyedTags")
This private field was added in 2011 https://cs.android.com/android/_/android/platform/frameworks/base/+/7db82acd8151684a886d4725ddf2790ef3a2f80e:core/java/android/view/View.java;dlc=e94d950d122005bb10e11dd18b6029d0108f2fbe
cc @zach-klippenstein we should probably do two things:
- maybe don't init the rest of the class helpers when compose isn't in the classpath
- Degrade gracefully if we can't find this field?
from radiography.
Planning to release today.
from radiography.
We should definitely just fail gracefully if it's not found, all this reflection stuff should be as forgiving as possible.
from radiography.
from radiography.
If this private field was added in 2011, but @yoavgray is seeing crashes on Android 11, which definitely has this field. I guess just vivo devices don't? Anyway, PR is up to fail gracefully: #122.
from radiography.
Hi @zach-klippenstein / @pyricau any timeline on when this fix will be released ?
from radiography.
Done: https://github.com/square/radiography/releases/tag/v2.2.0
from radiography.
Related Issues (20)
- Run Compose Sample UI tests with min, max supported Compose versions in CI HOT 1
- Explore exposing InspectorInfo in the rendering/filtering API. HOT 1
- Consider supporting Compose for Desktop HOT 1
- Update compose to alpha08 (and kotlin 1.4.20)
- Migrate to CompositionInfo
- Fix threading ambiguity in ScanScopes.findRoots()
- Update maven publish plugin to work with kotlin 1.4.30
- Misleading subtitle (!?): Text-ray goggles for your Android views. HOT 2
- Two radiography core UI tests seem to be broken on API 30 HOT 3
- Consider showing InspectorInfo in the default output of compose nodes
- Snapshot testing HOT 1
- Filtering isn't working in the sample app
- Consider exposing bounds of ComposeView HOT 1
- Compose 1.4 breaks AndroidView parsing HOT 4
- Text values not written out in newer Compose (1.5.1) HOT 5
- Support publish no-op libraries HOT 1
- Move internal classes to internal package
- Scanning stops at subcomposition boundaries HOT 3
- Suitable to include in non-fatal tracking? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from radiography.