From 6190c78c07f446abd93bf6d01bff7473d8d7f531 Mon Sep 17 00:00:00 2001 From: 106- Date: Wed, 4 Jun 2025 09:25:31 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E9=A0=85=E7=9B=AE?= =?UTF-8?q?=E3=81=AE=E6=A3=9A=E5=8D=B8=E3=81=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/BlendModeManager.java | 2 +- .../config/RenderConfig.java | 11 -- .../rendering/filters/BaseFilter.java | 6 +- .../rendering/filters/ConfigurableFilter.java | 63 -------- .../rendering/filters/LeftFilter.java | 6 +- .../rendering/filters/RightFilter.java | 6 +- .../rendering/objects/Garland.java | 2 +- .../services/AThingLeftBehindService.java | 31 +--- .../ui/activities/SettingsActivity.java | 48 ------ .../ui/preferences/SeekBarPreference.java | 137 ------------------ .../ui/preferences/SizeChangePreference.java | 102 ------------- app/src/main/res/layout/pref_seekbar_pref.xml | 130 ----------------- .../res/layout/size_change_pref_layout.xml | 55 ------- app/src/main/res/values/pref_list.xml | 21 --- app/src/main/res/xml/pref.xml | 4 - 15 files changed, 16 insertions(+), 608 deletions(-) delete mode 100644 app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/ConfigurableFilter.java delete mode 100644 app/src/main/java/net/t106/sinkerglwallpaper/ui/preferences/SeekBarPreference.java delete mode 100644 app/src/main/java/net/t106/sinkerglwallpaper/ui/preferences/SizeChangePreference.java delete mode 100644 app/src/main/res/layout/pref_seekbar_pref.xml delete mode 100644 app/src/main/res/layout/size_change_pref_layout.xml diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/config/BlendModeManager.java b/app/src/main/java/net/t106/sinkerglwallpaper/config/BlendModeManager.java index 410e5ec..9e84605 100644 --- a/app/src/main/java/net/t106/sinkerglwallpaper/config/BlendModeManager.java +++ b/app/src/main/java/net/t106/sinkerglwallpaper/config/BlendModeManager.java @@ -8,7 +8,7 @@ */ public class BlendModeManager { - // Blend mode constants matching AThingLeftBehindService.blend_type + // Blend mode constants public static final int BLEND_ADDITIVE = 0; public static final int BLEND_MULTIPLICATIVE = 1; public static final int BLEND_ALPHA = 2; diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/config/RenderConfig.java b/app/src/main/java/net/t106/sinkerglwallpaper/config/RenderConfig.java index 4ad46d1..0a1c4f5 100644 --- a/app/src/main/java/net/t106/sinkerglwallpaper/config/RenderConfig.java +++ b/app/src/main/java/net/t106/sinkerglwallpaper/config/RenderConfig.java @@ -48,17 +48,6 @@ public ColorConfig(float red, float green, float blue, float alpha) { public static final ColorConfig REDDISH_BROWN = new ColorConfig(0.375f, 0.04f, 0.09f, 0.5f); public static final ColorConfig PINKISH = new ColorConfig(1.0f, 0.5f, 0.5f, 0.5f); - /** - * Creates a color config from user settings (0-100 range) - */ - public static ColorConfig fromUserSettings(int[] col) { - return new ColorConfig( - col[0] / 100.0f, - col[1] / 100.0f, - col[2] / 100.0f, - col[3] / 100.0f - ); - } } /** diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/BaseFilter.java b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/BaseFilter.java index a86d424..d57dfe9 100644 --- a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/BaseFilter.java +++ b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/BaseFilter.java @@ -103,11 +103,11 @@ public void Update(float deltaTime) { } @Override - public void sizechange(boolean smollflg) { - isSmallSize = smollflg; + public void sizechange(boolean smallflg) { + isSmallSize = smallflg; // Update geometry based on size - geometryConfig = getGeometryForSize(smollflg); + geometryConfig = getGeometryForSize(smallflg); apex = geometryConfig.vertices; // Update buffer diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/ConfigurableFilter.java b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/ConfigurableFilter.java deleted file mode 100644 index a12c875..0000000 --- a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/ConfigurableFilter.java +++ /dev/null @@ -1,63 +0,0 @@ -package net.t106.sinkerglwallpaper.rendering.filters; - -import net.t106.sinkerglwallpaper.config.RenderConfig; -import net.t106.sinkerglwallpaper.config.BlendModeManager; -import net.t106.sinkerglwallpaper.rendering.services.AThingLeftBehindService; - -/** - * Configurable filter class - replaces LeftFilter.java - * Supports user-customizable colors and blend modes - */ -public class ConfigurableFilter extends BaseFilter { - - public ConfigurableFilter() { - // Start with white color, user settings will override - super(RenderConfig.ColorConfig.WHITE, BlendModeManager.BLEND_ADDITIVE); - } - - @Override - protected RenderConfig.GeometryConfig getDefaultGeometry() { - // Default to large center overlay - return RenderConfig.GeometryConfig.createLeftFilter(false); - } - - @Override - protected RenderConfig.GeometryConfig getGeometryForSize(boolean smallSize) { - return RenderConfig.GeometryConfig.createLeftFilter(smallSize); - } - - @Override - public void Draw(float[] viewMatrix, float[] projectionMatrix) { - // Update color and blend mode from user settings before drawing - updateFromUserSettings(); - super.Draw(viewMatrix, projectionMatrix); - } - - /** - * Updates configuration from user settings in SinkerService - */ - private void updateFromUserSettings() { - // Update color from user settings - colorConfig = RenderConfig.ColorConfig.fromUserSettings(AThingLeftBehindService.col); - - // Update blend mode from user settings - blendMode = AThingLeftBehindService.blend_type; - } - - @Override - protected void applyBlendMode() { - // Use the user-configured blend mode - BlendModeManager.applyBlendMode(blendMode); - } - - /** - * Factory method to create with specific settings - */ - public static ConfigurableFilter createWithSettings( - RenderConfig.ColorConfig color, int blendMode) { - ConfigurableFilter filter = new ConfigurableFilter(); - filter.setColorConfig(color); - filter.setBlendMode(blendMode); - return filter; - } -} \ No newline at end of file diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/LeftFilter.java b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/LeftFilter.java index 8e937aa..d8be685 100644 --- a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/LeftFilter.java +++ b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/LeftFilter.java @@ -59,12 +59,12 @@ public void Update(float deltaTime) { } @Override - public void sizechange(boolean smollflg) + public void sizechange(boolean smallflg) { - isSmallSize = smollflg; + isSmallSize = smallflg; // Update vertex data based on size - if(smollflg) { + if(smallflg) { apex = new float[] { -0.5f, -1.5f, 0.0f, -1.5f, -0.5f, 1.5f, 0.0f, 1.5f, }; } else { apex = new float[] { -0.7f, -1.5f, 0.7f, -1.5f, -0.7f, 1.5f, 0.7f, 1.5f, }; diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/RightFilter.java b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/RightFilter.java index ca45408..67ec050 100644 --- a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/RightFilter.java +++ b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/filters/RightFilter.java @@ -71,12 +71,12 @@ public void Update(float deltaTime) { } @Override - public void sizechange(boolean smollflg) + public void sizechange(boolean smallflg) { - isSmallSize = smollflg; + isSmallSize = smallflg; // Update vertex data based on size - if(smollflg) { + if(smallflg) { apex = new float[] { 0f, -1.5f, 0.5f, -1.5f, 0f, 1.5f, 0.5f, 1.5f, }; } else { apex = new float[] { 0f, -1.5f, 0.7f, -1.5f, 0f, 1.5f, 0.7f, 1.5f, }; diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/objects/Garland.java b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/objects/Garland.java index 3326766..78bcf39 100644 --- a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/objects/Garland.java +++ b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/objects/Garland.java @@ -133,7 +133,7 @@ public void cleanup() { public abstract void Update(float deltaTime); // Optional method for size changes - public void sizechange(boolean smollflg) { + public void sizechange(boolean smallflg) { // Default implementation does nothing // Subclasses can override if needed } diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/services/AThingLeftBehindService.java b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/services/AThingLeftBehindService.java index 7962b44..16658fc 100644 --- a/app/src/main/java/net/t106/sinkerglwallpaper/rendering/services/AThingLeftBehindService.java +++ b/app/src/main/java/net/t106/sinkerglwallpaper/rendering/services/AThingLeftBehindService.java @@ -24,8 +24,6 @@ public class AThingLeftBehindService extends GLWallpaperServiceES32{ public static int[] textures = new int[2]; - public static int blend_type; - public static int[] col = new int[4]; private static Context context = null; // Static method to provide context to other classes @@ -142,30 +140,11 @@ public void onSurfaceChanged(javax.microedition.khronos.opengles.GL10 gl, int wi if(context != null) { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); - String type = sp.getString("blend_type", "mul"); - if(type.equals("add")) blend_type = 0; - else if(type.equals("mul")) blend_type = 1; - else if(type.equals("alpha")) blend_type = 2; - else if(type.equals("xor")) blend_type = 3; - col[0] = sp.getInt("col_R", 50); - col[1] = sp.getInt("col_G", 50); - col[2] = sp.getInt("col_B", 100); - col[3] = sp.getInt("col_Alpha", 50); - String Isvert = sp.getString("filter_size", "smoll"); - if(Isvert.equals("smoll")) - { - lf.sizechange(true); - rf.sizechange(true); - } - else if(Isvert.equals("big")) - { - lf.sizechange(false); - rf.sizechange(false); - } - int gr_size = sp.getInt("size", 200); - - // Create view matrix using modern approach - float cameraZ = (gr_size + 100) / 100.0f; + // Filter size is fixed to small (true) + lf.sizechange(true); + rf.sizechange(true); + // Garland size is fixed to 4.0 + float cameraZ = 4.0f; viewMatrix = MatrixUtils.lookAt(0, 0, cameraZ, 0, 0, 0, 0, 1, 0); } } diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/ui/activities/SettingsActivity.java b/app/src/main/java/net/t106/sinkerglwallpaper/ui/activities/SettingsActivity.java index c54e4b4..5bb5f51 100644 --- a/app/src/main/java/net/t106/sinkerglwallpaper/ui/activities/SettingsActivity.java +++ b/app/src/main/java/net/t106/sinkerglwallpaper/ui/activities/SettingsActivity.java @@ -5,8 +5,6 @@ import androidx.preference.PreferenceFragmentCompat; import net.t106.sinkerglwallpaper.R; import net.t106.sinkerglwallpaper.ui.preferences.TextBoxPreference; -import net.t106.sinkerglwallpaper.ui.preferences.SeekBarPreference; -import net.t106.sinkerglwallpaper.ui.preferences.SizeChangePreference; public class SettingsActivity extends AppCompatActivity { @@ -44,22 +42,6 @@ public void onDisplayPreferenceDialog(androidx.preference.Preference preference) dialogFragment.setArguments(bundle); dialogFragment.setTargetFragment(this, 0); dialogFragment.show(getParentFragmentManager(), "androidx.preference.PreferenceFragment.DIALOG"); - } else if (preference instanceof SeekBarPreference) { - androidx.preference.PreferenceDialogFragmentCompat dialogFragment = - new SeekBarPreferenceDialogFragmentCompat(); - Bundle bundle = new Bundle(); - bundle.putString("key", preference.getKey()); - dialogFragment.setArguments(bundle); - dialogFragment.setTargetFragment(this, 0); - dialogFragment.show(getParentFragmentManager(), "androidx.preference.PreferenceFragment.DIALOG"); - } else if (preference instanceof SizeChangePreference) { - androidx.preference.PreferenceDialogFragmentCompat dialogFragment = - new SizeChangePreferenceDialogFragmentCompat(); - Bundle bundle = new Bundle(); - bundle.putString("key", preference.getKey()); - dialogFragment.setArguments(bundle); - dialogFragment.setTargetFragment(this, 0); - dialogFragment.show(getParentFragmentManager(), "androidx.preference.PreferenceFragment.DIALOG"); } else { super.onDisplayPreferenceDialog(preference); } @@ -80,34 +62,4 @@ public void onDialogClosed(boolean positiveResult) { preference.onDialogClosed(positiveResult); } } - - public static class SeekBarPreferenceDialogFragmentCompat extends androidx.preference.PreferenceDialogFragmentCompat { - @Override - protected void onBindDialogView(android.view.View view) { - super.onBindDialogView(view); - SeekBarPreference preference = (SeekBarPreference) getPreference(); - preference.onBindDialogView(view); - } - - @Override - public void onDialogClosed(boolean positiveResult) { - SeekBarPreference preference = (SeekBarPreference) getPreference(); - preference.onDialogClosed(positiveResult); - } - } - - public static class SizeChangePreferenceDialogFragmentCompat extends androidx.preference.PreferenceDialogFragmentCompat { - @Override - protected void onBindDialogView(android.view.View view) { - super.onBindDialogView(view); - SizeChangePreference preference = (SizeChangePreference) getPreference(); - preference.onBindDialogView(view); - } - - @Override - public void onDialogClosed(boolean positiveResult) { - SizeChangePreference preference = (SizeChangePreference) getPreference(); - preference.onDialogClosed(positiveResult); - } - } } diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/ui/preferences/SeekBarPreference.java b/app/src/main/java/net/t106/sinkerglwallpaper/ui/preferences/SeekBarPreference.java deleted file mode 100644 index fa1ecf0..0000000 --- a/app/src/main/java/net/t106/sinkerglwallpaper/ui/preferences/SeekBarPreference.java +++ /dev/null @@ -1,137 +0,0 @@ -package net.t106.sinkerglwallpaper.ui.preferences; - -import android.content.Context; -import android.content.SharedPreferences; -import android.content.SharedPreferences.Editor; -import androidx.preference.DialogPreference; -import androidx.preference.PreferenceManager; -import android.util.AttributeSet; -import java.util.Locale; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.Button; -import android.widget.SeekBar; -import android.widget.TextView; -import net.t106.sinkerglwallpaper.R; - -public class SeekBarPreference extends DialogPreference{ - private TextView[] tv = new TextView[4]; - private SeekBar[] sb = new SeekBar[4]; - private Button btn; - private Context cxt; - private int[] col = new int[4]; - private int[] col_tmp = new int[4]; - private int[] col_default = {50,50,100,50}; - - public SeekBarPreference(Context context, AttributeSet attrs) { - super(context, attrs); - init(context); - } - - public SeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - init(context); - } - - private void init(Context context) { - cxt = context; - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(cxt); - col[0] = sp.getInt("col_R", 50); - col[1] = sp.getInt("col_G", 50); - col[2] = sp.getInt("col_B", 100); - col[3] = sp.getInt("col_Alpha", 50); - col_tmp = col.clone(); - setDialogLayoutResource(R.layout.pref_seekbar_pref); - } - - public void onBindDialogView(View v) - { - tv[0] = (TextView)v.findViewById(R.id.textView1); - tv[1] = (TextView)v.findViewById(R.id.textView2); - tv[2] = (TextView)v.findViewById(R.id.textView3); - tv[3] = (TextView)v.findViewById(R.id.textView5); - sb[0] = (SeekBar)v.findViewById(R.id.seekBar1); - sb[1] = (SeekBar)v.findViewById(R.id.seekBar2); - sb[2] = (SeekBar)v.findViewById(R.id.seekBar3); - sb[3] = (SeekBar)v.findViewById(R.id.seekBar4); - btn = (Button)v.findViewById(R.id.button1); - btn.setOnClickListener(new btnlis()); - SBchange sbc = new SBchange(sb,tv); - for(int i=0;i<4;i++)sb[i].setProgress(col[i]); - for(int i=0;i<4;i++)sb[i].setOnSeekBarChangeListener(sbc); - for(int i=0;i<4;i++)tv[i].setText(String.format(Locale.US, "%.2f", col[i]/100.0)); - } - - public void onDialogClosed(boolean res) - { - if(res) - { - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(cxt); - Editor e = sp.edit(); - e.putInt("col_R", col[0]); - e.putInt("col_G", col[1]); - e.putInt("col_B", col[2]); - e.putInt("col_Alpha", col[3]); - e.apply(); - } - else - { - col = col_tmp.clone(); - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(cxt); - Editor e = sp.edit(); - e.putInt("col_R", col[0]); - e.putInt("col_G", col[1]); - e.putInt("col_B", col[2]); - e.putInt("col_Alpha", col[3]); - e.apply(); - } - } - - protected void setColor(int n,int val) - { - col[n] = val; - } - - protected void setDefault() - { - col = col_default.clone(); - for(int i=0;i<4;i++)sb[i].setProgress(col[i]); - for(int i=0;i<4;i++)tv[i].setText(String.format(Locale.US, "%.2f", col[i]/100.0)); - } - - private class SBchange implements SeekBar.OnSeekBarChangeListener - { - private SeekBar[] sb_arr = new SeekBar[4]; - private TextView[] tv_arr = new TextView[4]; - - public SBchange(SeekBar[] sb_arr_arg, TextView[] tv_arr_arg) - { - this.sb_arr = sb_arr_arg; - this.tv_arr = tv_arr_arg; - } - - @Override - public void onProgressChanged(SeekBar sb, int val, boolean fromUser) { - int id = sb.getId(); - for(int i=0;i<4;i++) - if(sb_arr[i].getId() == id) - { - setColor(i, val); - tv[i].setText(String.format(Locale.US, "%.2f", val/100.0)); - } - } - - @Override - public void onStartTrackingTouch(SeekBar seekBar) {} - @Override - public void onStopTrackingTouch(SeekBar seekBar) {} - } - - private class btnlis implements OnClickListener - { - @Override - public void onClick(View v) { - setDefault(); - } - } -} diff --git a/app/src/main/java/net/t106/sinkerglwallpaper/ui/preferences/SizeChangePreference.java b/app/src/main/java/net/t106/sinkerglwallpaper/ui/preferences/SizeChangePreference.java deleted file mode 100644 index 77f44dc..0000000 --- a/app/src/main/java/net/t106/sinkerglwallpaper/ui/preferences/SizeChangePreference.java +++ /dev/null @@ -1,102 +0,0 @@ -package net.t106.sinkerglwallpaper.ui.preferences; - -import net.t106.sinkerglwallpaper.R; -import android.content.Context; -import android.content.SharedPreferences; -import android.content.SharedPreferences.Editor; -import androidx.preference.DialogPreference; -import androidx.preference.PreferenceManager; -import android.util.AttributeSet; -import java.util.Locale; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.Button; -import android.widget.SeekBar; -import android.widget.TextView; - -public class SizeChangePreference extends DialogPreference { - private Context cxt; - private SeekBar sb; - private TextView tv; - private Button btn; - private int prog,tmp_prog; - - public SizeChangePreference(Context context, AttributeSet attrs) { - super(context, attrs); - init(context); - } - - public SizeChangePreference(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - init(context); - } - - private void init(Context context) { - cxt = context; - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(cxt); - tmp_prog = sp.getInt("size", 200); - prog = sp.getInt("size", 200); - setDialogLayoutResource(R.layout.size_change_pref_layout); - } - - public void onBindDialogView(View v) - { - tv = (TextView)v.findViewById(R.id.textView2); - sb = (SeekBar)v.findViewById(R.id.seekBar1); - btn = (Button)v.findViewById(R.id.button1); - sb.setMax(300); - sb.setProgress(prog); - sb.setOnSeekBarChangeListener(new SBchange()); - tv.setText(String.format(Locale.US, "%.2f", (prog+100)/100.0)); - btn.setOnClickListener(new btnlis()); - } - - public void onDialogClosed(boolean res) - { - if(res) - { - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(cxt); - Editor e = sp.edit(); - e.putInt("size", prog); - e.apply(); - } - else - { - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(cxt); - Editor e = sp.edit(); - e.putInt("size", tmp_prog); - e.apply(); - } - } - - protected void setDefault() - { - sb.setProgress(200); - prog = 200; - tv.setText(String.format(Locale.US, "%.2f", (200+100)/100.0)); - } - - private class SBchange implements SeekBar.OnSeekBarChangeListener - { - @Override - public void onProgressChanged(SeekBar skbar, int val, boolean flg) - { - tv.setText(String.format(Locale.US, "%.2f", (val+100)/100.0)); - prog = val; - } - - @Override - public void onStartTrackingTouch(SeekBar arg0) {} - @Override - public void onStopTrackingTouch(SeekBar arg0) {} - } - - private class btnlis implements OnClickListener - { - @Override - public void onClick(View v) { - setDefault(); - } - } - -} diff --git a/app/src/main/res/layout/pref_seekbar_pref.xml b/app/src/main/res/layout/pref_seekbar_pref.xml deleted file mode 100644 index 1e267c6..0000000 --- a/app/src/main/res/layout/pref_seekbar_pref.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -