pull/123/head
FongMi 3 years ago
parent 627757409c
commit d1baa893cc
  1. 23
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java
  4. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ArrayPresenter.java
  5. 29
      app/src/leanback/res/layout/activity_home.xml
  6. 4
      app/src/main/java/com/fongmi/android/tv/api/LiveConfig.java

@ -58,7 +58,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
private ArrayObjectAdapter mHistoryAdapter;
private HistoryPresenter mHistoryPresenter;
private SiteViewModel mViewModel;
private boolean mConfirmExit;
private boolean confirm;
@Override
protected ViewBinding getBinding() {
@ -70,12 +70,12 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
WallConfig.get().init();
LiveConfig.get().init();
ApiConfig.get().init().load(getCallback());
mBinding.progressLayout.showProgress();
Updater.create(this).start();
Server.get().start();
setRecyclerView();
setViewModel();
setAdapter();
setFocus();
}
@Override
@ -115,26 +115,29 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
mHistoryAdapter = new ArrayObjectAdapter(mHistoryPresenter = new HistoryPresenter(this));
}
private void setFocus() {
mBinding.recycler.requestFocus();
App.post(() -> mBinding.title.setFocusable(true), 500);
}
private Callback getCallback() {
return new Callback() {
@Override
public void success() {
mBinding.progressLayout.showContent();
getHistory();
getVideo();
setFocus();
}
@Override
public void error(int resId) {
mBinding.progressLayout.showContent();
Notify.show(resId);
setFocus();
}
};
}
private void setFocus() {
App.post(() -> mBinding.recycler.requestFocus(), 500);
}
private void getVideo() {
int index = getRecommendIndex();
mViewModel.getResult().setValue(Result.empty());
@ -316,10 +319,10 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
mHistoryAdapter.notifyArrayItemRangeChanged(0, mHistoryAdapter.size());
} else if (mBinding.recycler.getSelectedPosition() != 0) {
mBinding.recycler.scrollToPosition(0);
} else if (!mConfirmExit) {
mConfirmExit = true;
} else if (!confirm) {
confirm = true;
Notify.show(R.string.app_exit);
App.post(() -> mConfirmExit = false, 1000);
App.post(() -> confirm = false, 1000);
} else {
finish();
}

@ -165,6 +165,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
getPlayerView().setResizeMode(Prefers.getLiveScale());
getPlayerView().setOnClickListener(view -> onToggle());
getPlayerView().setOnLongClickListener(view -> onLongPress());
mControl.home.setVisibility(LiveConfig.isOnly() ? View.GONE : View.VISIBLE);
mControl.scale.setText(ResUtil.getStringArray(R.array.select_scale)[Prefers.getLiveScale()]);
mControl.speed.setText(mPlayers.getSpeed());
}
@ -181,6 +182,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void setPosition(int[] position) {
if (position[0] == -1) return;
if (mGroupAdapter.size() == 1) return;
mGroup = (Group) mGroupAdapter.get(position[0]);
mBinding.group.setSelectedPosition(position[0]);
mGroup.setPosition(position[1]);

@ -35,6 +35,7 @@ public class CustomTitleView extends AppCompatTextView {
public void setListener(Listener listener) {
this.listener = listener;
setOnClickListener(v -> listener.showDialog());
}
@Override

@ -43,7 +43,8 @@ public class ArrayPresenter extends Presenter {
String text = object.toString();
holder.binding.text.setText(text);
if (text.equals(reverse)) setOnClickListener(holder, view -> mListener.onRevSort());
if (text.equals(backward) || text.equals(forward)) setOnClickListener(holder, view -> mListener.onRevPlay(holder.binding.text));
else if (text.equals(backward) || text.equals(forward)) setOnClickListener(holder, view -> mListener.onRevPlay(holder.binding.text));
else setOnClickListener(holder, null);
}
@Override

@ -21,6 +21,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:focusable="true"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="24sp" />
@ -36,17 +37,23 @@
</FrameLayout>
<androidx.leanback.widget.VerticalGridView
android:id="@+id/recycler"
<com.fongmi.android.tv.ui.custom.ProgressLayout
android:id="@+id/progressLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:paddingStart="24dp"
android:paddingTop="8dp"
android:paddingEnd="24dp"
android:paddingBottom="24dp"
app:focusOutEnd="true"
app:focusOutFront="true" />
android:layout_height="match_parent">
<androidx.leanback.widget.VerticalGridView
android:id="@+id/recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
android:paddingStart="24dp"
android:paddingTop="8dp"
android:paddingEnd="24dp"
android:paddingBottom="24dp"
app:focusOutEnd="true"
app:focusOutFront="true" />
</com.fongmi.android.tv.ui.custom.ProgressLayout>
</LinearLayout>

@ -41,6 +41,10 @@ public class LiveConfig {
return get().getLives().indexOf(get().getHome());
}
public static boolean isOnly() {
return get().getLives().size() == 1;
}
public static boolean isEmpty() {
return get().getHome() == null;
}

Loading…
Cancel
Save