导航菜单

页面标题

页面副标题

EFFICIENT POS v1.5.7 - WebActivity.java 源代码

正在查看: EFFICIENT POS v1.5.7 应用的 WebActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package dev.gtr.pos.activity;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.print.PrintAttributes;
import android.print.PrintManager;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.CookieManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import dev.gtr.pos.R;
import dev.gtr.pos.api.ApiClient;
import dev.gtr.pos.config.Constant;
import dev.gtr.pos.model.NotificationApps;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class WebActivity extends AppCompatActivity {
    AlertDialog.Builder alertBuilder;
    AlertDialog alertDialog;
    ConstraintLayout constraintLayoutExit;
    List<String> cookie;
    FloatingActionButton floatingActionButtonPrint;
    ProgressBar progressBarWeb;
    SharedPreferences sharedPreferences;
    String url;
    WebView webView;
    WebView webViewPrint;

    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_web);
        this.constraintLayoutExit = findViewById(R.id.constraintLayout_exit);
        this.floatingActionButtonPrint = (FloatingActionButton) findViewById(R.id.floating_btn_print);
        this.progressBarWeb = (ProgressBar) findViewById(R.id.progress_web);
        this.webViewPrint = (WebView) findViewById(R.id.webView_print);
        SharedPreferences sharedPreferences = getSharedPreferences("LOGIN", 0);
        this.sharedPreferences = sharedPreferences;
        Constant.EMAIL = sharedPreferences.getString("EMAIl", null);
        Constant.PASS = this.sharedPreferences.getString("PASS", null);
        this.url = ApiClient.getBaseUrl() + "Home/LoginApi?Email=" + Constant.EMAIL + "&Password=" + Constant.PASS + "&isMobile=1&DefaultComId=" + Constant.ComId;
        getNotification();
        WebView webView = (WebView) findViewById(R.id.webView);
        this.webView = webView;
        webView.getSettings().setJavaScriptEnabled(true);
        this.webView.getSettings().setLoadWithOverviewMode(true);
        this.webView.getSettings().setUseWideViewPort(true);
        this.webView.getSettings().setDatabaseEnabled(true);
        this.webView.getSettings().getAllowContentAccess();
        this.webView.getSettings().getAllowFileAccessFromFileURLs();
        this.webView.getSettings().getAllowFileAccess();
        CookieManager.getInstance().setAcceptCookie(true);
        this.webView.getSettings().setAllowContentAccess(true);
        this.webView.getSettings().setDomStorageEnabled(true);
        this.webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView webView2, String str) {
                WebActivity.this.progressBarWeb.setVisibility(8);
                WebActivity.this.constraintLayoutExit.setVisibility(0);
                if (str.contains("ReportType")) {
                    WebActivity.this.floatingActionButtonPrint.setVisibility(0);
                } else {
                    WebActivity.this.floatingActionButtonPrint.setVisibility(8);
                }
                Log.e("urls", "" + str);
                if (str.contains("SaleId") && str.contains("SaleReport")) {
                    if (str.substring((ApiClient.getBaseUrl() + "Sales/SaleReport?SaleId=").length()).isEmpty()) {
                        return;
                    }
                    Intent intent = new Intent((Context) WebActivity.this, (Class<?>) SalesReportViewActivity.class);
                    intent.putExtra(Constant.COOKIE, WebActivity.this.cookie.get(0));
                    intent.putExtra(Constant.SalesId, str.substring((ApiClient.getBaseUrl() + "Sales/SaleReport?SaleId=").length()));
                    WebActivity.this.startActivity(intent);
                }
            }

            @Override
            public boolean shouldOverrideUrlLoading(WebView webView2, String str) {
                if (!str.contains("ViewReport")) {
                    return false;
                }
                WebActivity.this.webViewPrint.setVisibility(0);
                WebActivity.this.floatingActionButtonPrint.setVisibility(0);
                WebActivity.this.webViewPrint.getSettings().setJavaScriptEnabled(true);
                WebActivity.this.webViewPrint.getSettings().setLoadWithOverviewMode(true);
                WebActivity.this.webViewPrint.getSettings().setUseWideViewPort(true);
                WebActivity.this.webViewPrint.getSettings().setDatabaseEnabled(true);
                WebActivity.this.webViewPrint.getSettings().getAllowContentAccess();
                WebActivity.this.webViewPrint.getSettings().getAllowFileAccessFromFileURLs();
                WebActivity.this.webViewPrint.getSettings().getAllowFileAccess();
                CookieManager.getInstance().setAcceptCookie(true);
                WebActivity.this.webViewPrint.getSettings().setAllowContentAccess(true);
                WebActivity.this.webViewPrint.getSettings().setDomStorageEnabled(true);
                WebActivity.this.webViewPrint.loadUrl(str + "&IsMobile=1");
                return true;
            }
        });
        this.webView.loadUrl(this.url);
        this.constraintLayoutExit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                WebActivity.this.finish();
            }
        });
        this.floatingActionButtonPrint.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                PrintManager printManager = (PrintManager) WebActivity.this.getSystemService("print");
                String str = WebActivity.this.getString(2131820575) + " Document";
                printManager.print(str, WebActivity.this.webViewPrint.createPrintDocumentAdapter(str), new PrintAttributes.Builder().build());
            }
        });
    }

    public boolean onKeyDown(int i, KeyEvent keyEvent) {
        if (keyEvent.getAction() == 0 && i == 4) {
            if (this.webViewPrint.getVisibility() == 0) {
                this.webViewPrint.loadUrl("");
                this.webViewPrint.setVisibility(8);
                this.floatingActionButtonPrint.setVisibility(8);
                return true;
            }
            if (this.webView.canGoBack()) {
                this.webView.goBack();
                return true;
            }
            if (this.webView.canGoBack()) {
                return true;
            }
            this.alertBuilder = new AlertDialog.Builder(this);
            View inflate = getLayoutInflater().inflate(R.layout.layout_custom_delete_alert, (ViewGroup) null);
            TextView textView = (TextView) inflate.findViewById(R.id.cancel);
            TextView textView2 = (TextView) inflate.findViewById(R.id.submit);
            ((TextView) inflate.findViewById(R.id.textView_sure)).setText("Are you want to exit Web Panel?");
            textView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    WebActivity.this.alertDialog.dismiss();
                }
            });
            textView2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    WebActivity.this.alertDialog.dismiss();
                    WebActivity.this.finish();
                }
            });
            this.alertBuilder.setView(inflate);
            AlertDialog create = this.alertBuilder.create();
            this.alertDialog = create;
            create.setCanceledOnTouchOutside(false);
            this.alertDialog.show();
            return true;
        }
        return super.onKeyDown(i, keyEvent);
    }

    private void getNotification() {
        SharedPreferences sharedPreferences = getSharedPreferences("LOGIN", 0);
        this.sharedPreferences = sharedPreferences;
        Constant.Token = sharedPreferences.getString("TOKEN", null);
        Constant.ComId = this.sharedPreferences.getString("COMID", null);
        Constant.uId = this.sharedPreferences.getString("UID", null);
        ApiClient.getInstance(getApplicationContext()).getApi().getNotification("Bearer " + Constant.Token, Constant.uId).enqueue(new Callback<List<NotificationApps>>() {
            @Override
            public void onFailure(Call<List<NotificationApps>> call, Throwable th) {
            }

            @Override
            public void onResponse(Call<List<NotificationApps>> call, Response<List<NotificationApps>> response) {
                if (response.isSuccessful()) {
                    WebActivity.this.cookie = response.headers().values("set-Cookie");
                } else {
                    Toast.makeText(WebActivity.this.getApplicationContext(), "" + response.code(), 0).show();
                }
            }
        });
    }
}