Esempio n. 1
0
        private void ShowInputMethod(View view)
        {
            InputMethodManager imm = AppCompatActivity?.GetSystemService(
                Context.InputMethodService) as InputMethodManager;

            imm?.ToggleSoftInput(0, HideSoftInputFlags.NotAlways);
        }
Esempio n. 2
0
 /// <summary>
 /// Закрыть клавиатуру
 /// </summary>
 /// <param name="activity"></param>
 /// <param name="view"></param>
 public static void HideKeyboard(AppCompatActivity activity, View view)
 {
     if (activity != null && view != null)
     {
         var inputMethodManager = (InputMethodManager)activity.GetSystemService(Context.InputMethodService);
         inputMethodManager.HideSoftInputFromWindow(view.WindowToken, 0);
     }
 }
Esempio n. 3
0
        //  private string savedir;

        //  private string savefilename;
        public TmsDownloadManager(AppCompatActivity activity)
        {
            downloadManager = (DownloadManager)activity.GetSystemService(Context.DownloadService);
            this.activity   = activity;
            activity.RegisterReceiver(CreateDownloadReceiver(),
                                      new IntentFilter(DownloadManager.ActionDownloadComplete));


            //  savedir =Android.OS. Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads).AbsolutePath;
        }
Esempio n. 4
0
        public void hideKeyBoard(AppCompatActivity activity)
        {
            InputMethodManager inputManager = (InputMethodManager)activity.GetSystemService(Context.InputMethodService);
            var currentFocus = activity.CurrentFocus;

            if (currentFocus != null)
            {
                inputManager.HideSoftInputFromWindow(currentFocus.WindowToken, HideSoftInputFlags.None);
            }
        }
Esempio n. 5
0
        public void Play(AlertType at)
        {
            if (at == AlertType.None)
            {
                return;
            }

//            m_handler.Post(() =>
//            {
            var audioManager = (AudioManager)m_act.GetSystemService(global::Android.Content.Context.AudioService);
            var actualVolume = (float)audioManager.GetStreamVolume(Stream.Music);
            var maxVolume    = (float)audioManager.GetStreamMaxVolume(Stream.Music);
            var volume       = actualVolume / maxVolume;

            m_sp.Play(m_mpAlertMedia[at], volume, volume, 1, 0, 1f);
//            });
        }
Esempio n. 6
0
 internal void DownloadApkAndRedirectToInstallation()
 {
     try
     {
         string destinationPath
             = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads) + "/WMSkanerAndroid.apk";
         DeleteExistingFile(destinationPath);
         Android.Net.Uri uri        = Android.Net.Uri.FromFile(new Java.IO.File(destinationPath));
         DownloadManager manager    = (DownloadManager)activity.GetSystemService(Context.DownloadService);
         long            downloadId = SetDownloadRequestToDownloadManager(uri, manager);
         SetBroadcastReceiverToInstallAppWhenDownloadIsComplete(
             Android.Support.V4.Content.FileProvider.GetUriForFile(
                 activity, activity.ApplicationContext.PackageName + ".provider", new Java.IO.File(destinationPath))
             , manager, downloadId);
     }
     catch (Java.Lang.SecurityException sex)
     {
         //TODO GT obsluga braku uprawnien
     }
     catch (Exception ex)
     {
     }
 }
