Beispiel #1
0
        protected void FinishActivityWithSuccess(
            IFileStorageSetupActivity setupActivity)
        {
            //Log.d("KP2AJ", "Success with authenticating!");
            Activity activity = (Activity)setupActivity;

            if (setupActivity.ProcessName
                .Equals(FileStorageSetupDefs.ProcessNameFileUsageSetup))
            {
                Intent data = new Intent();
                data.PutExtra(FileStorageSetupDefs.ExtraIsForSave, setupActivity.IsForSave);
                data.PutExtra(FileStorageSetupDefs.ExtraPath, setupActivity.Ioc.Path);
                activity.SetResult((Result)FileStorageResults.FileUsagePrepared, data);
                activity.Finish();
                return;
            }
            if (setupActivity.ProcessName.Equals(FileStorageSetupDefs.ProcessNameSelectfile))
            {
                Intent data = new Intent();

                String path = setupActivity.State.GetString(FileStorageSetupDefs.ExtraPath);
                if (path != null)
                {
                    data.PutExtra(FileStorageSetupDefs.ExtraPath, path);
                }
                activity.SetResult((Result)FileStorageResults.FileChooserPrepared, data);
                activity.Finish();
                return;
            }

            logDebug("Unknown process: " + setupActivity.ProcessName);
        }
Beispiel #2
0
        public void OnResume(IFileStorageSetupActivity activity)
        {
#if DEBUG
            Kp2aLog.Log("JFS/OnResume Ioc.Path=" + activity.Ioc.Path + ". Path=" + ((IJavaFileStorageFileStorageSetupActivity)activity).Path);
#endif
            _jfs.OnResume(((IJavaFileStorageFileStorageSetupActivity)activity));
        }
Beispiel #3
0
        public async void OnStart(IFileStorageSetupActivity activity)
        {
            if (activity.ProcessName.Equals(FileStorageSetupDefs.ProcessNameFileUsageSetup))
            {
                activity.State.PutString(FileStorageSetupDefs.ExtraPath, activity.Ioc.Path);
            }
            string rootPathForUser = await TryLoginSilent(activity.Ioc.Path);

            if (rootPathForUser != null)
            {
                FinishActivityWithSuccess(activity, rootPathForUser);
            }

            try
            {
                logDebug("try interactive");
                AuthenticationResult res = await _publicClientApp.AcquireTokenInteractive(Scopes)
                                           .WithParentActivityOrWindow((Activity)activity)
                                           .ExecuteAsync();

                logDebug("ok interactive");
                BuildClient(res);
                FinishActivityWithSuccess(activity, BuildRootPathForUser(res));
            }
            catch (Exception e)
            {
                logDebug("authenticating not successful: " + e);
                Intent data = new Intent();
                data.PutExtra(FileStorageSetupDefs.ExtraErrorMessage, "authenticating not successful");
                ((Activity)activity).SetResult(Result.Canceled, data);
                ((Activity)activity).Finish();
            }
        }
 public void OnRequestPermissionsResult(IFileStorageSetupActivity fileStorageSetupActivity, int requestCode,
                                        string[] permissions, Permission[] grantResults)
 {
     if (_baseStorage is IPermissionRequestingFileStorage)
     {
         ((IPermissionRequestingFileStorage)_baseStorage).OnRequestPermissionsResult(fileStorageSetupActivity, requestCode, permissions, grantResults);
     }
 }
Beispiel #5
0
 public void OnResume(IFileStorageSetupActivity activity)
 {
     if (activity.State.ContainsKey(PermissionGrantedKey))
     {
         if (activity.State.GetBoolean(PermissionGrantedKey))
         {
             Intent data = new Intent();
             data.PutExtra(FileStorageSetupDefs.ExtraIsForSave, activity.IsForSave);
             data.PutExtra(FileStorageSetupDefs.ExtraPath, IocToPath(activity.Ioc));
             ((Activity)activity).SetResult((Result)FileStorageResults.FileUsagePrepared, data);
             ((Activity)activity).Finish();
         }
         else
         {
             Intent data = new Intent();
             data.PutExtra(FileStorageSetupDefs.ExtraErrorMessage, "Permission denied. Please grant file access permission for this app.");
             ((Activity)activity).SetResult(Result.Canceled, data);
             ((Activity)activity).Finish();
         }
     }
 }
 public void OnCreate(IFileStorageSetupActivity activity, Bundle savedInstanceState)
 {
     throw new NotImplementedException();
 }
Beispiel #7
0
 public void OnActivityResult(IFileStorageSetupActivity activity, int requestCode, int resultCode, Intent data)
 {
     throw new NotImplementedException();
 }
Beispiel #8
0
 public void OnCreate(IFileStorageSetupActivity activity, Bundle savedInstanceState)
 {
     throw new NotImplementedException();
 }
Beispiel #9
0
 public void OnActivityResult(IFileStorageSetupActivity activity, int requestCode, int resultCode, Intent data)
 {
 }
Beispiel #10
0
 public void OnRequestPermissionsResult(IFileStorageSetupActivity fileStorageSetupActivity, int requestCode,
                                        string[] permissions, Permission[] grantResults)
 {
     _jfs.OnRequestPermissionsResult(((IJavaFileStorageFileStorageSetupActivity)fileStorageSetupActivity), requestCode,
                                     permissions, grantResults.Select(p => (int)p).ToArray());
 }
Beispiel #11
0
 public void OnResume(IFileStorageSetupActivity activity)
 {
 }
Beispiel #12
0
 public void OnStart(IFileStorageSetupActivity activity)
 {
     _jfs.OnStart(((IJavaFileStorageFileStorageSetupActivity)activity));
 }
 public void OnCreate(IFileStorageSetupActivity activity, Bundle savedInstanceState)
 {
     _cachedStorage.OnCreate(activity, savedInstanceState);
 }
 public void OnActivityResult(IFileStorageSetupActivity activity, int requestCode, int resultCode, Intent data)
 {
     _cachedStorage.OnActivityResult(activity, requestCode, resultCode, data);
 }
 public void OnRequestPermissionsResult(IFileStorageSetupActivity fileStorageSetupActivity, int requestCode,
                                        string[] permissions, Permission[] grantResults)
 {
     _cachedStorage.OnRequestPermissionsResult(fileStorageSetupActivity, requestCode, permissions, grantResults);
 }
Beispiel #16
0
 public void OnActivityResult(IFileStorageSetupActivity activity, int requestCode, int resultCode, Intent data)
 {
     AuthenticationContinuationHelper.SetAuthenticationContinuationEventArgs(requestCode, (Result)resultCode,
                                                                             data);
 }
Beispiel #17
0
 private void FinishActivityWithSuccess(IFileStorageSetupActivity activity, string rootPathForUser)
 {
     activity.State.PutString(FileStorageSetupDefs.ExtraPath, rootPathForUser);
     FinishActivityWithSuccess(activity);
 }
 private void finishActivityWithSuccess(IFileStorageSetupActivity activity, AuthenticationResult authResult)
 {
     activity.State.PutString(FileStorageSetupDefs.ExtraPath, buildRootPathForUser(authResult));
     finishActivityWithSuccess(activity);
 }
        public async void OnStart(IFileStorageSetupActivity activity)
        {
            if (activity.ProcessName.Equals(FileStorageSetupDefs.ProcessNameFileUsageSetup))
            {
                activity.State.PutString(FileStorageSetupDefs.ExtraPath, activity.Ioc.Path);
            }

            IAccount account = null;

            try
            {
                String userId = OneDrive2ItemLocation <OneDrive2PrefixContainerType> .FromString(activity.Ioc.Path).User?.Id;

                if (mClientByUser.ContainsKey(userId))
                {
                    finishActivityWithSuccess(activity);
                    return;
                }

                logDebug("needs acquire token");
                logDebug("trying silent login " + activity.Ioc.Path);

                account = Task.Run(async() => await _publicClientApp.GetAccountAsync(userId)).Result;
                logDebug("getting user ok.");
            }
            catch (Exception e)
            {
                logDebug(e.ToString());
            }
            if (account != null)
            {
                try
                {
                    logDebug("AcquireTokenSilent...");
                    AuthenticationResult authResult = await _publicClientApp.AcquireTokenSilent(Scopes, account)
                                                      .ExecuteAsync();

                    logDebug("AcquireTokenSilent ok.");
                    var graphClient = buildClient(authResult);

                    /*User me = await graphClient.Me.Request().WithForceRefresh(true).GetAsync();
                     * logDebug("received name " + me.DisplayName);*/

                    finishActivityWithSuccess(activity, authResult);
                    return;
                }
                catch (MsalUiRequiredException ex)
                {
                    logDebug("ui required");
                }
            }
            try
            {
                logDebug("try interactive");
                AuthenticationResult res = await _publicClientApp.AcquireTokenInteractive(Scopes)
                                           .WithParentActivityOrWindow((Activity)activity)
                                           .ExecuteAsync();

                logDebug("ok interactive");
                buildClient(res);
                finishActivityWithSuccess(activity, res);
            }
            catch (Exception e)
            {
                logDebug("authenticating not successful: " + e);
                Intent data = new Intent();
                data.PutExtra(FileStorageSetupDefs.ExtraErrorMessage, "authenticating not successful");
                ((Activity)activity).SetResult(Result.Canceled, data);
                ((Activity)activity).Finish();
            }
        }
