diff --git a/packages/audio_room_with_chat/lib/main.dart b/packages/audio_room_with_chat/lib/main.dart index 2ebe7c8..d0e9045 100644 --- a/packages/audio_room_with_chat/lib/main.dart +++ b/packages/audio_room_with_chat/lib/main.dart @@ -18,9 +18,9 @@ void main() { class MyApp extends StatelessWidget { const MyApp({ - Key? key, + super.key, required this.chatClient, - }) : super(key: key); + }); final StreamChatClient chatClient; diff --git a/packages/audio_room_with_chat/lib/screens/login_screen.dart b/packages/audio_room_with_chat/lib/screens/login_screen.dart index 77353bc..d41ed71 100644 --- a/packages/audio_room_with_chat/lib/screens/login_screen.dart +++ b/packages/audio_room_with_chat/lib/screens/login_screen.dart @@ -9,7 +9,7 @@ import 'package:stream_video_flutter/stream_video_flutter.dart'; import '../app_config.dart'; class LoginScreen extends StatelessWidget { - const LoginScreen({Key? key}) : super(key: key); + const LoginScreen({super.key}); @override Widget build(BuildContext context) { diff --git a/packages/audio_room_with_chat/pubspec.yaml b/packages/audio_room_with_chat/pubspec.yaml index 4aaa7c2..17c253a 100644 --- a/packages/audio_room_with_chat/pubspec.yaml +++ b/packages/audio_room_with_chat/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: flutter: sdk: flutter stream_chat_flutter: ^9.20.0 - stream_video_flutter: ^1.0.0 + stream_video_flutter: ^1.3.0 dev_dependencies: flutter_test: diff --git a/packages/chat_with_video_call/lib/main.dart b/packages/chat_with_video_call/lib/main.dart index 459476c..e6eb808 100644 --- a/packages/chat_with_video_call/lib/main.dart +++ b/packages/chat_with_video_call/lib/main.dart @@ -18,9 +18,9 @@ void main() { class MyApp extends StatelessWidget { const MyApp({ - Key? key, + super.key, required this.chatClient, - }) : super(key: key); + }); final StreamChatClient chatClient; diff --git a/packages/chat_with_video_call/lib/screens/channel_list_screen.dart b/packages/chat_with_video_call/lib/screens/channel_list_screen.dart index a89171f..607bcbf 100644 --- a/packages/chat_with_video_call/lib/screens/channel_list_screen.dart +++ b/packages/chat_with_video_call/lib/screens/channel_list_screen.dart @@ -1,11 +1,10 @@ import 'package:chat_with_video_call/app_config.dart'; -import 'package:chat_with_video_call/sample_user.dart'; import 'package:chat_with_video_call/screens/channel_screen.dart'; import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; class ChannelListScreen extends StatefulWidget { - const ChannelListScreen({Key? key, required this.onLogout}) : super(key: key); + const ChannelListScreen({super.key, required this.onLogout}); final VoidCallback onLogout; diff --git a/packages/chat_with_video_call/lib/screens/channel_screen.dart b/packages/chat_with_video_call/lib/screens/channel_screen.dart index 8967116..d54cd01 100644 --- a/packages/chat_with_video_call/lib/screens/channel_screen.dart +++ b/packages/chat_with_video_call/lib/screens/channel_screen.dart @@ -6,7 +6,7 @@ import 'package:stream_chat_flutter/stream_chat_flutter.dart'; import 'package:stream_video_flutter/stream_video_flutter.dart'; class ChannelScreen extends StatelessWidget { - const ChannelScreen({Key? key}) : super(key: key); + const ChannelScreen({super.key}); @override Widget build(BuildContext context) { diff --git a/packages/chat_with_video_call/lib/screens/login_screen.dart b/packages/chat_with_video_call/lib/screens/login_screen.dart index c252ac3..221235f 100644 --- a/packages/chat_with_video_call/lib/screens/login_screen.dart +++ b/packages/chat_with_video_call/lib/screens/login_screen.dart @@ -9,7 +9,7 @@ import '../app_config.dart'; import 'channel_list_screen.dart'; class LoginScreen extends StatelessWidget { - const LoginScreen({Key? key}) : super(key: key); + const LoginScreen({super.key}); @override Widget build(BuildContext context) { diff --git a/packages/chat_with_video_call/pubspec.yaml b/packages/chat_with_video_call/pubspec.yaml index f2bb93c..1e6374f 100644 --- a/packages/chat_with_video_call/pubspec.yaml +++ b/packages/chat_with_video_call/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: flutter: sdk: flutter stream_chat_flutter: ^9.20.0 - stream_video_flutter: ^1.0.0 + stream_video_flutter: ^1.3.0 dev_dependencies: flutter_lints: ^5.0.0 diff --git a/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/audio_room_screen.dart b/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/audio_room_screen.dart index 536891c..91aa56d 100644 --- a/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/audio_room_screen.dart +++ b/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/audio_room_screen.dart @@ -1,5 +1,3 @@ -import 'package:audio_room_with_chat_starter/screens/widgets/audio_room_actions.dart'; -import 'package:audio_room_with_chat_starter/screens/widgets/chat_sheet.dart'; import 'package:flutter/material.dart'; /// Placeholder for the in-call audio room UI with chat. diff --git a/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/audio_rooms_screen.dart b/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/audio_rooms_screen.dart index e2ec56a..c9fc44f 100644 --- a/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/audio_rooms_screen.dart +++ b/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/audio_rooms_screen.dart @@ -44,7 +44,7 @@ class _AudioRoomsScreenState extends State { } final calls = []; - if (calls == null || calls.isEmpty) { + if (calls.isEmpty) { return _EmptyState(onRefresh: _reloadRooms); } diff --git a/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/login_screen.dart b/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/login_screen.dart index f1a11ef..08c68ea 100644 --- a/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/login_screen.dart +++ b/packages/quickstart_kits/audio_room_with_chat_starter/lib/screens/login_screen.dart @@ -4,7 +4,7 @@ import 'package:audio_room_with_chat_starter/screens/audio_rooms_screen.dart'; import 'package:flutter/material.dart'; class LoginScreen extends StatelessWidget { - const LoginScreen({Key? key}) : super(key: key); + const LoginScreen({super.key}); @override Widget build(BuildContext context) { diff --git a/packages/quickstart_kits/audio_room_with_chat_starter/pubspec.yaml b/packages/quickstart_kits/audio_room_with_chat_starter/pubspec.yaml index f36ec8f..4156f84 100644 --- a/packages/quickstart_kits/audio_room_with_chat_starter/pubspec.yaml +++ b/packages/quickstart_kits/audio_room_with_chat_starter/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: flutter: sdk: flutter stream_chat_flutter: ^9.16.0 - stream_video_flutter: ^0.10.4 + stream_video_flutter: ^1.3.0 dev_dependencies: flutter_test: diff --git a/packages/quickstart_kits/chat_with_video_starter/lib/main.dart b/packages/quickstart_kits/chat_with_video_starter/lib/main.dart index 814fcb1..126a8db 100644 --- a/packages/quickstart_kits/chat_with_video_starter/lib/main.dart +++ b/packages/quickstart_kits/chat_with_video_starter/lib/main.dart @@ -8,7 +8,7 @@ void main() { } class MyApp extends StatelessWidget { - const MyApp({Key? key}) : super(key: key); + const MyApp({super.key}); @override Widget build(BuildContext context) { diff --git a/packages/quickstart_kits/chat_with_video_starter/lib/screens/channel_list_screen.dart b/packages/quickstart_kits/chat_with_video_starter/lib/screens/channel_list_screen.dart index 07fd100..39c75f8 100644 --- a/packages/quickstart_kits/chat_with_video_starter/lib/screens/channel_list_screen.dart +++ b/packages/quickstart_kits/chat_with_video_starter/lib/screens/channel_list_screen.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; class ChannelListScreen extends StatefulWidget { - const ChannelListScreen({Key? key, required this.onLogout}) : super(key: key); + const ChannelListScreen({super.key, required this.onLogout}); final VoidCallback onLogout; diff --git a/packages/quickstart_kits/chat_with_video_starter/lib/screens/channel_screen.dart b/packages/quickstart_kits/chat_with_video_starter/lib/screens/channel_screen.dart index 8f8f7be..8811883 100644 --- a/packages/quickstart_kits/chat_with_video_starter/lib/screens/channel_screen.dart +++ b/packages/quickstart_kits/chat_with_video_starter/lib/screens/channel_screen.dart @@ -1,8 +1,9 @@ +// ignore_for_file: unused_element import 'package:flutter/material.dart'; import 'package:stream_chat_flutter/stream_chat_flutter.dart'; class ChannelScreen extends StatelessWidget { - const ChannelScreen({Key? key}) : super(key: key); + const ChannelScreen({super.key}); @override Widget build(BuildContext context) { diff --git a/packages/quickstart_kits/chat_with_video_starter/lib/screens/login_screen.dart b/packages/quickstart_kits/chat_with_video_starter/lib/screens/login_screen.dart index 40d52f7..b0d19c1 100644 --- a/packages/quickstart_kits/chat_with_video_starter/lib/screens/login_screen.dart +++ b/packages/quickstart_kits/chat_with_video_starter/lib/screens/login_screen.dart @@ -1,11 +1,11 @@ +// ignore_for_file: unused_element import 'package:chat_with_video_starter/sample_user.dart'; import 'package:flutter/material.dart'; import '../app_config.dart'; -import 'channel_list_screen.dart'; class LoginScreen extends StatelessWidget { - const LoginScreen({Key? key}) : super(key: key); + const LoginScreen({super.key}); @override Widget build(BuildContext context) { @@ -39,7 +39,7 @@ class LoginScreen extends StatelessWidget { context, MaterialPageRoute( builder: (context) => Material( - child: Container(child: Center(child: Text("Let's start building!"))), + child: Center(child: Text("Let's start building!")), ), ), ); diff --git a/packages/quickstart_kits/chat_with_video_starter/pubspec.yaml b/packages/quickstart_kits/chat_with_video_starter/pubspec.yaml index 334a469..4995870 100644 --- a/packages/quickstart_kits/chat_with_video_starter/pubspec.yaml +++ b/packages/quickstart_kits/chat_with_video_starter/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: flutter: sdk: flutter stream_chat_flutter: ^9.16.0 - stream_video_flutter: ^0.10.4 + stream_video_flutter: ^1.3.0 dev_dependencies: flutter_test: diff --git a/packages/ui_cookbook/.gitignore b/packages/ui_cookbook/.gitignore deleted file mode 100644 index 24476c5..0000000 --- a/packages/ui_cookbook/.gitignore +++ /dev/null @@ -1,44 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release diff --git a/packages/ui_cookbook/.metadata b/packages/ui_cookbook/.metadata deleted file mode 100644 index 18cd0c7..0000000 --- a/packages/ui_cookbook/.metadata +++ /dev/null @@ -1,45 +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: "2524052335ec76bb03e04ede244b071f1b86d190" - channel: "stable" - -project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - base_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - - platform: android - create_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - base_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - - platform: ios - create_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - base_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - - platform: linux - create_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - base_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - - platform: macos - create_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - base_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - - platform: web - create_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - base_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - - platform: windows - create_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - base_revision: 2524052335ec76bb03e04ede244b071f1b86d190 - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/packages/ui_cookbook/README.md b/packages/ui_cookbook/README.md deleted file mode 100644 index 70dad85..0000000 --- a/packages/ui_cookbook/README.md +++ /dev/null @@ -1,117 +0,0 @@ -# Video UI Cookbook -This project demonstrates different customization and development options which can be applied to projects using Stream's [Video API](https://getstream.io/video). - -## Current projects: -- Custom Participant List: Learn how `CallState` can be used to render custom call components like a real-time call participant list displaying the user's avatar and mircophone state. - - -To run this project you will need: -1. The latest version of [Flutter](https://flutter.dev) installed on your machine -2. A free account on [Stream](https://getstream.io/try-for-free/) -3. A fresh cup of coffee ☕️ - - -## Getting started 🛠️ -1. Clone the repository using the following command: -```shell -git clone https://github.com/GetStream/flutter-video-samples.git - -cd flutter-video-samples/packages/ui_cookbook -``` - -2. Install the required packages: -```shell -flutter pub get -``` - -3. Configure the project API keys located in `lib/env/env.dart`: -```dart -abstract class Env { - static const String streamVideoApiKey = ''; - static const String streamChatApiKey = ''; - - static const String sampleUserId00 = ''; - static const String sampleUserName00 = ''; - static const String sampleUserRole00 = ''; - static const String sampleUserImage00 = ''; - static const String sampleUserVideoToken00 = ''; - static const String sampleUserChatToken00 = ''; -} -``` - -> Note: For apps in development mode, development tokens can be used on both Video and Chat. For populating test conversations for debugging, consider using our online [generator](https://generator.getstream.io/) to automate part of the process. - -4. Finally, run your application and enjoy! -```dart -flutter run -``` - - - - - -## 🛥 What is Stream? -Stream allows developers to rapidly deploy scalable feeds, chat messaging and video with an industry leading 99.999% uptime SLA guarantee. - -Stream provides UI components and state handling that make it easy to build video calling for your app. All calls run on Stream’s network of edge servers around the world, ensuring optimal latency and reliability. - -## 📕 Tutorials -With Stream’s video components, you can use their SDK to build in-app video calling, audio rooms, audio calls, or live streaming. The best place to get started is with their tutorials: - -- **[Video & Audio Calling Tutorial](https://getstream.io/video/docs/flutter/video-calling-guide/)** -- **[Audio Rooms Tutorial](https://getstream.io/video/docs/flutter/audio-rooms/)** -- **[Livestreaming Tutorial](https://getstream.io/video/docs/flutter/livestreaming/)** - -If you’re interested in customizing the UI components for the Video SDK, check out the [UI Component Docs](https://getstream.io/video/docs/flutter/ui-components-overview/). - -## 👩‍💻 Free for Makers 👨‍💻 -Stream is free for most side and hobby projects. To qualify, your project/company needs to have < 5 team members and < $10k in monthly revenue. Makers get $100 in monthly credit for video for free. For more details, check out the [Maker Account](https://getstream.io/maker-account). - -## 💡Supported Features💡 -Here are some of the features we support: - -- Developer experience: Great SDKs, docs, tutorials and support so you can build quickly -- Edge network: Servers around the world ensure optimal latency and reliability -- Chat: Stored chat, reactions, threads, typing indicators, URL previews etc -- Security & Privacy: Based in USA and EU, Soc2 certified, GDPR compliant -- Dynascale: Automatically switch resolutions, fps, bitrate, codecs and paginate video on large calls -- Native device integration: CallKit support on iOS and OS integration for Android -- Screensharing -- Active speaker -- Custom events -- Geofencing -- Notifications and ringing calls -- Opus DTX & Red for reliable audio -- Webhooks & SQS -- Backstage mode -- Flexible permissions system -- Joining calls by ID, link or invite -- Enabling and disabling audio and video when in calls -- Flipping, Enabling and disabling camera in calls -- Enabling and disabling speakerphone in calls -- Push notification providers support -- Call recording -- Broadcasting to HLS - -## 🗺️ Roadmap -Video roadmap and changelog is available [here](https://github.com/GetStream/protocol/discussions/127). - -## 💼 We are hiring! -We’ve recently closed a [$38 million Series B funding round](https://techcrunch.com/2021/03/04/stream-raises-38m-as-its-chat-and-activity-feed-apis-power-communications-for-1b-users/) and we keep actively growing. Our APIs are used by more than a billion end-users, and you’ll have a chance to make a huge impact on the product within a team of the strongest engineers all over the world. Check out our current openings and apply via [Stream’s website](https://getstream.io/team/#jobs). - -## License -``` -Copyright (c) 2014-2023 Stream.io Inc. All rights reserved. - -Licensed under the Stream License; -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://github.com/GetStream/flutter-video-samples - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -``` diff --git a/packages/ui_cookbook/analysis_options.yaml b/packages/ui_cookbook/analysis_options.yaml deleted file mode 100644 index 0d29021..0000000 --- a/packages/ui_cookbook/analysis_options.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at https://dart.dev/lints. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/packages/ui_cookbook/android/.gitignore b/packages/ui_cookbook/android/.gitignore deleted file mode 100644 index 6f56801..0000000 --- a/packages/ui_cookbook/android/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -gradle-wrapper.jar -/.gradle -/captures/ -/gradlew -/gradlew.bat -/local.properties -GeneratedPluginRegistrant.java - -# Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app -key.properties -**/*.keystore -**/*.jks diff --git a/packages/ui_cookbook/android/app/build.gradle b/packages/ui_cookbook/android/app/build.gradle deleted file mode 100644 index 0ef1114..0000000 --- a/packages/ui_cookbook/android/app/build.gradle +++ /dev/null @@ -1,67 +0,0 @@ -plugins { - id "com.android.application" - id "org.jetbrains.kotlin.android" - id "dev.flutter.flutter-gradle-plugin" -} - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -android { - namespace "com.example.ui_cookbook" - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_11 - targetCompatibility JavaVersion.VERSION_11 - } - - kotlinOptions { - jvmTarget = '11' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.ui_cookbook" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion Math.max(flutter.minSdkVersion, 21) - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - 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 {} diff --git a/packages/ui_cookbook/android/app/src/debug/AndroidManifest.xml b/packages/ui_cookbook/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 399f698..0000000 --- a/packages/ui_cookbook/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/packages/ui_cookbook/android/app/src/main/AndroidManifest.xml b/packages/ui_cookbook/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index c35f87e..0000000 --- a/packages/ui_cookbook/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/ui_cookbook/android/app/src/main/kotlin/com/example/ui_cookbook/MainActivity.kt b/packages/ui_cookbook/android/app/src/main/kotlin/com/example/ui_cookbook/MainActivity.kt deleted file mode 100644 index e47cea3..0000000 --- a/packages/ui_cookbook/android/app/src/main/kotlin/com/example/ui_cookbook/MainActivity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.example.ui_cookbook - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} diff --git a/packages/ui_cookbook/android/app/src/main/res/drawable-v21/launch_background.xml b/packages/ui_cookbook/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f..0000000 --- a/packages/ui_cookbook/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/packages/ui_cookbook/android/app/src/main/res/drawable/launch_background.xml b/packages/ui_cookbook/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f..0000000 --- a/packages/ui_cookbook/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/packages/ui_cookbook/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/ui_cookbook/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4..0000000 Binary files a/packages/ui_cookbook/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/packages/ui_cookbook/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/ui_cookbook/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b7..0000000 Binary files a/packages/ui_cookbook/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/packages/ui_cookbook/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/ui_cookbook/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 09d4391..0000000 Binary files a/packages/ui_cookbook/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/ui_cookbook/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/ui_cookbook/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d..0000000 Binary files a/packages/ui_cookbook/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/ui_cookbook/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/ui_cookbook/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372e..0000000 Binary files a/packages/ui_cookbook/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/packages/ui_cookbook/android/app/src/main/res/values-night/styles.xml b/packages/ui_cookbook/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be..0000000 --- a/packages/ui_cookbook/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/packages/ui_cookbook/android/app/src/main/res/values/styles.xml b/packages/ui_cookbook/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef88..0000000 --- a/packages/ui_cookbook/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/packages/ui_cookbook/android/app/src/profile/AndroidManifest.xml b/packages/ui_cookbook/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 399f698..0000000 --- a/packages/ui_cookbook/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/packages/ui_cookbook/android/build.gradle b/packages/ui_cookbook/android/build.gradle deleted file mode 100644 index bc157bd..0000000 --- a/packages/ui_cookbook/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/packages/ui_cookbook/android/gradle.properties b/packages/ui_cookbook/android/gradle.properties deleted file mode 100644 index 94adc3a..0000000 --- a/packages/ui_cookbook/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true -android.enableJetifier=true diff --git a/packages/ui_cookbook/android/gradle/wrapper/gradle-wrapper.properties b/packages/ui_cookbook/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index e6045a9..0000000 --- a/packages/ui_cookbook/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip diff --git a/packages/ui_cookbook/android/settings.gradle b/packages/ui_cookbook/android/settings.gradle deleted file mode 100644 index 4d43439..0000000 --- a/packages/ui_cookbook/android/settings.gradle +++ /dev/null @@ -1,27 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - } - settings.ext.flutterSdkPath = flutterSdkPath() - - includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } - - plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.12.1" apply false - id "org.jetbrains.kotlin.android" version "2.2.0" apply false - } -} - -include ":app" - diff --git a/packages/ui_cookbook/ios/.gitignore b/packages/ui_cookbook/ios/.gitignore deleted file mode 100644 index 7a7f987..0000000 --- a/packages/ui_cookbook/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/packages/ui_cookbook/ios/Flutter/AppFrameworkInfo.plist b/packages/ui_cookbook/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 9625e10..0000000 --- a/packages/ui_cookbook/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +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 - MinimumOSVersion - 11.0 - - diff --git a/packages/ui_cookbook/ios/Flutter/Debug.xcconfig b/packages/ui_cookbook/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6..0000000 --- a/packages/ui_cookbook/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/ui_cookbook/ios/Flutter/Release.xcconfig b/packages/ui_cookbook/ios/Flutter/Release.xcconfig deleted file mode 100644 index c4855bf..0000000 --- a/packages/ui_cookbook/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/ui_cookbook/ios/Podfile b/packages/ui_cookbook/ios/Podfile deleted file mode 100644 index 88359b2..0000000 --- a/packages/ui_cookbook/ios/Podfile +++ /dev/null @@ -1,41 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '11.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/packages/ui_cookbook/ios/Runner.xcodeproj/project.pbxproj b/packages/ui_cookbook/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index fbff58f..0000000 --- a/packages/ui_cookbook/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,549 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 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 */; }; - B02DAB1A80FD250319C754F7 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 977B4E9E76E45F9984F8A038 /* Pods_Runner.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - 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 = ""; }; - 38FB6EB189585BBF10FB09FE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 5D42A180A6FA73AA2910B7FC /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 977B4E9E76E45F9984F8A038 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 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 = ""; }; - B38C2F18AB19EC9CAF87931F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B02DAB1A80FD250319C754F7 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 605B53A0EDECEF2A3C30236A /* Frameworks */ = { - isa = PBXGroup; - children = ( - 977B4E9E76E45F9984F8A038 /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 99F417B0331FB88C19BA67A7 /* Pods */, - 605B53A0EDECEF2A3C30236A /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; - 99F417B0331FB88C19BA67A7 /* Pods */ = { - isa = PBXGroup; - children = ( - B38C2F18AB19EC9CAF87931F /* Pods-Runner.debug.xcconfig */, - 5D42A180A6FA73AA2910B7FC /* Pods-Runner.release.xcconfig */, - 38FB6EB189585BBF10FB09FE /* Pods-Runner.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - B27A6E8716656D7DE3D413F1 /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 4B9EE7476E01EC5F1F2C8FF2 /* [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 = 1300; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - 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 */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets 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\" embed_and_thin"; - }; - 4B9EE7476E01EC5F1F2C8FF2 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\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"; - }; - B27A6E8716656D7DE3D413F1 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - 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; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift 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 */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - 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_DEPRECATED_OBJC_IMPLEMENTATIONS = 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_IMPLICIT_RETAIN_SELF = 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 = 11.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.uiCookbook; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - 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_DEPRECATED_OBJC_IMPLEMENTATIONS = 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_IMPLICIT_RETAIN_SELF = 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 = 11.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - 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_DEPRECATED_OBJC_IMPLEMENTATIONS = 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_IMPLICIT_RETAIN_SELF = 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 = 11.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.uiCookbook; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.uiCookbook; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - 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 */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/packages/ui_cookbook/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/ui_cookbook/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/packages/ui_cookbook/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/packages/ui_cookbook/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/ui_cookbook/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/packages/ui_cookbook/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/packages/ui_cookbook/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/ui_cookbook/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/packages/ui_cookbook/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/packages/ui_cookbook/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/ui_cookbook/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index c87d15a..0000000 --- a/packages/ui_cookbook/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/ui_cookbook/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/ui_cookbook/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc1..0000000 --- a/packages/ui_cookbook/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/packages/ui_cookbook/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/ui_cookbook/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/packages/ui_cookbook/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/packages/ui_cookbook/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/ui_cookbook/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/packages/ui_cookbook/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/packages/ui_cookbook/ios/Runner/AppDelegate.swift b/packages/ui_cookbook/ios/Runner/AppDelegate.swift deleted file mode 100644 index 70693e4..0000000 --- a/packages/ui_cookbook/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import UIKit -import Flutter - -@UIApplicationMain -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fa..0000000 --- a/packages/ui_cookbook/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/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 28c6bf0..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 2ccbfd9..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cde121..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index dcdc230..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 2ccbfd9..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b86..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b86..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d16..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 6a84f41..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index d0e1f58..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2..0000000 --- a/packages/ui_cookbook/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/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/ui_cookbook/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725..0000000 --- a/packages/ui_cookbook/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/ui_cookbook/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/ui_cookbook/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c..0000000 --- a/packages/ui_cookbook/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/ui_cookbook/ios/Runner/Base.lproj/Main.storyboard b/packages/ui_cookbook/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c2851..0000000 --- a/packages/ui_cookbook/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/ui_cookbook/ios/Runner/Info.plist b/packages/ui_cookbook/ios/Runner/Info.plist deleted file mode 100644 index df524f0..0000000 --- a/packages/ui_cookbook/ios/Runner/Info.plist +++ /dev/null @@ -1,55 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Ui Cookbook - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ui_cookbook - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - - NSCameraUsageDescription - $(PRODUCT_NAME) Camera Usage! - NSMicrophoneUsageDescription - $(PRODUCT_NAME) Microphone Usage! - - diff --git a/packages/ui_cookbook/ios/Runner/Runner-Bridging-Header.h b/packages/ui_cookbook/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a5..0000000 --- a/packages/ui_cookbook/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/packages/ui_cookbook/ios/RunnerTests/RunnerTests.swift b/packages/ui_cookbook/ios/RunnerTests/RunnerTests.swift deleted file mode 100644 index 86a7c3b..0000000 --- a/packages/ui_cookbook/ios/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import Flutter -import UIKit -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/packages/ui_cookbook/lib/env/env.dart b/packages/ui_cookbook/lib/env/env.dart deleted file mode 100644 index 2e4b7bf..0000000 --- a/packages/ui_cookbook/lib/env/env.dart +++ /dev/null @@ -1,16 +0,0 @@ -/// Populate this class with the API Key and user data for your application -/// Tokens can be created using our online generator for development applications. -/// For Production apps, it is better to use -abstract class Env { - static const String streamVideoApiKey = ''; - static const String streamChatApiKey = ''; - - static const String sampleUserId00 = ''; - static const String sampleUserName00 = ''; - static const String sampleUserRole00 = ''; - static const String sampleUserImage00 = ''; - static const String sampleUserVideoToken00 = ''; - static const String sampleUserChatToken00 = ''; - - -} diff --git a/packages/ui_cookbook/lib/main.dart b/packages/ui_cookbook/lib/main.dart deleted file mode 100644 index b553760..0000000 --- a/packages/ui_cookbook/lib/main.dart +++ /dev/null @@ -1,194 +0,0 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; -import 'package:stream_video_flutter/stream_video_flutter.dart'; -import 'package:ui_cookbook/samples/audio_indicator.dart'; -import 'package:ui_cookbook/samples/network_quality_indicator.dart'; -import 'package:ui_cookbook/samples/permissions_request_sample.dart'; -import 'package:ui_cookbook/samples/reactions_sample.dart'; - -import 'env/env.dart'; -import 'samples/participant_list.dart'; - -void main() async { - WidgetsFlutterBinding.ensureInitialized(); - - /// Initialize Stream Video SDK. - StreamVideo( - Env.streamVideoApiKey, - user: User.regular( - userId: Env.sampleUserId00, - name: Env.sampleUserName00, - image: Env.sampleUserImage00, - role: Env.sampleUserRole00, - ), - ); - - runApp(const UICookbook()); -} - -class UICookbook extends StatelessWidget { - const UICookbook({super.key}); - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'UI Cookbook', - theme: ThemeData( - primarySwatch: Colors.blue, - ), - home: HomeScreen(), - ); - } -} - -class HomeScreen extends StatelessWidget { - HomeScreen({super.key}); - - final _chars = 'abcdefghijklmnopqrstuvwxyz1234567890'; - final _rnd = Random(); - - Future generateCall(String type, String id) async { - final call = StreamVideo.instance.makeCall( - callType: StreamCallType.defaultType(), - id: id, - ); - - await call.getOrCreate(); - return call; - } - - String generateAlphanumericString(int length) => String.fromCharCodes( - Iterable.generate( - length, - (_) => _chars.codeUnitAt(_rnd.nextInt(_chars.length)), - ), - ); - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text('UI Cookbook'), - ), - body: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - OptionButton( - onPressed: () async { - final call = await generateCall( - 'default', - generateAlphanumericString(10), - ); - - Navigator.of(context).push( - MaterialPageRoute( - builder: (_) { - return ParticipantListScreen( - call: call, - ); - }, - ), - ); - }, - label: 'Participant List', - ), - OptionButton( - onPressed: () async { - final call = await generateCall( - 'audio_room', - generateAlphanumericString(10), - ); - - Navigator.of(context).push( - MaterialPageRoute( - builder: (_) { - return PermissionRequestsExample( - call: call, - ); - }, - ), - ); - }, - label: 'Permission Requests', - ), - OptionButton( - onPressed: () async { - final call = await generateCall( - 'default', - generateAlphanumericString(10), - ); - - Navigator.of(context).push( - MaterialPageRoute( - builder: (_) { - return ReactionsExample( - call: call, - ); - }, - ), - ); - }, - label: 'Reactions', - ), - OptionButton( - onPressed: () async { - final call = await generateCall( - 'default', - generateAlphanumericString(10), - ); - - Navigator.of(context).push( - MaterialPageRoute( - builder: (_) { - return AudioIndicatorExample( - call: call, - ); - }, - ), - ); - }, - label: 'Audio Indicator', - ), - OptionButton( - onPressed: () async { - final call = await generateCall( - 'default', - generateAlphanumericString(10), - ); - - Navigator.of(context).push( - MaterialPageRoute( - builder: (_) { - return NetworkQualityIndicatorExample( - call: call, - ); - }, - ), - ); - }, - label: 'Network Quality Indicator', - ), - ], - ), - ); - } -} - -class OptionButton extends StatelessWidget { - const OptionButton({super.key, required this.onPressed, required this.label}); - - final VoidCallback onPressed; - final String label; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.all(16), - child: ElevatedButton( - onPressed: onPressed, - child: Text(label), - ), - ); - } -} diff --git a/packages/ui_cookbook/lib/samples/audio_indicator.dart b/packages/ui_cookbook/lib/samples/audio_indicator.dart deleted file mode 100644 index 9c0c3a1..0000000 --- a/packages/ui_cookbook/lib/samples/audio_indicator.dart +++ /dev/null @@ -1,80 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:stream_video_flutter/stream_video_flutter.dart'; - -class AudioIndicatorExample extends StatefulWidget { - const AudioIndicatorExample({super.key, required this.call}); - - final Call call; - - @override - State createState() => _AudioIndicatorExampleState(); -} - -class _AudioIndicatorExampleState extends State { - Future startCall() async { - await widget.call.join(); - } - - Future endCall() async { - await widget.call.end(); - } - - @override - void initState() { - super.initState(); - startCall(); - } - - @override - void dispose() { - endCall(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text('Audio Indicator Example'), - ), - body: StreamBuilder( - stream: widget.call.state.valueStream, - initialData: widget.call.state.value, - builder: (context, snapshot) { - return StreamCallContent( - call: widget.call, - callAppBarWidgetBuilder: ( - context, - call, - ) => - const PreferredSize( - preferredSize: Size.zero, - child: SizedBox(), - ), - callParticipantsWidgetBuilder: ( - BuildContext context, - Call call, - ) { - return StreamCallParticipants( - call: call, - callParticipantBuilder: ( - BuildContext context, - Call call, - CallParticipantState participantState, - ) { - return StreamCallParticipant( - call: call, - participant: participantState, - audioLevelIndicatorColor: Colors.teal, - ); - }, - ); - }, - ); - }, - ), - ); - } -} diff --git a/packages/ui_cookbook/lib/samples/network_quality_indicator.dart b/packages/ui_cookbook/lib/samples/network_quality_indicator.dart deleted file mode 100644 index e476ec6..0000000 --- a/packages/ui_cookbook/lib/samples/network_quality_indicator.dart +++ /dev/null @@ -1,84 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:stream_video_flutter/stream_video_flutter.dart'; - -class NetworkQualityIndicatorExample extends StatefulWidget { - const NetworkQualityIndicatorExample({super.key, required this.call}); - - final Call call; - - @override - State createState() => - _NetworkQualityIndicatorExampleState(); -} - -class _NetworkQualityIndicatorExampleState - extends State { - Future startCall() async { - await widget.call.join(); - } - - Future endCall() async { - await widget.call.end(); - } - - @override - void initState() { - super.initState(); - startCall(); - } - - @override - void dispose() { - endCall(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text('Network Quality Indicator Example'), - ), - body: StreamBuilder( - stream: widget.call.state.valueStream, - initialData: widget.call.state.value, - builder: (context, snapshot) { - return StreamCallContent( - call: widget.call, - callAppBarWidgetBuilder: ( - context, - call, - ) => - const PreferredSize( - preferredSize: Size.zero, - child: SizedBox(), - ), - callParticipantsWidgetBuilder: ( - BuildContext context, - Call call, - ) { - return StreamCallParticipants( - call: call, - callParticipantBuilder: ( - BuildContext context, - Call call, - CallParticipantState participantState, - ) { - return StreamCallParticipant( - call: call, - participant: participantState, - connectionLevelActiveColor: Colors.yellow, - connectionLevelAlignment: Alignment.bottomRight, - connectionLevelInactiveColor: Colors.white, - ); - }, - ); - }, - ); - }, - ), - ); - } -} diff --git a/packages/ui_cookbook/lib/samples/participant_list.dart b/packages/ui_cookbook/lib/samples/participant_list.dart deleted file mode 100644 index b27dbc3..0000000 --- a/packages/ui_cookbook/lib/samples/participant_list.dart +++ /dev/null @@ -1,133 +0,0 @@ -import 'dart:async'; - -import 'package:avatar_glow/avatar_glow.dart'; -import 'package:flutter/material.dart'; -import 'package:stream_video_flutter/stream_video_flutter.dart'; - -import '../env/env.dart'; - -/// [ParticipantListScreen] displays the user's currently on a call and displays -/// their microphone state in real-time. -/// -/// This is possible using a [StreamBuilder] to listen to the ongoing -/// call's [CallState]. As the attributes of users on a call changes, it is -/// propagated via the `CallState`. -class ParticipantListScreen extends StatefulWidget { - const ParticipantListScreen({super.key, required this.call}); - - final Call call; - - @override - State createState() => _ParticipantListScreenState(); -} - -class _ParticipantListScreenState extends State { - StreamSubscription? _subscription; - - @override - void initState() { - super.initState(); - widget.call.join(); - } - - @override - void dispose() { - _subscription?.cancel(); - widget.call.end(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text('Participant List'), - ), - body: StreamBuilder( - stream: widget.call.state.valueStream, - initialData: widget.call.state.value, - builder: (context, snapshot) { - if (snapshot.data != null && snapshot.data!.status.isConnected) { - final callParticipants = snapshot.data!.callParticipants; - return Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - const Expanded( - flex: 5, - child: ColoredBox(color: Colors.white), - ), - Expanded( - child: ColoredBox( - color: Colors.black87, - child: StreamBuilder( - stream: widget.call.state.valueStream, - initialData: widget.call.state.value, - builder: (context, snapshot) { - return ListView.separated( - padding: const EdgeInsets.symmetric( - vertical: 8, - horizontal: 16, - ), - itemBuilder: (context, index) { - return CallParticipantWidget( - callParticipantState: callParticipants[index], - ); - }, - separatorBuilder: (_, __) => - const SizedBox(width: 8), - itemCount: callParticipants.length, - scrollDirection: Axis.horizontal, - ); - }), - ), - ), - ], - ); - } else { - return const Center( - child: CircularProgressIndicator(), - ); - } - }, - ), - ); - } -} - -/// Using the [CallParticipantState], we can access properties of each user on -/// the call. In this simple example, we are rendering a glowing avatar for our -/// call participants and a microphone indicator to reflect whether the user has -/// their microphone turned on or not. -/// -/// For more information, see our written guide https://getstream.io/video/docs/flutter/ui-cookbook/participant-list/ -class CallParticipantWidget extends StatelessWidget { - const CallParticipantWidget({super.key, required this.callParticipantState}); - - final CallParticipantState callParticipantState; - - @override - Widget build(BuildContext context) { - return AvatarGlow( - animate: callParticipantState.isDominantSpeaker, - endRadius: 56, - glowColor: Colors.blue, - child: Stack( - alignment: Alignment.bottomRight, - children: [ - const CircleAvatar( - radius: 48, - backgroundImage: NetworkImage( - Env.sampleUserImage00, - ), - ), - Icon( - callParticipantState.isAudioEnabled - ? Icons.mic_rounded - : Icons.mic_off_rounded, - color: Colors.white, - ) - ], - ), - ); - } -} diff --git a/packages/ui_cookbook/lib/samples/permissions_request_sample.dart b/packages/ui_cookbook/lib/samples/permissions_request_sample.dart deleted file mode 100644 index d51a5c1..0000000 --- a/packages/ui_cookbook/lib/samples/permissions_request_sample.dart +++ /dev/null @@ -1,102 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:stream_video_flutter/stream_video_flutter.dart'; - -class PermissionRequestsExample extends StatefulWidget { - const PermissionRequestsExample({super.key, required this.call}); - - final Call call; - - @override - State createState() => - _PermissionRequestsExampleState(); -} - -class _PermissionRequestsExampleState extends State { - bool canSpeak = false; - - Future startCall() async { - await widget.call.join(); - await widget.call.goLive(); - canSpeak = widget.call.state.value.ownCapabilities - .contains(CallPermission.sendAudio); - } - - Future endCall() async { - await widget.call.stopLive(); - await widget.call.end(); - } - - @override - void initState() { - super.initState(); - startCall(); - - /// The [onPermissionRequest] handler can be used to be notified of new requests from users in the call. - /// [CoordinatorCallPermissionRequestEvent] contains the user requesting permissions along with a list - /// containing the different capabilities they would like granted. - widget.call.onPermissionRequest = - (StreamCallPermissionRequestEvent permissionRequestEvent) { - final uid = permissionRequestEvent.user.id; - - /// For more complex applications, a user may request one or more permission at the same time. In those cases, - /// the full range of permissions can be retrieved from the `permissions` list. - final permission = permissionRequestEvent.permissions; - grantSpeakingPermission(uid); - }; - } - - @override - void dispose() { - endCall(); - super.dispose(); - } - - /// To request permissions, the [Call] object includes the method [requestPermissions] - /// which allows us to pass a list of [CallPermission] we would like granted during the call. - Future requestSpeakingPermission() async { - await widget.call.requestPermissions([CallPermission.sendAudio]); - } - - /// Once a permission request is received, it can be granted using [grantPermissions] or revoked using [revokePermissions] - Future grantSpeakingPermission(String userID) async { - await widget.call.grantPermissions( - userId: userID, - permissions: [CallPermission.sendAudio], - ); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text('Permission Requests Example'), - actions: [ - canSpeak - ? IconButton( - onPressed: () {}, - icon: const Icon(Icons.request_page), - ) - : IconButton( - onPressed: () {}, - icon: const Icon(Icons.mic), - ) - ], - ), - body: StreamBuilder( - stream: widget.call.state.valueStream, - initialData: widget.call.state.value, - builder: (context, snapshot) { - return StreamCallContent( - call: widget.call, - callAppBarWidgetBuilder: (context, call) => const PreferredSize( - preferredSize: Size.zero, - child: SizedBox(), - ), - ); - }, - ), - ); - } -} diff --git a/packages/ui_cookbook/lib/samples/reactions_sample.dart b/packages/ui_cookbook/lib/samples/reactions_sample.dart deleted file mode 100644 index d2ce024..0000000 --- a/packages/ui_cookbook/lib/samples/reactions_sample.dart +++ /dev/null @@ -1,85 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:stream_video_flutter/stream_video_flutter.dart'; - -class ReactionsExample extends StatefulWidget { - const ReactionsExample({super.key, required this.call}); - - final Call call; - - @override - State createState() => _ReactionsExampleState(); -} - -class _ReactionsExampleState extends State { - Future startCall() async { - await widget.call.join(); - } - - Future endCall() async { - await widget.call.end(); - } - - @override - void initState() { - super.initState(); - startCall(); - listenForReactions(); - } - - @override - void dispose() { - endCall(); - super.dispose(); - } - - /// Send a reaction to others on the call. - /// - /// The reaction type can be anything. Emoji code is optional, see https://www.webfx.com/tools/emoji-cheat-sheet/ - /// Each reaction can also include a Map of custom data. - Future sendCallReaction() async { - await widget.call.sendReaction( - reactionType: 'raised-hand', - emojiCode: ':raise-hand:', - ); - } - - /// To retrieve a list of reactions from users on the call, [getCurrentReactions] can be called. - Future listenForReactions() async { - final reactions = widget.call.getCurrentReactions(); - print(reactions); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text('Permission Requests Example'), - actions: [ - IconButton( - onPressed: sendCallReaction, - icon: const Icon(Icons.thumb_up), - ) - ], - ), - body: StreamBuilder( - stream: widget.call.state.valueStream, - initialData: widget.call.state.value, - builder: (context, snapshot) { - return StreamCallContent( - call: widget.call, - callAppBarWidgetBuilder: ( - context, - call, - ) => - const PreferredSize( - preferredSize: Size.zero, - child: SizedBox(), - ), - ); - }, - ), - ); - } -} diff --git a/packages/ui_cookbook/pubspec.yaml b/packages/ui_cookbook/pubspec.yaml deleted file mode 100644 index 65de4d4..0000000 --- a/packages/ui_cookbook/pubspec.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: ui_cookbook -description: A new Flutter project. - -publish_to: "none" # Remove this line if you wish to publish to pub.dev - -version: 1.0.0+1 - -environment: - sdk: ">=2.18.0 <3.0.0" - -dependencies: - flutter: - sdk: flutter - - cupertino_icons: ^1.0.2 - - # Stream Video SDK - stream_video_flutter: ^1.0.0 - avatar_glow: ^2.0.2 - -dev_dependencies: - build_runner: ^2.3.3 - envied_generator: ^0.3.0+3 - flutter_test: - sdk: flutter - - flutter_lints: ^2.0.0 - -flutter: - uses-material-design: true