JakeWharton / Telecine

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

Move OverlayView to below the status bar on Oreo+ #165

Closed saket closed 2 years ago

saket commented 6 years ago

telecine - oreo 2

telecine - oreo 1

This PR moves the overlay below the status bar by applying a top-padding to the View's content.

I initially wanted to do this by modifying the WindowManager.LayoutParams#y value in onApplyWindowInsets() instead, but that triggers a second onApplyMethodInsets() call with a different value for WindowInsets#getSystemWindowInsetTop() and I am not sure how to avoid/deal with that.

Fixes #149.

raveeshbhalla commented 6 years ago

I foresee a problem where the overlay view now blocks touch targets in the app below (particularly action items)

saket commented 6 years ago

I just realized that the Touch the clock area to stop recording text also needs to be updated. Any suggestions apart from Touch below the clock area to stop recording?

CDRussell commented 6 years ago

Just tried this out; this works well for me.

@raveeshbhalla is probably right that this will make it tricky to hit the app's UI behind the controls.

But right now it isn't functional at all on Oreo. This fix at least gets it going again for some/most apps.

JakeWharton commented 6 years ago

Someone suggested using the power button to stop and then waking the screen right back up and dismissing the keyguard. I thought that was interesting since it means no magic transparent UI to hit.

I'm always annoyed when the last frame of my video has a touch circle in the upper-right!

On Fri, Sep 22, 2017 at 5:03 PM Craig Russell notifications@github.com wrote:

Just tried this out; this works well for me.

@raveeshbhalla https://github.com/raveeshbhalla is probably right that this will make it tricky to hit the app's UI behind the controls.

But right now it isn't functional at all on Oreo. This fix at least gets it going again for some/most apps.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/JakeWharton/Telecine/pull/165#issuecomment-331560023, or mute the thread https://github.com/notifications/unsubscribe-auth/AAEEEQnwVA4Nu9rZhEoktyKHUIFJhbaZks5slCCigaJpZM4PXhtm .

CDRussell commented 6 years ago

Shake to stop? 😀

On Fri, Sep 22, 2017, 22:06 Jake Wharton notifications@github.com wrote:

Someone suggested using the power button to stop and then waking the screen right back up and dismissing the keyguard. I thought that was interesting since it means no magic transparent UI to hit.

I'm always annoyed when the last frame of my video has a touch circle in the upper-right!

On Fri, Sep 22, 2017 at 5:03 PM Craig Russell notifications@github.com wrote:

Just tried this out; this works well for me.

@raveeshbhalla https://github.com/raveeshbhalla is probably right that this will make it tricky to hit the app's UI behind the controls.

But right now it isn't functional at all on Oreo. This fix at least gets it going again for some/most apps.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <https://github.com/JakeWharton/Telecine/pull/165#issuecomment-331560023 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AAEEEQnwVA4Nu9rZhEoktyKHUIFJhbaZks5slCCigaJpZM4PXhtm

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/JakeWharton/Telecine/pull/165#issuecomment-331560599, or mute the thread https://github.com/notifications/unsubscribe-auth/ABRj2dJkwDkZgQ_6i5ZaO91CcyKTXAjrks5slCFPgaJpZM4PXhtm .

saket commented 6 years ago

Turning off the display doesn't sound like a very good experience and I might be wrong, but dismissing the keyguard is only possible if there is no lock, right?

What do you folks think of pressing both the volume buttons instead?

CDRussell commented 6 years ago

I haven't ever worked on capturing the display, so probably a naive thought, but how does the screen capturing work with secure views?

Any chance you could leave the start/stops controls visible but mark them as secure views somehow, and the screen recording will magically omit them in the output video?

saket commented 6 years ago

@CDRussell I think we'll have to then make the overlay draggable then so that it doesn't block the UI.

CDRussell commented 6 years ago

Yeah that's where I was heading with that idea.

But I'm not convinced that it would even work. Think the "secure" views might result in black areas in the video, rather than seeing the original app.

JakeWharton commented 6 years ago

Any app can dismiss the keyguard with permission.

I do not want draggable controls.

On Sat, Sep 23, 2017, 12:34 PM Craig Russell notifications@github.com wrote:

Yeah that's where I was heading with that idea.

But I'm not convinced that it would even work. Think the "secure" views might result in black areas in the video, rather than seeing the original app.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/JakeWharton/Telecine/pull/165#issuecomment-331648442, or mute the thread https://github.com/notifications/unsubscribe-auth/AAEEEdydLBNeag1-8LUmV-8jNZ9-U9v-ks5slTMNgaJpZM4PXhtm .

raveeshbhalla commented 6 years ago

A volume button hold for a small amount of time (between 1-3 seconds) seems like a good alternative that shouldn't cause any interruptions with the rest of the system or apps. No permissions required and no weirdness of screen turning off.

On Sat, Sep 23, 2017, 10:15 PM Jake Wharton notifications@github.com wrote:

Any app can dismiss the keyguard with permission.

I do not want draggable controls.

On Sat, Sep 23, 2017, 12:34 PM Craig Russell notifications@github.com wrote:

Yeah that's where I was heading with that idea.

But I'm not convinced that it would even work. Think the "secure" views might result in black areas in the video, rather than seeing the original app.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub <https://github.com/JakeWharton/Telecine/pull/165#issuecomment-331648442 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AAEEEdydLBNeag1-8LUmV-8jNZ9-U9v-ks5slTMNgaJpZM4PXhtm

.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JakeWharton/Telecine/pull/165#issuecomment-331649119, or mute the thread https://github.com/notifications/unsubscribe-auth/ABwdU4bN31iM1IsKuHbRtdXJQBDtJIQAks5slTWvgaJpZM4PXhtm .

--

~

Raveesh +9711907427

I tinker, therefore I am