正在查看: Petal Maps v4.7.0.310001 应用的 FeedbackDispatchActivity.java JAVA 源代码文件
本页面展示 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);
}
}