iptux / xcallrecording-xposed Goto Github PK
View Code? Open in Web Editor NEWLOS/CM Call Recording Settings (Xposed Mod)
License: GNU General Public License v3.0
LOS/CM Call Recording Settings (Xposed Mod)
License: GNU General Public License v3.0
Some useful code Maybe http://code.google.com/p/iptux/ is what you really mean
On LG L3 II , on CM11 , after enabling the module and rebooting, if I open it and enable "Enable Call Recording" and then I enable all the features apart from "Record Incoming Calls" and "Record Outgoing Calls" and then I simply scroll in the app all the features get disabled. I just guess it happens because the app asks for the storage permission eventhough it's installed on KitKat. Even if I move correctly the app in /system/priv-app nothing changes. If you want any log just ask for them/it.
I'd like to have the option to change location of saved recordings
e.g. to external SD
Hi All,
I am using LOS 14.1 and installed this via Xposed but there is no application. It just installed.
Can you help me?
Is there an ability to disable vibration when recording is starting?
is it possible to update this great module to work with the dialer app used on oreo roms aosp and lineage os 15.1 and the roms based on them ?
I included its apk
Dialer.zip
There are two places where AAC can be set. I set this from within the dialer and it works. How diff is the setting from within this app?
Incidentally, the AMR format does create a recording, but it is silent.
After upgrading to 1.0.10 on LOS 14.1 on the axon7 device audio recording fails to start on it's own.
Would it be possible to add support for other roms that dont have lineageOS as its base such as AOSP, AEX, Pixel Experience?
While having the module enabled, the dialer app starts crashing after a while when manually launching the app.
I have the logcat attached below and it seems like an SQLite constraint error, however I didn't see this error before enabling the module.
I have tried clearing the dialer storage multiple times and the error keeps recurring after a while.
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: Error inserting title_key= bucket_display_name=Call Recordings owner_package_name=com.android.dialer parent=172 volume_name=external_primary title_resource_uri=null _display_name=2021-03-20 datetaken=1617004577355 mime_type=audio/* _data=/storage/emulated/0/Music/Call Recordings/2021-03-20 title= artist_id=1 is_pending=1 date_added=1617004577 album_id=8 primary_directory=Music secondary_directory=Call Recordings bucket_id=1242809120 media_type=2 relative_path=Music/Call Recordings/
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: files._data (code 2067 SQLITE_CONSTRAINT_UNIQUE)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:879)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:790)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:88)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1599)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1468)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at com.android.providers.media.MediaProvider.insertFile(MediaProvider.java:2713)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at com.android.providers.media.MediaProvider.insertInternal(MediaProvider.java:3089)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at com.android.providers.media.MediaProvider.insert(MediaProvider.java:2916)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at android.content.ContentProvider$Transport.insert(ContentProvider.java:309)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:154)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at android.os.Binder.execTransactInternal(Binder.java:1021)
03-29 13:26:17.367 20962 9036 E SQLiteDatabase: at android.os.Binder.execTransact(Binder.java:994)
03-29 13:26:17.368 30489 30489 D AndroidRuntime: Shutting down VM
03-29 13:26:17.368 30489 30489 E AndroidRuntime: FATAL EXCEPTION: main
03-29 13:26:17.368 30489 30489 E AndroidRuntime: Process: com.android.dialer, PID: 30489
03-29 13:26:17.368 30489 30489 E AndroidRuntime: java.lang.NullPointerException: uri
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at com.android.internal.util.Preconditions.checkNotNull(Preconditions.java:133)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1477)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at android.content.ContentResolver.openOutputStream(ContentResolver.java:1227)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at android.content.ContentResolver.openOutputStream(ContentResolver.java:1203)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at com.android.dialer.callrecord.CallRecordingAutoMigrator.autoMigrate(CallRecordingAutoMigrator.java:15)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at com.android.dialer.callrecord.CallRecordingAutoMigrator.lambda$fYMd2hq3Rmwh88rOPL23tA-hETA(Unknown Source:0)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at com.android.dialer.callrecord.-$$Lambda$CallRecordingAutoMigrator$fYMd2hq3Rmwh88rOPL23tA-hETA.onSuccess(Unknown Source:8)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at com.android.dialer.common.concurrent.DefaultDialerExecutorFactory$NonUiDialerExecutor.lambda$run$5$DefaultDialerExecutorFactory$NonUiDialerExecutor(DefaultDialerExecutorFactory.java:1)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at com.android.dialer.common.concurrent.-$$Lambda$DefaultDialerExecutorFactory$NonUiDialerExecutor$4t4zo-dgjmLhH8yi_urZa6URxWg.run(Unknown Source:4)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:883)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:100)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at android.os.Looper.loop(Looper.java:214)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7356)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
03-29 13:26:17.368 30489 30489 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
ROM: LineageOS 17.1 (android 10)
Note I do not have any "Recording File" options/settings enabled.
EdXposed only supports up to Android 11 ( https://github.com/ElderDrivers/EdXposed/releases ) and hasn't had a release in over a year.
Riru also is suggesting migration to Zygisk ( https://github.com/RikkaApps/Riru , in the readme ) and has set their repo to read-only.
With these in mind, it'd be incredibly useful to support being installed through LSPosed ( https://github.com/LSPosed/LSPosed ).
If this project is already supported through LSPosed, a how-to or some info about this would be useful.
Thank you.
Hi, Now that Lineage OS 15.1 has re-added Call Record
functionality, it would be nice to have XCallRecording extend its support. Currently, it does not trigger an auto-record when a call is established.
Not working call recording on LOS 16
Firstly, thanks so much for this long-living app.
The app is configured to separate folders.
Tried many things such as different xposed verisons (Lsposed - Edxposed) but nothing changed. Do you need anything for inspect this issue? Or, how may I help you?
I'm using BlissRom 14.8 (Android 11) on Samsung Note 9 Exynos.
Regards...
When there is recording running with the current call, a second incoming call is causing to abort the recording of the first call. (This happens as soon as the second caller stops his call request). Do you have any idea how to solve this issue?
I assume that there is something like a "Call End" Event, that will be catched and stop doing the recording.. In this case it catches the wrong event..
Is it possible to migrate this to a native patch that can be applied to LineageOS source directly during ROM building?
XPosed isn't support on Pie, but LOS does have call recording abilities on certain builds, this could be used to enable them automatically.
Using Lineage OS 14.1 on Nexus 5, module records only my side (my voice).
If "Force audio source" is enabled - nothing is being recorded
It would be great to have a way to only keep X lasts calls. For example, after 10 calls, the oldest gets deleted.
Thanks!
Any recording that is taken is blank (the audio files have size but it's just blank static that is recorded). Other configurations do not work/give more errors than the one below.
Device: Droid 4, CM11 (20160815-UNOFFICIAL-maserati)
Force Audio Source disabled (Get a "Failed to start recording" error toast and the following errors in log if enabled)
Error: Could not get audio input for record source of 4
Error: audio source is not initialized
Error: start failed: -2147483648
Use AAC Format enabled (Encoding codec error is thrown otherwise)
Using that configuration I get this error:
Error: AudioStreamInMot::Set:Hi-fi call recording not supported
Error: InputDevice unable to open or no longer available; sleeping through read()
CM13, Xperia ZR, calls are recorded with phone number, date and time.
XCallRecordingSettings 1.0.8 throws [ java.lang.SecurityException : MODE_WORLD_READABLE no longer supported ] error on RR RR-N-v5.8.4 (LOS 14.1/Android 7.1.2) + Magisk v14.0 + xposed-v87.3-sdk25
World-readable files can be a security flaw. So google first deprecated it and then completely removed it. MODE_WORLD_READABLE was deprecated in versions till Android M. But in Android N it is no longer supported and throws SecurityException. So try a different mode. I used Context.MODE_PRIVATE and it worked.
I tried to install the LineageOS 17.1 on my Oneplus3 and all is working but not the call recording.
The phone is also rooted using magisk. Your APK file says installed successfully but I can't see any Call recording settings or addition buttons enabled. :( sad thing
Not working
For first 1 to 4 seconds (seems random) of recording, the audio cuts in and out. it is the same cutting in the recording. after the few seconds everything works fine. I installed 1.0.10-verbose, but I can't find the logs in Xposed installer or in logcat.
hardware: SM-G930F
software: LineageOS 14.1-20180405-herolte
Little note to confirm that based on my tests the module is still working fine with LineageOS 21.
It will be great to add LOS 20 support.
Automatic call records not working sometimes. So we had trigger tge recording manually. Please fix the issue. I am on pie Rom
Creates audio files. No sound is heard. Seems like an on going issue with the module.
Currently the app page in F-Droid displays a warning when viewed on Google Android 14
This app was built for an older version of Android and cannot be updated automatically.
OS version: Funtouch OS 14
Model: V2153
Hardware version: MP_0.1
Build number: PD22010F_EX_A_14.2.7.2.W20
Baseband version: S.HA.1.1.c2-00054-DIVAR_GENSP_PACK-1.29062.71
Kernel version: 4.19.157-perf+ 1 Fri Mar 1 16:22:31 CST 2024
Compile time: 1 Mar 2024 11:02:07
Android security update: 1 March 2024
Google Play system update: 1 April 2024
I think better record files to separate folders by contact name.
Not sure if this can be fixed with xposed, or can it?
Numbers to add to whitelist that Dont record or if auto record is off, numbers to start to record automatic.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.