Упрощена работа с локалью, базовый url и токен приложения вынесены в build.gradle, добавлен конфиг для разработки и тестирования, исправлена проблема с переходом на экран сканера если локаль не выбиралась в настройках

This commit is contained in:
kifio
2017-09-23 23:19:32 +03:00
parent 808d5a39e5
commit 40fed84275
15 changed files with 277 additions and 255 deletions

View File

@@ -4,50 +4,37 @@ import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.dinect.checker.net.ApiClient;
import com.dinect.checker.zbar.CameraActivity;
import com.dinect.checker.zxing.ScannerActivity;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import io.flutter.app.FlutterActivity;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugins.GeneratedPluginRegistrant;
import java.util.*;
public class MainActivity extends FlutterActivity {
static final String TAG = "Checker.MainActivity";
private static final int START_SCANNER_REQUEST_CODE = 2017;
private static final String FLUTTER_CHANNEL_NAME = "com.dinect.checker/instance_id";
public static final String PREF_API_URL = "prefs_api_token";
public static final String PREF_APP_TOKEN = "pres_app_token";
public static final String PREF_POS_TOKEN = "pref_pos_token";
static final String PREF_API_URL = "prefs_api_token";
static final String PREF_APP_TOKEN = "pres_app_token";
static final String PREF_POS_TOKEN = "pref_pos_token";
static final String PREF_APP_BAR_COLOR = "pref_app_bar_color";
static final String SCANNER_BACKEND_KEY = "scanner_backend_idx";
public static final int ZXING = 0;
public static final int ZBAR = 1;
static final int ZXING = 0;
static final int ZBAR = 1;
static final Class[] SCANNER_BACKEND = {
ScannerActivity.class,
CameraActivity.class,
};
static final String SCANNER_BACKEND_KEY = "scanner_backend_idx";
private MethodChannel mChannel;
private Map mScannerArgs;
@@ -55,9 +42,9 @@ public class MainActivity extends FlutterActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
mChannel = new MethodChannel(getFlutterView(), "com.dinect.checker/instance_id");
mChannel = new MethodChannel(getFlutterView(), FLUTTER_CHANNEL_NAME);
mChannel.setMethodCallHandler(
new MethodCallHandler() {
new MethodChannel.MethodCallHandler() {
@Override
public void onMethodCall(MethodCall call, Result result) {
callMethod(call, result);
@@ -89,6 +76,12 @@ public class MainActivity extends FlutterActivity {
case "getSupportUrl":
result.success(BuildConfig.supportUrl);
break;
case "getEndpoint":
result.success(BuildConfig.endpoint);
break;
case "getAppToken":
result.success(BuildConfig.appToken);
break;
default:
result.notImplemented();
break;
@@ -112,6 +105,7 @@ public class MainActivity extends FlutterActivity {
}
private void setLocale(String locale) {
locale = locale != null ? locale : getLanguage();
Resources res = getResources();
Configuration configuration = new Configuration(res.getConfiguration());
configuration.locale = new Locale(locale);
@@ -146,7 +140,6 @@ public class MainActivity extends FlutterActivity {
mChannel.invokeMethod("purchase", args);
} else {
String menuItem = data.getExtras().getString("item", null);
Log.d(TAG, menuItem);
if (menuItem != null) {
mChannel.invokeMethod(menuItem, null);
}
@@ -190,4 +183,11 @@ public class MainActivity extends FlutterActivity {
}
public void getEndpoint() {
}
public void getAppToken() {
}
}