Beispiel #20
0
 public void OnStart(IFileStorageSetupActivity activity)
 {
     _jfs.OnStart(((IJavaFileStorageFileStorageSetupActivity) activity));
 }
Beispiel #21
0
 public void OnActivityResult(IFileStorageSetupActivity activity, int requestCode, int resultCode, Intent data)
 {
     _cachedStorage.OnActivityResult(activity, requestCode, resultCode, data);
 }
Beispiel #22
0
 public void OnCreate(IFileStorageSetupActivity activity, Bundle savedInstanceState)
 {
 }
Beispiel #23
0
 public void OnCreate(IFileStorageSetupActivity activity, Bundle savedInstanceState)
 {
     _cachedStorage.OnCreate(activity, savedInstanceState);
 }
Beispiel #24
0
 public void OnCreate(IFileStorageSetupActivity activity, Bundle savedInstanceState)
 {
     _jfs.OnCreate(((IJavaFileStorageFileStorageSetupActivity)activity), savedInstanceState);
 }
Beispiel #25
0
 public void OnResume(IFileStorageSetupActivity activity)
 {
     _cachedStorage.OnResume(activity);
 }
Beispiel #26
0
 public void OnActivityResult(IFileStorageSetupActivity activity, int requestCode, int resultCode, Intent data)
 {
     _jfs.OnActivityResult(((IJavaFileStorageFileStorageSetupActivity)activity), requestCode, resultCode, data);
 }
Beispiel #27
0
 public void OnStart(IFileStorageSetupActivity activity)
 {
     _cachedStorage.OnStart(activity);
 }
Beispiel #28
0
 public void OnCreate(IFileStorageSetupActivity fileStorageSetupActivity, Bundle savedInstanceState)
 {
     Android.Support.V4.App.ActivityCompat.RequestPermissions(((Activity)fileStorageSetupActivity), new[] { Manifest.Permission.WriteExternalStorage, Manifest.Permission.ReadExternalStorage }, 0);
 }
 public void OnResume(IFileStorageSetupActivity activity)
 {
     _baseStorage.OnResume(activity);
 }
Beispiel #30
0
 public void OnStart(IFileStorageSetupActivity activity)
 {
 }
 public void OnStart(IFileStorageSetupActivity activity)
 {
     _baseStorage.OnStart(activity);
 }
Beispiel #32
0
 public void OnRequestPermissionsResult(IFileStorageSetupActivity fileStorageSetupActivity, int requestCode,
                                        string[] permissions, Permission[] grantResults)
 {
     fileStorageSetupActivity.State.PutBoolean(PermissionGrantedKey, grantResults.All(res => res == Permission.Granted));
 }
Beispiel #33
0
 public void OnActivityResult(IFileStorageSetupActivity activity, int requestCode, int resultCode, Intent data)
 {
     _jfs.OnActivityResult(((IJavaFileStorageFileStorageSetupActivity) activity), requestCode, resultCode, data);
 }
Beispiel #34
0
 public void OnStart(IFileStorageSetupActivity activity)
 {
     throw new NotImplementedException();
 }
Beispiel #35
0
 public void OnCreate(IFileStorageSetupActivity activity, Bundle savedInstanceState)
 {
     _jfs.OnCreate(((IJavaFileStorageFileStorageSetupActivity)activity), savedInstanceState);
 }
 public void OnActivityResult(IFileStorageSetupActivity activity, int requestCode, int resultCode, Intent data)
 {
     throw new NotImplementedException();
 }
Beispiel #37
0
 public void OnResume(IFileStorageSetupActivity activity)
 {
     Kp2aLog.Log("JFS/OnResume Ioc.Path=" +activity.Ioc.Path+". Path="+((IJavaFileStorageFileStorageSetupActivity)activity).Path);
     _jfs.OnResume(((IJavaFileStorageFileStorageSetupActivity) activity));
 }
 public void OnStart(IFileStorageSetupActivity activity)
 {
     throw new NotImplementedException();
 }
Beispiel #39
0
 public void OnCreate(IFileStorageSetupActivity fileStorageSetupActivity, Bundle savedInstanceState)
 {
     ((Activity)fileStorageSetupActivity).RequestPermissions(new[] { Manifest.Permission.WriteExternalStorage }, 0);
 }