JakeWharton / Telecine

Record full-resolution video on your Android devices.
Apache License 2.0
2.47k stars 460 forks source link

Update for O #149

Open JakeWharton opened 7 years ago

JakeWharton commented 7 years ago

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.

JakeWharton commented 7 years ago

https://developer.android.com/preview/behavior-changes.html#cwt

marcardar commented 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.

borjaruiz commented 7 years ago

So, any updates?

SimonMarquis commented 7 years ago

As far as I understand, here are the issues and some solutions:

FYI: I can create pull requests if needed.

andreilisun commented 7 years ago

@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?

SimonMarquis commented 7 years ago

I don't think the status bar intercept any touch event.
It should work like it previously did.

marcardar commented 7 years ago

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.

SimonMarquis commented 7 years ago

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)

marcardar commented 7 years ago

Or perhaps just shift it down (Android O and later) by the status bar height?

LouisCAD commented 7 years ago

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

thenickreynolds commented 6 years ago

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

thenickreynolds commented 6 years ago

@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.

Danm72 commented 6 years ago

Still stuck on this one

thenickreynolds commented 6 years ago

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.

mderazon commented 6 years ago

@thenickreynolds thank you for this. So the only way to stop recording is to turn off the screen ?

thenickreynolds commented 6 years ago

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.