From 6442988bb9459131357a104421c4fe92a786a1c6 Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Fri, 24 Apr 2026 20:45:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B0=83=E8=AF=95=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cc/winboll/gallery/Album.java | 2 ++ .../cc/winboll/gallery/AlbumActivity.java | 5 +++++ .../java/cc/winboll/gallery/AlbumAdapter.java | 3 +++ .../gallery/GlobalWinBoLLApplication.java | 21 +++++++++++-------- .../java/cc/winboll/gallery/ImageAdapter.java | 3 +++ .../cc/winboll/gallery/ImagePagerAdapter.java | 3 +++ .../winboll/gallery/ImageViewerActivity.java | 5 +++++ .../java/cc/winboll/gallery/MainActivity.java | 6 ++++++ .../java/cc/winboll/gallery/Preferences.java | 6 +++++- .../cc/winboll/gallery/SettingsActivity.java | 2 ++ .../cc/winboll/gallery/TrashActivity.java | 6 ++++++ .../java/cc/winboll/gallery/TrashAdapter.java | 3 +++ .../cc/winboll/gallery/TrashDbHelper.java | 4 ++++ .../java/cc/winboll/gallery/TrashManager.java | 9 ++++++++ 14 files changed, 68 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/cc/winboll/gallery/Album.java b/app/src/main/java/cc/winboll/gallery/Album.java index 1cc4510..6c86b67 100644 --- a/app/src/main/java/cc/winboll/gallery/Album.java +++ b/app/src/main/java/cc/winboll/gallery/Album.java @@ -1,6 +1,7 @@ package cc.winboll.gallery; import android.net.Uri; +import cc.winboll.studio.libappbase.LogUtils; public class Album { public static final String TAG = "Album"; @@ -10,6 +11,7 @@ public class Album { private int imageCount; public Album(String name, String path, Uri coverUri, int imageCount) { + LogUtils.d(TAG, "Album created: " + name); this.name = name; this.path = path; this.coverUri = coverUri; diff --git a/app/src/main/java/cc/winboll/gallery/AlbumActivity.java b/app/src/main/java/cc/winboll/gallery/AlbumActivity.java index e74a47f..d287a5f 100644 --- a/app/src/main/java/cc/winboll/gallery/AlbumActivity.java +++ b/app/src/main/java/cc/winboll/gallery/AlbumActivity.java @@ -18,6 +18,7 @@ import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import java.util.ArrayList; +import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.gallery.ImageAdapter.OnImageClickListener; public class AlbumActivity extends AppCompatActivity { @@ -34,6 +35,7 @@ public class AlbumActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + LogUtils.d(TAG, "onCreate"); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -91,6 +93,7 @@ public class AlbumActivity extends AppCompatActivity { } private void loadImages() { + LogUtils.d(TAG, "loadImages"); ArrayList imageUrls = new ArrayList<>(); ArrayList imagePaths = new ArrayList<>(); ContentResolver contentResolver = getContentResolver(); @@ -117,8 +120,10 @@ public class AlbumActivity extends AppCompatActivity { if (imageUrls.isEmpty()) { Toast.makeText(this, R.string.no_images_found, Toast.LENGTH_SHORT).show(); + LogUtils.i(TAG, "No images found"); } adapter.setData(imageUrls, imagePaths); + LogUtils.d(TAG, "Loaded " + imageUrls.size() + " images"); } @Override diff --git a/app/src/main/java/cc/winboll/gallery/AlbumAdapter.java b/app/src/main/java/cc/winboll/gallery/AlbumAdapter.java index bba8708..186c5d0 100644 --- a/app/src/main/java/cc/winboll/gallery/AlbumAdapter.java +++ b/app/src/main/java/cc/winboll/gallery/AlbumAdapter.java @@ -11,6 +11,8 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import java.util.ArrayList; +import cc.winboll.studio.libappbase.LogUtils; + public class AlbumAdapter extends RecyclerView.Adapter { public static final String TAG = "AlbumAdapter"; private ArrayList albums = new ArrayList<>(); @@ -26,6 +28,7 @@ public class AlbumAdapter extends RecyclerView.Adapter public void setData(ArrayList albums) { this.albums = albums; + LogUtils.d(TAG, "setData: " + albums.size() + " albums"); notifyDataSetChanged(); } diff --git a/app/src/main/java/cc/winboll/gallery/GlobalWinBoLLApplication.java b/app/src/main/java/cc/winboll/gallery/GlobalWinBoLLApplication.java index c818669..4391e60 100644 --- a/app/src/main/java/cc/winboll/gallery/GlobalWinBoLLApplication.java +++ b/app/src/main/java/cc/winboll/gallery/GlobalWinBoLLApplication.java @@ -2,6 +2,7 @@ package cc.winboll.gallery; import cc.winboll.studio.libaes.utils.WinBoLLActivityManager; import cc.winboll.studio.libappbase.GlobalApplication; +import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.ToastUtils; /** @@ -13,13 +14,14 @@ public class GlobalWinBoLLApplication extends GlobalApplication { public static final String TAG = "GlobalWinBoLLApplication"; - @Override +@Override public void onCreate() { super.onCreate(); - setIsDebugging(BuildConfig.DEBUG); - //setIsDebugging(false); + LogUtils.d(TAG, "onCreate"); + setIsDebugging(BuildConfig.DEBUG); + //setIsDebugging(false); - WinBoLLActivityManager.init(this); + WinBoLLActivityManager.init(this); // 初始化 Toast 框架 ToastUtils.init(this); @@ -32,10 +34,11 @@ public class GlobalWinBoLLApplication extends GlobalApplication { //CrashHandler.getInstance().registerPart(this); } - @Override - public void onTerminate() { - super.onTerminate(); - ToastUtils.release(); - } +@Override + public void onTerminate() { + super.onTerminate(); + LogUtils.d(TAG, "onTerminate"); + ToastUtils.release(); + } } diff --git a/app/src/main/java/cc/winboll/gallery/ImageAdapter.java b/app/src/main/java/cc/winboll/gallery/ImageAdapter.java index b58596f..54b4a55 100644 --- a/app/src/main/java/cc/winboll/gallery/ImageAdapter.java +++ b/app/src/main/java/cc/winboll/gallery/ImageAdapter.java @@ -11,6 +11,8 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import java.util.ArrayList; +import cc.winboll.studio.libappbase.LogUtils; + public class ImageAdapter extends RecyclerView.Adapter { public static final String TAG = "ImageAdapter"; private ArrayList imageUrls = new ArrayList<>(); @@ -28,6 +30,7 @@ public class ImageAdapter extends RecyclerView.Adapter public void setData(ArrayList urls, ArrayList paths) { this.imageUrls = urls; this.imagePaths = paths; + LogUtils.d(TAG, "setData: " + urls.size() + " images"); notifyDataSetChanged(); } diff --git a/app/src/main/java/cc/winboll/gallery/ImagePagerAdapter.java b/app/src/main/java/cc/winboll/gallery/ImagePagerAdapter.java index 47ba65d..8a68e9b 100644 --- a/app/src/main/java/cc/winboll/gallery/ImagePagerAdapter.java +++ b/app/src/main/java/cc/winboll/gallery/ImagePagerAdapter.java @@ -11,12 +11,15 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import java.util.ArrayList; +import cc.winboll.studio.libappbase.LogUtils; + public class ImagePagerAdapter extends PagerAdapter { public static final String TAG = "ImagePagerAdapter"; private ArrayList imageUrls; public ImagePagerAdapter(ArrayList imageUrls) { this.imageUrls = imageUrls; + LogUtils.d(TAG, "ImagePagerAdapter created with " + imageUrls.size() + " images"); } @Override diff --git a/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java b/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java index d3943b6..efbc0e3 100644 --- a/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java +++ b/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java @@ -16,6 +16,8 @@ import androidx.viewpager.widget.ViewPager; import java.io.File; import java.util.ArrayList; +import cc.winboll.studio.libappbase.LogUtils; + public class ImageViewerActivity extends Activity implements ViewPager.OnPageChangeListener { public static final String TAG = "ImageViewerActivity"; public static final String EXTRA_IMAGE_URLS = "image_urls"; @@ -39,6 +41,7 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_image_viewer); + LogUtils.d(TAG, "onCreate"); imageUrls = getIntent().getParcelableArrayListExtra(EXTRA_IMAGE_URLS); imagePaths = getIntent().getStringArrayListExtra(EXTRA_POSITIONS); @@ -116,6 +119,7 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha } private void moveToTrash() { + LogUtils.d(TAG, "moveToTrash"); if (currentPosition >= 0 && currentPosition < imageUrls.size()) { String imagePath = ""; if (imagePaths != null && currentPosition < imagePaths.size()) { @@ -138,6 +142,7 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha e.printStackTrace(); } android.widget.Toast.makeText(this, "Moved to trash", android.widget.Toast.LENGTH_SHORT).show(); + LogUtils.i(TAG, "Moved to trash"); removeCurrentImage(); } else { try { diff --git a/app/src/main/java/cc/winboll/gallery/MainActivity.java b/app/src/main/java/cc/winboll/gallery/MainActivity.java index 45cd3f0..0275ede 100644 --- a/app/src/main/java/cc/winboll/gallery/MainActivity.java +++ b/app/src/main/java/cc/winboll/gallery/MainActivity.java @@ -22,6 +22,7 @@ import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import cc.winboll.gallery.AlbumAdapter.OnAlbumClickListener; +import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogActivity; import java.io.File; import java.io.FileFilter; @@ -39,6 +40,7 @@ public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + LogUtils.d(TAG, "onCreate"); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -64,6 +66,7 @@ public class MainActivity extends AppCompatActivity { } private void checkAndRequestPermissions() { + LogUtils.i(TAG, "checkAndRequestPermissions"); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (!Environment.isExternalStorageManager()) { try { @@ -127,6 +130,7 @@ public class MainActivity extends AppCompatActivity { } private void loadAlbums() { + LogUtils.d(TAG, "loadAlbums"); String folderPath = prefs.getFolderPath(); File baseFolder = new File(folderPath); @@ -160,8 +164,10 @@ public class MainActivity extends AppCompatActivity { if (albums.isEmpty()) { Toast.makeText(this, R.string.no_images_found, Toast.LENGTH_SHORT).show(); + LogUtils.i(TAG, "No albums found"); } adapter.setData(albums); + LogUtils.d(TAG, "Loaded " + albums.size() + " albums"); } private ArrayList getImagesInFolder(String folderPath) { diff --git a/app/src/main/java/cc/winboll/gallery/Preferences.java b/app/src/main/java/cc/winboll/gallery/Preferences.java index 8971e49..c5e9590 100644 --- a/app/src/main/java/cc/winboll/gallery/Preferences.java +++ b/app/src/main/java/cc/winboll/gallery/Preferences.java @@ -2,6 +2,7 @@ package cc.winboll.gallery; import android.content.Context; import android.content.SharedPreferences; +import cc.winboll.studio.libappbase.LogUtils; public class Preferences { public static final String TAG = "Preferences"; @@ -20,10 +21,13 @@ public class Preferences { } public String getFolderPath() { - return prefs.getString(KEY_FOLDER_PATH, DEFAULT_PATH); + String path = prefs.getString(KEY_FOLDER_PATH, DEFAULT_PATH); + LogUtils.d(TAG, "getFolderPath: " + path); + return path; } public void setFolderPath(String path) { + LogUtils.d(TAG, "setFolderPath: " + path); prefs.edit().putString(KEY_FOLDER_PATH, path).apply(); } } \ No newline at end of file diff --git a/app/src/main/java/cc/winboll/gallery/SettingsActivity.java b/app/src/main/java/cc/winboll/gallery/SettingsActivity.java index 87c162f..7cb8a3a 100644 --- a/app/src/main/java/cc/winboll/gallery/SettingsActivity.java +++ b/app/src/main/java/cc/winboll/gallery/SettingsActivity.java @@ -7,6 +7,7 @@ import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; +import cc.winboll.studio.libappbase.LogUtils; public class SettingsActivity extends AppCompatActivity { public static final String TAG = "SettingsActivity"; @@ -18,6 +19,7 @@ public class SettingsActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings); + LogUtils.d(TAG, "onCreate"); prefs = new Preferences(this); diff --git a/app/src/main/java/cc/winboll/gallery/TrashActivity.java b/app/src/main/java/cc/winboll/gallery/TrashActivity.java index 5aeee48..1f43113 100644 --- a/app/src/main/java/cc/winboll/gallery/TrashActivity.java +++ b/app/src/main/java/cc/winboll/gallery/TrashActivity.java @@ -20,6 +20,8 @@ import androidx.recyclerview.widget.RecyclerView; import java.io.File; import java.util.ArrayList; +import cc.winboll.studio.libappbase.LogUtils; + public class TrashActivity extends AppCompatActivity { public static final String TAG = "TrashActivity"; private static final int PERMISSION_REQUEST_CODE = 102; @@ -31,6 +33,7 @@ public class TrashActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + LogUtils.d(TAG, "onCreate"); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -87,6 +90,7 @@ public class TrashActivity extends AppCompatActivity { } private void loadTrash() { + LogUtils.d(TAG, "loadTrash"); Cursor cursor = trashManager.getTrashList(); ArrayList items = new ArrayList(); ArrayList uris = new ArrayList(); @@ -129,12 +133,14 @@ public class TrashActivity extends AppCompatActivity { } private void restoreImage(int position) { + LogUtils.d(TAG, "restoreImage: " + position); long id = adapter.getItemId(position); String fileName = adapter.getFileName(position); String originalPath = adapter.getOriginalPath(position); if (trashManager.restore(id, fileName, originalPath)) { Toast.makeText(this, "Image restored", Toast.LENGTH_SHORT).show(); + LogUtils.i(TAG, "Image restored"); loadTrash(); } else { Toast.makeText(this, "Restore failed", Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/cc/winboll/gallery/TrashAdapter.java b/app/src/main/java/cc/winboll/gallery/TrashAdapter.java index 4b43625..22ca00a 100644 --- a/app/src/main/java/cc/winboll/gallery/TrashAdapter.java +++ b/app/src/main/java/cc/winboll/gallery/TrashAdapter.java @@ -11,6 +11,8 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import java.util.ArrayList; +import cc.winboll.studio.libappbase.LogUtils; + public class TrashAdapter extends RecyclerView.Adapter { public static final String TAG = "TrashAdapter"; private ArrayList trashItems = new ArrayList(); @@ -29,6 +31,7 @@ public class TrashAdapter extends RecyclerView.Adapter public void setData(ArrayList items, ArrayList uris) { this.trashItems = items; this.imageUrls = uris; + LogUtils.d(TAG, "setData: " + items.size() + " items"); notifyDataSetChanged(); } diff --git a/app/src/main/java/cc/winboll/gallery/TrashDbHelper.java b/app/src/main/java/cc/winboll/gallery/TrashDbHelper.java index 6547f60..160e7cc 100644 --- a/app/src/main/java/cc/winboll/gallery/TrashDbHelper.java +++ b/app/src/main/java/cc/winboll/gallery/TrashDbHelper.java @@ -8,6 +8,8 @@ import android.database.sqlite.SQLiteOpenHelper; import android.os.Environment; import java.io.File; +import cc.winboll.studio.libappbase.LogUtils; + public class TrashDbHelper extends SQLiteOpenHelper { public static final String TAG = "TrashDbHelper"; private static final String DB_NAME = "trash.db"; @@ -25,6 +27,7 @@ public class TrashDbHelper extends SQLiteOpenHelper { @Override public void onCreate(SQLiteDatabase db) { + LogUtils.d(TAG, "onCreate"); db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COL_FILE_NAME + " TEXT, " + @@ -35,6 +38,7 @@ public class TrashDbHelper extends SQLiteOpenHelper { @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + LogUtils.i(TAG, "onUpgrade: " + oldVersion + " -> " + newVersion); db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db); } diff --git a/app/src/main/java/cc/winboll/gallery/TrashManager.java b/app/src/main/java/cc/winboll/gallery/TrashManager.java index cc34a0e..161ebb2 100644 --- a/app/src/main/java/cc/winboll/gallery/TrashManager.java +++ b/app/src/main/java/cc/winboll/gallery/TrashManager.java @@ -7,17 +7,21 @@ import android.provider.MediaStore; import java.io.File; import java.util.UUID; +import cc.winboll.studio.libappbase.LogUtils; + public class TrashManager { public static final String TAG = "TrashManager"; private final Context context; private final TrashDbHelper dbHelper; public TrashManager(Context context) { + LogUtils.d(TAG, "TrashManager created"); this.context = context; this.dbHelper = new TrashDbHelper(context); } public long addToTrash(String imagePath) { + LogUtils.d(TAG, "addToTrash: " + imagePath); File sourceFile = new File(imagePath); if (!sourceFile.exists()) { return -1; @@ -32,8 +36,10 @@ public class TrashManager { if (sourceFile.renameTo(destFile)) { String originalFolder = sourceFile.getParent(); long result = dbHelper.insert(newFileName, imagePath, originalFolder); + LogUtils.i(TAG, "Added to trash: " + newFileName); return result; } + LogUtils.e(TAG, "Failed to move to trash"); return -1; } @@ -42,6 +48,7 @@ public class TrashManager { } public boolean restore(long id, String fileName, String originalPath) { + LogUtils.i(TAG, "restore: " + fileName + " -> " + originalPath); File trashFile = new File(TrashDbHelper.getTrashPath(), fileName); if (!trashFile.exists()) { return false; @@ -58,9 +65,11 @@ public class TrashManager { if (trashFile.renameTo(restoreFile)) { dbHelper.delete(id); + LogUtils.i(TAG, "Restored: " + fileName); return true; } + LogUtils.e(TAG, "Failed to restore: " + fileName); return false; }