Fix config delete

pull/123/head
FongMi 4 years ago
parent bff349bf24
commit d2a1e5bd6b
  1. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/adapter/ConfigAdapter.java
  2. 9
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/dialog/ConfigDialog.java
  3. 2
      app/src/leanback/res/layout/activity_live.xml
  4. 16
      app/src/main/java/com/fongmi/android/tv/bean/Config.java
  5. 3
      app/src/main/java/com/fongmi/android/tv/db/dao/ConfigDao.java

@ -6,6 +6,8 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.fongmi.android.tv.api.ApiConfig;
import com.fongmi.android.tv.api.LiveConfig;
import com.fongmi.android.tv.bean.Config;
import com.fongmi.android.tv.databinding.AdapterConfigBinding;
@ -28,7 +30,8 @@ public class ConfigAdapter extends RecyclerView.Adapter<ConfigAdapter.ViewHolder
}
public ConfigAdapter addAll(int type) {
this.mItems = Config.getAll(type);
mItems = Config.getAll(type);
mItems.remove(type == 0 ? ApiConfig.get().getConfig() : LiveConfig.get().getConfig());
return this;
}

@ -31,6 +31,7 @@ public class ConfigDialog implements DialogInterface.OnDismissListener {
private final DialogConfigBinding binding;
private final ConfigCallback callback;
private final AlertDialog dialog;
private String url;
private int type;
public static ConfigDialog create(Activity activity) {
@ -65,7 +66,7 @@ public class ConfigDialog implements DialogInterface.OnDismissListener {
private void initView() {
String address = Server.get().getAddress(false);
String url = type == 0 ? ApiConfig.getUrl() : LiveConfig.getUrl();
url = type == 0 ? ApiConfig.getUrl() : LiveConfig.getUrl();
binding.text.setText(url);
binding.text.setSelection(url.length());
binding.code.setImageBitmap(QRCode.getBitmap(address, 200, 0));
@ -83,9 +84,9 @@ public class ConfigDialog implements DialogInterface.OnDismissListener {
}
private void onPositive(View view) {
String url = binding.text.getText().toString().trim();
Config item = Config.find(Utils.checkClan(url), type);
if (url.isEmpty()) Config.delete(type);
String text = binding.text.getText().toString().trim();
Config item = Config.find(Utils.checkClan(text), type);
if (text.isEmpty()) Config.delete(url);
callback.setConfig(item);
dialog.dismiss();
}

@ -73,7 +73,7 @@
<androidx.leanback.widget.VerticalGridView
android:id="@+id/channel"
android:layout_width="240dp"
android:layout_width="260dp"
android:layout_height="match_parent"
tools:itemCount="5"
tools:listitem="@layout/adapter_channel" />

@ -102,13 +102,11 @@ public class Config {
}
public static List<Config> getAll(int type) {
List<Config> items = AppDatabase.get().getConfigDao().findByType(type);
if (items.size() > 0) items.remove(0);
return items;
return AppDatabase.get().getConfigDao().findByType(type);
}
public static void delete(int type) {
if (getAll(type).size() == 0) AppDatabase.get().getConfigDao().delete(type);
public static void delete(String url) {
AppDatabase.get().getConfigDao().delete(url);
}
public static Config vod() {
@ -145,4 +143,12 @@ public class Config {
History.delete(getId());
Keep.delete(getId());
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (!(obj instanceof Config)) return false;
Config it = (Config) obj;
return getId() == it.getId();
}
}

@ -24,7 +24,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);
}

Loading…
Cancel
Save