Ejemplo n.º 1
0
        public static async void SetTheme()
        {
            if (await ApplicationData.Current.RoamingFolder.TryGetItemAsync("Settings.json") != null)
            {
                var settings = await UserDataHelper.GetSettings("Settings.json");

                if (Application.Current.Resources.MergedDictionaries.Count > 1)
                {
                    Application.Current.Resources.MergedDictionaries.RemoveAt(1);
                }
                if (settings.Theme != null && settings.Theme != "Colored")
                {
                    Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary {
                        Source = new Uri("ms-appx:///Styles/" + settings.Theme + ".xaml")
                    });
                }
                var titleBar = ApplicationView.GetForCurrentView().TitleBar;
                if (settings.Theme == "Light")
                {
                    titleBar.ButtonForegroundColor = Windows.UI.Colors.Black;
                    titleBar.ButtonBackgroundColor = Windows.UI.Colors.Transparent;
                }
                else
                {
                    titleBar.ButtonForegroundColor = Windows.UI.Colors.White;
                    titleBar.ButtonBackgroundColor = Windows.UI.Colors.Transparent;
                }
            }
        }
Ejemplo n.º 2
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            var settings = await UserDataHelper.GetSettings("Settings.json");

            DefaultLocation.Text = settings.DefaultLocation.DisplayName;
            ChoosenPlace         = settings.DefaultLocation;

            var _Languages = new Data.Settings().GetSettings()[4].values;

            Languages.ItemsSource   = _Languages;
            Languages.SelectedIndex = settings.Language != null?_Languages.IndexOf(_Languages.Where(x => x.Key == settings.Language).ToList()[0]) : 0;

            if (settings.CheckLocation == 1)
            {
                AlwaysDetect.IsChecked = true;
            }
            if (settings.Theme == "Colored")
            {
                Themes0.IsChecked = true;
            }
            else if (settings.Theme == "Light")
            {
                Themes1.IsChecked = true;
            }
            else
            {
                Themes2.IsChecked = true;
            }
            if (settings.SaveData == "0")
            {
                SaveData0.IsChecked = true;
            }
            else
            {
                SaveData1.IsChecked = true;
            }
            if (settings.DataFormat.UnitsFormat == "metric")
            {
                Units0.IsChecked = true;
            }
            else
            {
                Units1.IsChecked = true;
            }
            if (settings.DataFormat.TimeFormat == "24h")
            {
                TimeFormat0.IsChecked = true;
            }
            else
            {
                TimeFormat1.IsChecked = true;
            }
        }
Ejemplo n.º 3
0
        private async void AvailableActions_ItemClick(object sender, ItemClickEventArgs e)
        {
            switch ((e.ClickedItem as StackPanel).Tag.ToString())
            {
            case "SetHome":
                var settings = await UserDataHelper.GetSettings("Settings.json");

                settings.DefaultLocation = _CityData.PlaceInfo;
                await UserDataHelper.WriteFile("Settings.json", settings);

                SetAsHome.IsEnabled = false;
                ShowToolTip("SavedAsHome", 2000);
                break;

            case "Favorite":
                var IsFavorited = (await UserDataHelper.SaveToFavorites("Favorites.json", _CityData.PlaceInfo));
                if (IsFavorited == true)
                {
                    await UserDataHelper.SaveFavoriteWeather(_CityData);

                    SaveToFavorites.Visibility     = Visibility.Collapsed;
                    RemoveFromFavorites.Visibility = Visibility.Visible;
                    ShowToolTip("Favorited", 2000);
                }
                break;

            case "UnFavorite":
                var IsUnfavorited = (await UserDataHelper.RemoveFromFavorites("Favorites.json", _CityData.PlaceInfo));
                if (IsUnfavorited == true)
                {
                    await UserDataHelper.RemoveFavoriteWeather(_CityData.PlaceInfo.PlaceId);

                    SaveToFavorites.Visibility     = Visibility.Visible;
                    RemoveFromFavorites.Visibility = Visibility.Collapsed;
                    ShowToolTip("Unfavorited", 2000);
                }
                break;

            case "Pin":
                ShowToolTip("Pinning", 2000);
                var IsPined = await LiveTile.UpdateCustomTile(PlaceInfo, CurrentWeatherResult, DailyForecastResult, CoverLink);

                if (IsPined == true)
                {
                    PinToStart.Visibility     = Visibility.Collapsed;
                    UnPinFromStart.Visibility = Visibility.Visible;
                    ShowToolTip("Pined", 2000);
                }
                break;

            case "UnPin":
                ShowToolTip("Unpinning", 2000);
                var IsUnPined = await LiveTile.UnpinCustomTile(_CityData.PlaceInfo.PlaceId);

                if (IsUnPined == true)
                {
                    PinToStart.Visibility     = Visibility.Visible;
                    UnPinFromStart.Visibility = Visibility.Collapsed;
                    ShowToolTip("Unpined", 2000);
                }
                break;

            case "Download":
                ShowToolTip("DownloadingImage", 2000);
                BitmapImage bitMap = Cover.Source as BitmapImage;
                string      uri    = bitMap?.UriSource.ToString();
                await UserDataHelper.DownloadAsset(uri);

                ShowToolTip("Downloaded", 2000);
                break;

            case "Rate":
                await Launcher.LaunchUriAsync(new Uri(string.Format("ms-windows-store:REVIEW?PFN={0}", Windows.ApplicationModel.Package.Current.Id.FamilyName)));

                break;

            case "Feedback":
                await Microsoft.Services.Store.Engagement.StoreServicesFeedbackLauncher.GetDefault().LaunchAsync();

                break;

            default:
                break;
            }
        }
Ejemplo n.º 4
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            _CityData = e.Parameter as CityData;

            /*set country flag*/

            /*string _CountryCode = _CityData.PlaceInfo.DisplayName;
             * _CountryCode = _CountryCode.Substring(_CountryCode.LastIndexOf(",") + 2);
             * StorageFolder _assets = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");
             * StorageFolder _flags = await _assets.GetFolderAsync("CountriesFlag");
             *
             * if (_flags.TryGetItemAsync(_CountryCode + ".png") != null)
             * {
             *  CurrentPlaceName.Text = _CityData.PlaceInfo.DisplayName.Substring(0, _CityData.PlaceInfo.DisplayName.LastIndexOf(","));
             *  BitmapImage image = new BitmapImage(new Uri("ms-appx:///Assets/CountriesFlag/" + _CountryCode + ".png"));
             *  CountryFlag.Source = image;
             * }
             * else {
             *  CurrentPlaceName.Text = _CityData.PlaceInfo.DisplayName;
             * }*/
            /*set country flag*/

            CurrentPlaceName.Text = _CityData.PlaceInfo.DisplayName;

            this.DataContext     = _CityData;
            DailyForecastResult  = _CityData.DailyForecast;
            CurrentWeatherResult = _CityData.Current;
            PlaceInfo            = _CityData.PlaceInfo;
            CoverLink            = _CityData.CoverImage;

            /*set back navigation arguments*/
            if (_LocationHistory == null)
            {
                _LocationHistory = new List <PlaceInfo>();
                _LocationHistory.Add(_CityData.PlaceInfo);
            }

            if (_LocationHistory[_LocationHistory.Count - 1].PlaceId != _CityData.PlaceInfo.PlaceId)
            {
                _LocationHistory.Add(_CityData.PlaceInfo);
            }

            if (_LocationHistory.Count > 1)
            {
                SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
                AppNameGrid.Margin = new Thickness(55, 10, 0, 10);
            }
            else
            {
                SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;
                AppNameGrid.Margin = new Thickness(20, 10, 0, 10);
            }
            /*set back navigation arguments*/
            _Settings = await UserDataHelper.GetSettings("Settings.json");

            if (_Settings.SaveData == "1" || _CityData.IsLocalData == true)
            {
                BottomItemsPivot.Items.Remove(BottomItemsPivot.Items.Single(p => ((PivotItem)p).Name == "NewsPivot"));
                BottomItemsPivot.Items.Remove(BottomItemsPivot.Items.Single(p => ((PivotItem)p).Name == "GalleryPivot"));
                _CityData.CoverImage = "ms-appx:///Assets/Weather/11.jpg";
                if (_CityData.CoverImage != null)
                {
                    BitmapImage image = new BitmapImage(new Uri(_CityData.CoverImage));
                    Cover.Source = image;
                }
            }
            else
            {
                int _CheckFileAge = await ApplicationData.Current.LocalFolder.TryGetItemAsync("News.json") != null ? await UserDataHelper.CheckFileAge("News.json", "local") : 1441;

                string Language = _Settings.Language ?? "en";

                if (_CheckFileAge >= 1440)
                {
                    _NewsResults = await News.GetNewsData(Language);

                    bool _SaveNews = await UserDataHelper.SaveNewsData(_NewsResults);
                }
                else
                {
                    _NewsResults = await UserDataHelper.GetSavedNews();

                    if (_NewsResults.Language != _Settings.Language)
                    {
                        _NewsResults = await News.GetNewsData(Language);

                        bool _SaveNews = await UserDataHelper.SaveNewsData(_NewsResults);
                    }
                }
                NewsData.ItemsSource = _NewsResults.articles;

                await GetCover(_CityData.PlaceInfo.DisplayName);
            }

            CoverLink = _CityData.CoverImage;

            var favorites     = (await UserDataHelper.GetFavorites("Favorites.json"));
            var _CurrentPlace = favorites.Where(x => x.PlaceId == _CityData.PlaceInfo.PlaceId).ToList();

            if (_CurrentPlace.Count > 0)
            {
                SaveToFavorites.Visibility     = Visibility.Collapsed;
                RemoveFromFavorites.Visibility = Visibility.Visible;
            }

            SetAsHome.IsEnabled = _CityData.PlaceInfo.PlaceId == _Settings.DefaultLocation.PlaceId ? false : true;

            if (SecondaryTile.Exists(_CityData.PlaceInfo.PlaceId))
            {
                PinToStart.Visibility     = Visibility.Collapsed;
                UnPinFromStart.Visibility = Visibility.Visible;
                await LiveTile.UpdateCustomTile(PlaceInfo, CurrentWeatherResult, DailyForecastResult, CoverLink);
            }

            if (_CityData.PlaceInfo.PlaceId == _Settings.DefaultLocation.PlaceId)
            {
                LiveTile.UpdateTile(PlaceInfo, CurrentWeatherResult, DailyForecastResult, CoverLink);
            }

            if (favorites.ToList().Where(x => x.PlaceId == _CityData.PlaceInfo.PlaceId).FirstOrDefault() != null)
            {
                await UserDataHelper.SaveFavoriteWeather(_CityData);
            }
        }
Ejemplo n.º 5
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            Frame PageFrame = Window.Current.Content as Frame;

            if (PageFrame == null)
            {
                PageFrame = new Frame();
            }

            var settings = await ApplicationData.Current.RoamingFolder.TryGetItemAsync("Settings.json") == null ? null : await UserDataHelper.GetSettings("Settings.json");

            if (settings == null)
            {
                ApplicationLanguages.PrimaryLanguageOverride = "en";
                DefaultFrame.Navigate(typeof(FirstUse));
                LoadingControl.IsLoading = false;
                return;
            }

            string Language = settings.Language ?? "en";

            ApplicationLanguages.PrimaryLanguageOverride = Language;

            bool IsConnected = NetworkInformation.GetInternetConnectionProfile() != null ? true : false;

            string TimeFormat = settings.DataFormat.TimeFormat == "24h" ? "H:mm" : "h:mmtt";

            if (IsConnected == false && e.Parameter == null)
            {
                if (await ApplicationData.Current.LocalFolder.TryGetItemAsync("HomeWeather.json") == null)
                {
                    NoInternetGrid.Visibility = Visibility.Visible;
                    return;
                }
                _CityData = await UserDataHelper.GetSavedHomeWeather();

                _CityData.IsLocalData = true;
                var _File = await ApplicationData.Current.LocalFolder.GetFileAsync("HomeWeather.json");

                _CityData.LastUpdate = System.IO.File.GetLastWriteTime(_File.Path).ToString(TimeFormat);
                PageFrame.Navigate(typeof(WeatherPage), _CityData);
                return;
            }

            if (e.Parameter != null)
            {
                if (IsConnected == true)
                {
                    _PlaceInfo = e.Parameter as PlaceInfo;
                    _CityData  = (await WeatherData.GetWeather(_PlaceInfo, settings.DataFormat, Language));

                    if (_CityData.Current.cod == 200)
                    {
                        _CityData.LastUpdate = DateTime.Now.ToLocalTime().ToString(TimeFormat);
                        PageFrame.Navigate(typeof(WeatherPage), _CityData);
                        return;
                    }
                }
                NoInternetGrid.Visibility = Visibility.Visible;
            }
            else
            {
                if (settings.CheckLocation == 1)
                {
                    var coords = await Geolocation.GetLocationInfo();

                    if (coords.Latitude == 0 && coords.Longitude == 0)
                    {
                        LoadingControl.IsLoading = false;
                        NotFoundGrid.Visibility  = Visibility.Visible;
                        NotFoundText.Text        = "Sorry! Can't locate you!";
                        NotFoudHint.Text         = "You can try searching instead";
                        return;
                    }
                    else
                    {
                        var plid = await PlacesSearch.GetCityNameByCoordinate(coords.Latitude, coords.Longitude);

                        if (plid != null)
                        {
                            _PlaceInfo = new PlaceInfo()
                            {
                                Latitude = plid.Latitude, Longitude = plid.Longitude, DisplayName = plid.DisplayName, PlaceId = plid.PlaceId
                            };
                        }
                        else
                        {
                            LoadingControl.IsLoading = false;
                            NotFoundGrid.Visibility  = Visibility.Visible;
                            NotFoundText.Text        = "Sorry! Can't locate you!";
                            NotFoudHint.Text         = "You can try searching instead";
                            return;
                        }
                    }
                }
                else
                {
                    _PlaceInfo = new PlaceInfo {
                        Latitude = settings.DefaultLocation.Latitude, Longitude = settings.DefaultLocation.Longitude, DisplayName = settings.DefaultLocation.DisplayName, PlaceId = settings.DefaultLocation.PlaceId
                    };
                }

                _CityData            = (await WeatherData.GetWeather(_PlaceInfo, settings.DataFormat, Language));
                _CityData.LastUpdate = DateTime.Now.ToLocalTime().ToString(TimeFormat);
                bool _SaveData = await UserDataHelper.SaveHomeWeather(_CityData);

                PageFrame.Navigate(typeof(WeatherPage), _CityData);
            }
            LoadingControl.IsLoading = false;

            /*try
             * {
             * }
             * catch (Exception)
             * {
             *  await new MessageDialog("Unexpected exception occurred: 7221252017").ShowAsync();
             * }*/
        }