Amazon Fire Phone Video and sound problem - Android Q&A, Help & Troubleshooting

i know am not suppose to open a new thread if there is an old one already available, but the issue is that the old thread is so old that no one replies there anymore and i have been waiting for a reply for a couple a days now..
as you all know that the amazon fire phone has couple of issues that has new been fixed by the company itself and i have been searching around for fixes myself and one of the main issue that has been bothering all fire phone users is the video not being able to play in apps like whatsapp, instagram, snap etc..
now i have come across this one particular coding for this issue but since am not a developer or a java expert i need assistance in preforming these steps and if anyone can be helpful enough to tell me whether this works or not
In AmazonQuirks.java
private static final String FIRE_PHONE_DEVICE_MODEL = "SD";
private static final boolean isFirePhone;
static {
isFirePhone = isAmazonDevice && DEVICEMODEL.startsWith(FIRE_PHONE_DEVICE_MODEL);
.
.
}
public static boolean isLatencyQuirkEnabled() {
// Sets latency quirk for Amazon KK and JB Tablets
return ( (Util.SDK_INT <= 19) && (isKindleTablet || isFirePhone) );
}
by reddisri on github
https://forum.xda-developers.com/fire-phone/help/help-thread-question-noob-friendly-t3216271/page6

Related

[Q] Best way to receive gps state change for enabled/disabled

Hi,
is there a better way to receive ONLY the enabled/disabled state change for GPS
than go with LocationListener ? I have read, the LocationListener needs some
battery life, which is some useless if so.
Is there really no action / intent to receive for or i'm blind to find that in documentation?
thanks for help
Andy
I'm in the process of testing an app that uses LocationManager.
First, take a look at the Criteria class. Here you can provide some settings, one of which is "setPowerRequirement". This can help with battery life.
Next is the call to "requestLocationUpdates" which includes a time and distance. Time is in milliseconds, distance in meters. The developer guide suggests setting time to no lower than one minute to conserve battery.
I've run this for about 3 hours on the road and the battery use for my app seems fine; it's not sucking the life out of the battery. Maybe I'll go against the developer guide and set it to one second, 10 feet and go for a drive (see my "final" note LOL) and see what that does to the battery.
Found this little snippet that may be of use to you:
Code:
GpsStatus.Listener gpsListener = new GpsStatus.Listener() {
public void onGpsStatusChanged(int event) {
if( event == GpsStatus.GPS_EVENT_FIRST_FIX){
showMessageDialog("GPS fixed");
}
}
};
Finally, a note about writing a LocationManager app...THEY'RE A ***** TO TEST!! ROFL
Rootstonian said:
I'm in the process of testing an app that uses LocationManager.
First, take a look at the Criteria class. Here you can provide some settings, one of which is "setPowerRequirement". This can help with battery life.
Next is the call to "requestLocationUpdates" which includes a time and distance. Time is in milliseconds, distance in meters. The developer guide suggests setting time to no lower than one minute to conserve battery.
I've run this for about 3 hours on the road and the battery use for my app seems fine; it's not sucking the life out of the battery. Maybe I'll go against the developer guide and set it to one second, 10 feet and go for a drive (see my "final" note LOL) and see what that does to the battery.
Found this little snippet that may be of use to you:
Code:
GpsStatus.Listener gpsListener = new GpsStatus.Listener() {
public void onGpsStatusChanged(int event) {
if( event == GpsStatus.GPS_EVENT_FIRST_FIX){
showMessageDialog("GPS fixed");
}
}
};
Finally, a note about writing a LocationManager app...THEY'RE A ***** TO TEST!! ROFL
Click to expand...
Click to collapse
thanks for answer,
i've seen these code on stackoverflow already, but it means more the fixed GPS position optimization to save battery power
I only need the events when gps is enabled or disabled, not more
I would use the code above and then call:
public static final int GPS_EVENT_SATELLITE_STATUS
Since: API Level 3
Event sent periodically to report GPS satellite status. Call getSatellites() to retrieve the status for each satellite.
Constant Value: 4 (0x00000004)

[Q] What does KeyBoxProvision.apk do?

