package keymon.lat.medicomed;


import anywheresoftware.b4a.BA;
import anywheresoftware.b4a.objects.ServiceHelper;
import anywheresoftware.b4a.debug.*;

public class appupdater extends android.app.Service{
	public static class appupdater_BR extends android.content.BroadcastReceiver {

		@Override
		public void onReceive(android.content.Context context, android.content.Intent intent) {
            BA.LogInfo("** Receiver (appupdater) OnReceive **");
			android.content.Intent in = new android.content.Intent(context, appupdater.class);
			if (intent != null)
				in.putExtra("b4a_internal_intent", intent);
            ServiceHelper.StarterHelper.startServiceFromReceiver (context, in, false, anywheresoftware.b4a.ShellBA.class);
		}

	}
    static appupdater mostCurrent;
	public static BA processBA;
    private ServiceHelper _service;
    public static Class<?> getObject() {
		return appupdater.class;
	}
	@Override
	public void onCreate() {
        super.onCreate();
        mostCurrent = this;
        if (processBA == null) {
		    processBA = new anywheresoftware.b4a.ShellBA(this, null, null, "keymon.lat.medicomed", "keymon.lat.medicomed.appupdater");
            if (BA.isShellModeRuntimeCheck(processBA)) {
                processBA.raiseEvent2(null, true, "SHELL", false);
		    }
            try {
                Class.forName(BA.applicationContext.getPackageName() + ".main").getMethod("initializeProcessGlobals").invoke(null, null);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
            processBA.loadHtSubs(this.getClass());
            ServiceHelper.init();
        }
        _service = new ServiceHelper(this);
        processBA.service = this;
        
        if (BA.isShellModeRuntimeCheck(processBA)) {
			processBA.raiseEvent2(null, true, "CREATE", true, "keymon.lat.medicomed.appupdater", processBA, _service, anywheresoftware.b4a.keywords.Common.Density);
		}
        if (!false && ServiceHelper.StarterHelper.startFromServiceCreate(processBA, false) == false) {
				
		}
		else {
            processBA.setActivityPaused(false);
            BA.LogInfo("*** Service (appupdater) Create ***");
            processBA.raiseEvent(null, "service_create");
        }
        processBA.runHook("oncreate", this, null);
        if (false) {
			if (ServiceHelper.StarterHelper.runWaitForLayouts() == false) {
                BA.LogInfo("stopping spontaneous created service");
                stopSelf();
            }
		}
    }
		@Override
	public void onStart(android.content.Intent intent, int startId) {
		onStartCommand(intent, 0, 0);
    }
    @Override
    public int onStartCommand(final android.content.Intent intent, int flags, int startId) {
    	if (ServiceHelper.StarterHelper.onStartCommand(processBA, new Runnable() {
            public void run() {
                handleStart(intent);
            }}))
			;
		else {
			ServiceHelper.StarterHelper.addWaitForLayout (new Runnable() {
				public void run() {
                    processBA.setActivityPaused(false);
                    BA.LogInfo("** Service (appupdater) Create **");
                    processBA.raiseEvent(null, "service_create");
					handleStart(intent);
                    ServiceHelper.StarterHelper.removeWaitForLayout();
				}
			});
		}
        processBA.runHook("onstartcommand", this, new Object[] {intent, flags, startId});
		return android.app.Service.START_NOT_STICKY;
    }
    public void onTaskRemoved(android.content.Intent rootIntent) {
        super.onTaskRemoved(rootIntent);
        if (false)
            processBA.raiseEvent(null, "service_taskremoved");
            
    }
    private void handleStart(android.content.Intent intent) {
    	BA.LogInfo("** Service (appupdater) Start **");
    	java.lang.reflect.Method startEvent = processBA.htSubs.get("service_start");
    	if (startEvent != null) {
    		if (startEvent.getParameterTypes().length > 0) {
    			anywheresoftware.b4a.objects.IntentWrapper iw = ServiceHelper.StarterHelper.handleStartIntent(intent, _service, processBA);
    			processBA.raiseEvent(null, "service_start", iw);
    		}
    		else {
    			processBA.raiseEvent(null, "service_start");
    		}
    	}
    }
	
	@Override
	public void onDestroy() {
        super.onDestroy();
        if (false) {
            BA.LogInfo("** Service (appupdater) Destroy (ignored)**");
        }
        else {
            BA.LogInfo("** Service (appupdater) Destroy **");
		    processBA.raiseEvent(null, "service_destroy");
            processBA.service = null;
		    mostCurrent = null;
		    processBA.setActivityPaused(true);
            processBA.runHook("ondestroy", this, null);
        }
	}

@Override
	public android.os.IBinder onBind(android.content.Intent intent) {
		return null;
	}
public static class _mnewversion{
public boolean IsInitialized;
public boolean update;
public boolean nonewAPP;
public boolean notifyUser;
public String version;
public String newMsg;
public String okMsg;
public String appLink;
public void Initialize() {
IsInitialized = true;
update = false;
nonewAPP = false;
notifyUser = false;
version = "";
newMsg = "";
okMsg = "";
appLink = "";
}
@Override
		public String toString() {
			return BA.TypeToString(this, false);
		}}
public anywheresoftware.b4a.keywords.Common __c = null;
public static String _lnk = "";
public static anywheresoftware.b4a.objects.NotificationWrapper _nnewapp = null;
public static int _nnewappnid = 0;
public static anywheresoftware.b4j.object.JavaObject _nativeme = null;
public static anywheresoftware.b4a.objects.NotificationWrapper _n2 = null;
public static int _n2id = 0;
public static String _sharedfolder = "";
public static boolean _usefileprovider = false;
public static anywheresoftware.b4a.objects.RuntimePermissions _rp = null;
public static keymon.lat.medicomed.appupdater._mnewversion _newapp = null;
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.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 static anywheresoftware.b4a.objects.NotificationWrapper  _createnotification(String _title,String _content,String _icon,Object _targetactivity,boolean _sound,boolean _vibrate) throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "createnotification", false))
	 {return ((anywheresoftware.b4a.objects.NotificationWrapper) Debug.delegate(processBA, "createnotification", new Object[] {_title,_content,_icon,_targetactivity,_sound,_vibrate}));}
