Obsolete
Status Update
Comments
ro...@android.com <ro...@android.com>
ya...@gmail.com <ya...@gmail.com> #2
This is really critical. Every time I disconnect via "cast" my app crashes (or if I start casting with another app) my app crashes in the background because this is used by the cast API.
java.lang.NullPointerException: Attempt to write to field 'java.lang.ref.WeakReference android.support.v4.media.session.MediaSessionCompat$Callback.mSessionImpl' on a null object reference
at android.support.v4.media.session.MediaSessionCompat$MediaSessionImplApi21.setCallback(MediaSessionCompat.java:2305)
at android.support.v4.media.session.MediaSessionCompat.setCallback(MediaSessionCompat.java:267)
at android.support.v4.media.session.MediaSessionCompat.setCallback(MediaSessionCompat.java:255)
at com.google.android.gms.internal.zzxe.zzcb(Unknown Source)
at com.google.android.gms.cast.framework.CastSession.zzbV(Unknown Source)
at com.google.android.gms.cast.framework.CastSession.zza(Unknown Source)
at com.google.android.gms.cast.framework.CastSession$zzb.zzbV(Unknown Source)
java.lang.NullPointerException: Attempt to write to field 'java.lang.ref.WeakReference android.support.v4.media.session.MediaSessionCompat$Callback.mSessionImpl' on a null object reference
at android.support.v4.media.session.MediaSessionCompat$MediaSessionImplApi21.setCallback(MediaSessionCompat.java:2305)
at android.support.v4.media.session.MediaSessionCompat.setCallback(MediaSessionCompat.java:267)
at android.support.v4.media.session.MediaSessionCompat.setCallback(MediaSessionCompat.java:255)
at com.google.android.gms.internal.zzxe.zzcb(Unknown Source)
at com.google.android.gms.cast.framework.CastSession.zzbV(Unknown Source)
at com.google.android.gms.cast.framework.CastSession.zza(Unknown Source)
at com.google.android.gms.cast.framework.CastSession$zzb.zzbV(Unknown Source)
ah...@gmail.com <ah...@gmail.com> #3
Hi,
Request you to provide below information
Please attach your sample android project which reproduces the issue, zip it and share(just to avoid the confusion between your sample code and the one we create to replicate the issue,sample code is requested here).
Explain expected and observed behavior? Attach screen shots for more clarity.
Explain the steps to reproduce the issue with your apk. Provide all necessary information to reproduce the issue.
Note: Please upload the attachments to google drive and share the folder to android-bugreport@google.com, then share the link here.
Request you to provide below information
Please attach your sample android project which reproduces the issue, zip it and share(just to avoid the confusion between your sample code and the one we create to replicate the issue,sample code is requested here).
Explain expected and observed behavior? Attach screen shots for more clarity.
Explain the steps to reproduce the issue with your apk. Provide all necessary information to reproduce the issue.
Note: Please upload the attachments to google drive and share the folder to android-bugreport@google.com, then share the link here.
he...@gmail.com <he...@gmail.com> #4
here you go
https://drive.google.com/drive/folders/0B4FfLhYv65yoVmJKd2c1QkdxMGs?usp=sharing
Expected behavior: don't crash.
Observed: NullPointerException
To reproduce, just run the application on Android API 23+
Expected behavior: don't crash.
Observed: NullPointerException
To reproduce, just run the application on Android API 23+
ja...@gmail.com <ja...@gmail.com> #5
You can also reproduce the "Cast" issue using the UAMP sample which is found here:
https://github.com/googlesamples/android-UniversalMusicPlayer
Just update mobile/build.gradle to use 25.1.0 and the compile/target to 25. You just then need to start casting and then disconnect from cast. You don't even have to play content.
Just update mobile/build.gradle to use 25.1.0 and the compile/target to 25. You just then need to start casting and then disconnect from cast. You don't even have to play content.
ba...@gmail.com <ba...@gmail.com> #6
I am seeing the same on disconnect on Lollipop. This issue was introduced in v25.1.0--it is not an issue in v25.0.1.
12-14 11:39:27.742: E/UncaughtExceptionHandler(2212): Uncaught exception: java.lang.NullPointerException: Attempt to write to field 'java.lang.ref.WeakReference android.support.v4.media.session.MediaSessionCompat$Callback.mSessionImpl' on a null object reference
12-14 11:39:27.774: E/AndroidRuntime(2212): FATAL EXCEPTION: main
12-14 11:39:27.774: E/AndroidRuntime(2212): java.lang.NullPointerException: Attempt to write to field 'java.lang.ref.WeakReference android.support.v4.media.session.MediaSessionCompat$Callback.mSessionImpl' on a null object reference
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.support.v4.media.session.MediaSessionCompat$MediaSessionImplApi21.setCallback(MediaSessionCompat.java:2305)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.support.v4.media.session.MediaSessionCompat.setCallback(MediaSessionCompat.java:267)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.support.v4.media.session.MediaSessionCompat.setCallback(MediaSessionCompat.java:255)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.internal.zzxe.zzcb(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.CastSession.zzbV(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.CastSession.zza(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.CastSession$zzb.zzbV(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.zzf$zza.onTransact(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Binder.transact(Binder.java:499)
12-14 11:39:27.774: E/AndroidRuntime(2212): at zt.a(:com.google.android.gms.DynamiteModulesC:199)
12-14 11:39:27.774: E/AndroidRuntime(2212): at zj.a(:com.google.android.gms.DynamiteModulesC:128)
12-14 11:39:27.774: E/AndroidRuntime(2212): at zy.onTransact(:com.google.android.gms.DynamiteModulesC:122)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Binder.transact(Binder.java:499)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.zzh$zza$zza.zzb(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.CastSession.end(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.Session$zza.end(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.zzq$zza.onTransact(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Binder.transact(Binder.java:499)
12-14 11:39:27.774: E/AndroidRuntime(2212): at aba.a(:com.google.android.gms.DynamiteModulesC:216)
12-14 11:39:27.774: E/AndroidRuntime(2212): at abi.a(:com.google.android.gms.DynamiteModulesC:305)
12-14 11:39:27.774: E/AndroidRuntime(2212): at ace.a(:com.google.android.gms.DynamiteModulesC:61)
12-14 11:39:27.774: E/AndroidRuntime(2212): at acb.onTransact(:com.google.android.gms.DynamiteModulesC:144)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Binder.transact(Binder.java:499)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.internal.zzwv$zza$zza.zza(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.internal.zzwy.onRouteUnselected(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.support.v7.media.MediaRouter$GlobalMediaRouter$CallbackHandler.invokeCallback(MediaRouter.java:2999)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.support.v7.media.MediaRouter$GlobalMediaRouter$CallbackHandler.handleMessage(MediaRouter.java:2946)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Handler.dispatchMessage(Handler.java:102)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Looper.loop(Looper.java:154)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.app.ActivityThread.main(ActivityThread.java:6119)
12-14 11:39:27.774: E/AndroidRuntime(2212): at java.lang.reflect.Method.invoke(Native Method)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
12-14 11:39:27.742: E/UncaughtExceptionHandler(2212): Uncaught exception: java.lang.NullPointerException: Attempt to write to field 'java.lang.ref.WeakReference android.support.v4.media.session.MediaSessionCompat$Callback.mSessionImpl' on a null object reference
12-14 11:39:27.774: E/AndroidRuntime(2212): FATAL EXCEPTION: main
12-14 11:39:27.774: E/AndroidRuntime(2212): java.lang.NullPointerException: Attempt to write to field 'java.lang.ref.WeakReference android.support.v4.media.session.MediaSessionCompat$Callback.mSessionImpl' on a null object reference
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.support.v4.media.session.MediaSessionCompat$MediaSessionImplApi21.setCallback(MediaSessionCompat.java:2305)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.support.v4.media.session.MediaSessionCompat.setCallback(MediaSessionCompat.java:267)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.support.v4.media.session.MediaSessionCompat.setCallback(MediaSessionCompat.java:255)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.internal.zzxe.zzcb(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.CastSession.zzbV(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.CastSession.zza(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.CastSession$zzb.zzbV(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.zzf$zza.onTransact(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Binder.transact(Binder.java:499)
12-14 11:39:27.774: E/AndroidRuntime(2212): at zt.a(:com.google.android.gms.DynamiteModulesC:199)
12-14 11:39:27.774: E/AndroidRuntime(2212): at zj.a(:com.google.android.gms.DynamiteModulesC:128)
12-14 11:39:27.774: E/AndroidRuntime(2212): at zy.onTransact(:com.google.android.gms.DynamiteModulesC:122)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Binder.transact(Binder.java:499)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.zzh$zza$zza.zzb(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.CastSession.end(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.Session$zza.end(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.cast.framework.zzq$zza.onTransact(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Binder.transact(Binder.java:499)
12-14 11:39:27.774: E/AndroidRuntime(2212): at aba.a(:com.google.android.gms.DynamiteModulesC:216)
12-14 11:39:27.774: E/AndroidRuntime(2212): at abi.a(:com.google.android.gms.DynamiteModulesC:305)
12-14 11:39:27.774: E/AndroidRuntime(2212): at ace.a(:com.google.android.gms.DynamiteModulesC:61)
12-14 11:39:27.774: E/AndroidRuntime(2212): at acb.onTransact(:com.google.android.gms.DynamiteModulesC:144)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Binder.transact(Binder.java:499)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.internal.zzwv$zza$zza.zza(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.google.android.gms.internal.zzwy.onRouteUnselected(Unknown Source)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.support.v7.media.MediaRouter$GlobalMediaRouter$CallbackHandler.invokeCallback(MediaRouter.java:2999)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.support.v7.media.MediaRouter$GlobalMediaRouter$CallbackHandler.handleMessage(MediaRouter.java:2946)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Handler.dispatchMessage(Handler.java:102)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.os.Looper.loop(Looper.java:154)
12-14 11:39:27.774: E/AndroidRuntime(2212): at android.app.ActivityThread.main(ActivityThread.java:6119)
12-14 11:39:27.774: E/AndroidRuntime(2212): at java.lang.reflect.Method.invoke(Native Method)
12-14 11:39:27.774: E/AndroidRuntime(2212): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
sm...@gmail.com <sm...@gmail.com> #7
The defect can be found at `android.support.v4.media.session.MediaSessionCompat.MediaSessionImplApi21#setCallback(Callback, Handler)` in the v25.1.0 of the support libraries.
The `android.support.v4.media.session.MediaSessionCompat#setCallback(Callback, Handler)` method indicates that a null value for the Callback parameter is valid, yet the `MediaSessionImplApi21` implementation attempts to write to a member variable to it.
The `android.support.v4.media.session.MediaSessionCompat#setCallback(Callback, Handler)` method indicates that a null value for the Callback parameter is valid, yet the `MediaSessionImplApi21` implementation attempts to write to a member variable to it.
lo...@gmail.com <lo...@gmail.com> #8
I also reproduced this issue, who can tell me how to fix it?
ne...@gmail.com <ne...@gmail.com> #9
The fix was already merged. The next release of support lib will have the fix.
ba...@gmail.com <ba...@gmail.com> #10
Is there a work-around for this issue until the next version of the support library is released? As far as I can tell using any version of mediarouter-v7:25.x.x causes this crash.
sm...@gmail.com <sm...@gmail.com> #11
com.android.support:mediarouter-v7:25.0.1 is working for me. Try that version again.
[Deleted User] <[Deleted User]> #13
I have tried com.android.support:mediarouter-v7:25.0.1 and com.android.support:mediarouter-v7:25.1.0 both are crashing
ba...@gmail.com <ba...@gmail.com> #14
I am using compile 'com.android.support:mediarouter-v7:25.1.0'
compile 'com.google.android.gms:play-services-cast-framework:10.0.1' and still crashing
compile 'com.google.android.gms:play-services-cast-framework:10.0.1' and still crashing
lo...@gmail.com <lo...@gmail.com> #15
Is there a work-around for this issue until the next version of the support library is released?
ma...@gmail.com <ma...@gmail.com> #16
I just tried the last fix at (https://github.com/ksloginov/RtlViewPager ) on an application i'm developing which have English and Arabic interfaces and the RtlViewPager works just fine after switching to Arabic Interface... @diego-gomez-olvera @ksloginov thanks guys for your fix a lot...
hm...@gmail.com <hm...@gmail.com> #17
I've built the support library with the fix myself, works fine
[Deleted User] <[Deleted User]> #18
In addition to reverting mediarouter back to 25.0.1, I also needed to revert appcompat-v7:25.0.1
The crash has gone away now.
The crash has gone away now.
ba...@gmail.com <ba...@gmail.com> #19
[Comment deleted]
go...@gmail.com <go...@gmail.com> #20
What is the solution for the interim? This is really annoying!
jd...@gmail.com <jd...@gmail.com> #21
[Comment deleted]
va...@gmail.com <va...@gmail.com> #22
[Comment deleted]
[Deleted User] <[Deleted User]> #23
[Comment deleted]
dr...@talkie.co.il <dr...@talkie.co.il> #24
[Comment deleted]
it...@gmail.com <it...@gmail.com> #25
any fix yet?
va...@gmail.com <va...@gmail.com> #26
WTF, 3 years later and no fix????
ni...@gmail.com <ni...@gmail.com> #27
in order for to work on rtl you need to set in the xml file two things:
1. in the TabLayout add android:layoutDirection:"ltr"
2. in the ViewPage add android:layoutDirection:"rtl"
its kind off a trick to fool the system but it works
1. in the TabLayout add android:layoutDirection:"ltr"
2. in the ViewPage add android:layoutDirection:"rtl"
its kind off a trick to fool the system but it works
ha...@gmail.com <ha...@gmail.com> #29
3 years later And still not fixed :(
os...@gmail.com <os...@gmail.com> #30
setRotationY(180) for the viewpager and the layout.
It will work.
It will work.
mt...@gmail.com <mt...@gmail.com> #31
Google developers piss on another developers so often, when exists SOME workaround... It's normal. We can found there 6 years (for people/developer critical) issues which are marks as priority small (or new without reaction)... So I think, that this issue will be there forever (maybe they take inspiration from Duke Nukem...)
di...@gmail.com <di...@gmail.com> #34
Issue is still present on 24.2.1.
in...@speaklanguages.co.uk <in...@speaklanguages.co.uk> #35
Please fix this for Christ's sake.
na...@gmail.com <na...@gmail.com> #36
The only way which worked for me was to add Fragments reversely to my extended FragmentPagerAdapter. For example :
FPA.addFragment(new Fragment_Three(), "Three");
FPA.addFragment(new Fragment_Two(), "Two");
FPA.addFragment(new Fragment_One(), "One");
Instead of :
FPA.addFragment(new Fragment_One(), "One");
FPA.addFragment(new Fragment_Two(), "Two");
FPA.addFragment(new Fragment_Three(), "Three");
After that, you just need to do this : ViewPager.setCurrentItem(FPA.getCount());
It's not official, but it did solve swiping problem for me. Hope it works for you too :-)
FPA.addFragment(new Fragment_Three(), "Three");
FPA.addFragment(new Fragment_Two(), "Two");
FPA.addFragment(new Fragment_One(), "One");
Instead of :
FPA.addFragment(new Fragment_One(), "One");
FPA.addFragment(new Fragment_Two(), "Two");
FPA.addFragment(new Fragment_Three(), "Three");
After that, you just need to do this : ViewPager.setCurrentItem(FPA.getCount());
It's not official, but it did solve swiping problem for me. Hope it works for you too :-)
an...@gmail.com <an...@gmail.com> #37
why there is no fix till now ?
va...@gmail.com <va...@gmail.com> #38
The fix provided by @nirbnz...@gmail.com is working fine for me. You don't even need to reverse the order of fragments if you use it.
in...@speaklanguages.co.uk <in...@speaklanguages.co.uk> #39
That's not a fix, it's a hack. It's hard to fathom why this issue hasn't been properly fixed by now.
mo...@webkul.com <mo...@webkul.com> #40
There are two simple step which has to follow you,
1. Change the rotation of the View pager,
viewpager.setRotationY(180);
2. Then again change the direction of the fragment container which is the child of viewpager,
recyclerView.setRotationY(180);
Note: In my case, I have used recyclerview as the child of the view pager.
1. Change the rotation of the View pager,
viewpager.setRotationY(180);
2. Then again change the direction of the fragment container which is the child of viewpager,
recyclerView.setRotationY(180);
Note: In my case, I have used recyclerview as the child of the view pager.
sk...@googlemail.com <sk...@googlemail.com> #41
Hi mobi...@webkul.com,
I tried your solution with setRotationY(180); which look good at the first point.
But now I recognized the page title is also rotated.
Any idea how to rotate the page title back ?
The view inside my PageAdapter I rotate back, but for the page title I found no solution.
Regards
Stephan
I tried your solution with setRotationY(180); which look good at the first point.
But now I recognized the page title is also rotated.
Any idea how to rotate the page title back ?
The view inside my PageAdapter I rotate back, but for the page title I found no solution.
Regards
Stephan
sk...@gmail.com <sk...@gmail.com> #42
Anyone Figure out how to rotate the Text in PagerTitleStrip back to normal after rotating Parent View?
mt...@gmail.com <mt...@gmail.com> #43
We happily use Duolingo lib: https://github.com/duolingo/rtl-viewpager without any issues, so I can recommend it.
Just replace in your code: <android.support.v4.view.ViewPager to <com.duolingo.open.rtlviewpager.RtlViewPager
Just replace in your code: <android.support.v4.view.ViewPager to <com.duolingo.open.rtlviewpager.RtlViewPager
di...@gmail.com <di...@gmail.com> #45
Guys,
Use RecyclerView with PagerSnapHelper()....it will be like a ViewPager with the benefit of a RecyclerView.
recyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
// use this setting to
// improve performance if you know that changes
// in content do not change the layout size
// of the RecyclerView
recyclerView.setHasFixedSize(true);
// use a linear layout manager
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));
List<String> input = new ArrayList<>();
for (int i = 0; i < 100; i++) {
input.add("Test" + i);
}// define an adapter
mAdapter = new MyAdapter(input);
recyclerView.setAdapter(mAdapter);
// add pager behavior
PagerSnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(recyclerView);
Use RecyclerView with PagerSnapHelper()....it will be like a ViewPager with the benefit of a RecyclerView.
recyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
// use this setting to
// improve performance if you know that changes
// in content do not change the layout size
// of the RecyclerView
recyclerView.setHasFixedSize(true);
// use a linear layout manager
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));
List<String> input = new ArrayList<>();
for (int i = 0; i < 100; i++) {
input.add("Test" + i);
}// define an adapter
mAdapter = new MyAdapter(input);
recyclerView.setAdapter(mAdapter);
// add pager behavior
PagerSnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(recyclerView);
jd...@gmail.com <jd...@gmail.com> #46
Re comment#45 : this works, however be aware that
1. You can't use Fragments as pages this way.
2. There is a bug with PagingSnapHelper getting stuck in SCROLL_STATE_DRAGGING on the first page. You can repro this by going to the first page and swiping right (in a LTR locale) so that the edge effect glows. (There's another issue in the tracker for this already, but i can't seem to find it.)
1. You can't use Fragments as pages this way.
2. There is a bug with PagingSnapHelper getting stuck in SCROLL_STATE_DRAGGING on the first page. You can repro this by going to the first page and swiping right (in a LTR locale) so that the edge effect glows. (There's another issue in the tracker for this already, but i can't seem to find it.)
cb...@google.com <cb...@google.com> #47
Is there an ETA for a proper fix?
re...@gmail.com <re...@gmail.com> #48
Scroll/swipe issues in only devices with API 28 otherwise it is working perfectly fine when i set viewPager.setRotationY(180) for Arabic Language
so please guide me guys how to fixed this issue ?
so please guide me guys how to fixed this issue ?
jd...@gmail.com <jd...@gmail.com> #49
Re comment#48 : setRotationY(180) is not a good solution, this only affects how the ViewPager draws. You will probably run into other problems this way.
The bug with PagingSnapHelper that I mentioned in comment#46 is fixed, so if you don't need your pages to be Fragments, I recommend you try the approach in comment#45 .
The bug with PagingSnapHelper that I mentioned in
sa...@google.com <sa...@google.com> #50
Thank you for the feedback. We're closing this issue as Obsolete.
If it is still observed in the latest Android release, please open a new issue inhttps://goo.gl/TbMiIO along with a reference to this issue.
If it is still observed in the latest Android release, please open a new issue in
ka...@gmail.com <ka...@gmail.com> #51
Bug is still present in latest Android release (API 30). New bug created: https://issuetracker.google.com/issues/162258739
jd...@gmail.com <jd...@gmail.com> #52
I believe this was closed because ViewPager2 is now the recommended solution, and it supports RTL:
https://developer.android.com/training/animation/vp2-migration
di...@gmail.com <di...@gmail.com> #53
For anyone that can't or doesn't want to use ViewPager2 (it doesn't fit my uses-cases, personally), give the Duolingo version a try. They did a minimal patch to ViewPager and it solves the issue.
Description
at Android 4.2.x
According to the right-to-left UI paradigm (RTL) a swipe from left to right should scroll page N to page N+1. Currently ViewPager keeps the common LTR swiping direction (a swipe from right to left scrolls page N to page N+1) even if the current locale is an RTL one (Arabic, Hebrew).