diff --git a/android/app/src/main/java/com/dinect/checker/activity/CameraActivity.java b/android/app/src/main/java/com/dinect/checker/activity/CameraActivity.java
index 1277533..a09ff55 100644
--- a/android/app/src/main/java/com/dinect/checker/activity/CameraActivity.java
+++ b/android/app/src/main/java/com/dinect/checker/activity/CameraActivity.java
@@ -61,6 +61,7 @@ import android.app.DialogFragment;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
+import android.view.LayoutInflater;
import com.dinect.checker.R;
public class CameraActivity extends AppCompatActivity implements SurfaceHolder.Callback {
@@ -75,6 +76,7 @@ public class CameraActivity extends AppCompatActivity implements SurfaceHolder.C
private Handler autoFocusHandler;
private int mOffset;
private String mToken;
+ private LogoutDialogFragment mDialog;
static {
System.loadLibrary("iconv");
@@ -221,12 +223,14 @@ public class CameraActivity extends AppCompatActivity implements SurfaceHolder.C
return true;
}
+
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.logout) {
- LogoutDialogFragment newFragment = new LogoutDialogFragment();
- newFragment.show(getFragmentManager(), "logout");
+ mDialog = new LogoutDialogFragment();
+ mDialog.show(getFragmentManager(), "logout");
return true;
} else if (item.getItemId() == R.id.faq) {
Intent intent = new Intent();
@@ -329,7 +333,6 @@ public class CameraActivity extends AppCompatActivity implements SurfaceHolder.C
AutoFocusCallback autoFocusCallback = new AutoFocusCallback() {
public void onAutoFocus(boolean success, Camera camera) {
- Log.d("kifio", String.valueOf(success));
autoFocusHandler.postDelayed(doAutoFocus, 1000);
}
};
@@ -338,7 +341,7 @@ public class CameraActivity extends AppCompatActivity implements SurfaceHolder.C
private CameraActivity mActivity;
private String mCode = "";
- private String mUrl = "http://pos-api-autoclub.dinect.com/20130701/?auto=";
+ private String mUrl = "https://pos-api-int.dinect.com/20130701/?auto=";
private String mCard = "";
private String mToken = "";
@@ -361,7 +364,7 @@ public class CameraActivity extends AppCompatActivity implements SurfaceHolder.C
public void run() {
Request request = new Request.Builder()
- .addHeader("DM-Authorization", "dmapptoken bdea0f3ba9034b688019a7cac753d1209e2b227f")
+ .addHeader("DM-Authorization", "dmapptoken 9fec83cdca38c357e6b65dbb17514cdd36bf2a08")
.addHeader("Authorization", "dmtoken " + mToken)
.url(mUrl)
.build();
@@ -384,28 +387,48 @@ public class CameraActivity extends AppCompatActivity implements SurfaceHolder.C
}
}
+ void dismissDialog() {
+ if (mDialog != null) {
+ mDialog.dismiss();
+ mDialog = null;
+ }
+ }
+
+ void logout() {
+ dismissDialog();
+ Intent intent = new Intent();
+ intent.putExtra("item", "logout");
+ setResult(RESULT_OK, intent);
+ finish();
+ }
+
public static class LogoutDialogFragment extends DialogFragment {
+
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- // Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- builder.setTitle("Подтверждение");
- builder.setMessage("Вы действительно хотите выйти и ввести другой номер магазина?")
- .setPositiveButton("Да", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.dismiss();
- Intent intent = new Intent();
- intent.putExtra("item", "logout");
- getActivity().setResult(RESULT_OK, intent);
- getActivity().finish();
- }
- })
- .setNegativeButton("Нет", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.dismiss();
- }
- });
- // Create the AlertDialog object and return it
+ LayoutInflater inflater = getActivity().getLayoutInflater();
+ View content = inflater.inflate(R.layout.f_logout_dialog, null);
+ builder.setView(content);
+ View positiveButton = content.findViewById(R.id.positiveButton);
+ View negativeButton = content.findViewById(R.id.negativeButton);
+
+ negativeButton.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Log.d("kifio", "Negative click!");
+ ((CameraActivity) getActivity()).dismissDialog();
+ }
+ });
+
+ positiveButton.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Log.d("kifio", "Positive click!");
+ ((CameraActivity) getActivity()).logout();
+ }
+ });
+
return builder.create();
}
}
diff --git a/android/app/src/main/res/layout/f_logout_dialog.xml b/android/app/src/main/res/layout/f_logout_dialog.xml
new file mode 100644
index 0000000..bdf22b9
--- /dev/null
+++ b/android/app/src/main/res/layout/f_logout_dialog.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index 2cb1f1b..2e6899f 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -4,4 +4,8 @@
Сканировать
FAQ
Выход
+ Подтверждение
+ Вы действительно хотите выйти и ввести другой номер магазина?
+ Да
+ Нет
\ No newline at end of file
diff --git a/assets/splash_logo.png b/assets/splash_logo.png
deleted file mode 100644
index a783a0c..0000000
Binary files a/assets/splash_logo.png and /dev/null differ
diff --git a/assets/splash_text.png b/assets/splash_text.png
new file mode 100644
index 0000000..a7b3ff4
Binary files /dev/null and b/assets/splash_text.png differ
diff --git a/lib/base_state.dart b/lib/base_state.dart
index 013d906..b7b9780 100644
--- a/lib/base_state.dart
+++ b/lib/base_state.dart
@@ -11,8 +11,6 @@ abstract class BaseState extends State {
String error = null;
String textFieldValue = '';
- TextEditingController controller = new TextEditingController();
-
@override Widget build(BuildContext context) {
return new Scaffold(appBar: getAppBar(context), body: getBody(context));
}
@@ -108,7 +106,6 @@ abstract class BaseState extends State {
return new TextField(keyboardType: TextInputType.number,
decoration: new InputDecoration.collapsed(hintText: getHint(),
hintStyle: new TextStyle(color: greyTextColor, fontSize: 16.0)),
- controller: controller,
onChanged: (text) => handleUserInput(text));
}
diff --git a/lib/consts.dart b/lib/consts.dart
index 2f42cf7..a63481b 100644
--- a/lib/consts.dart
+++ b/lib/consts.dart
@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
// Serious constants
-const String url = 'http://pos-api-autoclub.dinect.com/20130701/';
-const String appToken = 'bdea0f3ba9034b688019a7cac753d1209e2b227f';
+const String url = 'https://pos-api-int.dinect.com/20130701/';
+const String appToken = '9fec83cdca38c357e6b65dbb17514cdd36bf2a08';
// Hints
const String merchantIDHint = 'ID магазина';
@@ -17,7 +17,7 @@ const String active_token_bg_png = 'assets/active_token_message_background.png';
const String expansion_icon_png = 'assets/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_logo_png = 'assets/splash_logo_png';
+const String splash_text_png = 'assets/splash_text.png';
// Colors
const Color primaryColor = const Color(0xffeb0004);
diff --git a/lib/purchase.dart b/lib/purchase.dart
index 696eeb9..9994e84 100644
--- a/lib/purchase.dart
+++ b/lib/purchase.dart
@@ -66,6 +66,7 @@ class PurchaseScreenState extends BaseState {
/// Смена состояния экрана при изменении текста в поле ввода.
@override handleUserInput(String tmpString) {
setState(() {
+ double.parse(tmpString);
tmpString = tmpString.replaceAll('-', '');
tmpString = tmpString.replaceAll(',', '');
print(tmpString);
@@ -85,6 +86,12 @@ class PurchaseScreenState extends BaseState {
});
}
+ @override getTextWidget() {
+ return new TextField(decoration: new InputDecoration.collapsed(hintText: getHint(),
+ hintStyle: new TextStyle(color: greyTextColor, fontSize: 16.0)),
+ onChanged: (text) => handleUserInput(text));
+ }
+
getLoyality(String url) {
print(url);
diff --git a/lib/splash.dart b/lib/splash.dart
index 9841d82..cb3535b 100644
--- a/lib/splash.dart
+++ b/lib/splash.dart
@@ -18,10 +18,15 @@ class SplashScreen extends StatelessWidget {
showNextScreen(context);
});
- return new Stack(children: [getBackgroundContainer(),
+ return new Stack(children: [getBackgroundContainer(), getLogo(),
new Align(alignment: FractionalOffset.bottomRight, child:
- new Container(margin: new EdgeInsets.only(right: 11.0, bottom: 5.0), child: new Image.asset(powered_by_dinect_splash_png, height: 16.0, width: 122.0))),
- new Center(child: new Image.asset(splash_logo_png, height: 198.0, width: 252.0))]);
+ new Container(margin: new EdgeInsets.only(right: 11.0, bottom: 5.0), child: new Image.asset(powered_by_dinect_splash_png, height: 16.0, width: 122.0)))]);
+ }
+
+ getLogo() {
+ return new Center(child: new Column(mainAxisSize: MainAxisSize.min,
+ children: [new Image.asset(logo_png, height: 112.0, width: 252.0),
+ new Image.asset(splash_text_png, height: 40.0, width: 240.0)]));
}
getBackgroundContainer() {
diff --git a/pubspec.yaml b/pubspec.yaml
index 2a5b46c..3adbe6a 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -28,7 +28,8 @@ flutter:
- assets/expansion_icon.png
- assets/powered_by_dinect_splash.png
- assets/powered_by_dinect.png
- - assets/splash_logo.png
+ - assets/registration_logo.png
+ - assets/splash_text.png
# To add assets from package dependencies, first ensure the asset
# is in the lib/ directory of the dependency. Then,