RDebugUtils.currentLine=19791872;
 //BA.debugLineNum = 19791872;BA.debugLine="Private Sub CreateNotification(Title As String, Co";
RDebugUtils.currentLine=19791873;
 //BA.debugLineNum = 19791873;BA.debugLine="n2.Initialize";
_n2.Initialize();
RDebugUtils.currentLine=19791874;
 //BA.debugLineNum = 19791874;BA.debugLine="n2.Light = False";
_n2.setLight(anywheresoftware.b4a.keywords.Common.False);
RDebugUtils.currentLine=19791875;
 //BA.debugLineNum = 19791875;BA.debugLine="n2.Vibrate = Vibrate";
_n2.setVibrate(_vibrate);
RDebugUtils.currentLine=19791876;
 //BA.debugLineNum = 19791876;BA.debugLine="n2.Sound = Sound";
_n2.setSound(_sound);
RDebugUtils.currentLine=19791877;
 //BA.debugLineNum = 19791877;BA.debugLine="n2.OnGoingEvent = True";
_n2.setOnGoingEvent(anywheresoftware.b4a.keywords.Common.True);
RDebugUtils.currentLine=19791878;
 //BA.debugLineNum = 19791878;BA.debugLine="n2.Icon = Icon";
_n2.setIcon(_icon);
RDebugUtils.currentLine=19791879;
 //BA.debugLineNum = 19791879;BA.debugLine="n2.SetInfo(Title, Content, TargetActivity)";
_n2.SetInfoNew(processBA,BA.ObjectToCharSequence(_title),BA.ObjectToCharSequence(_content),_targetactivity);
RDebugUtils.currentLine=19791880;
 //BA.debugLineNum = 19791880;BA.debugLine="n2.Notify(nNewAppnID)";
_n2.Notify(_nnewappnid);
RDebugUtils.currentLine=19791881;
 //BA.debugLineNum = 19791881;BA.debugLine="End Sub";
return null;
}
public static anywheresoftware.b4a.objects.NotificationWrapper  _createnotification2(String _title,String _content,String _icon,Object _targetactivity,boolean _sound,boolean _vibrate,anywheresoftware.b4a.objects.NotificationWrapper _pn,int _pnid) throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "createnotification2", false))
	 {return ((anywheresoftware.b4a.objects.NotificationWrapper) Debug.delegate(processBA, "createnotification2", new Object[] {_title,_content,_icon,_targetactivity,_sound,_vibrate,_pn,_pnid}));}
RDebugUtils.currentLine=19726336;
 //BA.debugLineNum = 19726336;BA.debugLine="Private Sub CreateNotification2(Title As String, C";
RDebugUtils.currentLine=19726339;
 //BA.debugLineNum = 19726339;BA.debugLine="pN.Initialize2(pN.IMPORTANCE_HIGH)";
_pn.Initialize2(_pn.IMPORTANCE_HIGH);
RDebugUtils.currentLine=19726342;
 //BA.debugLineNum = 19726342;BA.debugLine="pN.Vibrate = Vibrate";
_pn.setVibrate(_vibrate);
RDebugUtils.currentLine=19726343;
 //BA.debugLineNum = 19726343;BA.debugLine="pN.Sound = Sound";
_pn.setSound(_sound);
RDebugUtils.currentLine=19726345;
 //BA.debugLineNum = 19726345;BA.debugLine="pN.Icon = Icon";
_pn.setIcon(_icon);
RDebugUtils.currentLine=19726346;
 //BA.debugLineNum = 19726346;BA.debugLine="pN.AutoCancel = True";
_pn.setAutoCancel(anywheresoftware.b4a.keywords.Common.True);
RDebugUtils.currentLine=19726347;
 //BA.debugLineNum = 19726347;BA.debugLine="pN.SetInfo(Title, Content, TargetActivity)";
_pn.SetInfoNew(processBA,BA.ObjectToCharSequence(_title),BA.ObjectToCharSequence(_content),_targetactivity);
RDebugUtils.currentLine=19726348;
 //BA.debugLineNum = 19726348;BA.debugLine="pN.Notify(pNID)";
