Add wall history

pull/605/head
jhengazuki 6 months ago
parent 8c5ac6b449
commit 7c5b2894ad
  1. 18
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  2. 11
      app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java
  3. 10
      app/src/main/java/com/fongmi/android/tv/bean/Config.java
  4. 3
      app/src/main/java/com/fongmi/android/tv/db/dao/ConfigDao.java
  5. 17
      app/src/mobile/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java
  6. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/HistoryDialog.java
  7. 12
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingFragment.java

@ -104,8 +104,10 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
@Override
protected void initEvent() {
mBinding.vod.setOnClickListener(this::onVod);
mBinding.doh.setOnClickListener(this::setDoh);
mBinding.live.setOnClickListener(this::onLive);
mBinding.wall.setOnClickListener(this::onWall);
mBinding.size.setOnClickListener(this::setSize);
mBinding.cache.setOnClickListener(this::onCache);
mBinding.backup.setOnClickListener(this::onBackup);
mBinding.player.setOnClickListener(this::onPlayer);
@ -116,14 +118,13 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
mBinding.live.setOnLongClickListener(this::onLiveEdit);
mBinding.liveHome.setOnClickListener(this::onLiveHome);
mBinding.wall.setOnLongClickListener(this::onWallEdit);
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.vodHistory.setOnClickListener(this::onVodHistory);
mBinding.version.setOnLongClickListener(this::onVersionDev);
mBinding.liveHistory.setOnClickListener(this::onLiveHistory);
mBinding.wallDefault.setOnClickListener(this::setWallDefault);
mBinding.wallRefresh.setOnClickListener(this::setWallRefresh);
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.size.setOnClickListener(this::setSize);
mBinding.doh.setOnClickListener(this::setDoh);
mBinding.wallRefresh.setOnLongClickListener(this::onWallHistory);
}
@Override
@ -279,9 +280,20 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
Notify.dismiss();
setCacheText();
}
@Override
public void error(String msg) {
Notify.dismiss();
Notify.show(msg);
}
});
}
private boolean onWallHistory(View view) {
HistoryDialog.create(this).type(type = 2).show();
return true;
}
private void setIncognito(View view) {
Setting.putIncognito(!Setting.isIncognito());
mBinding.incognitoText.setText(getSwitch(Setting.isIncognito()));

@ -8,6 +8,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.fongmi.android.tv.api.config.LiveConfig;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.api.config.WallConfig;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.databinding.AdapterConfigBinding;
@ -31,10 +32,18 @@ public class ConfigAdapter extends RecyclerView.Adapter<ConfigAdapter.ViewHolder
public ConfigAdapter addAll(int type) {
mItems = Config.getAll(type);
mItems.remove(type == 0 ? VodConfig.get().getConfig() : LiveConfig.get().getConfig());
mItems.remove(getConfig(type));
return this;
}
private Config getConfig(int type) {
return switch (type) {
case 0 -> VodConfig.get().getConfig();
case 1 -> LiveConfig.get().getConfig();
default -> WallConfig.get().getConfig();
};
}
public int remove(Config item) {
int position = mItems.indexOf(item);
if (position == -1) return -1;

@ -195,13 +195,9 @@ public class Config {
}
public static void delete(String url, int type) {
if (type != 2) {
AppDatabase.get().getConfigDao().delete(url, type);
} else {
Path.clear(FileUtil.getWall(0));
Path.clear(FileUtil.getWallCache());
AppDatabase.get().getConfigDao().delete(type);
}
if (type == 2) Path.clear(FileUtil.getWall(0));
if (type == 2) Path.clear(FileUtil.getWallCache());
AppDatabase.get().getConfigDao().delete(url, type);
}
public static Config vod() {

@ -35,7 +35,4 @@ public abstract class ConfigDao extends BaseDao<Config> {
@Query("DELETE FROM Config WHERE url = :url")
public abstract void delete(String url);
@Query("DELETE FROM Config WHERE type = :type")
public abstract void delete(int type);
}

@ -8,6 +8,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.fongmi.android.tv.api.config.LiveConfig;
import com.fongmi.android.tv.api.config.VodConfig;
import com.fongmi.android.tv.api.config.WallConfig;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.databinding.AdapterConfigBinding;
@ -31,14 +32,24 @@ public class ConfigAdapter extends RecyclerView.Adapter<ConfigAdapter.ViewHolder
public ConfigAdapter addAll(int type) {
mItems = Config.getAll(type);
mItems.remove(type == 0 ? VodConfig.get().getConfig() : LiveConfig.get().getConfig());
mItems.remove(getConfig(type));
return this;
}
private Config getConfig(int type) {
return switch (type) {
case 0 -> VodConfig.get().getConfig();
case 1 -> LiveConfig.get().getConfig();
default -> WallConfig.get().getConfig();
};
}
public int remove(Config item) {
int position = mItems.indexOf(item);
if (position == -1) return -1;
item.delete();
mItems.remove(item);
notifyDataSetChanged();
mItems.remove(position);
notifyItemRemoved(position);
return getItemCount();
}

@ -42,7 +42,8 @@ public class HistoryDialog implements ConfigAdapter.OnClickListener {
}
private void setRecyclerView() {
binding.recycler.setHasFixedSize(true);
binding.recycler.setItemAnimator(null);
binding.recycler.setHasFixedSize(false);
binding.recycler.setAdapter(adapter.addAll(type));
binding.recycler.addItemDecoration(new SpaceItemDecoration(1, 8));
binding.recycler.post(() -> binding.recycler.scrollToPosition(0));

@ -111,8 +111,10 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
@Override
protected void initEvent() {
mBinding.vod.setOnClickListener(this::onVod);
mBinding.doh.setOnClickListener(this::setDoh);
mBinding.live.setOnClickListener(this::onLive);
mBinding.wall.setOnClickListener(this::onWall);
mBinding.size.setOnClickListener(this::setSize);
mBinding.cache.setOnClickListener(this::onCache);
mBinding.backup.setOnClickListener(this::onBackup);
mBinding.player.setOnClickListener(this::onPlayer);
@ -123,14 +125,13 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
mBinding.live.setOnLongClickListener(this::onLiveEdit);
mBinding.liveHome.setOnClickListener(this::onLiveHome);
mBinding.wall.setOnLongClickListener(this::onWallEdit);
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.vodHistory.setOnClickListener(this::onVodHistory);
mBinding.version.setOnLongClickListener(this::onVersionDev);
mBinding.liveHistory.setOnClickListener(this::onLiveHistory);
mBinding.wallDefault.setOnClickListener(this::setWallDefault);
mBinding.wallRefresh.setOnClickListener(this::setWallRefresh);
mBinding.incognito.setOnClickListener(this::setIncognito);
mBinding.size.setOnClickListener(this::setSize);
mBinding.doh.setOnClickListener(this::setDoh);
mBinding.wallRefresh.setOnLongClickListener(this::onWallHistory);
}
@Override
@ -295,6 +296,11 @@ public class SettingFragment extends BaseFragment implements ConfigCallback, Sit
});
}
private boolean onWallHistory(View view) {
HistoryDialog.create(this).type(type = 2).show();
return true;
}
private void setIncognito(View view) {
Setting.putIncognito(!Setting.isIncognito());
mBinding.incognitoText.setText(getSwitch(Setting.isIncognito()));

Loading…
Cancel
Save