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

Shizuku support [question] [enhancement] #278

Closed
LCernei opened this issue Mar 28, 2023 · 4 comments
Closed

Shizuku support [question] [enhancement] #278

LCernei opened this issue Mar 28, 2023 · 4 comments
Assignees
Labels
bug/limitation elsewhere Bug/limitation in the ROM or another project

Comments

@LCernei
Copy link

LCernei commented Mar 28, 2023

Hi,
I was wondering:
Can this app use Shizuku instead of root / Magisk? (or even alongside Magisk?)
I understand that it requires additional development, but is it even possible?
Are there some permissions that BCR needs that are not available with Shizuku?
This can provide an easier installation and potentially a wider userbase.

@chenxiaolong
Copy link
Owner

Unfortunately, this is not possible. All call recording apps require the CAPTURE_AUDIO_OUTPUT permission and BCR additionally requires CONTROL_INCALL_EXPERIENCE to detect when calls begin/end. Neither of these system app permissions are available to adb/Shizuku (full list of permissions they support: https://github.com/aosp-mirror/platform_frameworks_base/blob/master/packages/Shell/AndroidManifest.xml).

@chenxiaolong chenxiaolong self-assigned this Mar 29, 2023
@chenxiaolong chenxiaolong added the bug/limitation elsewhere Bug/limitation in the ROM or another project label Mar 29, 2023
@shahawi
Copy link

shahawi commented Feb 4, 2024

Hi,
Sorry to reopen the issue but I see that both permissions are now available in shizuku
https://github.com/aosp-mirror/platform_frameworks_base/blob/master/packages/Shell/AndroidManifest.xml

@chenxiaolong
Copy link
Owner

Nice! I hadn't seen that.

I looked into it today and unfortunately, while the permissions might be sufficient now, Shizuku does not support exporting services. There's no way to export BCR's InCallService in a way that Android will detect it and notify BCR of phone calls. Replacing that with Android's legacy call detection API might work, although that has limitations like not being able to properly handle call waiting, holding, conference calls, etc.

Accessing files, contacts, call information, etc. also needs to be split out from the recording logic because all of that requires access to a valid Context, which is not available from a Shizuku user service.

So with that said, I think it's theoretically possible for someone to write a limited call recorder for Android 14+ that uses Shizuku and does not require root. I won't be implementing this in BCR though. It would require a pretty significant rewrite and I don't really have any interest in doing it.

@shahawi
Copy link

shahawi commented Feb 4, 2024

Thank you for the clarification

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug/limitation elsewhere Bug/limitation in the ROM or another project
Projects
None yet
Development

No branches or pull requests

3 participants