_pn.Notify(_pnid);
RDebugUtils.currentLine=19726349;
 //BA.debugLineNum = 19726349;BA.debugLine="Return pN";
if (true) return _pn;
RDebugUtils.currentLine=19726350;
 //BA.debugLineNum = 19726350;BA.debugLine="End Sub";
return null;
}
public static keymon.lat.medicomed.httpjob  _download(Object _callback,String _link) throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "download", false))
	 {return ((keymon.lat.medicomed.httpjob) Debug.delegate(processBA, "download", new Object[] {_callback,_link}));}
keymon.lat.medicomed.httpjob _j = null;
RDebugUtils.currentLine=19660800;
 //BA.debugLineNum = 19660800;BA.debugLine="Sub Download (Callback As Object, link As String)";
RDebugUtils.currentLine=19660801;
 //BA.debugLineNum = 19660801;BA.debugLine="Dim j As HttpJob";
_j = new keymon.lat.medicomed.httpjob();
RDebugUtils.currentLine=19660802;
 //BA.debugLineNum = 19660802;BA.debugLine="j.Initialize(\"\", Callback)";
_j._initialize /*String*/ (null,processBA,"",_callback);
RDebugUtils.currentLine=19660803;
 //BA.debugLineNum = 19660803;BA.debugLine="j.Download(link)";
_j._download /*String*/ (null,_link);
RDebugUtils.currentLine=19660804;
 //BA.debugLineNum = 19660804;BA.debugLine="Return j";
if (true) return _j;
RDebugUtils.currentLine=19660805;
 //BA.debugLineNum = 19660805;BA.debugLine="End Sub";
return null;
}
public static String  _download_destroy() throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "download_destroy", false))
	 {return ((String) Debug.delegate(processBA, "download_destroy", null));}
RDebugUtils.currentLine=19595264;
 //BA.debugLineNum = 19595264;BA.debugLine="Sub download_Destroy";
RDebugUtils.currentLine=19595265;
 //BA.debugLineNum = 19595265;BA.debugLine="n2.Cancel(n2ID)";
_n2.Cancel(_n2id);
RDebugUtils.currentLine=19595266;
 //BA.debugLineNum = 19595266;BA.debugLine="Service.StopForeground(n2ID)";
mostCurrent._service.StopForeground(_n2id);
RDebugUtils.currentLine=19595267;
 //BA.debugLineNum = 19595267;BA.debugLine="End Sub";
return "";
}
public static void  _download_newapk() throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "download_newapk", false))
	 {Debug.delegate(processBA, "download_newapk", null); return;}
