setting vod history

okjack
okjack 2 years ago
parent a02534bb13
commit bdf47f4d92
  1. 29
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 12
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomTitleView.java
  3. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/dialog/HistoryDialog.java
  4. 2
      app/src/leanback/res/drawable/selector_image.xml

@ -38,6 +38,7 @@ import com.fongmi.android.tv.event.CastEvent;
import com.fongmi.android.tv.event.RefreshEvent;
import com.fongmi.android.tv.event.ServerEvent;
import com.fongmi.android.tv.impl.Callback;
import com.fongmi.android.tv.impl.ConfigCallback;
import com.fongmi.android.tv.model.SiteViewModel;
import com.fongmi.android.tv.player.Source;
import com.fongmi.android.tv.server.Server;
@ -45,6 +46,7 @@ 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;
import com.fongmi.android.tv.ui.dialog.HistoryDialog;
import com.fongmi.android.tv.ui.dialog.SiteDialog;
import com.fongmi.android.tv.ui.presenter.FuncPresenter;
import com.fongmi.android.tv.ui.presenter.HeaderPresenter;
@ -66,7 +68,7 @@ import org.greenrobot.eventbus.ThreadMode;
import java.util.List;
public class HomeActivity extends BaseActivity implements CustomTitleView.Listener, VodPresenter.OnClickListener, FuncPresenter.OnClickListener, HistoryPresenter.OnClickListener {
public class HomeActivity extends BaseActivity implements CustomTitleView.Listener, VodPresenter.OnClickListener, FuncPresenter.OnClickListener, HistoryPresenter.OnClickListener, ConfigCallback {
private ActivityHomeBinding mBinding;
private ArrayObjectAdapter mHistoryAdapter;
@ -165,6 +167,11 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
recommend = homeRecommend;
}
@Override
public void onSettingVodHistory() {
HistoryDialog.create(this).type(0).show();
}
private void initConfig() {
if (isLoading()) return;
WallConfig.get().init();
@ -177,6 +184,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
return new Callback() {
@Override
public void success() {
Notify.dismiss();
mBinding.progressLayout.showContent();
checkAction(getIntent());
getHistory();
@ -186,6 +194,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
@Override
public void error(String msg) {
Notify.dismiss();
if (TextUtils.isEmpty(msg) && AppDatabase.getBackup().exists()) onRestore();
else mBinding.progressLayout.showContent();
mResult = Result.empty();
@ -205,6 +214,24 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
}));
}
@Override
public void setConfig(Config config) {
if (config.getUrl().startsWith("file") && !PermissionX.isGranted(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> load(config));
} else {
load(config);
}
}
private void load(Config config) {
switch (config.getType()) {
case 0:
Notify.progress(this);
VodConfig.load(config, getCallback());
break;
}
}
private void loadLive(String url) {
LiveConfig.load(Config.find(url, 1), new Callback() {
@Override

@ -42,7 +42,7 @@ public class CustomTitleView extends AppCompatTextView {
}
private boolean hasEvent(KeyEvent event) {
return KeyUtil.isEnterKey(event) || KeyUtil.isLeftKey(event) || KeyUtil.isRightKey(event) || (KeyUtil.isUpKey(event) && !coolDown);
return KeyUtil.isEnterKey(event) || KeyUtil.isLeftKey(event) || KeyUtil.isRightKey(event) || (KeyUtil.isUpKey(event) && !coolDown) || (KeyUtil.isDownKey(event) && !coolDown);
}
@Override
@ -69,6 +69,8 @@ public class CustomTitleView extends AppCompatTextView {
listener.setSite(getSite(false));
} else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isUpKey(event)) {
onKeyUp();
} else if (event.getAction() == KeyEvent.ACTION_DOWN && KeyUtil.isDownKey(event)) {
onKeyDown();
}
return true;
}
@ -79,6 +81,12 @@ public class CustomTitleView extends AppCompatTextView {
coolDown = true;
}
private void onKeyDown() {
App.post(() -> coolDown = false, 3000);
listener.onSettingVodHistory();
coolDown = true;
}
private Site getSite(boolean next) {
List<Site> items = VodConfig.get().getSites();
int position = VodConfig.getHomeIndex();
@ -92,5 +100,7 @@ public class CustomTitleView extends AppCompatTextView {
void showDialog();
void onRefresh();
void onSettingVodHistory();
}
}

@ -41,6 +41,7 @@ public class HistoryDialog implements ConfigAdapter.OnClickListener {
public void show() {
setRecyclerView();
setDialog();
binding.recycler.requestFocus();
}
private void setRecyclerView() {

@ -10,7 +10,7 @@
</item>
<item>
<shape android:shape="oval">
<solid android:color="@color/black_20"/>
<solid android:color="@color/transparent"/>
</shape>
</item>
</selector>
Loading…
Cancel
Save