[Q] Bluetooth Network Project - General Questions and Answers

Hello,
I was wondering if someone could point me in the right direction for a Bluetooth Networking Project I'd like to do.
The ultimate goal:
- Having some sort of bluetooth app with root privileges, which, when walking past someone, would allow some sort of passive communication without the users authorisation nor involvement.
This is similar to the idea on the 3DS called "SpotPass":
(I would have posted the link, but I'm not allowed to)
I do not have much experience on the subject, but suppose it would involve having root permissions to access the bluetooth module, being able to broadcast a message (to other users of this application).
I'm not sure if this might involve creating a completely different driver.
The reason is actually to create a short-distanced-passive-communication application useful for getting short messages or announcements across, with the low power consumption of bluetooth (vs wifi).
If this kind of communication if not possible, could someone please explain why, or at least give me some sort of link with the reason.
Thanks in advance

Related

Advice

I have recently purchased and HTC Desire S it is my first smart phone so I am going through a whole new learing curve. I need a little expert advice if someone could help:
Is there an app available that will allow me to increase the font size in the people folder as I am now reaching the point were the eyes are not so good.note: I have heard that it is planned in the next update(rumour only)
Having read with interest an article name HTC Operators Guide on the forum (a pdf awsome) I must apologise that I can not find the author of this, but having gone through it thoroughly I found Tasker to be very interesting, although a little deep, can anyone advise me if it is possible to do the following:
Automatically turn off my bluetooth (used for car kit) when in range of my home wifi and do the reverse, turn the bluetooth on as soon as I am out of range of the wifi. If it is possible the formula would be much appreciated as this would sway my decision to purchase.
Thanks
Alan

[Q] SIP / VoIP Client Codecs

Hi all,
This thread pertains to the inbuilt Internet Calling feature on Gingerbread. By default, it uses g.711 but I use an audio broadcast unit which requires g.722.
Is anyone able to help me, with finding out where the prefs are for the default SIP client, and how to enable g.722 as Mon codec de preference?
Many thanks
Perhaps I should post this in Dev...
Well, according to the rules, I'm not allowed to post a development based question in the dev forum. Apparently "If it's not about a ROM, it's not allowed in the development area" - perhaps the 'Dev' area should be renamed 'ROMs', and a separate Development Area should be opened?! That way, serious questions won't get overlooked and moved down so quick with the masses of repeated questions from new members.
Anyway - thats my rant...
Here's my actual question - reposted:
Hi folks
OK, this isn't ROM related as such, but it is definitely development related, hence posting here. I'm not a programmer, but I know my way around config files etc. usually. What I'm trying to find out, is this:
Can I adjust the 'built-in' VoIP Client to use a different codec? There's no options available in software, but the config for the client must be somewhere - question is, WHERE would it be? If anyone can point me in the right direction, I'll report my findings
There's a few VoIP things I want to customise, but using the native client, rather than a third party app.
I'm not after a spoon-fed solution - just the clues where to look so I can sort it out.
Many thanks
Just unzip any ROM and look inside,
That would spare you own phone and you can check every single file.
Btw, apk are zip files as well...
I've had a look around, but still haven't found the right things.
I guess the 'Internet Calling' function is part of the main 'phone' app, but I can't find any settings or config files for this.
It should be such a simple change to make; but I'm stuck at the first hurdle!!

[Q] Control Android phone over 3G network(non wifi)

Hi,
I'm looking forward to an answer to this as I don't seem to find anything relative anywhere. Is it possible to connect a droid over a 3G network(not wifi) from a remote location(A computer). We are actually trying to develop a project where a android phone(xperia ray) will be mounted on a bot and will be controlled by DTMF and video feed will be sent via 3G video call. We want to implement a few more functions and hence we are looking forward to establish a remote session via a computer. I don't know what logic to be used to code, or if there is any existing solution to this. Need a few thoughts. Also need to send the sensor data remotely to the controller droid phone or computer. Help of any kind would be greatly appreciated. Thanks
Yes its possible, but your questions are too broad to answer.
There are various ways you could implement it, be it ssh sessions, websites or more.
Get more familiar with writting apps and ask something specific, we can't do your work for you, you have to do some research yourself .
Dark3n said:
Yes its possible, but your questions are too broad to answer.
There are various ways you could implement it, be it ssh sessions, websites or more.
Get more familiar with writting apps and ask something specific, we can't do your work for you, you have to do some research yourself .
Click to expand...
Click to collapse
Hi thanks for the reply Sure. Ofcourse we don't expect anyone to write codes for us. Which method would you suggest , which will be easy to implement coding/learning wise? I'm good at websites with php
Thanks.
One site that I've found that can do anything with the phone over 3g, is webkey. I don't know if it's what you're looking for, but it seems like it may be.

Request - Conditional FTP server

I've been looking around for something like this, but I cannot find a single app (or multiple that'll work together) that'll do this for me.
Basically, an FTP server that will automatically start/stop based on conditions.
The specific conditions I'm after is if my phone is both charging and connected to WiFi.
Bonus if I can specify charging method (AC/USB/wireless) and the network(s) (SSID/MAC).
If something like this already exists, please let me know, no need to reinvent the wheel (and spend a lot of time learning app programming).
Also, this is probably not the correct sub-forum to post this in, please move this (and rename title even) if needed.

[DEV] Porting call audio injection behavior from Google Pixel Dialer to AOSP Dialer

I'm working on a personal modding project, where I take the AOSP Dialer and add some features that I'd like to have. Long story short, for a component of this, I need to figure out how Google has been able to inject arbitrary audio into the conversation/call audio stream.
For years, discussion online, and especially on Stack Overflow, has insisted that:
There are too many upstream limitations, this is impossible
This is impossible, you have to play it over the speaker and hope the microphone picks it up
You can't do this, even Google says so
Indeed, even Google's up-to-date MediaPlayer documentation clearly shoots this down and doesn't mince words:
You cannot play sound files in the conversation audio during a call.
Click to expand...
Click to collapse
However, we know this isn't true. At least, not anymore, and not on Pixel devices. Google's Call Screening feature can "talk" to someone calling your phone, but that synthesized audio is never played audibly to the user. In other words, Google has been able play a Text-To-Speech stream of audio to someone calling your device, doing so silently, clearly to the listener, and without requiring the handset speaker or user's microphone to be "on."
Despite the fact that this is "possible" by virtue of "it has already happened," I can't find any discussion, documentation, info, or anything helpful about how Google has been able to do this. So, what do you do?
The next logical step is to start decompiling the app, but that's easier said than done. I'm by no means an expert in reverse engineering Android apps. Admittedly, you could consider me a beginner. Still, I've found a few things that seem useful, so here's what I've been able to find:
First off, when compared to the AOSP Dialer, the Google Dialer requires an additional privapp-permission that may be of interest: android.permission.MODIFY_AUDIO_ROUTING. I can't find much about what this permission does or how it is used, but it's definitely used by the Google Dialer, and on a stock Pixel 3 XL ROM, that permission is defined in /product/etc/permissions/privapp-permissions-google-p.xml as a privapp-permission.
Next, when decompiling the app, one of the first things I noticed is that a special "IMPL" package containing a playInternal function is class injected/loaded dynamically, and it's adjacent to MediaPlayer code that seems to play audio over a certain channel. The class it tries to load is:
Code:
com/android/dialer/audio/impl/CallAudioPlayer
However, that package isn't present in the list of decompiled classes (there's no "audio" folder under "dialer"), and despite playInternal being explicitly called by a string, there aren't any other classes that seem to define the playInternal function.
I don't know where XDA stands on posting decompiled code, but if you're using JADX, the area of interest is in defpackage/bhk.java.
But if I'm correct, this means that:
You can use MediaPlayer to play over the call stream, contrary to Google's documentation; you just need a special IMPL that allows for that behavior
This (probably?) requires the aforementioned MODIFY_AUDIO_ROUTING permission
If one were to obtain/locate and re-implement CallAudioPlayer.java, you could probably reproduce this behavior in the AOSP Dialer, or any other system app with the necessary permissions
If I'm not correct, then chasing down CallAudioPlayer will be a dead end. Still, the fact stands that Google did this somehow, so the answer must be somewhere.
So... that's where I'm at with this. I don't feel like I'll get much further without some help from more knowledgeable people, since I don't know where this CallAudioPlayer class is located. If it's in the base apk, but obfuscated, I can't find it. And if it's in a system framework or overlay APK, it must be using a different name, since no instances of CallAudioPlayer or playInternal exists in any of the relevant .apks on my system.
If this requires more sophisticated Android system/API modifications, that's fine too. This will end up on a custom ROM, so even if part of this behavior extends outside of the APK, any potential solution can be implemented in an AOSP ROM to achieve this functionality.
If you have any advice on how this may have been done, I really appreciate any and all discussion I can get on this. And if you don't know, I encourage you to ask a friend or someone who might be more knowledgeable when it comes to reverse engineering. Even if no one outright knows the answer to this, I hope to get at least some recent discussion on this topic, so that people investigating this in the future will at least have some sort of starting point.
Thanks for reading!
Hi. I'm no expert on Android (far from that haha) or Reverse Engineering. Though, I'm making an assistant installed as system app in a rooted Android and can also be compiled with the hidden and internal methods and classes so they can be used, like ITelephony, for example (https://github.com/anggrayudi/android-hidden-api) - btw, have you tried to mess with those classes and methods? (Sorry for my ignorance, I've no idea how it is to code/recode a ROM, what you need to use and stuff.) And anyways, I found something you didn't mention up there, so I'm unsure if you already know or not. From what Google says here (https://support.google.com/phoneapp/answer/9118387) in the "Screen calls manually" section, "Your Google Assistant screens the call and ask who's calling and why. You'll get a real-time transcript of how the caller responds.". Though, if it's their assistant doing that, not sure why that permission is on Dialer and not only on the assistant. Anyways, maybe that could be a good place to look at?
EDIT: Maybe also you (or anyone, of course) could look at sending DTMF tones over the call (I only made a quick search on Google, but there may be more that could help on this?). I think it's the same thing as it's inserting audio into the call. Though I can't be sure - btw, if it's really sending audio, then any Dialer app can already do that! But may not be that simple, so no idea at all. Maybe that's hardware thing and not software (>95% probable?). Just trying to give to ideas on where more to research.
Here (https://issuetracker.google.com/issues/36906273#comment107) it's said "I found this app, that can send dtmf after the call is made and active: https://play.google.com/store/apps/details?id=mobi.drupe.app (...)" - name: "drupe - Contacts & Caller ID" (just in case the app gets deleted from PlayStore and then people don't have their name to search for, only the package). If it's audio that it's being injected then it's possible, since that app seems to do it already, and the answer could be there too and might be good to look for the keys' frequencies on the code? Again, sorry for my ignorance on anything wrong I said. As I said in the beggining, I'm far from expert/experienced on Android.
I'll also be trying to search on how to send DMFT tones over a phone call. Could help, maybe. And if only a frequency could be sent for any reason, at least it's already cool to send some beep haha (preferably different from the ones of the keys or it might be confused with a key press by the other side, depending on who we're calling).
Late reply, did you solve this? I would like to build call features on Aosp. Best!

Categories

Resources