ResumableSub_download_newApk rsub = new ResumableSub_download_newApk(null);
rsub.resume(processBA, null);
}
public static class ResumableSub_download_newApk extends BA.ResumableSub {
public ResumableSub_download_newApk(keymon.lat.medicomed.appupdater parent) {
this.parent = parent;
}
keymon.lat.medicomed.appupdater parent;
keymon.lat.medicomed.httpjob _job_newapp = null;
anywheresoftware.b4a.objects.streams.File.OutputStreamWrapper _outnewapk = null;
anywheresoftware.b4a.objects.IntentWrapper _in = null;

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

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

case 0:
//C
this.state = 1;
RDebugUtils.currentLine=19529731;
 //BA.debugLineNum = 19529731;BA.debugLine="Log(\"Descargando actualización\")";
anywheresoftware.b4a.keywords.Common.LogImpl("319529731","Descargando actualización",0);
RDebugUtils.currentLine=19529732;
 //BA.debugLineNum = 19529732;BA.debugLine="B4XPages.ShowPage(\"login\")";
parent.mostCurrent._b4xpages._showpage /*String*/ (processBA,"login");
RDebugUtils.currentLine=19529733;
 //BA.debugLineNum = 19529733;BA.debugLine="Starter.muestraProgreso = 1";
parent.mostCurrent._starter._muestraprogreso /*String*/  = BA.NumberToString(1);
RDebugUtils.currentLine=19529734;
 //BA.debugLineNum = 19529734;BA.debugLine="Dim job_newAPP As HttpJob";
_job_newapp = new keymon.lat.medicomed.httpjob();
RDebugUtils.currentLine=19529735;
 //BA.debugLineNum = 19529735;BA.debugLine="job_newAPP.Initialize(\"job_newAPP\",Me)";
_job_newapp._initialize /*String*/ (null,processBA,"job_newAPP",appupdater.getObject());
RDebugUtils.currentLine=19529736;
 //BA.debugLineNum = 19529736;BA.debugLine="job_newAPP.Download(newApp.appLink)";
_job_newapp._download /*String*/ (null,parent._newapp.appLink /*String*/ );
RDebugUtils.currentLine=19529737;
 //BA.debugLineNum = 19529737;BA.debugLine="Wait for (job_newAPP) JobDone (job_newAPP As Http";
anywheresoftware.b4a.keywords.Common.WaitFor("jobdone", processBA, new anywheresoftware.b4a.shell.DebugResumableSub.DelegatableResumableSub(this, "appupdater", "download_newapk"), (Object)(_job_newapp));
this.state = 15;
return;
case 15:
//C
this.state = 1;
_job_newapp = (keymon.lat.medicomed.httpjob) result[0];
;
RDebugUtils.currentLine=19529738;
 //BA.debugLineNum = 19529738;BA.debugLine="If job_newAPP.Success = True Then";
if (true) break;

case 1:
//if
this.state = 14;
if (_job_newapp._success /*boolean*/ ==anywheresoftware.b4a.keywords.Common.True) { 
this.state = 3;
}if (true) break;

case 3:
//C
this.state = 4;
RDebugUtils.currentLine=19529740;
 //BA.debugLineNum = 19529740;BA.debugLine="If File.Exists(SharedFolder,\"newapp.apk\") Then";
if (true) break;

case 4:
//if
this.state = 7;
if (anywheresoftware.b4a.keywords.Common.File.Exists(parent._sharedfolder,"newapp.apk")) { 
this.state = 6;
}if (true) break;

case 6:
//C
this.state = 7;
RDebugUtils.currentLine=19529741;
 //BA.debugLineNum = 19529741;BA.debugLine="File.Delete(SharedFolder,\"newapp.apk\")";
anywheresoftware.b4a.keywords.Common.File.Delete(parent._sharedfolder,"newapp.apk");
 if (true) break;

case 7:
//C
this.state = 8;
;
RDebugUtils.currentLine=19529744;
 //BA.debugLineNum = 19529744;BA.debugLine="Dim outNewAPK As OutputStream = File.OpenOutput(";
_outnewapk = new anywheresoftware.b4a.objects.streams.File.OutputStreamWrapper();
_outnewapk = anywheresoftware.b4a.keywords.Common.File.OpenOutput(parent._sharedfolder,"newapp.apk",anywheresoftware.b4a.keywords.Common.False);
RDebugUtils.currentLine=19529745;
 //BA.debugLineNum = 19529745;BA.debugLine="File.Copy2(job_newAPP.GetInputStream, outNewAPK)";
anywheresoftware.b4a.keywords.Common.File.Copy2((java.io.InputStream)(_job_newapp._getinputstream /*anywheresoftware.b4a.objects.streams.File.InputStreamWrapper*/ (null).getObject()),(java.io.OutputStream)(_outnewapk.getObject()));
RDebugUtils.currentLine=19529746;
 //BA.debugLineNum = 19529746;BA.debugLine="outNewAPK.Close";
_outnewapk.Close();
RDebugUtils.currentLine=19529747;
 //BA.debugLineNum = 19529747;BA.debugLine="If Starter.Logger Then Log(\"APK dir: \"&SharedFol";
if (true) break;

case 8:
//if
this.state = 13;
if (parent.mostCurrent._starter._logger /*boolean*/ ) { 
this.state = 10;
;}if (true) break;

case 10:
//C
this.state = 13;
anywheresoftware.b4a.keywords.Common.LogImpl("319529747","APK dir: "+parent._sharedfolder,0);
if (true) break;

case 13:
//C
this.state = 14;
;
 if (true) break;

case 14:
//C
this.state = -1;
;
RDebugUtils.currentLine=19529749;
 //BA.debugLineNum = 19529749;BA.debugLine="job_newAPP.Release";
_job_newapp._release /*String*/ (null);
RDebugUtils.currentLine=19529751;
 //BA.debugLineNum = 19529751;BA.debugLine="Dim in As Intent";
_in = new anywheresoftware.b4a.objects.IntentWrapper();
RDebugUtils.currentLine=19529752;
 //BA.debugLineNum = 19529752;BA.debugLine="in.Initialize(in.ACTION_VIEW,\"\" )";
_in.Initialize(_in.ACTION_VIEW,"");
RDebugUtils.currentLine=19529753;
 //BA.debugLineNum = 19529753;BA.debugLine="SetFileUriAsIntentData(in, \"newapp.apk\")";
_setfileuriasintentdata(_in,"newapp.apk");
RDebugUtils.currentLine=19529755;
 //BA.debugLineNum = 19529755;BA.debugLine="in.SetType(\"application/vnd.android.package-archi";
_in.SetType("application/vnd.android.package-archive");
RDebugUtils.currentLine=19529756;
 //BA.debugLineNum = 19529756;BA.debugLine="StartActivity(in)";
anywheresoftware.b4a.keywords.Common.StartActivity(processBA,(Object)(_in.getObject()));
RDebugUtils.currentLine=19529757;
 //BA.debugLineNum = 19529757;BA.debugLine="n2.Cancel(nNewAppnID)";
parent._n2.Cancel(parent._nnewappnid);
RDebugUtils.currentLine=19529758;
 //BA.debugLineNum = 19529758;BA.debugLine="B4XPages.MainPage.ocultaProgreso";
parent.mostCurrent._b4xpages._mainpage /*keymon.lat.medicomed.b4xmainpage*/ (processBA)._ocultaprogreso /*String*/ (null);
RDebugUtils.currentLine=19529760;
 //BA.debugLineNum = 19529760;BA.debugLine="StopService(Me)";
anywheresoftware.b4a.keywords.Common.StopService(processBA,appupdater.getObject());
RDebugUtils.currentLine=19529762;
 //BA.debugLineNum = 19529762;BA.debugLine="End Sub";
if (true) break;

            }
        }
    }
}
public static String  _setfileuriasintentdata(anywheresoftware.b4a.objects.IntentWrapper _intent,String _filename) throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "setfileuriasintentdata", false))
	 {return ((String) Debug.delegate(processBA, "setfileuriasintentdata", new Object[] {_intent,_filename}));}
anywheresoftware.b4j.object.JavaObject _jo = null;
RDebugUtils.currentLine=20054016;
 //BA.debugLineNum = 20054016;BA.debugLine="Sub SetFileUriAsIntentData (Intent As Intent, File";
RDebugUtils.currentLine=20054017;
 //BA.debugLineNum = 20054017;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=20054018;
 //BA.debugLineNum = 20054018;BA.debugLine="jo.RunMethod(\"setData\", Array(GetFileUri(FileName";
_jo.RunMethod("setData",new Object[]{_getfileuri(_filename)});
RDebugUtils.currentLine=20054019;
 //BA.debugLineNum = 20054019;BA.debugLine="Intent.Flags = Bit.Or(Intent.Flags, 1) 'FLAG_GRAN";
_intent.setFlags(anywheresoftware.b4a.keywords.Common.Bit.Or(_intent.getFlags(),(int) (1)));
RDebugUtils.currentLine=20054020;
 //BA.debugLineNum = 20054020;BA.debugLine="End Sub";
return "";
}
public static String  _download_start(anywheresoftware.b4a.objects.IntentWrapper _startingintent) throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "download_start", false))
	 {return ((String) Debug.delegate(processBA, "download_start", new Object[] {_startingintent}));}
RDebugUtils.currentLine=19464192;
 //BA.debugLineNum = 19464192;BA.debugLine="Sub download_Start (StartingIntent As Intent)";
RDebugUtils.currentLine=19464193;
 //BA.debugLineNum = 19464193;BA.debugLine="download_newApk";
_download_newapk();
RDebugUtils.currentLine=19464194;
 //BA.debugLineNum = 19464194;BA.debugLine="End Sub";
return "";
}
public static String  _fileprovider_init() throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "fileprovider_init", false))
	 {return ((String) Debug.delegate(processBA, "fileprovider_init", null));}
anywheresoftware.b4a.phone.Phone _p = null;
RDebugUtils.currentLine=19922944;
 //BA.debugLineNum = 19922944;BA.debugLine="Sub fileProvider_init";
RDebugUtils.currentLine=19922945;
 //BA.debugLineNum = 19922945;BA.debugLine="Dim p As Phone";
_p = new anywheresoftware.b4a.phone.Phone();
RDebugUtils.currentLine=19922946;
 //BA.debugLineNum = 19922946;BA.debugLine="If p.SdkVersion >= 24 Or File.ExternalWritable =";
if (_p.getSdkVersion()>=24 || anywheresoftware.b4a.keywords.Common.File.getExternalWritable()==anywheresoftware.b4a.keywords.Common.False) { 
RDebugUtils.currentLine=19922947;
 //BA.debugLineNum = 19922947;BA.debugLine="UseFileProvider = True";
_usefileprovider = anywheresoftware.b4a.keywords.Common.True;
RDebugUtils.currentLine=19922948;
 //BA.debugLineNum = 19922948;BA.debugLine="SharedFolder = File.Combine(File.DirInternal, \"s";
_sharedfolder = anywheresoftware.b4a.keywords.Common.File.Combine(anywheresoftware.b4a.keywords.Common.File.getDirInternal(),"shared");
RDebugUtils.currentLine=19922949;
 //BA.debugLineNum = 19922949;BA.debugLine="If Not(File.IsDirectory(File.DirInternal,\"shared";
if (anywheresoftware.b4a.keywords.Common.Not(anywheresoftware.b4a.keywords.Common.File.IsDirectory(anywheresoftware.b4a.keywords.Common.File.getDirInternal(),"shared"))) { 
RDebugUtils.currentLine=19922950;
 //BA.debugLineNum = 19922950;BA.debugLine="File.MakeDir(\"\", SharedFolder)";
anywheresoftware.b4a.keywords.Common.File.MakeDir("",_sharedfolder);
 };
 }else {
RDebugUtils.currentLine=19922953;
 //BA.debugLineNum = 19922953;BA.debugLine="UseFileProvider = False";
_usefileprovider = anywheresoftware.b4a.keywords.Common.False;
RDebugUtils.currentLine=19922954;
 //BA.debugLineNum = 19922954;BA.debugLine="SharedFolder = rp.GetSafeDirDefaultExternal(\"sha";
_sharedfolder = _rp.GetSafeDirDefaultExternal("shared");
 };
RDebugUtils.currentLine=19922956;
 //BA.debugLineNum = 19922956;BA.debugLine="Log($\"Using FileProvider? ${UseFileProvider}\"$)";
