Vraćanje kontakata Android smartphonea iz Vibera

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:

  1. donošenje baze iz Vibera
  2. eksportiranje podataka iz baze i konverzija u vCard 2.1 format zapisa imenika
  3. 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.