Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .fvm/fvm_config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"flutterSdkVersion": "3.27.3",
"flavors": {}
}
}
12 changes: 5 additions & 7 deletions .github/workflows/distribute-flutter-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ on:
description: "Distribution environment"
type: string
required: true

secrets:
PENHAS_BASE_URL:
required: true
Expand All @@ -20,12 +19,11 @@ on:
TESTER_EMAIL:
required: false

# Define permissions for GITHUB_TOKEN
permissions:
contents: read # Required for actions/checkout
id-token: write # Required for some authentication tasks
packages: write # Required if you're publishing packages
actions: write # Required if you're triggering other workflows
contents: read
id-token: write
packages: write
actions: write

jobs:
distribute:
Expand Down Expand Up @@ -88,7 +86,7 @@ jobs:

- name: Set Gradle JVM Options
run: echo "org.gradle.jvmargs=-Xmx4g" >> android/gradle.properties

- name: Run lane to distribute
uses: maierj/fastlane-action@v3.0.0
with:
Expand Down
7 changes: 4 additions & 3 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,16 @@ def isFirebaseDistribution = System.getenv('IS_FIREBASE_DISTRIBUTION') == 'true'
android {
namespace 'br.com.azmina.penhas'

compileSdkVersion 35
compileSdkVersion 36

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}


defaultConfig {
applicationId "penhas.com.br"
minSdkVersion 24
targetSdkVersion 35
targetSdkVersion 36
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Expand Down Expand Up @@ -110,4 +109,6 @@ dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
//Remove after flutter_background_service is updated
implementation "androidx.work:work-runtime-ktx:2.8.1"
}
14 changes: 14 additions & 0 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,20 @@
</intent-filter>
</service>

<!-- Remove after flutter_background_service is updated -->
<receiver
android:name="com.github.flutter_background_service.components.BootReceiver"
tools:node="remove"/>

<!-- Remove after flutter_background_service is updated -->
<receiver
android:name=".BootReceiverV15"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>

</application>

<uses-permission android:name="android.permission.INTERNET"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package br.com.azmina.penhas

import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import androidx.work.OneTimeWorkRequestBuilder
import androidx.work.WorkManager
import androidx.work.CoroutineWorker
import androidx.work.WorkerParameters
import java.util.concurrent.TimeUnit
import id.flutter.flutter_background_service.BackgroundService

class BootReceiverV15 : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (Intent.ACTION_BOOT_COMPLETED == intent.action) {
val workRequest = OneTimeWorkRequestBuilder<StartServiceWorker>()
.setInitialDelay(1, TimeUnit.SECONDS)
.build()
WorkManager.getInstance(context).enqueue(workRequest)
}
}
}

class StartServiceWorker(context: Context, params: WorkerParameters) : CoroutineWorker(context, params) {
override suspend fun doWork(): Result {
val serviceIntent = Intent(applicationContext, BackgroundService::class.java)
applicationContext.startForegroundService(serviceIntent)
return Result.success()
}
}
4 changes: 2 additions & 2 deletions android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
buildscript {
ext.kotlin_version = '1.8.10'
ext.kotlin_version = '1.9.10'
repositories {
google()
jcenter()
Expand All @@ -9,7 +9,7 @@ buildscript {
}

dependencies {
classpath 'com.android.tools.build:gradle:8.1.3'
classpath 'com.android.tools.build:gradle:8.6.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// Add the google services classpath
classpath 'com.google.gms:google-services:4.4.2'
Expand Down
3 changes: 3 additions & 0 deletions android/fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,11 @@ platform :android do

build_apk

apk_path = "build/app/outputs/flutter-apk/app-release.apk"

firebase_app_distribution(
app: firebase_id(),
apk_path: apk_path,
release_notes: get_changelog(),
android_artifact_path: "#{$project_path}/build/app/outputs/apk/release/app-release.apk",
groups: groups,
Expand Down
2 changes: 1 addition & 1 deletion android/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
4 changes: 2 additions & 2 deletions android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ pluginManagement {

plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version '8.1.3' apply false
id "org.jetbrains.kotlin.android" version "1.8.20" apply false
id "com.android.application" version '8.6.1' apply false
id "org.jetbrains.kotlin.android" version "2.1.0" apply false
id "com.google.gms.google-services" version "4.3.15" apply false
id "com.google.firebase.crashlytics" version "2.8.1" apply false
}
Expand Down
80 changes: 40 additions & 40 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ PODS:
- FirebaseSharedSwift (~> 11.0)
- GoogleUtilities/Environment (~> 8.0)
- "GoogleUtilities/NSData+zlib (~> 8.0)"
- FirebaseRemoteConfigInterop (11.11.0)
- FirebaseRemoteConfigInterop (11.15.0)
- FirebaseSessions (11.8.0):
- FirebaseCore (~> 11.8.0)
- FirebaseCoreExtension (~> 11.8.0)
Expand All @@ -91,16 +91,16 @@ PODS:
- GoogleUtilities/UserDefaults (~> 8.0)
- nanopb (~> 3.30910.0)
- PromisesSwift (~> 2.1)
- FirebaseSharedSwift (11.11.0)
- FirebaseSharedSwift (11.15.0)
- Flutter (1.0.0)
- flutter_background_service_ios (0.0.3):
- Flutter
- flutter_secure_storage (6.0.0):
- Flutter
- flutter_sound (9.27.0):
- flutter_sound (9.28.0):
- Flutter
- flutter_sound_core (= 9.27.0)
- flutter_sound_core (9.27.0)
- flutter_sound_core (= 9.28.0)
- flutter_sound_core (9.28.0)
- geolocator_apple (1.2.0):
- Flutter
- FlutterMacOS
Expand Down Expand Up @@ -138,31 +138,31 @@ PODS:
- GoogleMaps/Base (8.4.0)
- GoogleMaps/Maps (8.4.0):
- GoogleMaps/Base
- GoogleUtilities/AppDelegateSwizzler (8.0.2):
- GoogleUtilities/AppDelegateSwizzler (8.1.0):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Privacy
- GoogleUtilities/Environment (8.0.2):
- GoogleUtilities/Environment (8.1.0):
- GoogleUtilities/Privacy
- GoogleUtilities/Logger (8.0.2):
- GoogleUtilities/Logger (8.1.0):
- GoogleUtilities/Environment
- GoogleUtilities/Privacy
- GoogleUtilities/MethodSwizzler (8.0.2):
- GoogleUtilities/MethodSwizzler (8.1.0):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GoogleUtilities/Network (8.0.2):
- GoogleUtilities/Network (8.1.0):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Privacy
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (8.0.2)":
- "GoogleUtilities/NSData+zlib (8.1.0)":
- GoogleUtilities/Privacy
- GoogleUtilities/Privacy (8.0.2)
- GoogleUtilities/Reachability (8.0.2):
- GoogleUtilities/Privacy (8.1.0)
- GoogleUtilities/Reachability (8.1.0):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GoogleUtilities/UserDefaults (8.0.2):
- GoogleUtilities/UserDefaults (8.1.0):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- just_audio (0.0.1):
Expand Down Expand Up @@ -298,13 +298,13 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/webview_flutter_wkwebview/darwin"

SPEC CHECKSUMS:
audio_session: 19e9480dbdd4e5f6c4543826b2e8b0e4ab6145fe
device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342
audio_session: 9bb7f6c970f21241b19f5a3658097ae459681ba0
device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe
Firebase: d80354ed7f6df5f9aca55e9eb47cc4b634735eaf
firebase_analytics: 7ec1166af61987fa968766eb11587c562a5650ee
firebase_core: ac395f994af4e28f6a38b59e05a88ca57abeb874
firebase_crashlytics: 0f3a46f30fce2159f715ac33eef98a2aa5d598f1
firebase_remote_config: a98909ec3fd3aef7a128d5a507181c82abc8694e
firebase_analytics: d9a47ad8168f1da7bab57cd1400833d2bc48a043
firebase_core: 8d552814f6c01ccde5d88939fced4ec26f2f5510
firebase_crashlytics: 05519be6b623981a77fe54fb52e6061956cb6047
firebase_remote_config: ca499f96ddbcc63db863b941bf9f5e6e9a81ceba
FirebaseABTesting: 7d6eee42b9137541eac2610e5fea3568d956707a
FirebaseAnalytics: 4fd42def128146e24e480e89f310e3d8534ea42b
FirebaseCore: 99fe0c4b44a39f37d99e6404e02009d2db5d718d
Expand All @@ -313,35 +313,35 @@ SPEC CHECKSUMS:
FirebaseCrashlytics: a1102c035f18d5dd94a5969ee439c526d0c9e313
FirebaseInstallations: 6c963bd2a86aca0481eef4f48f5a4df783ae5917
FirebaseRemoteConfig: f63724461fd97f0d62f20021314b59388f3e8ef8
FirebaseRemoteConfigInterop: 85bdce8babed7814816496bb6f082bc05b0a45e1
FirebaseRemoteConfigInterop: 1c6135e8a094cc6368949f5faeeca7ee8948b8aa
FirebaseSessions: c4d40a97f88f9eaff2834d61b4fea0a522d62123
FirebaseSharedSwift: b1d32c3b29a911dc174bcf363f2f70bda9509d2f
FirebaseSharedSwift: e17c654ef1f1a616b0b33054e663ad1035c8fd40
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_background_service_ios: e30e0d3ee69e4cee66272d0c78eacd48c2e94aac
flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12
flutter_sound: 47dd7c20f8acf17507ba504c76992198be7879a5
flutter_sound_core: eed9770a54160cf4d4e1d3259c4c34738654df55
geolocator_apple: 66b711889fd333205763b83c9dcf0a57a28c7afd
flutter_background_service_ios: 00d31bdff7b4bfe06d32375df358abe0329cf87e
flutter_secure_storage: 1ed9476fba7e7a782b22888f956cce43e2c62f13
flutter_sound: b9236a5875299aaa4cef1690afd2f01d52a3f890
flutter_sound_core: 427465f72d07ab8c3edbe8ffdde709ddacd3763c
geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
Google-Maps-iOS-Utils: 66d6de12be1ce6d3742a54661e7a79cb317a9321
google_maps_flutter_ios: e31555a04d1986ab130f2b9f24b6cdc861acc6d3
google_maps_flutter_ios: 0291eb2aa252298a769b04d075e4a9d747ff7264
GoogleAppMeasurement: fc0817122bd4d4189164f85374e06773b9561896
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
GoogleMaps: 8939898920281c649150e0af74aa291c60f2e77d
GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d
just_audio: a42c63806f16995daf5b219ae1d679deb76e6a79
map_launcher: 5fde49ac9a52672bf99da746599f507b4490d7b5
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
just_audio: 4e391f57b79cad2b0674030a00453ca5ce817eed
map_launcher: fe43bda6720bb73c12fcc1bdd86123ff49a4d4d6
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
path_provider_ios: 025d0bdaa9f9ab016700ac1e07ff63415cf638e9
permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3
wakelock_plus: 373cfe59b235a6dd5837d0fb88791d2f13a90d56
webview_flutter_wkwebview: a4af96a051138e28e29f60101d094683b9f82188
shared_preferences_ios: 7ee5572d25d2f093bc27a9ede31993d8737a711d
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
video_player_avfoundation: 2cef49524dd1f16c5300b9cd6efd9611ce03639b
wakelock_plus: 04623e3f525556020ebd4034310f20fe7fda8b49
webview_flutter_wkwebview: 1821ceac936eba6f7984d89a9f3bcb4dea99ebb2

PODFILE CHECKSUM: 523a019f6fbc954f537ac9e0ebc60aab48e66655

Expand Down
3 changes: 3 additions & 0 deletions ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
Expand All @@ -43,11 +44,13 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
Expand Down
Loading
Loading