anywheresoftware.b4a.keywords.Common.LogImpl("319922956",("Using FileProvider? "+anywheresoftware.b4a.keywords.Common.SmartStringFormatter("",(Object)(_usefileprovider))+""),0);
RDebugUtils.currentLine=19922957;
 //BA.debugLineNum = 19922957;BA.debugLine="End Sub";
return "";
}
public static Object  _getfileuri(String _filename) throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "getfileuri", false))
	 {return ((Object) Debug.delegate(processBA, "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=19988480;
 //BA.debugLineNum = 19988480;BA.debugLine="Sub GetFileUri (FileName As String) As Object";
RDebugUtils.currentLine=19988481;
 //BA.debugLineNum = 19988481;BA.debugLine="Try";
try {RDebugUtils.currentLine=19988482;
 //BA.debugLineNum = 19988482;BA.debugLine="If Not(UseFileProvider) Then";
if (anywheresoftware.b4a.keywords.Common.Not(_usefileprovider)) { 
RDebugUtils.currentLine=19988483;
 //BA.debugLineNum = 19988483;BA.debugLine="Dim uri As JavaObject";
_uri = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=19988484;
 //BA.debugLineNum = 19988484;BA.debugLine="Return uri.InitializeStatic(\"android.net.Uri\").";
if (true) return _uri.InitializeStatic("android.net.Uri").RunMethod("parse",new Object[]{(Object)("file://"+anywheresoftware.b4a.keywords.Common.File.Combine(_sharedfolder,_filename))});
 };
RDebugUtils.currentLine=19988486;
 //BA.debugLineNum = 19988486;BA.debugLine="Dim f As JavaObject";
_f = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=19988487;
 //BA.debugLineNum = 19988487;BA.debugLine="f.InitializeNewInstance(\"java.io.File\", Array(Sh";
_f.InitializeNewInstance("java.io.File",new Object[]{(Object)(_sharedfolder),(Object)(_filename)});
RDebugUtils.currentLine=19988488;
 //BA.debugLineNum = 19988488;BA.debugLine="Dim fp As JavaObject";
_fp = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=19988489;
 //BA.debugLineNum = 19988489;BA.debugLine="Dim context As JavaObject";
_context = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=19988490;
 //BA.debugLineNum = 19988490;BA.debugLine="context.InitializeContext";
_context.InitializeContext(processBA);
RDebugUtils.currentLine=19988491;
 //BA.debugLineNum = 19988491;BA.debugLine="fp.InitializeStatic(\"android.support.v4.content.";
_fp.InitializeStatic("androidx.core.content.FileProvider");
RDebugUtils.currentLine=19988492;
 //BA.debugLineNum = 19988492;BA.debugLine="Return fp.RunMethod(\"getUriForFile\", Array(conte";
if (true) return _fp.RunMethod("getUriForFile",new Object[]{(Object)(_context.getObject()),(Object)(anywheresoftware.b4a.keywords.Common.Application.getPackageName()+".provider"),(Object)(_f.getObject())});
 } 
       catch (Exception e14) {
			processBA.setLastException(e14);RDebugUtils.currentLine=19988494;
 //BA.debugLineNum = 19988494;BA.debugLine="Log(\"FileProvider::GetFileUri - error - \" & Last";
anywheresoftware.b4a.keywords.Common.LogImpl("319988494","FileProvider::GetFileUri - error - "+anywheresoftware.b4a.keywords.Common.LastException(processBA).getMessage(),0);
RDebugUtils.currentLine=19988495;
 //BA.debugLineNum = 19988495;BA.debugLine="Return \"\"";
if (true) return (Object)("");
 };
RDebugUtils.currentLine=19988497;
 //BA.debugLineNum = 19988497;BA.debugLine="End Sub";
return null;
}
public static String  _service_create() throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "service_create", false))
	 {return ((String) Debug.delegate(processBA, "service_create", null));}
RDebugUtils.currentLine=19333120;
 //BA.debugLineNum = 19333120;BA.debugLine="Sub Service_Create";
RDebugUtils.currentLine=19333121;
 //BA.debugLineNum = 19333121;BA.debugLine="Log(\"appUpdater(), Service_Create\")";
anywheresoftware.b4a.keywords.Common.LogImpl("319333121","appUpdater(), Service_Create",0);
RDebugUtils.currentLine=19333122;
 //BA.debugLineNum = 19333122;BA.debugLine="newApp.Initialize";
_newapp.Initialize();
RDebugUtils.currentLine=19333123;
 //BA.debugLineNum = 19333123;BA.debugLine="Service.AutomaticForegroundMode = Service.AUTOMAT";
mostCurrent._service.AutomaticForegroundMode = mostCurrent._service.AUTOMATIC_FOREGROUND_NEVER;
RDebugUtils.currentLine=19333124;
 //BA.debugLineNum = 19333124;BA.debugLine="n2.Initialize";
_n2.Initialize();
RDebugUtils.currentLine=19333125;
 //BA.debugLineNum = 19333125;BA.debugLine="nativeMe.InitializeContext";
_nativeme.InitializeContext(processBA);
RDebugUtils.currentLine=19333126;
 //BA.debugLineNum = 19333126;BA.debugLine="End Sub";
