Fix some bug

pull/123/head
FongMi 3 years ago
parent d62c520667
commit 939b04c0f3
  1. 15
      app/src/main/java/com/fongmi/android/tv/api/ApiConfig.java
  2. 18
      app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java
  3. 2
      app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java
  4. 4
      app/src/main/java/com/fongmi/android/tv/utils/FileUtil.java
  5. 2
      app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java
  6. 9
      app/src/main/java/com/fongmi/android/tv/utils/Utils.java

@ -88,21 +88,22 @@ public class ApiConfig {
}).start();
}
private void loadCache(String url, Callback callback) {
String json = Config.find(url).getJson();
if (!TextUtils.isEmpty(json)) parseConfig(JsonParser.parseString(json).getAsJsonObject(), callback);
else handler.post(() -> callback.error(R.string.error_config_get));
}
private void loadConfig(String url, Callback callback) {
try {
parseConfig(new Gson().fromJson(Decoder.getJson(url), JsonObject.class), callback);
} catch (Exception e) {
if (url.isEmpty()) handler.post(() -> callback.error(0));
else loadCache(url, callback);
e.printStackTrace();
loadCache(url, callback);
}
}
private void loadCache(String url, Callback callback) {
String json = Config.find(url).getJson();
if (!TextUtils.isEmpty(json)) parseConfig(JsonParser.parseString(json).getAsJsonObject(), callback);
else handler.post(() -> callback.error(R.string.error_config_get));
}
private void parseConfig(JsonObject object, Callback callback) {
try {
parseJson(object);

@ -2,12 +2,9 @@ package com.fongmi.android.tv.db;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import androidx.room.migration.Migration;
import androidx.sqlite.db.SupportSQLiteDatabase;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.bean.Config;
@ -33,7 +30,7 @@ public abstract class AppDatabase extends RoomDatabase {
}
private static AppDatabase create(Context context) {
return Room.databaseBuilder(context, AppDatabase.class, "tv").addMigrations(MIGRATION_8_9).addMigrations(MIGRATION_9_11).allowMainThreadQueries().fallbackToDestructiveMigration().build();
return Room.databaseBuilder(context, AppDatabase.class, "tv").allowMainThreadQueries().fallbackToDestructiveMigration().build();
}
public abstract KeepDao getKeepDao();
@ -43,17 +40,4 @@ public abstract class AppDatabase extends RoomDatabase {
public abstract ConfigDao getConfigDao();
public abstract HistoryDao getHistoryDao();
static final Migration MIGRATION_8_9 = new Migration(8, 9) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
database.execSQL("CREATE TABLE IF NOT EXISTS `Keep` (`key` TEXT NOT NULL, `siteName` TEXT, `vodName` TEXT, `vodPic` TEXT, `createTime` INTEGER NOT NULL, `cid` INTEGER NOT NULL, PRIMARY KEY(`key`))");
}
};
static final Migration MIGRATION_9_11 = new Migration(9, 11) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
}
};
}

@ -114,7 +114,7 @@ public class CustomWebView extends WebView {
handler.removeCallbacks(mTimer);
handler.post(() -> {
if (callback != null) callback.onParseSuccess(news, url, "");
SpiderDebug.log(url);
SpiderDebug.log(url + "," + headers);
stop(false);
});
}

@ -70,9 +70,9 @@ public class FileUtil {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(getLocal(path))));
StringBuilder sb = new StringBuilder();
String text;
while ((text = br.readLine()) != null) sb.append(text);
while ((text = br.readLine()) != null) sb.append(text).append("\n");
br.close();
return sb.toString();
return Utils.substring(sb.toString());
} catch (Exception e) {
return "";
}

@ -8,8 +8,6 @@ public class Sniffer {
"http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)\\?.*|" +
"http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)|" +
"http((?!http).)*?xg.php\\?id=|" +
"http((?!http).)*?cdn-tos|" +
"http((?!http).)*?obj/tos|" +
"http((?!http).)*?video/tos*"
);
}

@ -101,6 +101,15 @@ public class Utils {
return Base64.encodeToString(ext.getBytes(), Base64.DEFAULT | Base64.NO_WRAP);
}
public static String substring(String text) {
return substring(text, 1);
}
public static String substring(String text, int num) {
if (text != null && text.length() > num) return text.substring(0, text.length() - num);
return text;
}
public static int getDigit(String text) {
try {
if (text.startsWith("上") || text.startsWith("下")) return -1;

Loading…
Cancel
Save