Commit 912ad078 authored by Izol's avatar Izol

commit sourcetree

parent a2337fc8
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"device_info_plus","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus-3.2.4\\\\","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus-1.4.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_ios","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_ios-2.0.11\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_apple-9.0.7\\\\","native_build":true,"dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","native_build":true,"dependencies":["package_info_plus"]},{"name":"shared_preferences_ios","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_ios-2.1.1\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.2.0+3\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"device_info_plus","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus-3.2.4\\\\","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus-1.4.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.0.22\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_android-10.2.0\\\\","native_build":true,"dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","native_build":true,"dependencies":["package_info_plus"]},{"name":"shared_preferences_android","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_android-2.0.14\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.2.0+3\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"device_info_plus_macos","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus_macos-2.2.3\\\\","native_build":true,"dependencies":[]},{"name":"package_info_plus_macos","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus_macos-1.3.0\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_macos","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_macos-2.0.6\\\\","native_build":true,"dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_macos","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_macos-2.0.4\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.2.0+3\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"device_info_plus_linux","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus_linux-2.1.1\\\\","native_build":false,"dependencies":[]},{"name":"package_info_plus_linux","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus_linux-1.0.5\\\\","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.1.7\\\\","native_build":false,"dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_linux-2.1.1\\\\","native_build":false,"dependencies":["path_provider_linux"]}],"windows":[{"name":"device_info_plus_windows","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus_windows-2.1.1\\\\","native_build":false,"dependencies":[]},{"name":"package_info_plus_windows","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus_windows-1.0.5\\\\","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.0.7\\\\","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_windows-0.1.2\\\\","native_build":true,"dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_windows-2.1.1\\\\","native_build":false,"dependencies":["path_provider_windows"]}],"web":[{"name":"device_info_plus_web","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus_web-2.1.0\\\\","dependencies":[]},{"name":"package_info_plus_web","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus_web-1.0.6\\\\","dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","dependencies":[]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_web-2.0.4\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"device_info_plus","dependencies":["device_info_plus_macos","device_info_plus_linux","device_info_plus_web","device_info_plus_windows"]},{"name":"device_info_plus_linux","dependencies":[]},{"name":"device_info_plus_macos","dependencies":[]},{"name":"device_info_plus_web","dependencies":[]},{"name":"device_info_plus_windows","dependencies":[]},{"name":"package_info_plus","dependencies":["package_info_plus_linux","package_info_plus_macos","package_info_plus_windows","package_info_plus_web"]},{"name":"package_info_plus_linux","dependencies":[]},{"name":"package_info_plus_macos","dependencies":[]},{"name":"package_info_plus_web","dependencies":[]},{"name":"package_info_plus_windows","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_ios","path_provider_linux","path_provider_macos","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_ios","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"sentry_flutter","dependencies":["package_info_plus"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_ios","shared_preferences_linux","shared_preferences_macos","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_ios","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]}],"date_created":"2022-11-29 16:49:58.889113","version":"3.6.0-0.1.pre"}
\ No newline at end of file
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"device_info_plus","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus-3.2.4\\\\","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus-1.4.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_ios","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_ios-2.0.11\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_apple-9.0.7\\\\","native_build":true,"dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","native_build":true,"dependencies":["package_info_plus"]},{"name":"shared_preferences_ios","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_ios-2.1.1\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.2.0+3\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"device_info_plus","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus-3.2.4\\\\","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus-1.4.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.0.22\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_android-10.2.0\\\\","native_build":true,"dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","native_build":true,"dependencies":["package_info_plus"]},{"name":"shared_preferences_android","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_android-2.0.14\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.2.0+3\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"device_info_plus_macos","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus_macos-2.2.3\\\\","native_build":true,"dependencies":[]},{"name":"package_info_plus_macos","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus_macos-1.3.0\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_macos","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_macos-2.0.6\\\\","native_build":true,"dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_macos","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_macos-2.0.4\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.2.0+3\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"device_info_plus_linux","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus_linux-2.1.1\\\\","native_build":false,"dependencies":[]},{"name":"package_info_plus_linux","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus_linux-1.0.5\\\\","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.1.7\\\\","native_build":false,"dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_linux-2.1.1\\\\","native_build":false,"dependencies":["path_provider_linux"]}],"windows":[{"name":"device_info_plus_windows","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus_windows-2.1.1\\\\","native_build":false,"dependencies":[]},{"name":"package_info_plus_windows","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus_windows-1.0.5\\\\","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.0.7\\\\","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_windows-0.1.2\\\\","native_build":true,"dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_windows-2.1.1\\\\","native_build":false,"dependencies":["path_provider_windows"]}],"web":[{"name":"device_info_plus_web","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\device_info_plus_web-2.1.0\\\\","dependencies":[]},{"name":"package_info_plus_web","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\package_info_plus_web-1.0.6\\\\","dependencies":[]},{"name":"sentry_flutter","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sentry_flutter-6.17.0\\\\","dependencies":[]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\MDD HP\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_web-2.0.4\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"device_info_plus","dependencies":["device_info_plus_macos","device_info_plus_linux","device_info_plus_web","device_info_plus_windows"]},{"name":"device_info_plus_linux","dependencies":[]},{"name":"device_info_plus_macos","dependencies":[]},{"name":"device_info_plus_web","dependencies":[]},{"name":"device_info_plus_windows","dependencies":[]},{"name":"package_info_plus","dependencies":["package_info_plus_linux","package_info_plus_macos","package_info_plus_windows","package_info_plus_web"]},{"name":"package_info_plus_linux","dependencies":[]},{"name":"package_info_plus_macos","dependencies":[]},{"name":"package_info_plus_web","dependencies":[]},{"name":"package_info_plus_windows","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_ios","path_provider_linux","path_provider_macos","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_ios","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_macos","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"sentry_flutter","dependencies":["package_info_plus"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_ios","shared_preferences_linux","shared_preferences_macos","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_ios","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]}],"date_created":"2022-12-01 18:10:03.678246","version":"3.6.0-0.1.pre"}
\ No newline at end of file
......@@ -6,16 +6,22 @@
</shared>
</component>
<component name="AndroidLogFilters">
<option name="TOOL_WINDOW_LOG_LEVEL" value="debug" />
<option name="TOOL_WINDOW_CONFIGURED_FILTER" value="No Filters" />
<option name="TOOL_WINDOW_REGEXP_FILTER" value="false" />
<option name="TOOL_WINDOW_CUSTOM_FILTER" value="ini pesan second" />
<option name="TOOL_WINDOW_LOG_LEVEL" value="verbose" />
<option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
</component>
<component name="AutoImportSettings">
<option name="autoReloadType" value="NONE" />
</component>
<component name="ChangeListManager">
<list default="true" id="8704a1d9-96ef-4cdc-ac57-c88bc9c0306e" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/libraries/Dart_Packages.xml" beforeDir="false" />
<change afterPath="$PROJECT_DIR$/.flutter-plugins" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.flutter-plugins-dependencies" afterDir="false" />
<change afterPath="$PROJECT_DIR$/android/app/src/main/res/drawable/wahoo_print.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/assets/wahoo.bmp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ios/Flutter/Generated.xcconfig" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ios/Flutter/flutter_export_environment.sh" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Dart_Packages.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Dart_Packages.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Dart_SDK.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Dart_SDK.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/libraries/Flutter_Plugins.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Flutter_Plugins.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
......@@ -31,30 +37,24 @@
<change beforePath="$PROJECT_DIR$/android/.gradle/buildOutputCleanup/outputFiles.bin" beforeDir="false" afterPath="$PROJECT_DIR$/android/.gradle/buildOutputCleanup/outputFiles.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/.gradle/file-system.probe" beforeDir="false" afterPath="$PROJECT_DIR$/android/.gradle/file-system.probe" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/.idea/gradle.xml" beforeDir="false" afterPath="$PROJECT_DIR$/android/.idea/gradle.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/.idea/jarRepositories.xml" beforeDir="false" afterPath="$PROJECT_DIR$/android/.idea/jarRepositories.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/.idea/modules/-435484205/android.workmanager.androidTest.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/android/.idea/modules/-435484205/android.workmanager.unitTest.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/android/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/android/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/app/build.gradle" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/android/app/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/android/app/build.gradle" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/app/debug/app-debug.apk" beforeDir="false" afterPath="$PROJECT_DIR$/android/app/debug/app-debug.apk" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/app/release/app-release.apk" beforeDir="false" afterPath="$PROJECT_DIR$/android/app/release/app-release.apk" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java" beforeDir="false" afterPath="$PROJECT_DIR$/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/app/src/main/kotlin/com/example/self_service_3/MainActivity.kt" beforeDir="false" afterPath="$PROJECT_DIR$/android/app/src/main/kotlin/com/example/self_service_3/MainActivity.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/android/app/src/main/res/drawable/wahoo.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/android/local.properties" beforeDir="false" afterPath="$PROJECT_DIR$/android/local.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/assets/wahoo.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/assets/wahoo.png" beforeDir="false" afterPath="$PROJECT_DIR$/assets/wahoo.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/assets/wristband.gif" beforeDir="false" afterPath="$PROJECT_DIR$/assets/wristband.gif" afterDir="false" />
<change beforePath="$PROJECT_DIR$/daemon/7.4/registry.bin" beforeDir="false" afterPath="$PROJECT_DIR$/daemon/7.4/registry.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/daemon/7.4/registry.bin.lock" beforeDir="false" afterPath="$PROJECT_DIR$/daemon/7.4/registry.bin.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ios/Runner/GeneratedPluginRegistrant.h" beforeDir="false" afterPath="$PROJECT_DIR$/ios/Runner/GeneratedPluginRegistrant.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ios/Runner/GeneratedPluginRegistrant.m" beforeDir="false" afterPath="$PROJECT_DIR$/ios/Runner/GeneratedPluginRegistrant.m" afterDir="false" />
<change beforePath="$PROJECT_DIR$/kotlin-profile/2022-11-28-11-34-03-909.profile" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/lib/services/api_helpert.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/services/api_helpert.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/ui/pages/home_page.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/ui/pages/home_page.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/ui/pages/set_merchant.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/ui/pages/set_merchant.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/linux/flutter/generated_plugin_registrant.cc" beforeDir="false" afterPath="$PROJECT_DIR$/linux/flutter/generated_plugin_registrant.cc" afterDir="false" />
<change beforePath="$PROJECT_DIR$/linux/flutter/generated_plugin_registrant.h" beforeDir="false" afterPath="$PROJECT_DIR$/linux/flutter/generated_plugin_registrant.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/linux/flutter/generated_plugins.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/linux/flutter/generated_plugins.cmake" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/ui/pages/splash_page.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/ui/pages/splash_page.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pubspec.lock" beforeDir="false" afterPath="$PROJECT_DIR$/pubspec.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/pubspec.yaml" afterDir="false" />
</list>
......@@ -158,4 +158,25 @@
</map>
</option>
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<breakpoints>
<line-breakpoint enabled="true" suspend="THREAD" type="Dart">
<url>file://$PROJECT_DIR$/lib/reader/reader_flutter.dart</url>
<line>109</line>
<option name="timeStamp" value="1" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="Dart">
<url>file://$PROJECT_DIR$/lib/reader/reader_flutter.dart</url>
<line>110</line>
<option name="timeStamp" value="2" />
</line-breakpoint>
<line-breakpoint enabled="true" suspend="THREAD" type="Dart">
<url>file://$PROJECT_DIR$/lib/reader/reader_flutter.dart</url>
<line>112</line>
<option name="timeStamp" value="3" />
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
</project>
\ No newline at end of file
......@@ -16,6 +16,11 @@
<option name="name" value="MavenRepo" />
<option name="url" value="https://repo.maven.apache.org/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven4" />
<option name="name" value="maven4" />
<option name="url" value="https://storage.googleapis.com/download.flutter.io" />
</remote-repository>
<remote-repository>
<option name="id" value="Google7" />
<option name="name" value="Google7" />
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidLayouts">
<shared>
<config />
</shared>
</component>
<component name="AndroidLogFilters">
<option name="TOOL_WINDOW_LOG_LEVEL" value="verbose" />
<option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
</component>
<component name="AutoImportSettings">
<option name="autoReloadType" value="NONE" />
</component>
<component name="ChangeListManager">
<list default="true" id="9d7011a7-617a-40dd-8aeb-8faa01438c54" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/../.idea/libraries/Dart_Packages.xml" beforeDir="false" />
<list default="true" id="4f624a11-7645-4429-bfd9-02d923f12bca" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/../.flutter-plugins" afterDir="false" />
<change afterPath="$PROJECT_DIR$/../.flutter-plugins-dependencies" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/src/main/res/drawable/wahoo_print.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/../assets/wahoo.bmp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/../ios/Flutter/Generated.xcconfig" afterDir="false" />
<change afterPath="$PROJECT_DIR$/../ios/Flutter/flutter_export_environment.sh" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../.idea/libraries/Dart_Packages.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../.idea/libraries/Dart_Packages.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../.idea/libraries/Dart_SDK.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../.idea/libraries/Dart_SDK.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../.idea/libraries/Flutter_Plugins.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../.idea/libraries/Flutter_Plugins.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../.idea/workspace.xml" afterDir="false" />
......@@ -21,30 +36,24 @@
<change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gradle/file-system.probe" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/file-system.probe" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/gradle.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/gradle.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/jarRepositories.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/jarRepositories.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/modules/-435484205/android.workmanager.androidTest.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/modules/-435484205/android.workmanager.unitTest.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/build.gradle" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/app/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/app/build.gradle" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/debug/app-debug.apk" beforeDir="false" afterPath="$PROJECT_DIR$/app/debug/app-debug.apk" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/release/app-release.apk" beforeDir="false" afterPath="$PROJECT_DIR$/app/release/app-release.apk" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/kotlin/com/example/self_service_3/MainActivity.kt" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/kotlin/com/example/self_service_3/MainActivity.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/drawable/wahoo.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/local.properties" beforeDir="false" afterPath="$PROJECT_DIR$/local.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../assets/wahoo.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/../assets/wahoo.png" beforeDir="false" afterPath="$PROJECT_DIR$/../assets/wahoo.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../assets/wristband.gif" beforeDir="false" afterPath="$PROJECT_DIR$/../assets/wristband.gif" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../daemon/7.4/registry.bin" beforeDir="false" afterPath="$PROJECT_DIR$/../daemon/7.4/registry.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../daemon/7.4/registry.bin.lock" beforeDir="false" afterPath="$PROJECT_DIR$/../daemon/7.4/registry.bin.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../ios/Runner/GeneratedPluginRegistrant.h" beforeDir="false" afterPath="$PROJECT_DIR$/../ios/Runner/GeneratedPluginRegistrant.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../ios/Runner/GeneratedPluginRegistrant.m" beforeDir="false" afterPath="$PROJECT_DIR$/../ios/Runner/GeneratedPluginRegistrant.m" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../kotlin-profile/2022-11-28-11-34-03-909.profile" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/../lib/services/api_helpert.dart" beforeDir="false" afterPath="$PROJECT_DIR$/../lib/services/api_helpert.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../lib/ui/pages/home_page.dart" beforeDir="false" afterPath="$PROJECT_DIR$/../lib/ui/pages/home_page.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../lib/ui/pages/set_merchant.dart" beforeDir="false" afterPath="$PROJECT_DIR$/../lib/ui/pages/set_merchant.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../linux/flutter/generated_plugin_registrant.cc" beforeDir="false" afterPath="$PROJECT_DIR$/../linux/flutter/generated_plugin_registrant.cc" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../linux/flutter/generated_plugin_registrant.h" beforeDir="false" afterPath="$PROJECT_DIR$/../linux/flutter/generated_plugin_registrant.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../linux/flutter/generated_plugins.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/../linux/flutter/generated_plugins.cmake" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../lib/ui/pages/splash_page.dart" beforeDir="false" afterPath="$PROJECT_DIR$/../lib/ui/pages/splash_page.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../pubspec.lock" beforeDir="false" afterPath="$PROJECT_DIR$/../pubspec.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/../pubspec.yaml" afterDir="false" />
</list>
......@@ -53,9 +62,7 @@
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="CodeInsightWorkspaceSettings">
<option name="optimizeImportsOnTheFly" value="true" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[192.168.219.108:5555]" />
<component name="ExternalProjectsData">
<projectState path="$PROJECT_DIR$">
<ProjectState />
......@@ -67,7 +74,7 @@
<component name="MarkdownSettingsMigration">
<option name="stateVersion" value="1" />
</component>
<component name="ProjectId" id="2IDRirSmix71kNnn83YkjBUpncK" />
<component name="ProjectId" id="2IIttpLppDCI02QnsHdD2qGY0Zj" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
......@@ -81,14 +88,75 @@
<property name="dart.analysis.tool.window.visible" value="false" />
<property name="show.migrate.to.gradle.popup" value="false" />
</component>
<component name="RunManager">
<configuration name="app" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="android.app.main" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
<option name="CLEAR_APP_STORAGE" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
<option name="INSPECTION_WITHOUT_ACTIVITY_RESTART" value="false" />
<option name="TARGET_SELECTION_MODE" value="DEVICE_AND_SNAPSHOT_COMBO_BOX" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Hybrid>
<Java />
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Java/Kotlin Method Sample (legacy)" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
<option name="PROFILING_MODE" value="NOT_SET" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="9d7011a7-617a-40dd-8aeb-8faa01438c54" name="Changes" comment="" />
<created>1669714299067</created>
<changelist id="4f624a11-7645-4429-bfd9-02d923f12bca" name="Changes" comment="" />
<created>1669881143956</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1669714299067</updated>
<updated>1669881143956</updated>
</task>
<servers />
</component>
......
......@@ -80,7 +80,7 @@ dependencies {
implementation 'androidx.annotation:annotation:1.4.0'
// library mdd
implementation(group: 'com.mdd.topup', name: 'mifare_mdd_lib', version: '0.0.10-rev13', ext: 'aar')
implementation(group: 'com.mdd.topup', name: 'mifare_mdd_lib', version: '0.0.11', ext: 'aar')
implementation(group: 'com.mdd.payment', name: 'aar-deviceid-release', version: '2.0.6', ext: 'aar')
implementation(group: 'com.mdd.library', name: 'android-escpos-receipt', version: '1.0.1', ext: 'aar')
implementation(group: 'com.mdd.payment', name: 'nativecripto-release', version: '2.0.1', ext: 'aar')
......
......@@ -31,6 +31,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) {
when (call.method) {
"init_library" -> {
this.result = result;
val callback = this
object : Thread() {
override fun run() {
......@@ -82,15 +83,15 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
val getRegDb = call.argument<String>("get_reg_db")
val amount = call.argument<String>("amount")
val topupInquiryResponse = _mifareTicketing?.topupInquiry(
outletName?.toLowerCase(Locale.ROOT)!!.replace(" ", "-"),
"M",
cardNumber!!,
amount!!,
"TOPUP" + System.currentTimeMillis(),
prevBalance!!,
deviceTimestamp = sdf.format(timeNow),
requestTimestamp = sdf.format(timeNow),
getRegDb!!,
outletName?.toLowerCase(Locale.ROOT)!!.replace(" ", "-"),
"M",
cardNumber!!,
amount!!,
"TOPUP" + System.currentTimeMillis(),
prevBalance!!,
deviceTimestamp = sdf.format(timeNow),
requestTimestamp = sdf.format(timeNow),
getRegDb!!,
);
result.success(Gson().toJson(topupInquiryResponse))
......@@ -121,7 +122,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
val amount = call.argument<Int>("amount")
_mifareTicketing?.topupBalanceCard(cardNumber!!, amount!!)
}
"activate_library" ->{
"activate_library" -> {
val sukses = _mifareTicketing?.activateLibrary()
result.success(sukses == true)
}
......@@ -158,11 +159,11 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
}
override fun onCardDetected() {
Log.d("onCardDetected","Card Detected")
Log.d("onCardDetected", "Card Detected")
}
override fun onErrorOperation(reason: String?, errorCode: String) {
Log.d("onErrorOperation",reason.toString())
Log.d("onErrorOperation", reason.toString())
if (errorCode == "103F") {
result?.success(reason)
} else if (errorCode == "0005") {
......@@ -176,7 +177,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
TODO("Not yet implemented")
}
override fun onSuccessRefundDepositBalanceCard(ticket: Ticket?){
override fun onSuccessRefundDepositBalanceCard(ticket: Ticket?) {
TODO("Not yet implemented")
}
......@@ -201,7 +202,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
}
override fun onSuccessInitEngine() {
print("success init engine")
Log.d("MainActivity", "success init engine")
result?.success("success init engine")
}
......@@ -238,8 +239,10 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
val cardExpiry = Date(cardEpoch * 1000)
val sdf = SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.US)
// [C]<img>${PrinterTextParserImg.bitmapToHexadecimalString(printer, this.getApplicationContext().getResources().getDrawableForDensity(R.drawable.logo, DisplayMetrics.DENSITY_MEDIUM))}</img>
var bitmapIcon: Drawable? = this.getResources()?.getDrawableForDensity(R.drawable.wahoo_print,
DisplayMetrics.DENSITY_LOW, getTheme())
var bitmapIcon: Drawable? = this.getResources()?.getDrawableForDensity(
R.drawable.wahoo_print,
DisplayMetrics.DENSITY_LOW, getTheme()
)
if (Build.MODEL != "T2s") {
val text = """
......@@ -268,6 +271,10 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
.setMarginRight(20)
val manufacturer = Build.MANUFACTURER
val model = Build.MODEL
var bitmapIcon: Drawable? = this.getResources()?.getDrawableForDensity(
R.drawable.wahoo_print,
DisplayMetrics.DENSITY_LOW, getTheme()
)
receiptLayout = receiptLayout
.setAlign(Paint.Align.CENTER)
.setColor(Color.BLACK)
......@@ -281,26 +288,30 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
.addLine()
.addBlankSpace(10)
.setAlign(Paint.Align.LEFT)
.addText("Tanggal...............: " + sdf.format(timeNow))
.addBlankSpace(10)
.addText("No Transaksi.....: $approvalCode")
.addBlankSpace(10)
.addText("No Kartu.............: " + ticket.cardNumber)
.addBlankSpace(10)
.addText("Berlaku................: " + sdf.format(cardExpiry))
.addBlankSpace(10)
.addText("Tanggal...............: " + sdf.format(timeNow))
.addText("Masa Berlaku................: " + sdf.format(cardExpiry))
.addBlankSpace(10)
.addText(
"Saldo Awal.........: Rp" + formatDecimalToPrice(prevBalance.toDouble())
.toString()
)
.addBlankSpace(10)
.addText("Denom.................: Rp" + formatDecimalToPrice(denom.toDouble()))
.addText("Isi Saldo.................: Rp" + formatDecimalToPrice(denom.toDouble()))
.addBlankSpace(10)
.addText(
"Saldo Akhir.........: Rp" + formatDecimalToPrice(
ticket.balance!!.toDouble()
)
)
.addBlankSpace(10)
.addText("Biaya Layanan.........: Rp" + formatDecimalToPrice(serviceCharge.toDouble()).toString())
.addBlankSpace(10)
.addText("Jumlah Bayar.........: Rp" + formatDecimalToPrice(serviceChargeAmount.toDouble()).toString())
receiptLayout = receiptLayout
.setAlign(Paint.Align.CENTER)
......@@ -309,12 +320,11 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
.addBlankSpace(15)
.addText("Top Up Berhasil")
.addBlankSpace(10)
.addText("Terima kasih atas kunjungan Anda")
.addBlankSpace(10)
.addText("powered by dolanapp.com")
val finalReceiptLayout: ReceiptBuilder = receiptLayout
_mifareTicketing?.generateReceiptTopup(finalReceiptLayout, "", bitmapIcon)
}
}
......
No preview for this file type
......@@ -75,9 +75,22 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
bool isShowingDialog = false;
var infoCard, balance, cardExpirity, cardType, deposit, cardNumber, name, getRegDb, lastBalance,
approvalCode, amount, report, infoM, infoMulti, companyAddress, num;
var infoCard,
balance,
cardExpirity,
cardType,
deposit,
cardNumber,
name,
getRegDb,
lastBalance,
approvalCode,
amount,
report,
infoM,
infoMulti,
companyAddress,
num;
Map<String, dynamic>? dataQris;
String? prevBalance;
String subPhone = "";
......@@ -89,38 +102,56 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
Timer? timerCheckStatus;
String idle = PreferencesHelper.getString("idle");
bool isHitApi = false;
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) {
isShowingDialog = true;
_showTap();
tapDial();
});
timer = Timer.periodic(Duration(seconds: int.parse(idle)),(timer){
print("ini pesan waktu idle : $idle");
if (!isShowingDialog) {
isShowingDialog = true;
_showTap();
tapDial();
}
});
// if (timer?.isActive == false) {
// print("timer not active : $idle");
//
// timer = Timer.periodic(Duration(seconds: int.parse(idle)), (timer) {
// print("ini pesan waktu idle : $idle");
// if (!isShowingDialog) {
// isShowingDialog = true;
// _showTap();
// tapDial();
// }
// });
// } else {
// print("timer not active : $idle");
// }
}
@override
void dispose(){
timer?.cancel();
void dispose() {
// timer?.cancel();
super.dispose();
}
String getSystemTime() {
var now = DateTime.now();
return DateFormat("HH:mm:ss").format(now);
}
String getDate() {
var nowt = new DateTime.now();
return DateFormat('dd-MMM-yyyy').format(nowt);
}
String _getPayQrisStatus() {
String sc =PreferencesHelper.getString("multioutletservicecharge");
String sc = PreferencesHelper.getString("multioutletservicecharge");
String sca = PreferencesHelper.getString("multioutletservicechargeamount");
var body = GeneralStatusPaymentRequest(
trxId.toString(),
//ini untuk menyimpan int menjumlahkan ke bentuk tipe integer
(int.parse("10")+int.parse("1")+int.parse("0")).toString(),
(int.parse("10") + int.parse("1") + int.parse("0")).toString(),
PreferencesHelper.getString('provider'),
PreferencesHelper.getString('mid'),
PreferencesHelper.getString('tid'),
......@@ -129,28 +160,30 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
return jsonEncode(body);
}
void denomLimits(String outletName, var info, int amount)async {
void denomLimits(String outletName, var info, int amount) async {
String maximum = PreferencesHelper.getString(kMax);
String minimum = PreferencesHelper.getString(kMin);
print("ini pesan maximum: $maximum");
print("ini pesan minimum: $minimum");
print("ini pesan amount: $amount");
setState(() {
if (amount > (int.parse(maximum))) {
double value = double.parse(maximum);
final formatter = new NumberFormat('#,###');
String max = formatter.format(value);
AwesomeDialog(
context: context,
dialogType: DialogType.error,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Terjadi Kesalahan',
desc: "Maksimal isi Ulang IDR $max",
btnOkOnPress: () {},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
context: context,
dialogType: DialogType.error,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Terjadi Kesalahan',
desc: "Maksimal isi Ulang IDR $max",
btnOkOnPress: () {
if (timer != null) timer?.cancel();
tapIdle();
},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show();
} else {
if (amount < int.parse(minimum.replaceAll(",", ""))) {
......@@ -158,29 +191,33 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
final formatter = new NumberFormat('#,###');
String min = formatter.format(value);
AwesomeDialog(
context: context,
dialogType: DialogType.error,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Terjadi Kesalahan',
desc: "Minimal isi ulang IDR $min",
btnOkOnPress: () {},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
context: context,
dialogType: DialogType.error,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Terjadi Kesalahan',
desc: "Minimal isi ulang IDR $min",
btnOkOnPress: () {
if (timer != null) timer?.cancel();
tapIdle();
},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show();
} else {
Navigator.pop(context);
topUpInquiry(outletName, info);
}
}
});}
});
}
Future<Map<String, dynamic>?> _getQris() async {
Map<String, dynamic>? result;
var body = _getPayLoadQrisCreate();
try {
Map<String, dynamic> response = await ServiceApi.requestQris(body, PreferencesHelper.getString("mid"));
Map<String, dynamic> response = await ServiceApi.requestQris(
body, PreferencesHelper.getString("mid"));
if (response['response']['code'].toString() == "200") {
print(
"message qris : ${response['response']['message']}",
......@@ -192,7 +229,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
}
Future<void> topUpInquiry(String outletName, var info) async {
var infoMap = jsonDecode(info);
print('topUpInquiry info:$info');
outletName = PreferencesHelper.getString('outletname').toString();
......@@ -202,7 +238,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
var cusName = infoMap["name"].toString();
String cardNo = cardNumber.toString();
String targetMasked = cardNo.substring(0, 12);
maskedText = cardNo.replaceAll(targetMasked,'************');
maskedText = cardNo.replaceAll(targetMasked, '************');
print("ini target masked $targetMasked");
print("ini masked text $maskedText");
// ini untuk masked card nomber
......@@ -213,7 +249,11 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
});
amount = amountController!.text.replaceAll(",", "").toString();
var responseInquiry = await StartService.topupInquiryResponse(
outletName, prevBalance!, cardNumber, getRegDb, amount,
outletName,
prevBalance!,
cardNumber,
getRegDb,
amount,
);
var infoInquiry = jsonDecode(responseInquiry);
......@@ -232,7 +272,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
Future<String> topUpBalance(String approvalCode) async {
var info, infoMap, lastBalance, samReport, paymentMethod, paymentProvider;
info = await StartService.topupBalanceCard(cardNumber, int.parse(amount));
infoMap = jsonDecode(info);
lastBalance = infoMap['balance'].toString();
......@@ -244,8 +283,13 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
var infoConfirm = await StartService.topUpConfirm(cardNumber, lastBalance,
samReport, approvalCode, paymentMethod, paymentProvider);
String readerDate, gateId, persoReff, kodeGate, outletName, versionApp, rawData;
String readerDate,
gateId,
persoReff,
kodeGate,
outletName,
versionApp,
rawData;
readerDate = DateFormat("ddMMyyyyHHmmss").format(DateTime.now());
gateId = PreferencesHelper.getString('tid');
persoReff = infoMap['regDb'];
......@@ -254,16 +298,38 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
versionApp = PreferencesHelper.getString(kVersionApp);
rawData = (report == null)
? "balance|""$report,""$kodeGate,""$outletName,""$gateId,""$cardNumber,""$readerDate,"
"$amount,""$lastBalance,""$versionApp"
: "$kodeGate,""$outletName,""$gateId,""$cardNumber,""$readerDate,""$amount,"
"$lastBalance,""$versionApp";
? "balance|"
"$report,"
"$kodeGate,"
"$outletName,"
"$gateId,"
"$cardNumber,"
"$readerDate,"
"$amount,"
"$lastBalance,"
"$versionApp"
: "$kodeGate,"
"$outletName,"
"$gateId,"
"$cardNumber,"
"$readerDate,"
"$amount,"
"$lastBalance,"
"$versionApp";
print("proses define wristband info");
WristbandInfo wristbandInfo = WristbandInfo(
readerDate, int.parse(amount), gateId, 'TOPUP',
cardNumber, 'card_topup', lastBalance, prevBalance!,
"M", rawData, persoReff,
readerDate,
int.parse(amount),
gateId,
'TOPUP',
cardNumber,
'card_topup',
lastBalance,
prevBalance!,
"M",
rawData,
persoReff,
);
DatabaseHelper.insertTransaction(wristbandInfo);
......@@ -273,11 +339,26 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
companyPhone = PreferencesHelper.getString('companyphone');
companyAddress = PreferencesHelper.getString('multioutletaddress');
denom = amountController!.text.replaceAll(",", "");
String sca = PreferencesHelper.getString(
"multioutletservicechargeamount"
);
String sc =PreferencesHelper.getString("multioutletservicecharge");
String sca =
PreferencesHelper.getString("multioutletservicechargeamount");
String sc = PreferencesHelper.getString("multioutletservicecharge");
_getInfoBalance(info);
AwesomeDialog(
context: context,
dialogType: DialogType.success,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Isi Ulang Anda Berhasil, Saldo Anda Saat Ini $balance',
titleTextStyle: blackTextStyle.copyWith(
fontSize: 20,
fontWeight: bold,
),
desc: "Mohon Cek Kembali Saldo Anda!",
descTextStyle: blackTextStyle.copyWith(
fontSize: 18,
fontWeight: medium,
),
).show();
infoM = await StartService.print(
info,
companyName.split("-")[0],
......@@ -286,10 +367,44 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
approvalCode,
prevBalance!,
"1",
(int.parse("10")+int.parse("1")+int.parse("0")).toString(),
(int.parse("10") + int.parse("1") + int.parse("0")).toString(),
denom.replaceAll(",", ""));
isHitApi = false;
isShowingDialog = true;
} else {
print("balance tidak bertambah");
print('topup gagal');
isShowingDialog = true;
// String companyName, companyPhone, denom;
// companyName = PreferencesHelper.getString('outletname');
// companyPhone = PreferencesHelper.getString('companyphone');
// denom = amountController!.text.replaceAll(",", "");
// infoM = await StartService.print(
// info,
// companyName.split("-")[0],
// companyAddress,
// companyPhone,
// approvalCode,
// prevBalance!,
// "1",
// (int.parse("10")+int.parse("1")+int.parse("0")).toString(),
// denom.replaceAll(",", ""));
// AwesomeDialog(
// context: context,
// dialogType: DialogType.error,
// animType: AnimType.rightSlide,
// headerAnimationLoop: true,
// title: 'Saldo Anda Tidak Bertambah $balance',
// titleTextStyle: blackTextStyle.copyWith(
// fontSize: 20,
// fontWeight: bold,
// ),
// desc: "Periksa Kembali Struk Anda !",
// descTextStyle: blackTextStyle.copyWith(
// fontSize: 18,
// fontWeight: medium,
// ),
// )
// .show();
}
return "";
}
......@@ -300,14 +415,26 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
try {
Map<String, dynamic> response = await ServiceApi.statusQris(body);
if (response['response']['code'].toString() == "200") {
if (response['data']['status'].toString().toLowerCase().contains('paid') ||
response['data']['status'].toString().toLowerCase().contains('success') ||
response['data']['status'].toString().toLowerCase().contains('settlement')) {
if (response['data']['status']
.toString()
.toLowerCase()
.contains('paid') ||
response['data']['status']
.toString()
.toLowerCase()
.contains('success') ||
response['data']['status']
.toString()
.toLowerCase()
.contains('settlement')) {
Navigator.pop(context);
Future.delayed(Duration(seconds: 10), () {
topUpBalance(approvalCode);
});
showPop(approvalCode);
dataQris = null;
result = true;
if (timerCheckStatus != null) timerCheckStatus?.cancel();
// if (timerCheckStatus != null) timerCheckStatus?.cancel();
} else {
result = false;
if (!isBackgroundServices) {
......@@ -376,37 +503,16 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
cardNumber = infoMap["cardNumber"];
name = infoMap["name"].toString().split("-")[0];
Navigator.pop(context);
AwesomeDialog(
context: context,
dialogType: DialogType.success,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Isi Ulang Anda Berhasil, Saldo Anda Saat Ini $balance',
titleTextStyle: blackTextStyle.copyWith(
fontSize: 20,
fontWeight: bold,
),
desc: "Mohon Cek Kembali Saldo Anda!",
descTextStyle: blackTextStyle.copyWith(
fontSize: 18,
fontWeight: medium,
),
)
.show();
// Future.delayed(const Duration(seconds: 30), () {
// Navigator.pop(context);
// _showTap();
// tapDial();
// });
timer = Timer.periodic(Duration(seconds: int.parse(idle)),(timer){
print("ini pesan waktu idle : $idle");
if (!isShowingDialog) {
Navigator.pop(context);
isShowingDialog = true;
_showTap();
tapDial();
}
});
// timer = Timer.periodic(Duration(seconds: int.parse(idle)),(timer){
// print("ini pesan waktu idle : $idle");
// _showTap();
// tapDial();
// });
}
});
}
......@@ -417,6 +523,8 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
print('ini pesan salah');
message = "Silakan Tempel Wristband Anda Di Reader";
tapDial();
if (timer != null) timer?.cancel();
// tapIdle();
} else {
infoCard = info;
var infoMap = jsonDecode(info);
......@@ -457,6 +565,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
cardNumber = infoMap["cardNumber"];
name = infoMap["name"].toString().split("-")[0];
isShowingDialog = false;
tapIdle();
Navigator.pop(context);
}
});
......@@ -464,12 +573,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
String _getPayLoadQrisCreate() {
//amountContoller.text
String sc =PreferencesHelper.getString("multioutletservicecharge");
String sc = PreferencesHelper.getString("multioutletservicecharge");
String sca = PreferencesHelper.getString("multioutletservicechargeamount");
trxId = DateTime.now().millisecondsSinceEpoch.toString();
var request = GeneralPaymentRequest(
trxId.toString(),
(int.parse("10")+int.parse("1")+int.parse("0")).toString(),
(int.parse("10") + int.parse("1") + int.parse("0")).toString(),
"get-qr",
PreferencesHelper.getString('provider'),
PreferencesHelper.getString("mid"),
......@@ -481,14 +590,28 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
"https://poss-api.multidaya.id/v1/callback/qris");
return jsonEncode(request);
}
void tapIdle() {
timer = Timer.periodic(Duration(seconds: int.parse(idle)), (timer) {
print("ini pesan waktu idle : $idle");
if (!isShowingDialog) {
isShowingDialog = true;
timer?.cancel();
_showTap();
tapDial();
}
});
}
void tapDial() async {
Future.delayed(const Duration(milliseconds: 200), () async {
var isTap = await StartService.getCard();
_getInfoCard(isTap);
// timer?.cancel();
});
}
Future<void> _showTap(){
Future<void> _showTap() {
return showDialog<void>(
context: context,
barrierDismissible: false, // user must tap button!
......@@ -505,7 +628,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
),
),
child: AlertDialog(
title:SizedBox(
title: SizedBox(
width: 1000,
height: 520,
child: Column(
......@@ -527,7 +650,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
height: 90,
width: 115,
),
],
),
Row(
......@@ -551,7 +673,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children:[
children: [
Text(
"wristband topup machine with qr payment",
style: greyTextStyle.copyWith(
......@@ -561,8 +683,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
),
textAlign: TextAlign.center,
),
]
),
]),
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
......@@ -596,7 +717,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
],
),
),
content: SizedBox(
content: SizedBox(
height: 20,
),
),
......@@ -606,10 +727,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
}
Future<void> showPop(String approvalCode) async {
isShowingDialog = false;
Future.delayed(Duration(seconds: 10), () {
topUpBalance(approvalCode);
});
isShowingDialog = true;
// Future.delayed(Duration(seconds: 10), () {
// topUpBalance(approvalCode);
// });
return showDialog<void>(
context: context,
barrierDismissible: false, // user must tap button!
......@@ -687,7 +808,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
body: SafeArea(
child: Padding(
padding:
const EdgeInsets.symmetric(vertical: 30, horizontal: 40),
const EdgeInsets.symmetric(vertical: 30, horizontal: 40),
child: Column(
children: [
Align(
......@@ -695,7 +816,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
child: GestureDetector(
onTap: () {
Navigator.pop(context);
timer = Timer.periodic(Duration(seconds: 5),(timer){
if (timer != null) timer?.cancel();
timer =
Timer.periodic(Duration(seconds: 5), (timer) {
if (!isShowingDialog) {
isShowingDialog = true;
_showTap();
......@@ -751,9 +875,13 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
fontSize: 35, fontWeight: medium),
onChanged: (pin) {
print("Changed: $pin");
if (timer != null) timer?.cancel();
tapIdle();
},
onCompleted: (pin) {
setState((){
setState(() {
if (timer != null) timer?.cancel();
tapIdle();
num = pin;
});
// print("Completed: $pin");
......@@ -775,7 +903,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
// .pop();
// denom(outletName, info);
// }
// },
// btnOkIcon: Icons.check,
......@@ -798,7 +925,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
// }
},
),
),
SizedBox(
height: 70,
......@@ -810,44 +936,49 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
title: 'lanjut',
subtitle: 'proceed',
onPressed: () {
if (timer != null) timer?.cancel();
tapIdle();
print("Completed: $num");
print("Completed: $subPhone");
String outletName =
PreferencesHelper.getString('outlet_name');
PreferencesHelper.getString('outlet_name');
if (subPhone == num) {
AwesomeDialog(
context: context,
dialogType: DialogType.success,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Berhasil verifikasi',
desc: "verification success",
btnOkOnPress: () {
if (mounted) {
num = "";
Navigator.of(context,
rootNavigator: true)
.pop();
context: context,
dialogType: DialogType.success,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Berhasil verifikasi',
desc: "verification success",
btnOkOnPress: () {
if (timer != null) timer?.cancel();
tapIdle();
if (mounted) {
num = "";
Navigator.of(context,
rootNavigator: true)
.pop();
denom(outletName, info);
}
},
btnOkIcon: Icons.check,
btnOkColor: Colors.green)
denom(outletName, info);
}
},
btnOkIcon: Icons.check,
btnOkColor: Colors.green)
.show();
} else {
AwesomeDialog(
context: context,
dialogType: DialogType.error,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title:
'Pastikan nomor Anda sesuai !',
desc:
"Make sure your number matches !",
btnOkOnPress: () {},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
context: context,
dialogType: DialogType.error,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Pastikan nomor Anda sesuai !',
desc: "Make sure your number matches !",
btnOkOnPress: () {
if (timer != null) timer?.cancel();
tapIdle();
},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show();
}
},
......@@ -885,16 +1016,18 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
),
width: 1000,
margin:
const EdgeInsets.symmetric(vertical: 10, horizontal: 0),
const EdgeInsets.symmetric(vertical: 10, horizontal: 0),
child: Row(
children: [
Align(
alignment: Alignment.topLeft,
child: GestureDetector(
onTap: () {
Navigator.pop(context);
timer = Timer.periodic(Duration(seconds: 5),(timer){
if (timer != null) timer?.cancel();
timer =
Timer.periodic(Duration(seconds: 5), (timer) {
if (!isShowingDialog) {
isShowingDialog = true;
_showTap();
......@@ -928,7 +1061,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
content: SingleChildScrollView(
child: ListBody(
children: <Widget>[
Container(
padding: EdgeInsets.symmetric(horizontal: 17),
child: Column(
......@@ -966,65 +1098,71 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
children: [
Expanded(
child: GestureDetector(
onTap: () {
if (mounted) {
setState(() {
amountController!.text = cTopUp1;
});
}
},
child: Container(
padding:
onTap: () {
if (timer != null) timer?.cancel();
tapIdle();
if (mounted) {
setState(() {
amountController!.text = cTopUp1;
});
}
},
child: Container(
padding:
EdgeInsets.symmetric(vertical: 15),
decoration: BoxDecoration(
border: Border.all(
color:
amountController!.text == cTopUp1
? purpleColor
: Colors.black12),
borderRadius: BorderRadius.circular(7),
),
child: Center(
child: Text("20,000",
style: blackTextStyle.copyWith(
fontSize: 25,
fontWeight: bold,
)),
),
),
)),
decoration: BoxDecoration(
border: Border.all(
color: amountController!.text ==
cTopUp1
? purpleColor
: Colors.black12),
borderRadius: BorderRadius.circular(7),
),
child: Center(
child: Text("20,000",
style: blackTextStyle.copyWith(
fontSize: 25,
fontWeight: bold,
)),
),
),
)),
SizedBox(
width: 10,
),
Expanded(
child: GestureDetector(
onTap: () {
if (mounted) {
setState(() {
amountController!.text = cTopUp2;
});
}
},
child: Container(
padding:
onTap: () {
if (timer != null) timer?.cancel();
tapIdle();
if (mounted) {
setState(() {
amountController!.text = cTopUp2;
});
}
},
child: Container(
padding:
EdgeInsets.symmetric(vertical: 15),
decoration: BoxDecoration(
border: Border.all(
color: (amountController!.text ==
decoration: BoxDecoration(
border: Border.all(
color: (amountController!.text ==
cTopUp2)
? Color(0xff005DAC)
: Colors.black12),
borderRadius: BorderRadius.circular(7),
),
child: Center(
child: Text("50,000",
style: blackTextStyle.copyWith(
fontSize: 25,
fontWeight: bold,
)),
),
),
))
? Color(0xff005DAC)
: Colors.black12),
borderRadius: BorderRadius.circular(7),
),
child: Center(
child: Text("50,000",
style: blackTextStyle.copyWith(
fontSize: 25,
fontWeight: bold,
)),
),
),
))
],
),
SizedBox(
......@@ -1034,39 +1172,45 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
children: [
Expanded(
child: GestureDetector(
onTap: () {
if (mounted) {
setState(() {
amountController!.text = cTopUp3;
});
}
},
child: Container(
padding:
onTap: () {
if (timer != null) timer?.cancel();
tapIdle();
if (mounted) {
setState(() {
amountController!.text = cTopUp3;
});
}
},
child: Container(
padding:
EdgeInsets.symmetric(vertical: 15),
decoration: BoxDecoration(
border: Border.all(
color: (amountController!.text ==
decoration: BoxDecoration(
border: Border.all(
color: (amountController!.text ==
cTopUp3)
? Color(0xff005DAC)
: Colors.black12),
borderRadius: BorderRadius.circular(7),
),
child: Center(
child: Text("100,000",
style: blackTextStyle.copyWith(
fontSize: 25,
fontWeight: bold,
)),
),
),
)),
? Color(0xff005DAC)
: Colors.black12),
borderRadius: BorderRadius.circular(7),
),
child: Center(
child: Text("100,000",
style: blackTextStyle.copyWith(
fontSize: 25,
fontWeight: bold,
)),
),
),
)),
SizedBox(
width: 10,
),
Expanded(
child: GestureDetector(
onTap: () {
if (timer != null) timer?.cancel();
tapIdle();
if (mounted) {
setState(() {
amountController!.text = cTopUp4;
......@@ -1075,15 +1219,15 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
},
child: Container(
padding:
EdgeInsets.symmetric(vertical: 15),
EdgeInsets.symmetric(vertical: 15),
decoration: BoxDecoration(
border: Border.all(
color: (amountController!.text ==
cTopUp4)
cTopUp4)
? Color(0xff005DAC)
: Colors.black12),
borderRadius:
BorderRadius.circular(7),
BorderRadius.circular(7),
),
child: Center(
child: Text("200,000",
......@@ -1141,11 +1285,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
fontWeight: bold,
color: purpleColor,
),
keyboardType:
TextInputType.numberWithOptions(
signed: true,
decimal: true),
TextInputType.numberWithOptions(
signed: true,
decimal: true),
controller: amountController,
inputFormatters: [
FilteringTextInputFormatter
......@@ -1153,12 +1296,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
CurrencyInputFormatter()
],
textInputAction:
TextInputAction.done,
TextInputAction.done,
decoration:
InputDecoration.collapsed(
InputDecoration.collapsed(
hintText: '10,000',
hintStyle:
blackTextStyle.copyWith(
blackTextStyle.copyWith(
fontSize: 20,
fontWeight: bold,
color: greyColor,
......@@ -1179,9 +1322,18 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
title: 'lanjut',
subtitle: 'proceed',
onPressed: () {
setState((){
if (mounted){
denomLimits(outletName, info, int.parse(amountController!.text.replaceAll(",", "")));
setState(() {
if (timer != null)
timer?.cancel();
// tapIdle();
if (mounted) {
denomLimits(
outletName,
info,
int.parse(amountController!
.text
.replaceAll(",", "")));
}
});
......@@ -1240,7 +1392,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
width: 1000,
height: 800,
padding:
const EdgeInsets.symmetric(horizontal: 150, vertical: 30),
const EdgeInsets.symmetric(horizontal: 150, vertical: 30),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(28),
boxShadow: [
......@@ -1287,13 +1439,13 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
height: 220,
child: (dataQris == null)
? Lottie.asset(
"assets/loader.json",
width: 240,
height: 250,
)
"assets/loader.json",
width: 240,
height: 250,
)
: QrImage(
data: dataQris?['data']['qr_content'],
),
data: dataQris?['data']['qr_content'],
),
),
],
),
......@@ -1354,29 +1506,21 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
showPop(approvalCode);
} else {
AwesomeDialog(
context: context,
dialogType: DialogType.warning,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title:
'Apakah anda yakin ingin membatalkan pembayaran ?',
desc:
"Are you sure you want to cancel the payment ?",
btnOkOnPress: () {
timer = Timer.periodic(Duration(seconds: int.parse(idle)),(timer){
if (!isShowingDialog) {
context: context,
dialogType: DialogType.warning,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title:
'Apakah anda yakin ingin membatalkan pembayaran ?',
desc:
"Are you sure you want to cancel the payment ?",
btnOkOnPress: () {
dataQris = null;
Navigator.pop(context);
isShowingDialog = true;
_showTap();
tapDial();
}
});
setState((){
Navigator.pop(context);
dataQris = null;
});
},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show();
}
isProcessCheck = false;
......@@ -1385,57 +1529,57 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
},
child: (isProcessCheck)
? Column(
children: [
Container(
width: 250,
height: 70,
margin: const EdgeInsets.only(
bottom: 10,
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: purpleColor,
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.3),
//color of shadow
spreadRadius: 3,
//spread radius
blurRadius: 7,
// blur radius
offset: Offset(3,
3), // changes position of shadow
children: [
Container(
width: 250,
height: 70,
margin: const EdgeInsets.only(
bottom: 10,
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: purpleColor,
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.3),
//color of shadow
spreadRadius: 3,
//spread radius
blurRadius: 7,
// blur radius
offset: Offset(3,
3), // changes position of shadow
),
],
),
child: Center(
child: CircularProgressIndicator(
color: lightBackgroundColor,
),
),
),
Text(
'Mohon Tunggu ...',
style: blackTextStyle.copyWith(
fontWeight: bold,
fontSize: 15,
),
),
Text(
'please wait ...',
style: greyTextStyle.copyWith(
fontWeight: light,
fontStyle: FontStyle.italic,
fontSize: 8,
),
),
],
),
child: Center(
child: CircularProgressIndicator(
color: lightBackgroundColor,
),
),
),
Text(
'Mohon Tunggu ...',
style: blackTextStyle.copyWith(
fontWeight: bold,
fontSize: 15,
),
),
Text(
'please wait ...',
style: greyTextStyle.copyWith(
fontWeight: light,
fontStyle: FontStyle.italic,
fontSize: 8,
),
),
],
)
)
: HomeServices(
iconUrl: 'assets/cancel.png',
title: 'batalkan',
subtitle: 'cancel',
),
iconUrl: 'assets/cancel.png',
title: 'batalkan',
subtitle: 'cancel',
),
),
//button saya sudah bayar di showqris
TextButton(
......@@ -1449,19 +1593,15 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
showPop(approvalCode);
} else {
AwesomeDialog(
context: context,
dialogType: DialogType.error,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title:
'Belum Terbayar !',
desc:
"Not paid yet !",
btnOkOnPress: () {
},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
context: context,
dialogType: DialogType.error,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Belum Terbayar !',
desc: "Not paid yet !",
btnOkOnPress: () {},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show();
}
isProcessCheck = false;
......@@ -1470,49 +1610,49 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
},
child: (isProcessCheck)
? Column(
children: [
Container(
width: 250,
height: 70,
margin: const EdgeInsets.only(
bottom: 10,
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: purpleColor,
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.3),
//color of shadow
spreadRadius: 3,
//spread radius
blurRadius: 7,
// blur radius
offset: Offset(3,
3), // changes position of shadow
children: [
Container(
width: 250,
height: 70,
margin: const EdgeInsets.only(
bottom: 10,
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: purpleColor,
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.3),
//color of shadow
spreadRadius: 3,
//spread radius
blurRadius: 7,
// blur radius
offset: Offset(3,
3), // changes position of shadow
),
],
),
child: Center(
child: CircularProgressIndicator(
color: lightBackgroundColor,
),
),
),
Text(
'Mohon Tunggu ...',
style: blackTextStyle.copyWith(
fontWeight: bold,
fontSize: 15,
),
),
],
),
child: Center(
child: CircularProgressIndicator(
color: lightBackgroundColor,
),
),
),
Text(
'Mohon Tunggu ...',
style: blackTextStyle.copyWith(
fontWeight: bold,
fontSize: 15,
),
),
],
)
)
: HomeServices(
iconUrl: 'assets/check-mark.png',
title: 'Saya Sudah Bayar',
subtitle: 'i have already paid',
),
iconUrl: 'assets/check-mark.png',
title: 'Saya Sudah Bayar',
subtitle: 'i have already paid',
),
),
Column(
children: [
......@@ -1531,8 +1671,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
.withOpacity(0.3), //color of shadow
spreadRadius: 3, //spread radius
blurRadius: 7, // blur radius
offset: Offset(
3, 3),
offset: Offset(3, 3),
),
//you can set more BoxShadow() here
],
......@@ -1542,11 +1681,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
duration: Duration(minutes: 1),
tween: Tween(
begin: Duration(minutes: 1),
end: Duration.zero
),
end: Duration.zero),
onEnd: () {
Navigator.pop(context);
setState((){
setState(() {
dataQris = null;
});
// AwesomeDialog(
......@@ -1570,18 +1708,24 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
},
builder: (BuildContext context,
Duration value, Widget? child) {
String twoDigits(int n) => n.toString().padLeft(2, "0");
String twoDigits(int n) =>
n.toString().padLeft(2, "0");
final minutes = twoDigits(value.inMinutes);
final seconds = twoDigits(value.inSeconds % 60);
final seconds =
twoDigits(value.inSeconds % 60);
// todo for checking in 30 seconds lates
debugPrint("values in seconds ${value.inSeconds}");
if (value.inSeconds == 30) {
// debugPrint("values in seconds ${value.inSeconds}");
debugPrint("ini pesan second: ${seconds}");
if (int.parse(seconds) == int.parse("30")) {
if (!isHitApi) {
isHitApi = true;
_cekStatus(isBackgroundServices: true);
print("pembayaran berhasil dilakukan");
timerCheckStatus?.cancel();
} else {
timerCheckStatus?.cancel();
print("pembayaran berhasil dilakukan");
}
}
/*else {
timerCheckStatus?.cancel();
}*/
return Padding(
padding: const EdgeInsets.symmetric(
vertical: 5),
......@@ -1601,14 +1745,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
fontSize: 15,
),
),
Text(
'timeout',
Text('timeout',
style: greyTextStyle.copyWith(
fontStyle: FontStyle.italic,
fontWeight: light,
fontSize: 8,
)
),
)),
],
),
],
......@@ -1620,73 +1762,56 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
});
}
Future<bool> onWillPop(){
Future<bool> onWillPop() {
return Future.value(false);
}
@override
Widget build(BuildContext context) {
Timer getIdle() {
return timer = Timer.periodic(Duration(seconds: int.parse(idle)),(timer){
print("ini pesan waktu idle : $idle");
if (!isShowingDialog) {
isShowingDialog = true;
_showTap();
tapDial();
}
});
}
return WillPopScope(child: Scaffold(
resizeToAvoidBottomInset: false,
backgroundColor: lightBackgroundColor,
body: SingleChildScrollView(
scrollDirection: Axis.vertical,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
ListView(
shrinkWrap: true,
padding: const EdgeInsets.symmetric(
horizontal: 45,
vertical: 8,
),
return WillPopScope(
child: Scaffold(
resizeToAvoidBottomInset: false,
backgroundColor: lightBackgroundColor,
body: SingleChildScrollView(
scrollDirection: Axis.vertical,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
buildcardInfo(),
buildwalletCard(),
buildServices(context),
buildFloat(),
ListView(
shrinkWrap: true,
padding: const EdgeInsets.symmetric(
horizontal: 45,
vertical: 8,
),
children: [
buildcardInfo(),
buildwalletCard(),
buildServices(context),
buildFloat(),
],
),
],
),
],
),
),
),
), onWillPop: onWillPop);
}
String getSystemTime() {
var now = DateTime.now();
return DateFormat("HH:mm:ss").format(now);
}
String getDate(){
var nowt = new DateTime.now();
return DateFormat('dd-MMM-yyyy').format(nowt);
onWillPop: onWillPop);
}
Widget buildFloat(){
Widget buildFloat() {
return Center(
child: Container(
child: Align(
alignment: Alignment.bottomRight,
child:Container(
height:100,
width:100,
child: Container(
height: 100,
width: 100,
color: Colors.greenAccent,
child: Text("Box I"),
),
),
),
);
}
//SECTION cardinfo
......@@ -1740,12 +1865,9 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
width: 100,
),
],
),
width: double.infinity,
),
);
}
......@@ -1952,7 +2074,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextButton(
onPressed: () async {
onPressed: () {
isShowingDialog = true;
if (timer != null) timer?.cancel();
tapIdle();
amountController?.clear();
var infoMap = jsonDecode(infoCard);
var change = DateTime.fromMillisecondsSinceEpoch(
......@@ -1965,10 +2090,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
);
cardNumber = infoMap["cardNumber"];
name = infoMap["name"].toString().split("-")[0];
int lengthSplit = infoMap["name"].toString().split("-").length;
int lengthSplit =
infoMap["name"].toString().split("-").length;
String subPhone = "";
if (lengthSplit > 1) {
String fullPhone = infoMap["name"].toString().split("-")[1].trim();
String fullPhone =
infoMap["name"].toString().split("-")[1].trim();
print("ini nomer telponnya $fullPhone");
subPhone = fullPhone.substring(
fullPhone.length - 4, fullPhone.length);
......@@ -1977,19 +2104,17 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
phone4CharValidation(subPhone, infoCard, idle);
} else {
AwesomeDialog(
context: context,
dialogType: DialogType.error,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Nomor telepon tidak ditemukan !',
desc:
"phone number not found !",
btnOkOnPress: () {},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
context: context,
dialogType: DialogType.error,
animType: AnimType.rightSlide,
headerAnimationLoop: true,
title: 'Nomor telepon tidak ditemukan !',
desc: "phone number not found !",
btnOkOnPress: () {},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show();
}
timer?.cancel();
},
child: const HomeServices(
iconUrl: 'assets/ic_topup.png',
......@@ -1998,12 +2123,11 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
),
),
TextButton(
onPressed: () async {
setState((){
timer?.cancel();
_showTap();
tapDial();
});
onPressed: () {
timer?.cancel();
isShowingDialog = true;
_showTap();
tapDial();
},
child: const HomeServices(
iconUrl: 'assets/ic_send.png',
......@@ -2028,4 +2152,4 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
void onPositive(Object object) {
// TODO: implement onPositive
}
}
\ No newline at end of file
}
......@@ -55,7 +55,7 @@ class _SplashPageState extends State<SplashPage> {
} else {
navigationToSetConfig();
}
}
}
void navigationToGetOutlet() {
Navigator.of(context)
......@@ -88,10 +88,10 @@ class _SplashPageState extends State<SplashPage> {
void permissionState() async {
if (await Permission.storage.request().isGranted &&
await Permission.phone.request().isGranted) {
StartService.initLibrary();
Future.delayed(Duration(seconds: 3), () {
checkAktivation();
StartService.initLibrary().then((value) {
Future.delayed(Duration(seconds: 3), () {
checkAktivation();
});
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment