package SHARK2.keymon.com.mx;


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, "SHARK2.keymon.com.mx", "SHARK2.keymon.com.mx.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, "SHARK2.keymon.com.mx.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 SHARK2.keymon.com.mx.appupdater._mnewversion _newapp = null;
public b4a.example.dateutils _dateutils = null;
public SHARK2.keymon.com.mx.main _main = null;
public SHARK2.keymon.com.mx.mapa_cliente _mapa_cliente = null;
public SHARK2.keymon.com.mx.mapa_rutas _mapa_rutas = null;
public SHARK2.keymon.com.mx.notificationservice _notificationservice = null;
public SHARK2.keymon.com.mx.pendientes _pendientes = null;
public SHARK2.keymon.com.mx.starter _starter = null;
public SHARK2.keymon.com.mx.subs _subs = null;
public SHARK2.keymon.com.mx.tracker _tracker = null;
public SHARK2.keymon.com.mx.newinst2 _newinst2 = null;
public SHARK2.keymon.com.mx.b4xpages _b4xpages = null;
public SHARK2.keymon.com.mx.b4xcollections _b4xcollections = null;
public SHARK2.keymon.com.mx.httputils2service _httputils2service = null;
public SHARK2.keymon.com.mx.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=1114112;
 //BA.debugLineNum = 1114112;BA.debugLine="Private Sub CreateNotification(Title As String, Co";
RDebugUtils.currentLine=1114113;
 //BA.debugLineNum = 1114113;BA.debugLine="n2.Initialize";
_n2.Initialize();
RDebugUtils.currentLine=1114114;
 //BA.debugLineNum = 1114114;BA.debugLine="n2.Light = False";
_n2.setLight(anywheresoftware.b4a.keywords.Common.False);
RDebugUtils.currentLine=1114115;
 //BA.debugLineNum = 1114115;BA.debugLine="n2.Vibrate = Vibrate";
_n2.setVibrate(_vibrate);
RDebugUtils.currentLine=1114116;
 //BA.debugLineNum = 1114116;BA.debugLine="n2.Sound = Sound";
_n2.setSound(_sound);
RDebugUtils.currentLine=1114117;
 //BA.debugLineNum = 1114117;BA.debugLine="n2.OnGoingEvent = True";
_n2.setOnGoingEvent(anywheresoftware.b4a.keywords.Common.True);
RDebugUtils.currentLine=1114118;
 //BA.debugLineNum = 1114118;BA.debugLine="n2.Icon = Icon";
_n2.setIcon(_icon);
RDebugUtils.currentLine=1114119;
 //BA.debugLineNum = 1114119;BA.debugLine="n2.SetInfo(Title, Content, TargetActivity)";
_n2.SetInfoNew(processBA,BA.ObjectToCharSequence(_title),BA.ObjectToCharSequence(_content),_targetactivity);
RDebugUtils.currentLine=1114120;
 //BA.debugLineNum = 1114120;BA.debugLine="n2.Notify(nNewAppnID)";
_n2.Notify(_nnewappnid);
RDebugUtils.currentLine=1114121;
 //BA.debugLineNum = 1114121;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=1048576;
 //BA.debugLineNum = 1048576;BA.debugLine="Private Sub CreateNotification2(Title As String, C";
RDebugUtils.currentLine=1048579;
 //BA.debugLineNum = 1048579;BA.debugLine="pN.Initialize2(pN.IMPORTANCE_HIGH)";
_pn.Initialize2(_pn.IMPORTANCE_HIGH);
RDebugUtils.currentLine=1048582;
 //BA.debugLineNum = 1048582;BA.debugLine="pN.Vibrate = Vibrate";
_pn.setVibrate(_vibrate);
RDebugUtils.currentLine=1048583;
 //BA.debugLineNum = 1048583;BA.debugLine="pN.Sound = Sound";
_pn.setSound(_sound);
RDebugUtils.currentLine=1048585;
 //BA.debugLineNum = 1048585;BA.debugLine="pN.Icon = Icon";
