Пример #1
0
        private void UpdatePickedApp(AppPackageSetting app, BindableProperty pickedAppProperty, IList <InstalledApplicationInfo> installedApplications)
        {
            InstalledApplicationInfo pickedApp = this.GetValue(pickedAppProperty) as InstalledApplicationInfo;

            // If we already have something set, don't do anything
            if (pickedApp != null)
            {
                return;
            }

            // See if we can find the app in AppSettings for this property
            string appId;
            string packageName;

            AppSettings.GetAppPackageInfo(app, out appId, out packageName);
            if (string.IsNullOrEmpty(appId) || string.IsNullOrEmpty(packageName))
            {
                // no app set in settings
                return;
            }

            // Try to find the app in the list.
            InstalledApplicationInfo installedApplicationInfo = installedApplications.FirstOrDefault((info) => (appId == info.AppId) && (packageName == info.PackageName));

            if (installedApplicationInfo != null)
            {
                this.SetValue(pickedAppProperty, installedApplicationInfo);
                return;
            }

            // Couldn't find a matching app.  Just leave us as null - we won't overwrite the previous setting
            // even if the presses "save"
        }
Пример #2
0
        private async Task LaunchApp(AppPackageSetting app)
        {
            string appId;
            string packageName;

            if (app == AppPackageSetting.ExperienceApp && AppSettings.StopAllAppsBeforeExperienceLaunch)
            {
                await this.StopAllAppsImpl();
            }

            AppSettings.GetAppPackageInfo(app, out appId, out packageName);
            if (!string.IsNullOrEmpty(appId) && !string.IsNullOrEmpty(packageName) && this.activeDevice != null)
            {
                await this.activeDevice.LaunchApplicationAsync(appId, packageName);
            }
        }
Пример #3
0
 private static string AppIdKey(AppPackageSetting app)
 {
     return(appPackage + app.ToString() + "AppId");
 }
Пример #4
0
 private static string AppPackageNameKey(AppPackageSetting app)
 {
     return(appPackage + app.ToString() + "PackageName");
 }
Пример #5
0
 public static void SetAppPackageInfo(AppPackageSetting app, string appId, string packageName)
 {
     SetLocalSetting(appId, AppIdKey(app));
     SetLocalSetting(packageName, AppPackageNameKey(app));
 }
Пример #6
0
 public static void GetAppPackageInfo(AppPackageSetting app, out string appId, out string packageName)
 {
     GetLocalSetting(out appId, null, AppIdKey(app));
     GetLocalSetting(out packageName, null, AppPackageNameKey(app));
 }