From 235b477fba504e9429fa50c2f079c6ca668c5ef4 Mon Sep 17 00:00:00 2001 From: Spaso1 Date: Thu, 1 May 2025 01:20:38 +0800 Subject: [PATCH] =?UTF-8?q?1.6.3=E6=AD=A3=E5=BC=8F=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 4 +- .../findmaimaiultra/adapter/PhotoAdapter.java | 44 ++------------ .../astral/findmaimaiultra/ui/JMActivity.java | 54 +++++++++++++++++- .../ui/slideshow/SlideshowFragment.java | 16 +++++- app/src/main/res/drawable/icon.png | Bin 0 -> 42309 bytes app/src/main/res/drawable/loading.png | Bin 0 -> 7226 bytes .../main/res/layout/fragment_slideshow.xml | 37 +++++++++++- app/src/main/res/layout/jm_dialog.xml | 1 - app/src/main/res/layout/nav_header_main.xml | 1 - app/src/main/res/values/colors.xml | 2 + app/src/main/res/values/dimens.xml | 4 +- 11 files changed, 115 insertions(+), 48 deletions(-) create mode 100644 app/src/main/res/drawable/icon.png create mode 100644 app/src/main/res/drawable/loading.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 76d1485..33a8b3e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -55,8 +55,8 @@ android:label="@string/app_name" android:persistent="true" android:dataExtractionRules="@xml/data_extraction_rules" - android:icon="@drawable/ic_launcher" - android:roundIcon="@drawable/ic_launcher" + android:icon="@drawable/icon" + android:roundIcon="@drawable/icon" android:supportsRtl="true" android:networkSecurityConfig="@xml/network_security_config" android:enableOnBackInvokedCallback="true" diff --git a/app/src/main/java/org/astral/findmaimaiultra/adapter/PhotoAdapter.java b/app/src/main/java/org/astral/findmaimaiultra/adapter/PhotoAdapter.java index 88d1866..b3a02b6 100644 --- a/app/src/main/java/org/astral/findmaimaiultra/adapter/PhotoAdapter.java +++ b/app/src/main/java/org/astral/findmaimaiultra/adapter/PhotoAdapter.java @@ -17,6 +17,7 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.Toast; import androidx.annotation.NonNull; +import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import com.bumptech.glide.request.target.CustomTarget; @@ -105,45 +106,12 @@ public class PhotoAdapter extends RecyclerView.Adapter() { - @Override - public void onResourceReady(@NonNull Bitmap resource, Transition transition) { - Log.d("PhotoAdapter", "Image loaded successfully at position: " + position); - if (!loading.contains(position)) { - loading.add(position); - } + } else { + ImageView imageView = holder.imageView; + imageView = new ImageView(context); + imageView.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.loading)); + imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); - Bitmap decodedBitmap = decodeImage(resource, num); - holder.imageView.setImageBitmap(decodedBitmap); - holder.imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); - - // 保存处理后的图片到缓存 - saveBitmapToCache(decodedBitmap, cacheFile); - - // 设置长按监听器 - holder.imageView.setOnLongClickListener(v -> { - saveImageToMediaStore(decodedBitmap, fileName); - return true; - }); - } - - @Override - public void onLoadCleared(Drawable placeholder) { - Log.d("PhotoAdapter", "Image load cleared at position: " + position); - } - - @Override - public void onLoadFailed(Drawable errorDrawable) { - super.onLoadFailed(errorDrawable); - Log.e("PhotoAdapter", "Image load failed at position: " + position); - } - }); } } diff --git a/app/src/main/java/org/astral/findmaimaiultra/ui/JMActivity.java b/app/src/main/java/org/astral/findmaimaiultra/ui/JMActivity.java index e9400ea..5397557 100644 --- a/app/src/main/java/org/astral/findmaimaiultra/ui/JMActivity.java +++ b/app/src/main/java/org/astral/findmaimaiultra/ui/JMActivity.java @@ -33,11 +33,15 @@ import com.google.gson.Gson; import org.astral.findmaimaiultra.R; import org.astral.findmaimaiultra.adapter.PhotoAdapter; import org.astral.findmaimaiultra.been.pixiv.jm.Album; +import org.astral.findmaimaiultra.utill.FileUtils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; +import java.util.Objects; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; public class JMActivity extends AppCompatActivity { @@ -61,7 +65,7 @@ public class JMActivity extends AppCompatActivity { Album a = new Gson().fromJson(res, Album.class); album = a; Toast.makeText(this, "加载中", Toast.LENGTH_SHORT).show(); - + getAll(); RecyclerView recyclerView = findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setVerticalScrollBarEnabled(true); @@ -120,7 +124,7 @@ public class JMActivity extends AppCompatActivity { LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); if (layoutManager != null) { int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition(); - int totalItems = recyclerView.getAdapter().getItemCount(); + int totalItems = Objects.requireNonNull(recyclerView.getAdapter()).getItemCount(); if (totalItems > 0) { int progress = (int) (firstVisibleItemPosition / (float) totalItems * 100); seekBar.setProgress(progress); @@ -129,7 +133,53 @@ public class JMActivity extends AppCompatActivity { } }); } + private void getAll() { + File file22 = FileUtils.getCacheDir(getBaseContext(), "lock"); + if (file22.getParentFile().exists()) { + //删除文件夹 + if (file22.getParentFile().delete()) { + // 删除成功 + } else { + // 删除失败 + } + }else { + file22.getParentFile().mkdirs(); + Log.d("HHHHHHHHHH", "创建文件夹失败"); + } + ExecutorService executor = Executors.newFixedThreadPool(4); // 创建一个固定大小为4的线程池 + for (int i = 0; i < album.getImage_urls().size(); i++) { + int finalI = i; + executor.submit(() -> { + String imageUrl = album.getImage_urls().get(finalI); + int num = album.getNums().get(finalI); + String FileName = "image_" + album.getAlbum_id() + "_" + finalI + ".jpg"; + File file = FileUtils.getCacheDir(getBaseContext(), FileName); + Log.d("HHHHHHHHHH", "创建文件失败"); + Glide.with(this) + .asBitmap() + .load(imageUrl) + .into(new CustomTarget() { + @Override + public void onResourceReady(@NonNull Bitmap resource, Transition transition) { + Bitmap decodedBitmap = decodeImage(resource, num); + saveBitmapToFile(decodedBitmap, file); + } + + @Override + public void onLoadCleared(Drawable placeholder) { + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + super.onLoadFailed(errorDrawable); + } + }); + }); + } + + executor.shutdown(); // 关闭线程池 + } private void downloadAllImages() { String folderName = album.getName(); diff --git a/app/src/main/java/org/astral/findmaimaiultra/ui/slideshow/SlideshowFragment.java b/app/src/main/java/org/astral/findmaimaiultra/ui/slideshow/SlideshowFragment.java index 391f290..7863322 100644 --- a/app/src/main/java/org/astral/findmaimaiultra/ui/slideshow/SlideshowFragment.java +++ b/app/src/main/java/org/astral/findmaimaiultra/ui/slideshow/SlideshowFragment.java @@ -13,6 +13,7 @@ import android.view.View; import android.view.ViewGroup; import android.webkit.WebView; import android.webkit.WebViewClient; +import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import androidx.activity.result.ActivityResultLauncher; @@ -22,6 +23,7 @@ import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; +import com.bumptech.glide.Glide; import com.google.android.material.button.MaterialButton; import com.google.android.material.radiobutton.MaterialRadioButton; import com.google.android.material.switchmaterial.SwitchMaterial; @@ -32,6 +34,7 @@ import org.astral.findmaimaiultra.service.GitHubApiService; import org.astral.findmaimaiultra.ui.ImagePickerListener; import org.astral.findmaimaiultra.ui.LinkQQBot; import org.astral.findmaimaiultra.utill.GitHubApiClient; +import org.w3c.dom.Text; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -50,7 +53,8 @@ public class SlideshowFragment extends Fragment { private String y; private FragmentSlideshowBinding binding; private ImagePickerListener imagePickerListener; - + private int iconId; + private String username; private static final String[] REQUIRED_PERMISSIONS = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE @@ -70,7 +74,8 @@ public class SlideshowFragment extends Fragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); settingProperties = requireActivity().getSharedPreferences("setting", Context.MODE_PRIVATE); - + username = settingProperties.getString("paikaname", ""); + iconId = settingProperties.getInt("iconId", 0); if (allPermissionsGranted()) { // 初始化代码 } else { @@ -171,6 +176,13 @@ public class SlideshowFragment extends Fragment { } }); webView.loadUrl(url); // 加载网页 + + ImageView user_avatar = binding.useravatar ; + Glide.with(this) + .load("https://assets2.lxns.net/maimai/icon/" + iconId +".png") + .into(user_avatar); + TextView user_name = binding.username; + user_name.setText(username); return root; } diff --git a/app/src/main/res/drawable/icon.png b/app/src/main/res/drawable/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7238c973fea56f3dd504ad68703eb29749211a50 GIT binary patch literal 42309 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/loading.png b/app/src/main/res/drawable/loading.png new file mode 100644 index 0000000000000000000000000000000000000000..092275ee7b25eed209ef3076bb03e0fbb9a6c87e GIT binary patch literal 7226 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/fragment_slideshow.xml b/app/src/main/res/layout/fragment_slideshow.xml index 5264415..1225535 100644 --- a/app/src/main/res/layout/fragment_slideshow.xml +++ b/app/src/main/res/layout/fragment_slideshow.xml @@ -6,6 +6,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.slideshow.SlideshowFragment"> + + - + + + + + + + + + + + + diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml index c0a7e75..7574d1c 100644 --- a/app/src/main/res/layout/nav_header_main.xml +++ b/app/src/main/res/layout/nav_header_main.xml @@ -12,7 +12,6 @@ android:theme="@style/ThemeOverlay.AppCompat.Dark" android:orientation="vertical" android:gravity="bottom"> - #D1C4E9 #D5C4ED #8C8181 + #CCA4A4 + #727272 #FFFFFF #B6B6B6 diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 4ab4520..74f3049 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -1,7 +1,9 @@ 16dp - 16dp + 8dp + + 32dp 8dp 176dp 16dp