_pn.setIcon(_icon);
RDebugUtils.currentLine=1048586;
 //BA.debugLineNum = 1048586;BA.debugLine="pN.AutoCancel = True";
_pn.setAutoCancel(anywheresoftware.b4a.keywords.Common.True);
RDebugUtils.currentLine=1048587;
 //BA.debugLineNum = 1048587;BA.debugLine="pN.SetInfo(Title, Content, TargetActivity)";
_pn.SetInfoNew(processBA,BA.ObjectToCharSequence(_title),BA.ObjectToCharSequence(_content),_targetactivity);
RDebugUtils.currentLine=1048588;
 //BA.debugLineNum = 1048588;BA.debugLine="pN.Notify(pNID)";
_pn.Notify(_pnid);
RDebugUtils.currentLine=1048589;
 //BA.debugLineNum = 1048589;BA.debugLine="Return pN";
if (true) return _pn;
RDebugUtils.currentLine=1048590;
 //BA.debugLineNum = 1048590;BA.debugLine="End Sub";
return null;
}
public static SHARK2.keymon.com.mx.httpjob  _download(Object _callback,String _link) throws Exception{
RDebugUtils.currentModule="appupdater";
if (Debug.shouldDelegate(processBA, "download", false))
	 {return ((SHARK2.keymon.com.mx.httpjob) Debug.delegate(processBA, "download", new Object[] {_callback,_link}));}
SHARK2.keymon.com.mx.httpjob _j = null;
RDebugUtils.currentLine=983040;
 //BA.debugLineNum = 983040;BA.debugLine="Sub Download (Callback As Object, link As String)";
RDebugUtils.currentLine=983041;
 //BA.debugLineNum = 983041;BA.debugLine="Dim j As HttpJob";
_j = new SHARK2.keymon.com.mx.httpjob();
RDebugUtils.currentLine=983042;
 //BA.debugLineNum = 983042;BA.debugLine="j.Initialize(\"\", Callback)";
_j._initialize /*String*/ (null,processBA,"",_callback);
RDebugUtils.currentLine=983043;
 //BA.debugLineNum = 983043;BA.debugLine="j.Download(link)";
_j._download /*String*/ (null,_link);
RDebugUtils.currentLine=983044;
 //BA.debugLineNum = 983044;BA.debugLine="Return j";
if (true) return _j;
RDebugUtils.currentLine=983045;
 //BA.debugLineNum = 983045;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=917504;
 //BA.debugLineNum = 917504;BA.debugLine="Sub download_Destroy";
RDebugUtils.currentLine=917505;
 //BA.debugLineNum = 917505;BA.debugLine="n2.Cancel(n2ID)";
_n2.Cancel(_n2id);
RDebugUtils.currentLine=917506;
 //BA.debugLineNum = 917506;BA.debugLine="Service.StopForeground(n2ID)";
mostCurrent._service.StopForeground(_n2id);
RDebugUtils.currentLine=917507;
 //BA.debugLineNum = 917507;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(SHARK2.keymon.com.mx.appupdater parent) {
this.parent = parent;
}
SHARK2.keymon.com.mx.appupdater parent;
SHARK2.keymon.com.mx.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=851971;
 //BA.debugLineNum = 851971;BA.debugLine="Log(\"Descargando actualización\")";
anywheresoftware.b4a.keywords.Common.LogImpl("5851971","Descargando actualización",0);
RDebugUtils.currentLine=851972;
 //BA.debugLineNum = 851972;BA.debugLine="B4XPages.ShowPage(\"login\")";
parent.mostCurrent._b4xpages._showpage /*String*/ (processBA,"login");
RDebugUtils.currentLine=851973;
 //BA.debugLineNum = 851973;BA.debugLine="Starter.muestraProgreso = 1";
