导航菜单

页面标题

页面副标题

哔哩哔哩 v1.6.6 - VideoHistoryActivity.java 源代码

正在查看: 哔哩哔哩 v1.6.6 应用的 VideoHistoryActivity.java JAVA 源代码文件

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


package com.bilibili.tv.ui.history;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.sqlite.SQLiteException;
import android.graphics.Rect;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.LongSparseArray;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import bl.ach;
import bl.adl;
import bl.adv;
import bl.adz;
import bl.agb;
import bl.agd;
import bl.aj;
import bl.att;
import bl.baf;
import bl.bbg;
import bl.bbi;
import bl.mg;
import bl.nv;
import bl.ok;
import bl.vn;
import bl.vo;
import bl.wf;
import bl.wg;
import bl.xg;
import bl.zp;
import com.bilibili.tv.MainApplication;
import com.bilibili.tv.api.history.BiliPlayerHistoryService;
import com.bilibili.tv.api.video.BiliVideoDetail;
import com.bilibili.tv.api.video.BiliVideoHistorylList;
import com.bilibili.tv.ui.bangumi.BangumiDetailActivity;
import com.bilibili.tv.ui.base.BaseUpViewActivity;
import com.bilibili.tv.ui.base.LoadingImageView;
import com.bilibili.tv.ui.video.VideoDetailActivity;
import com.bilibili.tv.widget.DrawRelativeLayout;
import com.bilibili.tv.widget.ScalableImageView;
import com.bilibili.tv.widget.border.BorderGridLayoutManager;
import java.lang.ref.WeakReference;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import kotlin.TypeCastException;
import u.aly.au;

public final class VideoHistoryActivity extends BaseUpViewActivity implements View.OnLongClickListener, wf {
    private static final String e = "fromType";
    private static final int f = 1;
    private static final int g = 2;
    private static final int h = 2;
    private g a;
    private BorderGridLayoutManager b;
    private LoadingImageView c;
    private List<BiliVideoDetail> d = new ArrayList();
    public static final b Companion = new b(null);
    private static final Comparator<BiliVideoDetail> i = c.a;
    public static long current_avid = -1;
    public static int current_pos = -1;

    static {
    }

    @Override
    public String a() {
        return "ott-platform.history.0.0.pv";
    }

    @Override
    public boolean a_() {
        return wg.a(this);
    }

    @Override
    public Bundle b() {
        return null;
    }

    @Override
    public int g() {
        return 2131361834;
    }

    public static final LoadingImageView c(VideoHistoryActivity videoHistoryActivity) {
        LoadingImageView loadingImageView = videoHistoryActivity.c;
        if (loadingImageView == null) {
            bbi.b("mLoadingImageView");
        }
        return loadingImageView;
    }

    @Override
    public void a(Bundle bundle) {
        mg a2 = mg.a(this);
        bbi.a((Object) a2, "BiliAccount.get(this)");
        if (a2.a()) {
            ok.a("tv_my_history_click", "action", "1");
        } else {
            ok.a("tv_my_history_click", "action", "2");
        }
        Intent intent = getIntent();
        if (intent != null) {
            int intExtra = intent.getIntExtra(e, 0);
            if (intExtra == 1) {
                ok.a("tv_history_pageview", "from", "首页");
            } else if (intExtra == 2) {
                ok.a("tv_history_pageview", "from", "个人中心");
            }
        }
        ((TextView) d(2131231026)).setText(getString(2131493075));
        TextView textView = (TextView) d(2131230871);
        textView.setText("菜单键删除,长按[OK]键清空");
        textView.setVisibility(0);
        RecyclerView recyclerView = (RecyclerView) d(2131230955);
        this.c = LoadingImageView.Companion.a((FrameLayout) d(2131230904));
        this.b = new BorderGridLayoutManager(this, 2);
        this.a = new g();
        recyclerView.setLayoutManager(this.b);
        recyclerView.setFocusable(false);
        int b2 = adl.b(2131099870);
        int b3 = adl.b(2131100314);
        int b4 = adl.b(2131100425);
        int b5 = adl.b(2131099793);
        recyclerView.setPadding(b5, b2, b5, b3);
        ViewGroup.LayoutParams layoutParams = recyclerView.getLayoutParams();
        if (layoutParams == null) {
            throw new TypeCastException("null cannot be cast to non-null type android.widget.LinearLayout.LayoutParams");
        }
        ((LinearLayout.LayoutParams) layoutParams).topMargin = 0;
        recyclerView.a(new h(b2, b4));
        recyclerView.setAdapter(this.a);
        o();
        LoadingImageView loadingImageView = this.c;
        if (loadingImageView == null) {
            bbi.b("mLoadingImageView");
        }
        loadingImageView.a();
    }

