Merge branch 'dev' into release

okjack
FongMi 2 years ago
commit f9226b8fd1
  1. 2
      app/src/main/java/com/fongmi/android/tv/bean/Config.java
  2. 2
      app/src/main/java/com/fongmi/android/tv/player/Source.java
  3. 2
      app/src/main/java/com/fongmi/android/tv/server/Nano.java
  4. 17
      app/src/main/java/com/fongmi/android/tv/server/process/Cache.java
  5. 12
      quickjs/src/main/java/com/fongmi/quickjs/method/Local.java

@ -8,6 +8,7 @@ import androidx.room.PrimaryKey;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.db.AppDatabase;
import com.github.catvod.utils.Prefers;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;
@ -222,6 +223,7 @@ public class Config {
public Config update() {
if (isEmpty()) return this;
setTime(System.currentTimeMillis());
Prefers.put("config_" + getType(), getUrl());
AppDatabase.get().getConfigDao().update(this);
return this;
}

@ -34,9 +34,9 @@ public class Source {
extractors.add(new Force());
extractors.add(new JianPian());
extractors.add(new Push());
extractors.add(new Video());
extractors.add(new Thunder());
extractors.add(new TVBus());
extractors.add(new Video());
extractors.add(new Youtube());
extractors.add(new ZLive());
}

@ -6,6 +6,7 @@ import com.fongmi.android.tv.api.ApiConfig;
import com.fongmi.android.tv.api.LiveConfig;
import com.fongmi.android.tv.bean.Device;
import com.fongmi.android.tv.server.process.Action;
import com.fongmi.android.tv.server.process.Cache;
import com.fongmi.android.tv.server.process.Local;
import com.fongmi.android.tv.server.process.Process;
import com.fongmi.android.tv.utils.M3U8;
@ -37,6 +38,7 @@ public class Nano extends NanoHTTPD {
private void addProcess() {
process = new ArrayList<>();
process.add(new Action());
process.add(new Cache());
process.add(new Local());
}

@ -1,5 +1,7 @@
package com.fongmi.android.tv.server.process;
import android.text.TextUtils;
import com.fongmi.android.tv.server.Nano;
import com.github.catvod.utils.Prefers;
@ -15,18 +17,23 @@ public class Cache implements Process {
return path.equals("/cache");
}
private String getKey(String rule, String key) {
return "cache_" + (TextUtils.isEmpty(rule) ? "" : rule + "_") + key;
}
@Override
public NanoHTTPD.Response doResponse(NanoHTTPD.IHTTPSession session, String path, Map<String, String> files) {
Map<String, String> params = session.getParms();
String rule = params.get("rule");
String key = params.get("key");
switch (Objects.requireNonNullElse(params.get("do"), "")) {
case "get":
Prefers.getString("cache_" + params.get("key"));
return Nano.success();
return Nano.success(getKey(rule, key));
case "set":
Prefers.put("cache_" + params.get("key"), params.get("value"));
Prefers.put(getKey(rule, key), params.get("value"));
return Nano.success();
case "delete":
Prefers.remove("cache_" + params.get("key"));
case "del":
Prefers.remove(getKey(rule, key));
return Nano.success();
default:
return Nano.error(null);

@ -1,5 +1,7 @@
package com.fongmi.quickjs.method;
import android.text.TextUtils;
import androidx.annotation.Keep;
import com.github.catvod.utils.Prefers;
@ -7,21 +9,25 @@ import com.whl.quickjs.wrapper.JSMethod;
public class Local {
private String getKey(String rule, String key) {
return "cache_" + (TextUtils.isEmpty(rule) ? "" : rule + "_") + key;
}
@Keep
@JSMethod
public String get(String rule, String key) {
return Prefers.getString(rule + "_" + key);
return Prefers.getString(getKey(rule, key));
}
@Keep
@JSMethod
public void set(String rule, String key, String value) {
Prefers.put(rule + "_" + key, value);
Prefers.put(getKey(rule, key), value);
}
@Keep
@JSMethod
public void delete(String rule, String key) {
Prefers.remove(rule + "_" + key);
Prefers.remove(getKey(rule, key));
}
}

Loading…
Cancel
Save