Example #1
0
        public async Task <Response> CheckConnection()
        {
            if (!CrossConnectivity.Current.IsConnected)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Languages.TurnOnInternet,
                });
            }
            var isReachable = await CrossConnectivity.Current.IsRemoteReachable("google.com");

            if (!isReachable)
            {
                CrossConnectivity.Dispose();
                return(new Response
                {
                    IsSuccess = false,
                    Message = Languages.NoInternet,
                });
            }

            CrossConnectivity.Dispose();

            return(new Response
            {
                IsSuccess = true,
            });
        }
        /// <summary>
        /// Check if the given server url is reachable.
        /// </summary>
        /// <returns>The server reachable.</returns>
        /// <param name="url">Server URL.</param>
        public async Task <bool> IsServerReachable(string url = "https://www.google.com", int msTimeout = 2000)
        {
            bool reachable = false;

            try
            {
                CrossConnectivity.Dispose();
                reachable = await ConnectionCheck.IsRemoteReachable(url, 80, msTimeout);
            }
            catch (Exception ex)
            {
                Log.Error <CoreController>("IsServerReachable", ex.Message);
            }

            return(reachable);
        }
Example #3
0
        public bool DoIHaveInternet()
        {
            if (!CrossConnectivity.IsSupported)
            {
                return(true);
            }

            var connectivity = CrossConnectivity.Current;

            try
            {
                return(connectivity.IsConnected);
            }
            finally
            {
                CrossConnectivity.Dispose();
            }
        }
Example #4
0
        public bool DoIHaveInternet()
        {
            if (!CrossConnectivity.IsSupported)
            {
                return(true);
            }

            //Do this only if you need to and aren't listening to any other events as they will not fire.
            var connectivity = CrossConnectivity.Current;

            try
            {
                return(connectivity.IsConnected);
            }
            finally
            {
                CrossConnectivity.Dispose();
            }
        }
        public async Task <bool> IsApiReachableAndRunning()
        {
            try
            {
                var connectivity = CrossConnectivity.Current;
                if (!connectivity.IsConnected)
                {
                    btnConnect2.IsVisible       = true;
                    btnConnect2.Text            = "-- OFFLINE --";
                    btnConnect2.BackgroundColor = Color.Red;
                    return(false);
                }

                /// <summary>
                /// Tests if a remote host name is reachable (no http:// or www.)
                /// </summary>
                /// <param name="host">Host name can be a remote IP or URL of website</param>
                /// <param name="port">Port to attempt to check is reachable.</param>
                /// <param name="msTimeout">Timeout in milliseconds.</param>
                /// <returns></returns>
                var reachable = await connectivity.IsRemoteReachable("caprex.ddns.net", 5505, 2000);

                if (reachable == false)
                {
                    btnConnect2.IsVisible       = true;
                    btnConnect2.Text            = "-- TIMEDOC OFFLINE --";
                    btnConnect2.BackgroundColor = Color.Red;
                    return(false);
                }

                btnConnect2.IsVisible = false;
                return(reachable);
            }
            finally
            {
                CrossConnectivity.Dispose();
            }
        }
        public void connectedToInternet()
        {
            var dialog = UserDialogs.Instance;

            if (!CrossConnectivity.IsSupported)
            {
            }

            //Do this only if you need to and aren't listening to any other events as they will not fire.
            var connectivity = CrossConnectivity.Current;

            try
            {
                if (!connectivity.IsConnected)
                {
                    dialog.AlertAsync("No internet connection detected", "Connection error!");
                }
            }
            finally
            {
                CrossConnectivity.Dispose();
            }
        }
Example #7
0
        public async Task <bool> IsNetworkAvailableAsync()
        {
            bool isConnected = false;

            if (CrossConnectivity.IsSupported)
            {
                var connectivity = CrossConnectivity.Current;

                try
                {
                    isConnected = connectivity.IsConnected;
                    isConnected = isConnected ? await connectivity.IsRemoteReachable(Configurations.ReachableUrl) : isConnected;
                }
                catch
                {
                }
                finally
                {
                    CrossConnectivity.Dispose();
                }
            }

            return(isConnected);
        }
Example #8
0
        public static Page GetMainPage()
        {
            return(new NavigationPage(new Home()));

            var speakButton = new Button
            {
                Text = "Speak"
            };

            var languageButton = new Button
            {
                Text = "Default Language"
            };

            var sliderPitch  = new Slider(0, 2.0, 1.0);
            var sliderRate   = new Slider(0, 2.0, Device.OnPlatform(.25, 1.0, 1.0));
            var sliderVolume = new Slider(0, 1.0, 1.0);

            var useDefaults = new Switch
            {
                IsToggled = false
            };

            speakButton.Clicked += (sender, args) =>
            {
                //CrossSms.Current.SendSms("Hello there!", "+16024926689");
                var text = "The quick brown fox jumped over the lazy dog.";
                if (useDefaults.IsToggled)
                {
                    CrossTextToSpeech.Current.Speak(text);
                    return;
                }

                CrossTextToSpeech.Current.Speak(text,
                                                pitch: (float)sliderPitch.Value,
                                                speakRate: (float)sliderRate.Value,
                                                volume: (float)sliderVolume.Value,
                                                crossLocale: locale);
            };

            var vibrateButton = new Button
            {
                Text = "Vibrate"
            };

            var sliderVibrate = new Slider(0, 10000.0, 500.0);



            var connectivityButton = new Button
            {
                Text = "Connectivity Test"
            };

            var connected = new Label
            {
                Text = "Is Connected: "
            };

            var connectionTypes = new Label
            {
                Text = "Connection Types: "
            };

            var bandwidths = new Label
            {
                Text = "Bandwidths"
            };

            var host = new Entry
            {
                Text = "127.0.0.1"
            };


            var host2 = new Entry
            {
                Text = "montemagno.com"
            };

            var port = new Entry
            {
                Text     = "80",
                Keyboard = Keyboard.Numeric
            };

            var canReach1 = new Label
            {
                Text = "Can reach1: "
            };

            var canReach2 = new Label
            {
                Text = "Can reach2: "
            };


            connectivityButton.Clicked += async(sender, args) =>
            {
                connected.Text  = CrossConnectivity.Current.IsConnected ? "Connected" : "No Connection";
                bandwidths.Text = "Bandwidths: ";
                foreach (var band in CrossConnectivity.Current.Bandwidths)
                {
                    bandwidths.Text += band.ToString() + ", ";
                }
                connectionTypes.Text = "ConnectionTypes:  ";
                foreach (var band in CrossConnectivity.Current.ConnectionTypes)
                {
                    connectionTypes.Text += band.ToString() + ", ";
                }

                try
                {
                    canReach1.Text = await CrossConnectivity.Current.IsReachable(host.Text) ? "Reachable" : "Not reachable";
                }
                catch (Exception ex)
                {
                }
                try
                {
                    canReach2.Text = await CrossConnectivity.Current.IsRemoteReachable(host2.Text, int.Parse(port.Text)) ? "Reachable" : "Not reachable";
                }
                catch (Exception ex)
                {
                }
            };


            languageButton.Clicked += async(sender, args) =>
            {
                var locales = CrossTextToSpeech.Current.GetInstalledLanguages();
                var items   = locales.Select(a => a.ToString()).ToArray();

                if (Device.OS == TargetPlatform.Android)
                {
                    DependencyService.Get <IDialogs>().DisplayActionSheet("Language", "OK",
                                                                          items,
                                                                          which =>
                    {
                        languageButton.Text = items[which];
                        locale = locales.ElementAt(which);
                    });
                }
                else
                {
                    var selected = await page.DisplayActionSheet("Language", "OK", null, items);

                    if (string.IsNullOrWhiteSpace(selected) || selected == "OK")
                    {
                        return;
                    }
                    languageButton.Text = selected;
                    locale = new CrossLocale {
                        Language = selected
                    };                                       //fine for iOS/WP
                }
            };


            var disposeButton = new Button
            {
                Text = "Dispose Me"
            };

            disposeButton.Clicked += (sender, args) =>
            {
                CrossConnectivity.Dispose();
                CrossTextToSpeech.Dispose();
                CrossBattery.Dispose();
            };

            var getBatteryButton = new Button
            {
                Text = "Get Battery Stats"
            };

            var batteryLevel = new Label
            {
                Text = "Level?"
            };


            var batteryStatus = new Label
            {
                Text = "Status?"
            };

            var batteryChargeType = new Label
            {
                Text = "ChargeType?"
            };


            var batteryIsLow = new Label
            {
                Text = "IsLow"
            };

            getBatteryButton.Clicked += (sender, args) =>
            {
                batteryLevel.Text      = "Level: " + CrossBattery.Current.RemainingChargePercent;
                batteryStatus.Text     = "Status: " + CrossBattery.Current.Status.ToString();
                batteryChargeType.Text = "ChargeType: " + CrossBattery.Current.PowerSource.ToString();
                batteryIsLow.Text      = "IsLow: " + ((CrossBattery.Current.RemainingChargePercent <= 15) ? "YES" : "NO");
            };

            CrossBattery.Current.BatteryChanged += (sender, args) =>
            {
                batteryLevel.Text      = "Changed EVENT! Level: " + args.RemainingChargePercent;
                batteryStatus.Text     = "Status: " + args.Status.ToString();
                batteryChargeType.Text = "ChargeType: " + args.PowerSource.ToString();
                batteryIsLow.Text      = "IsLow: " + ((args.IsLow) ? "YES" : "NO");
            };

            var navigateLatLong = new Button
            {
                Text = "Navigate Lat Long"
            };

            navigateLatLong.Clicked += (sender, args) =>
            {
                CrossExternalMaps.Current.NavigateTo("Space Needle", 47.6204, -122.3491);
            };


            var navigateAddress = new Button
            {
                Text = "Navigate Address"
            };

            navigateAddress.Clicked += (sender, args) =>
            {
                CrossExternalMaps.Current.NavigateTo("Xamarin", "394 pacific ave.", "San Francisco", "CA", "94111", "USA", "USA");
            };

            var buttonContacts = new Button
            {
                Text = "Contacts"
            };

            buttonContacts.Clicked += (sender, args) =>
            {
                page.Navigation.PushAsync(new ContactsPage());
            };


            var buttonGetGPS = new Button
            {
                Text = "GetGPS"
            };

            var labelGPS = new Label
            {
                Text = "GPS goes here"
            };

            buttonGetGPS.Clicked += async(sender, args) =>
            {
                var locator = CrossGeolocator.Current;
                locator.DesiredAccuracy = 50;
                labelGPS.Text           = "Getting gps";

                var position = await locator.GetPositionAsync(timeout : 10000);

                if (position == null)
                {
                    labelGPS.Text = "null gps :(";
                    return;
                }
                labelGPS.Text = string.Format("Time: {0} \nLat: {1} \nLong: {2} \n Altitude: {3} \nAltitude Accuracy: {4} \nAccuracy: {5} \n Heading: {6} \n Speed: {7}",
                                              position.Timestamp, position.Latitude, position.Longitude,
                                              position.Altitude, position.AltitudeAccuracy, position.Accuracy, position.Heading, position.Speed);
            };

            page = new ContentPage
            {
                Content = new ScrollView
                {
                    Content = new StackLayout
                    {
                        Padding  = 40,
                        Spacing  = 10,
                        Children =
                        {
                            new Label {
                                Text = "Hello, Forms!"
                            },
                            new Label {
                                Text = "Pitch"
                            },
                            sliderPitch,
                            new Label {
                                Text = "Speak Rate"
                            },
                            sliderRate,
                            new Label {
                                Text = "Volume"
                            },
                            sliderVolume,
                            new Label {
                                Text = "Use Defaults"
                            },
                            useDefaults,
                            languageButton,
                            speakButton,
                            new Label {
                                Text = "Vibrate Length"
                            },
                            sliderVibrate,
                            vibrateButton,
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId()
                            },
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId(true)
                            },
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId(true, "hello")
                            },
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId(true, "hello", "world")
                            },
                            new Label {
                                Text = "Id: " + CrossDeviceInfo.Current.Id
                            },
                            new Label {
                                Text = "Model: " + CrossDeviceInfo.Current.Model
                            },
                            new Label {
                                Text = "Platform: " + CrossDeviceInfo.Current.Platform
                            },
                            new Label {
                                Text = "Version: " + CrossDeviceInfo.Current.Version
                            },
                            connectivityButton,
                            connected,
                            bandwidths,
                            connectionTypes,
                            host,
                            host2,
                            port,
                            canReach1,
                            canReach2,
                            disposeButton,
                            new CircleImage
                            {
                                BorderColor       = Color.Pink,
                                BorderThickness   = 3,
                                HeightRequest     = 150,
                                WidthRequest      = 150,
                                Aspect            = Aspect.AspectFill,
                                HorizontalOptions = LayoutOptions.Center,
                                Source            = UriImageSource.FromUri(new Uri("http://upload.wikimedia.org/wikipedia/commons/5/55/Tamarin_portrait.JPG"))
                            },
                            new CircleImage
                            {
                                BorderColor       = Color.Purple,
                                BorderThickness   = 6,
                                HeightRequest     = 150,
                                WidthRequest      = 150,
                                Aspect            = Aspect.AspectFill,
                                HorizontalOptions = LayoutOptions.Center,
                                Source            = UriImageSource.FromUri(new Uri("http://upload.wikimedia.org/wikipedia/commons/e/ed/Saguinus_tripartitus_-_Golden-mantled_Tamarin.jpg"))
                            },
                            new CircleImage
                            {
                                BorderColor       = Color.Yellow,
                                BorderThickness   = 9,
                                HeightRequest     = 150,
                                WidthRequest      = 150,
                                Aspect            = Aspect.AspectFill,
                                HorizontalOptions = LayoutOptions.Center,
                                Source            = UriImageSource.FromUri(new Uri("http://upload.wikimedia.org/wikipedia/commons/5/53/Golden_Lion_Tamarin_Leontopithecus_rosalia.jpg"))
                            },
                            getBatteryButton,
                            new Label {
                                Text = "Battery Level"
                            },
                            batteryLevel,
                            new Label {
                                Text = "Battery Status"
                            },
                            batteryStatus,
                            new Label {
                                Text = "Battery Charge Type"
                            },
                            batteryChargeType,
                            new Label {
                                Text = "Battery is low"
                            },
                            batteryIsLow,
                            navigateAddress,
                            navigateLatLong,
                            buttonContacts,
                            buttonGetGPS,
                            labelGPS
                        }
                    }
                }
            };

            CrossConnectivity.Current.ConnectivityChanged += (sender, args) =>
            {
                page.DisplayAlert("Connectivity Changed", "IsConnected: " + args.IsConnected.ToString(), "OK");
            };

            return(new NavigationPage(page));
        }
