Open JakeWharton opened 7 years ago
Isn't this going to cause problems?
An app's alert windows always appear under critical system windows, such as the status bar and IMEs.
So, any updates?
As far as I understand, here are the issues and some solutions:
Can't do anything about that one I suppose
TYPE_SYSTEM_ERROR
must be replaced by TYPE_APPLICATION_OVERLAY
, but it messes with the sizes in onApplyWindowInsets
. The method is called first with a good value, then re-called with 0 as systemWindowInsetTop
.
Using only values greater than 0 fixes this issue
TYPE_APPLICATION_OVERLAY
Window
now lives under the system Window
s and recording actions will appear under the clock.
One solution could be to expand the overlay area (double the status bar size) ~for the initial overlay, but keep the original size for the stop button (to prevent missclick when touching the Toolbar overflow menu icon for instance)~
FYI: I can create pull requests if needed.
@SimonMarquis
but keep the original size for the stop button
This means that stop button will be underneath the status bar and any attempts to stop recording by clicking the clock area will be intercepted by status bar. Right?
I don't think the status bar intercept any touch event.
It should work like it previously did.
From what I've seen on Android O, the status bar intercepts the touch events regardless of whether targeting 25 or 26. This also happens if the overlay is drawn above the status bar (which is possible when targeting 25 or 26, though might require FLAG_LAYOUT_IN_SCREEN or some other flag).
In short, you can have an overlay in the status bar area but it won't be clickable on Android O devices.
As @marcardar pointed out (and tested myself), touch events are intercepted in this status bar area. The solution then is to replicate the start/cancel button layout which is 200% height of the regular size. (see screenshot above)
Or perhaps just shift it down (Android O and later) by the status bar height?
Only AccessibilityServices, using their own instance of WindowManager and the flag accessibility overlay can be displayed over SystemUI (statusbar, lockscreen) on Android O. You can try the behavior using Voice Access, which continues to work properly on Android O because it has an accessibility service
Telecine not working on O is a real bummer - I often send bugs to my team (Airbnb) and my friends in other companies using Telecine @JakeWharton - any progress on this https://github.com/JakeWharton/Telecine/pull/165? Happy to lend a hand if there's a decision on how to handle this
@JakeWharton any objection to me forking this - applying the patch and releasing under a new app name? I'm hit by the lack of O support every few days right now.
Still stuck on this one
Given it's been a year now: I forked, implemented the fix, added power button functionality, and published to Play.
https://play.google.com/store/apps/details?id=net.nickreynolds.screenrecorder
Happy to take feedback, feature requests, and to unpublish if Telecine is updated.
Source here: https://github.com/thenickreynolds/Telecine
I've enabled Issues on that branch so feel free to file bugs/requests.
@thenickreynolds thank you for this. So the only way to stop recording is to turn off the screen ?
If you've got questions or requests for the version I published please file issues here: https://github.com/thenickreynolds/Telecine/issues
I've replied to you Google Play review, the traditional way to stop is to tap the same location on the screen where the record button was, I'll add an option to the notification which stops recording also.
Now that O is out, a little birdy told me a few weeks ago Telecine is broken. This is presumably due to the overlay changes and I think we just need a new flag on O to make it work again.