parent.mostCurrent._starter._muestraprogreso /*String*/  = BA.NumberToString(1);
RDebugUtils.currentLine=851974;
 //BA.debugLineNum = 851974;BA.debugLine="Dim job_newAPP As HttpJob";
_job_newapp = new SHARK2.keymon.com.mx.httpjob();
RDebugUtils.currentLine=851975;
 //BA.debugLineNum = 851975;BA.debugLine="job_newAPP.Initialize(\"job_newAPP\",Me)";
_job_newapp._initialize /*String*/ (null,processBA,"job_newAPP",appupdater.getObject());
RDebugUtils.currentLine=851976;
 //BA.debugLineNum = 851976;BA.debugLine="job_newAPP.Download(newApp.appLink)";
_job_newapp._download /*String*/ (null,parent._newapp.appLink /*String*/ );
RDebugUtils.currentLine=851977;
 //BA.debugLineNum = 851977;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 = (SHARK2.keymon.com.mx.httpjob) result[0];
;
RDebugUtils.currentLine=851978;
 //BA.debugLineNum = 851978;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=851980;
 //BA.debugLineNum = 851980;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=851981;
 //BA.debugLineNum = 851981;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=851984;
 //BA.debugLineNum = 851984;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=851985;
 //BA.debugLineNum = 851985;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=851986;
 //BA.debugLineNum = 851986;BA.debugLine="outNewAPK.Close";
_outnewapk.Close();
RDebugUtils.currentLine=851987;
 //BA.debugLineNum = 851987;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("5851987","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=851989;
 //BA.debugLineNum = 851989;BA.debugLine="job_newAPP.Release";
_job_newapp._release /*String*/ (null);
RDebugUtils.currentLine=851991;
 //BA.debugLineNum = 851991;BA.debugLine="Dim in As Intent";
_in = new anywheresoftware.b4a.objects.IntentWrapper();
RDebugUtils.currentLine=851992;
 //BA.debugLineNum = 851992;BA.debugLine="in.Initialize(in.ACTION_VIEW,\"\" )";
_in.Initialize(_in.ACTION_VIEW,"");
RDebugUtils.currentLine=851993;
 //BA.debugLineNum = 851993;BA.debugLine="SetFileUriAsIntentData(in, \"newapp.apk\")";
_setfileuriasintentdata(_in,"newapp.apk");
RDebugUtils.currentLine=851995;
 //BA.debugLineNum = 851995;BA.debugLine="in.SetType(\"application/vnd.android.package-archi";
_in.SetType("application/vnd.android.package-archive");
RDebugUtils.currentLine=851996;
 //BA.debugLineNum = 851996;BA.debugLine="StartActivity(in)";
anywheresoftware.b4a.keywords.Common.StartActivity(processBA,(Object)(_in.getObject()));
RDebugUtils.currentLine=851997;
 //BA.debugLineNum = 851997;BA.debugLine="n2.Cancel(nNewAppnID)";
parent._n2.Cancel(parent._nnewappnid);
RDebugUtils.currentLine=851998;
 //BA.debugLineNum = 851998;BA.debugLine="B4XPages.MainPage.ocultaProgreso";
parent.mostCurrent._b4xpages._mainpage /*SHARK2.keymon.com.mx.b4xmainpage*/ (processBA)._ocultaprogreso /*String*/ (null);
RDebugUtils.currentLine=852000;
 //BA.debugLineNum = 852000;BA.debugLine="StopService(Me)";
anywheresoftware.b4a.keywords.Common.StopService(processBA,appupdater.getObject());
RDebugUtils.currentLine=852002;
 //BA.debugLineNum = 852002;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=1376256;
 //BA.debugLineNum = 1376256;BA.debugLine="Sub SetFileUriAsIntentData (Intent As Intent, File";
RDebugUtils.currentLine=1376257;
 //BA.debugLineNum = 1376257;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=1376258;
 //BA.debugLineNum = 1376258;BA.debugLine="jo.RunMethod(\"setData\", Array(GetFileUri(FileName";
_jo.RunMethod("setData",new Object[]{_getfileuri(_filename)});
RDebugUtils.currentLine=1376259;
 //BA.debugLineNum = 1376259;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=1376260;
 //BA.debugLineNum = 1376260;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=786432;
 //BA.debugLineNum = 786432;BA.debugLine="Sub download_Start (StartingIntent As Intent)";
RDebugUtils.currentLine=786433;
 //BA.debugLineNum = 786433;BA.debugLine="download_newApk";
_download_newapk();
RDebugUtils.currentLine=786434;
 //BA.debugLineNum = 786434;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=1245184;
 //BA.debugLineNum = 1245184;BA.debugLine="Sub fileProvider_init";
RDebugUtils.currentLine=1245185;
 //BA.debugLineNum = 1245185;BA.debugLine="Dim p As Phone";
_p = new anywheresoftware.b4a.phone.Phone();
RDebugUtils.currentLine=1245186;
 //BA.debugLineNum = 1245186;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=1245187;
 //BA.debugLineNum = 1245187;BA.debugLine="UseFileProvider = True";
_usefileprovider = anywheresoftware.b4a.keywords.Common.True;
RDebugUtils.currentLine=1245188;
 //BA.debugLineNum = 1245188;BA.debugLine="SharedFolder = File.Combine(File.DirInternal, \"s";
_sharedfolder = anywheresoftware.b4a.keywords.Common.File.Combine(anywheresoftware.b4a.keywords.Common.File.getDirInternal(),"shared");
RDebugUtils.currentLine=1245189;
 //BA.debugLineNum = 1245189;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=1245190;
 //BA.debugLineNum = 1245190;BA.debugLine="File.MakeDir(\"\", SharedFolder)";
anywheresoftware.b4a.keywords.Common.File.MakeDir("",_sharedfolder);
 };
 }else {
RDebugUtils.currentLine=1245193;
 //BA.debugLineNum = 1245193;BA.debugLine="UseFileProvider = False";
_usefileprovider = anywheresoftware.b4a.keywords.Common.False;
RDebugUtils.currentLine=1245194;
 //BA.debugLineNum = 1245194;BA.debugLine="SharedFolder = rp.GetSafeDirDefaultExternal(\"sha";
_sharedfolder = _rp.GetSafeDirDefaultExternal("shared");
 };
RDebugUtils.currentLine=1245196;
 //BA.debugLineNum = 1245196;BA.debugLine="Log($\"Using FileProvider? ${UseFileProvider}\"$)";
anywheresoftware.b4a.keywords.Common.LogImpl("51245196",("Using FileProvider? "+anywheresoftware.b4a.keywords.Common.SmartStringFormatter("",(Object)(_usefileprovider))+""),0);
RDebugUtils.currentLine=1245197;
 //BA.debugLineNum = 1245197;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=1310720;
 //BA.debugLineNum = 1310720;BA.debugLine="Sub GetFileUri (FileName As String) As Object";
RDebugUtils.currentLine=1310721;
 //BA.debugLineNum = 1310721;BA.debugLine="Try";
try {RDebugUtils.currentLine=1310722;
 //BA.debugLineNum = 1310722;BA.debugLine="If Not(UseFileProvider) Then";
if (anywheresoftware.b4a.keywords.Common.Not(_usefileprovider)) { 
RDebugUtils.currentLine=1310723;
 //BA.debugLineNum = 1310723;BA.debugLine="Dim uri As JavaObject";
_uri = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=1310724;
 //BA.debugLineNum = 1310724;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=1310726;
 //BA.debugLineNum = 1310726;BA.debugLine="Dim f As JavaObject";
_f = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=1310727;
 //BA.debugLineNum = 1310727;BA.debugLine="f.InitializeNewInstance(\"java.io.File\", Array(Sh";
_f.InitializeNewInstance("java.io.File",new Object[]{(Object)(_sharedfolder),(Object)(_filename)});
RDebugUtils.currentLine=1310728;
 //BA.debugLineNum = 1310728;BA.debugLine="Dim fp As JavaObject";
_fp = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=1310729;
 //BA.debugLineNum = 1310729;BA.debugLine="Dim context As JavaObject";
_context = new anywheresoftware.b4j.object.JavaObject();
RDebugUtils.currentLine=1310730;
 //BA.debugLineNum = 1310730;BA.debugLine="context.InitializeContext";
_context.InitializeContext(processBA);
RDebugUtils.currentLine=1310731;
 //BA.debugLineNum = 1310731;BA.debugLine="fp.InitializeStatic(\"android.support.v4.content.";
_fp.InitializeStatic("androidx.core.content.FileProvider");
RDebugUtils.currentLine=1310732;
 //BA.debugLineNum = 1310732;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=1310734;
 //BA.debugLineNum = 1310734;BA.debugLine="Log(\"FileProvider::GetFileUri - error - \" & Last";
anywheresoftware.b4a.keywords.Common.LogImpl("51310734","FileProvider::GetFileUri - error - "+anywheresoftware.b4a.keywords.Common.LastException(processBA).getMessage(),0);
RDebugUtils.currentLine=1310735;
 //BA.debugLineNum = 1310735;BA.debugLine="Return \"\"";
if (true) return (Object)("");
 };
RDebugUtils.currentLine=1310737;
 //BA.debugLineNum = 1310737;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=655360;
 //BA.debugLineNum = 655360;BA.debugLine="Sub Service_Create";
RDebugUtils.currentLine=655361;
 //BA.debugLineNum = 655361;BA.debugLine="Log(\"appUpdater(), Service_Create\")";
anywheresoftware.b4a.keywords.Common.LogImpl("5655361","appUpdater(), Service_Create",0);
RDebugUtils.currentLine=655362;
 //BA.debugLineNum = 655362;BA.debugLine="newApp.Initialize";
_newapp.Initialize();
RDebugUtils.currentLine=655363;
 //BA.debugLineNum = 655363;BA.debugLine="Service.AutomaticForegroundMode = Service.AUTOMAT";
mostCurrent._service.AutomaticForegroundMode = mostCurrent._service.AUTOMATIC_FOREGROUND_NEVER;
RDebugUtils.currentLine=655364;
 //BA.debugLineNum = 655364;BA.debugLine="n2.Initialize";
_n2.Initialize();
RDebugUtils.currentLine=655365;
 //BA.debugLineNum = 655365;BA.debugLine="nativeMe.InitializeContext";
_nativeme.InitializeContext(processBA);
RDebugUtils.currentLine=655366;
 //BA.debugLineNum = 655366;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=1179648;
 //BA.debugLineNum = 1179648;BA.debugLine="Sub Service_Destroy";
RDebugUtils.currentLine=1179649;
 //BA.debugLineNum = 1179649;BA.debugLine="Log(\"appUpdater(), Service_Destroy\")";
anywheresoftware.b4a.keywords.Common.LogImpl("51179649","appUpdater(), Service_Destroy",0);
RDebugUtils.currentLine=1179650;
 //BA.debugLineNum = 1179650;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(SHARK2.keymon.com.mx.appupdater parent,anywheresoftware.b4a.objects.IntentWrapper _startingintent) {
this.parent = parent;
this._startingintent = _startingintent;
}
SHARK2.keymon.com.mx.appupdater parent;
anywheresoftware.b4a.objects.IntentWrapper _startingintent;
SHARK2.keymon.com.mx.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=720897;
 //BA.debugLineNum = 720897;BA.debugLine="Log(\"appUpdater(), Service_Start\")";
anywheresoftware.b4a.keywords.Common.LogImpl("5720897","appUpdater(), Service_Start",0);
RDebugUtils.currentLine=720899;
 //BA.debugLineNum = 720899;BA.debugLine="B4XPages.MainPage.muestraProgreso(\"Buscando actua";
parent.mostCurrent._b4xpages._mainpage /*SHARK2.keymon.com.mx.b4xmainpage*/ (processBA)._muestraprogreso /*String*/ (null,"Buscando actualización");
RDebugUtils.currentLine=720900;
 //BA.debugLineNum = 720900;BA.debugLine="Log(\"Buscando actualización\")";
anywheresoftware.b4a.keywords.Common.LogImpl("5720900","Buscando actualización",0);
RDebugUtils.currentLine=720901;
 //BA.debugLineNum = 720901;BA.debugLine="fileProvider_init";
_fileprovider_init();
RDebugUtils.currentLine=720902;
 //BA.debugLineNum = 720902;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 = (SHARK2.keymon.com.mx.httpjob) result[0];
;
RDebugUtils.currentLine=720903;
 //BA.debugLineNum = 720903;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=720904;
 //BA.debugLineNum = 720904;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=720905;
 //BA.debugLineNum = 720905;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=720907;
 //BA.debugLineNum = 720907;BA.debugLine="newApp.appLink = app(3)	'Liga a nueva app";
parent._newapp.appLink /*String*/  = _app[(int) (3)];
RDebugUtils.currentLine=720908;
 //BA.debugLineNum = 720908;BA.debugLine="newApp.newMsg = app(1)	'Texto de que hay actual";
parent._newapp.newMsg /*String*/  = _app[(int) (1)];
RDebugUtils.currentLine=720909;
 //BA.debugLineNum = 720909;BA.debugLine="newApp.okMsg = app(2)	'Texto de app al corrient";
parent._newapp.okMsg /*String*/  = _app[(int) (2)];
RDebugUtils.currentLine=720910;
 //BA.debugLineNum = 720910;BA.debugLine="newApp.version = app(0)	'Version actual";
parent._newapp.version /*String*/  = _app[(int) (0)];
RDebugUtils.currentLine=720912;
 //BA.debugLineNum = 720912;BA.debugLine="Log($\"Application.VersionName=${Application.Ver";
anywheresoftware.b4a.keywords.Common.LogImpl("5720912",("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=720915;
 //BA.debugLineNum = 720915;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=720916;
 //BA.debugLineNum = 720916;BA.debugLine="newApp.update = False";
parent._newapp.update /*boolean*/  = anywheresoftware.b4a.keywords.Common.False;
RDebugUtils.currentLine=720917;
 //BA.debugLineNum = 720917;BA.debugLine="Log(\"No new app\")";
anywheresoftware.b4a.keywords.Common.LogImpl("5720917","No new app",0);
RDebugUtils.currentLine=720918;
 //BA.debugLineNum = 720918;BA.debugLine="B4XPages.ShowPage(\"updateAvailable\")";
parent.mostCurrent._b4xpages._showpage /*String*/ (processBA,"updateAvailable");
RDebugUtils.currentLine=720920;
 //BA.debugLineNum = 720920;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=720922;
 //BA.debugLineNum = 720922;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=720923;
 //BA.debugLineNum = 720923;BA.debugLine="newApp.update = True";
parent._newapp.update /*boolean*/  = anywheresoftware.b4a.keywords.Common.True;
RDebugUtils.currentLine=720924;
 //BA.debugLineNum = 720924;BA.debugLine="Log(\"New app true\")";
anywheresoftware.b4a.keywords.Common.LogImpl("5720924","New app true",0);
RDebugUtils.currentLine=720925;
 //BA.debugLineNum = 720925;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=720930;
 //BA.debugLineNum = 720930;BA.debugLine="Log(\"appUpdater(), Job Failed, error  \" & LastE";
anywheresoftware.b4a.keywords.Common.LogImpl("5720930","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=720933;
 //BA.debugLineNum = 720933;BA.debugLine="Log(\"appUpdater(), Job Failed \" & lnk)";
anywheresoftware.b4a.keywords.Common.LogImpl("5720933","appUpdater(), Job Failed "+parent._lnk,0);
 if (true) break;

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