From cc898dc1f670801e5701d1a03e9bd58d4eaecd9b Mon Sep 17 00:00:00 2001 From: casey langen Date: Thu, 13 Apr 2023 13:46:12 -0700 Subject: [PATCH 1/4] Update CHANGELOG, bump commit hash. --- CHANGELOG.txt | 2 +- src/musikcore/sdk/version.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 8bfa32fcd..cdb4ed81f 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,6 @@ 0.99.8 -* TODO +* added uk_UA localization (@dinolaz) * update dependencies across all platforms: - ffmpeg@6.0 - openssl@3.1.0 diff --git a/src/musikcore/sdk/version.h b/src/musikcore/sdk/version.h index d5d8ba509..b75f2b8e3 100644 --- a/src/musikcore/sdk/version.h +++ b/src/musikcore/sdk/version.h @@ -40,8 +40,8 @@ #define MUSIKCUBE_VERSION_MINOR 99 #define MUSIKCUBE_VERSION_PATCH 8 #define MUSIKCUBE_VERSION "0.99.8" -#define MUSIKCUBE_VERSION_COMMIT_HASH "#01addae6" -#define MUSIKCUBE_VERSION_WITH_COMMIT_HASH "0.99.8-#01addae6" +#define MUSIKCUBE_VERSION_COMMIT_HASH "#889d6599" +#define MUSIKCUBE_VERSION_WITH_COMMIT_HASH "0.99.8-#889d6599" namespace musik { namespace cube { From fd06b85ae9cb9edcc82c281b740dff290f4268a4 Mon Sep 17 00:00:00 2001 From: casey langen Date: Thu, 13 Apr 2023 13:59:22 -0700 Subject: [PATCH 2/4] Update to asio@1.27.0 --- CHANGELOG.txt | 1 + src/3rdparty/asio | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index cdb4ed81f..c6bc575ec 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -7,6 +7,7 @@ - libcurl@8.0.1 - libmicrohttpd@0.9.76 - libopenmpt@0.6.9 + - asio@1.27.0 * update to PDCursesMod@4.3.6 for Windows builds -------------------------------------------------------------------------------- diff --git a/src/3rdparty/asio b/src/3rdparty/asio index 147f7225a..f693a3eb7 160000 --- a/src/3rdparty/asio +++ b/src/3rdparty/asio @@ -1 +1 @@ -Subproject commit 147f7225a96d45a2807a64e443177f621844e51c +Subproject commit f693a3eb7fe72a5f19b975289afc4f437d373d9c From 1c022196ebe29b39ca31145a28f99f880a63da03 Mon Sep 17 00:00:00 2001 From: casey langen Date: Thu, 13 Apr 2023 14:16:42 -0700 Subject: [PATCH 3/4] Disable update check for homebrew builds. --- CHANGELOG.txt | 1 + CMakeLists.txt | 7 +++++++ src/musikcube/app/layout/MainLayout.cpp | 2 ++ src/musikcube/app/layout/SettingsLayout.cpp | 13 ++++++++++++- 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index c6bc575ec..c838c595f 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -9,6 +9,7 @@ - libopenmpt@0.6.9 - asio@1.27.0 * update to PDCursesMod@4.3.6 for Windows builds +* disable update check for `homebrew` builds -------------------------------------------------------------------------------- diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c15cbab8..880575400 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,6 +71,13 @@ add_definitions( -D_WEBSOCKETPP_CPP11_RANDOM_DEVICE_ -DASIO_STANDALONE) +# disable update check for environments that we know will provided hosted, +# prebuilt binaries. +if (DEFINED ENV{HOMEBREW_PREFIX}) + message(STATUS "[build] detected homebrew, disabling update check functionality.") + add_definitions(-DDISABLE_UPDATE_CHECK) +endif() + if (${BUILD_STANDALONE} MATCHES "true") find_vendor_library(LIBCURL curl) find_vendor_library(LIBSSL ssl) diff --git a/src/musikcube/app/layout/MainLayout.cpp b/src/musikcube/app/layout/MainLayout.cpp index 9bc4bbee7..1da05543d 100755 --- a/src/musikcube/app/layout/MainLayout.cpp +++ b/src/musikcube/app/layout/MainLayout.cpp @@ -351,6 +351,7 @@ void MainLayout::OnTrackChanged(size_t index, musik::core::TrackPtr track) { } void MainLayout::RunUpdateCheck() { +#ifndef DISABLE_UPDATE_CHECK if (!prefs->GetBool(cube::prefs::keys::AutoUpdateCheck, true)) { return; } @@ -360,4 +361,5 @@ void MainLayout::RunUpdateCheck() { UpdateCheck::ShowUpgradeAvailableOverlay(version, url); } }); +#endif } diff --git a/src/musikcube/app/layout/SettingsLayout.cpp b/src/musikcube/app/layout/SettingsLayout.cpp index cf1be9d5a..6eae8b7e3 100755 --- a/src/musikcube/app/layout/SettingsLayout.cpp +++ b/src/musikcube/app/layout/SettingsLayout.cpp @@ -105,7 +105,9 @@ static const std::string arrow = "> "; static inline std::shared_ptr AdvancedSettingsSchema() { auto schema = std::make_shared>(); +#ifndef DISABLE_UPDATE_CHECK schema->AddBool(cube::prefs::keys::AutoUpdateCheck, false); +#endif #ifdef ENABLE_MINIMIZE_TO_TRAY schema->AddBool(cube::prefs::keys::MinimizeToTray, false); schema->AddBool(cube::prefs::keys::StartMinimized, false); @@ -310,6 +312,7 @@ void SettingsLayout::OnAdvancedSettingsActivate(cursespp::TextLabel* label) { } void SettingsLayout::OnUpdateDropdownActivate(cursespp::TextLabel* label) { +#ifndef DISABLE_UPDATE_CHECK updateCheck.Run([this](bool updateRequired, std::string version, std::string url) { if (updateRequired) { UpdateCheck::ShowUpgradeAvailableOverlay(version, url, false); @@ -318,6 +321,7 @@ void SettingsLayout::OnUpdateDropdownActivate(cursespp::TextLabel* label) { UpdateCheck::ShowNoUpgradeFoundOverlay(); } }); +#endif } void SettingsLayout::OnThemeDropdownActivate(cursespp::TextLabel* label) { @@ -386,8 +390,9 @@ void SettingsLayout::OnLayout() { this->saveSessionCheckbox->MoveAndResize(column2, y++, columnCx, kLabelHeight); this->pluginsDropdown->MoveAndResize(column2, y++, columnCx, kLabelHeight); this->advancedDropdown->MoveAndResize(column2, y++, columnCx, kLabelHeight); +#ifndef DISABLE_UPDATE_CHECK this->updateDropdown->MoveAndResize(column2, y++, columnCx, kLabelHeight); - +#endif this->appVersion->MoveAndResize(0, cy - 1, cx, kLabelHeight); } @@ -445,9 +450,11 @@ void SettingsLayout::InitializeWindows() { this->serverDropdown->Activated.connect(this, &SettingsLayout::OnServerDropdownActivate); } +#ifndef DISABLE_UPDATE_CHECK this->updateDropdown = std::make_shared(); this->updateDropdown->SetText(arrow + _TSTR("settings_check_for_updates")); this->updateDropdown->Activated.connect(this, &SettingsLayout::OnUpdateDropdownActivate); +#endif this->advancedDropdown = std::make_shared(); this->advancedDropdown->SetText(arrow + _TSTR("settings_advanced_settings")); @@ -496,7 +503,9 @@ void SettingsLayout::InitializeWindows() { this->saveSessionCheckbox->SetFocusOrder(order++); this->pluginsDropdown->SetFocusOrder(order++); this->advancedDropdown->SetFocusOrder(order++); +#ifndef DISABLE_UPDATE_CHECK this->updateDropdown->SetFocusOrder(order++); +#endif this->AddWindow(this->libraryTypeDropdown); this->AddWindow(this->localLibraryLayout); @@ -528,7 +537,9 @@ void SettingsLayout::InitializeWindows() { this->AddWindow(this->saveSessionCheckbox); this->AddWindow(this->pluginsDropdown); this->AddWindow(this->advancedDropdown); +#ifndef DISABLE_UPDATE_CHECK this->AddWindow(this->updateDropdown); +#endif this->AddWindow(this->appVersion); } From 99e611d30f47f9ccf4cf3449d1a0d894cbe84c9d Mon Sep 17 00:00:00 2001 From: casey langen Date: Thu, 13 Apr 2023 16:37:17 -0700 Subject: [PATCH 4/4] Update musikdroid to use the most recent Android Studio and dependencies. --- CHANGELOG.txt | 1 + src/musikdroid/app/build.gradle | 31 ++++++++++--------- src/musikdroid/build.gradle | 8 ++--- src/musikdroid/gradle.properties | 5 ++- .../gradle/wrapper/gradle-wrapper.properties | 2 +- 5 files changed, 26 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index c838c595f..075884677 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -9,6 +9,7 @@ - libopenmpt@0.6.9 - asio@1.27.0 * update to PDCursesMod@4.3.6 for Windows builds +* update `musikdroid` to use Android Studio `Flamingo` and update dependencies * disable update check for `homebrew` builds -------------------------------------------------------------------------------- diff --git a/src/musikdroid/app/build.gradle b/src/musikdroid/app/build.gradle index 07a75d6d1..e3279fa48 100644 --- a/src/musikdroid/app/build.gradle +++ b/src/musikdroid/app/build.gradle @@ -18,14 +18,14 @@ android { applicationId "io.casey.musikcube.remote" minSdkVersion 21 targetSdk 33 - versionCode 113 - versionName "0.99.0" + versionCode 114 + versionName "0.99.8" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } buildTypes { @@ -44,6 +44,7 @@ android { ext.alwaysUpdateBuildId = false } } + namespace 'io.casey.musikcube.remote' } @@ -61,18 +62,18 @@ dependencies { exclude group: 'com.android.support', module: 'support-annotations' }) - implementation 'com.google.firebase:firebase-analytics:21.2.0' + implementation 'com.google.firebase:firebase-analytics:21.2.2' implementation 'com.google.firebase:firebase-core:21.1.1' - implementation 'com.google.firebase:firebase-crashlytics:18.3.2' + implementation 'com.google.firebase:firebase-crashlytics:18.3.6' implementation 'org.slf4j:slf4j-android:1.7.21' - implementation "androidx.room:room-runtime:2.4.3" - kapt "androidx.room:room-compiler:2.4.3" + implementation "androidx.room:room-runtime:2.5.1" + kapt "androidx.room:room-compiler:2.5.1" - implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1" + implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.6.1" implementation "androidx.lifecycle:lifecycle-extensions:2.2.0" - implementation "androidx.lifecycle:lifecycle-common-java8:2.5.1" + implementation "androidx.lifecycle:lifecycle-common-java8:2.6.1" compileOnly 'org.glassfish:javax.annotation:10.0-b28' implementation 'com.google.dagger:dagger:2.42' @@ -86,14 +87,14 @@ dependencies { implementation 'io.reactivex.rxjava2:rxjava:2.2.16' implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' implementation 'io.reactivex.rxjava2:rxkotlin:2.4.0' - implementation 'com.google.android.exoplayer:exoplayer:2.18.2' - implementation 'com.google.android.exoplayer:extension-okhttp:2.18.2' + implementation 'com.google.android.exoplayer:exoplayer:2.18.5' + implementation 'com.google.android.exoplayer:extension-okhttp:2.18.5' implementation 'com.simplecityapps:recyclerview-fastscroll:2.0.0' implementation 'me.zhanghai.android.materialprogressbar:library:1.6.1' - implementation 'androidx.appcompat:appcompat:1.5.1' - implementation 'androidx.recyclerview:recyclerview:1.2.1' - implementation 'com.google.android.material:material:1.8.0-beta01' + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'androidx.recyclerview:recyclerview:1.3.0' + implementation 'com.google.android.material:material:1.8.0' implementation 'androidx.media:media:1.6.0' testImplementation 'junit:junit:4.13.1' diff --git a/src/musikdroid/build.gradle b/src/musikdroid/build.gradle index 66eed3ff1..8c717f6fe 100644 --- a/src/musikdroid/build.gradle +++ b/src/musikdroid/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.7.20' + ext.kotlin_version = '1.8.0' repositories { google() @@ -7,10 +7,10 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.3.1' + classpath 'com.android.tools.build:gradle:8.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath 'com.google.gms:google-services:4.3.14' - classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2' + classpath 'com.google.gms:google-services:4.3.15' + classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.5' } } diff --git a/src/musikdroid/gradle.properties b/src/musikdroid/gradle.properties index 0b5dabdff..45469ae8c 100644 --- a/src/musikdroid/gradle.properties +++ b/src/musikdroid/gradle.properties @@ -3,4 +3,7 @@ org.gradle.caching=true org.gradle.parallel=true android.useAndroidX=true android.enableJetifier=true -android.suppressUnsupportedCompileSdk=33 \ No newline at end of file +android.suppressUnsupportedCompileSdk=33 +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false \ No newline at end of file diff --git a/src/musikdroid/gradle/wrapper/gradle-wrapper.properties b/src/musikdroid/gradle/wrapper/gradle-wrapper.properties index ad176382c..868eb6b7a 100644 --- a/src/musikdroid/gradle/wrapper/gradle-wrapper.properties +++ b/src/musikdroid/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip