plectrum

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 69d76cd2cba19e3915286fde9684bd9dfb7baac5
parent 0b886188e45b9321af1b55589e6e1b032b0dfb3b
Author: Martin Ashby <martin@ashbysoft.com>
Date:   Sat,  4 Apr 2026 21:48:07 +0100

agp upgrade again

remove deprecated settings.gradle properties

handle non-final resource ids https://web.archive.org/web/20231202012622/http://tools.android.com/tips/non-constant-fields

Diffstat:
Mapp/build.gradle | 2+-
Mapp/src/main/java/com/github/cythara/MainActivity.java | 127++++++++++++++++++++++++++++++++++++-------------------------------------------
Mbuild.gradle | 2+-
Mgradle.properties | 7++++---
Agradle/gradle-daemon-jvm.properties | 12++++++++++++
Mgradle/wrapper/gradle-wrapper.properties | 2+-
Msettings.gradle | 3+++
7 files changed, 79 insertions(+), 76 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle @@ -18,7 +18,7 @@ android { buildTypes { release { minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } diff --git a/app/src/main/java/com/github/cythara/MainActivity.java b/app/src/main/java/com/github/cythara/MainActivity.java @@ -104,83 +104,70 @@ public class MainActivity extends AppCompatActivity implements TaskCallbacks, @Override public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.show_privacy_policy: { - Intent browserIntent = new Intent(Intent.ACTION_VIEW, - Uri.parse(getString(R.string.privacy_policy_link))); - startActivity(browserIntent); - - break; - } - case R.id.set_notation: { - final SharedPreferences preferences = getSharedPreferences(PREFS_FILE, - MODE_PRIVATE); - final boolean useScientificNotation = - preferences.getBoolean(USE_SCIENTIFIC_NOTATION, true); - - int checkedItem = useScientificNotation ? 0 : 1; - - Builder builder = new Builder(new ContextThemeWrapper(this, - R.style.AppTheme)); - builder.setTitle(R.string.choose_notation); - builder.setSingleChoiceItems(R.array.notations, checkedItem, - (dialog, which) -> { - SharedPreferences.Editor editor = preferences.edit(); - editor.putBoolean(USE_SCIENTIFIC_NOTATION, which == 0); - editor.apply(); - - dialog.dismiss(); - - TunerView tunerView = findViewById(R.id.pitch); - tunerView.invalidate(); - }); - builder.show(); - - break; - } - case R.id.toggle_dark_mode: { - final SharedPreferences preferences = getSharedPreferences(PREFS_FILE, - MODE_PRIVATE); - boolean currentlyUsingDarkMode = preferences.getBoolean(USE_DARK_MODE, true); + int itemId = item.getItemId(); + if (itemId == R.id.show_privacy_policy) { + Intent browserIntent = new Intent(Intent.ACTION_VIEW, + Uri.parse(getString(R.string.privacy_policy_link))); + startActivity(browserIntent); + } else if (itemId == R.id.set_notation) { + final SharedPreferences preferences = getSharedPreferences(PREFS_FILE, + MODE_PRIVATE); + final boolean useScientificNotation = + preferences.getBoolean(USE_SCIENTIFIC_NOTATION, true); + + int checkedItem = useScientificNotation ? 0 : 1; + + Builder builder = new Builder(new ContextThemeWrapper(this, + R.style.AppTheme)); + builder.setTitle(R.string.choose_notation); + builder.setSingleChoiceItems(R.array.notations, checkedItem, + (dialog, which) -> { + SharedPreferences.Editor editor = preferences.edit(); + editor.putBoolean(USE_SCIENTIFIC_NOTATION, which == 0); + editor.apply(); + + dialog.dismiss(); + + TunerView tunerView = findViewById(R.id.pitch); + tunerView.invalidate(); + }); + builder.show(); + } else if (itemId == R.id.toggle_dark_mode) { + final SharedPreferences preferences = getSharedPreferences(PREFS_FILE, + MODE_PRIVATE); + boolean currentlyUsingDarkMode = preferences.getBoolean(USE_DARK_MODE, true); - SharedPreferences.Editor editor = preferences.edit(); - editor.putBoolean(USE_DARK_MODE, !currentlyUsingDarkMode); - editor.apply(); + SharedPreferences.Editor editor = preferences.edit(); + editor.putBoolean(USE_DARK_MODE, !currentlyUsingDarkMode); + editor.apply(); - recreate(); + recreate(); + } else if (itemId == R.id.set_reference_pitch) { + final SharedPreferences preferences = getSharedPreferences(PREFS_FILE, + MODE_PRIVATE); + int referencePitch = preferences.getInt(REFERENCE_PITCH, 440); - break; - } - case R.id.set_reference_pitch: { - final SharedPreferences preferences = getSharedPreferences(PREFS_FILE, - MODE_PRIVATE); - int referencePitch = preferences.getInt(REFERENCE_PITCH, 440); + NumberPickerDialog dialog = new NumberPickerDialog(); - NumberPickerDialog dialog = new NumberPickerDialog(); + Bundle bundle = new Bundle(); + bundle.putInt("current_value", referencePitch); + dialog.setArguments(bundle); - Bundle bundle = new Bundle(); - bundle.putInt("current_value", referencePitch); - dialog.setArguments(bundle); + dialog.setValueChangeListener(this); + dialog.show(getSupportFragmentManager(), "reference_pitch_picker"); + } else if (itemId == R.id.choose_tuning_mode) { + final SharedPreferences preferences = getSharedPreferences(PREFS_FILE, + MODE_PRIVATE); + NotePickerDialog dialog = new NotePickerDialog(); - dialog.setValueChangeListener(this); - dialog.show(getSupportFragmentManager(), "reference_pitch_picker"); + Bundle bundle = new Bundle(); + bundle.putBoolean("use_scientific_notation", preferences.getBoolean( + MainActivity.USE_SCIENTIFIC_NOTATION, true)); + bundle.putInt("current_value", referencePosition); + dialog.setArguments(bundle); - break; - } - case R.id.choose_tuning_mode: { - final SharedPreferences preferences = getSharedPreferences(PREFS_FILE, - MODE_PRIVATE); - NotePickerDialog dialog = new NotePickerDialog(); - - Bundle bundle = new Bundle(); - bundle.putBoolean("use_scientific_notation", preferences.getBoolean( - MainActivity.USE_SCIENTIFIC_NOTATION, true)); - bundle.putInt("current_value", referencePosition); - dialog.setArguments(bundle); - - dialog.setValueChangeListener(this); - dialog.show(getSupportFragmentManager(), "note_picker"); - } + dialog.setValueChangeListener(this); + dialog.show(getSupportFragmentManager(), "note_picker"); } return false; diff --git a/build.gradle b/build.gradle @@ -7,7 +7,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:8.13.2' + classpath 'com.android.tools.build:gradle:9.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle.properties b/gradle.properties @@ -9,10 +9,11 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -android.defaults.buildfeatures.buildconfig=true -android.enableJetifier=true -android.nonFinalResIds=false +android.dependency.useConstraints=true +android.generateSyncIssueWhenLibraryConstraintsAreEnabled=false android.nonTransitiveRClass=false +android.r8.strictFullModeForKeepRules=false +android.uniquePackageNames=false android.useAndroidX=true org.gradle.jvmargs=-Xmx1536m diff --git a/gradle/gradle-daemon-jvm.properties b/gradle/gradle-daemon-jvm.properties @@ -0,0 +1,12 @@ +#This file is generated by updateDaemonJvm +toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/40b4344c056b4284246d176d9701577f/redirect +toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/9e87f9444e29ce8efb3f66e8435d94b4/redirect +toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/40b4344c056b4284246d176d9701577f/redirect +toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/9e87f9444e29ce8efb3f66e8435d94b4/redirect +toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/1050b2216f8beaaecc1289b17d30b586/redirect +toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/2208feeb3d4e12f412e9a450db1a842a/redirect +toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/40b4344c056b4284246d176d9701577f/redirect +toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/9e87f9444e29ce8efb3f66e8435d94b4/redirect +toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/69a793dd932268c7d1ae9d8b855de8ed/redirect +toolchainVendor=ADOPTIUM +toolchainVersion=17 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sat Apr 04 16:10:27 BST 2026 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle @@ -1 +1,4 @@ +plugins { + id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0' +} include ':app'