ViewPump
ViewPump copied to clipboard
View Inflation you can intercept.
We have this crash repeated hundreds of times each month. It is basically our major crash reason in the app. I have seen that the issue is coming during inflation,...
io.github.inflationx.viewpump.internal.-ViewPumpLayoutInflater$NameAndAttrsViewCreator.onCreateView (-ViewPumpLayoutInflater.java:290) io.github.inflationx.viewpump.internal.-FallbackViewCreationInterceptor.intercept (-FallbackViewCreationInterceptor.java:14) io.github.inflationx.viewpump.internal.-InterceptorChain.proceed (-InterceptorChain.java:30) io.github.inflationx.calligraphy3.CalligraphyInterceptor.intercept (CalligraphyInterceptor.java:18) io.github.inflationx.viewpump.internal.-InterceptorChain.proceed (-InterceptorChain.java:30) io.github.inflationx.viewpump.ViewPump.inflate (ViewPump.java:36) io.github.inflationx.viewpump.internal.-ViewPumpLayoutInflater.onCreateView (-ViewPumpLayoutInflater.java:169) android.view.LayoutInflater.onCreateView (LayoutInflater.java:682) io.github.inflationx.viewpump.internal.-ViewPumpLayoutInflater.superOnCreateView (-ViewPumpLayoutInflater.java:233) io.github.inflationx.viewpump.internal.-ViewPumpLayoutInflater.access$superOnCreateView (-ViewPumpLayoutInflater.java:19) io.github.inflationx.viewpump.internal.-ViewPumpLayoutInflater$ParentAndNameAndAttrsViewCreator.onCreateView (-ViewPumpLayoutInflater.java:271) io.github.inflationx.viewpump.internal.-FallbackViewCreationInterceptor.intercept (-FallbackViewCreationInterceptor.java:14) io.github.inflationx.viewpump.internal.-InterceptorChain.proceed (-InterceptorChain.java:30) io.github.inflationx.calligraphy3.CalligraphyInterceptor.intercept (CalligraphyInterceptor.java:18) io.github.inflationx.viewpump.internal.-InterceptorChain.proceed (-InterceptorChain.java:30)...
My app gets sometimes an ANR from that line `ViewPump.init(ViewPump.builder()` looking like this: > "main" prio=5 tid=1 Runnable > | group="main" sCount=0 dsCount=0 flags=0 obj=0x72b266f0 self=0x7c85cc3a00 > | sysTid=25641 nice=0...
It seems like the interception breaks with the newest libs. Here are my libraries versions: ``` implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.core:core-ktx:1.3.1' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.3.0-alpha02' implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation 'androidx.navigation:navigation-fragment:2.3.0' implementation 'androidx.navigation:navigation-ui:2.3.0'...
I want to be able inflate fragment's view with explicit argument driven theme. Currently there seems to be no way to inflate something through `ViewPump` using ContextThemeWrapper.
Hi folks, I have couple questions related to the intercepting pipeline. I built the sample app (latest master) and used single own built interceptor which looks this way ``` public...
- Log all views that are inflated and their inflation times - Potentially highlight views in the UI that take too long
When calling getLayoutInflater from two threads early in the application lifecycle, it's possible to hit a KotlinNullPointerException when evaluating this `lazy(NONE)`: https://github.com/InflationX/ViewPump/blob/master/viewpump/src/main/java/io/github/inflationx/viewpump/ViewPumpContextWrapper.kt#L24 While it is probably not advisable to get...
**Description** When using `androidx.preference.PreferenceFragmentCompat` ViewPump doesn't intercept inflating underlying elements. Even `PreferenceFragmentCompat` uses a different inflation process than `android.app.Fragment` by loading the elements from the XML resource, it still uses...
I try this `public InflateResult intercept(@NotNull Chain chain) { InflateRequest request = chain.request(); InflateResult result = chain.proceed(request); if (applicationTheme != null) { View view = result.view(); if (view != null)...