public IntentSender GetAuthIntentSenderForWarning(Context context, string query, string queryDomain, string queryPackage, AutofillServiceBase.DisplayWarning warning) { Intent intent = new Intent(context, typeof(ChooseForAutofillActivity)); intent.PutExtra(ChooseForAutofillActivityBase.ExtraQueryString, query); intent.PutExtra(ChooseForAutofillActivityBase.ExtraQueryDomainString, queryDomain); intent.PutExtra(ChooseForAutofillActivityBase.ExtraQueryPackageString, queryPackage); intent.PutExtra(ChooseForAutofillActivityBase.ExtraDisplayWarning, (int)warning); intent.PutExtra(ChooseForAutofillActivityBase.ExtraUseLastOpenedEntry, true); return(PendingIntent.GetActivity(context, 0, intent, PendingIntentFlags.CancelCurrent).IntentSender); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); //if launched from history, don't re-use the task. Proceed to FileSelect instead. if (Intent.Flags.HasFlag(ActivityFlags.LaunchedFromHistory)) { Kp2aLog.Log("Forwarding to FileSelect. QueryCredentialsActivity started from history."); RestartApp(); return; } string requestedUrl = Intent.GetStringExtra(ExtraQueryString); if (requestedUrl == null) { Toast.MakeText(this, "Cannot execute query for null.", ToastLength.Long).Show(); RestartApp(); return; } if (Intent.HasExtra(ExtraDisplayWarning)) { AutofillServiceBase.DisplayWarning warning = (AutofillServiceBase.DisplayWarning)Intent.GetIntExtra(ExtraDisplayWarning, (int)AutofillServiceBase.DisplayWarning.None); if (warning != AutofillServiceBase.DisplayWarning.None) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.SetTitle(this.GetString(Resource.String.AutofillWarning_title)); builder.SetMessage( GetString(Resource.String.AutofillWarning_Intro, new Java.Lang.Object[] { Intent.GetStringExtra(ExtraQueryDomainString), Intent.GetStringExtra(ExtraQueryPackageString) }) + " " + this.GetString(Resource.String.AutofillWarning_FillDomainInUntrustedApp, new Java.Lang.Object[] { Intent.GetStringExtra(ExtraQueryDomainString), Intent.GetStringExtra(ExtraQueryPackageString) })); builder.SetPositiveButton(this.GetString(Resource.String.Continue), (dlgSender, dlgEvt) => { Proceed(); }); builder.SetNegativeButton(this.GetString(Resource.String.cancel), (dlgSender, dlgEvt) => { Finish(); }); Dialog dialog = builder.Create(); dialog.Show(); return; } } Proceed(); }
public IntentSender GetAuthIntentSenderForResponse(Context context, string query, string queryDomain, string queryPackage, bool isManualRequest, bool autoReturnFromQuery, AutofillServiceBase.DisplayWarning warning) { Intent intent = new Intent(context, typeof(ChooseForAutofillActivity)); intent.PutExtra(ChooseForAutofillActivityBase.ExtraQueryString, query); intent.PutExtra(ChooseForAutofillActivityBase.ExtraQueryDomainString, queryDomain); intent.PutExtra(ChooseForAutofillActivityBase.ExtraQueryPackageString, queryPackage); intent.PutExtra(ChooseForAutofillActivityBase.ExtraIsManualRequest, isManualRequest); intent.PutExtra(ChooseForAutofillActivityBase.ExtraAutoReturnFromQuery, autoReturnFromQuery); intent.PutExtra(ChooseForAutofillActivityBase.ExtraDisplayWarning, (int)warning); return(PendingIntent.GetActivity(context, 0, intent, PendingIntentFlags.CancelCurrent).IntentSender); }
protected override void OnCreate(Bundle savedInstanceState) { Kp2aLog.Log("ChooseForAutofillActivityBase.OnCreate"); base.OnCreate(savedInstanceState); //if launched from history, don't re-use the task. Proceed to FileSelect instead. if (Intent.Flags.HasFlag(ActivityFlags.LaunchedFromHistory)) { Kp2aLog.Log("ChooseForAutofillActivityBase: started from history"); Kp2aLog.Log("Forwarding to FileSelect. QueryCredentialsActivity started from history."); RestartApp(); return; } string requestedUrl = Intent.GetStringExtra(ExtraQueryString); if (requestedUrl == null) { Kp2aLog.Log("ChooseForAutofillActivityBase: no requestedUrl "); Toast.MakeText(this, "Cannot execute query for null.", ToastLength.Long).Show(); RestartApp(); return; } if (Intent.HasExtra(ExtraDisplayWarning)) { AutofillServiceBase.DisplayWarning warning = (AutofillServiceBase.DisplayWarning)Intent.GetIntExtra(ExtraDisplayWarning, (int)AutofillServiceBase.DisplayWarning.None); Kp2aLog.Log("ChooseForAutofillActivityBase: ExtraDisplayWarning = " + warning); if (warning != AutofillServiceBase.DisplayWarning.None) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.SetTitle(this.GetString(Resource.String.AutofillWarning_title)); string appName = Intent.GetStringExtra(ExtraQueryPackageString); string appNameWithPackage = appName; try { var appInfo = PackageManager.GetApplicationInfo(appName, 0); if (appInfo != null) { appName = PackageManager.GetApplicationLabel(appInfo); appNameWithPackage = appName + " (" + Intent.GetStringExtra(ExtraQueryPackageString) + ")"; } } catch (Exception) { // ignored } builder.SetMessage( GetString(Resource.String.AutofillWarning_Intro, new Java.Lang.Object[] { Intent.GetStringExtra(ExtraQueryDomainString), appNameWithPackage }) + " " + this.GetString(Resource.String.AutofillWarning_FillDomainInUntrustedApp, new Java.Lang.Object[] { Intent.GetStringExtra(ExtraQueryDomainString), appName })); builder.SetPositiveButton(this.GetString(Resource.String.Continue), (dlgSender, dlgEvt) => { new Kp2aDigitalAssetLinksDataSource(this).RememberTrustedLink(Intent.GetStringExtra(ExtraQueryDomainString), Intent.GetStringExtra(ExtraQueryPackageString)); Proceed(); }); builder.SetNeutralButton(this.GetString(Resource.String.AutofillWarning_trustAsBrowser, new Java.Lang.Object[] { appName }), (sender, args) => { new Kp2aDigitalAssetLinksDataSource(this).RememberAsTrustedApp(Intent.GetStringExtra(ExtraQueryPackageString)); Proceed(); }); builder.SetNegativeButton(this.GetString(Resource.String.cancel), (dlgSender, dlgEvt) => { Finish(); }); Dialog dialog = builder.Create(); dialog.Show(); return; } } else { Kp2aLog.Log("ChooseForAutofillActivityBase: No ExtraDisplayWarning"); } Proceed(); }