From 2b75d2b088aae9c0b9028e078f42ba30033632b9 Mon Sep 17 00:00:00 2001 From: ayub Date: Sun, 10 Aug 2025 13:41:02 +0700 Subject: [PATCH] init --- .gitignore | 8 + .vscode/settings.json | 3 + CHANGELOG.md | 79 +++ LICENSE | 21 + README.md | 121 +++++ android/.classpath | 6 + android/.gitignore | 8 + android/.project | 23 + .../org.eclipse.buildship.core.prefs | 2 + android/build.gradle | 41 ++ android/gradle.properties | 4 + android/settings.gradle | 1 + android/src/main/AndroidManifest.xml | 8 + .../example/whatsapp_share/WhatsappShare.java | 226 +++++++++ assets/gifs/flutter_share_android.gif | Bin 0 -> 93491 bytes assets/gifs/flutter_share_ios.gif | Bin 0 -> 79460 bytes example/.fvm/flutter_sdk | 1 + example/.fvm/fvm_config.json | 4 + example/.gitignore | 44 ++ example/.metadata | 45 ++ example/README.md | 16 + example/analysis_options.yaml | 29 ++ example/android/.gitignore | 13 + example/android/app/build.gradle | 71 +++ .../android/app/src/debug/AndroidManifest.xml | 8 + .../android/app/src/main/AndroidManifest.xml | 43 ++ .../com/example/example/MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/main/res/xml/file_paths.xml | 7 + .../app/src/profile/AndroidManifest.xml | 8 + example/android/build.gradle | 31 ++ example/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + example/android/settings.gradle | 11 + example/lib/main.dart | 123 +++++ example/pubspec.lock | 457 ++++++++++++++++++ example/pubspec.yaml | 98 ++++ flutter_share.iml | 19 + flutter_share_android.iml | 30 ++ lib/whatsapp_share.dart | 94 ++++ pubspec.lock | 165 +++++++ pubspec.yaml | 26 + 50 files changed, 1968 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 android/.classpath create mode 100644 android/.gitignore create mode 100644 android/.project create mode 100644 android/.settings/org.eclipse.buildship.core.prefs create mode 100644 android/build.gradle create mode 100644 android/gradle.properties create mode 100644 android/settings.gradle create mode 100644 android/src/main/AndroidManifest.xml create mode 100644 android/src/main/java/com/example/whatsapp_share/WhatsappShare.java create mode 100644 assets/gifs/flutter_share_android.gif create mode 100644 assets/gifs/flutter_share_ios.gif create mode 120000 example/.fvm/flutter_sdk create mode 100644 example/.fvm/fvm_config.json create mode 100644 example/.gitignore create mode 100644 example/.metadata create mode 100644 example/README.md create mode 100644 example/analysis_options.yaml create mode 100644 example/android/.gitignore create mode 100644 example/android/app/build.gradle create mode 100644 example/android/app/src/debug/AndroidManifest.xml create mode 100644 example/android/app/src/main/AndroidManifest.xml create mode 100644 example/android/app/src/main/kotlin/com/example/example/MainActivity.kt create mode 100644 example/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 example/android/app/src/main/res/drawable/launch_background.xml create mode 100644 example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 example/android/app/src/main/res/values-night/styles.xml create mode 100644 example/android/app/src/main/res/values/styles.xml create mode 100644 example/android/app/src/main/res/xml/file_paths.xml create mode 100644 example/android/app/src/profile/AndroidManifest.xml create mode 100644 example/android/build.gradle create mode 100644 example/android/gradle.properties create mode 100644 example/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 example/android/settings.gradle create mode 100644 example/lib/main.dart create mode 100644 example/pubspec.lock create mode 100644 example/pubspec.yaml create mode 100644 flutter_share.iml create mode 100644 flutter_share_android.iml create mode 100644 lib/whatsapp_share.dart create mode 100644 pubspec.lock create mode 100644 pubspec.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d71f6ea --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +.dart_tool/ + +.packages +.pub/ + +build/ +.idea/ diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..30de70f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.acceptSuggestionOnEnter": "on" +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..2b6f053 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,79 @@ +# CHANGELOG + +## 2.0.2 + +* File not sharing issue fixed addresses issues -> #17, #16 + +## 2.0.1 + +* Is installed Fix for android 11 and above + +## 2.0.0 + +* Upgraded to NULL safety + +## 1.1.1 + +* Read me examples updated + +## 1.1.0 + +* Plugin respects Business whatsapp +* **Breaking Change** + * fileShare function takes list of paths instead of single path. + * Multiple images, files can be shared + +## 1.0.9 + +* Home page modified + +## 1.0.8 + +* ```isInstalled()``` method for checking whatsapp installed in device or not + +## 1.0.7 + +* Documented and optimized for whatsapp share + +## 1.0.6 + +* Whatsapp share + +## 1.0.5 +* Fix sdk environment + +## 1.0.4 +* Update to android v2 embedding + +## 1.0.3 + +* Fix share image top view controller dismissal bug on iOS 13+ +* Update to use the new platforms definition + +## 1.0.2+1 + +* Fix Android bug (FileUriExposedException) on new versions with FileProvider implementation (see the readme to configure) + +## 1.0.1+1 + +* Remove unused codes and improve description + +## 1.0.1 + +* Fix: Get the top most ViewController(IOS embedded support) + +## 1.0.0 + +* **BREAKING CHANGE**: Add support to AndroidX +* **BREAKING CHANGE**: Separate in two methods share (to share messages and links) and shareFile (to share files) +* Add ChooserTitle (Just for Android) +* Add Text +* Add Docs + +## 0.0.5 + +* Move documents_picker plugin to example project + +## 0.0.1 + +* Add file share. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1bcdbc1 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Amit Patil + +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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a4e7456 --- /dev/null +++ b/README.md @@ -0,0 +1,121 @@ +# [Whatsapp Share Plugin](https://pub.dev/packages/whatsapp_share) + +[![pub package](https://img.shields.io/pub/v/whatsapp_share.svg)](https://pub.dartlang.org/packages/flutter_share) + + +A Flutter plugin for Android providing a simple way to share a message, link or local files to specific WhatsApp contact. + +## Features: + +* Share messages or link urls to specific contact. +* Share local files to specific contact. + + +## Installation + +First, add this to your package's pubspec.yaml file: +``` +dependencies: + whatsapp_share: ^1.1.1 +``` + +Now in your Dart code, you can use: +``` +import 'package:whatsapp_share/whatsapp_share.dart'; +``` +## Installation (Platform Specific) + +### iOS + +Add if not exists one row to the `ios/podfile` after target runner: + +``` +... + +target 'Runner' do + use_frameworks! + +... +``` + +### Android + +If you pretends to use the file share, you need to configure the file provider, this will give access to the files turning possible to share with other applications. + +Add to `AndroidManifest.xml`: + +``` + +... + + + + +``` +Obs: You can change the android:name if you have an extension of file provider. + +Add `res/xml/provider_paths.xml`: + +``` + + + + +``` + +If you want to learn more about file provider you can access: + + - https://developer.android.com/reference/android/support/v4/content/FileProvider + +## How to use? + +Here is an snippets app displaying the two whatsapp share methods . + +### Whatsapp installed in this device ? + +```Dart + Future isInstalled() async { + final val = await WhatsappShare.isInstalled( + package: Package.businessWhatsapp + ); + print('Whatsapp Business is installed: $val'); + } +``` +If whatsapp is not installed, please do not call ```WhatsappShare.share()``` and ```WhatsappShare.shareFile()``` + + + +### Share text, links + +```Dart + + Future share() async { + await WhatsappShare.share( + text: 'Whatsapp share text', + linkUrl: 'https://flutter.dev/', + phone: '911234567890', + ); + } + +``` + +### Share images, files + +```_image1.path``` contains path of the file which is shared to the whatsapp. + +```Dart + + Future shareFile() async { + await WhatsappShare.shareFile( + phone: '911234567890', + filePath: [_image1.path, _image2.path], + ); + } + +``` \ No newline at end of file diff --git a/android/.classpath b/android/.classpath new file mode 100644 index 0000000..8d8d85f --- /dev/null +++ b/android/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..c6cbe56 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,8 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures diff --git a/android/.project b/android/.project new file mode 100644 index 0000000..fc23720 --- /dev/null +++ b/android/.project @@ -0,0 +1,23 @@ + + + whatsapp_share + Project whatsapp_share created by Buildship. + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.buildship.core.gradleprojectnature + + diff --git a/android/.settings/org.eclipse.buildship.core.prefs b/android/.settings/org.eclipse.buildship.core.prefs new file mode 100644 index 0000000..e889521 --- /dev/null +++ b/android/.settings/org.eclipse.buildship.core.prefs @@ -0,0 +1,2 @@ +connection.project.dir= +eclipse.preferences.version=1 diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..e1e2f74 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,41 @@ +group 'com.example.whatsapp_share' +version '1.0-SNAPSHOT' + +buildscript { + repositories { + google() + jcenter() + } + + dependencies { + classpath 'com.android.tools.build:gradle:3.3.0' + } +} + +rootProject.allprojects { + repositories { + google() + jcenter() + } +} + +apply plugin: 'com.android.library' + +android { + namspace 'com.example.whatsapp_share' + compileSdkVersion 33 + + defaultConfig { + minSdkVersion 16 + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + lintOptions { + disable 'InvalidPackage' + } +} + +dependencies { + api 'commons-io:commons-io:2.6' + implementation 'androidx.core:core:1.3.2' +} + diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..755300e --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,4 @@ +org.gradle.jvmargs=-Xmx1536M + +android.useAndroidX=true +android.enableJetifier=true diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..613c380 --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'whatsapp_share' diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a941cf3 --- /dev/null +++ b/android/src/main/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/android/src/main/java/com/example/whatsapp_share/WhatsappShare.java b/android/src/main/java/com/example/whatsapp_share/WhatsappShare.java new file mode 100644 index 0000000..a43dec4 --- /dev/null +++ b/android/src/main/java/com/example/whatsapp_share/WhatsappShare.java @@ -0,0 +1,226 @@ +package com.example.whatsapp_share; + +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.net.Uri; +import android.text.TextUtils; +import android.util.Log; + +import androidx.annotation.NonNull; +import androidx.core.content.FileProvider; + +import java.io.File; +import java.util.ArrayList; + +import io.flutter.embedding.engine.plugins.FlutterPlugin; +import io.flutter.plugin.common.BinaryMessenger; +import io.flutter.plugin.common.MethodCall; +import io.flutter.plugin.common.MethodChannel; +import io.flutter.plugin.common.MethodChannel.MethodCallHandler; +import io.flutter.plugin.common.MethodChannel.Result; +import io.flutter.plugin.common.PluginRegistry.Registrar; + + +/** WhatsappShare */ +public class WhatsappShare implements FlutterPlugin, MethodCallHandler { + private Context context; + private MethodChannel methodChannel; + + public WhatsappShare() {} + + /** Plugin registration. */ + @SuppressWarnings("deprecation") + public static void registerWith(io.flutter.plugin.common.PluginRegistry.Registrar registrar) { + final WhatsappShare instance = new WhatsappShare(); + instance.onAttachedToEngine(registrar.context(), registrar.messenger()); + } + + @Override + public void onAttachedToEngine(FlutterPluginBinding binding) { + onAttachedToEngine(binding.getApplicationContext(), binding.getBinaryMessenger()); + } + + private void onAttachedToEngine(Context applicationContext, BinaryMessenger messenger) { + this.context = applicationContext; + methodChannel = new MethodChannel(messenger, "whatsapp_share"); + methodChannel.setMethodCallHandler(this); + } + + @Override + public void onDetachedFromEngine(FlutterPluginBinding binding) { + context = null; + methodChannel.setMethodCallHandler(null); + methodChannel = null; + } + + @Override + public void onMethodCall(MethodCall call, Result result) { + if (call.method.equals("shareFile")) { + shareFile(call, result); + } else if (call.method.equals("share")) { + share(call, result); + } else if (call.method.equals("isInstalled")) { + isInstalled(call, result); + } else { + result.notImplemented(); + } + } + + private boolean isPackageInstalled(String packageName, PackageManager packageManager) { + try + { + packageManager.getPackageInfo(packageName, 0); + return true; + } + catch (PackageManager.NameNotFoundException e) { + return false; + } + } + + private void isInstalled(MethodCall call, Result result) { + try + { + String packageName = call.argument("package"); + + if (packageName == null || packageName.isEmpty()) + { + Log.println(Log.ERROR, "", "FlutterShare Error: Package name null or empty"); + result.error("FlutterShare:Package name cannot be null or empty", null, null); + return; + } + + PackageManager pm = context.getPackageManager(); + boolean isInstalled = isPackageInstalled(packageName, pm); + result.success(isInstalled); + } + catch (Exception ex) + { + Log.println(Log.ERROR, "", "FlutterShare: Error"); + result.error(ex.getMessage(), null, null); + } + } + + private void share(MethodCall call, Result result) { + try + { + String title = call.argument("title"); + String text = call.argument("text"); + String linkUrl = call.argument("linkUrl"); + String chooserTitle = call.argument("chooserTitle"); + String phone = call.argument("phone"); + String packageName = call.argument("package"); + + if (title == null || title.isEmpty()) + { + Log.println(Log.ERROR, "", "FlutterShare Error: Title null or empty"); + result.error("FlutterShare: Title cannot be null or empty", null, null); + return; + } else if(phone == null || phone.isEmpty()) + { Log.println(Log.ERROR, "", "FlutterShare Error: phone null or empty"); + result.error("FlutterShare: phone cannot be null or empty", null, null); + return; + } else if (packageName == null || packageName.isEmpty()) + { + Log.println(Log.ERROR, "", "FlutterShare Error: Package name null or empty"); + result.error("FlutterShare:Package name cannot be null or empty", null, null); + return; + } + + ArrayList extraTextList = new ArrayList<>(); + + if (text != null && !text.isEmpty()) { + extraTextList.add(text); + } + if (linkUrl != null && !linkUrl.isEmpty()) { + extraTextList.add(linkUrl); + } + + String extraText = ""; + + if (!extraTextList.isEmpty()) { + extraText = TextUtils.join("\n\n", extraTextList); + } + + Intent intent = new Intent(); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.setAction(Intent.ACTION_SEND); + intent.setType("text/plain"); + intent.setPackage(packageName); + intent.putExtra("jid",phone + "@s.whatsapp.net"); + intent.putExtra(Intent.EXTRA_SUBJECT, title); + intent.putExtra(Intent.EXTRA_TEXT, extraText); + + //Intent chooserIntent = Intent.createChooser(intent, chooserTitle); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(intent); + + result.success(true); + } + catch (Exception ex) + { + Log.println(Log.ERROR, "", "FlutterShare: Error"); + result.error(ex.getMessage(), null, null); + } + } + + private void shareFile(MethodCall call, Result result) { + ArrayList filePaths = new ArrayList(); + ArrayList files = new ArrayList(); + try + { + String title = call.argument("title"); + String text = call.argument("text"); + filePaths = call.argument("filePath"); + String chooserTitle = call.argument("chooserTitle"); + String phone = call.argument("phone"); + String packageName = call.argument("package"); + + if (filePaths == null || filePaths.isEmpty()) + { + Log.println(Log.ERROR, "", "FlutterShare: ShareLocalFile Error: filePath null or empty"); + result.error("FlutterShare: FilePath cannot be null or empty", null, null); + return; + } else if(phone == null || phone.isEmpty()) + { Log.println(Log.ERROR, "", "FlutterShare Error: phone null or empty"); + result.error("FlutterShare: phone cannot be null or empty", null, null); + return; + } else if (packageName == null || packageName.isEmpty()) + { + Log.println(Log.ERROR, "", "FlutterShare Error: Package name null or empty"); + result.error("FlutterShare:Package name cannot be null or empty", null, null); + return; + } + + for(int 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 eP=M>wSs_`o~sAUNWI1^)+dwoi!w literal 0 HcmV?d00001 diff --git a/assets/gifs/flutter_share_ios.gif b/assets/gifs/flutter_share_ios.gif new file mode 100644 index 0000000000000000000000000000000000000000..c59a17ef5f3f9175281dfa08b64d541b01851148 GIT binary patch literal 79460 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 literal 0 HcmV?d00001 diff --git a/example/.fvm/flutter_sdk b/example/.fvm/flutter_sdk new file mode 120000 index 0000000..c9fc93d --- /dev/null +++ b/example/.fvm/flutter_sdk @@ -0,0 +1 @@ +C:/Users/Amit/fvm/versions/2.10.0 \ No newline at end of file diff --git a/example/.fvm/fvm_config.json b/example/.fvm/fvm_config.json new file mode 100644 index 0000000..30c9706 --- /dev/null +++ b/example/.fvm/fvm_config.json @@ -0,0 +1,4 @@ +{ + "flutterSdkVersion": "2.10.0", + "flavors": {} +} \ No newline at end of file diff --git a/example/.gitignore b/example/.gitignore new file mode 100644 index 0000000..24476c5 --- /dev/null +++ b/example/.gitignore @@ -0,0 +1,44 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/example/.metadata b/example/.metadata new file mode 100644 index 0000000..262ceed --- /dev/null +++ b/example/.metadata @@ -0,0 +1,45 @@ +# 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: 135454af32477f815a7525073027a3ff9eff1bfd + channel: stable + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: android + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: ios + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: linux + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: macos + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: web + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + - platform: windows + create_revision: 135454af32477f815a7525073027a3ff9eff1bfd + base_revision: 135454af32477f815a7525073027a3ff9eff1bfd + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/example/README.md b/example/README.md new file mode 100644 index 0000000..2b3fce4 --- /dev/null +++ b/example/README.md @@ -0,0 +1,16 @@ +# 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://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. diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml new file mode 100644 index 0000000..61b6c4d --- /dev/null +++ b/example/analysis_options.yaml @@ -0,0 +1,29 @@ +# 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 diff --git a/example/android/.gitignore b/example/android/.gitignore new file mode 100644 index 0000000..6f56801 --- /dev/null +++ b/example/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle new file mode 100644 index 0000000..0833ecf --- /dev/null +++ b/example/android/app/build.gradle @@ -0,0 +1,71 @@ +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" +} diff --git a/example/android/app/src/debug/AndroidManifest.xml b/example/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..45d523a --- /dev/null +++ b/example/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..ac71bb8 --- /dev/null +++ b/example/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + diff --git a/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt b/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt new file mode 100644 index 0000000..e793a00 --- /dev/null +++ b/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt @@ -0,0 +1,6 @@ +package com.example.example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/example/android/app/src/main/res/drawable-v21/launch_background.xml b/example/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/example/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/example/android/app/src/main/res/drawable/launch_background.xml b/example/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/example/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/example/android/app/src/main/res/values-night/styles.xml b/example/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/example/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/example/android/app/src/main/res/values/styles.xml b/example/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/example/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/example/android/app/src/main/res/xml/file_paths.xml b/example/android/app/src/main/res/xml/file_paths.xml new file mode 100644 index 0000000..6b889fe --- /dev/null +++ b/example/android/app/src/main/res/xml/file_paths.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/example/android/app/src/profile/AndroidManifest.xml b/example/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..45d523a --- /dev/null +++ b/example/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/example/android/build.gradle b/example/android/build.gradle new file mode 100644 index 0000000..69456e1 --- /dev/null +++ b/example/android/build.gradle @@ -0,0 +1,31 @@ +buildscript { + ext.kotlin_version = '1.9.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') +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/example/android/gradle.properties b/example/android/gradle.properties new file mode 100644 index 0000000..94adc3a --- /dev/null +++ b/example/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..cb24abd --- /dev/null +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +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 diff --git a/example/android/settings.gradle b/example/android/settings.gradle new file mode 100644 index 0000000..44e62bc --- /dev/null +++ b/example/android/settings.gradle @@ -0,0 +1,11 @@ +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" diff --git a/example/lib/main.dart b/example/lib/main.dart new file mode 100644 index 0000000..64f3487 --- /dev/null +++ b/example/lib/main.dart @@ -0,0 +1,123 @@ +import 'dart:async'; +import 'dart:developer'; +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:whatsapp_share/whatsapp_share.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:screenshot/screenshot.dart'; + +void main() => runApp(MyApp()); + +// ignore: must_be_immutable +class MyApp extends StatelessWidget { + final _controller = ScreenshotController(); + File? _image; + + MyApp({super.key}); + + Future share() async { + await WhatsappShare.share( + text: 'Example share text', + linkUrl: 'https://flutter.dev/', + phone: '911234567890', + ); + } + + Future shareFile() async { + await getImage(); + Directory? directory; + if (Platform.isAndroid) { + directory = await getExternalStorageDirectory(); + } else { + directory = await getApplicationDocumentsDirectory(); + } + debugPrint('${directory?.path} / ${_image?.path}'); + + await WhatsappShare.shareFile( + phone: '911234567890', + filePath: ["${_image?.path}"], + ); + } + + Future isInstalled() async { + final val = await WhatsappShare.isInstalled(package: Package.whatsapp); + debugPrint('Whatsapp is installed: $val'); + } + + Future shareScreenShot() async { + Directory? directory; + if (Platform.isAndroid) { + directory = await getExternalStorageDirectory(); + } else { + directory = await getApplicationDocumentsDirectory(); + } + + final String? localPath = + await _controller.captureAndSave(directory!.path); + + await Future.delayed(const Duration(seconds: 1)); + if (localPath == null) { + log("localPath is null"); + } + + await WhatsappShare.shareFile( + phone: '911234567890', + filePath: [localPath!], + ); + } + + @override + Widget build(BuildContext context) { + return MaterialApp( + home: Scaffold( + appBar: AppBar( + title: const Text('Whatsapp Share'), + ), + body: Center( + child: Screenshot( + controller: _controller, + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + ElevatedButton( + onPressed: share, + child: const Text('Share text and link'), + ), + ElevatedButton( + onPressed: shareFile, + child: const Text('Share Image'), + ), + ElevatedButton( + onPressed: shareScreenShot, + child: const Text('Share screenshot'), + ), + ElevatedButton( + onPressed: isInstalled, + child: const Text('is Installed'), + ), + ], + ), + ), + ), + ), + ); + } + + ///Pick Image From gallery using image_picker plugin + Future getImage() async { + try { + XFile? pickedFile = + // ignore: deprecated_member_use + await ImagePicker().pickImage(source: ImageSource.gallery); + + if (pickedFile != null) { + _image = File(pickedFile.path); + } else {} + } catch (er) { + log(er.toString()); + } + } +} diff --git a/example/pubspec.lock b/example/pubspec.lock new file mode 100644 index 0000000..0d0e2b8 --- /dev/null +++ b/example/pubspec.lock @@ -0,0 +1,457 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + url: "https://pub.dev" + source: hosted + version: "1.17.2" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: fd832b5384d0d6da4f6df60b854d33accaaeb63aa9e10e736a87381f08dee2cb + url: "https://pub.dev" + source: hosted + version: "0.3.3+5" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + url: "https://pub.dev" + source: hosted + version: "1.0.6" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + file_picker: + dependency: "direct main" + description: + name: file_picker + sha256: be325344c1f3070354a1d84a231a1ba75ea85d413774ec4bdf444c023342e030 + url: "https://pub.dev" + source: hosted + version: "5.5.0" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + url: "https://pub.dev" + source: hosted + version: "0.9.2+1" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: "182c3f8350cee659f7b115e956047ee3dc672a96665883a545e81581b9a82c72" + url: "https://pub.dev" + source: hosted + version: "0.9.3+2" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262" + url: "https://pub.dev" + source: hosted + version: "2.6.1" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + url: "https://pub.dev" + source: hosted + version: "0.9.3+1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 + url: "https://pub.dev" + source: hosted + version: "2.0.3" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: f185ac890306b5779ecbd611f52502d8d4d63d27703ef73161ca0407e815f02c + url: "https://pub.dev" + source: hosted + version: "2.0.16" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + http: + dependency: transitive + description: + name: http + sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + image_picker: + dependency: "direct main" + description: + name: image_picker + sha256: b6951e25b795d053a6ba03af5f710069c99349de9341af95155d52665cb4607c + url: "https://pub.dev" + source: hosted + version: "0.8.9" + image_picker_android: + dependency: transitive + description: + name: image_picker_android + sha256: d32a997bcc4ee135aebca8e272b7c517927aa65a74b9c60a81a2764ef1a0462d + url: "https://pub.dev" + source: hosted + version: "0.8.7+5" + image_picker_for_web: + dependency: transitive + description: + name: image_picker_for_web + sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + image_picker_ios: + dependency: transitive + description: + name: image_picker_ios + sha256: c5538cacefacac733c724be7484377923b476216ad1ead35a0d2eadcdc0fc497 + url: "https://pub.dev" + source: hosted + version: "0.8.8+2" + image_picker_linux: + dependency: transitive + description: + name: image_picker_linux + sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_macos: + dependency: transitive + description: + name: image_picker_macos + sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514 + url: "https://pub.dev" + source: hosted + version: "2.9.1" + image_picker_windows: + dependency: transitive + description: + name: image_picker_windows + sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + js: + dependency: transitive + description: + name: js + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" + source: hosted + version: "0.6.7" + lints: + dependency: transitive + description: + name: lints + sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + matcher: + dependency: transitive + description: + name: matcher + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + url: "https://pub.dev" + source: hosted + version: "0.12.16" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + meta: + dependency: transitive + description: + name: meta + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" + source: hosted + version: "1.0.4" + path: + dependency: transitive + description: + name: path + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" + source: hosted + version: "1.8.3" + path_provider: + dependency: "direct main" + description: + name: path_provider + sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + url: "https://pub.dev" + source: hosted + version: "2.1.1" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: "6b8b19bd80da4f11ce91b2d1fb931f3006911477cec227cce23d3253d80df3f1" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + url: "https://pub.dev" + source: hosted + version: "2.3.1" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + url: "https://pub.dev" + source: hosted + version: "2.2.1" + platform: + dependency: transitive + description: + name: platform + sha256: ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + url: "https://pub.dev" + source: hosted + version: "2.1.6" + screenshot: + dependency: "direct main" + description: + name: screenshot + sha256: "455284ff1f5b911d94a43c25e1385485cf6b4f288293eba68f15dad711c7b81c" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + url: "https://pub.dev" + source: hosted + version: "0.6.0" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" + whatsapp_share: + dependency: "direct main" + description: + path: ".." + relative: true + source: path + version: "2.0.1" + win32: + dependency: transitive + description: + name: win32 + sha256: "9e82a402b7f3d518fb9c02d0e9ae45952df31b9bf34d77baf19da2de03fc2aaa" + url: "https://pub.dev" + source: hosted + version: "5.0.7" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + url: "https://pub.dev" + source: hosted + version: "1.0.3" +sdks: + dart: ">=3.1.0-185.0.dev <4.0.0" + flutter: ">=3.10.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml new file mode 100644 index 0000000..82107b2 --- /dev/null +++ b/example/pubspec.yaml @@ -0,0 +1,98 @@ +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 is used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +# In Windows, build-name is used as the major, minor, and patch parts +# of the product and file versions while build-number is used as the build suffix. +version: 1.0.0+1 + +environment: + sdk: '>=2.18.6 <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: + screenshot: ^2.1.0 + path_provider: ^2.1.1 + image_picker: ^0.8.6+1 + file_picker: ^5.2.5 + + whatsapp_share: + path: ../ + flutter: + sdk: flutter + + + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^1.0.5 + +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: ^2.0.1 + +# 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 packages. +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 diff --git a/flutter_share.iml b/flutter_share.iml new file mode 100644 index 0000000..73e7ebd --- /dev/null +++ b/flutter_share.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/flutter_share_android.iml b/flutter_share_android.iml new file mode 100644 index 0000000..ac5d744 --- /dev/null +++ b/flutter_share_android.iml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/whatsapp_share.dart b/lib/whatsapp_share.dart new file mode 100644 index 0000000..e8faff1 --- /dev/null +++ b/lib/whatsapp_share.dart @@ -0,0 +1,94 @@ +import 'dart:async'; + +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; + +/// Select Whatsapp Type +enum Package { whatsapp, businessWhatsapp } + +class WhatsappShare { + static const MethodChannel _channel = MethodChannel('whatsapp_share'); + + /// Checks whether whatsapp is installed in device or not + /// + /// [Package] is optional enum parameter which is defualt to [Package.whatsapp] + /// for business whatsapp set it to [Package.businessWhatsapp], it cannot be null + /// + /// return true if installed otherwise false. + static Future isInstalled({Package package = Package.whatsapp}) async { + String _package; + _package = package.index == 0 ? "com.whatsapp" : "com.whatsapp.w4b"; + final bool? success = + await _channel.invokeMethod('isInstalled', { + "package": _package, + }); + return success; + } + + /// Shares a message or/and link url with whatsapp. + /// - Text: Is the [text] of the message. + /// - LinkUrl: Is the [linkUrl] to include with the message. + /// - Phone: is the [phone] contact number to share with. + + static Future share({ + required String phone, + String? text, + String? linkUrl, + Package package = Package.whatsapp, + }) async { + assert(phone.isNotEmpty); + + String _package; + _package = package.index == 0 ? "com.whatsapp" : "com.whatsapp.w4b"; + + final bool? success = + await _channel.invokeMethod('share', { + 'title': ' ', + 'text': text, + 'linkUrl': linkUrl, + 'chooserTitle': ' ', + 'phone': phone, + 'package': _package, + }); + + return success; + } + + /// Shares a local file with whatsapp. + /// - Text: Is the [text] of the message. + /// - FilePath: Is the List of paths which can be prefilled. + /// - Phone: is the [phone] contact number to share with. + static Future shareFile({ + required List filePath, + required String phone, + @Deprecated( + "No support for text along with files, this field is ignored") + String? text, + Package package = Package.whatsapp, + }) async { + assert(filePath.isNotEmpty); + assert(phone.isNotEmpty); + + if (filePath.isEmpty) { + throw FlutterError('FilePath cannot be Empty'); + } else if (phone.isEmpty) { + throw FlutterError('Phone cannot be Empty'); + } + + String _package; + _package = package.index == 0 ? "com.whatsapp" : "com.whatsapp.w4b"; + + final bool? success = + await _channel.invokeMethod('shareFile', { + 'title': ' ', + 'text': ' ', + 'filePath': filePath, + 'chooserTitle': ' ', + 'phone': phone, + 'package': _package, + }); + + return success; + } +} diff --git a/pubspec.lock b/pubspec.lock new file mode 100644 index 0000000..850d1d1 --- /dev/null +++ b/pubspec.lock @@ -0,0 +1,165 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + url: "https://pub.dev" + source: hosted + version: "1.17.2" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + url: "https://pub.dev" + source: hosted + version: "0.12.16" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + meta: + dependency: transitive + description: + name: meta + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + path: + dependency: transitive + description: + name: path + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" + source: hosted + version: "1.8.3" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + url: "https://pub.dev" + source: hosted + version: "0.6.0" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" +sdks: + dart: ">=3.1.0-185.0.dev <4.0.0" + flutter: ">=1.20.0" diff --git a/pubspec.yaml b/pubspec.yaml new file mode 100644 index 0000000..ded9e88 --- /dev/null +++ b/pubspec.yaml @@ -0,0 +1,26 @@ +name: whatsapp_share +description: Simple way to share message, links or files from your flutter app to specific contact in whatsapp +version: 2.0.2 +homepage: https://github.com/amitpatil215/whatsapp_share + + + +dependencies: + flutter: + sdk: flutter + +flutter: + plugin: + platforms: + android: + package: com.example.whatsapp_share + pluginClass: WhatsappShare + +dev_dependencies: + flutter_test: + sdk: flutter + + +environment: + sdk: '>=2.12.0 <4.0.0' + flutter: ">=1.20.0" \ No newline at end of file