[leanback] fix bug

pull/123/head
FongMi 3 years ago
parent 0fcaf3fd17
commit 9f2ac9b89a
  1. 13
      app/src/leanback/java/com/fongmi/android/tv/Product.java
  2. 13
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CollectActivity.java
  3. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  4. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  5. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java
  6. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  7. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/PushActivity.java
  8. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SearchActivity.java
  9. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  10. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VodActivity.java
  11. 40
      app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseActivity.java
  12. 29
      app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseFragment.java
  13. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/CollectFragment.java
  14. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/fragment/VodFragment.java
  15. 1
      app/src/main/java/com/fongmi/android/tv/ui/activity/CrashActivity.java

@ -1,23 +1,10 @@
package com.fongmi.android.tv;
import android.content.res.Resources;
import com.fongmi.android.tv.ui.activity.LiveActivity;
import com.fongmi.android.tv.utils.Prefers;
import me.jessyan.autosize.AutoSizeCompat;
public class Product {
public static Resources hackResources(Resources resources) {
try {
AutoSizeCompat.autoConvertDensityOfGlobal(resources);
return resources;
} catch (Exception ignored) {
return resources;
}
}
public static int getColumn() {
return Math.abs(Prefers.getSize() - 7);
}

@ -25,6 +25,7 @@ import com.fongmi.android.tv.bean.Collect;
import com.fongmi.android.tv.bean.Site;
import com.fongmi.android.tv.databinding.ActivityCollectBinding;
import com.fongmi.android.tv.model.SiteViewModel;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.fragment.CollectFragment;
import com.fongmi.android.tv.ui.presenter.CollectPresenter;
import com.fongmi.android.tv.utils.PauseThreadPoolExecutor;
@ -176,12 +177,7 @@ public class CollectActivity extends BaseActivity {
class PageAdapter extends FragmentStatePagerAdapter {
public PageAdapter(@NonNull FragmentManager fm) {
super(fm);
}
@Override
public int getCount() {
return mAdapter.size();
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
}
@NonNull
@ -190,6 +186,11 @@ public class CollectActivity extends BaseActivity {
return CollectFragment.newInstance(((Collect) mAdapter.get(position)).getList());
}
@Override
public int getCount() {
return mAdapter.size();
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
}

@ -41,6 +41,7 @@ import com.fongmi.android.tv.net.Callback;
import com.fongmi.android.tv.net.OkHttp;
import com.fongmi.android.tv.player.ExoUtil;
import com.fongmi.android.tv.player.Players;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.CustomKeyDownVod;
import com.fongmi.android.tv.ui.custom.dialog.DescDialog;
import com.fongmi.android.tv.ui.custom.dialog.TrackDialog;

@ -31,6 +31,7 @@ import com.fongmi.android.tv.event.ServerEvent;
import com.fongmi.android.tv.model.SiteViewModel;
import com.fongmi.android.tv.net.Callback;
import com.fongmi.android.tv.server.Server;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.CustomRowPresenter;
import com.fongmi.android.tv.ui.custom.CustomSelector;
import com.fongmi.android.tv.ui.custom.CustomTitleView;

@ -14,6 +14,7 @@ import com.fongmi.android.tv.databinding.ActivityKeepBinding;
import com.fongmi.android.tv.event.RefreshEvent;
import com.fongmi.android.tv.net.Callback;
import com.fongmi.android.tv.ui.adapter.KeepAdapter;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.SpaceItemDecoration;
import org.greenrobot.eventbus.Subscribe;

@ -36,6 +36,7 @@ import com.fongmi.android.tv.player.Players;
import com.fongmi.android.tv.player.source.Force;
import com.fongmi.android.tv.player.source.TVBus;
import com.fongmi.android.tv.player.source.ZLive;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.CustomKeyDownLive;
import com.fongmi.android.tv.ui.custom.CustomLiveListView;
import com.fongmi.android.tv.ui.custom.dialog.LiveDialog;

@ -10,6 +10,7 @@ import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.databinding.ActivityPushBinding;
import com.fongmi.android.tv.server.Server;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.utils.QRCode;
import com.fongmi.android.tv.utils.ResUtil;

@ -20,6 +20,7 @@ import com.fongmi.android.tv.net.Callback;
import com.fongmi.android.tv.net.OkHttp;
import com.fongmi.android.tv.ui.adapter.RecordAdapter;
import com.fongmi.android.tv.ui.adapter.WordAdapter;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.CustomKeyboard;
import com.fongmi.android.tv.ui.custom.CustomListener;
import com.fongmi.android.tv.ui.custom.SpaceItemDecoration;

@ -21,6 +21,7 @@ import com.fongmi.android.tv.impl.ConfigCallback;
import com.fongmi.android.tv.impl.LiveCallback;
import com.fongmi.android.tv.impl.SiteCallback;
import com.fongmi.android.tv.net.Callback;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.dialog.ConfigDialog;
import com.fongmi.android.tv.ui.custom.dialog.HistoryDialog;
import com.fongmi.android.tv.ui.custom.dialog.LiveDialog;

@ -24,6 +24,7 @@ import com.fongmi.android.tv.bean.Class;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.bean.Site;
import com.fongmi.android.tv.databinding.ActivityVodBinding;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.fragment.VodFragment;
import com.fongmi.android.tv.ui.presenter.TypePresenter;
import com.fongmi.android.tv.utils.ResUtil;
@ -159,7 +160,7 @@ public class VodActivity extends BaseActivity {
class PageAdapter extends FragmentStatePagerAdapter {
public PageAdapter(@NonNull FragmentManager fm) {
super(fm);
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
}
@NonNull

@ -1,21 +1,23 @@
package com.fongmi.android.tv.ui.activity;
package com.fongmi.android.tv.ui.base;
import android.app.Activity;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.Product;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.api.WallConfig;
import com.fongmi.android.tv.event.RefreshEvent;
import com.fongmi.android.tv.utils.FileUtil;
import com.fongmi.android.tv.utils.Prefers;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Utils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@ -23,6 +25,8 @@ import org.greenrobot.eventbus.ThreadMode;
import java.io.File;
import me.jessyan.autosize.AutoSizeCompat;
public abstract class BaseActivity extends AppCompatActivity {
protected abstract ViewBinding getBinding();
@ -32,9 +36,9 @@ public abstract class BaseActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(getBinding().getRoot());
EventBus.getDefault().register(this);
Utils.hideSystemUI(this);
setWall();
initView();
initView(savedInstanceState);
initEvent();
}
@ -45,9 +49,6 @@ public abstract class BaseActivity extends AppCompatActivity {
protected void initView() {
}
protected void initView(Bundle savedInstanceState) {
}
protected void initEvent() {
}
@ -69,9 +70,13 @@ public abstract class BaseActivity extends AppCompatActivity {
}
}
@Override
public Resources getResources() {
return Product.hackResources(super.getResources());
private Resources hackResources(Resources resources) {
try {
AutoSizeCompat.autoConvertDensityOfGlobal(resources);
return resources;
} catch (Exception ignored) {
return resources;
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
@ -81,6 +86,23 @@ public abstract class BaseActivity extends AppCompatActivity {
setWall();
}
@Override
public Resources getResources() {
return hackResources(super.getResources());
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Utils.hideSystemUI(this);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) Utils.hideSystemUI(this);
}
@Override
protected void onDestroy() {
super.onDestroy();

@ -1,4 +1,4 @@
package com.fongmi.android.tv.ui.activity;
package com.fongmi.android.tv.ui.base;
import android.os.Bundle;
import android.view.LayoutInflater;
@ -14,25 +14,36 @@ public abstract class BaseFragment extends Fragment {
protected abstract ViewBinding getBinding(@NonNull LayoutInflater inflater, @Nullable ViewGroup container);
private boolean init;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return getBinding(inflater, container).getRoot();
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
initView();
initEvent();
}
protected void initView() {
}
protected void initEvent() {
}
public boolean canBack() {
return true;
private void resume() {
if (init) return;
initView();
initEvent();
init = true;
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) if (isResumed()) resume();
}
@Override
public void onResume() {
super.onResume();
if (getUserVisibleHint()) resume();
}
}

@ -16,9 +16,9 @@ import com.fongmi.android.tv.R;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.bean.Vod;
import com.fongmi.android.tv.databinding.FragmentVodBinding;
import com.fongmi.android.tv.ui.activity.BaseFragment;
import com.fongmi.android.tv.ui.activity.DetailActivity;
import com.fongmi.android.tv.ui.activity.VodActivity;
import com.fongmi.android.tv.ui.base.BaseFragment;
import com.fongmi.android.tv.ui.custom.CustomRowPresenter;
import com.fongmi.android.tv.ui.custom.CustomSelector;
import com.fongmi.android.tv.ui.presenter.VodPresenter;

@ -21,9 +21,9 @@ import com.fongmi.android.tv.bean.Filter;
import com.fongmi.android.tv.bean.Vod;
import com.fongmi.android.tv.databinding.FragmentVodBinding;
import com.fongmi.android.tv.model.SiteViewModel;
import com.fongmi.android.tv.ui.activity.BaseFragment;
import com.fongmi.android.tv.ui.activity.CollectActivity;
import com.fongmi.android.tv.ui.activity.DetailActivity;
import com.fongmi.android.tv.ui.base.BaseFragment;
import com.fongmi.android.tv.ui.custom.CustomRowPresenter;
import com.fongmi.android.tv.ui.custom.CustomScroller;
import com.fongmi.android.tv.ui.custom.CustomSelector;

@ -5,6 +5,7 @@ import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.databinding.ActivityCrashBinding;
import com.fongmi.android.tv.ui.base.BaseActivity;
import java.util.Objects;

Loading…
Cancel
Save