Esempio n. 7
0
        private async Task <LocationData> UpdateLocation()
        {
            LocationData locationData = null;

            if (Settings.FollowGPS)
            {
                if (AppCompatActivity != null && ContextCompat.CheckSelfPermission(AppCompatActivity, Manifest.Permission.AccessFineLocation) != Permission.Granted &&
                    ContextCompat.CheckSelfPermission(AppCompatActivity, Manifest.Permission.AccessCoarseLocation) != Permission.Granted)
                {
                    ActivityCompat.RequestPermissions(AppCompatActivity, new String[] { Manifest.Permission.AccessCoarseLocation, Manifest.Permission.AccessFineLocation },
                                                      PERMISSION_LOCATION_REQUEST_CODE);
                    return(null);
                }

                LocationManager locMan       = (LocationManager)AppCompatActivity.GetSystemService(Context.LocationService);
                bool            isGPSEnabled = locMan.IsProviderEnabled(LocationManager.GpsProvider);
                bool            isNetEnabled = locMan.IsProviderEnabled(LocationManager.NetworkProvider);

                Android.Locations.Location location = null;

                if (isGPSEnabled || isNetEnabled)
                {
                    Criteria locCriteria = new Criteria()
                    {
                        Accuracy = Accuracy.Coarse, CostAllowed = false, PowerRequirement = Power.Low
                    };
                    string provider = locMan.GetBestProvider(locCriteria, true);
                    location = locMan.GetLastKnownLocation(provider);

                    if (location == null)
                    {
                        locMan.RequestSingleUpdate(provider, mLocListnr, null);
                    }
                    else
                    {
                        LocationQueryViewModel view = null;

                        await Task.Run(async() =>
                        {
                            view = await wm.GetLocation(location);

                            if (String.IsNullOrEmpty(view.LocationQuery))
                            {
                                view = new LocationQueryViewModel();
                            }
                        });

                        if (String.IsNullOrWhiteSpace(view.LocationQuery))
                        {
                            // Stop since there is no valid query
                            AppCompatActivity?.RunOnUiThread(() =>
                            {
                                gpsPanelViewModel         = null;
                                gpsPanelLayout.Visibility = ViewStates.Gone;
                            });
                            return(null);
                        }

                        // Save location as last known
                        locationData = new LocationData(view, location);
                    }
                }
                else
                {
                    AppCompatActivity?.RunOnUiThread(() =>
                    {
                        Toast.MakeText(AppCompatActivity, Resource.String.error_retrieve_location, ToastLength.Short).Show();
                        gpsPanelViewModel         = null;
                        gpsPanelLayout.Visibility = ViewStates.Gone;
                    });
                }
            }

            return(locationData);
        }
        private async Task <bool> UpdateLocation()
        {
            bool locationChanged = false;

            if (Settings.FollowGPS && (location == null || location.locationType == LocationType.GPS))
            {
                if (AppCompatActivity != null && ContextCompat.CheckSelfPermission(AppCompatActivity, Manifest.Permission.AccessFineLocation) != Permission.Granted &&
                    ContextCompat.CheckSelfPermission(AppCompatActivity, Manifest.Permission.AccessCoarseLocation) != Permission.Granted)
                {
                    ActivityCompat.RequestPermissions(AppCompatActivity, new String[] { Manifest.Permission.AccessCoarseLocation, Manifest.Permission.AccessFineLocation },
                                                      PERMISSION_LOCATION_REQUEST_CODE);
                    return(false);
                }

                LocationManager locMan       = AppCompatActivity?.GetSystemService(Context.LocationService) as LocationManager;
                bool            isGPSEnabled = (bool)locMan?.IsProviderEnabled(LocationManager.GpsProvider);
                bool            isNetEnabled = (bool)locMan?.IsProviderEnabled(LocationManager.NetworkProvider);

                Android.Locations.Location location = null;

                if (isGPSEnabled || isNetEnabled)
                {
                    Criteria locCriteria = new Criteria()
                    {
                        Accuracy = Accuracy.Coarse, CostAllowed = false, PowerRequirement = Power.Low
                    };
                    string provider = locMan.GetBestProvider(locCriteria, true);
                    location = locMan.GetLastKnownLocation(provider);

                    if (location == null)
                    {
                        locMan.RequestSingleUpdate(provider, mLocListnr, null);
                    }
                    else
                    {
                        LocationData lastGPSLocData = await Settings.GetLastGPSLocData();

                        // Check previous location difference
                        if (lastGPSLocData.query != null &&
                            mLocation != null && ConversionMethods.CalculateGeopositionDistance(mLocation, location) < 1600)
                        {
                            return(false);
                        }

                        if (lastGPSLocData.query != null &&
                            Math.Abs(ConversionMethods.CalculateHaversine(lastGPSLocData.latitude, lastGPSLocData.longitude,
                                                                          location.Latitude, location.Longitude)) < 1600)
                        {
                            return(false);
                        }

                        LocationQueryViewModel view = null;

                        await Task.Run(async() =>
                        {
                            view = await wm.GetLocation(location);

                            if (String.IsNullOrEmpty(view.LocationQuery))
                            {
                                view = new LocationQueryViewModel();
                            }
                        });

                        if (String.IsNullOrWhiteSpace(view.LocationQuery))
                        {
                            // Stop since there is no valid query
                            return(false);
                        }

                        // Save oldkey
                        string oldkey = lastGPSLocData.query;

                        // Save location as last known
                        lastGPSLocData.SetData(view, location);
                        Settings.SaveLastGPSLocData(lastGPSLocData);

                        App.Context.StartService(
                            new Intent(App.Context, typeof(WearableDataListenerService))
                            .SetAction(WearableDataListenerService.ACTION_SENDLOCATIONUPDATE));

                        this.location = lastGPSLocData;
                        mLocation     = location;

                        // Update widget ids for location
                        if (oldkey != null && WidgetUtils.Exists(oldkey))
                        {
                            WidgetUtils.UpdateWidgetIds(oldkey, lastGPSLocData);
                        }

                        locationChanged = true;
                    }
                }
                else
                {
                    AppCompatActivity?.RunOnUiThread(() =>
                    {
                        Toast.MakeText(AppCompatActivity, Resource.String.error_retrieve_location, ToastLength.Short).Show();
                    });
                }
            }

            return(locationChanged);
        }