导航菜单

页面标题

页面副标题

Mint v5.7.3 - EpaperActivity.java 源代码

正在查看: Mint v5.7.3 应用的 EpaperActivity.java JAVA 源代码文件

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


package com.htmedia.mint.ui.activity;

import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.DownloadListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.lifecycle.Observer;
import androidx.work.Data;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkInfo;
import androidx.work.WorkManager;
import com.htmedia.mint.AppController;
import com.htmedia.mint.pojo.config.Config;
import com.htmedia.mint.pojo.subscription.userdetail.MintSubscriptionDetail;
import com.htmedia.mint.service.DownloadEpaper;
import com.thoughtbot.expandablerecyclerview.BuildConfig;
import java.io.File;

public class EpaperActivity extends com.htmedia.mint.ui.activity.a implements View.OnClickListener {
    private String a;
    private String b;
    private WebView c;
    private FrameLayout d;
    private boolean e;
    private String f;
    private String g;
    private String h;
    private long i;

    class a extends WebViewClient {
        a() {
        }

        private void a(String str) {
            Intent intent = new Intent();
            intent.setAction("android.intent.action.SEND");
            intent.putExtra("android.intent.extra.TEXT", str);
            intent.setType("text/plain");
            intent.setPackage("com.whatsapp");
            if (intent.resolveActivity(EpaperActivity.this.getPackageManager()) != null) {
                EpaperActivity.this.startActivity(intent);
            }
        }

        @Override
        public void onPageFinished(WebView webView, String str) {
            super.onPageFinished(webView, str);
            com.htmedia.mint.utils.o1.a("onfinish", "finish");
        }

        @Override
        public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
            super.onPageStarted(webView, str, bitmap);
            com.htmedia.mint.utils.o1.a("onstarted", "start");
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView webView, String str) {
            if (EpaperActivity.this.N(str)) {
                EpaperActivity.this.M();
                com.htmedia.mint.utils.f0.L(EpaperActivity.this);
                AppController.j().V((MintSubscriptionDetail) null);
                Config g = AppController.j().g();
                if (g == null || g.getEpaper() == null || TextUtils.isEmpty(g.getEpaper().getUrl())) {
                    webView.loadUrl("https://epaper.livemint.com/");
                    return true;
                }
                webView.loadUrl(g.getEpaper().getUrl());
                return true;
            }
            if (str.startsWith("whatsapp://")) {
                a(str.replace("whatsapp://send?text=", BuildConfig.FLAVOR));
                return true;
            }
            if (!str.contains("/MShareArticle?OrgId=") && !str.contains("/MShareImage?Pictureid=")) {
                webView.loadUrl(str);
                return true;
            }
            Intent intent = new Intent((Context) EpaperActivity.this, (Class<?>) EpaperActivity.class);
            intent.putExtra("URL", str);
            EpaperActivity.this.startActivity(intent);
            return true;
        }
    }

    public void M() {
        CookieManager.getInstance().removeAllCookies(null);
    }

    public boolean N(String str) {
        Uri parse;
        try {
            if (TextUtils.isEmpty(str) || (parse = Uri.parse(str)) == null) {
                return false;
            }
            String path = parse.getPath();
            if (TextUtils.isEmpty(path)) {
                return false;
            }
            return path.trim().endsWith("/logout.html");
        } catch (Exception unused) {
            return false;
        }
    }

    public void P(WorkInfo workInfo) {
        if (workInfo.getState() != null && workInfo.getState() == WorkInfo.State.FAILED) {
            this.e = false;
            Toast.makeText((Context) this, (CharSequence) "Something went worng. Please try again", 0).show();
        } else {
            if (workInfo.getState() == null || workInfo.getState() != WorkInfo.State.SUCCEEDED) {
                return;
            }
            this.e = false;
            Toast.makeText((Context) this, (CharSequence) "Epaper downloaded successfully", 0).show();
        }
    }

    public void O(String str, String str2, String str3, String str4, long j) {
        if (Build.VERSION.SDK_INT >= 29 || com.htmedia.mint.utils.a2.a(this, "android.permission.WRITE_EXTERNAL_STORAGE")) {
            R(str, str2, str4);
            return;
        }
        this.b = str;
        this.f = str2;
        this.h = str4;
        this.g = str3;
        this.i = j;
        com.htmedia.mint.utils.a2.b(this, "android.permission.WRITE_EXTERNAL_STORAGE", 22);
    }

    private void R(String str, String str2, String str3) {
        Data build = new Data.Builder().putString("URL", str).putString("userAgent", str2).putString("mime", str3).build();
        OneTimeWorkRequest.Builder builder = new OneTimeWorkRequest.Builder(DownloadEpaper.class);
        builder.setInputData(build);
        OneTimeWorkRequest build2 = builder.build();
        WorkManager workManager = WorkManager.getInstance(this);
        workManager.beginWith(build2).enqueue();
        workManager.getWorkInfoByIdLiveData(build2.getId()).observe(this, new Observer() {
            public final void onChanged(Object obj) {
                EpaperActivity.this.P((WorkInfo) obj);
            }
        });
    }

    private void initWebView() {
        WebView webView = (WebView) findViewById(2131432093);
        this.c = webView;
        webView.getSettings().setJavaScriptEnabled(true);
        this.c.getSettings().setDomStorageEnabled(true);
        this.c.getSettings().setAllowFileAccess(true);
        this.c.getSettings().setSupportZoom(true);
        this.c.getSettings().setBuiltInZoomControls(true);
        File cacheDir = getCacheDir();
        if (!cacheDir.exists()) {
            cacheDir.mkdirs();
        }
        this.c.requestFocus(130);
        this.c.setWebViewClient(new a());
        this.c.setDownloadListener(new DownloadListener() {
            @Override
            public final void onDownloadStart(String str, String str2, String str3, String str4, long j) {
                EpaperActivity.this.O(str, str2, str3, str4, j);
            }
        });
        this.c.setWebChromeClient(new WebChromeClient());
        this.c.loadUrl(this.a);
        this.c.setBackgroundColor(getResources().getColor(2131101002));
    }

    public void onBackPressed() {
        finish();
    }

    @Override
    public void onClick(View view) {
        if (view.getId() == 2131428017) {
            finish();
        }
    }

    public void onConfigurationChanged(@NonNull Configuration configuration) {
        super.onConfigurationChanged(configuration);
        AppController.e(getIntent(), this);
    }

    protected void onCreate(Bundle bundle) {
        requestWindowFeature(1);
        super/*androidx.fragment.app.FragmentActivity*/.onCreate(bundle);
        setContentView(2131623985);
        com.htmedia.mint.utils.f0.b = false;
        this.a = getIntent().getExtras().getString("URL");
        FrameLayout frameLayout = (FrameLayout) findViewById(2131428017);
        this.d = frameLayout;
        frameLayout.setOnClickListener(this);
        initWebView();
    }

    public void onRequestPermissionsResult(int i, @NonNull String[] strArr, @NonNull int[] iArr) {
        super/*androidx.fragment.app.FragmentActivity*/.onRequestPermissionsResult(i, strArr, iArr);
        if (i != 22 || iArr == null || iArr.length <= 0 || iArr[0] != 0) {
            return;
        }
        R(this.b, this.f, this.h);
    }
}