From ebbd2b5abad487f0e75401a27799924c3840e731 Mon Sep 17 00:00:00 2001 From: tongtongstudio Date: Fri, 21 Nov 2025 09:44:10 +0800 Subject: [PATCH] =?UTF-8?q?version:1.0.1=20fix:=20update:=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E6=8E=A8=E9=80=81=EF=BC=8C=E5=A2=9E=E5=8A=A0=E9=80=80?= =?UTF-8?q?=E5=87=BA=E5=92=8C=E8=BF=94=E5=9B=9E=E6=A1=8C=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8csdk=E8=8E=B7=E5=8F=96sn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 9 +- app/libs/CSDK_TBY11_AiYouDu_250312.jar | Bin 0 -> 8926 bytes .../aidl/com/uiui/zy/IGetInfoInterface.aidl | 1 + .../ai/activity/edit/EditActivity.java | 5 +- .../ai/activity/edit/EditViewModel.java | 2 +- .../activity/homework/HomeworkViewModel.java | 2 +- .../ai/activity/main/MainActivity.java | 91 +++++++++++-- .../ai/activity/main/MainViewModel.java | 10 +- .../selectegrade/SelecteGradeActivity.java | 5 +- .../selectegrade/SelecteGradeViewModel.java | 2 +- .../ai/activity/user/UserActivity.java | 9 +- .../ai/activity/user/UserViewModel.java | 8 +- .../xuexispace/ai/base/BaseApplication.java | 78 +++++------- .../ai/fragment/subject/SubjectFragment.java | 4 +- .../ai/fragment/user/UserViewModel.java | 11 +- .../usercenter/device/DeviceFragment.java | 3 +- .../usercenter/info/InfoFragment.java | 11 +- .../usercenter/info/InfoViewModel.java | 6 +- .../xuexispace/ai/manager/AmapManager.java | 4 +- .../xuexispace/ai/manager/RemoteManager.java | 120 +++++++++--------- .../ai/network/NetInterfaceManager.java | 44 +++---- .../api/{GetFilesApi.java => FilesApi.java} | 2 +- .../xuexispace/ai/network/api/SnInfoApi.java | 2 +- .../push/alipush/AliMessageIntentService.java | 99 --------------- .../push/alipush/AliyunMessageReceiver.java | 116 ----------------- .../xuexispace/ai/service/SocketService.java | 14 +- .../xuexispace/ai/utils/ActivationUtil.java | 46 +++++-- .../xuexispace/ai/utils/AppUsedTimeUtils.java | 2 +- .../xuexispace/ai/utils/LenovoCsdkUtil.java | 75 +++++++++++ .../com/xuexispace/ai/utils/OpenApkUtils.java | 2 +- .../res/drawable-hdpi/com_android_dialer.png | Bin 33213 -> 37560 bytes .../com_android_gallery3d_app.png | Bin 37560 -> 33213 bytes app/src/main/res/layout/activity_main.xml | 59 ++++++++- 33 files changed, 419 insertions(+), 423 deletions(-) create mode 100644 app/libs/CSDK_TBY11_AiYouDu_250312.jar rename app/src/main/java/com/xuexispace/ai/network/api/{GetFilesApi.java => FilesApi.java} (92%) delete mode 100644 app/src/main/java/com/xuexispace/ai/push/alipush/AliMessageIntentService.java delete mode 100644 app/src/main/java/com/xuexispace/ai/push/alipush/AliyunMessageReceiver.java create mode 100644 app/src/main/java/com/xuexispace/ai/utils/LenovoCsdkUtil.java diff --git a/app/build.gradle b/app/build.gradle index 907bcaa..66a50a0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { minSdkVersion 24 targetSdkVersion 29 - versionCode 1 - versionName "1.0.0" + versionCode 2 + versionName "1.0.1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true @@ -113,7 +113,7 @@ android { dependencies { // implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' + implementation files('libs/CSDK_TBY11_AiYouDu_250312.jar') compileOnly files('libs/framework.jar') implementation project(path: ':niceimageview') implementation project(path: ':FlycoTabLayoutZ_Lib') @@ -132,6 +132,7 @@ dependencies { // Java language implementation implementation "androidx.fragment:fragment:1.4.1" implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.3' @@ -174,7 +175,7 @@ dependencies { //bugly implementation 'com.tencent.bugly:crashreport:4.1.9.2' //阿里云推送 - implementation 'com.aliyun.ams:alicloud-android-push:3.8.0' +// implementation 'com.aliyun.ams:alicloud-android-push:3.8.0' //高德地图定位 implementation 'com.amap.api:location:5.1.0' //状态栏透明 diff --git a/app/libs/CSDK_TBY11_AiYouDu_250312.jar b/app/libs/CSDK_TBY11_AiYouDu_250312.jar new file mode 100644 index 0000000000000000000000000000000000000000..abff99a61e6b0dda8bb8527eb264dbad6ce0b229 GIT binary patch literal 8926 zcmaia1yCH{@-8e3Ebi{^zBq*7fyDv=77GqR0>Pc&uE7HA0>Nc*g3BTy!GkAALU33# z1Pzc!?*F}efA>|rdObCDdb+>vK6U2IRG+F(4}t+CM+1RCXvASIrfB~V95f)Bw(2uQ z0Sz5Bq5DxZGz>I72sY?10`R|KdjHR0@(0AfgS8cPG}KfLo(XEJooSDcX+Z=8rwJee zyp!Wo&HBP~VryHTf|}a=8rsu7)j-_0D4N~eT^imOS9`L~KRr)9(f?H!YXfgh;vuW} z!~LJSk8%Hd(yR|&Yd1SjcPBd`>sPOYY`yGUgp>_bAllY$){gd`g0`;KUS72pIKd2t z^M$#k+W8XNv*0p50X=3+r!RhdCd;2)x67&ol;GWx8Zq6HXZ~VBPI?MMA>T1EFEL4| zo~fvilY5}64l#HbtEi}~`1N_U1^9jIk`%)}+fbMF%K2k*)U#6%bd|gXSxAeSPnaqLP51YP2|Yd7zQ-uLbvFZFd)(#f zYHHLm>iDR%G;3{eqo-u!uID$7lvcCAdjU~wQQMwKX2zOt z%^%()9-O1ryFumCa;>kWQoL}vp4J0A$zRC=V#nWt9V; zD>Kd=;WM{aPDOgtdV&aM2hZOL(z4#{DplOhtse!q)G(N5_)QHpi`7S`!#LFjc4Tih7$G}&!u{UodNw7VA8>tP?#)crD{*_*-LW# zC#!+c4f&;`m5$H4T4TPUS(oUq$RCD*VR|)4TK*knKg+euxLa*=kJScZhy-_DUnHZV zaw$b6Zfh$)4Re}BWAu#SGs%td!2(&xh1}z4>EUwqKFPfdc-!k(=XwOuPT~-)NAbpy z%1F!)^!0ALKH0qi?m>O5U-R9szVIBJAP8k$72od`}+4(iR&3XOmBYypdReZ^<%@IdPu!EUMZmML$nTdyq|Zq=TJNff7* zFbe_8o$xzkx`N4jhXe;xtV=G`XkR<4>>T^0h0z#@ts0W{A;@!|eK`%E+7WV?EFE$95;&2_HhxnF-r5 zCFu*$WF;W<*O7;JxIiN%mE&D>B3MI(V8&_@2{Q=(yDCTdWBK%s_f2@l{4Hiuz;2A7 z$>|slt$kek6>e~YMJXCW5Dft^NGn9^5yowx;eX5+yxNq*93)R|z2+&vlt}XBOp_*P z!8+e8|1E{#7M=f@pe%6rI{gjPKzP!;YEVwK=W0^^6a<4X%Y+LQmou=9#dJ3M%dU4x zRPxg=@5l@c8UCR8mpK!}eM5xSHA|qH3I!v9dRb`t(x`xI$FA%mv-*N!G`}HldfClH zSa-c9cl?P1@_A7ppRy(Bakx;1@fu{FHkc-C3ae8nI#L4ewgyl<(}#Y2SH?Q<^jG!v zi*V=3X@EfG*&$WJqsD-Amlg{j-1X!*3c32ix@Z|Gi*(!dftS_`0h9EfxxN|R*?lWu zWo$lq6|*DP)S20jc|vJ+g~i+^k1IoT&2lB->I8%xKk6gb{*|3zh>!}_Q-fXLKUL*w zw`+C-g-(lT4CoWp^6=$^YYojaG-I5+HPY&mZjd31OfilLDZGAk@(sgrwu-0ovN1!Y z3b?AFyiG*4Ybo%IB17VU^Qj@;U>FXm9r9fXsW?*W6HxH|p$r{=&MyP^u17@{*%au` zlUzpO^b+#4Qt!|Q)&TqT@IjRs*Wjd~H9I1SropPjJkUsX; z_#~I&=3Uhz@y4{7l$Va#)I%gpDd$faE(63&mg(}bylA(pZX`$Vs`<83Hguc@ zi0GvjwC8;hb%?7LHx@j~oB};n8YYN-s}a_o2c+osZO$B~&TG(_XC9#8U20Zsf(JS# zp9$M(Cr5eq3gXZ{x{G}1hHOmeoT?t>A~k}VdSGdY~M!mCc$ z$MemW%Eqtily9&!WJib46`^G(u&Z>isAnc*4|XuQ%JCaIL!z_^;N1qWi=JyjsqJM3 zy@?7=i?d|kX}lqvA8*OwVLF7o((ny~+yRC=tBYr%=cItdg`yHXc=n#c~TUPAN>K}(YC`l;Q3(9 zb`QVD3Z$8RN%z*XDZqc8B0aqFn}uY9SndhJmV~wpY$JSER8n)W^^Z7BEq}+g6RukrHiM|sA?|3(p!C_$MVgH31{aGi0Cvb zZ-x0@M~+RHV9RE>2iDGsewR4(ZgaiUx9Lq@e3x>9*u7nQ&QR^X1`h0_hHHAvdCY-{ zUjp2qYM9NSuC6>T=r)3kB>`>0EwF0i$wXWRg}6&D|IQizH_&9EGFSXbqsdy`nBYiV zu@gN{u&dA_-0y%CcD6y#dV+=Vl-uCx6q^YzV5o#~t(WEUF~)vaygI3E{mah_b&p_U zuR;iubrew?L&kQhFQO%feFa ztz`lZ@;EnjZ$G>E(T>l7gnJ$ejKRmh%%z;?vLJ2;lvbVNE~Y%5K0zHVGp#)PQv;XN zDMVi3%ebw<*e|$YAQKi79*9%z$N2X#A1E8Vl*gWJZW`%qaVSicKpZQUEaq60o8*vh zuLGdi@N4OyN4x87rZY4pHJekIQ6c5|`!k=6w>WMAMTVXe7^2P+I8`kp#QN9!nkdG_ zNrPDdNs8z!DHegsUe`F{096A_34<`28GhTDH}lg={J`#vp~N^KyfptV?}yp`&lHr; zUG-+7l8&hoxJbb7$MmZUQ9_Kp)Xl?yV)npJb`%{yLFzdfP6?^=%Ictw&Po^36}Lmc zxg0XZ$!NNOu7C$Clnb)i7TcKvSGILwU*yGP#YVoYp~F|1D6#cc_HanhHuALEsPTub znj-|W2X{C76Rb-1b-VQP+WDyIZ6xW&;%A2n>AoI`ZqK;HUEuBcxb|}dl?PZqTU9Q> zhlFz`>%C~+1D#Kz%&}!FMa5(3iE+UbV8Lmr0gKHAx=JoWXUSHlup3BK~eD`nw zB}+?=>oh-)vbI_IBtXgM^uz26qhyX(_v$n>o@~O3+`m$Ia`5d>=kP}QD6$+~hL};a z*Qs`#qSHk~I-R*Mgm*<4^)xaf8=}+vXv;Z-W~Q3~?4~5ovEVS5)ZYOot9#xFa3itP zKu0t7oc_MatXA5=_;T3*fPE{_Qc>8qjR#l2r!Kd9WX)P&G5-uUclnVZBt z%^VbYn)F6Zx}DX^Y*gptX8dwI)H}xI-Dn#4qu?JNO38@pV1n0jl!|q`*0W^B&T>z! zfWx4brO;G`XG&BYl1T&RPq|~CucpyZsAzpIV!~7Kg3w=nnJusy!Quda)t2jw<6b*& z-z*g+!90Nub&44?(;-Qon!BblMP=n9pHNbcd2_AEooA%h4axISJ=G zyJ_w5ss9U~W`S4Kl^wa6?q22Ok~#W!5|n>TDn}fA!|A&=5uMp4MS(8fSqK*o`n8NR z2D2{jlkIteaQ*5S*{fvtyjB<9(7_j*CL<1g)iFZFfDXI3`JoFLeTynn9{toc7@Vz* zox`(PDanQD3&8g#n;@_(bLv#2OKSVL!inN1CqKnl_G=^@U$p}iuBjS~+kCEdBnnA~ zCiFOkXlu8K;V=hSR%dE-z0pd`BXuaf-Y>d_Hedzt?D&rhIaUNrn^wh@^*>A27xyep z<~`Wu=Ps#Fq!_)D3!ON2hm%f&EPSR5sw$VsQQ|L{9IhR1or55TQ~NiqfFzPG)f33s z-E+>IvbG*RPq%n;bTK;J^=1TC-p@3F#PvpfDL7dy8R6;eH-Dc6p~;LH5liNRsl#HF z-{%Q@{CBog`s$=SQe7@?27vI_Xbq|kZ_nApVvz4fpD7A9CxdKaGkfk=Z~fWG1YNy!l95?SkRZ>zsO>%eU{ora_So9g^q@n+m;QDwcIsh=g|CFi z0@L}x4m*x~U1qI29Z#dkXxc=Qa}^qI)}>EPN}qbX-221dAK347y~8Swjjmf=bR6C1eY}_k;s|&OTO4Gh;TV?@#6hStD`rkD@wTOCE*Hm~;)hZDcJDvw(ELC(CY|C)gs_E! z-uX8{ZDV8>#&v45Nhkc?{18nMHKL)sc0hhX`_o2k_571Dks4oj8x5-Xl5H)d=T|TK z{W5otd&K3$%x_A61^vM9xW~(-mnCa=FZS-J{l7n-zlZMKN%<@ECKO)qhWb7^=0g6C zH@uZoeRIt2f1LJBS3)RyhhwoLe2Vr+HT0(?LXkz0!;nIcol^0Ko zL=x5p{*@PlixbQVrrOILUeTQFRdjDYGY}Pfw(G~aL#It2Ooi<}2N22$qhniB+o;Oi z;$5>Co?X)g1k0f1;{oc6kbEY5gs!wy)Np#1-1nRWE*5HSivIhGuVxXO$-9Hql_tGz%oT8)5~kh{>ia99V-*|Y0DDl(l5Fn9AHQ=>GVZs&h**{M7D zD!y~cV}qJGvr|Elgav?l3^1Yz_jw9f;0K^=2o~r+$|OlK(a%^-e4N70nGN@sh|rMj zCkr41@Z~q?7r5LqS;5p6!*OeL20Xz~W9q5M8@}Yx0*~m^VE;h$t*z*J^)f0Np>6hz zwqmCbMnhJX`r@;e3B;Q-A4oRsL2s@u)72wI&e zUs$aniJ*T@ulO7TrBIvR8QgzviFs=p#Xn_2Z}L2rI+IVIXcR>fVctO!A?>MV8?^+CZUGwJwi^}jwyAw!P zKA36%zbnfd|NQk_Gfl2%sy#*QBGkXSLU)mlNjO`NQbHgdn)b&|>;!8gvP%5MAz6*a zp!}3&XxBVLScXZ>sz)3h#RfvOaapa#Ap;!&3+f~n`>T5g6m)Z`EMebk(C^!6rS5Q! zWhU~j{k;deG(rY`10z12)3O??tGF4FU9;PK@3QugI58upyNWe%Un^7sd2XzOJozFv zKT^hSR*-c5R&ickjUnF5NM!ruNX)MAUW#2I@$>4-Djz>trL-x*6lOo>C*K+$tg)Y0 z;Z;7D0a46;0uNT!i&`O$sPx`2*&qZB15(P8WLs8$O;)vS5=D^d(wzYT1(wS<6sEe#wu^$`lG19 zpA1P{zX+m)PJ2`=*B`Isw8Lt)LV@Yn4Jr>l?awbvS&5wEf@NtBjw|DXsXXXTN}|jX zj#(N)--Mlq4DoC^(ju_0c($-X2upS=`M9*xhrRzAL~D<6tA#XeVqO>|M|m%34%~Qv z6GH*IN&4}14nKbx6g|_$?kRg@%91sIC$_P(60w!Jtt;ma14s%?&2xOofI!Y3R;393ES0{nK z)>=cgfe;E@C+E}vR6S1c9bx$SB@pqE1o}q{c_R-%eaC_7GB@1khn>g%f|lo6A@1Xl z)sQumE(pQ#0H+C`PeU$R5<@%jpM;+q0~Zp2G=E}{Gi3_6z4s|dXPq?^6Nuk}wR8N#d2Jeydi26UQ4H5!L_OuV!JoX$C z`bKO|3Yw+Z&4@ROG_Rkf4$^+foe>0U(^hs+`j+NJw-UByXTC!_1Nd+w&6ybHw)ZsB z(_WA&5-7gFz|^S75j5mQbddPw-(KgoIF!m&KO9?10;4}aU9WUwB+yM_@eFoUKPNbk*}upZ@x&jzlb_WF_wlV!qS+`uQ}5BSX6jh~1YXXN5KZ1@JoGDAHs)~|0S z0tw-CWv8?}avU=uAFnQme9PV$3~lU!=RcbN-VJs7J_%vc0*jk8G?X-aJ$d#8bH>w_ zuOoog=8@Bkh4r9S=Ux;z~Iis71BEKTfO=gC{+w@S5QB+*@d$|p)( z5^KDy=;H=k#yvR&7lxluJx5IMpnrH7896-sb%K1(wr?t-QEGN!~WE@?2F|aoxiBJD7KZ z=UfH18vZFJ{5l&rC>IT_TeQhWf!FPBB(~;MgH;@R*{owM5{S<%s6`x!ZF<#t92onT zehVWgh!H)OBYCmZ;Y937VX4R)D}WKnyCx#rXTCH__L97YMoMv2W8LI7SPpNO0#{4F zHji!d@0>V?wAf9`!AuJ!T@X}k&&s9(h90j*&{U3*Alq!hNWM$twQ+ng8fr@}7eqH0 zkKSSJ*3fp~@XsC3?*_cVg7S>mZ9vVKX=+6SU8lzpKstU7A zI*~ilN${ra{dVS$b5-iZ2Dda+mzl^>?Jvkt{~7SKbT*Y0E^ywW3=207+cC+_#e)Ra zt3}rXzGsY&FNW2;D93mHR)OQ(D@eM19`WWHE6>_KA~olpI`H)X=2kwjwVFkB*_837 zVVqOtNF6wf@WgOC-#}Mc+n1v~?UszUxhZ-G5W2|R{`&FY-Fx1ndc{}uBbAx$eMS@V z>nKTsjHft+{P|?=*y@?q=|rDsDTi!mvfeYLF~m`aI)Yz+=MV)>_zjZ5Pq%}tCiv0w zj#WS3er25wX0l<}69s<|3}E<|641)k-ni#C5=+)lr#`-~4nAAQs5S|~uo>8!;fyvr zQ3PfS8t7YvfPPTE5asA!HahqgSN~hfVyV>Xr`iw*^#Gc`lV zY*#a7+PJ-LN+)HIeDdHBK!1+lOZ^icF#se-f~Vn8?sK)jid{E{yk+)Z&pFRSotOGn zs|gQ3M{Qh$E?dJxCICv}f6O6R;eQiB3stQiriHn1`0%+bl_ERY?mCdp^X=fmMAkQj zi-mYcT79Z!oiNQt)z|3ZWg}HdZe2&3eXC}9FiolT#t%0fQW?2CSsfZB<3b4=fF3U_ zfjmnMChxXZ?#Rb}6@OMfE#*=B_NrfNlhJR_5NQt78{}CkkDrvd)orR%hp5=6)C6*B7PNZDUs$8*`YxQ#(J-GJM@(A4(?jymJ%sF2|kaSCfI* zX&=L08RWW(h8{dChR|qBqP`cj(TC*;n~)UNnshRaJggB@c-ilCt?+X+rQv2WyIXVs zVx;<5LOwqN@6YPU=qIVx_0{Lbe=uPLQ zCi}=o;?6Gi_eY_z#G57$eaZ&t4cSBgcL`dRerQO5O2iheocd`B%nN;-Rbrje*K7}O ze~!m>q>vbzS2`J2ufWy-)_{{(zE-6764!ulTV9J?y2o8*3sxBnwcV$rJ$*pi-D3YM zO5)RN*8f5OQL>VkMMr%HA$B-FT`>U{C~%;E9`;2jMW(HyMxSF2 zGaV_{yADb7#Z`=Poz~6sO0}Of46!syyG< zRjzjA<+OmQHk#U4>+UjKkumIy&xnx{l0@M1bZ&TG-)zQBg?K-R zCqhq4Lmt!*?yI`)!;QI$m9NDnbKqG|d=9xB%p2%X4W4${3xyg$35KY8vX5fLF)ia> zAI#2_y~O1oQn+xEFI_ReWF=-aVr9OM*F}+V3@`(JJmmnaGhMVW8nEKC5i=UICYAn? z`x2-WA9l4PSF6BFqPC|rajWo`y>V78VS2%gh9-gd%c4LBkfZ%K`Q!gEJN}YC{#*Xd z=J-nm`M*Q|NzV97{rHc_KdAo>{Ra``pBes=IQ}`Yza) params = new HashMap<>(); - params.put("sn", RemoteManager.getInstance().getSerial()); + params.put("sn", LenovoCsdkUtil.getInstance().getSerial()); params.put(mTypeName, mViewDataBinding.editText.getText().toString()); mViewModel.updateInfo(params); } else { diff --git a/app/src/main/java/com/xuexispace/ai/activity/edit/EditViewModel.java b/app/src/main/java/com/xuexispace/ai/activity/edit/EditViewModel.java index 43e7cc4..3a47987 100644 --- a/app/src/main/java/com/xuexispace/ai/activity/edit/EditViewModel.java +++ b/app/src/main/java/com/xuexispace/ai/activity/edit/EditViewModel.java @@ -34,7 +34,7 @@ public class EditViewModel extends BaseViewModel mSuccessfulData = new MutableLiveData<>(); public void updateInfo(Map params) { - if (!ActivationUtil.isActivation()) { + if (!ActivationUtil.getInstance().isActivation()) { return; } NetInterfaceManager.getInstance().getUpdateInfoObservable(params) diff --git a/app/src/main/java/com/xuexispace/ai/activity/homework/HomeworkViewModel.java b/app/src/main/java/com/xuexispace/ai/activity/homework/HomeworkViewModel.java index 1bf2208..3e9f367 100644 --- a/app/src/main/java/com/xuexispace/ai/activity/homework/HomeworkViewModel.java +++ b/app/src/main/java/com/xuexispace/ai/activity/homework/HomeworkViewModel.java @@ -38,7 +38,7 @@ public class HomeworkViewModel extends BaseViewModel> mHomeworkBeanListData = new MutableLiveData<>(); public void getHomeWork() { - boolean activation = ActivationUtil.isActivation(); + boolean activation = ActivationUtil.getInstance().isActivation(); if (!activation) { return; } diff --git a/app/src/main/java/com/xuexispace/ai/activity/main/MainActivity.java b/app/src/main/java/com/xuexispace/ai/activity/main/MainActivity.java index 82bfb21..a1c08d2 100644 --- a/app/src/main/java/com/xuexispace/ai/activity/main/MainActivity.java +++ b/app/src/main/java/com/xuexispace/ai/activity/main/MainActivity.java @@ -39,6 +39,14 @@ import com.xuexispace.ai.config.CommonConfig; import com.xuexispace.ai.databinding.ActivityMainBinding; import com.xuexispace.ai.dialog.PermissionsDialog; import com.xuexispace.ai.dialog.PrivacyPolicyDialog; +import com.xuexispace.ai.fragment.biology.BiologyFragment; +import com.xuexispace.ai.fragment.chemical.ChemicalFragment; +import com.xuexispace.ai.fragment.chinese.ChineseFragment; +import com.xuexispace.ai.fragment.complex.ComplexFragment; +import com.xuexispace.ai.fragment.english.EnglishFragment; +import com.xuexispace.ai.fragment.math.MathFragment; +import com.xuexispace.ai.fragment.physics.PhysicsFragment; +import com.xuexispace.ai.fragment.precision.PrecisionFragment; import com.xuexispace.ai.fragment.subject.SubjectFragment; import com.xuexispace.ai.fragment.user.UserFragment; import com.xuexispace.ai.jxw.JxwPackageConfig; @@ -46,6 +54,7 @@ import com.xuexispace.ai.manager.AmapManager; import com.xuexispace.ai.manager.RemoteManager; import com.xuexispace.ai.service.SocketService; import com.xuexispace.ai.utils.ApkUtils; +import com.xuexispace.ai.utils.LenovoCsdkUtil; import com.xuexispace.ai.utils.OpenApkUtils; import com.xuexispace.ai.utils.Utils; import com.xuexispace.ai.view.ScaleCircleNavigator; @@ -59,6 +68,25 @@ public class MainActivity extends BaseMvvmActivity mFragments; + private FragmentManager mFragmentManager; + private BaseFragmentPagerAdapter mBaseFragmentPagerAdapter; + private ViewPager.OnPageChangeListener mListener; + private int defaultCurrent = 0; + @Override public void onRemoteConnected() { Log.e(TAG, "onConnected: "); @@ -81,7 +109,7 @@ public class MainActivity extends BaseMvvmActivity= Build.VERSION_CODES.O) { startForegroundService(intent); @@ -124,6 +150,41 @@ public class MainActivity extends BaseMvvmActivity(); + + mPrecisionFragment = new PrecisionFragment(); + mChineseFragment = new ChineseFragment(); + mMathFragment = new MathFragment(); + mEnglishFragment = new EnglishFragment(); + mPhysicsFragment = new PhysicsFragment(); + mChemicalFragment = new ChemicalFragment(); + mBiologyFragment = new BiologyFragment(); + mComplexFragment = new ComplexFragment(); + + mFragments.add(mPrecisionFragment); + mFragments.add(mChineseFragment); + mFragments.add(mMathFragment); + mFragments.add(mEnglishFragment); + mFragments.add(mPhysicsFragment); + mFragments.add(mChemicalFragment); + mFragments.add(mBiologyFragment); + mFragments.add(mComplexFragment); + Log.e(TAG, "SubjectFragment: end = " + (System.currentTimeMillis() - time)); + + long time2 = System.currentTimeMillis(); + Log.e(TAG, "initView: start " + time2); + mFragmentManager = getSupportFragmentManager(); + mBaseFragmentPagerAdapter = new BaseFragmentPagerAdapter(mFragmentManager, mFragments); + mViewDataBinding.viewPager.setAdapter(mBaseFragmentPagerAdapter); + mViewDataBinding.viewPager.setOnPageChangeListener(mListener); + mViewDataBinding.mainSlidingTabLayout.setViewPager(mViewDataBinding.viewPager, mAllTitle); + + Log.e(TAG, "initView: end = " + (System.currentTimeMillis() - time2)); + mViewDataBinding.viewPager.setOffscreenPageLimit(10); + } @Override @@ -196,16 +257,24 @@ public class MainActivity extends BaseMvvmActivity mGradleData = new MutableLiveData<>(); public void getSnInfo() { - NetInterfaceManager.getInstance().getsnInfoControl() + NetInterfaceManager.getInstance().getSnInfoControl() .compose(RxLifecycle.bindUntilEvent(getLifecycle(), ActivityEvent.DESTROY)) .subscribe(new Observer>() { @Override @@ -158,7 +158,7 @@ public class MainViewModel extends BaseViewModel params = new HashMap<>(); - params.put("sn", RemoteManager.getInstance().getSerial()); + params.put("sn", LenovoCsdkUtil.getInstance().getSerial()); params.put("sn_grade", grade); mViewModel.updateInfo(params); } diff --git a/app/src/main/java/com/xuexispace/ai/activity/selectegrade/SelecteGradeViewModel.java b/app/src/main/java/com/xuexispace/ai/activity/selectegrade/SelecteGradeViewModel.java index 8a3810e..9369ed4 100644 --- a/app/src/main/java/com/xuexispace/ai/activity/selectegrade/SelecteGradeViewModel.java +++ b/app/src/main/java/com/xuexispace/ai/activity/selectegrade/SelecteGradeViewModel.java @@ -34,7 +34,7 @@ public class SelecteGradeViewModel extends BaseViewModel mSuccessfulData = new MutableLiveData<>(); public void updateInfo(Map params) { - if (!ActivationUtil.isActivation()) { + if (!ActivationUtil.getInstance().isActivation()) { return; } diff --git a/app/src/main/java/com/xuexispace/ai/activity/user/UserActivity.java b/app/src/main/java/com/xuexispace/ai/activity/user/UserActivity.java index 20d8fd1..99db302 100644 --- a/app/src/main/java/com/xuexispace/ai/activity/user/UserActivity.java +++ b/app/src/main/java/com/xuexispace/ai/activity/user/UserActivity.java @@ -38,6 +38,7 @@ import com.xuexispace.ai.utils.ActivationUtil; import com.xuexispace.ai.utils.ApkUtils; import com.xuexispace.ai.utils.FileUtil; import com.xuexispace.ai.utils.GlideLoadUtils; +import com.xuexispace.ai.utils.LenovoCsdkUtil; import com.xuexispace.ai.utils.Utils; import java.io.File; @@ -122,7 +123,7 @@ public class UserActivity extends BaseMvvmActivity() { + mViewModel.mAppUpdateInfoData.observe(this, new Observer() { @Override public void onChanged(AppUpdateInfo appUpdateInfo) { if (appUpdateInfo == null) { @@ -152,7 +153,7 @@ public class UserActivity extends BaseMvvmActivity params = new HashMap<>(); - params.put("sn", RemoteManager.getInstance().getSerial()); + params.put("sn", LenovoCsdkUtil.getInstance().getSerial()); mViewModel.updateInfo(params, body); } else { mMMKV.encode(CommonConfig.UIUI_USER_AVATAR_KEY, avatarFilePath); diff --git a/app/src/main/java/com/xuexispace/ai/activity/user/UserViewModel.java b/app/src/main/java/com/xuexispace/ai/activity/user/UserViewModel.java index ca54d77..954b3fa 100644 --- a/app/src/main/java/com/xuexispace/ai/activity/user/UserViewModel.java +++ b/app/src/main/java/com/xuexispace/ai/activity/user/UserViewModel.java @@ -67,11 +67,7 @@ public class UserViewModel extends BaseViewModel mAppUpdateInfoData = new MutableLiveData<>(); - - public MutableLiveData getAppUpdateInfoData() { - return mAppUpdateInfoData; - } + public MutableLiveData mAppUpdateInfoData = new MutableLiveData<>(); public void checkUpdate() { NetInterfaceManager.getInstance().getCheckUpdateObservable(BuildConfig.APPLICATION_ID) @@ -109,7 +105,7 @@ public class UserViewModel extends BaseViewModel mSuccessfulData = new MutableLiveData<>(); public void updateInfo(Map params, MultipartBody.Part multipartBody) { - if (!ActivationUtil.isActivation()) { + if (!ActivationUtil.getInstance().isActivation()) { return; } diff --git a/app/src/main/java/com/xuexispace/ai/base/BaseApplication.java b/app/src/main/java/com/xuexispace/ai/base/BaseApplication.java index e30cca1..ebb646f 100644 --- a/app/src/main/java/com/xuexispace/ai/base/BaseApplication.java +++ b/app/src/main/java/com/xuexispace/ai/base/BaseApplication.java @@ -9,8 +9,6 @@ import android.os.Handler; import android.os.Looper; import android.util.Log; -import com.alibaba.sdk.android.push.CloudPushService; -import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory; import com.arialyy.aria.core.Aria; import com.hjq.toast.Toaster; import com.tencent.bugly.crashreport.CrashReport; @@ -24,14 +22,15 @@ import com.xuexispace.ai.manager.RemoteManager; import com.xuexispace.ai.network.NetInterfaceManager; import com.xuexispace.ai.push.PushManager; import com.xuexispace.ai.receiver.APKinstallReceiver; +import com.xuexispace.ai.utils.ActivationUtil; import com.xuexispace.ai.utils.AppUsedTimeUtils; +import com.xuexispace.ai.utils.LenovoCsdkUtil; import com.xuexispace.ai.utils.OpenApkUtils; import com.xuexispace.ai.utils.SystemUtils; public class BaseApplication extends Application { private static final String TAG = "BaseApplication"; - /** * ViewModel中因为经常旋转导致弱引用为空 */ @@ -62,24 +61,25 @@ public class BaseApplication extends Application { private void init() { Log.e(TAG, "init: "); if (BuildConfig.DEBUG) { - + catchException(); } if (SystemUtils.isMainProcessName(this, android.os.Process.myPid())) { String rootDir = MMKV.initialize(this); Log.e(TAG, "mmkv root: " + rootDir); + + ActivationUtil.init(this); + LenovoCsdkUtil.init(this); + + CrashReport.initCrashReport(getApplicationContext(), "d1cd982951", false); + CrashReport.setDeviceId(BaseApplication.this, LenovoCsdkUtil.getInstance().getSerial()); + // 初始化 Toast 框架 Toaster.init(this); AmapManager.init(this); AppManager.init(this); PushManager.init(this); RemoteManager.init(this); - RemoteManager.setListener(new RemoteManager.ConnectedListener() { - @Override - public void onRemoteConnected() { - CrashReport.setDeviceId(BaseApplication.this, RemoteManager.getInstance().getSerial()); - RemoteManager.getInstance().aliyunPushInit(); - } - }); + AlarmUtils.init(this); AppUsedTimeUtils.init(this); OpenApkUtils.init(this); @@ -87,42 +87,32 @@ public class BaseApplication extends Application { NetInterfaceManager.init(this); // startService(new Intent(this, MainService.class)); registAppReceive(); - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - slowInit(); - } - }, 1234); + + Aria.init(this); +// Aria.get(this).getDownloadConfig().setMaxTaskNum(1); +// Aria.get(this).getDownloadConfig().setConvertSpeed(true); + +// aliyunPushInit(); } } - private void slowInit() { - Log.e(TAG, "slowInit: "); - Aria.init(this); -// Aria.get(this).getDownloadConfig().setMaxTaskNum(1); -// Aria.get(this).getDownloadConfig().setConvertSpeed(true); - CrashReport.initCrashReport(getApplicationContext(), "d1cd982951", false); - - aliyunPushInit(); - } - - public void aliyunPushInit() { - PushServiceFactory.init(this); - final CloudPushService pushService = PushServiceFactory.getCloudPushService(); - pushService.setLogLevel(CloudPushService.LOG_DEBUG); -// pushService.register(this, new CommonCallback() { -// @Override -// public void onSuccess(String response) { -// Log.e("AliyunPush", "init cloudchannel success"); -// Log.e("AliyunPush", "init cloudchannel success " + pushService.getDeviceId()); -// } -// -// @Override -// public void onFailed(String errorCode, String errorMessage) { -// Log.e("AliyunPush", "init cloudchannel failed -- errorcode:" + errorCode + " -- errorMessage:" + errorMessage); -// } -// }); - } +// public void aliyunPushInit() { +// PushServiceFactory.init(this); +// final CloudPushService pushService = PushServiceFactory.getCloudPushService(); +// pushService.setLogLevel(CloudPushService.LOG_DEBUG); +//// pushService.register(this, new CommonCallback() { +//// @Override +//// public void onSuccess(String response) { +//// Log.e("AliyunPush", "init cloudchannel success"); +//// Log.e("AliyunPush", "init cloudchannel success " + pushService.getDeviceId()); +//// } +//// +//// @Override +//// public void onFailed(String errorCode, String errorMessage) { +//// Log.e("AliyunPush", "init cloudchannel failed -- errorcode:" + errorCode + " -- errorMessage:" + errorMessage); +//// } +//// }); +// } private APKinstallReceiver apKinstallReceiver; diff --git a/app/src/main/java/com/xuexispace/ai/fragment/subject/SubjectFragment.java b/app/src/main/java/com/xuexispace/ai/fragment/subject/SubjectFragment.java index eb883a2..30010d1 100644 --- a/app/src/main/java/com/xuexispace/ai/fragment/subject/SubjectFragment.java +++ b/app/src/main/java/com/xuexispace/ai/fragment/subject/SubjectFragment.java @@ -37,9 +37,7 @@ public class SubjectFragment extends BaseDataBindingFragment> mSnInfoData = new MutableLiveData<>(); public void getSnInfo() { - boolean activation = ActivationUtil.isActivation(); + boolean activation = ActivationUtil.getInstance().isActivation(); if (!activation) { return; } @@ -98,7 +99,7 @@ public class UserViewModel extends BaseViewModel mStudyStatBeanData = new MutableLiveData<>(); public void getStudyStat() { - boolean activation = ActivationUtil.isActivation(); + boolean activation = ActivationUtil.getInstance().isActivation(); if (!activation) { return; } @@ -137,7 +138,7 @@ public class UserViewModel extends BaseViewModel mQrCodeData = new MutableLiveData<>(); public void getQrCode() { - String encryptString = CXAESUtil.encrypt(CommonConfig.AES_KEY, RemoteManager.getInstance().getSerial()); + String encryptString = CXAESUtil.encrypt(CommonConfig.AES_KEY, LenovoCsdkUtil.getInstance().getSerial()); Log.e("getQRCode", "setImageAndText: " + encryptString); Bitmap bitmap = Utils.createQRImage(encryptString, 400, 400); mQrCodeData.setValue(bitmap); @@ -202,7 +203,7 @@ public class UserViewModel extends BaseViewModel> mHomeworkBeanListData = new MutableLiveData<>(); public void getHomework() { - boolean activation = ActivationUtil.isActivation(); + boolean activation = ActivationUtil.getInstance().isActivation(); if (!activation) { return; } @@ -246,7 +247,7 @@ public class UserViewModel extends BaseViewModel mPhraseData = new MutableLiveData<>(); public void getPhrase() { - boolean activation = ActivationUtil.isActivation(); + boolean activation = ActivationUtil.getInstance().isActivation(); if (!activation) { return; } diff --git a/app/src/main/java/com/xuexispace/ai/fragment/usercenter/device/DeviceFragment.java b/app/src/main/java/com/xuexispace/ai/fragment/usercenter/device/DeviceFragment.java index c40a465..d74ed1a 100644 --- a/app/src/main/java/com/xuexispace/ai/fragment/usercenter/device/DeviceFragment.java +++ b/app/src/main/java/com/xuexispace/ai/fragment/usercenter/device/DeviceFragment.java @@ -13,6 +13,7 @@ import com.xuexispace.ai.activity.service.ServiceActivity; import com.xuexispace.ai.base.mvvm.fragment.BaseMvvmFragment; import com.xuexispace.ai.databinding.FragmentDeviceBinding; import com.xuexispace.ai.manager.RemoteManager; +import com.xuexispace.ai.utils.LenovoCsdkUtil; public class DeviceFragment extends BaseMvvmFragment { @@ -40,7 +41,7 @@ public class DeviceFragment extends BaseMvvmFragment params = new HashMap<>(); - params.put("sn", RemoteManager.getInstance().getSerial()); + params.put("sn", LenovoCsdkUtil.getInstance().getSerial()); params.put("sex", "1"); mViewModel.updateInfo(params); } else { @@ -75,9 +76,9 @@ public class InfoFragment extends BaseMvvmFragment params = new HashMap<>(); - params.put("sn", RemoteManager.getInstance().getSerial()); + params.put("sn", LenovoCsdkUtil.getInstance().getSerial()); params.put("sex", "2"); mViewModel.updateInfo(params); } else { @@ -123,7 +124,7 @@ public class InfoFragment extends BaseMvvmFragment mSnInfoData = new MutableLiveData<>(); public void getSnInfo() { - if (!ActivationUtil.isActivation()) { + if (!ActivationUtil.getInstance().isActivation()) { return; } - NetInterfaceManager.getInstance().getsnInfoControl() + NetInterfaceManager.getInstance().getSnInfoControl() .compose(RxLifecycle.bindUntilEvent(getLifecycle(), FragmentEvent.DESTROY)) .subscribe(new Observer>() { @Override @@ -70,7 +70,7 @@ public class InfoViewModel extends BaseViewModel mSuccessfulData = new MutableLiveData<>(); public void updateInfo(Map params) { - if (!ActivationUtil.isActivation()) { + if (!ActivationUtil.getInstance().isActivation()) { return; } diff --git a/app/src/main/java/com/xuexispace/ai/manager/AmapManager.java b/app/src/main/java/com/xuexispace/ai/manager/AmapManager.java index 934a860..845a6b5 100644 --- a/app/src/main/java/com/xuexispace/ai/manager/AmapManager.java +++ b/app/src/main/java/com/xuexispace/ai/manager/AmapManager.java @@ -109,7 +109,7 @@ public class AmapManager { } public void startLocation() { - boolean activation = ActivationUtil.isActivation(); + boolean activation = ActivationUtil.getInstance().isActivation(); if (!activation) { return; } @@ -144,7 +144,7 @@ public class AmapManager { }; private void updateAddress(AMapLocation aMapLocation) { - boolean activation = ActivationUtil.isActivation(); + boolean activation = ActivationUtil.getInstance().isActivation(); if (!activation) { return; } diff --git a/app/src/main/java/com/xuexispace/ai/manager/RemoteManager.java b/app/src/main/java/com/xuexispace/ai/manager/RemoteManager.java index bb0c79f..327770f 100644 --- a/app/src/main/java/com/xuexispace/ai/manager/RemoteManager.java +++ b/app/src/main/java/com/xuexispace/ai/manager/RemoteManager.java @@ -11,9 +11,6 @@ import android.provider.Settings; import android.text.TextUtils; import android.util.Log; -import com.alibaba.sdk.android.push.CloudPushService; -import com.alibaba.sdk.android.push.CommonCallback; -import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory; import com.tencent.bugly.crashreport.CrashReport; import com.tencent.mmkv.MMKV; import com.uiui.zy.IGetInfoInterface; @@ -65,8 +62,7 @@ public class RemoteManager { e.printStackTrace(); } - Log.e(TAG, "onServiceConnected: " + getSerial()); - aliyunPushInit(); +// aliyunPushInit(); } @Override @@ -123,67 +119,67 @@ public class RemoteManager { mListeners.remove(listener); } - public void aliyunPushInit() { - String sn = getSerial(); - if (TextUtils.isEmpty(sn)) { - Log.e(TAG, "aliyunPushInit: empty"); - return; - } - PushServiceFactory.init(mContext); - CloudPushService pushService = PushServiceFactory.getCloudPushService(); - pushService.register(mContext, new CommonCallback() { - @Override - public void onSuccess(String response) { - Log.e("AliyunPush", "init cloudchannel success"); - Log.e("AliyunPush", "init cloudchannel success " + pushService.getDeviceId()); - pushService.bindAccount(sn, new CommonCallback() { - @Override - public void onSuccess(String s) { - Log.e("AliyunPush", "bind account " + sn + " success\n"); - } - - @Override - public void onFailed(String errorCode, String errorMsg) { - Log.e("AliyunPush", "bind account " + sn + " failed." + - "errorCode: " + errorCode + ", errorMsg:" + errorMsg); - } - }); - pushService.addAlias(sn, new CommonCallback() { - @Override - public void onSuccess(String s) { - Log.e("AliyunPush", "add alias " + sn + " success\n"); - } - - @Override - public void onFailed(String errorCode, String errorMsg) { - Log.e("AliyunPush", "add alias " + sn + " failed." + - "errorCode: " + errorCode + ", errorMsg:" + errorMsg + "\n"); - } - }); - } - - @Override - public void onFailed(String errorCode, String errorMessage) { - Log.e("AliyunPush", "init cloudchannel failed -- errorcode:" + errorCode + " -- errorMessage:" + errorMessage); - } - }); - } +// public void aliyunPushInit() { +// String sn = getSerial(); +// if (TextUtils.isEmpty(sn)) { +// Log.e(TAG, "aliyunPushInit: empty"); +// return; +// } +// PushServiceFactory.init(mContext); +// CloudPushService pushService = PushServiceFactory.getCloudPushService(); +// pushService.register(mContext, new CommonCallback() { +// @Override +// public void onSuccess(String response) { +// Log.e("AliyunPush", "init cloudchannel success"); +// Log.e("AliyunPush", "init cloudchannel success " + pushService.getDeviceId()); +// pushService.bindAccount(sn, new CommonCallback() { +// @Override +// public void onSuccess(String s) { +// Log.e("AliyunPush", "bind account " + sn + " success\n"); +// } +// +// @Override +// public void onFailed(String errorCode, String errorMsg) { +// Log.e("AliyunPush", "bind account " + sn + " failed." + +// "errorCode: " + errorCode + ", errorMsg:" + errorMsg); +// } +// }); +// pushService.addAlias(sn, new CommonCallback() { +// @Override +// public void onSuccess(String s) { +// Log.e("AliyunPush", "add alias " + sn + " success\n"); +// } +// +// @Override +// public void onFailed(String errorCode, String errorMsg) { +// Log.e("AliyunPush", "add alias " + sn + " failed." + +// "errorCode: " + errorCode + ", errorMsg:" + errorMsg + "\n"); +// } +// }); +// } +// +// @Override +// public void onFailed(String errorCode, String errorMessage) { +// Log.e("AliyunPush", "init cloudchannel failed -- errorcode:" + errorCode + " -- errorMessage:" + errorMessage); +// } +// }); +// } /** * @return 获取sn */ - public String getSerial() { - if (mIGetInfoInterface != null) { - try { - return mIGetInfoInterface.getSerial(); - } catch (Exception e) { - Log.e(TAG, "getSerial: " + e.getMessage()); - } - } else { - bindInfoService(); - } - return mMMKV.decodeString(SN_KEY, ""); - } +// public String getSerial() { +// if (mIGetInfoInterface != null) { +// try { +// return mIGetInfoInterface.getSerial(); +// } catch (Exception e) { +// Log.e(TAG, "getSerial: " + e.getMessage()); +// } +// } else { +// bindInfoService(); +// } +// return mMMKV.decodeString(SN_KEY, ""); +// } public String getAppUsedStatistics() { Log.e(TAG, "getAppUsedStatistics: " ); diff --git a/app/src/main/java/com/xuexispace/ai/network/NetInterfaceManager.java b/app/src/main/java/com/xuexispace/ai/network/NetInterfaceManager.java index 1c8d85d..fb91d41 100644 --- a/app/src/main/java/com/xuexispace/ai/network/NetInterfaceManager.java +++ b/app/src/main/java/com/xuexispace/ai/network/NetInterfaceManager.java @@ -27,16 +27,16 @@ import com.xuexispace.ai.bean.UserAvatarInfo; import com.xuexispace.ai.config.CommonConfig; import com.xuexispace.ai.disklrucache.CacheHelper; import com.xuexispace.ai.gson.GsonUtils; -import com.xuexispace.ai.manager.RemoteManager; import com.xuexispace.ai.network.api.AlarmClockApi; import com.xuexispace.ai.network.api.AppUsageRecordApi; -import com.xuexispace.ai.network.api.GetFilesApi; +import com.xuexispace.ai.network.api.FilesApi; import com.xuexispace.ai.network.api.HomeworkApi; import com.xuexispace.ai.network.api.PhraseApi; import com.xuexispace.ai.network.api.SnInfoApi; import com.xuexispace.ai.network.api.SettingApi; import com.xuexispace.ai.network.api.uiuios.CheckUpdateApi; import com.xuexispace.ai.network.interceptor.RepeatRequestInterceptor; +import com.xuexispace.ai.utils.LenovoCsdkUtil; import com.xuexispace.ai.utils.OpenApkUtils; import com.xuexispace.ai.utils.Utils; @@ -220,16 +220,16 @@ public class NetInterfaceManager { * * */ - public Observable> getsnInfoControl() { + public Observable> getSnInfoControl() { return mRetrofit.create(SnInfoApi.class) - .getsninfo(RemoteManager.getInstance().getSerial()) + .getSninfo(LenovoCsdkUtil.getInstance().getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getUserAvatarInfoControl() { return mRetrofit.create(SnInfoApi.class) - .getUserAvatarInfo(RemoteManager.getInstance().getSerial()) + .getUserAvatarInfo(LenovoCsdkUtil.getInstance().getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } @@ -254,21 +254,21 @@ public class NetInterfaceManager { public Observable getRunningAppObservable(String json) { return mRetrofit.create(AppUsageRecordApi.class) - .sendRunningInfo(RemoteManager.getInstance().getSerial(), json) + .sendRunningInfo(LenovoCsdkUtil.getInstance().getSerial(), json) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getCloudLessonObservable() { return mRetrofit.create(SettingApi.class) - .getCloudLessonSetting(RemoteManager.getInstance().getSerial()) + .getCloudLessonSetting(LenovoCsdkUtil.getInstance().getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getCloudLessonAppObservable() { return mRetrofit.create(SettingApi.class) - .getCloudLessonApp(RemoteManager.getInstance().getSerial()) + .getCloudLessonApp(LenovoCsdkUtil.getInstance().getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } @@ -276,34 +276,34 @@ public class NetInterfaceManager { public Observable>> getAlarmClockObservable() { return mRetrofit .create(AlarmClockApi.class) - .getAlarmClock(RemoteManager.getInstance().getSerial()) + .getAlarmClock(LenovoCsdkUtil.getInstance().getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getUpdateAlarmObservable(int id) { return mRetrofit.create(AlarmClockApi.class) - .updateAlarm(RemoteManager.getInstance().getSerial(), id) + .updateAlarm(LenovoCsdkUtil.getInstance().getSerial(), id) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getStudyStatObservable() { return mRetrofit.create(SnInfoApi.class) - .getStudyStat(RemoteManager.getInstance().getSerial()) + .getStudyStat(LenovoCsdkUtil.getInstance().getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getUpdateAddressObservable(String address, double longitude, double latitude) { return mRetrofit.create(SnInfoApi.class) - .updateAddress(RemoteManager.getInstance().getSerial(), address, longitude, latitude) + .updateAddress(LenovoCsdkUtil.getInstance().getSerial(), address, longitude, latitude) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getFilesObservable(int type) { - return mRetrofit.create(GetFilesApi.class) + return mRetrofit.create(FilesApi.class) .getFiles(type) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); @@ -311,35 +311,35 @@ public class NetInterfaceManager { public Observable>> getHomeworkObservable() { return mRetrofit.create(HomeworkApi.class) - .getHomeworks(RemoteManager.getInstance().getSerial()) + .getHomeworks(LenovoCsdkUtil.getInstance().getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getHomeworkDetailObservable(int id) { return mRetrofit.create(HomeworkApi.class) - .getHomeworkDetail(RemoteManager.getInstance().getSerial(), id) + .getHomeworkDetail(LenovoCsdkUtil.getInstance().getSerial(), id) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable getHomeworkUpdateObservable(int id) { return mRetrofit.create(HomeworkApi.class) - .updateHomework(RemoteManager.getInstance().getSerial(), id) + .updateHomework(LenovoCsdkUtil.getInstance().getSerial(), id) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getPhraseObservable() { return mRetrofit.create(PhraseApi.class) - .getPhrase(RemoteManager.getInstance().getSerial()) + .getPhrase(LenovoCsdkUtil.getInstance().getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } public Observable> getsettingControl() { return mRetrofit.create(SettingApi.class) - .getSetting(RemoteManager.getInstance().getSerial()) + .getSetting(LenovoCsdkUtil.getInstance().getSerial()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); } @@ -388,24 +388,24 @@ public class NetInterfaceManager { // } public void getSnInfo(BehaviorSubject lifecycle, ObserverCallback callback) { - getsnInfoControl() + getSnInfoControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) .subscribe(getSnInfoObserver(callback)); } public void getSnInfoFragment(BehaviorSubject lifecycle, ObserverCallback callback) { - getsnInfoControl() + getSnInfoControl() .compose(RxLifecycle.bindUntilEvent(lifecycle, FragmentEvent.DESTROY)) .subscribe(getSnInfoObserver(callback)); } public void getSnInfo(ObserverCallback callback) { - getsnInfoControl() + getSnInfoControl() .subscribe(getSnInfoObserver(callback)); } public void getSnInfo() { - getsnInfoControl() + getSnInfoControl() .subscribe(getSnInfoObserver(null)); } diff --git a/app/src/main/java/com/xuexispace/ai/network/api/GetFilesApi.java b/app/src/main/java/com/xuexispace/ai/network/api/FilesApi.java similarity index 92% rename from app/src/main/java/com/xuexispace/ai/network/api/GetFilesApi.java rename to app/src/main/java/com/xuexispace/ai/network/api/FilesApi.java index eaded99..93cd426 100644 --- a/app/src/main/java/com/xuexispace/ai/network/api/GetFilesApi.java +++ b/app/src/main/java/com/xuexispace/ai/network/api/FilesApi.java @@ -8,7 +8,7 @@ import io.reactivex.rxjava3.core.Observable; import retrofit2.http.GET; import retrofit2.http.Query; -public interface GetFilesApi { +public interface FilesApi { @GET(UrlAddress.GET_FILES) Observable> getFiles( @Query("type") int type diff --git a/app/src/main/java/com/xuexispace/ai/network/api/SnInfoApi.java b/app/src/main/java/com/xuexispace/ai/network/api/SnInfoApi.java index a045771..7075b9c 100644 --- a/app/src/main/java/com/xuexispace/ai/network/api/SnInfoApi.java +++ b/app/src/main/java/com/xuexispace/ai/network/api/SnInfoApi.java @@ -20,7 +20,7 @@ import retrofit2.http.Query; public interface SnInfoApi { @GET(UrlAddress.SNINFO) - Observable> getsninfo( + Observable> getSninfo( @Query("sn") String sn ); diff --git a/app/src/main/java/com/xuexispace/ai/push/alipush/AliMessageIntentService.java b/app/src/main/java/com/xuexispace/ai/push/alipush/AliMessageIntentService.java deleted file mode 100644 index 1bafa55..0000000 --- a/app/src/main/java/com/xuexispace/ai/push/alipush/AliMessageIntentService.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.xuexispace.ai.push.alipush; - -import android.content.Context; -import android.util.Log; - -import com.alibaba.sdk.android.push.AliyunMessageIntentService; -import com.alibaba.sdk.android.push.notification.CPushMessage; - -import java.util.Map; - -/** - * Created by liyazhou on 17/8/22. - * 为避免推送广播被系统拦截的小概率事件,我们推荐用户通过IntentService处理消息互调,接入步骤: - * 1. 创建IntentService并继承AliyunMessageIntentService - * 2. 覆写相关方法,并在Manifest的注册该Service - * 3. 调用接口CloudPushService.setPushIntentService - * 详细用户可参考:https://help.aliyun.com/document_detail/30066.html#h2-2-messagereceiver-aliyunmessageintentservice - */ - -public class AliMessageIntentService extends AliyunMessageIntentService { - private static final String TAG = "AliyunMessageIntentService"; - - /** - * 推送通知的回调方法 - * - * @param context - * @param title - * @param summary - * @param extraMap - */ - @Override - protected void onNotification(Context context, String title, String summary, Map extraMap) { - Log.i(TAG, "收到一条推送通知 : " + title + ", summary:" + summary); - } - - /** - * 推送消息的回调方法 - * - * @param context - * @param cPushMessage - */ - @Override - protected void onMessage(Context context, CPushMessage cPushMessage) { - Log.i(TAG, "收到一条推送消息 : " + cPushMessage.getTitle() + ", content:" + cPushMessage.getContent()); - } - - /** - * 从通知栏打开通知的扩展处理 - * - * @param context - * @param title - * @param summary - * @param extraMap - */ - @Override - protected void onNotificationOpened(Context context, String title, String summary, String extraMap) { - Log.i(TAG, "onNotificationOpened : " + " : " + title + " : " + summary + " : " + extraMap); - } - - /** - * 无动作通知点击回调。当在后台或阿里云控制台指定的通知动作为无逻辑跳转时,通知点击回调为onNotificationClickedWithNoAction而不是onNotificationOpened - * - * @param context - * @param title - * @param summary - * @param extraMap - */ - @Override - protected void onNotificationClickedWithNoAction(Context context, String title, String summary, String extraMap) { - Log.i(TAG, "onNotificationClickedWithNoAction : " + " : " + title + " : " + summary + " : " + extraMap); - } - - /** - * 通知删除回调 - * - * @param context - * @param messageId - */ - @Override - protected void onNotificationRemoved(Context context, String messageId) { - Log.i(TAG, "onNotificationRemoved : " + messageId); - } - - /** - * 应用处于前台时通知到达回调。注意:该方法仅对自定义样式通知有效,相关详情请参考https://help.aliyun.com/document_detail/30066.html#h3-3-4-basiccustompushnotification-api - * - * @param context - * @param title - * @param summary - * @param extraMap - * @param openType - * @param openActivity - * @param openUrl - */ - @Override - protected void onNotificationReceivedInApp(Context context, String title, String summary, Map extraMap, int openType, String openActivity, String openUrl) { - Log.i(TAG, "onNotificationReceivedInApp : " + " : " + title + " : " + summary + " " + extraMap + " : " + openType + " : " + openActivity + " : " + openUrl); - } -} diff --git a/app/src/main/java/com/xuexispace/ai/push/alipush/AliyunMessageReceiver.java b/app/src/main/java/com/xuexispace/ai/push/alipush/AliyunMessageReceiver.java deleted file mode 100644 index f70b096..0000000 --- a/app/src/main/java/com/xuexispace/ai/push/alipush/AliyunMessageReceiver.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.xuexispace.ai.push.alipush; - -import android.content.Context; -import android.util.Log; - -import com.alibaba.sdk.android.push.MessageReceiver; -import com.alibaba.sdk.android.push.notification.CPushMessage; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.xuexispace.ai.push.PushManager; - -import java.util.Map; - -/** - * @author: 正纬 - * @since: 15/4/9 - * @version: 1.1 - * @feature: 用于接收推送的通知和消息 - */ -public class AliyunMessageReceiver extends MessageReceiver { - // 消息接收部分的LOG_TAG - public static final String TAG = "AliyunMessageReceiver"; - - /** - * 推送通知的回调方法 - * - * @param context - * @param title - * @param summary - * @param extraMap - */ - @Override - public void onNotification(Context context, String title, String summary, Map extraMap) { - // TODO 处理推送通知 - if (null != extraMap) { - for (Map.Entry entry : extraMap.entrySet()) { - Log.i(TAG, "@Get diy param : Key=" + entry.getKey() + " , Value=" + entry.getValue()); - } - } else { - Log.i(TAG, "@收到通知 && 自定义消息为空"); - } - Log.i(TAG, "收到一条推送通知 : " + title + ", summary:" + summary); - } - - /** - * 应用处于前台时通知到达回调。注意:该方法仅对自定义样式通知有效,相关详情请参考https://help.aliyun.com/document_detail/30066.html?spm=5176.product30047.6.620.wjcC87#h3-3-4-basiccustompushnotification-api - * - * @param context - * @param title - * @param summary - * @param extraMap - * @param openType - * @param openActivity - * @param openUrl - */ - @Override - protected void onNotificationReceivedInApp(Context context, String title, String summary, Map extraMap, int openType, String openActivity, String openUrl) { - Log.i(TAG, "onNotificationReceivedInApp : " + " : " + title + " : " + summary + " " + extraMap + " : " + openType + " : " + openActivity + " : " + openUrl); - } - - /** - * 推送消息的回调方法 - * - * @param context - * @param cPushMessage - */ - @Override - public void onMessage(Context context, CPushMessage cPushMessage) { - Log.e(TAG, "收到一条推送消息 : " + cPushMessage.getTitle() + ", content:" + cPushMessage.getContent()); - String title = cPushMessage.getTitle(); - String content = cPushMessage.getContent(); - JsonObject extrasJson = JsonParser.parseString(content).getAsJsonObject(); - String extras = ""; - if (extrasJson.get("extras") != null) { - extras = extrasJson.get("extras").toString(); - } - PushManager.getInstance().setPushContent(title, extras); - } - - /** - * 从通知栏打开通知的扩展处理 - * - * @param context - * @param title - * @param summary - * @param extraMap - */ - @Override - public void onNotificationOpened(Context context, String title, String summary, String extraMap) { - Log.i(TAG, "onNotificationOpened : " + " : " + title + " : " + summary + " : " + extraMap); - } - - /** - * 通知删除回调 - * - * @param context - * @param messageId - */ - @Override - public void onNotificationRemoved(Context context, String messageId) { - Log.i(TAG, "onNotificationRemoved : " + messageId); - } - - /** - * 无动作通知点击回调。当在后台或阿里云控制台指定的通知动作为无逻辑跳转时,通知点击回调为onNotificationClickedWithNoAction而不是onNotificationOpened - * - * @param context - * @param title - * @param summary - * @param extraMap - */ - @Override - protected void onNotificationClickedWithNoAction(Context context, String title, String summary, String extraMap) { - Log.i(TAG, "onNotificationClickedWithNoAction : " + " : " + title + " : " + summary + " : " + extraMap); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/xuexispace/ai/service/SocketService.java b/app/src/main/java/com/xuexispace/ai/service/SocketService.java index 1261752..92c93fb 100644 --- a/app/src/main/java/com/xuexispace/ai/service/SocketService.java +++ b/app/src/main/java/com/xuexispace/ai/service/SocketService.java @@ -27,6 +27,7 @@ import com.xuexispace.ai.activity.main.MainActivity; import com.xuexispace.ai.config.CommonConfig; import com.xuexispace.ai.manager.RemoteManager; import com.xuexispace.ai.utils.ActivationUtil; +import com.xuexispace.ai.utils.LenovoCsdkUtil; import com.xuexispace.ai.utils.Utils; import com.xuexispace.ai.websocket.JWebSocketClient; @@ -111,11 +112,12 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat public void onCreate() { super.onCreate(); Log.e(TAG, "onCreate: "); + NetworkUtils.registerNetworkStatusChangedListener(this); registerScreenLockReceiver(); registerJxwRegisterRefreshReceiver(); - if (ActivationUtil.isActivation()) { + if (ActivationUtil.getInstance().isActivation()) { //初始化websocket initSocketClient(); startLoop(); @@ -265,7 +267,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat Log.e("JxwRegisterReceiver", "onReceive: " + action); if (JXW_REGISTER_SUCCESS.equals(action)) { mMMKV.encode(JXW_REGISTER_SUCCESS, true); - mMMKV.encode(CommonConfig.UIUI_ACTIVATION_KEY, ActivationUtil.ACTIVATED_KEY); + mMMKV.encode(CommonConfig.UIUI_ACTIVATION_KEY, ActivationUtil.getInstance().ACTIVATED_KEY); initSocketClient(); startLoop(); } @@ -292,7 +294,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat public void accept(Long s) throws Exception { Log.d(TAG, "startLoop accept: " + s); Log.i(TAG, "心跳包检测websocket连接状态"); - if (!ActivationUtil.isActivation()) { + if (!ActivationUtil.getInstance().isActivation()) { dispose(); } //每隔一定的时间,对长连接进行一次心跳检测 @@ -320,7 +322,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat * 初始化websocket连接 */ private void initSocketClient() { - URI uri = URI.create(BuildConfig.WEBSOCKET_URL + "?sn=" + RemoteManager.getInstance().getSerial()); + URI uri = URI.create(BuildConfig.WEBSOCKET_URL + "?sn=" + LenovoCsdkUtil.getInstance().getSerial()); mJWebSocketClient = new JWebSocketClient(uri) { @Override public void onMessage(String message) { @@ -398,7 +400,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat */ public void sendPingMsg() { JsonObject jsonObject = new JsonObject(); - jsonObject.addProperty("sn", RemoteManager.getInstance().getSerial()); + jsonObject.addProperty("sn", LenovoCsdkUtil.getInstance().getSerial()); jsonObject.addProperty("type", "ping"); if (null != mJWebSocketClient) { Log.i(TAG, "sendPingMsg: 发送的消息:" + jsonObject.toString()); @@ -408,7 +410,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat public void sendMsgScreen() { JsonObject jsonObject = new JsonObject(); - jsonObject.addProperty("sn", RemoteManager.getInstance().getSerial()); + jsonObject.addProperty("sn", LenovoCsdkUtil.getInstance().getSerial()); if (Utils.isScreenOn(SocketService.this)) { jsonObject.addProperty("type", "device_open_screen"); } else { diff --git a/app/src/main/java/com/xuexispace/ai/utils/ActivationUtil.java b/app/src/main/java/com/xuexispace/ai/utils/ActivationUtil.java index bd57995..dba9086 100644 --- a/app/src/main/java/com/xuexispace/ai/utils/ActivationUtil.java +++ b/app/src/main/java/com/xuexispace/ai/utils/ActivationUtil.java @@ -1,13 +1,12 @@ package com.xuexispace.ai.utils; +import android.annotation.SuppressLint; +import android.content.Context; + import com.tencent.mmkv.MMKV; import com.xuexispace.ai.config.CommonConfig; -@Deprecated public class ActivationUtil { - - private static MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); - /*写入1为激活*/ public static final int ACTIVATED_KEY = 1; public static final int INACTIVATED_KEY = 0; @@ -16,13 +15,38 @@ public class ActivationUtil { /*默认过期时间*/ public static final int DEFAULT_EXPIRE_TIME = -1; + private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); + + @SuppressLint("StaticFieldLeak") + private static ActivationUtil sInstance; + private Context mContext; + + private ActivationUtil(Context context) { + if (context == null) { + throw new RuntimeException("Context is NULL"); + } + this.mContext = context.getApplicationContext(); + } + + public static void init(Context context) { + if (sInstance == null) { + sInstance = new ActivationUtil(context); + } + } + + public static ActivationUtil getInstance() { + if (sInstance == null) { + throw new IllegalStateException("You must be init ActivationUtil first"); + } + return sInstance; + } /** * 获取激活状态 * * @return */ - public static int getActivationStateCode() { + public int getActivationStateCode() { int activation = mMMKV.decodeInt(CommonConfig.UIUI_ACTIVATION_KEY, INACTIVATED_KEY); return activation; } @@ -32,7 +56,7 @@ public class ActivationUtil { * * @return */ - public static boolean isActivation() { + public boolean isActivation() { return getActivationStateCode() == ACTIVATED_KEY; } @@ -41,7 +65,7 @@ public class ActivationUtil { * * @param code */ - public static void setActivation(int code) { + public void setActivation(int code) { mMMKV.encode(CommonConfig.UIUI_ACTIVATION_KEY, code); } @@ -50,7 +74,7 @@ public class ActivationUtil { * * @param code */ - public static void setActivationCodeType(int code) { + public void setActivationCodeType(int code) { mMMKV.encode(CommonConfig.UIUI_CODE_TYPE_KEY, code); } @@ -59,7 +83,7 @@ public class ActivationUtil { * * @return */ - public static int getActivationCodeType() { + public int getActivationCodeType() { return mMMKV.decodeInt(CommonConfig.UIUI_CODE_TYPE_KEY, DEFAULT_CODE_TYPE); } @@ -68,7 +92,7 @@ public class ActivationUtil { * * @param expireTime */ - public static void setActivationExpireTime(long expireTime) { + public void setActivationExpireTime(long expireTime) { mMMKV.encode(CommonConfig.UIUI_EXPIRE_TIME_KEY, expireTime); } @@ -77,7 +101,7 @@ public class ActivationUtil { * * @return */ - public static long getActivationExpireTime() { + public long getActivationExpireTime() { return mMMKV.decodeLong(CommonConfig.UIUI_EXPIRE_TIME_KEY, DEFAULT_EXPIRE_TIME); } diff --git a/app/src/main/java/com/xuexispace/ai/utils/AppUsedTimeUtils.java b/app/src/main/java/com/xuexispace/ai/utils/AppUsedTimeUtils.java index d4f6e6a..71ca9b1 100644 --- a/app/src/main/java/com/xuexispace/ai/utils/AppUsedTimeUtils.java +++ b/app/src/main/java/com/xuexispace/ai/utils/AppUsedTimeUtils.java @@ -179,7 +179,7 @@ public class AppUsedTimeUtils { } public void sendRunningApp(RunningAppCallback runningAppCallback) { - boolean activation = ActivationUtil.isActivation(); + boolean activation = ActivationUtil.getInstance().isActivation(); if (!activation) { return; } diff --git a/app/src/main/java/com/xuexispace/ai/utils/LenovoCsdkUtil.java b/app/src/main/java/com/xuexispace/ai/utils/LenovoCsdkUtil.java new file mode 100644 index 0000000..df0df16 --- /dev/null +++ b/app/src/main/java/com/xuexispace/ai/utils/LenovoCsdkUtil.java @@ -0,0 +1,75 @@ +package com.xuexispace.ai.utils; + +import android.annotation.SuppressLint; +import android.app.csdk.CSDKManager; +import android.content.Context; +import android.util.Log; + +import com.tencent.mmkv.MMKV; +import com.xuexispace.ai.BuildConfig; +import com.xuexispace.ai.config.CommonConfig; + +public class LenovoCsdkUtil { + private static final String TAG = "LenovoCsdkUtil"; + + @SuppressLint("StaticFieldLeak") + private static LenovoCsdkUtil sInstance; + private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE); + private Context mContext; + private CSDKManager mCSDKManager; + + + private LenovoCsdkUtil(Context context) { + if (context == null) { + throw new RuntimeException("Context is NULL"); + } + this.mContext = context; + this.mCSDKManager = new CSDKManager(context); + if (mCSDKManager.isLicenseKeyEnabled(BuildConfig.APPLICATION_ID)) { + Log.e(TAG, "LenovoCsdkUtil: devices activated"); + } else { + Log.e(TAG, "LenovoCsdkUtil: devices not activated"); + } + } + + public static void init(Context context) { + if (sInstance == null) { + Log.e(TAG, "init: "); + sInstance = new LenovoCsdkUtil(context); + } + } + + public static LenovoCsdkUtil getInstance() { + if (sInstance == null) { + throw new IllegalStateException("You must be init LenovoCsdkUtil first"); + } + return sInstance; + } + + /** + * int: 1 MAC + * int: 2 SN + * int: 3 Model + * int: 4 IMEI + */ + public String getDeviceMac() { + String mac = mCSDKManager.getDeviceInfo(1); + return mac; + } + + public String getSerial() { + String sn = mCSDKManager.getDeviceInfo(2); + return sn; + } + + public String getDeviceModel() { + String model = mCSDKManager.getDeviceInfo(3); + return model; + } + + public String getDeviceIMEI() { + String imei = mCSDKManager.getDeviceInfo(4); + return imei; + } + +} diff --git a/app/src/main/java/com/xuexispace/ai/utils/OpenApkUtils.java b/app/src/main/java/com/xuexispace/ai/utils/OpenApkUtils.java index 47d7fb0..3974b42 100644 --- a/app/src/main/java/com/xuexispace/ai/utils/OpenApkUtils.java +++ b/app/src/main/java/com/xuexispace/ai/utils/OpenApkUtils.java @@ -218,7 +218,7 @@ public class OpenApkUtils { }}; private void sendRuningApp(String packageName) { - boolean activation = ActivationUtil.isActivation(); + boolean activation = ActivationUtil.getInstance().isActivation(); if (!activation) { return; } diff --git a/app/src/main/res/drawable-hdpi/com_android_dialer.png b/app/src/main/res/drawable-hdpi/com_android_dialer.png index 842ddbc3097a2ceac9f80658c976eaba0056a920..06ae1cd0d04bbfd1cbae9b577b6ba2c4ccb47781 100644 GIT binary patch delta 37170 zcmZ^JQ*@pU({;iB9R!QyK%U)q%@Hw zSmX7ia7?C9wdgRC-{9pwQP3bA@gbovAcYP@1xaBd5H#B@wF}6lizF2>22~H@NW&T) z?mz$8S5AP^9ztRyB=u-tH~dDV*^*X`U9bqhjHS`fR>Vx&MfY`G4%ifbJ_#k zfI5hT5F({piFivL)-3|bLz*8O3*yyV*Dv+kE1}txtb=dHQBoFA@dPV+Cl4HTgg!Q& z=1zR!i=;gT_5MW2d(C~@%Q8M?bKaU7GgTAFYPj8w4tbK`SLdV2f^hWG>k_wKy&jx+ zkyC5`(N21zgTS3D6fi}a3V+JLuPmdOw$IWw%vhWnc0a&gYZR-84_-1o>zz{^1TYMK zrk=iif}`a;5Qji2OL`JPj{@IP-so!Q*8LB+xGRxjdh2>Y*fY+SH83(h-*heow5*Xj zI@tBr3l|^SmM^wReXAc`+3_zq?7-;1h*oj76criLbOfgksGQPBs-UYzOxQzb?8*s0a<*$UG{*q+870vTN2Q6;r4f9yi3CN|kR6+{EQb3*>_*REYQCjw?`J`;2_J|iPq?q}7X;JQ#A=yk@0)f`m$t78 zH!8yWgzB6eI)GkHx@M`u9BJyQkH`z(D}q>4%H?Z1V(HYprZe4v)qe8wAbyCcdJinm zN6k)|pZO(Euupa)1%RGg3;dZUjMCr;{4cn1I^xpjqc@W%R|K+Qh59CaM{;mmbS=ek4Gr^w$T|z{&4^e`G73k$PM0Xg`bTy7(j#K&r4Cn

;jggZQGYuwsEDy_I=AzP$q(gCQXtAtu1j{^gr1$7cqI^=6 z2mA}30;mol>*m-3bxL;^)^r`L4k1AkxRr4sr>NLc*fjcoqCK>742|4=2US$uxs%k; z5noQ0u{PC69eN+^6>csyrX>~-=Nf%~6kj$l?|{-KCoVKXH#4GV>*2bk`$XN`j3rO2 zI=|Xgn2CTlw!=9=3|y1*#vR?mwJzrs7|C&V0N(JRL|fbyu}=mT?xGDh#LFfXVbri* z%h|vxHN(rGjKCV5pHQr?874AB338PNGz%Y`yAd|`+pHs8TMl{D9}zn+6b9P-R~`%y z!TZkK7I@T8Sq>U$;JoG2A1y;r6-bmitHkP3SsuIR&A({S_bM9GgG`{*-tZg>fXLtj zfIe%36P`+K3I$(V?Ic(xO6isGh!%&%ZBYYDZCg-U(1>H+%G$)0NHiliaJ;*C5xf7= z<2ySQhk>~l;$wqs+QA$7zeF~zJ|KGKE$qG=(^L8vL&cT`6mFvYmt18Pb0 dodqJ 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 dodqJ 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 - + app:layout_constraintTop_toTopOf="parent"> + + + + + + + + + + + + + app:layout_constraintTop_toTopOf="@+id/constraintLayout2" />