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;
    }
}