├── plugins ├── nkn-sdk-flutter │ ├── ios │ │ ├── Assets │ │ │ └── .gitkeep │ │ ├── Classes │ │ │ ├── NknSdkFlutterPlugin.h │ │ │ ├── IChannelHandler.swift │ │ │ ├── SwiftNknSdkFlutterPlugin.swift │ │ │ ├── Extension.swift │ │ │ └── NknSdkFlutterPlugin.m │ │ ├── .gitignore │ │ └── nkn_sdk_flutter.podspec │ ├── android │ │ ├── settings.gradle │ │ ├── gradle.properties │ │ ├── src │ │ │ └── main │ │ │ │ └── AndroidManifest.xml │ │ ├── .gitignore │ │ └── gradle │ │ │ └── wrapper │ │ │ └── gradle-wrapper.properties │ ├── lib │ │ ├── configure.dart │ │ ├── nkn_sdk.dart │ │ └── utils │ │ │ └── hex.dart │ ├── .gitignore │ └── .metadata └── sqflite_sqlcipher-fmdb_override │ ├── sqflite │ ├── ios │ │ ├── Assets │ │ │ └── .gitkeep │ │ ├── .gitignore │ │ ├── Classes │ │ │ └── SqflitePlugin.h │ │ └── sqflite.podspec │ ├── android │ │ ├── settings.gradle │ │ ├── gradle.properties │ │ ├── src │ │ │ ├── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── tekartik │ │ │ │ │ └── sqflite │ │ │ │ │ ├── operation │ │ │ │ │ ├── OperationResult.java │ │ │ │ │ ├── Operation.java │ │ │ │ │ ├── BaseOperation.java │ │ │ │ │ └── SqlErrorInfo.java │ │ │ │ │ ├── LogLevel.java │ │ │ │ │ └── dev │ │ │ │ │ └── Debug.java │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tekartik │ │ │ │ └── sqflite │ │ │ │ ├── ConstantTest.java │ │ │ │ └── LogLevelTest.java │ │ ├── .gitignore │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ └── gradle-wrapper.properties │ │ └── build.gradle │ ├── lib │ │ ├── src │ │ │ ├── batch.dart │ │ │ ├── mixin.dart │ │ │ ├── services_impl.dart │ │ │ ├── utils.dart │ │ │ ├── compat.dart │ │ │ ├── factory.dart │ │ │ ├── constant.dart │ │ │ ├── database.dart │ │ │ ├── dev_utils.dart │ │ │ ├── env_utils.dart │ │ │ ├── exception.dart │ │ │ ├── open_options.dart │ │ │ ├── sql_builder.dart │ │ │ ├── transaction.dart │ │ │ ├── value_utils.dart │ │ │ ├── database_mixin.dart │ │ │ ├── factory_mixin.dart │ │ │ ├── mixin │ │ │ │ ├── constant.dart │ │ │ │ └── factory.dart │ │ │ ├── collection_utils.dart │ │ │ ├── sqflite_impl.dart │ │ │ └── exception_impl.dart │ │ ├── sqlite_api.dart │ │ ├── utils │ │ │ └── utils.dart │ │ ├── sql.dart │ │ └── sqflite_dev.dart │ ├── example │ │ ├── ios │ │ │ ├── Runner │ │ │ │ ├── Runner-Bridging-Header.h │ │ │ │ ├── Assets.xcassets │ │ │ │ │ ├── LaunchImage.imageset │ │ │ │ │ │ ├── LaunchImage.png │ │ │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ │ ├── Icon-App-20x20@1x.png │ │ │ │ │ │ ├── Icon-App-20x20@2x.png │ │ │ │ │ │ ├── Icon-App-20x20@3x.png │ │ │ │ │ │ ├── Icon-App-29x29@1x.png │ │ │ │ │ │ ├── Icon-App-29x29@2x.png │ │ │ │ │ │ ├── Icon-App-29x29@3x.png │ │ │ │ │ │ ├── Icon-App-40x40@1x.png │ │ │ │ │ │ ├── Icon-App-40x40@2x.png │ │ │ │ │ │ ├── Icon-App-40x40@3x.png │ │ │ │ │ │ ├── Icon-App-60x60@2x.png │ │ │ │ │ │ ├── Icon-App-60x60@3x.png │ │ │ │ │ │ ├── Icon-App-76x76@1x.png │ │ │ │ │ │ ├── Icon-App-76x76@2x.png │ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ │ │ └── AppDelegate.swift │ │ │ └── .gitignore │ │ ├── android │ │ │ ├── app │ │ │ │ ├── gradle.properties │ │ │ │ └── src │ │ │ │ │ ├── main │ │ │ │ │ ├── res │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ └── values │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── java │ │ │ │ │ │ └── com │ │ │ │ │ │ └── tekartik │ │ │ │ │ │ └── sqfliteexample │ │ │ │ │ │ └── MainActivity.java │ │ │ │ │ ├── androidTest │ │ │ │ │ └── java │ │ │ │ │ │ └── com │ │ │ │ │ │ └── tekartik │ │ │ │ │ │ └── sqflite │ │ │ │ │ │ └── TestSqflitePlugin.java │ │ │ │ │ ├── profile │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ └── debug │ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── gradle.properties │ │ │ ├── gradle │ │ │ │ └── wrapper │ │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── .gitignore │ │ │ ├── settings.gradle │ │ │ └── build.gradle │ │ ├── macos │ │ │ ├── Runner │ │ │ │ ├── Configs │ │ │ │ │ ├── Debug.xcconfig │ │ │ │ │ ├── Release.xcconfig │ │ │ │ │ ├── Warnings.xcconfig │ │ │ │ │ └── AppInfo.xcconfig │ │ │ │ ├── Assets.xcassets │ │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ │ ├── app_icon_128.png │ │ │ │ │ │ ├── app_icon_16.png │ │ │ │ │ │ ├── app_icon_256.png │ │ │ │ │ │ ├── app_icon_32.png │ │ │ │ │ │ ├── app_icon_512.png │ │ │ │ │ │ ├── app_icon_64.png │ │ │ │ │ │ └── app_icon_1024.png │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Release.entitlements │ │ │ │ ├── DebugProfile.entitlements │ │ │ │ └── MainFlutterWindow.swift │ │ │ └── .gitignore │ │ ├── assets │ │ │ ├── example.db │ │ │ └── issue_64.db │ │ ├── lib │ │ │ ├── src │ │ │ │ ├── common_import.dart │ │ │ │ └── dev_utils.dart │ │ │ ├── utils.dart │ │ │ ├── deprecated_test_page.dart │ │ │ ├── model │ │ │ │ ├── test.dart │ │ │ │ └── main_item.dart │ │ │ └── database │ │ │ │ └── database.dart │ │ ├── test_driver │ │ │ └── integration_test.dart │ │ ├── tool │ │ │ ├── android_uninstall.dart │ │ │ ├── build_macos.dart │ │ │ ├── build_ios.dart │ │ │ ├── run_integration_test.dart │ │ │ └── android_sqflite_logcat.dart │ │ ├── .gitignore │ │ ├── README.md │ │ └── test │ │ │ ├── example_test.dart │ │ │ └── main │ │ │ └── test_main.dart │ ├── doc │ │ ├── web_support.md │ │ ├── desktop_support.md │ │ ├── encryption_support.md │ │ ├── how_to.md │ │ ├── deleting_db.md │ │ ├── external.md │ │ └── perf.md │ ├── test │ │ ├── no_flutter_test_.dart │ │ ├── no_flutter_main.dart │ │ ├── sqlite_api_test.dart │ │ ├── sql_test.dart │ │ └── src_mixin_factory_test.dart │ ├── .gitignore │ ├── macos │ │ ├── Classes │ │ │ └── SqflitePlugin.h │ │ └── sqflite.podspec │ └── pubspec.yaml │ ├── sqflite_common │ ├── lib │ │ ├── src │ │ │ ├── log_level.dart │ │ │ ├── mixin │ │ │ │ ├── constant.dart │ │ │ │ └── dev_utils.dart │ │ │ ├── mixin.dart │ │ │ ├── dev_utils.dart │ │ │ ├── env_utils.dart │ │ │ ├── arg_utils.dart │ │ │ ├── transaction.dart │ │ │ ├── sqflite_debug.dart │ │ │ └── method_call.dart │ │ ├── sql.dart │ │ └── sqflite_dev.dart │ ├── example │ │ └── main.dart │ ├── .gitignore │ ├── test │ │ ├── sql_test.dart │ │ └── sqlite_api_test.dart │ ├── pubspec.yaml │ ├── CHANGELOG.md │ └── README.md │ ├── sqflite_common_ffi │ ├── lib │ │ ├── src │ │ │ ├── import.dart │ │ │ ├── constant.dart │ │ │ ├── windows │ │ │ │ ├── sqlite3.dll │ │ │ │ └── sqlite3_version.md │ │ │ ├── sqflite_ffi.dart │ │ │ ├── mixin │ │ │ │ └── handler_mixin.dart │ │ │ ├── env_utils.dart │ │ │ ├── sqflite_import.dart │ │ │ └── method_call.dart │ │ └── sqflite_ffi.dart │ ├── tool │ │ ├── linux_setup.dart │ │ └── travis.dart │ ├── doc │ │ └── troubleshooting.md │ ├── test │ │ ├── sqflite_ffi_import_test.dart │ │ ├── sqflite3_raw_test.dart │ │ ├── handler_mixin_test.dart │ │ ├── sqflite_ffi_windows_test.dart │ │ └── setup_impl_test.dart │ ├── pubspec.yaml │ ├── CHANGELOG.md │ └── example │ │ └── main.dart │ ├── sqflite_common_test │ ├── CHANGELOG.md │ ├── .gitignore │ ├── lib │ │ ├── src │ │ │ ├── core_import.dart │ │ │ └── sqflite_import.dart │ │ ├── database_factory_mock_test.dart │ │ └── database_factory_mock.dart │ ├── test │ │ ├── setup_impl_test.dart │ │ ├── sqflite_ffi_test.dart │ │ └── sqflite_ffi_no_isolate_test.dart │ ├── pubspec.yaml │ └── README.md │ ├── sqflite_support │ ├── tool │ │ ├── setup_linux_env.sh │ │ ├── setup_env.dart │ │ ├── run_ci.dart │ │ ├── copy_ios_code_to_macos.dart │ │ ├── copy_macos_code_to_ios.dart │ │ ├── tag.dart │ │ └── run_test.dart │ ├── .travis.yml │ └── pubspec.yaml │ ├── sqflite_test_app │ ├── lib │ │ ├── main_sqflite.dart │ │ ├── main.dart │ │ ├── main_web.dart │ │ ├── main_dev.dart │ │ ├── main_io.dart │ │ ├── src │ │ │ └── sqflite_web_sim.dart │ │ ├── setup_flutter.dart │ │ └── main_ffi.dart │ ├── tool │ │ ├── run_integration_test_linux.dart │ │ ├── run_integration_test_emulator_5554.dart │ │ ├── run_flutter_driver_test.dart │ │ ├── run_flutter_driver_linux_test.dart │ │ ├── run_flutter_driver_macos_test.dart │ │ ├── run_flutter_driver_windows_test.dart │ │ ├── flutter_create.dart │ │ ├── flutter_run_linux.dart │ │ ├── run_integration_test.dart │ │ └── travis.dart │ ├── test_driver │ │ ├── integration_test.dart │ │ └── main_test.dart │ ├── .metadata │ ├── test │ │ ├── widget_test.dart │ │ ├── sqflite_ffi_test.dart │ │ ├── ffi_create_and_exit_main.dart │ │ └── sqflite_flutter_ffi_test.dart │ └── .gitignore │ ├── .travis.yml │ └── README.md ├── assets ├── logo.png ├── chat │ ├── chat-id.png │ ├── group.png │ ├── messages.png │ ├── group-blue.png │ ├── invisit-blue.png │ ├── send-message.png │ └── send.svg ├── ic-launcher.png ├── wallet │ ├── pig.png │ ├── create-wallet.png │ └── transfer-header.png ├── launcher │ └── icon.png ├── contact │ ├── xiaohui.png │ └── no-contact.png ├── header-background.png ├── splash │ ├── splash@1x.png │ ├── splash@2x.png │ └── splash@3x.png ├── icons │ ├── down.svg │ ├── down2.svg │ ├── right.svg │ ├── check2.svg │ ├── close.svg │ ├── news-share.svg │ ├── news.svg │ ├── calendar.svg │ ├── copy.svg │ ├── more.svg │ ├── search.svg │ ├── wallet.svg │ ├── user-plus.svg │ ├── key.svg │ ├── lock.svg │ ├── user.svg │ ├── pin.svg │ ├── trash.svg │ ├── pencil.svg │ ├── user-delete.svg │ ├── addbook.svg │ ├── image.svg │ ├── check.svg │ ├── eye.svg │ ├── chat.svg │ ├── microphone.svg │ ├── group.svg │ ├── camera.svg │ ├── notification-bell.svg │ ├── share.svg │ └── send.svg ├── back-arrow.svg └── ethereum-logo.svg ├── android ├── golib │ └── build.gradle ├── app │ └── src │ │ ├── main │ │ ├── res │ │ │ ├── drawable │ │ │ │ ├── splash.png │ │ │ │ └── launch_background.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ ├── xml │ │ │ │ └── network_security_config.xml │ │ │ └── drawable-v21 │ │ │ │ └── launch_background.xml │ │ └── kotlin │ │ │ └── org │ │ │ └── nkn │ │ │ └── mobile │ │ │ └── app │ │ │ └── push │ │ │ └── apns │ │ │ ├── internal │ │ │ └── Constants.java │ │ │ ├── exceptions │ │ │ └── CertificateEnvironmentMismatchException.java │ │ │ └── notification │ │ │ └── NotificationResponseListener.java │ │ ├── debug │ │ └── AndroidManifest.xml │ │ └── profile │ │ └── AndroidManifest.xml ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties ├── .gitignore └── settings.gradle.kts ├── icons ├── android │ ├── ic_launcher.png │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ ├── mipmap-ldpi │ │ └── ic_launcher.png │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ └── mipmap-xxxhdpi │ │ └── ic_launcher.png └── ios │ └── AppIcon.appiconset │ ├── icon-29.png │ ├── icon-40.png │ ├── icon-76.png │ ├── icon-1024.png │ ├── icon-20@2x.png │ ├── icon-20@3x.png │ ├── icon-29@2x.png │ ├── icon-29@3x.png │ ├── icon-40@2x.png │ ├── icon-40@3x.png │ ├── icon-60@2x.png │ ├── icon-60@3x.png │ ├── icon-76@2x.png │ ├── icon-20-ipad.png │ ├── icon-29-ipad.png │ ├── icon-83.5@2x.png │ ├── icon-20@2x-ipad.png │ └── icon-29@2x-ipad.png ├── golib ├── .gitignore ├── gomobile.go ├── message.go └── client.go ├── ios ├── Flutter │ ├── Debug.xcconfig │ ├── Release.xcconfig │ └── AppFrameworkInfo.plist ├── Classes │ ├── Push2 │ │ ├── APNsPort.swift │ │ ├── APNsServer.swift │ │ └── APNsKit.h │ ├── CommonOc.h │ └── Push │ │ └── APNSPushService.h ├── Runner │ ├── Runner-Bridging-Header.h │ ├── Assets.xcassets │ │ ├── LaunchImage.imageset │ │ │ ├── splash@1x.png │ │ │ ├── splash@2x.png │ │ │ ├── splash@3x.png │ │ │ ├── README.md │ │ │ └── Contents.json │ │ └── AppIcon.appiconset │ │ │ ├── Icon-App-20x20@1x.png │ │ │ ├── Icon-App-20x20@2x.png │ │ │ ├── Icon-App-20x20@3x.png │ │ │ ├── Icon-App-29x29@1x.png │ │ │ ├── Icon-App-29x29@2x.png │ │ │ ├── Icon-App-29x29@3x.png │ │ │ ├── Icon-App-40x40@1x.png │ │ │ ├── Icon-App-40x40@2x.png │ │ │ ├── Icon-App-40x40@3x.png │ │ │ ├── Icon-App-60x60@2x.png │ │ │ ├── Icon-App-60x60@3x.png │ │ │ ├── Icon-App-76x76@1x.png │ │ │ ├── Icon-App-76x76@2x.png │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ └── Icon-App-83.5x83.5@2x.png │ └── Runner.entitlements ├── Runner.xcodeproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ ├── WorkspaceSettings.xcsettings │ │ └── IDEWorkspaceChecks.plist ├── Runner.xcworkspace │ ├── xcshareddata │ │ ├── WorkspaceSettings.xcsettings │ │ └── IDEWorkspaceChecks.plist │ └── contents.xcworkspacedata ├── Share Extension │ └── Share Extension.entitlements └── .gitignore ├── lib ├── components │ └── tip │ │ └── toast.dart ├── blocs │ ├── settings │ │ ├── settings_event.dart │ │ ├── settings_state.dart │ │ └── settings_bloc.dart │ └── wallet │ │ ├── wallet_state.dart │ │ └── wallet_event.dart ├── utils │ └── map_extension.dart ├── helpers │ └── tweetnacl │ │ └── keypair.dart ├── routes │ ├── chat.dart │ ├── topic.dart │ ├── private_group.dart │ ├── home.dart │ ├── contact.dart │ └── settings.dart ├── native │ ├── dns_resolver.dart │ ├── eth_resolver.dart │ └── crypto.dart └── common │ └── db │ └── upgrade2to3.dart ├── .metadata └── .gitignore /plugins/nkn-sdk-flutter/ios/Assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/ios/Assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/logo.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/src/log_level.dart: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'nkn_sdk_flutter' 2 | -------------------------------------------------------------------------------- /assets/chat/chat-id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/chat/chat-id.png -------------------------------------------------------------------------------- /assets/chat/group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/chat/group.png -------------------------------------------------------------------------------- /assets/ic-launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/ic-launcher.png -------------------------------------------------------------------------------- /assets/wallet/pig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/wallet/pig.png -------------------------------------------------------------------------------- /assets/chat/messages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/chat/messages.png -------------------------------------------------------------------------------- /assets/launcher/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/launcher/icon.png -------------------------------------------------------------------------------- /assets/chat/group-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/chat/group-blue.png -------------------------------------------------------------------------------- /assets/chat/invisit-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/chat/invisit-blue.png -------------------------------------------------------------------------------- /assets/chat/send-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/chat/send-message.png -------------------------------------------------------------------------------- /assets/contact/xiaohui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/contact/xiaohui.png -------------------------------------------------------------------------------- /assets/header-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/header-background.png -------------------------------------------------------------------------------- /assets/splash/splash@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/splash/splash@1x.png -------------------------------------------------------------------------------- /assets/splash/splash@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/splash/splash@2x.png -------------------------------------------------------------------------------- /assets/splash/splash@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/splash/splash@3x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'sqflite' 2 | -------------------------------------------------------------------------------- /android/golib/build.gradle: -------------------------------------------------------------------------------- 1 | configurations.maybeCreate("default") 2 | artifacts.add("default", file('nkn.aar')) -------------------------------------------------------------------------------- /assets/contact/no-contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/contact/no-contact.png -------------------------------------------------------------------------------- /icons/android/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/android/ic_launcher.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | 3 | -------------------------------------------------------------------------------- /assets/wallet/create-wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/wallet/create-wallet.png -------------------------------------------------------------------------------- /assets/wallet/transfer-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/assets/wallet/transfer-header.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/batch.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/batch.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/mixin.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/mixin.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/services_impl.dart: -------------------------------------------------------------------------------- 1 | export 'package:flutter/services.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/utils.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/utils.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/sqlite_api.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/sqlite_api.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/compat.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/compat.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/factory.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/factory.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/utils/utils.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/utils/utils.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/constant.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/constant.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/database.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/database.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/dev_utils.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/dev_utils.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/env_utils.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/env_utils.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/exception.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/exception.dart'; 2 | -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-29.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-40.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-76.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/open_options.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/open_options.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/sql_builder.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/sql_builder.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/transaction.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/transaction.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/value_utils.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/value_utils.dart'; 2 | -------------------------------------------------------------------------------- /golib/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | vendor 3 | *~ 4 | .DS_Store 5 | 6 | /build 7 | *.framework 8 | *.aar 9 | *.jar 10 | 11 | gomobile -------------------------------------------------------------------------------- /icons/android/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/android/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /icons/android/mipmap-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/android/mipmap-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /icons/android/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/android/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /icons/android/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/android/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /icons/android/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/android/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-1024.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-20@2x.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-20@3x.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-29@2x.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-29@3x.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-40@2x.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-40@3x.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-60@2x.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-60@3x.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-76@2x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/database_mixin.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/database_mixin.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/factory_mixin.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/factory_mixin.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/mixin/constant.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/mixin/constant.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/mixin/factory.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/mixin/factory.dart'; 2 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/drawable/splash.png -------------------------------------------------------------------------------- /icons/android/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/android/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-20-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-20-ipad.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-29-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-29-ipad.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-83.5@2x.png -------------------------------------------------------------------------------- /ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/gradle.properties: -------------------------------------------------------------------------------- 1 | android.enableJetifier=true 2 | android.useAndroidX=true -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/collection_utils.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/collection_utils.dart'; 2 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/src/import.dart: -------------------------------------------------------------------------------- 1 | export 'env_utils.dart'; 2 | export 'sqflite_import.dart'; 3 | -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-20@2x-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-20@2x-ipad.png -------------------------------------------------------------------------------- /icons/ios/AppIcon.appiconset/icon-29@2x-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/icons/ios/AppIcon.appiconset/icon-29@2x-ipad.png -------------------------------------------------------------------------------- /ios/Classes/Push2/APNsPort.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public enum APNsPort: Int { 4 | case p443 = 443 5 | case p2197 = 2197 6 | } 7 | -------------------------------------------------------------------------------- /ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" 2 | #include "Generated.xcconfig" 3 | -------------------------------------------------------------------------------- /ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | 3 | #import "CommonOc.h" 4 | 5 | #import "APNSPushService.h" 6 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/lib/configure.dart: -------------------------------------------------------------------------------- 1 | import 'package:logger/logger.dart'; 2 | 3 | class Configure { 4 | static dynamic logger = Logger(); 5 | } 6 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## [0.0.1] - TODO: Add release date. 2 | 3 | * TODO: Describe initial release. 4 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/src/mixin/constant.dart: -------------------------------------------------------------------------------- 1 | export 'package:sqflite_common/src/constant.dart' hide methodSetDebugModeOn; 2 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/ios/Classes/NknSdkFlutterPlugin.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface NknSdkFlutterPlugin : NSObject 4 | @end 5 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/splash@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/LaunchImage.imageset/splash@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/splash@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/LaunchImage.imageset/splash@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/splash@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/LaunchImage.imageset/splash@3x.png -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Configs/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Debug.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_support/tool/setup_linux_env.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | sudo apt-get update -y 3 | sudo apt-get install -y ninja-build libgtk-3-dev -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Configs/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../Flutter/Flutter-Release.xcconfig" 2 | #include "Warnings.xcconfig" 3 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/src/constant.dart: -------------------------------------------------------------------------------- 1 | // const sqliteErrorCode = 'sqlite_error'; 2 | /// Error code. 3 | const anyErrorCode = 'error'; 4 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/lib/main_sqflite.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite_example/main.dart' as example; 2 | 3 | void main() { 4 | example.main(); 5 | } 6 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/android/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | 10 | /golib/ -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/.gitignore: -------------------------------------------------------------------------------- 1 | # Flutter-related 2 | **/Flutter/ephemeral/ 3 | **/Pods/ 4 | 5 | # Xcode-related 6 | **/dgph 7 | **/xcuserdata/ 8 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/assets/example.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/assets/example.db -------------------------------------------------------------------------------- /assets/icons/down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/ios/Classes/IChannelHandler.swift: -------------------------------------------------------------------------------- 1 | protocol IChannelHandler { 2 | mutating func install(binaryMessenger: FlutterBinaryMessenger) 3 | mutating func uninstall() 4 | } 5 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/assets/issue_64.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/assets/issue_64.db -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .dart_tool/ 3 | pubspec.lock 4 | .packages 5 | .pub/ 6 | .flutter-plugins 7 | 8 | build/ 9 | 10 | 11 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/lib/src/core_import.dart: -------------------------------------------------------------------------------- 1 | //export 'package:sqflite_ffi_test/src/import.dart'; 2 | export 'package:sqflite_common_test/sqflite_test.dart'; 3 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'main_io.dart' if (dart.library.html) 'main_web.dart' as impl; 2 | 3 | Future main() async { 4 | impl.main(); 5 | } 6 | -------------------------------------------------------------------------------- /ios/Classes/Push2/APNsServer.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | 3 | public enum APNsServer: String { 4 | case development = "api.development.push.apple.com" 5 | case production = "api.push.apple.com" 6 | } 7 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/lib/nkn_sdk.dart: -------------------------------------------------------------------------------- 1 | import 'package:nkn_sdk_flutter/configure.dart'; 2 | 3 | class NknSdk { 4 | static config({logger}) { 5 | if (logger != null) Configure.logger = logger; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/lib/src/common_import.dart: -------------------------------------------------------------------------------- 1 | export 'dart:async'; 2 | export 'dart:convert'; 3 | 4 | export 'package:collection/collection.dart'; 5 | 6 | export 'dev_utils.dart'; 7 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | android.enableR8=true -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/example/main.dart: -------------------------------------------------------------------------------- 1 | Future main() async { 2 | /// This package is not intended for direct use. 3 | /// 4 | /// See [sqflite](https://pub.dev/packages/sqflite) 5 | } 6 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/src/windows/sqlite3.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/src/windows/sqlite3.dll -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/tool/run_integration_test_linux.dart: -------------------------------------------------------------------------------- 1 | import 'run_integration_test.dart'; 2 | 3 | Future main() async { 4 | await runIntegrationTest(deviceId: 'linux'); 5 | } 6 | -------------------------------------------------------------------------------- /lib/components/tip/toast.dart: -------------------------------------------------------------------------------- 1 | import 'package:bot_toast/bot_toast.dart'; 2 | 3 | class Toast { 4 | static show(String? text) { 5 | if (text == null || text.isEmpty) return; 6 | BotToast.showText(text: text); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/src/mixin.dart: -------------------------------------------------------------------------------- 1 | /// Sqflite mixins 2 | /// 3 | /// Warning the API here are exposed to external implementation 4 | export 'database_mixin.dart'; 5 | export 'factory_mixin.dart'; 6 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/src/mixin/dev_utils.dart: -------------------------------------------------------------------------------- 1 | // ignore: deprecated_member_use, deprecated_member_use_from_same_package 2 | export 'package:sqflite_common/src/dev_utils.dart' show devPrint, devWarning; 3 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/tool/run_integration_test_emulator_5554.dart: -------------------------------------------------------------------------------- 1 | import 'run_integration_test.dart'; 2 | 3 | Future main() async { 4 | await runIntegrationTest(deviceId: 'emulator-5554'); 5 | } 6 | -------------------------------------------------------------------------------- /lib/blocs/settings/settings_event.dart: -------------------------------------------------------------------------------- 1 | abstract class SettingsEvent { 2 | const SettingsEvent(); 3 | } 4 | 5 | class UpdateLanguage extends SettingsEvent { 6 | final String lang; 7 | 8 | const UpdateLanguage(this.lang); 9 | } 10 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/lib/utils.dart: -------------------------------------------------------------------------------- 1 | export 'dart:io' hide sleep; 2 | 3 | /// Usage: await sleep(500); 4 | Future sleep([int milliseconds = 0]) => 5 | Future.delayed(Duration(milliseconds: milliseconds)); 6 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/src/windows/sqlite3_version.md: -------------------------------------------------------------------------------- 1 | * v3.38.2 2 | * https://www.sqlite.org/2022/sqlite-dll-win64-x64-3380200.zip 3 | * sha3: `9f71eec9a2c7f12602eaa2af76bd7c052e540502ae7a89dac540e10962e2fa35` -------------------------------------------------------------------------------- /assets/icons/down2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/sql.dart: -------------------------------------------------------------------------------- 1 | // Only export: 2 | // * [ConflictAlgorithm] 3 | // * [escapeName] 4 | // * [unescapeName] 5 | export 'package:sqflite/src/sql_builder.dart' 6 | show ConflictAlgorithm, escapeName, unescapeName; 7 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | 10 | gradle-wrapper.jar 11 | /gradlew 12 | /gradlew.bat 13 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/test_driver/integration_test.dart: -------------------------------------------------------------------------------- 1 | // ignore: import_of_legacy_library_into_null_safe 2 | import 'package:integration_test/integration_test_driver.dart'; 3 | 4 | Future main() => integrationDriver(); 5 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/test_driver/integration_test.dart: -------------------------------------------------------------------------------- 1 | // ignore: import_of_legacy_library_into_null_safe 2 | import 'package:integration_test/integration_test_driver.dart'; 3 | 4 | Future main() => integrationDriver(); 5 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip 6 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /assets/icons/check2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/sql.dart: -------------------------------------------------------------------------------- 1 | // Only export: 2 | // * [ConflictAlgorithm] 3 | // * [escapeName] 4 | // * [unescapeName] 5 | export 'package:sqflite_common/src/sql_builder.dart' 6 | show ConflictAlgorithm, escapeName, unescapeName; 7 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/lib/main_web.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:sqflite_example/main.dart' as example; 3 | 4 | void main() { 5 | WidgetsFlutterBinding.ensureInitialized(); 6 | example.main(); 7 | } 8 | -------------------------------------------------------------------------------- /assets/back-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/doc/web_support.md: -------------------------------------------------------------------------------- 1 | # Web support 2 | 3 | sqflite is not supported on the web as there is no decent platform support. 4 | You can check https://github.com/deakjahn/sqflite_web for an initial web support but it lacks real persistency. 5 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/src/sqflite_ffi.dart: -------------------------------------------------------------------------------- 1 | export 'sqflite_ffi_stub.dart' if (dart.library.io) 'sqflite_ffi_io.dart'; 2 | 3 | /// Signature responsible for overriding the SQLite dynamic library to use. 4 | typedef SqfliteFfiInit = void Function(); 5 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | nMobile 4 | @string/app_name 5 | @string/launcher_name 6 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/java/com/tekartik/sqfliteexample/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.tekartik.sqfliteexample; 2 | 3 | import io.flutter.embedding.android.FlutterActivity; 4 | 5 | public class MainActivity extends FlutterActivity { 6 | } 7 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nknorg/nMobile/master/plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/tool/android_uninstall.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | Future main() async { 4 | final shell = Shell(); 5 | 6 | await shell.run(''' 7 | 8 | adb uninstall com.tekartik.sqfliteexample 9 | 10 | '''); 11 | } 12 | -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /lib/utils/map_extension.dart: -------------------------------------------------------------------------------- 1 | extension MapExtension on Map { 2 | sortByKey() { 3 | List keys = this.keys.toList()..sort(); 4 | Map newMap = Map(); 5 | for (String key in keys) { 6 | newMap[key] = this[key]; 7 | } 8 | return newMap; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/tool/run_flutter_driver_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | Future main() async { 4 | final shell = Shell(); 5 | 6 | await shell.run(''' 7 | 8 | flutter driver --target=test_driver/main.dart 9 | 10 | '''); 11 | } 12 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Nov 19 16:32:22 CST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .atom/ 3 | .idea 4 | .packages 5 | .pub/ 6 | build/ 7 | ios/.generated/ 8 | packages 9 | pubspec.lock 10 | .flutter-plugins 11 | sqflite_example.iml 12 | 13 | # local files 14 | .local/ 15 | tmp/ 16 | 17 | # no web support 18 | /web/ -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/tool/build_macos.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | Future main() async { 4 | await buildMacos(); 5 | } 6 | 7 | Future buildMacos() async { 8 | final shell = Shell(); 9 | await shell.run('flutter build macos'); 10 | } 11 | -------------------------------------------------------------------------------- /ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/tool/build_ios.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | Future main() async { 4 | await buildIos(); 5 | } 6 | 7 | Future buildIos() async { 8 | final shell = Shell(); 9 | await shell.run('flutter build ios --no-codesign'); 10 | } 11 | -------------------------------------------------------------------------------- /android/app/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/tool/run_flutter_driver_linux_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | Future main() async { 4 | final shell = Shell(); 5 | 6 | await shell.run(''' 7 | 8 | flutter driver --target=test_driver/main.dart -d linux 9 | 10 | '''); 11 | } 12 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/tool/run_flutter_driver_macos_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | Future main() async { 4 | final shell = Shell(); 5 | 6 | await shell.run(''' 7 | 8 | flutter driver --target=test_driver/main.dart -d macos 9 | 10 | '''); 11 | } 12 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/sqflite_ffi.dart: -------------------------------------------------------------------------------- 1 | library sqflite_common_ffi; 2 | 3 | export 'src/sqflite_ffi.dart' 4 | show 5 | SqfliteFfiInit, 6 | databaseFactoryFfi, 7 | databaseFactoryFfiNoIsolate, 8 | createDatabaseFactoryFfi, 9 | sqfliteFfiInit; 10 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/tool/run_flutter_driver_windows_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | Future main() async { 4 | final shell = Shell(); 5 | 6 | await shell.run(''' 7 | 8 | flutter driver --target=test_driver/main.dart -d windows 9 | 10 | '''); 11 | } 12 | -------------------------------------------------------------------------------- /ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /lib/blocs/settings/settings_state.dart: -------------------------------------------------------------------------------- 1 | abstract class SettingsState { 2 | const SettingsState(); 3 | } 4 | 5 | class SettingsInitial extends SettingsState { 6 | const SettingsInitial(); 7 | } 8 | 9 | class LocaleUpdated extends SettingsState { 10 | final String locale; 11 | 12 | const LocaleUpdated(this.locale); 13 | } 14 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | @NSApplicationMain 5 | class AppDelegate: FlutterAppDelegate { 6 | override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { 7 | return true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Apr 05 14:03:42 CEST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip 7 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/test/no_flutter_test_.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_test/flutter_test.dart'; 2 | import 'package:process_run/shell_run.dart'; 3 | 4 | void main() { 5 | group('no_flutter', () { 6 | test('simple', () async { 7 | await run('dart test/no_flutter_main.dart'); 8 | }); 9 | }); 10 | } 11 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Release.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 0b8abb4724aa590dd0f429683339b1e045a1594d 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /assets/icons/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/.gitignore: -------------------------------------------------------------------------------- 1 | # IntelliJ related 2 | *.iml 3 | *.ipr 4 | *.iws 5 | .gradle/ 6 | .idea/ 7 | 8 | # Flutter/Dart/Pub related 9 | **/doc/api/ 10 | .dart_tool/ 11 | .flutter-plugins 12 | .flutter-plugins-dependencies 13 | .packages 14 | .pub-cache/ 15 | .pub/ 16 | /build/ 17 | pubspec.lock 18 | 19 | .DS_Store 20 | build/ 21 | 22 | example/ 23 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/.travis.yml: -------------------------------------------------------------------------------- 1 | language: dart 2 | sudo: required 3 | dart: 4 | - stable 5 | - beta 6 | - dev 7 | before_script: 8 | - cd sqflite_support 9 | - dart pub get 10 | - dart run tekartik_travis_ci_flutter:install 11 | - source $(dart run tekartik_travis_ci_flutter:env) 12 | script: 13 | - dart run tool/travis.dart 14 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/tool/linux_setup.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | import 'package:process_run/shell_run.dart'; 3 | 4 | Future main() async { 5 | if (Platform.isLinux) { 6 | // Assuming ubuntu, to run as root, this is mainly for CI 7 | await run('sudo apt-get -y install libsqlite3-0 libsqlite3-dev'); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/lib/database_factory_mock_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite_common_test/database_factory_mock.dart'; 2 | import 'package:test/test.dart'; 3 | 4 | void main() { 5 | group('database_factory_mock', () { 6 | test('databaseFactoryMock', () async { 7 | DatabaseFactoryMock(); 8 | }); 9 | }); 10 | } 11 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: db6e2d8aa5bb9a0bd3e75fc7470268b5a56fd0b0 8 | channel: dev 9 | 10 | project_type: plugin 11 | -------------------------------------------------------------------------------- /android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /assets/icons/news-share.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ios/Share Extension/Share Extension.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.application-groups 6 | 7 | group.org.nkn.nmobile 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_support/.travis.yml: -------------------------------------------------------------------------------- 1 | language: dart 2 | sudo: required 3 | dist: bionic 4 | dart: 5 | - stable 6 | - beta 7 | - dev 8 | before_script: 9 | - cd sqflite_support 10 | - dart pub get 11 | - dart run tekartik_travis_ci_flutter:install 12 | - source $(dart run tekartik_travis_ci_flutter:env) 13 | script: 14 | - dart tool/travis.dart 15 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | 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. -------------------------------------------------------------------------------- /assets/icons/news.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .packages 3 | .pub/ 4 | ios/.generated/ 5 | packages 6 | pubspec.lock 7 | 8 | # Directory created by dartdoc 9 | doc/api/ 10 | 11 | # Local folder 12 | .local/ 13 | 14 | # local flutter install (travis) 15 | flutter 16 | 17 | # Conventional directory for build outputs 18 | build/ 19 | coverage/ 20 | 21 | # flutter 22 | .metadata -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/lib/deprecated_test_page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/foundation.dart'; 2 | 3 | import 'test_page.dart'; 4 | 5 | /// Deprecated test page. 6 | class DeprecatedTestPage extends TestPage { 7 | /// Deprecated test page. 8 | DeprecatedTestPage({Key? key}) : super('Deprecated tests', key: key) { 9 | test('None', () async {}); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/src/mixin/handler_mixin.dart: -------------------------------------------------------------------------------- 1 | /// Exported for implementation 2 | export 'package:sqflite_common_ffi/src/database_factory_ffi.dart' 3 | show FfiMethodCallHandler; 4 | export 'package:sqflite_common_ffi/src/method_call.dart' show FfiMethodCall; 5 | export 'package:sqflite_common_ffi/src/sqflite_ffi_exception.dart' 6 | show SqfliteFfiException; 7 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_support/tool/setup_env.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | import 'package:process_run/shell.dart'; 4 | 5 | Future main() async { 6 | /// Add extra tools to build on linux 7 | /// 8 | /// Can only be called from CI without any sudo access issue. 9 | if (Platform.isLinux) { 10 | await Shell().run('tool/setup_linux_env.sh'); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/src/main/java/com/tekartik/sqflite/operation/OperationResult.java: -------------------------------------------------------------------------------- 1 | package com.tekartik.sqflite.operation; 2 | 3 | /** 4 | * Created by alex on 09/01/18. 5 | */ 6 | 7 | public interface OperationResult { 8 | void error(final String errorCode, final String errorMessage, final Object data); 9 | 10 | void success(final Object result); 11 | } 12 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .packages 3 | .pub/ 4 | ios/.generated/ 5 | packages 6 | pubspec.lock 7 | 8 | # Directory created by dartdoc 9 | doc/api/ 10 | 11 | # Local folder 12 | .local/ 13 | 14 | # local flutter install (travis) 15 | flutter 16 | 17 | # Conventional directory for build outputs 18 | build/ 19 | coverage/ 20 | 21 | # flutter 22 | .metadata -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: fabeb2a16f1d008ab8230f450c49141d35669798 8 | channel: beta 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /assets/icons/calendar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/icons/copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/icons/more.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /lib/helpers/tweetnacl/keypair.dart: -------------------------------------------------------------------------------- 1 | import 'dart:typed_data'; 2 | 3 | class KeyPair { 4 | late Uint8List _publicKey; 5 | late Uint8List _secretKey; 6 | 7 | KeyPair(publicKeyLength, secretKeyLength) { 8 | _publicKey = Uint8List(publicKeyLength); 9 | _secretKey = Uint8List(secretKeyLength); 10 | } 11 | 12 | Uint8List get publicKey => _publicKey; 13 | 14 | Uint8List get secretKey => _secretKey; 15 | } 16 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/androidTest/java/com/tekartik/sqflite/TestSqflitePlugin.java: -------------------------------------------------------------------------------- 1 | package com.tekartik.sqflite; 2 | 3 | import android.content.Context; 4 | 5 | /** 6 | * Allow creating the object directly 7 | */ 8 | public class TestSqflitePlugin extends SqflitePlugin { 9 | public TestSqflitePlugin(Context context) { 10 | super(context); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/tool/flutter_create.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell_run.dart'; 2 | 3 | Future main() async { 4 | final shell = Shell(); 5 | 6 | final confirmed = 7 | await promptConfirm('This will create the project files if missing'); 8 | if (confirmed) { 9 | await shell.run(''' 10 | flutter create . 11 | '''); 12 | } 13 | await promptTerminate(); 14 | } 15 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /assets/icons/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/README.md: -------------------------------------------------------------------------------- 1 | # sqflite_example 2 | 3 | Demonstrates how to use the [sqflite plugin](https://github.com/tekartik/sqflite). 4 | 5 | ## Quick test 6 | 7 | 8 | flutter run 9 | 10 | Specific app entry point 11 | 12 | flutter run -t lib/main.dart 13 | 14 | ## Getting Started 15 | 16 | For help getting started with Flutter, view the online 17 | [documentation](https://flutter.io/). 18 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | 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. -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/doc/troubleshooting.md: -------------------------------------------------------------------------------- 1 | ## Linux 2 | 3 | ### Missing `libsqlite3.so` 4 | 5 | if you get 6 | 7 | ``` 8 | SqfliteFfiException(error, Invalid argument(s): Failed to load dynamic library (libsqlite3.so: cannot open shared object file: No such file or directory)} 9 | ``` 10 | 11 | Make sure to install the linux package `sqlite3-dev`. 12 | 13 | ```$xslt 14 | sudo apt-get -y install libsqlite3-dev 15 | ``` -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/tool/flutter_run_linux.dart: -------------------------------------------------------------------------------- 1 | // 2 | // @dart = 2.9 3 | // 4 | // This is to allow running this file without null experiment 5 | // In the future, remove this 2.9 command or run using: dart --enable-experiment=non-nullable --no-sound-null-safety run tool/travis.dart 6 | import 'flutter_run.dart' as flutter_run; 7 | 8 | Future main() async { 9 | await flutter_run.main('-d linux'.split(' ')); 10 | } 11 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_support/tool/run_ci.dart: -------------------------------------------------------------------------------- 1 | import 'package:dev_test/package.dart'; 2 | import 'package:path/path.dart'; 3 | 4 | Future main() async { 5 | for (var dir in [ 6 | 'sqflite_common', 7 | 'sqflite_common_test', 8 | 'sqflite_common_ffi', 9 | 'sqflite/example', 10 | 'sqflite', 11 | 'sqflite_test_app', 12 | 'sqflite_support', 13 | ]) { 14 | await packageRunCi(join('..', dir)); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/src/dev_utils.dart: -------------------------------------------------------------------------------- 1 | /// Deprecated to prevent keeping the code used. 2 | @Deprecated('Dev only') 3 | void devPrint(Object object) { 4 | print(object); 5 | } 6 | 7 | /// Deprecated to prevent keeping the code used. 8 | /// 9 | /// Can be use as a todo for weird code. int value = devWarning(myFunction()); 10 | /// The function is always called 11 | @Deprecated('Dev only') 12 | T devWarning(T value) => value; 13 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_support/tool/copy_ios_code_to_macos.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | Future main() async { 4 | final shell = Shell(workingDirectory: '..'); 5 | 6 | await shell.run(''' 7 | # Code is shared between ios and macos 8 | # There is no easy way to do that so the macos code is the reference 9 | # and is copied to ios 10 | cp -R sqflite/ios/Classes/ sqflite/macos/Classes/ 11 | 12 | '''); 13 | } 14 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_support/tool/copy_macos_code_to_ios.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | Future main() async { 4 | final shell = Shell(workingDirectory: '..'); 5 | 6 | await shell.run(''' 7 | # Code is shared between ios and macos 8 | # There is no easy way to do that so the macos code is the reference 9 | # and is copied to ios 10 | cp -R sqflite/macos/Classes/ sqflite/ios/Classes/ 11 | 12 | '''); 13 | } 14 | -------------------------------------------------------------------------------- /assets/icons/wallet.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/src/test/java/com/tekartik/sqflite/ConstantTest.java: -------------------------------------------------------------------------------- 1 | package com.tekartik.sqflite; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertEquals; 6 | 7 | /** 8 | * Constants between dart & Java world 9 | */ 10 | 11 | public class ConstantTest { 12 | 13 | 14 | @Test 15 | public void key() { 16 | assertEquals("com.tekartik.sqflite", Constant.PLUGIN_KEY); 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/test/setup_impl_test.dart: -------------------------------------------------------------------------------- 1 | @TestOn('vm') 2 | library sqflite_common_ffi.test.setup_impl_test; 3 | 4 | import 'dart:io'; 5 | 6 | import 'package:sqflite_common_ffi/src/windows/setup.dart'; 7 | import 'package:test/test.dart'; 8 | 9 | void main() { 10 | group('setup', () { 11 | test('findWindowsDllPath', () { 12 | expect(File(findWindowsDllPath()!).existsSync(), isTrue); 13 | }); 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/test_driver/main_test.dart: -------------------------------------------------------------------------------- 1 | // ignore: import_of_legacy_library_into_null_safe 2 | import 'package:flutter_driver/flutter_driver.dart'; 3 | import 'package:test/test.dart'; 4 | 5 | void main() { 6 | test('Sqflite driver test', () async { 7 | final driver = await FlutterDriver.connect(); 8 | await driver.requestData(null, timeout: const Duration(minutes: 3)); 9 | await driver.close(); 10 | }); 11 | } 12 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/DebugProfile.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.apple.security.app-sandbox 6 | 7 | com.apple.security.cs.allow-jit 8 | 9 | com.apple.security.network.server 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/ios/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .vagrant/ 3 | .sconsign.dblite 4 | .svn/ 5 | 6 | .DS_Store 7 | *.swp 8 | profile 9 | 10 | DerivedData/ 11 | build/ 12 | 13 | *.pbxuser 14 | *.mode1v3 15 | *.mode2v3 16 | *.perspectivev3 17 | 18 | !default.pbxuser 19 | !default.mode1v3 20 | !default.mode2v3 21 | !default.perspectivev3 22 | 23 | xcuserdata 24 | 25 | *.moved-aside 26 | 27 | *.pyc 28 | *sync/ 29 | Icon? 30 | .tags* 31 | 32 | Pods/ 33 | Podfile -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/lib/main_dev.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:sqflite_example/main.dart' as example; 3 | import 'package:sqflite_example/utils.dart'; 4 | 5 | import 'main_ffi.dart' as main_ffi; 6 | 7 | void main() { 8 | if (Platform.isWindows || Platform.isLinux) { 9 | main_ffi.main(); 10 | return; 11 | } else { 12 | WidgetsFlutterBinding.ensureInitialized(); 13 | example.main(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/lib/main_io.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:sqflite_example/main.dart' as example; 3 | import 'package:sqflite_example/utils.dart'; 4 | 5 | import 'main_ffi.dart' as main_ffi; 6 | 7 | void main() { 8 | if (Platform.isWindows || Platform.isLinux) { 9 | main_ffi.main(); 10 | return; 11 | } else { 12 | WidgetsFlutterBinding.ensureInitialized(); 13 | example.main(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /assets/icons/user-plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/key.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /golib/gomobile.go: -------------------------------------------------------------------------------- 1 | package nkngolib 2 | 3 | import ( 4 | dnsresolver "github.com/nknorg/dns-resolver-go" 5 | ethresolver "github.com/nknorg/eth-resolver-go" 6 | "github.com/nknorg/nkn-sdk-go" 7 | "github.com/nknorg/nkngomobile" 8 | "github.com/nknorg/reedsolomon" 9 | "golang.org/x/mobile/bind" 10 | ) 11 | 12 | var ( 13 | _ = nkn.NewStringArray 14 | _ = dnsresolver.NewResolver 15 | _ = ethresolver.NewResolver 16 | _ = nkngomobile.NewStringArray 17 | _ = reedsolomon.New 18 | _ = bind.GenGo 19 | ) 20 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/tool/run_integration_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | Future main() async { 4 | await runIntegrationTest(); 5 | } 6 | 7 | Future runIntegrationTest({String? deviceId}) async { 8 | final shell = Shell(); 9 | 10 | await shell.run('flutter drive${deviceId != null ? ' -d $deviceId ' : ''}' 11 | ' --driver=test_driver/integration_test.dart' 12 | ' --target=integration_test/sqflite_test.dart'); 13 | } 14 | -------------------------------------------------------------------------------- /assets/icons/lock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/lib/model/test.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | /// Test definition. 4 | class Test { 5 | /// Test definition. 6 | Test(this.name, this.fn, {bool? solo, bool? skip}) 7 | : solo = solo == true, 8 | skip = skip == true; 9 | 10 | /// Only run this test. 11 | final bool solo; 12 | 13 | /// Skip this test. 14 | final bool skip; 15 | 16 | /// Test name. 17 | String name; 18 | 19 | /// Test body. 20 | FutureOr Function() fn; 21 | } 22 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/org/nkn/mobile/app/push/apns/internal/Constants.java: -------------------------------------------------------------------------------- 1 | package org.nkn.mobile.app.push.apns.internal; 2 | 3 | import java.nio.charset.Charset; 4 | 5 | /** 6 | * Internal constants used by this library. 7 | */ 8 | public class Constants { 9 | public static final Charset UTF_8 = Charset.forName("UTF-8"); 10 | public static final String ENDPOINT_PRODUCTION = "https://api.push.apple.com"; 11 | public static final String ENDPOINT_SANDBOX = "https://api.sandbox.push.apple.com"; 12 | } 13 | -------------------------------------------------------------------------------- /lib/routes/chat.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:nmobile/routes/routes.dart'; 3 | import 'package:nmobile/screens/chat/home.dart'; 4 | import 'package:nmobile/screens/chat/messages.dart'; 5 | 6 | Map _routes = { 7 | ChatHomeScreen.routeName: (BuildContext context) => ChatHomeScreen(), 8 | ChatMessagesScreen.routeName: (BuildContext context, {arguments}) => ChatMessagesScreen(arguments: arguments), 9 | }; 10 | 11 | init() { 12 | Routes.registerRoutes(_routes); 13 | } 14 | -------------------------------------------------------------------------------- /ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "splash@1x.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "splash@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "splash@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/test/sqflite_ffi_import_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite_common_ffi/sqflite_ffi.dart'; 2 | import 'package:sqflite_common_ffi/src/env_utils.dart'; 3 | import 'package:test/test.dart'; 4 | 5 | void main() { 6 | group('import', () { 7 | test('io', () { 8 | try { 9 | databaseFactoryFfi; 10 | if (isRunningAsJavascript) { 11 | fail('should fail'); 12 | } 13 | } on UnimplementedError catch (_) {} 14 | }); 15 | }); 16 | } 17 | -------------------------------------------------------------------------------- /assets/icons/user.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/ios/Classes/SwiftNknSdkFlutterPlugin.swift: -------------------------------------------------------------------------------- 1 | import Flutter 2 | import UIKit 3 | 4 | public class SwiftNknSdkFlutterPlugin: NSObject, FlutterPlugin { 5 | public static func register(with registrar: FlutterPluginRegistrar) { 6 | Common().install(binaryMessenger: registrar.messenger()) 7 | Crypto().install(binaryMessenger: registrar.messenger()) 8 | Wallet().install(binaryMessenger: registrar.messenger()) 9 | Client().install(binaryMessenger: registrar.messenger()) 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/test/sql_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite_common/sql.dart'; 2 | import 'package:test/test.dart'; 3 | 4 | void main() { 5 | group('sqflite', () { 6 | test('exported', () { 7 | expect(ConflictAlgorithm.abort, isNotNull); 8 | }); 9 | 10 | test('escapeName_export', () { 11 | expect(escapeName('group'), '"group"'); 12 | }); 13 | 14 | test('unescapeName_export', () { 15 | expect(unescapeName('"group"'), 'group'); 16 | }); 17 | }); 18 | } 19 | -------------------------------------------------------------------------------- /assets/icons/pin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/trash.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /golib/message.go: -------------------------------------------------------------------------------- 1 | package nkngolib 2 | 3 | import ( 4 | "github.com/nknorg/nkn-sdk-go" 5 | ) 6 | 7 | func Reply(c *nkn.MultiClient, msg *nkn.Message, data string, encrypted bool, maxHoldingSeconds int32) error { 8 | payload, err := nkn.NewReplyPayload(data, msg.MessageID) 9 | 10 | if err != nil { 11 | return err 12 | } 13 | if _, err := c.SendPayload(nkn.NewStringArray(msg.Src), payload, &nkn.MessageConfig{Unencrypted: !encrypted, MaxHoldingSeconds: maxHoldingSeconds}); err != nil { 14 | return err 15 | } 16 | return nil 17 | } 18 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/lib/src/dev_utils.dart: -------------------------------------------------------------------------------- 1 | export 'dart:async'; 2 | 3 | // ignore_for_file: avoid_print 4 | 5 | /// Deprecated to prevent keeping the code used. 6 | @Deprecated('Dev only') 7 | void devPrint(Object object) { 8 | print(object); 9 | } 10 | 11 | /// Deprecated to prevent keeping the code used. 12 | /// 13 | /// Can be use as a todo for weird code. int value = devWarning(myFunction()); 14 | /// The function is always called 15 | @Deprecated('Dev only') 16 | T devWarning(T value) => value; 17 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/MainFlutterWindow.swift: -------------------------------------------------------------------------------- 1 | import Cocoa 2 | import FlutterMacOS 3 | 4 | class MainFlutterWindow: NSWindow { 5 | override func awakeFromNib() { 6 | let flutterViewController = FlutterViewController.init() 7 | let windowFrame = self.frame 8 | self.contentViewController = flutterViewController 9 | self.setFrame(windowFrame, display: true) 10 | 11 | RegisterGeneratedPlugins(registry: flutterViewController) 12 | 13 | super.awakeFromNib() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /assets/icons/pencil.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ios/Runner/Runner.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | aps-environment 6 | development 7 | com.apple.developer.associated-domains 8 | 9 | applinks:example.com 10 | 11 | com.apple.security.application-groups 12 | 13 | group.org.nkn.nmobile 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/src/test/java/com/tekartik/sqflite/LogLevelTest.java: -------------------------------------------------------------------------------- 1 | package com.tekartik.sqflite; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertFalse; 6 | import static org.junit.Assert.assertTrue; 7 | 8 | /** 9 | * Constants between dart & Java world 10 | */ 11 | 12 | public class LogLevelTest { 13 | 14 | 15 | @Test 16 | public void hasSqlLogLevel() { 17 | assertTrue(LogLevel.hasSqlLevel(1)); 18 | assertFalse(LogLevel.hasSqlLevel(0)); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/sqflite_dev.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:sqflite/src/factory.dart'; 3 | import 'package:sqflite/src/factory_impl.dart'; 4 | import 'package:sqflite_common/sqlite_api.dart'; 5 | 6 | /// Change the default factory used. 7 | /// 8 | /// Test only. 9 | /// 10 | @visibleForTesting 11 | void setMockDatabaseFactory(DatabaseFactory? factory) { 12 | // ignore: invalid_use_of_visible_for_testing_member 13 | sqfliteDatabaseFactory = factory as SqfliteDatabaseFactory?; 14 | } 15 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/doc/desktop_support.md: -------------------------------------------------------------------------------- 1 | # Desktop support 2 | 3 | `sqflite` only includes native Android, iOS and MacOS support. 4 | 5 | Desktop support is provided by [`sqflite_common_ffi`](https://pub.dev/packages/sqflite_common_ffi). 6 | Since support is provided both on flutter and on DartVM on MacOS/Linux/Windows, it is not a flutter plugin. 7 | 8 | See also some notes about how to keep you sqflite code as is and [supports Windows and Linux](https://github.com/tekartik/sqflite/blob/master/sqflite_common_ffi/doc/using_ffi_instead_of_sqflite.md) -------------------------------------------------------------------------------- /android/app/src/main/kotlin/org/nkn/mobile/app/push/apns/exceptions/CertificateEnvironmentMismatchException.java: -------------------------------------------------------------------------------- 1 | package org.nkn.mobile.app.push.apns.exceptions; 2 | 3 | import java.security.cert.CertificateException; 4 | 5 | /** 6 | * Thrown when a development certificate has been uploaded and 7 | * the environment has been set to production, or vice versa. 8 | */ 9 | public class CertificateEnvironmentMismatchException extends CertificateException { 10 | 11 | public CertificateEnvironmentMismatchException(String s) { 12 | super(s); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/sqflite_impl.dart: -------------------------------------------------------------------------------- 1 | import 'dart:core'; 2 | 3 | import 'services_impl.dart'; 4 | 5 | /// Sqflite channel name 6 | const String channelName = 'com.tekartik.sqflite'; 7 | 8 | /// Sqflite channel 9 | const MethodChannel channel = MethodChannel(channelName); 10 | 11 | /// Temp flag to test concurrent reads 12 | const supportsConcurrency = false; 13 | 14 | /// Invoke a native method 15 | Future invokeMethod(String method, [dynamic arguments]) => 16 | channel.invokeMethod(method, arguments) as Future; 17 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_support/tool/tag.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | import 'package:path/path.dart'; 4 | import 'package:process_run/package/package.dart'; 5 | import 'package:process_run/shell.dart'; 6 | 7 | Future main() async { 8 | final shell = Shell(); 9 | final version = await getPackageVersion(dir: join('..', 'sqflite')); 10 | print('Version $version'); 11 | print('Tap anything or CTRL-C: $version'); 12 | 13 | await stdin.first; 14 | await shell.run(''' 15 | git tag v$version 16 | git push origin --tags 17 | '''); 18 | } 19 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/test/no_flutter_main.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | import 'package:sqflite/sqlite_api.dart'; 4 | import 'package:sqflite/src/mixin/factory.dart'; 5 | 6 | Future main() async { 7 | final factory = buildDatabaseFactory( 8 | invokeMethod: (String method, [dynamic arguments]) async { 9 | dynamic result; 10 | // ignore: avoid_print 11 | print('$method: $arguments'); 12 | return result; 13 | }); 14 | final db = await factory.openDatabase(inMemoryDatabasePath); 15 | await db.getVersion(); 16 | } 17 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/test/example_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_test/flutter_test.dart'; 2 | import 'package:sqflite_example/src/common_import.dart'; 3 | import 'package:sqflite_example/utils.dart'; 4 | 5 | void main() { 6 | group('example', () { 7 | test('sleep', () async { 8 | await sleep(1).timeout(const Duration(milliseconds: 100)); 9 | try { 10 | await sleep(100).timeout(const Duration(milliseconds: 1)); 11 | fail('should fail'); 12 | } on TimeoutException catch (_) {} 13 | }); 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /lib/routes/topic.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:nmobile/routes/routes.dart'; 3 | import 'package:nmobile/screens/topic/profile.dart'; 4 | import 'package:nmobile/screens/topic/subscribers.dart'; 5 | 6 | Map _routes = { 7 | TopicProfileScreen.routeName: (BuildContext context, {arguments}) => TopicProfileScreen(arguments: arguments), 8 | TopicSubscribersScreen.routeName: (BuildContext context, {arguments}) => TopicSubscribersScreen(arguments: arguments), 9 | }; 10 | 11 | init() { 12 | Routes.registerRoutes(_routes); 13 | } 14 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: sqflite_common_test 2 | description: SQFlite test package 3 | version: 0.4.0-nullsafety.0 4 | publish_to: none 5 | 6 | environment: 7 | sdk: '>=2.12.0-29 <3.0.0' 8 | 9 | dependencies: 10 | sqflite_common: '>=2.0.0-nullsafety.0' 11 | test: 12 | path: 13 | synchronized: 14 | dev_dependencies: 15 | process_run: '>=0.11.0+2' 16 | 17 | lints: '>=1.0.1' 18 | sqflite_common_ffi: 19 | path: ../sqflite_common_ffi 20 | 21 | dependency_overrides: 22 | sqflite_common: 23 | path: ../sqflite_common 24 | -------------------------------------------------------------------------------- /ios/Classes/Push2/APNsKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // APNsKit.h 3 | // APNsKit 4 | // 5 | // Created by Haga Masaki on 14/03/2017. 6 | // Copyright © 2017 Haga Masaki. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for APNsKit. 12 | FOUNDATION_EXPORT double APNsKitVersionNumber; 13 | 14 | //! Project version string for APNsKit. 15 | FOUNDATION_EXPORT const unsigned char APNsKitVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/ios/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .vagrant/ 3 | .sconsign.dblite 4 | .svn/ 5 | 6 | .DS_Store 7 | *.swp 8 | profile 9 | 10 | DerivedData/ 11 | build/ 12 | GeneratedPluginRegistrant.h 13 | GeneratedPluginRegistrant.m 14 | 15 | .generated/ 16 | 17 | *.pbxuser 18 | *.mode1v3 19 | *.mode2v3 20 | *.perspectivev3 21 | 22 | !default.pbxuser 23 | !default.mode1v3 24 | !default.mode2v3 25 | !default.perspectivev3 26 | 27 | xcuserdata 28 | 29 | *.moved-aside 30 | 31 | *.pyc 32 | *sync/ 33 | Icon? 34 | .tags* 35 | 36 | /Flutter/Generated.xcconfig 37 | /Flutter/flutter_export_environment.sh -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/src/env_utils.dart: -------------------------------------------------------------------------------- 1 | // environment utils 2 | 3 | bool? _isRelease; 4 | 5 | // http://stackoverflow.com/questions/29592826/detect-during-runtime-whether-the-application-is-in-release-mode-or-not 6 | 7 | /// Check whether in release mode 8 | bool get isRelease { 9 | if (_isRelease == null) { 10 | _isRelease = true; 11 | assert(() { 12 | _isRelease = false; 13 | return true; 14 | }()); 15 | } 16 | return _isRelease!; 17 | } 18 | 19 | /// Check whether running in debug mode 20 | bool get isDebug => !isRelease; 21 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/test/widget_test.dart: -------------------------------------------------------------------------------- 1 | // This is a basic Flutter widget test. 2 | // 3 | // To perform an interaction with a widget in your test, use the WidgetTester 4 | // utility that Flutter provides. For example, you can send tap and scroll 5 | // gestures. You can also use WidgetTester to find child widgets in the widget 6 | // tree, read text, and verify that the values of widget properties are correct. 7 | 8 | import 'package:flutter_test/flutter_test.dart'; 9 | 10 | void main() { 11 | testWidgets('none', (WidgetTester tester) async {}); 12 | } 13 | -------------------------------------------------------------------------------- /assets/icons/user-delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | -------------------------------------------------------------------------------- /assets/icons/addbook.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/lib/src/exception_impl.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite/src/services_impl.dart'; 2 | import 'package:sqflite/src/sqflite_import.dart'; 3 | 4 | /// Wrap any exception to a [DatabaseException] 5 | Future wrapDatabaseException(Future Function() action) async { 6 | try { 7 | final result = await action(); 8 | return result; 9 | } on PlatformException catch (e) { 10 | if (e.code == sqliteErrorCode) { 11 | throw SqfliteDatabaseException(e.message!, e.details); 12 | //rethrow; 13 | } else { 14 | rethrow; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/test/main/test_main.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite_example/main.dart' as app; 2 | import 'package:sqflite_example/main.dart'; 3 | 4 | Future main() async { 5 | // ignore_for_file: deprecated_member_use, deprecated_member_use_from_same_package 6 | // debugAutoStartRouteName = testExceptionRoute; 7 | // debugAutoStartRouteName = testOpenRoute; 8 | // debugAutoStartRouteName = testManualRoute; 9 | // debugAutoStartRouteName = testRawRoute; 10 | // debugAutoStartRouteName = testTypeRoute; 11 | debugAutoStartRouteName = testExpRoute; 12 | 13 | app.main(); 14 | } 15 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/test/sqflite3_raw_test.dart: -------------------------------------------------------------------------------- 1 | @TestOn('vm') 2 | library sqflite_common_ffi.test.sqlite3_raw_test; 3 | 4 | import 'dart:io'; 5 | 6 | import 'package:sqflite_common_ffi/src/windows/setup.dart'; 7 | import 'package:sqlite3/sqlite3.dart'; 8 | import 'package:test/test.dart'; 9 | 10 | void main() { 11 | test('sqlite3 simple test', () { 12 | if (Platform.isWindows) { 13 | windowsInit(); 14 | } 15 | final database = sqlite3.openInMemory(); 16 | var version = database.userVersion; 17 | expect(version, 0); 18 | database.dispose(); 19 | }); 20 | } 21 | -------------------------------------------------------------------------------- /assets/icons/image.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /lib/routes/private_group.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:nmobile/routes/routes.dart'; 3 | import 'package:nmobile/screens/private_group/profile.dart'; 4 | import 'package:nmobile/screens/private_group/subscribers.dart'; 5 | 6 | Map _routes = { 7 | PrivateGroupProfileScreen.routeName: (BuildContext context, {arguments}) => PrivateGroupProfileScreen(arguments: arguments), 8 | PrivateGroupSubscribersScreen.routeName: (BuildContext context, {arguments}) => PrivateGroupSubscribersScreen(arguments: arguments), 9 | }; 10 | 11 | init() { 12 | Routes.registerRoutes(_routes); 13 | } 14 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/README.md: -------------------------------------------------------------------------------- 1 | # sqflite_test 2 | 3 | SQFlite test package 4 | 5 | ## Getting Started 6 | 7 | dependencies: 8 | 9 | ```yaml 10 | sqflite_common_test: 11 | git: 12 | url: https://github.com/tekartik/sqflite 13 | ref: develop 14 | path: sqflite_common_test 15 | version: '>=0.3.0' 16 | ``` 17 | 18 | ## Running tests 19 | 20 | * Start sqflite server app 21 | * (Android only) forward tcp port `adb forward tcp:8501 tcp:8501` 22 | * Run the tests 23 | 24 | ``` 25 | flutter test 26 | ``` -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: sqflite_common 2 | homepage: https://github.com/tekartik/sqflite/tree/master/sqflite_common 3 | description: Dart wrapper on SQLite, a self-contained, high-reliability, embedded, SQL database engine. 4 | version: 2.2.1+1 5 | 6 | environment: 7 | sdk: '>=2.16.0 <3.0.0' 8 | 9 | dependencies: 10 | synchronized: '>=3.0.0 <5.0.0' 11 | path: '>=1.8.0 <3.0.0' 12 | meta: '>=1.3.0 <3.0.0' 13 | 14 | dev_dependencies: 15 | lints: '>=1.0.0' 16 | process_run: '>=0.12.0' 17 | http: '>=0.13.0' 18 | test: '>=1.16.2' 19 | test_api: '>=0.2.19' 20 | pub_semver: '>=2.0.0' 21 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/test/sqflite_ffi_test.dart: -------------------------------------------------------------------------------- 1 | @TestOn('vm') 2 | import 'package:sqflite_common_ffi/sqflite_ffi.dart'; 3 | import 'package:sqflite_common_test/all_test.dart' as all; 4 | import 'package:sqflite_common_test/sqflite_test.dart'; 5 | import 'package:test/test.dart'; 6 | 7 | class SqfliteFfiTestContext extends SqfliteLocalTestContext { 8 | SqfliteFfiTestContext() : super(databaseFactory: databaseFactoryFfi); 9 | } 10 | 11 | var ffiTestContext = SqfliteFfiTestContext(); 12 | 13 | void main() { 14 | /// Initialize ffi loader 15 | sqfliteFfiInit(); 16 | 17 | all.run(ffiTestContext); 18 | } 19 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_support/tool/run_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | 3 | /// Run unit and driver test on a connected device 4 | Future main() async { 5 | var shell = Shell(workingDirectory: '..'); 6 | 7 | shell = shell.pushd('sqflite'); 8 | await shell.run(''' 9 | 10 | flutter test 11 | 12 | '''); 13 | 14 | shell = shell.pushd('example'); 15 | await shell.run(''' 16 | 17 | flutter packages get 18 | flutter test 19 | dart tool/run_flutter_driver_test.dart 20 | 21 | '''); 22 | shell = shell.popd(); 23 | shell = shell.popd(); 24 | } 25 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/src/main/java/com/tekartik/sqflite/operation/Operation.java: -------------------------------------------------------------------------------- 1 | package com.tekartik.sqflite.operation; 2 | 3 | import com.tekartik.sqflite.SqlCommand; 4 | 5 | /** 6 | * Created by alex on 09/01/18. 7 | */ 8 | 9 | public interface Operation extends OperationResult { 10 | 11 | String getMethod(); 12 | 13 | T getArgument(String key); 14 | 15 | SqlCommand getSqlCommand(); 16 | 17 | boolean getNoResult(); 18 | 19 | // In batch, means ignoring the error 20 | boolean getContinueOnError(); 21 | 22 | // Only for execute command 23 | Boolean getInTransaction(); 24 | } 25 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/lib/utils/hex.dart: -------------------------------------------------------------------------------- 1 | import 'dart:typed_data'; 2 | 3 | import 'package:convert/convert.dart'; 4 | 5 | /// hexEncode returns the hexadecimal encoding of raw. 6 | String hexEncode(Uint8List raw) { 7 | return hex.encode(raw).toLowerCase(); 8 | } 9 | 10 | /// hexDecode returns the bytes represented by the hexadecimal string s. 11 | /// 12 | /// hexDecode expects that src contains only hexadecimal 13 | /// characters and that src has even length. 14 | /// If the input is malformed, DecodeString returns 15 | /// the bytes decoded before the error. 16 | Uint8List hexDecode(String s) { 17 | return Uint8List.fromList(hex.decode(s)); 18 | } 19 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/test/handler_mixin_test.dart: -------------------------------------------------------------------------------- 1 | @TestOn('vm') 2 | library sqflite_common_ffi.test.handler_mixin_test; 3 | 4 | import 'package:sqflite_common_ffi/src/mixin/handler_mixin.dart'; 5 | import 'package:test/test.dart'; 6 | 7 | void main() { 8 | group('handler_mixin', () { 9 | // Check that public api are exported 10 | test('exported', () { 11 | for (dynamic value in [ 12 | FfiMethodCall, 13 | SqfliteFfiException, 14 | const FfiMethodCall('dummy').handleInIsolate, 15 | ]) { 16 | expect(value, isNotNull); 17 | } 18 | }); 19 | }); 20 | } 21 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/lib/model/main_item.dart: -------------------------------------------------------------------------------- 1 | /// Main item. 2 | class MainItem { 3 | /// Main item. 4 | MainItem(this.title, this.description, {this.route}); 5 | 6 | /// Title. 7 | String title; 8 | 9 | /// Description. 10 | String description; 11 | 12 | /// Page route. 13 | String? route; 14 | } 15 | 16 | /// Main route item. 17 | class MainRouteItem { 18 | /// Main route item. 19 | MainRouteItem(this.title, this.description, {this.route}); 20 | 21 | /// Title. 22 | String title; 23 | 24 | /// Description. 25 | String description; 26 | 27 | /// Page route. 28 | MainRouteItem? route; 29 | } 30 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_support/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: sqflite_support 2 | description: Sqflite support tools 3 | version: 0.1.0 4 | homepage: https://github.com/tekartik/sqflite 5 | publish_to: none 6 | 7 | environment: 8 | sdk: '>=2.12.0 <3.0.0' 9 | 10 | dev_dependencies: 11 | lints: '>=1.0.0' 12 | tekartik_travis_ci_flutter: 13 | git: 14 | url: https://github.com/tekartik/travis_ci_flutter.dart 15 | ref: dart2_3 16 | version: '>=0.1.0' 17 | process_run: '>=0.11.0+2' 18 | dev_test: '>=0.13.4-dev.2' 19 | test: 20 | path: 21 | pub_semver: 22 | 23 | dependency_overrides: 24 | # pedantic: '>=1.9.0 <3.0.0' 25 | -------------------------------------------------------------------------------- /assets/icons/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/icons/eye.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/test/sqflite_ffi_no_isolate_test.dart: -------------------------------------------------------------------------------- 1 | @TestOn('vm') 2 | import 'package:sqflite_common_ffi/sqflite_ffi.dart'; 3 | import 'package:sqflite_common_test/all_test.dart' as all; 4 | import 'package:sqflite_common_test/sqflite_test.dart'; 5 | import 'package:test/test.dart'; 6 | 7 | class SqfliteFfiTestContext extends SqfliteLocalTestContext { 8 | SqfliteFfiTestContext() : super(databaseFactory: databaseFactoryFfiNoIsolate); 9 | } 10 | 11 | var ffiTestContext = SqfliteFfiTestContext(); 12 | 13 | void main() { 14 | /// Initialize ffi loader 15 | sqfliteFfiInit(); 16 | 17 | all.run(ffiTestContext); 18 | } 19 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: sqflite_common_ffi 2 | homepage: https://github.com/tekartik/sqflite/tree/master/sqflite_common_ffi 3 | description: sqflite ffi based implementation, for desktop and units tests. 4 | version: 2.1.1 5 | 6 | environment: 7 | sdk: '>=2.16.0 <3.0.0' 8 | 9 | dependencies: 10 | sqlite3: '>=1.0.0 <3.0.0' 11 | sqflite_common: '>=2.2.1+1 <4.0.0' 12 | synchronized: '>=3.0.0 <5.0.0' 13 | path: '>=1.8.0 <3.0.0' 14 | meta: '>=1.3.0 <3.0.0' 15 | 16 | dev_dependencies: 17 | lints: 18 | test: '>=1.16.2' 19 | process_run: '>=0.12.0' 20 | pub_semver: '>=2.0.0' 21 | archive: 22 | http: 23 | 24 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /assets/icons/chat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/test/sqflite_ffi_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_test/flutter_test.dart'; 2 | import 'package:sqflite_common_ffi/sqflite_ffi.dart'; 3 | import 'package:sqflite_common_test/all_test.dart' as all; 4 | import 'package:sqflite_common_test/sqflite_test.dart'; 5 | 6 | class SqfliteFfiTestContext extends SqfliteLocalTestContext { 7 | SqfliteFfiTestContext() : super(databaseFactory: databaseFactoryFfi); 8 | } 9 | 10 | var ffiTestContext = SqfliteFfiTestContext(); 11 | 12 | void main() { 13 | /// Initialize ffi loader 14 | sqfliteFfiInit(); 15 | 16 | group('flutter_ffi', () { 17 | all.run(ffiTestContext); 18 | }); 19 | } 20 | -------------------------------------------------------------------------------- /assets/icons/microphone.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/lib/src/sqflite_web_sim.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_web_plugins/flutter_web_plugins.dart'; 2 | import 'package:sqflite/sqflite_dev.dart'; 3 | 4 | import 'database_factory_web.dart'; 5 | 6 | /// The Web plugin registration. 7 | /// 8 | /// Define a default `DatabaseFactory` 9 | class SqflitePluginWeb { 10 | /// Registers the default database factory. 11 | static void registerWith(Registrar registrar) { 12 | /// Set the default database factory to use. 13 | /// Currently calling an on-purpose deprecated helper. 14 | // ignore: invalid_use_of_visible_for_testing_member 15 | setMockDatabaseFactory(databaseFactoryWeb); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/ios/Classes/Extension.swift: -------------------------------------------------------------------------------- 1 | extension Data { 2 | init?(hex: String) { 3 | let length = hex.count / 2 4 | var data = Data(capacity: length) 5 | for i in 0 ..< length { 6 | let j = hex.index(hex.startIndex, offsetBy: i * 2) 7 | let k = hex.index(j, offsetBy: 2) 8 | let bytes = hex[j..) 3 | #import 4 | #else 5 | // Support project import fallback if the generated compatibility header 6 | // is not copied when this plugin is created as a library. 7 | // https://forums.swift.org/t/swift-static-libraries-dont-copy-generated-objective-c-header/19816 8 | #import "nkn_sdk_flutter-Swift.h" 9 | #endif 10 | 11 | @implementation NknSdkFlutterPlugin 12 | + (void)registerWithRegistrar:(NSObject*)registrar { 13 | [SwiftNknSdkFlutterPlugin registerWithRegistrar:registrar]; 14 | } 15 | @end 16 | -------------------------------------------------------------------------------- /ios/.gitignore: -------------------------------------------------------------------------------- 1 | *.mode1v3 2 | *.mode2v3 3 | *.moved-aside 4 | *.pbxuser 5 | *.perspectivev3 6 | **/*sync/ 7 | .sconsign.dblite 8 | .tags* 9 | **/.vagrant/ 10 | **/DerivedData/ 11 | Icon? 12 | **/Pods/ 13 | **/.symlinks/ 14 | profile 15 | xcuserdata 16 | **/.generated/ 17 | Flutter/App.framework 18 | Flutter/Flutter.framework 19 | Flutter/Flutter.podspec 20 | Flutter/Generated.xcconfig 21 | Flutter/ephemeral/ 22 | Flutter/app.flx 23 | Flutter/app.zip 24 | Flutter/flutter_assets/ 25 | Flutter/flutter_export_environment.sh 26 | ServiceDefinitions.json 27 | Runner/GeneratedPluginRegistrant.* 28 | 29 | # Exceptions to above rules. 30 | !default.mode1v3 31 | !default.mode2v3 32 | !default.pbxuser 33 | !default.perspectivev3 34 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/doc/encryption_support.md: -------------------------------------------------------------------------------- 1 | # Encryption support 2 | 3 | Encryption is supported on Android, iOS and MacOS support using [`sqflite_sqlcipher`](https://pub.dev/packages/sqflite_sqlcipher) 4 | by David Martos which has some shared code through `sqflite_common` package. 5 | 6 | On desktop, encryption is provided by [`sqflite_common_ffi`](https://pub.dev/packages/sqflite_common_ffi). 7 | Since support is provided both on flutter and on DartVM on MacOS/Linux/Windows, it is not a flutter plugin. 8 | See [here](https://github.com/tekartik/sqflite/blob/master/sqflite_common_ffi/doc/encryption_support.md) for more information 9 | of how encryption is supported on Desktop. 10 | 11 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Configs/Warnings.xcconfig: -------------------------------------------------------------------------------- 1 | WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings 2 | GCC_WARN_UNDECLARED_SELECTOR = YES 3 | CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES 4 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE 5 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES 6 | CLANG_WARN_PRAGMA_PACK = YES 7 | CLANG_WARN_STRICT_PROTOTYPES = YES 8 | CLANG_WARN_COMMA = YES 9 | GCC_WARN_STRICT_SELECTOR_MATCH = YES 10 | CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES 11 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES 12 | GCC_WARN_SHADOW = YES 13 | CLANG_WARN_UNREACHABLE_CODE = YES 14 | -------------------------------------------------------------------------------- /lib/native/dns_resolver.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/services.dart'; 2 | 3 | class DnsResolverConfig { 4 | final String? dnsServer; 5 | 6 | DnsResolverConfig({this.dnsServer}); 7 | } 8 | 9 | class DnsResolver { 10 | static const MethodChannel _methodChannel = MethodChannel('org.nkn.mobile/native/nameservice/dnsresolver'); 11 | 12 | static install() {} 13 | 14 | static Future resolve(DnsResolverConfig config, String address) async { 15 | try { 16 | return await _methodChannel.invokeMethod('resolve', { 17 | 'config': { 18 | 'dnsServer': config.dnsServer, 19 | }, 20 | 'address': address, 21 | }); 22 | } catch (e) { 23 | throw e; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/macos/Runner/Configs/AppInfo.xcconfig: -------------------------------------------------------------------------------- 1 | // Application-level settings for the Runner target. 2 | // 3 | // This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the 4 | // future. If not, the values below would default to using the project name when this becomes a 5 | // 'flutter create' template. 6 | 7 | // The application's name. By default this is also the title of the Flutter window. 8 | PRODUCT_NAME = example 9 | 10 | // The application's bundle identifier 11 | PRODUCT_BUNDLE_IDENTIFIER = com.tekartik.example 12 | 13 | // The copyright displayed in application information 14 | PRODUCT_COPYRIGHT = Copyright © 2022 com.tekartik. All rights reserved. 15 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/tool/android_sqflite_logcat.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | import 'package:sqflite_example/src/common_import.dart'; 3 | 4 | // ignore_for_file: avoid_print 5 | 6 | Future main() async { 7 | final controller = StreamController>(); 8 | final shell = Shell(stdout: controller.sink, verbose: false); 9 | 10 | controller.stream 11 | .transform(utf8.decoder) 12 | .transform(const LineSplitter()) 13 | .listen((line) { 14 | if (line.contains('Sqflite')) { 15 | print(line); 16 | } 17 | }); 18 | 19 | await shell.run('adb logcat'); 20 | 21 | // We'll never get there actually... 22 | await controller.close(); 23 | } 24 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/src/env_utils.dart: -------------------------------------------------------------------------------- 1 | // environment utils 2 | 3 | bool? _isRelease; 4 | 5 | // http://stackoverflow.com/questions/29592826/detect-during-runtime-whether-the-application-is-in-release-mode-or-not 6 | 7 | /// Check whether in release mode 8 | bool get isRelease { 9 | if (_isRelease == null) { 10 | _isRelease = true; 11 | assert(() { 12 | _isRelease = false; 13 | return true; 14 | }()); 15 | } 16 | return _isRelease!; 17 | } 18 | 19 | /// Check whether running in debug mode 20 | bool get isDebug => !isRelease; 21 | 22 | /// Special runtime trick to known whether we are in the javascript world 23 | bool get isRunningAsJavascript => identical(1, 1.0); 24 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/src/main/java/com/tekartik/sqflite/LogLevel.java: -------------------------------------------------------------------------------- 1 | package com.tekartik.sqflite; 2 | 3 | import io.flutter.plugin.common.MethodCall; 4 | 5 | import static com.tekartik.sqflite.Constant.PARAM_LOG_LEVEL; 6 | 7 | public class LogLevel { 8 | 9 | static final int none = 0; 10 | static final int sql = 1; 11 | static final int verbose = 2; 12 | 13 | static Integer getLogLevel(MethodCall methodCall) { 14 | return methodCall.argument(PARAM_LOG_LEVEL); 15 | } 16 | 17 | static boolean hasSqlLevel(int level) { 18 | return level >= sql; 19 | } 20 | 21 | static boolean hasVerboseLevel(int level) { 22 | return level >= verbose; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/src/sqflite_import.dart: -------------------------------------------------------------------------------- 1 | // To be imported 2 | // ignore: deprecated_member_use 3 | export 'package:sqflite_common/src/compat.dart' show SqfliteOptions; 4 | export 'package:sqflite_common/src/constant.dart' 5 | show methodOpenDatabase, methodOptions, sqliteErrorCode; 6 | 7 | // ignore: deprecated_member_use 8 | export 'package:sqflite_common/src/dev_utils.dart' show devPrint, devWarning; 9 | export 'package:sqflite_common/src/exception.dart' 10 | show SqfliteDatabaseException; 11 | export 'package:sqflite_common/src/mixin/constant.dart' show methodOpenDatabase; 12 | export 'package:sqflite_common/src/mixin/factory.dart' 13 | show buildDatabaseFactory, SqfliteInvokeHandler; 14 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/src/main/java/com/tekartik/sqflite/operation/BaseOperation.java: -------------------------------------------------------------------------------- 1 | package com.tekartik.sqflite.operation; 2 | 3 | /** 4 | * Created by alex on 09/01/18. 5 | */ 6 | 7 | public abstract class BaseOperation extends BaseReadOperation { 8 | 9 | // We actually have an inner object that does the implementation 10 | protected abstract OperationResult getOperationResult(); 11 | 12 | @Override 13 | public void success(Object result) { 14 | getOperationResult().success(result); 15 | } 16 | 17 | @Override 18 | public void error(String errorCode, String errorMessage, Object data) { 19 | getOperationResult().error(errorCode, errorMessage, data); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/ios/.gitignore: -------------------------------------------------------------------------------- 1 | *.mode1v3 2 | *.mode2v3 3 | *.moved-aside 4 | *.pbxuser 5 | *.perspectivev3 6 | **/*sync/ 7 | .sconsign.dblite 8 | .tags* 9 | **/.vagrant/ 10 | **/DerivedData/ 11 | Icon? 12 | **/Pods/ 13 | **/.symlinks/ 14 | profile 15 | xcuserdata 16 | **/.generated/ 17 | Flutter/App.framework 18 | Flutter/Flutter.framework 19 | Flutter/Flutter.podspec 20 | Flutter/Generated.xcconfig 21 | Flutter/app.flx 22 | Flutter/app.zip 23 | Flutter/flutter_assets/ 24 | Flutter/flutter_export_environment.sh 25 | ServiceDefinitions.json 26 | Runner/GeneratedPluginRegistrant.* 27 | 28 | # Exceptions to above rules. 29 | !default.mode1v3 30 | !default.mode2v3 31 | !default.pbxuser 32 | !default.perspectivev3 33 | !Podfile -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 2.1.1 2 | 3 | * Windows binary 3.38.2 4 | 5 | ## 2.1.0+2 6 | 7 | * Add `databaseFactoryFfiNoIsolate` 8 | * Fix windows release mode for basic ffi setup 9 | 10 | ## 2.0.0+3 11 | 12 | * `nnbd` support 13 | * Improved sqlite shared lib loading mechanism to support alternate library. 14 | 15 | ## 1.1.1+3 16 | 17 | * Fixes hot-restart lock issue 18 | * Fixes missing `databaseExists` handler 19 | * Don't load bundled sqlite3.dll on windows release mode. 20 | 21 | ## 1.1.0+1 22 | 23 | * Use `sqlite3` instead of `moor_ffi` 24 | 25 | ## 1.0.0+4 26 | 27 | * Support extended result code exception 28 | 29 | ## 1.0.0+1 30 | 31 | * Initial revision from sqflite_ffi_test experimentation 32 | -------------------------------------------------------------------------------- /assets/icons/group.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /lib/common/db/upgrade2to3.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite_sqlcipher/sqflite.dart'; 2 | 3 | class Upgrade2to3 { 4 | static Future updateTopicTableToV3ByTopic(Database db) async { 5 | await db.execute('ALTER TABLE topic ADD COLUMN type INTEGER DEFAULT 0'); 6 | await db.execute('ALTER TABLE topic ADD COLUMN accept_all BOOLEAN DEFAULT 0'); 7 | await db.execute('ALTER TABLE topic ADD COLUMN joined BOOLEAN DEFAULT 0'); 8 | } 9 | 10 | static Future updateTopicTableToV3BySubscriber(Database db) async { 11 | await db.execute('ALTER TABLE subscriber ADD COLUMN member_status INTEGER DEFAULT 0'); 12 | await db.execute('ALTER TABLE subscriber DROP COLUMN uploaded'); 13 | await db.execute('ALTER TABLE subscriber DROP COLUMN upload_done'); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/doc/how_to.md: -------------------------------------------------------------------------------- 1 | # Sqflite guide 2 | 3 | * How to [Open a database](opening_db.md) 4 | * How to [Open an asset database](opening_asset_db.md) 5 | * Basic [SQL information](sql.md) 6 | * How to [Delete a database](deleting_db.md) 7 | * Solve you [build and runtime issues](troubleshooting.md) 8 | * Some personal [usage recommendations](usage_recommendations.md) 9 | * Some [dev tips](dev_tips.md) 10 | * Get information about the [SQLite version](version.md) 11 | * [Sqflite development](sqflite_dev_guide.md) guide 12 | * [Unit testing](testing.md) 13 | * [External](external.md) documentation and tutorials 14 | * [Supports Windows and Linux](https://github.com/tekartik/sqflite/blob/master/sqflite_common_ffi/doc/using_ffi_instead_of_sqflite.md) 15 | -------------------------------------------------------------------------------- /ios/Classes/CommonOc.h: -------------------------------------------------------------------------------- 1 | // 2 | // CommonOc.h 3 | // Runner 4 | // 5 | // Created by 蒋治国 on 2021/6/7. 6 | // 7 | 8 | #import 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface CommonOc : NSObject 14 | { 15 | } 16 | 17 | - (void)saveImageWithImageName:(NSString*) imageName imageData:(FlutterStandardTypedData*) imageData albumName:(NSString *)albumName overwriteFile:(BOOL)overwriteFile; 18 | 19 | - (NSString *)combinePieces:(NSArray *)dataPieces dataShard:(NSInteger)dataPiece parityShards:(NSInteger)parityPiece bytesLength:(NSInteger)bytesLength; 20 | 21 | - (NSArray *)intoPieces:(NSString *)dataBytesString dataShard:(NSInteger)dataPiece parityShards:(NSInteger)parityPiece; 22 | 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/test/sqflite_ffi_windows_test.dart: -------------------------------------------------------------------------------- 1 | @TestOn('vm') 2 | import 'dart:io'; 3 | 4 | import 'package:sqflite_common/sqlite_api.dart'; 5 | import 'package:sqflite_common_ffi/sqflite_ffi.dart'; 6 | import 'package:test/test.dart'; 7 | 8 | import 'sqflite_ffi_windows_setup_test.dart'; 9 | 10 | void main() { 11 | if (Platform.isWindows) { 12 | sqfliteFfiInit(); 13 | group('windows', () { 14 | test('version', () async { 15 | final db = await databaseFactoryFfi.openDatabase(inMemoryDatabasePath); 16 | final results = await db.rawQuery('select sqlite_version()'); 17 | 18 | var version = results.first.values.first; 19 | expect(version, windowsSqliteVersion); 20 | }); 21 | }); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.6.10' 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:4.1.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | mavenCentral() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/src/main/java/com/tekartik/sqflite/dev/Debug.java: -------------------------------------------------------------------------------- 1 | package com.tekartik.sqflite.dev; 2 | 3 | import android.util.Log; 4 | 5 | import static android.content.ContentValues.TAG; 6 | 7 | /** 8 | * Created by alex on 09/01/18. 9 | */ 10 | 11 | public class Debug { 12 | 13 | // Log flags 14 | public static boolean LOGV = false; 15 | public static boolean _EXTRA_LOGV = false; // to set to true for type debugging 16 | // public static boolean _EXTRA_LOGV = true; // to set to true for type debugging 17 | static public boolean EXTRA_LOGV = false; // to set to true for type debugging 18 | 19 | // Deprecated to prevent usage 20 | @Deprecated 21 | public static void devLog(String tag, String message) { 22 | Log.d(TAG, message); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/lib/src/method_call.dart: -------------------------------------------------------------------------------- 1 | //import 'package:flutter/services.dart'; 2 | import 'package:meta/meta.dart'; 3 | 4 | /// An command object representing the invocation of a named method. 5 | @immutable 6 | class FfiMethodCall 7 | // 8 | // implements 9 | // MethodCall 10 | // 11 | { 12 | /// Creates a [MethodCall] representing the invocation of [method] with the 13 | /// specified [arguments]. 14 | const FfiMethodCall(this.method, [this.arguments]); 15 | 16 | /// The name of the method to be called. 17 | final String method; 18 | 19 | /// The arguments for the method. 20 | /// 21 | /// Must be a valid value for the [MethodCodec] used. 22 | final Object? arguments; 23 | 24 | @override 25 | String toString() => '$runtimeType($method, $arguments)'; 26 | } 27 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/lib/database/database.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | import 'dart:io'; 3 | 4 | import 'package:path/path.dart'; 5 | import 'package:sqflite/sqflite.dart'; 6 | 7 | /// delete the db, create the folder and returnes its path 8 | Future initDeleteDb(String dbName) async { 9 | final databasePath = await getDatabasesPath(); 10 | // print(databasePath); 11 | final path = join(databasePath, dbName); 12 | 13 | // make sure the folder exists 14 | // ignore: avoid_slow_async_io 15 | if (await Directory(dirname(path)).exists()) { 16 | await deleteDatabase(path); 17 | } else { 18 | try { 19 | await Directory(dirname(path)).create(recursive: true); 20 | } catch (e) { 21 | // ignore: avoid_print 22 | print(e); 23 | } 24 | } 25 | return path; 26 | } 27 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 2.2.1+1 2 | 3 | * Add debug tag to database factory 4 | 5 | ## 2.2.0 6 | 7 | * Export `Object? result` in `DatabaseException` 8 | * Export deprecated `DatabaseFactory.debugSetLogLevel` for quick logging. 9 | 10 | ## 2.1.0 11 | 12 | * Requires dart sdk 2.15 13 | 14 | ## 2.0.1+1 15 | 16 | * Truncate arguments in exception 17 | 18 | ## 2.0.0+2 19 | 20 | * `nnbd` support 21 | * Fix transaction ref counting on begin transaction failure 22 | 23 | ## 1.0.3+2 24 | 25 | * Don't lock globally during open but lock per database full path. 26 | 27 | ## 1.0.2+1 28 | 29 | * Don't create a transaction during openDatabase if not needed. 30 | 31 | ## 1.0.1 32 | 33 | * Export `DatabaseException.getResultCode()`. 34 | 35 | ## 1.0.0+1 36 | 37 | * Initial revision from sqflite 1.2.2+1 38 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/example/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite_common/sqlite_api.dart'; 2 | import 'package:sqflite_common_ffi/sqflite_ffi.dart'; 3 | 4 | Future main() async { 5 | // Init ffi loader if needed. 6 | sqfliteFfiInit(); 7 | 8 | var databaseFactory = databaseFactoryFfi; 9 | var db = await databaseFactory.openDatabase(inMemoryDatabasePath); 10 | await db.execute(''' 11 | CREATE TABLE Product ( 12 | id INTEGER PRIMARY KEY, 13 | title TEXT 14 | ) 15 | '''); 16 | await db.insert('Product', {'title': 'Product 1'}); 17 | await db.insert('Product', {'title': 'Product 1'}); 18 | 19 | var result = await db.query('Product'); 20 | print(result); 21 | // prints [{id: 1, title: Product 1}, {id: 2, title: Product 1}] 22 | await db.close(); 23 | } 24 | -------------------------------------------------------------------------------- /assets/ethereum-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /assets/icons/camera.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/src/arg_utils.dart: -------------------------------------------------------------------------------- 1 | import 'dart:typed_data'; 2 | 3 | String? _argumentToStringTruncate(Object? argument) { 4 | if (argument == null) { 5 | return null; 6 | } 7 | var text = argument.toString(); 8 | if (text.length > 50) { 9 | return '${text.substring(0, 50)}...'; 10 | } 11 | return text; 12 | } 13 | 14 | /// Convert an sql argument to a printable string, truncating if necessary 15 | String? argumentToString(Object? argument) { 16 | if (argument is Uint8List) { 17 | return 'Blob(${argument.length})'; 18 | } 19 | return _argumentToStringTruncate(argument); 20 | } 21 | 22 | /// Convert sql arguments to a printable string, truncating if necessary 23 | String argumentsToString(List arguments) => 24 | '[${arguments.map((e) => argumentToString(e)).join(', ')}]'; 25 | -------------------------------------------------------------------------------- /android/app/src/main/kotlin/org/nkn/mobile/app/push/apns/notification/NotificationResponseListener.java: -------------------------------------------------------------------------------- 1 | package org.nkn.mobile.app.push.apns.notification; 2 | 3 | /** 4 | * An interface for handling responses to notification requests. 5 | */ 6 | public interface NotificationResponseListener { 7 | /** 8 | * Signals a successful notification. 9 | *

10 | * Note: For a successful request, the response body is empty. 11 | * 12 | * @param notification The notification that succeeded 13 | */ 14 | void onSuccess(Notification notification); 15 | 16 | /** 17 | * Signals a failed notification. 18 | * 19 | * @param notification The notification that failed 20 | * @param response The notification response 21 | */ 22 | void onFailure(Notification notification, NotificationResponse response); 23 | } 24 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/README.md: -------------------------------------------------------------------------------- 1 | # sqflite common 2 | 3 | This package is not intended for direct use. 4 | * See [sqflite](https://pub.dev/packages/sqflite) for flutter mobile 5 | * See [sqflite_common_ffi](https://pub.dev/packages/sqflite_common_ffi) for Desktop 6 | and unit test 7 | 8 | One exception to import `sqflite_common/sqlite_api.dart` is that you have logic 9 | which is shared across Flutter apps and desktop binaries, and you want to make 10 | your shared logic platform-agnostic. In this case, you can import the 11 | `sqflite_common/sqlite_api.dart` directly in your Dart package for shared logic 12 | and import it in your platform-dependent packages (e.g. using 13 | [sqflite](https://pub.dev/packages/sqflite) for Flutter apps and 14 | [sqflite_common_ffi](https://pub.dev/packages/sqflite_common_ffi) for desktop 15 | binaries). 16 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/test/ffi_create_and_exit_main.dart: -------------------------------------------------------------------------------- 1 | // ignore_for_file: avoid_print 2 | 3 | import 'dart:io'; 4 | 5 | import 'package:flutter/material.dart'; 6 | import 'package:path/path.dart'; 7 | import 'package:sqflite/sqflite.dart'; 8 | import 'package:sqflite_common_ffi/sqflite_ffi.dart'; 9 | 10 | Future main() async { 11 | try { 12 | print('Starting'); 13 | WidgetsFlutterBinding.ensureInitialized(); 14 | sqfliteFfiInit(); 15 | databaseFactory = databaseFactoryFfi; 16 | await databaseFactory.setDatabasesPath(join('.local', 'databases')); 17 | var db = await databaseFactory.openDatabase('example.db'); 18 | await db.setVersion(1); 19 | await db.close(); 20 | print('database created'); 21 | exit(0); 22 | } catch (e) { 23 | print('error $e'); 24 | exit(1); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /android/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | val flutterSdkPath = run { 3 | val properties = java.util.Properties() 4 | file("local.properties").inputStream().use { properties.load(it) } 5 | val flutterSdkPath = properties.getProperty("flutter.sdk") 6 | require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } 7 | flutterSdkPath 8 | } 9 | 10 | includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") 11 | 12 | repositories { 13 | google() 14 | mavenCentral() 15 | gradlePluginPortal() 16 | } 17 | } 18 | 19 | plugins { 20 | id("dev.flutter.flutter-plugin-loader") version "1.0.0" 21 | id("com.android.application") version "8.9.1" apply false 22 | id("org.jetbrains.kotlin.android") version "2.0.0" apply false 23 | } 24 | 25 | include(":app") 26 | include(":golib") -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/src/main/java/com/tekartik/sqflite/operation/SqlErrorInfo.java: -------------------------------------------------------------------------------- 1 | package com.tekartik.sqflite.operation; 2 | 3 | import com.tekartik.sqflite.SqlCommand; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | import static com.tekartik.sqflite.Constant.PARAM_SQL; 9 | import static com.tekartik.sqflite.Constant.PARAM_SQL_ARGUMENTS; 10 | 11 | public class SqlErrorInfo { 12 | 13 | static public Map getMap(Operation operation) { 14 | Map map = null; 15 | SqlCommand command = operation.getSqlCommand(); 16 | if (command != null) { 17 | map = new HashMap<>(); 18 | map.put(PARAM_SQL, command.getSql()); 19 | map.put(PARAM_SQL_ARGUMENTS, command.getRawSqlArguments()); 20 | } 21 | return map; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/ios/Classes/SqflitePlugin.h: -------------------------------------------------------------------------------- 1 | #if TARGET_OS_IPHONE 2 | #import 3 | #else 4 | #import 5 | #endif 6 | 7 | @interface SqflitePlugin : NSObject 8 | 9 | + (NSArray*)toSqlArguments:(NSArray*)rawArguments; 10 | 11 | @end 12 | 13 | extern NSString *const SqfliteParamMethod; 14 | extern NSString *const SqfliteParamSql; 15 | extern NSString *const SqfliteParamSqlArguments; 16 | extern NSString *const SqfliteParamInTransaction; 17 | extern NSString *const SqfliteParamNoResult; 18 | extern NSString *const SqfliteParamContinueOnError; 19 | extern NSString *const SqfliteParamResult; 20 | extern NSString *const SqfliteParamError; 21 | extern NSString *const SqfliteParamErrorCode; 22 | extern NSString *const SqfliteParamErrorMessage; 23 | extern NSString *const SqfliteParamErrorData; 24 | -------------------------------------------------------------------------------- /lib/routes/home.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:nmobile/routes/routes.dart'; 3 | import 'package:nmobile/screens/common/media.dart'; 4 | import 'package:nmobile/screens/common/scanner.dart'; 5 | import 'package:nmobile/screens/common/select.dart'; 6 | 7 | Map _routes = { 8 | ScannerScreen.routeName: (BuildContext context) => ScannerScreen(), 9 | SelectScreen.routeName: (BuildContext context, {arguments}) => SelectScreen(arguments: arguments), 10 | MediaScreen.routeName: (BuildContext context, {arguments}) => MediaScreen(arguments: arguments), 11 | // PhotoScreen.routeName: (BuildContext context, {arguments}) => PhotoScreen(arguments: arguments), 12 | // VideoScreen.routeName: (BuildContext context, {arguments}) => VideoScreen(arguments: arguments), 13 | }; 14 | 15 | init() { 16 | Routes.registerRoutes(_routes); 17 | } 18 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/macos/Classes/SqflitePlugin.h: -------------------------------------------------------------------------------- 1 | #if TARGET_OS_IPHONE 2 | #import 3 | #else 4 | #import 5 | #endif 6 | 7 | @interface SqflitePlugin : NSObject 8 | 9 | + (NSArray*)toSqlArguments:(NSArray*)rawArguments; 10 | 11 | @end 12 | 13 | extern NSString *const SqfliteParamMethod; 14 | extern NSString *const SqfliteParamSql; 15 | extern NSString *const SqfliteParamSqlArguments; 16 | extern NSString *const SqfliteParamInTransaction; 17 | extern NSString *const SqfliteParamNoResult; 18 | extern NSString *const SqfliteParamContinueOnError; 19 | extern NSString *const SqfliteParamResult; 20 | extern NSString *const SqfliteParamError; 21 | extern NSString *const SqfliteParamErrorCode; 22 | extern NSString *const SqfliteParamErrorMessage; 23 | extern NSString *const SqfliteParamErrorData; 24 | -------------------------------------------------------------------------------- /assets/icons/notification-bell.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ios/Classes/Push/APNSPushService.h: -------------------------------------------------------------------------------- 1 | // 2 | // APNSPushService.h 3 | // Runner 4 | // 5 | // Created by ZhiGuoJiang on 2020/9/21. 6 | // Copyright © 2020 The Chromium Authors. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "NWHub.h" 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | @interface APNSPushService : NSObject 16 | { 17 | NWHub *_hub; 18 | dispatch_queue_t _serial; 19 | 20 | NWIdentityRef _identity; 21 | NWCertificateRef _certificate; 22 | } 23 | 24 | @property (nonatomic, strong) NSURLSession * session; 25 | @property (nonatomic, strong) NSURLSessionDataTask * dataTask; 26 | 27 | + (APNSPushService *)sharedService; 28 | 29 | - (void)pushContent:(NSString *)pushPayload token:(NSString *)pushToken; 30 | 31 | - (void)connectAPNS; 32 | 33 | - (void)disConnectAPNS; 34 | 35 | @end 36 | 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/src/transaction.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite_common/sqlite_api.dart'; 2 | import 'package:sqflite_common/src/batch.dart'; 3 | import 'package:sqflite_common/src/database.dart'; 4 | import 'package:sqflite_common/src/database_mixin.dart'; 5 | 6 | /// Transaction implementation 7 | class SqfliteTransaction 8 | with SqfliteDatabaseExecutorMixin 9 | implements Transaction { 10 | /// Create a transaction on a given [database] 11 | SqfliteTransaction(this.database); 12 | 13 | /// The transaction database 14 | final SqfliteDatabase database; 15 | 16 | @override 17 | SqfliteDatabase get db => database; 18 | 19 | /// True if a transaction is successfull 20 | bool? successful; 21 | 22 | @override 23 | SqfliteTransaction get txn => this; 24 | 25 | @override 26 | Batch batch() => SqfliteTransactionBatch(this); 27 | } 28 | -------------------------------------------------------------------------------- /lib/routes/contact.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:nmobile/routes/routes.dart'; 3 | import 'package:nmobile/screens/contact/add.dart'; 4 | import 'package:nmobile/screens/contact/chat_profile.dart'; 5 | import 'package:nmobile/screens/contact/home.dart'; 6 | import 'package:nmobile/screens/contact/profile.dart'; 7 | 8 | Map _routes = { 9 | ContactHomeScreen.routeName: (BuildContext context, {arguments}) => ContactHomeScreen(arguments: arguments), 10 | ContactAddScreen.routeName: (BuildContext context) => ContactAddScreen(), 11 | ContactProfileScreen.routeName: (BuildContext context, {arguments}) => ContactProfileScreen(arguments: arguments), 12 | ContactChatProfileScreen.routeName: (BuildContext context, {arguments}) => ContactChatProfileScreen(arguments: arguments), 13 | }; 14 | 15 | init() { 16 | Routes.registerRoutes(_routes); 17 | } 18 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/test/sqlite_api_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_test/flutter_test.dart'; 2 | import 'package:sqflite/sqlite_api.dart'; 3 | 4 | void main() { 5 | group('sqlite_api', () { 6 | // Check that public api are exported 7 | test('exported', () { 8 | for (var value in [ 9 | OpenDatabaseOptions, 10 | DatabaseFactory, 11 | Database, 12 | Transaction, 13 | Batch, 14 | ConflictAlgorithm, 15 | inMemoryDatabasePath, 16 | OnDatabaseConfigureFn, 17 | OnDatabaseCreateFn, 18 | OnDatabaseOpenFn, 19 | OnDatabaseVersionChangeFn, 20 | onDatabaseDowngradeDelete, 21 | sqfliteLogLevelNone, 22 | sqfliteLogLevelSql, 23 | sqfliteLogLevelVerbose 24 | ]) { 25 | expect(value, isNotNull); 26 | } 27 | }); 28 | }); 29 | } 30 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/test/sqlite_api_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite_common/sqlite_api.dart'; 2 | import 'package:test/test.dart'; 3 | 4 | void main() { 5 | group('sqlite_api', () { 6 | // Check that public api are exported 7 | test('exported', () { 8 | for (var value in [ 9 | OpenDatabaseOptions, 10 | DatabaseFactory, 11 | Database, 12 | Transaction, 13 | Batch, 14 | ConflictAlgorithm, 15 | inMemoryDatabasePath, 16 | OnDatabaseConfigureFn, 17 | OnDatabaseCreateFn, 18 | OnDatabaseOpenFn, 19 | OnDatabaseVersionChangeFn, 20 | onDatabaseDowngradeDelete, 21 | sqfliteLogLevelNone, 22 | sqfliteLogLevelSql, 23 | sqfliteLogLevelVerbose, 24 | ]) { 25 | expect(value, isNotNull); 26 | } 27 | }); 28 | }); 29 | } 30 | -------------------------------------------------------------------------------- /ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 12.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /lib/native/eth_resolver.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/services.dart'; 2 | 3 | class EthResolverConfig { 4 | final String? prefix; 5 | final String? rpcServer; 6 | final String? contractAddress; 7 | 8 | EthResolverConfig({this.prefix, this.rpcServer, this.contractAddress}); 9 | } 10 | 11 | class EthResolver { 12 | static const MethodChannel _methodChannel = MethodChannel('org.nkn.mobile/native/nameservice/ethresolver'); 13 | 14 | static install() {} 15 | 16 | static Future resolve(EthResolverConfig config, String address) async { 17 | try { 18 | return await _methodChannel.invokeMethod('resolve', { 19 | 'config': { 20 | 'prefix': config.prefix, 21 | 'contractAddress': config.contractAddress, 22 | 'rpcServer': config.rpcServer, 23 | }, 24 | 'address': address, 25 | }); 26 | } catch (e) { 27 | throw e; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: sqflite 2 | homepage: https://github.com/tekartik/sqflite/tree/master/sqflite 3 | description: Flutter plugin for SQLite, a self-contained, high-reliability, 4 | embedded, SQL database engine. 5 | version: 2.0.3 6 | 7 | environment: 8 | sdk: '>=2.16.0 <3.0.0' 9 | flutter: ">=3.0.0" 10 | 11 | flutter: 12 | plugin: 13 | platforms: 14 | android: 15 | package: com.tekartik.sqflite 16 | pluginClass: SqflitePlugin 17 | ios: 18 | pluginClass: SqflitePlugin 19 | macos: 20 | pluginClass: SqflitePlugin 21 | 22 | dependencies: 23 | flutter: 24 | sdk: flutter 25 | sqflite_common: '>=2.2.1+1 <4.0.0' 26 | path: '>=1.8.0 <3.0.0' 27 | 28 | dev_dependencies: 29 | flutter_lints: '>=1.0.0' 30 | process_run: '>=0.12.0' 31 | http: '>=0.13.0' 32 | flutter_test: 33 | sdk: flutter 34 | test_api: '>=0.2.19' 35 | pub_semver: '>=2.0.0' 36 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/src/sqflite_debug.dart: -------------------------------------------------------------------------------- 1 | import 'package:sqflite_common/sqlite_api.dart'; 2 | 3 | import 'mixin/import_mixin.dart'; 4 | 5 | /// Debug extension 6 | /// 7 | /// Access to dev options, deprecated for temp usage only 8 | extension SqfliteDatabaseFactoryDebug on DatabaseFactory { 9 | /// Change the log level if you want to see the SQL query 10 | /// executed natively. 11 | /// 12 | /// Deprecated for temp usage only 13 | @Deprecated('Dev only') 14 | Future debugSetLogLevel(int logLevel) async { 15 | await debugSetOptions(SqfliteOptions(logLevel: logLevel)); 16 | } 17 | 18 | /// Testing only. 19 | /// 20 | /// deprecated on purpose to remove from code. 21 | @Deprecated('Dev only') 22 | Future debugSetOptions(SqfliteOptions options) async { 23 | await (this as SqfliteInvokeHandler) 24 | .invokeMethod(methodOptions, options.toMap()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /lib/blocs/wallet/wallet_state.dart: -------------------------------------------------------------------------------- 1 | import 'package:nmobile/schema/wallet.dart'; 2 | 3 | abstract class WalletState { 4 | const WalletState(); 5 | } 6 | 7 | // loading 8 | class WalletLoading extends WalletState {} 9 | 10 | // loaded 11 | class WalletLoaded extends WalletState { 12 | final List wallets; 13 | final String? defaultAddress; 14 | 15 | WalletLoaded(this.wallets, this.defaultAddress); 16 | 17 | bool isWalletsEmpty() { 18 | return wallets.isEmpty; 19 | } 20 | 21 | WalletSchema? defaultWallet() { 22 | final finds = this.wallets.where((element) => element.address == defaultAddress).toList(); 23 | if (finds.isNotEmpty) return finds[0]; 24 | return null; 25 | } 26 | } 27 | 28 | // default 29 | class WalletDefault extends WalletLoaded { 30 | final List wallets; 31 | final String? defaultAddress; 32 | 33 | WalletDefault(this.wallets, this.defaultAddress) : super(wallets, defaultAddress); 34 | } 35 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/lib/database_factory_mock.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | import 'package:sqflite_common/sqlite_api.dart'; 4 | 5 | /// Bare minimum mock. 6 | class DatabaseFactoryMock implements DatabaseFactory { 7 | @override 8 | Future databaseExists(String path) async { 9 | throw UnimplementedError(); 10 | } 11 | 12 | @override 13 | Future deleteDatabase(String path) async { 14 | throw UnimplementedError(); 15 | } 16 | 17 | @override 18 | Future getDatabasesPath() async { 19 | throw UnimplementedError(); 20 | } 21 | 22 | @override 23 | Future openDatabase(String path, {OpenDatabaseOptions? options}) { 24 | throw UnimplementedError(); 25 | } 26 | 27 | @override 28 | Future setDatabasesPath(String path) { 29 | throw UnimplementedError(); 30 | } 31 | } 32 | 33 | /// Bare minimum mock. 34 | final databaseFactoryMock = DatabaseFactoryMock(); 35 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | .dart_tool/ 26 | .flutter-plugins 27 | .flutter-plugins-dependencies 28 | .packages 29 | .pub-cache/ 30 | .pub/ 31 | /build/ 32 | 33 | # Web related 34 | lib/generated_plugin_registrant.dart 35 | 36 | # Exceptions to above rules. 37 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 38 | 39 | # Ingore platform files 40 | /web/ 41 | /android/ 42 | /macos/ 43 | /linux/ 44 | /windows/ 45 | /ios/ 46 | 47 | # Coverage 48 | /coverage -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/lib/setup_flutter.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter/services.dart'; 3 | // ignore: implementation_imports 4 | import 'package:sqflite_common_ffi/src/mixin/handler_mixin.dart'; 5 | 6 | /// Use `sqflite_ffi` as the mock implementation for unit test or regular 7 | /// 8 | /// application using `sqflite` 9 | @visibleForTesting 10 | void sqfliteFfiInitAsMockMethodCallHandler() { 11 | const channel = MethodChannel('com.tekartik.sqflite'); 12 | 13 | channel.setMethodCallHandler((MethodCall methodCall) async { 14 | try { 15 | return await FfiMethodCall(methodCall.method, methodCall.arguments) 16 | .handleInIsolate(); 17 | } on SqfliteFfiException catch (e) { 18 | // Re-convert to a Platform exception to make flutter services happy 19 | throw PlatformException( 20 | code: e.code, message: e.message, details: e.details); 21 | } 22 | }); 23 | } 24 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/test/sql_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/services.dart'; 2 | import 'package:flutter_test/flutter_test.dart'; 3 | import 'package:sqflite/sql.dart'; 4 | 5 | void main() { 6 | TestWidgetsFlutterBinding.ensureInitialized(); 7 | 8 | group('sqflite', () { 9 | const channel = MethodChannel('com.tekartik.sqflite'); 10 | 11 | final log = []; 12 | String? response; 13 | 14 | channel.setMockMethodCallHandler((MethodCall methodCall) async { 15 | log.add(methodCall); 16 | return response; 17 | }); 18 | 19 | tearDown(() { 20 | log.clear(); 21 | }); 22 | 23 | test('exported', () { 24 | expect(ConflictAlgorithm.abort, isNotNull); 25 | }); 26 | 27 | test('escapeName_export', () { 28 | expect(escapeName('group'), '"group"'); 29 | }); 30 | 31 | test('unescapeName_export', () { 32 | expect(unescapeName('"group"'), 'group'); 33 | }); 34 | }); 35 | } 36 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/tool/run_integration_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:process_run/shell.dart'; 2 | import 'package:pub_semver/pub_semver.dart'; 3 | 4 | Future main() async { 5 | await runIntegrationTest(); 6 | } 7 | 8 | Future runIntegrationTest({String? deviceId}) async { 9 | final shell = Shell(); 10 | 11 | final nnbdEnabled = dartVersion > Version(2, 12, 0, pre: '0'); 12 | if (nnbdEnabled) { 13 | // Temp dart extra option. To remove once nnbd supported on stable without flags 14 | const dartExtraOptions = '--enable-experiment=non-nullable'; 15 | // Needed for run and test 16 | const dartRunExtraOptions = '$dartExtraOptions --no-sound-null-safety'; 17 | await shell.run( 18 | 'flutter drive ${deviceId != null ? '-d $deviceId ' : ''}$dartRunExtraOptions' 19 | ' --no-pub' 20 | ' --driver=test_driver/integration_test.dart' 21 | ' --target=integration_test/sqflite_test.dart'); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /golib/client.go: -------------------------------------------------------------------------------- 1 | package nkngolib 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | "github.com/nknorg/nkn-sdk-go" 7 | "log" 8 | "net" 9 | "strings" 10 | ) 11 | 12 | func AddClientConfigWithDialContext(config *nkn.ClientConfig) { 13 | dialContext := func(ctx context.Context, network, addr string) (net.Conn, error) { 14 | d := &net.Dialer{} 15 | host, port, err := net.SplitHostPort(addr) 16 | 17 | var conn net.Conn 18 | if net.ParseIP(host) != nil && strings.Contains(host, ".") { 19 | log.Printf("%s:%s => %s", host, port, fmt.Sprintf("%s.ipv4.nknlabs.io:%s", strings.ReplaceAll(host, ".", "-"), port)) 20 | conn, err = d.DialContext(ctx, network, fmt.Sprintf("%s.ipv4.nknlabs.io:%s", strings.ReplaceAll(host, ".", "-"), port)) 21 | } else { 22 | conn, err = d.DialContext(ctx, network, addr) 23 | } 24 | 25 | if err != nil { 26 | return nil, err 27 | } 28 | return conn, nil 29 | } 30 | 31 | config.HttpDialContext = dialContext 32 | config.WsDialContext = dialContext 33 | } 34 | -------------------------------------------------------------------------------- /lib/blocs/settings/settings_bloc.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_bloc/flutter_bloc.dart'; 2 | import 'package:nmobile/blocs/settings/settings_event.dart'; 3 | import 'package:nmobile/blocs/settings/settings_state.dart'; 4 | import 'package:nmobile/common/settings.dart'; 5 | import 'package:nmobile/storages/settings.dart'; 6 | 7 | class SettingsBloc extends Bloc { 8 | SettingsBloc() : super(SettingsInitial()); 9 | 10 | @override 11 | Stream mapEventToState(SettingsEvent event) async* { 12 | if (event is UpdateLanguage) { 13 | yield* _mapUpdateLanguageState(event); 14 | } 15 | } 16 | 17 | Stream _mapUpdateLanguageState(UpdateLanguage event) async* { 18 | Settings.language = event.lang; 19 | await _setLanguage(event.lang); 20 | yield LocaleUpdated(event.lang); 21 | } 22 | 23 | Future _setLanguage(String lang) async { 24 | await SettingsStorage.setSettings(SettingsStorage.LOCALE_KEY, lang); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/test/sqflite_flutter_ffi_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_test/flutter_test.dart'; 2 | import 'package:sqflite/sqflite.dart'; 3 | import 'package:sqflite_common_ffi/sqflite_ffi.dart'; 4 | 5 | Future main() async { 6 | // Setup sqflite_common_ffi for flutter test 7 | setUpAll(() { 8 | // Initialize FFI 9 | sqfliteFfiInit(); 10 | // Change the default factory 11 | databaseFactory = databaseFactoryFfi; 12 | }); 13 | test('Simple test', () async { 14 | final db = await openDatabase(inMemoryDatabasePath, version: 1, 15 | onCreate: (db, version) async { 16 | await db 17 | .execute('CREATE TABLE Test (id INTEGER PRIMARY KEY, value TEXT)'); 18 | }); 19 | // Insert some data 20 | await db.insert('Test', {'value': 'my_value'}); 21 | // Check content 22 | expect(await db.query('Test'), [ 23 | {'id': 1, 'value': 'my_value'} 24 | ]); 25 | 26 | await db.close(); 27 | }); 28 | } 29 | -------------------------------------------------------------------------------- /assets/icons/share.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_test/lib/src/sqflite_import.dart: -------------------------------------------------------------------------------- 1 | // To be imported 2 | export 'package:sqflite_common/src/mixin/constant.dart' show paramId; 3 | export 'package:sqflite_common/src/mixin/dev_utils.dart' 4 | show 5 | // ignore: deprecated_member_use 6 | devPrint, 7 | // ignore: deprecated_member_use 8 | devWarning; 9 | export 'package:sqflite_common/src/mixin/import_mixin.dart' 10 | show 11 | // ignore: deprecated_member_use 12 | SqfliteOptions, 13 | methodOpenDatabase, 14 | methodCloseDatabase, 15 | methodOptions, 16 | sqliteErrorCode, 17 | methodInsert, 18 | methodQuery, 19 | methodUpdate, 20 | methodExecute, 21 | methodBatch, 22 | buildDatabaseFactory, 23 | SqfliteInvokeHandler, 24 | SqfliteDatabaseFactory, 25 | SqfliteDatabaseFactoryMixin, 26 | SqfliteDatabaseException, 27 | SqfliteDatabaseFactoryBase; 28 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/macos/sqflite.podspec: -------------------------------------------------------------------------------- 1 | # 2 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. 3 | # Run `pod lib lint sqflite.podspec' to validate before publishing. 4 | # 5 | Pod::Spec.new do |s| 6 | s.name = 'sqflite' 7 | s.version = '0.0.2' 8 | s.summary = 'SQLite plugin.' 9 | s.description = <<-DESC 10 | Access SQLite database. 11 | DESC 12 | s.homepage = 'https://github.com/tekartik/sqflite' 13 | s.license = { :file => '../LICENSE' } 14 | s.author = { 'Tekartik' => 'alex@tekartik.com' } 15 | s.source = { :path => '.' } 16 | s.source_files = 'Classes/**/*' 17 | s.dependency 'FlutterMacOS' 18 | s.dependency 'FMDB/SQLCipher', '>= 2.7.5' 19 | s.dependency 'SQLCipher', '~> 4.5.0' 20 | 21 | s.platform = :osx, '10.13' 22 | s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'HEADER_SEARCH_PATHS' => 'SQLCipher' } 23 | s.swift_version = '5.0' 24 | end 25 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/doc/deleting_db.md: -------------------------------------------------------------------------------- 1 | # Deleting a database 2 | 3 | While you might be enclined to simply delete the file, you should however use 4 | `deleteDatabase` to properly delete a database. 5 | 6 | ```dart 7 | # Do not call File.delete, it will not work in a hot restart scenario 8 | await File(path).delete(); 9 | 10 | # Instead do 11 | await deleteDatabase(path); 12 | ``` 13 | 14 | * it will properly close any existing database connection 15 | * it will properly handle the hot-restart scenario which put `SQLite` in a 16 | weird state (basically the 'dart' side think the database is closed while 17 | the database is in fact open on the native side) 18 | 19 | If you call `File.delete`, while you might think it work (i.e. the file does not 20 | exist anymore), since the database might still be opened in a hot restart scenario 21 | the next open will re-use the open connection and at some point will get written 22 | with the old data and `onCreate` will not be called the next time you open 23 | the database. -------------------------------------------------------------------------------- /lib/native/crypto.dart: -------------------------------------------------------------------------------- 1 | import 'dart:typed_data'; 2 | 3 | import 'package:flutter/services.dart'; 4 | 5 | class Crypto { 6 | static const MethodChannel _methodChannel = MethodChannel('org.nkn.mobile/native/crypto_method'); 7 | static const EventChannel _eventChannel = EventChannel('org.nkn.mobile/native/crypto_event'); 8 | 9 | static install() {} 10 | 11 | static Future gcmEncrypt(Uint8List data, Uint8List key, int nonceSize) async { 12 | try { 13 | return await _methodChannel.invokeMethod('gcmEncrypt', { 14 | 'data': data, 15 | 'key': key, 16 | 'nonceSize': nonceSize, 17 | }); 18 | } catch (e) { 19 | throw e; 20 | } 21 | } 22 | 23 | static Future gcmDecrypt(Uint8List data, Uint8List key, int nonceSize) async { 24 | try { 25 | return await _methodChannel.invokeMethod('gcmDecrypt', { 26 | 'data': data, 27 | 'key': key, 28 | 'nonceSize': nonceSize, 29 | }); 30 | } catch (e) { 31 | throw e; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/sqflite_dev.dart: -------------------------------------------------------------------------------- 1 | /// To be deprecated 2 | library sqflite_common_sqflite_dev; 3 | 4 | import 'package:sqflite_common/sqlite_api.dart'; 5 | import 'package:sqflite_common/src/mixin/import_mixin.dart'; 6 | 7 | /// Dev extension 8 | /// 9 | /// Please prefer using SqfliteDatabaseFactoryDebug which is exported by default. 10 | extension SqfliteDatabaseFactoryDev on DatabaseFactory { 11 | /// Change the log level if you want to see the SQL query 12 | /// executed natively. 13 | /// 14 | /// Deprecated for temp usage only 15 | @Deprecated('Dev only') 16 | Future setLogLevel(int logLevel) async { 17 | await setOptions(SqfliteOptions(logLevel: logLevel)); 18 | } 19 | 20 | /// Testing only. 21 | /// 22 | /// deprecated on purpose to remove from code. 23 | @Deprecated('Dev only') 24 | Future setOptions(SqfliteOptions options) async { 25 | await (this as SqfliteInvokeHandler) 26 | .invokeMethod(methodOptions, options.toMap()); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /assets/chat/send.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/doc/external.md: -------------------------------------------------------------------------------- 1 | # External documentation and tutorials 2 | 3 | List of external documentation and tutorials from other sources (blogs, videos). If you have 4 | some relevant links to add, please submit a PR or propose the link [here](https://github.com/tekartik/sqflite/issues/122) 5 | 6 | ## Cookbook 7 | 8 | * [Persist data with SQLite](https://flutter.dev/docs/cookbook/persistence/sqlite) 9 | 10 | ## Articles 11 | 12 | * [Step by step explanation of SQLite using SQFlite](https://medium.com/flutter-community/using-sqlite-in-flutter-187c1a82e8b) 13 | * [SQFlite Database in flutter](https://medium.com/@mohamedraja_77/sqflite-database-in-flutter-c0b7be83bcd2) 14 | * [Todo App using BLoC Design Pattern with SQLite](https://medium.com/@vaygeth/reactive-flutter-todo-app-using-bloc-design-pattern-b71e2434f692) 15 | 16 | ## Videos 17 | 18 | * [sqflite MVP app](https://www.youtube.com/watch?v=Yzfxqd9-6QY) 19 | * [Adding SQLite to a Flutter App for Offline Support](https://www.youtube.com/watch?v=zEqH2qYs7Pg) 20 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/tool/travis.dart: -------------------------------------------------------------------------------- 1 | // 2 | // @dart = 2.9 3 | // 4 | // This is to allow running this file without null experiment 5 | // In the future, remove this 2.9 command or run using: dart --enable-experiment=non-nullable --no-sound-null-safety run tool/travis.dart 6 | import 'package:process_run/shell_run.dart'; 7 | import 'package:pub_semver/pub_semver.dart'; 8 | 9 | Future main() async { 10 | final shell = Shell(); 11 | 12 | final nnbdEnabled = dartVersion > Version(2, 11, 0, pre: '0'); 13 | if (nnbdEnabled) { 14 | // Temp dart extra option. To remove once nnbd supported on stable without flags 15 | const dartExtraOptions = '--enable-experiment=non-nullable'; 16 | // Needed for run and test 17 | const dartRunExtraOptions = '$dartExtraOptions --no-sound-null-safety'; 18 | await shell.run(''' 19 | 20 | flutter format --set-exit-if-changed lib test tool 21 | flutter analyze --no-current-package lib test tool 22 | flutter test $dartRunExtraOptions 23 | 24 | '''); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /assets/icons/send.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/test/src_mixin_factory_test.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter_test/flutter_test.dart'; 2 | import 'package:sqflite/sqlite_api.dart'; 3 | import 'package:sqflite/src/constant.dart'; 4 | import 'package:sqflite/src/mixin/factory.dart'; 5 | 6 | import 'src_mixin_test.dart'; 7 | 8 | void main() { 9 | group('mixin_factory', () { 10 | test('public', () { 11 | // ignore: unnecessary_statements 12 | buildDatabaseFactory; 13 | // ignore: unnecessary_statements 14 | SqfliteInvokeHandler; 15 | }); 16 | test('buildDatabaseFactory', () async { 17 | final methods = []; 18 | final factory = buildDatabaseFactory( 19 | invokeMethod: (String method, [dynamic arguments]) async { 20 | methods.add(method); 21 | return mockResult(method); 22 | }); 23 | expect(factory is SqfliteInvokeHandler, isTrue); 24 | await factory.openDatabase(inMemoryDatabasePath); 25 | expect(methods, ['openDatabase']); 26 | }); 27 | }); 28 | } 29 | -------------------------------------------------------------------------------- /plugins/nkn-sdk-flutter/ios/nkn_sdk_flutter.podspec: -------------------------------------------------------------------------------- 1 | # 2 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. 3 | # Run `pod lib lint nkn_sdk_flutter.podspec' to validate before publishing. 4 | # 5 | Pod::Spec.new do |s| 6 | s.name = 'nkn_sdk_flutter' 7 | s.version = '0.1.15' 8 | s.summary = 'nkn-sdk-flutter' 9 | s.description = <<-DESC 10 | nkn-sdk-flutter 11 | DESC 12 | s.homepage = 'https://github.com/nknorg/nkn-sdk-flutter' 13 | s.license = { :file => '../LICENSE' } 14 | s.author = { 'Heron' => 'heron.roman@gmail.com' } 15 | s.source = { :path => '.' } 16 | s.source_files = 'Classes/**/*' 17 | s.dependency 'Flutter' 18 | s.platform = :ios, '11.0' 19 | 20 | s.vendored_frameworks = 'Frameworks/*.xcframework' 21 | 22 | # Flutter.framework does not contain a i386 slice. 23 | s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } 24 | s.swift_version = '5.0' 25 | end 26 | -------------------------------------------------------------------------------- /lib/blocs/wallet/wallet_event.dart: -------------------------------------------------------------------------------- 1 | import 'package:nmobile/schema/wallet.dart'; 2 | 3 | abstract class WalletEvent { 4 | const WalletEvent(); 5 | } 6 | 7 | // load 8 | class LoadWallet extends WalletEvent {} 9 | 10 | // add 11 | class AddWallet extends WalletEvent { 12 | final WalletSchema wallet; 13 | final String keystore; 14 | final String password; 15 | final String seed; 16 | 17 | AddWallet(this.wallet, this.keystore, this.password, this.seed); 18 | } 19 | 20 | // delete 21 | class DeleteWallet extends WalletEvent { 22 | final String address; 23 | 24 | DeleteWallet(this.address); 25 | } 26 | 27 | // update 28 | class UpdateWallet extends WalletEvent { 29 | final WalletSchema wallet; 30 | 31 | UpdateWallet(this.wallet); 32 | } 33 | 34 | // backup 35 | class BackupWallet extends WalletEvent { 36 | final String address; 37 | final bool backup; 38 | 39 | BackupWallet(this.address, this.backup); 40 | } 41 | 42 | // default 43 | class DefaultWallet extends WalletEvent { 44 | final String? address; 45 | 46 | DefaultWallet(this.address); 47 | } 48 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/doc/perf.md: -------------------------------------------------------------------------------- 1 | # Some perf experiment 2 | 3 | Nexus 5, Android 6. 2019/02/26 4 | 5 | ## Background thread priority (new default) 6 | 7 | ``` 8 | TEST Running Perf 1000 insert 9 | 1000 insert 0:00:01.461457 10 | TEST Done Perf 1000 insert 11 | ``` 12 | 13 | ``` 14 | TEST Running Perf 10000 item 15 | sw 0:00:03.638205 insert 10000 items batch 16 | sw 0:00:00.483061 SELECT * From Test : 10000 items 17 | sw 0:00:00.521089 SELECT * FROM Test WHERE name LIKE %item% 10000 items 18 | sw 0:00:00.011873 SELECT * FROM Test WHERE name LIKE %dummy% 0 items 19 | ``` 20 | 21 | ## Normal thread priority 22 | 23 | ``` 24 | TEST Done Perf 10000 item 25 | TEST Running Perf android NORMAL_PRIORITY 26 | 1000 insert 0:00:01.171613 27 | ``` 28 | 29 | ``` 30 | sw 0:00:03.583681 insert 10000 items batch 31 | sw 0:00:00.408970 SELECT * From Test : 10000 items 32 | sw 0:00:00.426629 SELECT * FROM Test WHERE name LIKE %item% 10000 items 33 | sw 0:00:00.012783 SELECT * FROM Test WHERE name LIKE %dummy% 0 items 34 | TEST Done Perf android NORMAL_PRIORITY 35 | ``` -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/ios/sqflite.podspec: -------------------------------------------------------------------------------- 1 | # 2 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html 3 | # 4 | Pod::Spec.new do |s| 5 | s.name = 'sqflite' 6 | s.version = '0.0.2' 7 | s.summary = 'SQLite plugin.' 8 | s.description = <<-DESC 9 | Access SQLite database. 10 | DESC 11 | s.homepage = 'https://github.com/tekartik/sqflite' 12 | s.license = { :file => '../LICENSE' } 13 | s.author = { 'Tekartik' => 'alex@tekartik.com' } 14 | s.source = { :path => '.' } 15 | s.source_files = 'Classes/**/*' 16 | s.public_header_files = 'Classes/**/*.h' 17 | s.dependency 'Flutter' 18 | s.dependency 'FMDB/SQLCipher', '>= 2.7.5' 19 | s.dependency 'SQLCipher', '~> 4.5.0' 20 | 21 | s.platform = :ios, '11.0' 22 | s.ios.deployment_target = '11.0' 23 | s.pod_target_xcconfig = { 24 | 'DEFINES_MODULE' => 'YES', 25 | 'HEADER_SEARCH_PATHS' => 'SQLCipher', 26 | 'VALID_ARCHS[sdk=iphonesimulator*]' => 'x86_64' 27 | } 28 | end 29 | 30 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common/lib/src/method_call.dart: -------------------------------------------------------------------------------- 1 | import 'package:meta/meta.dart'; 2 | 3 | /// An command object representing the invocation of a named method. 4 | @immutable 5 | class SqfliteMethodCall { 6 | /// Creates a [MethodCall] representing the invocation of [method] with the 7 | /// specified [arguments]. 8 | const SqfliteMethodCall(this.method, [this.arguments]); 9 | 10 | /// Build from a map. 11 | factory SqfliteMethodCall.fromMap(Map map) { 12 | return SqfliteMethodCall(map['method'] as String, map['arguments']); 13 | } 14 | 15 | /// The name of the method to be called. 16 | final String method; 17 | 18 | /// The arguments for the method. 19 | /// 20 | /// Must be a valid value for the [MethodCodec] used. 21 | final dynamic arguments; 22 | 23 | /// To map 24 | Map toMap() { 25 | return { 26 | 'method': method, 27 | if (arguments != null) 'arguments': arguments 28 | }; 29 | } 30 | 31 | @override 32 | String toString() => '$runtimeType($method, $arguments)'; 33 | } 34 | -------------------------------------------------------------------------------- /lib/routes/settings.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:nmobile/routes/routes.dart'; 3 | import 'package:nmobile/screens/settings/cache.dart'; 4 | import 'package:nmobile/screens/settings/develop.dart'; 5 | import 'package:nmobile/screens/settings/home.dart'; 6 | import 'package:nmobile/screens/settings/subscribe.dart'; 7 | import 'package:nmobile/screens/settings/terms.dart'; 8 | import 'package:nmobile/screens/settings/tracker.dart'; 9 | 10 | Map _routes = { 11 | SettingsHomeScreen.routeName: (BuildContext context) => SettingsHomeScreen(), 12 | SettingsCacheScreen.routeName: (BuildContext context) => SettingsCacheScreen(), 13 | SettingsAccelerateScreen.routeName: (BuildContext context) => SettingsAccelerateScreen(), 14 | SettingsTrackerScreen.routeName: (BuildContext context) => SettingsTrackerScreen(), 15 | SettingsTermsScreen.routeName: (BuildContext context) => SettingsTermsScreen(), 16 | SettingsDevelopScreen.routeName: (BuildContext context) => SettingsDevelopScreen(), 17 | }; 18 | 19 | init() { 20 | Routes.registerRoutes(_routes); 21 | } 22 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/test/setup_impl_test.dart: -------------------------------------------------------------------------------- 1 | @TestOn('vm') 2 | library sqflite_common_ffi.test.setup_impl_test; 3 | 4 | import 'dart:io'; 5 | 6 | import 'package:path/path.dart'; 7 | import 'package:sqflite_common_ffi/src/windows/setup.dart'; 8 | import 'package:test/test.dart'; 9 | 10 | void main() { 11 | group('sqflite_ffi_impl', () { 12 | test('findPackagePath', () { 13 | // Find our path 14 | var path = findPackageLibPath(Directory.current.path)!; 15 | // print(path); 16 | 17 | expect(Directory(path).existsSync(), isTrue); 18 | expect(File(packageGetSqlite3DllPath(path)).existsSync(), isTrue); 19 | }); 20 | test('dummy path findPackageLibPath', () { 21 | // bad location 22 | expect(findPackageLibPath(join(Directory.current.path, 'test')), null); 23 | // dummy location 24 | expect(findPackageLibPath(join(Directory.current.path, '.dummy')), null); 25 | }); 26 | test('findWindowsDllPath', () { 27 | expect(File(findWindowsDllPath()!).existsSync(), isTrue); 28 | }); 29 | }); 30 | } 31 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_common_ffi/tool/travis.dart: -------------------------------------------------------------------------------- 1 | // 2 | // @dart = 2.9 3 | // 4 | // This is to allow running this file without null experiment 5 | // In the future, remove this 2.9 comment or run using: dart --enable-experiment=non-nullable --no-sound-null-safety run tool/travis.dart 6 | 7 | import 'dart:io'; 8 | 9 | import 'package:process_run/shell.dart'; 10 | import 'package:pub_semver/pub_semver.dart'; 11 | 12 | import 'linux_setup.dart' as linux_setup; 13 | 14 | bool get runningOnTravis => Platform.environment['TRAVIS'] == 'true'; 15 | 16 | Future main() async { 17 | // print(Directory.current); 18 | var shell = Shell(); 19 | 20 | if (runningOnTravis) { 21 | await linux_setup.main(); 22 | } 23 | 24 | final nnbdEnabled = dartVersion > Version(2, 12, 0, pre: '0'); 25 | if (nnbdEnabled) { 26 | await shell.run(''' 27 | 28 | dart analyze --fatal-warnings --fatal-infos . 29 | dart format -o none --set-exit-if-changed . 30 | dart test -p vm,chrome 31 | 32 | 33 | '''); 34 | } else { 35 | stderr.writeln('nnbd tests skipped on dart $dartVersion'); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | **/ios/Flutter/.last_build_id 26 | .dart_tool/ 27 | .flutter-plugins 28 | .flutter-plugins-dependencies 29 | .packages 30 | .pub-cache/ 31 | .pub/ 32 | /build/ 33 | /ios/build/ 34 | 35 | # Web related 36 | lib/generated_plugin_registrant.dart 37 | 38 | # Symbolication related 39 | app.*.symbols 40 | 41 | # Obfuscation related 42 | app.*.map.json 43 | 44 | # nkn build(android) 45 | nkn-sources.jar 46 | nkn.aar 47 | 48 | # nkn build(ios) 49 | **/Nkn.xcframework/ 50 | 51 | # android build 52 | **.jks 53 | **.keystore 54 | **/key.properties 55 | /android/app/release/ 56 | 57 | # psuh resource 58 | **.p12 59 | **.cer 60 | /android/app/.cxx/ 61 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/README.md: -------------------------------------------------------------------------------- 1 | # sqflite 2 | 3 | [![pub package](https://img.shields.io/pub/v/sqflite.svg)](https://pub.dev/packages/sqflite) 4 | [![Build Status](https://travis-ci.org/tekartik/sqflite.svg?branch=master)](https://travis-ci.org/tekartik/sqflite) 5 | [![codecov](https://codecov.io/gh/tekartik/sqflite/branch/master/graph/badge.svg)](https://codecov.io/gh/tekartik/sqflite) 6 | 7 | SQLite plugin for [Flutter](https://flutter.io). 8 | Supports iOS, Android and MacOS. 9 | 10 | * Support transactions and batches 11 | * Automatic version management during open 12 | * Helpers for insert/query/update/delete queries 13 | * DB operation executed in a background thread on iOS and Android 14 | * Linux/Windows/DartVM support using [sqflite_common_ffi](https://pub.dev/packages/sqflite_common_ffi) 15 | 16 | ## Documentation 17 | 18 | * [Documentation](https://github.com/tekartik/sqflite/blob/master/sqflite/README.md) 19 | * [API reference](https://pub.dartlang.org/documentation/sqflite/latest/sqflite/sqflite-library.html) 20 | * [How to](https://github.com/tekartik/sqflite/blob/master/sqflite/doc/how_to.md) guide 21 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite_test_app/lib/main_ffi.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/foundation.dart'; 2 | import 'package:flutter/material.dart'; 3 | import 'package:sqflite/sqflite.dart'; 4 | import 'package:sqflite_common_ffi/sqflite_ffi.dart'; 5 | import 'package:sqflite_example/main.dart' as example; 6 | import 'package:sqflite_example/utils.dart'; 7 | 8 | Future main() async { 9 | // getDatabasesPath implementation is lame, use the default one 10 | // but we could also use path_provider 11 | var isSqfliteCompatible = 12 | !kIsWeb && (Platform.isAndroid || Platform.isIOS || Platform.isMacOS); 13 | DatabaseFactory? original; 14 | // Save original for iOS & Android 15 | if (isSqfliteCompatible) { 16 | original = databaseFactory; 17 | } 18 | 19 | WidgetsFlutterBinding.ensureInitialized(); 20 | sqfliteFfiInit(); 21 | databaseFactory = databaseFactoryFfi; 22 | // Use sqflite databases path provider (ffi implementation is lame)) 23 | if (isSqfliteCompatible) { 24 | await databaseFactory.setDatabasesPath(await original!.getDatabasesPath()); 25 | } 26 | example.main(); 27 | } 28 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/android/build.gradle: -------------------------------------------------------------------------------- 1 | group 'com.tekartik.sqflite' 2 | version '1.0-SNAPSHOT' 3 | 4 | buildscript { 5 | repositories { 6 | google() 7 | mavenCentral() 8 | } 9 | 10 | dependencies { 11 | classpath 'com.android.tools.build:gradle:4.1.0' 12 | } 13 | } 14 | 15 | rootProject.allprojects { 16 | repositories { 17 | google() 18 | mavenCentral() 19 | } 20 | } 21 | 22 | allprojects { 23 | gradle.projectsEvaluated { 24 | tasks.withType(JavaCompile) { 25 | options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" 26 | } 27 | } 28 | } 29 | 30 | apply plugin: 'com.android.library' 31 | 32 | android { 33 | compileSdkVersion 31 34 | 35 | namespace 'com.davidmartos96.sqflite_sqlcipher' 36 | 37 | defaultConfig { 38 | minSdkVersion 16 39 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 40 | } 41 | lintOptions { 42 | disable 'InvalidPackage' 43 | } 44 | } 45 | 46 | dependencies { 47 | testImplementation 'junit:junit:4.13.1' 48 | } 49 | -------------------------------------------------------------------------------- /plugins/sqflite_sqlcipher-fmdb_override/sqflite/example/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | --------------------------------------------------------------------------------