Showing preview only (1,217K chars total). Download the full file or copy to clipboard to get everything.
Repository: appinioGmbH/flutter_packages
Branch: main
Commit: 67d5fee625da
Files: 618
Total size: 1.0 MB
Directory structure:
gitextract_6dy26xrp/
├── .github/
│ └── ISSUE_TEMPLATE/
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── CODEOWNERS
├── README.md
└── packages/
├── appinio_animated_toggle_tab/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ └── main.dart
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ └── web/
│ │ ├── index.html
│ │ └── manifest.json
│ ├── lib/
│ │ └── appinio_animated_toggle_tab.dart
│ └── pubspec.yaml
├── appinio_social_share/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android/
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── settings.gradle
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ └── java/
│ │ └── com/
│ │ └── appinio/
│ │ └── socialshare/
│ │ └── appinio_social_share/
│ │ ├── AppinioSocialSharePlugin.java
│ │ └── utils/
│ │ └── SocialShareUtil.java
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Podfile
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ └── main.dart
│ │ ├── linux/
│ │ │ ├── .gitignore
│ │ │ ├── CMakeLists.txt
│ │ │ ├── flutter/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── generated_plugin_registrant.cc
│ │ │ │ ├── generated_plugin_registrant.h
│ │ │ │ └── generated_plugins.cmake
│ │ │ ├── main.cc
│ │ │ ├── my_application.cc
│ │ │ └── my_application.h
│ │ ├── macos/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ ├── Flutter-Release.xcconfig
│ │ │ │ └── GeneratedPluginRegistrant.swift
│ │ │ ├── Podfile
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ └── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ ├── Configs/
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ ├── Info.plist
│ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ └── Release.entitlements
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ ├── web/
│ │ │ ├── index.html
│ │ │ └── manifest.json
│ │ └── windows/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── flutter/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── generated_plugin_registrant.cc
│ │ │ ├── generated_plugin_registrant.h
│ │ │ └── generated_plugins.cmake
│ │ └── runner/
│ │ ├── CMakeLists.txt
│ │ ├── Runner.rc
│ │ ├── flutter_window.cpp
│ │ ├── flutter_window.h
│ │ ├── main.cpp
│ │ ├── resource.h
│ │ ├── runner.exe.manifest
│ │ ├── utils.cpp
│ │ ├── utils.h
│ │ ├── win32_window.cpp
│ │ └── win32_window.h
│ ├── ios/
│ │ ├── .gitignore
│ │ ├── Assets/
│ │ │ └── .gitkeep
│ │ ├── Classes/
│ │ │ ├── AppinioSocialSharePlugin.h
│ │ │ ├── AppinioSocialSharePlugin.m
│ │ │ ├── MyActivityItemSource.swift
│ │ │ ├── ShareUtil.swift
│ │ │ └── SwiftAppinioSocialSharePlugin.swift
│ │ └── appinio_social_share.podspec
│ ├── lib/
│ │ ├── appinio_social_share.dart
│ │ ├── appinio_social_share_method_channel.dart
│ │ ├── appinio_social_share_platform_interface.dart
│ │ └── platforms/
│ │ ├── android.dart
│ │ └── ios.dart
│ └── pubspec.yaml
├── appinio_swiper/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ ├── example_buttons.dart
│ │ │ ├── example_candidate_model.dart
│ │ │ ├── example_card.dart
│ │ │ └── main.dart
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ └── web/
│ │ ├── index.html
│ │ └── manifest.json
│ ├── lib/
│ │ ├── appinio_swiper.dart
│ │ ├── enums.dart
│ │ └── types.dart
│ ├── pubspec.yaml
│ └── test/
│ └── appinio_swiper_test.dart
├── appinio_video_player/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Podfile
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ └── main.dart
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ └── web/
│ │ ├── index.html
│ │ └── manifest.json
│ ├── lib/
│ │ ├── appinio_video_player.dart
│ │ └── src/
│ │ ├── controls/
│ │ │ ├── all_controls_overlay.dart
│ │ │ ├── control_bar.dart
│ │ │ ├── fullscreen_button.dart
│ │ │ ├── mute_button.dart
│ │ │ ├── play_button.dart
│ │ │ ├── progress_bar.dart
│ │ │ ├── progress_bar_indicator.dart
│ │ │ ├── seeker.dart
│ │ │ ├── video_settings_button.dart
│ │ │ └── video_settings_popup/
│ │ │ ├── video_settings_dialog.dart
│ │ │ ├── video_settings_dialog_item.dart
│ │ │ ├── video_settings_playback_speed_dialog.dart
│ │ │ └── video_settings_quality_dialog.dart
│ │ ├── custom_video_player.dart
│ │ ├── custom_video_player_controller.dart
│ │ ├── embedded_video_player.dart
│ │ ├── fullscreen_video_player.dart
│ │ ├── models/
│ │ │ ├── custom_video_player_popup_settings.dart
│ │ │ ├── custom_video_player_progress_bar_settings.dart
│ │ │ └── custom_video_player_settings.dart
│ │ ├── seek_buttons.dart
│ │ ├── thumbnail.dart
│ │ ├── volume_control.dart
│ │ └── web_video_player/
│ │ ├── conditional_native_web_video_player/
│ │ │ ├── conditional_native_web_video_player.dart
│ │ │ ├── conditional_native_web_video_player_base.dart
│ │ │ ├── conditional_native_web_video_player_mobile.dart
│ │ │ └── conditional_native_web_video_player_web.dart
│ │ ├── custom_video_player_web.dart
│ │ ├── custom_video_player_web_controller.dart
│ │ ├── native_web_video_player.dart
│ │ └── web_video_player_settings.dart
│ ├── pubspec.yaml
│ └── test/
│ └── custom_video_player_test.dart
├── disable_screenshot/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android/
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── settings.gradle
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ └── java/
│ │ └── com/
│ │ └── appinio/
│ │ └── disable_screenshot/
│ │ └── DisableScreenshotPlugin.java
│ ├── example/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── appinio/
│ │ │ │ │ │ └── disable_screenshot_example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Podfile
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ └── main.dart
│ │ ├── pubspec.yaml
│ │ └── test/
│ │ └── widget_test.dart
│ ├── ios/
│ │ ├── .gitignore
│ │ ├── Assets/
│ │ │ └── .gitkeep
│ │ ├── Classes/
│ │ │ ├── DisableScreenshotPlugin.h
│ │ │ ├── DisableScreenshotPlugin.m
│ │ │ └── SwiftDisableScreenshotPlugin.swift
│ │ └── disable_screenshot.podspec
│ ├── lib/
│ │ ├── disable_screenshot.dart
│ │ ├── disable_screenshot_method_channel.dart
│ │ └── disable_screenshot_platform_interface.dart
│ ├── pubspec.yaml
│ └── test/
│ ├── disable_screenshot_method_channel_test.dart
│ └── disable_screenshot_test.dart
├── flutter_onboarding_slider/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── java/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.java
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ ├── main.dart
│ │ │ └── screens/
│ │ │ ├── login_page.dart
│ │ │ └── register_page.dart
│ │ ├── pubspec.yaml
│ │ └── test/
│ │ └── widget_test.dart
│ ├── lib/
│ │ ├── background.dart
│ │ ├── background_body.dart
│ │ ├── background_controller.dart
│ │ ├── background_final_button.dart
│ │ ├── background_image.dart
│ │ ├── flutter_onboarding_slider.dart
│ │ ├── onboarding_navigation_bar.dart
│ │ └── page_offset_provider.dart
│ ├── pubspec.yaml
│ └── test/
│ └── page_slider_test.dart
├── flutter_timer_countdown/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ ├── main.dart
│ │ │ ├── timer_basic.dart
│ │ │ └── timer_frame.dart
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ └── web/
│ │ ├── index.html
│ │ └── manifest.json
│ ├── lib/
│ │ └── flutter_timer_countdown.dart
│ ├── pubspec.yaml
│ └── test/
│ └── flutter_timer_countdown_test.dart
├── profile_sliver/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ └── values/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ └── main.dart
│ │ └── pubspec.yaml
│ ├── lib/
│ │ ├── profile_sliver.dart
│ │ └── src/
│ │ ├── profile_sliver.dart
│ │ ├── profile_sliver_element.dart
│ │ └── profile_sliver_render_object.dart
│ └── pubspec.yaml
└── widget_zoom/
├── .gitignore
├── .metadata
├── CHANGELOG.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── example/
│ ├── .gitignore
│ ├── .metadata
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── build.gradle
│ │ │ └── src/
│ │ │ ├── debug/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── kotlin/
│ │ │ │ │ └── com/
│ │ │ │ │ └── example/
│ │ │ │ │ └── example/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable-v21/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── values/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── values-night/
│ │ │ │ └── styles.xml
│ │ │ └── profile/
│ │ │ └── AndroidManifest.xml
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ └── settings.gradle
│ ├── ios/
│ │ ├── .gitignore
│ │ ├── Flutter/
│ │ │ ├── AppFrameworkInfo.plist
│ │ │ ├── Debug.xcconfig
│ │ │ └── Release.xcconfig
│ │ ├── Runner/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── LaunchImage.imageset/
│ │ │ │ ├── Contents.json
│ │ │ │ └── README.md
│ │ │ ├── Base.lproj/
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ ├── Info.plist
│ │ │ └── Runner-Bridging-Header.h
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ └── Runner.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
│ ├── lib/
│ │ └── main.dart
│ ├── linux/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── flutter/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── generated_plugin_registrant.cc
│ │ │ ├── generated_plugin_registrant.h
│ │ │ └── generated_plugins.cmake
│ │ ├── main.cc
│ │ ├── my_application.cc
│ │ └── my_application.h
│ ├── pubspec.yaml
│ ├── test/
│ │ └── widget_test.dart
│ ├── web/
│ │ ├── index.html
│ │ └── manifest.json
│ └── windows/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── flutter/
│ │ ├── CMakeLists.txt
│ │ ├── generated_plugin_registrant.cc
│ │ ├── generated_plugin_registrant.h
│ │ └── generated_plugins.cmake
│ └── runner/
│ ├── CMakeLists.txt
│ ├── Runner.rc
│ ├── flutter_window.cpp
│ ├── flutter_window.h
│ ├── main.cpp
│ ├── resource.h
│ ├── runner.exe.manifest
│ ├── utils.cpp
│ ├── utils.h
│ ├── win32_window.cpp
│ └── win32_window.h
├── lib/
│ ├── src/
│ │ ├── widget_zoom.dart
│ │ └── widget_zoom_full_screen.dart
│ └── widget_zoom.dart
├── pubspec.yaml
└── test/
└── widget_zoom_test.dart
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: "[ BUG ] : A clear and concise title of the bug"
labels: ''
assignees: khanmujeeb687
---
**Plugin name**
For e.g. - Appinio social share , Appinio Swiper etc.
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Step 1
2. Step 2
3. Step 3
4. Step 4
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: "[Feature] : A concise title of the feature"
labels: ''
assignees: khanmujeeb687
---
**Plugin name**
Plugin name for e.g. Appinio social share, Appinio Swiper etc.
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Screenshots**
Some screenshots or pictures if available.
**Additional context**
Add any other context or screenshots about the feature request here.
================================================
FILE: .gitignore
================================================
/.idea
/publish.md
/.DS_Store
/.idea/
/.idea/libraries
/.idea/libraries/
================================================
FILE: CODEOWNERS
================================================
# These owners will be the default owners for everything in the repo.
* @bilalhamud @hamzahayak @javi-appinio @festelo @Modi-gh @bernat-gomez @nambiarAswathi @dtengeri
================================================
FILE: README.md
================================================
# Flutter packages
Flutter packages maintained and used by [Appinio](https://appinio.com).
# Packages list
- [flutter_timer_countdown](packages/flutter_timer_countdown/)
- [flutter_onboarding_slider](packages/flutter_onboarding_slider/)
- [appinio_video_player](packages/appinio_video_player/)
- [appinio_animated_toggle_tab](packages/appinio_animated_toggle_tab/)
- [appinio_swiper](packages/appinio_swiper/)
- [appinio_social_share](packages/appinio_social_share/)
================================================
FILE: packages/appinio_animated_toggle_tab/.gitignore
================================================
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
# 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/
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
build/
# Android related
**/android/**/gradle-wrapper.jar
**/android/.gradle
**/android/captures/
**/android/gradlew
**/android/gradlew.bat
**/android/local.properties
**/android/**/GeneratedPluginRegistrant.java
# iOS/XCode related
**/ios/**/*.mode1v3
**/ios/**/*.mode2v3
**/ios/**/*.moved-aside
**/ios/**/*.pbxuser
**/ios/**/*.perspectivev3
**/ios/**/*sync/
**/ios/**/.sconsign.dblite
**/ios/**/.tags*
**/ios/**/.vagrant/
**/ios/**/DerivedData/
**/ios/**/Icon?
**/ios/**/Pods/
**/ios/**/.symlinks/
**/ios/**/profile
**/ios/**/xcuserdata
**/ios/.generated/
**/ios/Flutter/App.framework
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Flutter.podspec
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/ephemeral
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
**/ios/Flutter/flutter_export_environment.sh
**/ios/ServiceDefinitions.json
**/ios/Runner/GeneratedPluginRegistrant.*
# Exceptions to above rules.
!**/ios/**/default.mode1v3
!**/ios/**/default.mode2v3
!**/ios/**/default.pbxuser
!**/ios/**/default.perspectivev3
================================================
FILE: packages/appinio_animated_toggle_tab/.metadata
================================================
# 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: ffb2ecea5223acdd139a5039be2f9c796962833d
channel: stable
project_type: package
================================================
FILE: packages/appinio_animated_toggle_tab/CHANGELOG.md
================================================
## [1.0.3] - 2024.01.25
* Added initial index for AppinioAnimatedToggleTab.
## [1.0.2] - 2022.09.25
* Updating Readme.
## [1.0.1] - 2022.04.21
* UI improvements for WebApp.
## [1.0.0] - 2021.10.04
* Initial version.
================================================
FILE: packages/appinio_animated_toggle_tab/LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2021 APPINIO GmbH
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: packages/appinio_animated_toggle_tab/README.md
================================================
```AppinioAnimatedToggleTab``` is a Flutter package for creating a custom tab viewer with built-in animation. ✨
Supporting Android, iOS & WebApp.
## Why?
We build this package because we wanted to:
- have a tabviewer ready to be customized
- be able to animate between switching tabs
## Show Cases
<img src="https://github.com/appinioGmbH/flutter_packages/blob/main/assets/tab_toggle/example.gif?raw=true" height="400">
Switching between tabs.
## Installation
Create a new project with the command
```yaml
flutter create MyApp
```
Add
```yaml
dependencies:
...
appinio_tanimated_toggle_tab:
```
to your `pubspec.yaml` of your flutter project.
**OR**
run
```yaml
flutter pub add appinio_tanimated_toggle_tab
```
in your project's root directory.
In your library add the following import:
```dart
import 'package:appinio_animated_toggle_tab/appinio_animated_toggle_tab.dart';
```
For help getting started with Flutter, view the online [documentation](https://flutter.io/).
## Usage
You can place your `AppinioAnimatedToggleTab` inside of a `MaterialApp` like we did here. Optional parameters can be defined to enable different features. See the following example..
```dart
class TabsViewer extends StatelessWidget {
@override
Widget build(BuildContext context) {
return CupertinoApp(
home: AppinioAnimatedToggleTab(
callback: (int i) {},
tabTexts: const [
'make',
'your',
'tabs :)',
],
height: 40,
width: 300,
boxDecoration: BoxDecoration(color: Color(0xFFc3d2db),),
animatedBoxDecoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: const Color(0xFFc3d2db).withOpacity(0.1),
spreadRadius: 1,
blurRadius: 5,
offset: const Offset(2, 2),
),
],
color: kDarkBlueColor,
borderRadius: const BorderRadius.all(
Radius.circular(5),
),
border: Border.all(
color: Colors.grey,
width: 1,
),
),
activeStyle: const TextStyle( color: Colors.blue,),
inactiveStyle: const TextStyle( color: Colors.black,),
);
}
}
```
## Constructor
#### Basic
| Parameter | Default | Description | Required |
| ------------- |:-------------|:-----|:-----:|
| callback | - | function(int) for call back and control the view of tabs | true
| tabTexts | - | a list of texts displayed on the tabs | true
| height | - | height of the tab | true
| width | - | width of the tab | true
| boxDecoration | - | decoration of the tab | true
| animatedBoxDecoration | - | the decoration of animated box used to toggle | true
| activeStyle | - | style of text when active | true
| inactiveStyle | - | style of text when inactive | true
| initialIndex | 0 | initial tabbar index | false
<hr/>
Made with ❤ by Flutter team at <a href="https://appinio.com">Appinio GmbH</a>
================================================
FILE: packages/appinio_animated_toggle_tab/analysis_options.yaml
================================================
include: package:flutter_lints/flutter.yaml
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options
================================================
FILE: packages/appinio_animated_toggle_tab/example/.gitignore
================================================
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
# 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/
# Web related
lib/generated_plugin_registrant.dart
# 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
================================================
FILE: packages/appinio_animated_toggle_tab/example/.metadata
================================================
# 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: ffb2ecea5223acdd139a5039be2f9c796962833d
channel: stable
project_type: app
================================================
FILE: packages/appinio_animated_toggle_tab/example/README.md
================================================
# example
A new Flutter project.
## Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook)
For help getting started with Flutter, view our
[online documentation](https://flutter.dev/docs), which offers tutorials,
samples, guidance on mobile development, and a full API reference.
================================================
FILE: packages/appinio_animated_toggle_tab/example/analysis_options.yaml
================================================
# 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-lang.github.io/linter/lints/index.html.
#
# 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
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/.gitignore
================================================
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
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/app/build.gradle
================================================
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 30
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
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.example"
minSdkVersion 16
targetSdkVersion 30
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 {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/app/src/debug/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.example">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/app/src/main/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.example">
<application
android:label="example"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<!-- Displays an Android View that continues showing the launch screen
Drawable until Flutter paints its first frame, then this splash
screen fades out. A splash screen is useful to avoid any visual
gap between the end of Android's launch screen and the painting of
Flutter's first frame. -->
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt
================================================
package com.example.example
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
}
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/app/src/main/res/drawable/launch_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/app/src/main/res/drawable-v21/launch_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/app/src/main/res/values/styles.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/app/src/main/res/values-night/styles.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/app/src/profile/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.example">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/build.gradle
================================================
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/gradle/wrapper/gradle-wrapper.properties
================================================
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/gradle.properties
================================================
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
================================================
FILE: packages/appinio_animated_toggle_tab/example/android/settings.gradle
================================================
include ':app'
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()
assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/.gitignore
================================================
*.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
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Flutter/AppFrameworkInfo.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>App</string>
<key>CFBundleIdentifier</key>
<string>io.flutter.flutter.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>App</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>9.0</string>
</dict>
</plist>
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Flutter/Debug.xcconfig
================================================
#include "Generated.xcconfig"
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Flutter/Release.xcconfig
================================================
#include "Generated.xcconfig"
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner/AppDelegate.swift
================================================
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)
}
}
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
================================================
{
"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"
}
}
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
================================================
{
"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"
}
}
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
================================================
# 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.
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
<resources>
<image name="LaunchImage" width="168" height="185"/>
</resources>
</document>
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
</dependencies>
<scenes>
<!--Flutter View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>example</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
</plist>
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner/Runner-Bridging-Header.h
================================================
#import "GeneratedPluginRegistrant.h"
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner.xcodeproj/project.pbxproj
================================================
// !$*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 */; };
/* 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 = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
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 = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
);
name = Flutter;
sourceTree = "<group>";
};
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
);
sourceTree = "<group>";
};
97C146EF1CF9000F007C117D /* Products */ = {
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
);
name = Products;
sourceTree = "<group>";
};
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 = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
);
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 = 1020;
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";
};
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";
};
/* 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 = "<group>";
};
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C147001CF9000F007C117D /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* 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 = 9.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)";
DEVELOPMENT_TEAM = 996DW24DKV;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.chenhui.example;
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 = 9.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 = 9.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)";
DEVELOPMENT_TEAM = 996DW24DKV;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.chenhui.example;
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)";
DEVELOPMENT_TEAM = 996DW24DKV;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.chenhui.example;
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 */;
}
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
</Workspace>
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
================================================
FILE: packages/appinio_animated_toggle_tab/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>
================================================
FILE: packages/appinio_animated_toggle_tab/example/lib/main.dart
================================================
import 'package:appinio_animated_toggle_tab/appinio_animated_toggle_tab.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage(title: 'Animated Toggle Tab'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final Color kDarkBlueColor = const Color(0xFF053149);
final BoxShadow kDefaultBoxshadow = const BoxShadow(
color: Color(0xFFDFDFDF),
spreadRadius: 1,
blurRadius: 10,
offset: Offset(2, 2),
);
int currentIndex = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: kDarkBlueColor,
title: Text(widget.title),
),
body: Center(
child: Column(
children: <Widget>[
const SizedBox(
height: 200,
),
AppinioAnimatedToggleTab(
duration: const Duration(milliseconds: 150),
offset: 0,
callback: (int index) {
setState(() {
currentIndex = index;
});
},
tabTexts: const [
'make',
'your',
'tabs :)',
],
height: 40,
width: 300,
boxDecoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(5),
boxShadow: [
kDefaultBoxshadow,
],
),
animatedBoxDecoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: const Color(0xFFc3d2db).withOpacity(0.1),
spreadRadius: 1,
blurRadius: 5,
offset: const Offset(2, 2),
),
],
color: kDarkBlueColor,
borderRadius: const BorderRadius.all(
Radius.circular(5),
),
border: Border.all(
color: Colors.grey,
width: 1,
),
),
activeStyle: const TextStyle(
fontSize: 16,
color: Colors.white,
fontWeight: FontWeight.w600,
),
inactiveStyle: const TextStyle(
fontSize: 16,
color: Colors.black,
fontWeight: FontWeight.w400,
),
),
const SizedBox(
height: 70,
),
Text(
'Current Index: $currentIndex',
style: TextStyle(
fontSize: 20,
color: kDarkBlueColor,
),
),
],
),
),
);
}
}
================================================
FILE: packages/appinio_animated_toggle_tab/example/pubspec.yaml
================================================
name: example
description: A new Flutter project.
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.12.0 <3.0.0"
# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
# consider running `flutter pub upgrade --major-versions`. Alternatively,
# dependencies can be manually updated by changing the version numbers below to
# the latest version available on pub.dev. To see which dependencies have newer
# versions available, run `flutter pub outdated`.
dependencies:
flutter:
sdk: flutter
appinio_animated_toggle_tab:
path: ../
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
dev_dependencies:
flutter_test:
sdk: flutter
# The "flutter_lints" package below contains a set of recommended lints to
# encourage good coding practices. The lint set provided by the package is
# activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint
# rules and activating additional ones.
flutter_lints: ^1.0.0
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
================================================
FILE: packages/appinio_animated_toggle_tab/example/test/widget_test.dart
================================================
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility that Flutter provides. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:example/main.dart';
void main() {
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(const MyApp());
// Verify that our counter starts at 0.
expect(find.text('0'), findsOneWidget);
expect(find.text('1'), findsNothing);
// Tap the '+' icon and trigger a frame.
await tester.tap(find.byIcon(Icons.add));
await tester.pump();
// Verify that our counter has incremented.
expect(find.text('0'), findsNothing);
expect(find.text('1'), findsOneWidget);
});
}
================================================
FILE: packages/appinio_animated_toggle_tab/example/web/index.html
================================================
<!DOCTYPE html>
<html>
<head>
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.
The path provided below has to start and end with a slash "/" in order for
it to work correctly.
For more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`.
-->
<base href="$FLUTTER_BASE_HREF">
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project.">
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="example">
<link rel="apple-touch-icon" href="icons/Icon-192.png">
<title>example</title>
<link rel="manifest" href="manifest.json">
</head>
<body>
<!-- This script installs service_worker.js to provide PWA functionality to
application. For more information, see:
https://developers.google.com/web/fundamentals/primers/service-workers -->
<script>
var serviceWorkerVersion = null;
var scriptLoaded = false;
function loadMainDartJs() {
if (scriptLoaded) {
return;
}
scriptLoaded = true;
var scriptTag = document.createElement('script');
scriptTag.src = 'main.dart.js';
scriptTag.type = 'application/javascript';
document.body.append(scriptTag);
}
if ('serviceWorker' in navigator) {
// Service workers are supported. Use them.
window.addEventListener('load', function () {
// Wait for registration to finish before dropping the <script> tag.
// Otherwise, the browser will load the script multiple times,
// potentially different versions.
var serviceWorkerUrl = 'flutter_service_worker.js?v=' + serviceWorkerVersion;
navigator.serviceWorker.register(serviceWorkerUrl)
.then((reg) => {
function waitForActivation(serviceWorker) {
serviceWorker.addEventListener('statechange', () => {
if (serviceWorker.state == 'activated') {
console.log('Installed new service worker.');
loadMainDartJs();
}
});
}
if (!reg.active && (reg.installing || reg.waiting)) {
// No active web worker and we have installed or are installing
// one for the first time. Simply wait for it to activate.
waitForActivation(reg.installing || reg.waiting);
} else if (!reg.active.scriptURL.endsWith(serviceWorkerVersion)) {
// When the app updates the serviceWorkerVersion changes, so we
// need to ask the service worker to update.
console.log('New service worker available.');
reg.update();
waitForActivation(reg.installing);
} else {
// Existing service worker is still good.
console.log('Loading app from service worker.');
loadMainDartJs();
}
});
// If service worker doesn't succeed in a reasonable amount of time,
// fallback to plaint <script> tag.
setTimeout(() => {
if (!scriptLoaded) {
console.warn(
'Failed to load app from service worker. Falling back to plain <script> tag.',
);
loadMainDartJs();
}
}, 4000);
});
} else {
// Service workers not supported. Just drop the <script> tag.
loadMainDartJs();
}
</script>
</body>
</html>
================================================
FILE: packages/appinio_animated_toggle_tab/example/web/manifest.json
================================================
{
"name": "example",
"short_name": "example",
"start_url": ".",
"display": "standalone",
"background_color": "#0175C2",
"theme_color": "#0175C2",
"description": "A new Flutter project.",
"orientation": "portrait-primary",
"prefer_related_applications": false,
"icons": [
{
"src": "icons/Icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icons/Icon-512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "icons/Icon-maskable-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "icons/Icon-maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}
================================================
FILE: packages/appinio_animated_toggle_tab/lib/appinio_animated_toggle_tab.dart
================================================
library appinio_animated_toggle_tab;
import 'package:flutter/material.dart';
class AppinioAnimatedToggleTab extends StatefulWidget {
/// function(int) for call back and control the view of tabs
final Function(int) callback;
/// a list of texts displayed on the tabs
final List<String> tabTexts;
/// style of text when active
final TextStyle activeStyle;
/// style of text when inactive
final TextStyle inactiveStyle;
/// height of the tab
final double height;
/// decoration of the tab
final BoxDecoration boxDecoration;
/// the decoration of animated box used to toggle
final BoxDecoration animatedBoxDecoration;
/// width of the tab
final double width;
/// offset of the area to toggle
final double offset;
/// animation duration for the toggling
final Duration duration;
final int initialIndex;
const AppinioAnimatedToggleTab({
Key? key,
required this.callback,
required this.tabTexts,
required this.height,
required this.boxDecoration,
required this.animatedBoxDecoration,
required this.activeStyle,
required this.inactiveStyle,
required this.width,
this.offset = 0.02,
this.duration = const Duration(milliseconds: 300),
this.initialIndex = 0,
}) : super(key: key);
@override
State<StatefulWidget> createState() => _AppinioAnimatedToggleTabState();
}
class _AppinioAnimatedToggleTabState extends State<AppinioAnimatedToggleTab> {
late int index;
_AppinioAnimatedToggleTabState() : super();
@override
void initState() {
super.initState();
index = widget.initialIndex;
}
@override
Widget build(BuildContext context) {
return Container(
height: widget.height,
width: widget.width,
decoration: widget.boxDecoration,
child: Stack(children: [
AnimatedAlign(
alignment: Alignment(
(index / (widget.tabTexts.length - 1) * (2 - 2 * widget.offset)) -
1 +
widget.offset,
0),
duration: widget.duration,
child: Container(
width: (widget.width / widget.tabTexts.length),
height: widget.height * 0.9,
decoration: widget.animatedBoxDecoration,
),
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
for (int i = 0; i < widget.tabTexts.length; i++)
_buildSwitchTab(
i == index,
widget.tabTexts[i],
i == index ? widget.activeStyle : widget.inactiveStyle,
i,
),
],
),
]),
);
}
/// building and returning one item of the tab
Widget _buildSwitchTab(
bool isLeft,
String title,
TextStyle style,
int i,
) {
return GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {
setState(() {
index = i;
widget.callback(i);
});
},
child: Expanded(
child: Container(
alignment: Alignment.center,
width: widget.width / widget.tabTexts.length,
height: widget.height,
child: Text(
title,
textAlign: TextAlign.center,
style: style,
)),
),
);
}
}
================================================
FILE: packages/appinio_animated_toggle_tab/pubspec.yaml
================================================
name: appinio_animated_toggle_tab
description: A custom tab viewer with built-in animation and different design from default `TabViewer`.
version: 1.0.3
homepage: https://github.com/appinioGmbH/flutter_packages
repository: https://github.com/appinioGmbH/flutter_packages/tree/main/packages/appinio_animated_toggle_tab
environment:
sdk: ">=2.12.0 <4.0.0"
flutter: ">=1.17.0"
dependencies:
flutter:
sdk: flutter
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^1.0.0
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# To add assets to your package, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
#
# For details regarding assets in packages, see
# https://flutter.dev/assets-and-images/#from-packages
#
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# To add custom fonts to your package, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts in packages, see
# https://flutter.dev/custom-fonts/#from-packages
================================================
FILE: packages/appinio_social_share/.gitignore
================================================
# 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
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
/pubspec.lock
**/doc/api/
.dart_tool/
.packages
build/
================================================
FILE: packages/appinio_social_share/.metadata
================================================
# 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.
version:
revision: f1875d570e39de09040c8f79aa13cc56baab8db1
channel: stable
project_type: plugin
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
- platform: android
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
- platform: ios
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
# 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'
================================================
FILE: packages/appinio_social_share/CHANGELOG.md
================================================
## [0.3.2] - 2024.08.01
* Many bug fixes and improvements.
* Version upgrades for dependencies.
## [0.3.1] - 2024.04.15
* Many bug fixes and improvements.
* Refactoring:
- Now you will have to choose platform while sharing.
- For example: AppinioSocialShare().android.shareToWhatsapp(message, file)
## [0.3.0] - 2023.12.21
* Enhancement:
- Facebook Android Sdk updated to 16.0.0.
* Features:
- Now you can share multiple files to whatsapp, telegram, facebook and other apps.
## [0.2.6] - 2023.09.25
* Enhancements:
- Updating FB SDK to 16.1.3
## [0.2.5] - 2023.08.23
* Bug Fix:
- Bug fixes in facebook story sharing
## [0.2.4] - 2023.06.19
* Bug Fix:
- share to instagram story not working.
## [0.2.3] - 2023.05.31
* Bug Fix:
- System sheet crashing for iOS on sharing text without file.
## [0.2.2] - 2023.04.27
* Enhancements:
- Updating Readme.
## [0.2.1] - 2023.03.13
* Enhancements:
- updating FB SDK to 15.1.0
## [0.2.0] - 2022.11.08
* Features:
- Adding support to share to Instagram Feed-Posts & Reels.
- Adding support to share to TikTok Status.
## [0.1.4] - 2022.10.18
* Enhancements:
- removing unnecessary twitter SDK.
## [0.1.3] - 2022.10.13
* Enhancements:
- updating FB SDK to 14.1.0
## [0.1.2] - 2022.10.06
* Enhancements:
- allowing to share background image to facebook story without having to share a sticker image.
## [0.1.1] - 2022.09.27
* Features:
- adding Facebook Lite and Messenger Lite apps support.
## [0.1.0] - 2022.09.25
* Initial version.
================================================
FILE: packages/appinio_social_share/LICENSE
================================================
MIT License
Copyright (c) 2022 APPINIO GmbH
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: packages/appinio_social_share/README.md
================================================
```appinio_social_share``` supports sharing files to social media (Facebook, Instagram, Instagram Story, Messenger, Telegram, WhatsApp, Twitter, Tiktok, SMS, System, etc.). If you want to share text, file, image, text with image or text with files then this plugin is all you need.
<br />
## Top Sharing Features
- Facebook Post
- Facebook Stories
- Instagram Chat
- Instgaram Feed
- Instgaram Reel
- Instagram Stories
- Messenger
- Telegram
- WhatsApp
- Twitter
- Tiktok Status
- Tiktok video
- SMS
- System ShareSheet
- Copy to clipboard
- Check if these apps are installed
## Some Example Previews
#Android
<img src="https://github.com/appinioGmbH/flutter_packages/blob/main/assets/social_share/android.jpg?raw=true">
#iOS
<img src="https://github.com/appinioGmbH/flutter_packages/blob/main/assets/social_share/ios.jpg?raw=true">
**Simply use AppinioSocialShare class and call the method of which platform you want to share.
## Android
Paste the following attribute in the manifest tag in the AndroidManifest.xml
```xml
<manifest xmlns:tools="http://schemas.android.com/tools">
</manifest>
```
For example:
```xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="your package...">
</manifest>
```
Add these permissions and queries to your AndroidManifest.xml
```xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="your package...">
<queries>
<!-- Explicit apps you know in advance about: -->
<package android:name="com.instagram.android" />
<package android:name="com.zhiliaoapp.musically" />
<package android:name="com.facebook.katana" />
<package android:name="com.facebook.orca" />
<package android:name="org.telegram.messenger" />
<package android:name="com.whatsapp" />
<package android:name="com.twitter.android" />
<provider android:authorities="com.facebook.katana.provider.PlatformProvider" /> <!-- allows app to access Facebook app features -->
<provider android:authorities="com.facebook.orca.provider.PlatformProvider" /> <!-- allows sharing to Messenger app -->
</queries>
<!-- Required only if your app needs to access images or photos
that other apps created. -->
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<!-- Required only if your app needs to access videos
that other apps created. -->
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<!-- Required only if your app needs to access audio files
that other apps created. -->
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="29" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
```
## NOTE:
MANAGE_EXTERNAL_STORAGE requires additional permissions from google. So do not add it if you are not planning to access external storage.
Check this for more info. https://support.google.com/googleplay/android-developer/answer/10467955?hl=en
Create xml folder and add a provider path file to it (for example: provider_paths_app.xml) in android/app/src/main/res and
add the lines below to the created xml file
```xml
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path
name="external_files"
path="." />
</paths>
```
After created your own file provider and define your own path paste them into this and add to your AndroidManifest.xml
```xml
<provider android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false" android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/[your_custom_fileProvider_file_name]" />
</provider>
```
### Facebook app register
+ In /android/app/src/main/values folder create a strings.xml file and add your facebook app id and facebook client token.
+ To get the facebook client token: Open your app on Meta for developer ([link](https://developers.facebook.com)) > Settings > Advanced > Security >
Application code
+ To get the facebook app id follow the Meta link above and go to your app Settings > Basic information > App ID
```xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="facebook_app_id">[facebook_app_id]</string>
<string name="facebook_client_token">[facebook_client_token]</string>
</resources>
```
+ Add this inside the application tag in android manifest.
```xml
<provider android:name="com.facebook.FacebookContentProvider" android:authorities="com.facebook.app.FacebookContentProvider[facebook_app_id]"
android:exported="true" />
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" />
<meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token" />
<meta-data android:name="com.facebook.sdk.ApplicationName" android:value="${applicationName}"/>
<activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="${applicationName}" />
```
+ After complete the step above add these xml tags to your AndroidManifest.xml
## iOS
***Open Xcode and change your deployment target to iOS 11***
Add these lines to your Info.plist file
```xml
<dict>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb[your_facebook_app_id]</string>
</array>
</dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>instagram</string>
<string>fb</string>
<string>fbauth2</string>
<string>fbshareextension</string>
<string>fbapi</string>
<string>facebook-reels</string>
<string>facebook-stories</string>
<string>fb-messenger-share-api</string>
<string>fb-messenger</string>
<string>tg</string>
<string>whatsapp</string>
<string>twitter</string>
</array>
<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) needs permission to access photos and videos on your device</string>
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) does not require access to the microphone.</string>
<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) requires access to the camera.</string>
<key>NSAppleMusicUsageDescription</key>
<string>$(PRODUCT_NAME) requires access to play music</string>
<key>FacebookAppID</key>
<string>[your_facebook_app_id]</string>
<key>FacebookClientToken</key>
<string>[your_facebook_client_token]</string>
<key>FacebookDisplayName</key>
<string>[your_facebook_app_display_name]</string>
<key>NSBonjourServices</key>
<array>
<string>_dartobservatory._tcp</string>
</array>
</dict>
```
***The facebook app id and facebook client token you can get by complete the steps mentioned on Android config***
Add these lines to the AppDelegate.swift file
```
import FBSDKCoreKit
// Put these lines in the application function
FBSDKCoreKit.ApplicationDelegate.shared.application(
application,
didFinishLaunchingWithOptions: launchOptions
)
```
<br />
***If you want to share files to tiktok (iOS), you can follow the steps below. For sharing to android you don't need these steps.***
Step 1 - Install Tiktok Sdk
```
Add the library to your XCode project as a Swift Package:
1- In XCode, click File -> Add Packages...
2- Paste the repository URL: https://github.com/tiktok/tiktok-opensdk-ios
3- Select Dependency Rule -> Up to Next Major Version and input the major version you want (i.e. 2.2.0 You can find the latest release here.)
4- Select Add to Project -> Your project
5- Click Copy Dependency and select the TikTokOpenShareSDK, TiktokOpenCoreSdk libraries.
```
Step 2 - Configure your project
-Configure your Xcode project
-Open your Info.plist file and add or update the following key-value pairs:
-Add the following values to LSApplicationQueriesSchemes:
1. tiktokopensdk for Login Kit.
2. tiktoksharesdk for Share Kit.
3. snssdk1233 and snssdk1180 to check if TikTok is installed on your device.
4. Add TikTokClientKey key with your app's client key, obtained from the TikTok for Developers website, as the value.
5. Add your app's client key to CFBundleURLSchemes.
```plist
<key>LSApplicationQueriesSchemes</key>
<array>
<string>tiktokopensdk</string>
<string>tiktoksharesdk</string>
<string>snssdk1180</string>
<string>snssdk1233</string>
</array>
<key>TikTokClientKey</key>
<string>$TikTokClientKey</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>$TikTokClientKey</string>
</array>
</dict>
</array>
```
Step 3 - Add the following code to your app's AppDelegate:
```swift
import UIKit
import Flutter
import TikTokOpenSDKCore
import TikTokOpenShareSDK
import Foundation
import Photos
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
let cntrl : FlutterViewController = self.window?.rootViewController as! FlutterViewController
let tiktok_channel = FlutterMethodChannel(name: "appinio_social_share_tiktok", binaryMessenger: cntrl.binaryMessenger)
tiktok_channel.setMethodCallHandler(
{
(call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in
if call.method == "tiktok_post" {
let args = call.arguments as? [String: Any?]
self.shareVideoToTiktok(args: args!, result: result)
}else{
result("Not implemented!")
}
})
GeneratedPluginRegistrant.register(with: self)
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
}
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
override func application(_ app: UIApplication,open url: URL,
options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
if (TikTokURLHandler.handleOpenURL(url)) {
return true
}
return false
}
override func application(_ application: UIApplication,
continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
if (TikTokURLHandler.handleOpenURL(userActivity.webpageURL)) {
return true
}
return false
}
func shareVideoToTiktok(args : [String: Any?],result: @escaping FlutterResult) {
let videoFile = args["videoFile"] as? String
let redirectUrl = args["redirectUrl"] as? String
let fileType = args["fileType"] as? String
let videoData = try? Data(contentsOf: URL(fileURLWithPath: videoFile!)) as NSData
PHPhotoLibrary.shared().performChanges({
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0];
let filePath = "\(documentsPath)/\(Date().description)" + (fileType == "image" ? ".jpeg" : ".mp4")
videoData!.write(toFile: filePath, atomically: true)
if fileType == "image" {
PHAssetChangeRequest.creationRequestForAssetFromImage(atFileURL: URL(fileURLWithPath: filePath))
}else {
PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: URL(fileURLWithPath: filePath))
}
},
completionHandler: { success, error in
if success {
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
let fetchResult = PHAsset.fetchAssets(with: fileType == "image" ? .image : .video, options: fetchOptions)
if let lastAsset = fetchResult.firstObject {
let localIdentifier = lastAsset.localIdentifier
let shareRequest = TikTokShareRequest(localIdentifiers: [localIdentifier], mediaType: fileType == "image" ? .image : .video, redirectURI: redirectUrl!)
shareRequest.shareFormat = .normal
DispatchQueue.main.async {
shareRequest.send()
result("success")
}
}
}
else if let error = error {
print(error.localizedDescription)
}
else {
result("Error getting the files!")
}
})
}
}
private func registerPlugins(registry: FlutterPluginRegistry) {
}
```
Step 3 - Create a tiktok app on tiktok [developer portal] (https://developers.tiktok.com/apps/) and get a client key and add it in info.plist acc to step 2.
Obtain the [client_key](https://developers.tiktok.com/apps/) located in the Appdetails section of your app on the TikTok for Developers website. Then add Share Kit to your app by navigating to the Manage apps page, and clicking + Add products.
<img width="862" alt="Screenshot 2023-12-06 at 09 55 38" src="https://github.com/appinioGmbH/flutter_packages/assets/58891556/9b1f4d00-96ca-4496-91e8-6aa2b5b6c992">
Your app must have access to the user's photo library to successfully share videos to TikTok.
Done ✅ - Now shareToTiktokPost will start working for IOS as well.
## Usage
```dart
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
AppinioSocialShare appinioSocialShare = AppinioSocialShare();
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Share Feature",
home: Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
child: const Text("ShareToWhatsapp"),
onPressed: () async {
FilePickerResult? result = await FilePicker.platform
.pickFiles(type: FileType.image, allowMultiple: false);
if (result != null && result.paths.isNotEmpty) {
shareToWhatsApp(
"message", result.paths[0]!);
}
},
),
],
),
));
}
shareToWhatsApp(String message, String filePath) async {
await appinioSocialShare.android.shareToSMS(message, filePath);
}
}
```
<br />
| Method | iOS | Android | Parameters | Description
|:-------------|:-------------:|:-------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------
| getInstalledApps |✔️| ✔️ | - | Get a Map of all the apps with a boolean value.
| shareToWhatsapp |✔️| ✔️ | String message, {List<String>? filePaths} | Share Image and text to Whatsapp. For Ios only text works.
| shareToTelegram |✔️| ✔️ | String message, {List<String>? filePaths} | Share Image and text to Telegram. For Ios only text works.
| shareToInstagramDirect |✔️| ✔️ | String message | Share text message to Instagram.
| shareToInstagramFeed |✔️| ✔️ | List<String> imagePaths | Share image to Instagram feed.
| shareToInstagramReel |✔️| ✔️ | List<String> videoPaths | Share video to Instagram Reel.
| shareToInstagramStory |✔️| ✔️ | String facebookAppId, String stickerImage,{String? backgroundImage,String? backgroundVideo, String? backgroundTopColor,String? backgroundBottomColor,String? attributionURL} | Share background image, movable sticker, background colors to Instagram Story.
| shareToFacebook |✔️| ✔️ | String message, List<String> filePaths | Share text hashtag and image to Facebook.
| shareToFacebookStory |✔️| ✔️ | String stickerImage,String appId,{String? backgroundImage, String? backgroundVideo, String? backgroundTopColor, String? backgroundBottomColor, String? attributionURL} | Share background image, movable sticker, background colors to Facebook Story.
| shareToMessenger |✔️| ✔️ | String message | Share text message to Messenger.
| shareToTiktokStatus |❌ | ✔️ | List<String> filePaths | ShaShare image to Tiktok Story.
| shareToTiktokPost |❌ | ✔️ | String videoPath | Share video to tiktok.
| shareToTwitter | ✔️ | ✔️ | String message, {List<String>? filePaths} | Share Image and text to Twitter.
| shareToSMS |✔️| ✔️ | String message, {List<String>? filePaths} | Share Image and text to default sms app.
| copyToClipBoard |✔️| ✔️ | String message | To Copy text to clipboard.
| shareToSystem |✔️| ✔️ | String title,String message, {List<String>? filePaths} | Open default System sheet, to share text and image.
| shareImageToWhatsApp |✔️| ❌ | String filePaths | Share image to whatsapp
<hr/>
Made with ❤ by Flutter team at <a href="https://appinio.app">Appinio GmbH</a>
================================================
FILE: packages/appinio_social_share/analysis_options.yaml
================================================
include: package:flutter_lints/flutter.yaml
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options
================================================
FILE: packages/appinio_social_share/android/.gitignore
================================================
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.cxx
================================================
FILE: packages/appinio_social_share/android/build.gradle
================================================
group 'com.appinio.socialshare.appinio_social_share'
version '1.0'
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
}
}
rootProject.allprojects {
repositories {
google()
mavenCentral()
}
}
apply plugin: 'com.android.library'
android {
if (project.android.hasProperty("namespace")) {
namespace 'com.appinio.socialshare.appinio_social_share'
}
compileSdkVersion 31
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
minSdkVersion 16
}
}
dependencies {
implementation 'com.facebook.android:facebook-share:17.0.0'
}
================================================
FILE: packages/appinio_social_share/android/gradle/wrapper/gradle-wrapper.properties
================================================
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
================================================
FILE: packages/appinio_social_share/android/gradlew
================================================
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# 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.
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"
================================================
FILE: packages/appinio_social_share/android/gradlew.bat
================================================
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
================================================
FILE: packages/appinio_social_share/android/settings.gradle
================================================
rootProject.name = 'appinio_social_share'
================================================
FILE: packages/appinio_social_share/android/src/main/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.appinio.socialshare.appinio_social_share">
</manifest>
================================================
FILE: packages/appinio_social_share/android/src/main/java/com/appinio/socialshare/appinio_social_share/AppinioSocialSharePlugin.java
================================================
package com.appinio.socialshare.appinio_social_share;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import androidx.annotation.NonNull;
import com.appinio.socialshare.appinio_social_share.utils.SocialShareUtil;
import java.util.ArrayList;
import java.util.Map;
import io.flutter.embedding.engine.plugins.FlutterPlugin;
import io.flutter.embedding.engine.plugins.activity.ActivityAware;
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
/**
* AppinioSocialSharePlugin
*/
public class AppinioSocialSharePlugin implements FlutterPlugin, MethodCallHandler, ActivityAware {
private final String INSTALLED_APPS = "installed_apps";
private final String INSTAGRAM_DIRECT = "instagram_direct";
private final String INSTAGRAM_FEED = "instagram_post";
private final String INSTAGRAM_FEED_FILES = "instagram_post_files";
private final String INSTAGRAM_STORIES = "instagram_stories";
private final String FACEBOOK = "facebook";
private final String MESSENGER = "messenger";
private final String FACEBOOK_STORIES = "facebook_stories";
private final String WHATSAPP_ANDROID = "whatsapp_android";
private final String WHATSAPP_ANDROID_MULTIFILES = "whatsapp_android_multifiles";
private final String TWITTER_ANDROID = "twitter_android";
private final String TWITTER_ANDROID_MULTIFILES = "twitter_android_multifiles";
private final String SMS_ANDROID = "sms_android";
private final String SMS_ANDROID_MULTIFILES = "sms_android_multifiles";
private final String TIKTOK = "tiktok_status";
private final String SYSTEM_SHARE_ANDROID = "system_share_android";
private final String SYSTEM_SHARE_ANDROID_MULTIFILES = "system_share_android_multifiles";
private final String COPY_TO_CLIPBOARD = "copy_to_clipboard";
private final String TELEGRAM_ANDROID = "telegram_android";
private final String TELEGRAM_ANDROID_MULTIFILES = "telegram_android_multifiles";
private SocialShareUtil socialShareUtil;
private MethodChannel channel;
private Activity activity;
private Context activeContext;
private Context context;
@Override
public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) {
context = flutterPluginBinding.getApplicationContext();
channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "appinio_social_share");
channel.setMethodCallHandler(this);
socialShareUtil = new SocialShareUtil();
}
@Override
public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) {
try {
String response = decideApp(call, result);
if (response != null) {
result.success(response);
}
} catch (Exception e) {
Log.d("error", e.getLocalizedMessage());
result.success(e.getLocalizedMessage());
}
}
public String decideApp(@NonNull MethodCall call, @NonNull Result result) {
activeContext = (activity != null) ? activity.getApplicationContext() : context;
String title = call.argument("title");
String message = call.argument("message");
String appId = call.argument("appId");
ArrayList<String> imagePaths = call.argument("imagePaths");
String stickerImage = call.argument("stickerImage");
String imagePath = call.argument("imagePath");
String attributionURL = call.argument("attributionURL");
String backgroundImage = call.argument("backgroundImage");
String backgroundTopColor = call.argument("backgroundTopColor");
String backgroundBottomColor = call.argument("backgroundBottomColor");
switch (call.method) {
case INSTALLED_APPS:
Map<String, Boolean> response = socialShareUtil.getInstalledApps(activeContext);
result.success(response);
return null;
case INSTAGRAM_DIRECT:
return socialShareUtil.shareToInstagramDirect(message, activeContext);
case INSTAGRAM_FEED:
return socialShareUtil.shareToInstagramFeed(imagePath, message, activeContext, message);
case INSTAGRAM_FEED_FILES:
return socialShareUtil.shareToInstagramFeedFiles(imagePaths, activeContext,message);
case INSTAGRAM_STORIES:
return socialShareUtil.shareToInstagramStory(appId, stickerImage, backgroundImage, backgroundTopColor, backgroundBottomColor, attributionURL, activeContext);
case FACEBOOK_STORIES:
return socialShareUtil.shareToFaceBookStory(appId, stickerImage, backgroundImage, backgroundTopColor, backgroundBottomColor, attributionURL, activeContext);
case MESSENGER:
return socialShareUtil.shareToMessenger(message, activeContext);
case FACEBOOK:
if (activity == null) return SocialShareUtil.UNKNOWN_ERROR;
socialShareUtil.shareToFacebook(imagePaths, message, activity, result);
return null;
case WHATSAPP_ANDROID:
return socialShareUtil.shareToWhatsApp(imagePath, message, activeContext);
case WHATSAPP_ANDROID_MULTIFILES:
return socialShareUtil.shareToWhatsAppFiles(imagePaths, activeContext);
case TELEGRAM_ANDROID:
return socialShareUtil.shareToTelegram(imagePath, activeContext, message);
case TELEGRAM_ANDROID_MULTIFILES:
return socialShareUtil.shareToTelegramFiles(imagePaths, activeContext);
case TWITTER_ANDROID:
return socialShareUtil.shareToTwitter(imagePath, activeContext, message);
case TWITTER_ANDROID_MULTIFILES:
return socialShareUtil.shareToTwitterFiles(imagePaths, activeContext);
case COPY_TO_CLIPBOARD:
return socialShareUtil.copyToClipBoard(message, activeContext);
case SYSTEM_SHARE_ANDROID:
return socialShareUtil.shareToSystem(title, message, imagePath, title, context);
case SYSTEM_SHARE_ANDROID_MULTIFILES:
return socialShareUtil.shareToSystemFiles(title, imagePaths, title, context);
case TIKTOK:
return socialShareUtil.shareToTikTok(imagePaths, activeContext);
case SMS_ANDROID:
return socialShareUtil.shareToSMS(message, activeContext, imagePath);
case SMS_ANDROID_MULTIFILES:
return socialShareUtil.shareToSMSFiles(activeContext, imagePaths);
default:
return null;
}
}
@Override
public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
channel.setMethodCallHandler(null);
}
@Override
public void onAttachedToActivity(@NonNull ActivityPluginBinding binding) {
activity = binding.getActivity();
}
@Override
public void onDetachedFromActivityForConfigChanges() {
activity = null;
}
@Override
public void onReattachedToActivityForConfigChanges(@NonNull ActivityPluginBinding binding) {
activity = binding.getActivity();
}
@Override
public void onDetachedFromActivity() {
activity = null;
}
}
================================================
FILE: packages/appinio_social_share/android/src/main/java/com/appinio/socialshare/appinio_social_share/utils/SocialShareUtil.java
================================================
package com.appinio.socialshare.appinio_social_share.utils;
import android.app.Activity;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.provider.Telephony;
import androidx.core.content.FileProvider;
import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.FacebookSdk;
import com.facebook.share.Sharer;
import com.facebook.share.model.ShareHashtag;
import com.facebook.share.model.SharePhoto;
import com.facebook.share.model.SharePhotoContent;
import com.facebook.share.widget.ShareDialog;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import io.flutter.Log;
import io.flutter.plugin.common.MethodChannel;
public class SocialShareUtil {
public static final String ERROR_APP_NOT_AVAILABLE = "ERROR_APP_NOT_AVAILABLE";
public static final String ERROR_CANCELLED = "error : cancelled";
public static final String UNKNOWN_ERROR = "unknown error";
public static final String SUCCESS = "SUCCESS";
//packages
private final String INSTAGRAM_PACKAGE = "com.instagram.android";
private final String TWITTER_PACKAGE = "com.twitter.android";
private final String INSTAGRAM_STORY_PACKAGE = "com.instagram.share.ADD_TO_STORY";
private final String INSTAGRAM_FEED_PACKAGE = "com.instagram.share.ADD_TO_FEED";
private final String WHATSAPP_PACKAGE = "com.whatsapp";
private final String TELEGRAM_PACKAGE = "org.telegram.messenger";
private final String TIKTOK_PACKAGE = "com.zhiliaoapp.musically";
private final String FACEBOOK_STORY_PACKAGE = "com.facebook.stories.ADD_TO_STORY";
private final String FACEBOOK_PACKAGE = "com.facebook.katana";
private final String FACEBOOK_LITE_PACKAGE = "com.facebook.lite";
private final String FACEBOOK_MESSENGER_PACKAGE = "com.facebook.orca";
private final String FACEBOOK_MESSENGER_LITE_PACKAGE = "com.facebook.mlite";
private final String SMS_DEFAULT_APPLICATION = "sms_default_application";
private static CallbackManager callbackManager;
public String shareToWhatsApp(String imagePath, String msg, Context context) {
return shareFileAndTextToPackage(imagePath, msg, context, WHATSAPP_PACKAGE);
}
public String shareToWhatsAppFiles(ArrayList<String> imagePaths, Context context) {
return shareFilesToPackage(imagePaths, context, WHATSAPP_PACKAGE);
}
public String shareToInstagramDirect(String text, Context activity) {
return shareTextToPackage(text, activity, INSTAGRAM_PACKAGE);
}
public String shareToInstagramFeed(String imagePath, String message, Context activity, String text) {
return shareFileAndTextToPackage(imagePath, text, activity, INSTAGRAM_PACKAGE);
}
public String shareToInstagramFeedFiles(ArrayList<String> imagePaths, Context activity, String text) {
return shareFilesToPackage(imagePaths, activity, INSTAGRAM_PACKAGE);
}
public String shareToTikTok(ArrayList<String> imagePaths, Context activity) {
return shareFilesToPackage(imagePaths, activity, TIKTOK_PACKAGE);
}
public String shareToTwitter(String imagePath, Context activity, String text) {
return shareFileAndTextToPackage(imagePath, text, activity, TWITTER_PACKAGE);
}
public String shareToTwitterFiles(ArrayList<String> imagePaths, Context activity) {
return shareFilesToPackage(imagePaths, activity, TWITTER_PACKAGE);
}
public String shareToTelegram(String imagePath, Context activity, String text) {
return shareFileAndTextToPackage(imagePath, text, activity, TELEGRAM_PACKAGE);
}
public String shareToTelegramFiles(ArrayList<String> imagePaths, Context activity) {
return shareFilesToPackage(imagePaths, activity, TELEGRAM_PACKAGE);
}
public String shareToMessenger(String text, Context activity) {
Map<String, Boolean> apps = getInstalledApps(activity);
String packageName;
if (apps.get("messenger")) {
packageName = FACEBOOK_MESSENGER_PACKAGE;
} else if (apps.get("messenger-lite")) {
packageName = FACEBOOK_MESSENGER_LITE_PACKAGE;
} else {
return ERROR_APP_NOT_AVAILABLE;
}
return shareTextToPackage(text, activity, packageName);
}
public String copyToClipBoard(String content, Context activity) {
try {
ClipboardManager clipboard = (ClipboardManager) activity.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("", content);
clipboard.setPrimaryClip(clip);
return SUCCESS;
} catch (Exception e) {
return e.getLocalizedMessage();
}
}
public String shareToSMS(String content, Context activity, String imagePath) {
String defaultApplication;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
defaultApplication = Telephony.Sms.getDefaultSmsPackage(activity);
} else {
defaultApplication = Settings.Secure.getString(activity.getContentResolver(), SMS_DEFAULT_APPLICATION);
}
return shareFileAndTextToPackage(imagePath, content, activity, defaultApplication);
}
public String shareToSMSFiles( Context activity, ArrayList<String> imagePaths) {
String defaultApplication;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
defaultApplication = Telephony.Sms.getDefaultSmsPackage(activity);
} else {
defaultApplication = Settings.Secure.getString(activity.getContentResolver(), SMS_DEFAULT_APPLICATION);
}
return shareFilesToPackage(imagePaths, activity, defaultApplication);
}
public String shareToSystemFiles(String title, ArrayList<String> filePaths, String chooserTitle, Context activity) {
try {
if (filePaths == null || filePaths.isEmpty()) return "No files to share";
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
ArrayList<Uri> files = new ArrayList<Uri>();
for (int i = 0; i < filePaths.size(); i++) {
Uri fileUri = FileProvider.getUriForFile(activity, activity.getApplicationContext().getPackageName() + ".provider", new File(filePaths.get(i)));
files.add(fileUri);
}
intent.setType(getMimeTypeOfFile(filePaths.get(0)));
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, files);
intent.putExtra(Intent.EXTRA_SUBJECT, title);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Intent chooserIntent = Intent.createChooser(intent, chooserTitle);
chooserIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
chooserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
activity.startActivity(chooserIntent);
return SUCCESS;
} catch (Exception e) {
return e.getLocalizedMessage();
}
}
public String shareToSystem(String title, String message, String filePath, String chooserTitle, Context activity) {
try {
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_SEND);
if (filePath != null) {
Uri fileUri = FileProvider.getUriForFile(activity, activity.getApplicationContext().getPackageName() + ".provider", new File(filePath));
intent.setType(getMimeTypeOfFile(filePath));
intent.putExtra(Intent.EXTRA_STREAM, fileUri);
} else {
intent.setType("text/plain");
}
intent.putExtra(Intent.EXTRA_TEXT, message);
intent.putExtra(Intent.EXTRA_SUBJECT, title);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Intent chooserIntent = Intent.createChooser(intent, chooserTitle);
chooserIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
chooserIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
activity.startActivity(chooserIntent);
return SUCCESS;
} catch (Exception e) {
return e.getLocalizedMessage();
}
}
public String shareToInstagramStory(String appId, String stickerImage, String backgroundImage, String backgroundTopColor, String backgroundBottomColor, String attributionURL, Context activity) {
try {
Intent shareIntent = new Intent(INSTAGRAM_STORY_PACKAGE);
shareIntent.setType("image/*");
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
shareIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (stickerImage != null) {
File file = new File(stickerImage);
Uri stickerImageUri = FileProvider.getUriForFile(activity, activity.getApplicationContext().getPackageName() + ".provider", file);
shareIntent.putExtra("interactive_asset_uri", stickerImageUri);
activity.grantUriPermission("com.instagram.android", stickerImageUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
if (backgroundImage != null) {
File file1 = new File(backgroundImage);
Uri backgroundImageUri = FileProvider.getUriForFile(activity, activity.getApplicationContext().getPackageName() + ".provider", file1);
shareIntent.setDataAndType(backgroundImageUri, getMimeTypeOfFile(backgroundImage));
activity.grantUriPermission("com.instagram.android", backgroundImageUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
shareIntent.putExtra("source_application", appId);
shareIntent.putExtra("content_url", attributionURL);
shareIntent.putExtra("top_background_color", backgroundTopColor);
shareIntent.putExtra("bottom_background_color", backgroundBottomColor);
activity.startActivity(shareIntent);
return SUCCESS;
} catch (Exception e) {
return e.getLocalizedMessage();
}
}
public void shareToFacebook(List<String> filePaths, String text, Activity activity, MethodChannel.Result result) {
FacebookSdk.fullyInitialize();
FacebookSdk.setApplicationId(getFacebookAppId(activity));
callbackManager = callbackManager == null ? CallbackManager.Factory.create() : callbackManager;
ShareDialog shareDialog = new ShareDialog(activity);
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result1) {
System.out.println("---------------onSuccess");
result.success(SUCCESS);
}
@Override
public void onCancel() {
result.success(ERROR_CANCELLED);
}
@Override
public void onError(FacebookException error) {
System.out.println("---------------onError");
result.success(error.getLocalizedMessage());
}
});
List<SharePhoto> sharePhotos = new ArrayList<>();
for (int i = 0; i < filePaths.size(); i++) {
Uri fileUri = FileProvider.getUriForFile(activity, activity.getPackageName() + ".provider", new File(filePaths.get(i)));
sharePhotos.add(new SharePhoto.Builder().setImageUrl(fileUri).build());
}
SharePhotoContent content = new SharePhotoContent.Builder()
.setShareHashtag(new ShareHashtag.Builder().setHashtag(text).build())
.setPhotos(sharePhotos)
.build();
if (ShareDialog.canShow(SharePhotoContent.class)) {
shareDialog.show(content);
}
}
public String shareToFaceBookStory(String appId, String stickerImage, String backgroundImage, String backgroundTopColor, String backgroundBottomColor, String attributionURL, Context activity) {
try {
Map<String, Boolean> apps = getInstalledApps(activity);
String packageName;
if (apps.get("facebook")) {
packageName = FACEBOOK_PACKAGE;
} else if (apps.get("facebook-lite")) {
packageName = FACEBOOK_LITE_PACKAGE;
} else {
return ERROR_APP_NOT_AVAILABLE;
}
Intent intent = new Intent(FACEBOOK_STORY_PACKAGE);
intent.setType("image/*");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("com.facebook.platform.extra.APPLICATION_ID", appId);
if (stickerImage != null) {
File file = new File(stickerImage);
Uri stickerImageFile = FileProvider.getUriForFile(activity, activity.getPackageName() + ".provider", file);
intent.putExtra("interactive_asset_uri", stickerImageFile);
activity.grantUriPermission(packageName, stickerImageFile, Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
intent.putExtra("content_url", attributionURL);
intent.putExtra("top_background_color", backgroundTopColor);
intent.putExtra("bottom_background_color", backgroundBottomColor);
if (backgroundImage != null) {
File file1 = new File(backgroundImage);
Uri backgroundImageUri = FileProvider.getUriForFile(activity, activity.getPackageName() + ".provider", file1);
intent.setDataAndType(backgroundImageUri, getMimeTypeOfFile(backgroundImage));
activity.grantUriPermission(packageName, backgroundImageUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
activity.startActivity(intent);
return SUCCESS;
} catch (Exception e) {
return e.getLocalizedMessage();
}
}
private String shareTextToPackage(
String text,
Context context,
String packageName
) {
try {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putExtra("content_url", text);
intent.putExtra("source_application", context.getPackageName());
intent.putExtra(Intent.EXTRA_TITLE, text);
intent.putExtra("com.facebook.platform.extra.APPLICATION_ID", getFacebookAppId(context));
intent.setPackage(packageName);
context.startActivity(intent);
return SUCCESS;
} catch (Exception e) {
return e.getLocalizedMessage();
}
}
private String shareFilesToPackage(List<String> imagePaths, Context activity, String packageName) {
if (imagePaths == null || imagePaths.isEmpty()) return "No files to share";
Intent shareIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
ArrayList<Uri> files = new ArrayList<Uri>();
for (int i = 0; i < imagePaths.size(); i++) {
Uri fileUri = FileProvider.getUriForFile(activity, activity.getApplicationContext().getPackageName() + ".provider", new File(imagePaths.get(i)));
files.add(fileUri);
}
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, files);
shareIntent.setType(getMimeTypeOfFile(imagePaths.get(0)));
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
shareIntent.setPackage(packageName);
// if (packageName.equals(INSTAGRAM_PACKAGE) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// shareIntent.setComponent(ComponentName.createRelative(packageName, "com.instagram.share.handleractivity.ShareHandlerActivity")); //open instagram feed
// }
try {
activity.startActivity(shareIntent);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return e.getLocalizedMessage();
}
}
private String shareFileAndTextToPackage(String imagePath, String message, Context activity, String packageName) {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
if (imagePath != null) {
Uri fileUri = FileProvider.getUriForFile(activity, activity.getApplicationContext().getPackageName() + ".provider", new File(imagePath));
shareIntent.putExtra(Intent.EXTRA_STREAM, fileUri);
shareIntent.setType(getMimeTypeOfFile(imagePath));
} else {
shareIntent.setType("text/plain");
}
shareIntent.putExtra(Intent.EXTRA_TEXT, message);
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
shareIntent.setPackage(packageName);
if (packageName.equals(INSTAGRAM_PACKAGE) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
shareIntent.setComponent(ComponentName.createRelative(packageName, "com.instagram.share.handleractivity.ShareHandlerActivity")); //open instagram feed
}
try {
activity.startActivity(shareIntent);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return e.getLocalizedMessage();
}
}
public Map<String, Boolean> getInstalledApps(Context context) {
Map<String, String> appsMap = new HashMap();
appsMap.put("instagram", INSTAGRAM_PACKAGE);
appsMap.put("facebook_stories", FACEBOOK_PACKAGE);
appsMap.put("whatsapp", WHATSAPP_PACKAGE);
appsMap.put("telegram", TELEGRAM_PACKAGE);
appsMap.put("messenger", FACEBOOK_MESSENGER_PACKAGE);
appsMap.put("messenger-lite", FACEBOOK_MESSENGER_LITE_PACKAGE);
appsMap.put("facebook", FACEBOOK_PACKAGE);
appsMap.put("facebook-lite", FACEBOOK_LITE_PACKAGE);
appsMap.put("instagram_stories", INSTAGRAM_PACKAGE);
appsMap.put("twitter", TWITTER_PACKAGE);
appsMap.put("tiktok", TIKTOK_PACKAGE);
Map<String, Boolean> apps = new HashMap<String, Boolean>();
PackageManager pm = context.getPackageManager();
Intent intent = new Intent(Intent.ACTION_SENDTO).addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("vnd.android-dir/mms-sms");
intent.setData(Uri.parse("sms:"));
List<ResolveInfo> resolvedActivities = pm.queryIntentActivities(intent, 0);
apps.put("message", !resolvedActivities.isEmpty());
String[] appNames = {"instagram", "facebook_stories", "whatsapp", "telegram", "messenger", "facebook", "facebook-lite", "messenger-lite", "instagram_stories", "twitter", "tiktok"};
for (int i = 0; i < appNames.length; i++) {
try {
pm.getPackageInfo(appsMap.get(appNames[i]), PackageManager.GET_META_DATA);
apps.put(appNames[i], true);
} catch (Exception e) {
apps.put(appNames[i], false);
}
}
return apps;
}
private static String getMimeTypeOfFile(String pathName) {
try {
Path path;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
path = new File(pathName).toPath();
String mimeType = Files.probeContentType(path);
return mimeType;
}
return "*/*";
} catch (Exception e) {
return "";
}
}
String getFacebookAppId(Context activity) {
String appId = "";
try {
ApplicationInfo appInfo = activity.getPackageManager().getApplicationInfo(
activity.getPackageName(), PackageManager.GET_META_DATA);
Bundle metaData = appInfo.metaData;
if (metaData != null) {
appId = metaData.getString("com.facebook.sdk.ApplicationId");
Log.d("FB_APP_ID", appId);
}
} catch (PackageManager.NameNotFoundException e) {
// Handle the exception if needed
}
return appId;
}
}
================================================
FILE: packages/appinio_social_share/example/.gitignore
================================================
# 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/
# Web related
lib/generated_plugin_registrant.dart
# 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
================================================
FILE: packages/appinio_social_share/example/.metadata
================================================
# 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.
version:
revision: f1875d570e39de09040c8f79aa13cc56baab8db1
channel: stable
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
- platform: android
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
- platform: ios
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
- platform: linux
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
- platform: macos
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
- platform: web
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
- platform: windows
create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1
# 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'
================================================
FILE: packages/appinio_social_share/example/README.md
================================================
# appinio_social_share_example
Demonstrates how to use the appinio_social_share plugin.
## Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
For help getting started with Flutter development, view the
[online documentation](https://docs.flutter.dev/), which offers tutorials,
samples, guidance on mobile development, and a full API reference.
================================================
FILE: packages/appinio_social_share/example/analysis_options.yaml
================================================
# 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-lang.github.io/linter/lints/index.html.
#
# 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
================================================
FILE: packages/appinio_social_share/example/android/.gitignore
================================================
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
================================================
FILE: packages/appinio_social_share/example/android/app/build.gradle
================================================
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion flutter.compileSdkVersion
ndkVersion flutter.ndkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
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.example"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
minSdkVersion flutter.minSdkVersion
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 {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
================================================
FILE: packages/appinio_social_share/example/android/app/src/debug/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.example">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
================================================
FILE: packages/appinio_social_share/example/android/app/src/main/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.example">
<application
android:label="example"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
================================================
FILE: packages/appinio_social_share/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt
================================================
package com.example.example
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
}
================================================
FILE: packages/appinio_social_share/example/android/app/src/main/res/drawable/launch_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
================================================
FILE: packages/appinio_social_share/example/android/app/src/main/res/drawable-v21/launch_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
================================================
FILE: packages/appinio_social_share/example/android/app/src/main/res/values/styles.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
================================================
FILE: packages/appinio_social_share/example/android/app/src/main/res/values-night/styles.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
================================================
FILE: packages/appinio_social_share/example/android/app/src/profile/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.example">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
================================================
FILE: packages/appinio_social_share/example/android/build.gradle
================================================
buildscript {
ext.kotlin_version = '1.6.10'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
================================================
FILE: packages/appinio_social_share/example/android/gradle/wrapper/gradle-wrapper.properties
================================================
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
================================================
FILE: packages/appinio_social_share/example/android/gradle.properties
================================================
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
================================================
FILE: packages/appinio_social_share/example/android/settings.gradle
================================================
include ':app'
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()
assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
================================================
FILE: packages/appinio_social_share/example/ios/.gitignore
================================================
**/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
================================================
FILE: packages/appinio_social_share/example/ios/Flutter/AppFrameworkInfo.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>App</string>
<key>CFBundleIdentifier</key>
<string>io.flutter.flutter.app</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>App</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>9.0</string>
</dict>
</plist>
================================================
FILE: packages/appinio_social_share/example/ios/Flutter/Debug.xcconfig
================================================
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
================================================
FILE: packages/appinio_social_share/example/ios/Flutter/Release.xcconfig
================================================
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"
================================================
FILE: packages/appinio_social_share/example/ios/Podfile
================================================
# Uncomment this line to define a global platform for your project
# platform :ios, '9.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
================================================
FILE: packages/appinio_social_share/example/ios/Runner/AppDelegate.swift
================================================
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)
}
}
================================================
FILE: packages/appinio_social_share/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
================================================
{
"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"
}
}
================================================
FILE: packages/appinio_social_share/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
================================================
{
"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"
}
}
================================================
FILE: packages/appinio_social_share/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
================================================
# 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.
================================================
FILE: packages/appinio_social_share/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
<resources>
<image name="LaunchImage" width="168" height="185"/>
</resources>
</document>
================================================
FILE: packages/appinio_social_share/example/ios/Runner/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
</dependencies>
<scenes>
<!--Flutter View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>
================================================
FILE: packages/appinio_social_share/example/ios/Runner/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Example</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>example</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
</dict>
</plist>
================================================
FILE: packages/appinio_social_share/example/ios/Runner/Runner-Bridging-Header.h
================================================
#import "GeneratedPluginRegistrant.h"
================================================
FILE: packages/appinio_social_share/example/ios/Runner.xcodeproj/project.pbxproj
================================================
// !$*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 */; };
/* 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 = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
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 = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
);
name = Flutter;
sourceTree = "<group>";
};
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
);
sourceTree = "<group>";
};
97C146EF1CF9000F007C117D /* Products */ = {
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
);
name = Products;
sourceTree = "<group>";
};
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 = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
);
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";
};
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";
};
/* 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 = "<group>";
};
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C147001CF9000F007C117D /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* 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 = 9.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)";
DEVELOPMENT_TEAM = QY3ZXJ883Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.example;
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 = 9.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 = 9.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)";
DEVELOPMENT_TEAM = QY3ZXJ883Q;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.example;
P
gitextract_6dy26xrp/
├── .github/
│ └── ISSUE_TEMPLATE/
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── CODEOWNERS
├── README.md
└── packages/
├── appinio_animated_toggle_tab/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ └── main.dart
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ └── web/
│ │ ├── index.html
│ │ └── manifest.json
│ ├── lib/
│ │ └── appinio_animated_toggle_tab.dart
│ └── pubspec.yaml
├── appinio_social_share/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android/
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── settings.gradle
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ └── java/
│ │ └── com/
│ │ └── appinio/
│ │ └── socialshare/
│ │ └── appinio_social_share/
│ │ ├── AppinioSocialSharePlugin.java
│ │ └── utils/
│ │ └── SocialShareUtil.java
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Podfile
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ └── main.dart
│ │ ├── linux/
│ │ │ ├── .gitignore
│ │ │ ├── CMakeLists.txt
│ │ │ ├── flutter/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── generated_plugin_registrant.cc
│ │ │ │ ├── generated_plugin_registrant.h
│ │ │ │ └── generated_plugins.cmake
│ │ │ ├── main.cc
│ │ │ ├── my_application.cc
│ │ │ └── my_application.h
│ │ ├── macos/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── Flutter-Debug.xcconfig
│ │ │ │ ├── Flutter-Release.xcconfig
│ │ │ │ └── GeneratedPluginRegistrant.swift
│ │ │ ├── Podfile
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ └── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ └── MainMenu.xib
│ │ │ │ ├── Configs/
│ │ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ │ ├── Debug.xcconfig
│ │ │ │ │ ├── Release.xcconfig
│ │ │ │ │ └── Warnings.xcconfig
│ │ │ │ ├── DebugProfile.entitlements
│ │ │ │ ├── Info.plist
│ │ │ │ ├── MainFlutterWindow.swift
│ │ │ │ └── Release.entitlements
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ ├── web/
│ │ │ ├── index.html
│ │ │ └── manifest.json
│ │ └── windows/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── flutter/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── generated_plugin_registrant.cc
│ │ │ ├── generated_plugin_registrant.h
│ │ │ └── generated_plugins.cmake
│ │ └── runner/
│ │ ├── CMakeLists.txt
│ │ ├── Runner.rc
│ │ ├── flutter_window.cpp
│ │ ├── flutter_window.h
│ │ ├── main.cpp
│ │ ├── resource.h
│ │ ├── runner.exe.manifest
│ │ ├── utils.cpp
│ │ ├── utils.h
│ │ ├── win32_window.cpp
│ │ └── win32_window.h
│ ├── ios/
│ │ ├── .gitignore
│ │ ├── Assets/
│ │ │ └── .gitkeep
│ │ ├── Classes/
│ │ │ ├── AppinioSocialSharePlugin.h
│ │ │ ├── AppinioSocialSharePlugin.m
│ │ │ ├── MyActivityItemSource.swift
│ │ │ ├── ShareUtil.swift
│ │ │ └── SwiftAppinioSocialSharePlugin.swift
│ │ └── appinio_social_share.podspec
│ ├── lib/
│ │ ├── appinio_social_share.dart
│ │ ├── appinio_social_share_method_channel.dart
│ │ ├── appinio_social_share_platform_interface.dart
│ │ └── platforms/
│ │ ├── android.dart
│ │ └── ios.dart
│ └── pubspec.yaml
├── appinio_swiper/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ ├── example_buttons.dart
│ │ │ ├── example_candidate_model.dart
│ │ │ ├── example_card.dart
│ │ │ └── main.dart
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ └── web/
│ │ ├── index.html
│ │ └── manifest.json
│ ├── lib/
│ │ ├── appinio_swiper.dart
│ │ ├── enums.dart
│ │ └── types.dart
│ ├── pubspec.yaml
│ └── test/
│ └── appinio_swiper_test.dart
├── appinio_video_player/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Podfile
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ └── main.dart
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ └── web/
│ │ ├── index.html
│ │ └── manifest.json
│ ├── lib/
│ │ ├── appinio_video_player.dart
│ │ └── src/
│ │ ├── controls/
│ │ │ ├── all_controls_overlay.dart
│ │ │ ├── control_bar.dart
│ │ │ ├── fullscreen_button.dart
│ │ │ ├── mute_button.dart
│ │ │ ├── play_button.dart
│ │ │ ├── progress_bar.dart
│ │ │ ├── progress_bar_indicator.dart
│ │ │ ├── seeker.dart
│ │ │ ├── video_settings_button.dart
│ │ │ └── video_settings_popup/
│ │ │ ├── video_settings_dialog.dart
│ │ │ ├── video_settings_dialog_item.dart
│ │ │ ├── video_settings_playback_speed_dialog.dart
│ │ │ └── video_settings_quality_dialog.dart
│ │ ├── custom_video_player.dart
│ │ ├── custom_video_player_controller.dart
│ │ ├── embedded_video_player.dart
│ │ ├── fullscreen_video_player.dart
│ │ ├── models/
│ │ │ ├── custom_video_player_popup_settings.dart
│ │ │ ├── custom_video_player_progress_bar_settings.dart
│ │ │ └── custom_video_player_settings.dart
│ │ ├── seek_buttons.dart
│ │ ├── thumbnail.dart
│ │ ├── volume_control.dart
│ │ └── web_video_player/
│ │ ├── conditional_native_web_video_player/
│ │ │ ├── conditional_native_web_video_player.dart
│ │ │ ├── conditional_native_web_video_player_base.dart
│ │ │ ├── conditional_native_web_video_player_mobile.dart
│ │ │ └── conditional_native_web_video_player_web.dart
│ │ ├── custom_video_player_web.dart
│ │ ├── custom_video_player_web_controller.dart
│ │ ├── native_web_video_player.dart
│ │ └── web_video_player_settings.dart
│ ├── pubspec.yaml
│ └── test/
│ └── custom_video_player_test.dart
├── disable_screenshot/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android/
│ │ ├── .gitignore
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── settings.gradle
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ └── java/
│ │ └── com/
│ │ └── appinio/
│ │ └── disable_screenshot/
│ │ └── DisableScreenshotPlugin.java
│ ├── example/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── appinio/
│ │ │ │ │ │ └── disable_screenshot_example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Podfile
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ └── main.dart
│ │ ├── pubspec.yaml
│ │ └── test/
│ │ └── widget_test.dart
│ ├── ios/
│ │ ├── .gitignore
│ │ ├── Assets/
│ │ │ └── .gitkeep
│ │ ├── Classes/
│ │ │ ├── DisableScreenshotPlugin.h
│ │ │ ├── DisableScreenshotPlugin.m
│ │ │ └── SwiftDisableScreenshotPlugin.swift
│ │ └── disable_screenshot.podspec
│ ├── lib/
│ │ ├── disable_screenshot.dart
│ │ ├── disable_screenshot_method_channel.dart
│ │ └── disable_screenshot_platform_interface.dart
│ ├── pubspec.yaml
│ └── test/
│ ├── disable_screenshot_method_channel_test.dart
│ └── disable_screenshot_test.dart
├── flutter_onboarding_slider/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── java/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.java
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ ├── main.dart
│ │ │ └── screens/
│ │ │ ├── login_page.dart
│ │ │ └── register_page.dart
│ │ ├── pubspec.yaml
│ │ └── test/
│ │ └── widget_test.dart
│ ├── lib/
│ │ ├── background.dart
│ │ ├── background_body.dart
│ │ ├── background_controller.dart
│ │ ├── background_final_button.dart
│ │ ├── background_image.dart
│ │ ├── flutter_onboarding_slider.dart
│ │ ├── onboarding_navigation_bar.dart
│ │ └── page_offset_provider.dart
│ ├── pubspec.yaml
│ └── test/
│ └── page_slider_test.dart
├── flutter_timer_countdown/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── drawable-v21/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ ├── values/
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values-night/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ ├── main.dart
│ │ │ ├── timer_basic.dart
│ │ │ └── timer_frame.dart
│ │ ├── pubspec.yaml
│ │ ├── test/
│ │ │ └── widget_test.dart
│ │ └── web/
│ │ ├── index.html
│ │ └── manifest.json
│ ├── lib/
│ │ └── flutter_timer_countdown.dart
│ ├── pubspec.yaml
│ └── test/
│ └── flutter_timer_countdown_test.dart
├── profile_sliver/
│ ├── .gitignore
│ ├── .metadata
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── example/
│ │ ├── .gitignore
│ │ ├── .metadata
│ │ ├── README.md
│ │ ├── android/
│ │ │ ├── .gitignore
│ │ │ ├── app/
│ │ │ │ ├── build.gradle
│ │ │ │ └── src/
│ │ │ │ ├── debug/
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ ├── main/
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── kotlin/
│ │ │ │ │ │ └── com/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── example/
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ │ └── res/
│ │ │ │ │ ├── drawable/
│ │ │ │ │ │ └── launch_background.xml
│ │ │ │ │ └── values/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── profile/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── build.gradle
│ │ │ ├── gradle/
│ │ │ │ └── wrapper/
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradle.properties
│ │ │ └── settings.gradle
│ │ ├── ios/
│ │ │ ├── .gitignore
│ │ │ ├── Flutter/
│ │ │ │ ├── AppFrameworkInfo.plist
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ └── Release.xcconfig
│ │ │ ├── Runner/
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets/
│ │ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── LaunchImage.imageset/
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── README.md
│ │ │ │ ├── Base.lproj/
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── Runner-Bridging-Header.h
│ │ │ ├── Runner.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ └── xcshareddata/
│ │ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── Runner.xcscheme
│ │ │ └── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── WorkspaceSettings.xcsettings
│ │ ├── lib/
│ │ │ └── main.dart
│ │ └── pubspec.yaml
│ ├── lib/
│ │ ├── profile_sliver.dart
│ │ └── src/
│ │ ├── profile_sliver.dart
│ │ ├── profile_sliver_element.dart
│ │ └── profile_sliver_render_object.dart
│ └── pubspec.yaml
└── widget_zoom/
├── .gitignore
├── .metadata
├── CHANGELOG.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── example/
│ ├── .gitignore
│ ├── .metadata
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── build.gradle
│ │ │ └── src/
│ │ │ ├── debug/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── kotlin/
│ │ │ │ │ └── com/
│ │ │ │ │ └── example/
│ │ │ │ │ └── example/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable-v21/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── values/
│ │ │ │ │ └── styles.xml
│ │ │ │ └── values-night/
│ │ │ │ └── styles.xml
│ │ │ └── profile/
│ │ │ └── AndroidManifest.xml
│ │ ├── build.gradle
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ └── settings.gradle
│ ├── ios/
│ │ ├── .gitignore
│ │ ├── Flutter/
│ │ │ ├── AppFrameworkInfo.plist
│ │ │ ├── Debug.xcconfig
│ │ │ └── Release.xcconfig
│ │ ├── Runner/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── LaunchImage.imageset/
│ │ │ │ ├── Contents.json
│ │ │ │ └── README.md
│ │ │ ├── Base.lproj/
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ ├── Info.plist
│ │ │ └── Runner-Bridging-Header.h
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ └── Runner.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
│ ├── lib/
│ │ └── main.dart
│ ├── linux/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── flutter/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── generated_plugin_registrant.cc
│ │ │ ├── generated_plugin_registrant.h
│ │ │ └── generated_plugins.cmake
│ │ ├── main.cc
│ │ ├── my_application.cc
│ │ └── my_application.h
│ ├── pubspec.yaml
│ ├── test/
│ │ └── widget_test.dart
│ ├── web/
│ │ ├── index.html
│ │ └── manifest.json
│ └── windows/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── flutter/
│ │ ├── CMakeLists.txt
│ │ ├── generated_plugin_registrant.cc
│ │ ├── generated_plugin_registrant.h
│ │ └── generated_plugins.cmake
│ └── runner/
│ ├── CMakeLists.txt
│ ├── Runner.rc
│ ├── flutter_window.cpp
│ ├── flutter_window.h
│ ├── main.cpp
│ ├── resource.h
│ ├── runner.exe.manifest
│ ├── utils.cpp
│ ├── utils.h
│ ├── win32_window.cpp
│ └── win32_window.h
├── lib/
│ ├── src/
│ │ ├── widget_zoom.dart
│ │ └── widget_zoom_full_screen.dart
│ └── widget_zoom.dart
├── pubspec.yaml
└── test/
└── widget_zoom_test.dart
SYMBOL INDEX (614 symbols across 109 files)
FILE: packages/appinio_animated_toggle_tab/example/lib/main.dart
function main (line 4) | void main()
class MyApp (line 8) | class MyApp extends StatelessWidget {
method build (line 13) | Widget build(BuildContext context)
class MyHomePage (line 25) | class MyHomePage extends StatefulWidget {
method createState (line 31) | State<MyHomePage> createState()
class _MyHomePageState (line 34) | class _MyHomePageState extends State<MyHomePage> {
method build (line 46) | Widget build(BuildContext context)
FILE: packages/appinio_animated_toggle_tab/example/test/widget_test.dart
function main (line 13) | void main()
FILE: packages/appinio_animated_toggle_tab/lib/appinio_animated_toggle_tab.dart
class AppinioAnimatedToggleTab (line 5) | class AppinioAnimatedToggleTab extends StatefulWidget {
method createState (line 54) | State<StatefulWidget> createState()
class _AppinioAnimatedToggleTabState (line 57) | class _AppinioAnimatedToggleTabState extends State<AppinioAnimatedToggle...
method initState (line 63) | void initState()
method build (line 70) | Widget build(BuildContext context)
method _buildSwitchTab (line 106) | Widget _buildSwitchTab(
FILE: packages/appinio_social_share/android/src/main/java/com/appinio/socialshare/appinio_social_share/AppinioSocialSharePlugin.java
class AppinioSocialSharePlugin (line 25) | public class AppinioSocialSharePlugin implements FlutterPlugin, MethodCa...
method onAttachedToEngine (line 55) | @Override
method onMethodCall (line 63) | @Override
method decideApp (line 77) | public String decideApp(@NonNull MethodCall call, @NonNull Result resu...
method onDetachedFromEngine (line 139) | @Override
method onAttachedToActivity (line 144) | @Override
method onDetachedFromActivityForConfigChanges (line 150) | @Override
method onReattachedToActivityForConfigChanges (line 156) | @Override
method onDetachedFromActivity (line 162) | @Override
FILE: packages/appinio_social_share/android/src/main/java/com/appinio/socialshare/appinio_social_share/utils/SocialShareUtil.java
class SocialShareUtil (line 41) | public class SocialShareUtil {
method shareToWhatsApp (line 66) | public String shareToWhatsApp(String imagePath, String msg, Context co...
method shareToWhatsAppFiles (line 70) | public String shareToWhatsAppFiles(ArrayList<String> imagePaths, Conte...
method shareToInstagramDirect (line 75) | public String shareToInstagramDirect(String text, Context activity) {
method shareToInstagramFeed (line 79) | public String shareToInstagramFeed(String imagePath, String message, C...
method shareToInstagramFeedFiles (line 83) | public String shareToInstagramFeedFiles(ArrayList<String> imagePaths, ...
method shareToTikTok (line 87) | public String shareToTikTok(ArrayList<String> imagePaths, Context acti...
method shareToTwitter (line 91) | public String shareToTwitter(String imagePath, Context activity, Strin...
method shareToTwitterFiles (line 95) | public String shareToTwitterFiles(ArrayList<String> imagePaths, Contex...
method shareToTelegram (line 99) | public String shareToTelegram(String imagePath, Context activity, Stri...
method shareToTelegramFiles (line 103) | public String shareToTelegramFiles(ArrayList<String> imagePaths, Conte...
method shareToMessenger (line 108) | public String shareToMessenger(String text, Context activity) {
method copyToClipBoard (line 122) | public String copyToClipBoard(String content, Context activity) {
method shareToSMS (line 133) | public String shareToSMS(String content, Context activity, String imag...
method shareToSMSFiles (line 142) | public String shareToSMSFiles( Context activity, ArrayList<String> ima...
method shareToSystemFiles (line 153) | public String shareToSystemFiles(String title, ArrayList<String> fileP...
method shareToSystem (line 180) | public String shareToSystem(String title, String message, String fileP...
method shareToInstagramStory (line 208) | public String shareToInstagramStory(String appId, String stickerImage,...
method shareToFacebook (line 241) | public void shareToFacebook(List<String> filePaths, String text, Activ...
method shareToFaceBookStory (line 278) | public String shareToFaceBookStory(String appId, String stickerImage, ...
method shareTextToPackage (line 319) | private String shareTextToPackage(
method shareFilesToPackage (line 343) | private String shareFilesToPackage(List<String> imagePaths, Context ac...
method shareFileAndTextToPackage (line 368) | private String shareFileAndTextToPackage(String imagePath, String mess...
method getInstalledApps (line 393) | public Map<String, Boolean> getInstalledApps(Context context) {
method getMimeTypeOfFile (line 429) | private static String getMimeTypeOfFile(String pathName) {
method getFacebookAppId (line 444) | String getFacebookAppId(Context activity) {
FILE: packages/appinio_social_share/example/lib/main.dart
function main (line 5) | void main()
class MyApp (line 9) | class MyApp extends StatefulWidget {
method createState (line 13) | State<MyApp> createState()
class _MyAppState (line 16) | class _MyAppState extends State<MyApp> {
method build (line 20) | Widget build(BuildContext context)
FILE: packages/appinio_social_share/example/linux/flutter/generated_plugin_registrant.cc
function fl_register_plugins (line 10) | void fl_register_plugins(FlPluginRegistry* registry) {
FILE: packages/appinio_social_share/example/linux/main.cc
function main (line 3) | int main(int argc, char** argv) {
FILE: packages/appinio_social_share/example/linux/my_application.cc
type _MyApplication (line 10) | struct _MyApplication {
function my_application_activate (line 18) | static void my_application_activate(GApplication* application) {
function gboolean (line 66) | static gboolean my_application_local_command_line(GApplication* applicat...
function my_application_dispose (line 85) | static void my_application_dispose(GObject* object) {
function my_application_class_init (line 91) | static void my_application_class_init(MyApplicationClass* klass) {
function my_application_init (line 97) | static void my_application_init(MyApplication* self) {}
function MyApplication (line 99) | MyApplication* my_application_new() {
FILE: packages/appinio_social_share/example/test/widget_test.dart
function main (line 13) | void main()
FILE: packages/appinio_social_share/example/windows/flutter/generated_plugin_registrant.cc
function RegisterPlugins (line 10) | void RegisterPlugins(flutter::PluginRegistry* registry) {
FILE: packages/appinio_social_share/example/windows/runner/flutter_window.cpp
function LRESULT (line 40) | LRESULT
FILE: packages/appinio_social_share/example/windows/runner/flutter_window.h
function class (line 12) | class FlutterWindow : public Win32Window {
FILE: packages/appinio_social_share/example/windows/runner/main.cpp
function wWinMain (line 8) | int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
FILE: packages/appinio_social_share/example/windows/runner/utils.cpp
function CreateAndAttachConsole (line 10) | void CreateAndAttachConsole() {
function GetCommandLineArguments (line 24) | std::vector<std::string> GetCommandLineArguments() {
function Utf8FromUtf16 (line 44) | std::string Utf8FromUtf16(const wchar_t* utf16_string) {
FILE: packages/appinio_social_share/example/windows/runner/win32_window.cpp
function Scale (line 18) | int Scale(int source, double scale_factor) {
function EnableFullDpiSupportIfAvailable (line 24) | void EnableFullDpiSupportIfAvailable(HWND hwnd) {
class WindowClassRegistrar (line 41) | class WindowClassRegistrar {
method WindowClassRegistrar (line 46) | static WindowClassRegistrar* GetInstance() {
method WindowClassRegistrar (line 62) | WindowClassRegistrar() = default;
function wchar_t (line 71) | const wchar_t* WindowClassRegistrar::GetWindowClass() {
function LRESULT (line 133) | LRESULT CALLBACK Win32Window::WndProc(HWND const window,
function LRESULT (line 152) | LRESULT
function Win32Window (line 208) | Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept {
function RECT (line 224) | RECT Win32Window::GetClientArea() {
function HWND (line 230) | HWND Win32Window::GetHandle() {
FILE: packages/appinio_social_share/example/windows/runner/win32_window.h
type Size (line 21) | struct Size {
FILE: packages/appinio_social_share/lib/appinio_social_share.dart
class AppinioSocialShare (line 5) | class AppinioSocialShare {
method getInstalledApps (line 9) | Future<Map<String, bool>> getInstalledApps()
FILE: packages/appinio_social_share/lib/appinio_social_share_method_channel.dart
class MethodChannelAppinioSocialShare (line 9) | class MethodChannelAppinioSocialShare extends AppinioSocialSharePlatform {
method getInstalledApps (line 43) | Future<Map<String, bool>> getInstalledApps()
method shareToTiktokStatus (line 49) | Future<String> shareToTiktokStatus(List<String> filePaths)
method shareToTiktokPost (line 57) | Future<String> shareToTiktokPost(String filePath, String redirectUrl,
method shareToTwitter (line 76) | Future<String> shareToTwitter(String message, String? filePath)
method shareToTwitterAndroid (line 85) | Future<String> shareToTwitterAndroid(String message, String? filePath)
method shareToTwitterAndroidMultifiles (line 92) | Future<String> shareToTwitterAndroidMultifiles(List<String> filePaths)
method shareToTelegram (line 99) | Future<String> shareToTelegram(String message,
method shareToTelegramAndroid (line 107) | Future<String> shareToTelegramAndroid(
method shareToTelegramAndroidMultiFiles (line 117) | Future<String> shareToTelegramAndroidMultiFiles(
method shareToWhatsapp (line 128) | Future<String> shareToWhatsapp(String message,
method shareToWhatsappAndroid (line 136) | Future<String> shareToWhatsappAndroid(
method shareToWhatsappAndroidMultiFiles (line 144) | Future<String> shareToWhatsappAndroidMultiFiles(
method shareToSMS (line 152) | Future<String> shareToSMS(String message, {List<String>? filePaths})
method shareToSMSAndroid (line 159) | Future<String> shareToSMSAndroid(String message, String? filePath)
method shareToSMSAndroidMultifiles (line 166) | Future<String> shareToSMSAndroidMultifiles(List<String> filePaths)
method copyToClipBoard (line 173) | Future<String> copyToClipBoard(String message)
method shareToSystem (line 180) | Future<String> shareToSystem(String title, String message,
method shareToSystemAndroid (line 188) | Future<String> shareToSystemAndroid(
method shareToSystemAndroidMultifiles (line 196) | Future<String> shareToSystemAndroidMultifiles(
method shareToInstagramDirect (line 205) | Future<String> shareToInstagramDirect(String message)
method shareToInstagramFeed (line 212) | Future<String> shareToInstagramFeed(String message, String? filePath)
method shareToInstagramFeedAndroid (line 219) | Future<String> shareToInstagramFeedAndroid(List<String> filePaths)
method shareToMessenger (line 227) | Future<String> shareToMessenger(String message)
method shareImageToWhatsApp (line 234) | Future<String> shareImageToWhatsApp(
method shareToInstagramStory (line 243) | Future<String> shareToInstagramStory(String appId,
method shareToFacebookStory (line 264) | Future<String> shareToFacebookStory(String appId,
method shareToFacebook (line 285) | Future<String> shareToFacebook(String hashtag, List<String> filePaths)
FILE: packages/appinio_social_share/lib/appinio_social_share_platform_interface.dart
class AppinioSocialSharePlatform (line 5) | abstract class AppinioSocialSharePlatform extends PlatformInterface {
method getPlatformVersion (line 27) | Future<String?> getPlatformVersion()
method getInstalledApps (line 31) | Future<Map<String, bool>> getInstalledApps()
method shareToWhatsapp (line 36) | Future<String> shareToWhatsapp(String message, {List<String>? filePaths})
method shareToInstagramDirect (line 40) | Future<String> shareToInstagramDirect(String message)
method shareToInstagramFeed (line 44) | Future<String> shareToInstagramFeed(String message, String? filePath)
method shareToInstagramFeedAndroid (line 48) | Future<String> shareToInstagramFeedAndroid(List<String> filePaths)
method shareToMessenger (line 52) | Future<String> shareToMessenger(String message)
method shareToTiktokStatus (line 57) | Future<String> shareToTiktokStatus(List<String> filePaths)
method shareToTiktokPost (line 62) | Future<String> shareToTiktokPost(
method shareToTwitter (line 67) | Future<String> shareToTwitter(String message, String? filePath)
method shareToTelegram (line 72) | Future<String> shareToTelegram(String message, {List<String>? filePaths})
method shareToFacebook (line 76) | Future<String> shareToFacebook(String hashtag, List<String> filePaths)
method shareToInstagramStory (line 80) | Future<String> shareToInstagramStory(String appId,
method shareToFacebookStory (line 90) | Future<String> shareToFacebookStory(String appId,
method copyToClipBoard (line 100) | Future<String> copyToClipBoard(String message)
method shareToSystem (line 104) | Future<String> shareToSystem(String title, String message,
method shareToSMS (line 110) | Future<String> shareToSMS(String message, {List<String>? filePaths})
method shareToWhatsappAndroid (line 114) | Future<String> shareToWhatsappAndroid(
method shareToWhatsappAndroidMultiFiles (line 119) | Future<String> shareToWhatsappAndroidMultiFiles(
method shareToTelegramAndroid (line 124) | Future<String> shareToTelegramAndroid(
method shareToTelegramAndroidMultiFiles (line 129) | Future<String> shareToTelegramAndroidMultiFiles(
method shareToTwitterAndroid (line 134) | Future<String> shareToTwitterAndroid(String message, String? filePath)
method shareToTwitterAndroidMultifiles (line 138) | Future<String> shareToTwitterAndroidMultifiles(List<String> filePaths)
method shareToSMSAndroid (line 142) | Future<String> shareToSMSAndroid(String message, String? filePath)
method shareToSMSAndroidMultifiles (line 146) | Future<String> shareToSMSAndroidMultifiles(List<String> filePaths)
method shareToSystemAndroid (line 150) | Future<String> shareToSystemAndroid(
method shareImageToWhatsApp (line 155) | Future<String> shareImageToWhatsApp(String filePath)
method shareToSystemAndroidMultifiles (line 159) | Future<String> shareToSystemAndroidMultifiles(
type TiktokFileType (line 165) | enum TiktokFileType {
FILE: packages/appinio_social_share/lib/platforms/android.dart
class Android (line 3) | class Android {
method shareToWhatsapp (line 4) | Future<String> shareToWhatsapp(String message, String? filePath)
method shareFilesToWhatsapp (line 9) | Future<String> shareFilesToWhatsapp(List<String> filePaths)
method shareToTelegram (line 14) | Future<String> shareToTelegram(String message, String? filePath)
method shareFilesToTelegram (line 19) | Future<String> shareFilesToTelegram(List<String> filePaths)
method shareToTwitter (line 24) | Future<String> shareToTwitter(String message, String? filePath)
method shareToInstagramDirect (line 29) | Future<String> shareToInstagramDirect(String message)
method shareToInstagramFeed (line 33) | Future<String> shareToInstagramFeed(String message, String? filePath)
method shareFilesToInstagramFeed (line 38) | Future<String> shareFilesToInstagramFeed(List<String> imagePaths)
method shareToInstagramReels (line 43) | Future<String> shareToInstagramReels(List<String> videoPaths)
method shareToMessenger (line 48) | Future<String> shareToMessenger(String message)
method copyToClipBoard (line 52) | Future<String> copyToClipBoard(String message)
method shareToFacebook (line 56) | Future<String> shareToFacebook(String hashtag, List<String> filePaths)
method shareToInstagramStory (line 61) | Future<String> shareToInstagramStory(String appId,
method shareToFacebookStory (line 77) | Future<String> shareToFacebookStory(String appId,
method shareToTiktokStatus (line 94) | Future<String> shareToTiktokStatus(List<String> filePaths)
method shareToSystem (line 98) | Future<String> shareToSystem(String title, String message, String? fil...
method shareFilesToSystem (line 103) | Future<String> shareFilesToSystem(String title, List<String> filePaths)
method shareToSMS (line 108) | Future<String> shareToSMS(String message, String? filePath)
method shareFilesToSMS (line 113) | Future<String> shareFilesToSMS(List<String> filePaths)
FILE: packages/appinio_social_share/lib/platforms/ios.dart
class IOS (line 3) | class IOS {
method shareToWhatsapp (line 4) | Future<String> shareToWhatsapp(String message)
method shareToTelegram (line 8) | Future<String> shareToTelegram(String message)
method shareImageToWhatsApp (line 12) | Future<String> shareImageToWhatsApp(String filePath)
method shareToTwitter (line 16) | Future<String> shareToTwitter(String message, String? filePath)
method shareToInstagramDirect (line 21) | Future<String> shareToInstagramDirect(String message)
method shareToInstagramFeed (line 25) | Future<String> shareToInstagramFeed(String imagePath)
method shareToInstagramReels (line 30) | Future<String> shareToInstagramReels(String videoPath)
method shareToMessenger (line 35) | Future<String> shareToMessenger(String message)
method copyToClipBoard (line 39) | Future<String> copyToClipBoard(String message)
method shareToFacebook (line 43) | Future<String> shareToFacebook(String hashtag, List<String> filePaths)
method shareToInstagramStory (line 48) | Future<String> shareToInstagramStory(String appId,
method shareToFacebookStory (line 64) | Future<String> shareToFacebookStory(String appId,
method shareToTiktokPost (line 81) | Future<String> shareToTiktokPost(
method shareToSystem (line 87) | Future<String> shareToSystem(String message, {List<String>? filePaths})
method shareToSMS (line 92) | Future<String> shareToSMS(String message)
FILE: packages/appinio_swiper/example/lib/example_buttons.dart
function swipeRightButton (line 7) | Widget swipeRightButton(AppinioSwiperController controller)
function swipeLeftButton (line 61) | Widget swipeLeftButton(AppinioSwiperController controller)
function unswipeButton (line 111) | Widget unswipeButton(AppinioSwiperController controller)
class TutorialAnimationButton (line 126) | class TutorialAnimationButton extends StatelessWidget {
method build (line 132) | Widget build(BuildContext context)
FILE: packages/appinio_swiper/example/lib/example_candidate_model.dart
class ExampleCandidateModel (line 3) | class ExampleCandidateModel {
FILE: packages/appinio_swiper/example/lib/example_card.dart
class ExampleCard (line 6) | class ExampleCard extends StatelessWidget {
method build (line 15) | Widget build(BuildContext context)
FILE: packages/appinio_swiper/example/lib/main.dart
function main (line 11) | void main()
class MyApp (line 15) | class MyApp extends StatelessWidget {
method build (line 21) | Widget build(BuildContext context)
class Example (line 29) | class Example extends StatefulWidget {
method createState (line 35) | State<Example> createState()
class _ExamplePageState (line 38) | class _ExamplePageState extends State<Example> {
method initState (line 42) | void initState()
method build (line 50) | Widget build(BuildContext context)
method _swipeEnd (line 115) | void _swipeEnd(int previousIndex, int targetIndex, SwiperActivity acti...
method _onEnd (line 134) | void _onEnd()
method _shakeCard (line 139) | Future<void> _shakeCard()
FILE: packages/appinio_swiper/example/test/widget_test.dart
function main (line 13) | void main()
FILE: packages/appinio_swiper/lib/appinio_swiper.dart
class AppinioSwiper (line 12) | class AppinioSwiper extends StatefulWidget {
method createState (line 166) | State createState()
class _AppinioSwiperState (line 169) | class _AppinioSwiperState extends State<AppinioSwiper>
method _setCardIndex (line 204) | void _setCardIndex(int index)
method _onSwipe (line 210) | Future<void> _onSwipe(AxisDirection direction)
method _onUnswipe (line 220) | Future<void> _onUnswipe()
method _onSwipeCancelled (line 239) | void _onSwipeCancelled(BuildContext context)
method _startActivity (line 248) | Future<void> _startActivity(SwiperActivity newActivity)
method _animateTo (line 306) | Future<void> _animateTo(
method initState (line 324) | void initState()
method dispose (line 335) | void dispose()
method didUpdateWidget (line 342) | void didUpdateWidget(covariant AppinioSwiper oldWidget)
method didChangeDependencies (line 358) | void didChangeDependencies()
method build (line 364) | Widget build(BuildContext context)
method _effectiveBackgroundCardCount (line 475) | int _effectiveBackgroundCardCount(int index)
method _onSwiping (line 489) | Future<void> _onSwiping()
method _directionToTarget (line 493) | Offset _directionToTarget(AxisDirection direction)
method _onPanEnd (line 503) | Future<void> _onPanEnd()
method _onSwipeDefault (line 514) | Future<void> _onSwipeDefault()
class _BackgroundCards (line 519) | class _BackgroundCards extends StatelessWidget {
method build (line 542) | Widget build(BuildContext context)
class AppinioSwiperController (line 589) | class AppinioSwiperController extends ChangeNotifier {
method swipeDefault (line 634) | Future<void> swipeDefault()
method swipeLeft (line 641) | Future<void> swipeLeft()
method swipeRight (line 648) | Future<void> swipeRight()
method unswipe (line 656) | Future<void> unswipe()
method swipeUp (line 663) | Future<void> swipeUp()
method swipeDown (line 670) | Future<void> swipeDown()
method animateTo (line 680) | Future<void> animateTo(
method _attach (line 693) | void _attach(_AppinioSwiperState swiper)
method _detach (line 702) | void _detach()
method _assertIsAttached (line 707) | void _assertIsAttached()
method setCardIndex (line 711) | void setCardIndex(int index)
class SwiperPosition (line 725) | class SwiperPosition with ChangeNotifier {
method _updateFromWidgetState (line 845) | void _updateFromWidgetState(AppinioSwiper widget)
method _baseIndexToEffectiveIndex (line 854) | int _baseIndexToEffectiveIndex(int i)
FILE: packages/appinio_swiper/lib/enums.dart
class SwiperActivity (line 7) | sealed class SwiperActivity extends Tween<Offset> {
class Swipe (line 24) | class Swipe extends SwiperActivity {
class Unswipe (line 35) | class Unswipe extends SwiperActivity {
class CancelSwipe (line 47) | class CancelSwipe extends SwiperActivity {
class DrivenActivity (line 58) | class DrivenActivity extends SwiperActivity {
class SwipeOptions (line 77) | class SwipeOptions {
function toAlignment (line 121) | Alignment toAlignment(Size size)
function toAxisDirection (line 128) | AxisDirection toAxisDirection()
FILE: packages/appinio_swiper/lib/types.dart
type OnSwipe (line 3) | typedef OnSwipe = void Function(
FILE: packages/appinio_swiper/test/appinio_swiper_test.dart
function main (line 1) | void main()
FILE: packages/appinio_video_player/example/lib/main.dart
function main (line 5) | void main()
class MyApp (line 9) | class MyApp extends StatelessWidget {
method build (line 13) | Widget build(BuildContext context)
class MyHomePage (line 25) | class MyHomePage extends StatefulWidget {
method createState (line 29) | State<MyHomePage> createState()
class _MyHomePageState (line 32) | class _MyHomePageState extends State<MyHomePage> {
method initState (line 49) | void initState()
method dispose (line 74) | void dispose()
method build (line 80) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/example/test/widget_test.dart
function main (line 13) | void main()
FILE: packages/appinio_video_player/lib/src/controls/all_controls_overlay.dart
class AllControlsOverlay (line 6) | class AllControlsOverlay extends StatefulWidget {
method createState (line 16) | State<AllControlsOverlay> createState()
class _AllControlsOverlayState (line 19) | class _AllControlsOverlayState extends State<AllControlsOverlay> {
method initState (line 24) | void initState()
method dispose (line 32) | void dispose()
method build (line 39) | Widget build(BuildContext context)
method _listenToPlayStateChanges (line 80) | void _listenToPlayStateChanges()
method _toggleControlsVisibility (line 86) | void _toggleControlsVisibility(BuildContext context)
method _fadeOutControls (line 97) | Future<void> _fadeOutControls()
FILE: packages/appinio_video_player/lib/src/controls/control_bar.dart
class CustomVideoPlayerControlBar (line 9) | class CustomVideoPlayerControlBar extends StatelessWidget {
method build (line 21) | Widget build(BuildContext context)
method getDurationAsString (line 98) | String getDurationAsString(Duration duration)
method twoDigits (line 99) | String twoDigits(int n)
FILE: packages/appinio_video_player/lib/src/controls/fullscreen_button.dart
class CustomVideoPlayerFullscreenButton (line 4) | class CustomVideoPlayerFullscreenButton extends StatelessWidget {
method build (line 14) | Widget build(BuildContext context)
class CustomVideoPlayerEnterFullscreenButton (line 33) | class CustomVideoPlayerEnterFullscreenButton extends StatelessWidget {
method build (line 37) | Widget build(BuildContext context)
class CustomVideoPlayerExitFullscreenButton (line 48) | class CustomVideoPlayerExitFullscreenButton extends StatelessWidget {
method build (line 52) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/controls/mute_button.dart
class CustomVideoPlayerMuteButton (line 4) | class CustomVideoPlayerMuteButton extends StatefulWidget {
method createState (line 15) | State<CustomVideoPlayerMuteButton> createState()
class _CustomVideoPlayerMuteButtonState (line 19) | class _CustomVideoPlayerMuteButtonState
method build (line 22) | Widget build(BuildContext context)
method _muteUnMute (line 37) | Future<void> _muteUnMute()
class CustomVideoMuteButton (line 47) | class CustomVideoMuteButton extends StatelessWidget {
method build (line 51) | Widget build(BuildContext context)
class CustomVideoUnMuteButton (line 62) | class CustomVideoUnMuteButton extends StatelessWidget {
method build (line 66) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/controls/play_button.dart
class CustomVideoPlayerPlayPauseButton (line 4) | class CustomVideoPlayerPlayPauseButton extends StatelessWidget {
method build (line 14) | Widget build(BuildContext context)
method _playPause (line 30) | Future<void> _playPause(bool isPlaying)
class CustomVideoPlayerPlayButton (line 45) | class CustomVideoPlayerPlayButton extends StatelessWidget {
method build (line 49) | Widget build(BuildContext context)
class CustomVideoPlayerPauseButton (line 60) | class CustomVideoPlayerPauseButton extends StatelessWidget {
method build (line 64) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/controls/progress_bar.dart
class CustomVideoPlayerProgressBar (line 7) | class CustomVideoPlayerProgressBar extends StatefulWidget {
method createState (line 16) | _VideoProgressIndicatorState createState()
class _VideoProgressIndicatorState (line 19) | class _VideoProgressIndicatorState extends State<CustomVideoPlayerProgre...
method initState (line 21) | void initState()
method deactivate (line 28) | void deactivate()
method updateWidgetListener (line 34) | void updateWidgetListener()
method build (line 41) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/controls/progress_bar_indicator.dart
class CustomVideoPlayerProgressIndicator (line 5) | class CustomVideoPlayerProgressIndicator extends StatefulWidget {
method createState (line 20) | _State createState()
class _State (line 23) | class _State extends State<CustomVideoPlayerProgressIndicator> {
method build (line 27) | Widget build(BuildContext context)
method _getProgressBar (line 38) | Widget _getProgressBar()
method _getProgressValue (line 68) | double _getProgressValue(double maxValue, double? progress)
class WidgetSize (line 76) | class WidgetSize extends StatefulWidget {
method createState (line 87) | _WidgetSizeState createState()
class _WidgetSizeState (line 90) | class _WidgetSizeState extends State<WidgetSize> {
method _ambiguate (line 91) | T? _ambiguate<T>(T? value)
method build (line 94) | Widget build(BuildContext context)
method postFrameCallback (line 106) | void postFrameCallback(_)
FILE: packages/appinio_video_player/lib/src/controls/seeker.dart
class CustomVideoPlayerSeeker (line 4) | class CustomVideoPlayerSeeker extends StatefulWidget {
method createState (line 14) | _CustomVideoPlayerSeekerState createState()
class _CustomVideoPlayerSeekerState (line 18) | class _CustomVideoPlayerSeekerState extends State<CustomVideoPlayerSeeke...
method build (line 22) | Widget build(BuildContext context)
method changeCurrentVideoPosition (line 59) | void changeCurrentVideoPosition(Offset globalPosition)
FILE: packages/appinio_video_player/lib/src/controls/video_settings_button.dart
class VideoSettingsButton (line 6) | class VideoSettingsButton extends StatelessWidget {
method build (line 16) | Widget build(BuildContext context)
method _openVideoSettingsDialog (line 24) | Future<void> _openVideoSettingsDialog(BuildContext context)
class CustomVideoPlayerSettingsButton (line 38) | class CustomVideoPlayerSettingsButton extends StatelessWidget {
method build (line 42) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/controls/video_settings_popup/video_settings_dialog.dart
class VideoSettingsDialog (line 9) | class VideoSettingsDialog extends StatelessWidget {
method build (line 19) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/controls/video_settings_popup/video_settings_dialog_item.dart
class VideoSettingsDialogItem (line 5) | class VideoSettingsDialogItem extends StatefulWidget {
method createState (line 20) | State<VideoSettingsDialogItem> createState()
class _VideoSettingsDialogItemState (line 24) | class _VideoSettingsDialogItemState extends State<VideoSettingsDialogIte...
method build (line 27) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/controls/video_settings_popup/video_settings_playback_speed_dialog.dart
class VideoSettingsPlaybackSpeedDialog (line 5) | class VideoSettingsPlaybackSpeedDialog extends StatefulWidget {
method createState (line 13) | State<VideoSettingsPlaybackSpeedDialog> createState()
class _VideoSettingsPlaybackSpeedDialogState (line 17) | class _VideoSettingsPlaybackSpeedDialogState
method build (line 31) | Widget build(BuildContext context)
method _changeVideoPlayBackSpeed (line 95) | void _changeVideoPlayBackSpeed(
FILE: packages/appinio_video_player/lib/src/controls/video_settings_popup/video_settings_quality_dialog.dart
class VideoSettingsQualityDialog (line 6) | class VideoSettingsQualityDialog extends StatefulWidget {
method createState (line 16) | State<VideoSettingsQualityDialog> createState()
class _VideoSettingsQualityDialogState (line 20) | class _VideoSettingsQualityDialogState
method build (line 23) | Widget build(BuildContext context)
method _getCurrentVideoPlayerSource (line 88) | String _getCurrentVideoPlayerSource()
method _changeVideoQuality (line 97) | void _changeVideoQuality({
FILE: packages/appinio_video_player/lib/src/custom_video_player.dart
class CustomVideoPlayer (line 5) | class CustomVideoPlayer extends StatelessWidget {
method build (line 13) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/custom_video_player_controller.dart
class CustomVideoPlayerController (line 26) | class CustomVideoPlayerController {
method switchSource (line 36) | Future<void> switchSource(String sourceKey)
method setFullscreen (line 54) | Future<void> setFullscreen(
method _enterFullscreen (line 80) | Future<void> _enterFullscreen()
method _exitFullscreen (line 102) | Future<void> _exitFullscreen()
method _setOrientationForVideo (line 116) | void _setOrientationForVideo()
method _switchVideoSource (line 144) | Future<void> _switchVideoSource(String selectedSource)
method _videoListeners (line 175) | void _videoListeners()
method _fluidVideoProgressListener (line 184) | Future<void> _fluidVideoProgressListener()
method _onVideoEndListener (line 206) | void _onVideoEndListener()
method _fullscreenFunctionalityListener (line 215) | void _fullscreenFunctionalityListener()
method _playPauseListener (line 234) | void _playPauseListener()
method _playbackSpeedListener (line 242) | void _playbackSpeedListener()
method dispose (line 247) | void dispose()
method mute (line 266) | void mute()
method unMute (line 271) | void unMute()
FILE: packages/appinio_video_player/lib/src/embedded_video_player.dart
class EmbeddedVideoPlayer (line 9) | class EmbeddedVideoPlayer extends StatefulWidget {
method createState (line 20) | State<EmbeddedVideoPlayer> createState()
class _EmbeddedVideoPlayerState (line 23) | class _EmbeddedVideoPlayerState extends State<EmbeddedVideoPlayer> {
method initState (line 25) | void initState()
method build (line 35) | Widget build(BuildContext context)
method _updateVideoState (line 87) | void _updateVideoState()
FILE: packages/appinio_video_player/lib/src/fullscreen_video_player.dart
class FullscreenVideoPlayer (line 5) | class FullscreenVideoPlayer extends StatelessWidget {
method build (line 14) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/models/custom_video_player_popup_settings.dart
class CustomVideoPlayerPopupSettings (line 3) | class CustomVideoPlayerPopupSettings {
FILE: packages/appinio_video_player/lib/src/models/custom_video_player_progress_bar_settings.dart
class CustomVideoPlayerProgressBarSettings (line 3) | class CustomVideoPlayerProgressBarSettings {
FILE: packages/appinio_video_player/lib/src/models/custom_video_player_settings.dart
class CustomVideoPlayerSettings (line 11) | class CustomVideoPlayerSettings {
FILE: packages/appinio_video_player/lib/src/seek_buttons.dart
class SeekButtons (line 4) | class SeekButtons extends StatefulWidget {
method createState (line 11) | State<SeekButtons> createState()
class _SeekButtonsState (line 14) | class _SeekButtonsState extends State<SeekButtons> {
method initState (line 18) | void initState()
method build (line 32) | Widget build(BuildContext context)
method onSeekBack (line 74) | void onSeekBack()
method onSeekForward (line 88) | void onSeekForward()
FILE: packages/appinio_video_player/lib/src/thumbnail.dart
class Thumbnail (line 4) | class Thumbnail extends StatelessWidget {
method build (line 12) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/volume_control.dart
class VolumeControls (line 5) | class VolumeControls extends StatefulWidget {
method createState (line 14) | State<VolumeControls> createState()
class _VolumeControlsState (line 17) | class _VolumeControlsState extends State<VolumeControls> {
method build (line 23) | Widget build(BuildContext context)
method onPanUpdate (line 71) | void onPanUpdate(DragUpdateDetails dragUpdateDetails)
class SlideController (line 104) | class SlideController extends StatefulWidget {
method createState (line 115) | State<SlideController> createState()
class _SlideControllerState (line 118) | class _SlideControllerState extends State<SlideController> {
method build (line 120) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/web_video_player/conditional_native_web_video_player/conditional_native_web_video_player.dart
class ConditionalNativeWebVideoPlayer (line 8) | abstract class ConditionalNativeWebVideoPlayer {
method getVideoWidget (line 9) | Widget getVideoWidget(
FILE: packages/appinio_video_player/lib/src/web_video_player/conditional_native_web_video_player/conditional_native_web_video_player_base.dart
function getSomething (line 3) | ConditionalNativeWebVideoPlayer getSomething()
FILE: packages/appinio_video_player/lib/src/web_video_player/conditional_native_web_video_player/conditional_native_web_video_player_mobile.dart
class ConditionalNativeWebVideoPlayerMobile (line 5) | class ConditionalNativeWebVideoPlayerMobile
method getVideoWidget (line 8) | Widget getVideoWidget(
function getSomething (line 16) | ConditionalNativeWebVideoPlayer getSomething()
FILE: packages/appinio_video_player/lib/src/web_video_player/conditional_native_web_video_player/conditional_native_web_video_player_web.dart
class ConditionalNativeWebVideoPlayerWeb (line 8) | class ConditionalNativeWebVideoPlayerWeb
method getVideoWidget (line 11) | Widget getVideoWidget(
function getSomething (line 19) | ConditionalNativeWebVideoPlayer getSomething()
FILE: packages/appinio_video_player/lib/src/web_video_player/custom_video_player_web.dart
class CustomVideoPlayerWeb (line 4) | class CustomVideoPlayerWeb extends StatelessWidget {
method build (line 12) | Widget build(BuildContext context)
FILE: packages/appinio_video_player/lib/src/web_video_player/custom_video_player_web_controller.dart
class CustomVideoPlayerWebController (line 4) | class CustomVideoPlayerWebController {
FILE: packages/appinio_video_player/lib/src/web_video_player/native_web_video_player.dart
class NativeWebVideoPlayer (line 7) | class NativeWebVideoPlayer extends StatefulWidget {
method createState (line 15) | _NativeWebVideoPlayerState createState()
class _NativeWebVideoPlayerState (line 18) | class _NativeWebVideoPlayerState extends State<NativeWebVideoPlayer> {
method initState (line 24) | void initState()
method build (line 32) | Widget build(BuildContext context)
method _initVideoElement (line 48) | void _initVideoElement()
method _play (line 127) | void _play()
method _pause (line 131) | void _pause()
method _setFullscreen (line 135) | void _setFullscreen(bool fullscreen)
method _seekTo (line 143) | void _seekTo(double position)
method _mute (line 147) | void _mute()
method _unmute (line 151) | void _unmute()
method _setPlaybackSpeed (line 155) | void _setPlaybackSpeed(double speed)
FILE: packages/appinio_video_player/lib/src/web_video_player/web_video_player_settings.dart
class CustomVideoPlayerWebSettings (line 3) | class CustomVideoPlayerWebSettings {
FILE: packages/appinio_video_player/test/custom_video_player_test.dart
function main (line 5) | void main()
FILE: packages/disable_screenshot/android/src/main/java/com/appinio/disable_screenshot/DisableScreenshotPlugin.java
class DisableScreenshotPlugin (line 32) | public class DisableScreenshotPlugin implements FlutterPlugin, MethodCal...
method onAttachedToEngine (line 43) | @Override
method onListen (line 51) | @Override
method onCancel (line 104) | @Override
method onMethodCall (line 114) | @Override
method updateScreenRecordStatus (line 128) | private void updateScreenRecordStatus(){
method setScreenRecordStatus (line 170) | void setScreenRecordStatus(boolean value){
method onDetachedFromEngine (line 179) | @Override
method getMimeType (line 184) | public static String getMimeType(String url) {
method getLastModified (line 193) | public static File getLastModified(String directoryFilePath)
method onAttachedToActivity (line 216) | @Override
method onDetachedFromActivityForConfigChanges (line 222) | @Override
method onReattachedToActivityForConfigChanges (line 227) | @Override
method onDetachedFromActivity (line 232) | @Override
type Path (line 237) | public enum Path {
method getPath (line 243) | public String getPath() {
method Path (line 247) | Path(String path) {
FILE: packages/disable_screenshot/example/lib/main.dart
function main (line 6) | void main()
class MyApp (line 10) | class MyApp extends StatefulWidget {
method createState (line 14) | MyAppState createState()
class MyAppState (line 17) | class MyAppState extends State<MyApp> {
method build (line 19) | Widget build(BuildContext context)
class RootApp (line 24) | class RootApp extends StatefulWidget {
method createState (line 28) | RootAppState createState()
class RootAppState (line 31) | class RootAppState extends State<RootApp> {
method initState (line 38) | void initState()
method _onCaptureScreenshotTap (line 47) | Future<void> _onCaptureScreenshotTap()
method build (line 62) | Widget build(BuildContext context)
method dispose (line 97) | void dispose()
FILE: packages/disable_screenshot/lib/disable_screenshot.dart
class DisableScreenshot (line 5) | class DisableScreenshot {
method getPlatformVersion (line 6) | Future<String?> getPlatformVersion()
method onScreenShots (line 10) | Stream<void> onScreenShots()
method disableScreenshots (line 14) | Future<void> disableScreenshots(bool disable)
method captureScreenShot (line 18) | Future<String?> captureScreenShot({
method captureScreenShotFromWidget (line 26) | Future<String?> captureScreenShotFromWidget(Widget widget,
FILE: packages/disable_screenshot/lib/disable_screenshot_method_channel.dart
class MethodChannelDisableScreenshot (line 14) | class MethodChannelDisableScreenshot extends DisableScreenshotPlatform {
method getPlatformVersion (line 24) | Future<String?> getPlatformVersion()
method onScreenShots (line 33) | Stream<void> onScreenShots()
method disableScreenshots (line 39) | Future<void> disableScreenshots(bool disable)
method captureScreenShot (line 48) | Future<String?> captureScreenShot({
method captureScreenShotFromWidget (line 77) | Future<String?> captureScreenShotFromWidget(Widget widget,
function toPrecision (line 216) | double toPrecision(int n)
FILE: packages/disable_screenshot/lib/disable_screenshot_platform_interface.dart
class DisableScreenshotPlatform (line 6) | abstract class DisableScreenshotPlatform extends PlatformInterface {
method getPlatformVersion (line 27) | Future<String?> getPlatformVersion()
method onScreenShots (line 31) | Stream<void> onScreenShots()
method disableScreenshots (line 35) | Future<void> disableScreenshots(bool disable)
method captureScreenShot (line 39) | Future<String?> captureScreenShot({
method captureScreenShotFromWidget (line 46) | Future<String?> captureScreenShotFromWidget(Widget widget,
FILE: packages/disable_screenshot/test/disable_screenshot_method_channel_test.dart
function main (line 5) | void main()
FILE: packages/flutter_onboarding_slider/example/android/app/src/main/java/com/example/example/MainActivity.java
class MainActivity (line 5) | public class MainActivity extends FlutterActivity {
FILE: packages/flutter_onboarding_slider/example/lib/main.dart
function main (line 7) | void main()
class MyApp (line 11) | class MyApp extends StatelessWidget {
method build (line 15) | Widget build(BuildContext context)
class MyHome (line 23) | class MyHome extends StatelessWidget {
method build (line 29) | Widget build(BuildContext context)
FILE: packages/flutter_onboarding_slider/example/lib/screens/login_page.dart
class LoginPage (line 4) | class LoginPage extends StatelessWidget {
method build (line 8) | Widget build(BuildContext context)
FILE: packages/flutter_onboarding_slider/example/lib/screens/register_page.dart
class RegisterPage (line 4) | class RegisterPage extends StatelessWidget {
method build (line 8) | Widget build(BuildContext context)
FILE: packages/flutter_onboarding_slider/example/test/widget_test.dart
function main (line 13) | void main()
FILE: packages/flutter_onboarding_slider/lib/background.dart
class Background (line 4) | class Background extends StatelessWidget {
method build (line 24) | Widget build(BuildContext context)
FILE: packages/flutter_onboarding_slider/lib/background_body.dart
class BackgroundBody (line 3) | class BackgroundBody extends StatelessWidget {
method build (line 17) | Widget build(BuildContext context)
FILE: packages/flutter_onboarding_slider/lib/background_controller.dart
class BackgroundController (line 3) | class BackgroundController extends StatelessWidget {
method build (line 21) | Widget build(BuildContext context)
method _buildPageIndicator (line 42) | List<Widget> _buildPageIndicator(BuildContext context)
method _indicator (line 53) | Widget _indicator(bool isActive, BuildContext context)
FILE: packages/flutter_onboarding_slider/lib/background_final_button.dart
class FinishButtonStyle (line 3) | class FinishButtonStyle {
class BackgroundFinalButton (line 37) | class BackgroundFinalButton extends StatelessWidget {
method build (line 63) | Widget build(BuildContext context)
method _goToNextPage (line 140) | void _goToNextPage(BuildContext context)
FILE: packages/flutter_onboarding_slider/lib/background_image.dart
class BackgroundImage (line 5) | class BackgroundImage extends StatelessWidget {
method build (line 23) | Widget build(BuildContext context)
FILE: packages/flutter_onboarding_slider/lib/flutter_onboarding_slider.dart
class OnBoardingSlider (line 17) | class OnBoardingSlider extends StatefulWidget {
method createState (line 142) | _OnBoardingSliderState createState()
class _OnBoardingSliderState (line 145) | class _OnBoardingSliderState extends State<OnBoardingSlider> {
method initState (line 151) | void initState()
method build (line 156) | Widget build(BuildContext context)
method slide (line 234) | void slide(int page)
method _onSkip (line 241) | void _onSkip()
FILE: packages/flutter_onboarding_slider/lib/onboarding_navigation_bar.dart
class OnBoardingNavigationBar (line 4) | class OnBoardingNavigationBar extends StatelessWidget
method shouldFullyObstruct (line 34) | bool shouldFullyObstruct(BuildContext context)
method build (line 39) | Widget build(BuildContext context)
FILE: packages/flutter_onboarding_slider/lib/page_offset_provider.dart
class PageOffsetNotifier (line 3) | class PageOffsetNotifier with ChangeNotifier {
FILE: packages/flutter_timer_countdown/example/lib/main.dart
function main (line 7) | void main()
class MyApp (line 11) | class MyApp extends StatelessWidget {
method build (line 13) | Widget build(BuildContext context)
FILE: packages/flutter_timer_countdown/example/lib/timer_basic.dart
class TimerBasic (line 8) | class TimerBasic extends StatelessWidget {
method build (line 19) | Widget build(BuildContext context)
FILE: packages/flutter_timer_countdown/example/lib/timer_frame.dart
class TimerFrame (line 6) | class TimerFrame extends StatelessWidget {
method build (line 19) | Widget build(BuildContext context)
FILE: packages/flutter_timer_countdown/example/test/widget_test.dart
function main (line 13) | void main()
FILE: packages/flutter_timer_countdown/lib/flutter_timer_countdown.dart
type CountDownTimerFormat (line 6) | enum CountDownTimerFormat {
type OnTickCallBack (line 19) | typedef OnTickCallBack = void Function(Duration remainingTime);
class TimerCountdown (line 21) | class TimerCountdown extends StatefulWidget {
method createState (line 78) | _TimerCountdownState createState()
class _TimerCountdownState (line 81) | class _TimerCountdownState extends State<TimerCountdown> {
method initState (line 90) | void initState()
method dispose (line 96) | void dispose()
method _startTimer (line 107) | void _startTimer()
method build (line 144) | Widget build(BuildContext context)
method _colon (line 149) | Widget _colon()
method _days (line 182) | Widget _days(BuildContext context)
method _hours (line 205) | Widget _hours(BuildContext context)
method _minutes (line 228) | Widget _minutes(BuildContext context)
method _seconds (line 251) | Widget _seconds(BuildContext context)
method _twoDigits (line 276) | String _twoDigits(int n, String unitType)
method _durationToStringDays (line 312) | String _durationToStringDays(Duration duration)
method _durationToStringHours (line 317) | String _durationToStringHours(Duration duration)
method _durationToStringMinutes (line 327) | String _durationToStringMinutes(Duration duration)
method _durationToStringSeconds (line 336) | String _durationToStringSeconds(Duration duration)
method _countDownTimerFormat (line 344) | Widget _countDownTimerFormat()
FILE: packages/flutter_timer_countdown/test/flutter_timer_countdown_test.dart
function main (line 1) | void main()
FILE: packages/profile_sliver/example/lib/main.dart
function main (line 4) | void main()
class MyApp (line 8) | class MyApp extends StatelessWidget {
method build (line 10) | Widget build(BuildContext context)
FILE: packages/profile_sliver/lib/src/profile_sliver.dart
class ProfileSliver (line 5) | class ProfileSliver extends RenderObjectWidget {
method createElement (line 18) | ProfileSliverElement createElement()
method createRenderObject (line 22) | ProfileSliverRenderObject createRenderObject(BuildContext context)
method updateRenderObject (line 27) | void updateRenderObject(
FILE: packages/profile_sliver/lib/src/profile_sliver_element.dart
class ProfileSliverElement (line 5) | class ProfileSliverElement extends RenderObjectElement {
method visitChildren (line 15) | void visitChildren(ElementVisitor visitor)
method forgetChild (line 22) | void forgetChild(Element child)
method mount (line 35) | void mount(Element? parent, dynamic newSlot)
method update (line 43) | void update(ProfileSliver newWidget)
method insertRenderObjectChild (line 52) | void insertRenderObjectChild(covariant RenderBox child, dynamic slot)
method moveRenderObjectChild (line 62) | void moveRenderObjectChild(
method removeRenderObjectChild (line 69) | void removeRenderObjectChild(covariant RenderObject child, dynamic slot)
FILE: packages/profile_sliver/lib/src/profile_sliver_render_object.dart
class ProfileSliverRenderObject (line 4) | class ProfileSliverRenderObject extends RenderSliver with RenderSliverHe...
method attach (line 71) | void attach(covariant PipelineOwner owner)
method detach (line 78) | void detach()
method redepthChildren (line 85) | void redepthChildren()
method visitChildren (line 92) | void visitChildren(void Function(RenderObject child) visitor)
method debugDescribeChildren (line 99) | List<DiagnosticsNode> debugDescribeChildren()
method performLayout (line 107) | void performLayout()
method childMainAxisPosition (line 173) | double childMainAxisPosition(covariant RenderObject child)
method hitTest (line 189) | bool hitTest(SliverHitTestResult result,
method hitTestChildren (line 216) | bool hitTestChildren(SliverHitTestResult result,
method childScrollOffset (line 237) | double? childScrollOffset(covariant RenderObject child)
method applyPaintTransform (line 247) | void applyPaintTransform(RenderObject child, Matrix4 transform)
method paint (line 253) | void paint(PaintingContext context, Offset offset)
method debugFillProperties (line 267) | void debugFillProperties(DiagnosticPropertiesBuilder properties)
FILE: packages/widget_zoom/example/lib/main.dart
function main (line 4) | void main()
class MyApp (line 8) | class MyApp extends StatelessWidget {
method build (line 12) | Widget build(BuildContext context)
class MyHomePage (line 20) | class MyHomePage extends StatefulWidget {
method createState (line 26) | State<MyHomePage> createState()
class _MyHomePageState (line 29) | class _MyHomePageState extends State<MyHomePage> {
method build (line 31) | Widget build(BuildContext context)
FILE: packages/widget_zoom/example/linux/flutter/generated_plugin_registrant.cc
function fl_register_plugins (line 10) | void fl_register_plugins(FlPluginRegistry* registry) {
FILE: packages/widget_zoom/example/linux/main.cc
function main (line 3) | int main(int argc, char** argv) {
FILE: packages/widget_zoom/example/linux/my_application.cc
type _MyApplication (line 10) | struct _MyApplication {
function my_application_activate (line 18) | static void my_application_activate(GApplication* application) {
function gboolean (line 66) | static gboolean my_application_local_command_line(GApplication* applicat...
function my_application_dispose (line 85) | static void my_application_dispose(GObject* object) {
function my_application_class_init (line 91) | static void my_application_class_init(MyApplicationClass* klass) {
function my_application_init (line 97) | static void my_application_init(MyApplication* self) {}
function MyApplication (line 99) | MyApplication* my_application_new() {
FILE: packages/widget_zoom/example/test/widget_test.dart
function main (line 13) | void main()
FILE: packages/widget_zoom/example/windows/flutter/generated_plugin_registrant.cc
function RegisterPlugins (line 10) | void RegisterPlugins(flutter::PluginRegistry* registry) {
FILE: packages/widget_zoom/example/windows/runner/flutter_window.cpp
function LRESULT (line 40) | LRESULT
FILE: packages/widget_zoom/example/windows/runner/flutter_window.h
function class (line 12) | class FlutterWindow : public Win32Window {
FILE: packages/widget_zoom/example/windows/runner/main.cpp
function wWinMain (line 8) | int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
FILE: packages/widget_zoom/example/windows/runner/utils.cpp
function CreateAndAttachConsole (line 10) | void CreateAndAttachConsole() {
function GetCommandLineArguments (line 24) | std::vector<std::string> GetCommandLineArguments() {
function Utf8FromUtf16 (line 44) | std::string Utf8FromUtf16(const wchar_t* utf16_string) {
FILE: packages/widget_zoom/example/windows/runner/win32_window.cpp
function Scale (line 18) | int Scale(int source, double scale_factor) {
function EnableFullDpiSupportIfAvailable (line 24) | void EnableFullDpiSupportIfAvailable(HWND hwnd) {
class WindowClassRegistrar (line 41) | class WindowClassRegistrar {
method WindowClassRegistrar (line 46) | static WindowClassRegistrar* GetInstance() {
method WindowClassRegistrar (line 62) | WindowClassRegistrar() = default;
function wchar_t (line 71) | const wchar_t* WindowClassRegistrar::GetWindowClass() {
function LRESULT (line 133) | LRESULT CALLBACK Win32Window::WndProc(HWND const window,
function LRESULT (line 152) | LRESULT
function Win32Window (line 208) | Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept {
function RECT (line 224) | RECT Win32Window::GetClientArea() {
function HWND (line 230) | HWND Win32Window::GetHandle() {
FILE: packages/widget_zoom/example/windows/runner/win32_window.h
type Size (line 21) | struct Size {
FILE: packages/widget_zoom/lib/src/widget_zoom.dart
class WidgetZoom (line 4) | class WidgetZoom extends StatefulWidget {
method createState (line 47) | State<WidgetZoom> createState()
class _WidgetZoomState (line 50) | class _WidgetZoomState extends State<WidgetZoom>
method initState (line 64) | void initState()
method didChangeDependencies (line 79) | void didChangeDependencies()
method dispose (line 85) | void dispose()
method build (line 94) | Widget build(BuildContext context)
method _buildImage (line 101) | Widget _buildImage()
method _onInteractionUpdate (line 122) | void _onInteractionUpdate(ScaleUpdateDetails details)
method _showOverlay (line 129) | void _showOverlay(ScaleStartDetails details)
method _removeOverlay (line 164) | void _removeOverlay()
method _resetAnimation (line 170) | void _resetAnimation()
method _openImageFullscreen (line 185) | Future<void> _openImageFullscreen()
method _closeFullScreenImage (line 213) | void _closeFullScreenImage()
FILE: packages/widget_zoom/lib/src/widget_zoom_full_screen.dart
class WidgetZoomFullscreen (line 4) | class WidgetZoomFullscreen extends StatefulWidget {
method createState (line 22) | State<WidgetZoomFullscreen> createState()
class _ImageZoomFullscreenState (line 25) | class _ImageZoomFullscreenState extends State<WidgetZoomFullscreen>
method initState (line 42) | void initState()
method dispose (line 51) | void dispose()
method build (line 58) | Widget build(BuildContext context)
method _zoomInOut (line 127) | void _zoomInOut()
method _onInteractionStart (line 156) | void _onInteractionStart(ScaleStartDetails details)
method _onInteractionEnd (line 161) | void _onInteractionEnd(ScaleEndDetails details)
method _onInteractionUpdate (line 180) | void _onInteractionUpdate(ScaleUpdateDetails details)
FILE: packages/widget_zoom/test/widget_zoom_test.dart
function main (line 1) | void main()
Condensed preview — 618 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,177K chars).
[
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 930,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: \"[ BUG ] : A clear and concise title of the bug\"\nl"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 788,
"preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: \"[Feature] : A concise title of the feature\"\nla"
},
{
"path": ".gitignore",
"chars": 73,
"preview": "/.idea\n/publish.md\n/.DS_Store\n/.idea/\n/.idea/libraries\n/.idea/libraries/\n"
},
{
"path": "CODEOWNERS",
"chars": 167,
"preview": "# These owners will be the default owners for everything in the repo.\n* @bilalhamud @hamzahayak @javi-appinio @festelo @"
},
{
"path": "README.md",
"chars": 469,
"preview": "# Flutter packages\nFlutter packages maintained and used by [Appinio](https://appinio.com).\n\n\n# Packages list\n- [flutter_"
},
{
"path": "packages/appinio_animated_toggle_tab/.gitignore",
"chars": 1505,
"preview": "# Miscellaneous\n*.class\n*.log\n*.pyc\n*.swp\n.DS_Store\n.atom/\n.buildlog/\n.history\n.svn/\n\n# IntelliJ related\n*.iml\n*.ipr\n*.i"
},
{
"path": "packages/appinio_animated_toggle_tab/.metadata",
"chars": 309,
"preview": "# This file tracks properties of this Flutter project.\n# Used by Flutter tool to assess capabilities and perform upgrade"
},
{
"path": "packages/appinio_animated_toggle_tab/CHANGELOG.md",
"chars": 224,
"preview": "## [1.0.3] - 2024.01.25\n\n* Added initial index for AppinioAnimatedToggleTab.\n\n## [1.0.2] - 2022.09.25\n\n* Updating Readme"
},
{
"path": "packages/appinio_animated_toggle_tab/LICENSE",
"chars": 1079,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2021 APPINIO GmbH\n\nPermission is hereby granted, free of charge, to any person obta"
},
{
"path": "packages/appinio_animated_toggle_tab/README.md",
"chars": 3164,
"preview": "```AppinioAnimatedToggleTab``` is a Flutter package for creating a custom tab viewer with built-in animation. ✨\n\nSupport"
},
{
"path": "packages/appinio_animated_toggle_tab/analysis_options.yaml",
"chars": 154,
"preview": "include: package:flutter_lints/flutter.yaml\n\n# Additional information about this file can be found at\n# https://dart.dev"
},
{
"path": "packages/appinio_animated_toggle_tab/example/.gitignore",
"chars": 732,
"preview": "# Miscellaneous\n*.class\n*.log\n*.pyc\n*.swp\n.DS_Store\n.atom/\n.buildlog/\n.history\n.svn/\n\n# IntelliJ related\n*.iml\n*.ipr\n*.i"
},
{
"path": "packages/appinio_animated_toggle_tab/example/.metadata",
"chars": 305,
"preview": "# This file tracks properties of this Flutter project.\n# Used by Flutter tool to assess capabilities and perform upgrade"
},
{
"path": "packages/appinio_animated_toggle_tab/example/README.md",
"chars": 537,
"preview": "# example\n\nA new Flutter project.\n\n## Getting Started\n\nThis project is a starting point for a Flutter application.\n\nA fe"
},
{
"path": "packages/appinio_animated_toggle_tab/example/analysis_options.yaml",
"chars": 1453,
"preview": "# This file configures the analyzer, which statically analyzes Dart code to\n# check for errors, warnings, and lints.\n#\n#"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/.gitignore",
"chars": 285,
"preview": "gradle-wrapper.jar\n/.gradle\n/captures/\n/gradlew\n/gradlew.bat\n/local.properties\nGeneratedPluginRegistrant.java\n\n# Remembe"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/app/build.gradle",
"chars": 1893,
"preview": "def localProperties = new Properties()\ndef localPropertiesFile = rootProject.file('local.properties')\nif (localPropertie"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/app/src/debug/AndroidManifest.xml",
"chars": 327,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.example.example\">\n <!-- Flutter"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/app/src/main/AndroidManifest.xml",
"chars": 2142,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.example.example\">\n <application\n"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt",
"chars": 124,
"preview": "package com.example.example\n\nimport io.flutter.embedding.android.FlutterActivity\n\nclass MainActivity: FlutterActivity() "
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/app/src/main/res/drawable/launch_background.xml",
"chars": 434,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmln"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/app/src/main/res/drawable-v21/launch_background.xml",
"chars": 438,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmln"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/app/src/main/res/values/styles.xml",
"chars": 994,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <!-- Theme applied to the Android Window while the process is sta"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/app/src/main/res/values-night/styles.xml",
"chars": 993,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <!-- Theme applied to the Android Window while the process is sta"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/app/src/profile/AndroidManifest.xml",
"chars": 327,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.example.example\">\n <!-- Flutter"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/build.gradle",
"chars": 576,
"preview": "buildscript {\n ext.kotlin_version = '1.3.50'\n repositories {\n google()\n mavenCentral()\n }\n\n de"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/gradle/wrapper/gradle-wrapper.properties",
"chars": 231,
"preview": "#Fri Jun 23 08:50:38 CEST 2017\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/gradle.properties",
"chars": 82,
"preview": "org.gradle.jvmargs=-Xmx1536M\nandroid.useAndroidX=true\nandroid.enableJetifier=true\n"
},
{
"path": "packages/appinio_animated_toggle_tab/example/android/settings.gradle",
"chars": 462,
"preview": "include ':app'\n\ndef localPropertiesFile = new File(rootProject.projectDir, \"local.properties\")\ndef properties = new Prop"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/.gitignore",
"chars": 561,
"preview": "*.mode1v3\n*.mode2v3\n*.moved-aside\n*.pbxuser\n*.perspectivev3\n**/*sync/\n.sconsign.dblite\n.tags*\n**/.vagrant/\n**/DerivedDat"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Flutter/AppFrameworkInfo.plist",
"chars": 773,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Flutter/Debug.xcconfig",
"chars": 30,
"preview": "#include \"Generated.xcconfig\"\n"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Flutter/Release.xcconfig",
"chars": 30,
"preview": "#include \"Generated.xcconfig\"\n"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner/AppDelegate.swift",
"chars": 404,
"preview": "import UIKit\nimport Flutter\n\n@UIApplicationMain\n@objc class AppDelegate: FlutterAppDelegate {\n override func applicatio"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 2519,
"preview": "{\n \"images\" : [\n {\n \"size\" : \"20x20\",\n \"idiom\" : \"iphone\",\n \"filename\" : \"Icon-App-20x20@2x.png\",\n "
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json",
"chars": 391,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"LaunchImage.png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md",
"chars": 336,
"preview": "# Launch Screen Assets\n\nYou can customize the launch screen with your own desired assets by replacing the image files in"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner/Base.lproj/LaunchScreen.storyboard",
"chars": 2377,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner/Base.lproj/Main.storyboard",
"chars": 1605,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner/Info.plist",
"chars": 1526,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner/Runner-Bridging-Header.h",
"chars": 38,
"preview": "#import \"GeneratedPluginRegistrant.h\"\n"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner.xcodeproj/project.pbxproj",
"chars": 18631,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 50;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
"chars": 226,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme",
"chars": 3291,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1020\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner.xcworkspace/contents.xcworkspacedata",
"chars": 152,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"group:Runner.xcodepr"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_animated_toggle_tab/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
"chars": 226,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_animated_toggle_tab/example/lib/main.dart",
"chars": 3389,
"preview": "import 'package:appinio_animated_toggle_tab/appinio_animated_toggle_tab.dart';\nimport 'package:flutter/material.dart';\n\n"
},
{
"path": "packages/appinio_animated_toggle_tab/example/pubspec.yaml",
"chars": 3753,
"preview": "name: example\ndescription: A new Flutter project.\n\n# The following line prevents the package from being accidentally pub"
},
{
"path": "packages/appinio_animated_toggle_tab/example/test/widget_test.dart",
"chars": 1052,
"preview": "// This is a basic Flutter widget test.\n//\n// To perform an interaction with a widget in your test, use the WidgetTester"
},
{
"path": "packages/appinio_animated_toggle_tab/example/web/index.html",
"chars": 3849,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <!--\n If you are serving your web app in a path other than the root, change the\n h"
},
{
"path": "packages/appinio_animated_toggle_tab/example/web/manifest.json",
"chars": 910,
"preview": "{\n \"name\": \"example\",\n \"short_name\": \"example\",\n \"start_url\": \".\",\n \"display\": \"standalone\",\n \"background"
},
{
"path": "packages/appinio_animated_toggle_tab/lib/appinio_animated_toggle_tab.dart",
"chars": 3334,
"preview": "library appinio_animated_toggle_tab;\n\nimport 'package:flutter/material.dart';\n\nclass AppinioAnimatedToggleTab extends St"
},
{
"path": "packages/appinio_animated_toggle_tab/pubspec.yaml",
"chars": 1778,
"preview": "name: appinio_animated_toggle_tab\ndescription: A custom tab viewer with built-in animation and different design from def"
},
{
"path": "packages/appinio_social_share/.gitignore",
"chars": 541,
"preview": "# Miscellaneous\n*.class\n*.log\n*.pyc\n*.swp\n.DS_Store\n.atom/\n.buildlog/\n.history\n.svn/\nmigrate_working_dir/\n\n# IntelliJ re"
},
{
"path": "packages/appinio_social_share/.metadata",
"chars": 1079,
"preview": "# This file tracks properties of this Flutter project.\n# Used by Flutter tool to assess capabilities and perform upgrade"
},
{
"path": "packages/appinio_social_share/CHANGELOG.md",
"chars": 1545,
"preview": "## [0.3.2] - 2024.08.01\n* Many bug fixes and improvements.\n* Version upgrades for dependencies.\n\n## [0.3.1] - 2024.04.15"
},
{
"path": "packages/appinio_social_share/LICENSE",
"chars": 1069,
"preview": "MIT License\n\nCopyright (c) 2022 APPINIO GmbH\n\nPermission is hereby granted, free of charge, to any person obtaining a co"
},
{
"path": "packages/appinio_social_share/README.md",
"chars": 20069,
"preview": "```appinio_social_share``` supports sharing files to social media (Facebook, Instagram, Instagram Story, Messenger, Tele"
},
{
"path": "packages/appinio_social_share/analysis_options.yaml",
"chars": 154,
"preview": "include: package:flutter_lints/flutter.yaml\n\n# Additional information about this file can be found at\n# https://dart.dev"
},
{
"path": "packages/appinio_social_share/android/.gitignore",
"chars": 102,
"preview": "*.iml\n.gradle\n/local.properties\n/.idea/workspace.xml\n/.idea/libraries\n.DS_Store\n/build\n/captures\n.cxx\n"
},
{
"path": "packages/appinio_social_share/android/build.gradle",
"chars": 792,
"preview": "group 'com.appinio.socialshare.appinio_social_share'\nversion '1.0'\n\nbuildscript {\n repositories {\n google()\n "
},
{
"path": "packages/appinio_social_share/android/gradle/wrapper/gradle-wrapper.properties",
"chars": 250,
"preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
},
{
"path": "packages/appinio_social_share/android/gradlew",
"chars": 8669,
"preview": "#!/bin/sh\n\n#\n# Copyright © 2015-2021 the original authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lice"
},
{
"path": "packages/appinio_social_share/android/gradlew.bat",
"chars": 2868,
"preview": "@rem\r\n@rem Copyright 2015 the original author or authors.\r\n@rem\r\n@rem Licensed under the Apache License, Version 2.0 (th"
},
{
"path": "packages/appinio_social_share/android/settings.gradle",
"chars": 42,
"preview": "rootProject.name = 'appinio_social_share'\n"
},
{
"path": "packages/appinio_social_share/android/src/main/AndroidManifest.xml",
"chars": 139,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.appinio.socialshare.appinio_social_s"
},
{
"path": "packages/appinio_social_share/android/src/main/java/com/appinio/socialshare/appinio_social_share/AppinioSocialSharePlugin.java",
"chars": 7546,
"preview": "package com.appinio.socialshare.appinio_social_share;\n\nimport android.app.Activity;\nimport android.content.Context;\nimpo"
},
{
"path": "packages/appinio_social_share/android/src/main/java/com/appinio/socialshare/appinio_social_share/utils/SocialShareUtil.java",
"chars": 21133,
"preview": "package com.appinio.socialshare.appinio_social_share.utils;\n\nimport android.app.Activity;\nimport android.content.ClipDat"
},
{
"path": "packages/appinio_social_share/example/.gitignore",
"chars": 753,
"preview": "# Miscellaneous\n*.class\n*.log\n*.pyc\n*.swp\n.DS_Store\n.atom/\n.buildlog/\n.history\n.svn/\nmigrate_working_dir/\n\n# IntelliJ re"
},
{
"path": "packages/appinio_social_share/example/.metadata",
"chars": 1668,
"preview": "# This file tracks properties of this Flutter project.\n# Used by Flutter tool to assess capabilities and perform upgrade"
},
{
"path": "packages/appinio_social_share/example/README.md",
"chars": 605,
"preview": "# appinio_social_share_example\n\nDemonstrates how to use the appinio_social_share plugin.\n\n## Getting Started\n\nThis proje"
},
{
"path": "packages/appinio_social_share/example/analysis_options.yaml",
"chars": 1453,
"preview": "# This file configures the analyzer, which statically analyzes Dart code to\n# check for errors, warnings, and lints.\n#\n#"
},
{
"path": "packages/appinio_social_share/example/android/.gitignore",
"chars": 285,
"preview": "gradle-wrapper.jar\n/.gradle\n/captures/\n/gradlew\n/gradlew.bat\n/local.properties\nGeneratedPluginRegistrant.java\n\n# Remembe"
},
{
"path": "packages/appinio_social_share/example/android/app/build.gradle",
"chars": 2188,
"preview": "def localProperties = new Properties()\ndef localPropertiesFile = rootProject.file('local.properties')\nif (localPropertie"
},
{
"path": "packages/appinio_social_share/example/android/app/src/debug/AndroidManifest.xml",
"chars": 412,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.example.example\">\n <!-- The INT"
},
{
"path": "packages/appinio_social_share/example/android/app/src/main/AndroidManifest.xml",
"chars": 1667,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.example.example\">\n <application\n"
},
{
"path": "packages/appinio_social_share/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt",
"chars": 124,
"preview": "package com.example.example\n\nimport io.flutter.embedding.android.FlutterActivity\n\nclass MainActivity: FlutterActivity() "
},
{
"path": "packages/appinio_social_share/example/android/app/src/main/res/drawable/launch_background.xml",
"chars": 434,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmln"
},
{
"path": "packages/appinio_social_share/example/android/app/src/main/res/drawable-v21/launch_background.xml",
"chars": 438,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmln"
},
{
"path": "packages/appinio_social_share/example/android/app/src/main/res/values/styles.xml",
"chars": 996,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <!-- Theme applied to the Android Window while the process is sta"
},
{
"path": "packages/appinio_social_share/example/android/app/src/main/res/values-night/styles.xml",
"chars": 995,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <!-- Theme applied to the Android Window while the process is sta"
},
{
"path": "packages/appinio_social_share/example/android/app/src/profile/AndroidManifest.xml",
"chars": 412,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.example.example\">\n <!-- The INT"
},
{
"path": "packages/appinio_social_share/example/android/build.gradle",
"chars": 592,
"preview": "buildscript {\n ext.kotlin_version = '1.6.10'\n repositories {\n google()\n mavenCentral()\n }\n\n de"
},
{
"path": "packages/appinio_social_share/example/android/gradle/wrapper/gradle-wrapper.properties",
"chars": 231,
"preview": "#Fri Jun 23 08:50:38 CEST 2017\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER"
},
{
"path": "packages/appinio_social_share/example/android/gradle.properties",
"chars": 82,
"preview": "org.gradle.jvmargs=-Xmx1536M\nandroid.useAndroidX=true\nandroid.enableJetifier=true\n"
},
{
"path": "packages/appinio_social_share/example/android/settings.gradle",
"chars": 462,
"preview": "include ':app'\n\ndef localPropertiesFile = new File(rootProject.projectDir, \"local.properties\")\ndef properties = new Prop"
},
{
"path": "packages/appinio_social_share/example/ios/.gitignore",
"chars": 569,
"preview": "**/dgph\n*.mode1v3\n*.mode2v3\n*.moved-aside\n*.pbxuser\n*.perspectivev3\n**/*sync/\n.sconsign.dblite\n.tags*\n**/.vagrant/\n**/De"
},
{
"path": "packages/appinio_social_share/example/ios/Flutter/AppFrameworkInfo.plist",
"chars": 773,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/ios/Flutter/Debug.xcconfig",
"chars": 107,
"preview": "#include? \"Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig\"\n#include \"Generated.xcconfig\"\n"
},
{
"path": "packages/appinio_social_share/example/ios/Flutter/Release.xcconfig",
"chars": 109,
"preview": "#include? \"Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig\"\n#include \"Generated.xcconfig\"\n"
},
{
"path": "packages/appinio_social_share/example/ios/Podfile",
"chars": 1354,
"preview": "# Uncomment this line to define a global platform for your project\n# platform :ios, '9.0'\n\n# CocoaPods analytics sends n"
},
{
"path": "packages/appinio_social_share/example/ios/Runner/AppDelegate.swift",
"chars": 404,
"preview": "import UIKit\nimport Flutter\n\n@UIApplicationMain\n@objc class AppDelegate: FlutterAppDelegate {\n override func applicatio"
},
{
"path": "packages/appinio_social_share/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 2519,
"preview": "{\n \"images\" : [\n {\n \"size\" : \"20x20\",\n \"idiom\" : \"iphone\",\n \"filename\" : \"Icon-App-20x20@2x.png\",\n "
},
{
"path": "packages/appinio_social_share/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json",
"chars": 391,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"LaunchImage.png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "packages/appinio_social_share/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md",
"chars": 336,
"preview": "# Launch Screen Assets\n\nYou can customize the launch screen with your own desired assets by replacing the image files in"
},
{
"path": "packages/appinio_social_share/example/ios/Runner/Base.lproj/LaunchScreen.storyboard",
"chars": 2377,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "packages/appinio_social_share/example/ios/Runner/Base.lproj/Main.storyboard",
"chars": 1605,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "packages/appinio_social_share/example/ios/Runner/Info.plist",
"chars": 1642,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/ios/Runner/Runner-Bridging-Header.h",
"chars": 38,
"preview": "#import \"GeneratedPluginRegistrant.h\"\n"
},
{
"path": "packages/appinio_social_share/example/ios/Runner.xcodeproj/project.pbxproj",
"chars": 18631,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 50;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "packages/appinio_social_share/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "packages/appinio_social_share/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
"chars": 226,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme",
"chars": 3185,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1300\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "packages/appinio_social_share/example/ios/Runner.xcworkspace/contents.xcworkspacedata",
"chars": 152,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"group:Runner.xcodepr"
},
{
"path": "packages/appinio_social_share/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
"chars": 226,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/lib/main.dart",
"chars": 1320,
"preview": "import 'package:file_picker/file_picker.dart';\nimport 'package:flutter/material.dart';\nimport 'package:appinio_social_sh"
},
{
"path": "packages/appinio_social_share/example/linux/.gitignore",
"chars": 18,
"preview": "flutter/ephemeral\n"
},
{
"path": "packages/appinio_social_share/example/linux/CMakeLists.txt",
"chars": 5182,
"preview": "# Project-level configuration.\ncmake_minimum_required(VERSION 3.10)\nproject(runner LANGUAGES CXX)\n\n# The name of the exe"
},
{
"path": "packages/appinio_social_share/example/linux/flutter/CMakeLists.txt",
"chars": 2815,
"preview": "# This file controls Flutter-level build steps. It should not be edited.\ncmake_minimum_required(VERSION 3.10)\n\nset(EPHEM"
},
{
"path": "packages/appinio_social_share/example/linux/flutter/generated_plugin_registrant.cc",
"chars": 161,
"preview": "//\n// Generated file. Do not edit.\n//\n\n// clang-format off\n\n#include \"generated_plugin_registrant.h\"\n\n\nvoid fl_register"
},
{
"path": "packages/appinio_social_share/example/linux/flutter/generated_plugin_registrant.h",
"chars": 303,
"preview": "//\n// Generated file. Do not edit.\n//\n\n// clang-format off\n\n#ifndef GENERATED_PLUGIN_REGISTRANT_\n#define GENERATED_PLUG"
},
{
"path": "packages/appinio_social_share/example/linux/flutter/generated_plugins.cmake",
"chars": 739,
"preview": "#\n# Generated file, do not edit.\n#\n\nlist(APPEND FLUTTER_PLUGIN_LIST\n)\n\nlist(APPEND FLUTTER_FFI_PLUGIN_LIST\n)\n\nset(PLUGIN"
},
{
"path": "packages/appinio_social_share/example/linux/main.cc",
"chars": 180,
"preview": "#include \"my_application.h\"\n\nint main(int argc, char** argv) {\n g_autoptr(MyApplication) app = my_application_new();\n "
},
{
"path": "packages/appinio_social_share/example/linux/my_application.cc",
"chars": 3712,
"preview": "#include \"my_application.h\"\n\n#include <flutter_linux/flutter_linux.h>\n#ifdef GDK_WINDOWING_X11\n#include <gdk/gdkx.h>\n#en"
},
{
"path": "packages/appinio_social_share/example/linux/my_application.h",
"chars": 388,
"preview": "#ifndef FLUTTER_MY_APPLICATION_H_\n#define FLUTTER_MY_APPLICATION_H_\n\n#include <gtk/gtk.h>\n\nG_DECLARE_FINAL_TYPE(MyApplic"
},
{
"path": "packages/appinio_social_share/example/macos/.gitignore",
"chars": 89,
"preview": "# Flutter-related\n**/Flutter/ephemeral/\n**/Pods/\n\n# Xcode-related\n**/dgph\n**/xcuserdata/\n"
},
{
"path": "packages/appinio_social_share/example/macos/Flutter/Flutter-Debug.xcconfig",
"chars": 125,
"preview": "#include? \"Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig\"\n#include \"ephemeral/Flutter-Generated.xccon"
},
{
"path": "packages/appinio_social_share/example/macos/Flutter/Flutter-Release.xcconfig",
"chars": 127,
"preview": "#include? \"Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig\"\n#include \"ephemeral/Flutter-Generated.xcc"
},
{
"path": "packages/appinio_social_share/example/macos/Flutter/GeneratedPluginRegistrant.swift",
"chars": 147,
"preview": "//\n// Generated file. Do not edit.\n//\n\nimport FlutterMacOS\nimport Foundation\n\n\nfunc RegisterGeneratedPlugins(registry: "
},
{
"path": "packages/appinio_social_share/example/macos/Podfile",
"chars": 1330,
"preview": "platform :osx, '10.11'\n\n# CocoaPods analytics sends network stats synchronously affecting flutter build latency.\nENV['CO"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/AppDelegate.swift",
"chars": 214,
"preview": "import Cocoa\nimport FlutterMacOS\n\n@NSApplicationMain\nclass AppDelegate: FlutterAppDelegate {\n override func application"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 1291,
"preview": "{\n \"images\" : [\n {\n \"size\" : \"16x16\",\n \"idiom\" : \"mac\",\n \"filename\" : \"app_icon_16.png\",\n \"scale"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/Base.lproj/MainMenu.xib",
"chars": 23723,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"3.0\" toolsVersion"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/Configs/AppInfo.xcconfig",
"chars": 600,
"preview": "// Application-level settings for the Runner target.\n//\n// This may be replaced with something auto-generated from metad"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/Configs/Debug.xcconfig",
"chars": 77,
"preview": "#include \"../../Flutter/Flutter-Debug.xcconfig\"\n#include \"Warnings.xcconfig\"\n"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/Configs/Release.xcconfig",
"chars": 79,
"preview": "#include \"../../Flutter/Flutter-Release.xcconfig\"\n#include \"Warnings.xcconfig\"\n"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/Configs/Warnings.xcconfig",
"chars": 580,
"preview": "WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverl"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/DebugProfile.entitlements",
"chars": 348,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/Info.plist",
"chars": 1060,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/MainFlutterWindow.swift",
"chars": 393,
"preview": "import Cocoa\nimport FlutterMacOS\n\nclass MainFlutterWindow: NSWindow {\n override func awakeFromNib() {\n let flutterVi"
},
{
"path": "packages/appinio_social_share/example/macos/Runner/Release.entitlements",
"chars": 240,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/macos/Runner.xcodeproj/project.pbxproj",
"chars": 21319,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 51;\n\tobjects = {\n\n/* Begin PBXAggregateTarget sec"
},
{
"path": "packages/appinio_social_share/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme",
"chars": 3189,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1300\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "packages/appinio_social_share/example/macos/Runner.xcworkspace/contents.xcworkspacedata",
"chars": 152,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"group:Runner.xcodepr"
},
{
"path": "packages/appinio_social_share/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "packages/appinio_social_share/example/pubspec.yaml",
"chars": 3346,
"preview": "name: appinio_social_share_example\ndescription: Demonstrates how to use the appinio_social_share plugin.\n\n# The followin"
},
{
"path": "packages/appinio_social_share/example/test/widget_test.dart",
"chars": 918,
"preview": "// This is a basic Flutter widget test.\n//\n// To perform an interaction with a widget in your test, use the WidgetTester"
},
{
"path": "packages/appinio_social_share/example/web/index.html",
"chars": 1818,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <!--\n If you are serving your web app in a path other than the root, change the\n h"
},
{
"path": "packages/appinio_social_share/example/web/manifest.json",
"chars": 910,
"preview": "{\n \"name\": \"example\",\n \"short_name\": \"example\",\n \"start_url\": \".\",\n \"display\": \"standalone\",\n \"background"
},
{
"path": "packages/appinio_social_share/example/windows/.gitignore",
"chars": 291,
"preview": "flutter/ephemeral/\n\n# Visual Studio user-specific files.\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# Visual Studio bu"
},
{
"path": "packages/appinio_social_share/example/windows/CMakeLists.txt",
"chars": 3899,
"preview": "# Project-level configuration.\ncmake_minimum_required(VERSION 3.14)\nproject(example LANGUAGES CXX)\n\n# The name of the ex"
},
{
"path": "packages/appinio_social_share/example/windows/flutter/CMakeLists.txt",
"chars": 3562,
"preview": "# This file controls Flutter-level build steps. It should not be edited.\ncmake_minimum_required(VERSION 3.14)\n\nset(EPHEM"
},
{
"path": "packages/appinio_social_share/example/windows/flutter/generated_plugin_registrant.cc",
"chars": 164,
"preview": "//\n// Generated file. Do not edit.\n//\n\n// clang-format off\n\n#include \"generated_plugin_registrant.h\"\n\n\nvoid RegisterPlu"
},
{
"path": "packages/appinio_social_share/example/windows/flutter/generated_plugin_registrant.h",
"chars": 302,
"preview": "//\n// Generated file. Do not edit.\n//\n\n// clang-format off\n\n#ifndef GENERATED_PLUGIN_REGISTRANT_\n#define GENERATED_PLUG"
},
{
"path": "packages/appinio_social_share/example/windows/flutter/generated_plugins.cmake",
"chars": 743,
"preview": "#\n# Generated file, do not edit.\n#\n\nlist(APPEND FLUTTER_PLUGIN_LIST\n)\n\nlist(APPEND FLUTTER_FFI_PLUGIN_LIST\n)\n\nset(PLUGIN"
},
{
"path": "packages/appinio_social_share/example/windows/runner/CMakeLists.txt",
"chars": 1190,
"preview": "cmake_minimum_required(VERSION 3.14)\nproject(runner LANGUAGES CXX)\n\n# Define the application target. To change its name,"
},
{
"path": "packages/appinio_social_share/example/windows/runner/Runner.rc",
"chars": 2848,
"preview": "// Microsoft Visual C++ generated resource script.\n//\n#pragma code_page(65001)\n#include \"resource.h\"\n\n#define APSTUDIO_R"
},
{
"path": "packages/appinio_social_share/example/windows/runner/flutter_window.cpp",
"chars": 1762,
"preview": "#include \"flutter_window.h\"\n\n#include <optional>\n\n#include \"flutter/generated_plugin_registrant.h\"\n\nFlutterWindow::Flutt"
},
{
"path": "packages/appinio_social_share/example/windows/runner/flutter_window.h",
"chars": 928,
"preview": "#ifndef RUNNER_FLUTTER_WINDOW_H_\n#define RUNNER_FLUTTER_WINDOW_H_\n\n#include <flutter/dart_project.h>\n#include <flutter/f"
},
{
"path": "packages/appinio_social_share/example/windows/runner/main.cpp",
"chars": 1267,
"preview": "#include <flutter/dart_project.h>\n#include <flutter/flutter_view_controller.h>\n#include <windows.h>\n\n#include \"flutter_w"
},
{
"path": "packages/appinio_social_share/example/windows/runner/resource.h",
"chars": 432,
"preview": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by Runner.rc\n//\n#define IDI_APP_ICON "
},
{
"path": "packages/appinio_social_share/example/windows/runner/runner.exe.manifest",
"chars": 859,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersi"
},
{
"path": "packages/appinio_social_share/example/windows/runner/utils.cpp",
"chars": 1691,
"preview": "#include \"utils.h\"\n\n#include <flutter_windows.h>\n#include <io.h>\n#include <stdio.h>\n#include <windows.h>\n\n#include <iost"
},
{
"path": "packages/appinio_social_share/example/windows/runner/utils.h",
"chars": 672,
"preview": "#ifndef RUNNER_UTILS_H_\n#define RUNNER_UTILS_H_\n\n#include <string>\n#include <vector>\n\n// Creates a console for the proce"
},
{
"path": "packages/appinio_social_share/example/windows/runner/win32_window.cpp",
"chars": 7024,
"preview": "#include \"win32_window.h\"\n\n#include <flutter_windows.h>\n\n#include \"resource.h\"\n\nnamespace {\n\nconstexpr const wchar_t kWi"
},
{
"path": "packages/appinio_social_share/example/windows/runner/win32_window.h",
"chars": 3350,
"preview": "#ifndef RUNNER_WIN32_WINDOW_H_\n#define RUNNER_WIN32_WINDOW_H_\n\n#include <windows.h>\n\n#include <functional>\n#include <mem"
},
{
"path": "packages/appinio_social_share/ios/.gitignore",
"chars": 418,
"preview": ".idea/\n.vagrant/\n.sconsign.dblite\n.svn/\n\n.DS_Store\n*.swp\nprofile\n\nDerivedData/\nbuild/\nGeneratedPluginRegistrant.h\nGenera"
},
{
"path": "packages/appinio_social_share/ios/Assets/.gitkeep",
"chars": 0,
"preview": ""
},
{
"path": "packages/appinio_social_share/ios/Classes/AppinioSocialSharePlugin.h",
"chars": 96,
"preview": "#import <Flutter/Flutter.h>\n\n@interface AppinioSocialSharePlugin : NSObject<FlutterPlugin>\n@end\n"
},
{
"path": "packages/appinio_social_share/ios/Classes/AppinioSocialSharePlugin.m",
"chars": 643,
"preview": "#import \"AppinioSocialSharePlugin.h\"\n#if __has_include(<appinio_social_share/appinio_social_share-Swift.h>)\n#import <app"
},
{
"path": "packages/appinio_social_share/ios/Classes/MyActivityItemSource.swift",
"chars": 1670,
"preview": "//\n// MyActivityItemSource.swift\n// appinio_social_share\n//\n// Created by Mujeeb khan on 23.09.22.\n//\n\nimport Foundat"
},
{
"path": "packages/appinio_social_share/ios/Classes/ShareUtil.swift",
"chars": 23547,
"preview": "import Photos\nimport FBSDKCoreKit\nimport FBSDKShareKit\nimport Social\nimport MobileCoreServices\n\n\n\npublic class ShareUtil"
},
{
"path": "packages/appinio_social_share/ios/Classes/SwiftAppinioSocialSharePlugin.swift",
"chars": 3514,
"preview": "import Flutter\nimport UIKit\nimport FBSDKCoreKit\nimport FBSDKShareKit\nimport Photos\n\n\n\npublic class SwiftAppinioSocialSha"
},
{
"path": "packages/appinio_social_share/ios/appinio_social_share.podspec",
"chars": 982,
"preview": "#\n# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.\n# Run `pod lib lint appinio_socia"
},
{
"path": "packages/appinio_social_share/lib/appinio_social_share.dart",
"chars": 411,
"preview": "import 'package:appinio_social_share/appinio_social_share_platform_interface.dart';\nimport 'package:appinio_social_share"
},
{
"path": "packages/appinio_social_share/lib/appinio_social_share_method_channel.dart",
"chars": 9734,
"preview": "import 'dart:io';\n\nimport 'package:flutter/foundation.dart';\nimport 'package:flutter/services.dart';\n\nimport 'appinio_so"
},
{
"path": "packages/appinio_social_share/lib/appinio_social_share_platform_interface.dart",
"chars": 6040,
"preview": "import 'package:plugin_platform_interface/plugin_platform_interface.dart';\n\nimport 'appinio_social_share_method_channel."
},
{
"path": "packages/appinio_social_share/lib/platforms/android.dart",
"chars": 4108,
"preview": "import 'package:appinio_social_share/appinio_social_share_platform_interface.dart';\n\nclass Android {\n Future<String> sh"
},
{
"path": "packages/appinio_social_share/lib/platforms/ios.dart",
"chars": 3404,
"preview": "import 'package:appinio_social_share/appinio_social_share_platform_interface.dart';\n\nclass IOS {\n Future<String> shareT"
},
{
"path": "packages/appinio_social_share/pubspec.yaml",
"chars": 823,
"preview": "name: appinio_social_share\ndescription: Supports sharing text, images, files and text with image to social media (Facebo"
},
{
"path": "packages/appinio_swiper/.gitignore",
"chars": 1505,
"preview": "# Miscellaneous\n*.class\n*.log\n*.pyc\n*.swp\n.DS_Store\n.atom/\n.buildlog/\n.history\n.svn/\n\n# IntelliJ related\n*.iml\n*.ipr\n*.i"
},
{
"path": "packages/appinio_swiper/.metadata",
"chars": 309,
"preview": "# This file tracks properties of this Flutter project.\n# Used by Flutter tool to assess capabilities and perform upgrade"
},
{
"path": "packages/appinio_swiper/CHANGELOG.md",
"chars": 1861,
"preview": "## [2.1.1] - 2024.04.15\n* Bug fixes:\n - Swiper renders the topmost background card for all background positions Appinio"
},
{
"path": "packages/appinio_swiper/LICENSE",
"chars": 1069,
"preview": "MIT License\n\nCopyright (c) 2021 APPINIO GmbH\n\nPermission is hereby granted, free of charge, to any person obtaining a co"
},
{
"path": "packages/appinio_swiper/README.md",
"chars": 13005,
"preview": "```appinio_swiper``` is a Flutter package for a Tinder Card Swiper. ✨\n\nIt allows swiping in all directions with any Cust"
},
{
"path": "packages/appinio_swiper/analysis_options.yaml",
"chars": 197,
"preview": "#include: package:flutter_lints/flutter.yaml\n\n# Additional information about this file can be found at\n# https://dart.de"
},
{
"path": "packages/appinio_swiper/example/.gitignore",
"chars": 732,
"preview": "# Miscellaneous\n*.class\n*.log\n*.pyc\n*.swp\n.DS_Store\n.atom/\n.buildlog/\n.history\n.svn/\n\n# IntelliJ related\n*.iml\n*.ipr\n*.i"
},
{
"path": "packages/appinio_swiper/example/.metadata",
"chars": 305,
"preview": "# This file tracks properties of this Flutter project.\n# Used by Flutter tool to assess capabilities and perform upgrade"
},
{
"path": "packages/appinio_swiper/example/README.md",
"chars": 537,
"preview": "# example\n\nA new Flutter project.\n\n## Getting Started\n\nThis project is a starting point for a Flutter application.\n\nA fe"
},
{
"path": "packages/appinio_swiper/example/analysis_options.yaml",
"chars": 1455,
"preview": "# This file configures the analyzer, which statically analyzes Dart code to\n# check for errors, warnings, and lints.\n#\n#"
},
{
"path": "packages/appinio_swiper/example/android/.gitignore",
"chars": 285,
"preview": "gradle-wrapper.jar\n/.gradle\n/captures/\n/gradlew\n/gradlew.bat\n/local.properties\nGeneratedPluginRegistrant.java\n\n# Remembe"
},
{
"path": "packages/appinio_swiper/example/android/app/build.gradle",
"chars": 1912,
"preview": "def localProperties = new Properties()\ndef localPropertiesFile = rootProject.file('local.properties')\nif (localPropertie"
},
{
"path": "packages/appinio_swiper/example/android/app/src/debug/AndroidManifest.xml",
"chars": 327,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.example.example\">\n <!-- Flutter"
},
{
"path": "packages/appinio_swiper/example/android/app/src/main/AndroidManifest.xml",
"chars": 2178,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.example.example\">\n <application\n"
},
{
"path": "packages/appinio_swiper/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt",
"chars": 124,
"preview": "package com.example.example\n\nimport io.flutter.embedding.android.FlutterActivity\n\nclass MainActivity: FlutterActivity() "
},
{
"path": "packages/appinio_swiper/example/android/app/src/main/res/drawable/launch_background.xml",
"chars": 434,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmln"
},
{
"path": "packages/appinio_swiper/example/android/app/src/main/res/drawable-v21/launch_background.xml",
"chars": 438,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmln"
},
{
"path": "packages/appinio_swiper/example/android/app/src/main/res/values/styles.xml",
"chars": 994,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <!-- Theme applied to the Android Window while the process is sta"
},
{
"path": "packages/appinio_swiper/example/android/app/src/main/res/values-night/styles.xml",
"chars": 993,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <!-- Theme applied to the Android Window while the process is sta"
},
{
"path": "packages/appinio_swiper/example/android/app/src/profile/AndroidManifest.xml",
"chars": 327,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.example.example\">\n <!-- Flutter"
},
{
"path": "packages/appinio_swiper/example/android/build.gradle",
"chars": 583,
"preview": "buildscript {\n ext.kotlin_version = '1.7.10'\n repositories {\n google()\n mavenCentral()\n }\n\n de"
},
{
"path": "packages/appinio_swiper/example/android/gradle/wrapper/gradle-wrapper.properties",
"chars": 202,
"preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
},
{
"path": "packages/appinio_swiper/example/android/gradle.properties",
"chars": 445,
"preview": "# https://stackoverflow.com/questions/76230485/flutter-application-on-android-private-final-java-lang-string-java-io-fil"
},
{
"path": "packages/appinio_swiper/example/android/settings.gradle",
"chars": 462,
"preview": "include ':app'\n\ndef localPropertiesFile = new File(rootProject.projectDir, \"local.properties\")\ndef properties = new Prop"
}
]
// ... and 418 more files (download for full content)
About this extraction
This page contains the full source code of the appinioGmbH/flutter_packages GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 618 files (1.0 MB), approximately 288.7k tokens, and a symbol index with 614 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.