修复部分严重性Bug
This commit is contained in:
@@ -63,9 +63,14 @@ public class PhotoAdapter extends RecyclerView.Adapter<PhotoAdapter.PhotoViewHol
|
|||||||
int num = nums.get(position);
|
int num = nums.get(position);
|
||||||
String fileName = "image_" + album.getAlbum_id() + "_" + position + ".jpg";
|
String fileName = "image_" + album.getAlbum_id() + "_" + position + ".jpg";
|
||||||
File cacheFile = FileUtils.getCacheDir(context, fileName);
|
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());
|
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);
|
Log.d("HHHHHHHHHH", "Loading cached image at position: " + position);
|
||||||
// 加载缓存的图片并压缩到屏幕大小
|
// 加载缓存的图片并压缩到屏幕大小
|
||||||
Glide.with(context)
|
Glide.with(context)
|
||||||
|
|||||||
@@ -55,6 +55,13 @@ public class PixivAdapter extends RecyclerView.Adapter<PixivAdapter.ViewHolder>
|
|||||||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||||
IllustData data = dataList.get(position);
|
IllustData data = dataList.get(position);
|
||||||
holder.title.setText(data.getTitle());
|
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
|
// Load image using a library like Glide or Picasso
|
||||||
if (data.getUrl().startsWith("JM:")) {
|
if (data.getUrl().startsWith("JM:")) {
|
||||||
holder.title.setText("[" + data.getId() + "] " +data.getTitle());
|
holder.title.setText("[" + data.getId() + "] " +data.getTitle());
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
|
|||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||||
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import org.astral.findmaimaiultra.R;
|
import org.astral.findmaimaiultra.R;
|
||||||
import org.astral.findmaimaiultra.adapter.PhotoAdapter;
|
import org.astral.findmaimaiultra.adapter.PhotoAdapter;
|
||||||
@@ -36,11 +37,12 @@ public class JMActivity extends AppCompatActivity {
|
|||||||
initRecyclerView();
|
initRecyclerView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint({"ClickableViewAccessibility", "SetTextI18n"})
|
@SuppressLint({"ClickableViewAccessibility", "SetTextI18n", "ResourceType"})
|
||||||
private void initRecyclerView() {
|
private void initRecyclerView() {
|
||||||
Intent intent = getIntent();
|
Intent intent = getIntent();
|
||||||
String res = intent.getStringExtra("album");
|
String res = intent.getStringExtra("album");
|
||||||
Album a = new Gson().fromJson(res, Album.class);
|
Album a = new Gson().fromJson(res, Album.class);
|
||||||
|
Toast.makeText(this,"加载中", Toast.LENGTH_SHORT).show();
|
||||||
RecyclerView recyclerView = findViewById(R.id.recyclerView);
|
RecyclerView recyclerView = findViewById(R.id.recyclerView);
|
||||||
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
recyclerView.setLayoutManager(new LinearLayoutManager(this));
|
||||||
photoAdapter = new PhotoAdapter(this, a.getImage_urls(), a.getNums(), a);
|
photoAdapter = new PhotoAdapter(this, a.getImage_urls(), a.getNums(), a);
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@@ -486,23 +487,25 @@ public class PixivFragment extends Fragment {
|
|||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void openJM(IllustData illustData,Snackbar snackbar) {
|
private void openJM(IllustData illustData, Snackbar snackbar) {
|
||||||
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(requireContext());
|
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(requireContext());
|
||||||
builder.setTitle(illustData.getTitle());
|
builder.setTitle(illustData.getTitle());
|
||||||
//snackbar长显示
|
//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 = Snackbar.make(requireView(), "正在加载", Snackbar.LENGTH_INDEFINITE);
|
||||||
|
}
|
||||||
snackbar.show();
|
snackbar.show();
|
||||||
OkHttpClient httpClient = new OkHttpClient();
|
OkHttpClient httpClient = createOkHttpClient(); // 使用 createOkHttpClient 方法创建 OkHttpClient
|
||||||
//配置超时
|
|
||||||
httpClient.newBuilder().connectTimeout(120, TimeUnit.SECONDS);
|
|
||||||
httpClient.newBuilder().readTimeout(120, TimeUnit.SECONDS);
|
|
||||||
httpClient.newBuilder().writeTimeout(120, TimeUnit.SECONDS);
|
|
||||||
|
|
||||||
Request request = new Request.Builder()
|
Request request = new Request.Builder()
|
||||||
.url("http://jm.godserver.cn:35621/album/" + illustData.getId() + "/")
|
.url("http://jm.godserver.cn:35621/album/" + illustData.getId() + "/")
|
||||||
.build();
|
.build();
|
||||||
Log.d("MainLaunch", "http://jm.godserver.cn:35621/album/" + illustData.getId() + "/");
|
Log.d("MainLaunch", "http://jm.godserver.cn:35621/album/" + illustData.getId() + "/");
|
||||||
//配置超时
|
|
||||||
|
|
||||||
Snackbar finalSnackbar = snackbar;
|
Snackbar finalSnackbar = snackbar;
|
||||||
httpClient.newCall(request).enqueue(new Callback() {
|
httpClient.newCall(request).enqueue(new Callback() {
|
||||||
@@ -515,12 +518,18 @@ public class PixivFragment extends Fragment {
|
|||||||
finalSnackbar.dismiss();
|
finalSnackbar.dismiss();
|
||||||
Album a = new Gson().fromJson(res, Album.class);
|
Album a = new Gson().fromJson(res, Album.class);
|
||||||
openJMProject(a);
|
openJMProject(a);
|
||||||
|
} else {
|
||||||
|
Log.d("PixivFragment", "onResponse: 请求失败,状态码: " + response.code());
|
||||||
|
handler.post(() -> {
|
||||||
|
Toast.makeText(requireContext(), "请求失败: " + response.code(), Toast.LENGTH_SHORT).show();
|
||||||
|
finalSnackbar.dismiss();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFailure(@NotNull Call call, @NotNull IOException e) {
|
public void onFailure(@NotNull Call call, @NotNull IOException e) {
|
||||||
handler.post(()->{
|
handler.post(() -> {
|
||||||
Toast.makeText(requireContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
|
Toast.makeText(requireContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
|
||||||
finalSnackbar.dismiss();
|
finalSnackbar.dismiss();
|
||||||
});
|
});
|
||||||
@@ -528,6 +537,7 @@ public class PixivFragment extends Fragment {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private Bitmap decodeImage(Bitmap imgSrc, int num) {
|
private Bitmap decodeImage(Bitmap imgSrc, int num) {
|
||||||
if (num == 0) {
|
if (num == 0) {
|
||||||
return imgSrc;
|
return imgSrc;
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
<string name="nav_header_title">FindMaimaiDX</string>
|
<string name="nav_header_title">FindMaimaiDX</string>
|
||||||
<string name="nav_header_subtitle">Reisa</string>
|
<string name="nav_header_subtitle">Reisa</string>
|
||||||
<string name="action_settings">设置</string>
|
<string name="action_settings">设置</string>
|
||||||
<string name="menu_pixiv">Image</string>
|
<string name="menu_pixiv">Engine</string>
|
||||||
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
Reference in New Issue
Block a user