Exemple #1
0
        public KitControllerStatus PageFromState(out Page page)
        {
            if (PlayerSettings.Android.minSdkVersion.CompareTo(MinimumSdkVersion) < 0)
            {
                EditorUtility.DisplayDialog(
                    "Minimum SDK Version",
                    "The latest version of Twitter requires Android SDK version 14 or above. Please change the 'Minimum API Level' property within the Player to at least 'Android 4.0'.",
                    "OK"
                    );
                page = null;
                return(KitControllerStatus.CurrentPage);
            }

            List <Settings.InstalledKit> installedKits = Settings.Instance.InstalledKits;

            Settings.InstalledKit twitterKit = installedKits.Find(kit => kit.Name.Equals(Twitter, StringComparison.OrdinalIgnoreCase));

            switch (twitterKit.InstallationStatus)
            {
            case Settings.KitInstallationStatus.Installed:
                return(ShowInstalledPage(out page));

            case Settings.KitInstallationStatus.Imported:
                return(ShowInstallationFlowPage(Settings.Instance.FlowSequence, out page));

            case Settings.KitInstallationStatus.Configured:
            default:
                return(ShowConfiguredPage(out page));
            }
        }
Exemple #2
0
 private static void UpdateDependenciesRecord(Settings.InstalledKit installed)
 {
     installed.Meta.RemoveAll(tuple => tuple.Key.Equals(DependenciesKey, StringComparison.OrdinalIgnoreCase));
     installed.Meta.Add(new Settings.InstalledKit.MetaTuple {
         Key   = DependenciesKey,
         Value = SerializeDependenciesRecord(PeriodicUpdateManager.TransitiveDependencyChainFor(installed.Name))
     });
 }
Exemple #3
0
        // When a kit is installed, we need to record what transitive dependencies that version of the kit
        // had. This is necessary to figure out when transitive dependency conflicts occur in the process
        // of trying to install a new kit.
        private static void UpdateDependenciesRecord(string name)
        {
            Settings.InstalledKit installed = Settings.Instance.InstalledKits.Find(kit => kit.Name.Equals(name, StringComparison.OrdinalIgnoreCase));
            if (installed == null)
            {
                return;
            }

            UpdateDependenciesRecord(installed);
        }
Exemple #4
0
        private void MarkKitAsInstalled()
        {
            Settings.Instance.Kit = null;
            Settings.InstalledKit installed = Settings.Instance.InstalledKits.Find(k => k.Name.Equals(kit.Name));
            installed.Installed = true;
            installed.Enabled   = true;

            Settings.Instance.IconUrl      = iconUrl;
            Settings.Instance.DashboardUrl = dashboardUrl;
            Settings.Instance.FlowSequence = 0;

            activationStatus = ActivationStatus.Unknown;
        }
Exemple #5
0
        public KitControllerStatus PageFromState(out Page page)
        {
            List <Settings.InstalledKit> installedKits = Settings.Instance.InstalledKits;

            Settings.InstalledKit crashlyticsKit = installedKits.Find(kit => kit.Name.Equals(Name, StringComparison.OrdinalIgnoreCase));

            switch (crashlyticsKit.InstallationStatus)
            {
            case Settings.KitInstallationStatus.Installed:
                return(ShowInstalledPage(out page));

            case Settings.KitInstallationStatus.Imported:
                return(ShowInstallationFlowPage(Settings.Instance.FlowSequence, out page));

            case Settings.KitInstallationStatus.Configured:
            default:
                return(ShowConfiguredPage(out page));
            }
        }
Exemple #6
0
        private Action <List <MetaTuple> > SaveTwitterSecrets()
        {
            return(delegate(List <MetaTuple> keys) {
                if (keys.Count == 0)
                {
                    return;
                }

                List <Settings.InstalledKit> installedKits = Settings.Instance.InstalledKits;
                List <MetaTuple> meta = new List <MetaTuple> (keys);

                Settings.InstalledKit twitterKit = installedKits.Find(
                    installed => installed.Name.Equals(Twitter, StringComparison.OrdinalIgnoreCase)
                    );

                twitterKit.Meta = meta;
                this.keys = keys;
                Settings.Instance.FlowSequence = 2;
            });
        }