return "";
}
public static String  _service_destroy() throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "service_destroy", false))
	 {return ((String) Debug.delegate(processBA, "service_destroy", null));}
RDebugUtils.currentLine=19857408;
 //BA.debugLineNum = 19857408;BA.debugLine="Sub Service_Destroy";
RDebugUtils.currentLine=19857409;
 //BA.debugLineNum = 19857409;BA.debugLine="Log(\"appUpdater(), Service_Destroy\")";
anywheresoftware.b4a.keywords.Common.LogImpl("319857409","appUpdater(), Service_Destroy",0);
RDebugUtils.currentLine=19857410;
 //BA.debugLineNum = 19857410;BA.debugLine="End Sub";
return "";
}
public static void  _service_start(anywheresoftware.b4a.objects.IntentWrapper _startingintent) throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "service_start", false))
	 {Debug.delegate(processBA, "service_start", new Object[] {_startingintent}); return;}
ResumableSub_Service_Start rsub = new ResumableSub_Service_Start(null,_startingintent);
rsub.resume(processBA, null);
}
public static class ResumableSub_Service_Start extends BA.ResumableSub {
public ResumableSub_Service_Start(keymon.lat.medicomed.appupdater parent,anywheresoftware.b4a.objects.IntentWrapper _startingintent) {
this.parent = parent;
this._startingintent = _startingintent;
}
keymon.lat.medicomed.appupdater parent;
anywheresoftware.b4a.objects.IntentWrapper _startingintent;
keymon.lat.medicomed.httpjob _j = null;
String[] _app = null;

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

