bepass-org / oblivion

Unofficial warp client for android
2.96k stars 419 forks source link

FEATS: Implement blacklist split tunneling, improve connection state handling, code cleanup #41

Closed ameerhossein closed 3 months ago

ameerhossein commented 3 months ago

This pull request implements blacklist split tunneling. At first I wanted to implement both whitelist and blacklist mode but it seems whitelist mode is impossible unless the Go library native protect() method (not sure how is that done).

Rebased on Fix stuck connection when another VPN app connects

As the project is growing, the file count is increasing and the root package is slowly becoming a mess. So I had to organize the classes a little bit to different folders.

A few cleanups have been done to prevent too much code duplication.

Some UI components have been tweaked to have touch feedback (Ripple effects).

Used Glide for split-tunnel icon loading to have lag-free scrolling.

image

image

markpash commented 3 months ago

Thanks again for all the new contributions, as I've mentioned in the other PR, reviewing will be a little difficult for me but I'll try my best to get your changes merged. In the meantime, I noticed you mentioned you have a refactor in your PR where you move some files around, could you submit that as a separate PR please? It would hopefully make things easier to review and perhaps stop feature discussion from blocking refactor and bugfixes from getting merged. :heart:

ameerhossein commented 3 months ago

My bad. When I was working on these changes, uo0sef was focusing on the core library, and there wasn't much activity on the Android framework side. So, I thought doing all the changes in one go could potentially save his time. Could we consider closing this pull request without merging it? I plan to submit the changes through separate PRs.

markpash commented 3 months ago

My bad. When I was working on these changes, uo0sef was focusing on the core library, and there wasn't much activity on the Android framework side. So, I thought doing all the changes in one go could potentially save his time. Could we consider closing this pull request without merging it? I plan to submit the changes through separate PRs.

Yeah sure, please do make those PRs and I will try to review them as soon as I can. I want to get these changes in before the next release.