[mobile] clean code

pull/123/head
FongMi 3 years ago
parent 69e9bd82c7
commit df5c0fa4fc
  1. 4
      app/src/main/java/com/fongmi/android/tv/ui/activity/BaseFragment.java
  2. 10
      app/src/main/java/com/fongmi/android/tv/utils/Clock.java
  3. 8
      app/src/main/java/com/fongmi/android/tv/utils/Prefers.java
  4. 12
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/MainActivity.java
  5. 20
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/FragmentStateManager.java
  6. 18
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java
  7. 13
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/HomeFragment.java
  8. 13
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/child/TypeFragment.java

@ -31,4 +31,8 @@ public abstract class BaseFragment extends Fragment {
protected void initEvent() {
}
public boolean canBack() {
return true;
}
}

@ -30,6 +30,14 @@ public class Clock {
this.date = new Date();
}
public static void stop() {
get().release();
}
public static void start() {
start(null);
}
public static void start(TextView view) {
start(view, "HH:mm:ss");
}
@ -56,8 +64,8 @@ public class Clock {
private void doJob(TextView view) {
try {
date.setTime(System.currentTimeMillis());
view.setText(formatter.format(date));
if (callback != null) callback.onTimeChanged();
if (view != null) view.setText(formatter.format(date));
} catch (Exception ignored) {
}
}

@ -163,14 +163,6 @@ public class Prefers {
put("across", across);
}
public static boolean isRotate() {
return getBoolean("rotate", true);
}
public static void putRotate(boolean rotate) {
put("rotate", rotate);
}
public static boolean getUpdate() {
return getBoolean("update", true);
}

@ -30,14 +30,6 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
private ActivityMainBinding mBinding;
private boolean confirm;
private VodFragment getVodFragment() {
return (VodFragment) mManager.getFragment(0);
}
private SettingFragment getSettingFragment() {
return (SettingFragment) mManager.getFragment(1);
}
@Override
protected ViewBinding getBinding() {
return mBinding = ActivityMainBinding.inflate(getLayoutInflater());
@ -127,9 +119,9 @@ public class MainActivity extends BaseActivity implements NavigationBarView.OnIt
@Override
public void onBackPressed() {
if (getSettingFragment().isVisible()) {
if (mManager.isVisible(1)) {
mBinding.navigation.setSelectedItemId(R.id.vod);
} else if (getVodFragment().canBack()) {
} else if (mManager.canBack(0)) {
if (!confirm) setConfirm();
else finish();
}

@ -6,6 +6,8 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.fongmi.android.tv.ui.activity.BaseFragment;
public abstract class FragmentStateManager {
private final FragmentManager fm;
@ -30,11 +32,21 @@ public abstract class FragmentStateManager {
ft.commitNowAllowingStateLoss();
}
public String getTag(long id) {
return "android:switcher:" + id;
private String getTag(int position) {
return "android:switcher:" + position;
}
public BaseFragment getFragment(int position) {
return (BaseFragment) fm.findFragmentByTag(getTag(position));
}
public boolean isVisible(int position) {
Fragment fragment = getFragment(position);
return fragment != null && fragment.isVisible();
}
public Fragment getFragment(long id) {
return fm.findFragmentByTag(getTag(id));
public boolean canBack(int position) {
BaseFragment fragment = getFragment(position);
return fragment != null && fragment.canBack();
}
}

@ -47,12 +47,8 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
return new VodFragment();
}
private HomeFragment getHomeFragment() {
return (HomeFragment) mBinding.pager.getAdapter().instantiateItem(mBinding.pager, 0);
}
private TypeFragment getTypeFragment() {
return (TypeFragment) mBinding.pager.getAdapter().instantiateItem(mBinding.pager, mBinding.pager.getCurrentItem());
private BaseFragment getFragment() {
return (BaseFragment) mBinding.pager.getAdapter().instantiateItem(mBinding.pager, mBinding.pager.getCurrentItem());
}
private Site getSite() {
@ -147,7 +143,7 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
@Override
public void setFilter(String key, String value) {
getTypeFragment().setFilter(key, value);
((TypeFragment) getFragment()).setFilter(key, value);
}
public void toggleLink(int dy) {
@ -169,13 +165,9 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
}
}
@Override
public boolean canBack() {
try {
if (mBinding.pager.getCurrentItem() == 0) return getHomeFragment().canBack();
else return getTypeFragment().canBack();
} catch (Exception e) {
return true;
}
return getFragment().canBack();
}
@Override

@ -99,12 +99,6 @@ public class HomeFragment extends BaseFragment implements VodAdapter.OnClickList
mHistoryAdapter.notifyItemRangeChanged(0, mHistoryAdapter.getItemCount());
}
public boolean canBack() {
if (!mHistoryAdapter.isDelete()) return true;
setHistoryDelete(false);
return false;
}
@Override
public void onItemClick(Vod item) {
if (item.shouldSearch()) onLongClick(item);
@ -147,4 +141,11 @@ public class HomeFragment extends BaseFragment implements VodAdapter.OnClickList
super.onResume();
getHistory();
}
@Override
public boolean canBack() {
if (!mHistoryAdapter.isDelete()) return true;
setHistoryDelete(false);
return false;
}
}

@ -125,12 +125,6 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
getVideo(typeId, "1");
}
public boolean canBack() {
if (mTypeIds.size() == 0) return true;
refresh(2);
return false;
}
@Override
public void onLoadMore(String page) {
if (isFolder()) return;
@ -162,4 +156,11 @@ public class TypeFragment extends BaseFragment implements CustomScroller.Callbac
super.onConfigurationChanged(newConfig);
mGridLayoutManager.setSpanCount(Product.getColumn(getActivity()));
}
@Override
public boolean canBack() {
if (mTypeIds.size() == 0) return true;
refresh(2);
return false;
}
}

Loading…
Cancel
Save