From be739bf8e8a3743afb2073ce06e1b0b7a72b4cf5 Mon Sep 17 00:00:00 2001 From: Kimlee-cmd <85122673+Kimlee-cmd@users.noreply.github.com> Date: Sat, 23 Jul 2022 20:14:15 +0800 Subject: [PATCH] Delete HomeActivity.java --- .../tvbox/osc/ui/activity/HomeActivity.java | 526 ------------------ 1 file changed, 526 deletions(-) delete mode 100644 app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java deleted file mode 100644 index 596de2be..00000000 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java +++ /dev/null @@ -1,526 +0,0 @@ -package com.github.tvbox.osc.ui.activity; - -import android.Manifest; -import android.animation.Animator; -import android.animation.AnimatorSet; -import android.animation.IntEvaluator; -import android.animation.ObjectAnimator; -import android.annotation.SuppressLint; -import android.content.Intent; -import android.os.Bundle; -import android.os.Handler; -import android.view.KeyEvent; -import android.view.View; -import android.view.ViewGroup; -import android.view.animation.AccelerateInterpolator; -import android.view.animation.BounceInterpolator; -import android.widget.LinearLayout; -import android.widget.TextView; -import android.widget.Toast; - -import androidx.lifecycle.Observer; -import androidx.lifecycle.ViewModelProvider; -import androidx.viewpager.widget.ViewPager; - -import com.github.tvbox.osc.R; -import com.github.tvbox.osc.api.ApiConfig; -import com.github.tvbox.osc.base.BaseActivity; -import com.github.tvbox.osc.base.BaseLazyFragment; -import com.github.tvbox.osc.bean.AbsSortXml; -import com.github.tvbox.osc.bean.MovieSort; -import com.github.tvbox.osc.event.RefreshEvent; -import com.github.tvbox.osc.server.ControlManager; -import com.github.tvbox.osc.ui.adapter.HomePageAdapter; -import com.github.tvbox.osc.ui.adapter.SortAdapter; -import com.github.tvbox.osc.ui.dialog.TipDialog; -import com.github.tvbox.osc.ui.fragment.GridFragment; -import com.github.tvbox.osc.ui.fragment.UserFragment; -import com.github.tvbox.osc.ui.tv.widget.DefaultTransformer; -import com.github.tvbox.osc.ui.tv.widget.FixedSpeedScroller; -import com.github.tvbox.osc.ui.tv.widget.NoScrollViewPager; -import com.github.tvbox.osc.ui.tv.widget.ViewObj; -import com.github.tvbox.osc.util.AppManager; -import com.github.tvbox.osc.util.DefaultConfig; -import com.github.tvbox.osc.util.HawkConfig; -import com.github.tvbox.osc.util.LOG; -import com.github.tvbox.osc.viewmodel.SourceViewModel; -import com.orhanobut.hawk.Hawk; -import com.owen.tvrecyclerview.widget.TvRecyclerView; -import com.owen.tvrecyclerview.widget.V7LinearLayoutManager; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -import java.lang.reflect.Field; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import me.jessyan.autosize.utils.AutoSizeUtils; - -public class HomeActivity extends BaseActivity { - private LinearLayout topLayout; - private LinearLayout contentLayout; - private TextView tvDate; - private TvRecyclerView mGridView; - private NoScrollViewPager mViewPager; - private SourceViewModel sourceViewModel; - private SortAdapter sortAdapter; - private HomePageAdapter pageAdapter; - private List fragments = new ArrayList<>(); - private boolean isDownOrUp = false; - private boolean sortChange = false; - private int currentSelected = 0; - private int sortFocused = 0; - public View sortFocusView = null; - private Handler mHandler = new Handler(); - private long mExitTime = 0; - private Runnable mRunnable = new Runnable() { - @SuppressLint({"DefaultLocale", "SetTextI18n"}) - @Override - public void run() { - Date date = new Date(); - @SuppressLint("SimpleDateFormat") - SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm"); - tvDate.setText(timeFormat.format(date)); - mHandler.postDelayed(this, 1000); - } - }; - - @Override - protected int getLayoutResID() { - return R.layout.activity_home; - } - - boolean useCacheConfig = false; - - @Override - protected void init() { - EventBus.getDefault().register(this); - ControlManager.get().startServer(); - initView(); - initViewModel(); - useCacheConfig = false; - Intent intent = getIntent(); - if (intent != null && intent.getExtras() != null) { - Bundle bundle = intent.getExtras(); - useCacheConfig = bundle.getBoolean("useCache", false); - } - initData(); - } - - private void initView() { - this.topLayout = findViewById(R.id.topLayout); - this.tvDate = findViewById(R.id.tvDate); - this.contentLayout = findViewById(R.id.contentLayout); - this.mGridView = findViewById(R.id.mGridView); - this.mViewPager = findViewById(R.id.mViewPager); - this.sortAdapter = new SortAdapter(); - this.mGridView.setLayoutManager(new V7LinearLayoutManager(this.mContext, 0, false)); - this.mGridView.setSpacingWithMargins(0, AutoSizeUtils.dp2px(this.mContext, 10.0f)); - this.mGridView.setAdapter(this.sortAdapter); - this.mGridView.setOnItemListener(new TvRecyclerView.OnItemListener() { - public void onItemPreSelected(TvRecyclerView tvRecyclerView, View view, int position) { - if (view != null && !HomeActivity.this.isDownOrUp) { - view.animate().scaleX(1.0f).scaleY(1.0f).setDuration(300).start(); - TextView textView = view.findViewById(R.id.tvTitle); - textView.getPaint().setFakeBoldText(false); - textView.setTextColor(HomeActivity.this.getResources().getColor(R.color.color_BBFFFFFF)); - textView.invalidate(); - view.findViewById(R.id.tvFilter).setVisibility(View.GONE); - } - } - - public void onItemSelected(TvRecyclerView tvRecyclerView, View view, int position) { - if (view != null) { - HomeActivity.this.isDownOrUp = false; - HomeActivity.this.sortChange = true; - view.animate().scaleX(1.1f).scaleY(1.1f).setInterpolator(new BounceInterpolator()).setDuration(300).start(); - TextView textView = view.findViewById(R.id.tvTitle); - textView.getPaint().setFakeBoldText(true); - textView.setTextColor(HomeActivity.this.getResources().getColor(R.color.color_FFFFFF)); - textView.invalidate(); - if (!sortAdapter.getItem(position).filters.isEmpty()) - view.findViewById(R.id.tvFilter).setVisibility(View.VISIBLE); - HomeActivity.this.sortFocusView = view; - HomeActivity.this.sortFocused = position; - mHandler.removeCallbacks(mDataRunnable); - mHandler.postDelayed(mDataRunnable, 200); - } - } - - @Override - public void onItemClick(TvRecyclerView parent, View itemView, int position) { - if (itemView != null && currentSelected == position && !sortAdapter.getItem(position).filters.isEmpty()) { // 弹出筛选 - BaseLazyFragment baseLazyFragment = fragments.get(currentSelected); - if ((baseLazyFragment instanceof GridFragment)) { - ((GridFragment) baseLazyFragment).showFilter(); - } - } - } - }); - this.mGridView.setOnInBorderKeyEventListener(new TvRecyclerView.OnInBorderKeyEventListener() { - public final boolean onInBorderKeyEvent(int direction, View view) { - if (direction != View.FOCUS_DOWN) { - return false; - } - isDownOrUp = true; - BaseLazyFragment baseLazyFragment = fragments.get(sortFocused); - if (!(baseLazyFragment instanceof GridFragment)) { - return false; - } - if (!((GridFragment) baseLazyFragment).isLoad()) { - return true; - } - return false; - } - }); - setLoadSir(this.contentLayout); - //mHandler.postDelayed(mFindFocus, 500); - } - - private void initViewModel() { - sourceViewModel = new ViewModelProvider(this).get(SourceViewModel.class); - sourceViewModel.sortResult.observe(this, new Observer() { - @Override - public void onChanged(AbsSortXml absXml) { - showSuccess(); - if (absXml != null && absXml.classes != null && absXml.classes.sortList != null) { - sortAdapter.setNewData(DefaultConfig.adjustSort(ApiConfig.get().getHomeSourceBean().getKey(), absXml.classes.sortList, true)); - } else { - sortAdapter.setNewData(DefaultConfig.adjustSort(ApiConfig.get().getHomeSourceBean().getKey(), new ArrayList<>(), true)); - } - initViewPager(absXml); - } - }); - } - - private boolean dataInitOk = false; - private boolean jarInitOk = false; - - private void initData() { - if (dataInitOk && jarInitOk) { - showLoading(); - sourceViewModel.getSort(ApiConfig.get().getHomeSourceBean().getKey()); - if (hasPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { - LOG.e("有"); - } else { - LOG.e("无"); - } - return; - } - showLoading(); - if (dataInitOk && !jarInitOk) { - if (!ApiConfig.get().getSpider().isEmpty()) { - ApiConfig.get().loadJar(useCacheConfig, ApiConfig.get().getSpider(), new ApiConfig.LoadConfigCallback() { - @Override - public void success() { - jarInitOk = true; - mHandler.postDelayed(new Runnable() { - @Override - public void run() { - if (!useCacheConfig) - Toast.makeText(HomeActivity.this, "自定义jar加载成功", Toast.LENGTH_SHORT).show(); - initData(); - } - }, 50); - } - - @Override - public void retry() { - - } - - @Override - public void error(String msg) { - jarInitOk = true; - mHandler.post(new Runnable() { - @Override - public void run() { - Toast.makeText(HomeActivity.this, "jar加载失败", Toast.LENGTH_SHORT).show(); - initData(); - } - }); - } - }); - } - return; - } - ApiConfig.get().loadConfig(useCacheConfig, new ApiConfig.LoadConfigCallback() { - TipDialog dialog = null; - - @Override - public void retry() { - mHandler.post(new Runnable() { - @Override - public void run() { - initData(); - } - }); - } - - @Override - public void success() { - dataInitOk = true; - if (ApiConfig.get().getSpider().isEmpty()) { - jarInitOk = true; - } - mHandler.postDelayed(new Runnable() { - @Override - public void run() { - initData(); - } - }, 50); - } - - @Override - public void error(String msg) { - if (msg.equalsIgnoreCase("-1")) { - mHandler.post(new Runnable() { - @Override - public void run() { - dataInitOk = true; - jarInitOk = true; - initData(); - } - }); - return; - } - mHandler.post(new Runnable() { - @Override - public void run() { - if (dialog == null) - dialog = new TipDialog(HomeActivity.this, msg, "重试", "取消", new TipDialog.OnListener() { - @Override - public void left() { - mHandler.post(new Runnable() { - @Override - public void run() { - initData(); - dialog.hide(); - } - }); - } - - @Override - public void right() { - dataInitOk = true; - jarInitOk = true; - mHandler.post(new Runnable() { - @Override - public void run() { - initData(); - dialog.hide(); - } - }); - } - - @Override - public void cancel() { - dataInitOk = true; - jarInitOk = true; - mHandler.post(new Runnable() { - @Override - public void run() { - initData(); - dialog.hide(); - } - }); - } - }); - if (!dialog.isShowing()) - dialog.show(); - } - }); - } - }, this); - } - - private void initViewPager(AbsSortXml absXml) { - if (sortAdapter.getData().size() > 0) { - for (MovieSort.SortData data : sortAdapter.getData()) { - if (data.id.equals("my0")) { - if (Hawk.get(HawkConfig.HOME_REC, 0) == 1 && absXml != null && absXml.videoList != null && absXml.videoList.size() > 0) { - fragments.add(UserFragment.newInstance(absXml.videoList)); - } else { - fragments.add(UserFragment.newInstance(null)); - } - } else { - fragments.add(GridFragment.newInstance(data)); - } - } - pageAdapter = new HomePageAdapter(getSupportFragmentManager(), fragments); - try { - Field field = ViewPager.class.getDeclaredField("mScroller"); - field.setAccessible(true); - FixedSpeedScroller scroller = new FixedSpeedScroller(mContext, new AccelerateInterpolator()); - field.set(mViewPager, scroller); - scroller.setmDuration(300); - } catch (Exception e) { - } - mViewPager.setPageTransformer(true, new DefaultTransformer()); - mViewPager.setAdapter(pageAdapter); - mViewPager.setCurrentItem(currentSelected, false); - } - } - - @Override - public void onBackPressed() { - int i; - if (this.fragments.size() <= 0 || this.sortFocused >= this.fragments.size() || (i = this.sortFocused) < 0) { - exit(); - return; - } - BaseLazyFragment baseLazyFragment = this.fragments.get(i); - if (baseLazyFragment instanceof GridFragment) { - View view = this.sortFocusView; - if (view != null && !view.isFocused()) { - this.sortFocusView.requestFocus(); - } else if (this.sortFocused != 0) { - this.mGridView.setSelection(0); - } else { - exit(); - } - } else { - exit(); - } - } - - private void exit() { - if (System.currentTimeMillis() - mExitTime < 2000) { - super.onBackPressed(); - } else { - mExitTime = System.currentTimeMillis(); - Toast.makeText(mContext, "再按一次返回键退出应用", Toast.LENGTH_SHORT).show(); - } - } - - @Override - protected void onResume() { - super.onResume(); - mHandler.post(mRunnable); - } - - - @Override - protected void onPause() { - super.onPause(); - mHandler.removeCallbacksAndMessages(null); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void refresh(RefreshEvent event) { - if (event.type == RefreshEvent.TYPE_PUSH_URL) { - if (ApiConfig.get().getSource("push_agent") != null) { - Intent newIntent = new Intent(mContext, DetailActivity.class); - newIntent.putExtra("id", (String) event.obj); - newIntent.putExtra("sourceKey", "push_agent"); - newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); - HomeActivity.this.startActivity(newIntent); - } - } - } - - private Runnable mDataRunnable = new Runnable() { - @Override - public void run() { - if (sortChange) { - sortChange = false; - if (sortFocused != currentSelected) { - currentSelected = sortFocused; - mViewPager.setCurrentItem(sortFocused, false); - if (sortFocused == 0) { - changeTop(false); - } else { - changeTop(true); - } - } - } - } - }; - - @Override - public boolean dispatchKeyEvent(KeyEvent event) { - if (topHide < 0) - return false; - if (event.getAction() == KeyEvent.ACTION_DOWN) { - - } else if (event.getAction() == KeyEvent.ACTION_UP) { - - } - return super.dispatchKeyEvent(event); - } - - byte topHide = 0; - - private void changeTop(boolean hide) { - ViewObj viewObj = new ViewObj(topLayout, (ViewGroup.MarginLayoutParams) topLayout.getLayoutParams()); - AnimatorSet animatorSet = new AnimatorSet(); - animatorSet.addListener(new Animator.AnimatorListener() { - @Override - public void onAnimationStart(Animator animation) { - - } - - @Override - public void onAnimationEnd(Animator animation) { - topHide = (byte) (hide ? 1 : 0); - } - - @Override - public void onAnimationCancel(Animator animation) { - - } - - @Override - public void onAnimationRepeat(Animator animation) { - - } - }); - if (hide && topHide == 0) { - animatorSet.playTogether(new Animator[]{ - ObjectAnimator.ofObject(viewObj, "marginTop", new IntEvaluator(), - new Object[]{ - Integer.valueOf(AutoSizeUtils.mm2px(this.mContext, 10.0f)), - Integer.valueOf(AutoSizeUtils.mm2px(this.mContext, 0.0f)) - }), - ObjectAnimator.ofObject(viewObj, "height", new IntEvaluator(), - new Object[]{ - Integer.valueOf(AutoSizeUtils.mm2px(this.mContext, 50.0f)), - Integer.valueOf(AutoSizeUtils.mm2px(this.mContext, 1.0f)) - }), - ObjectAnimator.ofFloat(this.topLayout, "alpha", new float[]{1.0f, 0.0f})}); - animatorSet.setDuration(200); - animatorSet.start(); - return; - } - if (!hide && topHide == 1) { - animatorSet.playTogether(new Animator[]{ - ObjectAnimator.ofObject(viewObj, "marginTop", new IntEvaluator(), - new Object[]{ - Integer.valueOf(AutoSizeUtils.mm2px(this.mContext, 0.0f)), - Integer.valueOf(AutoSizeUtils.mm2px(this.mContext, 10.0f)) - }), - ObjectAnimator.ofObject(viewObj, "height", new IntEvaluator(), - new Object[]{ - Integer.valueOf(AutoSizeUtils.mm2px(this.mContext, 1.0f)), - Integer.valueOf(AutoSizeUtils.mm2px(this.mContext, 50.0f)) - }), - ObjectAnimator.ofFloat(this.topLayout, "alpha", new float[]{0.0f, 1.0f})}); - animatorSet.setDuration(200); - animatorSet.start(); - return; - } - } - - @Override - protected void onDestroy() { - super.onDestroy(); - EventBus.getDefault().unregister(this); - AppManager.getInstance().appExit(0); - ControlManager.get().stopServer(); - } - -} \ No newline at end of file