Example #9
0
        public static Page GetMainPage()
        {
            var speakButton = new Button
            {
                Text = "Speak"
            };

            var languageButton = new Button
            {
                Text = "Default Language"
            };

            var sliderPitch  = new Slider(0, 2.0, 1.0);
            var sliderRate   = new Slider(0, 2.0, Device.OnPlatform(.25, 1.0, 1.0));
            var sliderVolume = new Slider(0, 1.0, 1.0);

            var useDefaults = new Switch
            {
                IsToggled = false
            };

            speakButton.Clicked += (sender, args) =>
            {
                var text = "The quick brown fox jumped over the lazy dog.";
                if (useDefaults.IsToggled)
                {
                    CrossTextToSpeech.Current.Speak(text);
                    return;
                }

                CrossTextToSpeech.Current.Speak(text,
                                                pitch: (float)sliderPitch.Value,
                                                speakRate: (float)sliderRate.Value,
                                                volume: (float)sliderVolume.Value,
                                                crossLocale: locale);
            };

            var vibrateButton = new Button
            {
                Text = "Vibrate"
            };

            var sliderVibrate = new Slider(0, 10000.0, 500.0);

            vibrateButton.Clicked += (sender, args) =>
            {
                //var v = DependencyService.Get<IVibrate>();
                //v.Vibration((int)sliderVibrate.Value);
                Refractored.Xam.Vibrate.CrossVibrate.Current.Vibration((int)sliderVibrate.Value);
            };


            var connectivityButton = new Button
            {
                Text = "Connectivity Test"
            };

            var connected = new Label
            {
                Text = "Is Connected: "
            };

            var connectionTypes = new Label
            {
                Text = "Connection Types: "
            };

            var bandwidths = new Label
            {
                Text = "Bandwidths"
            };

            var host = new Entry
            {
                Text = "127.0.0.1"
            };


            var host2 = new Entry
            {
                Text = "montemagno.com"
            };

            var port = new Entry
            {
                Text     = "80",
                Keyboard = Keyboard.Numeric
            };

            var canReach1 = new Label
            {
                Text = "Can reach1: "
            };

            var canReach2 = new Label
            {
                Text = "Can reach2: "
            };


            connectivityButton.Clicked += async(sender, args) =>
            {
                connected.Text  = CrossConnectivity.Current.IsConnected ? "Connected" : "No Connection";
                bandwidths.Text = "Bandwidths: ";
                foreach (var band in CrossConnectivity.Current.Bandwidths)
                {
                    bandwidths.Text += band.ToString() + ", ";
                }
                connectionTypes.Text = "ConnectionTypes:  ";
                foreach (var band in CrossConnectivity.Current.ConnectionTypes)
                {
                    connectionTypes.Text += band.ToString() + ", ";
                }

                try
                {
                    canReach1.Text = await CrossConnectivity.Current.IsReachable(host.Text) ? "Reachable" : "Not reachable";
                }
                catch (Exception ex)
                {
                }
                try
                {
                    canReach2.Text = await CrossConnectivity.Current.IsRemoteReachable(host2.Text, int.Parse(port.Text)) ? "Reachable" : "Not reachable";
                }
                catch (Exception ex)
                {
                }
            };


            languageButton.Clicked += async(sender, args) =>
            {
                var locales = CrossTextToSpeech.Current.GetInstalledLanguages();
                var items   = locales.Select(a => a.ToString()).ToArray();

                if (Device.OS == TargetPlatform.Android)
                {
                    DependencyService.Get <IDialogs>().DisplayActionSheet("Language", "OK",
                                                                          items,
                                                                          which =>
                    {
                        languageButton.Text = items[which];
                        locale = locales.ElementAt(which);
                    });
                }
                else
                {
                    var selected = await page.DisplayActionSheet("Language", "OK", null, items);

                    if (string.IsNullOrWhiteSpace(selected) || selected == "OK")
                    {
                        return;
                    }
                    languageButton.Text = selected;
                    locale = new CrossLocale {
                        Language = selected
                    };                                       //fine for iOS/WP
                }
            };


            var disposeButton = new Button
            {
                Text = "Dispose Me"
            };

            disposeButton.Clicked += (sender, args) =>
            {
                CrossConnectivity.Dispose();
                CrossTextToSpeech.Dispose();
            };


            page = new ContentPage
            {
                Content = new ScrollView
                {
                    Content = new StackLayout
                    {
                        Padding  = 40,
                        Spacing  = 10,
                        Children =
                        {
                            new Label {
                                Text = "Hello, Forms!"
                            },
                            new Label {
                                Text = "Pitch"
                            },
                            sliderPitch,
                            new Label {
                                Text = "Speak Rate"
                            },
                            sliderRate,
                            new Label {
                                Text = "Volume"
                            },
                            sliderVolume,
                            new Label {
                                Text = "Use Defaults"
                            },
                            useDefaults,
                            languageButton,
                            speakButton,
                            new Label {
                                Text = "Vibrate Length"
                            },
                            sliderVibrate,
                            vibrateButton,
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId()
                            },
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId(true)
                            },
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId(true, "hello")
                            },
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId(true, "hello", "world")
                            },
                            new Label {
                                Text = "Id: " + CrossDeviceInfo.Current.Id
                            },
                            new Label {
                                Text = "Model: " + CrossDeviceInfo.Current.Model
                            },
                            new Label {
                                Text = "Platform: " + CrossDeviceInfo.Current.Platform
                            },
                            new Label {
                                Text = "Version: " + CrossDeviceInfo.Current.Version
                            },
                            connectivityButton,
                            connected,
                            bandwidths,
                            connectionTypes,
                            host,
                            host2,
                            port,
                            canReach1,
                            canReach2,
                            disposeButton
                        }
                    }
                }
            };

            CrossConnectivity.Current.ConnectivityChanged += (sender, args) =>
            {
                page.DisplayAlert("Connectivity Changed", "IsConnected: " + args.IsConnected.ToString(), "OK");
            };

            return(page);
        }
