diff --git a/assets/expansion_icon.png b/assets/faq_expansion_icon.png
similarity index 100%
rename from assets/expansion_icon.png
rename to assets/faq_expansion_icon.png
diff --git a/assets/help.png b/assets/help.png
new file mode 100644
index 0000000..5d7029a
Binary files /dev/null and b/assets/help.png differ
diff --git a/assets/logout.png b/assets/logout.png
index 83b23bb..2f79181 100644
Binary files a/assets/logout.png and b/assets/logout.png differ
diff --git a/assets/settings.png b/assets/settings.png
new file mode 100644
index 0000000..1e19365
Binary files /dev/null and b/assets/settings.png differ
diff --git a/checker.iml b/checker.iml
deleted file mode 100644
index 3b8d8be..0000000
--- a/checker.iml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/lib/base_state.dart b/lib/base_state.dart
index 0ceb4be..4aa805c 100644
--- a/lib/base_state.dart
+++ b/lib/base_state.dart
@@ -1,5 +1,3 @@
-import 'dart:async';
-
import 'package:checker/resources.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -7,10 +5,12 @@ import 'package:intl/intl.dart';
import 'common.dart';
import 'consts.dart';
-import 'strings.dart';
+import 'package:checker/db.dart';
abstract class BaseState extends State {
+ SqliteHelper helper;
+
/// Тип сборки. Определяет, какие брать ресурсы (цвета, картинки)
String app;
@@ -31,7 +31,10 @@ abstract class BaseState extends State {
platform.invokeMethod('getFlavor').then((flavor) {
setState(() {
app = flavor;
- onStart();
+ helper = new SqliteHelper();
+ helper.open().then((_){
+ onStart();
+ });
});
});
}
@@ -57,7 +60,7 @@ abstract class BaseState extends State {
}
void onStart() {
-
+ print("ON START!");
}
/// Возвращает контейнер с всеми виджетами экрана.
@@ -72,7 +75,22 @@ abstract class BaseState extends State {
}
List getMenuButtons() {
- return [getFaqButton()];
+ return [
+ new PopupMenuButton(
+ itemBuilder: (BuildContext context) {
+ [
+ new PopupMenuItem(
+ child: new Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ new Image.asset(
+ settings_png, width: 48.0, height: 48.0),
+ new Image.asset(help_png, width: 48.0, height: 48.0),
+ new Image.asset(logout_png, width: 48.0, height: 48.0),
+ ]))
+ ];
+ }
+ )];
}
Widget getFaqButton() {
diff --git a/lib/common.dart b/lib/common.dart
index ce2e840..5a078b8 100644
--- a/lib/common.dart
+++ b/lib/common.dart
@@ -1,13 +1,13 @@
-import 'db.dart';
-import 'package:flutter/services.dart';
+import 'package:checker/screens/faq.dart';
+import 'package:checker/screens/purchase.dart';
+import 'package:checker/screens/registration.dart';
import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
import 'consts.dart';
+import 'db.dart';
import 'network.dart';
import 'resources.dart';
-import 'package:checker/registration.dart';
-import 'package:checker/purchase.dart';
-import 'faq.dart';
import 'strings.dart';
// Канал для взаимодействия с кодом платформы.
@@ -53,13 +53,18 @@ logout(BuildContext context) async {
showYesNoDialog(context, StringsLocalization.confirmation(), StringsLocalization.askChangeStore(), positiveCalback);
}
-forceLogout(SqliteHelper helper, BuildContext context) async {
- String token = await helper.getToken();
+forceLogout(String token , BuildContext context) async {
+
deleteToken(token).then((response) {
print(response.body);
- platform.invokeMethod('removeKeys').then((result) {
- Navigator.of(context).pop();
- pushRoute(context, new RegistrationScreen()); // Запускаем регистрацию
+ SqliteHelper helper = new SqliteHelper();
+ helper.open().then((_) {
+ helper.clear().then((_) {
+ helper.close().then((_) {
+ Navigator.of(context).pop();
+ pushRoute(context, new RegistrationScreen()); // Запускаем регистрацию
+ });
+ });
});
}).catchError((error) {
print(error.toString());
@@ -79,7 +84,7 @@ startScanner(BuildContext context, String app, SqliteHelper helper) async {
print('call.method: ${call.method}');
if (call.method == 'logout') {
- forceLogout(helper, context);
+ forceLogout(token, context);
} else if (call.method == 'faq') {
faq(context, true);
} else {
diff --git a/lib/consts.dart b/lib/consts.dart
index a098939..60d9b85 100644
--- a/lib/consts.dart
+++ b/lib/consts.dart
@@ -8,11 +8,17 @@ const String appToken = '9fec83cdca38c357e6b65dbb17514cdd36bf2a08';
// Assets
const String logout_png = 'assets/logout.png';
+const String help_png = 'assets/help.png';
+const String settings_png = 'assets/settings.png';
+
const String activate_token_bg_png = 'assets/activate_token_message_background.png';
const String active_token_bg_png = 'assets/active_token_message_background.png';
-const String expansion_icon_png = 'assets/expansion_icon.png';
+
+const String expansion_icon_png = 'assets/faq_expansion_icon.png';
+
const String powered_by_dinect_splash_png = 'assets/powered_by_dinect_splash.png';
const String powered_by_dinect_png = 'assets/powered_by_dinect.png';
+
const String splash_text_png = 'assets/splash_text.png';
const Color greyTextColor = const Color(0xffa5a5a5);
diff --git a/lib/db.dart b/lib/db.dart
index 2443ccc..db078d3 100644
--- a/lib/db.dart
+++ b/lib/db.dart
@@ -41,7 +41,8 @@ class SqliteHelper {
Map session = {
columnMerchantID: merchantID,
columnPosID: posID,
- columnToken: token
+ columnToken: token,
+ columnDocID: 0
};
return db.insert(tableSession, session);
@@ -49,12 +50,16 @@ class SqliteHelper {
Future getToken() async {
Map session = await _getSession();
- return session != null ? session[columnToken] : null;
+ String token = session != null ? session[columnToken] : null;
+ print('token: {$token}');
+ return token;
}
Future getMerchantID() async {
Map session = await _getSession();
- return session != null ? session[columnMerchantID] : null;
+ String merchantID = session != null ? session[columnMerchantID] : null;
+ print('token: {$merchantID}');
+ return merchantID;
}
Future getPosID() async {
@@ -62,6 +67,14 @@ class SqliteHelper {
return session != null ? session[columnPosID] : new DateTime.now().millisecondsSinceEpoch.toString();
}
+ Future getDocID() async {
+ Map session = await _getSession();
+ int docID = session != null ? session[columnDocID] : 0;
+ db.update(tableSession, {columnDocID: docID + 1});
+ print('docid: {$docID}');
+ return docID;
+ }
+
Future