    while (true) {
try {

        switch (state) {
            case -1:
return;

case 0:
//C
this.state = 1;
RDebugUtils.currentLine=19398657;
 //BA.debugLineNum = 19398657;BA.debugLine="Log(\"appUpdater(), Service_Start\")";
anywheresoftware.b4a.keywords.Common.LogImpl("319398657","appUpdater(), Service_Start",0);
RDebugUtils.currentLine=19398659;
 //BA.debugLineNum = 19398659;BA.debugLine="B4XPages.MainPage.muestraProgreso(\"Buscando actua";
parent.mostCurrent._b4xpages._mainpage /*keymon.lat.medicomed.b4xmainpage*/ (processBA)._muestraprogreso /*String*/ (null,"Buscando actualización");
RDebugUtils.currentLine=19398660;
 //BA.debugLineNum = 19398660;BA.debugLine="Log(\"Buscando actualización\")";
anywheresoftware.b4a.keywords.Common.LogImpl("319398660","Buscando actualización",0);
RDebugUtils.currentLine=19398661;
 //BA.debugLineNum = 19398661;BA.debugLine="fileProvider_init";
_fileprovider_init();
RDebugUtils.currentLine=19398662;
 //BA.debugLineNum = 19398662;BA.debugLine="Wait For (Download(Me, lnk)) JobDone (j As HttpJo";
anywheresoftware.b4a.keywords.Common.WaitFor("jobdone", processBA, new anywheresoftware.b4a.shell.DebugResumableSub.DelegatableResumableSub(this, "appupdater", "service_start"), (Object)(_download(appupdater.getObject(),parent._lnk)));
this.state = 20;
return;
case 20:
//C
this.state = 1;
_j = (keymon.lat.medicomed.httpjob) result[0];
;
RDebugUtils.currentLine=19398663;
 //BA.debugLineNum = 19398663;BA.debugLine="If j.Success Then";
if (true) break;

case 1:
//if
this.state = 19;
if (_j._success /*boolean*/ ) { 
this.state = 3;
}else {
this.state = 18;
}if (true) break;

case 3:
//C
this.state = 4;
RDebugUtils.currentLine=19398664;
 //BA.debugLineNum = 19398664;BA.debugLine="Try";
if (true) break;

case 4:
//try
this.state = 16;
this.catchState = 15;
this.state = 6;
if (true) break;

case 6:
//C
this.state = 7;
this.catchState = 15;
RDebugUtils.currentLine=19398665;
 //BA.debugLineNum = 19398665;BA.debugLine="Dim app() As String = Regex.Split(Chr(9),j.GetS";
_app = anywheresoftware.b4a.keywords.Common.Regex.Split(BA.ObjectToString(anywheresoftware.b4a.keywords.Common.Chr((int) (9))),_j._getstring /*String*/ (null));
RDebugUtils.currentLine=19398667;
 //BA.debugLineNum = 19398667;BA.debugLine="newApp.appLink = app(3)	'Liga a nueva app";
parent._newapp.appLink /*String*/  = _app[(int) (3)];
RDebugUtils.currentLine=19398668;
 //BA.debugLineNum = 19398668;BA.debugLine="newApp.newMsg = app(1)	'Texto de que hay actual";
parent._newapp.newMsg /*String*/  = _app[(int) (1)];
RDebugUtils.currentLine=19398669;
 //BA.debugLineNum = 19398669;BA.debugLine="newApp.okMsg = app(2)	'Texto de app al corrient";
parent._newapp.okMsg /*String*/  = _app[(int) (2)];
RDebugUtils.currentLine=19398670;
 //BA.debugLineNum = 19398670;BA.debugLine="newApp.version = app(0)	'Version actual";
parent._newapp.version /*String*/  = _app[(int) (0)];
RDebugUtils.currentLine=19398672;
 //BA.debugLineNum = 19398672;BA.debugLine="Log($\"Application.VersionName=${Application.Ver";
anywheresoftware.b4a.keywords.Common.LogImpl("319398672",("Application.VersionName="+anywheresoftware.b4a.keywords.Common.SmartStringFormatter("",(Object)(anywheresoftware.b4a.keywords.Common.Application.getVersionName()))+", newApp="+anywheresoftware.b4a.keywords.Common.SmartStringFormatter("",(Object)(parent._newapp))+""),0);
RDebugUtils.currentLine=19398675;
 //BA.debugLineNum = 19398675;BA.debugLine="If newApp.version = Application.VersionName  Th";
if (true) break;

case 7:
//if
this.state = 10;
if ((parent._newapp.version /*String*/ ).equals(anywheresoftware.b4a.keywords.Common.Application.getVersionName())) { 
this.state = 9;
}if (true) break;

case 9:
//C
this.state = 10;
RDebugUtils.currentLine=19398676;
 //BA.debugLineNum = 19398676;BA.debugLine="newApp.update = False";
parent._newapp.update /*boolean*/  = anywheresoftware.b4a.keywords.Common.False;
RDebugUtils.currentLine=19398677;
 //BA.debugLineNum = 19398677;BA.debugLine="Log(\"No new app\")";
anywheresoftware.b4a.keywords.Common.LogImpl("319398677","No new app",0);
RDebugUtils.currentLine=19398678;
 //BA.debugLineNum = 19398678;BA.debugLine="B4XPages.ShowPage(\"updateAvailable\")";
parent.mostCurrent._b4xpages._showpage /*String*/ (processBA,"updateAvailable");
RDebugUtils.currentLine=19398680;
 //BA.debugLineNum = 19398680;BA.debugLine="CreateNotification2(\"Aplicacion al corriente\",";
_createnotification2("Aplicacion al corriente","No hay actualizaciones disponibles","ic_file_download_white_24dp",(Object)(parent.mostCurrent._main.getObject()),anywheresoftware.b4a.keywords.Common.True,anywheresoftware.b4a.keywords.Common.True,parent._nnewapp,parent._nnewappnid);
 if (true) break;
;
RDebugUtils.currentLine=19398682;
 //BA.debugLineNum = 19398682;BA.debugLine="If newApp.version <> Application.VersionName  T";

case 10:
//if
this.state = 13;
if ((parent._newapp.version /*String*/ ).equals(anywheresoftware.b4a.keywords.Common.Application.getVersionName()) == false) { 
this.state = 12;
}if (true) break;

case 12:
//C
this.state = 13;
RDebugUtils.currentLine=19398683;
 //BA.debugLineNum = 19398683;BA.debugLine="newApp.update = True";
parent._newapp.update /*boolean*/  = anywheresoftware.b4a.keywords.Common.True;
RDebugUtils.currentLine=19398684;
 //BA.debugLineNum = 19398684;BA.debugLine="Log(\"New app true\")";
anywheresoftware.b4a.keywords.Common.LogImpl("319398684","New app true",0);
RDebugUtils.currentLine=19398685;
 //BA.debugLineNum = 19398685;BA.debugLine="B4XPages.ShowPage(\"updateAvailable\")";
parent.mostCurrent._b4xpages._showpage /*String*/ (processBA,"updateAvailable");
 if (true) break;

case 13:
//C
this.state = 16;
;
 if (true) break;

case 15:
//C
this.state = 16;
this.catchState = 0;
RDebugUtils.currentLine=19398690;
 //BA.debugLineNum = 19398690;BA.debugLine="Log(\"appUpdater(), Job Failed, error  \" & LastE";
anywheresoftware.b4a.keywords.Common.LogImpl("319398690","appUpdater(), Job Failed, error  "+anywheresoftware.b4a.keywords.Common.LastException(processBA).getMessage(),0);
 if (true) break;
if (true) break;

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

case 18:
//C
this.state = 19;
RDebugUtils.currentLine=19398693;
 //BA.debugLineNum = 19398693;BA.debugLine="Log(\"appUpdater(), Job Failed \" & lnk)";
anywheresoftware.b4a.keywords.Common.LogImpl("319398693","appUpdater(), Job Failed "+parent._lnk,0);
 if (true) break;

case 19:
//C
this.state = -1;
;
RDebugUtils.currentLine=19398695;
 //BA.debugLineNum = 19398695;BA.debugLine="j.Release";
_j._release /*String*/ (null);
RDebugUtils.currentLine=19398697;
 //BA.debugLineNum = 19398697;BA.debugLine="End Sub";
if (true) break;
}} 
       catch (Exception e0) {
			
if (catchState == 0)
    throw e0;
else {
    state = catchState;
processBA.setLastException(e0);}
            }
        }
    }
}
}