修复部分严重性Bug

This commit is contained in:
2025-04-15 22:08:48 +08:00
parent dd1359c293
commit ec8b2cab60
5 changed files with 36 additions and 12 deletions

View File

@@ -63,9 +63,14 @@ public class PhotoAdapter extends RecyclerView.Adapter<PhotoAdapter.PhotoViewHol
int num = nums.get(position);
String fileName = "image_" + album.getAlbum_id() + "_" + position + ".jpg";
File cacheFile = FileUtils.getCacheDir(context, fileName);
// 清除之前的图片和状态
holder.imageView.setImageBitmap(null);
holder.imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
holder.imageView.setOnLongClickListener(null);
Log.d("HHHHHHHHHH", "Loading image at position: " + loading.toString());
if (cacheFile.exists() && (!loading.contains(position))) {
if (cacheFile.exists()) {
Log.d("HHHHHHHHHH", "Loading cached image at position: " + position);
// 加载缓存的图片并压缩到屏幕大小
Glide.with(context)

View File

@@ -55,6 +55,13 @@ public class PixivAdapter extends RecyclerView.Adapter<PixivAdapter.ViewHolder>
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
IllustData data = dataList.get(position);
holder.title.setText(data.getTitle());
// 清除之前的图片和状态
holder.backgroundLayout.setImageBitmap(null);
holder.backgroundLayout.setScaleType(ImageView.ScaleType.CENTER_CROP);
holder.backgroundLayout.setOnLongClickListener(null);
// Load image using a library like Glide or Picasso
if (data.getUrl().startsWith("JM:")) {
holder.title.setText("[" + data.getId() + "] " +data.getTitle());

View File

@@ -16,6 +16,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.snackbar.Snackbar;
import com.google.gson.Gson;
import org.astral.findmaimaiultra.R;
import org.astral.findmaimaiultra.adapter.PhotoAdapter;
@@ -36,11 +37,12 @@ public class JMActivity extends AppCompatActivity {
initRecyclerView();
}
@SuppressLint({"ClickableViewAccessibility", "SetTextI18n"})
@SuppressLint({"ClickableViewAccessibility", "SetTextI18n", "ResourceType"})
private void initRecyclerView() {
Intent intent = getIntent();
String res = intent.getStringExtra("album");
Album a = new Gson().fromJson(res, Album.class);
Toast.makeText(this,"加载中", Toast.LENGTH_SHORT).show();
RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
photoAdapter = new PhotoAdapter(this, a.getImage_urls(), a.getNums(), a);

View File

@@ -54,6 +54,7 @@ import org.jetbrains.annotations.NotNull;
import java.io.*;
import java.lang.reflect.Type;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
@@ -490,19 +491,21 @@ public class PixivFragment extends Fragment {
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(requireContext());
builder.setTitle(illustData.getTitle());
//snackbar长显示
Date date = new Date();
//如果超过9点
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH");
if (Integer.parseInt(simpleDateFormat.format(date))>=21) {
snackbar = Snackbar.make(requireView(), "正在加载(夜晚时间段服务器压力较大)", Snackbar.LENGTH_INDEFINITE);
} else {
snackbar = Snackbar.make(requireView(), "正在加载", Snackbar.LENGTH_INDEFINITE);
}
snackbar.show();
OkHttpClient httpClient = new OkHttpClient();
//配置超时
httpClient.newBuilder().connectTimeout(120, TimeUnit.SECONDS);
httpClient.newBuilder().readTimeout(120, TimeUnit.SECONDS);
httpClient.newBuilder().writeTimeout(120, TimeUnit.SECONDS);
OkHttpClient httpClient = createOkHttpClient(); // 使用 createOkHttpClient 方法创建 OkHttpClient
Request request = new Request.Builder()
.url("http://jm.godserver.cn:35621/album/" + illustData.getId() + "/")
.build();
Log.d("MainLaunch", "http://jm.godserver.cn:35621/album/" + illustData.getId() + "/");
//配置超时
Snackbar finalSnackbar = snackbar;
httpClient.newCall(request).enqueue(new Callback() {
@@ -515,6 +518,12 @@ public class PixivFragment extends Fragment {
finalSnackbar.dismiss();
Album a = new Gson().fromJson(res, Album.class);
openJMProject(a);
} else {
Log.d("PixivFragment", "onResponse: 请求失败,状态码: " + response.code());
handler.post(() -> {
Toast.makeText(requireContext(), "请求失败: " + response.code(), Toast.LENGTH_SHORT).show();
finalSnackbar.dismiss();
});
}
}
@@ -528,6 +537,7 @@ public class PixivFragment extends Fragment {
}
});
}
private Bitmap decodeImage(Bitmap imgSrc, int num) {
if (num == 0) {
return imgSrc;

View File

@@ -39,7 +39,7 @@
<string name="nav_header_title">FindMaimaiDX</string>
<string name="nav_header_subtitle">Reisa</string>
<string name="action_settings">设置</string>
<string name="menu_pixiv">Image</string>
<string name="menu_pixiv">Engine</string>
</resources>