Esempio n. 1
0
File: CoreApp.cs Progetto: hdir/ga10
        private static void RequestResolveMissingPermission(MissingPermission permission, Action callback)
        {
            if (_isRequesting)
            {
                return;
            }

            _isRequesting = true;

            Device.BeginInvokeOnMainThread(async() =>
            {
                var result = await UserDialogs.Instance.ConfirmAsync(
                    permission.ToDescription(),
                    AppText.permission_title,
                    "Tillat",
                    "Ikke Tillat");

                _isRequesting = false;

                if (result)
                {
                    callback?.Invoke();
                }
                else
                {
                    RequestResolveMissingPermission(permission, callback);
                }
            });
        }
Esempio n. 2
0
 public void ResolvedMissingPermission(MissingPermission permission)
 {
     if (_missingPermissionCallbacks.ContainsKey(permission))
     {
         _missingPermissionCallbacks.Remove(permission);
     }
     MissingPermissionsResolved?.Invoke(permission);
 }
Esempio n. 3
0
 public void ReportMissingPermission(MissingPermission permission, Action callback)
 {
     if (!_missingPermissionCallbacks.ContainsKey(permission))
     {
         _missingPermissionCallbacks.Add(permission, callback);
     }
     MissingPermissionsAdded?.Invoke(permission, callback);
 }
Esempio n. 4
0
        public static string GetDescription(MissingPermission permission)
        {
            switch (permission)
            {
            case MissingPermission.iOSLocationAlways: return(AppText.permission_ios_location);

            case MissingPermission.iOSMotionAndActivity: return(AppText.permission_ios_motion);

            case MissingPermission.AndroidFineLocation: return(AppText.permission_fine_location);

            case MissingPermission.AndroidActivityRecognition: return(AppText.permission_activity_recognition);

            case MissingPermission.AndroidFitnessAccountLink: return(AppText.permission_google_fitness);

            case MissingPermission.AndroidFitnessPermissions: return(AppText.permission_google_fitness);

            default:
#if DEBUG
                throw new ArgumentException("Trying to get text content for a permission that does not exist: {0}", permission.ToString());
#else
                return(string.Empty);
#endif
            }
        }
Esempio n. 5
0
 public static string ToDescription(this MissingPermission permission) => Permissions.GetDescription(permission);
Esempio n. 6
0
 public PermissionModel(MissingPermission type, string description = "")
 {
     Type        = type;
     Description = description;
 }