Izgubili ste kontakte iz Android smartphonea?
Nije rijetka situacija da korisnik Android smartphonea izgubi kontakte iz telefonskog imenika. Kvar smartphonea, gubitak, krađa, resetiranje na tvorničke postavke i slično, samo su neki od razloga gubitka kontakata.
Na žalost, dosta korisnika nema konfiguriran automatski backup kontakata na Google korisnički račun, ili su iz raznih razloga kontakti bili isključivo u memoriji uređaja nepovezani s Google korisničkim računom.
Međutim, ukoliko se koristi Viber, postoji mogućnost da se vrate kontakti. Naime, Viber sve kontakte kopira u svoj imenik, i to u lokalnu SQLite bazu podataka.
Jednu takvu situaciju (s preko 2000 vraćenih kontakata) sam riješio na način opisan u nastavku, pa možda još nekome bude od koristi. Na internetu se može naći raznih konvertera u vCard format, ali niti jedan od nađenih nije odgovarao situaciji i potrebama pa sam napisao svoj.
Pretpostavke
Ovo je - za sada - rađeno za samo jedan slučaj, tako ne mogu jamčiti da je skripta primjenjiva za sve slučajeve bez prilagodbe.
U ovom slučaju su polja za naziv kontakta bila ili prazna (kontakt je vjerojatno imao samo naziv tvrtke ili slično) ili su imala ime i prezime spojene u jedno polje, te telefonski broj u punom formatu tipa +3859xxxxxxx. Drugih podataka nije bilo, a više brojeva za isti kontakt bilo je odvojeno za zaseban zapis po svakom broju.
Presudno je bitno ovaj postupak odraditi prije nego se Viber sinkronizira s novim praznim imenikom, jer se inače gube prethodni podaci iz baze.
Postupak
Postupak se svodi na ova 3 koraka:
- donošenje baze iz Vibera
- eksportiranje podataka iz baze i konverzija u vCard 2.1 format zapisa imenika
- importiranje imenika u smartphone
Baza podataka iz Vibera
Ukoliko već nemate instaliran Viber na računalu, to možete učiniti i sada jer će Viber povući kopiju vaših podataka s Viberovih servera.
Na računalu se baza podataka nalazi u home direktoriju korisnika:
.ViberPC\+3859xxxxxxx\viber.db
Radi se o SQLite3 bazi podataka i nju kopirajte u neki radni direktorij.
Konverzija podataka u odgovarajući format
Skripta za konverziju može se preuzeti s GitHub repozitorija, a sastoji se jedne glavne bash skripte koja poziva još dvije pomoćne awk skripte.
Konverzija je prilika da neke stvari u imeniku čak i bolje urede, npr.
- spajanje više brojeva u isti kontakt
- dodjeljivanje tipa telefonskog broja (mobilni i slično), koliko je to moguće
Nakon što se u radni direktorij kopira baza viber.db i spomenute 3 skripte, konverzija se pokreće s:
./viber2vcf.sh
nakon čega u istom direktoriju dobijamo imenik-sve.vcf u vCard formatu.
Importiranje konvertiranih podataka u smartphone
Gotovu datoteku imenik-sve.vcf prenesemo na smartphone na bilo koji način (Dropbox, Pushbullet, mailom...) i pokrenemo "uvoz" podataka u imenik.
Potrebno je voditi računa da importiranje (ili "uvoz") imenika radi na način da nove podatke dodaje postojećim. Ukoliko je u trenutku importiranja imenik smartphonea prazan, to nije bitno.
Međutim, ukoliko imate neke podatke koji su ostali u SIM kartici, koji su uneseni ručno ili koji su doneseni iz Google računa, onda postoji mogućnost da će se neki podaci duplicirati. U tom slučaju potrebno ili potpuno isprazniti imenik prije importiranja (napravite eksport prije toga!) ili ručno popraviti duplikate.
Nedostaci
Na žalost, ostale podatke o kontaktima poput fizičke adrese, mail adrese i drugi, nije moguće vratiti jer ih Viber ne kopira u svoj adresar. Međutim, dosta programa i servisa sami dopunjuju adresar ostalim podatcima povezujući ih preko relefonskog broja.
Također, ovako jednostavan program ne zna što je točno ime, što prezime, što naziv tvrtke i slično, pa naziv kontakta ne može u svim slučajevima najbolje složiti.
Nadalje, ovisno koji se podaci o nazivu kontakta unesu, moguće da Viber ne prenese ništa od imena ili iz nekog drugo razloga ostavi polje naziva prazno. U tom slučaju ostat će samo broj, ali bolje i samo broj čiji će se vlasnik vjerojanto naći i na neki drugi način, nego ga izgubiti.
Zaključak
Nadam se da ovo nekome pomoći, kao što je i ovaj korisnik bio više nego zadovoljan uspješnim vraćanjem svih ~1500 kontakata s preko 2000 telefonskih brojeva, neovisno o prije navedenim nedostacima.
Bez obzira na ovo, ostaje preporuka svim korisnicima da si svakako konfiguriranju automatski backup kontakata i drugih podataka, ili da ih na bilo koji drugi način povremeno pohranjuju na dodatnu lokaciju.
Skripta je opensource, dostupna svima na slobodno korištenje i nadogradnje.
Ukoliko bude interesa od strane korisnika koji nisu vični Linuxu ili ovakvim postupcima, mogao bih za ovo napraviti jedan mali web servis koji to napravi brzo i jednostavno bez ikakvog naprednijeg znanja.