Giter Site home page Giter Site logo

Comments (14)

mcomella avatar mcomella commented on June 16, 2024

I cannot reproduce on the FFES gen 2. I still haven't tested gen 1.

Bisection:
v1.3: bad
eafecb0: bad
e0f942c: bad
e4da2a7: bad
986826e: good
8952c0e: good
v1.2: good

This looks like a regression from #117 (which actually landed before the new device was out 😁). There were a lot of changes in that PR, including moving the whole homescreen into a fragment, so I'm not sure how feasible it is determine what caused the issue by looking at what changed.

from firefox-echo-show.

mcomella avatar mcomella commented on June 16, 2024

Disabling toolbar scroll fixes the issues (probably because the toolbar doesn't move offscreen) but this is info to help debugging: we wouldn't want to do this in practice.

I started to bisect the the PR into sub-commits:
7072bb4: bad
55fd925: bad
7715007: good

It looks like the regression was introduced in 55fd925: with just one commit, maybe I'll have an easier time identifying what code change caused the error.

from firefox-echo-show.

mcomella avatar mcomella commented on June 16, 2024

From activity_main.xml:

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="@dimen/appbar_height"
        android:background="@color/photonGrey70"
        app:elevation="0dp">

If I remove the elevation statement, it fixes the issue. If I set the elevation to 1dp, the issue is not fixed.

Both of these changes causes the AppBar to appear over the NavigationOverlay's transparent black background so we'll need to adjust more elevation to fix the issue and keep other visuals the same.

from firefox-echo-show.

mcomella avatar mcomella commented on June 16, 2024

After testing (with values 0, 1, 8, 16), it appears if I set any elevation value in the XML layout, it will cause the WebView to stop playing when the toolbar is scrolled offscreen for an unknown reason. Setting the elevation in code with setTargetElevation (which is deprecated but actually works for AppBar, unlike elevation) has the same problem.

To work around this, I think I'll have to change the elevation of all the views around the default AppBar elevation which will fix the layering issues but will not disable the AppBar shadow like we'd prefer to do.

from firefox-echo-show.

mcomella avatar mcomella commented on June 16, 2024

And apparently no matter what elevation (i.e. 100dp) I set on the semi opaque background in the NavigationOverlayFragment, it does not draw over the AppBarLayout and gives the user access to touch it. :( I also tried reordering the views in the layout so the NavigationOverlayFragment container layout is before the app bar layout but it did not draw over first.

I think we need to do one of:

  • Disable toolbar scroll on this device (not really viable: it's a tiny device)
  • Selectively enable and disable the elevation when the toolbar is scrolled on or off screen (I'm not sure there's a listener for this or that there's any value we can set in code that would prevent this from breaking)
  • Use another mechanism to obscure the AppBarLayout (e.g. disable touch events, or draw another view on top of it (maybe by being inside the appBarLayout)) on this device

from firefox-echo-show.

mcomella avatar mcomella commented on June 16, 2024

Looking at the AppBarLayout source, it looks like the StateListAnimator that applies the elevation only gets set when app:elevation is set or targetElevation is used which would explain why it only freezes when changing the elevation. Unfortunately, nulling the state list animator doesn't appear to invert the effect so we'll have to look at option 3.

from firefox-echo-show.

mcomella avatar mcomella commented on June 16, 2024

Option 3 is working and I have a working WIP: https://github.com/mcomella/firefox-echo-show/tree/305-video-pauses I just need to clean up the commits and handle some last TODOs.

Potential alternative solution: remove the elevation have the toolbar animate offscreen when the navigation overlay is opened, at least on the Echo Show 5 where the bug is. It might look janky though. I'm going to stick with option 3 but my code is pretty hacky.

from firefox-echo-show.

mcomella avatar mcomella commented on June 16, 2024

QA: please follow the STR for testing. Please also verify the VoiceView screen reader is working as expected when clicking the menu button that opens the NavigationOverlay and dismissing it.

from firefox-echo-show.

mcomella avatar mcomella commented on June 16, 2024

Closed with c0430da.

from firefox-echo-show.

nojunpark avatar nojunpark commented on June 16, 2024

This bug is no longer reproducible, but discovered that with Accessibility enabled, one cannot scroll down the pages with video. I will open a separate bug.

from firefox-echo-show.

nojunpark avatar nojunpark commented on June 16, 2024

On 2nd look, this looks like it's due to how Echo show handles accessibility menu. (You can't scroll in general)

from firefox-echo-show.

mcomella avatar mcomella commented on June 16, 2024

@npark-mozilla I don't understand the accessibility comment: my understanding is you should be able to scroll on all WebView pages by using something like 2 or 3 fingers.

from firefox-echo-show.

nojunpark avatar nojunpark commented on June 16, 2024

When Voiceview is enabled, and on youtube mobile site, it scrolls initially with three fingers (one echo show 5), but soon after it freezes unless i disable voiceview with my command. it feels like voiceview is making the app response slower.

from firefox-echo-show.

mcomella avatar mcomella commented on June 16, 2024

it feels like voiceview is making the app response slower.

I have also experienced this: both Fire TV (particularly the Stick) and the Echo Show seem to take a non-trivial perf hit when VoiceView is enabled.

from firefox-echo-show.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.