package keymon.lat.medicomed;


import anywheresoftware.b4a.BA;
import anywheresoftware.b4a.B4AClass;
import anywheresoftware.b4a.BALayout;
import anywheresoftware.b4a.debug.*;

public class cl_appupdate extends B4AClass.ImplB4AClass implements BA.SubDelegator{
    private static java.util.HashMap<String, java.lang.reflect.Method> htSubs;
    private void innerInitialize(BA _ba) throws Exception {
        if (ba == null) {
            ba = new anywheresoftware.b4a.ShellBA(_ba, this, htSubs, "keymon.lat.medicomed.cl_appupdate");
            if (htSubs == null) {
                ba.loadHtSubs(this.getClass());
                htSubs = ba.htSubs;
            }
            
        }
        if (BA.isShellModeRuntimeCheck(ba)) 
			   this.getClass().getMethod("_class_globals", keymon.lat.medicomed.cl_appupdate.class).invoke(this, new Object[] {null});
        else
            ba.raiseEvent2(null, true, "class_globals", false);
    }

 
    public void  innerInitializeHelper(anywheresoftware.b4a.BA _ba) throws Exception{
        innerInitialize(_ba);
    }
    public Object callSub(String sub, Object sender, Object[] args) throws Exception {
        return BA.SubDelegator.SubNotFound;
    }
public anywheresoftware.b4a.keywords.Common __c = null;
public int _err_nopkg = 0;
public int _err_notxt = 0;
public int _err_noapk = 0;
public int _err_txtrow = 0;
public int _err_html = 0;
public int _err_nospace = 0;
public int _err_noperm = 0;
public int _err_download = 0;
public int _err_http = 0;
public int _ok_init = 0;
public int _ok_curver = 0;
public int _ok_webver = 0;
public int _no_newerapk = 0;
public int _ok_newerapk = 0;
public int _ok_download = 0;
public int _ok_install = 0;
public Object _callback = null;
public String _event = "";
public String _spackagename = "";
public String _snewvertxt = "";
public String _snewverapk = "";
public int _sstatuscode = 0;
public String _susername = "";
public String _supassword = "";
public String _curver = "";
public String _webver = "";
public String _webclog = "";
public String _webfsize = "";
public boolean _sverbose = false;
public anywheresoftware.b4a.objects.PanelWrapper _pnlsplash = null;
public boolean _splashshowing = false;
public anywheresoftware.b4a.phone.Phone _phone = null;
public anywheresoftware.b4a.objects.RuntimePermissions _rp = null;
public String _sharedfolder = "";
public boolean _usefileprovider = false;
public int _logcolor1 = 0;
public b4a.example.dateutils _dateutils = null;
public keymon.lat.medicomed.main _main = null;
public keymon.lat.medicomed.starter _starter = null;
public keymon.lat.medicomed.subs _subs = null;
public keymon.lat.medicomed.appupdater _appupdater = null;
public keymon.lat.medicomed.mapa_rutas _mapa_rutas = null;
public keymon.lat.medicomed.tracker _tracker = null;
public keymon.lat.medicomed.newinst2 _newinst2 = null;
public keymon.lat.medicomed.b4xpages _b4xpages = null;
public keymon.lat.medicomed.b4xcollections _b4xcollections = null;
public keymon.lat.medicomed.httputils2service _httputils2service = null;
public keymon.lat.medicomed.xuiviewsutils _xuiviewsutils = null;
public boolean  _canrequestpackageinstalls(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "canrequestpackageinstalls", true))
	 {return ((Boolean) Debug.delegate(ba, "canrequestpackageinstalls", null));}
anywheresoftware.b4j.object.JavaObject _ctxt = null;
anywheresoftware.b4j.object.JavaObject _packagemanager = null;
RDebugUtils.currentLine=32112640;
 //BA.debugLineNum = 32112640;BA.debugLine="Public Sub CanRequestPackageInstalls As Boolean";
RDebugUtils.currentLine=32112641;
 //BA.debugLineNum = 32112641;BA.debugLine="Dim ctxt As JavaObject";
_ctxt = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=32112642;
 //BA.debugLineNum = 32112642;BA.debugLine="ctxt.InitializeContext";
_ctxt.InitializeContext(ba);
RDebugUtils.currentLine=32112643;
 //BA.debugLineNum = 32112643;BA.debugLine="Dim PackageManager As JavaObject = ctxt.RunMethod";
_packagemanager = new anywheresoftware.b4j.object.JavaObject();
_packagemanager = (anywheresoftware.b4j.object.JavaObject) anywheresoftware.b4a.AbsObjectWrapper.ConvertToWrapper(new anywheresoftware.b4j.object.JavaObject(), (java.lang.Object)(_ctxt.RunMethod("getPackageManager",(Object[])(__c.Null))));
RDebugUtils.currentLine=32112644;
 //BA.debugLineNum = 32112644;BA.debugLine="Return PackageManager.RunMethod(\"canRequestPackag";
if (true) return BA.ObjectToBoolean(_packagemanager.RunMethod("canRequestPackageInstalls",(Object[])(__c.Null)));
RDebugUtils.currentLine=32112645;
 //BA.debugLineNum = 32112645;BA.debugLine="End Sub";
return false;
}
public boolean  _checknonmarketappsenabled(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "checknonmarketappsenabled", true))
	 {return ((Boolean) Debug.delegate(ba, "checknonmarketappsenabled", null));}
anywheresoftware.b4j.object.JavaObject _context = null;
anywheresoftware.b4j.object.JavaObject _resolver = null;
anywheresoftware.b4j.object.JavaObject _global = null;
RDebugUtils.currentLine=32178176;
 //BA.debugLineNum = 32178176;BA.debugLine="Public Sub CheckNonMarketAppsEnabled As Boolean";
RDebugUtils.currentLine=32178177;
 //BA.debugLineNum = 32178177;BA.debugLine="If phone.SdkVersion >= 26 Then Return True";
if (__ref._phone /*anywheresoftware.b4a.phone.Phone*/ .getSdkVersion()>=26) { 
if (true) return __c.True;};
RDebugUtils.currentLine=32178178;
 //BA.debugLineNum = 32178178;BA.debugLine="If phone.SdkVersion < 17 Or phone.SdkVersion >= 2";
if (__ref._phone /*anywheresoftware.b4a.phone.Phone*/ .getSdkVersion()<17 || __ref._phone /*anywheresoftware.b4a.phone.Phone*/ .getSdkVersion()>=21) { 
RDebugUtils.currentLine=32178179;
 //BA.debugLineNum = 32178179;BA.debugLine="Return phone.GetSettings(\"install_non_market_app";
if (true) return (__ref._phone /*anywheresoftware.b4a.phone.Phone*/ .GetSettings("install_non_market_apps")).equals("1");
 }else {
RDebugUtils.currentLine=32178181;
 //BA.debugLineNum = 32178181;BA.debugLine="Dim context As JavaObject";
_context = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=32178182;
 //BA.debugLineNum = 32178182;BA.debugLine="context.InitializeContext";
_context.InitializeContext(ba);
RDebugUtils.currentLine=32178183;
 //BA.debugLineNum = 32178183;BA.debugLine="Dim resolver As JavaObject = context.RunMethod(\"";
_resolver = new anywheresoftware.b4j.object.JavaObject();
_resolver = (anywheresoftware.b4j.object.JavaObject) anywheresoftware.b4a.AbsObjectWrapper.ConvertToWrapper(new anywheresoftware.b4j.object.JavaObject(), (java.lang.Object)(_context.RunMethod("getContentResolver",(Object[])(__c.Null))));
RDebugUtils.currentLine=32178184;
 //BA.debugLineNum = 32178184;BA.debugLine="Dim global As JavaObject";
_global = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=32178185;
 //BA.debugLineNum = 32178185;BA.debugLine="global.InitializeStatic(\"android.provider.Settin";
_global.InitializeStatic("android.provider.Settings.Global");
RDebugUtils.currentLine=32178186;
 //BA.debugLineNum = 32178186;BA.debugLine="Return global.RunMethod(\"getString\", Array(resol";
if (true) return (_global.RunMethod("getString",new Object[]{(Object)(_resolver.getObject()),(Object)("install_non_market_apps")})).equals((Object)("1"));
 };
RDebugUtils.currentLine=32178188;
 //BA.debugLineNum = 32178188;BA.debugLine="End Sub";
return false;
}
public String  _class_globals(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
RDebugUtils.currentLine=30212096;
 //BA.debugLineNum = 30212096;BA.debugLine="Private Sub Class_Globals";
RDebugUtils.currentLine=30212098;
 //BA.debugLineNum = 30212098;BA.debugLine="Public ERR_NOPKG = -1	As Int				'missing package";
_err_nopkg = (int) (-1);
RDebugUtils.currentLine=30212099;
 //BA.debugLineNum = 30212099;BA.debugLine="Public ERR_NOTXT = -2 As Int				'missing webserve";
_err_notxt = (int) (-2);
RDebugUtils.currentLine=30212100;
 //BA.debugLineNum = 30212100;BA.debugLine="Public ERR_NOAPK = -3 As Int				'missing webserve";
_err_noapk = (int) (-3);
RDebugUtils.currentLine=30212101;
 //BA.debugLineNum = 30212101;BA.debugLine="Public ERR_TXTROW = -4 As Int				'wrong row forma";
_err_txtrow = (int) (-4);
RDebugUtils.currentLine=30212102;
 //BA.debugLineNum = 30212102;BA.debugLine="Public ERR_HTML = -5 As Int					'website returned";
_err_html = (int) (-5);
RDebugUtils.currentLine=30212103;
 //BA.debugLineNum = 30212103;BA.debugLine="Public ERR_NOSPACE = -6 As Int				'no enough spac";
_err_nospace = (int) (-6);
RDebugUtils.currentLine=30212104;
 //BA.debugLineNum = 30212104;BA.debugLine="Public ERR_NOPERM = -7 As Int				'no permissions";
_err_noperm = (int) (-7);
RDebugUtils.currentLine=30212105;
 //BA.debugLineNum = 30212105;BA.debugLine="Public ERR_DOWNLOAD = -8 As Int				'failed to dow";
_err_download = (int) (-8);
RDebugUtils.currentLine=30212106;
 //BA.debugLineNum = 30212106;BA.debugLine="Public ERR_HTTP = -100 As Int				'HttpUtils error";
_err_http = (int) (-100);
RDebugUtils.currentLine=30212107;
 //BA.debugLineNum = 30212107;BA.debugLine="Public OK_INIT = 0 As Int";
_ok_init = (int) (0);
RDebugUtils.currentLine=30212108;
 //BA.debugLineNum = 30212108;BA.debugLine="Public OK_CURVER = 1 As Int					'curver has valid";
_ok_curver = (int) (1);
RDebugUtils.currentLine=30212109;
 //BA.debugLineNum = 30212109;BA.debugLine="Public OK_WEBVER = 2 As Int";
_ok_webver = (int) (2);
RDebugUtils.currentLine=30212110;
 //BA.debugLineNum = 30212110;BA.debugLine="Public NO_NEWERAPK = 3 As Int				'apk version on";
_no_newerapk = (int) (3);
RDebugUtils.currentLine=30212111;
 //BA.debugLineNum = 30212111;BA.debugLine="Public OK_NEWERAPK = 4 As Int				'current apk has";
_ok_newerapk = (int) (4);
RDebugUtils.currentLine=30212112;
 //BA.debugLineNum = 30212112;BA.debugLine="Public OK_DOWNLOAD = 5 As Int				'newer apk corre";
_ok_download = (int) (5);
RDebugUtils.currentLine=30212113;
 //BA.debugLineNum = 30212113;BA.debugLine="Public OK_INSTALL = 6 As Int				'user asked to in";
_ok_install = (int) (6);
RDebugUtils.currentLine=30212116;
 //BA.debugLineNum = 30212116;BA.debugLine="Private Callback As Object";
_callback = new Object();
RDebugUtils.currentLine=30212117;
 //BA.debugLineNum = 30212117;BA.debugLine="Private Event As String";
_event = "";
RDebugUtils.currentLine=30212118;
 //BA.debugLineNum = 30212118;BA.debugLine="Private sPackageName As String      		'ex: com.te";
_spackagename = "";
RDebugUtils.currentLine=30212119;
 //BA.debugLineNum = 30212119;BA.debugLine="Private sNewVerTxt As String        		'ex: http:/";
_snewvertxt = "";
RDebugUtils.currentLine=30212120;
 //BA.debugLineNum = 30212120;BA.debugLine="Private sNewVerApk  As String       		'ex: http:/";
_snewverapk = "";
RDebugUtils.currentLine=30212121;
 //BA.debugLineNum = 30212121;BA.debugLine="Private sStatusCode As Int          		'negatives";
_sstatuscode = 0;
RDebugUtils.currentLine=30212122;
 //BA.debugLineNum = 30212122;BA.debugLine="Private sUserName As String         		'user name";
_susername = "";
RDebugUtils.currentLine=30212123;
 //BA.debugLineNum = 30212123;BA.debugLine="Private sUPassword As String        		'password r";
_supassword = "";
RDebugUtils.currentLine=30212124;
 //BA.debugLineNum = 30212124;BA.debugLine="Private curver, webver As String    		'curver = c";
_curver = "";
_webver = "";
RDebugUtils.currentLine=30212125;
 //BA.debugLineNum = 30212125;BA.debugLine="Private webclog As String					'webclog = optional";
_webclog = "";
RDebugUtils.currentLine=30212126;
 //BA.debugLineNum = 30212126;BA.debugLine="Private webfsize As String					'webfsize = option";
_webfsize = "";
RDebugUtils.currentLine=30212127;
 //BA.debugLineNum = 30212127;BA.debugLine="Private sVerbose As Boolean					'TRUE = a lot of";
_sverbose = false;
RDebugUtils.currentLine=30212128;
 //BA.debugLineNum = 30212128;BA.debugLine="Private pnlSplash As Panel					'panel used to sup";
_pnlsplash = new anywheresoftware.b4a.objects.PanelWrapper();
RDebugUtils.currentLine=30212129;
 //BA.debugLineNum = 30212129;BA.debugLine="Private SplashShowing As Boolean			'True = splash";
_splashshowing = false;
RDebugUtils.currentLine=30212130;
 //BA.debugLineNum = 30212130;BA.debugLine="Private phone As Phone";
_phone = new anywheresoftware.b4a.phone.Phone();
RDebugUtils.currentLine=30212131;
 //BA.debugLineNum = 30212131;BA.debugLine="Private rp As RuntimePermissions";
_rp = new anywheresoftware.b4a.objects.RuntimePermissions();
RDebugUtils.currentLine=30212132;
 //BA.debugLineNum = 30212132;BA.debugLine="Private SharedFolder As String				'Foder where to";
_sharedfolder = "";
RDebugUtils.currentLine=30212133;
 //BA.debugLineNum = 30212133;BA.debugLine="Private UseFileProvider As Boolean			'TRUE = SDK";
_usefileprovider = false;
RDebugUtils.currentLine=30212134;
 //BA.debugLineNum = 30212134;BA.debugLine="Private LogColor1 As Int = 0xFFFF8C00		'first col";
_logcolor1 = ((int)0xffff8c00);
RDebugUtils.currentLine=30212135;
 //BA.debugLineNum = 30212135;BA.debugLine="End Sub";
return "";
}
public void  _downloadapk(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "downloadapk", true))
	 {Debug.delegate(ba, "downloadapk", null); return;}
