酷狗概念版 v2.5.5版本的 MD5 值为:782d327088fca4e58310f35a56f41319
以下内容为反编译后的 ImportOtherPlaylistFragment.java 源代码,内容仅作参考
package com.kugou.android.mymusic.playlist.importotherplaylist.ui;
import android.annotation.SuppressLint;
import android.graphics.Bitmap;
import android.graphics.drawable.AnimationDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.TextView;
import com.kugou.android.common.delegate.DelegateFragment;
import com.kugou.android.lite.R;
import com.kugou.android.mymusic.playlist.importotherplaylist.a;
import com.kugou.android.mymusic.playlist.importotherplaylist.apm.ImportPlaylistAPM;
import com.kugou.common.base.e.c;
import com.kugou.common.datacollect.view.web.DataCollectWebView;
import com.kugou.common.exceptionreport.b;
import com.kugou.common.utils.as;
import com.qq.e.comm.constants.TangramHippyConstants;
import java.security.SecureRandom;
import java.util.HashMap;
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;
import rx.android.schedulers.AndroidSchedulers;
import rx.e;
import rx.l;
@c(a = 569972698)
public class ImportOtherPlaylistFragment extends DelegateFragment implements View.OnClickListener, a.b {
private static final String TAG = "ImportOtherPlaylistFragment";
private KGCircleAndPercentButton mButton;
private l mGetSubscription;
private a.InterfaceC0531a mImportPlaylistPresenter;
private l mIntervalSub;
private ImageView mIvMatching;
private l mSubscription;
private TextView mTvTips1;
private TextView mTvTips2;
private String mUrl;
private DataCollectWebView mWebView;
private int maxSize;
private String which;
private boolean isShowErrorView = false;
private int time = 0;
private final ImportPlaylistAPM importPlaylistAPM = new ImportPlaylistAPM();
private Boolean isOverride = null;
private String pageStartUrl = "";
@Override
public boolean hasMenu() {
return false;
}
@Override
public boolean hasPlayingBar() {
return false;
}
public void startAnimation() {
}
@Override
public boolean statusBarLightMode() {
return true;
}
@Override
public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) {
return layoutInflater.inflate(R.layout.a2v, (ViewGroup) null);
}
@Override
public void onViewCreated(View view, Bundle bundle) {
super.onViewCreated(view, bundle);
this.mImportPlaylistPresenter = new com.kugou.android.mymusic.playlist.importotherplaylist.b(this);
enableTitleDelegate(null);
initDelegates();
getTitleDelegate().f(false);
getTitleDelegate().e(false);
getTitleDelegate().a("正在匹配歌单");
getTitleDelegate().F().setTextColor(-1);
getTitleDelegate().O().setColorFilter(-1);
getTitleDelegate().b(getResources().getColor(R.color.fc));
this.mButton = (KGCircleAndPercentButton) findViewById(R.id.egn);
this.mButton.setOnClickListener(this);
this.mButton.setVisibility(8);
this.mTvTips1 = (TextView) findViewById(R.id.egl);
this.mTvTips2 = (TextView) findViewById(R.id.egm);
this.mTvTips2.setVisibility(8);
showTips2();
this.mIvMatching = (ImageView) findViewById(R.id.egk);
((AnimationDrawable) this.mIvMatching.getBackground()).start();
initWebView();
setProcess();
this.importPlaylistAPM.a(this.mUrl);
showErrorViewDelay();
com.kugou.common.statistics.e.a.a(new com.kugou.common.statistics.easytrace.task.b(20499, "statistics").a("type", "1"));
}
@SuppressLint({"JavascriptInterface"})
private void initWebView() {
this.mWebView = new DataCollectWebView(aN_());
this.mUrl = getArguments().getString("url");
this.which = getArguments().getString("type");
this.mWebView.getSettings().setCacheMode(2);
this.mWebView.getSettings().setJavaScriptEnabled(true);
this.mWebView.getSettings().setSavePassword(false);
this.mWebView.getSettings().setUserAgentString("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36");
HashMap hashMap = new HashMap();
hashMap.put("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36");
this.mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
this.mWebView.loadUrl(this.mUrl, hashMap);
this.mImportPlaylistPresenter.b(this.mUrl);
this.mWebView.setWebViewClient(new b());
com.kugou.common.web.a.a.removeJavascriptInterface(this.mWebView);
}
@Override
public void waitForfirstStart() {
waitForFragmentFirstStart();
}
public void stopAnimation() {
Drawable background = this.mIvMatching.getBackground();
if (background == null || !(background instanceof AnimationDrawable)) {
return;
}
((AnimationDrawable) background).stop();
}
@Override
public void showErrView(int i, String str, com.kugou.common.apm.sdk.c.a aVar) {
com.kugou.android.mymusic.playlist.importotherplaylist.d.a.a(this.mIntervalSub);
this.mIvMatching.setBackgroundDrawable(getResources().getDrawable(R.drawable.buk));
boolean z = !TextUtils.isEmpty(str);
if (z) {
this.mTvTips2.setGravity(1);
}
this.mTvTips2.setText(!z ? getString(R.string.a3a) : str);
com.kugou.android.mymusic.playlist.importotherplaylist.d.a.a(aN_(), this.mTvTips2, str);
this.mTvTips2.setVisibility(0);
if (i > 0 && !this.importPlaylistAPM.a(i)) {
this.mTvTips1.setText(getString(R.string.a3_, Integer.valueOf(i)));
} else {
this.mTvTips1.setText(getString(R.string.a39));
}
b.a a2 = com.kugou.common.exceptionreport.b.a();
StringBuilder sb = new StringBuilder();
sb.append("getList:");
sb.append(i > 0 ? i : 0);
sb.append(",url:");
sb.append(this.mUrl);
a2.a(11431395, sb.toString());
getTitleDelegate().a("匹配失败");
this.mButton.setVisibility(0);
l lVar = this.mSubscription;
if (lVar != null && !lVar.isUnsubscribed()) {
this.mSubscription.unsubscribe();
}
this.importPlaylistAPM.a(i, aVar);
}
private void setProcess() {
final int[] iArr = {5, 6, 7};
final SecureRandom secureRandom = new SecureRandom();
this.mIntervalSub = e.a(0L, 500L, TimeUnit.MILLISECONDS).a(AndroidSchedulers.mainThread()).a(new rx.b.b<Long>() {
@Override
public void call(Long l) {
ImportOtherPlaylistFragment.this.time += iArr[secureRandom.nextInt(3)];
if (ImportOtherPlaylistFragment.this.time < 100) {
TextView textView = ImportOtherPlaylistFragment.this.mTvTips1;
ImportOtherPlaylistFragment importOtherPlaylistFragment = ImportOtherPlaylistFragment.this;
textView.setText(importOtherPlaylistFragment.getString(R.string.a3c, Integer.valueOf(importOtherPlaylistFragment.time)));
}
}
}, new rx.b.b<Throwable>() {
@Override
public void call(Throwable th) {
th.printStackTrace();
}
});
}
@Override
public void startResultFragment(com.kugou.android.mymusic.playlist.importotherplaylist.a.b bVar) {
com.kugou.android.mymusic.playlist.importotherplaylist.d.a.a(this.mIntervalSub);
stopAnimation();
if (this.isShowErrorView) {
return;
}
if (as.f54365e) {
as.f(TAG, "startResultFragment");
}
this.mTvTips1.setText(getString(R.string.a3c, 100));
Bundle bundle = new Bundle(4);
bundle.putParcelableArrayList("list", bVar.f());
bundle.putString("playlistname", bVar.c());
bundle.putString("url", bVar.e());
bundle.putInt(TangramHippyConstants.COUNT, bVar.d());
bundle.putInt("max_size", this.maxSize);
bundle.putBoolean("viewpager_framework_delegate_open_two_fragment", true);
replaceFragment(ImportPlaylistResultFragment.class, bundle);
this.importPlaylistAPM.a(bVar.d(), bVar.f());
}
@Override
public void onClick(View view) {
if (view.getId() != R.id.egn) {
return;
}
finish();
}
public class b extends com.kugou.common.datacollect.view.web.c {
private String overUrl;
private b() {
this.overUrl = "";
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String str) {
ImportOtherPlaylistFragment.this.pageStartUrl = "";
ImportOtherPlaylistFragment.this.isOverride = true;
webView.loadUrl(str);
this.overUrl = str;
if (as.f54365e) {
as.f(ImportOtherPlaylistFragment.TAG, "shouldOverrideUrlLoading override1:" + ImportOtherPlaylistFragment.this.isOverride + " " + str);
}
return true;
}
@Override
public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
if (ImportOtherPlaylistFragment.this.isOverride != null) {
ImportOtherPlaylistFragment.this.isOverride = false;
}
ImportOtherPlaylistFragment.this.pageStartUrl = str;
if (as.f54365e) {
StringBuilder sb = new StringBuilder();
sb.append("onPageStarted:");
sb.append(ImportOtherPlaylistFragment.this.isOverride == null ? "null" : "false ");
sb.append(str);
as.f(ImportOtherPlaylistFragment.TAG, sb.toString());
}
}
@Override
public void onPageFinished(WebView webView, String str) {
ImportOtherPlaylistFragment.this.mImportPlaylistPresenter.b(str);
if (as.f54365e) {
as.f(ImportOtherPlaylistFragment.TAG, "onPageFinished:" + str);
}
ImportOtherPlaylistFragment.this.pageStartUrl = "";
super.onPageFinished(webView, str);
if (ImportOtherPlaylistFragment.this.isOverride == null) {
ImportOtherPlaylistFragment.this.mImportPlaylistPresenter.a(str);
} else if (!ImportOtherPlaylistFragment.this.isOverride.booleanValue() && this.overUrl.equals(str)) {
ImportOtherPlaylistFragment.this.mImportPlaylistPresenter.a(str);
}
}
}
@Override
public void onDestroy() {
if (this.mIvMatching.getBackground() instanceof AnimationDrawable) {
((AnimationDrawable) this.mIvMatching.getBackground()).stop();
}
cancelSub();
super.onDestroy();
}
private void cancelSub() {
com.kugou.android.mymusic.playlist.importotherplaylist.d.a.a(this.mSubscription);
com.kugou.android.mymusic.playlist.importotherplaylist.d.a.a(this.mIntervalSub);
com.kugou.android.mymusic.playlist.importotherplaylist.d.a.a(this.mGetSubscription);
}
@Override
public void onDestroyView() {
super.onDestroyView();
cancelSub();
a.InterfaceC0531a interfaceC0531a = this.mImportPlaylistPresenter;
if (interfaceC0531a != null) {
interfaceC0531a.a();
}
com.kugou.android.app.flexowebview.c.c.a(this.mWebView);
}
private void showTips2() {
e.a((Object) null).d(5L, TimeUnit.SECONDS).a(AndroidSchedulers.mainThread()).a((rx.b.b) new rx.b.b<Object>() {
@Override
public void call(Object obj) {
ImportOtherPlaylistFragment.this.mTvTips2.setVisibility(0);
}
}, new rx.b.b<Throwable>() {
@Override
public void call(Throwable th) {
th.printStackTrace();
}
});
}
private void showErrorViewDelay() {
this.mSubscription = e.a((Object) null).d(40L, TimeUnit.SECONDS).a(AndroidSchedulers.mainThread()).a((rx.b.b) new rx.b.b<Object>() {
@Override
public void call(Object obj) {
ImportOtherPlaylistFragment importOtherPlaylistFragment = ImportOtherPlaylistFragment.this;
if (importOtherPlaylistFragment.matchQSpecialUrl(importOtherPlaylistFragment.pageStartUrl)) {
ImportOtherPlaylistFragment.this.mImportPlaylistPresenter.a(ImportOtherPlaylistFragment.this.pageStartUrl);
} else {
ImportOtherPlaylistFragment.this.isShowErrorView = true;
ImportOtherPlaylistFragment.this.showErrView(1000, "", null);
}
}
}, new rx.b.b<Throwable>() {
@Override
public void call(Throwable th) {
th.printStackTrace();
}
});
}
public boolean matchQSpecialUrl(String str) {
if (TextUtils.isEmpty(str)) {
return false;
}
return Pattern.compile("^https://y.qq.com/n/ryqq/playlist/[0-9]*").matcher(str).matches();
}
}