Commit 44ce1006 authored by feihuaduo's avatar feihuaduo

修复卡组保存后卡组码无法刷新的问题

dialogUtils使用云端1.8.9.20
gradle版本升级至7.2.0
parent fe4863cf
...@@ -10,7 +10,7 @@ buildscript { ...@@ -10,7 +10,7 @@ buildscript {
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.1.2' classpath 'com.android.tools.build:gradle:7.2.0'
classpath 'com.android.tools.build:gradle-experimental:0.11.1' classpath 'com.android.tools.build:gradle-experimental:0.11.1'
//classpath 'me.tatarka:gradle-retrolambda:3.2.5' //classpath 'me.tatarka:gradle-retrolambda:3.2.5'
} }
......
...@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME ...@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
...@@ -115,7 +115,7 @@ dependencies { ...@@ -115,7 +115,7 @@ dependencies {
implementation 'com.nightonke:boommenu:2.1.0' implementation 'com.nightonke:boommenu:2.1.0'
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
//dialog库 //dialog库
implementation(name: 'dialogutils2-release', ext: 'aar') implementation 'com.github.feihuaduo:DialogUtils:1.8.9.20'
//recyclerview的adapter库 //recyclerview的adapter库
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4' implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'
implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.appcompat:appcompat:1.2.0'
......
package cn.garymb.ygomobile.adapter;
import android.content.Context;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.core.content.ContextCompat;
import cn.garymb.ygomobile.lite.R;
/**
* Create By feihua On 2022/5/18
*/
public class TextBaseAdapter extends BaseAdapter {
private Context context;
private String[] data;
private int leftPadding;
private int rightPadding;
private int topPadding;
private int bottomPadding;
private int textColor = 0;
public TextBaseAdapter(Context context, String[] data, int textColor, int leftPadding, int topPadding, int rightPadding, int bottomPadding) {
this.context = context;
this.data = data;
this.textColor = textColor;
this.leftPadding = leftPadding;
this.rightPadding = rightPadding;
this.topPadding = topPadding;
this.bottomPadding = bottomPadding;
}
@Override
public int getCount() {
return data.length;//设置此数据适配起有几个item
}
@Override
public Object getItem(int p1)//未知,好像无用
{
return data[p1];
}
@Override
public long getItemId(int p1)//未知,好像无用
{
return p1;
}
@Override
public View getView(int p1, View p2, ViewGroup p3) {
AppCompatTextView t = new AppCompatTextView(context);
if (textColor == 0)
t.setTextColor(ContextCompat.getColor(context, R.color.colorAccent));
else
t.setTextColor(textColor);
t.setText(data[p1]);//p1为对应的数组下标
t.setTextSize(20);
t.setGravity(Gravity.CENTER);
t.setPadding(leftPadding, topPadding, rightPadding, bottomPadding);
t.setLayoutParams(new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT, AbsListView.LayoutParams.MATCH_PARENT));
return t;//返回设置好的view组件,也可以是布局,也可以是控件
}
}
...@@ -134,7 +134,7 @@ public class CardLoader implements ICardSearcher { ...@@ -134,7 +134,7 @@ public class CardLoader implements ICardSearcher {
if (searchInfo != null && card.Name.equals(searchInfo.getKeyWord().getValue())) { if (searchInfo != null && card.Name.equals(searchInfo.getKeyWord().getValue())) {
cards.remove(i); cards.remove(i);
keywordtmp.add(card); keywordtmp.add(card);
continue;//ظ continue;//避免重复
} }
if (searchInfo == null || searchInfo.isValid(card)) { if (searchInfo == null || searchInfo.isValid(card)) {
list.add(card); list.add(card);
......
...@@ -774,11 +774,18 @@ public class DeckManagerActivity extends BaseCardsActivity implements RecyclerVi ...@@ -774,11 +774,18 @@ public class DeckManagerActivity extends BaseCardsActivity implements RecyclerVi
// if (file != null) { // if (file != null) {
// loadDeckFromFile(file); // loadDeckFromFile(file);
// } // }
Deck deck = mDeckAdapater.toDeck(mDeckAdapater.getYdkFile());
if (deck.getDeckCount()==0){
builderShareLoading.dismiss();
YGOUtil.show("卡组中没有卡片");
return;
}
//延时半秒,使整体看起来更流畅 //延时半秒,使整体看起来更流畅
new Handler().postDelayed(this::shareDeck1, 500); new Handler().postDelayed(() -> shareDeck1(deck), 500);
} }
private void shareDeck1() { private void shareDeck1(Deck deck) {
//开启绘图缓存 //开启绘图缓存
mRecyclerView.setDrawingCacheEnabled(true); mRecyclerView.setDrawingCacheEnabled(true);
//这个方法可调可不调,因为在getDrawingCache()里会自动判断有没有缓存有没有准备好, //这个方法可调可不调,因为在getDrawingCache()里会自动判断有没有缓存有没有准备好,
...@@ -793,7 +800,7 @@ public class DeckManagerActivity extends BaseCardsActivity implements RecyclerVi ...@@ -793,7 +800,7 @@ public class DeckManagerActivity extends BaseCardsActivity implements RecyclerVi
mRecyclerView.destroyDrawingCache(); mRecyclerView.destroyDrawingCache();
// shotRecyclerView(mRecyclerView) // shotRecyclerView(mRecyclerView)
Deck deck = mDeckAdapater.toDeck(mDeckAdapater.getYdkFile());
String deckName = deck.getName(); String deckName = deck.getName();
int end = deckName.lastIndexOf("."); int end = deckName.lastIndexOf(".");
if (end != -1) { if (end != -1) {
...@@ -803,13 +810,13 @@ public class DeckManagerActivity extends BaseCardsActivity implements RecyclerVi ...@@ -803,13 +810,13 @@ public class DeckManagerActivity extends BaseCardsActivity implements RecyclerVi
BitmapUtil.saveBitmap(bitmap, savePath, 50); BitmapUtil.saveBitmap(bitmap, savePath, 50);
builderShareLoading.dismiss(); builderShareLoading.dismiss();
DialogUtils du = DialogUtils.getdx(this); DialogUtils du = DialogUtils.getdx(this);
View viewDialog = du.dialogBottomSheet(R.layout.dialog_deck_share,0); View viewDialog = du.dialogBottomSheet(R.layout.dialog_deck_share,true);
ImageView iv_image = viewDialog.findViewById(R.id.iv_image); ImageView iv_image = viewDialog.findViewById(R.id.iv_image);
Button bt_image_share = viewDialog.findViewById(R.id.bt_image_share); Button bt_image_share = viewDialog.findViewById(R.id.bt_image_share);
Button bt_code_share = viewDialog.findViewById(R.id.bt_code_share); Button bt_code_share = viewDialog.findViewById(R.id.bt_code_share);
TextView tv_code = viewDialog.findViewById(R.id.et_code); TextView tv_code = viewDialog.findViewById(R.id.et_code);
tv_code.setText(mDeckAdapater.getDeckInfo().toDeck().toAppUri().toString()); tv_code.setText(deck.toAppUri().toString());
ImageUtil.setImage(this, savePath, iv_image); ImageUtil.show(this, savePath, iv_image,System.currentTimeMillis()+"");
bt_code_share.setOnClickListener(v -> { bt_code_share.setOnClickListener(v -> {
du.dis(); du.dis();
......
...@@ -4,15 +4,24 @@ import android.content.Context; ...@@ -4,15 +4,24 @@ import android.content.Context;
import android.graphics.ColorMatrix; import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter; import android.graphics.ColorMatrixColorFilter;
import android.net.Uri; import android.net.Uri;
import android.text.TextUtils;
import android.widget.ImageView; import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.signature.ObjectKey;
import com.ourygo.assistant.util.Util;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.utils.glide.GlideCompat; import cn.garymb.ygomobile.utils.glide.GlideCompat;
public class ImageUtil { public class ImageUtil {
public static final RequestOptions imageOption = RequestOptions
.diskCacheStrategyOf(DiskCacheStrategy.DATA)
.placeholder(R.drawable.unknown);
public static void setAvatar(Context context, String url, final ImageView im) { public static void setAvatar(Context context, String url, final ImageView im) {
if (url != null) { if (url != null) {
GlideCompat.with(context) GlideCompat.with(context)
...@@ -25,13 +34,14 @@ public class ImageUtil { ...@@ -25,13 +34,14 @@ public class ImageUtil {
public static void setImage(Context context, String url, final ImageView im) { public static void setImage(Context context, String url, final ImageView im) {
if (url != null) { // if (url != null) {
GlideCompat.with(context) // GlideCompat.with(context)
.load(url) // .load(url)
.diskCacheStrategy(DiskCacheStrategy.DATA) // .diskCacheStrategy(DiskCacheStrategy.DATA)
.placeholder(R.drawable.unknown) // .placeholder(R.drawable.unknown)
.into(im); // .into(im);
} // }
show(context, url, im, null);
} }
public static void setGrayImage(int key, ImageView imageView) { public static void setGrayImage(int key, ImageView imageView) {
...@@ -41,9 +51,29 @@ public class ImageUtil { ...@@ -41,9 +51,29 @@ public class ImageUtil {
imageView.setColorFilter(filter); imageView.setColorFilter(filter);
} }
public static void reImageColor(int key,ImageView imageView) { public static void reImageColor(int key, ImageView imageView) {
imageView.setColorFilter(null); imageView.setColorFilter(null);
} }
public static void show(Context context, String uri, final ImageView im, String objectKey) {
if (!Util.isContextExisted(context))
return;
if (TextUtils.isEmpty(uri))
return;
if (TextUtils.isEmpty(objectKey)) {
setImage(context, uri, im);
Glide.with(context)
.load(uri)
.apply(imageOption)
.into(im);
} else {
Glide.with(context)
.load(uri)
.signature(new ObjectKey(objectKey))
.apply(imageOption)
.into(im);
}
}
} }
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