diff --git a/packages/screen_state/CHANGELOG.md b/packages/screen_state/CHANGELOG.md
index 33fafd8ed..f4990152c 100644
--- a/packages/screen_state/CHANGELOG.md
+++ b/packages/screen_state/CHANGELOG.md
@@ -1,3 +1,9 @@
+## 5.0.1
+
+* Fix app not running on Flutter 3.44.X
+* Fix privacy manifest issue on iOS.
+* Update minimum iOS version to 15.0.
+
## 5.0.0
* Update to kotlin 2.2.2
diff --git a/packages/screen_state/android/build.gradle b/packages/screen_state/android/build.gradle
deleted file mode 100644
index eef6cbb34..000000000
--- a/packages/screen_state/android/build.gradle
+++ /dev/null
@@ -1,67 +0,0 @@
-group = "dk.cachet.screen_state"
-version = "1.0-SNAPSHOT"
-
-buildscript {
- ext.kotlin_version = "2.2.20"
- repositories {
- google()
- mavenCentral()
- }
-
- dependencies {
- classpath("com.android.tools.build:gradle:8.12.1")
- classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
- }
-}
-
-allprojects {
- repositories {
- google()
- mavenCentral()
- }
-}
-
-apply plugin: "com.android.library"
-apply plugin: "kotlin-android"
-
-android {
- namespace "dk.cachet.screen_state"
-
- compileSdk = 33
-
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_17
- targetCompatibility = JavaVersion.VERSION_17
- }
-
- kotlinOptions {
- jvmTarget = JavaVersion.VERSION_17
- }
-
- sourceSets {
- main.java.srcDirs += "src/main/kotlin"
- test.java.srcDirs += "src/test/kotlin"
- }
-
- defaultConfig {
- minSdk = 21
- }
-
- dependencies {
- testImplementation("org.jetbrains.kotlin:kotlin-test")
- testImplementation("org.mockito:mockito-core:5.0.0")
- }
-
- testOptions {
- unitTests.all {
- useJUnitPlatform()
-
- testLogging {
- events "passed", "skipped", "failed", "standardOut", "standardError"
- outputs.upToDateWhen {false}
- showStandardStreams = true
- }
- }
- }
-}
-
diff --git a/packages/screen_state/android/build.gradle.kts b/packages/screen_state/android/build.gradle.kts
new file mode 100644
index 000000000..c5eb428e6
--- /dev/null
+++ b/packages/screen_state/android/build.gradle.kts
@@ -0,0 +1,77 @@
+group = "dk.cachet.screen_state"
+version = "5.0.1"
+
+buildscript {
+ val kotlinVersion = "2.3.20"
+ repositories {
+ google()
+ mavenCentral()
+ }
+
+ dependencies {
+ classpath("com.android.tools.build:gradle:9.0.1")
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
+ }
+}
+
+allprojects {
+ repositories {
+ google()
+ mavenCentral()
+ }
+}
+
+plugins {
+ id("com.android.library")
+}
+
+android {
+ namespace = "dk.cachet.screen_state"
+
+ compileSdk = 36
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
+
+ sourceSets {
+ getByName("main") {
+ java.srcDirs("src/main/kotlin")
+ }
+ getByName("test") {
+ java.srcDirs("src/test/kotlin")
+ }
+ }
+
+ defaultConfig {
+ minSdk = 24
+ }
+
+ testOptions {
+ unitTests {
+ isIncludeAndroidResources = true
+ all {
+ it.useJUnitPlatform()
+
+ it.outputs.upToDateWhen { false }
+
+ it.testLogging {
+ events("passed", "skipped", "failed", "standardOut", "standardError")
+ showStandardStreams = true
+ }
+ }
+ }
+ }
+}
+
+kotlin {
+ compilerOptions {
+ jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
+ }
+}
+
+dependencies {
+ testImplementation("org.jetbrains.kotlin:kotlin-test")
+ testImplementation("org.mockito:mockito-core:5.0.0")
+}
diff --git a/packages/screen_state/android/settings.gradle b/packages/screen_state/android/settings.gradle
deleted file mode 100644
index b9cae94be..000000000
--- a/packages/screen_state/android/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-rootProject.name = 'screen_state'
diff --git a/packages/screen_state/android/settings.gradle.kts b/packages/screen_state/android/settings.gradle.kts
new file mode 100644
index 000000000..a1b397800
--- /dev/null
+++ b/packages/screen_state/android/settings.gradle.kts
@@ -0,0 +1 @@
+rootProject.name = "screen_state"
diff --git a/packages/screen_state/example/android/app/build.gradle b/packages/screen_state/example/android/app/build.gradle.kts
similarity index 75%
rename from packages/screen_state/example/android/app/build.gradle
rename to packages/screen_state/example/android/app/build.gradle.kts
index dc0e98f2b..e1128ef44 100644
--- a/packages/screen_state/example/android/app/build.gradle
+++ b/packages/screen_state/example/android/app/build.gradle.kts
@@ -1,12 +1,11 @@
plugins {
- id "com.android.application"
- id "kotlin-android"
+ id("com.android.application")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
- id "dev.flutter.flutter-gradle-plugin"
+ id("dev.flutter.flutter-gradle-plugin")
}
android {
- namespace = "com.example.example"
+ namespace = "dk.cachet.screen_state_example"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
@@ -15,13 +14,9 @@ android {
targetCompatibility = JavaVersion.VERSION_17
}
- kotlinOptions {
- jvmTarget = JavaVersion.VERSION_17.toString()
- }
-
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
- applicationId = "com.example.example"
+ applicationId = "dk.cachet.screen_state_example"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion
@@ -34,11 +29,17 @@ android {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
- signingConfig = signingConfigs.debug
+ signingConfig = signingConfigs.getByName("debug")
}
}
}
+kotlin {
+ compilerOptions {
+ jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
+ }
+}
+
flutter {
source = "../.."
}
diff --git a/packages/screen_state/example/android/app/src/main/AndroidManifest.xml b/packages/screen_state/example/android/app/src/main/AndroidManifest.xml
index 2710e5dc7..05b79f6b5 100644
--- a/packages/screen_state/example/android/app/src/main/AndroidManifest.xml
+++ b/packages/screen_state/example/android/app/src/main/AndroidManifest.xml
@@ -7,6 +7,7 @@
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
+ android:taskAffinity=""
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
@@ -30,4 +31,15 @@
android:name="flutterEmbedding"
android:value="2" />
+
+
+
+
+
+
+
diff --git a/packages/screen_state/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt b/packages/screen_state/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt
deleted file mode 100644
index e793a000d..000000000
--- a/packages/screen_state/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package com.example.example
-
-import io.flutter.embedding.android.FlutterActivity
-
-class MainActivity: FlutterActivity() {
-}
diff --git a/packages/screen_state/example/android/app/src/main/kotlin/dk/cachet/screen_state_example/MainActivity.kt b/packages/screen_state/example/android/app/src/main/kotlin/dk/cachet/screen_state_example/MainActivity.kt
new file mode 100644
index 000000000..24b2caf3d
--- /dev/null
+++ b/packages/screen_state/example/android/app/src/main/kotlin/dk/cachet/screen_state_example/MainActivity.kt
@@ -0,0 +1,5 @@
+package dk.cachet.screen_state_example
+
+import io.flutter.embedding.android.FlutterActivity
+
+class MainActivity : FlutterActivity()
diff --git a/packages/screen_state/example/android/build.gradle b/packages/screen_state/example/android/build.gradle
deleted file mode 100644
index d2ffbffa4..000000000
--- a/packages/screen_state/example/android/build.gradle
+++ /dev/null
@@ -1,18 +0,0 @@
-allprojects {
- repositories {
- google()
- mavenCentral()
- }
-}
-
-rootProject.buildDir = "../build"
-subprojects {
- project.buildDir = "${rootProject.buildDir}/${project.name}"
-}
-subprojects {
- project.evaluationDependsOn(":app")
-}
-
-tasks.register("clean", Delete) {
- delete rootProject.buildDir
-}
diff --git a/packages/screen_state/example/android/build.gradle.kts b/packages/screen_state/example/android/build.gradle.kts
new file mode 100644
index 000000000..dbee657bb
--- /dev/null
+++ b/packages/screen_state/example/android/build.gradle.kts
@@ -0,0 +1,24 @@
+allprojects {
+ repositories {
+ google()
+ mavenCentral()
+ }
+}
+
+val newBuildDir: Directory =
+ rootProject.layout.buildDirectory
+ .dir("../../build")
+ .get()
+rootProject.layout.buildDirectory.value(newBuildDir)
+
+subprojects {
+ val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
+ project.layout.buildDirectory.value(newSubprojectBuildDir)
+}
+subprojects {
+ project.evaluationDependsOn(":app")
+}
+
+tasks.register("clean") {
+ delete(rootProject.layout.buildDirectory)
+}
diff --git a/packages/screen_state/example/android/gradle.properties b/packages/screen_state/example/android/gradle.properties
index 259717082..e96108cfe 100644
--- a/packages/screen_state/example/android/gradle.properties
+++ b/packages/screen_state/example/android/gradle.properties
@@ -1,3 +1,6 @@
-org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
+org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
-android.enableJetifier=true
+# This newDsl flag was added by the Flutter template
+android.newDsl=false
+# This builtInKotlin flag was added by the Flutter template
+android.builtInKotlin=false
diff --git a/packages/screen_state/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/screen_state/example/android/gradle/wrapper/gradle-wrapper.properties
index e603bd338..2d428bfb1 100644
--- a/packages/screen_state/example/android/gradle/wrapper/gradle-wrapper.properties
+++ b/packages/screen_state/example/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-all.zip
diff --git a/packages/screen_state/example/android/settings.gradle b/packages/screen_state/example/android/settings.gradle
deleted file mode 100644
index e238cfb99..000000000
--- a/packages/screen_state/example/android/settings.gradle
+++ /dev/null
@@ -1,25 +0,0 @@
-pluginManagement {
- def flutterSdkPath = {
- def properties = new Properties()
- file("local.properties").withInputStream { properties.load(it) }
- def flutterSdkPath = properties.getProperty("flutter.sdk")
- assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
- return flutterSdkPath
- }()
-
- includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
-
- repositories {
- google()
- mavenCentral()
- gradlePluginPortal()
- }
-}
-
-plugins {
- id "dev.flutter.flutter-plugin-loader" version "1.0.2"
- id "com.android.application" version "8.12.1" apply false
- id "org.jetbrains.kotlin.android" version "2.2.20" apply false
-}
-
-include ":app"
diff --git a/packages/screen_state/example/android/settings.gradle.kts b/packages/screen_state/example/android/settings.gradle.kts
new file mode 100644
index 000000000..c21f0c5b4
--- /dev/null
+++ b/packages/screen_state/example/android/settings.gradle.kts
@@ -0,0 +1,26 @@
+pluginManagement {
+ val flutterSdkPath =
+ run {
+ val properties = java.util.Properties()
+ file("local.properties").inputStream().use { properties.load(it) }
+ val flutterSdkPath = properties.getProperty("flutter.sdk")
+ require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
+ flutterSdkPath
+ }
+
+ includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
+
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+
+plugins {
+ id("dev.flutter.flutter-plugin-loader") version "1.0.0"
+ id("com.android.application") version "9.0.1" apply false
+ id("org.jetbrains.kotlin.android") version "2.3.20" apply false
+}
+
+include(":app")
diff --git a/packages/screen_state/example/ios/Flutter/AppFrameworkInfo.plist b/packages/screen_state/example/ios/Flutter/AppFrameworkInfo.plist
index 1dc6cf765..391a902b2 100644
--- a/packages/screen_state/example/ios/Flutter/AppFrameworkInfo.plist
+++ b/packages/screen_state/example/ios/Flutter/AppFrameworkInfo.plist
@@ -20,7 +20,5 @@
????
CFBundleVersion
1.0
- MinimumOSVersion
- 13.0
diff --git a/packages/screen_state/example/ios/Runner.xcodeproj/project.pbxproj b/packages/screen_state/example/ios/Runner.xcodeproj/project.pbxproj
index 440a431c3..f25383528 100644
--- a/packages/screen_state/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/packages/screen_state/example/ios/Runner.xcodeproj/project.pbxproj
@@ -11,6 +11,7 @@
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
+ 7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */; };
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
@@ -48,6 +49,7 @@
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; };
78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
@@ -57,6 +59,8 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 784666492D4C4C64000A1A5F /* FlutterFramework */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterFramework; path = Flutter/ephemeral/Packages/.packages/FlutterFramework; sourceTree = ""; };
+ 78DABEA22ED26510000E7860 /* screen_state */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = screen_state; path = ../../ios/screen_state; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -89,6 +93,8 @@
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
+ 78DABEA22ED26510000E7860 /* screen_state */,
+ 784666492D4C4C64000A1A5F /* FlutterFramework */,
78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */,
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
@@ -128,6 +134,7 @@
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
+ 7884E8672EC3CC0400C636F2 /* SceneDelegate.swift */,
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
);
path = Runner;
@@ -296,6 +303,7 @@
files = (
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
+ 7884E8682EC3CC0700C636F2 /* SceneDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -370,7 +378,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -496,7 +504,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -545,7 +553,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
diff --git a/packages/screen_state/example/ios/Runner/AppDelegate.swift b/packages/screen_state/example/ios/Runner/AppDelegate.swift
index b63630348..c30b367ec 100644
--- a/packages/screen_state/example/ios/Runner/AppDelegate.swift
+++ b/packages/screen_state/example/ios/Runner/AppDelegate.swift
@@ -1,13 +1,16 @@
-import UIKit
import Flutter
+import UIKit
@main
-@objc class AppDelegate: FlutterAppDelegate {
+@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
- GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
+
+ func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) {
+ GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry)
+ }
}
diff --git a/packages/screen_state/example/ios/Runner/Info.plist b/packages/screen_state/example/ios/Runner/Info.plist
index 513a25d3f..0a0a64c37 100644
--- a/packages/screen_state/example/ios/Runner/Info.plist
+++ b/packages/screen_state/example/ios/Runner/Info.plist
@@ -24,6 +24,27 @@
$(FLUTTER_BUILD_NUMBER)
LSRequiresIPhoneOS
+ UIApplicationSceneManifest
+
+ UIApplicationSupportsMultipleScenes
+
+ UISceneConfigurations
+
+ UIWindowSceneSessionRoleApplication
+
+
+ UISceneClassName
+ UIWindowScene
+ UISceneConfigurationName
+ flutter
+ UISceneDelegateClassName
+ $(PRODUCT_MODULE_NAME).SceneDelegate
+ UISceneStoryboardFile
+ Main
+
+
+
+
UILaunchStoryboardName
LaunchScreen
UIMainStoryboardFile
diff --git a/packages/screen_state/example/ios/Runner/SceneDelegate.swift b/packages/screen_state/example/ios/Runner/SceneDelegate.swift
new file mode 100644
index 000000000..b9ce8ea2b
--- /dev/null
+++ b/packages/screen_state/example/ios/Runner/SceneDelegate.swift
@@ -0,0 +1,6 @@
+import Flutter
+import UIKit
+
+class SceneDelegate: FlutterSceneDelegate {
+
+}
diff --git a/packages/screen_state/example/pubspec.yaml b/packages/screen_state/example/pubspec.yaml
index 772509625..d989a13c6 100644
--- a/packages/screen_state/example/pubspec.yaml
+++ b/packages/screen_state/example/pubspec.yaml
@@ -4,7 +4,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
version: 5.0.0+1
environment:
- sdk: ">=3.8.0 <4.0.0"
+ sdk: ^3.12.2
flutter: ">=3.6.0"
dependencies:
@@ -12,11 +12,11 @@ dependencies:
sdk: flutter
screen_state:
path: ../
- cupertino_icons: ^1.0.6
+ cupertino_icons: ^1.0.8
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
- uses-material-design: true
\ No newline at end of file
+ uses-material-design: true
diff --git a/packages/screen_state/ios/screen_state.podspec b/packages/screen_state/ios/screen_state.podspec
index 8023de1db..a2838b20c 100644
--- a/packages/screen_state/ios/screen_state.podspec
+++ b/packages/screen_state/ios/screen_state.podspec
@@ -1,23 +1,29 @@
#
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
-# Run `pod lib lint screen_state.podspec' to validate before publishing.
+# Run `pod lib lint screen_state.podspec` to validate before publishing.
#
Pod::Spec.new do |s|
s.name = 'screen_state'
- s.version = '5.0.0'
- s.summary = 'Base plugin for screen state detection.'
+ s.version = '5.0.1'
+ s.summary = 'Plugin for screen state detection.'
s.description = <<-DESC
-https://github.com/cph-cachet/flutter-plugins/tree/master/packages/screen_state/ios.
+Plugin for screen state detection.
DESC
- s.homepage = 'https://github.com/cph-cachet/flutter-plugins/tree/master/packages/screen_state/ios'
+ s.homepage = 'https://carp.dk'
s.license = { :file => '../LICENSE' }
- s.author = { 'Tokenlab' => 'luansilva@tokenlab.com.br' }
+ s.author = { 'Copenhagen Research Platform' => 'support@carp.dk' }
s.source = { :path => '.' }
s.source_files = 'screen_state/Sources/screen_state/**/*'
s.dependency 'Flutter'
- s.platform = :ios, '13.0'
+ s.platform = :ios, '15.0'
# Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
s.swift_version = '5.0'
+
+ # If your plugin requires a privacy manifest, for example if it uses any
+ # required reason APIs, update the PrivacyInfo.xcprivacy file to describe your
+ # plugin's privacy impact, and then uncomment this line. For more information,
+ # see https://developer.apple.com/documentation/bundleresources/privacy_manifest_files
+ # s.resource_bundles = {'screen_state_privacy' => ['screen_state/Sources/screen_state/PrivacyInfo.xcprivacy']}
end
diff --git a/packages/screen_state/ios/screen_state/Package.swift b/packages/screen_state/ios/screen_state/Package.swift
index fce794035..9919bcea7 100644
--- a/packages/screen_state/ios/screen_state/Package.swift
+++ b/packages/screen_state/ios/screen_state/Package.swift
@@ -1,20 +1,36 @@
// swift-tools-version: 5.9
+// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "screen_state",
platforms: [
- .iOS("13.0")
+ .iOS("15.0")
],
products: [
.library(name: "screen-state", targets: ["screen_state"])
],
- dependencies: [],
+ dependencies: [
+ .package(name: "FlutterFramework", path: "../FlutterFramework")
+ ],
targets: [
.target(
name: "screen_state",
- dependencies: []
+ dependencies: [
+ .product(name: "FlutterFramework", package: "FlutterFramework")
+ ],
+ resources: [
+ // If your plugin requires a privacy manifest, for example if it uses any required
+ // reason APIs, update the PrivacyInfo.xcprivacy file to describe your plugin's
+ // privacy impact, and then uncomment these lines. For more information, see
+ // https://developer.apple.com/documentation/bundleresources/privacy_manifest_files
+ // .process("PrivacyInfo.xcprivacy"),
+
+ // If you have other resources that need to be bundled with your plugin, refer to
+ // the following instructions to add them:
+ // https://developer.apple.com/documentation/xcode/bundling-resources-with-a-swift-package
+ ]
)
]
)
diff --git a/packages/screen_state/ios/screen_state/Sources/screen_state/PrivacyInfo.xcprivacy b/packages/screen_state/ios/screen_state/Sources/screen_state/PrivacyInfo.xcprivacy
new file mode 100644
index 000000000..a34b7e2e6
--- /dev/null
+++ b/packages/screen_state/ios/screen_state/Sources/screen_state/PrivacyInfo.xcprivacy
@@ -0,0 +1,14 @@
+
+
+
+
+ NSPrivacyTrackingDomains
+
+ NSPrivacyAccessedAPITypes
+
+ NSPrivacyCollectedDataTypes
+
+ NSPrivacyTracking
+
+
+
diff --git a/packages/screen_state/pubspec.yaml b/packages/screen_state/pubspec.yaml
index dc3f4da57..f979bf0cf 100644
--- a/packages/screen_state/pubspec.yaml
+++ b/packages/screen_state/pubspec.yaml
@@ -1,11 +1,11 @@
name: screen_state
description: A plugin for reporting screen events while the flutter application is running in background. Works for Android and iOS only.
-version: 5.0.0
+version: 5.0.1
homepage: https://github.com/cph-cachet/flutter-plugins/tree/master/packages/screen_state
environment:
- sdk: ">=3.8.0 <4.0.0"
- flutter: ">=3.6.0"
+ sdk: ^3.12.2
+ flutter: ">=3.3.0"
dependencies:
flutter: