App_update: Add menu link to new Special page

pull/620/head
gnosygnu 8 years ago
parent ad646efb5c
commit 4bcefa2621

@ -23,7 +23,7 @@ import gplx.xowa.addons.apps.updates.apps.*;
import gplx.core.envs.*; import gplx.core.envs.*;
class Xoa_update_svc implements Gfo_invk { class Xoa_update_svc implements Gfo_invk {
private Xoa_app app; 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; private Xoa_app_version_itm version_itm;
public Xoa_update_svc(Xoa_app app) {this.app = app;} public Xoa_update_svc(Xoa_app app) {this.app = app;}
private Xoa_update_db_mgr Init_db() { private Xoa_update_db_mgr Init_db() {
@ -39,8 +39,9 @@ class Xoa_update_svc implements Gfo_invk {
// get src, trg, etc.. // get src, trg, etc..
String src = version_itm.Package_url(); String src = version_itm.Package_url();
Io_url trg = update_dir.GenSubFil_nest("temp", version_itm.Name(), version_itm.Name() + ".zip"); 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"
Io_mgr.Instance.DeleteDirDeep(trg.OwnerDir()); this.version_root = trg.OwnerDir();
Io_mgr.Instance.DeleteDirDeep(version_root);
long src_len = -1; long src_len = -1;
// start download // start download
@ -65,11 +66,15 @@ class Xoa_update_svc implements Gfo_invk {
Io_url src = unzip_wkr.Trg(); Io_url src = unzip_wkr.Trg();
Io_url trg = app_root_dir; Io_url trg = app_root_dir;
// delete zip
Io_mgr.Instance.DeleteFil(unzip_wkr.Src());
// copy update_jar // copy update_jar
Io_url src_jar_fil = src.GenSubFil_nest("bin", "any", "xowa", "addon", "app", "update", "xoa_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"); 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(); 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); 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"); 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()); Xoa_update_startup.Version_cutoff_(app, version_itm.Id());
// run standalone app // 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(); System_.Exit();
} }
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {

@ -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.about-1"
, "xowa.gui.shortcuts.xowa.nav.help.change_log-1" , "xowa.gui.shortcuts.xowa.nav.help.change_log-1"
, "xowa.gui.shortcuts.xowa.nav.help.diagnostics-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_main-1"
, "xowa.gui.shortcuts.xowa.nav.help.xowa_blog-1" , "xowa.gui.shortcuts.xowa.nav.help.xowa_blog-1"
, "xowa.gui.shortcuts.xowa.nav.setup.download_central-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_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_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_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_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_list , Xog_bnd_box_.Tid_browser , "");
Init_itm(Xog_cmd_itm_.Key_nav_setup_import_from_script , Xog_bnd_box_.Tid_browser , ""); Init_itm(Xog_cmd_itm_.Key_nav_setup_import_from_script , Xog_bnd_box_.Tid_browser , "");

@ -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_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_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_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_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_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_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_update = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.xowa_update" , "home/wiki/Special:XowaAppUpdate") // 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_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_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 , 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

Loading…
Cancel
Save