From bdf8060cd6580e3fe05263e87dda4c93a1aec8d2 Mon Sep 17 00:00:00 2001 From: dxjia Date: Wed, 17 Jun 2015 17:01:49 +0800 Subject: [PATCH 01/21] add message format when create message from pdu Signed-off-by: dxjia --- .../me/drakeet/inmessage/service/SMSBroadcastReceiver.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java index d4003f3..5a03684 100755 --- a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java +++ b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java @@ -28,9 +28,10 @@ public class SMSBroadcastReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { //从Intent中接受信息 Object[] pdus = (Object[]) intent.getExtras().get("pdus"); + String format = intent.getStringExtra("format"); for (Object p : pdus) { byte[] sms = (byte[]) p; - SmsMessage message = SmsMessage.createFromPdu(sms); + SmsMessage message = (format != null) ? SmsMessage.createFromPdu(sms, format) : SmsMessage.createFromPdu(sms); //获取短信内容 final String content = message.getMessageBody(); //获取发送时间 From 45891784753d78f58f8b7a39fedd9859b5d6ec78 Mon Sep 17 00:00:00 2001 From: drakeet Date: Thu, 18 Jun 2015 10:52:53 +0800 Subject: [PATCH 02/21] =?UTF-8?q?=E6=94=BE=E5=BC=83=20createFromPdu(pdu,?= =?UTF-8?q?=20format)=20=E6=96=B9=E6=B3=95=E3=80=82=E3=80=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 6 +- .../service/SMSBroadcastReceiver.java | 79 +++++++++---------- 2 files changed, 42 insertions(+), 43 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d41f8f6..7a78a98 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,9 +11,9 @@ android { defaultConfig { applicationId "me.drakeet.inmessage" minSdkVersion 15 - targetSdkVersion 21 - versionCode 4 - versionName "1.0" + targetSdkVersion 22 + versionCode 5 + versionName "1.0.1" } sourceSets { main { diff --git a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java index 5a03684..8c65687 100755 --- a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java +++ b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java @@ -28,10 +28,9 @@ public class SMSBroadcastReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { //从Intent中接受信息 Object[] pdus = (Object[]) intent.getExtras().get("pdus"); - String format = intent.getStringExtra("format"); for (Object p : pdus) { byte[] sms = (byte[]) p; - SmsMessage message = (format != null) ? SmsMessage.createFromPdu(sms, format) : SmsMessage.createFromPdu(sms); + SmsMessage message = SmsMessage.createFromPdu(sms); //获取短信内容 final String content = message.getMessageBody(); //获取发送时间 @@ -46,44 +45,44 @@ public void onReceive(Context context, Intent intent) { } this.abortBroadcast(); mHandler = new WeakHandler(); - mHandler.postDelayed(new Runnable() { - @Override - public void run() { - Message smsMessage = new Message(); - smsMessage.setContent(content); - smsMessage.setSender(sender); - smsMessage.setDate(date); - String company = StringUtils.getContentInBracket(content, sender); - if (company != null) { - smsMessage.setCompanyName(company); - } - smsMessage.setIsMessage(true); - //格式化短信日期提示 - SimpleDateFormat sfd = new SimpleDateFormat("MM-dd hh:mm"); - String time = sfd.format(date); - //获得短信的各项内容 - String date_mms = time; - smsMessage.setReceiveDate(date_mms); - smsMessage.setReadStatus(0); - smsMessage.setFromSmsDB(1); - String captchas = StringUtils.tryToGetCaptchas(content); - if(!captchas.equals("")) { - smsMessage.setCaptchas(captchas); - } - String resultContent = StringUtils.getResultText(smsMessage, false); - if(resultContent != null) { - smsMessage.setResultContent(resultContent); - } - if(!VersionUtils.IS_MORE_THAN_LOLLIPOP) { - smsMessage.save(); - } - BusProvider.getInstance().register(this); - BusProvider.getInstance().post(new ReceiveMessageEvent(smsMessage)); - BusProvider.getInstance().unregister(this); - //终止广播 - } - }, 358 - ); + mHandler.postDelayed( + new Runnable() { + @Override + public void run() { + Message smsMessage = new Message(); + smsMessage.setContent(content); + smsMessage.setSender(sender); + smsMessage.setDate(date); + String company = StringUtils.getContentInBracket(content, sender); + if (company != null) { + smsMessage.setCompanyName(company); + } + smsMessage.setIsMessage(true); + //格式化短信日期提示 + SimpleDateFormat sfd = new SimpleDateFormat("MM-dd hh:mm"); + //获得短信的各项内容 + String date_mms = sfd.format(date); + smsMessage.setReceiveDate(date_mms); + smsMessage.setReadStatus(0); + smsMessage.setFromSmsDB(1); + String captchas = StringUtils.tryToGetCaptchas(content); + if (!captchas.equals("")) { + smsMessage.setCaptchas(captchas); + } + String resultContent = StringUtils.getResultText(smsMessage, false); + if (resultContent != null) { + smsMessage.setResultContent(resultContent); + } + if (!VersionUtils.IS_MORE_THAN_LOLLIPOP) { + smsMessage.save(); + } + BusProvider.getInstance().register(this); + BusProvider.getInstance().post(new ReceiveMessageEvent(smsMessage)); + BusProvider.getInstance().unregister(this); + //终止广播 + } + }, 358 + ) } } } From ccb7791c3d1c3784e2d70462bc1ede5c2d331b9b Mon Sep 17 00:00:00 2001 From: drakeet Date: Thu, 18 Jun 2015 10:59:15 +0800 Subject: [PATCH 03/21] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=A0=8F=E9=A2=9C=E8=89=B2=E4=B8=BA=20Toolbar=20=E9=A2=9C?= =?UTF-8?q?=E8=89=B2=E5=8A=A0=E6=B7=B1=E8=89=B2=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java | 2 +- app/src/main/res/values/colors.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java index 8c65687..829e705 100755 --- a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java +++ b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java @@ -82,7 +82,7 @@ public void run() { //终止广播 } }, 358 - ) + ); } } } diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index bddf7b5..2faa71d 100755 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -3,7 +3,7 @@ #00bcd4 @color/actionbar_background - #ff2b4d90 + #008196 #00778d #ffffff From d05f029a596df0538f534dd74740be09ff83595b Mon Sep 17 00:00:00 2001 From: drakeet Date: Thu, 18 Jun 2015 11:04:14 +0800 Subject: [PATCH 04/21] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=A0=8F=E9=A2=9C=E8=89=B2=E4=B8=BA=20Toolbar=20=E9=A2=9C?= =?UTF-8?q?=E8=89=B2=E5=8A=A0=E6=B7=B1=E8=89=B2=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- screenshots/s2.png | Bin 129241 -> 126287 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshots/s2.png b/screenshots/s2.png index efa55a4298ed6698cf85fd8d0cec4dfbddb6a766..16380186012706ea923a559df04cac60b8c06a6d 100755 GIT binary patch literal 126287 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

G!y7dc}4^;K0j7qI7U z`!Hz#Kin4?4ncl?S^|2BsQD%%A%h~P;I!Am9)Ikd7SYH&#|Y9UQfS~mYRV9<6&4;L zzyh7Fw$XrbxTXl<9+tjvHDGf!>F7w(Yh_em^&=S^KwCQg$bWVmX=4x=9)*TBBiH`? z*%Pi{kkp=P;ssR}DMN6A#zdDNxGorwb`cirOP3Pj;wFcN(1xwK&4~Vgult)LAMp=? zOF&~E>}&+4pe}$ndMYWLpZd$tP)kWUtj%IHlA&PNG*-8Ur)z&dWt(7-B=8+0K@Z-aY6^`O$+Yc3Yb%HVh^Uu10`cL z6+Fj)tcLE>mw^%0$G*P*+2N>9I;Dcb05yuOZRd~QXpj#Klyv_3i`ki3^uTuQ#jcVK zg5wQGM@WUjl|;s*uoxb_e=YU+zqT@Tk4Wcw0Xxq>9EShzkL&;a0mFY?K_=`pS<_@B zIckU`Z1QyTvLuP)*wz3AK0G`I`~Uxgng6=B|E=NF;5}6v$G~u_)@F4CipNqPS#`7u z=sn@(lb5Hy!=?FW@Yp@+=gV~SyGSIj^PjVy`BLNK~|#>t&>{AL)!x zYTEd%ev41R&A}N>e;wS?<_en^)a-n+tJAEK9h*}0mq)i;Q68@+z8BD(DxXY{@Zf!M z9);u4$w^tF)5_L%)K2ogVO@c=<5U`6kT7NLFlDL{y~YlIq`tGW4s&TxY>!H6!wjHQ z5lSa{6r+?61ZZ7cFUdVGpBa*D7-XN8Vm2n}_OjBK@;_RDxiJV>09Nz@(6slE)1RM1 z*bIO(Yr`uC!A|T^&!yAeOXu8UdZBgOg**i`l;UE;m*@R&-^K_`iBFqIlj4DP;6HQ- z=@KzGKF-3)Sps_`s&@;^yN+Df!Wbtw(?~Vlt}aYx0%5;FKtx1DR+hB&APQt^LQ+l| zz5`3k8Pp>(aKvF?F>)lW3QeiGPqUJw)lLNyOH%Y_RzS~mR=kVzF?H3`^C0Q+RR6ny8-pKlST6@ytXPaa3*0)@U} zuhk>!ZS`dc27pobgb_|4x8comgQH5cT<^0kDi06NRBmKPUEBS7Jm zdRse#DgkLEI8Gy`rf_9$*cLF1IjQ#gs8!;#XJ0Vl@~!i9e3doY5+pws#_K$-C2<&_ zG*qg%g?N`|&@Kah#lIP;nM4cQ!J$*jr5CS16Z}2P8^tMRr|oziY7XRl;C3M_>8`e+ zWXF68InWS;7ic$aLM;ol{*pyiWZb>)Tyqr@g{7_u3}Ue6Zv^Nz2G;1olEySG57Wg- zTEk+83pP{I7{Smk5}iRe*IZZ$K?P}|Z14IFyMjKLU5)T>CVVy8!K#9y=V2{pCnfZ6 zy#s6Jtt1S?5mpk00S+x(``?Gcy(Qf;yX5`mgR_4z45^cIA3c_woox;)`$9}P3O%AB zremV&a8*M2DgV?50oZc(hDzA5kDVJAN2;ArL zfSPfF=_EhXX)rrbj@uJ8>K}srGR>w$)`6zH4#ho8un=e~KsM&{L9+1}g(eLBq-LEar zaavad=Dsz^xMKUZk9tuPRz}lTH3guC$-eUc7#n;@_MJ<_(HVuPK{^kKnP#(ZaU8CdG;8&< z4BnUPfJ>un2|eA&PP|1ZjGM-zxP#im6%@7!J7@+v4c*gobGH)~F(m(FSafuEwY1}x zG}L-?eN#}Rd{6Q@pM;r`G(SE1QSqx+-|<#_+d{wVNacM3X(S25K*}pf7>418$f@*d zR1s)E2oooH-2@m0K%QOehwVvR+SZqvmoBZhstO7_pGALJQ&Ya*uJn8Jz`#1%+C~>` zY$hT8p{1g5B{AE7m5%>&cTUhN8SktwHe#=|@RjVNiQXCPyu;Un?US7(JDcv#d(d6a zH+@V?<8OUN_#`9@KpEHg?s<#FeRiqxqYDwIkD_qAJH%C{9~Pkk6ihMuTj!oQ!6hxN ze<)J)bfkd(2eANjx4lQAuS7-ui(#-2Xe3Q)s$vHMhSTFG+3d2kh{!Lndarnc={prl zJ+YM<7O$d#)%z#dNHh1MV8P36GT9~=o4SR7lF5_<3I$OGX4D4JPo&Jl3a+4P|+Op5!8ulaN7TB;nhX1jWtySvek6CN4IOb`C}Yu>OnaTxo` zcx7d8>t{8o-EKvZRudriq5Q`gU(bUCmKi9pJBnDwP)^>k{L(c=84Nl1s3)p^6+FR8gQHE7^<_w*Ztl3KnMZ2u=D@G}@ zA`P!jCGqj|o85qm>SUdJRG7& zbR`oGj7(3<;U)j&!rKnz`sK_z5%fjpPhHjk|6=USVGFYAiyLIFSQqvU>gy8~pSj8$ zvZgDJsnN?B$9qA2RKIzk@J5iQiH64g+ULx{iV+z6fZYHGPSiI*7y<&Q&&fa41U-a~ zZ9egWdek+CKiBQPR+6qe5O)h#!4~`h#$ozt|2-_C2WXvko?!5sm-6 z5Bpa{|Fc?-i*Z)*QJsb4_{p!icl9ePC zx8##Jl%dx@8lhZ<4zgtmhR90IRM5+rm@CJNv07qqx9;WeQDOE;(aw9(UhQL1F6X~fi&*k)0g5HVIKE&ZvF zl06u-w%Pk`-k&dt6=q49Si10c3VRNsSG`!lxmNnl4MG*tAx|*u*zqtdtV~T9HTUUv zvyCu)y2u!!rcgU=iDql37uA)?ff6|h36j0l{rK@)!6s;?iMyBGLxe~oB3#7o-fWeJ z$(!G?bEaQ}rpp_SO!ScNhJ-keB^ETIuNhs9+8oJFta4N7D}uG}N&pp@NtE%_xu1*r zqFH+V-S%%YMpHt89c|m*Np0+BI)XOFoW_sof`V|31;52(3MOANf}+F-Y@j^um8*yw zpkOh7WcLEH=&M(`4+OwZ{Q+lP_d%7czYvE0|3DbV9gn;>ME4W(-@va&!Hb?i;hhvG zIgW+qJ(?EuUaUheH97?wJg4Vem@D0FhrF2pxs{u{Y@R12HN?yIe*R1%GX>D?+Ot;@ zO@xw_VL^HhnXxgRHyH>e{h*%|J>4MTx|<_on(BB>2ZrwaDe`QgN>qlm`?xwswcB+U zM#r%+y&YSKpmLYxR`vC&^^#v4r;Gh+j8=JzLn#W<{Z&OaZ=8)Zd;dJ*Y8rd%7lbO?uBK39MEHk`DHADzU*X z-Obv)ai;?%kE%27NnX2<F-kCQbSj+1qJG;hf`r1f^lr3+}^3k7x*$sk_h6Alu2W z19{Si*Sw4;bz^%?)=8V24K8^RT(szf&rEMvdW$`!-6fcS*v5SLC~oB(DLppi6&>Ro z9{amhb%|0Orbqz1g;KBMhWSylV;@7g_wqtD>U`B7eC{NIC*yW|i$&>-Wx>|cVT$e6 zi7vL)8^sixnJt2cme==x<`BF;C^!4{U8vKpUG8c&O}*E6Q?&hMDHHj4N=Og}wSOQC zx3}`t>4P?ulAN3q62-4v)qm433jCJbQkg|uYn~#%nUWOk!M|Z+kVC3v>6TXkZcYlB5UbJgX>WjWPa5^W{?ikl(acW)p%1i~SU z9>uj*10$pmWNlY{{H>urJc~~xF8c@isHdC6owi&5db|eNKM+~F+uow?gXP-PxXSeA z4BLbi^`~nG?v0F4Kc*FK^P|e4>xO6su(1jmbyZad6PqJ!|2zcE(x)P&{=dkq(j^}K z{yEP#xpJv_$WTkdWcfM!`K6~E4ku2W$cmJgwEsp^RJ8=PeAJ~C#*+=vq5(3fHJfXJ z!hppC{qV>*)>2n6(tz+_;h-;HzL4ga;MF+b@D%??PQc>d)5c`|R>}3RRPJ8^Rsh?n z%ktht{wy3*)9)8JM7wrx3+(q^_l!swpC8K;S94NbgtWCPZI+B!hxMtOGh$JaLO0;* zM0yWlM4B3Nw5Y%kcqN1-Pj)}_{+x2Tu-M5qROMiP=b(1Ts z%GbNI^q_)K$c|pvmYS}XbpJyiG&eU#8TL|%SKRv!7ZZ~`(mRbobprr#Z&4MxWuX1+ zgJzDOKkc7>=tT0J?yV25<6CetLw13lDzs@?kva32#xWY_y!1ES!-0iL^f&O4U69_x z$#ev>ErS&uaK1Z6w}906E&6h01m1%gz!b zP8D_aeGb$$pfcAQo(hL}wyK};0nPzT>U-;I3^7#6>ZI++JUyQ1u>Cmlh4(+K?#;3Q-6UNYglRrK&! zL0SuXZ+8W+>4$r|FfE~7V{<98Vu*6X2KcAIN$Q@mb)F*C7tjX5XjBps5{jm&fs!Ue ztK)z>@bF~76M@H)FBj=Bk%_8^iz$+Mq-HpKcvw32@ZM#`BEx@>rsU1u_&}9LH&m^k zM<%bO^=NUm%lvQ3qS8)GwEbC8@6w*O%NU*yEWfZ-#(XGKcDy{L+@*o_h=_iNDW#FX z%Hj1D-=qdP=7TycjR(WoMiV;KW=G>|v)JwWro?zWQw*6ueikyMAztq95RtZ*ytCu! z&!!m?+#i>&2Y|gs3Y3p*Seh8EDtiU(y#8WO{im8}{Q)4{^+%nSfL{qG$?t`Qkifv} zCI{3;r%Z$WhaO&$ya(?T#=J?L&I&V;cI@TAg zLQd$ot4H=)8ONHs5esv)TZ#JGme^}+#iiO22xncnQIz@WGBegw;F~-C*IFHFzZm*4 z$;oaHpm8@OZv43RoiK`#Tc|s~JLDGMzW3>Rmn5~%a!Xv}os?=ZW4_U@)y%-RwpO^~ zlaleXz8B^K>5gXfZUym$?TRVOvTFa~F)Rv_cnozq6{Dq1rhf)BcBuG0co(o%dttJV z>ssiYkDEr~qYfRBRS=V_)QaELeKp@uUHf1pQ8EpkZl8TlJWy#VaHfzS#4(9?D54+uT{i z={fSe7`dt-95FC`p0eyN=pWkdr9_6qVS#gvUJfSAQGQWC7qB$$KCk#jirYrv-8P=Q&JRY4I z*|&76$Ta0d;TZ%j`P$|?1tNRp@FcJF!IaCH~)RnkBZt4*Y=Wn3L>MweD;=RuQKr$`woAK)9th#+(5%o z#=D8sZ`c({&Az5pzQJ9Meh`m;`0`z)!pHriD-72bWoj3rpZPsaw)S?Nc{xz^YcXTR zjO>xK#W8$n=;cEROg{u2i$&%86{_8@%Ph9vS1Gr=(k?4kFFoWixNx2PC^eFa9dd@p zeVcBsYcOfh4<`SyPbheH=KGL&vSj1c%R<`^?C*FZJ^A@I6G6Vra1xhueBIYT?)e_O zwZ2<)U#B;@6I>mUvyX-8nJ8Ar?F_@|sfnWpT6V5UYK{q)CyDRf^790Zvv;9#Jq)pc^#v$+;&rnI(A@2BC|{N>tXF7BdUeX)a~?k0tz3;*+Z~%kH@**?2?m5FlRGhIEM4gSo|qm2r<|7%JGGK0zsiSJw#3;Jsh-E=$bnKQop^GlQI z268&akHHBKJUDqz6gh~Hb1>fj{bgmXdbxP&)ze?n_e$Q|xK3}+VJ%FQadj-59$c`i z8UFPjD#PQ)`kVvlkPu{Nw=^{gg37=!q2Uq*j@RqH|Yjz)^mm~&f zCJM+adejxUBW0 zgQ><}>gJ)Q*Lh0lBf}p~P*PFN%MQMU*~!@WDJ%~F`~?`5ULUDvA(#(aJ=mTA(^evS zsF0z>!3JDK>K5aGoBRDcPS_Nu=({Qr2x37tMiItg?z=eV1tAw8FEtI3#n_UN`4M4e zTEKYWE<}l@3Ce`XI$)2+VTl0-f)r72AWtpmL!W_^&36dy1efK5JSDpWMcKH|UNtqc zl^4>xHBW4~%kL~CW;rIvH%BmVJ!A5>-y+64Cq}FYoXI*;J{M7ZT~&MZJbiVaPk)_^ zBVutf5~ja}X%#<5!nWUW>;Z|(V7+`16ZpW10C!7@i;ENyjBEfT0=@YQd>vWF75v2t z?(WOT`46)OpM8me>-(wU!;)XRI6-oQp}-vB3+)?GI&9yN7z~mK#X%;zw)&Mvz4IRXe5CsR}R{AC5lju);EgBS?ibn=jmk72n^OASZ{(EkU;6#Ii9n>s-9JItVa zW5;h79P5)0%SsKH`u?acB~KfZQ!bHOObZ(c{rsyh zGv73KLoaK&*Y9{{=bOAdGM|zXxd7AOf>Zd*$s}|#Jkbl{d&mbW^sWbEzn4HPCrGnG zPMx|NES+%J`jHO*Q6N4*{6wn&9QM)r=r(J)U^O064=hjnaZC(Bf~AZIVki-XPaelk zMU(>1p53-wgKQVQ29s@eF#n8>j#6NNRS!yef^bPOGh57L9tcxLs}j1GHAuW5ul%{V zf?1@{YEDktoIU$jMobrAdUmotDSEmB{Q=PLpq&#H6}9nZ|CLY5fz{jKX=~|D`?SR8SJp7Ae ze?1mk?a6-#c-L>qXkZJJur-8BWt@$dpZ~R_RW9a@@~FWa{5)pYQ4_7fySK^e z@FrvaB7{ZgTY~xq0Wv6d*dtJf!)zsxrblcc;|6td9`Jdn5O-nf06bc~z3zYm@>F5f zVOq8d$(J3zu{FY&Lk8h`{_EFx=irKqmFj9~0k$`w0&}6WSMxo&BkNGpQzn;I#2ag9 z*uVX>jPbVMZrv^;q0rJsaXeQJJE&8EhQO4?(9egkYJ~^oL*mIcNqVu;B|K0_9j@KO z)Xp1RQhZr&DP&`Eo5{wc{$DP^c|H|E(`LAN>U&lsms{VijvCr>pccPUN-&iPH7a^_!cp)nZ$j}{;^ zQ!ruu$wCGeU;3JtUmd|D;VDsSTz*&u^V*>FY~7`x0%^ML$>>;I4d@ znAlB5y|D@^tvtyK=~|peJ>CMS1j!=?-Z3dyxli=Ifi~s-vlplrpriv(AEE$=?g1ef zYu=5#-p7Yf+U!tZFz@}82NWCNB}>m5HbQ?u8g>7CczRm!;VJ6Njf}@L#O28XZY!EYH2=o@N1l8n`L%>n9tW?i=)x~B4r`Hg_`7^V?#Qe>MF4fD`T4r4A#)a z2M+|H1>09vqWRM&r?nMVsNwqhWW3i_$ciew!XhKJ4GgY&#j?yu*?+rJb-Nl$HtY3f z2sTN*WKV4UW~j^<9SCzkv+VsyVphNzWPhiR*z?~7uy3oKnVDIZ_sIVqyuxTs2r!$c zwpqYVBFwYd1vUOhE|wmT<$ zD2CN73~nx4G(m95JaMMiYAk%JU-kPVy{R;w$MGxTkDB_m{jO&juFvfgSia*!(S7cu zgKxp`XGLQ0%wStU*@LiabJk~kMR$J!wgO@=oZ(njLAW_BvSJTZ!gkn; zVaf2)YF>8S(OdNL48gR$t2^6AI)vPZL3qcWkyc{Qp$%!z&-g3+uuBW#s2`R{24fnB zOJAP{_!`y@DiDgY{0a#QVoMW$D+tXWzNnTDsr{ex7jA9*f5%_QHBr*ljmCuD+1Xt0 z&q5e(W`A2i!)_m0fXdyonPf^(^g-3D`=UXyKg0%lzq(<)mA&{&_$$>?T2{?=NUp~1LmLqJ8?sU#9?XlxAg z_spC{Lyc}Vjpoj>MIGAW6phcu7ksjKq|Sd!qEVL)B6`K4GTq=;* zKToJ@8_9>V^~W+jkFE@7Ro$i$7R#PsB{H8de{mbZ)kAWerr3R&3y4fsHs+`#7lOzOU7vtcw4J%R_xv#hT7voFe8b1uK~6ZhmIKz@|YOXK$ejU z_O?9T54g*X^eoOoqI?CLHs}m{!YHY!_3K-?faN%m%uZ2?-oF|L+Rr^v);4lH&-O_% zP!@PYWIol$E&S+wa$dAc2FYp-|jqIzoP|7uk{r=T{By|5v5jCJW^K8(CyVDf09lVQ z&%Q==`*k%$OWZ~1K@FoMTtB)m&k;$ZQX+S}&c9Uy+TlOKbV*>KYQNU>WRqQlepMMd%F| z^U*uIVo%aXM{mA5@|BB6PElQh<$;;l{~XF-@P7eiP>uW_p$zFe|5rd6gd+S^MwaOA z!IcihG)IWi2>pWg5L8yL-@MU}6;@pn-A#{LK19q19-hk6n}jp~`wDhpjd+<_wMWOs zwhGbU?eq|ikMS&X$?VPc_vjAU|Flc9xkXj;*V2}vN0foHPvkfyEDD}McC1H#6Y`BW zRKX+O;mZ>fZvp^B+ z0*{TH5Q0P+xjw0)Q;6kMLXVl>-3E^U*v8y+n0}10hrEJ??iLMJ=h)`f>Y1}J?<2p zy#NZC%lDTlHKx!zVZzoMIIl3i2^@D+>ANiHp9a(ozNU_s>58e0_T1V|wex=ZTv*g* z02nxYJ5BWZSSSf#vfyer-exBQiQJ)>BSVxT5@jB;SC_;5_-z=YL@sZVE-7P;Np6T- z-&0fiF%)^6l;;u&6o8@(UMM(Me(k&>AqU&Q|5M^ZZmBEwJr!$pq#M!8J=NvtRC1ek za=ZI-mF*#-=&wQCf?sRgu@JR|Ue#%?IR=*3BVuLS^SR4KJE?yxywnR>2e#D&h|6uOD+j6bQnfK6f&nvpx zoQy$%^!Orz%;&;&K~Ql3Ya##ez`lLa$U$q?QbW=g2&yQd2yO_#fA$&#J)lkbz(<Bz%aVx$8q(!M8Iu~=FY!L^3Qa&nF6j#XD%P8xQm7xej1qK zL2ZP-c8#>Cvx>m&K$5wC;1I zwKG&!$7Kghlly+kcTJz{@^3~!C2}lM`QEtYfP?orEb`X!4E-;Pw>gP?KZZs z>M-^c@(WDmv*3mq>X$=o_WUzs#ibcukhyf|+`~P=s18OD>r*oi_A*W`1RUKwBR$H= zTm&%|IKaXOZO##gYMg<=5F!Dd2c1q@O)~nf0hb%-DWPdak+ylMt%0$({UCl1ZU9g~ zp}7Im`y~&fKxkT(!{fkzF2gWEx`J&N4o-AqezLq1& zy7Xyrsiau}qLhHnIH;GQHtcWBa(u&gJhJg;++@Tv_dEz(s$0fI!0wy9O<PwJA)p{M z{A%u`olykGAYguk$_%*+#4avVfDf@w5upV}WZCSy%O{V*x(J>#Iy#jQ?O~sVgbG|` zc@J9rz4)%=_}bQ{Y0$UW*nGC=fvyw@&da2Awol-bRmO`+b9rj#XOt4ag5-7^CmmqQ z%$cPZWtALX<)Qe~&IyL)6C9I+gN=Dt@znYrv1y7G31)bwn5d1D4G|8&N{SfcrVZI~ ztg`qLu4--V*yw19swJ{{zxy-U9g+YJxt<^PyT3TN*W`PBOH1ldAnI^9FW6}I#J!=I zi2)3*Rq0XD6#8in5=pI!-G=v1E!gFmE|4E&a29{Ks`;TU?rRX>IUwbo=b5ko)L{A;@970uHt4_A zyY`YjfBqbVYG@(!QT_Y0eQEFLutVgrxPTxRmjxv84mJ;zIMCDS%wm~x(*)T39gkfFgt@t>xFvEMfnj=u^Pt~rgg)efm zIG}qL7IuX77S27~WFUMz1s~z|L-=^wvK_ou_#Z72#{l&skWt`xt1$_!H=Qu{92xKKU_m5JyozI z2rQv40ce4N>^K$iK~4snMmZ8iC8dHPdI~Bk5!@5niv%J8_6#(4TYG?JX&p!-dYJW{ z!sgmG?*qk^6TfeTEX?>sDvCEJN=itMQ;fk92D|&Kthf4k&QJja!3iS#5~w~%^PUEj z1vMMC4>0*1aSbD8_NO73`QERa(x=t`4M2k41klvP0@5!kktml>bN*8>leEXiUyw3^ zs^PIkR@L~#1i@fafC3FC5Q+Ej6@k6;)7sOjnYnAsX{HVX-vu2S_#a>R@&4FJJlSk2B@uHLN9u+65yjF7> zyE)eZmPVQSWsUJcJA>#C73vHIXB!SAN8e{1aHXJ{Titl{=n-aLz-#ckB*ON7#u?g; zRxg-ALiPIf@9>B%q>^O~6`gO5ZZLc+-u)soa~i<-G%XFmBS6~oeSG(Gv_%NoXpi#( z=!WA8bkV>quTB#o+{QPrU+YdpVhxOfHpj}Exvd9U5K2K_t#>zJcI9(OeBjgE#o9Y< z(Cv40fb5PtXXQCV3OudhL?XFNZ@RR*yE}L1;qjLE#`wRDHy}TUxI(XpUrelTK8Nsp z;I`1lv{foxxZrz^*~G+zPjfRoMKz<3Q;NI4iTWX|0?P2Tnihg8+*gkcJ5TGfFL`pi z$<)!SI1EIQJgUI{1E=j~7p%P;O-@EaK7hEuudSW1dVS8rEHdnuzUKg?sDL7=`9JR8 z%Gp_2pqL|-9mdHr%KHbx9%@yc9~2225D6IPy zutG-_jM0XO!Ml1|UgjxVgjj05{(P*Y&@!~!aU*r+Ii zECv2d!aos@M0ku+QZBNFLRJEwv|gP!eQ>dGasy1a;E)ckJ3vb6U>JBO5^@oE+=&1n zZHnSwz6^yuhGz(@8kxJmdfmpxMo#Xb`VK(+a5bKwfqMSfe!qVr%dtH11K3~-xM+?Z zCEOuTLqSqmf2AWb3GU146Fgy%D8ukrHA~|d@{5QSRd3hY`=+H$Fm3(WD}M<(T$sDJ zU4};m7_o%hS@RQ{W3;&Y%!WI6kg_~%nG~_$JUE(f*15u+sxtpzAKCccussh(lN4Bw zkxrQ;D+8%^ko*8=j`+_k@TSFF3t)ZFD<_jejjvgV)zTA|$wBYI8d@UEFYNSaFUu?F zezR0hu(OkX5LJUHZM_F$6YFRW^BPZRIyXd#y}p~4?4{3SJS*0r6jTtB-2BO^!amPC zxXQtpFJClj;Bb@kyNpOCA|fJ-wc6eEcZ~ZLO?gebqcpy}y4aY@tHhxa@@V&ysB@v5 z3JNkG*)KE&FzCfF{%N#o!jJq-S-(h3k1zf-3K*K_>>?tnn%RX;kcg;+VJ9-eh-@Tw z6aIPFkwg@KRLzjv;192UmSOxsR4fY|l!(a6A66|yL<401i+-^B+HIn>?tknZa4ih@ zs4<^W;-EY0T7YV~@;1gW1_sHOQs)2s!Tw_Ny&TUEIys2pF$ypGOfc2BeOp3Pq^D&} zLoY(5xV`W`K1mVZen0)!Q$)+aS(h-E;du7A>^f_xQlgX=$20Z86x?rARxs_D9h;aa z21l;0^>xn_xP|8C=Eym3FpPmuDqO0&!f@Pio<5zQ*$?R)&W^pycUmZgN4{7(d{5X# znxrL|Bc>%G^BT^=m{dqF%#X>iMOVUH5p>_G{Yx z5`JgXx`XJ2^4~OjwPa-}sDUw3o_Cg%sRswu$J-l)@X`GjO-<9)bri8gZEg8kkRoaW zzFEr_eI*W?8|m!6Ff6XBssgqm;n&#MxQ_);A716vJvxl?l~C(9cbN#m9s-s7e}7r= z`*_)^!wR$v?@{ez>nCBsL@Y^J>J$v<*CyxN$yhANbwcId+FCjKUj#xgGTl35!OSYI1un z9UUz#2@A#rz&=cbKqdW0N+MU+I{8<2u)jYRe75NV4a@a?^jG5>(?4J{!;KZPjL>A- zYyJOv=TD1R)!e(^2Ft?lK=bIL>)DwDe^ypno15=0oQ6jhMhq|!f#=BHTq|g4z-dK$ zg31AxqqQ~IiudG6=+H@PK7RT{HvE$wX2X~!X=J6ImH4>YKk2N8wMxG;==;;&&z@Pm3H6-Euq?i{hxq`$88$O840maN#NpT=_^$V6ySJyo#b|CRjy4H*T z`|Vo`pAzH_J~jG#<1Vm*+n9GLMZa!b^d4P2>`#e;WUKhy)ZM51@XYj5;T%O-T8^P7 zoY=XzxR3z;>(@Kir8kYG462IkVJICFBwbJ^c6_5Z!|n`$<1S}bV>o75nT+A;zu_Yy z5+&PF$L$^e0v{Hl+4%R%Slfzh5C2e9s2Iem zagmXbKplwU4-F`uPG}qbcI_mp;wIfu_vfx~XUZ*$q8+jHW_|DYTo?ZzkB7sDAwoj+ zQMzYM=}!Ut=m@^Asu_sMg%GYf=oZW{TF^zOr_;d347#YevzZeApDWPLbunY)a$leY z2b+Yc@7M?*%oN_gus23JwG_fL<}VP==NAo0SZxELdDsXD9|oJu>(|sAJN&URrGLQA zD!QA#hU&_NT=8hQt8w`LS#>M2^=9yWdF^DA23M0z2*{OfhZ8o>Pb@)48?lfIYcr72 zO@v~=$EY*D<-~;5q2h-nXdC5k@b{&`l_ghqY!ZF)4$B8H%@MW$9ktz8zVXBKtHjM< zLAAw+_g!QpMfS!~0pm8mgvD=BV`2Hj;vol3r zn!36o32wnI(VJa(;K_00C%?qqL4&sFFs(!_+nC-zdGo&>K_s$bhDk015^>)|Vzn-C zke%_SY~tcEn%GYg^rB#Q2;u@{cp{KGL#cXL2FixLHqo8%DsE5y*W)3t-+G|rd z)9mTvzs8Zj?EKkF$?#v-`844ND`Z)Z1u?aG#=SfQBhyzqZ^QBtj}{SUlIPhA@6iM5oMAzDKFFl6n8SL4#l$ zM6Z(8>FDUNn6F>-ftm0c=X~O8pd6uo$l{A4IJv#vs?xS%wC*-({{1>K3Hd*Z^LL83 z7@fKgxO9pnSX9 z-||?Qs+!Ge$3>Y(2oL$(Wo~h7WbWa0$^*EgS!QYhH^e-pdi*Y2$59iiVBxNzt$Io4 z&)afhG-rDh5l#Q2_F29pv; zv&Sboo312X6LtAj@IahPG6}G*@X+@@j>s0=lrE! z<2IHwA9Sp$4pP#4T&s^cB)?O(!$*=?N57YmmK(!3M14cvd`4!?@>j9Yt1AYSZ^{do zDxAK()yW7vBuP!qJe5C>w>BJ;^xG;bMoNn{lszzU_=`4ia&@V!#djL&;rI_XGas`UdiqfBkRclG&Wu{!^{AoQ3NDcnekFTQh1*fN@?)`dI{o;f#JU|PlMBFOeGvtzgnpju5{roY? zsWNy=3qP7``Ind;u}VB@)^h1LzxHL6Ow#rz3J81Lf%;lTzazXcl7z*$)iC(U6R>^k z>} zajpPKiME3`AuP~q|)f?T2()-hZi|Mm8HSS91h8v;Ro;z*Pvs}pOiEnM@ z<~$W6%6a^ZY>st(gr2zbdO z>wLy?#-adCTWHw0$#(rm#b>On@(JR$Ka5-e)Uf&@R)mRZXh$X^elBYDqGLMdA39lT ztJtkpmKQ$;Uyh1NnEmo&e#eftW!>2s*>B#3IKkIJK#1Mpo43TkZB4?bA7uy%QemLK z6&{Yu<4dk1UHN*_MB@0=FS82C3OBd)F46X`u9TjsxF@&q?N#bEJj3|YOS6@`#F-9X zk&65uYMwo^wHGVuOU9$u_6*oE`b{{@c#Zm%876FuxUza^7T><-*gUQ}mtD=Hyap zt9kvQtWoEwDteosrUJf4F3v~U#tt>@*c%O_QnNx#!hG^0FQx1!A+a&z?I}^M(d^Rw zcCe?V3+>g&+@F=5M0E$JybLb;{fxKkc*F3Qtayex|ygdTE zRL^+d1hxi`4~leX8Pkx%djgci4NOu>=rE|pBpTV_ut50cG7%4EHCeqjnE8m|rXrY3 z3<53z>Vp69h8E!j?SYYl(S6`TgC(}ftp^ZCHu}B-hVY47i)omS=bH^dR)-iUIA1t# ztxo(donX|IFLR#zf#Dj#`r%o_M=K%PKzCK2ujMZGNMv8{hMD@?0P~*OdzgnH`x_`D z=twe;(D-JBWe*(n8FyX{sh`Qhp0rj z@)@@_Cb)y3=}u|?{oQM@LkQC`7*n@23uOeGJJl4@zFQ7lYqs{VANzbPqby1(6%W{{ zqfb0HMwocM>?N`~Qe&<*&Ge+_XdX4uS3%VsrZNvCtlKe)dq z-o3ji=FI6cXTtlVtof*mEc*0I*9p1g5c$Vmq`Q$W1Slj_n_8wGTu5|1Yh2^g_YTV- z*TQ{e&?yJ$X)vZClcU=#rQ^Xf`1=!t1&x8i20TPkrI@3J!@078iq3C`Z`Zr{pX1f`{=VXVYG(B5ACerwq0 z5Z;9Tk_PNX-RBS;WXJRg6D<$CcUZ!ZumCesKD%@izKNT!LF0tcH^FD)fbreCphEif z2MPdc$Et(4Tb`Ywuk=|amSe$-7geEQE!tEpuVA|U`gMJ%PyU*{$eq_o2Zj!&+$cpV z-ZBZAZiow#bi6Rjkz8mJENJ{>D6mOzOBamaLu92{^U^OlH5V7wGg#144xXms)fS>A zo$dz(%3eAiQk2SVWx*H_78i|q1LbN4ktO)3?Dox@M_0IurNP3Eap$IdDjzg0v8Oma z{qg-#cuUwz!;O`GCF@4Ip$=xdIpyVX?&}~G*(W*%Ib-Qf{@E|{Xp<$L=ML3zipOx5 zN_72|j$xq{MxO2wPODZW*JOL%(@h_c!Et0%nvtQJr60w#J#r>mY4X+%BF%>-+ryjt z=RfmZPPj%>|M2N(&c4yUD3i?7PfP0az?g@ljTmbnNo0 z_wN(dh2bUSKG@b)^?qC`dl~}cJ+W_f#afEW%K9@Axd`{$<$Dn1!c$6-gpjC_kwFIq z38Gc{g>}2I)knt1U(vxp0^Sr>ykRs{*-y#eI{fSag`#I}{uPr`jUV=j!C?;?Y%$GY zih#g3H#T}JXzAz}(y_%od?+w1+H2^VQu140_D8tB%5z_JM)BwObUmM{Bqfa(e&;y$ z_7Hc^GOI6y@k`h?7MD^kM-mt}=%Mc4UzzT!p~M&n#^1U_cAhT~REv2W=IR)dww1mD znsYl#qn2Bl#067oi#z-*zHyMayTiOQ6y~rxr^7#g_#m^KjF}~Tft+#0EtEslxR3+z z83Sfek&In>;hutlT5u{aAZWsVyS%P?r-VmFK`Ef~`kVjkgM-7uPt+Kko31d7rG}#m zIH+EAeL$A6NUGkd#F;DcLNN14mQov^Ldnd8FL|TT9>!o}_1?k?5|&`8wMo$OO?SS~ z&LNm_VT{icssM@9=dIqm)Z;kK#u=ZjFBIdU=^sPesEG+6bYwWGH^+EA^TMa9?!ht; zPG0%eFl*>d@WzPP&K%iFrullzNDVuEI^)HQVeB5`MyfXm`>Xvzu(}L5H-J_1be=t^ z;OXftrOWQZ{zvSz76PaZ#<%&ibVZl_HY9!b5DnAD&<8P|bs2qo{qAJh=(#>}&JyWM zA>+S4F1;a5mFJ-=Tbj+d$y8#%KTtu%!p_4p3-23=SOU#9h)FsjI=VrQ4rUyL_JO?ztabmqVI!^hhyb=KJK>X$yDs4UeB{j+b5(A34eUrD&8&WPRuKT((QoL(cuxTwQktL18z zPfcB+@sDZ1DLX_#pI*<4fL9mniI90%9xFk40*@lZ{>H)e*lGj*4&Vv6p&UV(h{KNH z@Gvb8lLFdxLjl@Aa4Z14zs>TgME2ak(H0C{37OBDRTil^*v6m{jkfF`!juSRNL0(6 zc;*NW_$fIktD2-r3F(wDu+zLZO#6Du?n10rm#oY@+&(z z3C2E68du;Cr6qNkXy7ZLg?bCt*wbq~awOmReJ9-5>f@6(LT|*D1+I(*t`v5>R!I}E zEOu`?bV{jnv*B$BR0KWl@MEg9Ne*0GT*RyzlOgT*Zma#)l_{3%0QCv37T`$LS+Zj) zkQYNS2d5Jxjpr|@_C+6_f^R}^u{9H6 zQy{q!5-LCz3hIX>I?UxgSIUN#Y^g-oJhifIN3BTh4x(79#R)&F#63WK;-Ow|C0Tdy z9wJQwT+*6n;&bcE-8ko)7j;hj{j;0&XIqR}IEPIA8n&yhB{Z})*i3^x);Rs{pJm;jy)=@K~0qYiczhnmV$M1 zOUXaQ_S{n~mKM`s{=pw95s-8A-P^C5rH=FW7)nok@YB*VE-HC_hiBrd*Lja`ja9;8 zB}F};{+5dEzy{3g6nQH{l~9Km8IK@4C5~;!UP6`Obzi&j!~k6Aq&NP^&i)?3_J5pR z?Ps-sc?QzD1uv_TkdXm-nwjC|;Q>j8wahQu#k>%jiDl3}e96HMliEclpWS#SXz1UX z+=upz*%wF>2^n{oH*|D-;8Vf@hz$c5tk=XxkGgU0JQ2|se9GSubo*@Y*L^hL_r86^ z&y4LloswBi@V0X7S;pX{-oFd5Jj&wyp8Gkp#_E*F;1T}U6{n0U&9Rb9mz{@$RCJk& zvuA4KFFqls0HIPf8mcYfVcorkaLJp2Iiy82JWOnjQ(2`G!_S`zk2xC-7Sv{o#P3`c z31=6Vip}Nzfm<3SO&qmva&kl(FZ0D_a+AVq`%!Fs z)71f$=$qXv;2yI-JA;~!r3%#QO6DGS<4}@OHuMnZOjKCq>HaRq+jm3H^_0;c{UDI! ztbYH+Mp*Lr0oMBH)yoKdk9TM!&SBxiaZ=5KL*NZ|GoLELx ze6iX>xCt!0Em+wad(z`@CNu|*9!zOzX$SmdifA}6Fvn&)uoKpqcXjSNJ0r$b<5W0i zv9sm3$bPlnEB(~>pMAb}4o+rv3m(&?wmXTaUwO%zGRJ-?$zQ@iqb8r2T!Aic@KT!t=Q48TT*F1UmRPvr>cnO zDwqEJ^XVnYOtbdI_&XhMjwkknq!HT&hGW&|1^Xke2{*tKerq_-k=dxv6yX~(I%;U8 zTzTOBAeeD*oclF1lVS~8QUR!VG=fIhLL;6(kIE7gK;X_AD*`0g*hc)BJYHC106hC{ zDjRgEM#Hxt7tD&kc9Zg4`qi~~58BV|t>4>rC#*?GNI(bA$x3PQz#iFNnnp-r0u`Vw zEfZTmnDh}`>J*0$!~fKFaq{|XO&Dr<=GxkLmgjoZR&tNbd&X#cW*;`5ahRdIi0msp zaDfQp3UHavoEcDP>F-}J?9sNLqeQW;7qTI1 zb_#3q(AmW{!WGmD#Pm1ObE{OH1|)vz?FH%0fkwElqPg8bZ`I3Pbc5>%1qH#C>AgED zFWC3??l_Dt)JX994FV}yg@@qgBPVQeu({iRM88KaQPM?#;mG+RFO{qEAn=-lJxsq5c_O&)*Bv!Q(Ozb^*74dn;`P)7sw~SZLO1UL%CNfKXodfm(?sF16g@V9yPM zZDpbQp0S;g=96DVKA(E1hd`)R#MLNA3)F_rV}3;!KpDigi(k3Ae3;1~d0u-;Yd*qg z&wOQTu2j37UZm}3et+ULHSul>jbp;j>B*SmZ@@*a*rLx4x72afS>_Saff0O82tdBa z>|=hv0ydH=sY-qC-PglU-|pQYA~Z1gu{$8of^lXh#>#g5_+8Z81hy$*pHJTfyMKOu zTRdD5M_#Vf!PYhE`SSvFv0-5pRw9J-C3suoGORriZ)ettJa8u?$$aP_4`VPD1w~jy zM3G@b7_68Nei_3+Cy>Usi-D9hyLV>tS)38V60;^G%X3vrB zEo6yv6E!t4VyFP^2S!J#83##7qJ&Jtd`8&r^j=QC347}EJdsmNaB#@^`0>JCe+fz| zDyXiJdq})zPwl5q;t~eoD&TP+*uNhH7{t_BSY*cQ%xsE85!Qj({&cs*rmu%nn9V)k7X@`C!_QsSsXbds^SoGo543HTDrB@Bk*R-4 zzO~LNBU5icRiK`wx+W&z{kLx7(LR=^S2Kb|w$+9kOBbuq&PMU_@iHToNJ$Z)$%IuI()bIPR8va}>U{?B&NwYdqNT+0Y zKU`3e-nXFS?GGT(RWpq<$u}tz&cvHLSw+4++?4V7LsqzJhJiBIfyyvux0#qC?YpeL z(+X5w8A=jni&S4NIi9qH%uVc`V|RNA(X+?J|MRW>4O_pmE0r9(3DZWR%T|X( zy_;@-v-wWaoj5yPuI;li!F{WVzfEcA?nj9q%Wavd(cg73TZGu*r;?(Sr1c@Aexdg1Bc}#E z>*Dd$F&*(^loa?D>9jDRVuJtgY4iwd!gOmRaN^7Uv!!pZg_-aRMnxAGyz#y&PnC4s zclQe06T)=$U}@#$i<4{bR~bG<8db$){}&hFz&+oPhOP2#hLujk7l$q$xUqrJp_A3* z0Z+!0lL4a^vF#V?b3XjNpZc`c?SsMER^kGcAI~wo(-S2Xerz98zWIytew$L1mZP50 zcvczWBHY3z^Lat{(ca)Dve6?l1#)4-&A1_j<_*sxJ!nPd&5~5pMJlAUo#jckpK`Lk zdslI5!Dm%o@J>3@yPNp6aRMYe{Ott;Z|r!PXtXoM?QE2PvS-o7dbR>3pU;bF}Q7*0l@)@6mc%!zR1C|;kyM9~{*-!QFZ}_q7Wib87V@XQV_PR>4P=jwkPKb+y z`pMDI-@gtTk4j%9eaHS>TBLr>JFl|r4fhnkC1=lBdTzd_T52M$(^*qS@^NYA>x4%- zb%4=E>5#75?oT`wPp|A;I@Ot%%2e~zQ;B@P%d6bRzb%1GyZqV{%1h5nAG`YJ`{vxl z)O!z=nmf~cTS--GUr#s)I~cnhK(pun-j6UL&ddxT7l5h<)TYG+6G&@75(FFnAFAZq z+2=0j5MY7`9ts&?XIfOGiXI`s%0B)~Hn1@Moz zcLiOJrfTo8r3ajq`3OPZe4GT*~XkuVYo^m5PG?b88y+dq};Pe2( z(859@@{E((jCh=2Le4_SzC3qzKT#EJfR}+SpRL&NqYysdjZ85XwWi%qvqboW(yuTL zemNrJ{juq@&HL&Lu8ZhbrJwn&1PWAkQ016S-7)*FM*qbrS|<)Lk&MEfJ8}8Si-73? z6^j-&f+=lrc73qAwN*K%2Z@(B?LcN~cw2?TJy0(BMmmV`ue#WvGX33~C!3`T(i3pi z&OjvGq|ERHIe+(~a&vQQ5(XCjjQqpI0(Wv8q9sm+U;5{j;%gEJR>$co5&d@s`VdRd zJP2MHa=Fiu5TyB?9R%AWAlR@y(yx8u>$_VbZMG9?4(L`hJ)XzJ08xT)$#h92xm|%o zJy-WUUd!_o5m8OE?rwUg-DP1Sm#(a7*OIx-Xq?se_1dV^A2jdrm}XtQ{bq8mH<2f) zpiaR*gX_RZ4(WvXc7Ha%cWXUYhvdcV0xPh@f3TRiI_3Q9dnEIyYa-7b1VeZQrEAH^ z$~G6#!(0mxz5DE6PdFbrN`a!N{@$&04D8TFNN~_uLcvt~@nh84zpza-H!~w)!MG_u zVBbkFbD^Y$a0J%f+9@}h5oAmLs!mRp_}(w)A(0+G{8SxvU04pR6Ha+gE^sLO1<%Tg0oHvT3&zPba&s6`{uOuuWb4w;PSC$|`Gb=cPM{5mw3JfoyZL;^FsL)Qt>ybPT z41`~9zRCic88`{yisK?2*zFDU7oGM}-&M$`r2h`@(o7USa|Xm7FpXCczjBP_qw3QG zr_r6El`9*Ax(fphp#!3rdBQnIfkaVR8A#p+h^yW{K3Q955amn&Mc|^0JB#ku)!7+l z)S#4LTgnduM>zc^h}QZ2EeSE3QiO>lwlus?9i*CUHYWKKAPy^mXsEE(xg@J)pAt79y zV%P197i)o^kg%YOvXv~%2ZNYkAFKKJ0@z~M$KG$uUv^CXCzt93f#l`5j=~;$H}@e? z2m&F>hv7OJWZ({wiF*l#^=CQn5p3b)gFAXK0YeIkDNKEk6!#SI z%yUai?mz;XpJ0SQ2yw>uc^Ez{GE^g0MqdX4D>P0}i%owD3L?YIcVrHn&S@scb0&pf z@fA$-K!zuXZTeHX%qo#+1Luo8O>E!jF7XKoxf@oPCkf@|2iJ|{?U08{1-c^>w}w;P z+|7-R>s>h>cTarW`}a8QE3c6xh54&uriD^!AD__r&8^&SzPx>}d^K0?Qd03Z9fQ-u zf97oXO+xlvITTF$C7>NMOM()KoHeo$S{p(FcW`grpS7i_((M?GJb|iQjpD2Jn4O3d zv$rVBut(&C<=29SJ~JmsSagHpV9XIHH4&uj%$jDgBf^d;@Dr&E*s?KTFApj&B zB7XbZ0JrI~y2qWw(U}8m>Q2K2VPupp{DusojGNLe*9e+=LMvEck)QN{#HkL0@maDP(`tHjU-lkiI+&l$54> zZ+DwN9RT$9ow7<{xle!brZu{PwAEFrs}!pnB{uJe*C?6q^Xy$tvb^ z9HcF5tILIN6@C@YNzAX2gw%I(^mgUiEqQtQe^ZX3e!5$zEPpCoYQCP$vEwqs1$nDR zLxINnDlXxdxSx}KmJECn66<)@d_(@ZO45<}!QfAu-cKklb}}?%FJAgUu!`~UkYX|H zc%=x5;tM()L>pbVb+Gc{p?}BD>PQ3ylf)9iqkkU@?y-e@6ZUCS##RQWfocvmLbMNV z1cnv>#le%9rrBY&!{?|CxlFT}SLsmHDl_704^HV)uP75Da84@nKS zT;A8b{1zr^1UF-z$fvdX`PnCvu9YB28aJdH$2r^-Fnz%pQIx5;oqTY9=zP(DFsbI5 zG?Oa5w6Z6GQq9`PW+3PrPyBQ40Os%CCyGU48e%Lg<$?+cQ0$kV4$u!8(TQ0g?k8!- z@#5m3RASs2;jb^C28W3!hOF=t&?*t~(lh_FlT4-_N=TiFm9uwhx6I5)SyYeomgae- zd9nEVDn{|`8@li)s+Ig|$H~TY7tsW!v(G!NL9occBo&t%%z1Q`dh<>Yds$Z>XV@HNNjZhS`ue0lxP$##gzFu(~ zB^jzS_jO0qe&Ltkm}A-#8x2J!@-c8!!q?^k;&?7zv>bdF9(zZI#09`%FO7uBZ`pI_ zyhautB0)8V&ElTd>4Tz8H=eJNieg&&t*!0c3A6lXE1hW|QhcbU=`taEqQoIM^&PRU z2M-;}$;v8>*=xxmB62&q9fo#xyU6@xswWn*JR&iWhS`j%+di8{>Mvd+2_*9u4~q4C zljpDI@#~t2sL{7n|1+fU^0u|>+?%4?%0~5nk5y!E_egXlmgWQ>-Zgs+gH0M5f|cfp zVS;!s{pP>H@9vCzyu87}gZ(R)w@;uF-u|iV`F1VTr<4;Vp;2kUY}pCu2P7GhJBrAR zvgG6%Xe9cZ&iO#3bZGWjm}SRs1mQ~rS|%7! z%V&Ij(+@Q&ZZpU|42MK{wB8{Eii8EDkX>aMUSSTOV$ob${VXf+4$6h#v&&IF$8u}t zRy9o(jL#6iWO)=HD@VAh6?($9138|X=9*<~)J`@6#yg0cfu;I}7#pmSiLRNdQ*XaN zxr61^B|TSB>XN|8^vwb7QsDQ#ksLj-x+vXE1n-=y#D!Q15N z70O{Mv)o-lcUhV``A2=8cw|i)4gI7vxE^`^Uj6byAd7VSr=op!v##g$ zaAW;?f!GF5A7coqfH{Lvr#g`aA2x7!va+*_zA{-iWF_D1^^A{qw}XR6U$kk>sVr4< z?_vbSQxNF|L zc_A?dnjVfaoc*&91x_z@lsQ2CZ`CWmP4HZDpzS6!r?SuY9*Ot4z!QlTo$tZ(m8^Xt zaUBvF-;jT>&y6;{CT!-2UgJ@v)m5XN_VOX0FW!A4iP=9+*kL`wExMmi+@yS5|A2O!C^JxpK>f|bo)4I^DF=9`aL|29_0B<$wp-u z7rA1~nSGtWP;eqakJ^~Y2m}bnB0Yj`8=m}jW|2FJQDrz9&JS%Zi%1yURnN*=9#4S- zCl87_fU8YSZeWH?@|wD;%|@v?zJCVq(Fc0eKGo+)_@kBZ$)78*BdZ!ofrj?>3pgED z-8@izfYAlPy5~}cPWvF@k`5%di^2|V{mAQnJ+V0|aD-=+)#`}VRF6F9GgK7sb}|88 z4|BkaS*pgy#`b%Y2w5sYk$FQB_MmS-`LoVuREl(LNa1$x+`;gP)aEpeH{nXPvl~^@ zj4WwSFpf^OEVnx}eEvPjcG6|}t*nYSyKD5;8QXfhi=Yi$zig(6tjCq$8}=Si zKL)Eeg3V0J-$Zh1vmIto1$-LYf%-g~fz%u=OeV#?_-ksEHvI~-bC_|K0oDbMN`aJyUeYi*1pN2F}$(*G7`Wjj^ zzT_P+MzQP{&i5JtL(i$RZ68%zxqIVkE`$7uw*@M?kcztpU1ax-f)e#-<;kyk0v0a! z?;FEa(#VJsiOsKG;k45gy>KhTMqFh2 zKsX%jd5Hmq?YnbLudgT5D=HN|`IPA+SzXEv+H8NRy)m@<7|TxKtZ*oNPLP!2T?TGZ# zzWg<}!v~>I1tB*|J~$&8DRx6~Ql#DcYaQ7t*uFWW6Q>&qXCG{P;I1_}X_B$cLNq}8 zu;l4xA2r44L`2}*LkP%qRPA$2M9YY)3wa4B zET90j`Cf^?DsuPpa~w%&sh?BRiL>vySPZ`F+B*94`Q|wgy?Ux~OR^W$ZJSXAS@6-Tk!4pKhYBuCB&@=n(X5baWI9Re0;d ziWtfwWBv26rGocUwQlaaPl1gnCTB9&rhflcj+M(4wmuntY4(TZ<{izJyIA(PguVpV z>I@d|J3MKEk+D~n@2398AL(8N{E-eRJ`t&UL9>P}KWzBo`^4(|^KVQ&N3N-kwCLgt zNLa}&IWCRcN^pv~znodEOR{fYU#^}{R~=uV70#hYSfeB?j+D}Z2-ewxEpkjM$N`qd z7rd^fCASLVj!M{jsBM)S-L@Y@Os-t=cZj%t-e?>{I>$l&zR*voEL|(4V0Q{^2ZG&- zQ9PyOSF8A;-FNgluGKjTA1!*VEkzN+cceQzhEg4@X?NYAe^Sn$Qqtbs} zLj%!%rs9)?5FKpc`JH~hfB)VFH-J&p=EbX5qp;-wrw|@!G`^`pST^WS+Cro8L<84K zGIbD$M&ZB+IIgLo0a>Er5L1+Hw|ISm015a2$qyDo8NLpgyyIrpcKYs2x#g3sRi8do+vJTY;H$QX#Yxc)~>bYUt*jP4b z#VM-P@6~Kn1{Py%%#BygHKd34m+9fG|J9XYDXbY#KyIXLDcldY@nEs>sEFcx&N%y0 z?@l|cG3Fn6!b=})n2HDq z5zvgojf>NL3j_A8gFW4B3Ux1%Nyr*9WdwwdByjr;IsTSb?qG?wF{rCQZdS_|faB|$ z#$5)oIsibL^8?D4E{RXX*?R!A14YTI@9h}a5WjkIhN6uV`o3i6A^`#0!?Xb#Mk;u0 zJHXbv(n)OqLaF4~bCnMQ-lX)RHp5j9Fu~XW-yA*5d(akOgA7$dYC6T6^mO3#t6*d8 zdf-*_Jqq!@A0OXIy4Pm37dEjEP=6C#Xq29#MYYLn~mY5TG$W z-RrOcAS712Rbze1u?)6GZ{7&UULnZ?7^&5B_l;e?Qs)-Hww|u8J`3T}+R}T2S13q! zOEL!6eCHdx>f!PJOkx-8M^XaW1qJN^oxlkz5xE!uJj&tv zMQ`W@J53Js6Ir{hONyTl13R?BV_!7RFkkq_5yodMozj$vo>r zDttfRWlx269x7sgOz%y9(t)db2hkC@`|*^k$R%)oryG2{^lLJ5XYnG-1Qq)ttL+DB z@ZL{ya&mHU(IY$}qsUf#>+i_=;?D*2rr{A0scC8QcWQ0Kqc0+d}2VUc}xcHs94e63y-6ntso?ZfxNllIur z3tRetPjNs2K~>ezI92OUT5P(Ss&9J@K4ECU^ZTwMlet&o4n`&A=pu=9Q@5ruDpGOs zg-L+=5zjLz@7}F7iwu!UID@|^vMEe>9B>mjuZ)V^xOVNu$0HI}rE!5A-UX729H7MQHLuGjf z!Nuzy7f%yN_W2<@&OyOMAWu=A`UeaH2W3_--R*=g;%kp92&|`7IXT0%Q{t$WPy7^bu)~p9J4G z;-M2BT2Nz)4TA?tezqsqp|S-#rvq1~_jvx>x47t-MV(B+ql*D1KvdGxFW$VV`EIiO z1lE!cWrGNY@~!zk*|-s16)+4IPwrpX??IqE-as&kg% zYS%i2f9N_02Q)lvd?y>$k<=xZkNW7dv+sEy;=<4V!z)9cE30l;Al8rX%QKUQG>YSQ z>qW}~4aYildz_cW!bpVF72?F!+iGehO!_aY{ZhuVIs&CNJwV(>~j^d$m{x2?oH7AKTGs)W_G2Pw% z;k9LYvb%1sT?{|;X6MHZS&~o#e+!9*qNnt9qvFgx=hu!u)r&u5VL*(Z@TQ-n5Aoi0 zo_zQDkX=t5`|mUS^JV3slcM-5^4*G}|JQzT>Anb&X#)02*q@c&;i=)X5Y|LBgfRoY znAYHl%s|}2)Y6+b8ft3Pb@!&Grr^SfxhBDGv`%aS{j_zFtE1!c`MnHB%aq)-c6p(k z!-Klx98ws7yvK4^@^-DvX%H^#i{Z(?nP`_$1j~>tD4?)aRBXU)gh3IjY9HDz==>}# zvoaCQ+kUD#X=)8BJ=}84Tztu4t7mpfbaXd8-6d0t>cjFqN~jtTHL}BtpVFViY%Qr+bR`lb(=c)e9|Pj@#ck=R{9^ow(wZ+Jqnbr8Y~S4=5nNMsby zrr|YEkZCxVqM+v1EP5UpX&ytFOr25yEV*53X?+tqsvTZH@{49-8nBjAc0LMLy){&4 z&Vmm{ag?5cR_wU3kx>xsnI|{)6CsMDv7td7Q^5Y2Z@GH1Q9t!-9v(!kvBL|~-x@NB zOm&I#)L4c~&XPpK4&u0&$eE?gqfS{wR~PIUHsrajRU{@NQhcz?=!ab?Mu0oK$n^{1 z0`}iulw(rpt8E{uxW=)aUYI<6=2VA4_v!EpE-s~o<#i*W`36w@DND|M?0$2Q=-Sca zNGQe;0?TAqQaU+OECh9R8luJ7K?%9MZpY?J*RO}BnxeYpS7PS>@0U~G+dG*s&)Y@h z8-k%&Zm_u1>_2IL-9EswADpW)%0I{`Df<3&fROHd zGtU4BBisGr^&rt7k4#SJ6q28GYX#`cQH}q}!mo8$nt+B?Y8gx{+=~>23t+4gmqBySw3tbT{1X?;qoS zhCA*X2Qmh*&-3iP_F8kzH76AL&bNKZE(r|~A4Ux(1 z_kx zaVD@+SenZv@NwS{PZ(5a4fi*f4@gFU@lIf3J>`6-uE7nS*l70aC!x>Bu$TYMlET$A z>cCx7C0}1+{R-&0h-9&Xj6iBMdSb_!j|}_|V8MHNiR%CNUkEXRK&bO~q_&lcEU^V2SJ1x?DM%PM{f^_n(h}r|jUYM>E_rcI4T*O$jz0DWAi8E31-1OYr!? zs!c%S2dJ`cT1R87nEVC8tVXt zL56&Ea(cRUTnS`L8x}G^UJ4SjH(LLFPH;Qu5@O`#@kEpDU>}81AgEYGFimiGh(NM; zJpro)a^>9?(h9Ea+u2F*d%=}}_!E?Ri(gL4{_22EGzbUi)PTwCPPSHDR?-$bBMz3D z`zdxZCek@8{@{sGGMWORJSToZF>N6h7YZb0(i)_LM%CGt-(;-+)mT52wcpEd=`3@1 zu_dw^vIGHP*6nogMwgiAH6mwr6VL#!h$gda>%Rk*4A#GgoBv$=7t_Z0s}3TdCiF#m zkP5$H!ImOENcJBOo7i(+6C^6Vn=4gcecoAm%zzOcraXHPn4T9B0V&O|#ofbv8&QQk z;o#r`+n6>zOmH8BBZzPbvJev!|NG#eH#vJ@32JNve^BvGRK|V%`h3EkmzjxBkScyX zcj({3-(HP@1`~lM_yaaPX_h(YdG+;)PMPuXo6Z8%5zno@mmF@?{kwgLK#Xk!^*adY zmh+%rLR7)O>b*lOvgpiM#4@%?|FwXwfq9yy_;N`A#p@GgdYCb7D}^rPs9!f3Y0PU=uH zaj0XHUORBI2Y2>AqCVZylV&iA6sF-1n)AdVMm2M(pjC@Ck5% z6uz{)+|I({A36Y>Rrg(62DZK!JZbg19PaC@A^>V!f}5Wura@i-a7)&1J-m1^Uc+86!~+MqxiYH9Un zgb&jRKFIz1h(I#zk%{HuYGNc}rrfDz$zn8u03wjZ_X~>VEu_e&qr{G zx4V?zNz34^{LJ4u#8-Zw1ZP&&`1e5Iuj`NJmJ@k<4b2Q6yVf^D@$j=ch}tpwl2bC;%m0-wDc zQlpyl2slmlZh#KKLJPml zowIYt+SqT>h4;SP-iAv&v_jPK>G2XQqG2zp>iLZX*R3qBHrum&9=5bV)(~zx`x&9? zw&xYSkF<_g*_95FA@gt(R`-JFOhAk<3Hjr)7#LBMk}8_$&Jyrgx7@L`++QMlp(s$h znykx^$?)l~*g_Wnz$?2Q3A;Zo+1vHEU#Cl(qoZ4Gw!l9-)UBnFv`A}4gefU zLD@Hepo;IhbajA@jQ*UykAM4@3Ov)r%+8K*@U17+_-m9NuZ6W8ys9?pDy^L~Cc6U( z*1w6f-)pG>mEsxT@sw;} z4g^eGqqPg#+C=8n3_6K+0Uq;<*Q;U%0AXp0BV))tpxf4&FH3~GKx~M)@onqaJ+-wD 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

~!JA1u;qC1QF#)-l_dO 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%0DooWUq939Qp~}5-(B-fw4U+@wzl0@ezHk_3_3j5 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

O!sghqw1K#Ki^g&(qh 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 CT#Eq! From 461e6169afa52427d2b2ed2e2990b813d0064206 Mon Sep 17 00:00:00 2001 From: shengkun <444341703@qq.com> Date: Thu, 18 Jun 2015 11:12:18 +0800 Subject: [PATCH 05/21] =?UTF-8?q?=E6=8F=90=E9=AB=98=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=A0=81=E5=87=86=E7=A1=AE=E5=BA=A6=E3=80=82?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=B7=E6=96=B0=E6=97=B6=E7=82=B9=E5=87=BB?= =?UTF-8?q?item=E5=B4=A9=E6=BA=83bug.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../me/drakeet/inmessage/MainActivity.java | 6 +- .../constant/StaticObjectInterface.java | 2 +- .../service/SMSBroadcastReceiver.java | 2 +- .../drakeet/inmessage/utils/StringUtils.java | 77 ++++++++++++------- 4 files changed, 54 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/me/drakeet/inmessage/MainActivity.java b/app/src/main/java/me/drakeet/inmessage/MainActivity.java index a401b5b..2d84d2b 100755 --- a/app/src/main/java/me/drakeet/inmessage/MainActivity.java +++ b/app/src/main/java/me/drakeet/inmessage/MainActivity.java @@ -112,8 +112,10 @@ private void setAdapter() { new OnItemClickListener() { @Override public void onItemClick(View view, int position) { - if (mMessages.get(position).getIsMessage()) { - showDetailSMS(mMessages.get(position)); + if(!mIsRefreshing) { + if (mMessages.get(position).getIsMessage()) { + showDetailSMS(mMessages.get(position)); + } } } } diff --git a/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java b/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java index ea689fc..f43530c 100644 --- a/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java +++ b/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java @@ -5,6 +5,6 @@ */ public interface StaticObjectInterface { - String[] CPATCHAS_KEYWORD = {"激活码", "动态码", "校验码", "验证码"}; + String[] CPATCHAS_KEYWORD = {"激活码", "动态码", "校验码", "验证码", "驗證碼", "激活碼", "動態碼", "校驗碼"}; String ACTION_CLICK = "me.drakeet.inmessage.intent.action.NotificationClick"; } diff --git a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java index 8c65687..829e705 100755 --- a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java +++ b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java @@ -82,7 +82,7 @@ public void run() { //终止广播 } }, 358 - ) + ); } } } diff --git a/app/src/main/java/me/drakeet/inmessage/utils/StringUtils.java b/app/src/main/java/me/drakeet/inmessage/utils/StringUtils.java index 720fd54..ced8b20 100755 --- a/app/src/main/java/me/drakeet/inmessage/utils/StringUtils.java +++ b/app/src/main/java/me/drakeet/inmessage/utils/StringUtils.java @@ -9,7 +9,7 @@ /** * Created by Administrator on 2014/12/24 0024. */ -public class StringUtils implements StaticObjectInterface{ +public class StringUtils implements StaticObjectInterface { private StringUtils() { } @@ -40,7 +40,7 @@ public static String getContentInBracket(String str, String address) { Pattern pattern = Pattern.compile("\\【(.*?)\\】"); Matcher matcher = pattern.matcher(str); while (matcher.find()) { - if(matcher.group(1) != null && matcher.group(1).length() < 10) { + if (matcher.group(1) != null && matcher.group(1).length() < 10) { return analyseSpecialCompany(matcher.group(1), str, address); } @@ -48,7 +48,7 @@ public static String getContentInBracket(String str, String address) { Pattern pattern1 = Pattern.compile("\\[(.*?)\\]"); Matcher matcher1 = pattern1.matcher(str); while (matcher1.find()) { - if(matcher1.group(1) != null && matcher1.group(1).length() < 10) { + if (matcher1.group(1) != null && matcher1.group(1).length() < 10) { return analyseSpecialCompany(matcher1.group(1), str, address); } @@ -56,7 +56,7 @@ public static String getContentInBracket(String str, String address) { Pattern pattern2 = Pattern.compile("\\((.*?)\\)"); Matcher matcher2 = pattern2.matcher(str); while (matcher2.find()) { - if(matcher2.group(1) != null && matcher2.group(1).length() < 10) { + if (matcher2.group(1) != null && matcher2.group(1).length() < 10) { return analyseSpecialCompany(matcher2.group(1), str, address); } @@ -66,23 +66,22 @@ public static String getContentInBracket(String str, String address) { private static String analyseSpecialCompany(String company, String content, String address) { String companyName = company; - if(company.equals("掌淘科技")) { - int index = content.indexOf("的验证码"); - companyName = content.substring(0, index); - companyName = companyName.replaceAll("【掌淘科技】", "").trim(); - } - else { - if(content.contains("贝壳单词的验证码")) { + if (company.equals("掌淘科技")) { + int index = content.indexOf("的验证码"); + companyName = content.substring(0, index); + companyName = companyName.replaceAll("【掌淘科技】", "").trim(); + } else { + if (content.contains("贝壳单词的验证码")) { companyName = "贝壳单词"; } } - if(address.equals("10010")) { + if (address.equals("10010")) { companyName = "中国联通"; } - if(address.equals("10086")) { + if (address.equals("10086")) { companyName = "中国移动"; } - if(address.equals("10000")) { + if (address.equals("10000")) { companyName = "中国电信"; } return companyName; @@ -99,39 +98,59 @@ public static String tryToGetCaptchas(String str) { Matcher m = continuousNumberPattern.matcher(str); while (m.find()) { if (m.group().length() > 3 && m.group().length() < 8 && !m.group().contains(".")) { - return m.group(); + if(isNearToKeyWord(m.group(), str)) { + return m.group(); + } } } return ""; } + public static boolean isNearToKeyWord(String currentStr, String content) { + int startPosition = 0; + int endPosition = content.length() - 1; + if (content.indexOf(currentStr) > 10) { + startPosition = content.indexOf(currentStr) - 10; + } + if (content.indexOf(currentStr) + 10 < content.length() - 1) { + endPosition = content.indexOf(currentStr) + 10; + } + Boolean isNearToKeyWord = false; + for (int i = 0; i < CPATCHAS_KEYWORD.length; i++) { + if (content.substring(startPosition, endPosition).contains(CPATCHAS_KEYWORD[i])) { + isNearToKeyWord = true; + break; + } + } + return isNearToKeyWord; + } + public static boolean isCaptchasMessage(String content) { - Boolean isCaptchasMessage = false; - for(int i = 0;i < CPATCHAS_KEYWORD.length;i++) { - if(content.contains(CPATCHAS_KEYWORD[i])) { - isCaptchasMessage = true; - break; - } - } - return isCaptchasMessage; + Boolean isCaptchasMessage = false; + for (int i = 0; i < CPATCHAS_KEYWORD.length; i++) { + if (content.contains(CPATCHAS_KEYWORD[i])) { + isCaptchasMessage = true; + break; + } + } + return isCaptchasMessage; } /** * 根据短信获取描述文字 + * * @return */ public static String getResultText(Message message, Boolean isNotificationText) { String resultStr = ""; - if(message.getCompanyName() != null && !isNotificationText) { + if (message.getCompanyName() != null && !isNotificationText) { resultStr += "来自" + message.getCompanyName() + "的验证码:"; - } - else { + } else { resultStr += "当前验证码为:"; } - if(message.getCaptchas() != null) { + if (message.getCaptchas() != null) { resultStr += message.getCaptchas(); - } - else { + } else { resultStr += "点击查看详情."; } return resultStr; From 387ab3b58665bd86afe518322634be91c4ab3ac6 Mon Sep 17 00:00:00 2001 From: drakeet Date: Thu, 18 Jun 2015 21:06:41 +0800 Subject: [PATCH 06/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20OverflowButton=20?= =?UTF-8?q?=E5=8F=98=E4=B8=BA=E7=99=BD=E8=89=B2=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/activity_about.xml | 2 +- app/src/main/res/layout/view_toolbar.xml | 7 +++---- app/src/main/res/values/themes.xml | 7 ++++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 0b77d71..b7b5271 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -301,6 +301,6 @@ android:layout_height="wrap_content" android:background="@color/transparent" app:navigationIcon="@mipmap/ic_arrow_back_white_24dp" - android:theme="@style/ActionBarPopupThemeOverlay"/> + android:theme="@style/ToolbarTheme"/> diff --git a/app/src/main/res/layout/view_toolbar.xml b/app/src/main/res/layout/view_toolbar.xml index 31e57d9..60bd941 100755 --- a/app/src/main/res/layout/view_toolbar.xml +++ b/app/src/main/res/layout/view_toolbar.xml @@ -1,10 +1,9 @@ + android:theme="@style/ToolbarTheme" + android:elevation="3px"/> diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 34c10e0..6cf63ed 100755 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -15,7 +15,8 @@ - - + \ No newline at end of file From d4cef306f5205656837fb74bc73eba2838204af6 Mon Sep 17 00:00:00 2001 From: drakeet Date: Thu, 18 Jun 2015 21:08:07 +0800 Subject: [PATCH 07/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7a78a98..e37f207 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId "me.drakeet.inmessage" minSdkVersion 15 targetSdkVersion 22 - versionCode 5 - versionName "1.0.1" + versionCode 6 + versionName "1.0.2" } sourceSets { main { From e92ba28bfa39c0d95664debb0f535221bc6f3522 Mon Sep 17 00:00:00 2001 From: drakeet Date: Fri, 19 Jun 2015 12:26:25 +0800 Subject: [PATCH 08/21] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=A3=8E=E6=A0=BC=E5=92=8C=E5=91=BD=E5=90=8D?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../me/drakeet/inmessage/MainActivity.java | 30 ++++------- .../inmessage/adapter/MainMessageAdapter.java | 2 +- .../service/SMSBroadcastReceiver.java | 5 +- .../inmessage/utils/ClipboardUtils.java | 6 +-- .../me/drakeet/inmessage/utils/SmsUtils.java | 53 +++++++++---------- .../me/drakeet/inmessage/utils/TaskUtils.java | 1 + .../me/drakeet/inmessage/utils/TimeUtils.java | 2 +- .../drakeet/inmessage/utils/ToastUtils.java | 16 ------ .../widget/MultiSwipeRefreshLayout.java | 5 +- 10 files changed, 46 insertions(+), 76 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e37f207..ab0b971 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,7 +12,7 @@ android { applicationId "me.drakeet.inmessage" minSdkVersion 15 targetSdkVersion 22 - versionCode 6 + versionCode 7 versionName "1.0.2" } sourceSets { diff --git a/app/src/main/java/me/drakeet/inmessage/MainActivity.java b/app/src/main/java/me/drakeet/inmessage/MainActivity.java index 2d84d2b..16eba8a 100755 --- a/app/src/main/java/me/drakeet/inmessage/MainActivity.java +++ b/app/src/main/java/me/drakeet/inmessage/MainActivity.java @@ -177,10 +177,8 @@ public void deleteAll() { private void showConfirmDialog() { AlertDialog alertDialog = new AlertDialog.Builder(this). setTitle("清空验证码短信?") - . - setMessage(getString(R.string.str_clear_messages_hint)) - . - setPositiveButton( + .setMessage(getString(R.string.str_clear_messages_hint)) + .setPositiveButton( "确定", new DialogInterface.OnClickListener() { @Override @@ -191,8 +189,7 @@ public void onClick( } } ) - . - setNegativeButton( + .setNegativeButton( "取消", new DialogInterface.OnClickListener() { @Override @@ -218,8 +215,7 @@ private void showDeleteDialog() { "正在删除验证码短信..." ) .setView(addLayout) - . - setNegativeButton( + .setNegativeButton( "停止", new DialogInterface.OnClickListener() { @Override @@ -256,10 +252,8 @@ public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { private void showBussinessDialog() { final AlertDialog alertDialog = new AlertDialog.Builder(this). setTitle(getString(R.string.str_check_bussiness_hint)) - . - setMessage(getString(R.string.str_doing_hint)) - . - setPositiveButton( + .setMessage(getString(R.string.str_doing_hint)) + .setPositiveButton( "确定", new DialogInterface.OnClickListener() { @Override @@ -269,8 +263,7 @@ public void onClick( } } ) - . - create(); + .create(); alertDialog.setCanceledOnTouchOutside(false); alertDialog.show(); TaskUtils.executeAsyncTask( @@ -333,10 +326,8 @@ private Boolean isExist(String company, List companys) { private void showDetailSMS(Message message) { AlertDialog alertDialog = new AlertDialog.Builder(this). setTitle(message.getSender()) - . - setMessage(message.getContent()) - . - setPositiveButton( + .setMessage(message.getContent()) + .setPositiveButton( "确定", new DialogInterface.OnClickListener() { @Override @@ -346,8 +337,7 @@ public void onClick( } } ) - . - create(); + .create(); alertDialog.setCanceledOnTouchOutside(false); alertDialog.show(); } diff --git a/app/src/main/java/me/drakeet/inmessage/adapter/MainMessageAdapter.java b/app/src/main/java/me/drakeet/inmessage/adapter/MainMessageAdapter.java index 57633f8..186ff6f 100755 --- a/app/src/main/java/me/drakeet/inmessage/adapter/MainMessageAdapter.java +++ b/app/src/main/java/me/drakeet/inmessage/adapter/MainMessageAdapter.java @@ -129,7 +129,7 @@ private void getAvatar(final String phoneNumber, final ImageView imageView, fina new AsyncTask() { @Override protected Bitmap doInBackground(Object... params) { - Bitmap bitmap = mSmsUtils.get_people_image(phoneNumber); + Bitmap bitmap = mSmsUtils.getPeopleImage(phoneNumber); return bitmap; } diff --git a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java index 829e705..f79d19c 100755 --- a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java +++ b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java @@ -59,9 +59,9 @@ public void run() { } smsMessage.setIsMessage(true); //格式化短信日期提示 - SimpleDateFormat sfd = new SimpleDateFormat("MM-dd hh:mm"); + SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd hh:mm"); //获得短信的各项内容 - String date_mms = sfd.format(date); + String date_mms = dateFormat.format(date); smsMessage.setReceiveDate(date_mms); smsMessage.setReadStatus(0); smsMessage.setFromSmsDB(1); @@ -79,7 +79,6 @@ public void run() { BusProvider.getInstance().register(this); BusProvider.getInstance().post(new ReceiveMessageEvent(smsMessage)); BusProvider.getInstance().unregister(this); - //终止广播 } }, 358 ); diff --git a/app/src/main/java/me/drakeet/inmessage/utils/ClipboardUtils.java b/app/src/main/java/me/drakeet/inmessage/utils/ClipboardUtils.java index 08acec3..3d6034c 100755 --- a/app/src/main/java/me/drakeet/inmessage/utils/ClipboardUtils.java +++ b/app/src/main/java/me/drakeet/inmessage/utils/ClipboardUtils.java @@ -11,8 +11,8 @@ public class ClipboardUtils { public static void putTextIntoClipboard(Context context, String text) { // 得到剪贴板管理器 - ClipboardManager cmb = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); - ClipData clip = ClipData.newPlainText("copy text", text); - cmb.setPrimaryClip(clip); + ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clipData = ClipData.newPlainText("copy text", text); + clipboardManager.setPrimaryClip(clipData); } } diff --git a/app/src/main/java/me/drakeet/inmessage/utils/SmsUtils.java b/app/src/main/java/me/drakeet/inmessage/utils/SmsUtils.java index 972a231..bc7fbf4 100755 --- a/app/src/main/java/me/drakeet/inmessage/utils/SmsUtils.java +++ b/app/src/main/java/me/drakeet/inmessage/utils/SmsUtils.java @@ -39,29 +39,26 @@ public SmsUtils(final Context context) { "date", "type", "thread_id"}; public List getAllCaptchMessages() { - List dateGroupS = new ArrayList<>(); - ContentResolver cr = mContext.getContentResolver(); - Cursor cursor = cr.query(ALL_MESSAGE_URI, ALL_THREADS_PROJECTION, + List dateGroups = new ArrayList<>(); + ContentResolver contentResolver = mContext.getContentResolver(); + Cursor cursor = contentResolver.query(ALL_MESSAGE_URI, ALL_THREADS_PROJECTION, null, null, "date desc"); List smsMessages = new ArrayList<>(); - int i = 0; while ((cursor.moveToNext())) { - i += 1; - int index_Body = cursor.getColumnIndex("body"); - int index_Address = cursor.getColumnIndex("address"); - int index_ThreadId = cursor.getColumnIndex("thread_id"); - String strbody = cursor.getString(index_Body); - String strAddress = cursor.getString(index_Address); + int indexBody = cursor.getColumnIndex("body"); + int indexAddress = cursor.getColumnIndex("address"); + int indexThreadId = cursor.getColumnIndex("thread_id"); + String strbody = cursor.getString(indexBody); + String strAddress = cursor.getString(indexAddress); if (!StringUtils.isPersonalMoblieNO(strAddress) && StringUtils.isCaptchasMessage(strbody) && !StringUtils.tryToGetCaptchas(strbody).equals("")) { int date = cursor.getColumnIndex("date"); //格式化短信日期提示 - SimpleDateFormat sfd = new SimpleDateFormat("MM-dd hh:mm"); - Date date_format = new Date(Long.parseLong(cursor.getString(date))); - long thread_id = cursor.getLong(index_ThreadId); + SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd hh:mm"); + Date formatDate = new Date(Long.parseLong(cursor.getString(date))); + long threadId = cursor.getLong(indexThreadId); - String time = sfd.format(date_format); //获得短信的各项内容 - String date_mms = time; + String dateMms = dateFormat.format(formatDate); Message message = new Message(); String company = StringUtils.getContentInBracket(strbody, strAddress); if (company != null) { @@ -71,15 +68,15 @@ public List getAllCaptchMessages() { if(!captchas.equals("")) { message.setCaptchas(captchas); } - int index_Id = cursor.getColumnIndex("_id"); - String smsId = cursor.getString(index_Id); + int columnIndex = cursor.getColumnIndex("_id"); + String smsId = cursor.getString(columnIndex); message.setIsMessage(true); - message.setDate(date_format); + message.setDate(formatDate); message.setSender(strAddress); - message.setThreadId(thread_id); + message.setThreadId(threadId); message.setContent(strbody); message.setSmsId(smsId); - message.setReceiveDate(date_mms); + message.setReceiveDate(dateMms); String resultContent = StringUtils.getResultText(message, false); if(resultContent != null) { message.setResultContent(resultContent); @@ -111,15 +108,15 @@ public List getAllCaptchMessages() { List unionMessages = new ArrayList<>(); for(Message message: smsMessages) { String group = TimeUtils.getInstance().getDateGroup(message.getDate()); - if (dateGroupS.size() == 0) { - dateGroupS.add(group); + if (dateGroups.size() == 0) { + dateGroups.add(group); Message dateMessage = new Message(); dateMessage.setReceiveDate(group); dateMessage.setIsMessage(false); unionMessages.add(dateMessage); } else { - if (!group.equals(dateGroupS.get(dateGroupS.size() - 1))) { - dateGroupS.add(group); + if (!group.equals(dateGroups.get(dateGroups.size() - 1))) { + dateGroups.add(group); Message dateMessage = new Message(); dateMessage.setReceiveDate(group); dateMessage.setIsMessage(false); @@ -141,8 +138,7 @@ public List getAllCaptchMessages() { * */ public int deleteSms(String smsId) { final Uri SMS_URI = Uri.parse("content://sms/"); - int result = mContext.getContentResolver().delete(SMS_URI,"_id=?",new String[]{smsId}); - return result; + return mContext.getContentResolver().delete(SMS_URI,"_id=?",new String[]{smsId}); } public String getContactNameFromPhoneBook(String phoneNum) { @@ -169,7 +165,7 @@ public String getContactNameFromPhoneBook(String phoneNum) { } // 根据号码获得联系人头像 - public Bitmap get_people_image(String x_number) { + public Bitmap getPeopleImage(String x_number) { // 获得Uri Uri uriNumber2Contacts = Uri.parse("content://com.android.contacts/" @@ -193,8 +189,7 @@ public Bitmap get_people_image(String x_number) { // 打开头像图片的InputStream InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(mContext.getContentResolver(), uri); // 从InputStream获得bitmap - Bitmap bmp_head = BitmapFactory.decodeStream(input); - return bmp_head; + return BitmapFactory.decodeStream(input); } cursorCantacts.close(); return null; diff --git a/app/src/main/java/me/drakeet/inmessage/utils/TaskUtils.java b/app/src/main/java/me/drakeet/inmessage/utils/TaskUtils.java index 6ff8256..87356b8 100755 --- a/app/src/main/java/me/drakeet/inmessage/utils/TaskUtils.java +++ b/app/src/main/java/me/drakeet/inmessage/utils/TaskUtils.java @@ -8,6 +8,7 @@ */ public class TaskUtils { + @SafeVarargs public static void executeAsyncTask( AsyncTask task, Params... params) { if (Build.VERSION.SDK_INT >= 11) { diff --git a/app/src/main/java/me/drakeet/inmessage/utils/TimeUtils.java b/app/src/main/java/me/drakeet/inmessage/utils/TimeUtils.java index 87a5a2d..02204ad 100755 --- a/app/src/main/java/me/drakeet/inmessage/utils/TimeUtils.java +++ b/app/src/main/java/me/drakeet/inmessage/utils/TimeUtils.java @@ -60,7 +60,7 @@ public static long getTimesMorning() { cal.set(Calendar.SECOND, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.MILLISECOND, 0); - return (long) (cal.getTimeInMillis()); + return cal.getTimeInMillis(); } public static Date getDateFromTimestamp(long longTime) { diff --git a/app/src/main/java/me/drakeet/inmessage/utils/ToastUtils.java b/app/src/main/java/me/drakeet/inmessage/utils/ToastUtils.java index 74e6870..d84706c 100755 --- a/app/src/main/java/me/drakeet/inmessage/utils/ToastUtils.java +++ b/app/src/main/java/me/drakeet/inmessage/utils/ToastUtils.java @@ -1,7 +1,6 @@ package me.drakeet.inmessage.utils; import android.content.Context; -import android.os.AsyncTask; import android.widget.Toast; import me.drakeet.inmessage.App; @@ -36,21 +35,6 @@ public static void showLong(int resId) { Toast.makeText(App.getContext(), resId, Toast.LENGTH_LONG).show(); } - public static void showToast(final String text) { - TaskUtils.executeAsyncTask(new AsyncTask() { - @Override - protected Object doInBackground(Object... params) { - return null; - } - - @Override - protected void onPostExecute(Object o) { - super.onPostExecute(o); - showShort(text); - } - }); - } - public static void showLong(String message) { Toast.makeText(App.getContext(), message, Toast.LENGTH_LONG).show(); } diff --git a/app/src/main/java/me/drakeet/inmessage/widget/MultiSwipeRefreshLayout.java b/app/src/main/java/me/drakeet/inmessage/widget/MultiSwipeRefreshLayout.java index 9af9e63..5e852c0 100755 --- a/app/src/main/java/me/drakeet/inmessage/widget/MultiSwipeRefreshLayout.java +++ b/app/src/main/java/me/drakeet/inmessage/widget/MultiSwipeRefreshLayout.java @@ -28,6 +28,7 @@ * Created by drakeet on 1/3/15. */ public class MultiSwipeRefreshLayout extends SwipeRefreshLayout { + private CanChildScrollUpCallback mCanChildScrollUpCallback; private Drawable mForegroundDrawable; @@ -61,8 +62,8 @@ public void setCanChildScrollUpCallback(CanChildScrollUpCallback canChildScrollU mCanChildScrollUpCallback = canChildScrollUpCallback; } - public static interface CanChildScrollUpCallback { - public boolean canSwipeRefreshChildScrollUp(); + public interface CanChildScrollUpCallback { + boolean canSwipeRefreshChildScrollUp(); } @Override From bc40eed16fcf712c0d8a2bb8b540baf27e8d2705 Mon Sep 17 00:00:00 2001 From: drakeet Date: Fri, 19 Jun 2015 12:38:15 +0800 Subject: [PATCH 09/21] =?UTF-8?q?=E5=9C=A8=E5=85=B3=E4=BA=8E=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8=E8=AF=BB=E5=8F=96?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7=E5=8A=9F=E8=83=BD=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/me/drakeet/inmessage/AboutActivity.java | 12 ++++++++++++ app/src/main/res/layout/activity_about.xml | 15 ++++++++------- app/src/main/res/values/strings.xml | 8 +++++++- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/me/drakeet/inmessage/AboutActivity.java b/app/src/main/java/me/drakeet/inmessage/AboutActivity.java index a86594f..228f084 100644 --- a/app/src/main/java/me/drakeet/inmessage/AboutActivity.java +++ b/app/src/main/java/me/drakeet/inmessage/AboutActivity.java @@ -7,6 +7,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.widget.TextView; import com.github.ksoichiro.android.observablescrollview.ObservableScrollView; import com.github.ksoichiro.android.observablescrollview.ObservableScrollViewCallbacks; @@ -16,12 +17,17 @@ import butterknife.ButterKnife; import butterknife.InjectView; +/** + * Created by drakeet on 15/6/5. + */ public class AboutActivity extends AppCompatActivity { @InjectView(R.id.toolbar) Toolbar mToolbar; @InjectView(R.id.sv_about) ObservableScrollView mScrollView; + @InjectView(R.id.tv_version) + TextView mVersionTextView; @Override protected void onCreate(Bundle savedInstanceState) { @@ -29,6 +35,8 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_about); ButterKnife.inject(this); + setUpVersionName(); + final int headerHeight = getResources().getDimensionPixelSize(R.dimen.about_header_height); mToolbar.setTitle(""); setSupportActionBar(mToolbar); @@ -66,6 +74,10 @@ public void onUpOrCancelMotionEvent(ScrollState scrollState) { ); } + private void setUpVersionName() { + mVersionTextView.setText("Version " + BuildConfig.VERSION_NAME); + } + @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_about, menu); diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index b7b5271..9915ec6 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -20,15 +20,16 @@ @@ -52,7 +53,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="12dp" - android:text="介绍与帮助" + android:text="@string/introduce_and_help" android:textColor="@color/md_grey_600"/> @@ -151,7 +152,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="12dp" android:layout_marginTop="12dp" - android:text="开源协议" + android:text="@string/open_source_lis" android:textColor="@color/md_grey_600"/> Settings 关于 @string/about - 验证码助手,是由原「贝壳单词」团队开发的一款新的开源轻App.\n\n它可以在手机接收到验证码短信的时候,自动浮现验证码,并自动复制验证码到用户的剪切板。当用户接收到短信验证码,只要长按验证码的输入框,粘贴验证码即可。\n\n除此之外,还可以让用户批量删除无用验证码短信,帮助用户反向推理出绑定了哪些业务(换号必备啊有木有)。\n\n我们做得非常轻,也秉承了一贯的好设计和用户友好,在闲时它不会自启动、不会偷跑流量、不会占用任何内存(不信或担忧的话欢迎查看源代码~)。\n\n开放源代码地址:https://github.com/drakeet/SmsCodeHelper\n\n我们开源,我们做好设计,我们不乱使用权限,只求你如果喜欢,可以分享给你的朋友们,好东西需要分享才能让其健康成长,每一次分享都是我们的动力,非常感谢! + 验证码助手,是由原「贝壳单词」团队开发的一款新的开源轻App.\n\n它可以在手机接收到验证码短信的时候,自动浮现验证码,并自动复制验证码到用户的剪切板。当用户接收到短信验证码,只要长按验证码的输入框,粘贴验证码即可。\n\n除此之外,还可以让用户批量删除无用验证码短信,帮助用户反向推理出绑定了哪些业务(换号必备啊有木有)。\n\n我们做得非常轻,也秉承了一贯的好设计和用户友好,在闲时它不会自启动、不会偷跑流量、不会占用任何内存(不信或担忧的话欢迎查看源代码~)。\n\n开放源代码地址:https://github.com/drakeet/SmsCodeHelper\n\n我们开源,做好设计,不乱使用权限,只求你如果喜欢,可以分享给你的朋友们,好东西需要分享才能让其健康成长,每一次分享都是我们的动力,非常感谢! 分享给朋友(谢谢QAQ) 反向推理绑定业务 发现了一款非常美观易用的「验证码助手」轻App,开源的,可以在验证码短信来临的时,自动识别验证码,悬浮并且自动复制到剪切板,不用记忆不用输入,只要长按粘贴即可输入验证码。推荐~:http://fir.im/codehelper @@ -16,4 +16,10 @@ 识别到验证码:%s,并已复制到剪贴板,长按你的输入框即可粘贴验证码 当前验证码:%s(点击可复制) 删除的会话Id为: + 验证码助手 - 不用记数字不用输入完成验证 + 开发人员 + 开发者 + + 开源协议 + 介绍与帮助 From 2f19eca3550ef0fca4fc22f0fb2a2a79731c10ea Mon Sep 17 00:00:00 2001 From: drakeet Date: Fri, 19 Jun 2015 12:48:09 +0800 Subject: [PATCH 10/21] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E5=92=8C=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- app/build.gradle | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 04fcf26..20885a9 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ #源代码在GPLv3协议下发布 -###我们开源,我们做好设计,我们不乱使用权限,只求你如果喜欢,可以分享给你的朋友们,好东西需要分享才能让其健康成长,每一次分享都是我们的动力,非常感谢! +###我们开源,做好设计,不乱使用权限,只求你如果喜欢,可以分享给你的朋友们,好东西需要分享才能让其健康成长,每一次分享都是我们的动力,非常感谢! #下载 diff --git a/app/build.gradle b/app/build.gradle index ab0b971..3768161 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId "me.drakeet.inmessage" minSdkVersion 15 targetSdkVersion 22 - versionCode 7 - versionName "1.0.2" + versionCode 8 + versionName "1.0.3" } sourceSets { main { From b6c7415effe9b17108b13d4f6f20f870a6a95590 Mon Sep 17 00:00:00 2001 From: drakeet Date: Fri, 19 Jun 2015 16:17:33 +0800 Subject: [PATCH 11/21] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20English=20=E5=92=8C?= =?UTF-8?q?=20=E7=B9=81=E4=BD=93=E8=AF=AD=E8=A8=80=E6=94=AF=E6=8C=81?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 44 ++++++++++--------- app/src/main/res/values-zh-rCN/strings.xml | 21 +++++++++ .../main/res/values-zh-rCN/strings_time.xml | 14 ++++++ app/src/main/res/values-zh-rTW/strings.xml | 21 +++++++++ .../main/res/values-zh-rTW/strings_time.xml | 14 ++++++ app/src/main/res/values/strings.xml | 42 ++++++++---------- app/src/main/res/values/strings_time.xml | 21 +++++---- 7 files changed, 122 insertions(+), 55 deletions(-) create mode 100755 app/src/main/res/values-zh-rCN/strings.xml create mode 100755 app/src/main/res/values-zh-rCN/strings_time.xml create mode 100755 app/src/main/res/values-zh-rTW/strings.xml create mode 100755 app/src/main/res/values-zh-rTW/strings_time.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 757ec6d..c697333 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,15 +1,15 @@ - + - - - + + + - + @@ -18,21 +18,21 @@ android:allowBackup="true" android:icon="@mipmap/ic_incode" android:label="@string/app_name" - android:theme="@style/MaterialTheme" > + android:theme="@style/MaterialTheme"> + android:label="@string/app_name"> - + - + - - -   - + + +    + @@ -41,15 +41,17 @@ - - - + + + - - + + diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml new file mode 100755 index 0000000..2a5dd7b --- /dev/null +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,21 @@ + + 验证码助手 + 关于 + 验证码助手,是由原「贝壳单词」团队开发的一款新的开源轻App.\n\n它可以在手机接收到验证码短信的时候,自动浮现验证码,并自动复制验证码到用户的剪切板。当用户接收到短信验证码,只要长按验证码的输入框,粘贴验证码即可。\n\n除此之外,还可以让用户批量删除无用验证码短信,帮助用户反向推理出绑定了哪些业务(换号必备啊有木有)。\n\n我们做得非常轻,也秉承了一贯的好设计和用户友好,在闲时它不会自启动、不会偷跑流量、不会占用任何内存(不信或担忧的话欢迎查看源代码~)。\n\n开放源代码地址:https://github.com/drakeet/SmsCodeHelper\n\n我们开源,做好设计,不乱使用权限,只求你如果喜欢,可以分享给你的朋友们,好东西需要分享才能让其健康成长,每一次分享都是我们的动力,非常感谢! + 分享给朋友(谢谢QAQ) + 反向推理绑定业务 + 发现了一款非常美观易用的「验证码助手」轻App,开源的,可以在验证码短信来临的时,自动识别验证码,悬浮并且自动复制到剪切板,不用记忆不用输入,只要长按粘贴即可输入验证码。推荐~:http://fir.im/codehelper + 暂未识别绑定任何业务! + 识别中,请稍等 + 反向推理出的绑定业务详情 v0.1 + 操作后将会把短信收件箱中所有的验证码短信清空,但是我们还是会为你保存验证码记录(就算清空我们也还是能够帮你反向推理出绑定的业务)。请仔细检查并确认操作! + Android 5.0 以上暂不支持清空验证码短信! + 识别到验证码:%s,并已复制到剪贴板,长按你的输入框即可粘贴验证码 + 当前验证码:%s(点击可复制) + 验证码助手 - 不用记数字不用输入完成验证 + 开发人员 + 开发者 + + 开源协议 + 介绍与帮助 + diff --git a/app/src/main/res/values-zh-rCN/strings_time.xml b/app/src/main/res/values-zh-rCN/strings_time.xml new file mode 100755 index 0000000..75b8c73 --- /dev/null +++ b/app/src/main/res/values-zh-rCN/strings_time.xml @@ -0,0 +1,14 @@ + + + + 刚刚 + 分钟以前 + 小时以前 + 天以前 + 本月 + 今年 + 今天 + 昨天 + 前天 + 本周 + \ No newline at end of file diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml new file mode 100755 index 0000000..4a2c808 --- /dev/null +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,21 @@ + + 驗證碼助手 + 關於 + 驗證碼助手,是由原「貝殼單詞」團隊開發的一款新的開源輕App.\n\n它可以在手機接收到驗證碼短信的時候,自動浮現驗證碼,並自動複製驗證碼到用戶的剪切板。當用戶接收到短信驗證碼,只要長按驗證碼的輸入框,粘貼驗證碼即可。 \n\n除此之外,還可以讓用戶批量刪除無用驗證碼短信,幫助用戶反向推理出綁定了哪些業務(換號必備啊有木有)。 \n\n我們做得非常輕,也秉承了一貫的好設計和用戶友好,在閒時它不會自啟動、不會偷跑​​流量、不會佔用任何內存(不信或擔憂的話歡迎查看源代碼~)。 \n\n開放源代碼地址:https://github.com/drakeet/SmsCodeHelper\n\n我們開源,做好設計,不亂使用權限,只求你如果喜歡,可以分享給你的朋友們,好東西需要分享才能讓其健康成長,每一次分享都是我們的動力,非常感謝! + 分享給朋友(謝謝QAQ) + 反向推理綁定業務 + 發現了一款非常美觀易用的「驗證碼助手」輕App,開源的,可以在驗證碼短信來臨的時,自動識別驗證碼,懸浮並且自動複製到剪切板,不用記憶不用輸入,只要長按粘貼即可輸入驗證碼。推薦~:http://fir.im/codehelper + 暫未識別綁定任何業務! + 識別中,請稍等 + 反向推理出的綁定業務詳情 v0.1 + 操作後將會把短信收件箱中所有的驗證碼短信清空,但是我們還是會為你保存驗證碼記錄(就算清空我們也還是能夠幫你反向推理出綁定的業務)。請仔細檢查並確認操作! + Android 5.0 以上暫不支持清空驗證碼短信! + 識別到驗證碼:%s,並已復製到剪貼板,長按你的輸入框即可粘貼驗證碼 + 當前驗證碼:%s(點擊可複制) + 驗證碼助手- 不用記數字不用輸入完成驗證 + 開發人員 + 開發者 + + 開源協議 + 介紹與幫助 + diff --git a/app/src/main/res/values-zh-rTW/strings_time.xml b/app/src/main/res/values-zh-rTW/strings_time.xml new file mode 100755 index 0000000..a08e9f1 --- /dev/null +++ b/app/src/main/res/values-zh-rTW/strings_time.xml @@ -0,0 +1,14 @@ + + + + 剛剛 + 分鐘以前 + 小時以前 + 天以前 + 本月 + 今年 + 今天 + 昨天 + 前天 + 本週 + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2c6c86f..4529ae8 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,25 +1,21 @@ - 验证码助手 - Hello world! - Settings - 关于 - @string/about - 验证码助手,是由原「贝壳单词」团队开发的一款新的开源轻App.\n\n它可以在手机接收到验证码短信的时候,自动浮现验证码,并自动复制验证码到用户的剪切板。当用户接收到短信验证码,只要长按验证码的输入框,粘贴验证码即可。\n\n除此之外,还可以让用户批量删除无用验证码短信,帮助用户反向推理出绑定了哪些业务(换号必备啊有木有)。\n\n我们做得非常轻,也秉承了一贯的好设计和用户友好,在闲时它不会自启动、不会偷跑流量、不会占用任何内存(不信或担忧的话欢迎查看源代码~)。\n\n开放源代码地址:https://github.com/drakeet/SmsCodeHelper\n\n我们开源,做好设计,不乱使用权限,只求你如果喜欢,可以分享给你的朋友们,好东西需要分享才能让其健康成长,每一次分享都是我们的动力,非常感谢! - 分享给朋友(谢谢QAQ) - 反向推理绑定业务 - 发现了一款非常美观易用的「验证码助手」轻App,开源的,可以在验证码短信来临的时,自动识别验证码,悬浮并且自动复制到剪切板,不用记忆不用输入,只要长按粘贴即可输入验证码。推荐~:http://fir.im/codehelper - 暂未识别绑定任何业务! - 识别中,请稍等 - 反向推理出的绑定业务详情 v0.1 - 操作后将会把短信收件箱中所有的验证码短信清空,但是我们还是会为你保存验证码记录(就算清空我们也还是能够帮你反向推理出绑定的业务)。请仔细检查并确认操作! - Android 5.0 以上暂不支持清空验证码短信! - 识别到验证码:%s,并已复制到剪贴板,长按你的输入框即可粘贴验证码 - 当前验证码:%s(点击可复制) - 删除的会话Id为: - 验证码助手 - 不用记数字不用输入完成验证 - 开发人员 - 开发者 - - 开源协议 - 介绍与帮助 + SmsCodeHelper + About + SmsCodeHelper, is a new open source of light App.\n\nIt can automatically emerge verification code when your phone receives a text message contains a verification code. And automatically copy the code to the user's clipboard. When the user receives the message verification code, just long press the EditText to paste the verification code.\n\nIn addition, it can also allow users to bulk delete unwanted SMS verification code; It can also help users Backward inference out what the business is bound (for a new phone number, it is useful).\n\nIt is very light, but also adhering to the usual good design and user-friendly, since it does not start at leisure, will not take up any memory (unbelievers or concern, welcome to view the source code) .\n\nOpen source address: https: //github.com/drakeet/SmsCodeHelper\n\nWe open source, good design, not indiscriminately use rights. Just hope if you like it, you can share with your friends, because good things need to share with others in order to let it grow, every share is our power, thanks! + Share to Friends (thank you) + Backward inference of bundled services + Found a very beautiful and easy to use app: "SmsCodeHelper" (verification code helper), light, open source, it can automatically copy the code to the user's clipboard, when the user receives the message verification code. Material Design and open source: http://fir.im/codehelper (or Google Play "SmsCodeHelper") + Temporarily did not find any business is bound. + Being recognized, please wait... + Backward inference of bundled services + All messages contain verification code will be deleted, but we will still save you records (for Backward inference). Please double-check and confirm the operation! + Android 5.0+ does not support emptied verification code text message temporarily. + Verification code: %s, and has been copied to the clipboard, press your input box to paste the code. + Current verification code:%s (Click to copy) + SmsCodeHelper - Convenient for Verification code + Developers + Developer + + Open source licenses + Introduction and help diff --git a/app/src/main/res/values/strings_time.xml b/app/src/main/res/values/strings_time.xml index 95b49fa..0bff79e 100755 --- a/app/src/main/res/values/strings_time.xml +++ b/app/src/main/res/values/strings_time.xml @@ -1,15 +1,14 @@ - 刚刚 - 分钟以前 - 小时以前 - 天以前 - 本月 - 今年 - 今天 - 今天 - 昨天 - 前天 - 本周 + Just now + minute(s) ago + hour(s) ago + day(s) ago + This month + This year + Today + Yesterday + The day after yesterday + This week \ No newline at end of file From 26188971cc3726d1b70e1202025137382e4fa902 Mon Sep 17 00:00:00 2001 From: drakeet Date: Fri, 19 Jun 2015 16:25:29 +0800 Subject: [PATCH 12/21] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20English=20=E5=92=8C?= =?UTF-8?q?=20=E7=B9=81=E4=BD=93=E8=AF=AD=E8=A8=80=E6=94=AF=E6=8C=81?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/values/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4529ae8..59b181b 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,12 +1,12 @@ SmsCodeHelper About - SmsCodeHelper, is a new open source of light App.\n\nIt can automatically emerge verification code when your phone receives a text message contains a verification code. And automatically copy the code to the user's clipboard. When the user receives the message verification code, just long press the EditText to paste the verification code.\n\nIn addition, it can also allow users to bulk delete unwanted SMS verification code; It can also help users Backward inference out what the business is bound (for a new phone number, it is useful).\n\nIt is very light, but also adhering to the usual good design and user-friendly, since it does not start at leisure, will not take up any memory (unbelievers or concern, welcome to view the source code) .\n\nOpen source address: https: //github.com/drakeet/SmsCodeHelper\n\nWe open source, good design, not indiscriminately use rights. Just hope if you like it, you can share with your friends, because good things need to share with others in order to let it grow, every share is our power, thanks! + SmsCodeHelper, is a new open source of light App.\n\nIt can automatically emerge verification code when your phone receives a text message contains a verification code. And automatically copy the code to the user\'s clipboard. When the user receives the message verification code, just long press the EditText to paste the verification code.\n\nIn addition, it can also allow users to bulk delete unwanted SMS verification code; It can also help users Backward inference out what the business is bound (for a new phone number, it is useful).\n\nIt is very light, but also adhering to the usual good design and user-friendly, since it does not start at leisure, will not take up any memory (unbelievers or concern, welcome to view the source code) .\n\nOpen source address: https: //github.com/drakeet/SmsCodeHelper\n\nWe open source, good design, not indiscriminately use rights. Just hope if you like it, you can share with your friends, because good things need to share with others in order to let it grow, every share is our power, thanks! Share to Friends (thank you) Backward inference of bundled services - Found a very beautiful and easy to use app: "SmsCodeHelper" (verification code helper), light, open source, it can automatically copy the code to the user's clipboard, when the user receives the message verification code. Material Design and open source: http://fir.im/codehelper (or Google Play "SmsCodeHelper") + Found a very beautiful and easy to use app: SmsCodeHelper (verification code helper), light, open source, it can automatically copy the code to the user\'s clipboard, when the user receives the message verification code. Material Design and open source: http://fir.im/codehelper (or Google Play: SmsCodeHelper) Temporarily did not find any business is bound. - Being recognized, please wait... + Being recognized, please wait. Backward inference of bundled services All messages contain verification code will be deleted, but we will still save you records (for Backward inference). Please double-check and confirm the operation! Android 5.0+ does not support emptied verification code text message temporarily. From 0c8781c84168c5fe0d52e3330c125ed8883b7f88 Mon Sep 17 00:00:00 2001 From: drakeet Date: Fri, 19 Jun 2015 16:43:59 +0800 Subject: [PATCH 13/21] =?UTF-8?q?=E5=AE=8C=E5=96=84=20English=20=E5=92=8C?= =?UTF-8?q?=20=E7=B9=81=E4=BD=93=E8=AF=AD=E8=A8=80=E6=94=AF=E6=8C=81?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../me/drakeet/inmessage/MainActivity.java | 155 +++++++++--------- app/src/main/res/layout/activity_about.xml | 1 + app/src/main/res/values-zh-rCN/strings.xml | 8 + app/src/main/res/values-zh-rTW/strings.xml | 8 + app/src/main/res/values/strings.xml | 10 +- 5 files changed, 101 insertions(+), 81 deletions(-) diff --git a/app/src/main/java/me/drakeet/inmessage/MainActivity.java b/app/src/main/java/me/drakeet/inmessage/MainActivity.java index 16eba8a..111b3be 100755 --- a/app/src/main/java/me/drakeet/inmessage/MainActivity.java +++ b/app/src/main/java/me/drakeet/inmessage/MainActivity.java @@ -112,7 +112,7 @@ private void setAdapter() { new OnItemClickListener() { @Override public void onItemClick(View view, int position) { - if(!mIsRefreshing) { + if (!mIsRefreshing) { if (mMessages.get(position).getIsMessage()) { showDetailSMS(mMessages.get(position)); } @@ -168,39 +168,37 @@ private int getMessageCount() { @OnClick(R.id.fab_delete_all) public void deleteAll() { if (VersionUtils.IS_MORE_THAN_LOLLIPOP) { - ToastUtils.showShort("Android 5.0 以上暂不支持清空验证码短信!"); + ToastUtils.showShort(R.string.str_version_morethan_five); } else { showConfirmDialog(); } } private void showConfirmDialog() { - AlertDialog alertDialog = new AlertDialog.Builder(this). - setTitle("清空验证码短信?") - .setMessage(getString(R.string.str_clear_messages_hint)) - .setPositiveButton( - "确定", - new DialogInterface.OnClickListener() { - @Override - public void onClick( - DialogInterface dialog, - int which) { - showDeleteDialog(); - } - } - ) - .setNegativeButton( - "取消", - new DialogInterface.OnClickListener() { - @Override - public void onClick( - DialogInterface dialog, - int which) { - - } - } - ) - .create(); + AlertDialog alertDialog = new AlertDialog.Builder(this).setTitle(getString(R.string.empty_verification_code)) + .setMessage(getString(R.string.str_clear_messages_hint)) + .setPositiveButton( + android.R.string.ok, + new DialogInterface.OnClickListener() { + @Override + public void onClick( + DialogInterface dialog, + int which) { + showDeleteDialog(); + } + } + ) + .setNegativeButton( + android.R.string.cancel, + new DialogInterface.OnClickListener() { + @Override + public void onClick( + DialogInterface dialog, + int which) { + + } + } + ).create(); alertDialog.setCanceledOnTouchOutside(false); alertDialog.show(); } @@ -210,23 +208,22 @@ private void showDeleteDialog() { LayoutInflater layoutInflater = LayoutInflater.from(MainActivity.this); View addLayout = layoutInflater.inflate(R.layout.view_delete_messages, null); mNumberProgressBar = (NumberProgressBar) addLayout.findViewById(R.id.number_progress_bar); - AlertDialog deleteDialog = new AlertDialog.Builder(MainActivity.this). - setTitle( - "正在删除验证码短信..." - ) - .setView(addLayout) - .setNegativeButton( - "停止", - new DialogInterface.OnClickListener() { - @Override - public void onClick( - DialogInterface dialog, - int which) { - mStopDelete = true; - } - } - ) - .create(); + AlertDialog deleteDialog = new AlertDialog.Builder(MainActivity.this).setTitle( + getString(R.string.deleting_verification_code) + ) + .setView(addLayout) + .setNegativeButton( + android.R.string.cancel, + new DialogInterface.OnClickListener() { + @Override + public void onClick( + DialogInterface dialog, + int which) { + mStopDelete = true; + } + } + ) + .create(); deleteDialog.setCanceledOnTouchOutside(false); deleteDialog.setOnKeyListener( new DialogInterface.OnKeyListener() { @@ -250,20 +247,19 @@ public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { private void showBussinessDialog() { - final AlertDialog alertDialog = new AlertDialog.Builder(this). - setTitle(getString(R.string.str_check_bussiness_hint)) - .setMessage(getString(R.string.str_doing_hint)) - .setPositiveButton( - "确定", - new DialogInterface.OnClickListener() { - @Override - public void onClick( - DialogInterface dialog, - int which) { - } - } - ) - .create(); + final AlertDialog alertDialog = new AlertDialog.Builder(this).setTitle(getString(R.string.str_check_bussiness_hint)) + .setMessage(getString(R.string.str_doing_hint)) + .setPositiveButton( + android.R.string.ok, + new DialogInterface.OnClickListener() { + @Override + public void onClick( + DialogInterface dialog, + int which) { + } + } + ) + .create(); alertDialog.setCanceledOnTouchOutside(false); alertDialog.show(); TaskUtils.executeAsyncTask( @@ -324,20 +320,19 @@ private Boolean isExist(String company, List companys) { } private void showDetailSMS(Message message) { - AlertDialog alertDialog = new AlertDialog.Builder(this). - setTitle(message.getSender()) - .setMessage(message.getContent()) - .setPositiveButton( - "确定", - new DialogInterface.OnClickListener() { - @Override - public void onClick( - DialogInterface dialog, - int which) { - } - } - ) - .create(); + AlertDialog alertDialog = new AlertDialog.Builder(this).setTitle(message.getSender()) + .setMessage(message.getContent()) + .setPositiveButton( + android.R.string.ok, + new DialogInterface.OnClickListener() { + @Override + public void onClick( + DialogInterface dialog, + int which) { + } + } + ) + .create(); alertDialog.setCanceledOnTouchOutside(false); alertDialog.show(); } @@ -374,7 +369,7 @@ protected String doInBackground(Object... params) { protected void onPostExecute(String o) { super.onPostExecute(o); deleteDialog.dismiss(); - ToastUtils.showShort("成功删除" + o + "条验证码短信!"); + ToastUtils.showShort(String.format(getString(R.string.successfully_delete_verification_code_numbers), o)); getAllMessage(); } @@ -420,14 +415,14 @@ public boolean onCreateOptionsMenu(Menu menu) { final MenuItem switchItem = menu.findItem(R.id.menu_show_result); MenuItemCompat.setActionView(switchItem, R.layout.view_switchcompat); final SwitchCompat switchCompat = (SwitchCompat) switchItem.getActionView() - .findViewById(R.id.switchCompat); + .findViewById(R.id.switchCompat); switchCompat.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (mIsRefreshing) { switchCompat.setChecked(!isChecked); - ToastUtils.showShort("加载中请勿改变开关状态!"); + ToastUtils.showShort(getString(R.string.do_not_change_the_switch)); } else { SharedPreferences sharedPreferences = getSharedPreferences( "userinfo", Context.MODE_PRIVATE @@ -438,9 +433,9 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { mMainMessageAdapter.setShowResult(isChecked); mMainMessageAdapter.notifyDataSetChanged(); if (isChecked) - ToastUtils.showShort("开启验证码内容显示简化"); + ToastUtils.showShort(getString(R.string.open_simplified)); else - ToastUtils.showShort("关闭验证码内容显示简化"); + ToastUtils.showShort(getString(R.string.close_simplified)); } } } @@ -473,7 +468,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (!mIsRefreshing) { showBussinessDialog(); } else { - ToastUtils.showShort("加载中请勿操作!"); + ToastUtils.showShort(getString(R.string.do_not_operate_in_load)); } } return super.onOptionsItemSelected(item); @@ -485,7 +480,7 @@ public boolean onOptionsItemSelected(MenuItem item) { public void onClickShare() { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); - intent.putExtra(Intent.EXTRA_SUBJECT, "分享"); + intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.share_just)); intent.putExtra(Intent.EXTRA_TEXT, getString(R.string.share_text)); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(Intent.createChooser(intent, getTitle())); diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 9915ec6..4e33a69 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -20,6 +20,7 @@ diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 2a5dd7b..ebb6e64 100755 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -18,4 +18,12 @@ 开源协议 介绍与帮助 + 清空验证码短信? + 删除验证码短信中… + 成功删除%s条验证码短信 + 加载中请勿改变开关状态! + 开启验证码内容显示简化 + 关闭验证码内容显示简化 + 加载中请勿操作! + 分享 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 4a2c808..9d1ff4b 100755 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -18,4 +18,12 @@ 開源協議 介紹與幫助 + 清空驗證碼簡訊? + 删除驗證碼簡訊中… + 成功删除%s條驗證碼簡訊 + 加载中请勿改变开关状态! + 开启验证码内容显示简化 + 关闭验证码内容显示简化 + 加载中请勿操作! + 分享 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 59b181b..8905a31 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -12,10 +12,18 @@ Android 5.0+ does not support emptied verification code text message temporarily. Verification code: %s, and has been copied to the clipboard, press your input box to paste the code. Current verification code:%s (Click to copy) - SmsCodeHelper - Convenient for Verification code + SmsCodeHelper \n- Convenient for Verification code Developers Developer Open source licenses Introduction and help + Empty verification code SMS? + Deleting verification code SMS... + Successfully delete %s verification code sms! + Do not change the switch state in the load! + Opened simplified + Closed simplified + Do not operate in load! + Share From 0f0dbba9dcbbbe94c65e05c22e0af710bd732091 Mon Sep 17 00:00:00 2001 From: drakeet Date: Fri, 19 Jun 2015 16:45:06 +0800 Subject: [PATCH 14/21] =?UTF-8?q?=E5=AE=8C=E5=96=84=20English=20=E5=92=8C?= =?UTF-8?q?=20=E7=B9=81=E4=BD=93=E8=AF=AD=E8=A8=80=E6=94=AF=E6=8C=81?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8905a31..ac31262 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,7 +1,7 @@ SmsCodeHelper About - SmsCodeHelper, is a new open source of light App.\n\nIt can automatically emerge verification code when your phone receives a text message contains a verification code. And automatically copy the code to the user\'s clipboard. When the user receives the message verification code, just long press the EditText to paste the verification code.\n\nIn addition, it can also allow users to bulk delete unwanted SMS verification code; It can also help users Backward inference out what the business is bound (for a new phone number, it is useful).\n\nIt is very light, but also adhering to the usual good design and user-friendly, since it does not start at leisure, will not take up any memory (unbelievers or concern, welcome to view the source code) .\n\nOpen source address: https: //github.com/drakeet/SmsCodeHelper\n\nWe open source, good design, not indiscriminately use rights. Just hope if you like it, you can share with your friends, because good things need to share with others in order to let it grow, every share is our power, thanks! + SmsCodeHelper, is a new open source and light App.\n\nIt can automatically emerge verification code when your phone receives a text message contains a verification code. And automatically copy the code to the user\'s clipboard. When the user receives the message verification code, just long press the EditText to paste the verification code.\n\nIn addition, it can also allow users to bulk delete unwanted SMS verification code; It can also help users Backward inference out what the business is bound (for a new phone number, it is useful).\n\nIt is very light, but also adhering to the usual good design and user-friendly, since it does not start at leisure, will not take up any memory (unbelievers or concern, welcome to view the source code) .\n\nOpen source address: https: //github.com/drakeet/SmsCodeHelper\n\nWe open source, good design, not indiscriminately use rights. Just hope if you like it, you can share with your friends, because good things need to share with others in order to let it grow, every share is our power, thanks! Share to Friends (thank you) Backward inference of bundled services Found a very beautiful and easy to use app: SmsCodeHelper (verification code helper), light, open source, it can automatically copy the code to the user\'s clipboard, when the user receives the message verification code. Material Design and open source: http://fir.im/codehelper (or Google Play: SmsCodeHelper) From d90631545206c1105d3769fa95b0c1154f6536d5 Mon Sep 17 00:00:00 2001 From: drakeet Date: Fri, 19 Jun 2015 16:47:35 +0800 Subject: [PATCH 15/21] add autoLink --- app/src/main/res/layout/activity_about.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 4e33a69..f6f50b0 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -68,6 +68,7 @@ android:layout_margin="16dp" android:text="@string/introduce" android:textColor="@color/md_grey_800" + android:autoLink="web" android:textSize="14sp"/> From 2db635137157852505c769910706112b069dd75e Mon Sep 17 00:00:00 2001 From: drakeet Date: Fri, 19 Jun 2015 16:53:52 +0800 Subject: [PATCH 16/21] support English Read me --- README.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 20885a9..e327f4c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -#验证码助手 +#验证码助手 SmsCodeHelper 是由原「[贝壳单词](http://www.beikedanci.com)」团队开发的一款新的开源轻App. @@ -16,12 +16,24 @@ screenshot screenshot -#源代码在GPLv3协议下发布 +#源代码在 GPLv3 协议下发布 ###我们开源,做好设计,不乱使用权限,只求你如果喜欢,可以分享给你的朋友们,好东西需要分享才能让其健康成长,每一次分享都是我们的动力,非常感谢! -#下载 +#下载 Download Google Play:https://play.google.com/store/apps/details?id=me.drakeet.inmessage -Fir:http://fir.im/codehelper \ No newline at end of file +Fir:http://fir.im/codehelper + +#English introduction +SmsCodeHelper, is a new open source and light App. + +It can automatically emerge verification code when your phone receives a text message contains a verification code. And automatically copy the code to the user's clipboard. When the user receives the message verification code, just long press the EditText to paste the verification code. + +In addition, it can also allow users to bulk delete unwanted SMS verification code; It can also help users Backward inference out what the business is bound (for a new phone number, it is useful). + +It is very light, but also adhering to the usual good design and user-friendly, since it does not start at leisure, will not take up any memory (unbelievers or concern, welcome to view the source code) . + + +We open source, good design, not indiscriminately use rights. Just hope if you like it, you can share with your friends, because good things need to share with others in order to let it grow, every share is our power, thanks! From 9329a2d47c9d38354e86e2baa400766e3e5b8270 Mon Sep 17 00:00:00 2001 From: shengkun <444341703@qq.com> Date: Fri, 19 Jun 2015 17:08:26 +0800 Subject: [PATCH 17/21] =?UTF-8?q?=E6=8F=90=E9=AB=98=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E5=87=86=E7=A1=AE=E5=BA=A6=EF=BC=8C=E7=AE=80=E5=8D=95=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=8B=B1=E6=96=87=E7=9F=AD=E4=BF=A1=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/StaticObjectInterface.java | 5 +- .../service/SMSBroadcastReceiver.java | 97 ++++++++++--------- .../me/drakeet/inmessage/utils/SmsUtils.java | 69 +++++++------ .../drakeet/inmessage/utils/StringUtils.java | 68 ++++++++++++- build.gradle | 2 +- 5 files changed, 162 insertions(+), 79 deletions(-) diff --git a/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java b/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java index f43530c..e6cedd4 100644 --- a/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java +++ b/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java @@ -5,6 +5,9 @@ */ public interface StaticObjectInterface { - String[] CPATCHAS_KEYWORD = {"激活码", "动态码", "校验码", "验证码", "驗證碼", "激活碼", "動態碼", "校驗碼"}; + String[] CPATCHAS_KEYWORD = {"激活码", "动态码", "校验码", "验证码", "确认码", "检验码", "验证代码", "激活代码", + "校验代码", "动态代码", "检验代码", "确认代码", "驗證碼", "激活碼", "動態碼", "校驗碼", "檢驗碼", "驗證代碼", + "激活代碼", "校驗代碼", "確認代碼", "動態代碼", "檢驗代碼"}; + String[] CPATCHAS_KEYWORD_EN = {"CODE"}; String ACTION_CLICK = "me.drakeet.inmessage.intent.action.NotificationClick"; } diff --git a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java index f79d19c..911a94d 100755 --- a/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java +++ b/app/src/main/java/me/drakeet/inmessage/service/SMSBroadcastReceiver.java @@ -36,52 +36,61 @@ public void onReceive(Context context, Intent intent) { //获取发送时间 final Date date = new Date(message.getTimestampMillis()); final String sender = message.getOriginatingAddress(); - if (!StringUtils.isPersonalMoblieNO(sender) && StringUtils.isCaptchasMessage(content) && !StringUtils - .tryToGetCaptchas(content) - .equals("")) { - if (!DiscernCaptchasService.isAlive) { - mServiceIntent = new Intent(context, DiscernCaptchasService.class); - context.startService(mServiceIntent); + + if (!StringUtils.isPersonalMoblieNO(sender)) { + boolean isCpatchasMessage = false; + if (!StringUtils.isContainsChinese(content)) { + if (StringUtils.isCaptchasMessageEn(content) && !StringUtils.tryToGetCaptchasEn(content).equals("")) { + isCpatchasMessage = true; + } + } else if (StringUtils.isCaptchasMessage(content) && !StringUtils.tryToGetCaptchas(content).equals("")) { + isCpatchasMessage = true; } - this.abortBroadcast(); - mHandler = new WeakHandler(); - mHandler.postDelayed( - new Runnable() { - @Override - public void run() { - Message smsMessage = new Message(); - smsMessage.setContent(content); - smsMessage.setSender(sender); - smsMessage.setDate(date); - String company = StringUtils.getContentInBracket(content, sender); - if (company != null) { - smsMessage.setCompanyName(company); - } - smsMessage.setIsMessage(true); - //格式化短信日期提示 - SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd hh:mm"); - //获得短信的各项内容 - String date_mms = dateFormat.format(date); - smsMessage.setReceiveDate(date_mms); - smsMessage.setReadStatus(0); - smsMessage.setFromSmsDB(1); - String captchas = StringUtils.tryToGetCaptchas(content); - if (!captchas.equals("")) { - smsMessage.setCaptchas(captchas); - } - String resultContent = StringUtils.getResultText(smsMessage, false); - if (resultContent != null) { - smsMessage.setResultContent(resultContent); + if (isCpatchasMessage) { + if (!DiscernCaptchasService.isAlive) { + mServiceIntent = new Intent(context, DiscernCaptchasService.class); + context.startService(mServiceIntent); + } + this.abortBroadcast(); + mHandler = new WeakHandler(); + mHandler.postDelayed( + new Runnable() { + @Override + public void run() { + Message smsMessage = new Message(); + smsMessage.setContent(content); + smsMessage.setSender(sender); + smsMessage.setDate(date); + String company = StringUtils.getContentInBracket(content, sender); + if (company != null) { + smsMessage.setCompanyName(company); + } + smsMessage.setIsMessage(true); + //格式化短信日期提示 + SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd hh:mm"); + //获得短信的各项内容 + String date_mms = dateFormat.format(date); + smsMessage.setReceiveDate(date_mms); + smsMessage.setReadStatus(0); + smsMessage.setFromSmsDB(1); + String captchas = StringUtils.tryToGetCaptchas(content); + if (!captchas.equals("")) { + smsMessage.setCaptchas(captchas); + } + String resultContent = StringUtils.getResultText(smsMessage, false); + if (resultContent != null) { + smsMessage.setResultContent(resultContent); + } + if (!VersionUtils.IS_MORE_THAN_LOLLIPOP) { + smsMessage.save(); + } + BusProvider.getInstance().register(this); + BusProvider.getInstance().post(new ReceiveMessageEvent(smsMessage)); + BusProvider.getInstance().unregister(this); } - if (!VersionUtils.IS_MORE_THAN_LOLLIPOP) { - smsMessage.save(); - } - BusProvider.getInstance().register(this); - BusProvider.getInstance().post(new ReceiveMessageEvent(smsMessage)); - BusProvider.getInstance().unregister(this); - } - }, 358 - ); + }, 358 + ); + } } } } diff --git a/app/src/main/java/me/drakeet/inmessage/utils/SmsUtils.java b/app/src/main/java/me/drakeet/inmessage/utils/SmsUtils.java index bc7fbf4..87401c7 100755 --- a/app/src/main/java/me/drakeet/inmessage/utils/SmsUtils.java +++ b/app/src/main/java/me/drakeet/inmessage/utils/SmsUtils.java @@ -50,38 +50,49 @@ public List getAllCaptchMessages() { int indexThreadId = cursor.getColumnIndex("thread_id"); String strbody = cursor.getString(indexBody); String strAddress = cursor.getString(indexAddress); - if (!StringUtils.isPersonalMoblieNO(strAddress) && StringUtils.isCaptchasMessage(strbody) && !StringUtils.tryToGetCaptchas(strbody).equals("")) { - int date = cursor.getColumnIndex("date"); - //格式化短信日期提示 - SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd hh:mm"); - Date formatDate = new Date(Long.parseLong(cursor.getString(date))); - long threadId = cursor.getLong(indexThreadId); - - //获得短信的各项内容 - String dateMms = dateFormat.format(formatDate); - Message message = new Message(); - String company = StringUtils.getContentInBracket(strbody, strAddress); - if (company != null) { - message.setCompanyName(company); + if (!StringUtils.isPersonalMoblieNO(strAddress)) { + boolean isCpatchasMessage = false; + if(!StringUtils.isContainsChinese(strbody)) { + if(StringUtils.isCaptchasMessageEn(strbody) && !StringUtils.tryToGetCaptchasEn(strbody).equals("")) { + isCpatchasMessage = true; + } } - String captchas = StringUtils.tryToGetCaptchas(strbody); - if(!captchas.equals("")) { - message.setCaptchas(captchas); + else if(StringUtils.isCaptchasMessage(strbody) && !StringUtils.tryToGetCaptchas(strbody).equals("")) { + isCpatchasMessage = true; } - int columnIndex = cursor.getColumnIndex("_id"); - String smsId = cursor.getString(columnIndex); - message.setIsMessage(true); - message.setDate(formatDate); - message.setSender(strAddress); - message.setThreadId(threadId); - message.setContent(strbody); - message.setSmsId(smsId); - message.setReceiveDate(dateMms); - String resultContent = StringUtils.getResultText(message, false); - if(resultContent != null) { - message.setResultContent(resultContent); + if(isCpatchasMessage) { + int date = cursor.getColumnIndex("date"); + //格式化短信日期提示 + SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd hh:mm"); + Date formatDate = new Date(Long.parseLong(cursor.getString(date))); + long threadId = cursor.getLong(indexThreadId); + + //获得短信的各项内容 + String dateMms = dateFormat.format(formatDate); + Message message = new Message(); + String company = StringUtils.getContentInBracket(strbody, strAddress); + if (company != null) { + message.setCompanyName(company); + } + String captchas = StringUtils.tryToGetCaptchas(strbody); + if (!captchas.equals("")) { + message.setCaptchas(captchas); + } + int columnIndex = cursor.getColumnIndex("_id"); + String smsId = cursor.getString(columnIndex); + message.setIsMessage(true); + message.setDate(formatDate); + message.setSender(strAddress); + message.setThreadId(threadId); + message.setContent(strbody); + message.setSmsId(smsId); + message.setReceiveDate(dateMms); + String resultContent = StringUtils.getResultText(message, false); + if (resultContent != null) { + message.setResultContent(resultContent); + } + smsMessages.add(message); } - smsMessages.add(message); } } diff --git a/app/src/main/java/me/drakeet/inmessage/utils/StringUtils.java b/app/src/main/java/me/drakeet/inmessage/utils/StringUtils.java index ced8b20..d87a73c 100755 --- a/app/src/main/java/me/drakeet/inmessage/utils/StringUtils.java +++ b/app/src/main/java/me/drakeet/inmessage/utils/StringUtils.java @@ -87,6 +87,23 @@ private static String analyseSpecialCompany(String company, String content, Stri return companyName; } + /** + * 判断字符串中时否包含中文 + * + * @param str + * @return + */ + public static boolean isContainsChinese(String str) { + String regEx = "[\u4e00-\u9fa5]"; + Pattern pat = Pattern.compile(regEx); + Matcher matcher = pat.matcher(str); + boolean flg = false; + if (matcher.find()) { + flg = true; + } + return flg || str.contains("【") || str.contains("】") || str.contains("。"); + } + public static boolean isPersonalMoblieNO(String mobiles) { Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"); Matcher m = p.matcher(mobiles); @@ -106,14 +123,46 @@ public static String tryToGetCaptchas(String str) { return ""; } + public static String tryToGetCaptchasEn(String str) { + Pattern continuousNumberPattern = Pattern.compile("[0-9\\.]+"); + Matcher m = continuousNumberPattern.matcher(str); + while (m.find()) { + if (m.group().length() > 3 && m.group().length() < 8 && !m.group().contains(".")) { + if(isNearToKeyWordEn(m.group(), str)) { + return m.group(); + } + } + } + return ""; + } + + public static boolean isNearToKeyWordEn(String currentStr, String content) { + int startPosition = 0; + int endPosition = content.length() - 1; + if (content.indexOf(currentStr) > 12) { + startPosition = content.indexOf(currentStr) - 12; + } + if (content.indexOf(currentStr) + currentStr.length() + 12 < content.length() - 1) { + endPosition = content.indexOf(currentStr) + currentStr.length() + 12; + } + Boolean isNearToKeyWord = false; + for (int i = 0; i < CPATCHAS_KEYWORD_EN.length; i++) { + if (content.substring(startPosition, endPosition).contains(CPATCHAS_KEYWORD_EN[i])) { + isNearToKeyWord = true; + break; + } + } + return isNearToKeyWord; + } + public static boolean isNearToKeyWord(String currentStr, String content) { int startPosition = 0; int endPosition = content.length() - 1; - if (content.indexOf(currentStr) > 10) { - startPosition = content.indexOf(currentStr) - 10; + if (content.indexOf(currentStr) > 12) { + startPosition = content.indexOf(currentStr) - 12; } - if (content.indexOf(currentStr) + 10 < content.length() - 1) { - endPosition = content.indexOf(currentStr) + 10; + if (content.indexOf(currentStr) + currentStr.length() + 12 < content.length() - 1) { + endPosition = content.indexOf(currentStr) + currentStr.length() + 12; } Boolean isNearToKeyWord = false; for (int i = 0; i < CPATCHAS_KEYWORD.length; i++) { @@ -136,6 +185,17 @@ public static boolean isCaptchasMessage(String content) { return isCaptchasMessage; } + public static boolean isCaptchasMessageEn(String content) { + Boolean isCaptchasMessage = false; + for (int i = 0; i < CPATCHAS_KEYWORD_EN.length; i++) { + if (content.contains(CPATCHAS_KEYWORD_EN[i])) { + isCaptchasMessage = true; + break; + } + } + return isCaptchasMessage; + } + /** * 根据短信获取描述文字 * diff --git a/build.gradle b/build.gradle index d3ff69d..9405f3f 100755 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.1.0' + classpath 'com.android.tools.build:gradle:1.2.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 5c78328215871c4334ce311a28ce32cbe01aa684 Mon Sep 17 00:00:00 2001 From: drakeet Date: Fri, 19 Jun 2015 17:18:26 +0800 Subject: [PATCH 18/21] support English code sms --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3768161..a994d44 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId "me.drakeet.inmessage" minSdkVersion 15 targetSdkVersion 22 - versionCode 8 - versionName "1.0.3" + versionCode 10 + versionName "1.0.6" } sourceSets { main { From 386a77033d15e2a0a79f08172b3626d38f00cd71 Mon Sep 17 00:00:00 2001 From: shengkun <444341703@qq.com> Date: Fri, 19 Jun 2015 17:23:39 +0800 Subject: [PATCH 19/21] =?UTF-8?q?=E6=8F=90=E9=AB=98=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E5=87=86=E7=A1=AE=E5=BA=A6=EF=BC=8C=E7=AE=80=E5=8D=95=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=8B=B1=E6=96=87=E7=9F=AD=E4=BF=A1=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../me/drakeet/inmessage/constant/StaticObjectInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java b/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java index e6cedd4..eb67359 100644 --- a/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java +++ b/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java @@ -8,6 +8,6 @@ public interface StaticObjectInterface { String[] CPATCHAS_KEYWORD = {"激活码", "动态码", "校验码", "验证码", "确认码", "检验码", "验证代码", "激活代码", "校验代码", "动态代码", "检验代码", "确认代码", "驗證碼", "激活碼", "動態碼", "校驗碼", "檢驗碼", "驗證代碼", "激活代碼", "校驗代碼", "確認代碼", "動態代碼", "檢驗代碼"}; - String[] CPATCHAS_KEYWORD_EN = {"CODE"}; + String[] CPATCHAS_KEYWORD_EN = {"CODE", "code"}; String ACTION_CLICK = "me.drakeet.inmessage.intent.action.NotificationClick"; } From a26986b8ca1cddada701ad30ce75645b5d1c14c7 Mon Sep 17 00:00:00 2001 From: shengkun <444341703@qq.com> Date: Fri, 19 Jun 2015 17:42:41 +0800 Subject: [PATCH 20/21] =?UTF-8?q?=E6=8F=90=E9=AB=98=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E5=87=86=E7=A1=AE=E5=BA=A6=EF=BC=8C=E7=AE=80=E5=8D=95=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=8B=B1=E6=96=87=E7=9F=AD=E4=BF=A1=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../me/drakeet/inmessage/constant/StaticObjectInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java b/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java index eb67359..6887c7a 100644 --- a/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java +++ b/app/src/main/java/me/drakeet/inmessage/constant/StaticObjectInterface.java @@ -6,7 +6,7 @@ public interface StaticObjectInterface { String[] CPATCHAS_KEYWORD = {"激活码", "动态码", "校验码", "验证码", "确认码", "检验码", "验证代码", "激活代码", - "校验代码", "动态代码", "检验代码", "确认代码", "驗證碼", "激活碼", "動態碼", "校驗碼", "檢驗碼", "驗證代碼", + "校验代码", "动态代码", "检验代码", "确认代码", "短信口令", "动态密码", "交易码", "驗證碼", "激活碼", "動態碼", "校驗碼", "檢驗碼", "驗證代碼", "激活代碼", "校驗代碼", "確認代碼", "動態代碼", "檢驗代碼"}; String[] CPATCHAS_KEYWORD_EN = {"CODE", "code"}; String ACTION_CLICK = "me.drakeet.inmessage.intent.action.NotificationClick"; From 312f69669c6571e9e9d17e56c2a33a2111cd909b Mon Sep 17 00:00:00 2001 From: drakeet Date: Tue, 23 Jun 2015 11:08:57 +0800 Subject: [PATCH 21/21] fix start crash; --- app/build.gradle | 9 +++++---- app/src/main/res/layout/activity_main.xml | 3 +-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a994d44..327bacd 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId "me.drakeet.inmessage" minSdkVersion 15 targetSdkVersion 22 - versionCode 10 - versionName "1.0.6" + versionCode 20 + versionName "1.2.0" } sourceSets { main { @@ -57,8 +57,8 @@ android { buildConfigField "boolean", "LOG_DEBUG", "false" debuggable false - minifyEnabled true - shrinkResources true + minifyEnabled false + shrinkResources false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.app1 @@ -123,4 +123,5 @@ dependencies { compile 'com.jakewharton:butterknife:6.0.0' compile 'com.badoo.mobile:android-weak-handler:1.0' compile 'com.umeng.analytics:analytics:latest.integration'// Umeng 统计 + } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 8a2e66e..a7cf4a4 100755 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,8 +6,7 @@ tools:context=".MainActivity"> + layout="@layout/view_toolbar"/>