public virtual Task<SignatureResult> Request(SignaturePadConfiguration config, CancellationToken cancelToken) {
			CurrentConfig = config ?? SignaturePadConfiguration.Default;

			this.tcs = new TaskCompletionSource<SignatureResult>();
			cancelToken.Register(this.Cancel);
			//var activity = Mvx.Resolve<IMvxAndroidCurrentTopActivity>().Activity;
            
            var intent = new Android.Content.Intent(Android.App.Application.Context, typeof(SignaturePadActivity));
            intent.AddFlags(Android.Content.ActivityFlags.NewTask); //NOT RECOMMENDED; BUT NECCESSARY
            intent.AddFlags(Android.Content.ActivityFlags.ClearWhenTaskReset);
            intent.AddFlags(Android.Content.ActivityFlags.NoHistory);

            CurrentConfig.SaveToIntent(intent);


            var recieverIntent = new Android.Content.IntentFilter("acr.mvvmcross.plugins.signaturepad.droid.SIGNATURE");
            Android.App.Application.Context.RegisterReceiver(new Broadcast.SignatureReceiver(), recieverIntent);
            Android.App.Application.Context.StartActivity(intent);

			return this.tcs.Task;
		}
Esempio n. 2
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Application Level Assistance
            //Application.RegisterOnProvideAssistDataListener(new AndroidListener());

            // Android.Content.Intent.ActionSearch.Equals
            // Verify the action and get the query
            if ("com.google.android.gms.actions.SEARCH_ACTION".Equals(Intent.Action))
            {
                var query = Intent.GetStringExtra(SearchManager.Query);
                System.Diagnostics.Debug.WriteLine(query);

                var intent = new Android.Content.Intent(Android.App.Application.Context, typeof(MainActivity));
                intent.AddFlags(Android.Content.ActivityFlags.NewTask);
                intent.PutExtra("search", query);
                intent.AddFlags(Android.Content.ActivityFlags.ReorderToFront);
                Android.App.Application.Context.StartActivity(intent);
            }
            this.FinishActivity(0);
        }
        private void OpenURL(string url)
        {
            // Opening URL takes a bit of time, so we are using beckground thread to not delay the sound of pressed button
            System.Threading.Tasks.Task.Run(() =>
            {
#if WINDOWS
                System.Diagnostics.Process.Start(url);
#elif ANDROID
                var intent = new Android.Content.Intent(Android.Content.Intent.ActionView, Android.Net.Uri.Parse(url));
                intent.AddFlags(Android.Content.ActivityFlags.NewTask);
                Android.App.Application.Context.StartActivity(intent);
#endif
            });
        }
Esempio n. 4
0
        public virtual Task <SignatureResult> Request(SignaturePadConfiguration config, CancellationToken cancelToken)
        {
            CurrentConfig = config ?? SignaturePadConfiguration.Default;

            this.tcs = new TaskCompletionSource <SignatureResult>();
            cancelToken.Register(this.Cancel);
            //var activity = Mvx.Resolve<IMvxAndroidCurrentTopActivity>().Activity;

            var intent = new Android.Content.Intent(Android.App.Application.Context, typeof(SignaturePadActivity));

            intent.AddFlags(Android.Content.ActivityFlags.NewTask); //NOT RECOMMENDED; BUT NECCESSARY
            intent.AddFlags(Android.Content.ActivityFlags.ClearWhenTaskReset);
            intent.AddFlags(Android.Content.ActivityFlags.NoHistory);

            CurrentConfig.SaveToIntent(intent);


            var recieverIntent = new Android.Content.IntentFilter("acr.mvvmcross.plugins.signaturepad.droid.SIGNATURE");

            Android.App.Application.Context.RegisterReceiver(new Broadcast.SignatureReceiver(), recieverIntent);
            Android.App.Application.Context.StartActivity(intent);

            return(this.tcs.Task);
        }
Esempio n. 5
0
        protected override async Task <Bundle> OnRunTestsAsync()
        {
            var intent = new Android.Content.Intent(TargetContext, typeof(T));

            intent.PutExtra(BaseTestActivity.ArgumentsBundleKey, Arguments);
            intent.AddFlags(Android.Content.ActivityFlags.NewTask);

            var activity = StartActivitySync(intent);

            if (activity is T testActivity)
            {
                return(await testActivity.TaskCompletionSource.Task);
            }

            throw new InvalidOperationException($"Unexpected activity type '{typeof(T).FullName}'.");
        }
Esempio n. 6
0
        public void StartAuthentication(string clientId, string scope, string appSecret, Uri authorizeUrl, Uri redirectUrl, Uri tokenUrl, bool codeChallengeMethod)
        {
            Xamarin.Auth.OAuth2Authenticator oAuth2 = new Xamarin.Auth.OAuth2Authenticator(clientId,
                                                                                           appSecret,
                                                                                           scope,
                                                                                           authorizeUrl,
                                                                                           redirectUrl,
                                                                                           tokenUrl);
            oAuth2.Completed += OnOAuth2Completed;
            oAuth2.Error     += OnOAuth2Error;

            Android.Content.Context context = Android.App.Application.Context;
            Android.Content.Intent  loginUI = oAuth2.GetUI(context);
            loginUI.AddFlags(Android.Content.ActivityFlags.NewTask);
            context.StartActivity(loginUI);
        }