<commit_before>package ru.assisttech.sdk.processor;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.net.http.SslError;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import android.widget.ProgressBar;

import java.net.MalformedURLException;
import java.net.URL;

import io.card.payment.CardIOActivity;
import io.card.payment.CreditCard;
import ru.assisttech.sdk.R;
import ru.assisttech.sdk.cardreader.AssistCard;
import ru.assisttech.sdk.engine.AssistPayEngine;

/**
 * Класс Activity для отображения и ввода данных в процессе оплаты банковской картой через web сервис Ассист
 * {@link ru.assisttech.sdk.AssistAddress#WEB_SERVICE}
 *
 * Используется совместно с {@link AssistWebProcessor}
 *
 * Отображает содержимое HTML страниц в WebView.
 * Осуществляет контроль за загружаемыми страницами.
 * Заполняет поля для карточных данных на соответствующей странице.
 * Запускает сканирование банковской карты камерой смартфона с использованием библиотеки card.io
 */
public class WebViewActivity extends Activity implements AssistWebProcessor.WebContentView {

    private static final String TAG = "WebViewActivity";

    private static final String CARD_KEY = "wv_activity.scanned_card";
    private static final int SCAN_REQUEST_CODE = 3;
    private static final int MENU_ITEM_ID = 5;

    private ProgressBar progressBar;
    private FrameLayout placeholder;
    private WebView webView;
    private boolean enableMenu;

    private AssistCard assistCard;

    private AssistWebProcessor webProcessor;

	private static boolean ignoreSslErrors;

	public static void setIgnoreSslErrors(boolean value) {
		ignoreSslErrors = value;
	}

    @Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
        webProcessor =  AssistPayEngine.getInstance(this).getWebProcessor();
        initUI();
	}

    @Override
    protected void onResume() {
        super.onResume();
        if (webProcessor.useCamera()) {
            String url = webView.getUrl();
            if (!TextUtils.isEmpty(url)) {
                if (url.contains("pay.cfm") && webProcessor.isCardPageDetected()){
                    enableMenu = true;<commit_msg>added result fields<commit_after>package ru.assisttech.sdk.processor;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.net.http.SslError;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import android.widget.ProgressBar;

import java.net.MalformedURLException;
import java.net.URL;

import io.card.payment.CardIOActivity;
import io.card.payment.CreditCard;
import ru.assisttech.sdk.R;
import ru.assisttech.sdk.cardreader.AssistCard;
import ru.assisttech.sdk.engine.AssistPayEngine;

/**
 * Класс Activity для отображения и ввода данных в процессе оплаты банковской картой через web сервис Ассист
 * {@link ru.assisttech.sdk.AssistAddress#WEB_SERVICE}
 *
 * Используется совместно с {@link AssistWebProcessor}
 *
 * Отображает содержимое HTML страниц в WebView.
 * Осуществляет контроль за загружаемыми страницами.
 * Заполняет поля для карточных данных на соответствующей странице.
 * Запускает сканирование банковской карты камерой смартфона с использованием библиотеки card.io
 */
public class WebViewActivity extends Activity implements AssistWebProcessor.WebContentView {

    private static final String TAG = "WebViewActivity";

    private static final String CARD_KEY = "wv_activity.scanned_card";
    private static final int SCAN_REQUEST_CODE = 3;
    private static final int MENU_ITEM_ID = 5;

    private ProgressBar progressBar;
    private FrameLayout placeholder;
    private WebView webView;
    private boolean enableMenu;

    private AssistCard assistCard;

    private AssistWebProcessor webProcessor;

	private static boolean ignoreSslErrors;

	public static void setIgnoreSslErrors(boolean value) {
		ignoreSslErrors = value;
	}

    @Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
        webProcessor =  AssistPayEngine.getInstance(this).getWebProcessor();
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
        initUI();
	}

    @Override
    protected void onResume() {
        super.onResume();
        if (webProcessor.useCamera()) {
            String url = webView.getUrl();
            if (!TextUtils.isEmpty(url)) {
                if (url.contains("pay.cfm") && webProcessor.isCardPageDetected()){
                    enableMenu = true;
{'fraction_non_alphanumeric': 0.08071748878923767, 'fraction_numerical': 0.0007174887892376681, 'mean_word_length': 4.576, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '258115', 'n_tokens_mistral': 1688, 'n_tokens_neox': 1726, 'n_words': 397}