diff --git a/android/app/src/main/java/com/dinect/checker/AbstractScannerActivity.java b/android/app/src/main/java/com/dinect/checker/AbstractScannerActivity.java
index 807e220..d85f8c8 100644
--- a/android/app/src/main/java/com/dinect/checker/AbstractScannerActivity.java
+++ b/android/app/src/main/java/com/dinect/checker/AbstractScannerActivity.java
@@ -71,7 +71,6 @@ public abstract class AbstractScannerActivity extends AppCompatActivity impleme
public static final String SCAN_MODES = "SCAN_MODES";
public static final String ERROR_INFO = "ERROR_INFO";
- protected LogoutDialogFragment logoutDialog;
private ApiClient mClient;
private StatedImageButton statedImageButton;
@@ -167,7 +166,7 @@ public abstract class AbstractScannerActivity extends AppCompatActivity impleme
EditText manualInput = (EditText) findViewById(R.id.manual_input);
// для удобства, чтоб не вводить постоянно руками при разработке
- //manualInput.setText("4620011139016317023320337");
+ manualInput.setText("4620011139016337050236302");
manualInput.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
@@ -287,7 +286,7 @@ public abstract class AbstractScannerActivity extends AppCompatActivity impleme
public boolean onPrepareOptionsMenu(Menu menu) {
menu.findItem(R.id.settings).setIcon(getResources().getDrawable(R.drawable.settings));
menu.findItem(R.id.faq).setIcon(getResources().getDrawable(R.drawable.help));
- menu.findItem(R.id.logout).setIcon(getResources().getDrawable(R.drawable.logout));
+ menu.findItem(R.id.exit).setIcon(getResources().getDrawable(R.drawable.exit));
return super.onPrepareOptionsMenu(menu);
}
@@ -299,10 +298,8 @@ public abstract class AbstractScannerActivity extends AppCompatActivity impleme
setResult(RESULT_OK, intent);
finish();
return true;
- } else if (item.getItemId() == R.id.logout) {
- int color = (int) getIntent().getLongExtra(MainActivity.PREF_APP_BAR_COLOR, 0xffffff);
- logoutDialog = LogoutDialogFragment.newInstance(color);
- logoutDialog.show(getFragmentManager(), "logout");
+ } else if (item.getItemId() == R.id.exit) {
+ exit();
return true;
} else if (item.getItemId() == R.id.faq) {
final Intent intent = new Intent();
@@ -314,57 +311,10 @@ public abstract class AbstractScannerActivity extends AppCompatActivity impleme
return super.onOptionsItemSelected(item);
}
- void dismissDialog() {
- if (logoutDialog != null) {
- logoutDialog.dismiss();
- logoutDialog = null;
- }
- }
-
- void logout() {
+ void exit() {
final Intent intent = new Intent();
- intent.putExtra("item", "logout");
+ intent.putExtra("item", "exit");
setResult(RESULT_OK, intent);
finish();
}
-
- public static class LogoutDialogFragment extends DialogFragment {
-
- static LogoutDialogFragment newInstance(int color) {
- LogoutDialogFragment f = new LogoutDialogFragment();
- Bundle bundle = new Bundle();
- bundle.putInt(MainActivity.PREF_APP_BAR_COLOR, color);
- f.setArguments(bundle);
- return f;
- }
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- final LayoutInflater inflater = getActivity().getLayoutInflater();
- final View content = inflater.inflate(R.layout.f_logout_dialog, null);
- builder.setView(content);
- final TextView positiveButton = (TextView) content.findViewById(R.id.positiveButton);
- final TextView negativeButton = (TextView) content.findViewById(R.id.negativeButton);
- // Можно делать через стили, но я не уверен, что необходимо в нашем случае
- positiveButton.setTextColor(getArguments().getInt(MainActivity.PREF_APP_BAR_COLOR));
- negativeButton.setTextColor(getArguments().getInt(MainActivity.PREF_APP_BAR_COLOR));
-
- negativeButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- ((AbstractScannerActivity) getActivity()).dismissDialog();
- }
- });
-
- positiveButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- ((AbstractScannerActivity) getActivity()).logout();
- }
- });
-
- return builder.create();
- }
- }
}
diff --git a/android/app/src/main/java/com/dinect/checker/MainActivity.java b/android/app/src/main/java/com/dinect/checker/MainActivity.java
index 49a106a..d1a968d 100644
--- a/android/app/src/main/java/com/dinect/checker/MainActivity.java
+++ b/android/app/src/main/java/com/dinect/checker/MainActivity.java
@@ -6,6 +6,7 @@ import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.Toast;
+import android.util.Log;
import com.dinect.checker.zbar.CameraActivity;
import com.dinect.checker.zxing.ScannerActivity;
import io.flutter.app.FlutterActivity;
@@ -89,6 +90,10 @@ public class MainActivity extends FlutterActivity {
case "showBonus":
result.success(BuildConfig.showBonus);
break;
+ case "finish":
+ Log.d("kifio", call.method);
+ finish();
+ break;
default:
result.notImplemented();
break;
@@ -148,7 +153,11 @@ public class MainActivity extends FlutterActivity {
} else {
String menuItem = data.getExtras().getString("item", null);
if (menuItem != null) {
+ if (menuItem.equals("exit")) {
+ finish();
+ } else {
mChannel.invokeMethod(menuItem, null);
+ }
}
}
} else {
diff --git a/android/app/src/main/res/drawable-xxxhdpi/logout.png b/android/app/src/main/res/drawable-xxxhdpi/exit.png
similarity index 100%
rename from android/app/src/main/res/drawable-xxxhdpi/logout.png
rename to android/app/src/main/res/drawable-xxxhdpi/exit.png
diff --git a/android/app/src/main/res/menu/menu.xml b/android/app/src/main/res/menu/menu.xml
index a89d3df..6562c33 100644
--- a/android/app/src/main/res/menu/menu.xml
+++ b/android/app/src/main/res/menu/menu.xml
@@ -19,10 +19,10 @@
android:title="@string/faq"
android:icon="@drawable/help"/>
-
+
-
\ No newline at end of file
+
diff --git a/android/app/src/main/res/values-ru/strings.xml b/android/app/src/main/res/values-ru/strings.xml
index 0e0b80f..4f5a97b 100644
--- a/android/app/src/main/res/values-ru/strings.xml
+++ b/android/app/src/main/res/values-ru/strings.xml
@@ -3,12 +3,8 @@
Сканер карты
Сканировать
Справка
- Выход
+ Закрыть приложение
Настройки
- Подтверждение
- Вы действительно хотите выйти и ввести другой номер магазина?
- Да
- Нет
"Идентификатор %s не найден"
Введите номер карты
Телефон 79XXXXXXXXX
diff --git a/android/app/src/main/res/values-ua/strings.xml b/android/app/src/main/res/values-ua/strings.xml
index ab72b38..805694c 100644
--- a/android/app/src/main/res/values-ua/strings.xml
+++ b/android/app/src/main/res/values-ua/strings.xml
@@ -3,12 +3,8 @@
Сканер карти
Сканувати
Допомога
- Вихід
+ Закрыть приложение
Налаштування
- Підтвердження
- Ви дійсно хочете вийти і ввести інший номер магазину?
- Так
- Ні
"Ідентифікатор %s не знайден"
Введіть штрихкод вручну
Телефон 79XXXXXXXXX
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index 57c7474..0b7e185 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -3,12 +3,8 @@
Card Scanner
Scan
Help
- Logout
+ Exit
Settings
- Сonfirmation
- Do you really want to log out and enter a different store number?
- Yes
- No
"Identifier %s is not found"
Enter the card number
Phone 79XXXXXXXXX
diff --git a/assets/logout.png b/assets/exit.png
similarity index 100%
rename from assets/logout.png
rename to assets/exit.png
diff --git a/lib/base/base_state.dart b/lib/base/base_state.dart
index 6eb2e20..f0f4205 100644
--- a/lib/base/base_state.dart
+++ b/lib/base/base_state.dart
@@ -1,6 +1,5 @@
import 'package:checker/resources.dart';
import 'package:flutter/material.dart';
-import 'package:flutter/services.dart';
import 'package:checker/common.dart';
import 'package:checker/consts.dart';
@@ -70,14 +69,10 @@ abstract class BaseState extends State {
child: getMenuItem(help_png, StringsLocalization.help())
));
- helper.getToken().then((token){
- if (token != null) { // пользователь авторизован
- menuItemList.add(new PopupMenuItem(
- value: 2,
- child: getMenuItem(logout_png, StringsLocalization.logout())
- ));
- }
- });
+ menuItemList.add(new PopupMenuItem(
+ value: 2,
+ child: getMenuItem(exit_png, StringsLocalization.exit())
+ ));
return [
new PopupMenuButton(
@@ -100,7 +95,8 @@ abstract class BaseState extends State {
break;
}
case 2: {
- logout(context, helper);
+ platform.invokeMethod('finish');
+ break;
}
}
}
diff --git a/lib/common.dart b/lib/common.dart
index cc05687..6035ed0 100644
--- a/lib/common.dart
+++ b/lib/common.dart
@@ -45,8 +45,8 @@ logout(BuildContext context, SqliteHelper helper) async {
getDeleteTokenRequest(token).then((response) {
helper.clear().then((result) {
// helper.close().then((_) {
- Navigator.of(context).pop();
- Navigator.of(context).pop();
+// Navigator.of(context).pop();
+// Navigator.of(context).pop();
pushRouteReplacement(
context, new SplashScreen()); // Запускаем регистрацию
// });
@@ -93,15 +93,13 @@ startScanner(BuildContext context, String app, SqliteHelper helper) async {
} else {
String token = await helper.getToken();
// Канал ловит вызовы методов из "нативной" части приложения.
- // Могут быть вызваны либо logout либо faq, либо purchase.
+ // Могут быть вызваны либо exit либо faq, либо purchase.
if (token != null) {
platform.setMethodCallHandler((MethodCall call) async {
print('flutter handler');
print(call.method);
- if (call.method == 'logout') {
- forceLogout(token, context);
- } else if (call.method == 'findUser') {
+ if (call.method == 'findUser') {
var userResponse;
String cardPhone = call.arguments[0];
diff --git a/lib/consts.dart b/lib/consts.dart
index 813b9cc..1c3d193 100644
--- a/lib/consts.dart
+++ b/lib/consts.dart
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
const String appName = "Dinect";
// Assets
-const String logout_png = 'assets/logout.png';
+const String exit_png = 'assets/exit.png';
const String help_png = 'assets/help.png';
const String settings_png = 'assets/settings.png';
const String settings_arrow_png = 'assets/settings_arrow.png';
@@ -23,8 +23,9 @@ const Color greenBackground = const Color(0xff8ae28a);
const Color faqGrey = const Color(0xff5b5b5b);
const Color faqTitlesColor = const Color(0xff404040);
const Color inputFieldBackground = const Color(0xffefefef);
+const Color logoutRed = const Color(0xffeb0004);
// Dimens
const double verticalMargin = 28.0;
const double buttonHeight = 48.0;
-const double iconHeight = 20.0;
\ No newline at end of file
+const double iconHeight = 20.0;
diff --git a/lib/db.dart b/lib/db.dart
index bcdb658..704cca3 100644
--- a/lib/db.dart
+++ b/lib/db.dart
@@ -75,8 +75,17 @@ class SqliteHelper {
}
}
- Future