From 0185096240eb5c5bbcb14d1746e3e3dffc418ff5 Mon Sep 17 00:00:00 2001 From: Bastien Le Querrec Date: Wed, 4 Jan 2017 16:52:34 +0100 Subject: [PATCH] add XMPP support, increase SDK target --- .travis.yml | 1 + AndroidManifest.xml | 42 ++ build.gradle | 16 +- proguard.cfg | 6 + res/drawable-hdpi/ic_xmpp_black.png | Bin 0 -> 644 bytes res/drawable-hdpi/ic_xmpp_grey.png | Bin 0 -> 790 bytes res/drawable-hdpi/ic_xmpp_white_18dp.png | Bin 0 -> 325 bytes res/drawable-mdpi/ic_xmpp_black.png | Bin 0 -> 433 bytes res/drawable-mdpi/ic_xmpp_grey.png | Bin 0 -> 485 bytes res/drawable-mdpi/ic_xmpp_white_18dp.png | Bin 0 -> 281 bytes res/drawable-xhdpi/ic_xmpp_black.png | Bin 0 -> 911 bytes res/drawable-xhdpi/ic_xmpp_grey.png | Bin 0 -> 1172 bytes res/drawable-xhdpi/ic_xmpp_white_18dp.png | Bin 0 -> 430 bytes res/drawable-xxhdpi/ic_xmpp_black.png | Bin 0 -> 1306 bytes res/drawable-xxhdpi/ic_xmpp_grey.png | Bin 0 -> 1692 bytes res/drawable-xxhdpi/ic_xmpp_white_18dp.png | Bin 0 -> 646 bytes res/drawable-xxhdpi/splash_xmpp.png | Bin 0 -> 16932 bytes res/drawable-xxxhdpi/ic_xmpp_black.png | Bin 0 -> 2239 bytes res/drawable-xxxhdpi/ic_xmpp_grey.png | Bin 0 -> 2990 bytes res/layout/color_fragment.xml | 3 +- res/layout/conversation_item_received.xml | 13 + res/layout/conversation_item_sent.xml | 12 + res/layout/register_custom_xmpp_server.xml | 76 ++ res/layout/register_xmpp_account.xml | 68 ++ res/layout/xmpp_address_dialog.xml | 24 + res/layout/xmpp_enter_address_dialog.xml | 22 + res/menu/conversation_secure_xmpp.xml | 9 + res/values-v11/styles.xml | 4 +- res/values/attrs.xml | 2 + res/values/colors.xml | 2 + res/values/strings.xml | 74 +- res/values/themes.xml | 4 + res/xml/preferences.xml | 4 + res/xml/preferences_xmpp.xml | 28 + res/xml/provider_paths.xml | 4 + .../smssecure/ApplicationContext.java | 8 + .../ApplicationPreferencesActivity.java | 31 +- .../smssecure/BasicIntroFragment.java | 70 +- .../smssecure/ConversationActivity.java | 150 +++- .../smssecure/smssecure/ConversationItem.java | 69 +- .../smssecure/ConversationListFragment.java | 28 +- .../smssecure/IntroScreenActivity.java | 24 +- .../smssecure/MessageDetailsActivity.java | 4 +- .../smssecure/smssecure/ShareActivity.java | 17 +- .../smssecure/smssecure/TransportOption.java | 4 +- .../smssecure/smssecure/TransportOptions.java | 15 + .../smssecure/XmppAddressDialog.java | 86 +++ .../smssecure/XmppEnterAddressDialog.java | 63 ++ .../smssecure/XmppRegisterActivity.java | 171 +++++ .../smssecure/XmppRegisterCustomActivity.java | 145 ++++ .../components/reminder/Reminder.java | 7 +- .../components/reminder/ReminderView.java | 7 +- .../XmppConnectivityDisconnectedReminder.java | 29 + .../smssecure/smssecure/crypto/SmsCipher.java | 22 +- .../database/CanonicalAddressDatabase.java | 50 +- .../smssecure/database/DatabaseFactory.java | 23 +- .../database/EncryptingSmsDatabase.java | 5 +- .../smssecure/database/MmsDatabase.java | 29 +- .../smssecure/database/MmsSmsColumns.java | 15 +- .../database/RecipientPreferenceDatabase.java | 23 +- .../smssecure/database/SmsDatabase.java | 44 +- .../database/model/MessageRecord.java | 12 +- .../database/model/SmsMessageRecord.java | 2 +- .../database/model/ThreadRecord.java | 2 +- .../smssecure/smssecure/jobs/MmsSendJob.java | 43 +- .../smssecure/jobs/SmsDecryptJob.java | 29 +- .../smssecure/jobs/SmsReceiveJob.java | 29 +- .../smssecure/smssecure/jobs/SmsSendJob.java | 76 +- .../smssecure/mms/MmsSendResult.java | 6 +- .../smssecure/mms/OutgoingMediaMessage.java | 4 + .../mms/OutgoingXmppMediaMessage.java | 33 + .../notifications/WearReplyReceiver.java | 2 +- .../preferences/ChatsPreferenceFragment.java | 1 - .../preferences/XmppPreferenceFragment.java | 207 ++++++ .../providers/PersistentBlobProvider.java | 6 +- .../smssecure/recipients/Recipient.java | 20 +- .../recipients/RecipientFactory.java | 122 +++- .../recipients/RecipientProvider.java | 19 +- .../smssecure/recipients/Recipients.java | 13 + .../smssecure/service/KeyCachingService.java | 18 +- .../service/QuickResponseService.java | 6 +- .../smssecure/service/XmppHttpUpload.java | 113 +++ .../smssecure/service/XmppService.java | 683 ++++++++++++++++++ .../smssecure/service/XmppServiceBoot.java | 28 + .../smssecure/sms/IncomingTextMessage.java | 28 +- .../smssecure/sms/MessageSender.java | 24 +- .../sms/MultipartSmsMessageHandler.java | 4 +- .../sms/MultipartSmsTransportMessage.java | 7 +- .../smssecure/sms/OutgoingTextMessage.java | 6 + .../sms/OutgoingXmppExchangeMessage.java | 28 + .../smssecure/smssecure/util/ServiceUtil.java | 10 + .../smssecure/util/SilencePreferences.java | 70 ++ .../util/XmppCharacterCalculator.java | 9 + .../smssecure/smssecure/util/XmppUtil.java | 240 ++++++ 94 files changed, 3138 insertions(+), 315 deletions(-) create mode 100644 res/drawable-hdpi/ic_xmpp_black.png create mode 100644 res/drawable-hdpi/ic_xmpp_grey.png create mode 100644 res/drawable-hdpi/ic_xmpp_white_18dp.png create mode 100644 res/drawable-mdpi/ic_xmpp_black.png create mode 100644 res/drawable-mdpi/ic_xmpp_grey.png create mode 100644 res/drawable-mdpi/ic_xmpp_white_18dp.png create mode 100644 res/drawable-xhdpi/ic_xmpp_black.png create mode 100644 res/drawable-xhdpi/ic_xmpp_grey.png create mode 100644 res/drawable-xhdpi/ic_xmpp_white_18dp.png create mode 100644 res/drawable-xxhdpi/ic_xmpp_black.png create mode 100644 res/drawable-xxhdpi/ic_xmpp_grey.png create mode 100644 res/drawable-xxhdpi/ic_xmpp_white_18dp.png create mode 100644 res/drawable-xxhdpi/splash_xmpp.png create mode 100644 res/drawable-xxxhdpi/ic_xmpp_black.png create mode 100644 res/drawable-xxxhdpi/ic_xmpp_grey.png create mode 100644 res/layout/register_custom_xmpp_server.xml create mode 100644 res/layout/register_xmpp_account.xml create mode 100644 res/layout/xmpp_address_dialog.xml create mode 100644 res/layout/xmpp_enter_address_dialog.xml create mode 100644 res/menu/conversation_secure_xmpp.xml create mode 100644 res/xml/preferences_xmpp.xml create mode 100644 res/xml/provider_paths.xml create mode 100644 src/org/smssecure/smssecure/XmppAddressDialog.java create mode 100644 src/org/smssecure/smssecure/XmppEnterAddressDialog.java create mode 100644 src/org/smssecure/smssecure/XmppRegisterActivity.java create mode 100644 src/org/smssecure/smssecure/XmppRegisterCustomActivity.java create mode 100644 src/org/smssecure/smssecure/components/reminder/XmppConnectivityDisconnectedReminder.java create mode 100644 src/org/smssecure/smssecure/mms/OutgoingXmppMediaMessage.java create mode 100644 src/org/smssecure/smssecure/preferences/XmppPreferenceFragment.java create mode 100644 src/org/smssecure/smssecure/service/XmppHttpUpload.java create mode 100644 src/org/smssecure/smssecure/service/XmppService.java create mode 100644 src/org/smssecure/smssecure/service/XmppServiceBoot.java create mode 100644 src/org/smssecure/smssecure/sms/OutgoingXmppExchangeMessage.java create mode 100644 src/org/smssecure/smssecure/util/XmppCharacterCalculator.java create mode 100644 src/org/smssecure/smssecure/util/XmppUtil.java diff --git a/.travis.yml b/.travis.yml index 96ab6bdb8..22f96677d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,7 @@ android: - build-tools-20.0.0 - build-tools-19.1.0 - android-22 + - android-25 - extra-android-m2repository before_script: diff --git a/AndroidManifest.xml b/AndroidManifest.xml index a702cf216..d77750d33 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -22,6 +22,7 @@ + @@ -76,6 +77,21 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + zK~!i3?O0n*1tAO_pV4iZ=&m%Q+cGZ8XnaID$@HevTWBlb%m+ z_(e-k#!}mRGQ84Z9;E=y)@qxfni_sdr!7Dj1PNvpDW)tD&Djna=nzA3dC=~=^U3L* z@ImTh#t{Kn?Zl%wSDg6@fH-|ly_4vDs7)Sn0_SGLwhj+6{c1TDW7U$%1jZOE_+j{P z^ATUU0&qTZ;s}lVuK~QrfbaB`oO7QrsaJ1BXEKRZ8mo|{Y6HwGC7cq5HwVt9`hn55 z5GA~(PNx>HO0THo5o}e?TcN+)2VU$V$I=RTCP)>G-Ul}nXtYK0M(oOrYFWR?VYaYf zzg;n?9F*SXoQx+8i18S$@4g!%ON6(&b?`iA0fa4a^RmtWPxPJ!cU+7#;)WuIjhuiduU_tEnG#UCU{Q48u8L<)Z}X#YyC0hxd)mOihyZV zM?5}}(uU9QZbXv1&oG;lUi#vVwTaMQ+(an*k8y^bjE}rzGmzV=JrBig8IJ6u0;2+> e0;2-EtiUg_7!+JpDX16#00004tSM@U&PgR)-*D@c~|Q*nLR0 zGj_s&m9_$x5c5rgLl$s4gTEie=NmXJIkpwRMi6~IYGtotQjv}bc^;(#LYykw45VKH zdL07i+K9gAeVQ{)jNij~ml(GW6_JlYLjjlZ;E_HL^3e+znW%S%773n%Kzjj>$o4ob zAazk-yBE`e0I2KV3wv=^0d(ixG!Rh1K@kKFfua>efS+OqI|5+jkEqyq56|xfn2(a} zjsRz5&INalOW2k^^9mraodhTfD9nXx3Al2fnwz2k=lrTNi2)o|PW(6<7`X=oRNWD( z08ILnz@$Eq`I7oGef+}A7Vt>sq$+^OxygZd^Iqm02)1s!Bza;b1<=4MqA;2H0hcSc z@SU^C3vdW(5(OSiQH9W(V2;-O2Kg6lFznB+0F430B+4eWF&Cag0#Y0P2H!i9P2Xn{ zKx2S1sc-vZE{9FGpwXQ0FWFVqL^}u#qYDGQ7tttTI z)xQ9p(+xye-s&O8WV@OGY5OqZ=;!enzu^2oYe{y7!N~#y;wuo}xx2!y1D|+nox@iB z);I7U_Z|QlUPi+2`7019xj)47{hzfK(nn{5fXrP`j*eR+)FRL#&?3+xaNH621D5H) UiD1-Or~m)}07*qoM6N<$f<>HCS^xk5 literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/ic_xmpp_white_18dp.png b/res/drawable-hdpi/ic_xmpp_white_18dp.png new file mode 100644 index 0000000000000000000000000000000000000000..e8aeac9d6b2ef1051411e8a9f3234a462b9a5ad4 GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6O!3HGFip}=|DYhhUcNZWH1V5d3*8?fe0*}aI zppNSx%;=;sy8K4 zq?2p5+shQ_9ynEBY_gT$h;=y36hc`r?vJMYMhf)xtw(F zz3v@fL5{t*t{HD{*S~v)l}lpHm-9QHG}Xzx3AhuRyxvB;A%32)qjuaHM$JjDfevTz MboFyt=akR{0Q|&t&j0`b literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/ic_xmpp_black.png b/res/drawable-mdpi/ic_xmpp_black.png new file mode 100644 index 0000000000000000000000000000000000000000..460946ac13280ab08709ea4007af5a98e9e8a7f1 GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7lsQUSp7!%5Kx4(z$3Dl zfq`2Xgc%uT&5-~KvX^-Jy0SlDlVNH7`n~pxrt&IO zb_r}O?vB06&F^zkjopW7pGJ9m81Ku-tyy!;7zI`)tlyxnn!5FfK35sf(-wve9BX%l z{Ymg`klNO=r8-Zn-D4$V!WOkB-q)q7B(^@7lVY*(k3&mZ%AbxSLT!`13}5OmoL%4* z_~VwTN~_U=yX%i+*s(12eYC2wC8(p@c}ksSrk0R>cfY-aDO1Zs-*cB7)L#n!xX-zV YfzdBmswCd88W^|?p00i_>zopr0G5WSE&u=k literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/ic_xmpp_grey.png b/res/drawable-mdpi/ic_xmpp_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..24aa687b5944f4d97564f085925b3e99f731eb3b GIT binary patch literal 485 zcmV|_;W#zGqY)7)vw8Npv#j>?ptt2N9 z!uqTocyI@vDE~N)-$}=27>4U#Y7)7&$aSs-g%$#8r;oBk;R2fNFVP_s0+RDkgLn_}FSd>KqWPu@Yy<#w(g<+g zyWMK&RB{400_ac!lMh``MZm|Obb`u9EoxE#MH(VJW01*-OC75!z!HHlOM8-+xX zrT{}kanq*+A@QlSpD@NzirwOgkT_XT7{lR#rU~9%wfQ73?toyYC b|GNV>ff{Xd`7-}>00000NkvXXu0mjfXJgB; literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/ic_xmpp_white_18dp.png b/res/drawable-mdpi/ic_xmpp_white_18dp.png new file mode 100644 index 0000000000000000000000000000000000000000..5d23da4d965a9fd17d19449306fe4023257704b3 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngj!3HE3xL=O}Qfx`y?k+$Y2!1;6t_M<_1s;*b zKpodXn9)gNb_Gz7y~NYkmHh!LpAeVT#drMfKq1Kz*N775{M_8syb=cIqSVBa)D(sC z%#sWRcTeAd@J2pyprS@k7sn6{(YX^23N|S4uyF3Z(Ww9S^rtlk+P*Y*J~n*b$^S&S z_$F`9$|;+c%B$N1-#l|{ee9_;{;)RD18XL}zj>Z%!SY|+&uh5d`#HW%sy*GJkoCCJ z#_xyzj-71$uktD+k4Vfs#Fcgak9VIUcf-$PvmQEY>t}SHir?$a+%1^J|B=OLlS5Bf Tz`O52$1r%h`njxgN@xNAT90FI literal 0 HcmV?d00001 diff --git a/res/drawable-xhdpi/ic_xmpp_black.png b/res/drawable-xhdpi/ic_xmpp_black.png new file mode 100644 index 0000000000000000000000000000000000000000..861ec077e66b322a78e06ad81c7339eb5a2810fc GIT binary patch literal 911 zcmV;A191F_P);P zUnkgru~;JbwEkU`yg!X!LZ~U8cwR&hJEeNRsI|Pt4+7{ES261E3dLyTS<%Aw8jp$C z#W?^Y904-*r!C-q6ny?N#+wb^gGulJ-ctSq<>%qJY%wyU+ZrECXPC2#(AmQQY&?Xg z0i{QL8RluAJsb?c-Oc1$W=;us+RfE64XxqJ(%~-V9$8Sb+k=wU*w*5jW&ncx*(1^c zHr9eCeSBr)!F0>P_|nQ+m+6S3=tp9;d#V+^bB)-jWotO6o-cn#8Bimq7W+<3fb1VK`iNnU0QBQ=atY;|F^DcJTAW4M zy5}1v)_0UQ@|LUN$txOU>)ev<3U8-azmVV6xDzLbi89^{fe5x}?a$c-7`CVe|O9|Xfl zOXje|0^%4SXBH<`ozG-&mQ-fIo3o5fv6L`?V)Svl0hFd_<)SSnj;QmuX6JxZnbp;1 z!MoIn;@k{gVOu2vVA^!myh7L7VzWdA#wx_j33EQQ;LZ2^ob%Sci(o(tpyUg)xJLg+ zNqH%4uaqFB^TD1{@9k26*5c5NByJlN?ZcMkS>)EkmVPxPXg5_`g3#_3v%ZE1Nd|v) z4=tNoLjjO2*k@SuC_n6GhBBTAgXp8=dhYZzbV7bO__-iP^~uvd}}bgY~mKU2q;S6(I)xFPH&OBJ!V8c-T?>D^pKthq)%QB8K+B-Eq!by zewb7U7`wfcuy`&JS1_^prs?;1n9O?oKlolCV{u#JmcOo;;ewyzaDZUcUYr4Ez!`7` loB?OR8E^)i0cXI*zzu~w#wUe%Gr|A>002ovPDHLkV1h)9q$~gc literal 0 HcmV?d00001 diff --git a/res/drawable-xhdpi/ic_xmpp_grey.png b/res/drawable-xhdpi/ic_xmpp_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..76d49c1e0deadadf16caaf1501b15c51c72fcb94 GIT binary patch literal 1172 zcmV;F1Z(?=P)GZ={ z&;UF?>pahEl}$9Bs`~nPJpQh=Ep-vRZi7IFI1|zZ;CqzMU_|*bgjl1(vL%Io2He+O z*oOpQn^kRAJb@VRxM5Lq;N1qc7gBt>00%I-;xOD%s#2G$5QF+JL;|iI0C_9~v#0md z1$d4IawJLnnivxpY(Nl+U6wwGy$VPBxGqFEe4yKmxS|O0Cdju#^J5s$>^KTFl=KJ2 zRD2DvwVWyD3J1iG3zkKrp1mK6eD0zOtAn^m4J!XRm%Vckocq5rDe5zg2=%4J%v*m=Klu~i3Oa~ zy4sTT)%ws!l9&`K+%E9#h6V~%_@94_&Nmc#UoHj!oC2J9wyDv#UR?)#)9vWb_hL|b zaFC(%K?uMRNQHaR^=<+4{1^u)Yx)P3Y% zl_XDCiYd!P1C|7vaJ~Zal3B$4qw?YcFe(Tk{o}#}#5dTkbUrr$hzLYDKz7+dD(IcT z;YZvwHvxp3A_Fh7TdQerS^?eRk=S-mW%XZq+d|Jg~0)Y5iM0;jM zY#M8gqc3&)jjQkXgl+5z^tddNvI?Mx(0_N#)7ltPVkNfD?_tInuC-LX&lSKf4 zHvf-D)B7n%C;hDserX2LOfnN4iG61b)23V^5{%;DqQC2%P+lZRby^ju3RDHE m0#$*kKvkeBP!%{E3j76=vIQ{H0000wpeu`g-7vHwTni)O34A1+nfS1ta3c7^fjv=8^vGnct4MqKMXdvED;?!~M< zDj8c=%-PuBt?*h+RsKtO!aRovz~{mcpOYwI=}Hr<*3 znDe=q=}yChTWUqwzQWJ<2bQ<>uW>ct%{bQZyh`X;z54$wJ*JlXf(CWwpJz=w|1js4 zL{hHxmlaV9H&5e_I&b8_E6}s5H`BvOeDNuBapM`xPuq6NHHC&7Jw2w%y!sz|!_10H U?^9k+1qLI7r>mdKI;Vst0G9}=*Z=?k literal 0 HcmV?d00001 diff --git a/res/drawable-xxhdpi/ic_xmpp_black.png b/res/drawable-xxhdpi/ic_xmpp_black.png new file mode 100644 index 0000000000000000000000000000000000000000..fce6bb1195ed0135b382e6d34bec4545d3e085f1 GIT binary patch literal 1306 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 literal 0 HcmV?d00001 diff --git a/res/drawable-xxhdpi/splash_xmpp.png b/res/drawable-xxhdpi/splash_xmpp.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d3a877a7c8bddac5d0bc95b82573f0aa2453e7 GIT binary patch literal 16932 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 literal 0 HcmV?d00001 diff --git a/res/drawable-xxxhdpi/ic_xmpp_black.png b/res/drawable-xxxhdpi/ic_xmpp_black.png new file mode 100644 index 0000000000000000000000000000000000000000..caf34e43f12e94bcc0489909ddc65ebb539195a9 GIT binary patch literal 2239 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 Dujq^V literal 0 HcmV?d00001 diff --git a/res/layout/color_fragment.xml b/res/layout/color_fragment.xml index d2ac52c54..7118c81fd 100644 --- a/res/layout/color_fragment.xml +++ b/res/layout/color_fragment.xml @@ -17,7 +17,7 @@ android:paddingLeft="20dp" android:paddingRight="20dp" android:fontFamily="sans-serif-light" - tools:text="@string/IntroScreenActivity_welcome_to_smssecure" + tools:text="@string/IntroScreenActivity_welcome_to_silence" android:textColor="@android:color/white" /> + + + + + + + + + + + + + + + + + + + + + + + + + +