Commit e2b7c329 authored by Liquan (Max) Gu's avatar Liquan (Max) Gu Committed by Chromium LUCI CQ

[WebLayer] AndroidPaymentApp not to depend on ChromeActivity

This CL removes AndroidPaymentApp's dependency' on ChromeActivity by
WebContents.getTopLevelNativeWindow().getActivity().get().

Bug: 1140340, 1156191
Change-Id: I8c0a5295ab931748c35c4d7c442f5b59b888af6e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2577856
Commit-Queue: Liquan (Max) Gu <maxlg@chromium.org>
Reviewed-by: default avatarRouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#834506}
parent 89925c61
......@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.payments;
import android.content.Context;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.graphics.drawable.Drawable;
......@@ -17,7 +18,6 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.components.payments.ErrorStrings;
import org.chromium.components.payments.PayerData;
import org.chromium.components.payments.PaymentApp;
......@@ -122,17 +122,22 @@ public class AndroidPaymentApp
mWebContents = webContents;
}
@Nullable
private Context getActivityContext() {
WindowAndroid window = mWebContents.getTopLevelNativeWindow();
return window == null ? null : window.getActivity().get();
}
// Launcher implementation.
@Override
public void showLeavingIncognitoWarning(
Callback<String> denyCallback, Runnable approveCallback) {
ChromeActivity activity = ChromeActivity.fromWebContents(mWebContents);
if (activity == null) {
Context context = getActivityContext();
if (context == null) {
denyCallback.onResult(ErrorStrings.ACTIVITY_NOT_FOUND);
return;
}
new UiUtils.CompatibleAlertDialogBuilder(activity, R.style.Theme_Chromium_AlertDialog)
new UiUtils.CompatibleAlertDialogBuilder(context, R.style.Theme_Chromium_AlertDialog)
.setTitle(R.string.external_app_leave_incognito_warning_title)
.setMessage(R.string.external_payment_app_leave_incognito_warning)
.setPositiveButton(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment