Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#12723 closed defect (fixed)

Screen flicker problem on some Android devices

Reported by: ykami Owned by: ykami
Priority: high Milestone: 1.7
Component: DojoX Mobile Version: 1.6.0
Keywords: 1.7-mobile Cc:
Blocked By: Blocking:

Description

After making transition between ScrollableViews, the screen flickers. This happens only on newer Android devices. Probably Android 2.2 or later.

Attachments (2)

index.html (1.6 KB) - added by zhangyp 8 years ago.
some way to solve the flicker problem
test.patch (8.6 KB) - added by zhangyp 8 years ago.

Download all attachments as: .zip

Change History (28)

comment:2 Changed 8 years ago by ykami

Resolution: fixed
Status: newclosed

(In [24484]) Fixes #12723 !strict. Added workaround for android screen flicker problem.

comment:3 Changed 8 years ago by ykami

(In [24532]) Fixes #12723 !strict. Added workaround for android screen flicker problem.

comment:4 Changed 8 years ago by ykami

(In [24533]) Fixes #12723 !strict. Added workaround for android screen flicker problem.

comment:5 Changed 8 years ago by bill

Milestone: 1.71.6.1

([24533] merged the trunk changes to the 1.6 branch)

comment:6 Changed 8 years ago by ykami

(In [24660]) Refs #12723 !strict. Added -webkit-transform to avoid screen flicker.

comment:7 Changed 8 years ago by ykami

Milestone: 1.6.11.7
Priority: normalhigh
Resolution: fixed
Status: closedreopened

Flicker problem still remains especially when making a reverse slide transition. Also, the fix has a severe side-effect, which disables CSS3 rotation effects.

Changed 8 years ago by zhangyp

Attachment: index.html added

some way to solve the flicker problem

comment:8 Changed 8 years ago by zhangyp

Kamiyama Sann, I think probably you are doing similar ways to solve the flicker problem.

comment:9 Changed 8 years ago by ykami

Thanks for the information. (I saw that trick on some web site.) Webkit on newer android devices (android 2.2 or 2.3) seems to have problems around css3 animations. For example, rotateY does not work, thus the flip animation does not work. Both the flicker problem and the rotateY problem cannot be seen on an android 2.1 device. So far we found setting webkitBackfaceVisibility and webkitPerspective could solve the flicker issue and we are now testing.

comment:10 Changed 8 years ago by zhangyp

Another problem is that after the previous transition, if I click button to start another transition immediately, the animation effect is lost. This happens on test_transition-animations.html when I was using Galaxy S phone. The method mentioned above could solve this problem. Please also take a look whether webkitBackfaceVisibility and webkitPerspective could also solve that. Thanks. I have submitted a patch based on revision 24677. After the modification, the slide transition in test_transition-animations.html solve the problem mentioned above.

Changed 8 years ago by zhangyp

Attachment: test.patch added

comment:11 Changed 8 years ago by ykami

(In [24844]) Refs #12723 !strict Temporary fix to workaround CSS3 rotation problem on Android devices. Not a perfect solution. Will revisit soon.

comment:12 Changed 8 years ago by ykami

(In [24890]) Refs #12723 !strict Removed 50% definition from the scrollbar keyframes, because webkit on android 2.2/2.3 causes error with it.

comment:13 Changed 8 years ago by ykami

(In [24891]) Refs #12723 !strict Added -webkit-animation-fill-mode: forwards;

comment:14 Changed 8 years ago by ykami

(In [24905]) Refs #12723 !strict Removed webkitBackfaceVisibility and added webkitTransform:translate3d(0,0,0) instead. This fix has side-effect on html form controls. Investigation continues.

comment:15 Changed 8 years ago by ykami

(In [24914]) Refs #12723 !strict Removed webkitBackfaceVisibility and added webkitTransform:translate3d(0,0,0) instead. This fix has side-effect on html form controls. Investigation continues.

comment:16 Changed 8 years ago by zhangyp

Kamiyama Sann, reveal effect still does not work on scrollable view.

comment:17 Changed 8 years ago by ykami

(In [24969]) Refs #12723 !strict Renamed mblDisableAndroidWorkaround to mblAndroidWorkaround

comment:18 Changed 8 years ago by ykami

(In [25018]) Refs #12723 !strict To prevent being unexpectedly locked

comment:19 Changed 8 years ago by ykami

Remaining issue is buttons (both <button> and <input type="button">) are not rendered correctly if the workaround for the flicker issue is applied.

comment:20 Changed 8 years ago by ykami

Resolution: fixed
Status: reopenedclosed

(In [25058]) Fixes #12723 Added workaround to avoid buttons disappear due to the side-effect of the webkitTransform workaroud code

comment:21 Changed 8 years ago by ykami

(In [25150]) Fixes #12723 !strict Workaround to avoid a side-effect of the screen flicker workaround.

comment:22 Changed 8 years ago by ykami

(In [25180]) Fixes #12723 !strict Added workaround for auto-scroll issue when focusing input fields

comment:23 Changed 8 years ago by ykami

(In [25198]) Fixes #12723 !strict Workaround to avoid screen flicker and missing button problems on Motorola XOOM

comment:24 Changed 8 years ago by ykami

(In [25309]) Refs #12723 !strict Android flicker workaround should not affect the other platform. It should be applied only when android is being used.

comment:25 Changed 8 years ago by ykami

(In [25316]) Refs #12723 !strict Reverted the previous change for onFlickAnimationEnd.

comment:26 Changed 8 years ago by Ming Zhe Huang

Looks like some animations still not work on Android 2.2/2.3. I've split a new defect for tracking it: http://trac.dojotoolkit.org/ticket/13154.

Note: See TracTickets for help on using tickets.