I have a new Asus Transformer Prime & I love it. I am trying to clean up some of the unnecessary preinstalled items.
What does KeyBoxProvision.apk do?
According to Google, "KeyBoxProvision" only shows up on 3 pages on the entire net: one post noting that it was running, and two dumps which indicate it was included in a long list of things distributed in the 9.4.2.11 update. None of this includes any information about it.
KeyBoxProvision runs all the time and quickly starts back up if terminated. "Settings|Apps|All" lists KeyBoxProvision as an application. It may be "Force Stop"'d, but it soon starts back up again. The "Disable" function is unavailable. KeyBoxProvision has just about every permission available on Android. It can do just about anything on the tablet.
So, does anyone know what KeyBoxProvision does, if it's safe to get rid of it, and how one would get rid of it?
Thanks,
Stephen
I don't know off the top of my head, and I personally wouldn't remove it. Nonetheless if you are feeling adventurous:
Go into the system/app folder,
Copy the apk and odex file to another location for safe keeping.
Then delete both of them from the app folder.
It goes without saying that you are going to have to be rooted to make this happen. If you start getting errors/force closes, put them back.
Sent from my Transformer Prime TF201 using xda premium
KeyBoxProvision.apk is the service that handles OTA update checking. It's also where the issue occurs for the "serial not found" issues:
Code:
public void onCreate()
{
Log.d("KeyBoxService", "=== onCreate()");
super.onCreate();
if (hasLibrary)
{
this.thKeyBox = new HandlerThread("KeyBoxOTAThread");
this.thKeyBox.start();
this.hKeyBox = new KeyBoxHandler(this.thKeyBox.getLooper());
KeyBoxSettings.init(this);
this.mSettings = KeyBoxSettings.getInstance();
String str;
if (Build.SERIAL != null)
str = Build.SERIAL;
else
str = "unknown";
this.mClientId = str;
this.mPasscode = TextUtils.escape(AuthUtils.getPasscode(Build.SERIAL, "AsusWvDrmServer"));
}
else
{
stopSelf();
Log.e("KeyBoxService", "No library loaded, stopSelf!");
}
}
So in theory, if you remove this service all OTAs should stop. Not sure if any other app relies on this service for its functionality though (as it offers a variety of utilities; SHA1 hashing for auth, Base64 encoding, etc).
My guess is you end up bootlooping. I have no clue but I would be nervous messing with it.

[APP] Instagram for android

Description:
Instagram – A beautiful way to share your world. It's fast, free and fun! 

Pick from one of several gorgeous filtered effects to breathe a new life into your mobile photos. Transform everyday moments into works of art you'll want to share with friends and family.

Share your photos in a simple photo stream with friends to see - and follow your friends' photos with the click of a single button. Every day you open up Instagram, you'll see new photos from your closest friends, and creative people from around the world.

Features
:
☆ 100% free custom designed filters and borders
☆ Lux works its magic by making your photos more vibrant and brings out details in your photos you couldn't see before
☆ Instant sharing to Facebook, Twitter, Tumblr, and Foursquare (Flickr coming very soon)

☆ Interact with friends through giving & receiving likes and comments