    public static final class h extends RecyclerView.g {
        final int a;
        final int b;

        h(int i, int i2) {
            this.a = i;
            this.b = i2;
        }

        @Override
        public void a(Rect rect, View view, RecyclerView recyclerView, RecyclerView.s sVar) {
            int i;
            int i2;
            bbi.b(rect, "outRect");
            bbi.b(view, "view");
            bbi.b(recyclerView, "parent");
            int g = recyclerView.g(view);
            int i3 = g > 1 ? this.a : 0;
            if (g % 2 == 0) {
                i2 = this.b;
                i = 0;
            } else {
                i = this.b;
                i2 = 0;
            }
            rect.set(i, i3, i2, 0);
        }
    }

    final class k implements BorderGridLayoutManager.a {
        final agd b;

        k(agd agdVar) {
            this.b = agdVar;
        }

        @Override
        public final void a(View view, View view2, int i, int i2, int i3) {
            if (this.b != null) {
                this.b.setUpRectDrawable(aj.a(VideoHistoryActivity.this, 2131165416));
                this.b.a(view, i2, i3, VideoHistoryActivity.this.l());
                VideoHistoryActivity.this.b(false);
            }
        }
    }

    @Override
    public void a(agd agdVar) {
        BorderGridLayoutManager borderGridLayoutManager = this.b;
        if (borderGridLayoutManager != null) {
            borderGridLayoutManager.a(new k(agdVar));
        }
    }

    @Override
    public void onDestroy() {
        this.a = null;
        super.onDestroy();
    }

