Commit 6cd0c10e authored by feihuaduo's avatar feihuaduo

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

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