Skip to content

Commit 268a582

Browse files
authored
Merge pull request #239 from Piwigo/develop
Upgrade to 2.4.1 # Changelog ## What's new - Fix being unable to fetch albums when user/guest does not have download permission - Fix path duplication when adding auto-upload - Now listen to image share intent - Update translations - The select move copy Modal has been redesigned to be more coherent ## On the dev side - Migrate to gradle DSL - Update internals ( AGP, AndroidX, Kotlin) - Now use the latest flutter release - Gradle will use up to 8G of ram to build faster - Foojay resolve and proper JVM toolchain are now used
2 parents 150581b + 090c4dc commit 268a582

36 files changed

Lines changed: 704 additions & 463 deletions

.fvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"flutter": "3.27.4"
2+
"flutter": "3.35.5"
33
}

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
/.flutter-plugins
66
/.flutter-plugins-dependencies
77
/.packages
8-
98
*.env
109

10+
# May be temporary
11+
devtools_options.yaml
12+
1113
# FVM Version Cache
1214
.fvm/
1315
/.dart_tool/

android/app/build.gradle

Lines changed: 0 additions & 68 deletions
This file was deleted.

android/app/build.gradle.kts

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2+
import java.util.Properties
3+
import java.io.FileInputStream
4+
5+
plugins {
6+
id("com.android.application")
7+
id("kotlin-android")
8+
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
9+
id("dev.flutter.flutter-gradle-plugin")
10+
}
11+
12+
java {
13+
toolchain {
14+
languageVersion = JavaLanguageVersion.of(17)
15+
}
16+
}
17+
// https://docs.flutter.dev/deployment/android#configure-signing-in-gradle
18+
val keystoreProperties = Properties()
19+
val keystorePropertiesFile = rootProject.file("key.properties")
20+
if (keystorePropertiesFile.exists()) {
21+
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
22+
}
23+
24+
android {
25+
namespace = "com.remi.piwigo_ng"
26+
//compileSdkVersion flutter.compileSdkVersion
27+
//ndkVersion = flutter.ndkVersion
28+
compileSdk = 36
29+
ndkVersion = "29.0.14206865 "
30+
31+
val compileJavaVersion = JavaVersion.VERSION_17
32+
val kotlinJvmTarget = JvmTarget.JVM_17
33+
34+
compileOptions {
35+
// Flag to enable support for the new language APIs
36+
isCoreLibraryDesugaringEnabled = true
37+
// Sets Java compatibility to Java 17
38+
sourceCompatibility = compileJavaVersion
39+
targetCompatibility = compileJavaVersion
40+
}
41+
42+
kotlin {
43+
compilerOptions {
44+
jvmTarget = kotlinJvmTarget
45+
}
46+
}
47+
48+
defaultConfig {
49+
applicationId = "com.piwigo.piwigo_ng"
50+
multiDexEnabled = true
51+
minSdk = 26
52+
targetSdk = 36
53+
versionCode = flutter.versionCode
54+
versionName = flutter.versionName
55+
}
56+
57+
signingConfigs {
58+
create("release") {
59+
keyAlias = keystoreProperties["keyAlias"] as? String
60+
keyPassword = keystoreProperties["keyPassword"] as? String
61+
storeFile = keystoreProperties["storeFile"]?.let { file(it) }
62+
storePassword = keystoreProperties["storePassword"] as? String
63+
}
64+
}
65+
66+
buildTypes {
67+
release {
68+
signingConfig = signingConfigs.getByName("release")
69+
}
70+
}
71+
}
72+
73+
flutter {
74+
source = "../.."
75+
}
76+
77+
dependencies {
78+
implementation("androidx.window:window:1.5.0")
79+
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
80+
}

android/app/src/main/AndroidManifest.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,16 @@
3737
<action android:name="android.intent.action.MAIN"/>
3838
<category android:name="android.intent.category.LAUNCHER"/>
3939
</intent-filter>
40+
<intent-filter>
41+
<action android:name="android.intent.action.SEND" />
42+
<category android:name="android.intent.category.DEFAULT" />
43+
<data android:mimeType="image/*" />
44+
</intent-filter>
45+
<intent-filter>
46+
<action android:name="android.intent.action.SEND_MULTIPLE" />
47+
<category android:name="android.intent.category.DEFAULT" />
48+
<data android:mimeType="image/*" />
49+
</intent-filter>
4050
</activity>
4151

4252
<!-- Don't delete the meta-data below.

android/build.gradle

Lines changed: 0 additions & 16 deletions
This file was deleted.

android/build.gradle.kts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
allprojects {
2+
repositories {
3+
google()
4+
mavenCentral()
5+
}
6+
}
7+
8+
val newBuildDir: Directory = rootProject.layout.buildDirectory
9+
.dir("../../build")
10+
.get()
11+
rootProject.layout.buildDirectory.value(newBuildDir)
12+
13+
subprojects {
14+
val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
15+
project.layout.buildDirectory.value(newSubprojectBuildDir)
16+
}
17+
subprojects {
18+
project.evaluationDependsOn(":app")
19+
}
20+
21+
tasks.register<Delete>("clean") {
22+
delete(rootProject.layout.buildDirectory)
23+
}

android/gradle.properties

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@
1111
# https://developer.android.com/r/tools/gradle-multi-project-decoupled-projects
1212
# org.gradle.parallel=true
1313
#Tue Apr 22 14:46:56 CEST 2025
14-
android.enableJetifier=true
15-
android.jetifier.ignorelist=bcprov-jdk15on
1614
android.nonFinalResIds=false
1715
android.nonTransitiveRClass=false
1816
android.useAndroidX=true
19-
org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M"
17+
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError

android/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip

android/settings.gradle

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)