From 4bcefa262137d1fddeb549f6bf97ddf42f8626c6 Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Sat, 7 Jan 2017 23:10:15 -0500 Subject: [PATCH] App_update: Add menu link to new Special page --- .../apps/updates/specials/svcs/Xoa_update_svc.java | 13 +++++++++---- 400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_mgr.java | 2 ++ 400_xowa/src/gplx/xowa/guis/cmds/Xog_cmd_itm_.java | 13 +++++++------ 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/400_xowa/src/gplx/xowa/addons/apps/updates/specials/svcs/Xoa_update_svc.java b/400_xowa/src/gplx/xowa/addons/apps/updates/specials/svcs/Xoa_update_svc.java index 472d5a62a..37020ca20 100644 --- a/400_xowa/src/gplx/xowa/addons/apps/updates/specials/svcs/Xoa_update_svc.java +++ b/400_xowa/src/gplx/xowa/addons/apps/updates/specials/svcs/Xoa_update_svc.java @@ -23,7 +23,7 @@ import gplx.xowa.addons.apps.updates.apps.*; import gplx.core.envs.*; class Xoa_update_svc implements Gfo_invk { private Xoa_app app; - private Io_url app_root_dir, update_dir, update_jar_fil; + private Io_url app_root_dir, update_dir, update_jar_fil, version_root; private Xoa_app_version_itm version_itm; public Xoa_update_svc(Xoa_app app) {this.app = app;} private Xoa_update_db_mgr Init_db() { @@ -39,8 +39,9 @@ class Xoa_update_svc implements Gfo_invk { // get src, trg, etc.. String src = version_itm.Package_url(); - Io_url trg = update_dir.GenSubFil_nest("temp", version_itm.Name(), version_itm.Name() + ".zip"); - Io_mgr.Instance.DeleteDirDeep(trg.OwnerDir()); + Io_url trg = update_dir.GenSubFil_nest("temp", version_itm.Name(), version_itm.Name() + ".zip"); // EX: "/xowa/user/app/install/update/temp/4.1.0/4.1.0.zip" + this.version_root = trg.OwnerDir(); + Io_mgr.Instance.DeleteDirDeep(version_root); long src_len = -1; // start download @@ -65,11 +66,15 @@ class Xoa_update_svc implements Gfo_invk { Io_url src = unzip_wkr.Trg(); Io_url trg = app_root_dir; + // delete zip + Io_mgr.Instance.DeleteFil(unzip_wkr.Src()); + // copy update_jar Io_url src_jar_fil = src.GenSubFil_nest("bin", "any", "xowa", "addon", "app", "update", "xoa_update.jar"); this.update_jar_fil = app_root_dir.GenSubFil_nest("user", "install", "update", "xoa_update.jar"); Io_mgr.Instance.MoveFil_args(src_jar_fil, update_jar_fil, true).Exec(); + // run replace_wkr Xojs_wkr__replace replace_wkr = new Xojs_wkr__replace(unzip_wkr.Cbk_mgr(), unzip_wkr.Cbk_trg(), "xo.app_updater.download__prog", Gfo_invk_cmd.New_by_key(this, Invk__replace_done), src, trg); replace_wkr.Exec_async("app_updater"); } @@ -98,7 +103,7 @@ class Xoa_update_svc implements Gfo_invk { Xoa_update_startup.Version_cutoff_(app, version_itm.Id()); // run standalone app - Runtime_.Exec("java -jar " + update_jar_fil.Raw()+ " " + manifest_url.Raw()); + Runtime_.Exec("java -jar " + update_jar_fil.Raw()+ " " + manifest_url.Raw() + " " + version_root.Raw()); System_.Exit(); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_mgr.java b/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_mgr.java index 70cd12883..543f7fe9e 100644 --- a/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_mgr.java +++ b/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_mgr.java @@ -49,6 +49,7 @@ public class Xog_bnd_mgr implements Gfo_invk { , "xowa.gui.shortcuts.xowa.nav.help.about-1" , "xowa.gui.shortcuts.xowa.nav.help.change_log-1" , "xowa.gui.shortcuts.xowa.nav.help.diagnostics-1" + , "xowa.gui.shortcuts.xowa.nav.help.xowa_update-1" , "xowa.gui.shortcuts.xowa.nav.help.xowa_main-1" , "xowa.gui.shortcuts.xowa.nav.help.xowa_blog-1" , "xowa.gui.shortcuts.xowa.nav.setup.download_central-1" @@ -231,6 +232,7 @@ public class Xog_bnd_mgr implements Gfo_invk { Init_itm(Xog_cmd_itm_.Key_nav_help_about , Xog_bnd_box_.Tid_browser , ""); Init_itm(Xog_cmd_itm_.Key_nav_help_xowa_main , Xog_bnd_box_.Tid_browser , ""); Init_itm(Xog_cmd_itm_.Key_nav_help_xowa_blog , Xog_bnd_box_.Tid_browser , ""); + Init_itm(Xog_cmd_itm_.Key_nav_help_xowa_update , Xog_bnd_box_.Tid_browser , ""); Init_itm(Xog_cmd_itm_.Key_nav_setup_download_central , Xog_bnd_box_.Tid_browser , ""); Init_itm(Xog_cmd_itm_.Key_nav_setup_import_from_list , Xog_bnd_box_.Tid_browser , ""); Init_itm(Xog_cmd_itm_.Key_nav_setup_import_from_script , Xog_bnd_box_.Tid_browser , ""); diff --git a/400_xowa/src/gplx/xowa/guis/cmds/Xog_cmd_itm_.java b/400_xowa/src/gplx/xowa/guis/cmds/Xog_cmd_itm_.java index 205421561..573ed1e2a 100644 --- a/400_xowa/src/gplx/xowa/guis/cmds/Xog_cmd_itm_.java +++ b/400_xowa/src/gplx/xowa/guis/cmds/Xog_cmd_itm_.java @@ -31,12 +31,13 @@ public class Xog_cmd_itm_ { , Key_nav_wiki_sandbox = new_dflt_(Xog_ctg_itm_.Tid_nav , "xowa.nav.wiki.sandbox") , Key_nav_wiki_random = new_dflt_(Xog_ctg_itm_.Tid_nav , "xowa.nav.wiki.random") - , Key_nav_help_help = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.help" , "home/wiki/Help/Contents") // HOME - , Key_nav_help_about = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.about" , "home/wiki/Help/About") // HOME - , Key_nav_help_change_log = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.change_log" , "home/wiki/Change_log") // HOME - , Key_nav_help_diagnostics = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.diagnostics" , "home/wiki/Diagnostics") // HOME - , Key_nav_help_xowa_main = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.xowa_main" , "home/wiki/Main_Page") // HOME - , Key_nav_help_xowa_blog = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.xowa_blog" , "home/wiki/Blog") // HOME + , Key_nav_help_help = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.help" , "home/wiki/Help/Contents") // HOME + , Key_nav_help_about = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.about" , "home/wiki/Help/About") // HOME + , Key_nav_help_change_log = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.change_log" , "home/wiki/Change_log") // HOME + , Key_nav_help_diagnostics = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.diagnostics" , "home/wiki/Diagnostics") // HOME + , Key_nav_help_xowa_update = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.xowa_update" , "home/wiki/Special:XowaAppUpdate") // HOME + , Key_nav_help_xowa_main = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.xowa_main" , "home/wiki/Main_Page") // HOME + , Key_nav_help_xowa_blog = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.xowa_blog" , "home/wiki/Blog") // HOME , Key_nav_setup_download_central = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.setup.download_central" , "home/wiki/Special:XowaDownloadCentral") // HOME , Key_nav_setup_import_from_list = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.setup.import_from_list" , "home/wiki/Dashboard/Import/Online") // HOME