Example #1
0
        void MainPage_UpdateComplete(object sender, EventArgs e)
        {
            populateLists();

            // If this is an unknown store, ask to submit it
            if (!UpdateManager.getInstance().knownStore(MarketWorker.getMOStore()) &&
                !(bool)SettingsManager.getInstance().loadValue("submitasked"))
            {
                SettingsManager.getInstance().saveValue("submitasked", true);
                if (MessageBox.Show(MarketWorker.getMOStore() + " is a new market not yet known by the developer. " +
                                    "Would you care to submit it to improve this app?\n\n(You can review what will be sent before submitting)",
                                    "Unknown market", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                {
                    MOStore          submit = MarketWorker.generateMOStore();
                    EmailComposeTask email  = new EmailComposeTask();
                    email.To      = "*****@*****.**";
                    email.Subject = submit.storeID;
                    email.Body    = Store.saveStore(submit.toStore());
                    email.Show();
                }
            }
        }
        private SettingsManager()
        {
            // Generate default values
            defaults.Add("autoupdate", true);
            defaults.Add("permanent", false);
            defaults.Add("autoregion", true);
            defaults.Add("hideforeign", true);
            defaults.Add("submitasked", false);

            List <Store> emptyOEMs = new List <Store>();

            emptyOEMs.Add(Store.loadStore(new Uri("Resources/Stores/alloems.dat", UriKind.Relative), true));
            defaults.Add("emptyoems", emptyOEMs);

            List <MOStore> emptyMOs = new List <MOStore>();

            emptyMOs.Add(new MOStore(Store.loadStore(new Uri("Resources/Stores/unlocked.dat", UriKind.Relative), true)));
            defaults.Add("emptymos", emptyMOs);

            // OEM list
            if (!valueExists("oems"))
            {
                List <Store> oems = new List <Store>();
                oems.Add(Store.loadStore(new Uri("Resources/Stores/alloems.dat", UriKind.Relative), true));
                oems.Add(Store.loadStore(new Uri("Resources/Stores/acer.dat", UriKind.Relative), true));
                oems.Add(Store.loadStore(new Uri("Resources/Stores/dell.dat", UriKind.Relative), true));
                oems.Add(Store.loadStore(new Uri("Resources/Stores/fujitsu.dat", UriKind.Relative), true));
                oems.Add(Store.loadStore(new Uri("Resources/Stores/htc.dat", UriKind.Relative), true));
                oems.Add(Store.loadStore(new Uri("Resources/Stores/lge.dat", UriKind.Relative), true));
                oems.Add(Store.loadStore(new Uri("Resources/Stores/nokia.dat", UriKind.Relative), true));
                oems.Add(Store.loadStore(new Uri("Resources/Stores/samsung.dat", UriKind.Relative), true));
                oems.Add(Store.loadStore(new Uri("Resources/Stores/zte.dat", UriKind.Relative), true));
                defaults.Add("oems", oems);
            }

            // MO list
            if (!valueExists("mos"))
            {
                List <Store> mos = new List <Store>();
                mos.Add(Store.loadStore(new Uri("Resources/Stores/unlocked.dat", UriKind.Relative), true));
                try
                {
                    mos.Add(MarketWorker.generateMOStore().toStore());
                }
                catch (Exception)
                {
                    // LKG_MOStoreConfig.xml doesn't exists. Oddly, it happens. Don't crash, just carry on.
                }
                defaults.Add("mos", mos);
            }

            // Region list
            List <string> regions = new List <string>();

            // Original markets
            regions.Add("en-US");   regions.Add("es-US");   regions.Add("en-GB");   regions.Add("de-DE");
            regions.Add("it-IT");   regions.Add("fr-FR");   regions.Add("es-ES");   regions.Add("en-CA");
            regions.Add("fr-CA");   regions.Add("en-AU");   regions.Add("fr-BE");   regions.Add("es-MX");
            regions.Add("en-SG");   regions.Add("de-CH");   regions.Add("fr-CH");   regions.Add("it-CH");
            regions.Add("de-AT");   regions.Add("en-NZ");   regions.Add("en-IE");   regions.Add("en-HK");
            regions.Add("zh-HK");
            // New mango markets

            /*regions.Add("nl-BE"); regions.Add("ja-JP"); regions.Add("pt-BR"); regions.Add("ko-KR");
             * regions.Add("nl-NL"); regions.Add("pl-PL"); regions.Add("en-ZA"); regions.Add("sv-SE");
             * regions.Add("pt-PT"); regions.Add("da-DK"); regions.Add("nb-NO"); regions.Add("fi-FI");
             * regions.Add("cs-CZ"); regions.Add("es-CL"); regions.Add("hu-HU"); regions.Add("el-GR");
             * regions.Add("es-CO"); regions.Add("ru-RU"); regions.Add("en-IN"); regions.Add("zh-TW");
             * regions.Add("id-ID"); regions.Add("es-AR"); regions.Add("ms-MY"); regions.Add("en-PH");
             * regions.Add("es-PE");
             * // New tango markets
             * regions.Add("zh-CN"); regions.Add("bg-BG"); regions.Add("es-CR"); regions.Add("hr-HR");
             * regions.Add("et-EE"); regions.Add("is-IS"); regions.Add("lv-LV"); regions.Add("lt-LT");
             * regions.Add("ro-RO"); regions.Add("sk-SK"); regions.Add("sl-SI"); regions.Add("tr-TR");
             * regions.Add("uk-UA"); regions.Add("es-VE");
             * // Second round of new tango markets
             * /*regions.Add("ar-BH"); regions.Add("ar-IQ"); regions.Add("he-IL"); regions.Add("kk-KZ");
             * regions.Add("ar-QA"); regions.Add("ar-SA"); regions.Add("th-TH"); regions.Add("ar-AE");
             * regions.Add("vi-VN");*/// Not supported by CultureInfo on WP7? (weird)*/

            defaults.Add("regions", regions);
        }