ResumableSub_DownloadApk rsub = new ResumableSub_DownloadApk(this,__ref);
rsub.resume(ba, null);
}
public static class ResumableSub_DownloadApk extends BA.ResumableSub {
public ResumableSub_DownloadApk(keymon.lat.medicomed.cl_appupdate parent,keymon.lat.medicomed.cl_appupdate __ref) {
this.parent = parent;
this.__ref = __ref;
this.__ref = parent;
}
keymon.lat.medicomed.cl_appupdate __ref;
keymon.lat.medicomed.cl_appupdate parent;
keymon.lat.medicomed.httpjob _j = null;
anywheresoftware.b4a.objects.streams.File.OutputStreamWrapper _out = null;

@Override
public void resume(BA ba, Object[] result) throws Exception{
RDebugUtils.currentModule="cl_appupdate";

    while (true) {
        switch (state) {
            case -1:
return;

case 0:
//C
this.state = 1;
RDebugUtils.currentLine=31260673;
 //BA.debugLineNum = 31260673;BA.debugLine="LogColor(\"---- AppUpdating.DownloadApk\", LogColor";
parent.__c.LogImpl("931260673","---- AppUpdating.DownloadApk",__ref._logcolor1 /*int*/ );
RDebugUtils.currentLine=31260675;
 //BA.debugLineNum = 31260675;BA.debugLine="If sNewVerApk = \"\" Then";
if (true) break;

case 1:
//if
this.state = 10;
if ((__ref._snewverapk /*String*/ ).equals("")) { 
this.state = 3;
}if (true) break;

case 3:
//C
this.state = 4;
RDebugUtils.currentLine=31260676;
 //BA.debugLineNum = 31260676;BA.debugLine="sStatusCode = ERR_NOAPK";
__ref._sstatuscode /*int*/  = __ref._err_noapk /*int*/ ;
RDebugUtils.currentLine=31260677;
 //BA.debugLineNum = 31260677;BA.debugLine="If sVerbose Then Log($\"${TAB}missing apk file fu";
if (true) break;

case 4:
//if
this.state = 9;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 6;
;}if (true) break;

case 6:
//C
this.state = 9;
parent.__c.LogImpl("931260677",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"missing apk file full path indication"),0);
if (true) break;

case 9:
//C
this.state = 10;
;
RDebugUtils.currentLine=31260678;
 //BA.debugLineNum = 31260678;BA.debugLine="Finito";
__ref._finito /*String*/ (null);
RDebugUtils.currentLine=31260679;
 //BA.debugLineNum = 31260679;BA.debugLine="Return";
if (true) return ;
 if (true) break;

case 10:
//C
this.state = 11;
;
RDebugUtils.currentLine=31260682;
 //BA.debugLineNum = 31260682;BA.debugLine="Dim j As HttpJob";
_j = new keymon.lat.medicomed.httpjob();
RDebugUtils.currentLine=31260683;
 //BA.debugLineNum = 31260683;BA.debugLine="j.Initialize(\"\", Me)";
_j._initialize /*String*/ (null,ba,"",parent);
RDebugUtils.currentLine=31260684;
 //BA.debugLineNum = 31260684;BA.debugLine="j.Username = sUserName";
_j._username /*String*/  = __ref._susername /*String*/ ;
RDebugUtils.currentLine=31260685;
 //BA.debugLineNum = 31260685;BA.debugLine="j.Password = sUPassword";
_j._password /*String*/  = __ref._supassword /*String*/ ;
RDebugUtils.currentLine=31260686;
 //BA.debugLineNum = 31260686;BA.debugLine="j.Download(sNewVerApk)							'ex: j.Download(\"htt";
_j._download /*String*/ (null,__ref._snewverapk /*String*/ );
RDebugUtils.currentLine=31260687;
 //BA.debugLineNum = 31260687;BA.debugLine="Wait For (j) JobDone(j As HttpJob)";
parent.__c.WaitFor("jobdone", ba, new anywheresoftware.b4a.shell.DebugResumableSub.DelegatableResumableSub(this, "cl_appupdate", "downloadapk"), (Object)(_j));
this.state = 29;
return;
case 29:
//C
this.state = 11;
_j = (keymon.lat.medicomed.httpjob) result[1];
;
RDebugUtils.currentLine=31260688;
 //BA.debugLineNum = 31260688;BA.debugLine="Log($\"Donload ok? ${j.Success}\"$)";
parent.__c.LogImpl("931260688",("Donload ok? "+parent.__c.SmartStringFormatter("",(Object)(_j._success /*boolean*/ ))+""),0);
RDebugUtils.currentLine=31260689;
 //BA.debugLineNum = 31260689;BA.debugLine="If j.Success Then";
if (true) break;

case 11:
//if
this.state = 28;
if (_j._success /*boolean*/ ) { 
this.state = 13;
}else {
this.state = 21;
}if (true) break;

case 13:
//C
this.state = 14;
RDebugUtils.currentLine=31260691;
 //BA.debugLineNum = 31260691;BA.debugLine="Dim out As OutputStream";
_out = new anywheresoftware.b4a.objects.streams.File.OutputStreamWrapper();
RDebugUtils.currentLine=31260692;
 //BA.debugLineNum = 31260692;BA.debugLine="out = File.OpenOutput(SharedFolder,\"tmp.apk\",Fal";
_out = parent.__c.File.OpenOutput(__ref._sharedfolder /*String*/ ,"tmp.apk",parent.__c.False);
RDebugUtils.currentLine=31260693;
 //BA.debugLineNum = 31260693;BA.debugLine="File.Copy2(J.GetInputStream, out)";
parent.__c.File.Copy2((java.io.InputStream)(_j._getinputstream /*anywheresoftware.b4a.objects.streams.File.InputStreamWrapper*/ (null).getObject()),(java.io.OutputStream)(_out.getObject()));
RDebugUtils.currentLine=31260694;
 //BA.debugLineNum = 31260694;BA.debugLine="out.Close";
_out.Close();
RDebugUtils.currentLine=31260695;
 //BA.debugLineNum = 31260695;BA.debugLine="Log($\"Copy2 (saving) ok? TRUE\"$)";
parent.__c.LogImpl("931260695",("Copy2 (saving) ok? TRUE"),0);
RDebugUtils.currentLine=31260696;
 //BA.debugLineNum = 31260696;BA.debugLine="sStatusCode = OK_DOWNLOAD";
__ref._sstatuscode /*int*/  = __ref._ok_download /*int*/ ;
RDebugUtils.currentLine=31260697;
 //BA.debugLineNum = 31260697;BA.debugLine="If sVerbose Then Log($\"${TAB}new apk version dow";
if (true) break;

case 14:
//if
this.state = 19;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 16;
;}if (true) break;

case 16:
//C
this.state = 19;
parent.__c.LogImpl("931260697",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"new apk version downloaded and ready to install"),0);
if (true) break;

case 19:
//C
this.state = 28;
;
 if (true) break;

case 21:
//C
this.state = 22;
RDebugUtils.currentLine=31260699;
 //BA.debugLineNum = 31260699;BA.debugLine="Log($\"${TAB}Error: ${J.ErrorMessage}\"$)";
parent.__c.LogImpl("931260699",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"Error: "+parent.__c.SmartStringFormatter("",(Object)(_j._errormessage /*String*/ ))+""),0);
RDebugUtils.currentLine=31260700;
 //BA.debugLineNum = 31260700;BA.debugLine="sStatusCode = ERR_HTTP";
__ref._sstatuscode /*int*/  = __ref._err_http /*int*/ ;
RDebugUtils.currentLine=31260701;
 //BA.debugLineNum = 31260701;BA.debugLine="If sVerbose Then Log($\"${TAB}error in httputils2";
if (true) break;

case 22:
//if
this.state = 27;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 24;
;}if (true) break;

case 24:
//C
this.state = 27;
parent.__c.LogImpl("931260701",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"error in httputils2"),0);
if (true) break;

case 27:
//C
this.state = 28;
;
RDebugUtils.currentLine=31260702;
 //BA.debugLineNum = 31260702;BA.debugLine="ToastMessageShow(\"Error: \" & J.ErrorMessage, Tru";
parent.__c.ToastMessageShow(BA.ObjectToCharSequence("Error: "+_j._errormessage /*String*/ ),parent.__c.True);
 if (true) break;

case 28:
//C
this.state = -1;
;
RDebugUtils.currentLine=31260704;
 //BA.debugLineNum = 31260704;BA.debugLine="j.Release";
_j._release /*String*/ (null);
RDebugUtils.currentLine=31260705;
 //BA.debugLineNum = 31260705;BA.debugLine="Finito";
__ref._finito /*String*/ (null);
RDebugUtils.currentLine=31260706;
 //BA.debugLineNum = 31260706;BA.debugLine="End Sub";
if (true) break;

            }
        }
    }
}
public String  _finito(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "finito", true))
	 {return ((String) Debug.delegate(ba, "finito", null));}
RDebugUtils.currentLine=31522816;
 //BA.debugLineNum = 31522816;BA.debugLine="Private Sub Finito";
RDebugUtils.currentLine=31522817;
 //BA.debugLineNum = 31522817;BA.debugLine="If SubExists(Callback,Event&\"_UpdateComplete\") Th";
if (__c.SubExists(ba,__ref._callback /*Object*/ ,__ref._event /*String*/ +"_UpdateComplete")) { 
RDebugUtils.currentLine=31522818;
 //BA.debugLineNum = 31522818;BA.debugLine="CallSub(Callback,Event&\"_UpdateComplete\")";
__c.CallSubNew(ba,__ref._callback /*Object*/ ,__ref._event /*String*/ +"_UpdateComplete");
 };
RDebugUtils.currentLine=31522820;
 //BA.debugLineNum = 31522820;BA.debugLine="End Sub";
return "";
}
public String  _extractcl(keymon.lat.medicomed.cl_appupdate __ref,String _txtrow) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "extractcl", true))
	 {return ((String) Debug.delegate(ba, "extractcl", new Object[] {_txtrow}));}
int _i = 0;
int _j1 = 0;
int _j2 = 0;
RDebugUtils.currentLine=31784960;
 //BA.debugLineNum = 31784960;BA.debugLine="Private Sub ExtractCL(TxtRow As String) As String";
RDebugUtils.currentLine=31784961;
 //BA.debugLineNum = 31784961;BA.debugLine="Dim i As Int";
_i = 0;
RDebugUtils.currentLine=31784962;
 //BA.debugLineNum = 31784962;BA.debugLine="i = TxtRow.IndexOf(\"<ChangeLog>\")";
_i = _txtrow.indexOf("<ChangeLog>");
RDebugUtils.currentLine=31784963;
 //BA.debugLineNum = 31784963;BA.debugLine="If i <> -1 Then";
