导航菜单

页面标题

页面副标题

Petal Maps v4.7.0.310001 - FeedbackDispatchActivity.java 源代码

正在查看: Petal Maps v4.7.0.310001 应用的 FeedbackDispatchActivity.java JAVA 源代码文件

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


package com.huawei.phoneservice.feedback.ui;

import android.R;
import android.annotation.TargetApi;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import androidx.annotation.Nullable;
import com.huawei.navi.navibase.service.network.model.FurnitureBroadOption;
import com.huawei.phoneservice.faq.base.constants.FaqConstants;
import com.huawei.phoneservice.faq.base.util.FaqCommonUtils;
import com.huawei.phoneservice.faq.base.util.FaqLogger;
import com.huawei.phoneservice.faq.base.util.FaqOnDoubleClickUtil;
import com.huawei.phoneservice.faq.base.util.FaqStringUtil;
import com.huawei.phoneservice.faq.base.util.FaqWebActivityUtil;
import com.huawei.phoneservice.faq.base.util.ModuleConfigUtils;
import com.huawei.phoneservice.faq.base.util.NoDoubleClickUtil;
import com.huawei.phoneservice.feedback.R$id;
import com.huawei.phoneservice.feedback.R$layout;
import com.huawei.phoneservice.feedback.R$string;
import com.huawei.phoneservice.feedback.widget.FeedbackNoticeView;
import com.huawei.secure.android.common.intent.SafeIntent;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;

public class FeedbackDispatchActivity extends FeedBaseActivity {
    public static final FrameLayout.LayoutParams U = new FrameLayout.LayoutParams(-1, -1);
    public static final int V = 2054;
    public int A;
    public ViewGroup D;
    public WebView E;
    public ProgressBar F;
    public FeedbackNoticeView G;
    public boolean J;
    public ValueCallback<Uri[]> K;
    public ValueCallback<Uri> L;
    public e N;
    public WebChromeClient.CustomViewCallback O;
    public Handler z = new Handler();
    public String B = "com.android.gallery3d";
    public String C = "com.huawei.gallery";
    public String H = null;
    public String I = null;
    public Map<String, String> P = new HashMap();
    public Queue<String> Q = new LinkedList();
    public WebChromeClient R = new a();
    public WebViewClient S = new b();
    public Runnable T = new c();

    public class a extends WebChromeClient {
        public a() {
        }

        @Override
        public View getVideoLoadingProgressView() {
            return new TextView(FeedbackDispatchActivity.this);
        }

        @Override
        public void onHideCustomView() {
            if (FeedbackDispatchActivity.this.N != null) {
                if (FeedbackDispatchActivity.this.O != null) {
                    FeedbackDispatchActivity.this.O.onCustomViewHidden();
                }
                FrameLayout frameLayout = (FrameLayout) FeedbackDispatchActivity.this.getWindow().getDecorView();
                FeedbackDispatchActivity.this.N.removeAllViews();
                frameLayout.removeView(FeedbackDispatchActivity.this.N);
                FeedbackDispatchActivity.this.N = null;
                FeedbackDispatchActivity.this.setRequestedOrientation(1);
                FeedbackDispatchActivity.this.E(true);
                FeedbackDispatchActivity.this.E.setVisibility(0);
            }
        }

        @Override
        public void onProgressChanged(WebView webView, int i) {
            super.onProgressChanged(webView, i);
            if (i > 10) {
                FeedbackDispatchActivity.this.E.setVisibility(0);
            }
            if (FeedbackDispatchActivity.this.F == null || FeedbackDispatchActivity.this.H == null || !FeedbackDispatchActivity.this.H.equals(webView.getUrl())) {
                return;
            }
            FeedbackDispatchActivity.this.F.setProgress(i, true);
            if (i >= 80) {
                FeedbackDispatchActivity.this.F.setVisibility(8);
            }
        }

        @Override
        public void onReceivedTitle(WebView webView, String str) {
            if (!TextUtils.isEmpty(FeedbackDispatchActivity.this.I) || TextUtils.isEmpty(str) || FeedbackDispatchActivity.this.J) {
                return;
            }
            FeedbackDispatchActivity.this.setTitle(str);
            FeedbackDispatchActivity.this.P.put(webView.getUrl(), str);
        }

        @Override
        public void onShowCustomView(View view, WebChromeClient.CustomViewCallback customViewCallback) {
            if (FeedbackDispatchActivity.this.N != null) {
                if (FeedbackDispatchActivity.this.O != null) {
                    FeedbackDispatchActivity.this.O.onCustomViewHidden();
                    return;
                }
                return;
            }
            FeedbackDispatchActivity.this.O = customViewCallback;
            FeedbackDispatchActivity.this.E.setVisibility(8);
            FeedbackDispatchActivity.this.setRequestedOrientation(6);
            FeedbackDispatchActivity.this.E(false);
            FrameLayout frameLayout = (FrameLayout) FeedbackDispatchActivity.this.getWindow().getDecorView();
            FeedbackDispatchActivity.this.N = new e(FeedbackDispatchActivity.this);
            e eVar = FeedbackDispatchActivity.this.N;
            FrameLayout.LayoutParams layoutParams = FeedbackDispatchActivity.U;
            eVar.addView(view, layoutParams);
            frameLayout.addView(FeedbackDispatchActivity.this.N, layoutParams);
        }

        @Override
        @TargetApi(21)
        public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> valueCallback, WebChromeClient.FileChooserParams fileChooserParams) {
            if (FeedbackDispatchActivity.this.K != null) {
                FeedbackDispatchActivity.this.K.onReceiveValue(null);
                FeedbackDispatchActivity.this.K = null;
            }
            FeedbackDispatchActivity.this.K = valueCallback;
            Intent intent = new Intent();
            intent.setAction("android.intent.action.GET_CONTENT");
            intent.addCategory("android.intent.category.OPENABLE");
            intent.setType("image/*");
            try {
                FeedbackDispatchActivity.this.startActivityForResult(intent, 100);
                return true;
            } catch (ActivityNotFoundException e) {
                FeedbackDispatchActivity.this.K = null;
                FaqLogger.e("FeedDispatchActivity", e);
                return false;
            }
        }
    }

    public class b extends WebViewClient {
        public b() {
        }

        @Override
        public void onPageFinished(WebView webView, String str) {
            super.onPageFinished(webView, str);
            FeedbackDispatchActivity feedbackDispatchActivity = FeedbackDispatchActivity.this;
            feedbackDispatchActivity.z.removeCallbacks(feedbackDispatchActivity.T);
            if (FeedbackDispatchActivity.this.F != null && FeedbackDispatchActivity.this.H != null && FeedbackDispatchActivity.this.H.equals(str)) {
                FeedbackDispatchActivity.this.F.setVisibility(8);
                FeedbackDispatchActivity.this.F.setProgress(0);
            }
            if (FeedbackDispatchActivity.this.J) {
                return;
            }
            FeedbackDispatchActivity.this.E.setVisibility(0);
            FeedbackDispatchActivity.this.G.setVisibility(8);
        }

        @Override
        public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
            CharSequence title;
            FeedbackDispatchActivity feedbackDispatchActivity;
            FeedbackDispatchActivity.this.J = false;
            FeedbackDispatchActivity.this.H = str;
            FeedbackDispatchActivity.this.e(str);
            super.onPageStarted(webView, str, bitmap);
            FeedbackDispatchActivity feedbackDispatchActivity2 = FeedbackDispatchActivity.this;
            feedbackDispatchActivity2.z.postDelayed(feedbackDispatchActivity2.T, 20000L);
            if (FeedbackDispatchActivity.this.F != null) {
                FeedbackDispatchActivity.this.F.setVisibility(0);
            }
            if (TextUtils.isEmpty(FeedbackDispatchActivity.this.I)) {
                if (FeedbackDispatchActivity.this.P.containsKey(str)) {
                    feedbackDispatchActivity = FeedbackDispatchActivity.this;
                    title = (CharSequence) feedbackDispatchActivity.P.get(str);
                } else {
                    title = webView.getTitle();
                    if (TextUtils.isEmpty(title) || webView.getUrl() == null || webView.getUrl().contains(title)) {
                        try {
                            ?? r5 = FeedbackDispatchActivity.this;
                            r5.setTitle(r5.getResources().getString(R$string.feedback_sdk_common_loading));
                            return;
                        } catch (Resources.NotFoundException e) {
                            FaqLogger.e("FeedDispatchActivity", e.getMessage());
                            return;
                        }
                    }
                    FeedbackDispatchActivity.this.P.put(webView.getUrl(), title);
                    feedbackDispatchActivity = FeedbackDispatchActivity.this;
                }
                feedbackDispatchActivity.setTitle(title);
            }
        }

        @Override
        public void onReceivedError(WebView webView, int i, String str, String str2) {
            FeedbackNoticeView feedbackNoticeView;
            FaqConstants.FaqErrorCode faqErrorCode;
            super.onReceivedError(webView, i, str, str2);
            FeedbackDispatchActivity.this.J = true;
            if (TextUtils.isEmpty(FeedbackDispatchActivity.this.I)) {
                FeedbackDispatchActivity.this.setTitle("");
            }
            if (FaqCommonUtils.isConnectionAvailable(FeedbackDispatchActivity.this)) {
                feedbackNoticeView = FeedbackDispatchActivity.this.G;
                faqErrorCode = FaqConstants.FaqErrorCode.CONNECT_SERVER_ERROR;
            } else {
                feedbackNoticeView = FeedbackDispatchActivity.this.G;
                faqErrorCode = FaqConstants.FaqErrorCode.INTERNET_ERROR;
            }
            feedbackNoticeView.g(faqErrorCode);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView webView, String str) {
            return false;
        }
    }

    public class c implements Runnable {
        public c() {
        }

        @Override
        public void run() {
            FeedbackDispatchActivity feedbackDispatchActivity = FeedbackDispatchActivity.this;
            Handler handler = feedbackDispatchActivity.z;
            if (handler != null) {
                handler.removeCallbacks(feedbackDispatchActivity.T);
            }
            FeedbackDispatchActivity.this.O();
        }
    }

    public class d implements View.OnClickListener {
        public d() {
        }

        @Override
        public void onClick(View view) {
            if (NoDoubleClickUtil.isDoubleClick(view)) {
                return;
            }
            FaqOnDoubleClickUtil.conClick(view);
            FeedbackDispatchActivity feedbackDispatchActivity = FeedbackDispatchActivity.this;
            feedbackDispatchActivity.z.removeCallbacks(feedbackDispatchActivity.T);
            FeedbackDispatchActivity.this.E.clearView();
            FeedbackDispatchActivity.this.E.removeAllViews();
            FeedbackDispatchActivity.this.l();
        }
    }

    public static class e extends FrameLayout {
        public e(Context context) {
            super(context);
            setBackgroundResource(R.color.black);
        }

        @Override
        public boolean onTouchEvent(MotionEvent motionEvent) {
            return true;
        }
    }

    public void E(boolean z) {
        getWindow().getDecorView().setSystemUiVisibility(z ? this.A : V);
        getWindow().setFlags(z ? 0 : 1024, FurnitureBroadOption.SPEED_BUMP_BROAD_SWITCH);
    }

    public void e(String str) {
        if (TextUtils.isEmpty(str)) {
            this.E.getSettings().setJavaScriptEnabled(false);
            this.J = true;
        } else {
            this.E.getSettings().setJavaScriptEnabled(true);
            FaqWebActivityUtil.removeWebViewJavascriptInterface(this.E);
            this.J = false;
        }
    }

    private void init() {
        this.J = false;
        this.H = null;
        this.I = null;
        SafeIntent safeIntent = new SafeIntent(getIntent());
        try {
            if (!TextUtils.isEmpty(safeIntent.getStringExtra("url"))) {
                this.H = safeIntent.getStringExtra("url");
            }
            if (safeIntent.getIntExtra(FaqWebActivityUtil.INTENT_TITLE, 0) != 0) {
                this.I = getResources().getString(safeIntent.getIntExtra(FaqWebActivityUtil.INTENT_TITLE, 0));
            }
            if (!TextUtils.isEmpty(this.I) || TextUtils.isEmpty(safeIntent.getStringExtra(FaqWebActivityUtil.INTENT_TITLE))) {
                return;
            }
            this.I = safeIntent.getStringExtra(FaqWebActivityUtil.INTENT_TITLE);
        } catch (Resources.NotFoundException e2) {
            e = e2;
            FaqLogger.e("FeedDispatchActivity", e.getMessage());
        } catch (ClassCastException e3) {
            e = e3;
            FaqLogger.e("FeedDispatchActivity", e.getMessage());
        }
    }

    public void O() {
        FaqLogger.i("FeedDispatchActivity", "onPageTimeOut :" + this.H);
    }

    public void P() {
        Queue<String> queue = this.Q;
        if (queue == null || queue.size() <= 0) {
            return;
        }
        String poll = this.Q.poll();
        this.I = poll;
        setTitle(poll);
    }

    @Override
    public int j() {
        return R$layout.feedback_sdk_dispatch_layout;
    }

    @Override
    public void l() {
        String[] feedbackOpenTypeConfig = ModuleConfigUtils.getFeedbackOpenTypeConfig();
        String str = feedbackOpenTypeConfig[0];
        String str2 = feedbackOpenTypeConfig[1];
        if (!FaqCommonUtils.isConnectionAvailable(this)) {
            this.G.g(FaqConstants.FaqErrorCode.INTERNET_ERROR);
            return;
        }
        if (!FaqConstants.OPEN_TYPE_OUT.equals(str)) {
            if (!FaqConstants.OPEN_TYPE_IN.equals(str) || FaqStringUtil.isEmpty(str2)) {
                return;
            }
            this.E.loadUrl(str2);
            return;
        }
        if (!FaqStringUtil.isEmpty(str2)) {
            Intent intent = new Intent();
            intent.setAction(FaqWebActivityUtil.ACTION_OF_BROWSER);
            intent.setData(Uri.parse(str2));
            try {
                startActivity(intent);
            } catch (ActivityNotFoundException unused) {
                FaqLogger.print("FeedDispatchActivity", "startActivity Exception");
            }
        }
        finish();
    }

    @Override
    public void m() {
        this.G.setOnClickListener(new d());
    }

    @Override
    public void n() {
        this.D = (ViewGroup) findViewById(R.id.content);
        this.E = (WebView) findViewById(R$id.feedback_dispatch_web_view);
        this.F = (ProgressBar) findViewById(R$id.fbsdkProgressbar);
        this.G = (FeedbackNoticeView) findViewById(R$id.feedback_dispatch_noticeView);
        w();
    }

    @TargetApi(21)
    public void onActivityResult(int i, int i2, Intent intent) {
        ValueCallback<Uri[]> valueCallback;
        ValueCallback<Uri[]> valueCallback2;
        super.onActivityResult(i, i2, intent);
        if (intent != null) {
            if (i == 0) {
                if (this.L != null) {
                    this.L.onReceiveValue(i2 == -1 ? new SafeIntent(intent).getData() : null);
                    this.L = null;
                    return;
                }
                return;
            }
            if (i != 100 || (valueCallback = this.K) == null) {
                return;
            }
            valueCallback.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(i2, intent));
            this.K = null;
        }
        if (i == 0) {
            ValueCallback<Uri> valueCallback3 = this.L;
            if (valueCallback3 != null) {
                valueCallback3.onReceiveValue(null);
                this.L = null;
                return;
            }
            return;
        }
        if (i != 100 || (valueCallback2 = this.K) == null) {
            return;
        }
        valueCallback2.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(i2, null));
        this.K = null;
    }

    @Override
    public void onCreate(@Nullable Bundle bundle) {
        init();
        if (!TextUtils.isEmpty(this.I)) {
            setTitle(this.I);
        }
        super.onCreate(bundle);
        this.A = getWindow().getDecorView().getSystemUiVisibility();
    }

    @Override
    public void onDestroy() {
        if (this.E != null) {
            this.z.removeCallbacks(this.T);
            if (this.E.getParent() != null) {
                this.D.removeView(this.E);
            }
        }
        FaqWebActivityUtil.destroyWeb(this.E);
        Window window = getWindow();
        if (window != null) {
            View decorView = window.getDecorView();
            if (decorView instanceof ViewGroup) {
                ((ViewGroup) decorView).removeAllViews();
            }
        }
        super.onDestroy();
    }

    public boolean onKeyDown(int i, KeyEvent keyEvent) {
        if (i != 4 || !this.E.canGoBack()) {
            return super/*android.app.Activity*/.onKeyDown(i, keyEvent);
        }
        if (this.J) {
            this.E.setVisibility(8);
            this.E.clearView();
            this.E.removeAllViews();
            this.G.setVisibility(8);
        }
        this.E.goBack();
        P();
        return true;
    }

    public void onPause() {
        super.onPause();
        WebView webView = this.E;
        if (webView != null) {
            webView.onPause();
        }
    }

    @Override
    public void onResume() {
        setTitle(getTitle());
        super.onResume();
        WebView webView = this.E;
        if (webView != null) {
            webView.onResume();
        }
    }

    private void w() {
        WebSettings settings = this.E.getSettings();
        settings.setUseWideViewPort(true);
        settings.setLoadWithOverviewMode(true);
        settings.setJavaScriptEnabled(true);
        FaqWebActivityUtil.initWebView(this.E);
        settings.setCacheMode(-1);
        settings.setDomStorageEnabled(true);
        this.E.setHorizontalScrollBarEnabled(false);
        this.E.setWebViewClient(this.S);
        this.E.setWebChromeClient(this.R);
    }
}