Enable LG Camera app's 'Shutter sound' setting to toggle camera sound on/off (ROOT) - LG V40 Guides, News, & Discussion

For those wanting to use the LG Camera app on the V40 but do not have an option to toggle the camera's sounds and want it, then the script below should enable the 'Shutter sound' setting.
*A disclaimer and a reminder that in Japan and Korea, and possibly other countries, by silencing the camera sounds you may be breaking the law iiuc - so do check! - I cannot be held liable if you are arrested, charged, fined, sent to jail, etc. - You do this at your own risk!*
That said, where I am based it is not, and I find the shutter sound annoying. There are modules around that will silence your LG Camera app, they work by changing the files containing the sound into silent/empty ones. Not a great solution if you want to have the choice about whether you want sound or not. However, there is already a setting for this buried inside the LG Camera app and this will enable it for you:
So, assuming you have Magisk installed on your phone, please run these commands from your computer:
Code:
adb shell
su
echo "resetprop ro.vendor.lge.build.target_operator TRF_VZW" > /data/adb/post-fs-data.d/enable_shutter_sound_setting.sh
chmod 755 /data/adb/post-fs-data.d/enable_shutter_sound_setting.sh
reboot
Once it restarts, load up the LG Camera app, tap the settings button (top left?), then if you scroll through the settings you should see a 'Shutter sound' setting you can toggle on and off. I've only tested this on my LM-V405EBW, it is possible other versions may be different.
If you'd like a bit more detail about what is going on here, then:
First (line) just starts up a shell on your phone
Second gives you root (you may need to grant access in Magisk)
Third writes a system property to a file to change the mobile operator your LG apps may believe they are running against. The TRF_VZW value is one of two that will allow the 'Shutter sound' setting to appear in the LG Camera app
Forth makes the file you just created executable to the android system
Fifth will reboot the phone and enable this property for the LG Camera app to use, and give you the 'Shutter sound' setting option
I should point out a caveat: this setting change may mean other LG apps may also make assumptions about what you can or cannot do as if you were a Tracfone phone. This only affects LG apps it seems though, so probably not too bad, but worth knowing perhaps :angel:. If you want to remove this change then please run:
Code:
adb shell
su
rm /data/adb/post-fs-data.d/enable_shutter_sound_setting.sh
reboot
Something I don't understand (yet) is why some report that turning the phone to silent/vibrate mode will also silence the LG Camera app's shutter sound too - this does not work on mine... not a big thing as this works well for me. Maybe it is something about starting with a LM-V405EBW V20a-IND-XX - if anyone knows, please leave a comment. Thank you
Finally, If you'd like far too much detail about this under the hood then please indulged yourself:
I downloaded the app from the phone at /system/product/priv-app/LGCameraApp/LGCameraApp.apk
Decompiled it and found this interesting piece of code in the playSound function of the SoundManager class:
Code:
if (!FunctionProperties.isSupportedShutterSoundSetting() || ... )
So looking at the isSupportedShutterSoundSetting function in the FunctionProperties class, we see that this is how it determines who has this setting:
Code:
ModelProperties.getCarrierCode() == 6;
Looking inside the getCarrierCode function of the ModelProperties class, we find that two carriers return a 6, and we also see the system property they use:
Code:
sCarrierCodeMap.put("VZW", 6);
...
if ("TRF_VZW".equals(SystemProperties.get("ro.vendor.lge.build.target_operator"))) {
sCarrierCode = 6;
So by setting the system property 'ro.vendor.lge.build.target_operator' to 'VZW' (Verizon Wireless, I'd guess) or 'TRF_VZW' (Tracfone on Verizon ¯\_(ツ)_/¯) we can enable seeing the 'Shutter sound' option in LG's Camera app's menu. Enjoy!
Update: So after playing around with other LG apps, Phone and Contacts had some issues using VZW. I didn't dig too deeply into this, but can imagine an if statement or two. I found TRF_VZW is largely an unknown operator which seems to default to OPEN, as you would probably want

Stone-cold stock on V405UA20F in USA. I'm guessing only where disabling it is illegal, will be interested. View attachment 4951499
Sent from my LM-V405 using Tapatalk

Einsteindks said:
Stone-cold stock on V405UA20F in USA
Click to expand...
Click to collapse
Thank you for the data point... I'll do a bit more digging later on.
For others: this image is what you should see, I should have posted one too, thank you @Einsteindks

Einsteindks said:
Stone-cold stock on V405UA20F in USA
Click to expand...
Click to collapse
So this stock is Verizon Wireless - so your build target operator will be VZW under the hood.
You may check this with:
Code:
adb shell
getprop ro.vendor.lge.build.target_operator
If I am correct, it should say 'VZW' - and why you have the 'Shutter sound' setting by default.
Before doing what the original post said, mine was set to 'OPEN' - which is what both my original and flashed firmwares were built with

Thanks, the small Code from #1 is working finde in my Android 12 LG V50 (500N40C). Korean Phone with 4G Vodafone.de

Related

[APP] Call recorder (ROOT access needed) [Nov 24 update]

I wrote this program because I was unable to find a good app capable of recording the other side of the call properly.
Except for AirVoice, all such apps record the speaker rather than the line, and you barely hear the other side in the recordings.
The guy who wrote AirVoice knew the trick but seemed to be very annoyed by the negative feedback from Android Market, where the users of various devices (with the list of supported ones clearly stated!) tried to install that program. Because it wasn't open source, I had to disassemble it in order to write what I wanted exactly.
So the app uses an esoteric HTC driver, and NEEDS THE ROOT ACCESS just to open the device. If you do "adb shell chmod 666 '/dev/voc*' ", it'll never ask you for root access (but you have to be ROOT to execute that command).
It writes the calls in either WAV (recommended) or MP3 format (not tested much; needs some time to encode the file after the call, but the size is about 4 times smaller), stereo (left ear is your voice, right is that of the other party), to "/sdcard/voix" directory.
The kernel driver itself is kinda buggy. Actually, the auto-answer mode is non-functional for kendon's & ninpo's kernels (others not tested). Do NOT select it in Settings unless you've got such ROM and particularly need to reboot your phone on each incoming call . It'd be nice if somebody try to fix that.
If you select "Ask each time" for any incoming calls, be sure to wait half a mo until the confirmation dialog appears. The "Foreground service" (default) setting is also recommended because Android may otherwise kill it if memory is low.
Any comments are welcome. I'm not sure that I'll ever add something to this program because I'm too lazy for that, but any bugs will reasonably be fixed. The code is open source, PM me if you're a programmer and have any ideas how to improve it.
=======================
NOV 24 UPDATE
Numerous improvements/corrections/bugfixes (I'm not removing the previous version as this one haven't been much tested).
Enjoy!
Thanks dude. Great job
avs333 said:
I wrote this program because I was unable to find a good app capable of recording the other side of the call properly.
Except for AirVoice, all such apps record the speaker rather than the line, and you barely hear the other side in the recordings.
The guy who wrote AirVoice knew the trick but seemed to be very annoyed by the negative feedback from Android Market, where the users of various devices (with the list of supported ones clearly stated!) tried to install that program. Because it wasn't open source, I had to disassemble it in order to write what I wanted exactly.
So the app uses an esoteric HTC driver, and NEEDS THE ROOT ACCESS just to open the device. If you do "adb shell chmod 666 '/dev/voc*' ", it'll never ask you for root access (but you have to be ROOT to execute that command).
It writes the calls in either WAV (recommended) or MP3 format (not tested much; needs some time to encode the file after the call, but the size is about 4 times smaller), stereo (left ear is your voice, right is that of the other party), to "/sdcard/voix" directory.
The kernel driver itself is kinda buggy. Actually, the auto-answer mode is non-functional for kendon's & ninpo's kernels (others not tested). Do NOT select it in Settings unless you've got such ROM and particularly need to reboot your phone on each incoming call . It'd be nice if somebody try to fix that.
If you select "Ask each time" for any incoming calls, be sure to wait half a mo until the confirmation dialog appears. The "Foreground service" (default) setting is also recommended because Android may otherwise kill it if memory is low.
Any comments are welcome. I'm not sure that I'll ever add something to this program because I'm too lazy for that, but any bugs will reasonably be fixed. The code is open source, PM me if you're a programmer and have any ideas how to improve it.
Click to expand...
Click to collapse
thanks, good job
but recorded sound a lit low, any chance to make it loud
Aha Thats Great Now i can prove my prank calls
no auto start, please add (i mean after re-boot)
Hi-Fi said:
but recorded sound a lit low, any chance to make it loud
Click to expand...
Click to collapse
No problems with sound volume here, but I'll see if I can add some basic volume normalisation...
Hi-Fi said:
no auto start, please add (i mean after re-boot)
Click to expand...
Click to collapse
Added as an option in Settings. Also fixed a triffle UI bug (forgetting to set proper dialog attributes).
Just tried this, works great on my Hero (Vanilla Eclair 4.0). Thank you very much for this one!
Interesting software. Could you possibly add a new feature: The app saves all calls, but deletes them, if you don't move them to another folder/to your PC.
This because I could record all of my calls, without the risk of making a huge 1Gt folder to fill up my memory. So if the user could choose how many recent calls (2,5,10) the app saves before deleting them I'd be great!
What about battery draining?
This great app is also tiny enough not to reduce drastically battery duration?
TIA
I'd love to see this generalized to not require the HTC driver. Do you think that would be possible?
cool app. anyone know if it would be possible to play an audio file directly to the caller? would come in handy rickrolling damn telemarketers
Very good work. Handy app, for sure.
Can you enable recording mid call?
Works in all Androis Devices? I have a Milestone.
Awesome idea, I've been looking for exactly this sort of software.
I'm having a bug I hope someone can help me with. When I start the program I get a prompt that says "Device does not exist, or its permissions cannot be changed." When I click "OK" it takes me to the screen to uninstall the program.
I'm running an Evo, fully rooted, NAND unlocked, running Virus Airbourne ROM and King #11 kernel.
I never get the prompt from the SuperUser app to give the app root access.
I tried the adb command but it gave me the error:
Unable to chmod dev/voc*: No such file or directory
Having same issue on rooted G2.
Sent from my T-Mobile G2 using XDA App
MercuryTangent said:
Awesome idea, I've been looking for exactly this sort of software.
I'm having a bug I hope someone can help me with. When I start the program I get a prompt that says "Device does not exist, or its permissions cannot be changed." When I click "OK" it takes me to the screen to uninstall the program.
I'm running an Evo, fully rooted, NAND unlocked, running Virus Airbourne ROM and King #11 kernel.
I never get the prompt from the SuperUser app to give the app root access.
I tried the adb command but it gave me the error:
Unable to chmod dev/voc*: No such file or directory
Click to expand...
Click to collapse
I experience the same problems on my rooted DINC. ROM and kernel are in sig.
Am I right to assume that this is a HTC Hero exclusive?
bemymonkey said:
Am I right to assume that this is a HTC Hero exclusive?
Click to expand...
Click to collapse
Likely so, but I'm hoping the dev will extend it or I can find a way to make it work
This is amazing app. The only thing I would beg the author to consider a white status bar icon for normal running service as colored icons there usually break the aestetics of Android UI. The icon can change or become colored while recording, but when only running in the background it should remain white.
I have the same problem (link to uninstall) on my Nexus One. Everything works fine on Hero

Disable bluetooth MAP?

My X is paired to my 2013 F-150 via SYNC and it automatically adds the voice, media and message features upon connecting. However, every time I get a text, SYNC stops everything to tell me I have a new text message, and it's annoying. You can turn MAP off temporarily by manually disabling it while the phone is paired, but once it re-pairs with SYNC, it automatically activates MAP again. I do use the voice and media though.
My question is this... is there any way to permanently disable the MAP feature on the X? I don't use it and never will. I always check my phone when a new message arrives or wait until I'm at a stop. I just want to be able to be able to remove the MAP feature.
triton302 said:
My X is paired to my 2013 F-150 via SYNC and it automatically adds the voice, media and message features upon connecting. However, every time I get a text, SYNC stops everything to tell me I have a new text message, and it's annoying. You can turn MAP off temporarily by manually disabling it while the phone is paired, but once it re-pairs with SYNC, it automatically activates MAP again. I do use the voice and media though.
My question is this... is there any way to permanently disable the MAP feature on the X? I don't use it and never will. I always check my phone when a new message arrives or wait until I'm at a stop. I just want to be able to be able to remove the MAP feature.
Click to expand...
Click to collapse
You can probably unpair (from both the phone and sync) and then repair and when you repair just deny the MAP access request.
Also, you should be able to turn off new message download in Sync
triton302 said:
My X is paired to my 2013 F-150 via SYNC and it automatically adds the voice, media and message features upon connecting. However, every time I get a text, SYNC stops everything to tell me I have a new text message, and it's annoying. You can turn MAP off temporarily by manually disabling it while the phone is paired, but once it re-pairs with SYNC, it automatically activates MAP again. I do use the voice and media though.
My question is this... is there any way to permanently disable the MAP feature on the X? I don't use it and never will. I always check my phone when a new message arrives or wait until I'm at a stop. I just want to be able to be able to remove the MAP feature.
Click to expand...
Click to collapse
Did you ever find a solution for this? I just got a '14 Raptor and it does the same damned thing. I've deleted the phone pairing and repaired and deny access when repairing but it still automatically connects to all 3 protocols when I get in the truck. My phone is actually an LG G3 but it seems to be an android problem and not a specific phone problem.
boosting1bar said:
Did you ever find a solution for this? I just got a '14 Raptor and it does the same damned thing. I've deleted the phone pairing and repaired and deny access when repairing but it still automatically connects to all 3 protocols when I get in the truck. My phone is actually an LG G3 but it seems to be an android problem and not a specific phone problem.
Click to expand...
Click to collapse
Nope. I also got a '14 Focus ST and the bluetooth "feature" is even worse on it. Since I have the full touchscreen, it will now display the notification that I have a text, and who it's from. Again, you can temporarily disable it on the phone but not permanently.
triton302 said:
Nope. I also got a '14 Focus ST and the bluetooth "feature" is even worse on it. Since I have the full touchscreen, it will now display the notification that I have a text, and who it's from. Again, you can temporarily disable it on the phone but not permanently.
Click to expand...
Click to collapse
Yeah that's exactly what I'm getting in my 14 Raptor. Terrible, I guess I have to disable it every time I get in the car now.
triton302 said:
Nope. I also got a '14 Focus ST and the bluetooth "feature" is even worse on it. Since I have the full touchscreen, it will now display the notification that I have a text, and who it's from. Again, you can temporarily disable it on the phone but not permanently.
Click to expand...
Click to collapse
Do you guys have root? if so maybe you can try something. but keep in mind I have not tried this myself and also I could be completely wrong.
Anyway, I noticed in my moto x build.prop file (that sets the phone settings on boot) that one of the lines seems to disable Bluetooth SAP on boot. The line is
ro.qualcomm.bluetooth.sap = false
if that can turn off SAP maybe
ro.qualcomm.bluetooth.map = false
can turn off MAP on boot.
Keep in mind editing build.prop the wrong way can give you boot up problems. Backup the file, and also keep track of and set the appropriate permissions for the file.
In fact, it's probably better before editing build.prop to try the setting on the fly. In a terminal emulator with SU enabled try the line
setprop ro.qualcomm.bluetooth.map false
then check that with getprop and with your car.
this is safer if you have any problems you can just reboot. if it works you can proceed to build.prop
dtg7 said:
Do you guys have root? if so maybe you can try something. but keep in mind I have not tried this myself and also I could be completely wrong.
Anyway, I noticed in my moto x build.prop file (that sets the phone settings on boot) that one of the lines seems to disable Bluetooth SAP on boot. The line is
ro.qualcomm.bluetooth.sap = false
if that can turn off SAP maybe
ro.qualcomm.bluetooth.map = false
can turn off MAP on boot.
Keep in mind editing build.prop the wrong way can give you boot up problems. Backup the file, and also keep track of and set the appropriate permissions for the file.
In fact, it's probably better before editing build.prop to try the setting on the fly. In a terminal emulator with SU enabled try the line
setprop ro.qualcomm.bluetooth.map false
then check that with getprop and with your car.
this is safer if you have any problems you can just reboot. if it works you can proceed to build.prop
Click to expand...
Click to collapse
Great idea, however I just tried it with no avail.
I just thought of something as well... my fiance has a '13 Focus SE with the base stereo, and she has the same model phone as me (VZW X Dev). Her SYNC doesn't alert her to new messages, but my truck with the same SYNC setup did, but I figured my truck had a more recent version of SYNC. I dunno, all I know is it's annoying as hell and I'd like to find a more permanent solution. Especially since I'm contemplating on buying the Droid Turbo in the future and I'm sure it will do the same thing.
triton302 said:
Great idea, however I just tried it with no avail.
Click to expand...
Click to collapse
That sucks... Just to clarify I assume you tried this with a terminal emulator. did you remember to give it root before running the setprop command? i.e. type su and enter. without root setprop will appear to go through but won't actually set anything. And if it's set properly, getprop ro.qualcomm.bluetooth.map should return false like it does for SAP. otherwise it will return empty.
Another thing that might or might not make a difference, was Bluetooth on when you tried this, if so try it with Bluetooth off.
As for the difference between the two SYNCs my guess is you're right the version difference could be affecting something. A quick Google search suggests some versions of SYNC have a setting for MAP. in SYNC menu check System Settings -> Advanced -> MAP Profile
dtg7 said:
That sucks... Just to clarify I assume you tried this with a terminal emulator. did you remember to give it root before running the setprop command? i.e. type su and enter. without root setprop will appear to go through but won't actually set anything. And if it's set properly, getprop ro.qualcomm.bluetooth.map should return false like it does for SAP. otherwise it will return empty.
Another thing that might or might not make a difference, was Bluetooth on when you tried this, if so try it with Bluetooth off.
As for the difference between the two SYNCs my guess is you're right the version difference could be affecting something. A quick Google search suggests some versions of SYNC have a setting for MAP. in SYNC menu check System Settings -> Advanced -> MAP Profile
Click to expand...
Click to collapse
The newer SYNC version doesn't have that MAP option, that was the first thing I found when googling as well. (and for the record I don't have a moto, I'm using an LG G3 and found this thread while searching for a solution). Unfortunately my build.prop doesn't have those lines in it. Not sure if I could just add the MAP entry or not, that's above my knowledge base
boosting1bar said:
The newer SYNC version doesn't have that MAP option, that was the first thing I found when googling as well. (and for the record I don't have a moto, I'm using an LG G3 and found this thread while searching for a solution). Unfortunately my build.prop doesn't have those lines in it. Not sure if I could just add the MAP entry or not, that's above my knowledge base
Click to expand...
Click to collapse
well without putting in commands manually I see two things you guys can try. the first doesn't need root while the second one does.
1) turn on Bluetooth on your phones, then go to Settings -> Apps -> Running -> Bluetooth Share then just Stop the Map service. This method will stick as long as you don't turn off Bluetooth and start it again, and as long as you don't restart the phone. if you do either you'll have to do the stopping again.
2) this requires that your phone be rooted, but on the plus side it might be more permanent. There's a nifty app in the play store made by some benevolent developer that claims to disable any service started by any app. appropriately enough the app is called Disable Service. You open the app, slide over to the System Apps section, find Bluetooth Share and click it, then just uncheck the Maps service box. So simple, but won't work without root. Try it with Bluetooth off and if that doesn't work reset it then try it with Bluetooth on. But word of caution you don't want to go messing around disabling other things unless you're sure of what you're doing. disabling the wrong thing will cause you problems.
https://play.google.com/store/apps/details?id=cn.wq.disableservice
good luck.
dtg7 said:
well without putting in commands manually I see two things you guys can try. the first doesn't need root while the second one does.
1) turn on Bluetooth on your phones, then go to Settings -> Apps -> Running -> Bluetooth Share then just Stop the Map service. This method will stick as long as you don't turn off Bluetooth and start it again, and as long as you don't restart the phone. if you do either you'll have to do the stopping again.
2) this requires that your phone be rooted, but on the plus side it might be more permanent. There's a nifty app in the play store made by some benevolent developer that claims to disable any service started by any app. appropriately enough the app is called Disable Service. You open the app, slide over to the System Apps section, find Bluetooth Share and click it, then just uncheck the Maps service box. So simple, but won't work without root. Try it with Bluetooth off and if that doesn't work reset it then try it with Bluetooth on. But word of caution you don't want to go messing around disabling other things unless you're sure of what you're doing. disabling the wrong thing will cause you problems.
good luck.
Click to expand...
Click to collapse
Thanks so much! Option 2 is exactly what I've been looking for! Option 1 doesn't work for me because I use Trigger and have conditional BT on/off and that would just recreate the same problem lol.
Just tried option 2... If any of those services are unchecked, Bluetooth itself turns off automatically and won't turn back on until that service is restored.
triton302 said:
Just tried option 2... If any of those services are unchecked, Bluetooth itself turns off automatically and won't turn back on until that service is restored.
Click to expand...
Click to collapse
Yep same here, tried it on my way home yesterday and the disable service app completely disables bluetooth if you disable MAP.
boosting1bar said:
Yep same here, tried it on my way home yesterday and the disable service app completely disables bluetooth if you disable MAP.
Click to expand...
Click to collapse
Wow no breaks...but not quite out of ideas yet. a few more to spitball, going from simple to more complex:
a) we've established there's no option to disable MAP from within SYNC under System Settings. What about under Phone Settings? Indications are there should be an option there to turn off Message Notification. If it's there set it to OFF. frankly I'd expect there to be such a setting somewhere in there.
b) reaching a bit here, but in Disable Service app I notice there's another system app that has Bluetooth service settings. the app's name is org.codeaurora.bluetooth (Apparently Code Aurora is the Qualcomm Linux kernel). No idea if this will work where the other failed but won't hurt to try. the service says BluetoothMasService but if you check the full name it is map (maybe service instead of profile).
c) this one brings out the big guns. not only do you need root, but you also need Xposed installed. if you already have Xposed then it would be quick to try. if not, just read up on it. anyway, with Xposed installed you need the AppOpsXposed module. when you have that up and running you open the App Ops screen of the Bluetooth Share app (a few ways to do that, doesn't matter how). in that screen you turn off all of Bluetooth Share's access to SMS. Basically you disable Bluetooth from interacting with Messaging. you revoke the permissions. Bluetooth will still work unaware that it can't access messages, and I figure if it can't access messages it damn well can't send them to the car.
There's another module that can do this more thoroughly, but App Ops is less scary/more user friendly.
that's it. personally I still prefer my original idea of figuring out how to do it manually thru setprop and build.prop, but if that's not an option then try these.
Roger, I'm off work today so I'll try these out here shortly.
EDIT: From what I recall, if you have a recent version of MFT, there are no options whatsoever for MAP, in phone or system settings. I'll double check.
EDITING EDIT: #2 doesn't work.
dtg7 said:
Wow no breaks...but not quite out of ideas yet. a few more to spitball, going from simple to more complex:
a) we've established there's no option to disable MAP from within SYNC under System Settings. What about under Phone Settings? Indications are there should be an option there to turn off Message Notification. If it's there set it to OFF. frankly I'd expect there to be such a setting somewhere in there.
b) reaching a bit here, but in Disable Service app I notice there's another system app that has Bluetooth service settings. the app's name is org.codeaurora.bluetooth (Apparently Code Aurora is the Qualcomm Linux kernel). No idea if this will work where the other failed but won't hurt to try. the service says BluetoothMasService but if you check the full name it is map (maybe service instead of protocol).
c) this one brings out the big guns. not only do you need root, but you also need Xposed installed. if you already have Xposed then it would be quick to try. if not, just read up on it. anyway, with Xposed installed you need the AppOpsXposed module. when you have that up and running you open the App Ops screen of the Bluetooth Share app (a few ways to do that, doesn't matter how). in that screen you turn off all of Bluetooth Share's access to SMS. Basically you disable Bluetooth from interacting with Messaging. you revoke the permissions. Bluetooth will still work unaware that it can't access messages, and I figure if it can't access messages it damn well can't send them to the car.
There's another module that can do this more thoroughly, but App Ops is less scary/more user friendly.
that's it. personally I still prefer my original idea of figuring out how to do it manually thru setprop and build.prop, but if that's not an option then try these.
Click to expand...
Click to collapse
I think we have a winner! #3 works perfectly.
I tested it with the phone unlocked and locked, rebooting the phone, toggling bluetooth on and off, turning the car on and off... seems to work every time. As long as you turn off just the SMS/MMS options, you can still have it send and receive calls and allow the device to remain unlocked while connected.
Ahhhh...... Success feels good...
Xposed is pretty amazing... It gives us a fighting chance lol.
if only they'd installed Xposed on Skynet things might have turned out differently...
dtg7 said:
c) this one brings out the big guns. not only do you need root, but you also need Xposed installed. if you already have Xposed then it would be quick to try. if not, just read up on it. anyway, with Xposed installed you need the AppOpsXposed module. when you have that up and running you open the App Ops screen of the Bluetooth Share app (a few ways to do that, doesn't matter how). in that screen you turn off all of Bluetooth Share's access to SMS. Basically you disable Bluetooth from interacting with Messaging. you revoke the permissions. Bluetooth will still work unaware that it can't access messages, and I figure if it can't access messages it damn well can't send them to the car.
There's another module that can do this more thoroughly, but App Ops is less scary/more user friendly.
Click to expand...
Click to collapse
Awesome, worked here as well!! I'd looked through xposed and didn't see any modules that would do what we were after, completely forgot about AppOps. Outstanding work and thanks so much for the help!
You're welcome!
boosting1bar said:
Awesome, worked here as well!! I'd looked through xposed and didn't see any modules that would do what we were after, completely forgot about AppOps. Outstanding work and thanks so much for the help!
Click to expand...
Click to collapse
How did you get this yo work? I am on a cm12 Rom also with the same issue.
Did all the above, but anytime I start the Bluetooth afterwards, it just reactivates the "Read / Write sms messages permission all over again nd im back to square 1.
Sorry to bump an old thread. But its still yhe same issue I am dealing with.

[5/12] Advanced Feed Development

Alright everyone, I'm Trailblazer101, an Android Developer who likes to take advantage of, and make better, the unique features of the phones I purchase. I started off with the Samsung Continuum back in 2010, which had a ticker ahead of its time, and went from there. I work 2 jobs, so time is tight sometimes, but I still manage to work on these things, a fun passion/hobby.
Status Updates
Code:
5/12
--- I got my patch working, and tested it out with a simple demo that takes advantage of the new capabilities. I've posted a Guide below!
5/10
--- Now that Verizon users have root, I will begin testing this myself :) Thanks to those who helped me figure out what we'd have to do, so I can get started right off the bat! I'll keep you posted.
What is this?!!
Okay, so by default the Feeds that you can make are restricted to the capabilities of a RemoteView. This severely limits what you can do with the Feed. Take a look here to see what exactly is supported, by default: http://stackoverflow.com/a/16089389
However, any Samsung App (which includes a few signed by Samsung on the Galaxy Apps Exclusives page) has the ability to put whatever it wants on the screen, just like a regular App. I've now extended that invitation on over to you/us!
Guide
The steps to take advantage of this is a little convoluted, so let me break it down for you easy!
STEP 1:
You have to flash my patch to allow this development to actually work. You can download it here: View attachment Trailblazer101_S6Edge_Advanced_Feeds_Patch.zip. Then flash it using FlashFire, or extract the zip and put everything where it needs to go, making sure to set the permissions appropriately!
STEP 2:
Now you can start developing your new Custom Feed! I would suggest using my simple demo project as your base, and going from there! You can find that here: View attachment EdgeScreen-BACKUP.zip. Extract it and take a look at the source!
STEP 3:
From here on out is where things get tricky... Without changing a thing, if you build from source and try to debug, it won't work. Why? Because the API that Samsung gives developers, like us, is different than the one they use for themselves. So Here's what you gotta do-- without changing a thing, build the Project. The best way to do that without debugging within Android Studio is to go to Gradle Projects -> :app -> Tasks -> build -> assembleDebug. This'll make the built apk and put it within "..\.EdgeScreen-BACKUP\app\build\outputs\apk\app-debug.apk".
STEP 4:
I'm assuming you have the latest Java Development Kit, and Android SDK, installed and configured properly, with their paths in the PATH variable, accordingly. You should also know how to use apktool for decompilation, at least a little I've compiled a toolkit folder based off of the test Project I shared above, which includes apktool, the NEW Samsung API files, the original built apk, and the already modified decompiled source/apk. You can download that here: View attachment Decompilation_Data.zip. Then, open a Command Prompt window and "cd" to the extracted folder.
STEP 5:
Decompile the built apk, which should be the same as the one in the extracted folder, using apktool like this:
Code:
.\apktool\apktool d -f TestFeed_orig.apk
STEP 6:
Compare the decompiled folder "TestFeed_orig" with my already modified "TestFeed_modded" one. I suggest using WinMerge! You'll see that the 'TestFeed_orig\smali\com\samsung\android\sdk' folder is very different. That's what I was talking about before, how Samsung Feeds have more options in their API. So delete the 'TestFeed_orig\smali\com\samsung' folder, and replace with the one in the '---SAMSUNG API---' folder.
STEP 7:
Continue comparing the two folders. Basically the rest of the changes are just getting our application to call the new Samsung API properly, instead of the stubs I was using in the Project. There aren't many changes you have to make, but they're all important!
STEP 8:
Once the two folders are the same, recompile it using apktool, like so:
Code:
.\apktool\apktool b TestFeed_orig
STEP 9:
Sign the new compiled apk stored in 'TestFeed_orig\dist' using your signing key. You can make your own, then use it to sign the app, following the instructions here: Official Instructions for Manual Signing.
STEP 10:
Install the newly signed apk, and enable the Feed by going to: Settings-> Edge screen -> Information stream -> Manage Feeds -> *ENABLE* FeedsCocktailExample! You may have to restart, or just hit 'reorder' in the top left. That sometimes fast-triggers it. Now turn off the screen, do the Feed Gesture to get it to turn on, and you should see our Custom Feed! It doesn't look like much, but it's using a custom view, HorizontalTextView, that would not work otherwise.
From here the options are endless. You can follow these steps and my Sample Project to play a video for a feed, if you wanted! Whatever strikes your fancy!
If you followed these steps and appreciate the help, show this thread some love, and maybe. Well i'd say buy me a beer, but it'll probably go to textbooks instead
Developer/Advanced Information!
We can make our own Feeds no problem, without root, they are just forced to use a RemoteView directly, which for all intents and purposes, is a pain in the kiester. Instead, it would be a lot nicer/convenient, without even mentioning the more advanced functionality we could bring, to use our own Views. However the version of SlookCocktailManager.UpdateCocktail that allows this is only found within a more advanced API, one I/no typical user don't have access to directly. BUT, I can still access it by decompiling for example the Edge RSS app from the Samsung AppStore, and putting/replacing the "sdk" folder from that into my own decompiled app, and recompiling. Easy enough, with apktool! (Of course with the headache of adding in my own temporary shell classes, in the project, so that I can actually write the calls, and just change the reference within the smali code once that sdk is replaced) The problem is, even when you do this, and it builds fine, installs great, and even begins initializing properly, we get an error from within CocktailBarService, the file I'm having you replace. More specifically, I tracked down the actual problem, and it comes back to "CocktailWhiteList", a class within CocktailBarServices, then checks the signature of the calling application, our Custom Feed, and sees if it comes from Samsung. This none of my expertise can fix, without being rooted, but trust me I tried. Now that we are rooted I was able to patch said apk, and get my own apps to work! Hurray!
cocktailbar service crashes when going into 'edge screen' option in settings menu.
logcat attached
Edit: sorry didn't rename cocktail bar (cocktailbarservice_signed to cocktailbarservice)
now it doesn't visibly crash, it just wont let me go into 'edge screen' option in settings menu
new log cat uploaded
This man looks promising! You have my S6 edge as soon as I have an official TWRP with working backup and restore
ktetreault14 said:
This man looks promising! You have my S6 edge as soon as I have an official TWRP with working backup and restore
Click to expand...
Click to collapse
I will help as well, when these tools are out for us..
Thanks for bringing cool stuff like this to the phone at this early date!
ktetreault14 said:
This man looks promising! You have my S6 edge as soon as I have an official TWRP with working backup and restore
Click to expand...
Click to collapse
How deep are you willing to go? Because it would be awesome if you could clear dalvik-cache, since I see this, right off the bat:
Code:
: Failed to find OatDexFile for DexFile /system/priv-app/CocktailBarService/CocktailBarService.apk ( canonical path /system/priv-app/CocktailBarService/CocktailBarService.apk) with checksum 0xfbfcb9f7 in OatFile /data/dalvik-cache/arm64/[email protected]@[email protected]@classes.dex
EDIT: could you also make sure that you set the right permissions for the apk? I'm getting the impression that they might be off with:
Code:
msg=audit(1429397519.049:355): auid=4294967295 uid=10001 gid=10001 ses=4294967295 subj=u:r:untrusted_app:s0 pid=12605 comm="ktailbarservice" reason="memory violation" sig=11
EDIT2: We might have to disable SELinux... That's rather unfortunate/puts a rather large damper on things, until custom kernels come out at least... After starting a root shell, can you try:
Code:
setenforce 0
I don't know if it'll work, but if that goes through successfully try and launch the Edge Settings Screen again!
EDIT3: Do'h. It may have been something really simple *crosses fingers* Could you please re-download the CocktailBarService, and try doing the same thing you did last time, with right permissions, and maybe a dalvik-cache wipe if it doesn't work!?
Tried the new apk you uploaded. Getting a force close still when trying to open. I changed SELINUX to permissive, wiped dalvik, even tried deleting arm64 folder as well. No luck.
04-19 00:25:09.907 E/AndroidRuntime(15867): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.samsung.android.app.cocktailbarservice/com.samsung.android.app.cocktailbarservice.settings.EdgeScreenSettingsMain}: java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
Was searching through logcat and found this. May this have something to do with the issue?
wase4711 said:
I will help as well, when these tools are out for us..
Thanks for bringing cool stuff like this to the phone at this early date!
Click to expand...
Click to collapse
Don't mean to hijack thread, but "Tool" is already available here:
NB: Chrome and IE don't translate into "Save file" - Use Mozilla which does > copy to phone and flash.
https://blck.io/twrp-2.8.6.0-zeroltetmo.img
Perfectly working on T-Mobile S6 Edge
Will
RoM_Addict said:
Don't mean to hijack thread, but "Tool" is already available here:
NB: Chrome and IE don't translate into "Save file" - Use Mozilla which does > copy to phone and flash.
https://blck.io/twrp-2.8.6.0-zeroltetmo.img
Perfectly working on T-Mobile S6 Edge
Will
Click to expand...
Click to collapse
that version doesn't work properly for me and many others; waiting for an "official" version from the TWRP folks..
trailblazer101 said:
How deep are you willing to go? Because it would be awesome if you could clear dalvik-cache, since I see this, right off the bat:
Code:
: Failed to find OatDexFile for DexFile /system/priv-app/CocktailBarService/CocktailBarService.apk ( canonical path /system/priv-app/CocktailBarService/CocktailBarService.apk) with checksum 0xfbfcb9f7 in OatFile /data/dalvik-cache/arm64/[email protected]@[email protected]@classes.dex
EDIT: could you also make sure that you set the right permissions for the apk? I'm getting the impression that they might be off with:
Code:
msg=audit(1429397519.049:355): auid=4294967295 uid=10001 gid=10001 ses=4294967295 subj=u:r:untrusted_app:s0 pid=12605 comm="ktailbarservice" reason="memory violation" sig=11
EDIT2: We might have to disable SELinux... That's rather unfortunate/puts a rather large damper on things, until custom kernels come out at least... After starting a root shell, can you try:
Code:
setenforce 0
I don't know if it'll work, but if that goes through successfully try and launch the Edge Settings Screen again!
EDIT3: Do'h. It may have been something really simple *crosses fingers* Could you please re-download the CocktailBarService, and try doing the same thing you did last time, with right permissions, and maybe a dalvik-cache wipe if it doesn't work!?
Click to expand...
Click to collapse
Hi trailblazer, I set the permissions the same as the original apk ,
right lets try again: I've downloaded the new version and set permissions, wiped dalvik-cache but when trying to disable SELinux i get
tmp-mksh: 0 : not found.
and when going into 'edge screen' settings i get unfortunsatly cocktailbar service has stopped.
Catlog attached:
I used this to modify SELINUX. For anyone else who is helping out, try this.
[4/19] QuickLaunch Demo And Advanced Feed Development Request For Rooted Users
b-reezy said:
I used this to modify SELINUX. For anyone else who is helping out, try this.
Click to expand...
Click to collapse
I sent you a PM! I explicitly declared that permission for each activity, so let's see how it goes now! I put the same apk I sent you now on the OP, so the other testers can try it! In the mean-time, I do have something real for you guys to play with! It's the QuickLaunch window, customizable and all (from hitting the Feeds Settings Icon). I'll put that in the OP with the tag "WORKS(Kinda)"!
One thing, which is a big reason why I'm trying to do it this way-- clicking the icons launches the app, it just doesn't turn the screen back on! I've tracked it down, and it seems as if when the Feed Screen is on, it has the SCover flag set to on, manually, but when a user clicks a button from another Feed, it turns that flag back off, thus turning the screen back on. The easiest/cleanest way for us to do that too would be our Custom Feed Panel implementing the same OnClickHandler that the others do, just can't without doingwhat we're trying to do!
EDIT: Please still use the QuickLaunch apk with the tag "Signed" though for testing the replacement of CocktailBarService! My new one just does it the bad way, and had to get rid of the code for trying the good.
(There's other ways to turn the screen on, but the way I'm trying to do it does it easily, and allows for more advanced functionality!)
FOR DEVELOPERS:
If you are interested in taking what I have and running with it/collaborating, I am more than willing to send all sources of what I have so far, my resources that I've been using, along with all information gathered so far. Just ask!
Hopefully this will become available for non-rooted. I am DIEING to get more functionality out of the Edge API for this phone. The feed is an awesome option, but having to swiping finger is a pain in the @$$. A double tap on the edge or an automatic turn on would be AWESOME when Texts or missed calls are there.
b-reezy said:
I used this to modify SELINUX. For anyone else who is helping out, try this.
Click to expand...
Click to collapse
BTW.. can be disabled in the kernel source also.. I did that in m8 times
trailblazer101 said:
I sent you a PM! I explicitly declared that permission for each activity, so let's see how it goes now! I put the same apk I sent you now on the OP, so the other testers can try it! In the mean-time, I do have something real for you guys to play with! It's the QuickLaunch window, customizable and all (from hitting the Feeds Settings Icon). I'll put that in the OP with the tag "WORKS(Kinda)"!
One thing, which is a big reason why I'm trying to do it this way-- clicking the icons launches the app, it just doesn't turn the screen back on! I've tracked it down, and it seems as if when the Feed Screen is on, it has the SCover flag set to on, manually, but when a user clicks a button from another Feed, it turns that flag back off, thus turning the screen back on. The easiest/cleanest way for us to do that too would be our Custom Feed Panel implementing the same OnClickHandler that the others do, just can't without doingwhat we're trying to do!
EDIT: Please still use the QuickLaunch apk with the tag "Signed" though for testing the replacement of CocktailBarService! My new one just does it the bad way, and had to get rid of the code for trying the good.
(There's other ways to turn the screen on, but the way I'm trying to do it does it easily, and allows for more advanced functionality!)
FOR DEVELOPERS:
If you are interested in taking what I have and running with it/collaborating, I am more than willing to send all sources of what I have so far, my resources that I've been using, along with all information gathered so far. Just ask!
Click to expand...
Click to collapse
Liking the Quicklaunch app , are you still needing testers? or have you got all the info you need?
Alex-V said:
BTW.. can be disabled in the kernel source also.. I did that in m8 times
Click to expand...
Click to collapse
Exactly and imo its better if its done this way..
for anyone interested
you need to edit the security/selinux/selinuxfs.c file from source
FIND:
Code:
selinux_status_update_setenforce(new_value);
#else
ADD RIGHT BELOW "#else":
Code:
new_value = 0;
So it becomes:
Code:
selinux_status_update_setenforce(new_value);
#else
new_value = 0;
or use this one (from the G925F source)
friedrich420 said:
Exactly and imo its better if its done this way..
for anyone interested
you need to edit the security/selinux/selinuxfs.c file from source
FIND:
Code:
selinux_status_update_setenforce(new_value);
#else
ADD RIGHT BELOW "#else":
Code:
new_value = 0;
So it becomes:
Code:
selinux_status_update_setenforce(new_value);
#else
new_value = 0;
or use this one (from the G925F source)
Click to expand...
Click to collapse
yeah.. that's the one I used.. I'm still for and back to root or not..means for me.. develop roms and kernels ..or use it as it is.. lol..
friedrich420 said:
Exactly and imo its better if its done this way..
for anyone interested
you need to edit the security/selinux/selinuxfs.c file from source
FIND:
Code:
selinux_status_update_setenforce(new_value);
#else
ADD RIGHT BELOW "#else":
Code:
new_value = 0;
So it becomes:
Code:
selinux_status_update_setenforce(new_value);
#else
new_value = 0;
or use this one (from the G925F source)
Click to expand...
Click to collapse
Hii my friend, i also still , have a non rooted S6 Edge :thumbup:
Hey guys, I finished the QuickLaunch Feed and posted it in the Apps Folder here:
Click Me!
I did manage to get it to turn the screen on, then, with the clicking of the shortcuts, and it still launches it once unlocked (if you have a lockscreen). I am going to begin work on a music player Feed, now
I will continue development on more advanced Feeds, and also delve into enhancing the edge in other ways, once we Verizon users get root (or until I win the lottery and get a Sprint version ). I see all these great opportunities to make it better, I just can't do anything with it until I'm rooted, since this didn't go as well as I planned. Where we are stuck at now is this, and where it would be too much of a pain for me to do without a phone of my own to test one:
We need to re-sign the system with a signature key we have access to. This includes framework, apps, and the priv-apps signed with the samsung key. Then I can go about doing what I wanted to do, but otherwise, it's a no go.
A developer who does have a Sprint or T-Mobile version with root, I can tell you the information I gathered so far. I have seen where the 'turn screen on gesture' is stored, and all these other great things, I just can't right now
trailblazer101 said:
Hey guys, I finished the QuickLaunch Feed and posted it in the Apps Folder here:
Click Me!
I did manage to get it to turn the screen on, then, with the clicking of the shortcuts, and it still launches it once unlocked (if you have a lockscreen). I am going to begin work on a music player Feed, now
I will continue development on more advanced Feeds, and also delve into enhancing the edge in other ways, once we Verizon users get root (or until I win the lottery and get a Sprint version ). I see all these great opportunities to make it better, I just can't do anything with it until I'm rooted, since this didn't go as well as I planned. Where we are stuck at now is this, and where it would be too much of a pain for me to do without a phone of my own to test one:
We need to re-sign the system with a signature key we have access to. This includes framework, apps, and the priv-apps signed with the samsung key. Then I can go about doing what I wanted to do, but otherwise, it's a no go.
A developer who does have a Sprint or T-Mobile version with root, I can tell you the information I gathered so far. I have seen where the 'turn screen on gesture' is stored, and all these other great things, I just can't right now
Click to expand...
Click to collapse
very nice.. thanks my friend ?
This is just sounding AWESOME! I am on AT&T so will have to wait as well for Root. I was wondering if there is a possability for the edge to just turn on, on its own without the need to swipe the screen? Like when a new notification comes in it will just scroll across the edge (or maybe the icon will blink on and off until you see it and swipe).
I still feel the swipe is to hard to do consistantly and would rather use a double tap or something if the auto on isn't possible.

