1
mirror of https://github.com/revanced/revanced-integrations synced 2025-11-21 18:35:37 +01:00

Compare commits

...

110 Commits

Author SHA1 Message Date
semantic-release-bot
b13d692ef1 chore(release): 0.64.0 [skip ci]
# [0.64.0](https://github.com/revanced/revanced-integrations/compare/v0.63.1...v0.64.0) (2022-10-30)

### Features

* `hide-watch-in-vr` patch ([#191](https://github.com/revanced/revanced-integrations/issues/191)) ([fb20ae1](fb20ae19e8))
2022-10-30 12:05:49 +00:00
inotia00
fb20ae19e8 feat: hide-watch-in-vr patch (#191) 2022-10-30 13:02:22 +01:00
semantic-release-bot
889a7d8460 chore(release): 0.63.1 [skip ci]
## [0.63.1](https://github.com/revanced/revanced-integrations/compare/v0.63.0...v0.63.1) (2022-10-30)

### Bug Fixes

* **youtube/general-ads-patch:** `BlockRule` for comments on old and new layout ([#192](https://github.com/revanced/revanced-integrations/issues/192)) ([d28d657](d28d65734e))
2022-10-30 11:56:02 +00:00
OxrxL
d28d65734e fix(youtube/general-ads-patch): BlockRule for comments on old and new layout (#192)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-30 12:51:41 +01:00
semantic-release-bot
1c021b1a50 chore(release): 0.63.0 [skip ci]
# [0.63.0](https://github.com/revanced/revanced-integrations/compare/v0.62.0...v0.63.0) (2022-10-29)

### Features

* **youtube/sponsorblock:** skip segments once automatically ([#190](https://github.com/revanced/revanced-integrations/issues/190)) ([06bebd7](06bebd7017))
2022-10-29 21:18:41 +00:00
thebestnom
06bebd7017 feat(youtube/sponsorblock): skip segments once automatically (#190) 2022-10-29 23:14:20 +02:00
semantic-release-bot
d745e29395 chore(release): 0.62.0 [skip ci]
# [0.62.0](https://github.com/revanced/revanced-integrations/compare/v0.61.0...v0.62.0) (2022-10-29)

### Features

* **youtube/comments:** hide shorts comments button ([#188](https://github.com/revanced/revanced-integrations/issues/188)) ([69a585d](69a585da6f))
2022-10-29 14:06:18 +00:00
OxrxL
69a585da6f feat(youtube/comments): hide shorts comments button (#188) 2022-10-29 16:02:14 +02:00
semantic-release-bot
7050cefe10 chore(release): 0.61.0 [skip ci]
# [0.61.0](https://github.com/revanced/revanced-integrations/compare/v0.60.0...v0.61.0) (2022-10-29)

### Features

* **youtube/microg-support:** handle availability of Vanced MicroG ([afa9d3c](afa9d3cbb1))
2022-10-29 01:07:10 +00:00
oSumAtrIX
afa9d3cbb1 feat(youtube/microg-support): handle availability of Vanced MicroG 2022-10-29 03:03:43 +02:00
semantic-release-bot
6762ea4178 chore(release): 0.60.0 [skip ci]
# [0.60.0](https://github.com/revanced/revanced-integrations/compare/v0.59.0...v0.60.0) (2022-10-28)

### Features

* **youtube/return-youtube-dislike:** compatibility for old and new button layout ([a92c932](a92c932a20))
2022-10-28 23:58:59 +00:00
oSumAtrIX
a92c932a20 feat(youtube/return-youtube-dislike): compatibility for old and new button layout 2022-10-29 01:54:03 +02:00
semantic-release-bot
3698a502c3 chore(release): 0.59.0 [skip ci]
# [0.59.0](https://github.com/revanced/revanced-integrations/compare/v0.58.0...v0.59.0) (2022-10-25)

### Bug Fixes

* add missing list separator ([5566cfd](5566cfdda9))

### Features

* `comment` patch ([#185](https://github.com/revanced/revanced-integrations/issues/185)) ([97efc17](97efc17da7))
2022-10-25 21:45:42 +00:00
oSumAtrIX
5566cfdda9 fix: add missing list separator 2022-10-25 23:41:30 +02:00
OxrxL
97efc17da7 feat: comment patch (#185)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-25 23:34:57 +02:00
semantic-release-bot
8fdde7046d chore(release): 0.58.0 [skip ci]
# [0.58.0](https://github.com/revanced/revanced-integrations/compare/v0.57.0...v0.58.0) (2022-10-25)

### Features

* `hide-album-cards` patch ([#184](https://github.com/revanced/revanced-integrations/issues/184)) ([74c96be](74c96beb20))
2022-10-25 18:47:56 +00:00
OxrxL
74c96beb20 feat: hide-album-cards patch (#184)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-25 20:44:26 +02:00
semantic-release-bot
7014518673 chore(release): 0.57.0 [skip ci]
# [0.57.0](https://github.com/revanced/revanced-integrations/compare/v0.56.0...v0.57.0) (2022-10-25)

### Features

* `hide-artist-card` patch ([#186](https://github.com/revanced/revanced-integrations/issues/186)) ([ac3a835](ac3a835215))
2022-10-25 18:21:14 +00:00
OxrxL
ac3a835215 feat: hide-artist-card patch (#186) 2022-10-25 20:17:46 +02:00
semantic-release-bot
39450109ab chore(release): 0.56.0 [skip ci]
# [0.56.0](https://github.com/revanced/revanced-integrations/compare/v0.55.1...v0.56.0) (2022-10-25)

### Features

* `hide-crowdfunding-box` patch ([#183](https://github.com/revanced/revanced-integrations/issues/183)) ([db71824](db718242e7))
2022-10-25 16:25:11 +00:00
OxrxL
db718242e7 feat: hide-crowdfunding-box patch (#183)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-25 18:20:45 +02:00
semantic-release-bot
59c2459353 chore(release): 0.55.1 [skip ci]
## [0.55.1](https://github.com/revanced/revanced-integrations/compare/v0.55.0...v0.55.1) (2022-10-25)

### Bug Fixes

* **youtube/theme:** theme litho UI components ([#176](https://github.com/revanced/revanced-integrations/issues/176)) ([f06935d](f06935ddac))
2022-10-25 08:00:22 +00:00
OxrxL
f06935ddac fix(youtube/theme): theme litho UI components (#176)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-25 09:56:39 +02:00
semantic-release-bot
8127f8b390 chore(release): 0.55.0 [skip ci]
# [0.55.0](https://github.com/revanced/revanced-integrations/compare/v0.54.1...v0.55.0) (2022-10-22)

### Bug Fixes

* revert removing getAppContext() ([0be0ffd](0be0ffd42a))

### Features

* remove getAppContext() ([#182](https://github.com/revanced/revanced-integrations/issues/182)) ([f4650b1](f4650b1139))
2022-10-22 14:44:57 +00:00
oSumAtrIX
f4650b1139 feat: remove getAppContext() (#182)
This reverts commit 0be0ffd42a.
2022-10-22 16:40:16 +02:00
oSumAtrIX
0be0ffd42a fix: revert removing getAppContext()
This reverts commit a061614d86.
2022-10-22 16:38:56 +02:00
Canny
a061614d86 refactor: remove getAppContext() (#180) 2022-10-22 12:44:26 +02:00
semantic-release-bot
486019802c chore(release): 0.54.1 [skip ci]
## [0.54.1](https://github.com/revanced/revanced-integrations/compare/v0.54.0...v0.54.1) (2022-10-22)

### Bug Fixes

* **youtube/general-ads:** remove leftover ad banner ([#179](https://github.com/revanced/revanced-integrations/issues/179)) ([0253fef](0253fef2aa))
2022-10-22 10:00:56 +00:00
inotia00
0253fef2aa fix(youtube/general-ads): remove leftover ad banner (#179) 2022-10-22 11:57:17 +02:00
semantic-release-bot
8483a225fb chore(release): 0.54.0 [skip ci]
# [0.54.0](https://github.com/revanced/revanced-integrations/compare/v0.53.0...v0.54.0) (2022-10-20)

### Features

* **youtube:** `hide-captions-button` patch ([#175](https://github.com/revanced/revanced-integrations/issues/175)) ([867645e](867645ea5b))
2022-10-20 20:11:43 +00:00
OxrxL
867645ea5b feat(youtube): hide-captions-button patch (#175)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-20 22:08:14 +02:00
semantic-release-bot
52a2073175 chore(release): 0.53.0 [skip ci]
# [0.53.0](https://github.com/revanced/revanced-integrations/compare/v0.52.1...v0.53.0) (2022-10-20)

### Features

* **youtube:** `hide-mix-playlists` patch ([#177](https://github.com/revanced/revanced-integrations/issues/177)) ([0e6a92f](0e6a92fb33))
2022-10-20 17:11:56 +00:00
johnconner122
0e6a92fb33 feat(youtube): hide-mix-playlists patch (#177)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-10-20 19:08:18 +02:00
semantic-release-bot
658e11ac12 chore(release): 0.52.1 [skip ci]
## [0.52.1](https://github.com/revanced/revanced-integrations/compare/v0.52.0...v0.52.1) (2022-10-16)

### Performance Improvements

* remove obsolete SDK checks ([#174](https://github.com/revanced/revanced-integrations/issues/174)) ([1755662](1755662a7a))
2022-10-16 11:18:36 +00:00
Patryk Miś
1755662a7a perf: remove obsolete SDK checks (#174) 2022-10-16 13:15:10 +02:00
semantic-release-bot
8bd84031d4 chore(release): 0.52.0 [skip ci]
# [0.52.0](https://github.com/revanced/revanced-integrations/compare/v0.51.1...v0.52.0) (2022-10-13)

### Features

* **youtube/remember-video-quality:** remember the quality until changed by default ([c5ca35e](c5ca35e42c))
2022-10-13 04:06:07 +00:00
oSumAtrIX
c5ca35e42c feat(youtube/remember-video-quality): remember the quality until changed by default 2022-10-13 06:02:44 +02:00
semantic-release-bot
c266fdbf44 chore(release): 0.51.1 [skip ci]
## [0.51.1](https://github.com/revanced/revanced-integrations/compare/v0.51.0...v0.51.1) (2022-10-11)
2022-10-11 13:51:42 +00:00
Patryk Miś
07acc4dc1f build: update Kotlin and SDKs (#173) 2022-10-11 15:47:14 +02:00
semantic-release-bot
34a6829aaf chore(release): 0.51.0 [skip ci]
# [0.51.0](https://github.com/revanced/revanced-integrations/compare/v0.50.0...v0.51.0) (2022-10-06)

### Features

* **youtube/return-youtube-dislike:** decrease request timeout ([#171](https://github.com/revanced/revanced-integrations/issues/171)) ([c372e0e](c372e0e9bd))
2022-10-06 17:42:32 +00:00
oSumAtrIX
c372e0e9bd feat(youtube/return-youtube-dislike): decrease request timeout (#171) 2022-10-06 19:39:12 +02:00
semantic-release-bot
f5a4e6f3bf chore(release): 0.50.0 [skip ci]
# [0.50.0](https://github.com/revanced/revanced-integrations/compare/v0.49.1...v0.50.0) (2022-10-06)

### Features

* **youtube/general-ads:** do not hide community posts by default ([576991a](576991a7df))
2022-10-06 08:13:25 +00:00
oSumAtrIX
576991a7df feat(youtube/general-ads): do not hide community posts by default 2022-10-06 10:09:53 +02:00
semantic-release-bot
ab88a1f3d7 chore(release): 0.49.1 [skip ci]
## [0.49.1](https://github.com/revanced/revanced-integrations/compare/v0.49.0...v0.49.1) (2022-10-04)

### Bug Fixes

* **youtube/sponsorblock:** parse the error response on code 400 ([#169](https://github.com/revanced/revanced-integrations/issues/169)) ([5ab26a4](5ab26a427b))
2022-10-04 18:46:59 +00:00
caneleex
5ab26a427b fix(youtube/sponsorblock): parse the error response on code 400 (#169) 2022-10-04 20:43:29 +02:00
semantic-release-bot
9255fa30fa chore(release): 0.49.0 [skip ci]
# [0.49.0](https://github.com/revanced/revanced-integrations/compare/v0.48.0...v0.49.0) (2022-10-04)

### Features

* **youtube/remember-video-quality:** remember current quality option ([90f7392](90f7392e1a))
2022-10-04 05:54:55 +00:00
oSumAtrIX
90f7392e1a feat(youtube/remember-video-quality): remember current quality option 2022-10-04 07:51:45 +02:00
semantic-release-bot
fbaa361c00 chore(release): 0.48.0 [skip ci]
# [0.48.0](https://github.com/revanced/revanced-integrations/compare/v0.47.1...v0.48.0) (2022-10-03)

### Bug Fixes

* **youtube/general-ads:** do not block ads on `download_` ([e78a801](e78a8014bc))

### Features

* `hide-video-buttons` patch ([bf82e02](bf82e0219f))
2022-10-03 11:43:42 +00:00
oSumAtrIX
bf82e0219f feat: hide-video-buttons patch 2022-10-03 13:40:18 +02:00
oSumAtrIX
e78a8014bc fix(youtube/general-ads): do not block ads on download_ 2022-10-03 13:40:17 +02:00
oSumAtrIX
72c7604160 refactor(youtube/general-ads): abstract integrations code 2022-10-03 13:40:17 +02:00
semantic-release-bot
199259cb95 chore(release): 0.47.1 [skip ci]
## [0.47.1](https://github.com/revanced/revanced-integrations/compare/v0.47.0...v0.47.1) (2022-10-03)

### Bug Fixes

* **general-ads:** null check for identifier ([d10c546](d10c5462f4))
2022-10-03 01:53:04 +00:00
oSumAtrIX
d10c5462f4 fix(general-ads): null check for identifier 2022-10-03 03:49:57 +02:00
semantic-release-bot
b98e6fa169 chore(release): 0.47.0 [skip ci]
# [0.47.0](https://github.com/revanced/revanced-integrations/compare/v0.46.3...v0.47.0) (2022-10-02)

### Features

* **general-ads:** block carousel ad ([26c208e](26c208e9ed))
2022-10-02 23:28:29 +00:00
oSumAtrIX
26c208e9ed feat(general-ads): block carousel ad 2022-10-03 01:25:04 +02:00
semantic-release-bot
c548f1651a chore(release): 0.46.3 [skip ci]
## [0.46.3](https://github.com/revanced/revanced-integrations/compare/v0.46.2...v0.46.3) (2022-10-02)

### Bug Fixes

* **general-ads:** block remaining ads ([18a749f](18a749f87d))

### Performance Improvements

* **general-ads:** initialize blocks once ([5add970](5add970f61))
2022-10-02 23:21:31 +00:00
oSumAtrIX
5add970f61 perf(general-ads): initialize blocks once 2022-10-03 01:18:09 +02:00
oSumAtrIX
18a749f87d fix(general-ads): block remaining ads 2022-10-03 01:18:09 +02:00
semantic-release-bot
c3e302d224 chore(release): 0.46.2 [skip ci]
## [0.46.2](https://github.com/revanced/revanced-integrations/compare/v0.46.1...v0.46.2) (2022-10-01)

### Performance Improvements

* **general-ads:** hook pathBuilder ([c7756e1](c7756e1299))
2022-10-01 02:05:18 +00:00
oSumAtrIX
1010eedbb2 refactor(general-ads): remove unused method 2022-10-01 04:02:02 +02:00
oSumAtrIX
c7756e1299 perf(general-ads): hook pathBuilder
This removes the hook for the bytebuffer
2022-10-01 03:59:11 +02:00
semantic-release-bot
3022afc7c4 chore(release): 0.46.1 [skip ci]
## [0.46.1](https://github.com/revanced/revanced-integrations/compare/v0.46.0...v0.46.1) (2022-09-30)

### Bug Fixes

* **general-ads:** remove duplicate blocklist entry ([#165](https://github.com/revanced/revanced-integrations/issues/165)) ([9bcb04d](9bcb04de8e))
2022-09-30 18:03:18 +00:00
OxrxL
9bcb04de8e fix(general-ads): remove duplicate blocklist entry (#165) 2022-09-30 19:59:15 +02:00
semantic-release-bot
322e145f75 chore(release): 0.46.0 [skip ci]
# [0.46.0](https://github.com/revanced/revanced-integrations/compare/v0.45.0...v0.46.0) (2022-09-30)

### Features

* **general-ads:** block additional home ads ([5a24e84](5a24e84868))
2022-09-30 15:17:03 +00:00
oSumAtrIX
5a24e84868 feat(general-ads): block additional home ads 2022-09-30 17:13:15 +02:00
semantic-release-bot
c049dc3e8d chore(release): 0.45.0 [skip ci]
# [0.45.0](https://github.com/revanced/revanced-integrations/compare/v0.44.1...v0.45.0) (2022-09-29)

### Features

* `disable-startup-shorts-player` patch ([#164](https://github.com/revanced/revanced-integrations/issues/164)) ([149a90a](149a90a2e8))
2022-09-29 21:58:26 +00:00
OxrxL
149a90a2e8 feat: disable-startup-shorts-player patch (#164) 2022-09-29 23:54:09 +02:00
semantic-release-bot
2d001cfb1d chore(release): 0.44.1 [skip ci]
## [0.44.1](https://github.com/revanced/revanced-integrations/compare/v0.44.0...v0.44.1) (2022-09-29)

### Bug Fixes

* **hide-email-address:** invalid initial switch toggle state ([#163](https://github.com/revanced/revanced-integrations/issues/163)) ([8bb93a4](8bb93a439b))
2022-09-29 15:23:47 +00:00
OxrxL
8bb93a439b fix(hide-email-address): invalid initial switch toggle state (#163) 2022-09-29 17:19:46 +02:00
semantic-release-bot
0fe4db9f28 chore(release): 0.44.0 [skip ci]
# [0.44.0](https://github.com/revanced/revanced-integrations/compare/v0.43.1...v0.44.0) (2022-09-28)

### Features

* `hide-email-address` patch ([#149](https://github.com/revanced/revanced-integrations/issues/149)) ([4cc8a22](4cc8a22c26))
2022-09-28 14:34:29 +00:00
OxrxL
4cc8a22c26 feat: hide-email-address patch (#149)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-09-28 13:28:19 +02:00
semantic-release-bot
11fbf1a5b3 chore(release): 0.43.1 [skip ci]
## [0.43.1](https://github.com/revanced/revanced-integrations/compare/v0.43.0...v0.43.1) (2022-09-27)

### Bug Fixes

* move dummy classes to `dummy` module ([#162](https://github.com/revanced/revanced-integrations/issues/162)) ([fa0ad3a](fa0ad3a57b))
2022-09-27 13:33:59 +00:00
d4rkk3y
fa0ad3a57b fix: move dummy classes to dummy module (#162) 2022-09-27 15:30:25 +02:00
inotia00
73b40595c4 refactor: remove reduntant check for shorts_playing (#150) 2022-09-27 06:54:32 +02:00
semantic-release-bot
04bbe259cb chore(release): 0.43.0 [skip ci]
# [0.43.0](https://github.com/revanced/revanced-integrations/compare/v0.42.2...v0.43.0) (2022-09-26)

### Features

* enable minification  ([#158](https://github.com/revanced/revanced-integrations/issues/158)) ([8dde925](8dde925b47))
2022-09-26 14:32:21 +00:00
Canny
8dde925b47 feat: enable minification (#158)
* chore: proguard

* build: enable minify
2022-09-26 16:28:55 +02:00
semantic-release-bot
4ca1182485 chore(release): 0.42.2 [skip ci]
## [0.42.2](https://github.com/revanced/revanced-integrations/compare/v0.42.1...v0.42.2) (2022-09-25)

### Bug Fixes

* **swipe-controls:** crash on SDK below 24 ([#157](https://github.com/revanced/revanced-integrations/issues/157)) ([4c72ac1](4c72ac1cd5))
2022-09-25 15:55:53 +00:00
Chris
4c72ac1cd5 fix(swipe-controls): crash on SDK below 24 (#157) 2022-09-25 17:52:36 +02:00
semantic-release-bot
cdca96224a chore(release): 0.42.1 [skip ci]
## [0.42.1](https://github.com/revanced/revanced-integrations/compare/v0.42.0...v0.42.1) (2022-09-23)

### Bug Fixes

* **build:** remove distributionSha256Sum property ([#153](https://github.com/revanced/revanced-integrations/issues/153)) [skip ci] ([ae8d39a](ae8d39a831))
* **custom-playback-speed:** fill array to generate required instructions ([#155](https://github.com/revanced/revanced-integrations/issues/155)) ([868e99a](868e99a619))
* **hide-time-and-seekbar:** don't draw the seekbar ([#154](https://github.com/revanced/revanced-integrations/issues/154)) ([f1e9aa3](f1e9aa30ba))
2022-09-23 10:58:02 +00:00
bogadana
868e99a619 fix(custom-playback-speed): fill array to generate required instructions (#155) 2022-09-23 12:53:22 +02:00
OxrxL
f1e9aa30ba fix(hide-time-and-seekbar): don't draw the seekbar (#154) 2022-09-23 12:51:30 +02:00
OxrxL
ae8d39a831 fix(build): remove distributionSha256Sum property (#153) [skip ci] 2022-09-23 11:14:34 +02:00
semantic-release-bot
0304ccb168 chore(release): 0.42.0 [skip ci]
# [0.42.0](https://github.com/revanced/revanced-integrations/compare/v0.41.2...v0.42.0) (2022-09-23)

### Features

* **tiktok:** adapt `tiktok-download` with `tiktok-settings`. ([#152](https://github.com/revanced/revanced-integrations/issues/152)) ([5a710aa](5a710aa033))
2022-09-23 05:43:56 +00:00
d4rkk3y
5a710aa033 feat(tiktok): adapt tiktok-download with tiktok-settings. (#152) 2022-09-23 07:39:44 +02:00
semantic-release-bot
fd924ad934 chore(release): 0.41.2 [skip ci]
## [0.41.2](https://github.com/revanced/revanced-integrations/compare/v0.41.1...v0.41.2) (2022-09-22)
2022-09-22 16:51:03 +00:00
Patryk Miś
f47cc8b375 build: migrate to Kotlin DSL (#151)
Co-authored-by: PatrickMis <24607131+PatrickMis@users.noreply.github.com>
2022-09-22 18:47:46 +02:00
oSumAtrIX
b97c6005f0 refactor(custom-playback-speed): empty initial value for videoSpeeds field 2022-09-22 07:19:12 +02:00
semantic-release-bot
8feeb323ba chore(release): 0.41.1 [skip ci]
## [0.41.1](https://github.com/revanced/revanced-integrations/compare/v0.41.0...v0.41.1) (2022-09-22)
2022-09-22 00:11:29 +00:00
Patryk Miś
c4be039367 build: modernize build code (#148) 2022-09-22 02:08:04 +02:00
semantic-release-bot
0a1f42595e chore(release): 0.41.0 [skip ci]
# [0.41.0](https://github.com/revanced/revanced-integrations/compare/v0.40.0...v0.41.0) (2022-09-21)

### Features

* `tiktok-feed-filter` , `tiktok-settings` and `tiktok-force-login` patch ([#142](https://github.com/revanced/revanced-integrations/issues/142)) ([c3f79eb](c3f79eb27b))
2022-09-21 21:02:57 +00:00
d4rkk3y
c3f79eb27b feat: tiktok-feed-filter , tiktok-settings and tiktok-force-login patch (#142) 2022-09-21 22:59:50 +02:00
semantic-release-bot
cf2d6b955a chore(release): 0.40.0 [skip ci]
# [0.40.0](https://github.com/revanced/revanced-integrations/compare/v0.39.0...v0.40.0) (2022-09-21)

### Bug Fixes

* disable sponsorblock on shorts ([#135](https://github.com/revanced/revanced-integrations/issues/135)) ([3797438](37974389ac))

### Features

* `disable-auto-player-popup-panels` patch ([#145](https://github.com/revanced/revanced-integrations/issues/145)) ([3fd6df8](3fd6df8277))
2022-09-21 01:06:46 +00:00
OxrxL
37974389ac fix: disable sponsorblock on shorts (#135) 2022-09-21 03:03:37 +02:00
OxrxL
3fd6df8277 feat: disable-auto-player-popup-panels patch (#145) 2022-09-21 03:02:47 +02:00
semantic-release-bot
ba22e3bc56 chore(release): 0.39.0 [skip ci]
# [0.39.0](https://github.com/revanced/revanced-integrations/compare/v0.38.0...v0.39.0) (2022-09-21)

### Features

* `hide-time-and-seekbar` patch ([#146](https://github.com/revanced/revanced-integrations/issues/146)) ([7e2f48e](7e2f48eb3e))
2022-09-21 01:01:07 +00:00
OxrxL
7e2f48eb3e feat: hide-time-and-seekbar patch (#146) 2022-09-21 02:58:13 +02:00
semantic-release-bot
6a1669ea71 chore(release): 0.38.0 [skip ci]
# [0.38.0](https://github.com/revanced/revanced-integrations/compare/v0.37.4...v0.38.0) (2022-09-20)

### Features

* disable `swipe-controls` when player controls are visible ([#123](https://github.com/revanced/revanced-integrations/issues/123)) ([6d8c0a0](6d8c0a0c73))
2022-09-20 23:59:25 +00:00
Chris
6d8c0a0c73 feat: disable swipe-controls when player controls are visible (#123) 2022-09-21 01:56:42 +02:00
semantic-release-bot
2b763373ee chore(release): 0.37.4 [skip ci]
## [0.37.4](https://github.com/revanced/revanced-integrations/compare/v0.37.3...v0.37.4) (2022-09-18)

### Bug Fixes

* **sponsorblock:** handle response error code 400 ([#143](https://github.com/revanced/revanced-integrations/issues/143)) ([40f9af0](40f9af0efd))
2022-09-18 22:07:17 +00:00
Michael M. Chang
40f9af0efd fix(sponsorblock): handle response error code 400 (#143) 2022-09-19 00:04:39 +02:00
semantic-release-bot
08cca3c6ec chore(release): 0.37.3 [skip ci]
## [0.37.3](https://github.com/revanced/revanced-integrations/compare/v0.37.2...v0.37.3) (2022-09-15)

### Bug Fixes

* revert consolidating ad filters ([f96dc38](f96dc38f4e))
2022-09-15 23:33:08 +00:00
oSumAtrIX
f96dc38f4e fix: revert consolidating ad filters
This reverts commit 8a39551aba.
2022-09-16 01:30:10 +02:00
semantic-release-bot
481b8d612d chore(release): 0.37.2 [skip ci]
## [0.37.2](https://github.com/revanced/revanced-integrations/compare/v0.37.1...v0.37.2) (2022-09-15)

### Bug Fixes

* consolidate ad filters ([#140](https://github.com/revanced/revanced-integrations/issues/140)) ([8a39551](8a39551aba))
2022-09-15 22:03:41 +00:00
OxrxL
8a39551aba fix: consolidate ad filters (#140) 2022-09-16 00:00:52 +02:00
semantic-release-bot
d7b1bc12fb chore(release): 0.37.1 [skip ci]
## [0.37.1](https://github.com/revanced/revanced-integrations/compare/v0.37.0...v0.37.1) (2022-09-15)

### Bug Fixes

* `general-ads` litho ads filter ([#139](https://github.com/revanced/revanced-integrations/issues/139)) ([68d7f98](68d7f98efc))
2022-09-15 14:51:17 +00:00
d4rkk3y
68d7f98efc fix: general-ads litho ads filter (#139) 2022-09-15 16:44:06 +02:00
semantic-release-bot
b7d603f706 chore(release): 0.37.0 [skip ci]
# [0.37.0](https://github.com/revanced/revanced-integrations/compare/v0.36.6...v0.37.0) (2022-09-15)

### Features

* `disable-auto-captions` patch ([#133](https://github.com/revanced/revanced-integrations/issues/133)) ([233d332](233d332473))
2022-09-15 01:03:26 +00:00
OxrxL
233d332473 feat: disable-auto-captions patch (#133) 2022-09-15 03:00:15 +02:00
semantic-release-bot
c82a85ba37 chore(release): 0.36.6 [skip ci]
## [0.36.6](https://github.com/revanced/revanced-integrations/compare/v0.36.5...v0.36.6) (2022-09-08)

### Bug Fixes

* android api 23 compat ([136fb7b](136fb7bcbb)), closes [revanced/revanced-integrations#136](https://github.com/revanced/revanced-integrations/issues/136)
2022-09-08 10:23:22 +00:00
Sculas
136fb7bcbb fix: android api 23 compat
Fixes revanced/revanced-integrations#136
2022-09-08 12:19:50 +02:00
84 changed files with 2793 additions and 828 deletions

View File

@@ -5,4 +5,4 @@ contact_links:
about: Don't know how or where to start? Check out our documentation!
- name: 🗨 Discussions
url: https://github.com/revanced/revanced-suggestions/discussions
about: Got something you think should change or be added? Search for or start a new discussion!
about: Got something you think should change or be added? Search for or start a new discussion!

View File

@@ -43,4 +43,4 @@ body:
label: Additional context
description: Add additional context here.
validations:
required: false
required: false

View File

@@ -37,4 +37,4 @@ jobs:
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release
run: npx semantic-release

File diff suppressed because it is too large Load Diff

2
app/.gitignore vendored
View File

@@ -1 +1 @@
/build
/build

View File

@@ -1,41 +0,0 @@
apply plugin: 'com.android.application'
apply plugin: 'org.jetbrains.kotlin.android'
android {
compileSdkVersion 32
namespace 'app.revanced.integrations'
defaultConfig {
applicationId "app.revanced.integrations"
minSdkVersion 24
targetSdkVersion 32
versionCode 1
versionName "1.0"
multiDexEnabled false
Properties properties = new Properties()
if (rootProject.file("local.properties").exists()) {
properties.load(rootProject.file("local.properties").newDataInputStream())
}
buildConfigField "String", "YT_API_KEY", "\"${properties.getProperty("youtubeAPIKey", "")}\""
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
}
dependencies {
//implementation 'com.github.TeamNewPipe:NewPipeExtractor:v0.22.1'
compileOnly 'androidx.annotation:annotation:1.4.0'
}

48
app/build.gradle.kts Normal file
View File

@@ -0,0 +1,48 @@
import java.io.FileInputStream
import java.util.Properties
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
android {
compileSdk = 33
buildToolsVersion = "33.0.0"
namespace = "app.revanced.integrations"
defaultConfig {
applicationId = "app.revanced.integrations"
minSdk = 23
targetSdk = 33
versionCode = 1
versionName = "1.0"
multiDexEnabled = false
val properties = Properties()
if (rootProject.file("local.properties").exists()) {
properties.load(FileInputStream(rootProject.file("local.properties")))
}
buildConfigField("String", "YT_API_KEY", "\"${properties.getProperty("youtubeAPIKey", "")}\"")
}
buildTypes {
release {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility(JavaVersion.VERSION_11)
targetCompatibility(JavaVersion.VERSION_11)
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_11.toString()
}
}
dependencies {
compileOnly(project(mapOf("path" to ":dummy")))
compileOnly("androidx.annotation:annotation:1.5.0")
}

View File

@@ -18,4 +18,11 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#-renamesourcefileattribute SourceFile
-dontobfuscate
-keep class app.revanced.** {
*;
}
-keep class com.google.** {
*;
}

View File

@@ -2,4 +2,4 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
</manifest>
</manifest>

View File

@@ -3,8 +3,6 @@ package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class AutoRepeatPatch {
//Used by app.revanced.patches.youtube.layout.autorepeat.patch.AutoRepeatPatch
public static boolean shouldAutoRepeat() {
return SettingsEnum.PREFERRED_AUTO_REPEAT.getBoolean();

View File

@@ -2,9 +2,11 @@ package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class ForceDisableCaptionsPatch {
public static boolean captionsEnabled() {
public class DisableAutoCaptionsPatch {
public static boolean captionsButtonDisabled;
public static boolean autoCaptionsEnabled() {
return SettingsEnum.CAPTIONS_ENABLED.getBoolean();
}

View File

@@ -0,0 +1,10 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class DisablePlayerPopupPanelsPatch {
//Used by app.revanced.patches.youtube.layout.playerpopuppanels.patch.PlayerPopupPanelsPatch
public static boolean disablePlayerPopupPanels() {
return SettingsEnum.PLAYER_POPUP_PANELS.getBoolean();
}
}

View File

@@ -0,0 +1,10 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class DisableStartupShortsPlayerPatch {
//Used by app.revanced.patches.youtube.layout.startupshortsreset.patch.DisableShortsOnStartupPatch
public static boolean disableStartupShortsPlayer() {
return SettingsEnum.DISABLE_STARTUP_SHORTS_PLAYER.getBoolean();
}
}

View File

@@ -1,152 +0,0 @@
package app.revanced.integrations.patches;
import android.os.Build;
import androidx.annotation.RequiresApi;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import app.revanced.integrations.settings.SettingsEnum;
import app.revanced.integrations.utils.LogHelper;
public class GeneralBytecodeAdsPatch {
//Used by app.revanced.patches.youtube.ad.general.bytecode.patch.GeneralBytecodeAdsPatch
public static boolean containsAd(String value, ByteBuffer buffer) {
return containsLithoAd(value, buffer);
}
private static boolean containsLithoAd(String value, ByteBuffer buffer) {
boolean enabled = false;
for (SettingsEnum setting : SettingsEnum.getAdRemovalSettings()) {
if (setting.getBoolean()) {
enabled = true;
break;
}
}
try {
if (value == null || value.isEmpty() || !enabled) return false;
LogHelper.debug(GeneralBytecodeAdsPatch.class, "Searching for AD: " + value);
List<String> blockList = new ArrayList<>();
List<String> bufferBlockList = new ArrayList<>();
if (SettingsEnum.ADREMOVER_AD_REMOVAL.getBoolean()) {
blockList.add("_ad");
blockList.add("ad_badge");
blockList.add("ads_video_with_context");
blockList.add("cell_divider");
blockList.add("reels_player_overlay");
blockList.add("shelf_header");
blockList.add("text_search_ad_with_description_first");
blockList.add("watch_metadata_app_promo");
bufferBlockList.add("ad_cpn");
}
if (SettingsEnum.ADREMOVER_SUGGESTED_FOR_YOU_REMOVAL.getBoolean()) {
bufferBlockList.add("watch-vrecH");
}
if (SettingsEnum.ADREMOVER_MOVIE_REMOVAL.getBoolean()) {
blockList.add("browsy_bar");
blockList.add("compact_movie");
blockList.add("horizontal_movie_shelf");
blockList.add("movie_and_show_upsell_card");
bufferBlockList.add("YouTube Movies");
}
if (containsAny(value, "home_video_with_context", "related_video_with_context") &&
bufferBlockList.stream().anyMatch(new String(buffer.array(), StandardCharsets.UTF_8)::contains)
) return true;
if (SettingsEnum.ADREMOVER_COMMENTS_REMOVAL.getBoolean()) {
blockList.add("comments_");
}
if (SettingsEnum.ADREMOVER_COMMUNITY_GUIDELINES.getBoolean()) {
blockList.add("community_guidelines");
}
if (SettingsEnum.ADREMOVER_COMPACT_BANNER_REMOVAL.getBoolean()) {
blockList.add("compact_banner");
}
if (SettingsEnum.ADREMOVER_EMERGENCY_BOX_REMOVAL.getBoolean()) {
blockList.add("emergency_onebox");
}
if (SettingsEnum.ADREMOVER_FEED_SURVEY_REMOVAL.getBoolean()) {
blockList.add("in_feed_survey");
}
if (SettingsEnum.ADREMOVER_MEDICAL_PANEL_REMOVAL.getBoolean()) {
blockList.add("medical_panel");
}
if (SettingsEnum.ADREMOVER_PAID_CONTECT_REMOVAL.getBoolean()) {
blockList.add("paid_content_overlay");
}
if (SettingsEnum.ADREMOVER_COMMUNITY_POSTS_REMOVAL.getBoolean()) {
blockList.add("post_base_wrapper");
}
if (SettingsEnum.ADREMOVER_MERCHANDISE_REMOVAL.getBoolean()) {
blockList.add("product_carousel");
}
if (SettingsEnum.ADREMOVER_SHORTS_SHELF.getBoolean()) {
blockList.add("shorts_shelf");
}
if (SettingsEnum.ADREMOVER_INFO_PANEL_REMOVAL.getBoolean()) {
blockList.add("publisher_transparency_panel");
blockList.add("single_item_information_panel");
}
if (SettingsEnum.ADREMOVER_HIDE_SUGGESTIONS.getBoolean()) {
blockList.add("horizontal_video_shelf");
}
if (SettingsEnum.ADREMOVER_HIDE_LATEST_POSTS.getBoolean()) {
blockList.add("post_shelf");
}
if (SettingsEnum.ADREMOVER_HIDE_CHANNEL_GUIDELINES.getBoolean()) {
blockList.add("channel_guidelines_entry_banner");
}
if (containsAny(value,
"home_video_with_context",
"related_video_with_context",
"search_video_with_context",
"menu",
"root",
"-count",
"-space",
"-button"
)) return false;
if (blockList.stream().anyMatch(value::contains)) {
LogHelper.debug(GeneralBytecodeAdsPatch.class, "Blocking ad: " + value);
return true;
}
if (SettingsEnum.DEBUG.getBoolean()) {
if (value.contains("related_video_with_context")) {
LogHelper.debug(GeneralBytecodeAdsPatch.class, value + " | " + bytesToHex(buffer.array()));
return false;
}
LogHelper.debug(GeneralBytecodeAdsPatch.class, value + " returns false.");
}
return false;
} catch (Exception ex) {
LogHelper.printException(GeneralBytecodeAdsPatch.class, ex.getMessage(), ex);
return false;
}
}
private static boolean containsAny(String value, String... targets) {
for (String string : targets)
if (value.contains(string)) return true;
return false;
}
private static String bytesToHex(byte[] bytes) {
StringBuilder builder = new StringBuilder(bytes.length * 2);
for (byte b : bytes)
builder.append(String.format("%02x", b));
return builder.toString();
}
}

View File

@@ -0,0 +1,14 @@
package app.revanced.integrations.patches;
import android.view.View;
import app.revanced.integrations.adremover.AdRemoverAPI;
import app.revanced.integrations.settings.SettingsEnum;
public class HideAlbumCardsPatch {
//Used by app.revanced.patches.youtube.layout.hidealbumcards.patch.HideAlbumCardsPatch
public static void hideAlbumCards(View view) {
if (!SettingsEnum.HIDE_ALBUM_CARDS.getBoolean()) return;
AdRemoverAPI.HideViewWithLayout1dp(view);
}
}

View File

@@ -0,0 +1,13 @@
package app.revanced.integrations.patches;
import android.widget.ImageView;
import app.revanced.integrations.settings.SettingsEnum;
import app.revanced.integrations.utils.LogHelper;
public class HideCaptionsButtonPatch {
//Used by app.revanced.patches.youtube.layout.hidecaptionsbutton.patch.HideCaptionsButtonPatch
public static void hideCaptionsButton(ImageView imageView) {
imageView.setVisibility(SettingsEnum.HIDE_CAPTIONS_BUTTON.getBoolean() ? ImageView.GONE : ImageView.VISIBLE);
}
}

View File

@@ -0,0 +1,14 @@
package app.revanced.integrations.patches;
import android.view.View;
import app.revanced.integrations.adremover.AdRemoverAPI;
import app.revanced.integrations.settings.SettingsEnum;
public class HideCrowdfundingBoxPatch {
//Used by app.revanced.patches.youtube.layout.hidecrowdfundingbox.patch.HideCrowdfundingBoxPatch
public static void hideCrowdfundingBox(View view) {
if (!SettingsEnum.HIDE_CROWDFUNDING_BOX.getBoolean()) return;
AdRemoverAPI.HideViewWithLayout1dp(view);
}
}

View File

@@ -0,0 +1,10 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class HideEmailAddressPatch {
//Used by app.revanced.patches.youtube.layout.personalinformation.patch.HideEmailAddressPatch
public static boolean hideEmailAddress() {
return SettingsEnum.HIDE_EMAIL_ADDRESS.getBoolean();
}
}

View File

@@ -0,0 +1,14 @@
package app.revanced.integrations.patches;
import android.view.View;
import app.revanced.integrations.adremover.AdRemoverAPI;
import app.revanced.integrations.settings.SettingsEnum;
public class HideMixPlaylistsPatch {
public static void hideMixPlaylists(View view) {
if (!SettingsEnum.HIDE_MIX_PLAYLISTS.getBoolean()) return;
AdRemoverAPI.HideViewWithLayout1dp(view);
}
}

View File

@@ -0,0 +1,13 @@
package app.revanced.integrations.patches;
import android.view.View;
import app.revanced.integrations.settings.SettingsEnum;
public class HideShortsCommentsButtonPatch {
//Used by app.revanced.patches.youtube.layout.comments.patch.CommentsPatch
public static void hideShortsCommentsButton(View view) {
if (!SettingsEnum.HIDE_SHORTS_COMMENTS_BUTTON.getBoolean()) return;
view.setVisibility(View.GONE);
}
}

View File

@@ -0,0 +1,10 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class HideTimeAndSeekbarPatch {
//Used by app.revanced.patches.youtube.layout.hidetimeandseekbar.patch.HideTimeAndSeekbarPatch
public static boolean hideTimeAndSeekbar() {
return SettingsEnum.HIDE_TIME_AND_SEEKBAR.getBoolean();
}
}

View File

@@ -0,0 +1,10 @@
package app.revanced.integrations.patches;
import app.revanced.integrations.settings.SettingsEnum;
public class HideWatchinVRPatch {
//Used by app.revanced.patches.youtube.layout.watchinvr.patch.HideWatchinVRPatch
public static boolean hideWatchinVR() {
return SettingsEnum.HIDE_WATCH_IN_VR.getBoolean();
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,35 @@
package app.revanced.integrations.patches;
import android.util.Log;
import app.revanced.integrations.utils.ThemeHelper;
public class LithoThemePatch {
// color constants used in relation with litho components
private static final int[] WHITECONSTANTS = {
-1, // comments chip background
-394759, // music related results panel background
-83886081, // video chapters list background
};
private static final int[] DARKCONSTANTS = {
-14606047, // comments chip background
-15198184, // music related results panel background
-15790321, // comments chip background (new layout)
-98492127 // video chapters list background
};
// Used by app.revanced.patches.youtube.layout.theme.patch.LithoThemePatch
public static int applyLithoTheme(int originalValue) {
var isDarkTheme = ThemeHelper.isDarkTheme();
if ((isDarkTheme && anyEquals(originalValue, DARKCONSTANTS)) || (!isDarkTheme && anyEquals(originalValue, WHITECONSTANTS)))
return 0;
return originalValue;
}
private static boolean anyEquals(int value, int... of) {
for (int v : of) if (value == v) return true;
return false;
}
}

View File

@@ -0,0 +1,33 @@
package app.revanced.integrations.patches;
import static app.revanced.integrations.sponsorblock.StringRef.str;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.widget.Toast;
import app.revanced.integrations.utils.LogHelper;
import app.revanced.integrations.utils.ReVancedUtils;
public class MicroGSupport {
private static final String MICROG_VENDOR = "com.mgoogle";
private static final String MICROG_PACKAGE_NAME = "com.mgoogle.android.gms";
private static final String VANCED_MICROG_DOWNLOAD_LINK = "https://github.com/TeamVanced/VancedMicroG/releases/latest";
public static void checkAvailability() {
var context = ReVancedUtils.getContext();
assert context != null;
try {
context.getPackageManager().getPackageInfo(MICROG_PACKAGE_NAME, PackageManager.GET_ACTIVITIES);
LogHelper.debug(ReVancedUtils.class, "MicroG is installed on the device");
} catch (PackageManager.NameNotFoundException exception) {
LogHelper.printException(ReVancedUtils.class, "MicroG was not found", exception);
Toast.makeText(context, str("microg_not_installed_warning"), Toast.LENGTH_LONG).show();
var intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(VANCED_MICROG_DOWNLOAD_LINK));
context.startActivity(intent);
}
}
}

View File

@@ -25,9 +25,15 @@ public class ReturnYouTubeDislikePatch {
/**
* Called when the like/dislike button is clicked
*
* @param vote -1 (dislike), 0 (none) or 1 (like)
*/
public static void sendVote(int vote) {
ReturnYouTubeDislike.sendVote(vote);
for (ReturnYouTubeDislike.Vote v : ReturnYouTubeDislike.Vote.values()) {
if (v.value == vote) {
ReturnYouTubeDislike.sendVote(v);
return;
}
}
}
}

View File

@@ -10,6 +10,7 @@ import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import app.revanced.integrations.settings.SettingsEnum;
import app.revanced.integrations.utils.LogHelper;
import app.revanced.integrations.utils.ReVancedUtils;
import app.revanced.integrations.utils.SharedPrefHelper;
@@ -131,6 +132,9 @@ public class VideoQualityPatch {
}
public static void userChangedQuality(int selectedQuality) {
// Do not remember a **new** quality if REMEMBER_VIDEO_QUALITY is true
if (SettingsEnum.REMEMBER_VIDEO_QUALITY.getBoolean()) return;
selectedQuality1 = selectedQuality;
userChangedQuality = true;
}

View File

@@ -12,7 +12,7 @@ import app.revanced.integrations.utils.ReVancedUtils;
public class VideoSpeedPatch {
public static final float[] videoSpeeds = {0.25f, 0.5f, 0.75f, 1.0f, 1.25f, 1.5f, 1.75f, 2.0f, 3.0f, 4.0f, 5.0f};
public static final float[] videoSpeeds = { 0, 0 }; // Values are useless as they are being overridden by the respective patch
private static Boolean userChangedSpeed = false;
public static int getDefaultSpeed(Object[] speeds, int speed, Object qInterface) {

View File

@@ -20,6 +20,20 @@ import app.revanced.integrations.utils.SharedPrefHelper;
public class ReturnYouTubeDislike {
private static boolean isEnabled;
private static boolean segmentedButton;
public enum Vote {
LIKE(1),
DISLIKE(-1),
LIKE_REMOVE(0);
public int value;
Vote(int value) {
this.value = value;
}
}
private static Thread _dislikeFetchThread = null;
private static Thread _votingThread = null;
private static Registration registration;
@@ -77,31 +91,29 @@ public class ReturnYouTubeDislike {
if (!isEnabled) return;
try {
// Contains a pathBuilder string, used to distinguish from other litho components:
// video_action_bar.eml|27b56b54d5dcba20|video_action_bar_unwrapper.eml|c5a1d399b660e52e|CellType
// |ScrollableContainerType|ContainerType|ContainerType|dislike_button.eml|966ee2cd7db5e29f
// |video_actipathBuilder=video_action_bar.eml|27b56b54d5dcba20|video_action_bar_unwrapper.eml
// |c5a1d399b660e52e|CellType|ScrollableContainerType|ContainerType|ContainerType|dislike_button.eml
// |966ee2cd7db5e29f|video_action_toggle_button.eml|8fd9d44a8e3c9162|video_action_button.eml
// |9dd3b4b44979c3af|ContainerType|TextType|on_toggle_button.eml|8fd9d44a8e3c9162|video_action_button.eml
// |9dd3b4b44979c3af|ContainerType|TextType|
if (!conversionContext.toString().contains("|dislike_button.eml|")) return;
var conversionContextString = conversionContext.toString();
// Check for new component
if (conversionContextString.contains("|segmented_like_dislike_button.eml|"))
segmentedButton = true;
else if (!conversionContextString.contains("|dislike_button.eml|"))
return;
LogHelper.debug(ReturnYouTubeDislike.class, "dislike button was created");
// Have to block the current thread until fetching is done
// There's no known way to edit the text after creation yet
if (_dislikeFetchThread != null) _dislikeFetchThread.join();
if (dislikeCount != null) {
updateDislikeText(textRef, formatDislikes(dislikeCount));
}
if (dislikeCount == null) return;
updateDislike(textRef, dislikeCount);
LogHelper.debug(ReturnYouTubeDislike.class, "Updated text on component" + conversionContextString);
} catch (Exception ex) {
LogHelper.printException(ReturnYouTubeDislike.class, "Error while trying to set dislikes text", ex);
}
}
public static void sendVote(int vote) {
public static void sendVote(Vote vote) {
if (!isEnabled) return;
Context context = ReVancedUtils.getContext();
@@ -129,16 +141,23 @@ public class ReturnYouTubeDislike {
_votingThread.start();
}
private static void updateDislikeText(AtomicReference<Object> textRef, String text) {
SpannableString oldString = (SpannableString) textRef.get();
SpannableString newString = new SpannableString(text);
private static void updateDislike(AtomicReference<Object> textRef, Integer dislikeCount) {
SpannableString oldSpannableString = (SpannableString) textRef.get();
// parse the buttons string
// if the button is segmented, only get the like count as a string
var oldButtonString = oldSpannableString.toString();
if (segmentedButton) oldButtonString = oldButtonString.split(" \\| ")[0];
var dislikeString = formatDislikes(dislikeCount);
SpannableString newString = new SpannableString(
segmentedButton ? (oldButtonString + " | " + dislikeString) : dislikeString
);
// Copy style (foreground color, etc) to new string
Object[] spans = oldString.getSpans(0, oldString.length(), Object.class);
for (Object span : spans) {
int flags = oldString.getSpanFlags(span);
newString.setSpan(span, 0, newString.length(), flags);
}
Object[] spans = oldSpannableString.getSpans(0, oldSpannableString.length(), Object.class);
for (Object span : spans)
newString.setSpan(span, 0, newString.length(), oldSpannableString.getSpanFlags(span));
textRef.set(newString);
}

View File

@@ -10,9 +10,9 @@ public class Voting {
this.registration = registration;
}
public boolean sendVote(String videoId, int vote) {
public boolean sendVote(String videoId, ReturnYouTubeDislike.Vote vote) {
String userId = registration.getUserId();
LogHelper.debug(Voting.class, "Trying to vote the following video: " + videoId + " with vote " + vote + " and userId: " + userId);
return ReturnYouTubeDislikeApi.sendVote(videoId, userId, vote);
return ReturnYouTubeDislikeApi.sendVote(videoId, userId, vote.value);
}
}

View File

@@ -26,7 +26,7 @@ public class ReturnYouTubeDislikeApi {
try {
LogHelper.debug(ReturnYouTubeDislikeApi.class, "Fetching dislikes for " + videoId);
HttpURLConnection connection = getConnectionFromRoute(ReturnYouTubeDislikeRoutes.GET_DISLIKES, videoId);
connection.setConnectTimeout(5 * 1000);
connection.setConnectTimeout(1000);
if (connection.getResponseCode() == 200) {
JSONObject json = getJSONObject(connection);
dislikeCount = json.getInt("dislikes");
@@ -181,4 +181,4 @@ public class ReturnYouTubeDislikeApi {
private static JSONObject getJSONObject(HttpURLConnection connection) throws Exception {
return Requester.getJSONObject(connection);
}
}
}

View File

@@ -17,57 +17,76 @@ public enum SettingsEnum {
DOWNLOADS_BUTTON_SHOWN("revanced_downloads", true, ReturnType.BOOLEAN, true),
DOWNLOADS_PACKAGE_NAME("revanced_downloads_package_name", "org.schabi.newpipe" /* NewPipe */, ReturnType.STRING),
//Video Settings
// Video settings
OLD_STYLE_QUALITY_SETTINGS("revanced_use_old_style_quality_settings", true, ReturnType.BOOLEAN),
PREFERRED_VIDEO_SPEED("revanced_pref_video_speed", -2.0f, ReturnType.FLOAT),
REMEMBER_VIDEO_QUALITY("revanced_remember_video_quality_selection", false, ReturnType.BOOLEAN),
//Whitelist Settings
// Whitelist settings
//ToDo: Not used atm, Patch missing
ENABLE_WHITELIST("revanced_whitelist_ads_enabled", false, ReturnType.BOOLEAN),
//Ad settings
// Ad settings
ADREMOVER_CUSTOM("revanced_adremover_custom_removal", "", ReturnType.STRING, false),
HOME_ADS_REMOVAL("revanced_home_ads_removal", true, ReturnType.BOOLEAN, true),
VIDEO_ADS_REMOVAL("revanced_video_ads_removal", true, ReturnType.BOOLEAN, true),
ADREMOVER_AD_REMOVAL("revanced_adremover_ad_removal", true, ReturnType.BOOLEAN, true),
ADREMOVER_GENERAL_ADS_REMOVAL("revanced_adremover_ad_removal", true, ReturnType.BOOLEAN, true),
ADREMOVER_MERCHANDISE_REMOVAL("revanced_adremover_merchandise", true, ReturnType.BOOLEAN, true),
ADREMOVER_COMMUNITY_POSTS_REMOVAL("revanced_adremover_community_posts_removal", true, ReturnType.BOOLEAN, true),
ADREMOVER_COMMUNITY_POSTS_REMOVAL("revanced_adremover_community_posts_removal", false, ReturnType.BOOLEAN, true),
ADREMOVER_COMPACT_BANNER_REMOVAL("revanced_adremover_compact_banner_removal", true, ReturnType.BOOLEAN, true),
ADREMOVER_COMMENTS_REMOVAL("revanced_adremover_comments_removal", false, ReturnType.BOOLEAN, true),
ADREMOVER_MOVIE_REMOVAL("revanced_adremover_movie", true, ReturnType.BOOLEAN, true),
ADREMOVER_FEED_SURVEY_REMOVAL("revanced_adremover_feed_survey", true, ReturnType.BOOLEAN, true),
ADREMOVER_SHORTS_SHELF("revanced_adremover_shorts_shelf", true, ReturnType.BOOLEAN, true),
ADREMOVER_COMMUNITY_GUIDELINES("revanced_adremover_community_guidelines", true, ReturnType.BOOLEAN, true),
ADREMOVER_SHORTS_SHELF_REMOVAL("revanced_adremover_shorts_shelf", true, ReturnType.BOOLEAN, true),
ADREMOVER_COMMUNITY_GUIDELINES_REMOVAL("revanced_adremover_community_guidelines", true, ReturnType.BOOLEAN, true),
ADREMOVER_EMERGENCY_BOX_REMOVAL("revanced_adremover_emergency_box_removal", true, ReturnType.BOOLEAN, true),
ADREMOVER_INFO_PANEL_REMOVAL("revanced_adremover_info_panel", true, ReturnType.BOOLEAN, true),
ADREMOVER_MEDICAL_PANEL_REMOVAL("revanced_adremover_medical_panel", true, ReturnType.BOOLEAN, true),
ADREMOVER_PAID_CONTECT_REMOVAL("revanced_adremover_paid_content", true, ReturnType.BOOLEAN, true),
ADREMOVER_SUGGESTED_FOR_YOU_REMOVAL("revanced_adremover_suggested", true, ReturnType.BOOLEAN, true),
ADREMOVER_HIDE_SUGGESTIONS("revanced_adremover_hide_suggestions", true, ReturnType.BOOLEAN, true),
ADREMOVER_SUGGESTIONS_REMOVAL("revanced_adremover_hide_suggestions", true, ReturnType.BOOLEAN, true),
ADREMOVER_HIDE_LATEST_POSTS("revanced_adremover_hide_latest_posts", true, ReturnType.BOOLEAN, true),
ADREMOVER_HIDE_CHANNEL_GUIDELINES("revanced_adremover_hide_channel_guidelines", true, ReturnType.BOOLEAN, true),
//Layout settings
// Action buttons
HIDE_LIKE_BUTTON("revanced_like_button", false, ReturnType.BOOLEAN, false),
HIDE_DISLIKE_BUTTON("revanced_dislike_button", false, ReturnType.BOOLEAN, false),
HIDE_DOWNLOAD_BUTTON("revanced_download_button", false, ReturnType.BOOLEAN, false),
HIDE_PLAYLIST_BUTTON("revanced_playlist_button", false, ReturnType.BOOLEAN, false),
HIDE_ACTION_BUTTON("revanced_action_button", false, ReturnType.BOOLEAN, false),
HIDE_SHARE_BUTTON("revanced_share_button", false, ReturnType.BOOLEAN, false),
// Layout settings
REEL_BUTTON_SHOWN("revanced_reel_button_enabled", false, ReturnType.BOOLEAN, true),
INFO_CARDS_SHOWN("revanced_info_cards_enabled", false, ReturnType.BOOLEAN),
BRANDING_SHOWN("revanced_branding_watermark_enabled", false, ReturnType.BOOLEAN),
CAST_BUTTON_SHOWN("revanced_cast_button_enabled", false, ReturnType.BOOLEAN, true),
AUTOPLAY_BUTTON_SHOWN("revanced_autoplay_button_enabled", false, ReturnType.BOOLEAN, true),
//ToDo: Not used atm, Patch missing
USE_TABLET_MINIPLAYER("revanced_tablet_miniplayer", false, ReturnType.BOOLEAN, true),
CREATE_BUTTON_ENABLED("revanced_create_button_enabled", false, ReturnType.BOOLEAN, true),
WIDE_SEARCHBAR("revanced_wide_searchbar", false, ReturnType.BOOLEAN, true),
SHORTS_BUTTON_SHOWN("revanced_shorts_button_enabled", false, ReturnType.BOOLEAN, true),
FULLSCREEN_PANELS_SHOWN("revanced_fullscreen_panels_enabled", false, ReturnType.BOOLEAN), //ToDo: Add to prefs
PLAYER_POPUP_PANELS("revanced_player_popup_panels_enabled", false, ReturnType.BOOLEAN),
HIDE_TIME_AND_SEEKBAR("revanced_hide_time_and_seekbar", false, ReturnType.BOOLEAN),
HIDE_EMAIL_ADDRESS("revanced_hide_email_address", false, ReturnType.BOOLEAN),
DISABLE_STARTUP_SHORTS_PLAYER("revanced_startup_shorts_player_enabled", false, ReturnType.BOOLEAN),
HIDE_CAPTIONS_BUTTON("revanced_hide_captions_button", false, ReturnType.BOOLEAN),
HIDE_MIX_PLAYLISTS("revanced_mix_playlists_hidden", false, ReturnType.BOOLEAN, true),
HIDE_CROWDFUNDING_BOX("revanced_hide_crowdfunding_box", false, ReturnType.BOOLEAN, true),
HIDE_COMMENTS_SECTION("revanced_hide_comments_section", false, ReturnType.BOOLEAN, true),
HIDE_SHORTS_COMMENTS_BUTTON("revanced_hide_shorts_comments_button", false, ReturnType.BOOLEAN),
HIDE_PREVIEW_COMMENT("revanced_hide_preview_comment", false, ReturnType.BOOLEAN, true),
HIDE_ALBUM_CARDS("revanced_hide_album_cards", false, ReturnType.BOOLEAN, true),
HIDE_ARTIST_CARD("revanced_hide_artist_card", false, ReturnType.BOOLEAN),
HIDE_WATCH_IN_VR("revanced_hide_watch_in_vr", false, ReturnType.BOOLEAN, true),
//Misc. Settings
//ToDo: Not used atm, Patch missing
CAPTIONS_ENABLED("revanced_pref_captions", false, ReturnType.BOOLEAN),
// Misc. Settings
CAPTIONS_ENABLED("revanced_autocaptions_enabled", false, ReturnType.BOOLEAN, false),
PREFERRED_AUTO_REPEAT("revanced_pref_auto_repeat", false, ReturnType.BOOLEAN),
USE_HDR_AUTO_BRIGHTNESS("revanced_pref_hdr_autobrightness", true, ReturnType.BOOLEAN),
TAP_SEEKING_ENABLED("revanced_enable_tap_seeking", true, ReturnType.BOOLEAN),
ENABLE_MINIMIZED_PLAYBACK("revanced_enable_minimized_playback", true, ReturnType.BOOLEAN),
//Swipe controls
// Swipe controls
ENABLE_SWIPE_BRIGHTNESS("revanced_enable_swipe_brightness", true, ReturnType.BOOLEAN),
ENABLE_SWIPE_VOLUME("revanced_enable_swipe_volume", true, ReturnType.BOOLEAN),
ENABLE_PRESS_TO_SWIPE("revanced_enable_press_to_swipe", false, ReturnType.BOOLEAN),
@@ -77,20 +96,20 @@ public enum SettingsEnum {
SWIPE_OVERLAY_BACKGROUND_ALPHA("revanced_swipe_overlay_background_alpha", 127, ReturnType.INTEGER),
SWIPE_MAGNITUDE_THRESHOLD("revanced_swipe_magnitude_threshold", 30f, ReturnType.FLOAT),
//Buffer Settings
// Buffer settings
MAX_BUFFER("revanced_pref_max_buffer_ms", 120000, ReturnType.INTEGER),
PLAYBACK_MAX_BUFFER("revanced_pref_buffer_for_playback_ms", 2500, ReturnType.INTEGER),
MAX_PLAYBACK_BUFFER_AFTER_REBUFFER("revanced_pref_buffer_for_playback_after_rebuffer_ms", 5000, ReturnType.INTEGER),
//ReVanced General Settings
// ReVanced settings
DEBUG("revanced_debug_enabled", false, ReturnType.BOOLEAN, true),
USE_DARK_THEME("app_theme_dark", false, ReturnType.BOOLEAN),
//RYD Settings
// RYD settings
RYD_USER_ID("ryd_userId", null, SharedPrefHelper.SharedPrefNames.RYD, ReturnType.STRING),
RYD_ENABLED("ryd_enabled", true, SharedPrefHelper.SharedPrefNames.RYD, ReturnType.BOOLEAN),
//SponsorBlock Settings
// SponsorBlock settings
SB_ENABLED("sb-enabled", true, SharedPrefHelper.SharedPrefNames.SPONSOR_BLOCK, ReturnType.BOOLEAN),
SB_SHOW_TOAST_WHEN_SKIP("show-toast", true, SharedPrefHelper.SharedPrefNames.SPONSOR_BLOCK, ReturnType.BOOLEAN),
SB_COUNT_SKIPS("count-skips", true, SharedPrefHelper.SharedPrefNames.SPONSOR_BLOCK, ReturnType.BOOLEAN),
@@ -250,5 +269,4 @@ public enum SettingsEnum {
public boolean shouldRebootOnChange() {
return rebootApp;
}
}

Some files were not shown because too many files have changed in this diff Show More