private static void ShowConnectedView()
 {
     Logger.Info(nameof(ShowConnectedView));
     if (VMWindow.Instance.IsShownOnce)
     {
         MediaManager.UnmuteEngine();
     }
     else
     {
         MediaManager.MuteEngine(false);
     }
     InputMapper.Instance.SetMonitor(AndroidBootUp.mMonitor);
     GPSManager.Instance().SetMonitor(AndroidBootUp.mMonitor);
     Logger.Debug("Raising Layout event");
     Opengl.userInteracted = true;
     if (!Opengl.IsSubWindowVisible())
     {
         Logger.Info("showing window");
         Opengl.glWindowAction = GlWindowAction.Show;
         Opengl.userInteracted = false;
     }
     LayoutManager.FixupGuestDisplay();
     AndroidBootUp.isAndroidReady = true;
     VMWindow.Instance.BootUpTasks();
 }
Example #2
0
        public static bool HideSubWindow()
        {
            IntPtr subWindow = Opengl.GetSubWindow();

            if (subWindow == IntPtr.Zero)
            {
                return(false);
            }
            InteropWindow.ShowWindow(subWindow, 0);
            return(true);
        }
Example #3
0
 internal static void SetCurrentAppData(HttpListenerRequest req, HttpListenerResponse res)
 {
     Logger.Info("In SetCurrentAppData");
     try
     {
         RequestData request = HTTPUtils.ParseRequest(req);
         AppHandler.mCurrentAppPackage  = request.Data["package"];
         AppHandler.mCurrentAppActivity = request.Data["activity"];
         Logger.Info("SetCurrentAppData mCurrentAppPackage = " + AppHandler.mCurrentAppPackage);
         Logger.Info("SetCurrentAppData mCurrentAppActivity = " + AppHandler.mCurrentAppActivity);
         Logger.Info("Looking for: " + AppHandler.sAppPackage);
         if (AppHandler.sAppLaunchedFromRunApp || AppHandler.sAppIconName.Contains(AppHandler.mCurrentAppActivity))
         {
             AppHandler.appLaunched            = true;
             AppHandler.sAppLaunchedFromRunApp = false;
         }
         if (!Opt.Instance.sysPrep && Oem.Instance.IsSendGameManagerRequest)
         {
             string str = request.Data["callingPackage"];
             HTTPUtils.SendRequestToClient("appLaunched", new Dictionary <string, string>()
             {
                 {
                     "package",
                     AppHandler.mCurrentAppPackage
                 },
                 {
                     "activity",
                     AppHandler.mCurrentAppActivity
                 },
                 {
                     "callingPackage",
                     str
                 }
             }, MultiInstanceStrings.VmName, 0, (Dictionary <string, string>)null, false, 1, 0, "bgp");
         }
         if (Features.ExitOnHome() && AppHandler.appLaunched && (AppHandler.mCurrentAppPackage == "com.bluestacks.gamepophome" || AppHandler.mCurrentAppPackage == "com.bluestacks.appmart"))
         {
             Logger.Info("Reached home app. Closing frontend.");
             Environment.Exit(0);
         }
         Opengl.HandleAppActivity(AppHandler.mCurrentAppPackage, AppHandler.mCurrentAppActivity);
         InputMapper.Instance.SetPackage(AppHandler.mCurrentAppPackage);
         HTTPHandler.WriteSuccessJson(res);
     }
     catch (Exception ex)
     {
         Logger.Error("Exception in Server SetCurrentAppData. Err : " + ex.ToString());
         HTTPHandler.WriteErrorJson(ex.Message, res);
     }
 }
Example #4
0
        public static bool Init(
            string vmName,
            IntPtr h,
            int x,
            int y,
            int width,
            int height,
            Opengl.GlReadyHandler glReadyHandler,
            Opengl.GlInitFailedHandler glInitFailedHandler)
        {
            Logger.Info("GLMode: " + Opengl.GlMode.ToString());
            if (Opengl.GlMode == 0)
            {
                glReadyHandler();
                Opengl.SignalGlReady(vmName);
                return(true);
            }
            Opengl.Graphics.PgaLoggerInit(Logger.GetHdLoggerCallback());
            EventWaitHandle eventWaitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);

            Logger.Info("Initializing System Renderer");
            Opengl.Graphics.PgaServerInit(h, 0, 0, width, height, eventWaitHandle.SafeWaitHandle, RegistryManager.Instance.Guest[MultiInstanceStrings.VmName].GlRenderMode, RegistryManager.Instance.CurrentEngine);
            eventWaitHandle.WaitOne();
            Opengl.initialized = true;
            if (!Opengl.GetPgaServerInitStatus())
            {
                glInitFailedHandler();
                return(false);
            }
            Opengl.Graphics.PgaSetAstcConfig((int)RegistryManager.Instance.Guest[vmName].ASTCOption);
            new Thread((ThreadStart)(() =>
            {
                try
                {
                    int num = Opengl.Graphics.PgaIsHwAstcSupported();
                    Logger.Info("value of isHwAstcSuppported is .." + num.ToString());
                    RegistryManager.Instance.Guest[vmName].IsHardwareAstcSupported = num == 1;
                }
                catch (Exception ex)
                {
                    Logger.Error("error while gl3 check.." + ex.ToString());
                }
            }))
            {
                IsBackground = true
            }.Start();
            new Thread((ThreadStart)(() =>
            {
                try
                {
                    int num = Opengl.Graphics.PgaIsGLES3();
                    Logger.Info("value of gl3 is .." + num.ToString());
                    RegistryManager.Instance.GLES3 = num == 1;
                }
                catch (Exception ex)
                {
                    Logger.Error("error while gl3 check.." + ex.ToString());
                }
            }))
            {
                IsBackground = true
            }.Start();
            glReadyHandler();
            Opengl.SignalGlReady(vmName);
            Opengl.SetVsync(RegistryManager.Instance.Guest[vmName].EnableVSync);
            if (RegistryManager.Instance.Guest[vmName].ShowFPS == 1)
            {
                Opengl.ShowFPS(1);
            }
            return(true);
        }
Example #5
0
 public static bool ResizeSubWindow(int x, int y, int cx, int cy)
 {
     InteropWindow.SetWindowPos(Opengl.GetSubWindow(), IntPtr.Zero, x, y, cx, cy, 16468U);
     return(true);
 }
Example #6
0
        public static bool IsSubWindowVisible()
        {
            IntPtr subWindow = Opengl.GetSubWindow();

            return(!(subWindow == IntPtr.Zero) && InteropWindow.IsWindowVisible(subWindow));
        }