Пример #1
0
        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;
        }
Пример #2
0
        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;
        }