Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(YouTube - Settings): Do not clip settings menus when using an Android 15 device #3999

Merged

Conversation

LisoUseInAIKyrios
Copy link
Contributor

@LisoUseInAIKyrios LisoUseInAIKyrios commented Nov 26, 2024

Fixes the setting menus getting cut off when using Android 15.

For Android 15 devices the vertical alignment of the sub screen toolbar text is not quite right. I spent way too much time trying different ways to fix it but none work.

root menu sub menu

Perhaps a later target of YT will fix this since this issue only affects 19.45+.

But for now, the menus are usable again for Android 15 devices.

@LisoUseInAIKyrios
Copy link
Contributor Author

Other failed attempts to fix this included:

  • Using setFitsSystemWindows (still has the same text alignment issue, and incorrect padding is also added)
  • Changing the root menu to use the non App Compat Toolbar (layout is still wrong)
  • Using every kind of padding and margin adjustments, none worked.

@oSumAtrIX
Copy link
Member

@MarcaDian
Copy link
Contributor

Oh, this problem is related to this #3991 (comment)? I have android 12.

@LisoUseInAIKyrios
Copy link
Contributor Author

LisoUseInAIKyrios commented Nov 26, 2024

Android 15 introduces new changes for apps to display content under the status and bottom navigation bars, and it seems like a lot of apps have incompatible issues.

I think this issue went unnoticed by YouTube because the Cairo style settings is now the norm, but here the patches is forcing it off.

Supporting the Cairo settings is not difficult and would be the next path to try.
Edit: Allowing or forcing the Cairo settings does not fix the broken layout.

@LisoUseInAIKyrios
Copy link
Contributor Author

Oh, this problem is related to this #3991 (comment)? I have android 12.

Then the alignment issue must affect more than just Android 15 devices.

@oSumAtrIX
Copy link
Member

What they linked to is unrelated to this PR. The issue should be exclusive to Android 15 and up.

@LisoUseInAIKyrios
Copy link
Contributor Author

to use SDK 35, all the motion gesture swipe methods need to be changed to a nullable from event:

From:

override fun onSwipe(
        from: MotionEvent,
        to: MotionEvent,
        distanceX: Double,
        distanceY: Double,
    ):

to:

override fun onSwipe(
        from: MotionEvent?,
        to: MotionEvent,
        distanceX: Double,
        distanceY: Double,
    ):

I never use the swipe gesture and I never will, so I'm unfamiliar to test if any changes breaks something.

@LisoUseInAIKyrios
Copy link
Contributor Author

LisoUseInAIKyrios commented Nov 27, 2024

I reverted the SDK change because the changes for swipe controller are more than what this PR is for.

Applying the status bar padding change causes no harm for devices running older versions of YT/Android, so it can be applied to those versions as well.

@LisoUseInAIKyrios LisoUseInAIKyrios merged commit 7382a02 into ReVanced:dev Nov 27, 2024
1 check passed
@LisoUseInAIKyrios LisoUseInAIKyrios deleted the fix/android_15_settings_menu branch November 27, 2024 13:43
github-actions bot pushed a commit that referenced this pull request Nov 27, 2024
# [5.2.0-dev.7](v5.2.0-dev.6...v5.2.0-dev.7) (2024-11-27)

### Bug Fixes

