Closed Bug 1394404 Opened 2 years ago Closed 2 years ago

(photon) Custom tabs - the loading indicator doesn't fully load and it has different colors

Categories

(Firefox for Android :: Theme and Visual Design, defect, P2)

57 Branch
ARM
Android
defect

Tracking

()

VERIFIED FIXED
Firefox 57
Tracking Status
firefox57 --- verified

People

(Reporter: oana.horvath, Assigned: jwu)

References

(Blocks 3 open bugs)

Details

(Whiteboard: [FNC][SPT57.3][INT])

Attachments

(3 files)

Attached video recording.mp4
Devices:
HTC Nexus 9 (Android 7.1.1)
HTC Desire 820 (Android 6.0.1)
Huawei Honor 5X (Android 5.1.1)

Build: Nightly 57.0a1 (2017-08-28);

Steps to reproduce:
1. In Settings>Advanced, make sure to have Custom tabs turned On.
2. Make Nightly the default browser.
3. Open the gmail app and open a link. Observe the loading bar.
4. Sign in on Gmail in a custom tab. Observe the loading bar.

Expected result:
When the page is loaded, the progress bar should go to full length to indicate that it has finished. It should not freeze & should be blue (per Bug 1366672).


Actual result:
The loading indicator never goes to the full length, even if a page loads a bit slower, the bar would freeze somewhere at 3/4. 
When signing in to Gmail, an orange bar appears, even after the blue bar starts to load.
See video attached.
Whiteboard: [FNC][SPT57.3][INT]
I believe the orange bar in the video is displayed by the page content, not Fennec.

Nevin, can you guys take care of updating the progress bar status? I think we just did something generic in onPageStart() in order to get something on the screen and it probably needs more refinement.
Flags: needinfo?(cnevinchen)
Hi Julian
Is this something you are working on?
Flags: needinfo?(cnevinchen) → needinfo?(walkingice0204)
Flags: needinfo?(cnevinchen)
Priority: -- → P2
Our new animated progress bar follows the logic[1] to hide itself:

1. When its progress value reaches 100, it disappears gracefully(with animation), otherwise, 
2. It just disappears directly.

To make sure the progress bar always looked like fully loaded, we have to set its progress value to 100 before calling `setVisiblity(View.GONE)` in `CustomTabsActivity#updateProgress(int)` [2]

[1] https://dxr.mozilla.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/widget/AnimatedProgressBar.java#190-195
[2] https://dxr.mozilla.org/mozilla-central/source/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java#416
Current progress bar acts like Jing-wei said. I see in current CustomTabsActivity.onPageStop, it regards 'page-stop' as page-loading-completed(100%). I think we can set progress 100 before hiding it.
Flags: needinfo?(walkingice0204)
Comment on attachment 8905863 [details]
Bug 1394404 - Part 1: Update AnimatedProgressBar's progress value to 100 before hiding it.

https://reviewboard.mozilla.org/r/177682/#review183160
Attachment #8905863 - Flags: review?(walkingice0204) → review+
Comment on attachment 8905864 [details]
Bug 1394404 - Part 2: Keep AnimatedProgressBar has same height in both BrowserApp and CustomTabsActivity.

https://reviewboard.mozilla.org/r/177684/#review183162
Attachment #8905864 - Flags: review?(walkingice0204) → review+
Pushed by topwu.tw@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/a2ed5fdd3fc3
Part 1: Update AnimatedProgressBar's progress value to 100 before hiding it. r=walkingice
https://hg.mozilla.org/integration/autoland/rev/1f1893590a1d
Part 2: Keep AnimatedProgressBar has same height in both BrowserApp and CustomTabsActivity. r=walkingice
Verified as fixed on Nightly 57 (2017-09-15).
Devices:
Asus ZenPad 8.0 Z380KL (Android 6.0.1)
Samsung Galaxy Note 4 (Android 5.0.1)
HTC 10 (Android 7.0.1)
Status: RESOLVED → VERIFIED
Flags: needinfo?(cnevinchen)
Assignee: nobody → topwu.tw
You need to log in before you can comment on or make changes to this bug.