Exemple #7
0
        private void SetSelectedKitConfigured()
        {
            string selectedKit = Settings.Instance.Kit;

            if (String.IsNullOrEmpty(selectedKit))
            {
                return;
            }
            Settings.InstalledKit installedKit = Settings.Instance.InstalledKits.Find(kit => kit.Name.Equals(selectedKit, StringComparison.OrdinalIgnoreCase));
            if (installedKit == null)
            {
                return;
            }
            installedKit.InstallationStatus = Settings.KitInstallationStatus.Configured;

            installedKit.Meta.RemoveAll(tuple => tuple.Key.Equals(ConfiguredTimestampKey, StringComparison.OrdinalIgnoreCase));
            installedKit.Meta.Add(new Settings.InstalledKit.MetaTuple {
                Key   = ConfiguredTimestampKey,
                Value = Detail.TimeUtils.SecondsSinceEpoch.ToString("R", CultureInfo.InvariantCulture),
            });
            UpdateDependenciesRecord(installedKit);
        }
        private static void GetConsumerKeyAndSecret()
        {
            List <Settings.InstalledKit> installedKits = Settings.Instance.InstalledKits;

            Settings.InstalledKit twitter = installedKits.Find(k => k.Name.Equals("Twitter"));

            if (twitter != null)
            {
                List <Settings.InstalledKit.MetaTuple> metaPairs = twitter.Meta;
                List <Settings.InstalledKit.MetaTuple> ios       = metaPairs.FindAll(tuple => tuple.Platform.Equals("ios"));

                if (ios.Count != 0)
                {
                    consumerKey    = ios.Find(tuple => tuple.Key.Equals("TwitterKey")).Value;
                    consumerSecret = ios.Find(tuple => tuple.Key.Equals("TwitterSecret")).Value;
                }
            }

            if (string.IsNullOrEmpty(consumerKey) || string.IsNullOrEmpty(consumerSecret))
            {
                Fabric.Internal.Editor.Utils.Error("Could not find consumer key/secret for TwitterKit. Please run the Fabric installer to get set up.");
            }
        }
Exemple #9
0
        public static KitStatus StatusFor(ImportedKit importedKit)
        {
            Settings.InstalledKit installedKit = Settings.Instance.InstalledKits.Find(kit => { return(kit.Name == importedKit.Name); });

            if (installedKit == null)
            {
                return(KitStatus.Imported);
            }

            Settings.KitInstallationStatus installationStatus = installedKit.InstallationStatus;

            switch (installationStatus)
            {
            case Settings.KitInstallationStatus.Configured:
                return(KitStatus.Configured);

            case Settings.KitInstallationStatus.Installed:
                return(KitStatus.Installed);

            case Settings.KitInstallationStatus.Imported:
            default:
                return(KitStatus.Imported);
            }
        }
Exemple #10
0
 private static HashSet <VersionedDependency> DeserializeDependenciesRecord(Settings.InstalledKit kit)
 {
     return(DeserializeDependenciesRecord(FindDependenciesRecordFor(kit)));
 }
Exemple #11
0
 private static Settings.InstalledKit.MetaTuple FindDependenciesRecordFor(Settings.InstalledKit kit)
 {
     return(kit.Meta.Find(tuple => tuple.Key.Equals(DependenciesKey, StringComparison.OrdinalIgnoreCase)));
 }
 private static ImportedKit.InstallationStatus ImportedKitInstallationStatus(string name)
 {
     Settings.InstalledKit installedKit = Settings.Instance.InstalledKits.Find(kit => kit.Name.Equals(name));
     return(installedKit != null && installedKit.Installed ? ImportedKit.InstallationStatus.Installed : ImportedKit.InstallationStatus.NotInstalled);
 }