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"} {"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 \ No newline at end of file
...@@ -6,16 +6,22 @@ ...@@ -6,16 +6,22 @@
</shared> </shared>
</component> </component>
<component name="AndroidLogFilters"> <component name="AndroidLogFilters">
<option name="TOOL_WINDOW_LOG_LEVEL" value="debug" /> <option name="TOOL_WINDOW_CUSTOM_FILTER" value="ini pesan second" />
<option name="TOOL_WINDOW_CONFIGURED_FILTER" value="No Filters" /> <option name="TOOL_WINDOW_LOG_LEVEL" value="verbose" />
<option name="TOOL_WINDOW_REGEXP_FILTER" value="false" /> <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
</component> </component>
<component name="AutoImportSettings"> <component name="AutoImportSettings">
<option name="autoReloadType" value="NONE" /> <option name="autoReloadType" value="NONE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="8704a1d9-96ef-4cdc-ac57-c88bc9c0306e" name="Default Changelist" comment=""> <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/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/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" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
...@@ -31,30 +37,24 @@ ...@@ -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/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/.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/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.androidTest.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/android/.idea/modules/-435484205/android.workmanager.unitTest.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/.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/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/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/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/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$/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$/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" 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$/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$/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/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/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$/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$/lib/ui/pages/splash_page.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/ui/pages/splash_page.dart" 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$/pubspec.lock" beforeDir="false" afterPath="$PROJECT_DIR$/pubspec.lock" 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" /> <change beforePath="$PROJECT_DIR$/pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/pubspec.yaml" afterDir="false" />
</list> </list>
...@@ -158,4 +158,25 @@ ...@@ -158,4 +158,25 @@
</map> </map>
</option> </option>
</component> </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> </project>
\ No newline at end of file
...@@ -16,6 +16,11 @@ ...@@ -16,6 +16,11 @@
<option name="name" value="MavenRepo" /> <option name="name" value="MavenRepo" />
<option name="url" value="https://repo.maven.apache.org/maven2/" /> <option name="url" value="https://repo.maven.apache.org/maven2/" />
</remote-repository> </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> <remote-repository>
<option name="id" value="Google7" /> <option name="id" value="Google7" />
<option name="name" value="Google7" /> <option name="name" value="Google7" />
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <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"> <component name="AutoImportSettings">
<option name="autoReloadType" value="NONE" /> <option name="autoReloadType" value="NONE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="9d7011a7-617a-40dd-8aeb-8faa01438c54" name="Changes" comment=""> <list default="true" id="4f624a11-7645-4429-bfd9-02d923f12bca" name="Changes" 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$/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/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/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" /> <change beforePath="$PROJECT_DIR$/../.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/../.idea/workspace.xml" afterDir="false" />
...@@ -21,30 +36,24 @@ ...@@ -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/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$/.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/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.androidTest.iml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/modules/-435484205/android.workmanager.unitTest.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$/.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/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/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/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$/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$/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$/../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" 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$/../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$/../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/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/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$/../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$/../lib/ui/pages/splash_page.dart" beforeDir="false" afterPath="$PROJECT_DIR$/../lib/ui/pages/splash_page.dart" 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$/../pubspec.lock" beforeDir="false" afterPath="$PROJECT_DIR$/../pubspec.lock" 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" /> <change beforePath="$PROJECT_DIR$/../pubspec.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/../pubspec.yaml" afterDir="false" />
</list> </list>
...@@ -53,9 +62,7 @@ ...@@ -53,9 +62,7 @@
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" /> <option name="LAST_RESOLUTION" value="IGNORE" />
</component> </component>
<component name="CodeInsightWorkspaceSettings"> <component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[192.168.219.108:5555]" />
<option name="optimizeImportsOnTheFly" value="true" />
</component>
<component name="ExternalProjectsData"> <component name="ExternalProjectsData">
<projectState path="$PROJECT_DIR$"> <projectState path="$PROJECT_DIR$">
<ProjectState /> <ProjectState />
...@@ -67,7 +74,7 @@ ...@@ -67,7 +74,7 @@
<component name="MarkdownSettingsMigration"> <component name="MarkdownSettingsMigration">
<option name="stateVersion" value="1" /> <option name="stateVersion" value="1" />
</component> </component>
<component name="ProjectId" id="2IDRirSmix71kNnn83YkjBUpncK" /> <component name="ProjectId" id="2IIttpLppDCI02QnsHdD2qGY0Zj" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" /> <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState"> <component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" /> <option name="hideEmptyMiddlePackages" value="true" />
...@@ -81,14 +88,75 @@ ...@@ -81,14 +88,75 @@
<property name="dart.analysis.tool.window.visible" value="false" /> <property name="dart.analysis.tool.window.visible" value="false" />
<property name="show.migrate.to.gradle.popup" value="false" /> <property name="show.migrate.to.gradle.popup" value="false" />
</component> </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="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager"> <component name="TaskManager">
<task active="true" id="Default" summary="Default task"> <task active="true" id="Default" summary="Default task">
<changelist id="9d7011a7-617a-40dd-8aeb-8faa01438c54" name="Changes" comment="" /> <changelist id="4f624a11-7645-4429-bfd9-02d923f12bca" name="Changes" comment="" />
<created>1669714299067</created> <created>1669881143956</created>
<option name="number" value="Default" /> <option name="number" value="Default" />
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1669714299067</updated> <updated>1669881143956</updated>
</task> </task>
<servers /> <servers />
</component> </component>
......
...@@ -80,7 +80,7 @@ dependencies { ...@@ -80,7 +80,7 @@ dependencies {
implementation 'androidx.annotation:annotation:1.4.0' implementation 'androidx.annotation:annotation:1.4.0'
// library mdd // 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.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.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') implementation(group: 'com.mdd.payment', name: 'nativecripto-release', version: '2.0.1', ext: 'aar')
......
...@@ -31,6 +31,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -31,6 +31,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) { override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) {
when (call.method) { when (call.method) {
"init_library" -> { "init_library" -> {
this.result = result;
val callback = this val callback = this
object : Thread() { object : Thread() {
override fun run() { override fun run() {
...@@ -82,15 +83,15 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -82,15 +83,15 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
val getRegDb = call.argument<String>("get_reg_db") val getRegDb = call.argument<String>("get_reg_db")
val amount = call.argument<String>("amount") val amount = call.argument<String>("amount")
val topupInquiryResponse = _mifareTicketing?.topupInquiry( val topupInquiryResponse = _mifareTicketing?.topupInquiry(
outletName?.toLowerCase(Locale.ROOT)!!.replace(" ", "-"), outletName?.toLowerCase(Locale.ROOT)!!.replace(" ", "-"),
"M", "M",
cardNumber!!, cardNumber!!,
amount!!, amount!!,
"TOPUP" + System.currentTimeMillis(), "TOPUP" + System.currentTimeMillis(),
prevBalance!!, prevBalance!!,
deviceTimestamp = sdf.format(timeNow), deviceTimestamp = sdf.format(timeNow),
requestTimestamp = sdf.format(timeNow), requestTimestamp = sdf.format(timeNow),
getRegDb!!, getRegDb!!,
); );
result.success(Gson().toJson(topupInquiryResponse)) result.success(Gson().toJson(topupInquiryResponse))
...@@ -121,7 +122,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -121,7 +122,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
val amount = call.argument<Int>("amount") val amount = call.argument<Int>("amount")
_mifareTicketing?.topupBalanceCard(cardNumber!!, amount!!) _mifareTicketing?.topupBalanceCard(cardNumber!!, amount!!)
} }
"activate_library" ->{ "activate_library" -> {
val sukses = _mifareTicketing?.activateLibrary() val sukses = _mifareTicketing?.activateLibrary()
result.success(sukses == true) result.success(sukses == true)
} }
...@@ -158,11 +159,11 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -158,11 +159,11 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
} }
override fun onCardDetected() { override fun onCardDetected() {
Log.d("onCardDetected","Card Detected") Log.d("onCardDetected", "Card Detected")
} }
override fun onErrorOperation(reason: String?, errorCode: String) { override fun onErrorOperation(reason: String?, errorCode: String) {
Log.d("onErrorOperation",reason.toString()) Log.d("onErrorOperation", reason.toString())
if (errorCode == "103F") { if (errorCode == "103F") {
result?.success(reason) result?.success(reason)
} else if (errorCode == "0005") { } else if (errorCode == "0005") {
...@@ -176,7 +177,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -176,7 +177,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
TODO("Not yet implemented") TODO("Not yet implemented")
} }
override fun onSuccessRefundDepositBalanceCard(ticket: Ticket?){ override fun onSuccessRefundDepositBalanceCard(ticket: Ticket?) {
TODO("Not yet implemented") TODO("Not yet implemented")
} }
...@@ -201,7 +202,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -201,7 +202,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
} }
override fun onSuccessInitEngine() { override fun onSuccessInitEngine() {
print("success init engine") Log.d("MainActivity", "success init engine")
result?.success("success init engine") result?.success("success init engine")
} }
...@@ -238,8 +239,10 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -238,8 +239,10 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
val cardExpiry = Date(cardEpoch * 1000) val cardExpiry = Date(cardEpoch * 1000)
val sdf = SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.US) 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> // [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, var bitmapIcon: Drawable? = this.getResources()?.getDrawableForDensity(
DisplayMetrics.DENSITY_LOW, getTheme()) R.drawable.wahoo_print,
DisplayMetrics.DENSITY_LOW, getTheme()
)
if (Build.MODEL != "T2s") { if (Build.MODEL != "T2s") {
val text = """ val text = """
...@@ -268,6 +271,10 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -268,6 +271,10 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
.setMarginRight(20) .setMarginRight(20)
val manufacturer = Build.MANUFACTURER val manufacturer = Build.MANUFACTURER
val model = Build.MODEL val model = Build.MODEL
var bitmapIcon: Drawable? = this.getResources()?.getDrawableForDensity(
R.drawable.wahoo_print,
DisplayMetrics.DENSITY_LOW, getTheme()
)
receiptLayout = receiptLayout receiptLayout = receiptLayout
.setAlign(Paint.Align.CENTER) .setAlign(Paint.Align.CENTER)
.setColor(Color.BLACK) .setColor(Color.BLACK)
...@@ -281,26 +288,30 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -281,26 +288,30 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
.addLine() .addLine()
.addBlankSpace(10) .addBlankSpace(10)
.setAlign(Paint.Align.LEFT) .setAlign(Paint.Align.LEFT)
.addText("Tanggal...............: " + sdf.format(timeNow))
.addBlankSpace(10)
.addText("No Transaksi.....: $approvalCode") .addText("No Transaksi.....: $approvalCode")
.addBlankSpace(10) .addBlankSpace(10)
.addText("No Kartu.............: " + ticket.cardNumber) .addText("No Kartu.............: " + ticket.cardNumber)
.addBlankSpace(10) .addBlankSpace(10)
.addText("Berlaku................: " + sdf.format(cardExpiry)) .addText("Masa Berlaku................: " + sdf.format(cardExpiry))
.addBlankSpace(10)
.addText("Tanggal...............: " + sdf.format(timeNow))
.addBlankSpace(10) .addBlankSpace(10)
.addText( .addText(
"Saldo Awal.........: Rp" + formatDecimalToPrice(prevBalance.toDouble()) "Saldo Awal.........: Rp" + formatDecimalToPrice(prevBalance.toDouble())
.toString() .toString()
) )
.addBlankSpace(10) .addBlankSpace(10)
.addText("Denom.................: Rp" + formatDecimalToPrice(denom.toDouble())) .addText("Isi Saldo.................: Rp" + formatDecimalToPrice(denom.toDouble()))
.addBlankSpace(10) .addBlankSpace(10)
.addText( .addText(
"Saldo Akhir.........: Rp" + formatDecimalToPrice( "Saldo Akhir.........: Rp" + formatDecimalToPrice(
ticket.balance!!.toDouble() 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 receiptLayout = receiptLayout
.setAlign(Paint.Align.CENTER) .setAlign(Paint.Align.CENTER)
...@@ -309,12 +320,11 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -309,12 +320,11 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
.addBlankSpace(15) .addBlankSpace(15)
.addText("Top Up Berhasil") .addText("Top Up Berhasil")
.addBlankSpace(10) .addBlankSpace(10)
.addText("Terima kasih atas kunjungan Anda")
.addBlankSpace(10)
.addText("powered by dolanapp.com") .addText("powered by dolanapp.com")
val finalReceiptLayout: ReceiptBuilder = receiptLayout val finalReceiptLayout: ReceiptBuilder = receiptLayout
_mifareTicketing?.generateReceiptTopup(finalReceiptLayout, "", bitmapIcon) _mifareTicketing?.generateReceiptTopup(finalReceiptLayout, "", bitmapIcon)
} }
} }
......
No preview for this file type
...@@ -75,9 +75,22 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -75,9 +75,22 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
bool isShowingDialog = false; bool isShowingDialog = false;
var infoCard,
var infoCard, balance, cardExpirity, cardType, deposit, cardNumber, name, getRegDb, lastBalance, balance,
approvalCode, amount, report, infoM, infoMulti, companyAddress, num; cardExpirity,
cardType,
deposit,
cardNumber,
name,
getRegDb,
lastBalance,
approvalCode,
amount,
report,
infoM,
infoMulti,
companyAddress,
num;
Map<String, dynamic>? dataQris; Map<String, dynamic>? dataQris;
String? prevBalance; String? prevBalance;
String subPhone = ""; String subPhone = "";
...@@ -89,38 +102,56 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -89,38 +102,56 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
Timer? timerCheckStatus; Timer? timerCheckStatus;
String idle = PreferencesHelper.getString("idle"); String idle = PreferencesHelper.getString("idle");
bool isHitApi = false;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
isShowingDialog = true; isShowingDialog = true;
_showTap(); _showTap();
tapDial(); tapDial();
}); });
// if (timer?.isActive == false) {
timer = Timer.periodic(Duration(seconds: int.parse(idle)),(timer){ // print("timer not active : $idle");
print("ini pesan waktu idle : $idle"); //
if (!isShowingDialog) { // timer = Timer.periodic(Duration(seconds: int.parse(idle)), (timer) {
isShowingDialog = true; // print("ini pesan waktu idle : $idle");
_showTap(); // if (!isShowingDialog) {
tapDial(); // isShowingDialog = true;
} // _showTap();
}); // tapDial();
// }
// });
// } else {
// print("timer not active : $idle");
// }
} }
@override @override
void dispose(){ void dispose() {
timer?.cancel(); // timer?.cancel();
super.dispose(); 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 _getPayQrisStatus() {
String sc =PreferencesHelper.getString("multioutletservicecharge"); String sc = PreferencesHelper.getString("multioutletservicecharge");
String sca = PreferencesHelper.getString("multioutletservicechargeamount"); String sca = PreferencesHelper.getString("multioutletservicechargeamount");
var body = GeneralStatusPaymentRequest( var body = GeneralStatusPaymentRequest(
trxId.toString(), trxId.toString(),
//ini untuk menyimpan int menjumlahkan ke bentuk tipe integer //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('provider'),
PreferencesHelper.getString('mid'), PreferencesHelper.getString('mid'),
PreferencesHelper.getString('tid'), PreferencesHelper.getString('tid'),
...@@ -129,28 +160,30 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -129,28 +160,30 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
return jsonEncode(body); 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 maximum = PreferencesHelper.getString(kMax);
String minimum = PreferencesHelper.getString(kMin); String minimum = PreferencesHelper.getString(kMin);
print("ini pesan maximum: $maximum"); print("ini pesan maximum: $maximum");
print("ini pesan minimum: $minimum"); print("ini pesan minimum: $minimum");
print("ini pesan amount: $amount"); print("ini pesan amount: $amount");
setState(() { setState(() {
if (amount > (int.parse(maximum))) { if (amount > (int.parse(maximum))) {
double value = double.parse(maximum); double value = double.parse(maximum);
final formatter = new NumberFormat('#,###'); final formatter = new NumberFormat('#,###');
String max = formatter.format(value); String max = formatter.format(value);
AwesomeDialog( AwesomeDialog(
context: context, context: context,
dialogType: DialogType.error, dialogType: DialogType.error,
animType: AnimType.rightSlide, animType: AnimType.rightSlide,
headerAnimationLoop: true, headerAnimationLoop: true,
title: 'Terjadi Kesalahan', title: 'Terjadi Kesalahan',
desc: "Maksimal isi Ulang IDR $max", desc: "Maksimal isi Ulang IDR $max",
btnOkOnPress: () {}, btnOkOnPress: () {
btnOkIcon: Icons.cancel, if (timer != null) timer?.cancel();
btnOkColor: Colors.red) tapIdle();
},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show(); .show();
} else { } else {
if (amount < int.parse(minimum.replaceAll(",", ""))) { if (amount < int.parse(minimum.replaceAll(",", ""))) {
...@@ -158,29 +191,33 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -158,29 +191,33 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
final formatter = new NumberFormat('#,###'); final formatter = new NumberFormat('#,###');
String min = formatter.format(value); String min = formatter.format(value);
AwesomeDialog( AwesomeDialog(
context: context, context: context,
dialogType: DialogType.error, dialogType: DialogType.error,
animType: AnimType.rightSlide, animType: AnimType.rightSlide,
headerAnimationLoop: true, headerAnimationLoop: true,
title: 'Terjadi Kesalahan', title: 'Terjadi Kesalahan',
desc: "Minimal isi ulang IDR $min", desc: "Minimal isi ulang IDR $min",
btnOkOnPress: () {}, btnOkOnPress: () {
btnOkIcon: Icons.cancel, if (timer != null) timer?.cancel();
btnOkColor: Colors.red) tapIdle();
},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show(); .show();
} else { } else {
Navigator.pop(context); Navigator.pop(context);
topUpInquiry(outletName, info); topUpInquiry(outletName, info);
} }
} }
});} });
}
Future<Map<String, dynamic>?> _getQris() async { Future<Map<String, dynamic>?> _getQris() async {
Map<String, dynamic>? result; Map<String, dynamic>? result;
var body = _getPayLoadQrisCreate(); var body = _getPayLoadQrisCreate();
try { 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") { if (response['response']['code'].toString() == "200") {
print( print(
"message qris : ${response['response']['message']}", "message qris : ${response['response']['message']}",
...@@ -192,7 +229,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -192,7 +229,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
} }
Future<void> topUpInquiry(String outletName, var info) async { Future<void> topUpInquiry(String outletName, var info) async {
var infoMap = jsonDecode(info); var infoMap = jsonDecode(info);
print('topUpInquiry info:$info'); print('topUpInquiry info:$info');
outletName = PreferencesHelper.getString('outletname').toString(); outletName = PreferencesHelper.getString('outletname').toString();
...@@ -202,7 +238,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -202,7 +238,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
var cusName = infoMap["name"].toString(); var cusName = infoMap["name"].toString();
String cardNo = cardNumber.toString(); String cardNo = cardNumber.toString();
String targetMasked = cardNo.substring(0, 12); String targetMasked = cardNo.substring(0, 12);
maskedText = cardNo.replaceAll(targetMasked,'************'); maskedText = cardNo.replaceAll(targetMasked, '************');
print("ini target masked $targetMasked"); print("ini target masked $targetMasked");
print("ini masked text $maskedText"); print("ini masked text $maskedText");
// ini untuk masked card nomber // ini untuk masked card nomber
...@@ -213,7 +249,11 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -213,7 +249,11 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
}); });
amount = amountController!.text.replaceAll(",", "").toString(); amount = amountController!.text.replaceAll(",", "").toString();
var responseInquiry = await StartService.topupInquiryResponse( var responseInquiry = await StartService.topupInquiryResponse(
outletName, prevBalance!, cardNumber, getRegDb, amount, outletName,
prevBalance!,
cardNumber,
getRegDb,
amount,
); );
var infoInquiry = jsonDecode(responseInquiry); var infoInquiry = jsonDecode(responseInquiry);
...@@ -232,7 +272,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -232,7 +272,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
Future<String> topUpBalance(String approvalCode) async { Future<String> topUpBalance(String approvalCode) async {
var info, infoMap, lastBalance, samReport, paymentMethod, paymentProvider; var info, infoMap, lastBalance, samReport, paymentMethod, paymentProvider;
info = await StartService.topupBalanceCard(cardNumber, int.parse(amount)); info = await StartService.topupBalanceCard(cardNumber, int.parse(amount));
infoMap = jsonDecode(info); infoMap = jsonDecode(info);
lastBalance = infoMap['balance'].toString(); lastBalance = infoMap['balance'].toString();
...@@ -244,8 +283,13 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -244,8 +283,13 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
var infoConfirm = await StartService.topUpConfirm(cardNumber, lastBalance, var infoConfirm = await StartService.topUpConfirm(cardNumber, lastBalance,
samReport, approvalCode, paymentMethod, paymentProvider); 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()); readerDate = DateFormat("ddMMyyyyHHmmss").format(DateTime.now());
gateId = PreferencesHelper.getString('tid'); gateId = PreferencesHelper.getString('tid');
persoReff = infoMap['regDb']; persoReff = infoMap['regDb'];
...@@ -254,16 +298,38 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -254,16 +298,38 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
versionApp = PreferencesHelper.getString(kVersionApp); versionApp = PreferencesHelper.getString(kVersionApp);
rawData = (report == null) rawData = (report == null)
? "balance|""$report,""$kodeGate,""$outletName,""$gateId,""$cardNumber,""$readerDate," ? "balance|"
"$amount,""$lastBalance,""$versionApp" "$report,"
: "$kodeGate,""$outletName,""$gateId,""$cardNumber,""$readerDate,""$amount," "$kodeGate,"
"$lastBalance,""$versionApp"; "$outletName,"
"$gateId,"
"$cardNumber,"
"$readerDate,"
"$amount,"
"$lastBalance,"
"$versionApp"
: "$kodeGate,"
"$outletName,"
"$gateId,"
"$cardNumber,"
"$readerDate,"
"$amount,"
"$lastBalance,"
"$versionApp";
print("proses define wristband info"); print("proses define wristband info");
WristbandInfo wristbandInfo = WristbandInfo( WristbandInfo wristbandInfo = WristbandInfo(
readerDate, int.parse(amount), gateId, 'TOPUP', readerDate,
cardNumber, 'card_topup', lastBalance, prevBalance!, int.parse(amount),
"M", rawData, persoReff, gateId,
'TOPUP',
cardNumber,
'card_topup',
lastBalance,
prevBalance!,
"M",
rawData,
persoReff,
); );
DatabaseHelper.insertTransaction(wristbandInfo); DatabaseHelper.insertTransaction(wristbandInfo);
...@@ -273,11 +339,26 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -273,11 +339,26 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
companyPhone = PreferencesHelper.getString('companyphone'); companyPhone = PreferencesHelper.getString('companyphone');
companyAddress = PreferencesHelper.getString('multioutletaddress'); companyAddress = PreferencesHelper.getString('multioutletaddress');
denom = amountController!.text.replaceAll(",", ""); denom = amountController!.text.replaceAll(",", "");
String sca = PreferencesHelper.getString( String sca =
"multioutletservicechargeamount" PreferencesHelper.getString("multioutletservicechargeamount");
); String sc = PreferencesHelper.getString("multioutletservicecharge");
String sc =PreferencesHelper.getString("multioutletservicecharge");
_getInfoBalance(info); _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( infoM = await StartService.print(
info, info,
companyName.split("-")[0], companyName.split("-")[0],
...@@ -286,10 +367,44 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -286,10 +367,44 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
approvalCode, approvalCode,
prevBalance!, prevBalance!,
"1", "1",
(int.parse("10")+int.parse("1")+int.parse("0")).toString(), (int.parse("10") + int.parse("1") + int.parse("0")).toString(),
denom.replaceAll(",", "")); denom.replaceAll(",", ""));
isHitApi = false;
isShowingDialog = true;
} else { } 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 ""; return "";
} }
...@@ -300,14 +415,26 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -300,14 +415,26 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
try { try {
Map<String, dynamic> response = await ServiceApi.statusQris(body); Map<String, dynamic> response = await ServiceApi.statusQris(body);
if (response['response']['code'].toString() == "200") { if (response['response']['code'].toString() == "200") {
if (response['data']['status'].toString().toLowerCase().contains('paid') || if (response['data']['status']
response['data']['status'].toString().toLowerCase().contains('success') || .toString()
response['data']['status'].toString().toLowerCase().contains('settlement')) { .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); showPop(approvalCode);
dataQris = null; dataQris = null;
result = true; result = true;
if (timerCheckStatus != null) timerCheckStatus?.cancel(); // if (timerCheckStatus != null) timerCheckStatus?.cancel();
} else { } else {
result = false; result = false;
if (!isBackgroundServices) { if (!isBackgroundServices) {
...@@ -376,37 +503,16 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -376,37 +503,16 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
cardNumber = infoMap["cardNumber"]; cardNumber = infoMap["cardNumber"];
name = infoMap["name"].toString().split("-")[0]; name = infoMap["name"].toString().split("-")[0];
Navigator.pop(context); 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), () { // Future.delayed(const Duration(seconds: 30), () {
// Navigator.pop(context); // Navigator.pop(context);
// _showTap(); // _showTap();
// tapDial(); // tapDial();
// }); // });
timer = Timer.periodic(Duration(seconds: int.parse(idle)),(timer){ // timer = Timer.periodic(Duration(seconds: int.parse(idle)),(timer){
print("ini pesan waktu idle : $idle"); // print("ini pesan waktu idle : $idle");
if (!isShowingDialog) { // _showTap();
Navigator.pop(context); // tapDial();
isShowingDialog = true; // });
_showTap();
tapDial();
}
});
} }
}); });
} }
...@@ -417,6 +523,8 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -417,6 +523,8 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
print('ini pesan salah'); print('ini pesan salah');
message = "Silakan Tempel Wristband Anda Di Reader"; message = "Silakan Tempel Wristband Anda Di Reader";
tapDial(); tapDial();
if (timer != null) timer?.cancel();
// tapIdle();
} else { } else {
infoCard = info; infoCard = info;
var infoMap = jsonDecode(info); var infoMap = jsonDecode(info);
...@@ -457,6 +565,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -457,6 +565,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
cardNumber = infoMap["cardNumber"]; cardNumber = infoMap["cardNumber"];
name = infoMap["name"].toString().split("-")[0]; name = infoMap["name"].toString().split("-")[0];
isShowingDialog = false; isShowingDialog = false;
tapIdle();
Navigator.pop(context); Navigator.pop(context);
} }
}); });
...@@ -464,12 +573,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -464,12 +573,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
String _getPayLoadQrisCreate() { String _getPayLoadQrisCreate() {
//amountContoller.text //amountContoller.text
String sc =PreferencesHelper.getString("multioutletservicecharge"); String sc = PreferencesHelper.getString("multioutletservicecharge");
String sca = PreferencesHelper.getString("multioutletservicechargeamount"); String sca = PreferencesHelper.getString("multioutletservicechargeamount");
trxId = DateTime.now().millisecondsSinceEpoch.toString(); trxId = DateTime.now().millisecondsSinceEpoch.toString();
var request = GeneralPaymentRequest( var request = GeneralPaymentRequest(
trxId.toString(), trxId.toString(),
(int.parse("10")+int.parse("1")+int.parse("0")).toString(), (int.parse("10") + int.parse("1") + int.parse("0")).toString(),
"get-qr", "get-qr",
PreferencesHelper.getString('provider'), PreferencesHelper.getString('provider'),
PreferencesHelper.getString("mid"), PreferencesHelper.getString("mid"),
...@@ -481,14 +590,28 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -481,14 +590,28 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
"https://poss-api.multidaya.id/v1/callback/qris"); "https://poss-api.multidaya.id/v1/callback/qris");
return jsonEncode(request); 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 { void tapDial() async {
Future.delayed(const Duration(milliseconds: 200), () async { Future.delayed(const Duration(milliseconds: 200), () async {
var isTap = await StartService.getCard(); var isTap = await StartService.getCard();
_getInfoCard(isTap); _getInfoCard(isTap);
// timer?.cancel();
}); });
} }
Future<void> _showTap(){ Future<void> _showTap() {
return showDialog<void>( return showDialog<void>(
context: context, context: context,
barrierDismissible: false, // user must tap button! barrierDismissible: false, // user must tap button!
...@@ -505,7 +628,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -505,7 +628,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
), ),
), ),
child: AlertDialog( child: AlertDialog(
title:SizedBox( title: SizedBox(
width: 1000, width: 1000,
height: 520, height: 520,
child: Column( child: Column(
...@@ -527,7 +650,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -527,7 +650,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
height: 90, height: 90,
width: 115, width: 115,
), ),
], ],
), ),
Row( Row(
...@@ -551,7 +673,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -551,7 +673,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
), ),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children:[ children: [
Text( Text(
"wristband topup machine with qr payment", "wristband topup machine with qr payment",
style: greyTextStyle.copyWith( style: greyTextStyle.copyWith(
...@@ -561,8 +683,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -561,8 +683,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
), ),
textAlign: TextAlign.center, textAlign: TextAlign.center,
), ),
] ]),
),
Column( Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
...@@ -596,7 +717,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -596,7 +717,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
], ],
), ),
), ),
content: SizedBox( content: SizedBox(
height: 20, height: 20,
), ),
), ),
...@@ -606,10 +727,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -606,10 +727,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
} }
Future<void> showPop(String approvalCode) async { Future<void> showPop(String approvalCode) async {
isShowingDialog = false; isShowingDialog = true;
Future.delayed(Duration(seconds: 10), () { // Future.delayed(Duration(seconds: 10), () {
topUpBalance(approvalCode); // topUpBalance(approvalCode);
}); // });
return showDialog<void>( return showDialog<void>(
context: context, context: context,
barrierDismissible: false, // user must tap button! barrierDismissible: false, // user must tap button!
...@@ -687,7 +808,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -687,7 +808,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
body: SafeArea( body: SafeArea(
child: Padding( child: Padding(
padding: padding:
const EdgeInsets.symmetric(vertical: 30, horizontal: 40), const EdgeInsets.symmetric(vertical: 30, horizontal: 40),
child: Column( child: Column(
children: [ children: [
Align( Align(
...@@ -695,7 +816,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -695,7 +816,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
Navigator.pop(context); Navigator.pop(context);
timer = Timer.periodic(Duration(seconds: 5),(timer){ if (timer != null) timer?.cancel();
timer =
Timer.periodic(Duration(seconds: 5), (timer) {
if (!isShowingDialog) { if (!isShowingDialog) {
isShowingDialog = true; isShowingDialog = true;
_showTap(); _showTap();
...@@ -751,9 +875,13 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -751,9 +875,13 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
fontSize: 35, fontWeight: medium), fontSize: 35, fontWeight: medium),
onChanged: (pin) { onChanged: (pin) {
print("Changed: $pin"); print("Changed: $pin");
if (timer != null) timer?.cancel();
tapIdle();
}, },
onCompleted: (pin) { onCompleted: (pin) {
setState((){ setState(() {
if (timer != null) timer?.cancel();
tapIdle();
num = pin; num = pin;
}); });
// print("Completed: $pin"); // print("Completed: $pin");
...@@ -775,7 +903,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -775,7 +903,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
// .pop(); // .pop();
// denom(outletName, info); // denom(outletName, info);
// } // }
// }, // },
// btnOkIcon: Icons.check, // btnOkIcon: Icons.check,
...@@ -798,7 +925,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -798,7 +925,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
// } // }
}, },
), ),
), ),
SizedBox( SizedBox(
height: 70, height: 70,
...@@ -810,44 +936,49 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -810,44 +936,49 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
title: 'lanjut', title: 'lanjut',
subtitle: 'proceed', subtitle: 'proceed',
onPressed: () { onPressed: () {
if (timer != null) timer?.cancel();
tapIdle();
print("Completed: $num"); print("Completed: $num");
print("Completed: $subPhone"); print("Completed: $subPhone");
String outletName = String outletName =
PreferencesHelper.getString('outlet_name'); PreferencesHelper.getString('outlet_name');
if (subPhone == num) { if (subPhone == num) {
AwesomeDialog( AwesomeDialog(
context: context, context: context,
dialogType: DialogType.success, dialogType: DialogType.success,
animType: AnimType.rightSlide, animType: AnimType.rightSlide,
headerAnimationLoop: true, headerAnimationLoop: true,
title: 'Berhasil verifikasi', title: 'Berhasil verifikasi',
desc: "verification success", desc: "verification success",
btnOkOnPress: () { btnOkOnPress: () {
if (mounted) { if (timer != null) timer?.cancel();
num = ""; tapIdle();
Navigator.of(context, if (mounted) {
rootNavigator: true) num = "";
.pop(); Navigator.of(context,
rootNavigator: true)
.pop();
denom(outletName, info); denom(outletName, info);
} }
}, },
btnOkIcon: Icons.check, btnOkIcon: Icons.check,
btnOkColor: Colors.green) btnOkColor: Colors.green)
.show(); .show();
} else { } else {
AwesomeDialog( AwesomeDialog(
context: context, context: context,
dialogType: DialogType.error, dialogType: DialogType.error,
animType: AnimType.rightSlide, animType: AnimType.rightSlide,
headerAnimationLoop: true, headerAnimationLoop: true,
title: title: 'Pastikan nomor Anda sesuai !',
'Pastikan nomor Anda sesuai !', desc: "Make sure your number matches !",
desc: btnOkOnPress: () {
"Make sure your number matches !", if (timer != null) timer?.cancel();
btnOkOnPress: () {}, tapIdle();
btnOkIcon: Icons.cancel, },
btnOkColor: Colors.red) btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show(); .show();
} }
}, },
...@@ -885,16 +1016,18 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -885,16 +1016,18 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
), ),
width: 1000, width: 1000,
margin: margin:
const EdgeInsets.symmetric(vertical: 10, horizontal: 0), const EdgeInsets.symmetric(vertical: 10, horizontal: 0),
child: Row( child: Row(
children: [ children: [
Align( Align(
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
Navigator.pop(context); Navigator.pop(context);
timer = Timer.periodic(Duration(seconds: 5),(timer){ if (timer != null) timer?.cancel();
timer =
Timer.periodic(Duration(seconds: 5), (timer) {
if (!isShowingDialog) { if (!isShowingDialog) {
isShowingDialog = true; isShowingDialog = true;
_showTap(); _showTap();
...@@ -928,7 +1061,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -928,7 +1061,6 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
content: SingleChildScrollView( content: SingleChildScrollView(
child: ListBody( child: ListBody(
children: <Widget>[ children: <Widget>[
Container( Container(
padding: EdgeInsets.symmetric(horizontal: 17), padding: EdgeInsets.symmetric(horizontal: 17),
child: Column( child: Column(
...@@ -966,65 +1098,71 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -966,65 +1098,71 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
children: [ children: [
Expanded( Expanded(
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
if (mounted) { if (timer != null) timer?.cancel();
setState(() { tapIdle();
amountController!.text = cTopUp1;
}); if (mounted) {
} setState(() {
}, amountController!.text = cTopUp1;
child: Container( });
padding: }
},
child: Container(
padding:
EdgeInsets.symmetric(vertical: 15), EdgeInsets.symmetric(vertical: 15),
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all( border: Border.all(
color: color: amountController!.text ==
amountController!.text == cTopUp1 cTopUp1
? purpleColor ? purpleColor
: Colors.black12), : Colors.black12),
borderRadius: BorderRadius.circular(7), borderRadius: BorderRadius.circular(7),
), ),
child: Center( child: Center(
child: Text("20,000", child: Text("20,000",
style: blackTextStyle.copyWith( style: blackTextStyle.copyWith(
fontSize: 25, fontSize: 25,
fontWeight: bold, fontWeight: bold,
)), )),
), ),
), ),
)), )),
SizedBox( SizedBox(
width: 10, width: 10,
), ),
Expanded( Expanded(
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
if (mounted) { if (timer != null) timer?.cancel();
setState(() { tapIdle();
amountController!.text = cTopUp2;
}); if (mounted) {
} setState(() {
}, amountController!.text = cTopUp2;
child: Container( });
padding: }
},
child: Container(
padding:
EdgeInsets.symmetric(vertical: 15), EdgeInsets.symmetric(vertical: 15),
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all( border: Border.all(
color: (amountController!.text == color: (amountController!.text ==
cTopUp2) cTopUp2)
? Color(0xff005DAC) ? Color(0xff005DAC)
: Colors.black12), : Colors.black12),
borderRadius: BorderRadius.circular(7), borderRadius: BorderRadius.circular(7),
), ),
child: Center( child: Center(
child: Text("50,000", child: Text("50,000",
style: blackTextStyle.copyWith( style: blackTextStyle.copyWith(
fontSize: 25, fontSize: 25,
fontWeight: bold, fontWeight: bold,
)), )),
), ),
), ),
)) ))
], ],
), ),
SizedBox( SizedBox(
...@@ -1034,39 +1172,45 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1034,39 +1172,45 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
children: [ children: [
Expanded( Expanded(
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
if (mounted) { if (timer != null) timer?.cancel();
setState(() { tapIdle();
amountController!.text = cTopUp3;
}); if (mounted) {
} setState(() {
}, amountController!.text = cTopUp3;
child: Container( });
padding: }
},
child: Container(
padding:
EdgeInsets.symmetric(vertical: 15), EdgeInsets.symmetric(vertical: 15),
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all( border: Border.all(
color: (amountController!.text == color: (amountController!.text ==
cTopUp3) cTopUp3)
? Color(0xff005DAC) ? Color(0xff005DAC)
: Colors.black12), : Colors.black12),
borderRadius: BorderRadius.circular(7), borderRadius: BorderRadius.circular(7),
), ),
child: Center( child: Center(
child: Text("100,000", child: Text("100,000",
style: blackTextStyle.copyWith( style: blackTextStyle.copyWith(
fontSize: 25, fontSize: 25,
fontWeight: bold, fontWeight: bold,
)), )),
), ),
), ),
)), )),
SizedBox( SizedBox(
width: 10, width: 10,
), ),
Expanded( Expanded(
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
if (timer != null) timer?.cancel();
tapIdle();
if (mounted) { if (mounted) {
setState(() { setState(() {
amountController!.text = cTopUp4; amountController!.text = cTopUp4;
...@@ -1075,15 +1219,15 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1075,15 +1219,15 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
}, },
child: Container( child: Container(
padding: padding:
EdgeInsets.symmetric(vertical: 15), EdgeInsets.symmetric(vertical: 15),
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border.all( border: Border.all(
color: (amountController!.text == color: (amountController!.text ==
cTopUp4) cTopUp4)
? Color(0xff005DAC) ? Color(0xff005DAC)
: Colors.black12), : Colors.black12),
borderRadius: borderRadius:
BorderRadius.circular(7), BorderRadius.circular(7),
), ),
child: Center( child: Center(
child: Text("200,000", child: Text("200,000",
...@@ -1141,11 +1285,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1141,11 +1285,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
fontWeight: bold, fontWeight: bold,
color: purpleColor, color: purpleColor,
), ),
keyboardType: keyboardType:
TextInputType.numberWithOptions( TextInputType.numberWithOptions(
signed: true, signed: true,
decimal: true), decimal: true),
controller: amountController, controller: amountController,
inputFormatters: [ inputFormatters: [
FilteringTextInputFormatter FilteringTextInputFormatter
...@@ -1153,12 +1296,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1153,12 +1296,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
CurrencyInputFormatter() CurrencyInputFormatter()
], ],
textInputAction: textInputAction:
TextInputAction.done, TextInputAction.done,
decoration: decoration:
InputDecoration.collapsed( InputDecoration.collapsed(
hintText: '10,000', hintText: '10,000',
hintStyle: hintStyle:
blackTextStyle.copyWith( blackTextStyle.copyWith(
fontSize: 20, fontSize: 20,
fontWeight: bold, fontWeight: bold,
color: greyColor, color: greyColor,
...@@ -1179,9 +1322,18 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1179,9 +1322,18 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
title: 'lanjut', title: 'lanjut',
subtitle: 'proceed', subtitle: 'proceed',
onPressed: () { onPressed: () {
setState((){ setState(() {
if (mounted){ if (timer != null)
denomLimits(outletName, info, int.parse(amountController!.text.replaceAll(",", ""))); timer?.cancel();
// tapIdle();
if (mounted) {
denomLimits(
outletName,
info,
int.parse(amountController!
.text
.replaceAll(",", "")));
} }
}); });
...@@ -1240,7 +1392,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1240,7 +1392,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
width: 1000, width: 1000,
height: 800, height: 800,
padding: padding:
const EdgeInsets.symmetric(horizontal: 150, vertical: 30), const EdgeInsets.symmetric(horizontal: 150, vertical: 30),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(28), borderRadius: BorderRadius.circular(28),
boxShadow: [ boxShadow: [
...@@ -1287,13 +1439,13 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1287,13 +1439,13 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
height: 220, height: 220,
child: (dataQris == null) child: (dataQris == null)
? Lottie.asset( ? Lottie.asset(
"assets/loader.json", "assets/loader.json",
width: 240, width: 240,
height: 250, height: 250,
) )
: QrImage( : QrImage(
data: dataQris?['data']['qr_content'], data: dataQris?['data']['qr_content'],
), ),
), ),
], ],
), ),
...@@ -1354,29 +1506,21 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1354,29 +1506,21 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
showPop(approvalCode); showPop(approvalCode);
} else { } else {
AwesomeDialog( AwesomeDialog(
context: context, context: context,
dialogType: DialogType.warning, dialogType: DialogType.warning,
animType: AnimType.rightSlide, animType: AnimType.rightSlide,
headerAnimationLoop: true, headerAnimationLoop: true,
title: title:
'Apakah anda yakin ingin membatalkan pembayaran ?', 'Apakah anda yakin ingin membatalkan pembayaran ?',
desc: desc:
"Are you sure you want to cancel the payment ?", "Are you sure you want to cancel the payment ?",
btnOkOnPress: () { btnOkOnPress: () {
timer = Timer.periodic(Duration(seconds: int.parse(idle)),(timer){ dataQris = null;
if (!isShowingDialog) { Navigator.pop(context);
isShowingDialog = true; isShowingDialog = true;
_showTap(); },
tapDial(); btnOkIcon: Icons.cancel,
} btnOkColor: Colors.red)
});
setState((){
Navigator.pop(context);
dataQris = null;
});
},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show(); .show();
} }
isProcessCheck = false; isProcessCheck = false;
...@@ -1385,57 +1529,57 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1385,57 +1529,57 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
}, },
child: (isProcessCheck) child: (isProcessCheck)
? Column( ? Column(
children: [ children: [
Container( Container(
width: 250, width: 250,
height: 70, height: 70,
margin: const EdgeInsets.only( margin: const EdgeInsets.only(
bottom: 10, bottom: 10,
), ),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20), borderRadius: BorderRadius.circular(20),
color: purpleColor, color: purpleColor,
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.grey.withOpacity(0.3), color: Colors.grey.withOpacity(0.3),
//color of shadow //color of shadow
spreadRadius: 3, spreadRadius: 3,
//spread radius //spread radius
blurRadius: 7, blurRadius: 7,
// blur radius // blur radius
offset: Offset(3, offset: Offset(3,
3), // changes position of shadow 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( : HomeServices(
iconUrl: 'assets/cancel.png', iconUrl: 'assets/cancel.png',
title: 'batalkan', title: 'batalkan',
subtitle: 'cancel', subtitle: 'cancel',
), ),
), ),
//button saya sudah bayar di showqris //button saya sudah bayar di showqris
TextButton( TextButton(
...@@ -1449,19 +1593,15 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1449,19 +1593,15 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
showPop(approvalCode); showPop(approvalCode);
} else { } else {
AwesomeDialog( AwesomeDialog(
context: context, context: context,
dialogType: DialogType.error, dialogType: DialogType.error,
animType: AnimType.rightSlide, animType: AnimType.rightSlide,
headerAnimationLoop: true, headerAnimationLoop: true,
title: title: 'Belum Terbayar !',
'Belum Terbayar !', desc: "Not paid yet !",
desc: btnOkOnPress: () {},
"Not paid yet !", btnOkIcon: Icons.cancel,
btnOkOnPress: () { btnOkColor: Colors.red)
},
btnOkIcon: Icons.cancel,
btnOkColor: Colors.red)
.show(); .show();
} }
isProcessCheck = false; isProcessCheck = false;
...@@ -1470,49 +1610,49 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1470,49 +1610,49 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
}, },
child: (isProcessCheck) child: (isProcessCheck)
? Column( ? Column(
children: [ children: [
Container( Container(
width: 250, width: 250,
height: 70, height: 70,
margin: const EdgeInsets.only( margin: const EdgeInsets.only(
bottom: 10, bottom: 10,
), ),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20), borderRadius: BorderRadius.circular(20),
color: purpleColor, color: purpleColor,
boxShadow: [ boxShadow: [
BoxShadow( BoxShadow(
color: Colors.grey.withOpacity(0.3), color: Colors.grey.withOpacity(0.3),
//color of shadow //color of shadow
spreadRadius: 3, spreadRadius: 3,
//spread radius //spread radius
blurRadius: 7, blurRadius: 7,
// blur radius // blur radius
offset: Offset(3, offset: Offset(3,
3), // changes position of shadow 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( : HomeServices(
iconUrl: 'assets/check-mark.png', iconUrl: 'assets/check-mark.png',
title: 'Saya Sudah Bayar', title: 'Saya Sudah Bayar',
subtitle: 'i have already paid', subtitle: 'i have already paid',
), ),
), ),
Column( Column(
children: [ children: [
...@@ -1531,8 +1671,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1531,8 +1671,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
.withOpacity(0.3), //color of shadow .withOpacity(0.3), //color of shadow
spreadRadius: 3, //spread radius spreadRadius: 3, //spread radius
blurRadius: 7, // blur radius blurRadius: 7, // blur radius
offset: Offset( offset: Offset(3, 3),
3, 3),
), ),
//you can set more BoxShadow() here //you can set more BoxShadow() here
], ],
...@@ -1542,11 +1681,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1542,11 +1681,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
duration: Duration(minutes: 1), duration: Duration(minutes: 1),
tween: Tween( tween: Tween(
begin: Duration(minutes: 1), begin: Duration(minutes: 1),
end: Duration.zero end: Duration.zero),
),
onEnd: () { onEnd: () {
Navigator.pop(context); Navigator.pop(context);
setState((){ setState(() {
dataQris = null; dataQris = null;
}); });
// AwesomeDialog( // AwesomeDialog(
...@@ -1570,18 +1708,24 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1570,18 +1708,24 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
}, },
builder: (BuildContext context, builder: (BuildContext context,
Duration value, Widget? child) { 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 minutes = twoDigits(value.inMinutes);
final seconds = twoDigits(value.inSeconds % 60); final seconds =
twoDigits(value.inSeconds % 60);
// todo for checking in 30 seconds lates // todo for checking in 30 seconds lates
debugPrint("values in seconds ${value.inSeconds}"); // debugPrint("values in seconds ${value.inSeconds}");
if (value.inSeconds == 30) { debugPrint("ini pesan second: ${seconds}");
if (int.parse(seconds) == int.parse("30")) {
if (!isHitApi) {
isHitApi = true;
_cekStatus(isBackgroundServices: true); _cekStatus(isBackgroundServices: true);
print("pembayaran berhasil dilakukan"); print("pembayaran berhasil dilakukan");
timerCheckStatus?.cancel(); }
} else {
timerCheckStatus?.cancel();
} }
/*else {
timerCheckStatus?.cancel();
}*/
return Padding( return Padding(
padding: const EdgeInsets.symmetric( padding: const EdgeInsets.symmetric(
vertical: 5), vertical: 5),
...@@ -1601,14 +1745,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1601,14 +1745,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
fontSize: 15, fontSize: 15,
), ),
), ),
Text( Text('timeout',
'timeout',
style: greyTextStyle.copyWith( style: greyTextStyle.copyWith(
fontStyle: FontStyle.italic, fontStyle: FontStyle.italic,
fontWeight: light, fontWeight: light,
fontSize: 8, fontSize: 8,
) )),
),
], ],
), ),
], ],
...@@ -1620,73 +1762,56 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1620,73 +1762,56 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
}); });
} }
Future<bool> onWillPop(){ Future<bool> onWillPop() {
return Future.value(false); return Future.value(false);
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
Timer getIdle() { return WillPopScope(
return timer = Timer.periodic(Duration(seconds: int.parse(idle)),(timer){ child: Scaffold(
print("ini pesan waktu idle : $idle"); resizeToAvoidBottomInset: false,
if (!isShowingDialog) { backgroundColor: lightBackgroundColor,
isShowingDialog = true; body: SingleChildScrollView(
_showTap(); scrollDirection: Axis.vertical,
tapDial(); child: Column(
} mainAxisAlignment: MainAxisAlignment.center,
}); crossAxisAlignment: CrossAxisAlignment.center,
}
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,
),
children: [ children: [
buildcardInfo(), ListView(
buildwalletCard(), shrinkWrap: true,
buildServices(context), padding: const EdgeInsets.symmetric(
buildFloat(), horizontal: 45,
vertical: 8,
),
children: [
buildcardInfo(),
buildwalletCard(),
buildServices(context),
buildFloat(),
],
),
], ],
), ),
], ),
), ),
), onWillPop: onWillPop);
), 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);
} }
Widget buildFloat(){ Widget buildFloat() {
return Center( return Center(
child: Container( child: Container(
child: Align( child: Align(
alignment: Alignment.bottomRight, alignment: Alignment.bottomRight,
child:Container( child: Container(
height:100, height: 100,
width:100, width: 100,
color: Colors.greenAccent, color: Colors.greenAccent,
child: Text("Box I"), child: Text("Box I"),
), ),
), ),
), ),
); );
} }
//SECTION cardinfo //SECTION cardinfo
...@@ -1740,12 +1865,9 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1740,12 +1865,9 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
width: 100, width: 100,
), ),
], ],
), ),
width: double.infinity, width: double.infinity,
), ),
); );
} }
...@@ -1952,7 +2074,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1952,7 +2074,10 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
TextButton( TextButton(
onPressed: () async { onPressed: () {
isShowingDialog = true;
if (timer != null) timer?.cancel();
tapIdle();
amountController?.clear(); amountController?.clear();
var infoMap = jsonDecode(infoCard); var infoMap = jsonDecode(infoCard);
var change = DateTime.fromMillisecondsSinceEpoch( var change = DateTime.fromMillisecondsSinceEpoch(
...@@ -1965,10 +2090,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1965,10 +2090,12 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
); );
cardNumber = infoMap["cardNumber"]; cardNumber = infoMap["cardNumber"];
name = infoMap["name"].toString().split("-")[0]; name = infoMap["name"].toString().split("-")[0];
int lengthSplit = infoMap["name"].toString().split("-").length; int lengthSplit =
infoMap["name"].toString().split("-").length;
String subPhone = ""; String subPhone = "";
if (lengthSplit > 1) { if (lengthSplit > 1) {
String fullPhone = infoMap["name"].toString().split("-")[1].trim(); String fullPhone =
infoMap["name"].toString().split("-")[1].trim();
print("ini nomer telponnya $fullPhone"); print("ini nomer telponnya $fullPhone");
subPhone = fullPhone.substring( subPhone = fullPhone.substring(
fullPhone.length - 4, fullPhone.length); fullPhone.length - 4, fullPhone.length);
...@@ -1977,19 +2104,17 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1977,19 +2104,17 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
phone4CharValidation(subPhone, infoCard, idle); phone4CharValidation(subPhone, infoCard, idle);
} else { } else {
AwesomeDialog( AwesomeDialog(
context: context, context: context,
dialogType: DialogType.error, dialogType: DialogType.error,
animType: AnimType.rightSlide, animType: AnimType.rightSlide,
headerAnimationLoop: true, headerAnimationLoop: true,
title: 'Nomor telepon tidak ditemukan !', title: 'Nomor telepon tidak ditemukan !',
desc: desc: "phone number not found !",
"phone number not found !", btnOkOnPress: () {},
btnOkOnPress: () {}, btnOkIcon: Icons.cancel,
btnOkIcon: Icons.cancel, btnOkColor: Colors.red)
btnOkColor: Colors.red)
.show(); .show();
} }
timer?.cancel();
}, },
child: const HomeServices( child: const HomeServices(
iconUrl: 'assets/ic_topup.png', iconUrl: 'assets/ic_topup.png',
...@@ -1998,12 +2123,11 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -1998,12 +2123,11 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
), ),
), ),
TextButton( TextButton(
onPressed: () async { onPressed: () {
setState((){ timer?.cancel();
timer?.cancel(); isShowingDialog = true;
_showTap(); _showTap();
tapDial(); tapDial();
});
}, },
child: const HomeServices( child: const HomeServices(
iconUrl: 'assets/ic_send.png', iconUrl: 'assets/ic_send.png',
...@@ -2028,4 +2152,4 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback { ...@@ -2028,4 +2152,4 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
void onPositive(Object object) { void onPositive(Object object) {
// TODO: implement onPositive // TODO: implement onPositive
} }
} }
\ No newline at end of file
...@@ -55,7 +55,7 @@ class _SplashPageState extends State<SplashPage> { ...@@ -55,7 +55,7 @@ class _SplashPageState extends State<SplashPage> {
} else { } else {
navigationToSetConfig(); navigationToSetConfig();
} }
} }
void navigationToGetOutlet() { void navigationToGetOutlet() {
Navigator.of(context) Navigator.of(context)
...@@ -88,10 +88,10 @@ class _SplashPageState extends State<SplashPage> { ...@@ -88,10 +88,10 @@ class _SplashPageState extends State<SplashPage> {
void permissionState() async { void permissionState() async {
if (await Permission.storage.request().isGranted && if (await Permission.storage.request().isGranted &&
await Permission.phone.request().isGranted) { await Permission.phone.request().isGranted) {
StartService.initLibrary(); StartService.initLibrary().then((value) {
Future.delayed(Duration(seconds: 3), () {
Future.delayed(Duration(seconds: 3), () { checkAktivation();
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