if (_i!=-1) { 
RDebugUtils.currentLine=31784964;
 //BA.debugLineNum = 31784964;BA.debugLine="Dim j1 As Int = TxtRow.IndexOf(\"</ChangeLog>\")";
_j1 = _txtrow.indexOf("</ChangeLog>");
RDebugUtils.currentLine=31784965;
 //BA.debugLineNum = 31784965;BA.debugLine="If j1 = -1 Then";
if (_j1==-1) { 
RDebugUtils.currentLine=31784966;
 //BA.debugLineNum = 31784966;BA.debugLine="Dim j2 As Int = TxtRow.IndexOf(\"<FileSize>\")	'l";
_j2 = _txtrow.indexOf("<FileSize>");
RDebugUtils.currentLine=31784967;
 //BA.debugLineNum = 31784967;BA.debugLine="j1 = j2";
_j1 = _j2;
RDebugUtils.currentLine=31784968;
 //BA.debugLineNum = 31784968;BA.debugLine="If j1 < i Then j1 = -1";
if (_j1<_i) { 
_j1 = (int) (-1);};
 };
RDebugUtils.currentLine=31784970;
 //BA.debugLineNum = 31784970;BA.debugLine="If j1 <> -1 Then Return TxtRow.SubString2(i+11,j";
if (_j1!=-1) { 
if (true) return _txtrow.substring((int) (_i+11),_j1);}
else {
if (true) return _txtrow.substring((int) (_i+11));};
 }else {
RDebugUtils.currentLine=31784972;
 //BA.debugLineNum = 31784972;BA.debugLine="Return \"\"";
if (true) return "";
 };
RDebugUtils.currentLine=31784974;
 //BA.debugLineNum = 31784974;BA.debugLine="End Sub";
return "";
}
public String  _extractsz(keymon.lat.medicomed.cl_appupdate __ref,String _txtrow) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "extractsz", true))
	 {return ((String) Debug.delegate(ba, "extractsz", new Object[] {_txtrow}));}
int _i = 0;
int _j1 = 0;
int _j2 = 0;
String _s = "";
RDebugUtils.currentLine=31850496;
 //BA.debugLineNum = 31850496;BA.debugLine="Private Sub ExtractSZ(TxtRow As String) As String";
RDebugUtils.currentLine=31850497;
 //BA.debugLineNum = 31850497;BA.debugLine="Dim i As Int";
_i = 0;
RDebugUtils.currentLine=31850498;
 //BA.debugLineNum = 31850498;BA.debugLine="i = TxtRow.IndexOf(\"<FileSize>\")";
_i = _txtrow.indexOf("<FileSize>");
RDebugUtils.currentLine=31850499;
 //BA.debugLineNum = 31850499;BA.debugLine="If i <> -1 Then";
if (_i!=-1) { 
RDebugUtils.currentLine=31850500;
 //BA.debugLineNum = 31850500;BA.debugLine="Dim j1 As Int = TxtRow.IndexOf(\"</FileSize>\")		'";
_j1 = _txtrow.indexOf("</FileSize>");
RDebugUtils.currentLine=31850501;
 //BA.debugLineNum = 31850501;BA.debugLine="If j1 = -1 Then";
if (_j1==-1) { 
RDebugUtils.currentLine=31850502;
 //BA.debugLineNum = 31850502;BA.debugLine="Dim j2 As Int = TxtRow.IndexOf(\"<ChangeLog>\")	'";
_j2 = _txtrow.indexOf("<ChangeLog>");
RDebugUtils.currentLine=31850503;
 //BA.debugLineNum = 31850503;BA.debugLine="j1 = j2";
_j1 = _j2;
RDebugUtils.currentLine=31850504;
 //BA.debugLineNum = 31850504;BA.debugLine="If j1 < i Then j1 = -1";
if (_j1<_i) { 
_j1 = (int) (-1);};
 };
RDebugUtils.currentLine=31850506;
 //BA.debugLineNum = 31850506;BA.debugLine="Dim s As String";
_s = "";
RDebugUtils.currentLine=31850507;
 //BA.debugLineNum = 31850507;BA.debugLine="If j1 <> -1 Then s = TxtRow.SubString2(i+10,j1)";
if (_j1!=-1) { 
_s = _txtrow.substring((int) (_i+10),_j1);}
else {
_s = _txtrow.substring((int) (_i+10));};
RDebugUtils.currentLine=31850508;
 //BA.debugLineNum = 31850508;BA.debugLine="s = s.Replace(CRLF,\"\")";
_s = _s.replace(__c.CRLF,"");
RDebugUtils.currentLine=31850509;
 //BA.debugLineNum = 31850509;BA.debugLine="s=s.Replace(Chr(13),\"\")";
_s = _s.replace(BA.ObjectToString(__c.Chr((int) (13))),"");
RDebugUtils.currentLine=31850510;
 //BA.debugLineNum = 31850510;BA.debugLine="Return s";
if (true) return _s;
 }else {
RDebugUtils.currentLine=31850512;
 //BA.debugLineNum = 31850512;BA.debugLine="Return \"\"";
if (true) return "";
 };
RDebugUtils.currentLine=31850514;
 //BA.debugLineNum = 31850514;BA.debugLine="End Sub";
return "";
}
public String  _extractvn(keymon.lat.medicomed.cl_appupdate __ref,String _txtrow) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "extractvn", true))
	 {return ((String) Debug.delegate(ba, "extractvn", new Object[] {_txtrow}));}
int _i = 0;
int _j1 = 0;
int _j2 = 0;
int _j = 0;
String _s = "";
RDebugUtils.currentLine=31719424;
 //BA.debugLineNum = 31719424;BA.debugLine="Private Sub ExtractVN(TxtRow As String) As String";
RDebugUtils.currentLine=31719425;
 //BA.debugLineNum = 31719425;BA.debugLine="Dim i As Int";
_i = 0;
RDebugUtils.currentLine=31719426;
 //BA.debugLineNum = 31719426;BA.debugLine="i = TxtRow.IndexOf(\"=\")";
_i = _txtrow.indexOf("=");
RDebugUtils.currentLine=31719427;
 //BA.debugLineNum = 31719427;BA.debugLine="If i <> -1 Then";
if (_i!=-1) { 
RDebugUtils.currentLine=31719428;
 //BA.debugLineNum = 31719428;BA.debugLine="Dim j1 As Int = TxtRow.IndexOf(\"<ChangeLog>\")	'l";
_j1 = _txtrow.indexOf("<ChangeLog>");
RDebugUtils.currentLine=31719429;
 //BA.debugLineNum = 31719429;BA.debugLine="Dim j2 As Int = TxtRow.IndexOf(\"<FileSize>\")	'lo";
_j2 = _txtrow.indexOf("<FileSize>");
RDebugUtils.currentLine=31719430;
 //BA.debugLineNum = 31719430;BA.debugLine="Dim j As Int = Min(j1, j2)";
_j = (int) (__c.Min(_j1,_j2));
RDebugUtils.currentLine=31719431;
 //BA.debugLineNum = 31719431;BA.debugLine="If j = -1 Then j = Max(j1,j2)";
if (_j==-1) { 
_j = (int) (__c.Max(_j1,_j2));};
RDebugUtils.currentLine=31719432;
 //BA.debugLineNum = 31719432;BA.debugLine="Dim s As String";
_s = "";
RDebugUtils.currentLine=31719433;
 //BA.debugLineNum = 31719433;BA.debugLine="If j <> - 1 Then s=TxtRow.SubString2(i+1,j) Else";
if (_j!=-1) { 
_s = _txtrow.substring((int) (_i+1),_j);}
else {
_s = _txtrow.substring((int) (_i+1));};
RDebugUtils.currentLine=31719434;
 //BA.debugLineNum = 31719434;BA.debugLine="s=s.Replace(CRLF,\"\")";
_s = _s.replace(__c.CRLF,"");
RDebugUtils.currentLine=31719435;
 //BA.debugLineNum = 31719435;BA.debugLine="s=s.Replace(Chr(13),\"\")";
_s = _s.replace(BA.ObjectToString(__c.Chr((int) (13))),"");
RDebugUtils.currentLine=31719436;
 //BA.debugLineNum = 31719436;BA.debugLine="Return s";
if (true) return _s;
 }else {
RDebugUtils.currentLine=31719438;
 //BA.debugLineNum = 31719438;BA.debugLine="Return \"\"";
if (true) return "";
 };
RDebugUtils.currentLine=31719440;
 //BA.debugLineNum = 31719440;BA.debugLine="End Sub";
return "";
}
public long  _getavailablespace(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getavailablespace", true))
	 {return ((Long) Debug.delegate(ba, "getavailablespace", null));}
RDebugUtils.currentLine=31064064;
 //BA.debugLineNum = 31064064;BA.debugLine="Public Sub GetAvailableSpace As Long";
RDebugUtils.currentLine=31064065;
 //BA.debugLineNum = 31064065;BA.debugLine="Return GetFreeSpace";
if (true) return __ref._getfreespace /*long*/ (null);
RDebugUtils.currentLine=31064066;
 //BA.debugLineNum = 31064066;BA.debugLine="End Sub";
return 0L;
}
public long  _getfreespace(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getfreespace", true))
	 {return ((Long) Debug.delegate(ba, "getfreespace", null));}
anywheresoftware.b4j.object.JavaObject _jo = null;
RDebugUtils.currentLine=31916032;
 //BA.debugLineNum = 31916032;BA.debugLine="Private Sub GetFreeSpace As Long";
RDebugUtils.currentLine=31916033;
 //BA.debugLineNum = 31916033;BA.debugLine="Dim jo As JavaObject";
_jo = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=31916034;
 //BA.debugLineNum = 31916034;BA.debugLine="jo.InitializeNewInstance(\"java.io.File\", Array(Sh";
_jo.InitializeNewInstance("java.io.File",new Object[]{(Object)(__ref._sharedfolder /*String*/ )});
RDebugUtils.currentLine=31916035;
 //BA.debugLineNum = 31916035;BA.debugLine="Return jo.RunMethod(\"getFreeSpace\", Null)";
if (true) return BA.ObjectToLongNumber(_jo.RunMethod("getFreeSpace",(Object[])(__c.Null)));
RDebugUtils.currentLine=31916036;
 //BA.debugLineNum = 31916036;BA.debugLine="End Sub";
return 0L;
}
public String  _getcurvn(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getcurvn", true))
	 {return ((String) Debug.delegate(ba, "getcurvn", null));}
RDebugUtils.currentLine=30801920;
 //BA.debugLineNum = 30801920;BA.debugLine="Public Sub getCurVN As String";
RDebugUtils.currentLine=30801921;
 //BA.debugLineNum = 30801921;BA.debugLine="Return curver";
if (true) return __ref._curver /*String*/ ;
RDebugUtils.currentLine=30801922;
 //BA.debugLineNum = 30801922;BA.debugLine="End Sub";
return "";
}
public Object  _getfileuri(keymon.lat.medicomed.cl_appupdate __ref,String _filename) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getfileuri", true))
	 {return ((Object) Debug.delegate(ba, "getfileuri", new Object[] {_filename}));}
anywheresoftware.b4j.object.JavaObject _uri = null;
anywheresoftware.b4j.object.JavaObject _f = null;
anywheresoftware.b4j.object.JavaObject _fp = null;
anywheresoftware.b4j.object.JavaObject _context = null;
RDebugUtils.currentLine=32309248;
 //BA.debugLineNum = 32309248;BA.debugLine="Private Sub GetFileUri (FileName As String) As Obj";
RDebugUtils.currentLine=32309249;
 //BA.debugLineNum = 32309249;BA.debugLine="If UseFileProvider = False Then";
if (__ref._usefileprovider /*boolean*/ ==__c.False) { 
RDebugUtils.currentLine=32309250;
 //BA.debugLineNum = 32309250;BA.debugLine="Dim uri As JavaObject";
_uri = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=32309251;
 //BA.debugLineNum = 32309251;BA.debugLine="Return uri.InitializeStatic(\"android.net.Uri\").R";
if (true) return _uri.InitializeStatic("android.net.Uri").RunMethod("parse",new Object[]{(Object)("file://"+__c.File.Combine(__ref._sharedfolder /*String*/ ,_filename))});
 }else {
RDebugUtils.currentLine=32309253;
 //BA.debugLineNum = 32309253;BA.debugLine="Dim f As JavaObject";
_f = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=32309254;
 //BA.debugLineNum = 32309254;BA.debugLine="f.InitializeNewInstance(\"java.io.File\", Array(Sh";
_f.InitializeNewInstance("java.io.File",new Object[]{(Object)(__ref._sharedfolder /*String*/ ),(Object)(_filename)});
RDebugUtils.currentLine=32309255;
 //BA.debugLineNum = 32309255;BA.debugLine="Dim fp As JavaObject";
_fp = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=32309256;
 //BA.debugLineNum = 32309256;BA.debugLine="Dim context As JavaObject";
_context = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=32309257;
 //BA.debugLineNum = 32309257;BA.debugLine="context.InitializeContext";
_context.InitializeContext(ba);
RDebugUtils.currentLine=32309258;
 //BA.debugLineNum = 32309258;BA.debugLine="fp.InitializeStatic(\"android.support.v4.content.";
_fp.InitializeStatic("androidx.core.content.FileProvider");
RDebugUtils.currentLine=32309259;
 //BA.debugLineNum = 32309259;BA.debugLine="Return fp.RunMethod(\"getUriForFile\", Array(conte";
if (true) return _fp.RunMethod("getUriForFile",new Object[]{(Object)(_context.getObject()),(Object)(__c.Application.getPackageName()+".provider"),(Object)(_f.getObject())});
 };
RDebugUtils.currentLine=32309261;
 //BA.debugLineNum = 32309261;BA.debugLine="End Sub";
return null;
}
public String  _getnmappinst(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getnmappinst", true))
	 {return ((String) Debug.delegate(ba, "getnmappinst", null));}
anywheresoftware.b4j.object.JavaObject _jo = null;
anywheresoftware.b4j.object.JavaObject _context = null;
anywheresoftware.b4j.object.JavaObject _resolver = null;
RDebugUtils.currentLine=32047104;
 //BA.debugLineNum = 32047104;BA.debugLine="Private Sub GetNMAppInst As String";
RDebugUtils.currentLine=32047105;
 //BA.debugLineNum = 32047105;BA.debugLine="Dim jo As JavaObject";
_jo = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=32047106;
 //BA.debugLineNum = 32047106;BA.debugLine="jo.InitializeStatic(\"android.provider.Settings.Se";
_jo.InitializeStatic("android.provider.Settings.Secure");
RDebugUtils.currentLine=32047107;
 //BA.debugLineNum = 32047107;BA.debugLine="Dim context As JavaObject";
_context = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=32047108;
 //BA.debugLineNum = 32047108;BA.debugLine="context.InitializeContext";
_context.InitializeContext(ba);
RDebugUtils.currentLine=32047109;
 //BA.debugLineNum = 32047109;BA.debugLine="Dim resolver As JavaObject = context.RunMethod(\"g";
_resolver = new anywheresoftware.b4j.object.JavaObject();
_resolver = (anywheresoftware.b4j.object.JavaObject) anywheresoftware.b4a.AbsObjectWrapper.ConvertToWrapper(new anywheresoftware.b4j.object.JavaObject(), (java.lang.Object)(_context.RunMethod("getContentResolver",(Object[])(__c.Null))));
RDebugUtils.currentLine=32047110;
 //BA.debugLineNum = 32047110;BA.debugLine="Return jo.RunMethod(\"getString\", Array(resolver,";
if (true) return BA.ObjectToString(_jo.RunMethod("getString",new Object[]{(Object)(_resolver.getObject()),(Object)("install_non_market_apps")}));
RDebugUtils.currentLine=32047111;
 //BA.debugLineNum = 32047111;BA.debugLine="End Sub";
return "";
}
public String  _getpackagename(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getpackagename", true))
	 {return ((String) Debug.delegate(ba, "getpackagename", null));}
RDebugUtils.currentLine=30408704;
 //BA.debugLineNum = 30408704;BA.debugLine="Public Sub getPackageName As String";
RDebugUtils.currentLine=30408705;
 //BA.debugLineNum = 30408705;BA.debugLine="Return sPackageName";
if (true) return __ref._spackagename /*String*/ ;
RDebugUtils.currentLine=30408706;
 //BA.debugLineNum = 30408706;BA.debugLine="End Sub";
return "";
}
public int  _getsdkversion(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getsdkversion", true))
	 {return ((Integer) Debug.delegate(ba, "getsdkversion", null));}
anywheresoftware.b4j.object.JavaObject _jo = null;
RDebugUtils.currentLine=31981568;
 //BA.debugLineNum = 31981568;BA.debugLine="Private Sub GetSDKVersion As Int";
RDebugUtils.currentLine=31981569;
 //BA.debugLineNum = 31981569;BA.debugLine="Dim jo As JavaObject";
_jo = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=31981570;
 //BA.debugLineNum = 31981570;BA.debugLine="jo.InitializeStatic(\"android.os.Build.VERSION\")";
_jo.InitializeStatic("android.os.Build.VERSION");
RDebugUtils.currentLine=31981571;
 //BA.debugLineNum = 31981571;BA.debugLine="Return jo.GetField(\"SDK_INT\")";
if (true) return (int)(BA.ObjectToNumber(_jo.GetField("SDK_INT")));
RDebugUtils.currentLine=31981572;
 //BA.debugLineNum = 31981572;BA.debugLine="End Sub";
return 0;
}
public int  _getstatus(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getstatus", true))
	 {return ((Integer) Debug.delegate(ba, "getstatus", null));}
RDebugUtils.currentLine=30736384;
 //BA.debugLineNum = 30736384;BA.debugLine="Public Sub getStatus As Int";
RDebugUtils.currentLine=30736385;
 //BA.debugLineNum = 30736385;BA.debugLine="Return sStatusCode";
if (true) return __ref._sstatuscode /*int*/ ;
RDebugUtils.currentLine=30736386;
 //BA.debugLineNum = 30736386;BA.debugLine="End Sub";
return 0;
}
public String  _getwebchangelog(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getwebchangelog", true))
	 {return ((String) Debug.delegate(ba, "getwebchangelog", null));}
RDebugUtils.currentLine=30932992;
 //BA.debugLineNum = 30932992;BA.debugLine="Public Sub getWebChangeLog As String";
RDebugUtils.currentLine=30932993;
 //BA.debugLineNum = 30932993;BA.debugLine="Return webclog";
if (true) return __ref._webclog /*String*/ ;
RDebugUtils.currentLine=30932994;
 //BA.debugLineNum = 30932994;BA.debugLine="End Sub";
return "";
}
public String  _getwebfilesize(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getwebfilesize", true))
	 {return ((String) Debug.delegate(ba, "getwebfilesize", null));}
RDebugUtils.currentLine=30998528;
 //BA.debugLineNum = 30998528;BA.debugLine="Public Sub getWebFileSize As String";
RDebugUtils.currentLine=30998529;
 //BA.debugLineNum = 30998529;BA.debugLine="Return webfsize";
if (true) return __ref._webfsize /*String*/ ;
RDebugUtils.currentLine=30998530;
 //BA.debugLineNum = 30998530;BA.debugLine="End Sub";
return "";
}
public String  _getwebvn(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "getwebvn", true))
	 {return ((String) Debug.delegate(ba, "getwebvn", null));}
RDebugUtils.currentLine=30867456;
 //BA.debugLineNum = 30867456;BA.debugLine="Public Sub getWebVN As String";
RDebugUtils.currentLine=30867457;
 //BA.debugLineNum = 30867457;BA.debugLine="Return webver";
if (true) return __ref._webver /*String*/ ;
RDebugUtils.currentLine=30867458;
 //BA.debugLineNum = 30867458;BA.debugLine="End Sub";
return "";
}
public String  _initialize(keymon.lat.medicomed.cl_appupdate __ref,anywheresoftware.b4a.BA _ba,Object _callbackmodule,String _eventname) throws Exception{
__ref = this;
innerInitialize(_ba);
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "initialize", true))
	 {return ((String) Debug.delegate(ba, "initialize", new Object[] {_ba,_callbackmodule,_eventname}));}
anywheresoftware.b4a.phone.Phone _p = null;
RDebugUtils.currentLine=30277632;
 //BA.debugLineNum = 30277632;BA.debugLine="Public Sub Initialize(CallbackModule As Object, Ev";
RDebugUtils.currentLine=30277633;
 //BA.debugLineNum = 30277633;BA.debugLine="Callback = CallbackModule";
__ref._callback /*Object*/  = _callbackmodule;
RDebugUtils.currentLine=30277634;
 //BA.debugLineNum = 30277634;BA.debugLine="Event = EventName";
__ref._event /*String*/  = _eventname;
RDebugUtils.currentLine=30277635;
 //BA.debugLineNum = 30277635;BA.debugLine="sPackageName = \"\"";
__ref._spackagename /*String*/  = "";
RDebugUtils.currentLine=30277636;
 //BA.debugLineNum = 30277636;BA.debugLine="sNewVerTxt = \"\"";
__ref._snewvertxt /*String*/  = "";
RDebugUtils.currentLine=30277637;
 //BA.debugLineNum = 30277637;BA.debugLine="sNewVerApk = \"\"";
__ref._snewverapk /*String*/  = "";
RDebugUtils.currentLine=30277638;
 //BA.debugLineNum = 30277638;BA.debugLine="sUserName = \"\"";
__ref._susername /*String*/  = "";
RDebugUtils.currentLine=30277639;
 //BA.debugLineNum = 30277639;BA.debugLine="sUPassword = \"\"";
__ref._supassword /*String*/  = "";
RDebugUtils.currentLine=30277640;
 //BA.debugLineNum = 30277640;BA.debugLine="sStatusCode = OK_INIT";
__ref._sstatuscode /*int*/  = __ref._ok_init /*int*/ ;
RDebugUtils.currentLine=30277641;
 //BA.debugLineNum = 30277641;BA.debugLine="curver = \"\"";
__ref._curver /*String*/  = "";
RDebugUtils.currentLine=30277642;
 //BA.debugLineNum = 30277642;BA.debugLine="webver = \"\"";
__ref._webver /*String*/  = "";
RDebugUtils.currentLine=30277643;
 //BA.debugLineNum = 30277643;BA.debugLine="sVerbose = False";
__ref._sverbose /*boolean*/  = __c.False;
RDebugUtils.currentLine=30277644;
 //BA.debugLineNum = 30277644;BA.debugLine="Dim p As Phone";
_p = new anywheresoftware.b4a.phone.Phone();
RDebugUtils.currentLine=30277645;
 //BA.debugLineNum = 30277645;BA.debugLine="If p.SdkVersion >= 24 Or File.ExternalWritable =";
if (_p.getSdkVersion()>=24 || __c.File.getExternalWritable()==__c.False) { 
RDebugUtils.currentLine=30277646;
 //BA.debugLineNum = 30277646;BA.debugLine="UseFileProvider = True";
__ref._usefileprovider /*boolean*/  = __c.True;
RDebugUtils.currentLine=30277647;
 //BA.debugLineNum = 30277647;BA.debugLine="SharedFolder = File.Combine(File.DirInternal, \"s";
__ref._sharedfolder /*String*/  = __c.File.Combine(__c.File.getDirInternal(),"shared");
RDebugUtils.currentLine=30277648;
 //BA.debugLineNum = 30277648;BA.debugLine="File.MakeDir(\"\", SharedFolder)";
__c.File.MakeDir("",__ref._sharedfolder /*String*/ );
 }else {
RDebugUtils.currentLine=30277650;
 //BA.debugLineNum = 30277650;BA.debugLine="UseFileProvider = False";
__ref._usefileprovider /*boolean*/  = __c.False;
RDebugUtils.currentLine=30277651;
 //BA.debugLineNum = 30277651;BA.debugLine="SharedFolder = rp.GetSafeDirDefaultExternal(\"sha";
__ref._sharedfolder /*String*/  = __ref._rp /*anywheresoftware.b4a.objects.RuntimePermissions*/ .GetSafeDirDefaultExternal("shared");
 };
RDebugUtils.currentLine=30277653;
 //BA.debugLineNum = 30277653;BA.debugLine="Log($\"SDK#: ${p.SdkVersion} - UseFP: ${UseFilePro";
__c.LogImpl("930277653",("SDK#: "+__c.SmartStringFormatter("",(Object)(_p.getSdkVersion()))+" - UseFP: "+__c.SmartStringFormatter("",(Object)(__ref._usefileprovider /*boolean*/ ))+" - SharedFolder: "+__c.SmartStringFormatter("",(Object)(__ref._sharedfolder /*String*/ ))+""),0);
RDebugUtils.currentLine=30277654;
 //BA.debugLineNum = 30277654;BA.debugLine="End Sub";
return "";
}
public String  _installapk(keymon.lat.medicomed.cl_appupdate __ref,boolean _pstatus) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "installapk", true))
	 {return ((String) Debug.delegate(ba, "installapk", new Object[] {_pstatus}));}
RDebugUtils.currentLine=31326208;
 //BA.debugLineNum = 31326208;BA.debugLine="Public Sub InstallApk(pstatus As Boolean)";
RDebugUtils.currentLine=31326209;
 //BA.debugLineNum = 31326209;BA.debugLine="LogColor(\"---- AppUpdating.InstallApk\", LogColor1";
__c.LogImpl("931326209","---- AppUpdating.InstallApk",__ref._logcolor1 /*int*/ );
RDebugUtils.currentLine=31326210;
 //BA.debugLineNum = 31326210;BA.debugLine="If pstatus Then";
if (_pstatus) { 
RDebugUtils.currentLine=31326211;
 //BA.debugLineNum = 31326211;BA.debugLine="SendInstallIntent";
__ref._sendinstallintent /*String*/ (null);
RDebugUtils.currentLine=31326212;
 //BA.debugLineNum = 31326212;BA.debugLine="sStatusCode = OK_INSTALL";
__ref._sstatuscode /*int*/  = __ref._ok_install /*int*/ ;
RDebugUtils.currentLine=31326213;
 //BA.debugLineNum = 31326213;BA.debugLine="If sVerbose Then Log(TAB & \"user asked to instal";
if (__ref._sverbose /*boolean*/ ) { 
__c.LogImpl("931326213",__c.TAB+"user asked to install new apk",0);};
 }else {
RDebugUtils.currentLine=31326215;
 //BA.debugLineNum = 31326215;BA.debugLine="sStatusCode = ERR_NOPERM";
__ref._sstatuscode /*int*/  = __ref._err_noperm /*int*/ ;
RDebugUtils.currentLine=31326216;
 //BA.debugLineNum = 31326216;BA.debugLine="If sVerbose Then Log(TAB & \"no permissions from";
if (__ref._sverbose /*boolean*/ ) { 
__c.LogImpl("931326216",__c.TAB+"no permissions from user to install new apk",0);};
 };