☆ Works with Android versions 2.2 and above that support OpenGL ES 2
☆ Full front & back camera support
☆ And much much more...
APK is avalible here since the app isn't avalible on the market for us. Haven't tested it yet, though so I'm not sure whether it'll work at all. Will update this thread/post to confirm if it does or doesn't work.
first time i had a fc,then i reloaded and it worked,but when i loaded a photo,again fc :/
dreamkill3r said:
first time i had a fc,then i reloaded and it worked,but when i loaded a photo,again fc :/
Click to expand...
Click to collapse
Yeah, I'm getting FCs too. Looks like I'll have to keep using picplz for now, untill they add a direct upload feature.
you happen to know the path for its processed images? i want to upload one to FB but not using instagram itsel, cant find the path (is not DCIM)
arana1 said:
you happen to know the path for its processed images? i want to upload one to FB but not using instagram itsel, cant find the path (is not DCIM)
Click to expand...
Click to collapse
Not sure. In a instagram folder on your SD card possibly? I'll look in a bit.
Sent from my HTC Wildfire using xda premium
Unfortunately me too.. Getting FC when uploading a picture. This sucks.. Been waiting for this app to be available for android and yet i can not fully use it on my phone..
Yeah, mine has it too, sadly
I have those Forcing closes after choosing an image or making one, so Instagram doesn't work completely at the Wildfire
I hope some updates for the app will come with better Support for the Wildfire, so we can use it like others can.
I've been waiting so long for this, so I hope it'll be fixed soon..
tobirocker51 said:
Yeah, mine has it too, sadly
I have those Forcing closes after choosing an image or making one, so Instagram doesn't work completely at the Wildfire
I hope some updates for the app will come with better Support for the Wildfire, so we can use it like others can.
I've been waiting so long for this, so I hope it'll be fixed soon..
Click to expand...
Click to collapse
Turns out its very buggy on many lower-end android phones. I hope they work on it more to have better compatability with lower-end android phones.
Instagram have updated app,
Instagram 1.0.1 can be found HERE
GlennBrownie said:
Instagram have updated app,
Instagram 1.0.1 can be found HERE
Click to expand...
Click to collapse
Tried it on oxygen, didn't work. Can anyone try it on stock or stock-based roms?
that does not look good - I can't remember having seen this yesterday:
"Phones without OpenGL ES 2, such as the Galaxy Y or first generation HTC Wildfire, do not have the technology required to power Instagram's filters, and therefore cannot be supported."
Click to expand...
Click to collapse
Phones without OpenGL ES 2, such as the Galaxy Y or first generation HTC Wildfire, do not have the technology required to power Instagram's filters, and therefore cannot be supported.
Click to expand...
Click to collapse
Source: sorry can't post this because I am a noob user xD google for "INSTAGRAM | Supported OS & Devices" should be the first result.
I would say - no GPU, graphical processing unit - no OpenGL ES 2 right!?
greetz
scarfur said:
Source: sorry can't post this because I am a noob user xD google for "INSTAGRAM | Supported OS & Devices" should be the first result.
I would say - no GPU, graphical processing unit - no OpenGL ES 2 right!?
greetz
Click to expand...
Click to collapse
hm, don't know if I understand you right - but isn't that exactly what I've posted above (from the Instagram website).
Regarding the missing GPU I'm not absolutely sure if v. 2 is not supported at least partly because OpenGL ES-CM 1.0 is - but the missing GPU of course wouldn't produce nice results in image editing anyway (and cause too many negative side effects).
Due to the fact that our buzz is a pretty old low end device (in smartphone terms) I wouldn't expect any special treatment by Instagram.
I have no idea if that's any help, but I poked around in the .apk with dex2jar and jd-gui and don't really get why OpenGL ES 2.0 should be necessary. The only place I found references to 2.0 was in /com/instagram/android/gl/GLHelper and there we have:
Code:
int i = GLES20.glGetError();
GLES20.glBindTexture(3553, i);
GLES20.glTexParameterf(3553, 10241, 9729.0F);
GLES20.glTexParameterf(3553, 10240, 9729.0F);
GLES20.glTexParameteri(3553, 10242, 33071);
GLES20.glTexParameteri(3553, 10243, 33071);
GLES20.glTexParameterf(3553, 10241, 9729.0F);
GLES20.glTexParameterf(3553, 10240, 9729.0F);
The method signatures for these are (according to developer.android.com/reference/android/opengl/GLES20.html):
Code:
public static int glGetError ()
public static void glBindTexture (int target, int texture)
public static void glTexParameterf (int target, int pname, float param)
public static void glTexParameteri (int target, int pname, int param)
Compared to the GLES10 signatures (developer.android.com/reference/android/opengl/GLES10.html) there's no difference:
Code:
public static int glGetError ()
public static void glBindTexture (int target, int texture)
public static void glTexParameterf (int target, int pname, float param)
they seem the same, except for the missing glTexParameteri, but there's a:
Code:
public static void glTexParameterx (int target, int pname, int param)
and in GLES11 (developer.android.com/reference/android/opengl/GLES11.html) we would also have glTexParameteri:
Code:
public static void glTexParameteri (int target, int pname, int param)
I tried to modify the .apk, swapping GLES20 to GLES11, like described on code.google.com/p/dex2jar/wiki/ModifyApkWithDexTool but I got errors on the verification (even before modyfing) and I don't have much experience with android development, but maybe someone else could give it a shot.
I have no clue if that could work anyway, but if it doesn't really need GLES20 and just crashes because it tries to call things that aren't there, why wouldn't it?
Due to the fact that I haven't had any look into the instagram iPhone app I've really been curious to test it on my Wildfire. Feeling left out with GPU-less phones is not nice but I have noticed that not everyone with a more sophisticated device seems to be satisfied ​
http://news.sky.com/skynews/Article/201204216205464
Another one swept up by a major power.
Sent from my HTC Wildfire using xda premium
Picsart nice alternative.
MANCHESTER together UNITED forever
Well at least upload is now available, someone is bound to make an app that is more compatible.
Sent from my HTC Wildfire using Tapatalk
I use MyTubo... Nice replacement..
https://play.google.com/store/apps/details?id=com.redwolfama.pictwitter&feature=search_result&hl=en
Why settle for replacement?
Just grabbed from galaxy 3 forums, as far as I can tell works fine but at work so can't test it properly xD
Well anyway, here's the download link :
http://db.tt/yuq3rPhs
Let us know how it goes!
EDIT :
Just taken a quick snap, still FC
Sent from my HTC Wildfire using Tapatalk 2

[Q] Track seekbar scrub past markers?

I am currently working on a video player using the VideoView and I am controlling it with the MediaController. There are two things I am currently trying to figure out how to approach and was hoping someone may have some ideas.
The first thing I would like to do is to be able to place markers along the seekbar, such as 25% of the clip. I want to fire an event when this mark is hit or scrubbed past. Throwing an event when this marker is hit with the video playing regularly will be easy because I should be able to just use getCurrentPosition and checking to see if it is 25% of the total clip. The issue I am having is how to fire the event if the user scrubs past the 25% point.
The second thing I am trying to do is just show a visual marker along the seekbar that I can display a marker, lets say at the 25% point, 50% point, etc. Any help or direction would help immensly. Thanks!
In looking at this a bt more, with regards to tracking when the user scrubs past certain markers, I am thinking that if I can reference the MediaControllers seekbar object and get its ontouch down and up events, then I could perform a calc to see if those points were passed.
The issue I am having now is how I can get access to my subclassed MediaControllers seekbar. Does anyone know if this is possible and if so how to go about getting the id of it?
I currently have extended the MediaController so I could show it on the screen at all times, but havent figured out how to get access to the seekbar object in the MediaController. Any ideas?
Code:
package org.apache.android.media;
import android.content.Context;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.MediaController;
public class VisibleMediaController extends MediaController{
public VisibleMediaController(Context context)
{
super(context);
}
@Override
public void hide()
{
this.show(0);
}
@Override
public void setMediaPlayer(MediaPlayerControl player) {
super.setMediaPlayer(player);
this.show();
}
}

