From 27e582441a15be74d547f3f0b777dccce52d77ca Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Tue, 28 Mar 2017 15:00:27 -0400 Subject: [PATCH] Full-text search: Tweak searcher and cfg for Android --- .../cfgs/specials/edits/objs/Xoedit_root.java | 3 +++ .../edits/services/Xocfg_edit_loader.java | 15 ++++++++++++++- .../specials/Xofulltext_searcher_html.java | 4 ++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_root.java b/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_root.java index 2f43a9d13..34a09a6d5 100644 --- a/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_root.java +++ b/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_root.java @@ -20,10 +20,12 @@ public class Xoedit_root implements Mustache_doc_itm { private final Xoedit_nav_mgr nav_mgr; private final Xoedit_grp[] grps; private final String page_help; + private final boolean app_is_drd; public Xoedit_root(Xoedit_nav_mgr nav_mgr, String page_help, Xoedit_grp[] grps) { this.nav_mgr = nav_mgr; this.page_help = page_help; this.grps = grps; + this.app_is_drd = gplx.core.envs.Op_sys.Cur().Tid_is_drd(); } public Gfobj_nde To_nde(Bry_bfr tmp_bfr) { Gfobj_nde rv = Gfobj_nde.New(); @@ -44,6 +46,7 @@ public class Xoedit_root implements Mustache_doc_itm { public Mustache_doc_itm[] Mustache__subs(String k) { if (String_.Eq(k, "grps")) return grps; else if (String_.Eq(k, "nav_exists")) return Mustache_doc_itm_.Ary__bool(nav_mgr.Itms().length > 1); // NOTE: do not show combo if 0 or 1 item + else if (String_.Eq(k, "app_is_drd")) return Mustache_doc_itm_.Ary__bool(app_is_drd); else if (String_.Eq(k, "itms")) return nav_mgr.Itms(); return Mustache_doc_itm_.Ary__empty; } diff --git a/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/services/Xocfg_edit_loader.java b/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/services/Xocfg_edit_loader.java index 7056b34c6..60e560faa 100644 --- a/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/services/Xocfg_edit_loader.java +++ b/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/services/Xocfg_edit_loader.java @@ -84,7 +84,20 @@ public class Xocfg_edit_loader { ); int owner_id = -1; rdr = db_app.Conn().Stmt_sql(sql).Exec_select__rls_auto(); - try {owner_id = rdr.Move_next() ? rdr.Read_int("map_src") : -1;} + try { + while (rdr.Move_next()) { + int map_src = rdr.Read_int("map_src"); + // WORKAROUND:if drd, then ignore desktop root node; needed for links like "?grp=xowa.addon.fulltext_search" which has two owners:desktop and mobile; DATE:2017-03-28 + // ideally, (a) cfg_grp should have a plat_id column; (b) the above SQL should join to cfg_grp and (c) filter on plat_id = drd / desktop + if (gplx.core.envs.Op_sys.Cur().Tid_is_drd() + && map_src == 10000) { + continue; + } else { + owner_id = map_src; + break; + } + } + } finally {rdr.Rls();} // get peers diff --git a/400_xowa/src/gplx/xowa/addons/wikis/fulltexts/searchers/specials/Xofulltext_searcher_html.java b/400_xowa/src/gplx/xowa/addons/wikis/fulltexts/searchers/specials/Xofulltext_searcher_html.java index f6c8784d5..96f9f1577 100644 --- a/400_xowa/src/gplx/xowa/addons/wikis/fulltexts/searchers/specials/Xofulltext_searcher_html.java +++ b/400_xowa/src/gplx/xowa/addons/wikis/fulltexts/searchers/specials/Xofulltext_searcher_html.java @@ -38,9 +38,9 @@ class Xofulltext_searcher_html extends Xow_special_wtr__base implements Mustache props_Add_str(cfg_mgr, url_args, "ns_ids", "0"); props_Add_str(cfg_mgr, url_args, "limits", "25"); props_Add_str(cfg_mgr, url_args, "offsets", "0"); - props_Add_str(cfg_mgr, url_args, "expand_pages", "n"); + props_Add_str(cfg_mgr, url_args, "expand_pages", "y"); props_Add_str(cfg_mgr, url_args, "expand_snips", "n"); - props_Add_str(cfg_mgr, url_args, "show_all_snips", "n"); + props_Add_str(cfg_mgr, url_args, "show_all_snips", "y"); // options:bools props_Add_bool(cfg_mgr, url_args, "xowa.addon.fulltext_search.options", "expand_options");