RDebugUtils.currentLine=31326218;
 //BA.debugLineNum = 31326218;BA.debugLine="Finito";
__ref._finito /*String*/ (null);
RDebugUtils.currentLine=31326219;
 //BA.debugLineNum = 31326219;BA.debugLine="End Sub";
return "";
}
public String  _sendinstallintent(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "sendinstallintent", true))
	 {return ((String) Debug.delegate(ba, "sendinstallintent", null));}
String _apkname = "";
anywheresoftware.b4a.objects.IntentWrapper _i = null;
RDebugUtils.currentLine=32243712;
 //BA.debugLineNum = 32243712;BA.debugLine="Private Sub SendInstallIntent";
RDebugUtils.currentLine=32243713;
 //BA.debugLineNum = 32243713;BA.debugLine="Dim ApkName As String = \"tmp.apk\"";
_apkname = "tmp.apk";
RDebugUtils.currentLine=32243714;
 //BA.debugLineNum = 32243714;BA.debugLine="Dim i As Intent";
_i = new anywheresoftware.b4a.objects.IntentWrapper();
RDebugUtils.currentLine=32243715;
 //BA.debugLineNum = 32243715;BA.debugLine="If phone.SdkVersion >= 24 Then													'Nouga";
if (__ref._phone /*anywheresoftware.b4a.phone.Phone*/ .getSdkVersion()>=24) { 
RDebugUtils.currentLine=32243716;
 //BA.debugLineNum = 32243716;BA.debugLine="i.Initialize(\"android.intent.action.INSTALL_PACK";
_i.Initialize("android.intent.action.INSTALL_PACKAGE",BA.ObjectToString(__ref._getfileuri /*Object*/ (null,_apkname)));
RDebugUtils.currentLine=32243717;
 //BA.debugLineNum = 32243717;BA.debugLine="i.Flags = Bit.Or(i.Flags, 1) 'FLAG_GRANT_READ_UR";
_i.setFlags(__c.Bit.Or(_i.getFlags(),(int) (1)));
 }else {
RDebugUtils.currentLine=32243719;
 //BA.debugLineNum = 32243719;BA.debugLine="i.Initialize(i.ACTION_VIEW, \"file://\" & File.Com";
_i.Initialize(_i.ACTION_VIEW,"file://"+__c.File.Combine(__ref._sharedfolder /*String*/ ,_apkname));
RDebugUtils.currentLine=32243720;
 //BA.debugLineNum = 32243720;BA.debugLine="i.SetType(\"application/vnd.android.package-archi";
_i.SetType("application/vnd.android.package-archive");
 };
RDebugUtils.currentLine=32243722;
 //BA.debugLineNum = 32243722;BA.debugLine="StartActivity(i)";
__c.StartActivity(ba,(Object)(_i.getObject()));
RDebugUtils.currentLine=32243723;
 //BA.debugLineNum = 32243723;BA.debugLine="End Sub";
return "";
}
public boolean  _isvalidcv(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "isvalidcv", true))
	 {return ((Boolean) Debug.delegate(ba, "isvalidcv", null));}
anywheresoftware.b4a.phone.PackageManagerWrapper _pm = null;
RDebugUtils.currentLine=31588352;
 //BA.debugLineNum = 31588352;BA.debugLine="Private Sub IsValidCV As Boolean";
RDebugUtils.currentLine=31588353;
 //BA.debugLineNum = 31588353;BA.debugLine="If sPackageName = \"\" Then";
if ((__ref._spackagename /*String*/ ).equals("")) { 
RDebugUtils.currentLine=31588354;
 //BA.debugLineNum = 31588354;BA.debugLine="curver = \"\"";
__ref._curver /*String*/  = "";
RDebugUtils.currentLine=31588355;
 //BA.debugLineNum = 31588355;BA.debugLine="sStatusCode = ERR_NOPKG";
__ref._sstatuscode /*int*/  = __ref._err_nopkg /*int*/ ;
RDebugUtils.currentLine=31588356;
 //BA.debugLineNum = 31588356;BA.debugLine="If sVerbose Then Log($\"${TAB}missing package nam";
if (__ref._sverbose /*boolean*/ ) { 
__c.LogImpl("931588356",(""+__c.SmartStringFormatter("",(Object)(__c.TAB))+"missing package name for current version check"),0);};
 }else {
RDebugUtils.currentLine=31588358;
 //BA.debugLineNum = 31588358;BA.debugLine="Dim pm As PackageManager";
_pm = new anywheresoftware.b4a.phone.PackageManagerWrapper();
RDebugUtils.currentLine=31588359;
 //BA.debugLineNum = 31588359;BA.debugLine="curver = pm.GetVersionName(sPackageName)";
__ref._curver /*String*/  = _pm.GetVersionName(__ref._spackagename /*String*/ );
RDebugUtils.currentLine=31588360;
 //BA.debugLineNum = 31588360;BA.debugLine="sStatusCode = OK_CURVER 									'got current ve";
__ref._sstatuscode /*int*/  = __ref._ok_curver /*int*/ ;
RDebugUtils.currentLine=31588361;
 //BA.debugLineNum = 31588361;BA.debugLine="If sVerbose Then Log($\"${TAB}Current Version: ${";
if (__ref._sverbose /*boolean*/ ) { 
__c.LogImpl("931588361",(""+__c.SmartStringFormatter("",(Object)(__c.TAB))+"Current Version: "+__c.SmartStringFormatter("",(Object)(__ref._curver /*String*/ ))+""),0);};
 };
RDebugUtils.currentLine=31588363;
 //BA.debugLineNum = 31588363;BA.debugLine="Return (sStatusCode == OK_CURVER)";
if (true) return (__ref._sstatuscode /*int*/ ==__ref._ok_curver /*int*/ );
RDebugUtils.currentLine=31588364;
 //BA.debugLineNum = 31588364;BA.debugLine="End Sub";
return false;
}
public anywheresoftware.b4a.keywords.Common.ResumableSubWrapper  _isvalidwv(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "isvalidwv", true))
	 {return ((anywheresoftware.b4a.keywords.Common.ResumableSubWrapper) Debug.delegate(ba, "isvalidwv", null));}
ResumableSub_IsvalidWV rsub = new ResumableSub_IsvalidWV(this,__ref);
rsub.resume(ba, null);
return (anywheresoftware.b4a.keywords.Common.ResumableSubWrapper) anywheresoftware.b4a.AbsObjectWrapper.ConvertToWrapper(new anywheresoftware.b4a.keywords.Common.ResumableSubWrapper(), rsub);
}
public static class ResumableSub_IsvalidWV extends BA.ResumableSub {
public ResumableSub_IsvalidWV(keymon.lat.medicomed.cl_appupdate parent,keymon.lat.medicomed.cl_appupdate __ref) {
this.parent = parent;
this.__ref = __ref;
this.__ref = parent;
}
keymon.lat.medicomed.cl_appupdate __ref;
keymon.lat.medicomed.cl_appupdate parent;
keymon.lat.medicomed.httpjob _j = null;

@Override
public void resume(BA ba, Object[] result) throws Exception{
RDebugUtils.currentModule="cl_appupdate";

    while (true) {
        switch (state) {
            case -1:
{
parent.__c.ReturnFromResumableSub(this,null);return;}
case 0:
//C
this.state = 1;
RDebugUtils.currentLine=31653889;
 //BA.debugLineNum = 31653889;BA.debugLine="Log(\"IsValidComplete start\")";
parent.__c.LogImpl("931653889","IsValidComplete start",0);
RDebugUtils.currentLine=31653890;
 //BA.debugLineNum = 31653890;BA.debugLine="If sNewVerTxt = \"\" Then";
if (true) break;

case 1:
//if
this.state = 60;
if ((__ref._snewvertxt /*String*/ ).equals("")) { 
this.state = 3;
}else {
this.state = 11;
}if (true) break;

case 3:
//C
this.state = 4;
RDebugUtils.currentLine=31653891;
 //BA.debugLineNum = 31653891;BA.debugLine="webver = \"\"";
__ref._webver /*String*/  = "";
RDebugUtils.currentLine=31653892;
 //BA.debugLineNum = 31653892;BA.debugLine="sStatusCode = ERR_NOTXT";
__ref._sstatuscode /*int*/  = __ref._err_notxt /*int*/ ;
RDebugUtils.currentLine=31653893;
 //BA.debugLineNum = 31653893;BA.debugLine="If sVerbose Then Log($\"${TAB}missing info file f";
if (true) break;

case 4:
//if
this.state = 9;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 6;
;}if (true) break;

case 6:
//C
this.state = 9;
parent.__c.LogImpl("931653893",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"missing info file full path indication"),0);
if (true) break;

case 9:
//C
this.state = 60;
;
 if (true) break;

case 11:
//C
this.state = 12;
RDebugUtils.currentLine=31653896;
 //BA.debugLineNum = 31653896;BA.debugLine="Dim j As HttpJob";
_j = new keymon.lat.medicomed.httpjob();
RDebugUtils.currentLine=31653897;
 //BA.debugLineNum = 31653897;BA.debugLine="j.Initialize(\"\", Me)";
_j._initialize /*String*/ (null,ba,"",parent);
RDebugUtils.currentLine=31653898;
 //BA.debugLineNum = 31653898;BA.debugLine="j.Username = sUserName";
_j._username /*String*/  = __ref._susername /*String*/ ;
RDebugUtils.currentLine=31653899;
 //BA.debugLineNum = 31653899;BA.debugLine="j.Password = sUPassword";
_j._password /*String*/  = __ref._supassword /*String*/ ;
RDebugUtils.currentLine=31653900;
 //BA.debugLineNum = 31653900;BA.debugLine="j.Download(sNewVerTxt)								'ex: jobapk.Downlo";
_j._download /*String*/ (null,__ref._snewvertxt /*String*/ );
RDebugUtils.currentLine=31653901;
 //BA.debugLineNum = 31653901;BA.debugLine="Log(\"before\")";
parent.__c.LogImpl("931653901","before",0);
RDebugUtils.currentLine=31653902;
 //BA.debugLineNum = 31653902;BA.debugLine="Wait For (j) JobDone(j As HttpJob)";
parent.__c.WaitFor("jobdone", ba, new anywheresoftware.b4a.shell.DebugResumableSub.DelegatableResumableSub(this, "cl_appupdate", "isvalidwv"), (Object)(_j));
this.state = 61;
return;
case 61:
//C
this.state = 12;
_j = (keymon.lat.medicomed.httpjob) result[1];
;
RDebugUtils.currentLine=31653903;
 //BA.debugLineNum = 31653903;BA.debugLine="Log(\"after\")";
parent.__c.LogImpl("931653903","after",0);
RDebugUtils.currentLine=31653904;
 //BA.debugLineNum = 31653904;BA.debugLine="If j.Success Then";
if (true) break;

case 12:
//if
this.state = 59;
if (_j._success /*boolean*/ ) { 
this.state = 14;
}else {
this.state = 52;
}if (true) break;

case 14:
//C
this.state = 15;
RDebugUtils.currentLine=31653905;
 //BA.debugLineNum = 31653905;BA.debugLine="If sVerbose Then Log($\"Webserver's info file co";
if (true) break;

case 15:
//if
this.state = 20;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 17;
;}if (true) break;

case 17:
//C
this.state = 20;
parent.__c.LogImpl("931653905",("Webserver's info file content: "+parent.__c.SmartStringFormatter("",(Object)(parent.__c.CRLF))+""+parent.__c.SmartStringFormatter("",(Object)(_j._getstring /*String*/ (null)))+""),0);
if (true) break;

case 20:
//C
this.state = 21;
;
RDebugUtils.currentLine=31653906;
 //BA.debugLineNum = 31653906;BA.debugLine="If Not(J.GetString.Contains(\"<!DOCTYPE html>\"))";
if (true) break;

case 21:
//if
this.state = 50;
if (parent.__c.Not(_j._getstring /*String*/ (null).contains("<!DOCTYPE html>"))) { 
this.state = 23;
}else {
this.state = 43;
}if (true) break;

case 23:
//C
this.state = 24;
RDebugUtils.currentLine=31653907;
 //BA.debugLineNum = 31653907;BA.debugLine="webver = ExtractVN(J.GetString)";
__ref._webver /*String*/  = __ref._extractvn /*String*/ (null,_j._getstring /*String*/ (null));
RDebugUtils.currentLine=31653908;
 //BA.debugLineNum = 31653908;BA.debugLine="webclog = ExtractCL(J.GetString)					'optional";
__ref._webclog /*String*/  = __ref._extractcl /*String*/ (null,_j._getstring /*String*/ (null));
RDebugUtils.currentLine=31653909;
 //BA.debugLineNum = 31653909;BA.debugLine="webfsize = ExtractSZ(J.GetString)					'optiona";
__ref._webfsize /*String*/  = __ref._extractsz /*String*/ (null,_j._getstring /*String*/ (null));
RDebugUtils.currentLine=31653910;
 //BA.debugLineNum = 31653910;BA.debugLine="If webver = \"\" Then";
if (true) break;

case 24:
//if
this.state = 41;
if ((__ref._webver /*String*/ ).equals("")) { 
this.state = 26;
}else {
this.state = 34;
}if (true) break;

case 26:
//C
this.state = 27;
RDebugUtils.currentLine=31653911;
 //BA.debugLineNum = 31653911;BA.debugLine="sStatusCode = ERR_TXTROW";
__ref._sstatuscode /*int*/  = __ref._err_txtrow /*int*/ ;
RDebugUtils.currentLine=31653912;
 //BA.debugLineNum = 31653912;BA.debugLine="If sVerbose Then Log($\"${TAB}wrong row format";
if (true) break;

case 27:
//if
this.state = 32;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 29;
;}if (true) break;