Disable telephony

I've got the SM-T815 running CM13 on it. I've got a second SIM card (MultiSIM) from T-Mobile Germany, which enables me to use 4G from my existing contract without paying any extra for the second device. Unfortunately with T-Mobile Germany all MultiSIM cards receive incoming phone calls in parallel, which doesn't really make much sense with the tablet. All phone calls which I receive are tracked as missed calls on the T815, even when I received them on my phone.
With T-Mobile Germany there is no option to select a primary SIM card for phone calls, i.e. there is no option to disable telephony for a MultiSIM from the provider side. This is why I am looking for a way to disable telephony directly on the device without losing the 4G connection.
So far I have tried the following options:
Use airplane mode and enable Wifi: This is not an option as it also disables 4G data.
Disable the Phone app: When disabling the Phone app, incoming calls cause the T815 to reboot (even worse than having missed call notifications).
I've had a look at the stacktraces just before the reboot and it looks like this issue might be easily solved. But before I dig in and go that route, I would like to double-check if I have missed any existing options. Is there anything I have missed? Did anybody solve this already?
Cheers
vinylzero
What about trying one of the carrier roms that already has this disabled?
Or try one of the Xposed call blocker modules?
I haven't looked at the carrier ROMs as I prefer to run an OS which I can actually build myself. Have been a long-time CM user now and have grown accustomed to it. Plus, I believe that this is a feature that several devices on CM could profit from. As I said, the necessary changes don't look too complicated. I will have a look at that once I find some time.
Thanks for the Xposed module tip. Will look into that as an alternative. I'm not sure if they are blocking actively (as in sending the call to voicemail) or passively (ignoring the call, which is what would prefer). I'll check it out.
If anyone else is looking for this, this is the solution (executed via adb):
Code:
pm disable com.android.dialer
pm disable com.android.server.telecom
This will completely disable the Phone app as well as the telephony server. Exactly what I was looking for.
Cheers,
vinylzero
vinylzero said:
If anyone else is looking for this, this is the solution (executed via adb):
Code:
pm disable com.android.dialer
pm disable com.android.server.telecom
This will completely disable the Phone app as well as the telephony server. Exactly what I was looking for.
Cheers,
vinylzero
Click to expand...
Click to collapse
Any idea where these values are stored?
I'm wondering what the values are with roms that already have it disabled.
I'm not sure where this information is stored. But you can list all disabled packages with:
Code:
pm list packages -d
Although I would be surprised if these packages are disabled in stock ROMs, as it's easier to simply not bundle them at all.
vinylzero said:
I'm not sure where this information is stored. But you can list all disabled packages with:
Code:
pm list packages -d
Although I would be surprised if these packages are disabled in stock ROMs, as it's easier to simply not bundle them at all.
Click to expand...
Click to collapse
Unfortunately I dont own the device so can't run any commands which is why I wondered where the values were, so I could look in the stock firmware.

