@ -15,22 +15,31 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
You should have received a copy of the GNU Affero General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
along with this program . If not , see < http : //www.gnu.org/licenses/>.
* /
* /
package gplx.xowa.addons.apps.updates ; import gplx.* ; import gplx.xowa.* ; import gplx.xowa.addons.* ; import gplx.xowa.addons.apps.* ;
package gplx.xowa.addons.apps.updates .dbs ; import gplx.* ; import gplx.xowa.* ; import gplx.xowa.addons.* ; import gplx.xowa.addons.apps.* ; import gplx.xowa.addons.apps.updates.* ;
import gplx.xowa.addons.apps. updates.db s.*;
import gplx.xowa.addons.apps. cfg s.*;
public class Xoa_update_db {
public class Xoa_update_db _mgr_ {
public static Io_url Url ( Xoa_app app ) { return app . Fsys_mgr ( ) . Root_dir ( ) . GenSubFil_nest ( "user" , "install" , "update" , "xoa_update.sqlite3" ) ; }
public static Io_url Url ( Xoa_app app ) { return app . Fsys_mgr ( ) . Root_dir ( ) . GenSubFil_nest ( "user" , "install" , "update" , "xoa_update.sqlite3" ) ; }
public static Xoa_app_version_itm [ ] Select ( Io_url db_url , DateAdp cutoff_date ) {
public static Xoa_app_version_itm [ ] Select ( Io_url db_url , DateAdp cutoff_date ) {
Xoa_update_db_mgr db_mgr = new Xoa_update_db_mgr ( db_url ) ;
Xoa_update_db_mgr db_mgr = new Xoa_update_db_mgr ( db_url ) ;
return db_mgr . Tbl__app_version ( ) . Select_by_date ( cutoff_date . XtoStr_fmt_yyyy_MM_dd_HH_mm_ss ( ) ) ;
return db_mgr . Tbl__app_version ( ) . Select_by_date ( cutoff_date . XtoStr_fmt_yyyy_MM_dd_HH_mm_ss ( ) ) ;
}
}
public static boolean Download_from_inet ( Xoa_app app , Io_url db_url ) {
public static boolean Download_from_inet ( Xoa_app app , boolean exit_if_too_soon , Io_url db_url ) {
// exit if web_access disabled
// exit if web_access disabled
if ( ! gplx . core . ios . IoEngine_system . Web_access_enabled ) return false ;
if ( ! gplx . core . ios . IoEngine_system . Web_access_enabled ) return false ;
// exit if inet checked too soon
if ( exit_if_too_soon ) {
Xocfg_mgr cfg = app . Cfg ( ) ;
int inet_interval = cfg . Get_int_app_or ( Cfg__inet_interval , 7 ) ;
DateAdp inet_date = cfg . Get_date_app_or ( Cfg__inet_date , DateAdp_ . MinValue ) ;
if ( Datetime_now . Get ( ) . Diff_days ( inet_date ) < inet_interval ) return false ;
cfg . Set_date_app ( Cfg__inet_date , Datetime_now . Get ( ) ) ;
}
// check text file to see if version changed
// check text file to see if version changed
Io_url trg_summary_fil = db_url . OwnerDir ( ) . GenSubFil ( "xoa_update.txt" ) ;
Io_url trg_summary_fil = db_url . OwnerDir ( ) . GenSubFil ( "xoa_update.txt" ) ;
int trg_summary_version = Bry_ . To_int_or ( Io_mgr . Instance . LoadFilBryOr ( trg_summary_fil , Bry_ . new_a7 ( "-1" ) ) , - 1 ) ;
int trg_summary_version = Bry_ . To_int_or ( Io_mgr . Instance . LoadFilBryOr ( trg_summary_fil , Bry_ . new_a7 ( "-1" ) ) , - 1 ) ;
String src_summary_server = app . Cfg ( ) . Get_str_app_or ( "xowa.app.update.server_url" , "http://xowa.org" ) ; // CFG:Cfg__
String src_summary_server = app . Cfg ( ) . Get_str_app_or ( "xowa.app. inet .server_url", "http://xowa.org" ) ; // CFG:Cfg__
byte [ ] src_summary_bry = Io_mgr . Instance . DownloadFil_args ( "" , Io_url_ . Empty ) . Exec_as_bry ( src_summary_server + "/admin/app_update/xoa_update.txt" ) ;
byte [ ] src_summary_bry = Io_mgr . Instance . DownloadFil_args ( "" , Io_url_ . Empty ) . Exec_as_bry ( src_summary_server + "/admin/app_update/xoa_update.txt" ) ;
if ( src_summary_bry = = null ) return false ;
if ( src_summary_bry = = null ) return false ;
int src_summary_version = Bry_ . To_int ( src_summary_bry ) ;
int src_summary_version = Bry_ . To_int ( src_summary_bry ) ;
@ -44,4 +53,7 @@ public class Xoa_update_db {
}
}
return true ;
return true ;
}
}
private static final String
Cfg__inet_interval = "xowa.app.update.inet.check_interval"
, Cfg__inet_date = "xowa.app.update.inet.check_date" ;
}
}