    public final void n() {
        new d().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, this);
    }

    private final void o() {
        mg a2 = mg.a(getApplicationContext());
        if (a2 != null && a2.a()) {
            mg a3 = mg.a(this);
            bbi.a((Object) a3, "BiliAccount.get(this)");
            ((BiliPlayerHistoryService) vo.a(BiliPlayerHistoryService.class)).getVideoHistoryList(a3.e()).a(new e());
            return;
        }
        n();
    }

    @Override
    public boolean onLongClick(View view) {
        bbi.b(view, "v");
        agb.a aVar = new agb.a(this);
        aVar.a(1).a(getString(2131493029)).b(getString(2131492985), new i()).a(getString(2131492982), j.a);
        aVar.a().show();
        return true;
    }

    @Override
    public boolean onKeyUp(int i2, KeyEvent keyEvent) {
        bbi.b(keyEvent, "event");
        if (i2 == 82 && current_avid >= 0 && current_pos >= 0) {
            agb.a aVar = new agb.a(this);
            aVar.a(1).a("确认删除该条历史记录?").b(getString(2131492985), new DeleteConfirmButton()).a(getString(2131492982), j.a);
            aVar.a().show();
        }
        return super.onKeyUp(i2, keyEvent);
    }

    final class DeleteConfirmButton implements agb.b {
        DeleteConfirmButton() {
        }

        @Override
        public final void a(agb agbVar, View view) {
            VideoHistoryActivity.this.new DeleteHistoryTask(VideoHistoryActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, new Void[0]);
            agbVar.dismiss();
        }
    }

    final class i implements agb.b {
        i() {
        }

        @Override
        public final void a(agb agbVar, View view) {
            new a(VideoHistoryActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, new Void[0]);
            VideoHistoryActivity.c(VideoHistoryActivity.this).c();
            agbVar.dismiss();
        }
    }

    static final class j implements agb.b {
        public static final j a = new j();

        j() {
        }

        @Override
        public final void a(agb agbVar, View view) {
            agbVar.dismiss();
        }
    }

    public final class d extends AsyncTask<Context, Void, BiliVideoHistorylList> {
        public d() {
        }

        @Override
        public BiliVideoHistorylList doInBackground(Context... contextArr) {
            bbi.b(contextArr, "params");
            Context context = contextArr[0];
            if (context == null) {
                return null;
            }
            try {
                return new zp(context).a();
            } catch (SQLiteException e) {
                att.a(e);
                return null;
            }
        }

        @Override
        public void onPostExecute(BiliVideoHistorylList biliVideoHistorylList) {
            g gVar;
            List<BiliVideoDetail> list;
            super.onPostExecute((d) biliVideoHistorylList);
            if (biliVideoHistorylList != null && (list = biliVideoHistorylList.mList) != null && !list.isEmpty()) {
                LongSparseArray longSparseArray = new LongSparseArray();
                for (BiliVideoDetail biliVideoDetail : list) {
                    longSparseArray.put(biliVideoDetail.mAvid, biliVideoDetail);
                }
                for (BiliVideoDetail biliVideoDetail2 : VideoHistoryActivity.this.d) {
                    int indexOfKey = longSparseArray.indexOfKey(biliVideoDetail2.mAvid);
                    if (indexOfKey < 0) {
                        longSparseArray.put(biliVideoDetail2.mAvid, biliVideoDetail2);
                    } else if (((BiliVideoDetail) longSparseArray.valueAt(indexOfKey)).mViewAt < biliVideoDetail2.mViewAt) {
                        longSparseArray.setValueAt(indexOfKey, biliVideoDetail2);
                    }
                }
                VideoHistoryActivity.this.d.clear();
                int size = longSparseArray.size();
                for (int i = 0; i < size; i++) {
                    List list2 = VideoHistoryActivity.this.d;
                    Object valueAt = longSparseArray.valueAt(i);
                    bbi.a(valueAt, "array.valueAt(i)");
                    list2.add(valueAt);
                }
            }
            Collections.sort(VideoHistoryActivity.this.d, VideoHistoryActivity.i);
            if (VideoHistoryActivity.this.a != null && !VideoHistoryActivity.this.isFinishing()) {
                VideoHistoryActivity.c(VideoHistoryActivity.this).b();
                if (VideoHistoryActivity.this.d.isEmpty()) {
                    VideoHistoryActivity.c(VideoHistoryActivity.this).c();
                    VideoHistoryActivity.c(VideoHistoryActivity.this).a(2131493080);
                }
                if (VideoHistoryActivity.this.a != null && (gVar = VideoHistoryActivity.this.a) != null) {
                    gVar.a(VideoHistoryActivity.this.d);
                }
            }
        }
    }

    static final class a extends AsyncTask<Void, Void, Exception> {
        private final WeakReference<VideoHistoryActivity> a;

        public a(VideoHistoryActivity videoHistoryActivity) {
            bbi.b(videoHistoryActivity, "videoHistoryActivity");
            this.a = new WeakReference<>(videoHistoryActivity);
        }

        @Override
        public Exception doInBackground(Void... voidArr) {
            bbi.b(voidArr, "params");
            VideoHistoryActivity videoHistoryActivity = this.a.get();
            if (videoHistoryActivity != null) {
                bbi.a((Object) videoHistoryActivity, "mVideoHistoryActivityWea…ence.get() ?: return null");
                zp.a(videoHistoryActivity);
                mg a = mg.a(MainApplication.a());
                bbi.a((Object) a, "BiliAccount.get(MainApplication.getInstance())");
                ((BiliPlayerHistoryService) vo.a(BiliPlayerHistoryService.class)).clearVideoHistories(a.e()).a();
            }
            return null;
        }

        @Override
        public void onPostExecute(Exception exc) {
            VideoHistoryActivity videoHistoryActivity = this.a.get();
            if (videoHistoryActivity != null) {
                bbi.a((Object) videoHistoryActivity, "mVideoHistoryActivityWeakReference.get() ?: return");
                g gVar = videoHistoryActivity.a;
                if (gVar != null) {
                    gVar.f();
                }
                videoHistoryActivity.b(4);
            }
        }
    }

    final class DeleteHistoryTask extends AsyncTask<Void, Void, Exception> {
        private final long mAvid;
        private final int mPos;
        private final WeakReference<VideoHistoryActivity> mVideoHistoryActivityWeakReference;

        public DeleteHistoryTask(VideoHistoryActivity videoHistoryActivity) {
            bbi.b(videoHistoryActivity, "videoHistoryActivity");
            this.mVideoHistoryActivityWeakReference = new WeakReference<>(videoHistoryActivity);
            this.mAvid = VideoHistoryActivity.current_avid;
            this.mPos = VideoHistoryActivity.current_pos;
        }

        @Override
        public Exception doInBackground(Void... voidArr) {
            bbi.b(voidArr, "params");
            VideoHistoryActivity videoHistoryActivity = this.mVideoHistoryActivityWeakReference.get();
            if (videoHistoryActivity != null) {
                bbi.a((Object) videoHistoryActivity, "mVideoHistoryActivityWea…ence.get() ?: return null");
                new zp(videoHistoryActivity).b(String.valueOf(this.mAvid));
                mg a = mg.a(MainApplication.a());
                bbi.a((Object) a, "BiliAccount.get(MainApplication.getInstance())");
                ((BiliPlayerHistoryService) vo.a(BiliPlayerHistoryService.class)).clearVideoHistories(a.e(), "archive_" + String.valueOf(this.mAvid)).a();
            }
            return null;
        }

        @Override
        public void onPostExecute(Exception exc) {
            VideoHistoryActivity.current_avid = -1L;
            VideoHistoryActivity.current_pos = -1;
            VideoHistoryActivity videoHistoryActivity = this.mVideoHistoryActivityWeakReference.get();
            if (videoHistoryActivity != null) {
                bbi.a((Object) this.mVideoHistoryActivityWeakReference, "mVideoHistoryActivityWeakReference.get() ?: return");
                videoHistoryActivity.d.remove(this.mPos);
                g gVar = videoHistoryActivity.a;
                if (gVar != null) {
                    gVar.d();
                }
                videoHistoryActivity.b(4);
                if (videoHistoryActivity.d.isEmpty()) {
                    VideoHistoryActivity.c(videoHistoryActivity).c();
                }
            }
        }
    }

    public final class e extends vn<List<BiliVideoDetail>> {
        public e() {
        }

        @Override
        public boolean isCancel() {
            return VideoHistoryActivity.this.isFinishing();
        }

        @Override
        public void onError(Throwable th) {
            adl.a.a(th, VideoHistoryActivity.this);
            if (VideoHistoryActivity.this.a != null && VideoHistoryActivity.c(VideoHistoryActivity.this) != null) {
                VideoHistoryActivity.this.n();
            }
        }

        @Override
        public void a(List<BiliVideoDetail> list) {
            if (VideoHistoryActivity.this.a != null) {
                if (list != null && !list.isEmpty()) {
                    VideoHistoryActivity.this.d = baf.b((Collection) list);
                }
                VideoHistoryActivity.this.n();
            }
        }
    }

    public static final class g extends adz<adv> implements View.OnClickListener, View.OnFocusChangeListener {
        public static final a Companion = new a(null);
        private static final SimpleDateFormat b = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
        private List<BiliVideoDetail> a = new ArrayList();

        @Override
        public int e() {
            return 0;
        }

        @Override
        public adv a(ViewGroup viewGroup, int i) {
            bbi.b(viewGroup, "parent");
            return f.Companion.a(viewGroup);
        }

        @Override
        public void a(adv advVar, int i) {
            bbi.b(advVar, "holder");
            if (advVar instanceof f) {
                BiliVideoDetail biliVideoDetail = this.a.get(i);
                if (!TextUtils.isEmpty(biliVideoDetail.mCover)) {
                    nv.a().a(ach.c(MainApplication.a(), biliVideoDetail.mCover), ((f) advVar).z());
                }
                if (!TextUtils.isEmpty(biliVideoDetail.mTitle)) {
                    ((f) advVar).A().setText(biliVideoDetail.mTitle);
                }
                ((f) advVar).B().setText(b.format(new Date(biliVideoDetail.mViewAt * 1000)));
                View view = advVar.a;
                bbi.a((Object) view, "holder.itemView");
                view.setTag(biliVideoDetail);
                advVar.a.setTag(2131230936, Integer.valueOf(i));
                advVar.a.setOnClickListener(this);
                advVar.a.setOnFocusChangeListener(this);
            }
        }

        @Override
        public int a() {
            return this.a.size();
        }

        public final void a(List<BiliVideoDetail> list) {
            bbi.b(list, "biliVideos");
            this.a = list;
            d();
        }

        public final void f() {
            this.a.clear();
            d();
        }

        @Override
        public void onClick(View view) {
            boolean z;
            bbi.b(view, "v");
            Context context = view.getContext();
            bbi.a((Object) context, "v.context");
            Activity a2 = adl.a(context);
            if (a2 != null) {
                Object tag = view.getTag(2131230936);
                Object tag2 = view.getTag();
                if ((tag2 instanceof BiliVideoDetail) && (tag instanceof Integer)) {
                    ok.a("tv_history_click", "row", String.valueOf(((int) Math.floor(((Number) tag).intValue() / 2)) + 1));
                    BiliVideoDetail biliVideoDetail = (BiliVideoDetail) tag2;
                    if (biliVideoDetail.mBusinessType == null) {
                        a2.startActivity(VideoDetailActivity.Companion.a(a2, biliVideoDetail.mAvid));
                    }
                    String str = biliVideoDetail.mBusinessType;
                    switch (str.hashCode()) {
                        case -1361525545:
                            if (str.equals("cheese")) {
                                z = 2;
                                break;
                            }
                            z = -1;
                            break;
                        case -748101438:
                            if (str.equals("archive")) {
                                z = false;
                                break;
                            }
                            z = -1;
                            break;
                        case 110924:
                            if (str.equals("pgc")) {
                                z = true;
                                break;
                            }
                            z = -1;
                            break;
                        default:
                            z = -1;
                            break;
                    }
                    switch (z) {
                        case false:
                            a2.startActivity(VideoDetailActivity.Companion.a(a2, biliVideoDetail.mAvid));
                            break;
                        case true:
                            a2.startActivity(BangumiDetailActivity.Companion.a(a2, biliVideoDetail.mBangumiInfo.mSeasonId));
                            break;
                        case true:
                            xg.playCheese(context, biliVideoDetail, biliVideoDetail.mPage, -1);
                            break;
                        default:
                            Toast.makeText(context, "暂不支持播放该视频类型", 0).show();
                            break;
                    }
                }
            }
        }

        @Override
        public void onFocusChange(View view, boolean z) {
            BiliVideoDetail biliVideoDetail = (BiliVideoDetail) view.getTag();
            if (z && biliVideoDetail != null) {
                VideoHistoryActivity.current_avid = biliVideoDetail.mAvid;
                VideoHistoryActivity.current_pos = this.a.indexOf(biliVideoDetail);
            }
        }

        public static final class a {
            private a() {
            }

            public a(bbg bbgVar) {
                this();
            }
        }
    }

    public static final class f extends adv {
        public static final a Companion = new a(null);
        private ScalableImageView n;
        private TextView o;
        private TextView p;
        private DrawRelativeLayout q;

        public f(View view) {
            super(view);
            bbi.b(view, "itemView");
            this.n = (ScalableImageView) a(view, 2131230881);
            this.o = (TextView) a(view, 2131231026);
            this.p = (TextView) a(view, 2131231004);
            this.q = (DrawRelativeLayout) a(view, 2131230836);
            Object context = view.getContext();
            if (context instanceof View.OnLongClickListener) {
                view.setOnLongClickListener((View.OnLongClickListener) context);
            }
        }

        public final ScalableImageView z() {
            return this.n;
        }

        public final TextView A() {
            return this.o;
        }

        public final TextView B() {
            return this.p;
        }

        public static final class a {
            private a() {
            }

            public a(bbg bbgVar) {
                this();
            }

            public final f a(ViewGroup viewGroup) {
                bbi.b(viewGroup, "parent");
                View inflate = LayoutInflater.from(viewGroup.getContext()).inflate(2131361918, viewGroup, false);
                bbi.a((Object) inflate, "view");
                return new f(inflate);
            }
        }
    }

    public static final class b {
        private b() {
        }

        public b(bbg bbgVar) {
            this();
        }

        public final String a() {
            return VideoHistoryActivity.e;
        }

        public final int b() {
            return 2;
        }

        public final void a(Context context, int i) {
            bbi.b(context, au.aD);
            Intent intent = new Intent(context, (Class<?>) VideoHistoryActivity.class);
            intent.putExtra(a(), i);
            context.startActivity(intent);
        }
    }

    static final class c<T> implements Comparator<BiliVideoDetail> {
        public static final c a = new c();

        c() {
        }

        @Override
        public final int compare(BiliVideoDetail biliVideoDetail, BiliVideoDetail biliVideoDetail2) {
            if (biliVideoDetail == null || biliVideoDetail2 == null) {
                return 0;
            }
            long j = biliVideoDetail2.mViewAt - biliVideoDetail.mViewAt;
            if (j != 0) {
                return j > 0 ? 1 : -1;
            }
            return 0;
        }
    }
}