Fix kitkat SMS MAP (bluetooth) originator

I've found that bluetooth SMS messaging doesn't interact too well with some car head units. In particular, Chrysler/Dodge/Jeep "uconnect" systems have issues understanding SMS originators with many kitkat phones. The reason is simple: "uconnect" (and other head units, I suppose) expect bluetooth map "vcards" to have an originator phone number in a raw (unformatted) format, while AOSP kitkat puts in pretty formatted phone numbers.
Good: +12345678901
Bad: (234) 567-8901
This module resolves that little issue.
...and here's the xposed repo link: http://repo.xposed.info/module/org.garyndenise.xposed.btsmsmapfix
As for source, I just whipped this up in eclipse in windows, and I never bothered getting git working properly in windows... (I suppose I could copy this to one of my linux boxes, but I'm really too lazy.) So, I'll just paste the source below.
Licensing is simple: The method I'm replacing (and somewhat duplicating) is copyrighted by Samsung and licensed under Apache. (Standard AOSP licensing.) My modifications are PUBLIC DOMAIN, or the least restrictive possible license that is compatible with Samsung's copyright and the Apache License.
Don't expect too much support on this. I wrote it to fix an issue for my wife with her LG G2, and it just so happens that LG is using the AOSP MAP code pretty much intact. She's happy, so I consider my support contract fulfilled.
I've tested this on the G2, but not on anything running AOSP.
Code:
/* Copyrights...
*
* Portions of this file are taken from AOSP with the following copyright notice:
*
* Copyright (C) 2013 Samsung System LSI
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* The remainder of the source is released to the PUBLIC DOMAIN or to the
* least restrictive licensing allowable in order to co-exist with the
* above mentioned license.
*
*/
package org.garyndenise.xposed.btsmsmapfix;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.PhoneLookup;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodReplacement;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.XposedHelpers.ClassNotFoundError;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
public class BTSmsMapFix implements IXposedHookLoadPackage {
public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
if (!lpparam.packageName.equals("com.android.bluetooth"))
return;
/*
* When bluetooth in kitkat AOSP (and LG, apparently) attempts to
* create a vCard for inclusion in a MAP bMessage, it's using the
* version 3 vcard, and supplying pretty-formatted phone numbers. For
* some MAP clients (car head units), this isn't a problem. However
* some head units (such as Chrysler "uconnect" systems) insist on
* having the phone number in raw SMS format (such as +1xxxyyyzzzz in
* the USA) and not in a more local "(xxx) yyy-zzzz" format.
*
* Intercept and replace the method used by android's BT to create a
* vCard from a phone number so that if it's an incoming vCard, use
* the older 2.1 version, and instead of pulling in all the phone
* numbers and emails for the contact, just stick the raw originator
* phone number (unformatted) into the vcard with a name.
*
*/
try {
Class<?> CBluetoothMapbMessage = XposedHelpers.findClass("com.android.bluetooth.map.BluetoothMapbMessage", lpparam.classLoader);
try {
findAndHookMethod("com.android.bluetooth.map.BluetoothMapContent",
lpparam.classLoader,
"setVCardFromPhoneNumber",
CBluetoothMapbMessage,
String.class,
boolean.class,
new XC_MethodReplacement() {
/*
* Most of the replaced method is identical to the original in
* AOSP, with the exception of if the 'incoming' flag is true.
* In that case, set the only phone number for the card as
* whatever was passed in, and leave the vcard in 2.1 format
*/
@Override
protected Object replaceHookedMethod(MethodHookParam param)
throws Throwable {
String contactId = null, contactName = null;
String[] phoneNumbers = null;
String[] emailAddresses = null;
Cursor p;
String phone = (String)param.args[1];
boolean incoming = (boolean)param.args[2];
ContentResolver mResolver = (ContentResolver) XposedHelpers.getObjectField(param.thisObject, "mResolver");
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,
Uri.encode(phone));
String[] projection = {Contacts._ID, Contacts.DISPLAY_NAME};
String selection = Contacts.IN_VISIBLE_GROUP + "=1";
String orderBy = Contacts._ID + " ASC";
// Get the contact _ID and name
p = mResolver.query(uri, projection, selection, null, orderBy);
if (p != null && p.getCount() >= 1) {
p.moveToFirst();
contactId = p.getString(p.getColumnIndex(Contacts._ID));
contactName = p.getString(p.getColumnIndex(Contacts.DISPLAY_NAME));
}
p.close();
// Bail out if we are unable to find a contact, based on the phone number
if (incoming || (contactId == null)) {
phoneNumbers = new String[1];
phoneNumbers[0] = phone;
XposedHelpers.callMethod(param.args[0], "addOriginator", contactName, phoneNumbers, emailAddresses);
} else {
// Fetch all contact phone numbers
p = mResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",
new String[]{contactId},
null);
if(p != null) {
int i = 0;
phoneNumbers = new String[p.getCount()];
while (p != null && p.moveToNext()) {
String number = p.getString(
p.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
phoneNumbers[i++] = number;
}
p.close();
}
// Fetch contact e-mail addresses
p = mResolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",
new String[]{contactId},
null);
if(p != null) {
int i = 0;
emailAddresses = new String[p.getCount()];
while (p != null && p.moveToNext()) {
String emailAddress = p.getString(
p.getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS));
emailAddresses[i++] = emailAddress;
}
p.close();
}
XposedHelpers.callMethod(param.args[0], "addRecipient", contactName, contactName, phoneNumbers, emailAddresses); // Use version 3.0 as we only have a formatted name
}
return null;
}
});
} catch (NoSuchMethodError e) {
XposedBridge.log("ERROR: Unable to find method com.android.bluetooth.map.BluetoothMapContent.setVCardFromPhoneNumber");
}
} catch (ClassNotFoundError e) {
XposedBridge.log("ERROR: unable to find class com.android.bluetooth.map.BluetoothMapbMessage");
}
}
}
Edit: This bug has been submitted to google as https://code.google.com/p/android/issues/detail?id=70160. I'd submit a full fix to them in gerrit, but I really don't want to see it ignored by google for 2 years, and then marked as "won't merge", "already fixed" or somehow ignored. Again.
As I mentioned, I wasn't able to test it on any kitkat device that is AOSP or AOSP based (cyanogenmod, omnirom, etc), so I'd appreciate any feedback on if it works on those. (For AOSP, the specific device is less important than the specific firmware name and version.)
thanks
Gary
Hi!
I tried this on my Sony z1 running 4.4.2 in the hope that it would fix the bluetooth issue that I have with my car audio system.. In that it pairs of and I get the call logs bit it will not download the phonebook to the car audio.. I tried it but it did not work.. Oh well thanks for the module anyway... Is there anything that you could suggest that could resolve this?
Regards,
Alan
nalab1 said:
In that it pairs of and I get the call logs bit it will not download the phonebook to the car audio..
Click to expand...
Click to collapse
This module could only fix the specific situation I described in the original post. The MAP code is very isolated from the phonebook code...
Not sure if there's anything I can suggest to resolve the problem your having...
Take care and good luck...
Gary
Sent from my HTC One_M8
Uconnect Fix
Does this fix the problems with only AOSP, or will it work on stock rooted devices as well? I have a 2012 Dodge with the 430N RHB. I've had messaging problems and "phone call completed" error since the 4.4.2 update. I appreciate the code, and I'm sure many others will find this post helpful as well.
garyd9 said:
This module could only fix the specific situation I described in the original post. The MAP code is very isolated from the phonebook code...
Not sure if there's anything I can suggest to resolve the problem your having...
Take care and good luck...
Gary
Sent from my HTC One_M8
Click to expand...
Click to collapse
Hi Gary,
Thanks for your reply. Shame it didn't fix my problem.. It was worth a try though, as I have tried lots of things and nothing seems to work... ts strange that Google screwed it up in 4.4.2 when it was working perfectly in 4.2.2... Perhaps the developers ought to try regression testing their code....
Regards,
Alan
nalab1 said:
strange that Google screwed it up in 4.4.2 when it was working perfectly in 4.2.2... Perhaps the developers ought to try regression testing their code....
Click to expand...
Click to collapse
Unless your using pure AOSP on your device, you can't assume that it was Google that broke it. In fact, with bluetooth code, it appears that many non-nexus (and non-AOSP) devices are running code very dissimilar to AOSP in kitkat. I was actually surprised to see that the LG G2's bluetooth module was extremely similar to AOSP.
Take care
Gary
garyd9 said:
This module could only fix the specific situation I described in the original post. The MAP code is very isolated from the phonebook code...
Not sure if there's anything I can suggest to resolve the problem your having...
Take care and good luck...
Gary
Sent from my HTC One_M8
Click to expand...
Click to collapse
garyd9 said:
Unless your using pure AOSP on your device, you can't assume that it was Google that broke it. In fact, with bluetooth code, it appears that many non-nexus (and non-AOSP) devices are running code very dissimilar to AOSP in kitkat. I was actually surprised to see that the LG G2's bluetooth module was extremely similar to AOSP.
Take care
Gary
Click to expand...
Click to collapse
The reason I said it was Google that screwed it up is that there are a lot of people having the same problems that have a Nexus 4/5 and that runs pure Google android....
Regards,
Alan
SickPhone4X said:
Does this fix the problems with only AOSP, or will it work on stock rooted devices as well? I have a 2012 Dodge with the 430N RHB. I've had messaging problems and "phone call completed" error since the 4.4.2 update. I appreciate the code, and I'm sure many others will find this post helpful as well.
Click to expand...
Click to collapse
That's a trick question. This fixes one (and only one) very specific issue on any device that's using the same code as Google has published for AOSP kitkat 4.4.2.
I have no idea whatsoever if any given device's firmware is based on AOSP or based on some other bluetooth code. (I've only confirmed that the bug exists in AOSP and the LG G2 firmware... and you didn't even mention which device you have.)
For your Dodge radio, the "SMS" support in the radio might announce something like "New SMS message from XXXX" when you get a new SMS. If the SMS came from a person you have in your contact list, "XXXX" should be replaced by that contact's name. With the bug that this fixes, "XXXX" will always be replaced with something like "unknown number" (even if the message originated from someone in your contact list.)
IF you have that issue, you can try this module to see if it resolves the problem. If the problem goes away (and it announces the proper message originator), then this applies to your device. If, on the other hand, it doesn't fix the problem, then this fix won't help you. (In that case, you'll likely see one or more errors in the xposed log and you can uninstall the module. It won't HURT anything to try it.)
Note that this module has nothing to do with phone calls, phone books, etc. It's ONLY related to SMS sender info.
Take care
Gary
Tried this on my Galaxy S5 with my Jeep 430N. No go so far, still getting "no number available" for every person.
Sent from my SM-G900V using XDA Premium 4 mobile app
thuddome said:
Tried this on my Galaxy S5 with my Jeep 430N. No go so far, still getting "no number available" for every person.
Click to expand...
Click to collapse
Can you post/attach a copy of the xposed log when this module is active? That should let me know if the module was able to hook the methods it expected or not.
thanks
Gary
garyd9 said:
Can you post/attach a copy of the xposed log when this module is active? That should let me know if the module was able to hook the methods it expected or not.
thanks
Gary
Click to expand...
Click to collapse
-----------------
May 29, 2014 3:01:05 PM UTC
Loading Xposed v54 (for Zygote)...
Running ROM 'KOT49H.G900VOYU1ANCG' with fingerprint 'Verizon/kltevzw/kltevzw:4.4.2/KOT49H/G900VOYU1ANCG:user/release-keys'
Loading modules from /data/app/mobi.xperiacle.xposed.mod.xbatterythemer-1.apk
Loading class mobi.xperiacle.xposed.mod.xbatterythemer.XMod
Loading modules from /data/app/org.garyndenise.xposed.btsmsmapfix-1.apk
Loading class org.garyndenise.xposed.btsmsmapfix.BTSmsMapFix
Loading modules from /data/app/com.botsone.higoogle-1.apk
Loading class com.botsone.higoogle.HiGoogle
Loading modules from /data/app/pl.suzume.xposed.samsungaltsymbols-1.apk
Loading class pl.suzume.xposed.samsungaltsymbols.SamsungAltSymbols
Loading modules from /data/app/com.oasisfeng.greenify-2.apk
Loading class com.oasisfeng.greenify.pro.FrameworkPatch
Loading class com.oasisfeng.greenify.pro.SettingsPatch
Loading modules from /data/app/ccc71.at.free-4.apk
Loading class ccc71.at.xposed.at_xposed_enabled
Loading class ccc71.at.xposed.at_remove_battery_icon
Loading class ccc71.at.xposed.at_remove_low_battery_warning
Loading class ccc71.at.xposed.at_apps
Loading class ccc71.at.xposed.at_fix_mnt_asec
Loading modules from /data/app/ma.wanam.xposed-7.apk
Loading class ma.wanam.xposed.Xposed
Loading modules from /data/app/com.mohammadag.xposedledcontrol-1.apk
Loading class com.mohammadag.xposedledcontrol.LedControlMod
Loading modules from /data/app/com.gertlily.xposed.touchwiz-1.apk
Loading class com.gertlily.xposed.touchwiz.ActivitySQBar
Loading modules from /data/app/com.gsamlabs.xposed.mods.enablebatterystatspermission-1.apk
Loading class com.gsamlabs.xposed.mods.enablebatterystatspermission.HookGetStatisticsMethodCall
Loading modules from /data/app/net.thinkindifferent.dataconnectioniconfix-1.apk
Loading class net.thinkindifferent.dataconnectioniconfix.DataConnectionIconFix
Loading modules from /data/app/ma.wanam.youtubeadaway-2.apk
Loading class ma.wanam.youtubeadaway.Xposed
Loading modules from /data/app/com.hunterx.pandorapatcher-1.apk
Loading class com.hunterx.pandorapatcher.Patches
Loading modules from /data/app/uk.co.villainrom.pulser.allowlongsms-1.apk
Loading class uk.co.villainrom.pulser.allowlongsms.AllowLongSMS
Hooking: android from /data/data/ccc71.at.free/xposed/at_crystal_apps
Hooking: android from /data/data/ccc71.at.free/xposed/at_sd_apps
XBatteryThemer: xbatterytheme.kmokhtar79.darkblueglass
[SamsungAltSymbols] INFO: Initializing hooks...
[SamsungAltSymbols] ERROR: com.diotek.ime.implement.view.KeyboardView#setSecondarySymbolStatus(int)#exact
[SamsungAltSymbols] INFO: Hooked succesfully!
Loaded app: com.vlingo.midas
---------- Post added at 09:10 AM ---------- Previous post was at 09:07 AM ----------
garyd9 said:
Can you post/attach a copy of the xposed log when this module is active? That should let me know if the module was able to hook the methods it expected or not.
thanks
Gary
Click to expand...
Click to collapse
I have not deleted the pair and re paired the device. Do you think that's necessary? I will try just in case.
thuddome said:
I have not deleted the pair and re paired the device. Do you think that's necessary? I will try just in case.
Click to expand...
Click to collapse
That's not needed. I don't see any error from my module, which indicates that either the bluetooth package was renamed by samsung, or that something else entirely is going on. I'll try to remember to repackage a new version with excess logging for you tonight to help diagnose the issue.
(I should warn you, however, that I'm married with kids, etc - so I might not get a chance to do it until the weekend.)
Take care
Gary
garyd9 said:
That's not needed. I don't see any error from my module, which indicates that either the bluetooth package was renamed by samsung, or that something else entirely is going on. I'll try to remember to repackage a new version with excess logging for you tonight to help diagnose the issue.
(I should warn you, however, that I'm married with kids, etc - so I might not get a chance to do it until the weekend.)
Take care
Gary
Click to expand...
Click to collapse
Thank you my friend, I completely understand. This has been going on since my S3 phone, so what's another hour, week, month... hehe :highfive:
I tried some of the bluetooth apps on playstore with no success. This has been frustrating, the Jeep radio has contact pics, etc and none of it works. I can have it read texts and use the bluetooth phone of course but nothing with contacts works.
I'm a techy (infrastructure architect), let me know if you need anything from me. Maybe I should learn some of this stuff...
BTW, Galaxy S5 Dev Edition, rooted, stock 4.4.2 image - MyGig-430N-RHB-Firmware 50.xx.xx
thuddome said:
This has been going on since my S3 phone
...
... the Jeep radio has contact pics, etc and none of it works. I can have it read texts and use the bluetooth phone of course but nothing with contacts works.
Click to expand...
Click to collapse
S3? Galaxy S3? Which version of android? (My wife had a SGS3 running the original ICS firmware and it worked perfectly for her without any mods needed.)
Your Jeep's 430 has contact pics? Now I'm really confused... This is the uconnect 430 head unit, right? I wasn't aware of ANY on-screen contact pics or even on-screen phone book for this head unit. In fact, it's always annoyed me that my wife's head unit didn't DISPLAY the phonebook, but could only be interacted with verbally...
Also, assuming it's the same uconnect 430 that I'm thinking of, if the phonebook itself isn't downloading properly to the radio (as you seem to describe) then this SMS MAP module can't work.... Even if this module sends the proper originator phone number for an SMS message, if there isn't a matching phone book entry already in the radio, then it'll always announce an unknown sender.
So, I guess we should take a couple steps backwards and re-assess the problem. First, I need to know if your phone book is even properly downloading into the radio head unit. Without that, SMS messages will always be announced as unknown (and this xposed module can't fix that.)
garyd9 said:
S3? Galaxy S3? Which version of android? (My wife had a SGS3 running the original ICS firmware and it worked perfectly for her without any mods needed.)
Your Jeep's 430 has contact pics? Now I'm really confused... This is the uconnect 430 head unit, right? I wasn't aware of ANY on-screen contact pics or even on-screen phone book for this head unit. In fact, it's always annoyed me that my wife's head unit didn't DISPLAY the phonebook, but could only be interacted with verbally...
Also, assuming it's the same uconnect 430 that I'm thinking of, if the phonebook itself isn't downloading properly to the radio (as you seem to describe) then this SMS MAP module can't work.... Even if this module sends the proper originator phone number for an SMS message, if there isn't a matching phone book entry already in the radio, then it'll always announce an unknown sender.
So, I guess we should take a couple steps backwards and re-assess the problem. First, I need to know if your phone book is even properly downloading into the radio head unit. Without that, SMS messages will always be announced as unknown (and this xposed module can't fix that.)
Click to expand...
Click to collapse
I have a 2012 Rubicon, with the 430 and the "older" Uconnect, not the new one that connects to the internet through the phone. When I pair it, it says it's downloading the phone book. I can see this if I hit the phone button right after pairing. It will say "Downloading Phone book". If I go in and have it pull up the phone book it will read me the names.... I've also tried adding favorite contacts or whatever it calls them, where the 430 has you send it contacts via bluetooth and that didn't change anything either. When I get an incoming call and the little white square pops up it will show the person's name, not sure if that's call id or from the phonebook on the 430.
When an incoming call comes in it pops up the screen (when in the phone screen) and there's what I assume is a contact picture but it just has the Jeep logo.
Let me go re-pair and manually download the phonebook and see if that makes any difference. Kind of start over from scratch, you got me thinking... that's scary
thuddome said:
I have a 2012 Rubicon, with the 430 and the "older" Uconnect, not the new one that connects to the internet through the phone.
Click to expand...
Click to collapse
I didn't even know there was a newer or older one. My wife has a 2013 Chrysler MommyMobile (town and country) with the uconnect 430 (garmin nav.)
Just so I know that we're talking about the same thing... let me know if pairing the phone is similar to what I describe: There's ZERO visual interface to this procedure and it's all done via voice commands. Even the pairing PIN number must be said verbally. It identifies each of your phones with a voice tag (which is just a recording of you identifying the phone.) Does that sound right?
In fact, here's a webpage for the system my wife has: http://www.driveuconnect.com/system/2013/chrysler/town_country/touch430nrhb/
That page has a video on the 'phone' tab that shows the pairing stuff.
thuddome said:
When an incoming call comes in it pops up the screen (when in the phone screen) and there's what I assume is a contact picture but it just has the Jeep logo.
Click to expand...
Click to collapse
I don't think it's a contact photo, but always a jeep/dodge/chrysler logo.
garyd9 said:
I didn't even know there was a newer or older one. My wife has a 2013 Chrysler MommyMobile (town and country) with the uconnect 430 (garmin nav.)
Just so I know that we're talking about the same thing... let me know if pairing the phone is similar to what I describe: There's ZERO visual interface to this procedure and it's all done via voice commands. Even the pairing PIN number must be said verbally. It identifies each of your phones with a voice tag (which is just a recording of you identifying the phone.) Does that sound right?
In fact, here's a webpage for the system my wife has: http://www.driveuconnect.com/system/2013/chrysler/town_country/touch430nrhb/
That page has a video on the 'phone' tab that shows the pairing stuff.
I don't think it's a contact photo, but always a jeep/dodge/chrysler logo.
Click to expand...
Click to collapse
Yeah that's it, on my Jeep it's a module in the center of the dash clear at the bottom under the panel with the net on it. The reason I know there's a new one is because I logged into Jeep's website one day and it had this icon the said "disconnected" and it said learn how to become connected. That took me to a page that explained that my uconnect was not connected but if I got the new uconnect it would connect to the internet through my phone. I ended up calling uconnect and they said sorry, won't work with the 430N.
So interesting thing just happened, when I wiped the phone book, pairing, everything and then re-paired it beeped on my phone for access to the contacts and call log, then a minute later beeped again for access to sms. I tried sending a text to myself and let the 430 pop up and announce, again it says "no number available". so then I created a new entry on the 430 with voice commands for myself. and repeated test, still says "no number available" so that would tell me it's how the phone is sending the number for the SMS alert. With a phonebook entry created on the 430 itself the phonebook entry would have to be in the correct format. It does provide names for callers when they call me so this seems to only be when I receive sms. Did the same thing on Galaxy S4 and I don't think my S3 would do sms to my Jeep at all. Can't remember.
thuddome said:
...it beeped on my phone for access to the contacts and call log, then a minute later beeped again for access to sms.
Click to expand...
Click to collapse
Perfectly normal. On some phones, it might actually prompt 3 times: One for the phonebook, one for call history, and a third time for message access. (On the other hand, I've seen it only prompt once in some cases.) Typically, you'll check a box that says "don't ask again" (or "remember answer" or something like that) and then tap the button allowing access.
thuddome said:
... it says "no number available"....
Click to expand...
Click to collapse
Okay, when I get home tonight, I'll try to repackage with some debugging info. I'll spam the xposed log with positive indicators when the hook is installed, and with some debug info each time the hook is called. It won't SOLVE anything, but at least it will provide some hints as to what may (or may not) be going on.
Take care
Gary
@thuddome, I've uploaded a version 1.0.debug of the module to the xposed repo. It's flagged as "Experimental" (because it can spam the xposed log.) To get it, go into the xposed installer, tap on "download", find "BTSMSMapFix" and tap it...swipe from right to left a couple times until you see the "settings" page, and change that to "experimental".
You should then be able to download the updated 1.0.debug version. After ensuring that it's selected, reboot so it takes effect, and then try again with your head unit.
Here are some key things to look for in the xposed log:
BTSmsMapFix successfully hooked setVCardFromPhoneNumber -- this means that the hook took place. If you don't see this line, it means that Samsung renamed the package from the standard "com.android.bluetooth" (which wouldn't surprise me.)
BTSmsMapFix set originator phone number to XXXXX -- You should see this after getting an incoming SMS message while your phone is connected to your head unit. "XXXXX" should be replaced with a phone number that starts "+1" (Assuming your in the US), and then 10 more digits. (If you post your log, please leave the +1 in there, but remove the rest of the phone number.)
BTSmsMapFix reverting to original code with incoming set to (true|false) -- You might see these, but hopefully not when you get a new incoming SMS.
Take care
Gary

Categories

Resources