Fixing IPhone Contacts on Pixel Xl 2, and Pixel 2 - Google Pixel 2 XL Guides, News, & Discussion

2 of my family members switched from iPhone to the Pixel 2 XL and one to the smaller Pixel 2. All three have encountered a problem with iPhone contact imports. When trying to send a text via Google Assistant to certain contacts there will be an "SMS not sent error". Upon downloading the google.csv file containing their contacts I found the issue. Certain phone numbers that have the area code in parentheses (xxx) xxx-xxxx use a non-breaking space (hex code A0) which baffles the GA when sending a text. Here is a simple solution for those on Unix-like operating systems which fixes this issue.
Download google.csv from contacts.google.com. (hit export)
Open the google.csv in Vim
type the following
Code:
:%!xxd
check to see if your 00's are leading are trailing. That is to say if your file is ordered 00xx, or xx00
now replace all A0 following a closing parentheses with 20
Code:
:%s/2900 A000/2900 2000/g
(move the 00 in front of each xx if your 0's are leading.)
Code:
:%!xxd -r
Code:
:wq
now delete all your contacts from contacts.google.com and import modified google.csv
All done errything is fixed. You can do the same thing a lot more easily with a GUI hex editor if you happen to have one. Just find and replace all. :good:

Related

contacts to sim: isues

Hello,
I'm trying to transfer my contact list to my sim card, but experience issues. The sim manager shows that the max length for the name is 14. The setting for multiple numbers is such that it appends e.g. "/H" or "/W" for respectively home and work numbers.
However, many of the names in my contacts are longer than 14 characters; when applying contacts to sim, it transfers the names and numbers, truncates the name at 14 characters, and omits the "/H" or "/W" indication if the name is too long.
Is there a way to avoid this?
(htc tytn, official Windows Mobile 6.0)
Thanks!
Jörg

Another Bug: SIM Manager

G'day all,
Since my HD2 is suffering literally from all the bugs mentioned here (SMS not sending, volume rocker changes its behavior in Audio Manager and youTube) I would like to add another anomaly which might be a bug.
Especially interesting for those amongst us using a rSAP Bluetooth car handsfree which can only read out SIM contacts
I am using a T-Mobile SIM card (latest generation) which can store 150+ entries.
To copy Pocket Outlook contacts to SIM the HD2 gives you two options:
1.) Open contact list, go to Menu, open SIM Manger and choose "Import SIM Contacts". You will get a list presented with all your contacts and according tickboxes which contacts to transfer: Works, but has a significant downside: if you have stored several TelNo's under one name, and the name is longer than the SIM's name capability, it will cut off letters. To give you an example: if you have a work and a mobile number of John Smith, the entries on the SIM will be Smith, John/W and Smith, John/M. If your chosen candidate's name is Jonathan Westminster, it will read Westminster, Jon on the SIM and yes, you are right, no more space for the /M or /W. So what happens during the bulk copy process is this: the application converts Jonathan Westminster Work into Westminster, Jon and copies the contact to SIM. Now Jonathan Westminster Mobile is converted to Westminster, Jon and the copy process does exactly what you would expect: it prompts that this contact already exists on the SIM. Now you have two options; "ignore" (contact with mobile number does not get copied) or you say "overwrite" with the obvious effect that your work number gets deleted. Showstopper.
There is a way it could work much nicer:
2.) Open a contact in Pocket Outlook, go to Menu and choose "Store contact on SIM". Now you get a selection menu of all existing TelNos of this contact and with this method the "cut name to size" works as it should, so Jonathan Westminster get copied as Westminster, J/W and Westminster J/M.
BUT:
After I had copied exactly 50 numbers to SIM with method No 2 (note: my SIM can store 150+ entries), the transfer process reports back "0 contacts transferred" while copying the 51st number. If the copy process would not have copied more than 50 contacts, this would be a bug on its own but what it actually did with contact No 51 (and all that followed) is this: it copied Jonathan Westminster 11 times to the SIM using this format:
W /W
We /W
Wes /W
West /W
Westm /W
.
.
Westminster /W
W /M
We /M
Wes /M
West /M
.
.
Westminster /M
Can someone please check whether your copy to SIM pocedure on the HD2 is showing the same strange behavior?
If yes, we have another bug.
Thanks for taking the effort.
GZ

Export unicode contacts to SIM

Hello,
I've run into this problem on every WM device I found: I have my outlook contacts with non-ascii characters in names (Romanian characters should it make a difference). Every now and then I need to leave my HTC Touch 2 at home and walk around with a $20 phone (kayaking or mountain climbing are such occasions). Obviously, having the ability to save all my contacts on the SIM to have them on the cheap expendable phone, would be much desired. However, when I try to export to SIM, I get an error for every of the non-ascii names - that it is "too long" for the SIM capabilities - and the contact is skipped. Is there such an app that can handle transferring unicode contacts to SIM (automatical conversion to ASCII or just replacing non-ascii characters with question marks is totally acceptable, as long as a recognizable form of the name ends up on the SIM).
Thanks,
Dinu
Ideas? Anyone?

[Q] Backup call logs with durations?

Android can save maximum 500 call logs. Is there any way to make that unlimited?
If not, i need to backup call logs, and call durations. For example, incoming call from Jack, 5:12 minutes.
Do you know any applications for that please?
Any suggestions?
The only solution i can figure is to backup them regularily with mybackup or titanium backup, and then rename the backup file according to day. I hope you can get better answers to this question.
Sent from my Derp using XDA Herp
Did you tried querying raw database?
After googled, I found that call log are stored in 'calls' table of /data/data/com.android.providers.contacts/databases/contacts2.db database.
My call log does not reach 500 yet, so I don't know if android will deleted call logs to remain last 500 call logs or stored all call logs but just display last 500 entries. You can check your database to see if all the call logs are still there.
Mine is like the following:
Code:
# Open the database
sh-4.2# sqlite /data/data/com.android.providers.contacts/databases/contacts2.db
<om.android.providers.contacts/databases/contacts2.db
SQLite version 3.7.2
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
# Let the select query display column name too
sqlite> .headers on
.headers on
# Show total call log count, mine is 145, does not reach 500 yet
sqlite> select count(*) from calls;
select count(*) from calls;
count(*)
145
# Show earlies 10 call log entries (oops, I changed call party name for privacy issue)
sqlite> select * from calls limit 0,10;
select * from calls limit 0,10;
_id|number|date|duration|type|new|name|numbertype|numberlabel|cnapname|subscription
1|666181|1323919838318|187|1|1||0|||
2|61399|1324002864088|34|2|1|==private name==|3|||
3|658|1324004055519|63|1|1||0|||
4|658|1324004452603|52|1|1||0|||
5|10086|1324146188029|19|2|1|中国移动客服热线|7|||
6|25979542|1324182193631|0|2|1|笋岗 鲜粉人家|7|||
7|25979542|1324182235209|36|2|1|笋岗 鲜粉人家|7|||
8|25979542|1324211109332|34|2|1|笋岗 鲜粉人家|7|||
9|02995500|1324262414446|69|1|1||0|||
10|10086|1324554661852|25|2|1|中国移动客服热线|7|||
sqlite> .exit
.exit
sh-4.2#
Before querying raw database like that, you need
1. rooted
2. copy the 'sqlite3' command line tool from Android SDK emulator
3. install a terminal application, or use 'adb shell' to run those commands
==update==
hmm, I did a test in Android SDK Emulator, inserted 600 call logs into 'calls' table, and dialer can show these 600 call logs.
Code:
for ((i=101; i<=700; i++)); do sqlite3 /data/data/com.android.providers.contacts/databases/contacts2.db "insert into calls(number,date,duration,type,new,name,numbertype,numberlabel) values('$i',1323919838$i,$RANDOM%300,2,0,'name $i',1,'')"; done
lovetide said:
Did you tried querying raw database?
After googled, I found that call log are stored in 'calls' table of /data/data/com.android.providers.contacts.contacts2.db database.
My call log does not reach 500 yet, so I don't know if android will deleted call logs to remain last 500 call logs or stored all call logs but just display last 500 entries. You can check your database to see if all the call logs are still there.
Mine is like the following:
Code:
# Open the database
sh-4.2# sqlite /data/data/com.android.providers.contacts/databases/contacts2.db
<om.android.providers.contacts/databases/contacts2.db
SQLite version 3.7.2
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
# Let the select query display column name too
sqlite> .headers on
.headers on
# Show total call log count, mine is 145, does not reach 500 yet
sqlite> select count(*) from calls;
select count(*) from calls;
count(*)
145
# Show earlies 10 call log entries (oops, I changed call party name for privacy issue)
sqlite> select * from calls limit 0,10;
select * from calls limit 0,10;
_id|number|date|duration|type|new|name|numbertype|numberlabel|cnapname|subscription
1|666181|1323919838318|187|1|1||0|||
2|61399|1324002864088|34|2|1|==private name==|3|||
3|658|1324004055519|63|1|1||0|||
4|658|1324004452603|52|1|1||0|||
5|10086|1324146188029|19|2|1|中国移动客服热线|7|||
6|25979542|1324182193631|0|2|1|笋岗 鲜粉人家|7|||
7|25979542|1324182235209|36|2|1|笋岗 鲜粉人家|7|||
8|25979542|1324211109332|34|2|1|笋岗 鲜粉人家|7|||
9|02995500|1324262414446|69|1|1||0|||
10|10086|1324554661852|25|2|1|中国移动客服热线|7|||
sqlite> .exit
.exit
sh-4.2#
Before querying raw database like that, you need
1. rooted
2. copy the 'sqlite3' command line tool from Android SDK emulator
3. install a terminal application, or use 'adb shell' to run those commands
==update==
hmm, I did a test in Android SDK Emulator, inserted 600 call logs into 'calls' table, and dialer can show these 600 call logs.
Code:
for ((i=101; i<=700; i++)); do sqlite3 /data/data/com.android.providers.contacts/databases/contacts2.db "insert into calls(number,date,duration,type,new,name,numbertype,numberlabel) values('$i',1323919838$i,$RANDOM%300,2,0,'name $i',1,'')"; done
Click to expand...
Click to collapse
So sohuld i cpy that file everyday?
I found an application, call logs backu&restore
This has two optiopns, one is adding everyday's calls to same file, other is for everyday, creating a file. First one seems sensible but i ddi not like that thing. It keeps adding everyday, i think new calls but it is hard to view it in web browser.
SMS Backup+ can backup call logs with durations to any gmail account with "Call log" stamp. So, you can see all of your call logs from your gmail account with durations and calling times. If you want you can restore your logs to phone. It also supports automatic backup.
Cursed Chico said:
So sohuld i cpy that file everyday?
I found an application, call logs backu&restore
This has two optiopns, one is adding everyday's calls to same file, other is for everyday, creating a file. First one seems sensible but i ddi not like that thing. It keeps adding everyday, i think new calls but it is hard to view it in web browser.
Click to expand...
Click to collapse
If manually backup, I'm afraid you should do that everyday.
Huawei AllBackup application has a "schedule backup" option, but maybe it does not fit your requirement, because:
1. AllBackup schedule backup created a new file for each backup. (/sdcard/HuaweiBackup/timer/Schedule_2012_02_22.zip for example)
2. The frequency option only provide Weekly and Monthly, not Daily.
I can suggest this app from the market: CallTrack by asterdroid mobile.
You can upload you current call log to your google calendar. All information are uploaded to it (even though i suggest you to creat a "call log" calendare specifically for this purpose).
sqlite db can have more than 500 calls. I just tested my own sql to get all the calls from past nandroid backups, put them into one sql script and then insert into call history. Went completely smooth.
Only thing I have to figure out onw is to how to update the numbers with contact-links to have names. But it should be easy too.
[edit]
Yeah, it was super-easy - backup all contacts (vCard), delete all contacts, restore all contacts - after this sequence, whole call log was updated for me.
[edit]
Although, I confirm my calls databases has all 500 calls max, but as I did nandroid backups rather often, I can concat all, unique them and then I have all my calls now.
I can try to see when/where database is cutted to at most 500 calls, but it may be hidden in java code, not in triggers, so I probably find nothing then, but I'm thinking about options, and surely with root there is a way to write some soft (easy one) to constantly "update" call log, when truncated.
Will be done for sure, as I need it, heheh

[MMS][SMS] how to remove incorrect canonical_addresses [email protected] from mmssms.db

Hi,
I had a problem where:
1. cell phone at 123456789 sends me an SMS
2. the incoming address displays as "[email protected]"
2. The default android messaging app would reply as SMS
3. I send the reply
4. person A never receives the reply
I fixed the problem , and am documenting it here.
This seems related to:
code.google.com android issues 1233
code.google.com android issues 9392
droidforums dot net forum droid-general-discussions 61733-callwave-com-possible-erase-all-text-history-start-over.html
Platform:
Sprint HTC HERO200
Android: 2.3.3
Circumvention:
Do not reply to SMS-as-MMS. Create a new SMS with recipient's phone number as destination.
Fix:
adb shell
sqlite3 /data/data/com.android.providers.telephony/databases/mmssms.db
select * from canonical_addresses where address like '%callwave%';
delete from canonical_addresses where address like '%callwave%';
select * from canonical_addresses where address like '%callwave%';
.exit
Explanation:
I previously used callwave.
So, the address "[email protected]" was associated in the mmssms database with the cell phone at 123456789.
Deleting this association from the database fixed the problem.
Overview of SQL statements:
1. The first "select" lists all the address records that have the string "callwave" in them.
If you are having this problem, there should be a record in the list where the address matches the problem you are having.
2. The "delete" removes all such records.
3. The second "select" searches for all such records again. This time, the list should be empty.
I hope this helps someone.

Categories

Resources