diff --git a/ring-android/app/src/main/assets/ringtones/default.wav b/ring-android/app/src/main/assets/ringtones/default.wav
new file mode 100644
index 0000000000000000000000000000000000000000..b25755cc6c6b8f06f1c8df815af7b375c12e09d2
Binary files /dev/null and b/ring-android/app/src/main/assets/ringtones/default.wav differ
diff --git a/ring-android/app/src/main/assets/ringtones/konga.ul b/ring-android/app/src/main/assets/ringtones/konga.ul
deleted file mode 100644
index 2191150e71526b6cbd1f19a76b0ee0ce955463d5..0000000000000000000000000000000000000000
--- a/ring-android/app/src/main/assets/ringtones/konga.ul
+++ /dev/null
@@ -1,11 +0,0 @@
-�������������������������������������������������������������������������������������~����������~�������������������~������������������������~~�������������������������������~���}~{|~u}�w~z~z����iu�������k���i�z���r�j��޽�������������������������������
-I�/$�����������������������% $5Ȭ�"��A/hnѡ������������PD? ;�������MH�ů�����������;1!"#.����cLG��Z<%.=ϾO0,,%'/Cཱུ���\7.$"$))+,//58<Xʺ��������������������������������������������qA84446>AA<2//4;>>=6/*'""$*,.+&"!#(++--+++*-.3>QS���nd������������������������������������������f���\D91//.)'*.26BA84.0/5;<41;>BEAOp˼�������qѾ���������Ȼ�����������������������e����XL>B]����OD;36//153/00,)).<GOU:18>N]SNNTVTID<??ELOD:;18=?Z~������J?Lu�����[EW�_Q��Ǿ��NMWx�ֻ�����\EROe���hF<:BD��YOOT_OPOJL��������\2/,087>@GKOF�bFD??=<<B]u��˼�jSj�����û���Ⱦ���������YS��^UGO�ý����ONLMEI�������xLL6/17COYfY���ECh���Ƿ��������T@CL`v�j^�����������Ƹ�����]�Z����RDCKt�kc��������|I>>FO`����nJCCENLGbmWJ>EIWWX[`���L=>:9<=Mr�����¿����̻������LK\���_SGE@GF_��ü����rW`��������Z<77AM����o�`REOkcb�����f@?FJOMKRPN^`e}����YXg�p�������NF:7>FGGDTu���ɾ������e\����������������������vh__\RSE?:9=::=U������{^gi\m]ZjVM]��������������������dNLSloYJGIUR]���������������������unk�ʼ����MJA<;=EMY\JG?<?EC?>@GFMa�������Ľ���NKFIPV^���z������������ne]t��l^dkbUKD>?IR[ZY`ov}�tv�iXU^m�����ÿ��������d\iprX]\XPK??>>===??CJSgho���u^s����y[W_����gVWY[\n��������˾�����YOq���jXUZ����^QHDHIKNdniv�b\a~��YZWX~�������_YW_dfWScz�������������rk\dq�v`]_geo{bVQOLKO_��������j����������������^WSNDCJKMJMSs���TMGHl���������������q]Xl������\WZTKGGJJKLNMPRLNVVOJJORU\���������ſ�����������p�����m]SXXZWNMOX\_e`ZXajcZSOQ_�������kWQKMQOPR_da^Z_m_XOMMRZYZk{���������in���������������xj]ds}yrjd]cdaTTKE>ACGKS[UOO[m���zc\Z_����������������������������z`YMLU[k���sVMFHGHIMPYi|�������o��������������������������jUOLNQOJKLKLR]c]VUSVTW[et�����xhi�������qy������������������؜���407=>LS5J��������U������( ')1�������;$& 03˟�L!#,������.6����-$N�����M.*8ì���0!����:&$'G��������D))7��������K9ϫ����L(&*+8Ӿ����H>6-3H��K:)#%0����r0$#$1��q?&$.=M﫠���?-,+->ƫ�������Ȫ���H/.:Ͷ�������v.-:l�����I-.78I�ƹ���PE7469==61/358Ga���~?/$$+5Xϻ������������YC<=T޼�������ORTu�������Ͽ�����������������]@?J_Ƽ����C:55;99IohdK@FFLYlO9568;;FZ̾���QGDEI߿��þ��f�¾���������������jUM\ʽ�����YOQTR�½���wMIN����Z91..28Q�����U<-.07Q���QB9<>Eh����UJ?9=bµ����<89=�ø�����eOJD\f����h`Uj�ļ���NHJKX�¼���KC87:M����jKBFBLRT����L>?D]���vDB>>BO�Ž���J;78<I�ȿ���tnb��Ⱥ���G>;I忲���������������K<<DL�������NIMbͺ���L40/4Fa�����mD=<<J^t������yRFEN��qKDDO��������UE?F��ú���������������fJA@GV`q�SPY������mYL@61/1>CN\hg���a]_O_��[KIM^�����gIMKK\��Ƚ�������`^lml����ɽ������_HHNl����gOMDE\ndvfn���xWH?=7103EU������cMCDJWZf_bapk|f������gK?=DL�����_=4:=FOYOSQq����ټ�������˼���������ƿ�������X5--5<w�����UG<84873.,'$&(/8@BGA73-*.2?_ķ����SBGU����nH>AL�����������������������ǽ�����������������k������_D1+('(,6?KILG?;;;99:<=><;?ADPa�y^XID>=Lc�½��������ĺ������ey~����������ž����o]PQ[}������tC<78<AQc�p_^u������]J?>:<?CRYZYSOJFGKY]������jbZ]|��������������������������iYRVn�����������iWQLLQSgdz������VLIHM]^SKFFIIOOVV_b\TY^_n���ml`_UOQWp�����������~�����������������{l��������zTQXj������{{`^UMR^YONMLLS_{}kVJJJJN]j����j]NFHIOPSXUTaf~������eSRYc��������gho�����������������������������{VNZc��������pbjhZOPQPTV[[i���dYOOSY_ibh����qm\XX^]^lwx|�}y�����������������mico|��������������m`[^jonq���hYOMOUhwt|ne\^hjn�����kWV_n��ha]\Z^^\^o�������y`bn���������������nnnw���������bYZg�����u\Y^Zcl�����rs���zxmm_[Y[YNLS[^_f]NLQTg���������������p]SPRW]b|�����������������������sg_jj���������px}��ۼ������l�n�n�/0223FA34;?=;<;�÷���ƹ��������������\NNV`}XLA8679;>=<?Ol�����ȿ�������f^Od�Ⱦ��������|ROKE=?Nz����PG=;=?@AIV�����������aRPHHOd�þ������������r^RQ[m����}cYSLMMJJQ_{����ƿ�����zZMPs����������jWNHFFEJLNOMNVXTRNKFFJOZinit�����������}ssz�������������ia]_gmgeho�����������������������e][]l|�vfaYXchyr�mib^__`mehjhin��������tomnu���������oqpz�������w}nnojnwmb``is��������������{njewpp������������|gZY`hbj�����iWWURY[[cfgnwz���{svpivlp������{h`_cfp������ndmjim������yjrn^]bd���lv��������ui^^ft��������ccdgd_a]ce|��z�tu}xx{fxr�~���nyibgrqq������|��������~kilv���|r����{�����susx~�w����}niq����zdnjhcmw�������kd[\_nu��{��le^a`_^\]\^h���������{yqnro��y{����������}mnig������][aeg~~�����vu|�}�v�uqj��xj_]diq_h�����yx�zqd\\^kx�����}v|���vje_\Y[\i��������ln~�������h`j}�������|~o���ysolbicchjnqnhhmpumjw���ym_a\`^a^\fv|xy���������nkbls���������vy���oiuzy�������mi^b{�������tmkq~�������ytv���|mjhjca`dkbfcifcefix�����yxq�|qtw���zxww�������zffnn{�����������������zmorz�����������rhd^`fhijpojlqhed_^[\]\]_``br�������zk_^_f�������������{ypichz�������������{}v�������������}ufgfjkorssyswo`[[]_]]^^cfgt�������uha`agt{���������~uuonp����������������viifhflwxpwqxuwuv�������������������{wv~��yukgeeefed^a__cegu�����{��vnlo{�������xvqr������������vrrww}~wx����������}wwt�~{|���������|oihh{�����unlnty|yrvqqompz���x|oojhegmv���~yyz~�����~~tvp{������������������z}{��������zqnor������{tpphc`bckooqt�������{|yv����������{v|����zrpsrtzvnniiiimpu~������������������������~xpommntqqqkgedhly��|}vkgijpw������������������������}wumlkltv�}��~�}|~����������������������������}uvw{���|�}vnmlklkihjjkkkmv|�����}~�����~~��������������}|���������~xsw}|�~yvuvwx}�����������������}�{���zwnmpifmjlinkn��lrul���swk�l{ll�����mmp��j���������omxvoxtY�_k��jPf�����������_c>S'#
-8�N�	$�����R�������������������E50m&/-F�T�U(&#Ҧ�����������������������P3<�)$*\Z08:C()/+ />*,%$A�鷲��S�i�۬�������������������za/*3<=,!(318Z����������������������������U]UK@/..23))$ !&# %# "%=ͽ��nY]imϴ��������������������·����l9=H<D81-# !#+2.,-)))&"%+1BW�WE_ǯ����������������������������u?:0187?.+)+/24(*((,-,-,.FeZwf>?=Yо���������¹�������������j��LA<==IY�nIo<A9<J<Yd\YHG@AJ����[_S����z�ƻ���\��������OH߾�����_^CE6��{�IbC>UA>@>?�����[LOUU�����r��g������dOK?K����M�lKS>=D����[F;?;?c���\������ZǺ��ٿ������p��ƿ��I�OCS��wN91-@_osGX@:7;=<o���^Sk���������ܷ�����������ÿ��s�����S_�`MCV����WH?7<8.3;EKOOC@CSe���eMUv��ķ������׾�Ŀ��ҽ��|[NMX��Yt\@FB>:;:PFKERg]J<BcVw�����cmlOvo����aMk����LG>>���ʹ��~LM�b\\X^W|XbW`�����TNY��������iWU�`k�����LJ<?^]yKF^[�|^mTUgxf��WTBLPѼ���\��k��r�ͽ����d��������kMWXT`_u���Y_P?J?GN]REB=A?Dl�TJDLGS������������ɾ��������������������SeNFC>?768<BBIJTNOOI<<?EOg������p��������������������lWMHFgWdiYK=<=KTYg�lNLB<?Vv���iPk�Ļ����l�kZ_�ʾ������hZ��^G@EBKe�oWNNwsk�\__[�XYck���������������bUp��������������^OMLBCGORTUMMWNIGDGI[tfNFMx��û������������������miJ??ALH]aI??EMN���iMHX�����i]O]]�u�����_VKMd���PNPg�����ib�����������hO����iTIIJX]aTS\Z\e^Zbino�t`_������i]}���������nd^[f��UIORYa]x�jXSWW[UXhfp������������������x����SRKJPYaeielhd]][NSv���l��������k����`������vhx�z�vd^e^ZVf���bno\_`}db}��������������������njk����dZ_ja^beVUY[OMNOUn����������������������������cvY[Z[d_[YOICFKXyoZQS\Zt��������������������������������zUTSNNONPUSMQX]VPU^OIKMKWs����~��������������������������mz[X^UMIJHHISSLLJKKMOOQZr��������������������������{d[\f�ePKNIHLOOMOMJLOY[]d����~bs��������������������o������ma]ZXX[X\ejZUMMUPTOKMO]inmshbs}�������������������������|���f_WOOIOPOMOP~�ÿ����������������������ƻ����"#&$&&E�6%'%-7Ȫ�����������������ļ��O5'***&+&,0=?5<b�1!4:B13*%$.4;A3*%*6¹�bc����ͽ����������A,,/=�������I;49=D�ǻ���������A2+-5/*)('*'/;<;70.29M[]I?HQL<>O�;����MDB5,*$!"'0>@Ki������μ�������������������������������ŷ��������������Y>:64<CKF5/../42/,(&(*'#"$'/53.(%%',./00/.-.126C�徹��¿�������������������������������������OI=91/.,*)'%#!$%$%&'+-0357877::55=BIKSg��������������������������������������������`[MA@?CA=<<<=EJC>;:7779:==><;@@AAFo����\z������������������xfYQLKISOU_{{ddZUh�vdZNK?Nqol������dMLY\Z������zRNLHLN_ZOHFMO�fONINRVLFIMSy�h`nl_[F?ALYusenxgRik_Zlvkl�������û��Ǿ���������[\[h�������cJKTQMRRy����ucZUURKKP��q_cu_Wk\LJTn�������xUa����ƾ����������������������{�|mqo����zOMR[Rcn�[KFBFMOMLSY`^]][SJIM]op~�����~��ȿ�����_Zd����������s{[c�����������lONMWk�����WTWf�w_^YZTUT[Z|������q]\��������gZIIP^����W^]ZQNNULPY]p�p]VZi���������������������z������������{��zhypy�ma__WUNP[mrz��n^[neSKQW_�b\VNMIGIRTPPJHKPNJJO���������������������������������������_SPS[XUPQU[Z`ik�nm`VYYellf]_`eZZ]Zj��������RNMKLNTVagf^c_n���x_Za_p��������������vjdkkz������tnx�����|��b_m�|e_jeb^VKIIKLMLMU][k�����mjjd��������������zbftrb[]\XYTOORRRONMMPT\g�������������eiq}����������������m�������\S]ir{^WX]tolj`ZVWWVPQ[_\[agai|�����������������}������������{y��������tecXVQPSSV[_YW[_][]jp������w�����zomhss�����veYZTMOTWYY^k{����zj���������������������������fca\VXVSVVVWWYXRZ_YXTWZ[Z\_h���������������������������klsnkc]_binsxjnp��nh``eo�����vjb]XX\bihgoe_c`iqkhdco��������������ux�~�������}z�����{oeklm`]Z[[^bb_b^VTXZX[eb_^u��������uv���������������ykl���������yk^YTX\ky���jc^WXXWZ]]`kyxx�����r�����������������j�y��smm�x���œ���2/L���V:;�������$ 60�����)������
-	
-#ɶ���!
-#�����3ї���f&8�������F<+&6ʷ����0*:���/]���������$"'*:J�Ϭ���TFɬ��?E-'<�������8R�����Q4.&-�������79Ǭ���@+#"/E챞�����������B.=���B8Ȝ�����/9�����7%)<Ȫ����U/*(,=VSH><Vٷ������9>��������^���U:37/-,0���5-,-/,.8O�����>@˲���O������N:B����OEN�ú����X?6/,+3X����Ͻ��[PF޾���GBc�������e.+=W𿭧��D;436=X{SLFC85<JhgN>2((/:�ȱ���X<--;Fmy�������Ŵ��i9/..9Oī����{+*+2F����ϼ��o����LB@58Aį����5)!$3Mȸ���U:.-..03@�����_����hF:-.6N̽����JE?89=\�ļ�n_����������>>N�÷��kLC?GR�������d=>HQsŹ���������ν��k<47Alɹ�����MFEV�����^86=DS������C4<<iİ���O71/<W�������S:>CUƸ������]JCNڷ��J84=n������Y9..9Z�����o<9?EJ_�p���MA;<M���[F88O�º����[I41.2Do����������XL���YOKM������]MQHH^������W[���~iWJFDDHE�������W>5:Qϼ���I?<9Ht�����������jB:/.9W�Ƽ����VG=;AL������ngPc��ȼ�zC>;E�������jSLILKI`�����KHNv���bE=9;F�������A55Fb������M5,*0>�˹����OI[k��lR>;>JvϺ�����^A38=BԼ�����J:<G^�����C?EFGR����rL:>L㾾��VB426;R۽�����ND>Eo����������ſ���O=98=L]�ż����ZXS\oVQRIEFMt�¾���ZB>K^�����L768C_t������GD==??Mt����������\E>?@@D\���������PF>?FLYl^X���������Y@87?L�ž���TLFHR\�����eSMS`�����������wuqJ?:?I��ƾ����O>65?N���l��������x`D=>Bj�¼�����D@CN����TJGMe�����[XPc�������^KJIKO_�������VNMSRP\p��eVMN[{���~_^_SMSi�ļ���tIFM[��������}zml����bUURb�����mYOLOc������m^SOMZZm��zeYf������ZGBFMOZn������f\POKP[����������YSJMf���������OJHN_���������lsaQMUp���������kVPSVgo�������vZSQRVWh������jXTMKOMWo�������|oYTOQX`����������lh^[_k�x�hn����^OMVi�����{�����������SWh���������[VU_�����|VNJLTk��ona\\]i�����{_\]i��������eZZd�����re��������dYSQ\hk}���vigc[NN`�����h[Zc����������������kTOKVic�����lkcNN[cl����es�����zePV_h������oi\`kjo�i�����cP^\WYU]Xodޮ����������+/"2	>6�
	k�����NO����������������������'*'
0$'2<o0(Ī���˶��������8h�������?,|�.l���,-,"(/-'  -̼¼���������������������������y<K^'"%( '(-:J^P������������������������������b:;?1(($! ((#++7G��^�����������������������������Y<6(#"##"$%#&+/0J�Z��������������������������������BJB=.(,+)'% #&&% (/77;A8D�ɾ�������������������e�����]mYG;32GJUJ?:F;U�����������ҿ�������Ű̸�̻���\I<BK���QG7*(32.9EE>E</..?8LX_U=HcNZVHN̻��������������ǻ�����EK@=O;_���JH99?>:8i˽�eO7C�g�Ƽ�l��¾��󹹬�Ž��������QOgf7.=<>[�KE0(*+?�V??GC@N��|�Ŀ��z��ú�����μ����׿��ڿ�����e_XbW�����?@F\YmpQh��wnA;?@C551//<Lp[@H<?Xig��ȶ���Ŀ����Ż�µ���������ɽ�Ͻ���KOQH\N{��I89@@>:CLINBK=C@;BEYh;Hf���x>98G�������ZU�Ľ�ƽ���u�e�o���II?J�whYNN�������������gcQ`���T[������������hICIMzo�[GF=HIIYiSHR^TH227O`����[\]Ou�����������v������YJEON�����YT[ozoOYQ]^��]�����ɺ��ĺ�������������f�WOLA@78473765<;>@B<?<CK<@?>B?[K�ƿ���¸���������ɻ��������������WZKBJ>EKMGCB69<FLFIB;?Dc������~��������RT^Zz�Ⱦ��RKTL\ZkUGCEVOYRVWOVVCGMW����������ü���������������������flTHF@=<;8=@<7988>ENQKCBRa�n�����¼��¾������������]YP]e�[G?@JLGj�I?:AO����y`hw�my]n����]`mݿ���`���Ż�������������Z[NB>ORaNF>78;DED?@HDIKNy�����t���»�����ľ�����þ�������p[INSNLAGDCHNZh[XaTURgwYV[k�����|b����������lYO^g{s\SS[^^XRONPac^YNVMT\dy�q[f��������������ǿ���������y�hubZ^_l_f^cpZMGLKNPWXJGNZY����ve����ykr�����r]������������_��������od����_�ho�����fr�_a[_k`�d\[NMVo��idn�����������zlj�����yw�����l_TQU[jpq_W\TYWYYW[OPX_vsp���pvqj�������������������������kp�����`bcjf`YMONKMT]TLIHSV]YUWez�������������������������~^Z^j��YY_ZY\[_YT[WYXYd\g�����b�������������������fgWg�yndmshh^^]tqm�t`ZZOTT[]PPKVXZclrkj��������������ͥ���ICL����I,&$$&$ܭ�����ZF~��ô�4$ "$'�������-&$)6=ũ�]-))2浤����L('*5������4)06ֽ�����L/ (/N괶��.#%%5è��N*+/A�������C,)):O������j<3G����E. $'7K����bGLHC㻵���JB;00<Ȭ�����YKO�����>58=Qjuí���:,()),:u�̹���EE\ɾ�X1-1;���������>/1Iί����H6<>=qؿ���TF>89BOTM@<>FMb¼����F/%&5O���������������wH;=Rپ�����a?0./9c��]PC>BJ����`��ZFG\���½�f@>K绯����d<867:DȺ������biUA;@UQIBGl�����W?619P��Ǿ���KJNX`�������bMRTz��nKFJV�ž��vJLD?ESs�������]XW��WE=>?Ga��Ǹ���M@>:<ES}������r[m��r\\JFO�Ž���Z?66?W��ƽ��cNB><>Gd����������pXMAFLX�ʿ���]`OF>CMc�������h\NIV|��LHLU�����WTU]n��������VV\WWr��������������L=8<Mg�������]JFHKMS}�]ROXmr�uXblr[Pl�Ǻ���yM;<AL�ľ�����WGAARc�������~O@AOVSHEGRcɽ�����d?<<?Z�ȿ��������j]f����_OMQ\���bSO[��������_C>:<LS_r�������kRQi��WOSy������\WTLMXi�������`XHDDBBJWlw������p\G?BIm�����pgRLZn����������q\J?;?Lz�������dNFELNVW`w����������tPLHMz�¿����ZRORY^������aT[flwwhULHFJ}������XC?HR�������\?:<?O�Ϳ��������iaXHADLa�ƾ�����`@<?BO������XJCGZ`����VOU\[[�����jLHS_�����eLDAHMn�������[[UYWXcmzt���������PD<<>Hl�������`THFKSb������������\QLLh������^IDDKTd������]OJFELW����������~ZLIIFLV��������mKGGJYl������������x[MLMVk�����|eSMO\m������of^[[\d�����������_NFIL[u�������VEAAGQVem�������jURNLOT_��������\QPTm������zmlj�����o��������mcVOIHN[�������gROKIMV������������aVVYVj�������^OHISg��������o]V[lkccfkm������ZTNOYj�������r[TQVZo���������vvf]PMQWk������i[POQUZg�������xlmmgfadt���������[TOT^o��������c`_[Zj����������kZTUV_h�������mXRPS^c�������|ohc``_i���������}ia[Z_l�������whj__^_djw��������ga[_v����������}no�����������oh^\]]]_x�����wcUOMOUan������|�utsnfj����������g^[[e���������kdbejt|������qlfb^_dmnhn������d[Z^y������������wz{jd^^m������i^_^TWcr������{s~viihf�����������tnfp��������m^da�Ƶ������������������������f�m���



!T�n.*'.�����������������������/*"+,%')/B��<&P���- *8;P������������C50)""I��������ļ�������������B2*%)F������g���6)(7iU>-'+-( &-/I�����N>+% $&)%&&)+.:ر��������������������������������������������[<-()*)-47*!#&/63*%!$!!! #'4Enǿ���ʹ�����������������������������������������_�sK=,% #""!!(-9HU_NKXWVKMZǰ�����������������������������������������ʿ�����cI::40///+(&""(/250***+-../3364303/.39743.1:=Wt~�����~HS��������������������������������������eGB@ER��QY^V^NQLWSkw_O\REFF:1102029:<=FUUID@=<>>CYXw����\MT�����Ȼ���������������Ƚ�����¹������������Ļ�Ǿ��|S:658>CDHEGMG==KPONMTx������hA95467<>Ar����������Ż��������Ǽ���TL`����Ž�������WKLQX~����nKFJKMGCKMHJACUnb\TY^�VE<;98AAPf����������ǽ������cIIi����~TNMMW��ǿ��������������h[M>=>Nx����lpVQFKYVZ����m]JGECA?DBACPYk�����\OQg}�������ZKC>CMPUYedw��ƽ������u_r��Ͻ������d^u��������aUNPKEC@>>><99?\���w_f_PSSXYbr�b_���������������������cYRWowdPNSj|���������������������r��~������XOKECAFEOSQLE>=CBDDBCLNbj������������YNKKTZbr�u�������������s``����|��f\MEDJMWd`^oyo�����q]VZci����ƿ������^XQ^kn^RRPPNLFFJIA??@??HL\a�����v�����m[_n����e]��������������������go|��sWOR^j����ngZVOSYXTRVTMMTZ\YOOMU\lw����t_TV^uf_ip�����������������oyt��v�zt��dUTONWb��������v�����������������lWXOJJNNONPYccfWJGGKp������������xuwcYY[p����wc[`VOSSU[]\acee[^_\VXXW]_ik���������������������jj����dX]efi]SPQR\e`\ZZ_^YUPS[u������r^SROQVVXX]][[\nzkf[Z\]b`r����������������������������^XZ^bkolhn{�|eYWNEDEFJQ_Z[\p}���vh``_���������������}whq���������zg^USZh�����xn_RURQUW[jv��������ln����������������������yrn]VTUSROKLMNU]hpwg\\^ZZkv�t��o~ku�uz���ϯ���U4),O@��*
���������ȱ����Z6�������+���$5������%!�����
7�����m.'2��������f!D��������"@��������8-�����O$$Qâ���^:1,(9���K)9����8  `��R( *CB�����]!*E��������˪����0!(M���������/"*=�����V&%(+E��8,$")+'"  %)3L����W!
2��������¼��x��N+%*;��������K.+4O�������Ȳ����������Ⱦ�����R-,<ʩ����o(4���[@;-+,&(*))5^�����:'# 'Wǹ�����HO�ʺ��������ý�������ű�������YE8:Zǽ�����]>:8?>1%! %*7A|���5&%,38>?NYD=<Q��QAH35Uƨ�����<42B���������O>98Jժ���������VJ8/:?SŶ����:=1,&(9J�ɿ���K?80,2GWZ8/5C��^g:.244>��Ž���n?JFCMZɼ������������?3-?嶫�������x[YaU����ODLS^UK>GZVA=L]�����?%+@�ӻ���M.+),=H[\�ν���D::EKH88?Kȯ�������922=λ����������bVt˽���@=@G���D=>a�Ϳ���eN<.&$&-:?Uo�̾��zSFFUzL:8>kȿ���vB=?9=cܼ��������[MYLIO^��ҹ������?/0:I̽���WC97>x��������bOE>4,)*8BT�n�»�E,&#).4CXZIHFGK��M������λ�������������������KBBM�����H825K������7,())*7;BB:-$"6������T;;=<760+%$)*8Z�������CF�մ���������ɽ��������������������̼����I/,*+.3CM��[>/+**/57>>92.035:>A</'!"-6dȽ���qgLCJZw̿�ʿ������������¯��������Ź��������I;:78=]�����nr��T>0,('$'+18DIR|G3'"!#'-:>KI=<If������VE=;?R��ÿ����ʾ���������������������������]JNX��ĺ����`<70069:<<APUKGA<6/.+*++/2:Cr��mA4//4<SYRI?>AADOo�þ����������������ķ�������������������������zG?<958DU���`D4.,-279::;??;941/1;943568>Vt��L><;>Nzʽ���������������������������ǿ���������^NLSTo�����{YMMRSH?;6788?HHDFB<7/-04<EYZ`m[WKEKKDDLVV]y���������������������������������������������������x[IC@AGS^t�]WZPNMFE@=;;<;??DKNHC>;8:=FKMXZj����xo��������������������ǻ������������������������gUUW[cz����iWB=98=DECBC<;@EACEEDDFFMMYmt}xufZXZ\TOZy������k���¿���������������XR_����������ys������zZ]acZPOHDA?DHQ]�Ŵ�L�OsX���x�.))'')3,(*23///Qʰ���Ϸ���������������TU�}����@62211666=N��º���������U@?>B�Ƶ��������d=<;80.7E_���V>81/339:BLf^Vl���������o_f�˻�������Ǿ������jXVb�������]M>=96;>EJUk�˿�������L?@XԾ�����m_^RD><AHLJEB?>BDA@=<<<AHU^��������ʿ���������������������^SNNU]lbef�zjp����lKEHOXl������v[GCFJZ����}_SMNWSUPNIHHMU^_USRTY���������eUQh��Ŀ������s[ju������xn}���}ie_NLLOSUdbgi_gv�������}]\t�������k\_^gh`RMFJKKOXw����YJJFGKJQR\b��������������������������������lPMNPY|�����o_VNEDIJes�cgo���lUSWZUONMWjq���fTQNNPOPOY[}����m�~���������������������������ZRTp�������^TNNMJLMl��������]KKJMYgv����pibYb�~r�����doz����yzys�gUOWa�����k]TWcjkj���������������������v�t�y}s�����]QMKKOv���n\W\ab�s�����ls��ffo���o��{_UMMXaZg�����ierg_VW_g���������iiimuuuoe][Zl��������_`fl����e^NMT]ecfk�tj[XR_{�d`don����|he^[\aejr�������\WOSMU]i������ukkccpup^ZVfs���������|����tdfjh�������}gZ_l������e^_d��������p]YXZjlx���}e[XY\XY^r����ww���ylijfppq����������������g][bu�������}����������l_[Zduz������lc^YTRORY_go�m_bi_dc\[VUY`~�ohfo���������nfgv�����������������kbdmc^f��������}kfdh������������odY\aj|������h[QNQX__``^cc]`m������f\XZ^n}�����uwx�z{}���������������������ld^^as��������mafx{���������������ullhghhge\ZTPOPOOOOPT\_j������komkfi����������}~���������zvzx}����������x�������}z~y�yxqymmop|��}vc_\`fikkc^YWWZbiln����nbcjlxx��|{zvhim�����������������������������������������������~oibabr������wf`YWUTY\ejcbceifcbbgmqsmt�����|{�{�������xpmo{��������������������������������wrsyrvowz}tomhf`]YXY\binjgc^[XY^bu������pjeekw��������~�|{tzurq}��������zvm{����������������������������lfijprqorulf\[YZ[]_cmrnmdeadeghnjpw��������������������������������ynnuz����snmnty��������������������yvqmhfdaa_bghllkiljefinw�{xtztoy{����������������������|�����������yzou�y������n�Y[Tgfy���՜�����	�����
���-*���
-	
-o�����!5�����������������ȿ�?!0!+A!"'$(7"#Ϣ�������������A,_Ϋ���������NR��3!6U�(  #7Z6@�������ſ����������������������/*1>)"$*&$&%-::gϺ��������������������������I4%$&(#$%& (.?CE::�����������������������������VCA0,2451,-#%  "&%)1*-=F��T=/3߲�������������������������d��eIJBA<//$" $"))-0+)!!.>;LBFWHV�������������������������zy�i=:/3+)7:<:?1313:49FUR=9:49G�ŷ�̼�����������kw��ɭ���W;.4I?GK��MND:3EA9]5G=7ceZUXH����g�ij�����������������W^WPCoI@4(3/.342/SQL\;807BV����B׾������������������������Ke_EHB�?8*!#,2/$-&(*,,+6<A52/7eź�����������������������������_VZ<1,,/023.,,-/,+'('&$#"%.>�ǹ������˯���������������������sP�X7CH:;>7-+&,'*,2<?;/0??DANx}������ƻ����λ�������D���]oa==AH�����];7//-1:Fb�}RGS������ɿ��������Ƽ���n����e^�\_O@A=>CIDE>1.,11C�`\OBDO]���������yj���������Ƽ�������WLXNK^OOIM?60,--4=KLNEIJLSNU]Qz���ɾ�����ÿþ������������oeO_NW]SRE;533266<IZ��MFDEJ?KORVQjLkú�������������nV�jx����dOHfPTXZC@;8JLNVZWHK@:Ie���eKLN�Ϳ��������ǿ���I<JQ��Ÿ��UDLEKO[B>=@TW`����}cHGFZ~���������������������Tb��_q�����b]MA@CEFBBEJKFKVQ|����YEPU�������Ⱥ������ghX�������VKHHDE?;24=BK��_>:>E���������������dXSf�ɴ���UJKR�ÿ��VQ��������SXSEE[l�l[KCEFOT_MNYY�}_�������{������������������}ok^����LGJHIBHTROan������[SVi\Xc������������\m������UOOKLRQLVZ[]c|ex�e[KGIG]m��������i]���o��k�������r�cMNdnabdvfg����u|n�c`^g^an��kbo}j�����x�����aXUZSX|�������uq����i]n�������eUo���h��������c^XKILU^afiPLDCN[�_RYj����������������������������``gh���t^aZXNTLGE>?EHV\f��~VROO]�lhu|�����������������������wm�`nq_g_\KKKDEHJEBDEQ_jmc^yt�������Ͽ������������������ceo�_MMKIGMMLIKKIMOSNLQZ_m��f�������������������޿ʹ�����������������������������"+��-*.+Jʦ���������������������/%+,*$#*4���( ('$ (9i���-($*=ENΧ�����������EBK9,  &>������|nlѿ������������e�?<J˿��cO?:7;2/*($(7I��E3+(# '<�и����V;3)" ,/38I[`[\Y�Ƿ�����������������ò��������������������������;.*+-9O���T8,+,-0/-)##!#+1.&""')(*+*,+++,/>Kݻ�����������������������������������������n?9473553*#!&*+**,-.45504:>=>Guɽ������������������������������������������ebJNTWUMA846=FKLF=3-)'$$'),*,+)''*4?FI?HSi���������������������ſ����������Ƚ�����k_OJ>8>M]�dO@@C??FRVW^B:9:?IS_�_K;69=M\_�����OUMRY��������I=9<GMRY�v[Qn��t�cYOFIS��Ⱦ����������������������o]��bY\[SKI??GPOLGD?A?:5225876:??;;8317?NX\n�����˺�������������������������������������PC?>AAJKK?=968>>?@HM[dcgYH:97:@CW�����tj_^l^������������������������»���������;�����fH@@FMLKIDB??>AEXg{fp_QGCCKPSWSW^UI=99<Lb������eNMNck������_^bhf`_�vee^g��ɾ���������������mgl�����������������[MGIOOYqbb^^dWI?ACJNMMONMME@?<:6558>??H_���������������������������������������k]fmjZMIGGDDKNOYYb[Y[VVZOIHHKLGC@@FMPk�����NJGBCDJL]nfdb]W^WLLRZ���������¾�������ln�����nw~�c~������|gWOOR__YVXQLLE?BEJNYWTPLIJMN^akemo{������Ƽ�������hjwvk}|��jRNNONKKJKOQv��������������|o�����eVQOQ_t��������������_RNSSVTNJKMOQRUVSSORQUZfaWSOLMR_}�����������������������������������������fNJHHIKLLJFFFA@BHPX����aUUcf������������������j`ooihi~�����o_Yk�����������������p�������~icaWUX^ZZ^^ZYSNLMLHDFIKRU]^s����v�������������������k`[[q�������f]\Y[f��������������ye_ZZbiimifd^_]]a^YX[_mtg_]_q��������~sm{��������������lbimgd^]\]kmc[WSKILNOYbowqv�����������������������������������{qc\WQNOW[k}�~^TMIGGIKOSX^bffrv���m��������������������������z_^ZY\YVY^\bginj_YWZYYa^ji�oin\]XP�ngd[j����������������ƒ���7..rJ�{:ŗ������A:L:=��F*�������#
-%���(2�����[
-[�����=,�������"������	쐑��
̔����R(
#������N(1����F$6ī���,'-:L������-&*&,Ǩ����:A�������, (8J�>J�����/+- ,Xߪ����ƻ���R,!.�������5+������%!/E������<%&-I[?2/>W{�������$	�����������WU��9"&>������1"ޯ��P5+:m�������r:8O�ĸ���;+,?������m$)8������S74HL/#%=庿��������6))D��������S@FY����M?N]>../3EUrB60>_����J8?DBG\��̶����KIJN���J953<Fgҭ����>>/'(3E������i��Ź�dD-,1]������=#%8���b,##-��������a�\H:$%(-C֫����b;,&&<{�������MTI>Uľ�A5=Q�����Q5/5<ϳ�����t7268<D{�;��ȹ�����;)!#,=Ư�����A;58>AI{��~B>Iz���IMm��Y�mŲ���X5'*5V��������?376@Ln�ĺ����N4,;?KAD_�θ�������2+&)>W������nv[H?@@̷��J4/4A˵��s;4>H��ɺ���`3+(1=IYʿ������SHReJ3-/Eɯ����P84//:Iں�����EA:773/6L��ʵ����dE=+)8ؾ�����U>77?Lb�˿������];/$#->n������R=0.68@Ib��������a_�VH@9<Nɲ����J:;<Brf������K?BU����TG:7:Kĵ����R/,2>q�������.'%(5K϶�����MSJ>=?40/3E߷������N,&).=b������>48O|ž��E<Geoc�����T7/6?������V5/02?rǼ����w_IE>;I`n�t�ÿ�����O1)(-6cų�����T>505Bs��{Z^e������iQ<:Gw�����m;804;Eʽ����G<7558D|������ɿ��P>85/2<�˸�����=527?I����_AAS]ɻ����F?9<?Ea������nOW������qRKMOZk������������V@457:Fh������M6/.0:?am��������aSMBC@?FN׷����fF;<Hd�����_IKJb�����dcj������{VD96<U�������J;977BZƿ����zc_~�lYFA@>L�ƻ����Q?79?X��������dWJQx�m_U[Yo�����G?==JS�Ĺ�����E<9?E_�������i`e���TKQWjp������ZNJKW^l����iVMO`�����TQLFRm�����rH>>FP��������\Y[SMZ�����������_KKMOUdm�˿���]GBCQ[����������hTKDBFZ��������tZFCDIf��������oOLHHNVu�������x[MEFPn��������l\TX�����������n]XW_]b_m�������M@??CJb������dituj\ON^���������SMDBLg������_^UY\bw����zlj_Z]ahnw���]Wi�����sNR_����������������rXHDIRl�����q^SCCKVf����nw���tf\ZUYiy��������ePTUVay�����q�q\SZQMRYo������md^]SNs�������nT[_N^n��ܟ�����	�����짶�>[!�
-m�����&������������������ܬ��?:)K�! 'BE/7F+*�׺��ղ������^43CXױ�������S*'G�F+8BAʼ�^!'' 2иж�������������������������������~=��<3&( #,(%),2>պ�������������������������JMU����pJ>;><50+-)%+&1C}ƻ��|��Ȳ���������������������p�N�L=30401.(& #5>8?A98>ݫ�����������������������������m�QOaRn60('""%().+(#'3CFK=6:48H亭���ȿ������������g�L79=9?62'%""-76.3*/-0A;Naȿ���������������������������������lBET;;:<3-.-'!&#$.(+)'+(++++=OMQI?>JX]���������ź����]Z[IK��bK3LIDMG;8��ɺooF�\��Ŀ�ɮ���������������������Ľ�}=?@5AQC//()&##)+,6;?F;4=K�϶�������������������������ſ�SVlC85=G<:1./2/53//08:20,/;o�Ĺ�����ϼ���������������ȸ��dhOA:I?/41(,,-+,,61;9>FD:4:�fis��ź��������������������Xʽ����X?::HFQNG799083=:JLPG:69@LLOJ>AOWGF[Lr�����~fQG}Կ����������������cR�ھ������������ο��XMAf���¿���OqSOWYc�dbSMH<A7:AD9:2.02C]��RGFAJTZ��q��������������̼�������������W�g����ID><<@FO�����ZLGCMSk���_cHM��Ŀ������Zi�m�hUq`\�xO@=;:KFNGH>845<CMPO><<8:DVm���g��Ļ�����������»�������Ž��o]�z���hQECWM[QVPKMJ@D?BW~���f_ORaTunVUPOb����X]i�rbh����v~ZKORLLGIMOWMMWb�����oS��Ǿ�����ü���������������R@=<>E^L?:8>CDa�I=8>J����oMKOf|�ih��\PNZfڿ���Zam�Ƽ���g\�����������TJcm�rVUMHLVVVMNgs��t����������������������������jal�{dI>@CIELXQEEGBKIKJGGKY���n|������������ͽ�����o������������������eSZSdg���_TXYhVPY^V[ql]^�����YQWPKITYQX\�rff��^Y\cye^ee_o���yhv�������g�������}���������������������������^S����nrk`hh�fUKLNJNOV[Z\UHHC@JZ�XOY\u�������tir������������������������j`lYXNHHJNJObd|�����b[X^�����������������~����������od__TTNOPROFHJGHOWNKKFMY[\Y]����������������������������v]^n��]XSNQUZ\SQPMMLMNNSlvz�iQYTg����������������h^Y^{����ggnf_`�d����B9>[Q�S<(!#%���������������i&%%&/�������)  $2:ϭ�6"*4ǭ����2'/�����}-#-2ί������9&&+:[�����@%%'>����E().9�������?$!%,A˭�����90O����M3#%-.Dϴ�������]ٳ����I95)*4������I:8<վ��\9,/7>hQȲ���P,+,,3P˺�����zeָ���<./:V��������.&(4v����Y:.066L�����]J=9;Dh��[GMV{߹�����C0$&6M�����������bT_vV9/0>V¹����M=/,.5aƼ��VBK�ñ������w|���ø���C@Wθ�����Q:.,,-9V������WJOB529IMF@G񴬩���F;7<��Ŀ����OMNXg����p�~_LHJMNSULDEW�����]HIFCJf��ɾ���������vLB?BKY��ĺ���K<:68>DLXg\m�aOFNVkWGI<:B^½���[B9:Jy��������SIA?FVƾ��������^LE<AIU������OVKA;;IZ��������mWNY���fV`������UWbn�������oUADGAACP_f�h��������eD:6>Hl̾������]TT_c����������������g��Ǿ����?866C]�������H>;<HJZ^������K@@IUXHDMZ�ƺ�����xC>=Dl����������oWSU����nLHIR���s^Wl���������SC>>HY^���¼����OQ_�kNJKe�����xVMJA@KT��þ��~XO@???BIc���������|XBAN]�����lYMGNYat��������ZK?:68Kd��������TLGOQ]h������������zXJEKV������WMIGIMN\�����VOV^inpaRNKIT�������iLEOp�������[>::=Nn�»���xrh[ONI?::ANz������jN;9=BO�������LGKV�����kbw��t�����}NJUe������MDBDJU�������aVNRON[cjll��������YC<;<I^�ƿ����[MDCEKT_f^��������b\LHHT������XGDEMXi������o\VNKNa�����������_MHFDIU���Ŀ���XJBCGL_����{��������YLKIPh������kUONWs�������]ZTUY`v����������\NFGKQl�������ZK@?FXh����������^WNJNO_{�������]KGIWl���u_]XWU[]ajhfq������{xi_QLLOo�������zXUMKS^������������[TSRO\�������XHBDM^��������~gYZtxgm���������YSMNZi�������lTNJKOXo��������lneYLKO\}�������i]XUZ\s��������olked^]jt~������nXJGIM[p������hVWROQ_����������m_VV[av��������]ROR\f�������lc_\\][cq��������wd]XZ`l��������qnbddgou���������o[UXf���������k_Y[hk��{������o^iachw�������pmhfghmx�������ukihimnv��������oifglp~�������~ukhilw���������~xtont}������
\ No newline at end of file
diff --git a/ring-android/app/src/main/assets/ringtones/phone.au b/ring-android/app/src/main/assets/ringtones/phone.au
deleted file mode 100644
index 22be69bf25fc15d196c5e72ce1d6633d76580e98..0000000000000000000000000000000000000000
Binary files a/ring-android/app/src/main/assets/ringtones/phone.au and /dev/null differ
diff --git a/ring-android/app/src/main/assets/ringtones/phone2.au b/ring-android/app/src/main/assets/ringtones/phone2.au
deleted file mode 100644
index 42cb62bb8553af8a9a7b61335b4fea7865a6b344..0000000000000000000000000000000000000000
Binary files a/ring-android/app/src/main/assets/ringtones/phone2.au and /dev/null differ
diff --git a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java
index 1fbf74a0ace5f90d806d92e7ca12b94a804ecdfd..3b1d0624d383df4a7399918830de0e1b0ea032ae 100644
--- a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java
+++ b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java
@@ -32,7 +32,6 @@ import android.content.IntentFilter;
 import android.content.ServiceConnection;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
-import android.content.res.AssetManager;
 import android.content.res.Configuration;
 import android.graphics.Bitmap;
 import android.net.Uri;
@@ -58,10 +57,6 @@ import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
 import java.util.List;
 
 import butterknife.BindView;
@@ -78,6 +73,7 @@ import cx.ring.model.account.Account;
 import cx.ring.model.account.ConfigKey;
 import cx.ring.service.IDRingService;
 import cx.ring.service.LocalService;
+import cx.ring.utils.FileUtils;
 import cx.ring.views.MenuHeaderView;
 
 public class HomeActivity extends AppCompatActivity implements LocalService.Callbacks,
@@ -290,10 +286,13 @@ public class HomeActivity extends AppCompatActivity implements LocalService.Call
     @Override
     protected void onStart() {
         Log.d(TAG, "onStart");
-        if (!PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getBoolean("installed", false)) {
-            PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putBoolean("installed", true).commit();
-            copyAssetFolder(getAssets(), "ringtones", getFilesDir().getAbsolutePath() + "/ringtones");
+
+        String path = getFilesDir().getAbsolutePath() + "/ringtones";
+        if (!(new File(path + "/default.wav")).exists()) {
+            Log.d(TAG, "default.wav doesn't exist. Copying ringtones.");
+            FileUtils.copyAssetFolder(getAssets(), "ringtones", path);
         }
+
         super.onStart();
     }
 
@@ -403,53 +402,6 @@ public class HomeActivity extends AppCompatActivity implements LocalService.Call
         return actionButton;
     }
 
-    private static boolean copyAssetFolder(AssetManager assetManager, String fromAssetPath, String toPath) {
-        try {
-            String[] files = assetManager.list(fromAssetPath);
-            new File(toPath).mkdirs();
-            Log.d(TAG, "Creating :" + toPath);
-            boolean res = true;
-            for (String file : files)
-                if (file.contains("")) {
-                    Log.d(TAG, "Copying file :" + fromAssetPath + "/" + file + " to " + toPath + "/" + file);
-                    res &= copyAsset(assetManager, fromAssetPath + "/" + file, toPath + "/" + file);
-                } else {
-                    Log.d(TAG, "Copying folder :" + fromAssetPath + "/" + file + " to " + toPath + "/" + file);
-                    res &= copyAssetFolder(assetManager, fromAssetPath + "/" + file, toPath + "/" + file);
-                }
-            return res;
-        } catch (Exception e) {
-            Log.e(TAG, "Error while copying asset folder", e);
-            return false;
-        }
-    }
-
-    private static boolean copyAsset(AssetManager assetManager, String fromAssetPath, String toPath) {
-        InputStream in;
-        OutputStream out;
-        try {
-            in = assetManager.open(fromAssetPath);
-            new File(toPath).createNewFile();
-            out = new FileOutputStream(toPath);
-            copyFile(in, out);
-            in.close();
-            out.flush();
-            out.close();
-            return true;
-        } catch (Exception e) {
-            Log.e(TAG, "Error while copying asset", e);
-            return false;
-        }
-    }
-
-    private static void copyFile(InputStream in, OutputStream out) throws IOException {
-        byte[] buffer = new byte[1024];
-        int read;
-        while ((read = in.read(buffer)) != -1) {
-            out.write(buffer, 0, read);
-        }
-    }
-
     /* activity gets back to the foreground and user input */
     @Override
     protected void onResume() {
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/AccountCreationFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/AccountCreationFragment.java
index b61bf38091a6aa2e8a09c0d47ec15e46d87c3991..d388b017383fb0d3829eafd7b2baff71ae6f9d85 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/AccountCreationFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/AccountCreationFragment.java
@@ -523,7 +523,7 @@ public class AccountCreationFragment extends Fragment {
                             showImportDialog();
                         } catch (IOException e) {
                             Log.e(TAG, "Exception reading file", e);
-                            Toast.makeText(getActivity(), getContext().getString(R.string.account_cannot_read, data.getData()), Toast.LENGTH_LONG).show();
+                            Toast.makeText(getActivity(), getActivity().getString(R.string.account_cannot_read, data.getData()), Toast.LENGTH_LONG).show();
                         }
                     } else {
                         showImportDialog();
diff --git a/ring-android/app/src/main/java/cx/ring/fragments/MediaPreferenceFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/MediaPreferenceFragment.java
index 51b832418611cb1fcf6f86ef864b4ff931f98675..88c2da9721830398cecb093f89960d9940820fb7 100644
--- a/ring-android/app/src/main/java/cx/ring/fragments/MediaPreferenceFragment.java
+++ b/ring-android/app/src/main/java/cx/ring/fragments/MediaPreferenceFragment.java
@@ -50,6 +50,7 @@ import cx.ring.model.account.Account;
 import cx.ring.model.account.AccountConfig;
 import cx.ring.model.account.ConfigKey;
 import cx.ring.service.LocalService;
+import cx.ring.utils.FileUtils;
 
 import static cx.ring.client.AccountEditionActivity.DUMMY_CALLBACKS;
 
@@ -125,8 +126,9 @@ public class MediaPreferenceFragment extends PreferenceFragment
             return;
         }
 
-        File myFile = new File(data.getData().getPath());
-        Log.i(TAG, "file selected:" + data.getData());
+        String path = FileUtils.getRealPathFromURI(getActivity(), data.getData());
+        File myFile = new File(path);
+        Log.i(TAG, "file selected:" + myFile.getAbsolutePath());
         if (requestCode == SELECT_RINGTONE_PATH) {
             findPreference(ConfigKey.RINGTONE_PATH.key()).setSummary(myFile.getName());
             mCallbacks.getAccount().setDetail(ConfigKey.RINGTONE_PATH, myFile.getAbsolutePath());
@@ -146,9 +148,9 @@ public class MediaPreferenceFragment extends PreferenceFragment
         addPreferencesFromResource(R.xml.account_media_prefs);
         audioCodecsPref = (CodecPreference) findPreference("Account.audioCodecs");
         videoCodecsPref = (CodecPreference) findPreference("Account.videoCodecs");
+        boolean isChecked = Boolean.valueOf(mCallbacks.getAccount().getDetail(ConfigKey.RINGTONE_ENABLED));
+        findPreference(ConfigKey.RINGTONE_PATH.key()).setEnabled(isChecked);
 
-        findPreference(ConfigKey.RINGTONE_PATH.key()).setEnabled(
-                ((TwoStatePreference) findPreference(ConfigKey.RINGTONE_ENABLED.key())).isChecked());
         addPreferenceListener(ConfigKey.VIDEO_ENABLED, changeVideoPreferenceListener);
         final Account acc = mCallbacks.getAccount();
         if (acc != null) {
@@ -185,8 +187,8 @@ public class MediaPreferenceFragment extends PreferenceFragment
                     getPreferenceScreen().findPreference(ConfigKey.RINGTONE_PATH.key()).setEnabled((Boolean) newValue);
                 }
                 account.setDetail(key, newValue.toString());
-            } else  if (key == ConfigKey.ACCOUNT_DTMF_TYPE) {
-                preference.setSummary(((String)newValue).contentEquals("overrtp") ? "RTP" : "SIP");
+            } else if (key == ConfigKey.ACCOUNT_DTMF_TYPE) {
+                preference.setSummary(((String) newValue).contentEquals("overrtp") ? "RTP" : "SIP");
             } else {
                 preference.setSummary((CharSequence) newValue);
                 Log.i(TAG, "Changing" + key + " value:" + newValue);
diff --git a/ring-android/app/src/main/java/cx/ring/utils/FileUtils.java b/ring-android/app/src/main/java/cx/ring/utils/FileUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..4884e73932c934074dc1b432b542671b435ec7a2
--- /dev/null
+++ b/ring-android/app/src/main/java/cx/ring/utils/FileUtils.java
@@ -0,0 +1,105 @@
+/*
+ *  Copyright (C) 2004-2016 Savoir-faire Linux Inc.
+ *
+ *  Author: Aline Bonnet <aline.bonnet@savoirfairelinux.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package cx.ring.utils;
+
+import android.content.Context;
+import android.content.res.AssetManager;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.MediaStore;
+import android.util.Log;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class FileUtils {
+
+    static final String TAG = FileUtils.class.getSimpleName();
+
+    public static boolean copyAssetFolder(AssetManager assetManager, String fromAssetPath, String toPath) {
+        try {
+            String[] files = assetManager.list(fromAssetPath);
+            File fileTmp = new File(toPath);
+            if (!fileTmp.exists()) {
+                fileTmp.mkdirs();
+            }
+            Log.d(TAG, "Creating :" + toPath);
+            boolean res = true;
+            for (String file : files)
+                if (file.contains("")) {
+                    Log.d(TAG, "Copying file :" + fromAssetPath + "/" + file + " to " + toPath + "/" + file);
+                    res &= copyAsset(assetManager, fromAssetPath + "/" + file, toPath + "/" + file);
+                } else {
+                    Log.d(TAG, "Copying folder :" + fromAssetPath + "/" + file + " to " + toPath + "/" + file);
+                    res &= copyAssetFolder(assetManager, fromAssetPath + "/" + file, toPath + "/" + file);
+                }
+            return res;
+        } catch (Exception e) {
+            Log.e(TAG, "Error while copying asset folder", e);
+            return false;
+        }
+    }
+
+    private static boolean copyAsset(AssetManager assetManager, String fromAssetPath, String toPath) {
+        InputStream in;
+        OutputStream out;
+        try {
+            in = assetManager.open(fromAssetPath);
+            new File(toPath).createNewFile();
+            out = new FileOutputStream(toPath);
+            copyFile(in, out);
+            in.close();
+            out.flush();
+            out.close();
+            return true;
+        } catch (Exception e) {
+            Log.e(TAG, "Error while copying asset", e);
+            return false;
+        }
+    }
+
+    private static void copyFile(InputStream in, OutputStream out) throws IOException {
+        byte[] buffer = new byte[1024];
+        int read;
+        while ((read = in.read(buffer)) != -1) {
+            out.write(buffer, 0, read);
+        }
+    }
+
+    public static String getRealPathFromURI(Context context, Uri contentUri) {
+        String path;
+        Cursor cursor;
+        try {
+            String[] proj = {MediaStore.Audio.Media.DATA};
+            cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
+            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
+            cursor.moveToFirst();
+            path = cursor.getString(column_index);
+            cursor.close();
+        } catch (Exception e) {
+            Log.e(TAG, "Error while saving file to disk", e);
+            path = null;
+        }
+        return path;
+    }
+}
diff --git a/ring-android/app/src/main/res/xml/account_media_prefs.xml b/ring-android/app/src/main/res/xml/account_media_prefs.xml
index 932de6d35f698850570b21192cb90082b5fe6677..488f5569fbebfadaa65f07c46a5aaeadb03a6fe4 100644
--- a/ring-android/app/src/main/res/xml/account_media_prefs.xml
+++ b/ring-android/app/src/main/res/xml/account_media_prefs.xml
@@ -31,7 +31,6 @@ along with this program; if not, write to the Free Software
 
         <android.support.v7.preference.Preference
             android:id="@+id/audio_ringtone_path"
-            android:enabled="false"
             android:key="Account.ringtonePath"
             android:persistent="false"
             android:title="@string/account_ringtone_path_label" />