Commit 6cd0c10e authored by feihuaduo's avatar feihuaduo

修复加载先行卡崩溃的问题

调整决斗助手模块
parent 003c47c8
......@@ -198,7 +198,7 @@
<!-- 为防止Service被系统回收,可以尝试通过提高服务的优先级解决,1000是最高优先级,数字越小,优先级越低 -->
<!--android:priority="1000"-->
<service
android:name="cn.garymb.ygomobile.ui.plus.DuelAssistantService"
android:name="com.ourygo.assistant.service.DuelAssistantService"
android:priority="1000" />
<!-- 如果已经安装过原版YGOMobile,请注释掉或修改成其他,否则会导致无法安装 -->
......
......@@ -5,6 +5,7 @@ import android.content.DialogInterface;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
......@@ -47,7 +48,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
private static final int TYPE_DOWNLOAD_CARD_IMAGE_ING = 2;
private static final String TAG = "CardDetail";
private final CardManager cardManager;
private static CardManager cardManager;
private ImageView cardImage;
private TextView name;
private TextView desc;
......@@ -140,9 +141,12 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
attrView = bind(R.id.card_attribute);
lb_setcode = bind(R.id.label_setcode);
cardManager = new CardManager(AppsSettings.get().getDataBaseFile().getAbsolutePath(), null);
//加载数据库中所有卡片卡片
cardManager.loadCards();
if (cardManager == null) {
Log.e("CardDetail","加载卡片信息");
cardManager = new CardManager(AppsSettings.get().getDataBaseFile().getAbsolutePath(), null);
//加载数据库中所有卡片卡片
cardManager.loadCards();
}
close.setOnClickListener((v) -> {
if (mListener != null) {
mListener.onClose();
......
......@@ -32,7 +32,7 @@ import cn.garymb.ygomobile.ui.adapters.CardListAdapter;
import cn.garymb.ygomobile.ui.home.HomeActivity;
import cn.garymb.ygomobile.ui.plus.AOnGestureListener;
import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.ui.plus.DuelAssistantService;
import com.ourygo.assistant.service.DuelAssistantService;
import cn.garymb.ygomobile.ui.plus.VUiKit;
import ocgcore.DataManager;
import ocgcore.LimitManager;
......
......@@ -69,7 +69,7 @@ import cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil;
import cn.garymb.ygomobile.ui.plus.AOnGestureListener;
import cn.garymb.ygomobile.ui.plus.DefaultOnBoomListener;
import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.ui.plus.DuelAssistantService;
import com.ourygo.assistant.service.DuelAssistantService;
import cn.garymb.ygomobile.ui.plus.VUiKit;
import cn.garymb.ygomobile.utils.BitmapUtil;
import cn.garymb.ygomobile.utils.FileUtils;
......
......@@ -37,7 +37,7 @@ import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.home.MainActivity;
import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.ui.plus.DuelAssistantService;
import com.ourygo.assistant.service.DuelAssistantService;
import cn.garymb.ygomobile.ui.plus.VUiKit;
import cn.garymb.ygomobile.ui.preference.PreferenceFragmentPlus;
import cn.garymb.ygomobile.utils.FileUtils;
......
......@@ -15,7 +15,8 @@ import androidx.core.content.ContextCompat;
import cn.garymb.ygomobile.App;
import cn.garymb.ygomobile.AppsSettings;
import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.ui.plus.DuelAssistantService;
import com.ourygo.assistant.service.DuelAssistantService;
import com.ourygo.assistant.util.Util;
public class YGOUtil {
......@@ -63,16 +64,8 @@ public class YGOUtil {
}
public static void startDuelService(Context context) {
if (AppsSettings.get().isServiceDuelAssistant() && Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
DialogPlus dialogPlus = PermissionUtil.isNotificationPermission(context);
if (dialogPlus == null)
context.startForegroundService(new Intent(context, DuelAssistantService.class));
else
dialogPlus.show();
} else {
context.startService(new Intent(context, DuelAssistantService.class));
}
if (AppsSettings.get().isServiceDuelAssistant()) {
Util.startDuelService(context);
}
}
......
package cn.garymb.ygomobile.ui.plus;
package com.ourygo.assistant.service;
import android.annotation.SuppressLint;
import android.app.Notification;
......@@ -44,6 +44,7 @@ import cn.garymb.ygomobile.ui.cards.DeckManagerActivity;
import cn.garymb.ygomobile.ui.cards.deck.DeckUtils;
import cn.garymb.ygomobile.ui.home.MainActivity;
import cn.garymb.ygomobile.ui.home.ServerListManager;
import cn.garymb.ygomobile.ui.plus.VUiKit;
import cn.garymb.ygomobile.utils.PermissionUtil;
import static cn.garymb.ygomobile.Constants.ASSET_SERVER_LIST;
......
package com.ourygo.assistant.util;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import com.ourygo.assistant.service.DuelAssistantService;
import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.utils.PermissionUtil;
public class Util {
public static void startDuelService(Context context) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
DialogPlus dialogPlus = PermissionUtil.isNotificationPermission(context);
if (dialogPlus == null)
context.startForegroundService(new Intent(context, DuelAssistantService.class));
else
dialogPlus.show();
} else {
context.startService(new Intent(context, DuelAssistantService.class));
}
}
}
}
......@@ -2,6 +2,7 @@ package ocgcore;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
......@@ -125,6 +126,8 @@ public class CardManager {
cardDataHashMap.clear();
int count = readAllCards(AppsSettings.get().getDataBaseFile(), cardDataHashMap);
Log.i("Irrlicht", "load defualt cdb:" + count);
if (TextUtils.isEmpty(exDbPath))
return;
if (AppsSettings.get().isReadExpansions()) {
File dir = new File(exDbPath);
if (dir.exists()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment