diff --git a/packages/location_background/CHANGELOG.md b/packages/location_background/CHANGELOG.md deleted file mode 100644 index 00776c5aff31..000000000000 --- a/packages/location_background/CHANGELOG.md +++ /dev/null @@ -1,29 +0,0 @@ -## 0.1.0+3 - -* Update README.md indicating package support status. - -## 0.1.0+2 - -* Fix Dart deprecation warnings. - -## 0.1.0+1 - -* Log a more detailed warning at build time about the previous AndroidX - migration. - -## 0.1.0 - -* **Breaking change**. Migrate from the deprecated original Android Support - Library to AndroidX. This shouldn't result in any functional changes, but it - requires any Android apps using this plugin to [also - migrate](https://developer.android.com/jetpack/androidx/migrate) if they're - using the original support library. - -## 0.0.2 - -* Added missing flutter_test package dependency. -* Added missing flutter version requirements. - -## 0.0.1 - -* Initial release. diff --git a/packages/location_background/LICENSE b/packages/location_background/LICENSE deleted file mode 100644 index f7480f268093..000000000000 --- a/packages/location_background/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright 2018 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/location_background/README.md b/packages/location_background/README.md deleted file mode 100644 index d4d6b128ebba..000000000000 --- a/packages/location_background/README.md +++ /dev/null @@ -1,40 +0,0 @@ -# Flutter Background Execution Sample - LocationBackgroundPlugin - -An example Flutter plugin that showcases background execution using iOS location services. - -**This plugin is not being actively maintained and is not for production use.** An [archive](https://github.com/flutter/plugins/tree/af86b9db204d4fee2d0eeabb2325007ec5f20424/packages/location_background) of previous versions can be found in the Flutter plugins repository. - -## Getting Started - -**_NOTE: This plugin does not currently have an Android implementation._** - -To import, add the following to your Dart file: - -```dart -import 'package:location_background/location_background.dart'; -``` - -Example usage: - -```dart -import 'package:location_background/location_background.dart'; - -final locationManager = LocationBackgroundPlugin(); - -void locationUpdateCallback(Location location) { - print('Location Update: $location'); -} - -Future startMonitoringLocationChanges() => - locationManager.monitorSignificantLocationChanges(locationUpdateCallback); - -Future stopMonitoringLocationChanges() => - locationManager.cancelLocationUpdates(); -``` - -**WARNING:** do not maintain volatile state or perform long running operations in the location update callback. There is no guarantee from the system for how long a process can perform background processing after a location update, and the Dart isolate may shutdown during execution at the request of the system. - -For help getting started with Flutter, view our online -[documentation](https://flutter.io/). - -For help on editing plugin code, view the [documentation](https://flutter.io/platform-plugins/#edit-code). diff --git a/packages/location_background/android/.gitignore b/packages/location_background/android/.gitignore deleted file mode 100644 index c6cbe562a427..000000000000 --- a/packages/location_background/android/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/workspace.xml -/.idea/libraries -.DS_Store -/build -/captures diff --git a/packages/location_background/android/build.gradle b/packages/location_background/android/build.gradle deleted file mode 100644 index be694b19b05c..000000000000 --- a/packages/location_background/android/build.gradle +++ /dev/null @@ -1,47 +0,0 @@ -def PLUGIN = "location_background"; -def ANDROIDX_WARNING = "flutterPluginsAndroidXWarning"; -gradle.buildFinished { buildResult -> - if (buildResult.failure && !rootProject.ext.has(ANDROIDX_WARNING)) { - println ' *********************************************************' - println 'WARNING: This version of ' + PLUGIN + ' will break your Android build if it or its dependencies aren\'t compatible with AndroidX.' - println ' See https://goo.gl/CP92wY for more information on the problem and how to fix it.' - println ' This warning prints for all Android build failures. The real root cause of the error may be unrelated.' - println ' *********************************************************' - rootProject.ext.set(ANDROIDX_WARNING, true); - } -} - -group 'com.flutter.example.locationbackgroundplugin' -version '1.0-SNAPSHOT' - -buildscript { - repositories { - google() - jcenter() - } - - dependencies { - classpath 'com.android.tools.build:gradle:3.3.0' - } -} - -rootProject.allprojects { - repositories { - google() - jcenter() - } -} - -apply plugin: 'com.android.library' - -android { - compileSdkVersion 28 - - defaultConfig { - minSdkVersion 16 - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - lintOptions { - disable 'InvalidPackage' - } -} diff --git a/packages/location_background/android/gradle.properties b/packages/location_background/android/gradle.properties deleted file mode 100644 index 8bd86f680510..000000000000 --- a/packages/location_background/android/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M diff --git a/packages/location_background/android/settings.gradle b/packages/location_background/android/settings.gradle deleted file mode 100644 index 9de328a10a64..000000000000 --- a/packages/location_background/android/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'location_background_plugin' diff --git a/packages/location_background/android/src/main/AndroidManifest.xml b/packages/location_background/android/src/main/AndroidManifest.xml deleted file mode 100644 index 63ea5ef7db02..000000000000 --- a/packages/location_background/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,3 +0,0 @@ - - diff --git a/packages/location_background/android/src/main/java/com/flutter/example/locationbackgroundplugin/LocationBackgroundPlugin.java b/packages/location_background/android/src/main/java/com/flutter/example/locationbackgroundplugin/LocationBackgroundPlugin.java deleted file mode 100644 index 015bec387247..000000000000 --- a/packages/location_background/android/src/main/java/com/flutter/example/locationbackgroundplugin/LocationBackgroundPlugin.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.flutter.example.locationbackgroundplugin; - -import io.flutter.plugin.common.MethodCall; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.MethodCallHandler; -import io.flutter.plugin.common.MethodChannel.Result; -import io.flutter.plugin.common.PluginRegistry.Registrar; - -// TODO(bkonyi): add Android implementation. -// This would likely involve something along the lines of: -// - Create a LocationBackgroundPluginService which extends Service -// - Use requestLocationUpdates with minDistance parameter set to 500m to match -// iOS behaviour. See https://developer.android.com/reference/android/location/LocationManager -// - Similar plugin structure to `android_alarm_manager` found here: -// https://github.com/flutter/plugins/tree/master/packages/android_alarm_manager -public class LocationBackgroundPlugin implements MethodCallHandler { - public static void registerWith(Registrar registrar) { - final MethodChannel channel = - new MethodChannel(registrar.messenger(), "location_background_plugin"); - channel.setMethodCallHandler(new LocationBackgroundPlugin()); - } - - @Override - public void onMethodCall(MethodCall call, Result result) { - result.notImplemented(); - } -} diff --git a/packages/location_background/example/.gitignore b/packages/location_background/example/.gitignore deleted file mode 100644 index af17aaf5b6d4..000000000000 --- a/packages/location_background/example/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -.DS_Store -.atom/ -.dart_tool/ -.idea -.vscode/ -.packages -.pub/ -build/ -ios/.generated/ -packages -.flutter-plugins diff --git a/packages/location_background/example/.metadata b/packages/location_background/example/.metadata deleted file mode 100644 index 2937c45a1609..000000000000 --- a/packages/location_background/example/.metadata +++ /dev/null @@ -1,8 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: d6d874474b21b512aac03f1dcd0d3b88835cdcdd - channel: master diff --git a/packages/location_background/example/README.md b/packages/location_background/example/README.md deleted file mode 100644 index dc994c5c7fcb..000000000000 --- a/packages/location_background/example/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# Flutter Background Plugin Example for iOS. - -Demonstrates how to use the LocationBackgroundPlugin, a sample plugin showcasing Flutter background execution on iOS. - -## Getting Started - -For help getting started with Flutter, view our online -[documentation](https://flutter.io/). diff --git a/packages/location_background/example/android/.gitignore b/packages/location_background/example/android/.gitignore deleted file mode 100644 index 65b7315af1b6..000000000000 --- a/packages/location_background/example/android/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -*.iml -*.class -.gradle -/local.properties -/.idea/workspace.xml -/.idea/libraries -.DS_Store -/build -/captures -GeneratedPluginRegistrant.java diff --git a/packages/location_background/example/android/app/build.gradle b/packages/location_background/example/android/app/build.gradle deleted file mode 100644 index cde213b0cc17..000000000000 --- a/packages/location_background/example/android/app/build.gradle +++ /dev/null @@ -1,60 +0,0 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -apply plugin: 'com.android.application' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion 28 - - lintOptions { - disable 'InvalidPackage' - } - - defaultConfig { - applicationId "com.flutter.example.locationbackgroundpluginexample" - minSdkVersion 16 - targetSdkVersion 28 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - buildTypes { - 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 - } - } -} - -flutter { - source '../..' -} - -dependencies { - testImplementation 'junit:junit:4.12' - androidTestImplementation 'androidx.test:runner:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' -} diff --git a/packages/location_background/example/android/app/gradle.properties b/packages/location_background/example/android/app/gradle.properties deleted file mode 100644 index 5465fec0ecad..000000000000 --- a/packages/location_background/example/android/app/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -android.enableJetifier=true -android.useAndroidX=true \ No newline at end of file diff --git a/packages/location_background/example/android/app/gradle/wrapper/gradle-wrapper.properties b/packages/location_background/example/android/app/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 9a4163a4f5ee..000000000000 --- a/packages/location_background/example/android/app/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/packages/location_background/example/android/app/src/main/AndroidManifest.xml b/packages/location_background/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index a59dc3e84742..000000000000 --- a/packages/location_background/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/packages/location_background/example/android/app/src/main/java/com/flutter/example/locationbackgroundpluginexample/MainActivity.java b/packages/location_background/example/android/app/src/main/java/com/flutter/example/locationbackgroundpluginexample/MainActivity.java deleted file mode 100644 index 6dc54e746158..000000000000 --- a/packages/location_background/example/android/app/src/main/java/com/flutter/example/locationbackgroundpluginexample/MainActivity.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.flutter.example.locationbackgroundpluginexample; - -import android.os.Bundle; -import io.flutter.app.FlutterActivity; -import io.flutter.plugins.GeneratedPluginRegistrant; - -public class MainActivity extends FlutterActivity { - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - GeneratedPluginRegistrant.registerWith(this); - } -} diff --git a/packages/location_background/example/android/app/src/main/res/drawable/launch_background.xml b/packages/location_background/example/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f88420..000000000000 --- a/packages/location_background/example/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/packages/location_background/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/location_background/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b7b09..000000000000 Binary files a/packages/location_background/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/packages/location_background/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/location_background/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79bb8a..000000000000 Binary files a/packages/location_background/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/packages/location_background/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/location_background/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d4391482be..000000000000 Binary files a/packages/location_background/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/location_background/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/location_background/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d34e7a..000000000000 Binary files a/packages/location_background/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/location_background/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/location_background/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372eebdb2..000000000000 Binary files a/packages/location_background/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/location_background/example/android/app/src/main/res/values/styles.xml b/packages/location_background/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index 00fa4417cfbe..000000000000 --- a/packages/location_background/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/packages/location_background/example/android/build.gradle b/packages/location_background/example/android/build.gradle deleted file mode 100644 index 541636cc492a..000000000000 --- a/packages/location_background/example/android/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -buildscript { - repositories { - google() - jcenter() - } - - dependencies { - classpath 'com.android.tools.build:gradle:3.3.0' - } -} - -allprojects { - repositories { - google() - jcenter() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/packages/location_background/example/android/gradle.properties b/packages/location_background/example/android/gradle.properties deleted file mode 100644 index 8bd86f680510..000000000000 --- a/packages/location_background/example/android/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M diff --git a/packages/location_background/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/location_background/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 2819f022f1fd..000000000000 --- a/packages/location_background/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Jun 23 08:50:38 CEST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip diff --git a/packages/location_background/example/android/settings.gradle b/packages/location_background/example/android/settings.gradle deleted file mode 100644 index 5a2f14fb18f6..000000000000 --- a/packages/location_background/example/android/settings.gradle +++ /dev/null @@ -1,15 +0,0 @@ -include ':app' - -def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() - -def plugins = new Properties() -def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') -if (pluginsFile.exists()) { - pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } -} - -plugins.each { name, path -> - def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() - include ":$name" - project(":$name").projectDir = pluginDirectory -} diff --git a/packages/location_background/example/ios/.gitignore b/packages/location_background/example/ios/.gitignore deleted file mode 100644 index 1e1aafd63360..000000000000 --- a/packages/location_background/example/ios/.gitignore +++ /dev/null @@ -1,42 +0,0 @@ -.idea/ -.vagrant/ -.sconsign.dblite -.svn/ - -.DS_Store -*.swp -profile - -DerivedData/ -build/ -GeneratedPluginRegistrant.h -GeneratedPluginRegistrant.m - -*.pbxuser -*.mode1v3 -*.mode2v3 -*.perspectivev3 - -!default.pbxuser -!default.mode1v3 -!default.mode2v3 -!default.perspectivev3 - -xcuserdata - -*.moved-aside - -*.pyc -*sync/ -Icon? -.tags* - -/Flutter/app.flx -/Flutter/app.zip -/Flutter/flutter_assets/ -/Flutter/App.framework -/Flutter/Flutter.framework -/Flutter/Generated.xcconfig -/ServiceDefinitions.json - -Pods/ diff --git a/packages/location_background/example/ios/Flutter/AppFrameworkInfo.plist b/packages/location_background/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 6c2de8086bcd..000000000000 --- a/packages/location_background/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,30 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - UIRequiredDeviceCapabilities - - arm64 - - MinimumOSVersion - 8.0 - - diff --git a/packages/location_background/example/ios/Flutter/Debug.xcconfig b/packages/location_background/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index e8efba114687..000000000000 --- a/packages/location_background/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/packages/location_background/example/ios/Flutter/Release.xcconfig b/packages/location_background/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index 399e9340e6f6..000000000000 --- a/packages/location_background/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/packages/location_background/example/ios/Runner.xcodeproj/project.pbxproj b/packages/location_background/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index c60c8d57e75d..000000000000 --- a/packages/location_background/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,506 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; }; - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 6F4EF35D20C87745003EB65D /* ios in Resources */ = {isa = PBXBuildFile; fileRef = 6F4EF35C20C87745003EB65D /* ios */; }; - 6F4EF35F20CEE77B003EB65D /* (null) in Resources */ = {isa = PBXBuildFile; }; - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; }; - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; }; - 9740EEB51CF90195004384FC /* Generated.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB31CF90195004384FC /* Generated.xcconfig */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - A3F65306835CE59B322AC687 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A34E313CEC116C1DD761CAB8 /* libPods-Runner.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */, - 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 2D5378251FAA1A9400D5DBA9 /* flutter_assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flutter_assets; path = Flutter/flutter_assets; sourceTree = SOURCE_ROOT; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; }; - 6F4EF35C20C87745003EB65D /* ios */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ios; path = ../../ios; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 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 = ""; }; - A34E313CEC116C1DD761CAB8 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */, - 3B80C3941E831B6300D905FE /* App.framework in Frameworks */, - A3F65306835CE59B322AC687 /* libPods-Runner.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0A21A2A450A05E43A5F34456 /* Pods */ = { - isa = PBXGroup; - children = ( - ); - name = Pods; - sourceTree = ""; - }; - 338C65C4CFC9350F63D48DBD /* Frameworks */ = { - isa = PBXGroup; - children = ( - A34E313CEC116C1DD761CAB8 /* libPods-Runner.a */, - ); - name = Frameworks; - sourceTree = ""; - }; - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 2D5378251FAA1A9400D5DBA9 /* flutter_assets */, - 3B80C3931E831B6300D905FE /* App.framework */, - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEBA1CF902C7004384FC /* Flutter.framework */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 6F4EF35C20C87745003EB65D /* ios */, - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 0A21A2A450A05E43A5F34456 /* Pods */, - 338C65C4CFC9350F63D48DBD /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - ); - path = Runner; - sourceTree = ""; - }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 474F0BE029A66AFB612AF012 /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 9F1ECFBAB8123D3164715BB1 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0910; - ORGANIZATIONNAME = "The Chromium Authors"; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - DevelopmentTeam = U8PR3Q5466; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 9740EEB51CF90195004384FC /* Generated.xcconfig in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 6F4EF35F20CEE77B003EB65D /* (null) in Resources */, - 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */, - 6F4EF35D20C87745003EB65D /* ios in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin"; - }; - 474F0BE029A66AFB612AF012 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; - 9F1ECFBAB8123D3164715BB1 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh", - "${PODS_ROOT}/../.symlinks/flutter/ios_debug_sim_unopt/Flutter.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ARCHS = arm64; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = U8PR3Q5466; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.flutter.example.locationBackgroundPluginExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ARCHS = arm64; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = U8PR3Q5466; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.flutter.example.locationBackgroundPluginExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/packages/location_background/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/location_background/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1d526a16ed0f..000000000000 --- a/packages/location_background/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/packages/location_background/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/location_background/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index f5a8db1a8aa1..000000000000 --- a/packages/location_background/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/location_background/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/location_background/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14c74e..000000000000 --- a/packages/location_background/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/packages/location_background/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/location_background/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003d68..000000000000 --- a/packages/location_background/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/packages/location_background/example/ios/Runner/AppDelegate.h b/packages/location_background/example/ios/Runner/AppDelegate.h deleted file mode 100644 index 36e21bbf9cf4..000000000000 --- a/packages/location_background/example/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/packages/location_background/example/ios/Runner/AppDelegate.m b/packages/location_background/example/ios/Runner/AppDelegate.m deleted file mode 100644 index 59a72e90be12..000000000000 --- a/packages/location_background/example/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,13 +0,0 @@ -#include "AppDelegate.h" -#include "GeneratedPluginRegistrant.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; - // Override point for customization after application launch. - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -@end diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fab2d9d..000000000000 --- a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index 3d43d11e66f4..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 28c6bf03016f..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 2ccbfd967d96..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0bca8..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cde12118dda..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7edb8..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index dcdc2306c285..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 2ccbfd967d96..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f5cee..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b8609df0..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b8609df0..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164a5a9..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d39da7..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 6a84f41e14e2..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index d0e1f5853602..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2fd467..000000000000 --- a/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eacad3b..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eacad3b..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eacad3b..000000000000 Binary files a/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725b70f1..000000000000 --- a/packages/location_background/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/packages/location_background/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/location_background/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c7c939..000000000000 --- a/packages/location_background/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/location_background/example/ios/Runner/Base.lproj/Main.storyboard b/packages/location_background/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index 996dae97aa46..000000000000 --- a/packages/location_background/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/location_background/example/ios/Runner/Info.plist b/packages/location_background/example/ios/Runner/Info.plist deleted file mode 100644 index a6231bd83d15..000000000000 --- a/packages/location_background/example/ios/Runner/Info.plist +++ /dev/null @@ -1,61 +0,0 @@ - - - - - NSLocationAlwaysAndWhenInUseUsageDescription - This is the plist item for NSLocationWhenInUseUsageDescription - NSLocationWhenInUseUsageDescription - This is the plist item for NSLocationAlwaysUsageDescription - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - location_background_plugin_example - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - location-services - gps - armv7 - - UIBackgroundModes - - location - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - LSApplicationCategoryType - - UIViewControllerBasedStatusBarAppearance - - - diff --git a/packages/location_background/example/ios/Runner/main.m b/packages/location_background/example/ios/Runner/main.m deleted file mode 100644 index f012886fefc4..000000000000 --- a/packages/location_background/example/ios/Runner/main.m +++ /dev/null @@ -1,10 +0,0 @@ -#import -#import -#import "AppDelegate.h" -#import "LocationBackgroundPlugin.h" - -int main(int argc, char* argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/packages/location_background/example/lib/background.dart b/packages/location_background/example/lib/background.dart deleted file mode 100644 index 95ee633c448b..000000000000 --- a/packages/location_background/example/lib/background.dart +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file - -import 'dart:isolate'; -import 'dart:ui'; -import 'package:location_background_plugin/location_background_plugin.dart'; - -const String kLocationPluginPortName = 'location_plugin_port'; - -/// This is an example of a callback for LocationBackgroundPlugin's -/// `startMonitoringLocation`. A callback can be defined anywhere in an -/// application's code, but cannot be from another program. -class LocationMonitor { - static void locationCallback(Location location) { - print('Background Location: $location'); - // We use isolate ports to communicate between the main isolate and spawned - // isolates since they do not share memory. The port lookup will return - // null if the UI isolate has explicitly removed the mapping on shutdown. - final SendPort uiSendPort = - IsolateNameServer.lookupPortByName(kLocationPluginPortName); - uiSendPort?.send(location.toJson()); - } -} diff --git a/packages/location_background/example/lib/main.dart b/packages/location_background/example/lib/main.dart deleted file mode 100644 index 986890919b51..000000000000 --- a/packages/location_background/example/lib/main.dart +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file - -import 'dart:isolate'; -import 'dart:ui' hide TextStyle; - -import 'package:flutter/material.dart'; -import 'package:location_background_plugin/location_background_plugin.dart'; - -import 'background.dart'; - -void main() { - runApp(MyApp()); -} - -class MyApp extends StatefulWidget { - @override - _MyAppState createState() { - return _MyAppState(); - } -} - -class _MyAppState extends State { - ReceivePort _foregroundPort = ReceivePort(); - LocationBackgroundPlugin _locationPlugin; - Location _lastLocation; - bool _isTracking = false; - - @override - void initState() { - _lastLocation = Location(-1.0, 0.0, 0.0, -1.0, -1.0); - super.initState(); - initPlatformState(); - } - - void initPlatformState() { - // The IsolateNameServer allows for us to create a mapping between a String - // and a SendPort that is managed by the Flutter engine. A SendPort can - // then be looked up elsewhere, like a background callback, to establish - // communication channels between isolates that were not spawned by one - // another. - if (!IsolateNameServer.registerPortWithName( - _foregroundPort.sendPort, kLocationPluginPortName)) { - throw 'Unable to register port!'; - } - - // Listen on the port for location updates from our background callback. - _foregroundPort.listen((dynamic message) { - final Location location = Location.fromJson(message); - print('UI Location: $location'); - setState(() { - _lastLocation = location; - }); - }, onDone: () { - // Remove the port mapping just in case the UI is shutting down but - // background isolate is continuing to run. - IsolateNameServer.removePortNameMapping(kLocationPluginPortName); - }); - _locationPlugin ??= LocationBackgroundPlugin(); - } - - String _padZero2(int i) => i.toString().padLeft(2, '0'); - - String _formatTime(DateTime t) { - t = t.toLocal(); - final int hour = t.hour; - final String minute = _padZero2(t.minute); - final String second = _padZero2(t.second); - final int year = t.year; - return '$hour:$minute:$second $year'; - } - - @override - Widget build(BuildContext context) { - const TextStyle boldText = TextStyle(fontWeight: FontWeight.bold); - return MaterialApp( - home: Scaffold( - appBar: AppBar( - title: const Text('Background Plugin Demo'), - ), - body: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - const Center( - child: Text( - 'Update Time:', - style: boldText, - )), - Center(child: Text('${_formatTime(_lastLocation.time)}')), - const Center( - child: Text( - 'Location:', - style: boldText, - )), - Center( - child: Text( - '(${_lastLocation.latitude}, ${_lastLocation.longitude})')), - const Center( - child: Text( - 'Altitude:', - style: boldText, - )), - Center(child: Text('${_lastLocation.altitude} m')), - const Center( - child: Text( - 'Speed (meters per second)', - style: boldText, - )), - Center(child: Text('${_lastLocation.speed} m/s')), - Center( - child: RaisedButton( - child: - Text(_isTracking ? 'Stop Tracking' : 'Start Tracking'), - onPressed: () async { - if (!_isTracking) { - await _locationPlugin.monitorSignificantLocationChanges( - LocationMonitor.locationCallback); - } else { - await _locationPlugin.cancelLocationUpdates(); - } - setState(() { - _isTracking = !_isTracking; - }); - }, - )) - ]))); - } -} diff --git a/packages/location_background/example/pubspec.yaml b/packages/location_background/example/pubspec.yaml deleted file mode 100644 index bdcb7dad255a..000000000000 --- a/packages/location_background/example/pubspec.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: location_background_plugin_example -description: Demonstrates how to use the location_background_plugin plugin. - -dependencies: - flutter: - sdk: flutter - - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^0.1.0 - - location_background_plugin: - path: ../ - -dev_dependencies: - flutter_test: - sdk: flutter - -# For information on the generic Dart part of this file, see the -# following page: https://www.dartlang.org/tools/pub/pubspec - -# The following section is specific to Flutter. -flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.io/assets-and-images/#resolution-aware. - - # For details regarding adding assets from package dependencies, see - # https://flutter.io/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.io/custom-fonts/#from-packages diff --git a/packages/location_background/ios/.gitignore b/packages/location_background/ios/.gitignore deleted file mode 100644 index 956c87f3aa28..000000000000 --- a/packages/location_background/ios/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -.idea/ -.vagrant/ -.sconsign.dblite -.svn/ - -.DS_Store -*.swp -profile - -DerivedData/ -build/ - -*.pbxuser -*.mode1v3 -*.mode2v3 -*.perspectivev3 - -!default.pbxuser -!default.mode1v3 -!default.mode2v3 -!default.perspectivev3 - -xcuserdata - -*.moved-aside - -*.pyc -*sync/ -Icon? -.tags* - diff --git a/packages/location_background/ios/Assets/.gitkeep b/packages/location_background/ios/Assets/.gitkeep deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/packages/location_background/ios/Classes/LocationBackgroundPlugin.h b/packages/location_background/ios/Classes/LocationBackgroundPlugin.h deleted file mode 100644 index a84a129df1f8..000000000000 --- a/packages/location_background/ios/Classes/LocationBackgroundPlugin.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import - -#import - -@interface LocationBackgroundPlugin : NSObject { -} -@end diff --git a/packages/location_background/ios/Classes/LocationBackgroundPlugin.m b/packages/location_background/ios/Classes/LocationBackgroundPlugin.m deleted file mode 100644 index 24211c429541..000000000000 --- a/packages/location_background/ios/Classes/LocationBackgroundPlugin.m +++ /dev/null @@ -1,227 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#import "LocationBackgroundPlugin.h" - -#import - -@implementation LocationBackgroundPlugin { - CLLocationManager *_locationManager; - FlutterEngine *_headlessEngine; - FlutterMethodChannel *_callbackChannel; - FlutterMethodChannel *_mainChannel; - NSObject *_registrar; - NSUserDefaults *_persistentState; - int64_t _onLocationUpdateHandle; -} - -static LocationBackgroundPlugin *instance = nil; - -#pragma mark FlutterPlugin Methods - -+ (void)registerWithRegistrar:(NSObject *)registrar { - @synchronized(self) { - if (instance == nil) { - instance = [[LocationBackgroundPlugin alloc] init:registrar]; - [registrar addApplicationDelegate:instance]; - } - } -} - -// When iOS relaunches us due to a significant location change, we need to -// reinitialize our plugin state. This includes relaunching the headless -// service, retrieving our cached callback handles and location manager -// settings, and restarting the location manager to actually receive the -// location event. -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - // Check to see if we're being launched due to a location event. - if (launchOptions[UIApplicationLaunchOptionsLocationKey] != nil) { - // Restart the headless service. - [self startHeadlessService:[self getCallbackDispatcherHandle]]; - // Grab our callback handles and location manager state. - _onLocationUpdateHandle = [self getLocationCallbackHandle]; - _locationManager.pausesLocationUpdatesAutomatically = - [self getPausesLocationUpdatesAutomatically]; - if (@available(iOS 11.0, *)) { - _locationManager.showsBackgroundLocationIndicator = - [self getShowsBackgroundLocationIndicator]; - } - if (@available(iOS 9.0, *)) { - _locationManager.allowsBackgroundLocationUpdates = YES; - } - // Finally, restart monitoring for location changes to get our location. - [self->_locationManager startMonitoringSignificantLocationChanges]; - } - - // Note: if we return NO, this vetos the launch of the application. - return YES; -} - -- (void)handleMethodCall:(FlutterMethodCall *)call result:(FlutterResult)result { - NSArray *arguments = call.arguments; - if ([@"monitorLocationChanges" isEqualToString:call.method]) { - NSAssert(arguments.count == 4, @"Invalid argument count for 'monitorLocationChanges'"); - [self monitorLocationChanges:arguments]; - result(@(YES)); - } else if ([@"startHeadlessService" isEqualToString:call.method]) { - NSAssert(arguments.count == 1, @"Invalid argument count for 'startHeadlessService'"); - [self startHeadlessService:[arguments[0] longValue]]; - } else if ([@"cancelLocationUpdates" isEqualToString:call.method]) { - NSAssert(arguments.count == 0, @"Invalid argument count for 'cancelLocationUpdates'"); - [self stopUpdatingLocation]; - result(nil); - } else { - NSLog(@"Unknown method: %@\n", call.method); - result(FlutterMethodNotImplemented); - } -} - -#pragma mark LocationManagerDelegate Methods - -// Location events come in here from our LocationManager and are forwarded to -// onLocationEvent. -- (void)locationManager:(CLLocationManager *)manager - didUpdateLocations:(NSArray *)locations { - for (CLLocation *location in locations) { - [self onLocationEvent:location]; - } -} - -#pragma mark LocationBackgroundPlugin Methods - -- (instancetype)init:(NSObject *)registrar { - self = [super init]; - NSAssert(self, @"super init cannot be nil"); - _persistentState = [NSUserDefaults standardUserDefaults]; - _locationManager = [[CLLocationManager alloc] init]; - [_locationManager setDelegate:self]; - [_locationManager requestAlwaysAuthorization]; - - _headlessEngine = [[FlutterEngine alloc] initWithName:@"io.flutter.plugins.location_background" - project:nil]; - _registrar = registrar; - - // This is the method channel used to communicate with the UI Isolate. - _mainChannel = - [FlutterMethodChannel methodChannelWithName:@"plugins.flutter.io/ios_background_location" - binaryMessenger:[registrar messenger]]; - [registrar addMethodCallDelegate:self channel:_mainChannel]; - - // This is the method channel used to communicate with - // `_backgroundCallbackDispatcher` defined in the Dart portion of our plugin. - // Note: we don't add a MethodCallDelegate for this channel now since our - // BinaryMessenger needs to be initialized first, which is done in - // `startHeadlessService` below. - _callbackChannel = [FlutterMethodChannel - methodChannelWithName:@"plugins.flutter.io/ios_background_location_callback" - binaryMessenger:_headlessEngine]; - return self; -} - -- (int64_t)getCallbackDispatcherHandle { - id handle = [_persistentState objectForKey:@"callback_dispatcher_handle"]; - if (handle == nil) { - return 0; - } - return [handle longLongValue]; -} - -- (void)setCallbackDispatcherHandle:(int64_t)handle { - [_persistentState setObject:[NSNumber numberWithLongLong:handle] - forKey:@"callback_dispatcher_handle"]; -} - -- (int64_t)getLocationCallbackHandle { - id handle = [_persistentState objectForKey:@"location_callback_handle"]; - if (handle == nil) { - return 0; - } - return [handle longLongValue]; -} - -- (void)setLocationCallbackHandle:(int64_t)handle { - [_persistentState setObject:[NSNumber numberWithLongLong:handle] - forKey:@"location_callback_handle"]; -} - -- (BOOL)getPausesLocationUpdatesAutomatically { - return [_persistentState boolForKey:@"pauses_location_updates_automatically"]; -} - -- (void)setPausesLocationUpdatesAutomatically:(BOOL)pause { - [_persistentState setBool:pause forKey:@"pauses_location_updates_automatically"]; -} - -- (BOOL)getShowsBackgroundLocationIndicator { - return [_persistentState boolForKey:@"shows_background_location_indicator"]; -} - -- (void)setShowsBackgroundLocationIndicator:(BOOL)pause { - [_persistentState setBool:pause forKey:@"shows_background_location_indicator"]; -} - -// Initializes and starts the background isolate which will process location -// events. `handle` is the handle to the callback dispatcher which we specified -// in the Dart portion of the plugin. -- (void)startHeadlessService:(int64_t)handle { - [self setCallbackDispatcherHandle:handle]; - - // Lookup the information for our callback dispatcher from the callback cache. - // This cache is populated when `PluginUtilities.getCallbackHandle` is called - // and the resulting handle maps to a `FlutterCallbackInformation` object. - // This object contains information needed by the engine to start a headless - // runner, which includes the callback name as well as the path to the file - // containing the callback. - FlutterCallbackInformation *info = [FlutterCallbackCache lookupCallbackInformation:handle]; - NSAssert(info != nil, @"failed to find callback"); - NSString *entrypoint = info.callbackName; - NSString *uri = info.callbackLibraryPath; - - // Here we actually launch the background isolate to start executing our - // callback dispatcher, `_backgroundCallbackDispatcher`, in Dart. - [_headlessEngine runWithEntrypoint:entrypoint libraryURI:uri]; - - // The headless runner needs to be initialized before we can register it as a - // MethodCallDelegate or else we get an illegal memory access. If we don't - // want to make calls from `_backgroundCallDispatcher` back to native code, - // we don't need to add a MethodCallDelegate for this channel. - [_registrar addMethodCallDelegate:self channel:_callbackChannel]; -} - -// Start receiving location updates. -- (void)monitorLocationChanges:(NSArray *)arguments { - _onLocationUpdateHandle = [arguments[0] longLongValue]; - [self setLocationCallbackHandle:_onLocationUpdateHandle]; - _locationManager.pausesLocationUpdatesAutomatically = arguments[1]; - if (@available(iOS 11.0, *)) { - _locationManager.showsBackgroundLocationIndicator = arguments[2]; - [self setShowsBackgroundLocationIndicator:_locationManager.showsBackgroundLocationIndicator]; - } - _locationManager.activityType = [arguments[3] integerValue]; - if (@available(iOS 9.0, *)) { - _locationManager.allowsBackgroundLocationUpdates = YES; - } - - [self setPausesLocationUpdatesAutomatically:_locationManager.pausesLocationUpdatesAutomatically]; - [self->_locationManager startMonitoringSignificantLocationChanges]; -} - -// Stop the location updates. -- (void)stopUpdatingLocation { - [self->_locationManager stopUpdatingLocation]; -} - -// Sends location events to our `_backgroundCallDispatcher` in Dart code via -// the MethodChannel we established earlier. -- (void)onLocationEvent:(CLLocation *)location { - [_callbackChannel invokeMethod:@"onLocationEvent" - arguments:@[ - @(_onLocationUpdateHandle), @(location.timestamp.timeIntervalSince1970), - @(location.coordinate.latitude), @(location.coordinate.longitude), - @(location.horizontalAccuracy), @(location.speed) - ]]; -} - -@end diff --git a/packages/location_background/ios/location_background_plugin.podspec b/packages/location_background/ios/location_background_plugin.podspec deleted file mode 100644 index 8e629e14ed8b..000000000000 --- a/packages/location_background/ios/location_background_plugin.podspec +++ /dev/null @@ -1,23 +0,0 @@ - - -# -# NOTE: This podspec is NOT to be published. It is only used as a local source! -# - -Pod::Spec.new do |s| -s.name = 'location_background_plugin' -s.version = '0.0.1' -s.summary = 'High-performance, high-fidelity mobile apps.' -s.description = <<-DESC -Flutter provides an easy and productive way to build and deploy high-performance mobile apps for Android and iOS. -DESC -s.homepage = 'https://flutter.io' -s.license = { :type => 'MIT' } -s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' } -s.source = { :path => '.'} -s.source_files = 'Classes/**/*' -s.public_header_files = 'Classes/**/*.h' -s.dependency 'Flutter' -s.ios.deployment_target = '8.0' -# s.vendored_frameworks = 'Flutter.framework' -end diff --git a/packages/location_background/lib/location_background_plugin.dart b/packages/location_background/lib/location_background_plugin.dart deleted file mode 100644 index f5ff556966fb..000000000000 --- a/packages/location_background/lib/location_background_plugin.dart +++ /dev/null @@ -1,158 +0,0 @@ -// Copyright 2018 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; -import 'dart:convert'; -import 'dart:io'; - -// Required for PluginUtilities. -import 'dart:ui'; - -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -/// Types of location activities for iOS. -/// -/// See https://developer.apple.com/documentation/corelocation/clactivitytype -enum LocationActivityType { - other, - automotiveNavigation, - fitness, - otherNavigation, -} - -/// A representation of a location update. -class Location { - Location( - this._time, this.latitude, this.longitude, this.altitude, this.speed); - - factory Location.fromJson(String jsonLocation) { - final Map location = json.decode(jsonLocation); - return Location(location['time'], location['latitude'], - location['longitude'], location['altitude'], location['speed']); - } - - final double _time; - final double latitude; - final double longitude; - final double altitude; - final double speed; - - DateTime get time => - DateTime.fromMillisecondsSinceEpoch((_time * 1000).round(), isUtc: true); - - @override - String toString() => - '[$time] ($latitude, $longitude) altitude: $altitude m/s: $speed'; - - String toJson() { - final Map location = { - 'time': _time, - 'latitude': latitude, - 'longitude': longitude, - 'altitude': altitude, - 'speed': speed, - }; - return json.encode(location); - } -} - -// When we start the background service isolate, we only ever enter it once. -// To communicate between the native plugin and this entrypoint, we'll use -// MethodChannels to open a persistent communication channel to trigger -// callbacks. -void _backgroundCallbackDispatcher() { - const String kOnLocationEvent = 'onLocationEvent'; - const MethodChannel _channel = - MethodChannel('plugins.flutter.io/ios_background_location_callback'); - - // Setup Flutter state needed for MethodChannels. - WidgetsFlutterBinding.ensureInitialized(); - - // Reference to the onLocationEvent callback. - Function onLocationEvent; - - // This is where the magic happens and we handle background events from the - // native portion of the plugin. Here we massage the location data into a - // `Location` object which we then pass to the provided callback. - _channel.setMethodCallHandler((MethodCall call) async { - final dynamic args = call.arguments; - - Function _performCallbackLookup() { - final CallbackHandle handle = - CallbackHandle.fromRawHandle(call.arguments[0]); - - // PluginUtilities.getCallbackFromHandle performs a lookup based on the - // handle we retrieved earlier. - final Function closure = PluginUtilities.getCallbackFromHandle(handle); - - if (closure == null) { - print('Fatal Error: Callback lookup failed!'); - exit(-1); - } - return closure; - } - - if (call.method == kOnLocationEvent) { - onLocationEvent ??= _performCallbackLookup(); - final Location location = - Location(args[1], args[2], args[3], args[4], args[5]); - onLocationEvent(location); - } else { - assert(false, "No handler defined for method type: '${call.method}'"); - } - }); -} - -class LocationBackgroundPlugin { - LocationBackgroundPlugin( - {this.pauseLocationUpdatesAutomatically = false, - this.showsBackgroundLocationIndicator = true, - this.activityType = LocationActivityType.other}) { - // Start the headless location service. The parameter here is a handle to - // a callback managed by the Flutter engine, which allows for us to pass - // references to our callbacks between isolates. - print("Starting LocationBackgroundPlugin service"); - final CallbackHandle handle = - PluginUtilities.getCallbackHandle(_backgroundCallbackDispatcher); - assert(handle != null, 'Unable to lookup callback.'); - _channel.invokeMethod( - _kStartHeadlessService, [handle.toRawHandle()]); - } - - // The method channel we'll use to communicate with the native portion of our - // plugin. - static const MethodChannel _channel = - MethodChannel('plugins.flutter.io/ios_background_location'); - - static const String _kCancelLocationUpdates = 'cancelLocationUpdates'; - static const String _kMonitorLocationChanges = 'monitorLocationChanges'; - static const String _kStartHeadlessService = 'startHeadlessService'; - - bool pauseLocationUpdatesAutomatically; - bool showsBackgroundLocationIndicator; - LocationActivityType activityType; - - /// Start getting significant location updates through `callback`. - /// - /// `callback` is invoked on a background isolate and will not have direct - /// access to the state held by the main isolate (or any other isolate). - Future monitorSignificantLocationChanges( - void Function(Location location) callback) { - if (callback == null) { - throw ArgumentError.notNull('callback'); - } - final CallbackHandle handle = PluginUtilities.getCallbackHandle(callback); - return _channel.invokeMethod(_kMonitorLocationChanges, [ - handle.toRawHandle(), - pauseLocationUpdatesAutomatically, - showsBackgroundLocationIndicator, - activityType.index - ]).then((dynamic result) => result); - } - - /// Stop all location updates. - Future cancelLocationUpdates() => - _channel.invokeMethod(_kCancelLocationUpdates); -} diff --git a/packages/location_background/pubspec.yaml b/packages/location_background/pubspec.yaml deleted file mode 100644 index 37be671a585d..000000000000 --- a/packages/location_background/pubspec.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: location_background_plugin -description: A new flutter plugin project. -author: Flutter Team -homepage: https://github.com/flutter/plugins/tree/master/packages/location_background -version: 0.1.0+3 -publish_to: none - -dependencies: - flutter: - sdk: flutter - -dev_dependencies: - flutter_test: - sdk: flutter - -flutter: - plugin: - androidPackage: com.flutter.example.locationbackgroundplugin - pluginClass: LocationBackgroundPlugin - -environment: - sdk: ">=2.0.0-dev.28.0 <3.0.0" - flutter: ">=1.5.0 <2.0.0"