Example #10
0
        public static Page GetMainPage()
        {
            var speakButton = new Button
            {
                Text = "Speak"
            };

            var languageButton = new Button
            {
                Text = "Default Language"
            };

            var sliderPitch  = new Slider(0, 2.0, 1.0);
            var sliderRate   = new Slider(0, 2.0, Device.OnPlatform(.25, 1.0, 1.0));
            var sliderVolume = new Slider(0, 1.0, 1.0);

            var useDefaults = new Switch
            {
                IsToggled = false
            };

            speakButton.Clicked += (sender, args) =>
            {
                CrossSms.Current.SendSms("Hello there!", "+16024926689");
                var text = "The quick brown fox jumped over the lazy dog.";
                if (useDefaults.IsToggled)
                {
                    CrossTextToSpeech.Current.Speak(text);
                    return;
                }

                CrossTextToSpeech.Current.Speak(text,
                                                pitch: (float)sliderPitch.Value,
                                                speakRate: (float)sliderRate.Value,
                                                volume: (float)sliderVolume.Value,
                                                crossLocale: locale);
            };

            var vibrateButton = new Button
            {
                Text = "Vibrate"
            };

            var sliderVibrate = new Slider(0, 10000.0, 500.0);

            vibrateButton.Clicked += (sender, args) =>
            {
                //var v = DependencyService.Get<IVibrate>();
                //v.Vibration((int)sliderVibrate.Value);
                Refractored.Xam.Vibrate.CrossVibrate.Current.Vibration((int)sliderVibrate.Value);
            };


            var connectivityButton = new Button
            {
                Text = "Connectivity Test"
            };

            var connected = new Label
            {
                Text = "Is Connected: "
            };

            var connectionTypes = new Label
            {
                Text = "Connection Types: "
            };

            var bandwidths = new Label
            {
                Text = "Bandwidths"
            };

            var host = new Entry
            {
                Text = "127.0.0.1"
            };


            var host2 = new Entry
            {
                Text = "montemagno.com"
            };

            var port = new Entry
            {
                Text     = "80",
                Keyboard = Keyboard.Numeric
            };

            var canReach1 = new Label
            {
                Text = "Can reach1: "
            };

            var canReach2 = new Label
            {
                Text = "Can reach2: "
            };


            connectivityButton.Clicked += async(sender, args) =>
            {
                connected.Text  = CrossConnectivity.Current.IsConnected ? "Connected" : "No Connection";
                bandwidths.Text = "Bandwidths: ";
                foreach (var band in CrossConnectivity.Current.Bandwidths)
                {
                    bandwidths.Text += band.ToString() + ", ";
                }
                connectionTypes.Text = "ConnectionTypes:  ";
                foreach (var band in CrossConnectivity.Current.ConnectionTypes)
                {
                    connectionTypes.Text += band.ToString() + ", ";
                }

                try
                {
                    canReach1.Text = await CrossConnectivity.Current.IsReachable(host.Text) ? "Reachable" : "Not reachable";
                }
                catch (Exception ex)
                {
                }
                try
                {
                    canReach2.Text = await CrossConnectivity.Current.IsRemoteReachable(host2.Text, int.Parse(port.Text)) ? "Reachable" : "Not reachable";
                }
                catch (Exception ex)
                {
                }
            };


            languageButton.Clicked += async(sender, args) =>
            {
                var locales = CrossTextToSpeech.Current.GetInstalledLanguages();
                var items   = locales.Select(a => a.ToString()).ToArray();

                if (Device.OS == TargetPlatform.Android)
                {
                    DependencyService.Get <IDialogs>().DisplayActionSheet("Language", "OK",
                                                                          items,
                                                                          which =>
                    {
                        languageButton.Text = items[which];
                        locale = locales.ElementAt(which);
                    });
                }
                else
                {
                    var selected = await page.DisplayActionSheet("Language", "OK", null, items);

                    if (string.IsNullOrWhiteSpace(selected) || selected == "OK")
                    {
                        return;
                    }
                    languageButton.Text = selected;
                    locale = new CrossLocale {
                        Language = selected
                    };                                       //fine for iOS/WP
                }
            };


            var disposeButton = new Button
            {
                Text = "Dispose Me"
            };

            disposeButton.Clicked += (sender, args) =>
            {
                CrossConnectivity.Dispose();
                CrossTextToSpeech.Dispose();
            };


            page = new ContentPage
            {
                Content = new ScrollView
                {
                    Content = new StackLayout
                    {
                        Padding  = 40,
                        Spacing  = 10,
                        Children =
                        {
                            new Label {
                                Text = "Hello, Forms!"
                            },
                            new Label {
                                Text = "Pitch"
                            },
                            sliderPitch,
                            new Label {
                                Text = "Speak Rate"
                            },
                            sliderRate,
                            new Label {
                                Text = "Volume"
                            },
                            sliderVolume,
                            new Label {
                                Text = "Use Defaults"
                            },
                            useDefaults,
                            languageButton,
                            speakButton,
                            new Label {
                                Text = "Vibrate Length"
                            },
                            sliderVibrate,
                            vibrateButton,
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId()
                            },
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId(true)
                            },
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId(true, "hello")
                            },
                            new Label {
                                Text = "Generated AppId: " + CrossDeviceInfo.Current.GenerateAppId(true, "hello", "world")
                            },
                            new Label {
                                Text = "Id: " + CrossDeviceInfo.Current.Id
                            },
                            new Label {
                                Text = "Model: " + CrossDeviceInfo.Current.Model
                            },
                            new Label {
                                Text = "Platform: " + CrossDeviceInfo.Current.Platform
                            },
                            new Label {
                                Text = "Version: " + CrossDeviceInfo.Current.Version
                            },
                            connectivityButton,
                            connected,
                            bandwidths,
                            connectionTypes,
                            host,
                            host2,
                            port,
                            canReach1,
                            canReach2,
                            disposeButton,
                            new StackLayout
                            {
                                HeightRequest = 300
                            },
                            new CircleImage
                            {
                                BorderColor       = Color.Pink,
                                BorderThickness   = 3,
                                HeightRequest     = 150,
                                WidthRequest      = 150,
                                Aspect            = Aspect.AspectFill,
                                HorizontalOptions = LayoutOptions.Center,
                                Source            = UriImageSource.FromUri(new Uri("http://upload.wikimedia.org/wikipedia/commons/5/55/Tamarin_portrait.JPG"))
                            },
                            new CircleImage
                            {
                                BorderColor       = Color.Purple,
                                BorderThickness   = 6,
                                HeightRequest     = 150,
                                WidthRequest      = 150,
                                Aspect            = Aspect.AspectFill,
                                HorizontalOptions = LayoutOptions.Center,
                                Source            = UriImageSource.FromUri(new Uri("http://upload.wikimedia.org/wikipedia/commons/e/ed/Saguinus_tripartitus_-_Golden-mantled_Tamarin.jpg"))
                            },
                            new CircleImage
                            {
                                BorderColor       = Color.Yellow,
                                BorderThickness   = 9,
                                HeightRequest     = 150,
                                WidthRequest      = 150,
                                Aspect            = Aspect.AspectFill,
                                HorizontalOptions = LayoutOptions.Center,
                                Source            = UriImageSource.FromUri(new Uri("http://upload.wikimedia.org/wikipedia/commons/5/53/Golden_Lion_Tamarin_Leontopithecus_rosalia.jpg"))
                            }
                        }
                    }
                }
            };

            CrossConnectivity.Current.ConnectivityChanged += (sender, args) =>
            {
                page.DisplayAlert("Connectivity Changed", "IsConnected: " + args.IsConnected.ToString(), "OK");
            };

            return(page);
        }
Example #11
0
 public virtual void Initialize()
 {
     try
     {
         Mvx.get_IoCProvider().RegisterType <ISystemInfo, SystemInfo>();
         Mvx.get_IoCProvider().RegisterType <IGlobalMobileApi, GlobalMobileApi>();
         Mvx.get_IoCProvider().RegisterType <IMobileApi, MobileApi>();
         Mvx.get_IoCProvider().RegisterType <IDbMobileApi, DbMobileApi>();
         Mvx.get_IoCProvider().RegisterType <IEugyintezesApi, EugyintezesApi>();
         Mvx.get_IoCProvider().RegisterType <IWebNavigation, WebNavigation>();
         Mvx.get_IoCProvider().RegisterType <IPushNotificationService, PushNotificationService>();
         Mvx.get_IoCProvider().RegisterType <IMvxCommandHelper, MvxStrongCommandHelper>();
         CultureInfo         cultureInfo      = new CultureInfo("hu");
         MvxResxTextProvider resxTextProvider = new MvxResxTextProvider(new ResourceManager("Ekreta.Mobile.Core.Resources.AppResources", typeof(App).GetTypeInfo().Assembly));
         resxTextProvider.set_CurrentLanguage(cultureInfo);
         Mvx.get_IoCProvider().RegisterSingleton <IMvxTextProvider>((M0)resxTextProvider);
         Mvx.get_IoCProvider().RegisterSingleton <IKeyStore>((Func <M0>)(() => (IKeyStore)DependencyService.Get <IKeyStore>((DependencyFetchTarget)0)));
         Mvx.get_IoCProvider().RegisterSingleton <ISecureStore>((M0) new SecureStore());
         ((ISecureStore)Mvx.get_IoCProvider().Resolve <ISecureStore>()).MigrateOldStore();
         Mvx.get_IoCProvider().RegisterSingleton <IAbsenceRepository>((M0) new AbsenceRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IAbsenceDbRepository>((M0) new AbsenceRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IEvaluationRepository>((M0) new EvaluationRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IEvaluationDbRepository>((M0) new EvaluationRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IEventRepository>((M0) new EventRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IFormTeacherRepository>((M0) new FormTeacherRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IFormTeacherDbRepository>((M0) new FormTeacherRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ILessonRepository>((M0) new LessonRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ILessonDbRepository>((M0) new LessonRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <INoteRepository>((M0) new NoteRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <INoteDbRepository>((M0) new NoteDbRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IParsedMessageRepository>((M0) new ParsedMessageRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IProfileRepository>((M0) new ProfileRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IProfileDbRepository>((M0) new ProfileRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IPushSettingsRepository>((M0) new PushSettingsRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IPushSettingsDbRepository>((M0) new PushSettingsRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ITokenInfoRepository>((M0) new TokenInfoRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ITokenInfoDbRepository>((M0) new TokenInfoRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IStudentRepository>((M0) new StudentRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IStudentDbRepository>((M0) new StudentRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ISubjectAverageRepository>((M0) new SubjectAverageRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ISubjectAverageDbRepository>((M0) new SubjectAverageRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ITutelaryRepository>((M0) new TutelaryRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ITutelaryDbRepository>((M0) new TutelaryRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IStudentHomeWorkRepository>((M0) new StudentHomeWorkRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IStudentHomeWorkDbRepository>((M0) new StudentHomeWorkRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ITeacherHomeWorkRepository>((M0) new TeacherHomeWorkRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ITeacherHomeWorkDbRepository>((M0) new TeacherHomeWorkRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ISettingRepository>((M0) new SettingRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ISettingDbRepository>((M0) new SettingRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IInstituteRepository>((M0) new InstituteRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ICacheDataRepository>((M0) new CacheDataRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IExamRepository>((M0) new ExamRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IExamDbRepository>((M0) new ExamRealmDbRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IRatingRepository>((M0) new RatingRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ICredentialRealmRepository>((M0) new CredentialRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ICimzettRepository>((M0) new CimzettRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ICimzettTipusAdatSzotarElemRealmRepository>((M0) new CimzettTipusAdatSzotarElemRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <ICsatolmanyRepository>((M0) new CsatolmanyRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IPostaladaElemRepository>((M0) new PostaladaElemRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IPostaladaElemTipusAdatSzotarElemRepository>((M0) new PostaladaElemTipusAdatSzotarElemRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IUzenetRepository>((M0) new UzenetRealmRepository());
         Mvx.get_IoCProvider().RegisterSingleton <IPushNotificationHandler>((Func <M0>)(() => (IPushNotificationHandler)DependencyService.Get <IPushNotificationHandler>((DependencyFetchTarget)0)));
         Mvx.get_IoCProvider().RegisterSingleton <IPlatformStyleProvider>((Func <M0>)(() => (IPlatformStyleProvider)DependencyService.Get <IPlatformStyleProvider>((DependencyFetchTarget)0)));
         Mvx.get_IoCProvider().RegisterSingleton <IDataViewer>((Func <M0>)(() => (IDataViewer)DependencyService.Get <IDataViewer>((DependencyFetchTarget)0)));
         Mvx.get_IoCProvider().RegisterSingleton <IPermissionManager>((Func <M0>)(() => (IPermissionManager)DependencyService.Get <IPermissionManager>((DependencyFetchTarget)0)));
         Mvx.get_IoCProvider().RegisterSingleton <IPackageInfo>((Func <M0>)(() => (IPackageInfo)DependencyService.Get <IPackageInfo>((DependencyFetchTarget)0)));
         Mvx.get_IoCProvider().RegisterSingleton <IMvxMainThreadDispatcher>((Func <M0>)(() => MvxSingleton <IMvxMainThreadDispatcher> .get_Instance()));
         Mvx.get_IoCProvider().RegisterSingleton <IConnectivity>((Func <M0>)(() => CrossConnectivity.get_Current()));
         Mvx.get_IoCProvider().RegisterSingleton <ISettingsDataService>((M0) new SettingsDataService());
         Mvx.get_IoCProvider().RegisterSingleton <ISettingsDbDataService>((M0) new SettingsDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IUserAgentService>((M0) new UserAgentService());
         Mvx.get_IoCProvider().RegisterType <ISingleNavigation, SingleNavigation>();
         Mvx.get_IoCProvider().RegisterSingleton <ITokenValidator>((M0) new TokenValidator());
         Mvx.get_IoCProvider().RegisterSingleton <ITokenValidatorDb>((M0) new TokenValidatorDb());
         Mvx.get_IoCProvider().RegisterSingleton <IAppVersionService>((Func <M0>)(() => (IAppVersionService) new AppVersionService()));
         Mvx.get_IoCProvider().RegisterSingleton <IConfigurationService>((M0) new ConfigurationService());
         Mvx.get_IoCProvider().RegisterSingleton <ICacheDataService>((M0) new CacheDataService());
         Mvx.get_IoCProvider().RegisterSingleton <INoteDataService>((M0) new NoteDataService());
         Mvx.get_IoCProvider().RegisterSingleton <INoteDbDataService>((M0) new NoteDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IAbsenceDataService>((M0) new AbsenceDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IAbsenceDbDataService>((M0) new AbsenceDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IEvaluationDataService>((M0) new EvaluationDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IEvaluationDbDataService>((M0) new EvaluationDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <ISubjectAverageDataService>((M0) new SubjectAverageDataService());
         Mvx.get_IoCProvider().RegisterSingleton <ISubjectAverageDbDataService>((M0) new SubjectAverageDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IParsedMessageDataService>((M0) new ParsedMessageDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IProfileDataService>((M0) new ProfileDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IProfileDbDataService>((M0) new ProfileDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IStudentDataService>((M0) new StudentDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IStudentDbDataService>((M0) new StudentDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IEventDataService>((M0) new EventDataService());
         Mvx.get_IoCProvider().RegisterSingleton <ILessonDataService>((M0) new LessonDataService());
         Mvx.get_IoCProvider().RegisterSingleton <ILessonDbDataService>((M0) new LessonDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IStudentHomeWorkDataService>((M0) new StudentHomeWorkDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IStudentHomeWorkDbDataService>((M0) new StudentHomeWorkDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <ITeacherHomeWorkDataService>((M0) new TeacherHomeWorkDataService());
         Mvx.get_IoCProvider().RegisterSingleton <ITeacherHomeWorkDbDataService>((M0) new TeacherHomeWorkDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IInstituteDataService>((M0) new InstituteDataService());
         Mvx.get_IoCProvider().RegisterSingleton <ITutelaryDataService>((M0) new TutelaryDataService());
         Mvx.get_IoCProvider().RegisterSingleton <ITutelaryDbDataService>((M0) new TutelaryDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IFormTeacherDataService>((M0) new FormTeacherDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IFormTeacherDbDataService>((M0) new FormTeacherDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IUzenetDataService>((M0) new UzenetDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IExamDataService>((M0) new ExamDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IExamDbDataService>((M0) new ExamDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IRatingDataService>((M0) new RatingDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IMailService>((M0) new MailService());
         Mvx.get_IoCProvider().RegisterSingleton <ICredentialsDataService>((M0) new CredentialsDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IRefreshDataService>((M0) new RefreshDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IAuthDataService>((M0) new AuthDataService());
         Mvx.get_IoCProvider().RegisterSingleton <IAuthDbDataService>((M0) new AuthDbDataService());
         Mvx.get_IoCProvider().RegisterSingleton <ISettingsMigration>((M0) new Migration());
         Mvx.get_IoCProvider().RegisterSingleton <IApplicationSettings>((M0) new Ekreta.Mobile.Core.Helpers.Settings());
         Mvx.get_IoCProvider().RegisterSingleton <ISecurityService>((Func <M0>)(() => (ISecurityService)DependencyService.Get <ISecurityService>((DependencyFetchTarget)0)));
         ConfigurationRepository.SetEnvironment("ekreta://PROD");
         Ekreta.Mobile.Core.Helpers.Settings.Environment = ConfigurationRepository.EnvironmentSetting.Environment;
         Mvx.get_IoCProvider().RegisterSingleton <IRemoteConfigurationService>((M0) new RemoteConfigurationService());
         Mvx.get_IoCProvider().RegisterSingleton <IModalDialog>((M0) new ModalDialog());
         CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("hu-HU");
         this.RegisterCustomAppStart <AppStartLogic>();
     }
     catch (Exception ex)
     {
         CrossMobileAnalytics.Current.TrackException(ex, (IDictionary <string, string>)null, nameof(Initialize), "/Users/admin/myagent/macMiniBlack3/_work/2/s/eKreta.Mobile/eKreta.Mobile.Core.Standard/App.cs", 228);
         ErrorHandler.Current.HandleError(ex);
     }
 }
 public static void DisposeResources()
 {
     CrossConnectivity.Dispose();
 }