From a06c90095b4f206f73a7a5399f56ab4f780dc86f Mon Sep 17 00:00:00 2001 From: idk Date: Wed, 21 Dec 2022 03:01:51 +0000 Subject: [PATCH] move platform-specic pages to docs --- LINUX.html => docs/LINUX.html | 0 LINUX.md => docs/LINUX.md | 0 OSX.html => docs/OSX.html | 0 OSX.md => docs/OSX.md | 0 WINDOWS.html => docs/WINDOWS.html | 0 WINDOWS.md => docs/WINDOWS.md | 0 i2p.plugins.firefox.torrent | Bin 6251 -> 6251 bytes scripts/build.number | 4 +- scripts/favicon.png | Bin 1890 -> 1813 bytes scripts/favicon.png.b64 | 2 +- scripts/plugin.config | 2 +- src/java/net/i2p/i2pfirefox/I2PBrowser.java | 89 +++++++++++--------- src/java/net/i2p/i2pfirefox/I2PFirefox.java | 12 +-- 13 files changed, 59 insertions(+), 50 deletions(-) rename LINUX.html => docs/LINUX.html (100%) rename LINUX.md => docs/LINUX.md (100%) rename OSX.html => docs/OSX.html (100%) rename OSX.md => docs/OSX.md (100%) rename WINDOWS.html => docs/WINDOWS.html (100%) rename WINDOWS.md => docs/WINDOWS.md (100%) diff --git a/LINUX.html b/docs/LINUX.html similarity index 100% rename from LINUX.html rename to docs/LINUX.html diff --git a/LINUX.md b/docs/LINUX.md similarity index 100% rename from LINUX.md rename to docs/LINUX.md diff --git a/OSX.html b/docs/OSX.html similarity index 100% rename from OSX.html rename to docs/OSX.html diff --git a/OSX.md b/docs/OSX.md similarity index 100% rename from OSX.md rename to docs/OSX.md diff --git a/WINDOWS.html b/docs/WINDOWS.html similarity index 100% rename from WINDOWS.html rename to docs/WINDOWS.html diff --git a/WINDOWS.md b/docs/WINDOWS.md similarity index 100% rename from WINDOWS.md rename to docs/WINDOWS.md diff --git a/i2p.plugins.firefox.torrent b/i2p.plugins.firefox.torrent index a36c030af8a0c8a4d2b3ce60636e2cd6368d1264..3cbc343a44b5036d0fd3bcf1458a880d405886ed 100644 GIT binary patch delta 5685 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 b?oyMKAuAxWFTsnBWjH!@a%?SZlN%UNt->FB delta 5685 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�<;@FND||J-Wfs5RjqW%vRZ}D(QTI%$9sH^q@R$k> zn-DN77MoQ$V2rXtxW5}mzjB;NUy4n@)(FMgLBDuIDjQ!$?vqr?#FypADY@dDp8DK| zbM9-q(~JK9D%54O9mmnI+}nxe^ha``G7k43gT}gzrV>2ys05b zqG29%6agpJuT_|aXt8;hVz1yFh5Zf(J9g?yz zeVBWfe}F*>vY-bMWur*h;)xfzU76+ZuV{!#4kOF5w$J&M|5)T>$8O2pR9<{?u^pN@hMu^esAGPOqm+a(h8IS$tBaB z0i(oSDQ;G6=O*&|rFB!?F>e?vuQ+u!DtCn4R<@>UQV;xE@5?<27vcbAk#D8XDe0{NZH!1Tk3~<&@&eh|(J0{E_0h#dn zJSVw(qKw8Z7Ny|}B<@WJ1oih-&RALr1N9lr{HfNZZ;$A*uanP>JQ>+ptT%rC6*w=h zAa0R298^Fz6tnz5B5>deA(!;USfu4tf1BYJ*xJ4i&D?g5;2CZ{%CpT~x;FY9-`AZW z(ZKnGD2&(lS0#l>Z>Mb7yjWZJoAg4ccm{Mda#=)vA6j){>*sEc zZcm8Z3+YJl6Ag4qxzzS$=ei_Zz*4;snbWm(`vZbiYg3de($4&0PSFV`WHdC5>C#X@ b7$oKc(LxqnkoFZ?WjH!@a%?SZlN%UN^Ctt7 diff --git a/scripts/build.number b/scripts/build.number index 27ef1e4..d26d8fc 100644 --- a/scripts/build.number +++ b/scripts/build.number @@ -1,3 +1,3 @@ #Build Number for ANT. Do not edit! -#Mon Dec 19 16:45:03 UTC 2022 -build.number=268 +#Mon Dec 19 22:31:46 UTC 2022 +build.number=308 diff --git a/scripts/favicon.png b/scripts/favicon.png index 3d76cec597b10017623db8a02b6ff92630ae1162..433b8ec012831d7988b3c091353e69dc3266e718 100644 GIT binary patch delta 1792 zcmV+b2mkou4wVj&83+OZ008_L?W2()6n_TFNkl9ml`tzUB@yBlBX$ zabU280jUD+mWUg+3dPlZXm>T+T4++*lI->mQC8es+o=Ea@4cTWF+4)}m}O?&=2_xJmq&-ecB`JMYaw@&)&>`gJDm;&= zDYm&;Ir|>_!mbw!3Z4-J;VA_urFZVQFaEXV{r8pq`&pxL+4bg|aJzBzXiLkv(U)F) zMHJPmL6|iJJf8cPE;n7dqEuJIXn#}y<=-BK=dpde(%6XN;_kn-T~ZWfHOQ(0;c)1) zmcKMMV%s)!cf;jEB(mfR266s8&YndqhPpZ=5}gBs{a;$(i+)ded3etrG&B^=%(M~W zI)1!rZVr(MPMoOB%DP`vH1fd*KWAASJBAzAI}(Y+6FE=b14?Pny}R`%Fn>CV{QO^) zmX=aVO{QbluAR18@%rmO&B@83lvY$!yIl1pB^VtW3=DfHD*W0Aev|cx2G& zL@Wl4M$^;NvvcRpk&zKe0?%V?Y^=V%zO%Dak|dso$%Ngz5e&{RLIg@VN*~QYR>x;E zd{Ro3B#3ra&v^tzQM6h(9DjKC-3E=OxV^o-rsjud&cJNO#~;61SC^=&s&Y6Y@4N#- zV7DU@mQ$7Z&gmgbXqti{uWSIZ{(gS^6MvOy=TAS;4D5_11@-ow33~gu}RT z1JNk9ZG*)E0J4nx_aV#3&4o$@O0jn@tmYrR#e`F%fh5Gc&f09vW`6)I=%Xv?0ODy2 z8?(OR@c@8EgYt6h-Md5wz;f8U83lz$F9vdnPq!Yq|#oE18(P9<4Ing=@7ygH^^APOS})I=fCXmnt3ARI<{33=~BT3HEx z#rr7=Zr{cyM~xNd>`u)6;#?EQ@g%=+GP5W%8l(jM>eLX+Vt?g9vw~&|@r5{hFM*Nq zu?rVI+w2WoLBX@ix;GlS4jv4)wjvS%&%^6Qf3tDV`3=8>K?SA^#;+r_yy;VwC}!t5 zy=iJtBFr-+fn|Xm8+~QDE{=)Kg_Z8x(y2f6Heh2lp3#AOfY`1>L0LxEVSCj;h61Vs zYXDD{^T9V@*nbM)x~E-xKuoX-08Zx3gX_64&jGOMV&%D?GmI?7>A@p?7dxY8k@qUn z{E)9=+K+h2^XTfru7R|4sFt^yP(lfSAY=_#J*(1`WGvDF$Xwj-n6m!E&H%_u3owif zK*f{leO3^(VI~IpTa4^O@1I}uIGt#1=JN4S|5~I^Kz}NSdkXQZO3>o8tPF^&Bw37e z0Ayu3-EV)>oT}ko`PmmvCB*^(z}Bspn1KDHBjvGQZv;x6df3adzYmRD^K3fnqaBn` z!T{*<8YEehwC*m}pELw_l(#4!NoB<|DO#dA?J07{wu>72gEbCng}k0nU9-B$a9@1Csw@%PYo4YLvw zi>D<4^doYL9SP%kn|__%G`Lh=+(+HuI0yyx-0so|bOSW~9 z4uF-|m5{ZXJ_VJcl3J@~IhGJY2-)=Prp(+-LI{9G3jjq?L{VG~vX;PltIgBxdBo^y zbAS0JeaXjYII7mDO(yfx2sj*>7yoq8@AW4wy{_K$uco)Rv`52H3L2UZUHasbAP5$V zbu|dPV@KI)K9x%4oAUMb_Nuk&fG=?C>MifESBgq$wlq(-ClZXf+uZS3Tu;sE=^3j* z*1FjZ4GrA5-jVK1Z~0>j&-1Djac0WzxozVK27+0evj%$yCx<6{J9|Y@ZLwHwwhdoe zz~%m2QIz4n;iSc2Fy=Tn`Nw>BeLVs%@I3#uye)zt1VcgFQ)F;p|92=&B(ETpQidT6 i!%|95DxiyzwbW#TaC{GXxzgMU78 zz-z!F;M;%!Xa>rF&w+~nl>rUd25gUt!t}-)Fm)=*V1WDgk&`D;XU`(Q31AD*^6waV z67;~IHH|=aHe$CE5FsFf^p}9ggOrsKNJ~S2JHX_pX<)a}h?JHN2tKxSbRZcS2v7%@ zpN4n};5~jE@p_S(8l<8E>FfKKXn%J%a^?(j>=@G0g0!|GDJcl>`=?>xv-EVt;Xrop zo+HJ@#Zp;WDOp(?q_Z<J@wMtrhiSJY%=se zP5{OvCxgcWCX-3k*48p_-aKqJ8*Vok4A9uv$gW+xsHmt=ZnqnQ0mh7hv@`&of5?4z z#fot2k|oAaJ^g_2(e=-1I&Hr~ea{{4c5ckun0?{n3kUC9xTDNwNKAzH-`|VLG?$W+ z60)*>L2fRL9SeDR%hrs<4q;-bJ6De@_h`n^SFc?|n>iEu`rz_qa5~||7a=w_nCJ6> z#S;9TIu(pY5P_vj;pSiUZ(UfHx(1jX%B_&&iMeN&>j50fv2?IFfPc|!{INb#-)^<~ zVrR|-lL=B&hyIT`Jxret5)ymR0fmK-^Zn`i!QuddT4r0lXuJj>BF_w^1*KF()WoP$ zhYttmz~i8Xsh5_52+c3Y#ol;KH%yzubbqT)#B9+3a#rS8l&H4`nXsYQ4BP^KyJiiPmk)0sbOgFOAu9{2 zssNZX>B#9GL^45~A!!|mdQIi!`5)PgGIBGfijw()bVW$SseLQ=^#W6XgTPBBo#NvI z!rHaL&o2~yKU7!47r%>P@tFiF>Ebuo@WTP%^~U8(5_~#YtbbI%r}O$xO*nqu4k4c* zz=6ctPW=8BM7rymT%LWf8Teo!5$5eoW|sdMHtnrp)v6wfiooFr8fj^PTPI^!Tri&Z z7>yB)1;j9$C{nqR3AArtAGb^SR4WQ^Z=lz~@u22_0V)0NI(+_5fQYWX07p-^bpSDY zNg|U3BGJ=|hku1zd+_<7=FJ2)+@6RZArc*Q32&3tR=wIREbwOefFlnZ{ z8OJixbC&1SC;%yYDG9&tCSY`Xg=KHoakj$AF`i=?~_%qAceU^ zJt8PdP!hD!gAWrrQmGX0*6*m~dC7yPPHj?c(v09z?0@$z1dISigCa9M4ipsAfd}DF z*hr_26R%iFPKKhBdR`!MFyVlB6K+ze;yzw3;!v^4u|sl!>9?odo~-Y;?hYNl6+aqF zlu6G|-u?&4{s>|T10W>@nwlVCPa+XRw-Epw_}LlWK#NXCPVYTNPl@qG#zpFfNfk6) zK^C3iG=I<@+L|^un$x={U->2Vo)5-#lAHA=?Ny7IF$3bg#$ot^_!WF zD!;+~yKR0T0cZut{7dE}H*U}2pB-*~NIarbu~O>FM@1ja(UeBms4%7JGy$kCsV4uk ze1EomxDBP05|M#bdH;L+xn6qx9FX=++{4eLp;?;S=~m(9aHZ4hQ2m%TYnn=$mZX$Y zs^93tx(fIM3V85j>Jh*gVZ3U+ZXLF*vbd7==11l)&ORsMrf?X+C1pegTs^Mr!Xt$N zdyD;%cwJ>36P}$w$>|cDeNF_Sx4V~fUw@oKr`LIa{3mhiMq&VHLgT0QR(pK7Ih@Y+ zPOe_ON=rivZl{}Z@#C;wx8mq=P*q%o*W=|S*nd=7wffalQf(c^N_NO z=&%#K6WV~Ufn6gZ9|=Yg+$%yyOb@sLM}OQ;a6R&mkQ0D^0=#cHnUnJ51^@s607*qo IM6N<$g6n3PF#rGn diff --git a/scripts/favicon.png.b64 b/scripts/favicon.png.b64 index e106aa7..9850282 100644 --- a/scripts/favicon.png.b64 +++ b/scripts/favicon.png.b64 @@ -1 +1 @@ -iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA~wD~AP-gvaeTAAAHF0lEQVRYhcWXf0zU5x3HX8~37jjhjoKoEESRdaI2tsrU1a7bog7FuMlsXP05rQ5SY4xrs6y2XTBbarppbKZpuprUIK3GOgOdWvwBGB06goiAiBbm9abIifwQDvl5v-8---OQnYCVbS57J0~u-X6ez~N-v7~PPd~nB~yfof6DPnHAa8Ai4NuAAWgGyoDPgYr~lQEN2AZsj4rC9MYbMHUqymCA-~eRkydRZ88iwAlgC9Dy7xh5EvTAnzWNQHY2YrcTECEggvSXgMeDlJURSEtDgDvA5KdpYLfRiJSWDgg-tnR0IBkZCFAHmJ-GeArgPX4c8XqRmhqkogLp6~uXaHc3cuYMcuwY0tKCtLYiKSkI8PunYeCz9HTE4UB2754jxcXFUllZKVlZG6SzM2gkK2utWCwWsdlssmPHu9Lejpw4gQAdQMR~I64D2nJzEYsFKSgoCIiIBAIBqa-vl~x8pLwcqa6ulv54wGq1SmEh0taGaBoCLPkmAW1wYP2h9aZNn2wy9D9OAMYkJ4PHAyaTSdXW1jJv3jxsNhtuNxgM0NjYyK5du6ioqFButxuDAcaMgbQ0AJ5~yH13xYpw65IlxlA9~YDw0fXPaTptv0J9zx3udm7M25h94eMLB-9cuKPMZkhMhPff34vJNJeSkhKysn5Bbi6MHQt5ecvYuTPAhg0bSEx08M47oBQkJABgtq1eNF4C2v4A3YvDIvE1rFqc59FrW5M~L-hWAFtyt5gdmqMOYWKoO1ePK~doxtFXr11DmzkT-vrg8mVwOuHFFyE2Npjn84HFEvydOhWMRhCBpUvh5l~1b11YlroGmB3KrZDjiblnl-sBHMqxdLA4gNFs~LE-Ut9utfpiZ84EkwlSU4f-jzo9TJ8OEhJ70AGFhZDz~en6weIAglpmW71ovAYgIs8MpQWlVETUxKhThw8H58DjoIapl5aCCM0vx8XeeEw3Tfz6aA1Ah-6iIL5hkkrsdfY~fPklrqKixxuQQfX2NtixA4A~jjKGlQHdw3SrT8Rs0QByVuZYlKi3BpmwodgM3AJ-u2YNlJcPbyB0BLo6ISsLqqoAmDPpyOkeRDJBnCFpHYh6TeXl-R~ZjDJyM6aKkvmCdEVIxKl9K~f1AlOAg8BLJp3i4wPC2rXBzy8Ufj9UV8MXv4th8ZkEKuniN9jwwwHg9cblSxJ8OlmsVMCn8~pPTTh-3g4hnyHAgcTaTvz-FkS665pcnn2wGfhgIRHm7Uxmlv8ZNu2tYdWqHoqKwOEIGmlpgVsnY1hcMJ73GI0RjQXEMJsoUrmRCbRvXx-3S~lUKwpvb6DXwfGg5oABKf3uOnz-T4CIrr4AR0-3dQAxe0kikwQi0dOKh4Vbe~D5oObNBDbcnogfIRIdozEM2dt~yGhSCKPphehf4eN1QWIQMGmmuxnHMtJzlufUKAApeykJv-8mYHR7hWVv13G2wskxnmMZ47Dj4zKd2PEy9-9W7HbQ~yCFuUQ9IihKUBK00YMPEzpSqRTv1u-o5HnJg6dObVJt0ozgUuz3LgSMAEaDIjM9DhQU04EH4U~YSKeOE69YSU6GopN6XiByMOGAeBNuUqniPl4u4lCxybFDcoHpt6fdnqzvt-4OHb8VPxpLlEnPT97-B8n-CGIJAyAlBZqaIGFPIhFDtxEAHPjZGd5Ai05HTu89Rk-J8UXGReqHSRU0XEEWneE00B7amjY3mtO7J1~5JfWeD8Z1kpv1Ju1Vi5gxA-K9xmH4gvgaB~N~vYqagx~iXjsHt8N9SNNpliHqIucPrTxk0wDUy2UdiCwFbva3-0EdSZtlTAVe7XO6fJMT4tmxcTV7Mjfzc27yNx7gJjCwCAWAWzj4VHePXpcLEZgyMZ6-xr5qFOnAlYE3F4oMPsM6GHQoFUFxafazeOhSC6pCRyQ3~lvxK9ru3ici2sSCVxZgjjJzZs9R5ouZmVuX0BU3mqhJcUSPiSb~03y-Kr~B~bttfiABaAXI~EvmJDduz-GfHW5-SDyiU7FS6spHRR~N0ZRG2Kgwpek0AaguqSb~s3y2fbgNpZQSkYFVef97-7leev0ckPZN3MPPpKFZmtvpVuHmcKXT61D9mDZrmkqalqSUUqrf6MO6CvgDCnjwZOoRwBhhvGq9bh22rbK4kvbmR-Yvzj4n4aZwGMElZUQGXD2u7MIjhQF7i~2ReF1lHROenUDJ6RKcfU4Eobe7l3NfnEOn13mA~Cdx60ZiAGhC46f2Vnt8uDmczvZOrl68SktDC26nm3Hx47Bet-LocVBVXIXX4-VSwaUjIpL9tAy86-pzrVOaosHSoG59dUt6Onu4V39P1ZbX4vP5JGZcjOpo7ZDmhmZVcb4CEXkeuAtcG6HGY6GARoJnjcHFRfBi6iR46LATvBPagK-BXSMhHwlGEdwrQkdMD7gBR3~cT3A98o-QE4B~ArxvOJmT8uQGAAAAAElFTkSuQmCC \ No newline at end of file +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 \ No newline at end of file diff --git a/scripts/plugin.config b/scripts/plugin.config index f5f3c01..f3a2737 100644 --- a/scripts/plugin.config +++ b/scripts/plugin.config @@ -3,7 +3,7 @@ signer=idki2p@mail.i2p consoleLinkName=I2PFirefox consoleLinkURL=/ consoleLinkTooltip=Firefox process manager for I2P -icon-code=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 +icon-code=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 description=Firefox process manager for I2P author=idk updateURL=/i2psnark/i2p.plugins.firefox/i2pfirefox-update.xpi2p diff --git a/src/java/net/i2p/i2pfirefox/I2PBrowser.java b/src/java/net/i2p/i2pfirefox/I2PBrowser.java index f384880..aeb5437 100644 --- a/src/java/net/i2p/i2pfirefox/I2PBrowser.java +++ b/src/java/net/i2p/i2pfirefox/I2PBrowser.java @@ -1,5 +1,6 @@ package net.i2p.i2pfirefox; +import java.awt.AWTException; import java.awt.Image; import java.awt.Menu; import java.awt.MenuItem; @@ -41,9 +42,12 @@ public class I2PBrowser extends I2PCommonBrowser { private final I2PChromium i2pChromium = new I2PChromium(); private final I2PGenericUnsafeBrowser i2pGeneral = new I2PGenericUnsafeBrowser(); + private final Toolkit toolkit = Toolkit.getDefaultToolkit(); private final SystemTray tray = initTray(); + private final Image image = toolkit.getImage("icon.png"); private final TrayIcon icon = initIcon(); private final PopupMenu menu = initMenu(); + private final Menu submenuStrict = new Menu("Strict Mode"); private final MenuItem launchRegularBrowserStrict = new MenuItem("Launch I2P Browser"); @@ -57,6 +61,7 @@ public class I2PBrowser extends I2PCommonBrowser { private final MenuItem launchConfigBrowserUsability = new MenuItem("Launch I2P Console"); private final MenuItem closeItem = new MenuItem("Close"); + public boolean firefox = false; public boolean chromium = false; public boolean generic = false; @@ -96,7 +101,7 @@ public class I2PBrowser extends I2PCommonBrowser { * * @since 0.0.16 */ - public I2PBrowser() {} + public I2PBrowser() { initIconFile(); } /** * Construct an I2PBrowser class which automatically determines which browser @@ -106,6 +111,7 @@ public class I2PBrowser extends I2PCommonBrowser { */ public I2PBrowser(String browserPath) { I2PGenericUnsafeBrowser.BROWSER = browserPath; + initIconFile(); } public void setBrowser(String browserPath) { @@ -282,7 +288,10 @@ public class I2PBrowser extends I2PCommonBrowser { try { if (useSystray) { logger.info("Starting systray"); - systray(args); + if (systray()) { + logger.info("Systray started"); + } + startupSystray(); Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { @@ -313,13 +322,6 @@ public class I2PBrowser extends I2PCommonBrowser { } return false; } - protected void shutdownSystray() { - tray.remove(icon); - File systrayIsRunningFile = - new File(runtimeDirectory(""), "systray.running"); - if (systrayIsRunningFile.exists()) - systrayIsRunningFile.delete(); - } private SystemTray initTray() { if (systrayIsRunningExternally()) { return null; @@ -336,46 +338,61 @@ public class I2PBrowser extends I2PCommonBrowser { return menu; } - private TrayIcon initIcon() { - File iconFile = new File(runtimeDirectory(""), "icon.png"); - if (!iconFile.exists()) { + private File initIconFile() { + File icon = new File(runtimeDirectory(""), "icon.png"); + if (!icon.exists()) { InputStream resources = I2PBrowser.class.getClassLoader().getResourceAsStream("icon.png"); try { - OutputStream fos = new FileOutputStream(iconFile); + OutputStream fos = new FileOutputStream(icon); copy(resources, fos); } catch (IOException e) { logger.warning(e.toString()); } } - Toolkit toolkit = Toolkit.getDefaultToolkit(); - Image image = toolkit.getImage("icon.png"); + return icon; + } + private TrayIcon initIcon() { TrayIcon icon = new TrayIcon(image, "I2P Browser Profile Controller", menu); icon.setImageAutoSize(true); return icon; } - public boolean systray(String[] args) throws Exception { + protected void startupSystray() { + logger.info("Setting up systray"); + File systrayIsRunningFile = + new File(runtimeDirectory(""), "systray.running"); + if (systrayIsRunningFile.exists()) { + try { + logger.info("Adding icon to systray"); + tray.add(icon); + } catch (AWTException e) { + logger.warning(e.toString()); + } + } + } + protected void shutdownSystray() { + tray.remove(icon); + File systrayIsRunningFile = + new File(runtimeDirectory(""), "systray.running"); + if (systrayIsRunningFile.exists()) + systrayIsRunningFile.delete(); + } + public boolean systray() throws Exception { if (tray == null) throw new Exception("System Tray is Null Exception"); - tray.add(icon); launchRegularBrowserStrict.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - ArrayList argsList = new ArrayList(); - argsList.addAll(Arrays.asList(args)); - argsList.add("-strict"); - main(argsList.toArray(args)); + String[] args = {"-strict"}; + main(args); } }); submenuStrict.add(launchRegularBrowserStrict); logger.info("Added strict mode browser"); launchPrivateBrowserStrict.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - ArrayList argsList = - new ArrayList(Arrays.asList(new String[] {"-private"})); - argsList.addAll(Arrays.asList(args)); - argsList.add("-strict"); - main(argsList.toArray(args)); + String[] args = {"-private", "-strict"}; + main(args); } }); submenuStrict.add(launchPrivateBrowserStrict); @@ -384,32 +401,24 @@ public class I2PBrowser extends I2PCommonBrowser { logger.info("Added strict mode submenu"); launchRegularBrowserUsability.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - ArrayList argsList = new ArrayList(); - argsList.addAll(Arrays.asList(args)); - argsList.add("-usability"); - main(argsList.toArray(args)); + String[] args = {"-usability"}; + main(args); } }); submenuUsability.add(launchRegularBrowserUsability); logger.info("Added usability mode browser"); launchPrivateBrowserUsability.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - ArrayList argsList = - new ArrayList(Arrays.asList(new String[] {"-private"})); - argsList.addAll(Arrays.asList(args)); - argsList.add("-usability"); - main(argsList.toArray(args)); + String[] args = {"-private", "-strict"}; + main(args); } }); submenuUsability.add(launchPrivateBrowserUsability); logger.info("Added usability+private mode browser"); launchConfigBrowserUsability.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - ArrayList argsList = new ArrayList( - Arrays.asList(new String[] {"-app", "http://127.0.0.1:7657"})); - argsList.addAll(Arrays.asList(args)); - argsList.add("-usability"); - main(argsList.toArray(args)); + String[] args = {"-usability", "-app", "http://127.0.0.1:7657"}; + main(args); } }); submenuUsability.add(launchConfigBrowserUsability); diff --git a/src/java/net/i2p/i2pfirefox/I2PFirefox.java b/src/java/net/i2p/i2pfirefox/I2PFirefox.java index 4665edb..22b7530 100644 --- a/src/java/net/i2p/i2pfirefox/I2PFirefox.java +++ b/src/java/net/i2p/i2pfirefox/I2PFirefox.java @@ -29,7 +29,7 @@ import java.util.stream.Stream; */ public class I2PFirefox extends I2PCommonBrowser { private final String[] FIREFOX_SEARCH_PATHS = FIREFOX_FINDER(); - private Process p = null; + private Process process = null; public static boolean usability = false; private static String baseMode() { @@ -696,10 +696,10 @@ public class I2PFirefox extends I2PCommonBrowser { } try { logger.info(pb.command().toString()); - p = pb.start(); + process = pb.start(); logger.info("I2PFirefox"); sleep(2000); - return p; + return process; } catch (Throwable e) { logger.info(e.toString()); } @@ -725,12 +725,12 @@ public class I2PFirefox extends I2PCommonBrowser { } public void launch(int privateWindow, String[] url) { if (waitForProxy()) { - p = launchAndDetatch(privateWindow, url); - if (p == null) + process = launchAndDetatch(privateWindow, url); + if (process == null) return; try { logger.info("Waiting for I2PFirefox to close..."); - int exit = p.waitFor(); + int exit = process.waitFor(); logger.info("I2PFirefox exited with value: " + exit); if (isOSX()) System.exit(exit);