From 165e7140f6a65e461658723885f6d004c04210b4 Mon Sep 17 00:00:00 2001 From: Tom Longridge Date: Mon, 20 Jun 2022 16:24:10 +0100 Subject: [PATCH 01/11] Bump bugsnag-android to v5.23.0 --- CHANGELOG.md | 4 ++++ packages/bugsnag_flutter/android/build.gradle | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee71ced9..cb566896 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## TBD + +- Update bugsnag-android from v5.22.1 to [v5.23.0](https://github.com/bugsnag/bugsnag-android/blob/master/CHANGELOG.md#5230-2022-06-20) + ## 2.1.0 (2022-06-14) - Networking breadcrumbs can now be easily captured by using the `bugsnag_breadcrumbs_http` or `bugsnag_breadcrumbs_dart_io` packages diff --git a/packages/bugsnag_flutter/android/build.gradle b/packages/bugsnag_flutter/android/build.gradle index e4bbfc3a..76471865 100644 --- a/packages/bugsnag_flutter/android/build.gradle +++ b/packages/bugsnag_flutter/android/build.gradle @@ -42,6 +42,6 @@ android { } dependencies { - implementation 'com.bugsnag:bugsnag-android:5.22.1' + implementation 'com.bugsnag:bugsnag-android:5.23.0' testImplementation 'junit:junit:4.12' } From dc5c327a738c71feff6f71cbec08f807434073fc Mon Sep 17 00:00:00 2001 From: Nick Dowell Date: Tue, 21 Jun 2022 10:53:02 +0100 Subject: [PATCH 02/11] Move `example` to `examples/flutter` --- .buildkite/pipeline.yml | 20 +++++++++--------- Makefile | 14 ++++++------ {example => examples/flutter}/.gitignore | 0 {example => examples/flutter}/.metadata | 0 {example => examples/flutter}/README.md | 4 ++-- .../flutter}/analysis_options.yaml | 0 .../flutter}/android/.gitignore | 0 .../flutter}/android/app/build.gradle | 0 .../android/app/src/debug/AndroidManifest.xml | 0 .../android/app/src/main/AndroidManifest.xml | 0 .../examples/flutter/MainActivity.java | 0 .../res/drawable-v21/launch_background.xml | 0 .../main/res/drawable/launch_background.xml | 0 .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../app/src/main/res/values-night/styles.xml | 0 .../app/src/main/res/values/styles.xml | 0 .../app/src/profile/AndroidManifest.xml | 0 .../flutter}/android/build.gradle | 0 .../flutter}/android/gradle.properties | 0 .../gradle/wrapper/gradle-wrapper.properties | 0 .../flutter}/android/settings.gradle | 0 {example => examples/flutter}/ios/.gitignore | 0 .../ios/Flutter/AppFrameworkInfo.plist | 0 .../flutter}/ios/Flutter/Debug.xcconfig | 0 .../flutter}/ios/Flutter/Release.xcconfig | 0 {example => examples/flutter}/ios/Podfile | 0 .../ios/Runner.xcodeproj/project.pbxproj | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../xcshareddata/xcschemes/Runner.xcscheme | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../flutter}/ios/Runner/AppDelegate.h | 0 .../flutter}/ios/Runner/AppDelegate.m | 0 .../AppIcon.appiconset/Contents.json | 0 .../Icon-App-1024x1024@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin .../Icon-App-83.5x83.5@2x.png | Bin .../LaunchImage.imageset/Contents.json | 0 .../LaunchImage.imageset/LaunchImage.png | Bin .../LaunchImage.imageset/LaunchImage@2x.png | Bin .../LaunchImage.imageset/LaunchImage@3x.png | Bin .../LaunchImage.imageset/README.md | 0 .../Runner/Base.lproj/LaunchScreen.storyboard | 0 .../ios/Runner/Base.lproj/Main.storyboard | 0 .../flutter}/ios/Runner/Info.plist | 2 ++ .../flutter}/ios/Runner/main.m | 0 {example => examples/flutter}/lib/main.dart | 0 .../flutter}/lib/native_crashes.dart | 0 {example => examples/flutter}/pubspec.yaml | 6 +++--- 68 files changed, 25 insertions(+), 21 deletions(-) rename {example => examples/flutter}/.gitignore (100%) rename {example => examples/flutter}/.metadata (100%) rename {example => examples/flutter}/README.md (75%) rename {example => examples/flutter}/analysis_options.yaml (100%) rename {example => examples/flutter}/android/.gitignore (100%) rename {example => examples/flutter}/android/app/build.gradle (100%) rename {example => examples/flutter}/android/app/src/debug/AndroidManifest.xml (100%) rename {example => examples/flutter}/android/app/src/main/AndroidManifest.xml (100%) rename {example => examples/flutter}/android/app/src/main/java/com/bugsnag/examples/flutter/MainActivity.java (100%) rename {example => examples/flutter}/android/app/src/main/res/drawable-v21/launch_background.xml (100%) rename {example => examples/flutter}/android/app/src/main/res/drawable/launch_background.xml (100%) rename {example => examples/flutter}/android/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename {example => examples/flutter}/android/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename {example => examples/flutter}/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename {example => examples/flutter}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename {example => examples/flutter}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename {example => examples/flutter}/android/app/src/main/res/values-night/styles.xml (100%) rename {example => examples/flutter}/android/app/src/main/res/values/styles.xml (100%) rename {example => examples/flutter}/android/app/src/profile/AndroidManifest.xml (100%) rename {example => examples/flutter}/android/build.gradle (100%) rename {example => examples/flutter}/android/gradle.properties (100%) rename {example => examples/flutter}/android/gradle/wrapper/gradle-wrapper.properties (100%) rename {example => examples/flutter}/android/settings.gradle (100%) rename {example => examples/flutter}/ios/.gitignore (100%) rename {example => examples/flutter}/ios/Flutter/AppFrameworkInfo.plist (100%) rename {example => examples/flutter}/ios/Flutter/Debug.xcconfig (100%) rename {example => examples/flutter}/ios/Flutter/Release.xcconfig (100%) rename {example => examples/flutter}/ios/Podfile (100%) rename {example => examples/flutter}/ios/Runner.xcodeproj/project.pbxproj (100%) rename {example => examples/flutter}/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename {example => examples/flutter}/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {example => examples/flutter}/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (100%) rename {example => examples/flutter}/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (100%) rename {example => examples/flutter}/ios/Runner.xcworkspace/contents.xcworkspacedata (100%) rename {example => examples/flutter}/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {example => examples/flutter}/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (100%) rename {example => examples/flutter}/ios/Runner/AppDelegate.h (100%) rename {example => examples/flutter}/ios/Runner/AppDelegate.m (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png (100%) rename {example => examples/flutter}/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md (100%) rename {example => examples/flutter}/ios/Runner/Base.lproj/LaunchScreen.storyboard (100%) rename {example => examples/flutter}/ios/Runner/Base.lproj/Main.storyboard (100%) rename {example => examples/flutter}/ios/Runner/Info.plist (96%) rename {example => examples/flutter}/ios/Runner/main.m (100%) rename {example => examples/flutter}/lib/main.dart (100%) rename {example => examples/flutter}/lib/native_crashes.dart (100%) rename {example => examples/flutter}/pubspec.yaml (95%) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index a572027a..56ecad89 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -37,12 +37,12 @@ steps: FLUTTER_BIN: "/opt/flutter/2.5.0/bin/flutter" commands: - pod repo update - - make example + - make examples/flutter # Verify that App.framework's UUID (and therefore our `codeIdentifier`) changes when Dart code is touched - - dwarfdump --arch=arm64 --uuid example/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_before - - sed -i '' -e 's/add_your_api_key_here/my_api_key/' example/lib/main.dart - - make example - - dwarfdump --arch=arm64 --uuid example/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_after + - dwarfdump --arch=arm64 --uuid examples/flutter/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_before + - sed -i '' -e 's/add_your_api_key_here/my_api_key/' examples/flutter/lib/main.dart + - make examples/flutter + - dwarfdump --arch=arm64 --uuid examples/flutter/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_after - test "$(cat uuid_before)" != "$(cat uuid_after)" - label: Build Example App 3.0.1 @@ -51,12 +51,12 @@ steps: FLUTTER_BIN: "/opt/flutter/3.0.1/bin/flutter" commands: - pod repo update - - make example + - make examples/flutter # Verify that App.framework's UUID (and therefore our `codeIdentifier`) changes when Dart code is touched - - dwarfdump --arch=arm64 --uuid example/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_before - - sed -i '' -e 's/add_your_api_key_here/my_api_key/' example/lib/main.dart - - make example - - dwarfdump --arch=arm64 --uuid example/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_after + - dwarfdump --arch=arm64 --uuid examples/flutter/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_before + - sed -i '' -e 's/add_your_api_key_here/my_api_key/' examples/flutter/lib/main.dart + - make examples/flutter + - dwarfdump --arch=arm64 --uuid examples/flutter/build/ios/iphoneos/Runner.app/Frameworks/App.framework/App | tee uuid_after - test "$(cat uuid_before)" != "$(cat uuid_after)" # diff --git a/Makefile b/Makefile index 9922db76..11363851 100644 --- a/Makefile +++ b/Makefile @@ -2,20 +2,20 @@ FLUTTER_BIN?=flutter all: format build lint test -.PHONY: clean build bump aar example test format lint e2e_android_local e2e_ios_local +.PHONY: clean build bump aar examples/flutter test format lint e2e_android_local e2e_ios_local clean: cd packages/bugsnag_flutter && $(FLUTTER_BIN) clean --suppress-analytics cd packages/bugsnag_breadcrumbs_dart_io && $(FLUTTER_BIN) clean --suppress-analytics cd packages/bugsnag_breadcrumbs_http && $(FLUTTER_BIN) clean --suppress-analytics - cd example && $(FLUTTER_BIN) clean --suppress-analytics && \ + cd examples/flutter && $(FLUTTER_BIN) clean --suppress-analytics && \ rm -rf .idea bugsnag_flutter_example.iml \ ios/{Pods,.symlinks,Podfile.lock} \ ios/{Runner.xcworkspace,Runner.xcodeproj,Runner.xcodeproj/project.xcworkspace}/xcuserdata \ android/{.idea,.gradle,gradlew,gradlew.bat,local.properties,bugsnag_flutter_example_android.iml} rm -rf staging -build: aar example +build: aar examples/flutter bump: ## Bump the version numbers to $VERSION ifeq ($(VERSION),) @@ -31,7 +31,7 @@ staging/bugsnag_flutter: mkdir -p staging/bugsnag_flutter cd packages/bugsnag_flutter && cp -a . ../../staging/bugsnag_flutter rm -f staging/bugsnag_flutter/pubspec.lock - cp -r example staging/bugsnag_flutter/example + cp -r examples staging/bugsnag_flutter/examples cp README.md staging/bugsnag_flutter/. cp LICENSE staging/bugsnag_flutter/. cp CHANGELOG.md staging/bugsnag_flutter/. @@ -54,8 +54,10 @@ stage: clean staging/bugsnag_flutter staging/bugsnag_breadcrumbs_dart_io staging aar: cd packages/bugsnag_flutter && $(FLUTTER_BIN) build aar --suppress-analytics -example: - cd example && $(FLUTTER_BIN) build apk --suppress-analytics && $(FLUTTER_BIN) build ios --no-codesign --suppress-analytics +examples/flutter: + cd $@ && $(FLUTTER_BIN) pub get + cd $@ && $(FLUTTER_BIN) build apk --suppress-analytics + cd $@ && $(FLUTTER_BIN) build ios --no-codesign --suppress-analytics test: cd packages/bugsnag_flutter && $(FLUTTER_BIN) test -r expanded --suppress-analytics diff --git a/example/.gitignore b/examples/flutter/.gitignore similarity index 100% rename from example/.gitignore rename to examples/flutter/.gitignore diff --git a/example/.metadata b/examples/flutter/.metadata similarity index 100% rename from example/.metadata rename to examples/flutter/.metadata diff --git a/example/README.md b/examples/flutter/README.md similarity index 75% rename from example/README.md rename to examples/flutter/README.md index 0a078a9a..b1165cdb 100644 --- a/example/README.md +++ b/examples/flutter/README.md @@ -1,10 +1,10 @@ # Example Flutter application with Bugsnag -Demonstrates how to use the bugsnag_flutter package. +Demonstrates how to use the bugsnag_flutter package in a Flutter-based app. ## Getting Started -* Install the Flutter extension for Visual Studio Code and open the `/example` directory +* Install the Flutter extension for Visual Studio Code and open the `/examples/flutter` directory * Insert your API key into `lib/main.dart` * With `lib/main.dart` open in Visual Studio Code, click "Run" above the `main` function diff --git a/example/analysis_options.yaml b/examples/flutter/analysis_options.yaml similarity index 100% rename from example/analysis_options.yaml rename to examples/flutter/analysis_options.yaml diff --git a/example/android/.gitignore b/examples/flutter/android/.gitignore similarity index 100% rename from example/android/.gitignore rename to examples/flutter/android/.gitignore diff --git a/example/android/app/build.gradle b/examples/flutter/android/app/build.gradle similarity index 100% rename from example/android/app/build.gradle rename to examples/flutter/android/app/build.gradle diff --git a/example/android/app/src/debug/AndroidManifest.xml b/examples/flutter/android/app/src/debug/AndroidManifest.xml similarity index 100% rename from example/android/app/src/debug/AndroidManifest.xml rename to examples/flutter/android/app/src/debug/AndroidManifest.xml diff --git a/example/android/app/src/main/AndroidManifest.xml b/examples/flutter/android/app/src/main/AndroidManifest.xml similarity index 100% rename from example/android/app/src/main/AndroidManifest.xml rename to examples/flutter/android/app/src/main/AndroidManifest.xml diff --git a/example/android/app/src/main/java/com/bugsnag/examples/flutter/MainActivity.java b/examples/flutter/android/app/src/main/java/com/bugsnag/examples/flutter/MainActivity.java similarity index 100% rename from example/android/app/src/main/java/com/bugsnag/examples/flutter/MainActivity.java rename to examples/flutter/android/app/src/main/java/com/bugsnag/examples/flutter/MainActivity.java diff --git a/example/android/app/src/main/res/drawable-v21/launch_background.xml b/examples/flutter/android/app/src/main/res/drawable-v21/launch_background.xml similarity index 100% rename from example/android/app/src/main/res/drawable-v21/launch_background.xml rename to examples/flutter/android/app/src/main/res/drawable-v21/launch_background.xml diff --git a/example/android/app/src/main/res/drawable/launch_background.xml b/examples/flutter/android/app/src/main/res/drawable/launch_background.xml similarity index 100% rename from example/android/app/src/main/res/drawable/launch_background.xml rename to examples/flutter/android/app/src/main/res/drawable/launch_background.xml diff --git a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/examples/flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to examples/flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/examples/flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to examples/flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/examples/flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to examples/flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/examples/flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to examples/flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/examples/flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to examples/flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/example/android/app/src/main/res/values-night/styles.xml b/examples/flutter/android/app/src/main/res/values-night/styles.xml similarity index 100% rename from example/android/app/src/main/res/values-night/styles.xml rename to examples/flutter/android/app/src/main/res/values-night/styles.xml diff --git a/example/android/app/src/main/res/values/styles.xml b/examples/flutter/android/app/src/main/res/values/styles.xml similarity index 100% rename from example/android/app/src/main/res/values/styles.xml rename to examples/flutter/android/app/src/main/res/values/styles.xml diff --git a/example/android/app/src/profile/AndroidManifest.xml b/examples/flutter/android/app/src/profile/AndroidManifest.xml similarity index 100% rename from example/android/app/src/profile/AndroidManifest.xml rename to examples/flutter/android/app/src/profile/AndroidManifest.xml diff --git a/example/android/build.gradle b/examples/flutter/android/build.gradle similarity index 100% rename from example/android/build.gradle rename to examples/flutter/android/build.gradle diff --git a/example/android/gradle.properties b/examples/flutter/android/gradle.properties similarity index 100% rename from example/android/gradle.properties rename to examples/flutter/android/gradle.properties diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/examples/flutter/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from example/android/gradle/wrapper/gradle-wrapper.properties rename to examples/flutter/android/gradle/wrapper/gradle-wrapper.properties diff --git a/example/android/settings.gradle b/examples/flutter/android/settings.gradle similarity index 100% rename from example/android/settings.gradle rename to examples/flutter/android/settings.gradle diff --git a/example/ios/.gitignore b/examples/flutter/ios/.gitignore similarity index 100% rename from example/ios/.gitignore rename to examples/flutter/ios/.gitignore diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/examples/flutter/ios/Flutter/AppFrameworkInfo.plist similarity index 100% rename from example/ios/Flutter/AppFrameworkInfo.plist rename to examples/flutter/ios/Flutter/AppFrameworkInfo.plist diff --git a/example/ios/Flutter/Debug.xcconfig b/examples/flutter/ios/Flutter/Debug.xcconfig similarity index 100% rename from example/ios/Flutter/Debug.xcconfig rename to examples/flutter/ios/Flutter/Debug.xcconfig diff --git a/example/ios/Flutter/Release.xcconfig b/examples/flutter/ios/Flutter/Release.xcconfig similarity index 100% rename from example/ios/Flutter/Release.xcconfig rename to examples/flutter/ios/Flutter/Release.xcconfig diff --git a/example/ios/Podfile b/examples/flutter/ios/Podfile similarity index 100% rename from example/ios/Podfile rename to examples/flutter/ios/Podfile diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/examples/flutter/ios/Runner.xcodeproj/project.pbxproj similarity index 100% rename from example/ios/Runner.xcodeproj/project.pbxproj rename to examples/flutter/ios/Runner.xcodeproj/project.pbxproj diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/examples/flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to examples/flutter/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to examples/flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/examples/flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to examples/flutter/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/examples/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 100% rename from example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to examples/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme diff --git a/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/examples/flutter/ios/Runner.xcworkspace/contents.xcworkspacedata similarity index 100% rename from example/ios/Runner.xcworkspace/contents.xcworkspacedata rename to examples/flutter/ios/Runner.xcworkspace/contents.xcworkspacedata diff --git a/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/flutter/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to examples/flutter/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/examples/flutter/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to examples/flutter/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/example/ios/Runner/AppDelegate.h b/examples/flutter/ios/Runner/AppDelegate.h similarity index 100% rename from example/ios/Runner/AppDelegate.h rename to examples/flutter/ios/Runner/AppDelegate.h diff --git a/example/ios/Runner/AppDelegate.m b/examples/flutter/ios/Runner/AppDelegate.m similarity index 100% rename from example/ios/Runner/AppDelegate.m rename to examples/flutter/ios/Runner/AppDelegate.m diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png rename to examples/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/examples/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json similarity index 100% rename from example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json rename to examples/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/examples/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png rename to examples/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/examples/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png rename to examples/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/examples/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png similarity index 100% rename from example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png rename to examples/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/examples/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md similarity index 100% rename from example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md rename to examples/flutter/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md diff --git a/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/examples/flutter/ios/Runner/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from example/ios/Runner/Base.lproj/LaunchScreen.storyboard rename to examples/flutter/ios/Runner/Base.lproj/LaunchScreen.storyboard diff --git a/example/ios/Runner/Base.lproj/Main.storyboard b/examples/flutter/ios/Runner/Base.lproj/Main.storyboard similarity index 100% rename from example/ios/Runner/Base.lproj/Main.storyboard rename to examples/flutter/ios/Runner/Base.lproj/Main.storyboard diff --git a/example/ios/Runner/Info.plist b/examples/flutter/ios/Runner/Info.plist similarity index 96% rename from example/ios/Runner/Info.plist rename to examples/flutter/ios/Runner/Info.plist index eea554db..f008db9e 100644 --- a/example/ios/Runner/Info.plist +++ b/examples/flutter/ios/Runner/Info.plist @@ -43,5 +43,7 @@ UIViewControllerBasedStatusBarAppearance + CADisableMinimumFrameDurationOnPhone + diff --git a/example/ios/Runner/main.m b/examples/flutter/ios/Runner/main.m similarity index 100% rename from example/ios/Runner/main.m rename to examples/flutter/ios/Runner/main.m diff --git a/example/lib/main.dart b/examples/flutter/lib/main.dart similarity index 100% rename from example/lib/main.dart rename to examples/flutter/lib/main.dart diff --git a/example/lib/native_crashes.dart b/examples/flutter/lib/native_crashes.dart similarity index 100% rename from example/lib/native_crashes.dart rename to examples/flutter/lib/native_crashes.dart diff --git a/example/pubspec.yaml b/examples/flutter/pubspec.yaml similarity index 95% rename from example/pubspec.yaml rename to examples/flutter/pubspec.yaml index 5163cc33..825d2ad0 100644 --- a/example/pubspec.yaml +++ b/examples/flutter/pubspec.yaml @@ -25,13 +25,13 @@ dependencies: # See https://dart.dev/tools/pub/dependencies#version-constraints # The example app is bundled with the plugin so we use a path dependency on # the parent directory to use the current plugin's version. - path: ../packages/bugsnag_flutter + path: ../../packages/bugsnag_flutter bugsnag_breadcrumbs_dart_io: - path: ../packages/bugsnag_breadcrumbs_dart_io + path: ../../packages/bugsnag_breadcrumbs_dart_io bugsnag_breadcrumbs_http: - path: ../packages/bugsnag_breadcrumbs_http + path: ../../packages/bugsnag_breadcrumbs_http # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. From 94fe4f87a829558d539c58da2e5212096052b11b Mon Sep 17 00:00:00 2001 From: Nick Dowell Date: Tue, 21 Jun 2022 15:32:52 +0100 Subject: [PATCH 03/11] Add `examples/native` --- examples/native/README.md | 9 + examples/native/android/.gitignore | 15 + examples/native/android/README.md | 8 + examples/native/android/app/.gitignore | 1 + examples/native/android/app/build.gradle | 50 ++ .../native/android/app/proguard-rules.pro | 21 + .../android/app/src/main/AndroidManifest.xml | 39 ++ .../bugsnag/flutter/android/ExampleApp.kt | 13 + .../bugsnag/flutter/android/MainActivity.kt | 19 + .../drawable-v24/ic_launcher_foreground.xml | 30 ++ .../res/drawable/ic_launcher_background.xml | 170 +++++++ .../app/src/main/res/layout/activity_main.xml | 42 ++ .../app/src/main/res/menu/menu_main.xml | 10 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes .../app/src/main/res/navigation/nav_graph.xml | 28 ++ .../app/src/main/res/values-land/dimens.xml | 3 + .../app/src/main/res/values-night/themes.xml | 16 + .../src/main/res/values-w1240dp/dimens.xml | 3 + .../app/src/main/res/values-w600dp/dimens.xml | 3 + .../app/src/main/res/values/colors.xml | 10 + .../app/src/main/res/values/dimens.xml | 3 + .../app/src/main/res/values/strings.xml | 12 + .../app/src/main/res/values/themes.xml | 25 + .../app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + examples/native/android/build.gradle | 16 + examples/native/android/gradle.properties | 23 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + examples/native/android/gradlew | 185 ++++++++ examples/native/android/gradlew.bat | 89 ++++ examples/native/android/settings.gradle | 16 + examples/native/example_flutter/.gitignore | 49 ++ examples/native/example_flutter/.metadata | 10 + .../example_flutter/analysis_options.yaml | 4 + examples/native/example_flutter/lib/main.dart | 104 +++++ examples/native/example_flutter/pubspec.yaml | 95 ++++ examples/native/ios/.gitignore | 3 + .../BugsnagFlutter.xcodeproj/project.pbxproj | 432 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../contents.xcworkspacedata | 10 + .../ios/BugsnagFlutter/AppDelegate.swift | 30 ++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 93 ++++ .../Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 + .../BugsnagFlutter/Base.lproj/Main.storyboard | 54 +++ examples/native/ios/BugsnagFlutter/Info.plist | 50 ++ .../ios/BugsnagFlutter/ViewController.swift | 15 + examples/native/ios/Podfile | 19 + examples/native/ios/README.md | 9 + 62 files changed, 1933 insertions(+) create mode 100644 examples/native/README.md create mode 100644 examples/native/android/.gitignore create mode 100644 examples/native/android/README.md create mode 100644 examples/native/android/app/.gitignore create mode 100644 examples/native/android/app/build.gradle create mode 100644 examples/native/android/app/proguard-rules.pro create mode 100644 examples/native/android/app/src/main/AndroidManifest.xml create mode 100644 examples/native/android/app/src/main/java/com/example/bugsnag/flutter/android/ExampleApp.kt create mode 100644 examples/native/android/app/src/main/java/com/example/bugsnag/flutter/android/MainActivity.kt create mode 100644 examples/native/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 examples/native/android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 examples/native/android/app/src/main/res/layout/activity_main.xml create mode 100644 examples/native/android/app/src/main/res/menu/menu_main.xml create mode 100644 examples/native/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 examples/native/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 examples/native/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 examples/native/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 examples/native/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 examples/native/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 examples/native/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 examples/native/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 examples/native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 examples/native/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 examples/native/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 examples/native/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 examples/native/android/app/src/main/res/navigation/nav_graph.xml create mode 100644 examples/native/android/app/src/main/res/values-land/dimens.xml create mode 100644 examples/native/android/app/src/main/res/values-night/themes.xml create mode 100644 examples/native/android/app/src/main/res/values-w1240dp/dimens.xml create mode 100644 examples/native/android/app/src/main/res/values-w600dp/dimens.xml create mode 100644 examples/native/android/app/src/main/res/values/colors.xml create mode 100644 examples/native/android/app/src/main/res/values/dimens.xml create mode 100644 examples/native/android/app/src/main/res/values/strings.xml create mode 100644 examples/native/android/app/src/main/res/values/themes.xml create mode 100644 examples/native/android/app/src/main/res/xml/backup_rules.xml create mode 100644 examples/native/android/app/src/main/res/xml/data_extraction_rules.xml create mode 100644 examples/native/android/build.gradle create mode 100644 examples/native/android/gradle.properties create mode 100644 examples/native/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/native/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 examples/native/android/gradlew create mode 100644 examples/native/android/gradlew.bat create mode 100644 examples/native/android/settings.gradle create mode 100644 examples/native/example_flutter/.gitignore create mode 100644 examples/native/example_flutter/.metadata create mode 100644 examples/native/example_flutter/analysis_options.yaml create mode 100644 examples/native/example_flutter/lib/main.dart create mode 100644 examples/native/example_flutter/pubspec.yaml create mode 100644 examples/native/ios/.gitignore create mode 100644 examples/native/ios/BugsnagFlutter.xcodeproj/project.pbxproj create mode 100644 examples/native/ios/BugsnagFlutter.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 examples/native/ios/BugsnagFlutter.xcworkspace/contents.xcworkspacedata create mode 100644 examples/native/ios/BugsnagFlutter/AppDelegate.swift create mode 100644 examples/native/ios/BugsnagFlutter/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 examples/native/ios/BugsnagFlutter/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 examples/native/ios/BugsnagFlutter/Assets.xcassets/Contents.json create mode 100644 examples/native/ios/BugsnagFlutter/Base.lproj/LaunchScreen.storyboard create mode 100644 examples/native/ios/BugsnagFlutter/Base.lproj/Main.storyboard create mode 100644 examples/native/ios/BugsnagFlutter/Info.plist create mode 100644 examples/native/ios/BugsnagFlutter/ViewController.swift create mode 100644 examples/native/ios/Podfile create mode 100644 examples/native/ios/README.md diff --git a/examples/native/README.md b/examples/native/README.md new file mode 100644 index 00000000..30224672 --- /dev/null +++ b/examples/native/README.md @@ -0,0 +1,9 @@ +# Example Native applications with Bugsnag + +Demonstrates how to use the `bugsnag_flutter` package in Android or iOS apps that integrate Flutter-based screens. + +## Getting Started + +See the platform-specific READMEs +* [android/README.md](android/README.md) +* [ios/README.md](ios/README.md) diff --git a/examples/native/android/.gitignore b/examples/native/android/.gitignore new file mode 100644 index 00000000..aa724b77 --- /dev/null +++ b/examples/native/android/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/examples/native/android/README.md b/examples/native/android/README.md new file mode 100644 index 00000000..a0ddbc6b --- /dev/null +++ b/examples/native/android/README.md @@ -0,0 +1,8 @@ +# Example Android app with bugsnag_flutter + +An example Android app that embeds Flutter and uses Bugsnag (Cocoa) and bugsnag_flutter. + +## Getting Started + +* Insert your API key into the `com.bugsnag.android.API_KEY` meta-data of `app/src/main/AndroidManifest.xml`. +* Open this directory in Android Studio. diff --git a/examples/native/android/app/.gitignore b/examples/native/android/app/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/examples/native/android/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/examples/native/android/app/build.gradle b/examples/native/android/app/build.gradle new file mode 100644 index 00000000..57759879 --- /dev/null +++ b/examples/native/android/app/build.gradle @@ -0,0 +1,50 @@ +plugins { + id 'com.android.application' + id 'com.bugsnag.android.gradle' + id 'org.jetbrains.kotlin.android' +} + +android { + compileSdk 32 + + defaultConfig { + applicationId "com.example.bugsnag.flutter.android" + minSdk 21 + targetSdk 32 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = '1.8' + } + buildFeatures { + viewBinding true + } +} + +dependencies { + implementation project(':flutter') + implementation 'androidx.core:core-ktx:1.7.0' + implementation 'androidx.appcompat:appcompat:1.3.0' + implementation 'com.bugsnag:bugsnag-android:5.+' + implementation 'com.google.android.material:material:1.4.0' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5' + implementation 'androidx.navigation:navigation-ui-ktx:2.3.5' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' +} diff --git a/examples/native/android/app/proguard-rules.pro b/examples/native/android/app/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/examples/native/android/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/examples/native/android/app/src/main/AndroidManifest.xml b/examples/native/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..c4c08e1e --- /dev/null +++ b/examples/native/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/native/android/app/src/main/java/com/example/bugsnag/flutter/android/ExampleApp.kt b/examples/native/android/app/src/main/java/com/example/bugsnag/flutter/android/ExampleApp.kt new file mode 100644 index 00000000..1d50a9f6 --- /dev/null +++ b/examples/native/android/app/src/main/java/com/example/bugsnag/flutter/android/ExampleApp.kt @@ -0,0 +1,13 @@ +package com.example.bugsnag.flutter.android + +import android.app.Application +import com.bugsnag.android.Bugsnag + +class ExampleApp : Application() { + override fun onCreate() { + super.onCreate() + + // Start Bugsnag Android SDK + Bugsnag.start(this) + } +} diff --git a/examples/native/android/app/src/main/java/com/example/bugsnag/flutter/android/MainActivity.kt b/examples/native/android/app/src/main/java/com/example/bugsnag/flutter/android/MainActivity.kt new file mode 100644 index 00000000..6bcc7107 --- /dev/null +++ b/examples/native/android/app/src/main/java/com/example/bugsnag/flutter/android/MainActivity.kt @@ -0,0 +1,19 @@ +package com.example.bugsnag.flutter.android + +import android.os.Bundle +import android.view.View +import androidx.appcompat.app.AppCompatActivity +import io.flutter.embedding.android.FlutterActivity + +class MainActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + setContentView(R.layout.activity_main); + } + + fun showFlutterView(view: View) { + startActivity(FlutterActivity.createDefaultIntent(applicationContext)) + } +} diff --git a/examples/native/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/examples/native/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 00000000..2b068d11 --- /dev/null +++ b/examples/native/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/examples/native/android/app/src/main/res/drawable/ic_launcher_background.xml b/examples/native/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..07d5da9c --- /dev/null +++ b/examples/native/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/native/android/app/src/main/res/layout/activity_main.xml b/examples/native/android/app/src/main/res/layout/activity_main.xml new file mode 100644 index 00000000..3e757439 --- /dev/null +++ b/examples/native/android/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + +