зеркало из https://github.com/mozilla/pjs.git
Bug 584218 Android SUT agent needs ability to update itself r=ctalbert a=NPOTB
This commit is contained in:
Родитель
d1bfd7c143
Коммит
f47beb4e89
|
@ -115,6 +115,8 @@ public class DoCommand {
|
|||
String currentDir = "/";
|
||||
String sErrorPrefix = "##AGENT-ERROR## ";
|
||||
|
||||
private final String prgVersion = "SUTAgentAndroid Version 0.80";
|
||||
|
||||
public enum Command
|
||||
{
|
||||
RUN ("run"),
|
||||
|
@ -163,8 +165,10 @@ public class DoCommand {
|
|||
FTPG ("ftpg"),
|
||||
FTPP ("ftpp"),
|
||||
INST ("inst"),
|
||||
UPDT ("updt"),
|
||||
UNINST ("uninst"),
|
||||
TEST ("test"),
|
||||
VER ("ver"),
|
||||
UNKNOWN ("unknown");
|
||||
|
||||
private final String theCmd;
|
||||
|
@ -207,6 +211,14 @@ public class DoCommand {
|
|||
|
||||
switch(cCmd)
|
||||
{
|
||||
case VER:
|
||||
strReturn = prgVersion;
|
||||
break;
|
||||
|
||||
case UPDT:
|
||||
strReturn = StartUpdateOMatic(Argv[1], Argv[2]);
|
||||
break;
|
||||
|
||||
case CWD:
|
||||
try {
|
||||
strReturn = new java.io.File(currentDir).getCanonicalPath();
|
||||
|
@ -2294,6 +2306,58 @@ public class DoCommand {
|
|||
return (sRet);
|
||||
}
|
||||
|
||||
public String StartUpdateOMatic(String sPkgName, String sPkgFileName)
|
||||
{
|
||||
String sRet = "";
|
||||
|
||||
// Context ctx = SUTAgentAndroid.me.getApplicationContext();
|
||||
Context ctx = contextWrapper.getApplicationContext();
|
||||
PackageManager pm = ctx.getPackageManager();
|
||||
|
||||
Intent prgIntent = new Intent();
|
||||
prgIntent.setPackage("com.mozilla.UpdateOMatic");
|
||||
prgIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
|
||||
try {
|
||||
PackageInfo pi = pm.getPackageInfo("com.mozilla.UpdateOMatic", PackageManager.GET_ACTIVITIES | PackageManager.GET_INTENT_FILTERS);
|
||||
ActivityInfo [] ai = pi.activities;
|
||||
for (int i = 0; i < ai.length; i++)
|
||||
{
|
||||
ActivityInfo a = ai[i];
|
||||
if (a.name.length() > 0)
|
||||
{
|
||||
prgIntent.setClassName(a.packageName, a.name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (NameNotFoundException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
prgIntent.putExtra("pkgName", sPkgName);
|
||||
prgIntent.putExtra("pkgFileName", sPkgFileName);
|
||||
|
||||
try
|
||||
{
|
||||
contextWrapper.startActivity(prgIntent);
|
||||
// Thread.sleep(5000);
|
||||
sRet = "exit";
|
||||
}
|
||||
catch(ActivityNotFoundException anf)
|
||||
{
|
||||
anf.printStackTrace();
|
||||
}
|
||||
// catch (InterruptedException e)
|
||||
// {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
|
||||
ctx = null;
|
||||
return (sRet);
|
||||
}
|
||||
|
||||
public String StartJavaPrg(String [] sArgs)
|
||||
{
|
||||
String sRet = "";
|
||||
|
@ -2485,8 +2549,12 @@ public class DoCommand {
|
|||
"unzp zipfile destdir - unzip the zipfile into the destination dir\n" +
|
||||
"zip zipfile src - zip the source file/dir into zipfile\n" +
|
||||
"rebt - reboot device\n" +
|
||||
"inst /path/filename.apk - install the referenced apk file\n" +
|
||||
"uninst packagename - uninstall the referenced package\n" +
|
||||
"rebt - reboot device\n" +
|
||||
"quit - disconnect SUTAgent\n" +
|
||||
"exit - close SUTAgent\n" +
|
||||
"ver - SUTAgent version\n" +
|
||||
"help - you're reading it";
|
||||
return (sRet);
|
||||
}
|
||||
|
|
|
@ -63,6 +63,10 @@ JAVAFILES = \
|
|||
|
||||
RES_FILES = \
|
||||
res/drawable/icon.png \
|
||||
res/drawable/ateamlogo.png \
|
||||
res/drawable/ic_stat_first.png \
|
||||
res/drawable/ic_stat_neterror.png \
|
||||
res/drawable/ic_stat_warning.png \
|
||||
res/layout/main.xml \
|
||||
res/values/strings.xml \
|
||||
$(NULL)
|
||||
|
|
|
@ -221,7 +221,10 @@ public class SUTAgentAndroid extends Activity
|
|||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sUniqueID = ba.getAddress();
|
||||
sUniqueID.toLowerCase();
|
||||
}
|
||||
}
|
||||
|
||||
if (sUniqueID == null)
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
--- ateamlogo.png
|
||||
+++ ateamlogo.png
|
||||
GIT binary patch
|
||||
literal 1512
|
||||
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
|
||||
O0000<MNUMnLSTZ(cchyD
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
--- ic_stat_first.png
|
||||
+++ ic_stat_first.png
|
||||
GIT binary patch
|
||||
literal 1636
|
||||
zc$@)b2AlbbP)<h;3K|Lk000e1NJLTq000>P000>X1^@s6#OZ}&00001b5ch_0Itp)
|
||||
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T<mc!T}X1N`L?W1^G!tK~zXfjaCV4
|
||||
z6lEBFbL_p_ld>(ngx0oTfff-3#Tb${VjzO86r|A*qC|@U1&u%mLD7g2kP23!oYDe<
|
||||
z22>ObiN*spM3AF&UDg(QShn4^+wOL^d(HU$f7#M<2w$?<%*;RE`QH0R@Or(f+wF!Z
|
||||
zieMHo839Fs<nMzj2#Ca3_<hOS3q_}cs*xdt!~Bd&*HU*6BC#<L0zs%+4OB_u&*dHu
|
||||
z^m;w^?%fNasi{e|*=&$y8DVmm`PO;_(^Ap;+<b_1cy#$f2%!k<TQ|UZ;1JBG&%!%?
|
||||
zECT6i7+&)^{`%<{3Lh>)TUiMbj-P<8^(una;ka0{6LFMCSy>q?K;!`=tro^M7c`;-
|
||||
zi{l??D5EipUxjnYOK4uZ5(#I{LbRBHq+#fqTLRH!f=ro@UGO4gI_sbEAe!D=2hnVX
|
||||
z?eKo+{eEaP8W@d6^!JENG3b%Jrv{S81KHh;VPAg5Gd7*S2(hmZ)?L-qJ`sJH8SrOk
|
||||
zLGt<G9hZ;h#fzY8Y2`kIKmY=r6{rHJYSi`hAgurTD~-6kW+fU|EQ6Uczp`REgkTU!
|
||||
zhmYdi@x$=vWb=Nfeee-{*&`9iNQZYq0Xk+pPP3wUP&YgiC-C_UHld}ZMYY@Q{WCF}
|
||||
zc!r>Wie3k?*T;v-?#KW53sNhq28P@_CJ)YM=OLUBPiTp7piugV=nas2dwC3t#e(wk
|
||||
zatsMFBs^V&DS+XU1DS8GhxvRh6v{MeB2^elOhi}lG^%(Rwb{#oGT81IBurV1_+$so
|
||||
z=4(h)k!!|ubUsl`mHPUjPSuTEy$<^N26zj`q2cW{2*<@jpsJ!44KgtJ!5J{DYunqA
|
||||
zbm#~~LJ4!2_|13ddFTOn3da*5^5MHT8@BCR(fa%Xn9rVvb^jrL?pAioAQ2*wwfX=g
|
||||
zB2;_HEMAGK(_-w*IZz0?LMRN0P{iiuoIeMB1c3Ns#F5KaI2muWn}RUlG3J_TZSZG}
|
||||
zLc_Y%aBO^s!&>Wf;=ZSzK`1GatAR+tLc<cN0y8~#L(|!Hmq7@MF(?1v%w{OlbacWq
|
||||
zp%C^@w?OW6^ET!`Id344<n^NQjb%`Y)EVz?M8s&gb0z$QBvMA#i<HTchlp2Kvz>yv
|
||||
zt_7M)=!z%jq*b91e~oeFu4W=A5d>0Fxc)HQlkoJ%C4uzi<&q}tf=tzE+o+<Fa)c?6
|
||||
z<<B$xOwXi=)WZINgYBl72oVK=%yfiFqvS3(cgR{H&|4yrtao%SY`eBWB+_cHI*~`(
|
||||
z6@TIf4&CmllSv`&A_&i#h}BHOsB8Hbc?&B@uhRR8NXU_?BG3H=XnJiakwt;gW~UZ*
|
||||
zz?VM;-ok=`*8OiK>>=y1hq&M+XS(JVj4z(WwTvMsNN7?B;(-y#P)L;-%CzlmXsLLC
|
||||
z3n{DkM!T)7FuXG&ChysY<lWVLVFi+{2*<~9)EVp!kj6umHMq2SJ^Jp+<jOlZ$SoPq
|
||||
zvQkJW*$=9M2uVxRD;22Qy^YH{gRhaa%v4*4NL&mps#4S*+(UrK;rvkPJ?7)Kl}H3X
|
||||
zR<73B#)lfnNTXhNacS?Sg~ZU5c;qN;#8gt=1VW${GR;n<YJyfPbd61%jJ}*KA~PvC
|
||||
z3Fu9guw4-Q+bJ%3%(21IfSg532)bV6(tp~Pk6|D&G*X)k4hQMg1*C4S!l>6*^TB5=
|
||||
zUj<{`-^h6XLs(9o9>SR+5LWbBzNED6E(B9k_(wzRufL;>)-6MquCbYPtQYP_A3^TY
|
||||
zmtn8kKq#!hs8wqbp!4Q)7ic!LIkQIc9TPQC7}P_NHd=^=>zX~2YZX(~?x|Cdvg0#O
|
||||
zvaX_O<fxYK7H7#kr0lGQb>Bfa%gcB>+n=6|#BaZc*5%@=5jCN+vs10FuZKkF(bAVj
|
||||
z?9V4TyWNjXrMA@54k<#?!6WeJX3^HubM!Ehc1$m(7H;D^zhin4h9CF>J(DNVH$g3e
|
||||
zBU1Q%i@|`>(ozVOm6htIO`BjM3Fip8w*44aIE<-%48D9BML!OxdiI?0g?)bwoMG<}
|
||||
i!q{2%V=JB3JN^TR5x6H(GzMA#0000<MNUMnLSTY%<QAm>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
--- ic_stat_neterror.png
|
||||
+++ ic_stat_neterror.png
|
||||
GIT binary patch
|
||||
literal 777
|
||||
zc$@(V1NQuhP)<h;3K|Lk000e1NJLTq000>P000>X1^@s6#OZ}&00001b5ch_0Itp)
|
||||
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T<mc!T}X1N`L?W0-i}kK~zXf-Bn9Z
|
||||
z6HydCgVIisAh<HRAR&m4V2q+z!A4O77!wi}hG;Y-n$!&&{RbNO5xNqeVdut3yE00;
|
||||
zp>>*Wkf5f<Xws=OeT1QPhUxL1t260iI)w!+_>#%Yo%@~d%)N8Ia|L98Ek@H8>vQ>?
|
||||
zlSJ6aKQR^}P<%B9#(WsS;{nih@Qe<F_vQpNpC4$v<CLTxOgWAD+jlVqfHE{;ZtOZ{
|
||||
zN5=S_#`K=%iRT8WH)+HZm~L)EwYLuoFJ7auv|LGD`GSRKFY)(*E|$=X#IFa(B=lvJ
|
||||
zAT4%a{>EfQY$B1sWHO0AQYrhr+Bbk{p#_akamPH4NoWhQC;Cylbq5vjVdmn99qjk}
|
||||
z$yXSSMk@p}T}M&vKJK1G*L5@*MR^xSm5FF<D@tsfxiE~HZy)9YSGd5V>1m$Cf@zwZ
|
||||
zr#*d+84!3p>5!fUn@xdq%`hS!>_+kbnBIlGZK&_vk8jz}ws_Td;#1sAS)7%`E@43s
|
||||
zp!3XWSSbpyyi0(&;3TxK6~JU_Ij;vEzL|$oOoGMY8Z68{hTT7Z0hCI1`DR;uF!5v-
|
||||
zdRRb@Sc311QCh&id3#Char|BoacC4*uZ=tIt$OMl=GoSnjN=3zH*}Tjly50-E1^&b
|
||||
zg25oP?rDW@QXG&B=YWn_1lEro0p<M%$es<<GFaSKN#Z)BN4ga&vA#^3y3dWazVx|n
|
||||
z-K+fp#$i=Ac**7vpW?Ks2Q_guCH&`Oggd#&s>=<T!OPr)R(ThhVJVK{t5Me{<m5)6
|
||||
z1TuIq#|*2U^f&fNxga@S1`)~0jX)iNIs;vsay$uBFOpfSP&yCu9#!4DXiPngR*)9k
|
||||
zH{ZLguQy^6Du;SqyD-fY&kfsho@^*d<5S6<v2)J&ZCS}*W1f+TE7&gi00000NkvXX
|
||||
Hu0mjfOOjpk
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
--- ic_stat_second.png
|
||||
+++ ic_stat_second.png
|
||||
GIT binary patch
|
||||
literal 1256
|
||||
zc$@*~1Q+{>P)<h;3K|Lk000e1NJLTq000>P000>X1^@s6#OZ}&00001b5ch_0Itp)
|
||||
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T<mc!T}X1N`L?W1bs<FK~zXfwN`Cx
|
||||
zQ&kv#Zg0D;?dV)L9h=J7m>Zj8-?PGSpkpI|qG1w|AI2Xf5|RahEF*llAcBb+jS?fE
|
||||
z=n|)qm`F635KT}R;#hE7ConKEaWHlC<KA}tTyO7vJ@+oo)VA9&@gyf{?|skvocBG?
|
||||
zbDql)8~C4x?%(<S+qNV0){*JQVnscKk|iLo4}snLAvP>WuwxIxA9O<~D%avX1tkc-
|
||||
zdkkV-BRsZzh&2z#rHunod_Hip4EfS!Ey%mP8J4%-fc50Zh@SZdT!sa@`MF5n*$&QP
|
||||
z0eBrIo@fIULfV>ESkIgSXSN_~urD=8sOumUL4@pbBGTOh!^$SadVc@~LI}Qe5S&g2
|
||||
zeR&!9ygZQK4@1*(SdP32W$af#ZF)EY3WXAyA6H52>Ikf#e}Z{EA0c}7J6K-n0!>C(
|
||||
zD~`hU%P{oywIE4C@W3JHt1G7f7Z$+y{1$M=G;rzZFtn~p0O96(@UekG1h%~hE++?w
|
||||
zgke}}hpB5XIK6&$+NdBijo5FaBtG;AIiVvbXZ~lh|L*L2$-lF6wiJY!B7(2JPVT%y
|
||||
za+z!t*wIPS)e(yJ^=nfaxj~-NN(Ro6xO64S9wB9_lpsnVK<;}Mkjs)Y1!T@nNTNs*
|
||||
z1rHq7stk1OxpNSv33Bln6xjbV1Ii}1EuVxcdm@l5lc%VR+;`tk^7wdCpp=z(n_5Vy
|
||||
zTc$0F_FrbZO(T~zmxLwt35nD=C(=n8bj%$j`r{?GNKZmT<MblQ;b6}|?#%fKK(T8h
|
||||
z<kXo-s7Ty^njqm?(fFv*l8>XNzOoWoBiAAO#-ZFCgIL)x{hlT#wcni4n3T>*LHI?5
|
||||
z;1?9IeaGLO`o*QNUB96L$)mR*R@=3t(QnUciZ`rXom?}iDB)f9D7o(|PWoCJ8fJR2
|
||||
zXlLYIw?S*4dS=ql9h`}pS#q#MOanrBZBn36ch3~-7^_s~sai=jW)!2?*i0_{JQAwy
|
||||
z6uodUPH@rQi{xRIx^oNYHfxr|82Fz+lyH~=o%=LasTB1TmXT<0(su1KST%vV@5&?T
|
||||
z%C#A<mKiJgd!^*~nZy+>nmE<UG{F2KruIXmL?W}^U2(TCg~E(Aqs%J;;1`!b`I9w*
|
||||
zUG4gcDF+N6I|07*0qB^Y@I?zjqF1B4&XxuF_dh`6x53xefaBsx7DwUe>965m|Fo7^
|
||||
z9vX(X#?DMkz(m`#@bBn=JbVSQp9T>d7=ZMBF9KWJG12lkGqoUm&1)d_^&_xlE2MMh
|
||||
zQ#&JPHi06OP;QNZFJ1&NaYes84O8bXa3&LECPvlkjT_q_wl>51#b>Y_eFwg^PigVe
|
||||
zxnA%OmV>XVN)4j6i!WqOw`n63rwd$WCX5@NL}+gpGpY!T&uxZu{(?5mFSH|a`~<>>
|
||||
zUxRtyZYZNSVcNAFlkb1X?075=B<@UP78pJC6%^KM<1=lD4LOj$c@x6#9f!WImVHQM
|
||||
zu*C#roJsGo6$rDh8lG8j+Uiw^e0maT>(?R1HozAbfiEeU2AZ?|&hD|PBmM$!rt6n6
|
||||
Sg)=Jv0000<MNUMnLSTXxt4GHG
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
--- ic_stat_warning.png
|
||||
+++ ic_stat_warning.png
|
||||
GIT binary patch
|
||||
literal 651
|
||||
zc$@)?0(AX}P)<h;3K|Lk000e1NJLTq000>P000>X1^@s6#OZ}&0000PbVXQnQ*UN;
|
||||
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!ElET{RCwCVR=bKKQ4p>6{Q_GQ6r)xU
|
||||
z1VLsZACY5Xs^ACACkTGPbZpXJAd{II8g6Q~n;Yx~1_q)cg81yMbJ-S^R;HbvWeSS2
|
||||
z@2$r@r*3sC>AFr|Ee`q*^8Jbwi^Wzpo7GFDQp-x5^wFNwYBfcYq@QlLTi);Y3tmbM
|
||||
z27`sINRG#&=J9ysXf#Srr&Hc;x0<bVRjbtsBd!Mm0Rr-1Fi4E*73;PYVS3)ZUN1Qu
|
||||
z4%+Q@Ktg!tb<LI{<#Ji&Q!757kDARU^?E&FQH0l@u>YyX7YYT1&F^qHOn$$g`u)B@
|
||||
z!~LN~qe1KSnwHBYn*Tf;4*xua1T=vfC^uRZ5J7B>XGSA4h1x@O<@5Ra;c%$9TrS#d
|
||||
zHbTz@&nSd_K1`kcE0&7nayiU`1_Yo6$)M+AtbuO$F`9QvML4*{!HPl4y&_N)fqy2G
|
||||
zQ9o29l}bG^iZ|w3BrvElqsvgEKZxUa<vOR!q}dvH1`XGz$Bgi6McC`T^UK2K<tCDN
|
||||
zJpRf~nC^>{8rto4g&(ZhKH?CcNF?f}a}tZiWXuGkkb&e;;UZAX%=2_QU0fhx3f}n2
|
||||
z%ICM~THEb5jmKkQZ~1TzsDgYKNJ60y?)VSf5@X=ZWImsten%padv9z}3}{xX)i05e
|
||||
z7c^r7O}(X^PDdnxz2}EK|MF=kB*|n_$9G~h8rk;AO{dc|o6Tr4nMkL`tE#HsqspoP
|
||||
l3Fnk7eSW|Fzm>lN3;+?=xV(guKZO7Q002ovPDHLkV1kv~Eqnj~
|
||||
|
Загрузка…
Ссылка в новой задаче