QQ浏览器 v12.2.3.7053版本的 MD5 值为:8285ab3059e5c8b521a264dfbc5c3685
以下内容为反编译后的 TabLabPage.java 源代码,内容仅作参考
package com.tencent.mtt.browser.hometab.tablab.view.page;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.EasyLinearLayoutManager;
import androidx.recyclerview.widget.EasyRecyclerView;
import androidx.recyclerview.widget.RecyclerView;
import com.tencent.common.manifest.EventEmiter;
import com.tencent.common.manifest.EventMessage;
import com.tencent.common.task.QBTask;
import com.tencent.common.utils.DeviceUtils;
import com.tencent.mtt.R;
import com.tencent.mtt.base.functionwindow.ActivityHandler;
import com.tencent.mtt.base.nativeframework.NativePage;
import com.tencent.mtt.base.skin.MttResources;
import com.tencent.mtt.browser.hometab.tablab.facade.IService;
import com.tencent.mtt.browser.hometab.tablab.facade.IView;
import com.tencent.mtt.browser.hometab.tablab.service.TabLabService;
import com.tencent.mtt.browser.hometab.tablab.service.common.BottomResEntry;
import com.tencent.mtt.browser.hometab.tablab.view.TabLabInfoHolderProducer;
import com.tencent.mtt.browser.hometab.tablab.view.TabLabItemHolderManager;
import com.tencent.mtt.browser.hometab.tablab.view.TabLabRecyclerPresenter;
import com.tencent.mtt.browser.hometab.tablab.view.holder.BottomContentDataHolder;
import com.tencent.mtt.browser.hometab.tablab.view.holder.TemplateTabDataHolder;
import com.tencent.mtt.browser.hometab.tablab.view.view.TabPreviewView;
import com.tencent.mtt.browser.setting.manager.SkinManager;
import com.tencent.mtt.browser.window.IPage;
import com.tencent.mtt.browser.window.IWebView;
import com.tencent.mtt.browser.window.UrlParams;
import com.tencent.mtt.browser.window.templayer.BaseNativeGroup;
import com.tencent.mtt.businesscenter.facade.IFrameworkDelegate;
import com.tencent.mtt.newskin.SimpleSkinBuilder;
import com.tencent.mtt.newskin.viewBuilder.IImageBuilder;
import com.tencent.mtt.nxeasy.listview.base.RecyclerViewAdapter;
import com.tencent.mtt.nxeasy.listview.base.RecyclerViewBuilder;
import com.tencent.mtt.nxeasy.listview.base.RecyclerViewPresenter;
import com.tencent.mtt.qbcontext.core.QBContext;
import com.tencent.mtt.setting.BaseSettings;
import com.tencent.mtt.view.common.QBTextView;
import com.tencent.qqlive.module.videoreport.collect.EventCollector;
import com.tencent.trpcprotocol.mtt.bottomTabManageSvr.bottomTabManageSvr.TempletInfo;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
public class TabLabPage extends NativePage implements IView {
private EasyRecyclerView f42108a;
private TabLabInfoHolderProducer f42109b;
private RecyclerViewPresenter<TabLabItemHolderManager> f42110c;
private IService f42111d;
private ConstraintLayout e;
private ConstraintLayout f;
private ImageView g;
private QBTextView h;
private QBTextView i;
private boolean j;
private int k;
private int l;
public TabLabPage(Context context, FrameLayout.LayoutParams layoutParams, BaseNativeGroup baseNativeGroup) {
super(context, layoutParams, baseNativeGroup);
this.j = false;
this.k = 0;
this.l = 0;
b();
c();
this.f42111d.a();
}
public void a(int i, int i2) {
IImageBuilder a2;
int i3;
if (i == 0 && i2 != i) {
a2 = SimpleSkinBuilder.a(this.g);
i3 = R.color.ha;
} else {
if (i == i2 || i2 != 0) {
return;
}
a2 = SimpleSkinBuilder.a(this.g);
i3 = R.color.a3_;
}
a2.h(i3).c().f();
SimpleSkinBuilder.a((TextView) this.h).g(i3).f();
SimpleSkinBuilder.a((TextView) this.i).g(i3).f();
}
private void a(boolean z) {
ConstraintLayout constraintLayout = this.f;
if (constraintLayout == null) {
return;
}
if (z) {
constraintLayout.setPadding(0, 0, 0, 0);
} else {
constraintLayout.setPadding(0, BaseSettings.a().m(), 0, 0);
}
}
private void b() {
SimpleSkinBuilder.a(this).a(R.color.new_page_bg_color).c().d().f();
LayoutInflater.from(getContext()).inflate(R.layout.hi, (ViewGroup) this, true);
this.e = (ConstraintLayout) findViewById(R.id.cl_lab_tab_root);
this.g = (ImageView) findViewById(R.id.iv_page_back_btn);
this.h = (QBTextView) findViewById(R.id.tv_page_title);
this.g.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EventCollector.getInstance().onViewClickedBefore(view);
TabLabPage.this.d();
EventCollector.getInstance().onViewClicked(view);
}
});
this.i = (QBTextView) findViewById(R.id.tv_page_feedback);
this.i.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EventCollector.getInstance().onViewClickedBefore(view);
((IFrameworkDelegate) QBContext.getInstance().getService(IFrameworkDelegate.class)).doLoad(new UrlParams("https://bbs.mb.qq.com/mobilefb/fbTree?desc=%E5%AE%9E%E9%AA%8C%E5%AE%A4&levelinfos=83e61584-dcbe-4bf1-a008-23f08c483f30&tname=%E5%AE%9E%E9%AA%8C%E5%AE%A4&level=83e61584-dcbe-4bf1-a008-23f08c483f30&levelName=%E5%AE%9E%E9%AA%8C%E5%AE%A4&pl=%E8%AF%B7%E5%B0%BD%E5%8F%AF%E8%83%BD%E8%AF%A6%E7%BB%86%E7%9A%84%E6%8F%8F%E8%BF%B0%E4%BD%A0%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%8C%E5%A6%82%EF%BC%9A%E6%8F%90%E4%BE%9B%E7%BD%91%E9%A1%B5%E9%93%BE%E6%8E%A5%E3%80%81%E6%88%AA%E5%9B%BE%E7%AD%89%E4%BF%A1%E6%81%AF&dr=fb").d(true).b(1));
EventCollector.getInstance().onViewClicked(view);
}
});
this.f = (ConstraintLayout) findViewById(R.id.cl_lab_tab_top_container);
this.f.getBackground().setAlpha(0);
this.f42108a = (EasyRecyclerView) findViewById(R.id.rv_lab_tab);
this.f42108a.setItemAnimator(null);
this.f42108a.setOverScrollMode(2);
this.f42108a.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int i, int i2) {
TabLabPage tabLabPage;
int i3;
float s = MttResources.s(44);
TabLabPage.this.k += i2;
int i4 = TabLabPage.this.l;
if (TabLabPage.this.k <= s) {
if (TabLabPage.this.k <= s && TabLabPage.this.k > 0) {
TabLabPage.this.l = 1;
} else if (TabLabPage.this.k == 0) {
tabLabPage = TabLabPage.this;
i3 = 0;
}
if (TabLabPage.this.l == 1 && i4 == TabLabPage.this.l) {
return;
}
int max = (int) ((1.0f - (Math.max(s - TabLabPage.this.k, 0.0f) / s)) * 255.0f);
Drawable background = TabLabPage.this.f.getBackground();
background.setAlpha(max);
TabLabPage.this.f.setBackground(background);
if (SkinManager.s().l()) {
TabLabPage tabLabPage2 = TabLabPage.this;
tabLabPage2.a(i4, tabLabPage2.l);
return;
}
return;
}
tabLabPage = TabLabPage.this;
i3 = 2;
tabLabPage.l = i3;
if (TabLabPage.this.l == 1) {
}
int max2 = (int) ((1.0f - (Math.max(s - TabLabPage.this.k, 0.0f) / s)) * 255.0f);
Drawable background2 = TabLabPage.this.f.getBackground();
background2.setAlpha(max2);
TabLabPage.this.f.setBackground(background2);
if (SkinManager.s().l()) {
}
}
});
e();
}
private void c() {
this.f42111d = new TabLabService(this);
RecyclerViewAdapter recyclerViewAdapter = new RecyclerViewAdapter();
recyclerViewAdapter.setHasStableIds(true);
this.f42109b = new TabLabInfoHolderProducer();
this.f42110c = new RecyclerViewBuilder(getContext()).a((RecyclerViewBuilder) new TabLabRecyclerPresenter()).a((RecyclerViewBuilder) new TabLabItemHolderManager()).a(this.f42109b).a(this.f42108a).a(recyclerViewAdapter).a(new EasyLinearLayoutManager(getContext(), 1, false)).a(this.f42111d).f();
}
public void d() {
getNativeGroup().back();
}
private void e() {
Activity a2 = ActivityHandler.b().a();
a(a2 != null && DeviceUtils.b(a2.getWindow()));
}
@Override
public void a() {
this.f42110c.w().b().a(0);
}
@Override
public void a(int i) {
BottomContentDataHolder b2 = this.f42110c.w().b();
b2.a(i);
this.f42110c.x().a(b2);
}
@Override
public void a(int i, TemplateTabDataHolder templateTabDataHolder) {
this.j = true;
ArrayList j = this.f42110c.w().j();
for (int i2 = 0; i2 < j.size(); i2++) {
Object obj = j.get(i2);
if (obj instanceof TemplateTabDataHolder) {
TemplateTabDataHolder templateTabDataHolder2 = (TemplateTabDataHolder) obj;
if (templateTabDataHolder2.b().getTempletId() == i) {
templateTabDataHolder2.a(false);
this.f42110c.x().a(templateTabDataHolder2);
}
}
}
this.f42110c.x().a(templateTabDataHolder);
}
@Override
public void a(TabPreviewView tabPreviewView, FrameLayout.LayoutParams layoutParams) {
if (tabPreviewView == null || layoutParams == null) {
return;
}
if (tabPreviewView.getParent() != null) {
((ViewGroup) tabPreviewView.getParent()).removeView(tabPreviewView);
}
addView(tabPreviewView, layoutParams);
}
@Override
public void a(final List<TempletInfo> list) {
QBTask.b((Callable) new Callable<Void>() {
@Override
public Void call() throws Exception {
TabLabPage.this.f42109b.a(list, TabLabPage.this.f42111d.c());
return null;
}
});
}
@Override
public void active() {
super.active();
e();
}
@Override
public void b(List<BottomResEntry> list) {
BottomContentDataHolder b2 = this.f42110c.w().b();
b2.a(list);
this.f42110c.x().a(b2);
}
@Override
public boolean coverToolbar() {
return true;
}
@Override
public void deactive() {
super.deactive();
if (this.j) {
this.j = false;
EventEmiter.getDefault().emit(new EventMessage("on_all_tab_custom_change"));
}
}
@Override
public void destroy() {
super.destroy();
}
@Override
public TabLabItemHolderManager getHolderManager() {
return this.f42110c.w();
}
@Override
public Context getPageContext() {
return getContext();
}
@Override
public IPage.POP_TYPE getPopType() {
return IPage.POP_TYPE.INCLUDE_SELF;
}
@Override
public String getUrl() {
return "qb://labmode/tab";
}
@Override
public boolean isForcePortalScreen() {
return true;
}
@Override
public boolean isSupportSkinBg() {
return false;
}
@Override
public boolean onBackPressed() {
return this.f42111d.b();
}
@Override
public IWebView.STATUS_BAR statusBarType() {
return SkinManager.s().l() ? IWebView.STATUS_BAR.NO_SHOW_LIGHT : IWebView.STATUS_BAR.NO_SHOW_DARK;
}
}