protected override void OnStart() { base.OnStart(); if (_broadcastReceiver == null) { _broadcastReceiver = new BeatOnServiceTransceiver(this); _broadcastReceiver.ServiceStatusInfoReceived += (o, e) => { //_webView.LoadUrl($"http://localhost:50000"); _webView.LoadUrl(e.Url); _broadcastReceiver.UnregisterIntents(); _broadcastReceiver.RegisterContextForIntents(BeatOnIntent.InstallPackage, BeatOnIntent.UninstallPackage); _broadcastReceiver.UninstallPackageReceived += (s, p) => { BeatSaberModder m = new BeatSaberModder(this, null, null); m.TriggerPackageUninstall(p.PackageUrl); }; _broadcastReceiver.InstallPackageReceived += (s, p) => { BeatSaberModder m = new BeatSaberModder(this, null, null); m.TriggerPackageInstall(p.PackageUrl); }; _broadcastReceiver.HardQuitReceived += (s, i) => { Intent serviceToStart = new Intent(this, typeof(BeatOnService)); Log.LogMsg("Stopping service"); StopService(serviceToStart); Log.LogMsg("Service Stopped"); Log.LogMsg("Killing app"); Android.OS.Process.KillProcess(Android.OS.Process.MyPid()); Java.Lang.JavaSystem.Exit(0); Log.LogMsg("Should be dead"); }; _broadcastReceiver.IntentActionReceived += (s, i) => { if (i.Type == IntentActionType.Exit) { var intent = new Intent("com.oculus.system_activity"); intent.SetPackage(i.PackageName); intent.PutExtra("intent_pkg", "com.oculus.vrshell"); intent.PutExtra("intent_cmd", "{\"Command\":\"exitToHome\", \"PlatformUIVersion\":3, \"ToPackage\":\"" + i.PackageName + "\"}"); SendBroadcast(intent); intent.PutExtra("intent_cmd", "{\"Command\":\"returnToLauncher\", \"PlatformUIVersion\":3, \"ToPackage\":\"" + i.PackageName + "\"}"); SendBroadcast(intent); } }; }; } if (!_broadcastReceiver.IsRegistered) { _broadcastReceiver.RegisterContextForIntents(BeatOnIntent.ServerStatusInfo); } //if (_serviceConnection == null) //{ // this._serviceConnection = new BeatOnServiceConnection(this); //} //string s = _serviceConnection.WebUrl; }
public override void OnDestroy() { Log.LogMsg("BeatOnService OnDestroy called"); StopStatusTimer(); _transciever.UnregisterIntents(); _transciever.Dispose(); _transciever = null; //todo: shut down stuff here _core.Dispose(); _core = null; base.OnDestroy(); }
protected override void OnStart() { base.OnStart(); if (_broadcastReceiver == null) { _broadcastReceiver = new BeatOnServiceTransceiver(this); _broadcastReceiver.ServiceStatusInfoReceived += (o, e) => { //_webView.LoadUrl($"http://localhost:50000"); _webView.LoadUrl(e.Url); _broadcastReceiver.UnregisterIntents(); _broadcastReceiver.RegisterContextForIntents(BeatOnIntent.InstallPackage, BeatOnIntent.UninstallPackage); _broadcastReceiver.UninstallPackageReceived += (s, p) => { BeatSaberModder m = new BeatSaberModder(this, null, null); m.TriggerPackageUninstall(p.PackageUrl); }; _broadcastReceiver.InstallPackageReceived += (s, p) => { BeatSaberModder m = new BeatSaberModder(this, null, null); m.TriggerPackageInstall(p.PackageUrl); }; }; } if (!_broadcastReceiver.IsRegistered) { _broadcastReceiver.RegisterContextForIntents(BeatOnIntent.ServerStatusInfo); } //if (_serviceConnection == null) //{ // this._serviceConnection = new BeatOnServiceConnection(this); //} //string s = _serviceConnection.WebUrl; }