mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
App_update: Add app-update check to startup
This commit is contained in:
@@ -36,7 +36,7 @@ public class Xoav_app implements Xoa_app, Gfo_invk {
|
||||
public Xoav_app(Gfo_usr_dlg usr_dlg, Xoa_app_mode mode, Xog_tab_mgr tab_mgr, String plat_name, Io_url root_dir, Io_url file_dir, Io_url css_dir, Io_url http_root) {
|
||||
Xoa_app_.Usr_dlg_(usr_dlg); this.usr_dlg = usr_dlg; this.mode = mode;
|
||||
this.fsys_mgr = new Xoa_fsys_mgr(plat_name, root_dir, root_dir.GenSubDir("wiki"), file_dir, css_dir, http_root);
|
||||
this.gfs_mgr = new Xoa_gfs_mgr(this, fsys_mgr);
|
||||
this.gfs_mgr = new Xoa_gfs_mgr("anonymous", this, fsys_mgr);
|
||||
this.lang_mgr = new Xoa_lang_mgr(this, gfs_mgr);
|
||||
this.meta_mgr = new Xoa_meta_mgr(this);
|
||||
this.file__cache_mgr = new Xof_cache_mgr(usr_dlg, null, null);
|
||||
|
||||
@@ -21,22 +21,10 @@ public class Xoapi_addon implements Gfo_invk {
|
||||
public void Ctor_by_app(Xoa_app app) {}
|
||||
public Xoapi_addon_search Search() {return search;} private final Xoapi_addon_search search = new Xoapi_addon_search();
|
||||
public Xoapi_addon_bldr Bldr() {return bldr;} private final Xoapi_addon_bldr bldr = new Xoapi_addon_bldr();
|
||||
public String App__update__restart_cmd() {return app__update__restart_cmd;} private String app__update__restart_cmd = "";
|
||||
public String App__update__update_db_src() {return app__update__update_db_src;} private String app__update__update_db_src = "http://xowa.org";
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
if (ctx.Match(k, Invk__search)) return search;
|
||||
else if (ctx.Match(k, Invk__bldr)) return bldr;
|
||||
else if (ctx.Match(k, Invk__app__update__restart_cmd)) return app__update__restart_cmd;
|
||||
else if (ctx.Match(k, Invk__app__update__restart_cmd_)) app__update__restart_cmd = m.ReadStr("v");
|
||||
else if (ctx.Match(k, Invk__app__update__update_db_src)) return app__update__update_db_src;
|
||||
else if (ctx.Match(k, Invk__app__update__update_db_src_)) app__update__update_db_src = m.ReadStr("v");
|
||||
else return Gfo_invk_.Rv_unhandled;
|
||||
return this;
|
||||
}
|
||||
private static final String Invk__search = "search", Invk__bldr = "bldr"
|
||||
, Invk__app__update__restart_cmd = "app__update__restart_cmd"
|
||||
, Invk__app__update__restart_cmd_ = "app__update__restart_cmd_"
|
||||
, Invk__app__update__update_db_src = "app__update__update_db_src"
|
||||
, Invk__app__update__update_db_src_ = "app__update__update_db_src_"
|
||||
;
|
||||
private static final String Invk__search = "search", Invk__bldr = "bldr";
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ public class Xoa_boot_mgr {
|
||||
log_wtr = usr_dlg.Log_wkr(); log_wtr.Log_to_session_fmt("env.init: version=~{0}", Xoa_app_.Version);
|
||||
GfuiEnv_.Init_swt(args, Xoa_app_.class);
|
||||
Io_url jar_url = Env_.AppUrl();
|
||||
Xoa_app_.Build_date = Io_mgr.Instance.QueryFil(jar_url).ModifiedTime().XtoUtc().XtoStr_fmt("yyyy-MM-dd HH:mm");
|
||||
Xoa_app_.Build_date = Io_mgr.Instance.QueryFil(jar_url).ModifiedTime().XtoUtc().XtoStr_fmt(Xoa_app_.Build_date_fmt);
|
||||
log_wtr.Log_to_session_fmt("env.init: jar_url=~{0}; build_date=~{1}", jar_url.NameAndExt(), Xoa_app_.Build_date);
|
||||
log_wtr.Log_to_session_fmt("env.init: op_sys=~{0}", Op_sys.Cur().To_str());
|
||||
}
|
||||
@@ -73,7 +73,7 @@ public class Xoa_boot_mgr {
|
||||
try {
|
||||
app.Sys_cfg().Lang_(System_lang());
|
||||
String launch_url = arg_mgr.Gui__home_page();
|
||||
if (launch_url != null) gplx.xowa.guis.views.Xog_startup_tabs_.Manual = launch_url;
|
||||
if (launch_url != null) gplx.xowa.guis.views.Xog_startup_tabs.Manual = launch_url;
|
||||
app.Tcp_server().Rdr_port_(arg_mgr.Tcp__port_recv()).Wtr_port_(arg_mgr.Tcp__port_send());
|
||||
gplx.xowa.apps.servers.http.Http_server_mgr server_mgr = app.Http_server();
|
||||
server_mgr.Port_(arg_mgr.Http__port());
|
||||
@@ -92,7 +92,6 @@ public class Xoa_boot_mgr {
|
||||
if (app_type_is_gui)
|
||||
GfuiEnv_.ShowMsg(Err_.Message_gplx_full(e));
|
||||
}
|
||||
gplx.xowa.apps.setups.Xoa_setup_mgr.Delete_old_files(app);
|
||||
|
||||
// launch
|
||||
app.Launch();
|
||||
|
||||
@@ -19,7 +19,9 @@ package gplx.xowa.apps.gfs; import gplx.*; import gplx.xowa.*; import gplx.xowa.
|
||||
import gplx.langs.gfs.*;
|
||||
import gplx.xowa.users.*; import gplx.xowa.apps.fsys.*;
|
||||
public class Xoa_gfs_mgr implements Gfo_invk, Gfo_invk_root_wkr {
|
||||
public Xoa_gfs_mgr(Gfo_invk root_invk, Xoa_fsys_mgr app_fsys_mgr) {
|
||||
private final String user_name;
|
||||
public Xoa_gfs_mgr(String user_name, Gfo_invk root_invk, Xoa_fsys_mgr app_fsys_mgr) {
|
||||
this.user_name = user_name;
|
||||
this.root_invk = root_invk; this.app_fsys_mgr = app_fsys_mgr;
|
||||
GfsCore.Instance.AddCmd(root_invk, Xoae_app.Invk_app);
|
||||
GfsCore.Instance.AddCmd(root_invk, Xoae_app.Invk_xowa);
|
||||
@@ -53,7 +55,7 @@ public class Xoa_gfs_mgr implements Gfo_invk, Gfo_invk_root_wkr {
|
||||
}
|
||||
private void Run_url_by_type(String type) {
|
||||
if (String_.Eq(type, "xowa_cfg_app")) Run_url(app_fsys_mgr.Cfg_app_fil());
|
||||
else if (String_.Eq(type, "xowa.user.os")) gplx.xowa.addons.apps.cfgs.mgrs.dflts.Xocfg_dflt_mgr.Run_os_gfs(this, app_fsys_mgr);
|
||||
else if (String_.Eq(type, "xowa.user.os")) gplx.xowa.addons.apps.cfgs.mgrs.dflts.Xocfg_dflt_mgr.Run_os_gfs(user_name, this, app_fsys_mgr);
|
||||
else throw Err_.new_wo_type("invalid gfs type", "type", type);
|
||||
}
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
|
||||
@@ -18,8 +18,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
package gplx.xowa.apps.setups; import gplx.*; import gplx.xowa.*; import gplx.xowa.apps.*;
|
||||
import gplx.xowa.apps.versions.*; import gplx.core.envs.*;
|
||||
public class Xoa_setup_mgr {
|
||||
public static void Delete_old_files(Xoae_app app) {
|
||||
String version_previous = gplx.xowa.guis.views.Xog_startup_tabs_.Version_previous(app);
|
||||
public static void Launch(Xoae_app app) {
|
||||
Delete_old_files(app);
|
||||
gplx.xowa.addons.apps.cfgs.upgrades.Xocfg_upgrade_mgr.Upgrade_cfg_0(app);
|
||||
Run_cfg_for_os(app);
|
||||
}
|
||||
private static void Delete_old_files(Xoae_app app) {
|
||||
String version_previous = gplx.xowa.guis.views.Xog_startup_tabs.Version_previous(app);
|
||||
Gfo_usr_dlg usr_dlg = app.Usr_dlg();
|
||||
Io_url root_dir = app.Fsys_mgr().Root_dir();
|
||||
Delete_old_dir(usr_dlg, version_previous, "1.8.2.1" , root_dir.GenSubDir_nest("user", "anonymous", "lang"));
|
||||
@@ -27,14 +32,14 @@ public class Xoa_setup_mgr {
|
||||
Delete_old_dir(usr_dlg, version_previous, "1.10.2.1" , root_dir.GenSubDir_nest("bin", "any", "javascript"));
|
||||
Delete_old_dir(usr_dlg, version_previous, "1.10.2.1" , root_dir.GenSubDir_nest("bin", "any", "xowa", "html", "modules"));
|
||||
}
|
||||
public static void Delete_old_dir(Gfo_usr_dlg usr_dlg, String version_prv, String version_del, Io_url dir) {
|
||||
public static void Delete_old_dir(Gfo_usr_dlg usr_dlg, String version_prv, String version_del, Io_url dir) { // TEST:
|
||||
if (Xoa_version_.Compare(version_prv, version_del) != CompareAble_.Less) return;
|
||||
usr_dlg.Log_many("", "", "setup:checking if dir exists: version_prv=~{0} version_del=~{1} dir=~{2}", version_prv, version_del, dir.Raw());
|
||||
if (!Io_mgr.Instance.ExistsDir(dir)) return;
|
||||
usr_dlg.Log_many("", "", "setup:deleting dir", version_prv, version_del, dir.Raw());
|
||||
Io_mgr.Instance.DeleteDirDeep(dir);
|
||||
}
|
||||
public static void Setup_run_check(Xoae_app app) {
|
||||
private static void Run_cfg_for_os(Xoae_app app) {
|
||||
// exit if wnt or drd
|
||||
byte op_sys_tid = Op_sys.Cur().Tid();
|
||||
switch (op_sys_tid) {
|
||||
|
||||
Reference in New Issue
Block a user