diff --git a/gallery/build.properties b/gallery/build.properties
index bc1f7dc..439ccf4 100644
--- a/gallery/build.properties
+++ b/gallery/build.properties
@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
-#Tue Apr 28 17:22:34 GMT 2026
+#Thu Apr 30 22:39:56 CST 2026
stageCount=10
libraryProject=
baseVersion=15.0
publishVersion=15.0.9
-buildCount=18
+buildCount=46
baseBetaVersion=15.0.10
diff --git a/gallery/src/main/java/cc/winboll/studio/gallery/MainActivity.java b/gallery/src/main/java/cc/winboll/studio/gallery/MainActivity.java
index a90e6dc..655413b 100644
--- a/gallery/src/main/java/cc/winboll/studio/gallery/MainActivity.java
+++ b/gallery/src/main/java/cc/winboll/studio/gallery/MainActivity.java
@@ -289,7 +289,32 @@ private void loadAlbums() {
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
- if (id == R.id.action_settings) {
+ if (id == R.id.action_gallery) {
+ Intent intent = new Intent(Intent.ACTION_VIEW, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
+ startActivity(intent);
+ return true;
+ } else if (id == R.id.action_reset_gallery) {
+ // 清除 图库/ACTION_VIEW 图片 Uri 的默认打开记录
+ PackageManager pm = getPackageManager();
+
+ // 构建和你跳转一模一样的 Intent
+ Intent clearIntent = new Intent(Intent.ACTION_VIEW, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
+
+ try {
+ // 仅在 API <= 30 时执行重置操作
+ if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.R) {
+ String mimeType = clearIntent.resolveType(getContentResolver());
+ pm.clearPackagePreferredActivities(mimeType);
+ Toast.makeText(this, "已清除默认打开方式", Toast.LENGTH_SHORT).show();
+ } else {
+ // API > 30 时,弹出提示说明适配限制
+ Toast.makeText(this, "应用开发资源有限,本应用适配目标安卓版本为 (" + Build.VERSION_CODES.R + ")。", Toast.LENGTH_LONG).show();
+ }
+ } catch (SecurityException e) {
+ Toast.makeText(this, "需要授予重置默认应用权限,请在系统设置中开启", Toast.LENGTH_LONG).show();
+ }
+ return true;
+ } else if (id == R.id.action_settings) {
startActivity(new Intent(this, SettingsActivity.class));
return true;
} else if (id == R.id.action_about) {
diff --git a/gallery/src/main/java/cc/winboll/studio/gallery/dialog/ColorPaletteDialog.java b/gallery/src/main/java/cc/winboll/studio/gallery/dialog/ColorPaletteDialog.java
new file mode 100644
index 0000000..ce5e959
--- /dev/null
+++ b/gallery/src/main/java/cc/winboll/studio/gallery/dialog/ColorPaletteDialog.java
@@ -0,0 +1,44 @@
+package cc.winboll.studio.gallery.dialog;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.WindowManager;
+import android.widget.TextView;
+import androidx.annotation.NonNull;
+import cc.winboll.studio.gallery.R;
+
+/**
+ * 颜色表对话框
+ * 继承于普通对话框类,使用视图文件
+ */
+public class ColorPaletteDialog extends Dialog {
+
+ public ColorPaletteDialog(@NonNull Context context) {
+ super(context, R.style.ColorPaletteDialog);
+ }
+
+ public ColorPaletteDialog(@NonNull Context context, int themeResId) {
+ super(context, themeResId);
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ // super.onCreate(savedInstanceState);
+ setContentView(R.layout.dialog_color_palette);
+
+ TextView titleText = findViewById(R.id.title_text);
+
+ WindowManager.LayoutParams params = getWindow().getAttributes();
+ params.width = WindowManager.LayoutParams.MATCH_PARENT;
+ getWindow().setAttributes(params);
+ }
+
+ public void setTitle(String title) {
+
+ }
+
+ public interface OnColorItemClick {
+ void onColorClick(int color);
+ }
+}
diff --git a/gallery/src/main/res/drawable/ic_cover_reset.xml b/gallery/src/main/res/drawable/ic_cover_reset.xml
new file mode 100644
index 0000000..5042df5
--- /dev/null
+++ b/gallery/src/main/res/drawable/ic_cover_reset.xml
@@ -0,0 +1,21 @@
+
+