Beispiel #1
0
        public static bool DoRunCmd(string request, string vmName)
        {
            bool flag = false;

            if (VmCmdHandler.RunCommand(request, vmName, "bgp") == "ok")
            {
                flag = true;
                if (request.Contains("mpi.v23"))
                {
                    Logger.Info("starting amidebug. not sending message to frontend.");
                    return(flag);
                }
                IntPtr window = InteropWindow.FindWindow((string)null, BlueStacks.Common.Strings.AppTitle);
                if (window != IntPtr.Zero)
                {
                    Logger.Info("Sending WM_USER_SHOW_WINDOW to Frontend Handle {0}", (object)window);
                    InteropWindow.SendMessage(window, 1025U, IntPtr.Zero, IntPtr.Zero);
                }
            }
            string appName      = "";
            string packageName  = "";
            string activityName = "";
            string imageName    = "";
            string appstore     = "";

            if (request.StartsWith("runex"))
            {
                string str = new Regex("^runex\\s+").Replace(request, "");
                packageName = str.Substring(0, str.IndexOf('/'));
                if (!new JsonParser(vmName).GetAppInfoFromPackageName(packageName, out appName, out imageName, out activityName, out appstore))
                {
                    Logger.Error("Failed to get App info for: {0}. Not adding in launcher dock.", (object)packageName);
                    return(flag);
                }
            }
            HDAgent.GetVersionFromPackage(packageName, vmName);
            string str1 = RegistryStrings.GadgetDir + imageName;

            return(flag);
        }
        public static void AppUninstalled(
            string packageName,
            string vmName,
            string source,
            string campaignName,
            string clientVersion)
        {
            string appName = AppUninstaller.RemoveFromJson(packageName, vmName);

            try
            {
                if (Oem.Instance.IsCreateDesktopIconForApp)
                {
                    if (string.Compare(vmName, "Android", true) == 0)
                    {
                        foreach (string file in Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), "*.lnk", SearchOption.AllDirectories))
                        {
                            try
                            {
                                if (Utils.IsShortcutArgumentContainsPackage(file, packageName))
                                {
                                    File.Delete(file);
                                }
                            }
                            catch (Exception ex)
                            {
                                Logger.Warning("Error while checking file for deleting shortcut, filename: " + file);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Warning("Error while deleting shortcut icons for apps from desktop. Error: " + ex.ToString());
            }
            if (Oem.Instance.IsOEMWithBGPClient)
            {
                try
                {
                    HTTPUtils.SendRequestToClient("appUninstalled", new Dictionary <string, string>()
                    {
                        {
                            "package",
                            packageName
                        },
                        {
                            "name",
                            appName
                        }
                    }, vmName, 0, (Dictionary <string, string>)null, false, 1, 0, "bgp");
                }
                catch (Exception ex)
                {
                    Logger.Error("Exception in AppUninstalled: " + ex.ToString());
                }
            }
            AppUninstaller.DeleteGlAppDataIfExist(packageName);
            Logger.Info("Sending App Uninstall stats");
            string versionFromPackage     = HDAgent.GetVersionFromPackage(packageName, vmName);
            string versionNameFromPackage = HDAgent.GetVersionNameFromPackage(packageName, vmName);

            Stats.SendAppInstallStats(appName, packageName, versionFromPackage, versionNameFromPackage, "false", "false", source, vmName, campaignName, clientVersion, "");
            if (appName == "")
            {
                appName = packageName;
            }
            string message = string.Format("{0} {1}", (object)appName, (object)LocaleStrings.GetLocalizedString("STRING_UNINSTALL_SUCCESS", ""));

            if (!Features.IsFeatureEnabled(4UL))
            {
                return;
            }
            SysTray.ShowInfoShort(LocaleStrings.GetLocalizedString("STRING_BLUESTACKS", ""), message, vmName, packageName, "0");
        }