case 29:
//C
this.state = 32;
parent.__c.LogImpl("931653912",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"wrong row format in info file "),0);
if (true) break;

case 32:
//C
this.state = 41;
;
 if (true) break;

case 34:
//C
this.state = 35;
RDebugUtils.currentLine=31653914;
 //BA.debugLineNum = 31653914;BA.debugLine="sStatusCode = OK_WEBVER							'read apk's ver";
__ref._sstatuscode /*int*/  = __ref._ok_webver /*int*/ ;
RDebugUtils.currentLine=31653915;
 //BA.debugLineNum = 31653915;BA.debugLine="If sVerbose Then Log($\"${TAB}Web version numb";
if (true) break;

case 35:
//if
this.state = 40;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 37;
;}if (true) break;

case 37:
//C
this.state = 40;
parent.__c.LogImpl("931653915",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"Web version number: "+parent.__c.SmartStringFormatter("",(Object)(__ref._webver /*String*/ ))+""),0);
if (true) break;

case 40:
//C
this.state = 41;
;
 if (true) break;

case 41:
//C
this.state = 50;
;
 if (true) break;

case 43:
//C
this.state = 44;
RDebugUtils.currentLine=31653918;
 //BA.debugLineNum = 31653918;BA.debugLine="sStatusCode = ERR_HTML								'website returne";
__ref._sstatuscode /*int*/  = __ref._err_html /*int*/ ;
RDebugUtils.currentLine=31653919;
 //BA.debugLineNum = 31653919;BA.debugLine="If sVerbose Then Log($\"${TAB}ERROR: website re";
if (true) break;

case 44:
//if
this.state = 49;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 46;
;}if (true) break;

case 46:
//C
this.state = 49;
parent.__c.LogImpl("931653919",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"ERROR: website returned an HTML error page"),0);
if (true) break;

case 49:
//C
this.state = 50;
;
 if (true) break;

case 50:
//C
this.state = 59;
;
 if (true) break;

case 52:
//C
this.state = 53;
RDebugUtils.currentLine=31653922;
 //BA.debugLineNum = 31653922;BA.debugLine="Log($\"${TAB}Error: ${J.ErrorMessage}\"$)";
parent.__c.LogImpl("931653922",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"Error: "+parent.__c.SmartStringFormatter("",(Object)(_j._errormessage /*String*/ ))+""),0);
RDebugUtils.currentLine=31653923;
 //BA.debugLineNum = 31653923;BA.debugLine="sStatusCode = ERR_HTTP";
__ref._sstatuscode /*int*/  = __ref._err_http /*int*/ ;
RDebugUtils.currentLine=31653924;
 //BA.debugLineNum = 31653924;BA.debugLine="If sVerbose Then Log($\"${TAB}error in httputils";
if (true) break;

case 53:
//if
this.state = 58;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 55;
;}if (true) break;

case 55:
//C
this.state = 58;
parent.__c.LogImpl("931653924",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"error in httputils2"),0);
if (true) break;

case 58:
//C
this.state = 59;
;
RDebugUtils.currentLine=31653925;
 //BA.debugLineNum = 31653925;BA.debugLine="ToastMessageShow(\"Error: \" & J.ErrorMessage, Tr";
parent.__c.ToastMessageShow(BA.ObjectToCharSequence("Error: "+_j._errormessage /*String*/ ),parent.__c.True);
 if (true) break;

case 59:
//C
this.state = 60;
;
RDebugUtils.currentLine=31653927;
 //BA.debugLineNum = 31653927;BA.debugLine="j.Release";
_j._release /*String*/ (null);
 if (true) break;

case 60:
//C
this.state = -1;
;
RDebugUtils.currentLine=31653929;
 //BA.debugLineNum = 31653929;BA.debugLine="Return (sStatusCode == OK_WEBVER)";
if (true) {
parent.__c.ReturnFromResumableSub(this,(Object)((__ref._sstatuscode /*int*/ ==__ref._ok_webver /*int*/ )));return;};
RDebugUtils.currentLine=31653930;
 //BA.debugLineNum = 31653930;BA.debugLine="End Sub";
if (true) break;

            }
        }
    }
}
public String  _readcurvn(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "readcurvn", true))
	 {return ((String) Debug.delegate(ba, "readcurvn", null));}
RDebugUtils.currentLine=31129600;
 //BA.debugLineNum = 31129600;BA.debugLine="Public Sub ReadCurVN";
RDebugUtils.currentLine=31129601;
 //BA.debugLineNum = 31129601;BA.debugLine="LogColor(\"---- AppUpdating.ReadCurVN\", LogColor1)";
__c.LogImpl("931129601","---- AppUpdating.ReadCurVN",__ref._logcolor1 /*int*/ );
RDebugUtils.currentLine=31129602;
 //BA.debugLineNum = 31129602;BA.debugLine="IsValidCV											'we don't care about its resu";
__ref._isvalidcv /*boolean*/ (null);
RDebugUtils.currentLine=31129603;
 //BA.debugLineNum = 31129603;BA.debugLine="Finito";
__ref._finito /*String*/ (null);
RDebugUtils.currentLine=31129604;
 //BA.debugLineNum = 31129604;BA.debugLine="End Sub";
return "";
}
public void  _readwebvn(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "readwebvn", true))
	 {Debug.delegate(ba, "readwebvn", null); return;}
ResumableSub_ReadWebVN rsub = new ResumableSub_ReadWebVN(this,__ref);
rsub.resume(ba, null);
}
public static class ResumableSub_ReadWebVN extends BA.ResumableSub {
public ResumableSub_ReadWebVN(keymon.lat.medicomed.cl_appupdate parent,keymon.lat.medicomed.cl_appupdate __ref) {
this.parent = parent;
this.__ref = __ref;
this.__ref = parent;
}
keymon.lat.medicomed.cl_appupdate __ref;
keymon.lat.medicomed.cl_appupdate parent;
boolean _okwebver = false;

@Override
public void resume(BA ba, Object[] result) throws Exception{
RDebugUtils.currentModule="cl_appupdate";

    while (true) {
        switch (state) {
            case -1:
return;

case 0:
//C
this.state = -1;
RDebugUtils.currentLine=31195137;
 //BA.debugLineNum = 31195137;BA.debugLine="LogColor(\"---- AppUpdating.ReadWebVN\", LogColor1)";
parent.__c.LogImpl("931195137","---- AppUpdating.ReadWebVN",__ref._logcolor1 /*int*/ );
RDebugUtils.currentLine=31195138;
 //BA.debugLineNum = 31195138;BA.debugLine="Wait For(IsvalidWV) Complete (OkWebVer As Boolean";
parent.__c.WaitFor("complete", ba, new anywheresoftware.b4a.shell.DebugResumableSub.DelegatableResumableSub(this, "cl_appupdate", "readwebvn"), __ref._isvalidwv /*anywheresoftware.b4a.keywords.Common.ResumableSubWrapper*/ (null));
this.state = 1;
return;
case 1:
//C
this.state = -1;
_okwebver = (Boolean) result[1];
;
RDebugUtils.currentLine=31195139;
 //BA.debugLineNum = 31195139;BA.debugLine="Finito";
__ref._finito /*String*/ (null);
RDebugUtils.currentLine=31195140;
 //BA.debugLineNum = 31195140;BA.debugLine="End Sub";
if (true) break;

            }
        }
    }
}
public String  _setandstartsplashscreen(keymon.lat.medicomed.cl_appupdate __ref,anywheresoftware.b4a.objects.ActivityWrapper _callingact,anywheresoftware.b4a.objects.drawable.CanvasWrapper.BitmapWrapper _bm) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "setandstartsplashscreen", true))
	 {return ((String) Debug.delegate(ba, "setandstartsplashscreen", new Object[] {_callingact,_bm}));}
anywheresoftware.b4a.objects.drawable.BitmapDrawable _bitimage = null;
RDebugUtils.currentLine=32440320;
 //BA.debugLineNum = 32440320;BA.debugLine="Public Sub SetAndStartSplashScreen(CallingAct As A";
RDebugUtils.currentLine=32440321;
 //BA.debugLineNum = 32440321;BA.debugLine="If BM.IsInitialized Then";
if (_bm.IsInitialized()) { 
RDebugUtils.currentLine=32440322;
 //BA.debugLineNum = 32440322;BA.debugLine="pnlSplash.Initialize(\"pnl1\")";
__ref._pnlsplash /*anywheresoftware.b4a.objects.PanelWrapper*/ .Initialize(ba,"pnl1");
RDebugUtils.currentLine=32440323;
 //BA.debugLineNum = 32440323;BA.debugLine="pnlSplash.Tag = \"splash\"";
__ref._pnlsplash /*anywheresoftware.b4a.objects.PanelWrapper*/ .setTag((Object)("splash"));
RDebugUtils.currentLine=32440324;
 //BA.debugLineNum = 32440324;BA.debugLine="Dim BitImage As BitmapDrawable";
_bitimage = new anywheresoftware.b4a.objects.drawable.BitmapDrawable();
RDebugUtils.currentLine=32440325;
 //BA.debugLineNum = 32440325;BA.debugLine="BitImage.Initialize(BM)";
_bitimage.Initialize((android.graphics.Bitmap)(_bm.getObject()));
RDebugUtils.currentLine=32440326;
 //BA.debugLineNum = 32440326;BA.debugLine="BitImage.Gravity = Gravity.FILL";
_bitimage.setGravity(__c.Gravity.FILL);
RDebugUtils.currentLine=32440327;
 //BA.debugLineNum = 32440327;BA.debugLine="CallingAct.AddView(pnlSplash, 0, 0, CallingAct.W";
_callingact.AddView((android.view.View)(__ref._pnlsplash /*anywheresoftware.b4a.objects.PanelWrapper*/ .getObject()),(int) (0),(int) (0),_callingact.getWidth(),_callingact.getHeight());
RDebugUtils.currentLine=32440328;
 //BA.debugLineNum = 32440328;BA.debugLine="pnlSplash.Background = BitImage";
__ref._pnlsplash /*anywheresoftware.b4a.objects.PanelWrapper*/ .setBackground((android.graphics.drawable.Drawable)(_bitimage.getObject()));
RDebugUtils.currentLine=32440329;
 //BA.debugLineNum = 32440329;BA.debugLine="pnlSplash.BringToFront";
__ref._pnlsplash /*anywheresoftware.b4a.objects.PanelWrapper*/ .BringToFront();
RDebugUtils.currentLine=32440330;
 //BA.debugLineNum = 32440330;BA.debugLine="SplashShowing = True";
__ref._splashshowing /*boolean*/  = __c.True;
 };
RDebugUtils.currentLine=32440332;
 //BA.debugLineNum = 32440332;BA.debugLine="End Sub";
return "";
}
public String  _setcredentials(keymon.lat.medicomed.cl_appupdate __ref,String _usern,String _userp) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "setcredentials", true))
	 {return ((String) Debug.delegate(ba, "setcredentials", new Object[] {_usern,_userp}));}
RDebugUtils.currentLine=30605312;
 //BA.debugLineNum = 30605312;BA.debugLine="Public Sub setCredentials(UserN As String, UserP A";
RDebugUtils.currentLine=30605313;
 //BA.debugLineNum = 30605313;BA.debugLine="sUserName = UserN";
__ref._susername /*String*/  = _usern;
RDebugUtils.currentLine=30605314;
 //BA.debugLineNum = 30605314;BA.debugLine="sUPassword = UserP";
__ref._supassword /*String*/  = _userp;
RDebugUtils.currentLine=30605315;
 //BA.debugLineNum = 30605315;BA.debugLine="End Sub";
return "";
}
public String  _setfileuriasintentdata(keymon.lat.medicomed.cl_appupdate __ref,anywheresoftware.b4a.objects.IntentWrapper _intent,String _filename) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "setfileuriasintentdata", true))
	 {return ((String) Debug.delegate(ba, "setfileuriasintentdata", new Object[] {_intent,_filename}));}
anywheresoftware.b4j.object.JavaObject _jo = null;
RDebugUtils.currentLine=32374784;
 //BA.debugLineNum = 32374784;BA.debugLine="Private Sub SetFileUriAsIntentData (Intent As Inte";
RDebugUtils.currentLine=32374785;
 //BA.debugLineNum = 32374785;BA.debugLine="Dim jo As JavaObject = Intent";
_jo = new anywheresoftware.b4j.object.JavaObject();
_jo = (anywheresoftware.b4j.object.JavaObject) anywheresoftware.b4a.AbsObjectWrapper.ConvertToWrapper(new anywheresoftware.b4j.object.JavaObject(), (java.lang.Object)(_intent.getObject()));
RDebugUtils.currentLine=32374786;
 //BA.debugLineNum = 32374786;BA.debugLine="jo.RunMethod(\"setData\", Array(GetFileUri(FileName";
_jo.RunMethod("setData",new Object[]{__ref._getfileuri /*Object*/ (null,_filename)});
RDebugUtils.currentLine=32374787;
 //BA.debugLineNum = 32374787;BA.debugLine="Intent.Flags = Bit.Or(Intent.Flags, 1) 'FLAG_GRAN";
_intent.setFlags(__c.Bit.Or(_intent.getFlags(),(int) (1)));
RDebugUtils.currentLine=32374788;
 //BA.debugLineNum = 32374788;BA.debugLine="End Sub";
return "";
}
public String  _setnewverapk(keymon.lat.medicomed.cl_appupdate __ref,String _nva) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "setnewverapk", true))
	 {return ((String) Debug.delegate(ba, "setnewverapk", new Object[] {_nva}));}
RDebugUtils.currentLine=30539776;
 //BA.debugLineNum = 30539776;BA.debugLine="Public Sub setNewVerApk(NVA As String)";
RDebugUtils.currentLine=30539777;
 //BA.debugLineNum = 30539777;BA.debugLine="sNewVerApk = NVA";
__ref._snewverapk /*String*/  = _nva;
RDebugUtils.currentLine=30539778;
 //BA.debugLineNum = 30539778;BA.debugLine="End Sub";
return "";
}
public String  _setnewvertxt(keymon.lat.medicomed.cl_appupdate __ref,String _nvt) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "setnewvertxt", true))
	 {return ((String) Debug.delegate(ba, "setnewvertxt", new Object[] {_nvt}));}
RDebugUtils.currentLine=30474240;
 //BA.debugLineNum = 30474240;BA.debugLine="Public Sub setNewVerTxt(NVT As String)";
RDebugUtils.currentLine=30474241;
 //BA.debugLineNum = 30474241;BA.debugLine="sNewVerTxt = NVT";
__ref._snewvertxt /*String*/  = _nvt;
RDebugUtils.currentLine=30474242;
 //BA.debugLineNum = 30474242;BA.debugLine="End Sub";
return "";
}
public String  _setpackagename(keymon.lat.medicomed.cl_appupdate __ref,String _pn) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "setpackagename", true))
	 {return ((String) Debug.delegate(ba, "setpackagename", new Object[] {_pn}));}
RDebugUtils.currentLine=30343168;
 //BA.debugLineNum = 30343168;BA.debugLine="Public Sub setPackageName(PN As String)";
RDebugUtils.currentLine=30343169;
 //BA.debugLineNum = 30343169;BA.debugLine="sPackageName = PN";
__ref._spackagename /*String*/  = _pn;
RDebugUtils.currentLine=30343170;
 //BA.debugLineNum = 30343170;BA.debugLine="End Sub";
return "";
}
public String  _setverbose(keymon.lat.medicomed.cl_appupdate __ref,boolean _verbose) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "setverbose", true))
	 {return ((String) Debug.delegate(ba, "setverbose", new Object[] {_verbose}));}
RDebugUtils.currentLine=30670848;
 //BA.debugLineNum = 30670848;BA.debugLine="Public Sub setVerbose(Verbose As Boolean)";
RDebugUtils.currentLine=30670849;
 //BA.debugLineNum = 30670849;BA.debugLine="sVerbose = Verbose";
__ref._sverbose /*boolean*/  = _verbose;
RDebugUtils.currentLine=30670850;
 //BA.debugLineNum = 30670850;BA.debugLine="newinst2.svcVerbose = Verbose";
_newinst2._svcverbose /*boolean*/  = _verbose;
RDebugUtils.currentLine=30670851;
 //BA.debugLineNum = 30670851;BA.debugLine="End Sub";
return "";
}
public String  _stopsplashscreen(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
__ref = this;
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "stopsplashscreen", true))
	 {return ((String) Debug.delegate(ba, "stopsplashscreen", null));}
RDebugUtils.currentLine=32505856;
 //BA.debugLineNum = 32505856;BA.debugLine="Public Sub StopSplashScreen";
RDebugUtils.currentLine=32505857;
 //BA.debugLineNum = 32505857;BA.debugLine="If SplashShowing Then";
if (__ref._splashshowing /*boolean*/ ) { 
RDebugUtils.currentLine=32505858;
 //BA.debugLineNum = 32505858;BA.debugLine="SplashShowing = False";
__ref._splashshowing /*boolean*/  = __c.False;
RDebugUtils.currentLine=32505859;
 //BA.debugLineNum = 32505859;BA.debugLine="pnlSplash.RemoveView";
__ref._pnlsplash /*anywheresoftware.b4a.objects.PanelWrapper*/ .RemoveView();
 };
RDebugUtils.currentLine=32505861;
 //BA.debugLineNum = 32505861;BA.debugLine="End Sub";
return "";
}
public void  _tryapkupdate(keymon.lat.medicomed.cl_appupdate __ref) throws Exception{
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "tryapkupdate", true))
	 {Debug.delegate(ba, "tryapkupdate", null); return;}
ResumableSub_TryApkUpdate rsub = new ResumableSub_TryApkUpdate(this,__ref);
rsub.resume(ba, null);
}
public static class ResumableSub_TryApkUpdate extends BA.ResumableSub {
public ResumableSub_TryApkUpdate(keymon.lat.medicomed.cl_appupdate parent,keymon.lat.medicomed.cl_appupdate __ref) {
this.parent = parent;
this.__ref = __ref;
this.__ref = parent;
}
keymon.lat.medicomed.cl_appupdate __ref;
keymon.lat.medicomed.cl_appupdate parent;
keymon.lat.medicomed.httpjob _j = null;
anywheresoftware.b4a.objects.streams.File.OutputStreamWrapper _out = null;

@Override
public void resume(BA ba, Object[] result) throws Exception{
RDebugUtils.currentModule="cl_appupdate";

    while (true) {
try {

        switch (state) {
            case -1:
return;

case 0:
//C
this.state = 1;
RDebugUtils.currentLine=31457281;
 //BA.debugLineNum = 31457281;BA.debugLine="LogColor($\"${TAB}-- TryApkUpdate\"$, LogColor1)";
parent.__c.LogImpl("931457281",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"-- TryApkUpdate"),__ref._logcolor1 /*int*/ );
RDebugUtils.currentLine=31457283;
 //BA.debugLineNum = 31457283;BA.debugLine="If ((sStatusCode >= 0) And (sStatusCode <> NO_NEW";
if (true) break;

case 1:
//if
this.state = 44;
if (((__ref._sstatuscode /*int*/ >=0) && (__ref._sstatuscode /*int*/ !=__ref._no_newerapk /*int*/ ))) { 
this.state = 3;
}if (true) break;

case 3:
//C
this.state = 4;
RDebugUtils.currentLine=31457285;
 //BA.debugLineNum = 31457285;BA.debugLine="Dim j As HttpJob";
_j = new keymon.lat.medicomed.httpjob();
RDebugUtils.currentLine=31457286;
 //BA.debugLineNum = 31457286;BA.debugLine="j.Initialize(\"\", Me)";
_j._initialize /*String*/ (null,ba,"",parent);
RDebugUtils.currentLine=31457287;
 //BA.debugLineNum = 31457287;BA.debugLine="j.Username = sUserName";
_j._username /*String*/  = __ref._susername /*String*/ ;
RDebugUtils.currentLine=31457288;
 //BA.debugLineNum = 31457288;BA.debugLine="j.Password = sUPassword";
_j._password /*String*/  = __ref._supassword /*String*/ ;
RDebugUtils.currentLine=31457289;
 //BA.debugLineNum = 31457289;BA.debugLine="j.Download(sNewVerApk)								'ex: jobapk.Downlo";
_j._download /*String*/ (null,__ref._snewverapk /*String*/ );
RDebugUtils.currentLine=31457290;
 //BA.debugLineNum = 31457290;BA.debugLine="Wait For (j) JobDone(j As HttpJob)";
parent.__c.WaitFor("jobdone", ba, new anywheresoftware.b4a.shell.DebugResumableSub.DelegatableResumableSub(this, "cl_appupdate", "tryapkupdate"), (Object)(_j));
this.state = 45;
return;
case 45:
//C
this.state = 4;
_j = (keymon.lat.medicomed.httpjob) result[1];
;
RDebugUtils.currentLine=31457291;
 //BA.debugLineNum = 31457291;BA.debugLine="Log($\"Donload ok? ${j.Success}\"$)";
parent.__c.LogImpl("931457291",("Donload ok? "+parent.__c.SmartStringFormatter("",(Object)(_j._success /*boolean*/ ))+""),0);
RDebugUtils.currentLine=31457292;
 //BA.debugLineNum = 31457292;BA.debugLine="If j.Success Then";
if (true) break;

case 4:
//if
this.state = 33;
if (_j._success /*boolean*/ ) { 
this.state = 6;
}else {
this.state = 26;
}if (true) break;

case 6:
//C
this.state = 7;
RDebugUtils.currentLine=31457293;
 //BA.debugLineNum = 31457293;BA.debugLine="Try";
if (true) break;

case 7:
//try
this.state = 24;
this.catchState = 17;
this.state = 9;
if (true) break;

case 9:
//C
this.state = 10;
this.catchState = 17;
RDebugUtils.currentLine=31457295;
 //BA.debugLineNum = 31457295;BA.debugLine="Dim out As OutputStream";
_out = new anywheresoftware.b4a.objects.streams.File.OutputStreamWrapper();
RDebugUtils.currentLine=31457296;
 //BA.debugLineNum = 31457296;BA.debugLine="out = File.OpenOutput(SharedFolder,\"tmp.apk\",F";
_out = parent.__c.File.OpenOutput(__ref._sharedfolder /*String*/ ,"tmp.apk",parent.__c.False);
RDebugUtils.currentLine=31457297;
 //BA.debugLineNum = 31457297;BA.debugLine="File.Copy2(j.GetInputStream, out)";
parent.__c.File.Copy2((java.io.InputStream)(_j._getinputstream /*anywheresoftware.b4a.objects.streams.File.InputStreamWrapper*/ (null).getObject()),(java.io.OutputStream)(_out.getObject()));
RDebugUtils.currentLine=31457298;
 //BA.debugLineNum = 31457298;BA.debugLine="out.Close";
_out.Close();
RDebugUtils.currentLine=31457299;
 //BA.debugLineNum = 31457299;BA.debugLine="Log($\"Copy2 (saving) ok? TRUE\"$)";
parent.__c.LogImpl("931457299",("Copy2 (saving) ok? TRUE"),0);
RDebugUtils.currentLine=31457300;
 //BA.debugLineNum = 31457300;BA.debugLine="sStatusCode = OK_DOWNLOAD";
__ref._sstatuscode /*int*/  = __ref._ok_download /*int*/ ;
RDebugUtils.currentLine=31457301;
 //BA.debugLineNum = 31457301;BA.debugLine="If sVerbose Then Log($\"${TAB}new apk version d";
if (true) break;

case 10:
//if
this.state = 15;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 12;
;}if (true) break;

case 12:
//C
this.state = 15;
parent.__c.LogImpl("931457301",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"new apk version downloaded and ready to install"),0);
if (true) break;

case 15:
//C
this.state = 24;
;
 if (true) break;

case 17:
//C
this.state = 18;
this.catchState = 0;
RDebugUtils.currentLine=31457303;
 //BA.debugLineNum = 31457303;BA.debugLine="Log($\"Copy2 (saving) ok? FALSE\"$)";
parent.__c.LogImpl("931457303",("Copy2 (saving) ok? FALSE"),0);
RDebugUtils.currentLine=31457304;
 //BA.debugLineNum = 31457304;BA.debugLine="sStatusCode = ERR_DOWNLOAD";
__ref._sstatuscode /*int*/  = __ref._err_download /*int*/ ;
RDebugUtils.currentLine=31457305;
 //BA.debugLineNum = 31457305;BA.debugLine="If sVerbose Then Log($\"${TAB}failed download o";
if (true) break;

case 18:
//if
this.state = 23;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 20;
;}if (true) break;

case 20:
//C
this.state = 23;
parent.__c.LogImpl("931457305",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"failed download of new apk version"),0);
if (true) break;

case 23:
//C
this.state = 24;
;
RDebugUtils.currentLine=31457306;
 //BA.debugLineNum = 31457306;BA.debugLine="ToastMessageShow(LastException, True)";
parent.__c.ToastMessageShow(BA.ObjectToCharSequence(parent.__c.LastException(ba).getObject()),parent.__c.True);
 if (true) break;
if (true) break;

case 24:
//C
this.state = 33;
this.catchState = 0;
;
 if (true) break;

case 26:
//C
this.state = 27;
RDebugUtils.currentLine=31457309;
 //BA.debugLineNum = 31457309;BA.debugLine="Log($\"${TAB}Error: ${J.ErrorMessage}\"$)";
parent.__c.LogImpl("931457309",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"Error: "+parent.__c.SmartStringFormatter("",(Object)(_j._errormessage /*String*/ ))+""),0);
RDebugUtils.currentLine=31457310;
 //BA.debugLineNum = 31457310;BA.debugLine="sStatusCode = ERR_HTTP";
__ref._sstatuscode /*int*/  = __ref._err_http /*int*/ ;
RDebugUtils.currentLine=31457311;
 //BA.debugLineNum = 31457311;BA.debugLine="If sVerbose Then Log($\"${TAB}error in httputils";
if (true) break;

case 27:
//if
this.state = 32;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 29;
;}if (true) break;

case 29:
//C
this.state = 32;
parent.__c.LogImpl("931457311",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"error in httputils2"),0);
if (true) break;

case 32:
//C
this.state = 33;
;
RDebugUtils.currentLine=31457312;
 //BA.debugLineNum = 31457312;BA.debugLine="ToastMessageShow($\"Error: ${J.ErrorMessage}\"$,";
parent.__c.ToastMessageShow(BA.ObjectToCharSequence(("Error: "+parent.__c.SmartStringFormatter("",(Object)(_j._errormessage /*String*/ ))+"")),parent.__c.True);
 if (true) break;

case 33:
//C
this.state = 34;
;
RDebugUtils.currentLine=31457314;
 //BA.debugLineNum = 31457314;BA.debugLine="j.Release";
_j._release /*String*/ (null);
RDebugUtils.currentLine=31457315;
 //BA.debugLineNum = 31457315;BA.debugLine="If sStatusCode == OK_DOWNLOAD Then";
if (true) break;

case 34:
//if
this.state = 43;
if (__ref._sstatuscode /*int*/ ==__ref._ok_download /*int*/ ) { 
this.state = 36;
}if (true) break;

case 36:
//C
this.state = 37;
RDebugUtils.currentLine=31457316;
 //BA.debugLineNum = 31457316;BA.debugLine="SendInstallIntent";
__ref._sendinstallintent /*String*/ (null);
RDebugUtils.currentLine=31457317;
 //BA.debugLineNum = 31457317;BA.debugLine="sStatusCode = OK_INSTALL";
__ref._sstatuscode /*int*/  = __ref._ok_install /*int*/ ;
RDebugUtils.currentLine=31457318;
 //BA.debugLineNum = 31457318;BA.debugLine="If sVerbose Then Log($\"${TAB}user asked to inst";
if (true) break;

case 37:
//if
this.state = 42;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 39;
;}if (true) break;

case 39:
//C
this.state = 42;
parent.__c.LogImpl("931457318",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"user asked to install new apk"),0);
if (true) break;

case 42:
//C
this.state = 43;
;
 if (true) break;

case 43:
//C
this.state = 44;
;
 if (true) break;

case 44:
//C
this.state = -1;
;
RDebugUtils.currentLine=31457321;
 //BA.debugLineNum = 31457321;BA.debugLine="Finito";
__ref._finito /*String*/ (null);
RDebugUtils.currentLine=31457322;
 //BA.debugLineNum = 31457322;BA.debugLine="End Sub";
if (true) break;
}} 
       catch (Exception e0) {
			
if (catchState == 0)
    throw e0;
else {
    state = catchState;
ba.setLastException(e0);}
            }
        }
    }
}
public void  _updateapk(keymon.lat.medicomed.cl_appupdate __ref,boolean _pstatus) throws Exception{
RDebugUtils.currentModule="cl_appupdate";
if (Debug.shouldDelegate(ba, "updateapk", true))
	 {Debug.delegate(ba, "updateapk", new Object[] {_pstatus}); return;}
ResumableSub_UpdateApk rsub = new ResumableSub_UpdateApk(this,__ref,_pstatus);
rsub.resume(ba, null);
}
public static class ResumableSub_UpdateApk extends BA.ResumableSub {
public ResumableSub_UpdateApk(keymon.lat.medicomed.cl_appupdate parent,keymon.lat.medicomed.cl_appupdate __ref,boolean _pstatus) {
this.parent = parent;
this.__ref = __ref;
this._pstatus = _pstatus;
this.__ref = parent;
}
keymon.lat.medicomed.cl_appupdate __ref;
keymon.lat.medicomed.cl_appupdate parent;
boolean _pstatus;
boolean _okwebver = false;
long _fsize = 0L;

@Override
public void resume(BA ba, Object[] result) throws Exception{
RDebugUtils.currentModule="cl_appupdate";

    while (true) {
        switch (state) {
            case -1:
return;

case 0:
//C
this.state = 1;
RDebugUtils.currentLine=31391745;
 //BA.debugLineNum = 31391745;BA.debugLine="LogColor(\"---- AppUpdating.UpdateApk\", LogColor1)";
parent.__c.LogImpl("931391745","---- AppUpdating.UpdateApk",__ref._logcolor1 /*int*/ );
RDebugUtils.currentLine=31391746;
 //BA.debugLineNum = 31391746;BA.debugLine="If Not(pstatus) Then";
if (true) break;

case 1:
//if
this.state = 61;
if (parent.__c.Not(_pstatus)) { 
this.state = 3;
}else {
this.state = 11;
}if (true) break;

case 3:
//C
this.state = 4;
RDebugUtils.currentLine=31391747;
 //BA.debugLineNum = 31391747;BA.debugLine="sStatusCode = ERR_NOPERM";
__ref._sstatuscode /*int*/  = __ref._err_noperm /*int*/ ;
RDebugUtils.currentLine=31391748;
 //BA.debugLineNum = 31391748;BA.debugLine="If sVerbose Then Log(TAB & \"no permissions from";
if (true) break;

case 4:
//if
this.state = 9;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 6;
;}if (true) break;

case 6:
//C
this.state = 9;
parent.__c.LogImpl("931391748",parent.__c.TAB+"no permissions from user to install new apk",0);
if (true) break;

case 9:
//C
this.state = 61;
;
 if (true) break;

case 11:
//C
this.state = 12;
RDebugUtils.currentLine=31391750;
 //BA.debugLineNum = 31391750;BA.debugLine="Wait For(IsvalidWV) Complete (OkWebVer As Boolea";
parent.__c.WaitFor("complete", ba, new anywheresoftware.b4a.shell.DebugResumableSub.DelegatableResumableSub(this, "cl_appupdate", "updateapk"), __ref._isvalidwv /*anywheresoftware.b4a.keywords.Common.ResumableSubWrapper*/ (null));
this.state = 62;
return;
case 62:
//C
this.state = 12;
_okwebver = (Boolean) result[1];
;
RDebugUtils.currentLine=31391751;
 //BA.debugLineNum = 31391751;BA.debugLine="If (IsValidCV And OkWebVer) Then							'here we";
if (true) break;

case 12:
//if
this.state = 60;
if ((__ref._isvalidcv /*boolean*/ (null) && _okwebver)) { 
this.state = 14;
}if (true) break;

case 14:
//C
this.state = 15;
RDebugUtils.currentLine=31391752;
 //BA.debugLineNum = 31391752;BA.debugLine="If curver < webver Then";
if (true) break;

case 15:
//if
this.state = 59;
if ((double)(Double.parseDouble(__ref._curver /*String*/ ))<(double)(Double.parseDouble(__ref._webver /*String*/ ))) { 
this.state = 17;
}else {
this.state = 52;
}if (true) break;

case 17:
//C
this.state = 18;
RDebugUtils.currentLine=31391754;
 //BA.debugLineNum = 31391754;BA.debugLine="If IsNumber(webfsize) Then";
if (true) break;

case 18:
//if
this.state = 31;
if (parent.__c.IsNumber(__ref._webfsize /*String*/ )) { 
this.state = 20;
}if (true) break;

case 20:
//C
this.state = 21;
RDebugUtils.currentLine=31391755;
 //BA.debugLineNum = 31391755;BA.debugLine="Dim fsize As Long = webfsize";
_fsize = (long)(Double.parseDouble(__ref._webfsize /*String*/ ));
RDebugUtils.currentLine=31391756;
 //BA.debugLineNum = 31391756;BA.debugLine="If fsize*2 > GetFreeSpace Then";
if (true) break;

case 21:
//if
this.state = 30;
if (_fsize*2>__ref._getfreespace /*long*/ (null)) { 
this.state = 23;
}if (true) break;

case 23:
//C
this.state = 24;
RDebugUtils.currentLine=31391757;
 //BA.debugLineNum = 31391757;BA.debugLine="sStatusCode = ERR_NOSPACE";
__ref._sstatuscode /*int*/  = __ref._err_nospace /*int*/ ;
RDebugUtils.currentLine=31391758;
 //BA.debugLineNum = 31391758;BA.debugLine="If sVerbose Then Log($\"${TAB}no enough avail";
if (true) break;

case 24:
//if
this.state = 29;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 26;
;}if (true) break;

case 26:
//C
this.state = 29;
parent.__c.LogImpl("931391758",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"no enough available space to download apk"),0);
if (true) break;

case 29:
//C
this.state = 30;
;
 if (true) break;

case 30:
//C
this.state = 31;
;
 if (true) break;
;
RDebugUtils.currentLine=31391761;
 //BA.debugLineNum = 31391761;BA.debugLine="If sStatusCode >= 0 Then";

case 31:
//if
this.state = 50;
if (__ref._sstatuscode /*int*/ >=0) { 
this.state = 33;
}if (true) break;

case 33:
//C
this.state = 34;
RDebugUtils.currentLine=31391762;
 //BA.debugLineNum = 31391762;BA.debugLine="sStatusCode = OK_NEWERAPK			'info file tells";
__ref._sstatuscode /*int*/  = __ref._ok_newerapk /*int*/ ;
RDebugUtils.currentLine=31391763;
 //BA.debugLineNum = 31391763;BA.debugLine="If sVerbose Then Log($\"${TAB}Newer version av";
if (true) break;

case 34:
//if
this.state = 39;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 36;
;}if (true) break;

case 36:
//C
this.state = 39;
parent.__c.LogImpl("931391763",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"Newer version available. Now I try its downloading"),0);
if (true) break;

case 39:
//C
this.state = 40;
;
RDebugUtils.currentLine=31391764;
 //BA.debugLineNum = 31391764;BA.debugLine="If sNewVerApk = \"\" Then";
if (true) break;

case 40:
//if
this.state = 49;
if ((__ref._snewverapk /*String*/ ).equals("")) { 
this.state = 42;
}if (true) break;

case 42:
//C
this.state = 43;
RDebugUtils.currentLine=31391765;
 //BA.debugLineNum = 31391765;BA.debugLine="sStatusCode = ERR_NOAPK";
__ref._sstatuscode /*int*/  = __ref._err_noapk /*int*/ ;
RDebugUtils.currentLine=31391766;
 //BA.debugLineNum = 31391766;BA.debugLine="If sVerbose Then Log($\"${TAB}missing apk fil";
if (true) break;

case 43:
//if
this.state = 48;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 45;
;}if (true) break;

case 45:
//C
this.state = 48;
parent.__c.LogImpl("931391766",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"missing apk file full path indication"),0);
if (true) break;

case 48:
//C
this.state = 49;
;
 if (true) break;

case 49:
//C
this.state = 50;
;
 if (true) break;

case 50:
//C
this.state = 59;
;
 if (true) break;

case 52:
//C
this.state = 53;
RDebugUtils.currentLine=31391770;
 //BA.debugLineNum = 31391770;BA.debugLine="sStatusCode = NO_NEWERAPK";
__ref._sstatuscode /*int*/  = __ref._no_newerapk /*int*/ ;
RDebugUtils.currentLine=31391771;
 //BA.debugLineNum = 31391771;BA.debugLine="If sVerbose Then Log($\"${TAB}No newer version";
if (true) break;

case 53:
//if
this.state = 58;
if (__ref._sverbose /*boolean*/ ) { 
this.state = 55;
;}if (true) break;

case 55:
//C
this.state = 58;
parent.__c.LogImpl("931391771",(""+parent.__c.SmartStringFormatter("",(Object)(parent.__c.TAB))+"No newer version available on webserver."),0);
if (true) break;

case 58:
//C
this.state = 59;
;
 if (true) break;

case 59:
//C
this.state = 60;
;
 if (true) break;

case 60:
//C
this.state = 61;
;
 if (true) break;

case 61:
//C
this.state = -1;
;
RDebugUtils.currentLine=31391775;
 //BA.debugLineNum = 31391775;BA.debugLine="TryApkUpdate						'if available and permitted, do";
__ref._tryapkupdate /*void*/ (null);
RDebugUtils.currentLine=31391776;
 //BA.debugLineNum = 31391776;BA.debugLine="End Sub";
if (true) break;

            }
        }
    }
}
}