* **YouTube - Settings:** Do not clip settings menus when using an Android 15 device ([#3999](#3999)) ([7382a02](7382a02))
github-actions bot pushed a commit that referenced this pull request Nov 27, 2024
# [5.2.0](v5.1.0...v5.2.0) (2024-11-27)

### Bug Fixes

* **My Expenses - Unlock pro:** Constrain compatible version to working version ([#3974](#3974)) ([ba3bf69](ba3bf69))
* **YouTube - Hide Shorts components:** Add missing options to patch ([65f62fc](65f62fc))
* **YouTube - Playback speed:** Allow long press 2x speed when using custom playback speeds ([#3990](#3990)) ([79a543a](79a543a))
* **YouTube - Settings:** Do not clip settings menus when using an Android 15 device ([#3999](#3999)) ([7382a02](7382a02))
* **YouTube - Settings:** Show navigation back button in setting sub menus ([#3991](#3991)) ([e61686c](e61686c))
* **YouTube - Spoof video streams:** Log out the iOS client to restore kids videos playback ([#4000](#4000)) ([cc2ac4e](cc2ac4e))

### Features

* **TikTok:** Add ReVanced settings about screen ([#4009](#4009)) ([12ea26b](12ea26b))
* **VSCO:** Remove non functional `Unlock pro` patch ([4fddb19](4fddb19))
* **YouTube - Theme:** Apply custom seekbar color to splash screen animation ([#3978](#3978)) ([98d57e2](98d57e2))
* **YouTube:** Support version `19.46.42` ([#4010](#4010)) ([122aac6](122aac6))
@LisoUseInAIKyrios LisoUseInAIKyrios linked an issue Nov 28, 2024 that may be closed by this pull request
3 tasks
github-actions bot pushed a commit to Chr0matic1/revanced-patches that referenced this pull request Dec 11, 2024
# [5.0.0](v4.16.0...v5.0.0) (2024-12-11)

### Bug Fixes

* Add missing dependency to patch ([97f5240](97f5240))
* **Change package name:** Prevent applying the patch to known incompatible apps ([ReVanced#3943](https://github.com/Chr0matic1/revanced-patches/issues/3943)) ([44936e7](44936e7))
* **My Expenses - Unlock pro:** Constrain compatible version to working version ([ReVanced#3974](https://github.com/Chr0matic1/revanced-patches/issues/3974)) ([ba3bf69](ba3bf69))
* **MyFitnessPal - Hide ads:** Constrain patch to last working version ([ReVanced#3847](https://github.com/Chr0matic1/revanced-patches/issues/3847)) ([f9fa526](f9fa526))
* **Reddit:** Fix patches by using correct extension class ([70bdc68](70bdc68))
* **Sync for Reddit - Fix /s/ links:** Fix patch by using correct fingerprints ([a0ad07e](a0ad07e))
* **Sync for Reddit - Spoof client:** Fix patch by using correct fingerprints ([5776de3](5776de3))
* **Sync for Reddit:** Fix patches by using correct extension name ([030093e](030093e))
* **Sync:** Fix patches by not throwing unnecessarily ([2ee1316](2ee1316))
* **Tiktok - Settings:** Fix the patch by depending on the correct settings patch ([0c75929](0c75929))
* **Twitch:** Resolve setting menu crashes ([ReVanced#4025](https://github.com/Chr0matic1/revanced-patches/issues/4025)) ([62df596](62df596))
* **Twitter - Change link sharing domain:** Support latest app version ([ReVanced#3786](https://github.com/Chr0matic1/revanced-patches/issues/3786)) ([b54592c](b54592c))
* **Twitter - Unlock downloads:** Make it work with latest versions ([ReVanced#3782](https://github.com/Chr0matic1/revanced-patches/issues/3782)) ([5189122](5189122))
* **Twitter:** Fix patches by depending on patch that merges required extension ([c330e9d](c330e9d))
* **Twitter:** Fix patches by matching fingerprint using correct class ([6ae0d12](6ae0d12))
* **Twitter:** Merge correct extension by depending on correct extension patch ([8281cf6](8281cf6))
* **YouTube - Change header:** Apply header changes to A/B layout ([ReVanced#3907](https://github.com/Chr0matic1/revanced-patches/issues/3907)) ([6ccf114](6ccf114))
* **YouTube - Copy video URL:** Support A/B player layout ([0f42574](0f42574))
* **YouTube - Custom branding:** Change icon correctly on 19.34+ ([ReVanced#3866](https://github.com/Chr0matic1/revanced-patches/issues/3866)) ([2e47903](2e47903))
* **YouTube - GmsCore support:** Add more replacements ([4d39770](4d39770))
* **YouTube - GmsCore support:** Remove unclear patch changes ([021d858](021d858))
* **YouTube - Hide ads:** Hide new types of ads ([454281a](454281a))
* **YouTube - Hide layout components:** Adjust settings text ([ReVanced#3745](https://github.com/Chr0matic1/revanced-patches/issues/3745)) ([13998bb](13998bb))
* **YouTube - Hide layout components:** Move hide chips settings to Feed menu ([1ed677f](1ed677f))
* **YouTube - Hide layout components:** Remove obsolete 'Hide gray separator' ([a697701](a697701))
* **YouTube - Hide Shorts components:** Add missing options to patch ([65f62fc](65f62fc))
* **YouTube - Hide Shorts components:** Do not hide Shorts action buttons on app first launch ([ReVanced#3933](https://github.com/Chr0matic1/revanced-patches/issues/3933)) ([0d78815](0d78815))
* **YouTube - Playback speed:** Add 'Auto' speed. Always override speed if default is set to 1.0x ([ReVanced#3914](https://github.com/Chr0matic1/revanced-patches/issues/3914)) ([497739e](497739e))
* **YouTube - Playback speed:** Allow long press 2x speed when using custom playback speeds ([ReVanced#3990](https://github.com/Chr0matic1/revanced-patches/issues/3990)) ([79a543a](79a543a))
* **YouTube - Playback speed:** Remember playback speed when using non 1.0x default speed ([05b9f87](05b9f87)), closes [ReVanced#3810](https://github.com/Chr0matic1/revanced-patches/issues/3810)
* **YouTube - Playback speed:** Remember playback speed with new speed menu ([ReVanced#3810](https://github.com/Chr0matic1/revanced-patches/issues/3810)) ([c3a5e14](c3a5e14))
* **YouTube - Playback speed:** Restore old playback speed menu ([ReVanced#3817](https://github.com/Chr0matic1/revanced-patches/issues/3817)) ([806b210](806b210))
* **YouTube - Player controls:** Show player control buttons with A/B layout ([ReVanced#3901](https://github.com/Chr0matic1/revanced-patches/issues/3901)) ([bb526bc](bb526bc))
* **YouTube - Remember video quality:** Correctly set default quality when changing from a low quality video ([ReVanced#3879](https://github.com/Chr0matic1/revanced-patches/issues/3879)) ([ddb73e8](ddb73e8))
* **YouTube - Remove background playback restrictions:** Enable for Shorts as well ([ReVanced#3671](https://github.com/Chr0matic1/revanced-patches/issues/3671)) ([7db1a77](7db1a77))
* **YouTube - Return YouTube Dislike:** Show Shorts dislikes with new A/B button icons ([084e0a5](084e0a5))
* **YouTube - Return YouTube Dislike:** Use latest separator height ([ae160a3](ae160a3))
* **YouTube - Seekbar:** Use latest shade of YouTube red ([4b77648](4b77648))
* **YouTube - Settings:** Do not clip settings menus when using an Android 15 device ([ReVanced#3999](https://github.com/Chr0matic1/revanced-patches/issues/3999)) ([7382a02](7382a02))
* **YouTube - Settings:** Show navigation back button in setting sub menus ([ReVanced#3991](https://github.com/Chr0matic1/revanced-patches/issues/3991)) ([e61686c](e61686c))
* **YouTube - Settings:** Use multiline preference title for localized languages ([ReVanced#3821](https://github.com/Chr0matic1/revanced-patches/issues/3821)) ([ff85d49](ff85d49))
* **YouTube - SponsorBlock:** Fix create new segment crash on tablet custom roms ([ReVanced#3946](https://github.com/Chr0matic1/revanced-patches/issues/3946)) ([a0da377](a0da377))
* **YouTube - SponsorBlock:** Show correct segment behavior in settings UI after importing ([e3f25a0](e3f25a0))
* **YouTube - Spoof app version:** Adjust legacy spoof targets ([ReVanced#3934](https://github.com/Chr0matic1/revanced-patches/issues/3934)) ([f5794c1](f5794c1))
* **YouTube - Spoof app version:** Remove broken spoof targets when patching 19.25+ ([ReVanced#3915](https://github.com/Chr0matic1/revanced-patches/issues/3915)) ([9e18eca](9e18eca))
* **YouTube - Spoof app version:** Remove obsolete 17.33.42 spoof target ([ReVanced#3825](https://github.com/Chr0matic1/revanced-patches/issues/3825)) ([33aeba2](33aeba2))
* **YouTube - Spoof app version:** Update spoof target to resolve library tab crashes ([ReVanced#4014](https://github.com/Chr0matic1/revanced-patches/issues/4014)) ([c8eced5](c8eced5))
* **YouTube - Spoof app version:** Update spoof target to resolve library tab crashes ([ReVanced#4019](https://github.com/Chr0matic1/revanced-patches/issues/4019)) ([d89ad65](d89ad65))
* **YouTube - Spoof video streams:** Add missing preferred language preference to the settings ([630633c](630633c))
* **YouTube - Spoof video streams:** Enable opus codec by updating iOS client version ([ReVanced#4063](https://github.com/Chr0matic1/revanced-patches/issues/4063)) ([0af156f](0af156f))
* **YouTube - Spoof video streams:** Fix playback for Android VR by removing invalid body as well ([ReVanced#3769](https://github.com/Chr0matic1/revanced-patches/issues/3769)) ([5150a15](5150a15))
* **YouTube - Spoof video streams:** Log out the iOS client to restore kids videos playback ([ReVanced#4000](https://github.com/Chr0matic1/revanced-patches/issues/4000)) ([cc2ac4e](cc2ac4e))
* **YouTube - Spoof video streams:** Update `Force AVC` client data ([ReVanced#4064](https://github.com/Chr0matic1/revanced-patches/issues/4064)) ([7d537dd](7d537dd))
* **YouTube - Spoof video streams:** Use system language as default iOS audio stream ([ReVanced#4042](https://github.com/Chr0matic1/revanced-patches/issues/4042)) ([4017185](4017185))
* **YouTube Music - GmsCore support:** Resolve patching errors ([ReVanced#4056](https://github.com/Chr0matic1/revanced-patches/issues/4056)) ([38a4bad](38a4bad))
* **YouTube Music - Hide category bar:** Add support for latest release ([ReVanced#3968](https://github.com/Chr0matic1/revanced-patches/issues/3968)) ([b63fdeb](b63fdeb))
* **YouTube Music - Permanent shuffle:** Remove obsolete and non functional patch ([ReVanced#4073](https://github.com/Chr0matic1/revanced-patches/issues/4073)) ([fbc6ab6](fbc6ab6))
* **YouTube:** Merge `Restore old seekbar thumbnails` into `Seekbar thumbnails` ([ReVanced#3860](https://github.com/Chr0matic1/revanced-patches/issues/3860)) ([e377b1e](e377b1e))

### Build System

* Bump ReVanced Patcher ([eee1692](eee1692))

### Features

* **Backdrops - Pro unlock:** Support latest versions by removing version constraint ([a62b506](a62b506))
* **Facebook:** Add `Hide sponsored stories` patch ([ReVanced#3627](https://github.com/Chr0matic1/revanced-patches/issues/3627)) ([214c72b](214c72b))
* **Nyx:** Remove broken `Unlock pro` patch ([1fe8b16](1fe8b16))
* **Sync for Reddit:** Add `Fix video downloads` patch ([ReVanced#3739](https://github.com/Chr0matic1/revanced-patches/issues/3739)) ([a47ee38](a47ee38))
* **TikTok:** Add ReVanced settings about screen ([ReVanced#4009](https://github.com/Chr0matic1/revanced-patches/issues/4009)) ([12ea26b](12ea26b))
* **Twitter:** Add `Change link sharing domain` patch ([ReVanced#3753](https://github.com/Chr0matic1/revanced-patches/issues/3753)) ([9269a07](9269a07))
* **VSCO:** Remove non functional `Unlock pro` patch ([4fddb19](4fddb19))
* **Willhaben:** Add `Hide ads` patch ([ReVanced#3740](https://github.com/Chr0matic1/revanced-patches/issues/3740)) ([1fe3a52](1fe3a52))
* **YouTube - Hide layout components:** Add option to hide Yoodles (YouTube Doodles) ([ReVanced#3743](https://github.com/Chr0matic1/revanced-patches/issues/3743)) ([b8c8916](b8c8916))
* **YouTube - Hide layout components:** Hide player shopping shelf ([ReVanced#3804](https://github.com/Chr0matic1/revanced-patches/issues/3804)) ([1952f3b](1952f3b))
* **YouTube - Hide player flyout menu items:** Hide stable volume ([ReVanced#3827](https://github.com/Chr0matic1/revanced-patches/issues/3827)) ([b91e932](b91e932))
* **YouTube - Hide Shorts components:** Add option to hide `Use template`, `Upcoming`, `Green screen` buttons ([ReVanced#3752](https://github.com/Chr0matic1/revanced-patches/issues/3752)) ([f71c406](f71c406))
* **YouTube - Hide Shorts components:** Add option to hide like fountain ([ReVanced#3731](https://github.com/Chr0matic1/revanced-patches/issues/3731)) ([00a99dd](00a99dd))
* **YouTube - Hide Shorts components:** Hide `Hashtag` button ([ReVanced#3787](https://github.com/Chr0matic1/revanced-patches/issues/3787)) ([828a634](828a634))
* **YouTube - Miniplayer:** Add horizontal drag gesture ([ReVanced#3859](https://github.com/Chr0matic1/revanced-patches/issues/3859)) ([e32b19e](e32b19e))
* **YouTube - Miniplayer:** Add option to disable miniplayer ([ReVanced#3961](https://github.com/Chr0matic1/revanced-patches/issues/3961)) ([e565cdb](e565cdb))
* **YouTube - Player flyout menu:** Hide sleep timer ([ReVanced#3637](https://github.com/Chr0matic1/revanced-patches/issues/3637)) ([7e1bdab](7e1bdab))
* **YouTube - Spoof video streams:** Allow picking a default audio language track ([ReVanced#4050](https://github.com/Chr0matic1/revanced-patches/issues/4050)) ([ede666b](ede666b))
* **YouTube - Theme:** Apply custom seekbar color to splash screen animation ([ReVanced#3978](https://github.com/Chr0matic1/revanced-patches/issues/3978)) ([98d57e2](98d57e2))
* **YouTube Music:** Add `Spoof video streams` patch to fix playback ([ReVanced#4065](https://github.com/Chr0matic1/revanced-patches/issues/4065)) ([cf3116a](cf3116a))
* **YouTube:** Add `Open videos fullscreen` patch ([ReVanced#4069](https://github.com/Chr0matic1/revanced-patches/issues/4069)) ([296d63b](296d63b))
* **YouTube:** Add `Seekbar thumbnails` patch ([ReVanced#3813](https://github.com/Chr0matic1/revanced-patches/issues/3813)) ([5988b75](5988b75))
* **YouTube:** Add `Shorts autoplay` patch ([ReVanced#3794](https://github.com/Chr0matic1/revanced-patches/issues/3794)) ([96b5aed](96b5aed))
* **YouTube:** Hide player shopping shelf in playlists ([ReVanced#3806](https://github.com/Chr0matic1/revanced-patches/issues/3806)) ([a553a13](a553a13))
* **YouTube:** Merge multiple layout patches into `Hide Layout Components` ([ReVanced#3799](https://github.com/Chr0matic1/revanced-patches/issues/3799)) ([bbcb57a](bbcb57a))
* **YouTube:** Merge multiple player overlay patches into `Hide player overlay buttons` ([ReVanced#3800](https://github.com/Chr0matic1/revanced-patches/issues/3800)) ([4ba0300](4ba0300))
* **YouTube:** Support version `19.43.41` ([ReVanced#3854](https://github.com/Chr0matic1/revanced-patches/issues/3854)) ([85de5c7](85de5c7))
* **YouTube:** Support version `19.45.38` ([ReVanced#3938](https://github.com/Chr0matic1/revanced-patches/issues/3938)) ([7c4e3fe](7c4e3fe))
* **YouTube:** Support version `19.46.42` ([ReVanced#4010](https://github.com/Chr0matic1/revanced-patches/issues/4010)) ([122aac6](122aac6))
* **YouTube:** Support versions `19.25` and `19.34` ([ReVanced#3629](https://github.com/Chr0matic1/revanced-patches/issues/3629)) ([049e7f0](049e7f0))

### Performance Improvements

* Check for extension without a class proxy ([a6a74e2](a6a74e2))
* Move variables to local scope ([43c0421](43c0421))
* **YouTube - GmsCore support:** Improve performance by using hashsets ([2c5d390](2c5d390))

### BREAKING CHANGES

* Various APIs have been changed or removed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bug(YouTube): Settings menus layout is broken on Android 15
3 participants