How To Guide Enable Native Call Recording + OP Stock Dialer on OnePlus 10 Pro

Hi guys,
Just upgraded from OP7T to OP10 Pro as a European user.
Call recording functionality does not come with the device here.
Had native call recording enabled on my OP7T through jOnePlus Tools and the likes.
Jtools Oneplus does not install on our device.
Don't want to give up this very important functionality.
I'm sure there's a bunch of peeps here just like me.
To be clear, I haven't succeeded yet and I'm not a developer.
Hoping someone smarter than me can appreciate what a wonderful breakthrough it would be to make this work on the OP10 Pro.
I made some progress and have some clues which I'll share in summary below:
OP10 Pro comes with Google Dialer, not OnePlus dialer.
Google dialer natively either prohibits call recording or when succesfully enabled transmits a voice message to the other party disclosing the call is being recorded.
Enabled developer options by tapping build number 7 times in software version details (About Phone section in Settings)
In Developer Options: enabled USB debugging & OEM unlocking
jOnePlus Tools app (Play Store) does not install on our device.
Dev replied to a review in Play Store he discontinued further development of the app.
Following page lists what adb shell commands need to be executed to enable native call recording:
Enable Call Recorder on any OnePlus Device [Android 12]
In this comprehensive guide, we will show various methods (both root and non-root) to to enable Call Recorder on OnePlus devices.
www.droidwin.com
Commands on the previous page do not execute, but come back with an error stating "android.permission.GRANT_RUNTIME_PERMISSIONS" must preceed.
"pm grant <android app package name> android.permission.GRANT_RUNTIME_PERMISSIONS" is useless if there's no particular app available you want to do the writing
A YouTube video pointed to the following page providing links to download oos12 working OnePlus Dialer & Contacts app along with instructions to change the default dialer app:
Oneplus Stock Dialer for Oneplus Smartphones running OxygenOS 12
Oneplus Stock Dialer for Oneplus Smartphones running OxygenOS 12. Join Techibee Telegram Channel Join Now WhatsApp Group Join Now Along with the launch of Oneplus 8T, Oneplus started to Include a few google applications like Google Dialer & Google Messaging app as default communication...
techibee.in
The apps work as advertised albeit there's a floating balloon from the Google Dialer appearing overlayed on the OP Dialer when in a call.
After installation, settings of these apps still do not show the option for call recording in the settings options list
I vaguely remember there's a file, that I think needs root access to get to, that can be opened as a text file, in which you can change how your device interprets the region your device is used in, that afterward allows for the otherwise hidden native call recording function to be revealed. But it's been too long since I performed such an operation and can't even remember the name of this file. Maybe the way I explained it triggers someone's understanding here. I'm wondering if this could be a lead to a remaining thing to do to get that call recording function activated.
I fiddled a bit with different ways of writing the cmd adb commands, by for example using the app package names of the installed OP dialer and contacts apps within a pm grant command, but I'm too dumb to get it right, so no luck with that.
Hoping a smarter person here is willing to give it a go and make history
Cheers and godspeed !
Have you tried SKVALEX call recording app? Not sure if it works on Android 12 though. It needs root/magisk to work.
Macke93 said:
Have you tried SKVALEX call recording app? Not sure if it works on Android 12 though. It needs root/magisk to work.
Click to expand...
Click to collapse
Thank you for the suggestion. I am mainly interested in re-acquiring native call recording functionality. I was also informed that Android 12 indeed does not permit any third party call recording apps to function properly. Asides from that, a non-root method is what I pursue as primary objective. But thank you for suggesting, I appreciate it
Got my OP10Pro today too, waiting to see if someone comes up with turning recording on! Such a great feature, would be a waste to miss it!
So for those interested in knowing what the error in adb is that comes back:
Exception occurred while executing 'put':
java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
at com.android.providers.settings.SettingsProvider.enforceWritePermission(SettingsProvider.java:2663)
at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(SettingsProvider.java:1635)
at com.android.providers.settings.SettingsProvider.insertGlobalSetting(SettingsProvider.java:1589)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:591)
at android.content.ContentProvider.call(ContentProvider.java:2473)
at android.content.ContentProvider$Transport.call(ContentProvider.java:521)
at com.android.providers.settings.SettingsService$MyShellCommand.putForUser(SettingsService.java:382)
at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:278)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:50)
at android.os.Binder.shellCommand(Binder.java:970)
at android.os.Binder.onTransact(Binder.java:854)
at android.os.Binder.execTransactInternal(Binder.java:1226)
at android.os.Binder.execTransact(Binder.java:1163)
Hi guys,
Found a solution !
Go to Developer Options.
Scroll to an option near the end of the list called Disable Permission Monitoring --> Enable it & the command ./adb shell settings put global op_voice_recording_supported_by_mcc 1 is now executing.
Make a call from your OnePlus Dialer and behold the native call recording button in all its glory !
Review the call recording from the call log of the number from which you recorded the call OR go to folder Music>Recordings>Call Recordings to find your entire list of call recordings
Please note that as I understand it, this call recording function will not survive a reboot. We need to re-execute this command in adb upon each reboot for the time being.
I also tried disabling the Google Dialer to get rid of that annoying floating bubble overlay on the OnePlus in-call UI, but that simply destroys the in-call UI alltogether by no longer revealing it! So the person who created those OP apps that work on our devices succeeded at making it work by accepting that floating bubble as part of the workaround.
I noticed that on few occasions the OnePlus dialer does not hijack the call in time and the call goes through the Google Dialer in-call UI instead. Anyway, not complaining now that I found it to work at least.
Going to fiddle around with Tasker or some other app that allows me to automate the above adb command to execute upon each reboot.
Edit: Think I'm way to dumb to figure out how I'm gonna be writing this task. If someone savvy can chime in, that'd be great !
Edit 2: Used the following page tutorial to get a paid app called LADB to work on my device that allows me to execute adb commands OTG:
How to Send ADB Commands to Your Own Phone Without a Computer or Root
There are three tiers to Android customization: things you can do by default, things you can do with ADB, and things you can do with root. While root is still pretty tricky to get, ADB mods just got a lot easier. Back in Android 9, Google added a feature that allowed you to wirelessly send ADB...
android.gadgethacks.com
So for now, upon each reboot, I'll just open up this app (you'll need access to wifi every time) and copy/paste the adb command in there without the ./ adb shell part added at the start. So use just settings put global op_voice_recording_supported_by_mcc 1 and tap enter. Boom ! You got call recording back in case you had to reboot OTG.
Still looking forward to find a savvy chap on this thread that can help with automating that adb command upon each reboot
anarche_diver said:
Hi guys,
Found a solution !
Go to Developer Options.
Scroll to an option near the end of the list called Disable Permission Monitoring --> Enable it & the command ./adb shell settings put global op_voice_recording_supported_by_mcc 1 is now executing.
Make a call from your OnePlus Dialer and behold the native call recording button in all its glory !
Review the call recording from the call log of the number from which you recorded the call OR go to folder Music>Recordings>Call Recordings to find your entire list of call recordings
Please note that as I understand it, this call recording function will not survive a reboot. We need to re-execute this command in adb upon each reboot for the time being.
I also tried disabling the Google Dialer to get rid of that annoying floating bubble overlay on the OnePlus in-call UI, but that simply destroys the in-call UI alltogether by no longer revealing it! So the person who created those OP apps that work on our devices succeeded at making it work by accepting that floating bubble as part of the workaround.
I noticed that on few occasions the OnePlus dialer does not hijack the call in time and the call goes through the Google Dialer in-call UI instead. Anyway, not complaining now that I found it to work at least.
Going to fiddle around with Tasker or some other app that allows me to automate the above adb command to execute upon each reboot.
Edit: Think I'm way to dumb to figure out how I'm gonna be writing this task. If someone savvy can chime in, that'd be great !
Edit 2: Used the following page tutorial to get a paid app called LADB to work on my device that allows me to execute adb commands OTG:
How to Send ADB Commands to Your Own Phone Without a Computer or Root
There are three tiers to Android customization: things you can do by default, things you can do with ADB, and things you can do with root. While root is still pretty tricky to get, ADB mods just got a lot easier. Back in Android 9, Google added a feature that allowed you to wirelessly send ADB...
android.gadgethacks.com
So for now, upon each reboot, I'll just open up this app (you'll need access to wifi every time) and copy/paste the adb command in there without the ./ adb shell part added at the start. So use just settings put global op_voice_recording_supported_by_mcc 1 and tap enter. Boom ! You got call recording back in case you had to reboot OTG.
Still looking forward to find a savvy chap on this thread that can help with automating that adb command upon each reboot
Click to expand...
Click to collapse
Though i dont own 10pro, i like the way you put your efforts. I'm using 9r, and i still didn't updated the os from first one with which it came out of box, because of this security/privacy drama of google; but it's okay for google record each and every move we make.
Seems that incoming calls still run through the Google dialer and disables the call recording function again. Needed to execute the command again several times now, whilst I didn't perform any reboots throughout that time that could have invoked that otherwise.
Oberserved if it deactivated after an incoming call, once I noticed that this has happened before. Strangely, last incoming call that went through Google dialer didn't disable it. I may be completely wrong. Something else might be causing that deactivation. Maybe the system's automated security measures baked in are reverting it, idk.
I keep thinking about the build.prop file. I remember something was in there referring to how your device interprets the region it is used in. Supporting/unsupporting region sensitive functionalities. Like call recording..
This is really annoying.
I really liked OP stock dialler and contacts.
Hopefully there will be a way to bring it back without having to root the phone.
Just found this workaround...
No need to root or download all kind of developers apps, I uses on my oneplus 10 pro - oneplus call recorder app from the play store, it records - regular calls, skype, whatsapp, and more...
I tried to use OnePlus Call Recorder but It's renamed app Travis Call Recorder from same developer. The app works like most others, records only silence when using an external handsfree or headphones. the app doesn't replace the native call recorder. Recordings with using OnePlus dialer truly works from guide TechiBee.
Installing the previous version of Joneplus Tools from apkmirror works. Granted adb permissions to the app through LADB (read above) and it seems to work fine.
Also check Techibee's latest video if you want to learn how to properly handle the OP Dialer sometimes not being revealed as the primary Dialer on screen. He also explains how you can access the OP Dialer on incoming calls.
It's a welcome addition to the above advised steps for those who are not in Call Recording native activated regions (Europe, other?...)
I have android 12, on my oneplus joneplus doesn't work on this version any more. And as for the oneplus call recorder, it is available on play store, i have Chinese oneplus 10 pro version ne2210 with European rom ne2215. Its working and recording any call. For the old os i guess joneplus still works, it was working on my previous phone.
Who really wants it, i mean, you need to use adb with developer option to make it work.
But if thats the only option you have, so use it.
Another thing, on the new os, i dont have the phone app from oneplus, its google phone app so i dont think we can add the joneplus and the native call recorder unless you install the phone app from oneplus, but again, you will have to use adb and install updates for the new app by your own, and who knows if that will even work.
I think for you to download the app oneplus call recorder or joneplus, it depends on the os version and also maybe the region that you are in.
I found this link to the app https://www.google.com/amp/s/apkpremier.com/amp/com-travis-callrecorder-oneplus
shhuhs said:
I have android 12, on my oneplus joneplus doesn't work on this version any more. And as for the oneplus call recorder, it is available on play store, i have Chinese oneplus 10 pro version ne2210 with European rom ne2215. Its working and recording any call. For the old os i guess joneplus still works, it was working on my previous phone.
Who really wants it, i mean, you need to use adb with developer option to make it work.
But if thats the only option you have, so use it.
Another thing, on the new os, i dont have the phone app from oneplus, its google phone app so i dont think we can add the joneplus and the native call recorder unless you install the phone app from oneplus, but again, you will have to use adb and install updates for the new app by your own, and who knows if that will even work.
Click to expand...
Click to collapse
Thank you, but what you propose is completely different than what I've created this thread for.
The idea was to find a workable solution in obtaining native call recording inside OnePlus Dialer, whilst Joneplus Tools seemed to no longer install on android 12.
All these things have been RESOLVED and shared above to the extent that it is possible at this time of writing.
In my posts above I've shared links to where the OP Dialer can be downloaded along with a link on how to install it and make it default. I explained how to get the adb command to execute.
I provided a solution for adb OTG (LADB), given the adb command needs to be re-executed at times.
In my last post I also shared that the second to last version of Joneplus Tools DOES INSTALL on our device that comes with Android 12 pre-installed.
anarche_diver said:
Hi guys,
Found a solution !
Go to Developer Options.
Scroll to an option near the end of the list called Disable Permission Monitoring --> Enable it & the command ./adb shell settings put global op_voice_recording_supported_by_mcc 1 is now executing.
Make a call from your OnePlus Dialer and behold the native call recording button in all its glory !
Review the call recording from the call log of the number from which you recorded the call OR go to folder Music>Recordings>Call Recordings to find your entire list of call recordings
Please note that as I understand it, this call recording function will not survive a reboot. We need to re-execute this command in adb upon each reboot for the time being.
I also tried disabling the Google Dialer to get rid of that annoying floating bubble overlay on the OnePlus in-call UI, but that simply destroys the in-call UI alltogether by no longer revealing it! So the person who created those OP apps that work on our devices succeeded at making it work by accepting that floating bubble as part of the workaround.
I noticed that on few occasions the OnePlus dialer does not hijack the call in time and the call goes through the Google Dialer in-call UI instead. Anyway, not complaining now that I found it to work at least.
Going to fiddle around with Tasker or some other app that allows me to automate the above adb command to execute upon each reboot.
Edit: Think I'm way to dumb to figure out how I'm gonna be writing this task. If someone savvy can chime in, that'd be great !
Edit 2: Used the following page tutorial to get a paid app called LADB to work on my device that allows me to execute adb commands OTG:
How to Send ADB Commands to Your Own Phone Without a Computer or Root
There are three tiers to Android customization: things you can do by default, things you can do with ADB, and things you can do with root. While root is still pretty tricky to get, ADB mods just got a lot easier. Back in Android 9, Google added a feature that allowed you to wirelessly send ADB...
android.gadgethacks.com
So for now, upon each reboot, I'll just open up this app (you'll need access to wifi every time) and copy/paste the adb command in there without the ./ adb shell part added at the start. So use just settings put global op_voice_recording_supported_by_mcc 1 and tap enter. Boom ! You got call recording back in case you had to reboot OTG.
Still looking forward to find a savvy chap on this thread that can help with automating that adb command upon each reboot
Click to expand...
Click to collapse
anarche_diver said:
Hi guys,
Found a solution !
Go to Developer Options.
Scroll to an option near the end of the list called Disable Permission Monitoring --> Enable it & the command ./adb shell settings put global op_voice_recording_supported_by_mcc 1 is now executing.
Make a call from your OnePlus Dialer and behold the native call recording button in all its glory !
Review the call recording from the call log of the number from which you recorded the call OR go to folder Music>Recordings>Call Recordings to find your entire list of call recordings
Please note that as I understand it, this call recording function will not survive a reboot. We need to re-execute this command in adb upon each reboot for the time being.
I also tried disabling the Google Dialer to get rid of that annoying floating bubble overlay on the OnePlus in-call UI, but that simply destroys the in-call UI alltogether by no longer revealing it! So the person who created those OP apps that work on our devices succeeded at making it work by accepting that floating bubble as part of the workaround.
I noticed that on few occasions the OnePlus dialer does not hijack the call in time and the call goes through the Google Dialer in-call UI instead. Anyway, not complaining now that I found it to work at least.
Going to fiddle around with Tasker or some other app that allows me to automate the above adb command to execute upon each reboot.
Edit: Think I'm way to dumb to figure out how I'm gonna be writing this task. If someone savvy can chime in, that'd be great !
Edit 2: Used the following page tutorial to get a paid app called LADB to work on my device that allows me to execute adb commands OTG:
How to Send ADB Commands to Your Own Phone Without a Computer or Root
There are three tiers to Android customization: things you can do by default, things you can do with ADB, and things you can do with root. While root is still pretty tricky to get, ADB mods just got a lot easier. Back in Android 9, Google added a feature that allowed you to wirelessly send ADB...
android.gadgethacks.com
So for now, upon each reboot, I'll just open up this app (you'll need access to wifi every time) and copy/paste the adb command in there without the ./ adb shell part added at the start. So use just settings put global op_voice_recording_supported_by_mcc 1 and tap enter. Boom ! You got call recording back in case you had to reboot OTG.
Still looking forward to find a savvy chap on this thread that can help with automating that adb command upon each reboot
Click to expand...
Click to collapse
@anarche_diver Hello, thank you for the detailed post. I just switched from 7Pro to 10Pro (NE2213) as well and was looking to get native call recording. Firstly, you shouldn't be selling yourself short as you are definitely smart enough to have put in the efforts at the right places it seems, a special thanks for that
However, I am stuck at LADB. After I have plugged in the command (copy pasted from your post), it shows the following error. Could you maybe help me figure out what I did wrong ? Thanks in advance & below is a screenshot from LADB.
Edit : Please note that one way or another, I would love to get the native call recording feature. And I don't mind even if the voice announcement of call recording is issued
has anyone found a very good stock dialer for root my device?
anarche_diver said:
Hi guys,
Found a solution !
Go to Developer Options.
Scroll to an option near the end of the list called Disable Permission Monitoring --> Enable it & the command ./adb shell settings put global op_voice_recording_supported_by_mcc 1 is now executing.
Make a call from your OnePlus Dialer and behold the native call recording button in all its glory !
Review the call recording from the call log of the number from which you recorded the call OR go to folder Music>Recordings>Call Recordings to find your entire list of call recordings
Please note that as I understand it, this call recording function will not survive a reboot. We need to re-execute this command in adb upon each reboot for the time being.
I also tried disabling the Google Dialer to get rid of that annoying floating bubble overlay on the OnePlus in-call UI, but that simply destroys the in-call UI alltogether by no longer revealing it! So the person who created those OP apps that work on our devices succeeded at making it work by accepting that floating bubble as part of the workaround.
I noticed that on few occasions the OnePlus dialer does not hijack the call in time and the call goes through the Google Dialer in-call UI instead. Anyway, not complaining now that I found it to work at least.
Going to fiddle around with Tasker or some other app that allows me to automate the above adb command to execute upon each reboot.
Edit: Think I'm way to dumb to figure out how I'm gonna be writing this task. If someone savvy can chime in, that'd be great !
Edit 2: Used the following page tutorial to get a paid app called LADB to work on my device that allows me to execute adb commands OTG:
How to Send ADB Commands to Your Own Phone Without a Computer or Root
There are three tiers to Android customization: things you can do by default, things you can do with ADB, and things you can do with root. While root is still pretty tricky to get, ADB mods just got a lot easier. Back in Android 9, Google added a feature that allowed you to wirelessly send ADB...
android.gadgethacks.com
So for now, upon each reboot, I'll just open up this app (you'll need access to wifi every time) and copy/paste the adb command in there without the ./ adb shell part added at the start. So use just settings put global op_voice_recording_supported_by_mcc 1 and tap enter. Boom ! You got call recording back in case you had to reboot OTG.
Still looking forward to find a savvy chap on this thread that can help with automating that adb command upon each reboot
Click to expand...
Click to collapse
It's working for my OnePlus 8 Pro which running OOS12 EU.

Categories

Resources