Android camera fixes, purchase screen fixes
This commit is contained in:
@@ -12,6 +12,7 @@ if (flutterRoot == null) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
apply plugin: 'kotlin-android'
|
||||||
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
||||||
|
|
||||||
android {
|
android {
|
||||||
@@ -24,7 +25,7 @@ android {
|
|||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
targetSdkVersion 27
|
targetSdkVersion 27
|
||||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
minSdkVersion 16
|
||||||
applicationId "com.dinect.checker"
|
applicationId "com.dinect.checker"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,13 +36,13 @@ android {
|
|||||||
}
|
}
|
||||||
release {
|
release {
|
||||||
signingConfig signingConfigs.debug
|
signingConfig signingConfigs.debug
|
||||||
|
minifyEnabled false
|
||||||
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
flavorDimensions "checker"
|
flavorDimensions "checker"
|
||||||
|
|
||||||
// Не смог разобраться, как коомбинировать flavors в flutter при запуске
|
|
||||||
|
|
||||||
productFlavors {
|
productFlavors {
|
||||||
|
|
||||||
dinect {
|
dinect {
|
||||||
@@ -174,16 +175,9 @@ android {
|
|||||||
buildConfigField "boolean", "showBonus", "true"
|
buildConfigField "boolean", "showBonus", "true"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
compileOptions {
|
||||||
sourceSets {
|
targetCompatibility 1.8
|
||||||
|
sourceCompatibility 1.8
|
||||||
main.jniLibs.srcDir 'jniLibs'
|
|
||||||
|
|
||||||
pip {
|
|
||||||
res.srcDirs = ['src/pip/res']
|
|
||||||
manifest.srcFile 'src/pip/AndroidManifest.xml'
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -192,9 +186,17 @@ flutter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile fileTree(include: ['*.jar'], dir: 'libs')
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||||
compile 'com.android.support:appcompat-v7:27.1.0'
|
implementation 'com.android.support:appcompat-v7:27.1.1'
|
||||||
compile 'com.squareup.okhttp3:okhttp:3.8.1'
|
implementation 'com.android.support:recyclerview-v7:27.1.1'
|
||||||
compile 'com.squareup.okio:okio:1.13.0'
|
implementation 'com.android.support:support-v4:27.1.1'
|
||||||
compile 'me.dm7.barcodescanner:zxing:1.9.8'
|
implementation 'com.android.support:support-media-compat:27.1.1'
|
||||||
|
implementation 'com.squareup.okhttp3:okhttp:3.9.0'
|
||||||
|
implementation 'com.squareup.okio:okio:1.13.0'
|
||||||
|
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
|
||||||
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,10 +4,6 @@
|
|||||||
android:versionCode="13"
|
android:versionCode="13"
|
||||||
android:versionName="1.1.18">
|
android:versionName="1.1.18">
|
||||||
|
|
||||||
<uses-sdk
|
|
||||||
android:minSdkVersion="16"
|
|
||||||
android:targetSdkVersion="21"/>
|
|
||||||
|
|
||||||
<!-- The INTERNET permission is required for development. Specifically,
|
<!-- The INTERNET permission is required for development. Specifically,
|
||||||
flutter needs it to communicate with the running application
|
flutter needs it to communicate with the running application
|
||||||
to allow setting breakpoints, to provide hot reload, etc.
|
to allow setting breakpoints, to provide hot reload, etc.
|
||||||
@@ -31,7 +27,7 @@
|
|||||||
android:hardwareAccelerated="true"
|
android:hardwareAccelerated="true"
|
||||||
android:launchMode="singleTop"
|
android:launchMode="singleTop"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:theme="@android:style/Theme.Light.NoTitleBar"
|
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
|
||||||
android:windowSoftInputMode="adjustResize">
|
android:windowSoftInputMode="adjustResize">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
@@ -39,14 +35,10 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity
|
|
||||||
android:name=".zbar.CameraActivity"
|
|
||||||
android:screenOrientation="portrait"
|
|
||||||
android:theme="@style/AppTheme"/>
|
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".zxing.ScannerActivity"
|
android:name=".ScannerActivity"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:theme="@style/AppTheme"/>
|
android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
|
||||||
</application>
|
</application>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|||||||
@@ -1,48 +1,41 @@
|
|||||||
package com.dinect.checker;
|
package com.dinect.checker;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageInfo;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
import android.net.ConnectivityManager;
|
||||||
|
import android.net.NetworkInfo;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.v4.app.ActivityCompat;
|
||||||
|
import android.support.v4.content.ContextCompat;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
import android.util.Log;
|
|
||||||
import com.dinect.checker.zbar.CameraActivity;
|
import java.util.ArrayList;
|
||||||
import com.dinect.checker.zxing.ScannerActivity;
|
import java.util.Arrays;
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import io.flutter.app.FlutterActivity;
|
import io.flutter.app.FlutterActivity;
|
||||||
import io.flutter.plugin.common.MethodCall;
|
import io.flutter.plugin.common.MethodCall;
|
||||||
import io.flutter.plugin.common.MethodChannel;
|
import io.flutter.plugin.common.MethodChannel;
|
||||||
import io.flutter.plugin.common.MethodChannel.Result;
|
import io.flutter.plugin.common.MethodChannel.Result;
|
||||||
import io.flutter.plugins.GeneratedPluginRegistrant;
|
import io.flutter.plugins.GeneratedPluginRegistrant;
|
||||||
import android.support.v4.app.Fragment;
|
|
||||||
import android.Manifest;
|
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.support.v4.content.ContextCompat;
|
|
||||||
import android.support.v4.app.ActivityCompat;
|
|
||||||
import android.content.pm.PackageInfo;
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
public class MainActivity extends FlutterActivity {
|
public class MainActivity extends FlutterActivity {
|
||||||
|
|
||||||
private static final int START_SCANNER_REQUEST_CODE = 2017;
|
private static final int START_SCANNER_REQUEST_CODE = 2017;
|
||||||
private static final String FLUTTER_CHANNEL_NAME = "com.dinect.checker/instance_id";
|
private static final String FLUTTER_CHANNEL_NAME = "com.dinect.checker/instance_id";
|
||||||
|
private static final String ERROR_MESSAGE = "message";
|
||||||
|
|
||||||
static final String PREF_API_URL = "url";
|
static final String PREF_API_URL = "url";
|
||||||
static final String PREF_APP_TOKEN = "appToken";
|
static final String PREF_APP_TOKEN = "appToken";
|
||||||
static final String PREF_POS_TOKEN = "token";
|
static final String PREF_POS_TOKEN = "token";
|
||||||
static final String PREF_APP_BAR_COLOR = "color";
|
static final String PREF_APP_BAR_COLOR = "color";
|
||||||
|
|
||||||
static final String SCANNER_BACKEND_KEY = "scanner_backend_idx";
|
|
||||||
|
|
||||||
static final int ZXING = 0;
|
|
||||||
static final int ZBAR = 1;
|
|
||||||
|
|
||||||
static final Class[] SCANNER_BACKEND = {
|
|
||||||
ScannerActivity.class,
|
|
||||||
CameraActivity.class,
|
|
||||||
};
|
|
||||||
|
|
||||||
private MethodChannel mChannel;
|
private MethodChannel mChannel;
|
||||||
private Map mScannerArgs;
|
private Map mScannerArgs;
|
||||||
|
|
||||||
@@ -51,13 +44,7 @@ public class MainActivity extends FlutterActivity {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
GeneratedPluginRegistrant.registerWith(this);
|
GeneratedPluginRegistrant.registerWith(this);
|
||||||
mChannel = new MethodChannel(getFlutterView(), FLUTTER_CHANNEL_NAME);
|
mChannel = new MethodChannel(getFlutterView(), FLUTTER_CHANNEL_NAME);
|
||||||
mChannel.setMethodCallHandler(
|
mChannel.setMethodCallHandler(this::callMethod);
|
||||||
new MethodChannel.MethodCallHandler() {
|
|
||||||
@Override
|
|
||||||
public void onMethodCall(MethodCall call, Result result) {
|
|
||||||
callMethod(call, result);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void callMethod(MethodCall call, Result result) {
|
private void callMethod(MethodCall call, Result result) {
|
||||||
@@ -72,8 +59,7 @@ public class MainActivity extends FlutterActivity {
|
|||||||
result.success(BuildConfig.currency);
|
result.success(BuildConfig.currency);
|
||||||
break;
|
break;
|
||||||
case "startScanner":
|
case "startScanner":
|
||||||
mScannerArgs = call.arguments();
|
startScannerActivity(call);
|
||||||
startScannerActivity();
|
|
||||||
break;
|
break;
|
||||||
case "isOnline":
|
case "isOnline":
|
||||||
checkInternetConnection(result);
|
checkInternetConnection(result);
|
||||||
@@ -97,7 +83,6 @@ public class MainActivity extends FlutterActivity {
|
|||||||
result.success(BuildConfig.showBonus);
|
result.success(BuildConfig.showBonus);
|
||||||
break;
|
break;
|
||||||
case "finish":
|
case "finish":
|
||||||
Log.d("kifio", call.method);
|
|
||||||
finish();
|
finish();
|
||||||
break;
|
break;
|
||||||
case "getVersionName":
|
case "getVersionName":
|
||||||
@@ -120,8 +105,7 @@ public class MainActivity extends FlutterActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String getLanguage() {
|
private String getLanguage() {
|
||||||
List<String> availableLanguages = Arrays.asList("ru", "en");
|
if (Arrays.asList("ru", "en").contains(Locale.getDefault().getLanguage())) {
|
||||||
if (availableLanguages.contains(Locale.getDefault().getLanguage())) {
|
|
||||||
return Locale.getDefault().getLanguage();
|
return Locale.getDefault().getLanguage();
|
||||||
} else {
|
} else {
|
||||||
return BuildConfig.locale;
|
return BuildConfig.locale;
|
||||||
@@ -129,9 +113,10 @@ public class MainActivity extends FlutterActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void checkInternetConnection(Result result) {
|
private void checkInternetConnection(Result result) {
|
||||||
boolean connected = Utils.isOnline(this);
|
boolean connected = isOnline(this);
|
||||||
if (!connected)
|
if (!connected) {
|
||||||
Toast.makeText(this, "Проверьте интернет соединение", Toast.LENGTH_SHORT).show();
|
Toast.makeText(this, "Проверьте интернет соединение", Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
result.success(connected);
|
result.success(connected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -144,17 +129,27 @@ public class MainActivity extends FlutterActivity {
|
|||||||
res.updateConfiguration(configuration, res.getDisplayMetrics());
|
res.updateConfiguration(configuration, res.getDisplayMetrics());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void startScannerActivity(MethodCall call) {
|
||||||
|
mScannerArgs = call.arguments();
|
||||||
|
startScannerActivity();
|
||||||
|
}
|
||||||
|
|
||||||
private void startScannerActivity() {
|
private void startScannerActivity() {
|
||||||
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
|
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
|
||||||
ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.CAMERA}, 101);
|
!= PackageManager.PERMISSION_GRANTED) {
|
||||||
|
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 101);
|
||||||
} else {
|
} else {
|
||||||
final int idx = getSharedPreferences("scanner", Context.MODE_PRIVATE).getInt(
|
openScanner();
|
||||||
SCANNER_BACKEND_KEY, 0);
|
}
|
||||||
Intent cameraIntent = new Intent(MainActivity.this, SCANNER_BACKEND[idx]);
|
}
|
||||||
|
|
||||||
|
private void openScanner() {
|
||||||
|
Intent cameraIntent = new Intent(MainActivity.this, ScannerActivity.class);
|
||||||
|
|
||||||
for (Object key : mScannerArgs.keySet()) {
|
for (Object key : mScannerArgs.keySet()) {
|
||||||
if (key.equals("color")) {
|
if (key.equals("color")) {
|
||||||
cameraIntent.putExtra((String) key, Long.parseLong((String) mScannerArgs.get(key)));
|
cameraIntent.putExtra((String) key,
|
||||||
|
Long.parseLong((String) mScannerArgs.get(key)));
|
||||||
} else {
|
} else {
|
||||||
cameraIntent.putExtra((String) key, (String) mScannerArgs.get(key));
|
cameraIntent.putExtra((String) key, (String) mScannerArgs.get(key));
|
||||||
}
|
}
|
||||||
@@ -163,17 +158,11 @@ public class MainActivity extends FlutterActivity {
|
|||||||
setLocale((String) mScannerArgs.get("localeCode"));
|
setLocale((String) mScannerArgs.get("localeCode"));
|
||||||
startActivityForResult(cameraIntent, START_SCANNER_REQUEST_CODE);
|
startActivityForResult(cameraIntent, START_SCANNER_REQUEST_CODE);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRequestPermissionsResult(int requestCode,
|
public void onRequestPermissionsResult(int requestCode,
|
||||||
String permissions[], int[] grantResults) {
|
String permissions[], int[] grantResults) {
|
||||||
if (requestCode == 101) {
|
openScanner();
|
||||||
if (grantResults.length > 0
|
|
||||||
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
|
||||||
startScannerActivity();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -182,7 +171,7 @@ public class MainActivity extends FlutterActivity {
|
|||||||
if (resultCode == RESULT_CANCELED) {
|
if (resultCode == RESULT_CANCELED) {
|
||||||
finish();
|
finish();
|
||||||
} else if (resultCode == RESULT_OK) {
|
} else if (resultCode == RESULT_OK) {
|
||||||
if (data != null) {
|
if (data != null && data.getExtras() != null) {
|
||||||
String user = data.getExtras().getString("user", null);
|
String user = data.getExtras().getString("user", null);
|
||||||
if (user != null) {
|
if (user != null) {
|
||||||
String card = data.getExtras().getString("card", null);
|
String card = data.getExtras().getString("card", null);
|
||||||
@@ -207,51 +196,12 @@ public class MainActivity extends FlutterActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getFlavor() {
|
private static boolean isOnline(Context context) {
|
||||||
|
NetworkInfo netInfo = getConnectivityManager(context).getActiveNetworkInfo();
|
||||||
|
return netInfo != null && netInfo.isConnected();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getCurrency() {
|
private static ConnectivityManager getConnectivityManager(Context context) {
|
||||||
|
return (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||||
}
|
|
||||||
|
|
||||||
public void getLocale() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUserLocale() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void startScanner() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void isOnline() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getSupportPhone() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getSupportUrl() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getEndpoint() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getAppToken() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void getVersionName() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStrings() {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,383 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2017 .
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.dinect.checker;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.provider.Settings;
|
||||||
|
import android.support.annotation.NonNull;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v4.content.ContextCompat;
|
||||||
|
import android.support.v7.app.ActionBar;
|
||||||
|
import android.support.v7.app.AppCompatActivity;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.google.zxing.Result;
|
||||||
|
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONException;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import me.dm7.barcodescanner.zxing.ZXingScannerView;
|
||||||
|
import okhttp3.Call;
|
||||||
|
import okhttp3.Callback;
|
||||||
|
import okhttp3.Headers;
|
||||||
|
import okhttp3.HttpUrl;
|
||||||
|
import okhttp3.Interceptor;
|
||||||
|
import okhttp3.OkHttpClient;
|
||||||
|
import okhttp3.Request;
|
||||||
|
import okhttp3.Response;
|
||||||
|
import okhttp3.ResponseBody;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by anonymous
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class ScannerActivity extends AppCompatActivity implements
|
||||||
|
View.OnClickListener, ZXingScannerView.ResultHandler {
|
||||||
|
|
||||||
|
private final static String TAG = "Checker.ScannerActivity";
|
||||||
|
|
||||||
|
private static final int SCAN_INTERVAL_PERIOD = 500;
|
||||||
|
|
||||||
|
enum SearchType {
|
||||||
|
CARD,
|
||||||
|
PHONE_NUMBER
|
||||||
|
}
|
||||||
|
|
||||||
|
private ApiClient mClient;
|
||||||
|
private ImageView mButton;
|
||||||
|
private EditText mInputField;
|
||||||
|
private SearchType mSearchType;
|
||||||
|
private ZXingScannerView scannerView;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.a_zxing);
|
||||||
|
final String appToken = getIntent().getStringExtra(MainActivity.PREF_APP_TOKEN);
|
||||||
|
final String token = getIntent().getStringExtra(MainActivity.PREF_POS_TOKEN);
|
||||||
|
final String url = getIntent().getStringExtra(MainActivity.PREF_API_URL) + "/users/";
|
||||||
|
mClient = new ApiClient(url, appToken, token);
|
||||||
|
initToolbar(getIntent());
|
||||||
|
scannerView = new ZXingScannerView(this);
|
||||||
|
ViewGroup instructions = findViewById(R.id.instructions);
|
||||||
|
TextView text = (TextView) instructions.getChildAt(0);
|
||||||
|
text.setText(getIntent().getStringExtra("camera_instructions").replace("%s", BuildConfig.appTitle));
|
||||||
|
Button button = (Button) instructions.getChildAt(1);
|
||||||
|
button.setText(getIntent().getStringExtra("open_settings"));
|
||||||
|
button.setOnClickListener((v) ->
|
||||||
|
startActivityForResult(new Intent(Settings.ACTION_SETTINGS), 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
ViewGroup root = findViewById(R.id.zxingRoot);
|
||||||
|
int count = root.getChildCount();
|
||||||
|
if (root.getChildAt(count - 1).equals(scannerView)) {
|
||||||
|
scannerView.setResultHandler(this);
|
||||||
|
scannerView.startCamera();
|
||||||
|
} else if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA)
|
||||||
|
== PackageManager.PERMISSION_GRANTED) {
|
||||||
|
View instructions = findViewById(R.id.instructions);
|
||||||
|
if (instructions != null) {
|
||||||
|
root.removeView(instructions);
|
||||||
|
}
|
||||||
|
root.addView(scannerView);
|
||||||
|
scannerView.setResultHandler(this);
|
||||||
|
scannerView.startCamera();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPause() {
|
||||||
|
super.onPause();
|
||||||
|
scannerView.stopCamera();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
setResult(RESULT_CANCELED);
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handleResult(Result raw) {
|
||||||
|
handleBarcode(raw.getText());
|
||||||
|
scannerView.postDelayed(() -> scannerView.resumeCameraPreview(ScannerActivity.this), SCAN_INTERVAL_PERIOD);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected final void initToolbar(Intent intent) {
|
||||||
|
|
||||||
|
final Toolbar toolbar = findViewById(R.id.toolbar);
|
||||||
|
toolbar.setBackgroundColor((int) intent.getLongExtra(MainActivity.PREF_APP_BAR_COLOR, 0xffffff));
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
|
final ActionBar actionBar = getSupportActionBar();
|
||||||
|
|
||||||
|
if (actionBar != null) {
|
||||||
|
actionBar.setTitle(null);
|
||||||
|
actionBar.setDisplayHomeAsUpEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
initManualInput();
|
||||||
|
initSwitchButton();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initSwitchButton() {
|
||||||
|
mButton = findViewById(R.id.cardPhoneButton);
|
||||||
|
mButton.setOnClickListener(this);
|
||||||
|
resetSearchType(SearchType.CARD, R.drawable.ic_card, "enter_manual");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void resetSearchType(SearchType type, int iconId, String hintKey) {
|
||||||
|
mSearchType = type;
|
||||||
|
mButton.setBackgroundResource(iconId);
|
||||||
|
mInputField.setHint(getIntent().getStringExtra(hintKey));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
if (mSearchType == SearchType.CARD) {
|
||||||
|
resetSearchType(SearchType.PHONE_NUMBER, R.drawable.ic_phone, "enter_phone");
|
||||||
|
} else {
|
||||||
|
resetSearchType(SearchType.CARD, R.drawable.ic_card, "enter_manual");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initManualInput() {
|
||||||
|
mInputField = findViewById(R.id.manual_input);
|
||||||
|
mInputField.setOnEditorActionListener((v, actionId, event) -> {
|
||||||
|
handleBarcode(v.getText().toString());
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (BuildConfig.DEBUG) {
|
||||||
|
if ("autobonus".equals(BuildConfig.FLAVOR)) {
|
||||||
|
mInputField.setText("9990010009012057060904229");
|
||||||
|
} else if ("dinect_INT".equals(BuildConfig.FLAVOR)) {
|
||||||
|
mInputField.setText("4620011139016337050236302");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void handleBarcode(final @NonNull String searchString) {
|
||||||
|
mClient.findUser(searchString, mSearchType, new Callback() {
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call call, IOException e) {
|
||||||
|
handleFail(searchString);
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call call, Response response) {
|
||||||
|
try {
|
||||||
|
ResponseBody body = response.body();
|
||||||
|
if (body != null) {
|
||||||
|
switch (response.code()) {
|
||||||
|
case 200:
|
||||||
|
final JSONArray users = new JSONArray(body.string());
|
||||||
|
if (users.length() > 0) {
|
||||||
|
handleSuccess(searchString, users.get(0).toString());
|
||||||
|
} else {
|
||||||
|
handleFail(searchString);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 204:
|
||||||
|
handleFail(searchString);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (final IOException | JSONException e) {
|
||||||
|
Log.e(TAG, e.getMessage(), e);
|
||||||
|
handleFail(searchString);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
protected final void handleSuccess(final String card, final String user) {
|
||||||
|
runOnUiThread(() -> {
|
||||||
|
setResult(RESULT_OK, new Intent().putExtra("user", user).putExtra("card", card));
|
||||||
|
finish();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
protected final void handleFail(final String searchString) {
|
||||||
|
runOnUiThread(() -> {
|
||||||
|
String message = String.format(getIntent().getStringExtra("identifier_not_found"), searchString)
|
||||||
|
+ ".\n"
|
||||||
|
+ String.format(getIntent().getStringExtra("error_contact_support"), BuildConfig.supportPhone);
|
||||||
|
Toast.makeText(ScannerActivity.this, message, Toast.LENGTH_SHORT).show();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
getMenuInflater().inflate(R.menu.menu, menu);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||||
|
|
||||||
|
MenuItem settings = menu.findItem(R.id.settings);
|
||||||
|
settings.setIcon(getResources().getDrawable(R.drawable.settings));
|
||||||
|
settings.setTitle(getIntent().getStringExtra("settings"));
|
||||||
|
|
||||||
|
MenuItem faq = menu.findItem(R.id.faq);
|
||||||
|
faq.setIcon(getResources().getDrawable(R.drawable.help));
|
||||||
|
faq.setTitle(getIntent().getStringExtra("faq"));
|
||||||
|
|
||||||
|
MenuItem exit = menu.findItem(R.id.exit);
|
||||||
|
exit.setIcon(getResources().getDrawable(R.drawable.exit));
|
||||||
|
exit.setTitle(getIntent().getStringExtra("exit"));
|
||||||
|
|
||||||
|
return super.onPrepareOptionsMenu(menu);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
if (item.getItemId() == R.id.settings) {
|
||||||
|
final Intent intent = new Intent();
|
||||||
|
intent.putExtra("item", "settings");
|
||||||
|
setResult(RESULT_OK, intent);
|
||||||
|
finish();
|
||||||
|
return true;
|
||||||
|
} else if (item.getItemId() == R.id.exit) {
|
||||||
|
exit();
|
||||||
|
return true;
|
||||||
|
} else if (item.getItemId() == R.id.faq) {
|
||||||
|
final Intent intent = new Intent();
|
||||||
|
intent.putExtra("item", "faq");
|
||||||
|
setResult(RESULT_OK, intent);
|
||||||
|
finish();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
void exit() {
|
||||||
|
final Intent intent = new Intent();
|
||||||
|
intent.putExtra("item", "exit");
|
||||||
|
setResult(RESULT_OK, intent);
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class ApiClient {
|
||||||
|
|
||||||
|
private static final int TIMEOUT = 3;
|
||||||
|
|
||||||
|
private OkHttpClient mHttp;
|
||||||
|
private String mEndpoint;
|
||||||
|
|
||||||
|
private ApiClient(final String url, final @NonNull String appToken, final @NonNull String token) {
|
||||||
|
mEndpoint = url;
|
||||||
|
mHttp = new OkHttpClient().
|
||||||
|
newBuilder()
|
||||||
|
.connectTimeout(TIMEOUT, TimeUnit.SECONDS)
|
||||||
|
.readTimeout(TIMEOUT, TimeUnit.SECONDS)
|
||||||
|
.writeTimeout(TIMEOUT, TimeUnit.SECONDS)
|
||||||
|
.addInterceptor(new DinectAuthorizationInterceptor(appToken, token, "checker/0.1", true))
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void findUser(String searchString, ScannerActivity.SearchType searchType, Callback callback) {
|
||||||
|
final Request.Builder requestBuilder = new Request.Builder();
|
||||||
|
final HttpUrl url = HttpUrl.parse(mEndpoint);
|
||||||
|
if (url != null) {
|
||||||
|
HttpUrl.Builder httpBuilder = url.newBuilder();
|
||||||
|
switch (searchType) {
|
||||||
|
case CARD:
|
||||||
|
httpBuilder.addQueryParameter("auto", searchString);
|
||||||
|
break;
|
||||||
|
case PHONE_NUMBER:
|
||||||
|
httpBuilder.addQueryParameter("phone", searchString);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
mHttp.newCall(requestBuilder.url(httpBuilder.build()).build()).enqueue(callback);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class DinectAuthorizationInterceptor implements Interceptor {
|
||||||
|
|
||||||
|
private final String token;
|
||||||
|
private final String appToken;
|
||||||
|
|
||||||
|
private final String dmAuthorization;
|
||||||
|
private final String authorization;
|
||||||
|
private final String userAgent;
|
||||||
|
private final boolean useAuthHeader;
|
||||||
|
|
||||||
|
DinectAuthorizationInterceptor(final String appToken, final String token, final String clientInfo, final boolean useAuthHeader) {
|
||||||
|
this.appToken = appToken;
|
||||||
|
this.token = token;
|
||||||
|
this.useAuthHeader = useAuthHeader;
|
||||||
|
userAgent = clientInfo;
|
||||||
|
dmAuthorization = "dmapptoken " + appToken;
|
||||||
|
authorization = "dmtoken " + token;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Response intercept(Interceptor.Chain chain) throws IOException {
|
||||||
|
|
||||||
|
final Request originalRequest = chain.request();
|
||||||
|
final HttpUrl originalUrl = originalRequest.url();
|
||||||
|
final Request.Builder requestBuilder = originalRequest.newBuilder();
|
||||||
|
|
||||||
|
HttpUrl url = originalUrl;
|
||||||
|
Headers headers;
|
||||||
|
|
||||||
|
headers = originalRequest.headers();
|
||||||
|
final Headers.Builder headersBuilder = headers.newBuilder();
|
||||||
|
|
||||||
|
headersBuilder.set("User-Agent", userAgent);
|
||||||
|
|
||||||
|
if (useAuthHeader) {
|
||||||
|
headersBuilder.set("DM-Authorization", dmAuthorization);
|
||||||
|
if (null != token) {
|
||||||
|
headersBuilder.set("Authorization", authorization);
|
||||||
|
}
|
||||||
|
headers = headersBuilder.build();
|
||||||
|
} else {
|
||||||
|
final HttpUrl.Builder urlBuilder = originalRequest.url().newBuilder();
|
||||||
|
urlBuilder.addQueryParameter("_dmapptoken", appToken);
|
||||||
|
urlBuilder.addQueryParameter("user_agent", userAgent);
|
||||||
|
if (null != token) {
|
||||||
|
urlBuilder.addQueryParameter("_dmtoken", token);
|
||||||
|
}
|
||||||
|
url = urlBuilder.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
final Request request = requestBuilder.url(url).headers(headers).build();
|
||||||
|
return chain.proceed(request);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,18 +1,36 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:id="@+id/zxingRoot"
|
android:id="@+id/zxingRoot"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical"
|
||||||
android:background="@android:color/white">
|
android:background="@android:color/white">
|
||||||
|
|
||||||
<include layout="@layout/v_custom_toolbar" />
|
<include layout="@layout/v_custom_toolbar" />
|
||||||
|
|
||||||
<View
|
<LinearLayout
|
||||||
android:id="@+id/zxingToolbarShadow"
|
android:id="@+id/instructions"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="4dp"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="?attr/actionBarSize"
|
android:gravity="center"
|
||||||
android:background="@drawable/shadow_bottom" />
|
android:layout_marginTop="72dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
</FrameLayout>
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:paddingLeft="16dp"
|
||||||
|
android:paddingRight="16dp"
|
||||||
|
android:text="Для корректной работы приложения необходимо открыть Настройки, найти пункт Приложения, выбрать Autobonus, нажать на кнопку Разрешения, поставить галочку напротив слова Камера" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/openSettings"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="48dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:text="Открыть настройки" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|||||||
@@ -1,20 +1,19 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<android.support.v7.widget.Toolbar
|
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
android:orientation="vertical"
|
|
||||||
android:minHeight="?attr/actionBarSize"
|
android:minHeight="?attr/actionBarSize"
|
||||||
|
android:orientation="vertical"
|
||||||
app:titleTextColor="@android:color/white">
|
app:titleTextColor="@android:color/white">
|
||||||
|
|
||||||
<com.dinect.checker.StatedImageButton
|
<ImageView
|
||||||
android:id="@+id/cardPhoneButton"
|
android:id="@+id/cardPhoneButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_marginRight="12dp"
|
android:layout_height="wrap_content"
|
||||||
android:layout_height="wrap_content" />
|
android:layout_marginRight="12dp" />
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/manual_input"
|
android:id="@+id/manual_input"
|
||||||
@@ -26,4 +25,10 @@
|
|||||||
android:textColor="@android:color/white"
|
android:textColor="@android:color/white"
|
||||||
android:textColorHint="@android:color/white" />
|
android:textColorHint="@android:color/white" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="4dp"
|
||||||
|
android:layout_marginTop="?attr/actionBarSize"
|
||||||
|
android:background="@drawable/shadow_bottom" />
|
||||||
|
|
||||||
</android.support.v7.widget.Toolbar>
|
</android.support.v7.widget.Toolbar>
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
buildscript {
|
buildscript {
|
||||||
|
ext.kotlin_version = '1.2.40'
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
jcenter()
|
||||||
google()
|
google()
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.0.1'
|
classpath 'com.android.tools.build:gradle:3.1.1'
|
||||||
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -13,9 +15,6 @@ allprojects {
|
|||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
jcenter()
|
||||||
google()
|
google()
|
||||||
maven {
|
|
||||||
url "https://maven.google.com"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -120,4 +120,13 @@ To improve barcode scanning quality, adjust the distance between the camera and
|
|||||||
<string name="joys_minus">Joys was charged</string>
|
<string name="joys_minus">Joys was charged</string>
|
||||||
<string name="joys_hint">Joys to charge</string>
|
<string name="joys_hint">Joys to charge</string>
|
||||||
<string name="phone">Phone</string>
|
<string name="phone">Phone</string>
|
||||||
|
<string name="camera_instructions">
|
||||||
|
Open settings.
|
||||||
|
Find Applications.
|
||||||
|
In app list select %s.
|
||||||
|
On application page select Permissions.
|
||||||
|
Set on switch on Camera
|
||||||
|
Go back to %s.
|
||||||
|
</string>
|
||||||
|
<string name="open_settings">Open settings</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -116,4 +116,13 @@ Hay que poner el dibujo del codigo de tarjeta en cámara del escanear totalmente
|
|||||||
<string name="joys_minus">Joys fueron insumido</string>
|
<string name="joys_minus">Joys fueron insumido</string>
|
||||||
<string name="joys_hint">¿Cuántas Joys hay que insumir?</string>
|
<string name="joys_hint">¿Cuántas Joys hay que insumir?</string>
|
||||||
<string name="phone">Número de teléfono</string>
|
<string name="phone">Número de teléfono</string>
|
||||||
|
<string name="camera_instructions">
|
||||||
|
Abre las configuraciones
|
||||||
|
Encuentra las aplicaciones
|
||||||
|
En la lista de app elige %s
|
||||||
|
En la pagina de aplicación elige Permisos
|
||||||
|
Pon check box por la cámara
|
||||||
|
Vuelve a %s
|
||||||
|
</string>
|
||||||
|
<string name="open_settings">Abre las configuraciones</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -119,4 +119,13 @@
|
|||||||
<string name="joys_minus">Joys было списано</string>
|
<string name="joys_minus">Joys было списано</string>
|
||||||
<string name="joys_hint">Joys списать</string>
|
<string name="joys_hint">Joys списать</string>
|
||||||
<string name="phone">Телефон</string>
|
<string name="phone">Телефон</string>
|
||||||
|
<string name="camera_instructions">
|
||||||
|
Откройте Настройки.
|
||||||
|
Найдите пункт Приложения.
|
||||||
|
В появившемся списке выберите %s.
|
||||||
|
На открывшейся странице выберите Разрешения.
|
||||||
|
Включите камеру
|
||||||
|
Вернитесь к приложению %s.
|
||||||
|
</string>
|
||||||
|
<string name="open_settings">Открыть настройки</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -121,4 +121,13 @@
|
|||||||
<string name="joys_minus">Joys списано</string>
|
<string name="joys_minus">Joys списано</string>
|
||||||
<string name="joys_hint">Скільки Joys списати?</string>
|
<string name="joys_hint">Скільки Joys списати?</string>
|
||||||
<string name="phone">Телефон</string>
|
<string name="phone">Телефон</string>
|
||||||
|
<string name="camera_instructions">
|
||||||
|
Відкрийте Налаштування.
|
||||||
|
Знайдіть пункт Програми.
|
||||||
|
У списку виберіть %s.
|
||||||
|
На сторінці, виберіть рядок Дозволи.
|
||||||
|
Увімкнути камеру
|
||||||
|
Поверніться до додатка %s.
|
||||||
|
</string>
|
||||||
|
<string name="open_settings">Відкрити параметри</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
10
ios/Podfile
10
ios/Podfile
@@ -8,6 +8,8 @@ end
|
|||||||
|
|
||||||
target ‘Runner’ do
|
target ‘Runner’ do
|
||||||
# Pods for Runner
|
# Pods for Runner
|
||||||
|
pod 'DropDown'
|
||||||
|
use_frameworks!
|
||||||
|
|
||||||
# Flutter Pods
|
# Flutter Pods
|
||||||
pod 'Flutter', :path => ENV['FLUTTER_FRAMEWORK_DIR']
|
pod 'Flutter', :path => ENV['FLUTTER_FRAMEWORK_DIR']
|
||||||
@@ -28,7 +30,9 @@ target ‘Runner’ do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
target ‘Dinect’ do
|
target ‘Dinect’ do
|
||||||
# Pods for Runner
|
# Pods for Dinect
|
||||||
|
pod 'DropDown'
|
||||||
|
use_frameworks!
|
||||||
|
|
||||||
# Flutter Pods
|
# Flutter Pods
|
||||||
pod 'Flutter', :path => ENV['FLUTTER_FRAMEWORK_DIR']
|
pod 'Flutter', :path => ENV['FLUTTER_FRAMEWORK_DIR']
|
||||||
@@ -49,7 +53,9 @@ target ‘Dinect’ do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
target ‘Crypto’ do
|
target ‘Crypto’ do
|
||||||
# Pods for Runner
|
# Pods for Crypto
|
||||||
|
pod 'DropDown'
|
||||||
|
use_frameworks!
|
||||||
|
|
||||||
# Flutter Pods
|
# Flutter Pods
|
||||||
pod 'Flutter', :path => ENV['FLUTTER_FRAMEWORK_DIR']
|
pod 'Flutter', :path => ENV['FLUTTER_FRAMEWORK_DIR']
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
PODS:
|
PODS:
|
||||||
|
- DropDown (2.3.1)
|
||||||
- Flutter (1.0.0)
|
- Flutter (1.0.0)
|
||||||
- FMDB (2.7.2):
|
- FMDB (2.7.2):
|
||||||
- FMDB/standard (= 2.7.2)
|
- FMDB/standard (= 2.7.2)
|
||||||
@@ -15,23 +16,25 @@ PODS:
|
|||||||
- ZXingObjC/All (3.2.2)
|
- ZXingObjC/All (3.2.2)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- Flutter (from `/Users/dinect/projects/flutter/bin/cache/artifacts/engine/ios-release`)
|
- DropDown
|
||||||
- image_picker (from `/Users/dinect/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.5/ios`)
|
- Flutter (from `/Users/kifio/flutter/bin/cache/artifacts/engine/ios`)
|
||||||
- path_provider (from `/Users/dinect/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/ios`)
|
- image_picker (from `/Users/kifio/.pub-cache/hosted/pub.dartlang.org/image_picker-0.4.1/ios`)
|
||||||
- sqflite (from `/Users/dinect/.pub-cache/hosted/pub.dartlang.org/sqflite-0.8.4/ios`)
|
- path_provider (from `/Users/kifio/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/ios`)
|
||||||
|
- sqflite (from `/Users/kifio/.pub-cache/hosted/pub.dartlang.org/sqflite-0.8.9/ios`)
|
||||||
- ZXingObjC (~> 3.2.2)
|
- ZXingObjC (~> 3.2.2)
|
||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
Flutter:
|
Flutter:
|
||||||
:path: /Users/dinect/projects/flutter/bin/cache/artifacts/engine/ios-release
|
:path: /Users/kifio/flutter/bin/cache/artifacts/engine/ios
|
||||||
image_picker:
|
image_picker:
|
||||||
:path: /Users/dinect/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.5/ios
|
:path: /Users/kifio/.pub-cache/hosted/pub.dartlang.org/image_picker-0.4.1/ios
|
||||||
path_provider:
|
path_provider:
|
||||||
:path: /Users/dinect/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/ios
|
:path: /Users/kifio/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/ios
|
||||||
sqflite:
|
sqflite:
|
||||||
:path: /Users/dinect/.pub-cache/hosted/pub.dartlang.org/sqflite-0.8.4/ios
|
:path: /Users/kifio/.pub-cache/hosted/pub.dartlang.org/sqflite-0.8.9/ios
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
|
DropDown: 20499c7b2731b0d21609af924e47c7677a2be50d
|
||||||
Flutter: 9d0fac939486c9aba2809b7982dfdbb47a7b0296
|
Flutter: 9d0fac939486c9aba2809b7982dfdbb47a7b0296
|
||||||
FMDB: 6198a90e7b6900cfc046e6bc0ef6ebb7be9236aa
|
FMDB: 6198a90e7b6900cfc046e6bc0ef6ebb7be9236aa
|
||||||
image_picker: ee00aab0487cedc80a304085219503cc6d0f2e22
|
image_picker: ee00aab0487cedc80a304085219503cc6d0f2e22
|
||||||
@@ -39,6 +42,6 @@ SPEC CHECKSUMS:
|
|||||||
sqflite: d1612813fa7db7c667bed9f1d1b508deffc56999
|
sqflite: d1612813fa7db7c667bed9f1d1b508deffc56999
|
||||||
ZXingObjC: 2c95a0dc52daac69b23ec78fad8fa2fec05f8981
|
ZXingObjC: 2c95a0dc52daac69b23ec78fad8fa2fec05f8981
|
||||||
|
|
||||||
PODFILE CHECKSUM: bc84f52b27b79dc608eec3537282fdff2347d9b4
|
PODFILE CHECKSUM: fb0878732874759a90764b55aa8df21a11e17dea
|
||||||
|
|
||||||
COCOAPODS: 1.4.0
|
COCOAPODS: 1.4.0
|
||||||
|
|||||||
@@ -7,8 +7,7 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
078A0BF7A63723C6172EDC0A /* libPods-Crypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 99EE85CEAF1A1E1F2699104F /* libPods-Crypto.a */; };
|
26CFA13E076852CFBC219A92 /* Pods_Crypto.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9EAA95AC749CACECE80B4A2 /* Pods_Crypto.framework */; };
|
||||||
13EAA88FDE896CFCD1BDACA0 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 11DA31E63D91749A6CB1A676 /* libPods-Runner.a */; };
|
|
||||||
2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; };
|
2D5378261FAA1A9400D5DBA9 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; };
|
||||||
3226052220806CE500706A11 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
|
3226052220806CE500706A11 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
|
||||||
3226052320806CE500706A11 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
|
3226052320806CE500706A11 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
|
||||||
@@ -23,7 +22,6 @@
|
|||||||
3226052D20806CE500706A11 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBA9BB311F1792570053B6EA /* AVFoundation.framework */; };
|
3226052D20806CE500706A11 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBA9BB311F1792570053B6EA /* AVFoundation.framework */; };
|
||||||
3226052E20806CE500706A11 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
|
3226052E20806CE500706A11 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
|
||||||
3226052F20806CE500706A11 /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
|
3226052F20806CE500706A11 /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
|
||||||
3226053020806CE500706A11 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 11DA31E63D91749A6CB1A676 /* libPods-Runner.a */; };
|
|
||||||
3226053220806CE500706A11 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; };
|
3226053220806CE500706A11 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; };
|
||||||
3226053320806CE500706A11 /* app.flx in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB71CF902C7004384FC /* app.flx */; };
|
3226053320806CE500706A11 /* app.flx in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB71CF902C7004384FC /* app.flx */; };
|
||||||
3226053420806CE500706A11 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
3226053420806CE500706A11 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
||||||
@@ -56,7 +54,7 @@
|
|||||||
328A58A4205F68270039EA5A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
328A58A4205F68270039EA5A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||||
328A58A6205F68270039EA5A /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
328A58A6205F68270039EA5A /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
328A58A7205F68270039EA5A /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
328A58A7205F68270039EA5A /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
89C523E18F38F3DB0BEC24F6 /* libPods-Dinect.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A55A3E0B57C50C3FFECC43C /* libPods-Dinect.a */; };
|
46F0FCE6C30A5E9C139D303C /* Pods_Dinect.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC676CB0C601521CE29275E8 /* Pods_Dinect.framework */; };
|
||||||
ACE8612B1F9F745B006FEF38 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
|
ACE8612B1F9F745B006FEF38 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
|
||||||
ACE8612C1F9F745B006FEF38 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
|
ACE8612C1F9F745B006FEF38 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
|
||||||
ACE8612D1F9F745B006FEF38 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
ACE8612D1F9F745B006FEF38 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||||
@@ -76,6 +74,7 @@
|
|||||||
ACE861441F9F745B006FEF38 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
ACE861441F9F745B006FEF38 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||||
ACE861461F9F745B006FEF38 /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
ACE861461F9F745B006FEF38 /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
ACE861471F9F745B006FEF38 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
ACE861471F9F745B006FEF38 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
|
E960313FEB51DFEBAEABF4C4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2A5C3DF3596245FEF89DEB6 /* Pods_Runner.framework */; };
|
||||||
FB862E6620548D6C00C04986 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
|
FB862E6620548D6C00C04986 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
|
||||||
FB862E6720548D6C00C04986 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
|
FB862E6720548D6C00C04986 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
|
||||||
FB862E6820548D6C00C04986 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
FB862E6820548D6C00C04986 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||||
@@ -232,7 +231,6 @@
|
|||||||
/* End PBXCopyFilesBuildPhase section */
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
11DA31E63D91749A6CB1A676 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||||
2D5378251FAA1A9400D5DBA9 /* flutter_assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flutter_assets; path = Flutter/flutter_assets; sourceTree = SOURCE_ROOT; };
|
2D5378251FAA1A9400D5DBA9 /* flutter_assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flutter_assets; path = Flutter/flutter_assets; sourceTree = SOURCE_ROOT; };
|
||||||
@@ -242,7 +240,6 @@
|
|||||||
328A58B0205F68270039EA5A /* Runner copy2-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Runner copy2-Info.plist"; path = "/Users/dinect/projects/checker/ios/Runner copy2-Info.plist"; sourceTree = "<absolute>"; };
|
328A58B0205F68270039EA5A /* Runner copy2-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Runner copy2-Info.plist"; path = "/Users/dinect/projects/checker/ios/Runner copy2-Info.plist"; sourceTree = "<absolute>"; };
|
||||||
32DA147B1FBC3DCE008F0388 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
|
32DA147B1FBC3DCE008F0388 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
|
||||||
32EE9C18205A2B3C0044587E /* Release-Runner copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Release-Runner copy-Info.plist"; path = "/Users/dinect/projects/checker/ios/Release-Runner copy-Info.plist"; sourceTree = "<absolute>"; };
|
32EE9C18205A2B3C0044587E /* Release-Runner copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Release-Runner copy-Info.plist"; path = "/Users/dinect/projects/checker/ios/Release-Runner copy-Info.plist"; sourceTree = "<absolute>"; };
|
||||||
3A55A3E0B57C50C3FFECC43C /* libPods-Dinect.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Dinect.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||||
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
|
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
|
||||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||||
@@ -256,7 +253,7 @@
|
|||||||
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
99EE85CEAF1A1E1F2699104F /* libPods-Crypto.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Crypto.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
A2A5C3DF3596245FEF89DEB6 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
AC45BF911F9E408E009713E2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = /Users/ntrlab/semyon/apps/checker/ios/Runner/Info.plist; sourceTree = "<absolute>"; };
|
AC45BF911F9E408E009713E2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = /Users/ntrlab/semyon/apps/checker/ios/Runner/Info.plist; sourceTree = "<absolute>"; };
|
||||||
AC73A4241F9F7F920026EBA4 /* Dinect.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Dinect.plist; path = /Users/ntrlab/semyon/apps/checker/ios/Runner/Dinect.plist; sourceTree = "<absolute>"; };
|
AC73A4241F9F7F920026EBA4 /* Dinect.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Dinect.plist; path = /Users/ntrlab/semyon/apps/checker/ios/Runner/Dinect.plist; sourceTree = "<absolute>"; };
|
||||||
ACE861531F9F745B006FEF38 /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
ACE861531F9F745B006FEF38 /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
@@ -269,10 +266,12 @@
|
|||||||
BBA9BB391F17927C0053B6EA /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
|
BBA9BB391F17927C0053B6EA /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
|
||||||
BBA9BB3B1F1792A90053B6EA /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
BBA9BB3B1F1792A90053B6EA /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||||
BBA9BB601F179D270053B6EA /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; };
|
BBA9BB601F179D270053B6EA /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; };
|
||||||
|
C9EAA95AC749CACECE80B4A2 /* Pods_Crypto.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Crypto.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
FB862E8320548D6C00C04986 /* Crypto.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Crypto.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
FB862E8320548D6C00C04986 /* Crypto.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Crypto.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
FB862E8420548D6C00C04986 /* Debug-Dinect-INT copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Debug-Dinect-INT copy-Info.plist"; path = "/Users/kifio/Desktop/FlutterProjects/checker/ios/Debug-Dinect-INT copy-Info.plist"; sourceTree = "<absolute>"; };
|
FB862E8420548D6C00C04986 /* Debug-Dinect-INT copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Debug-Dinect-INT copy-Info.plist"; path = "/Users/kifio/Desktop/FlutterProjects/checker/ios/Debug-Dinect-INT copy-Info.plist"; sourceTree = "<absolute>"; };
|
||||||
FB8CCC37204C824A002BBFDA /* Dinect-INT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Dinect-INT.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
FB8CCC37204C824A002BBFDA /* Dinect-INT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Dinect-INT.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
FB8CCC38204C824A002BBFDA /* Runner copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Runner copy-Info.plist"; path = "/Users/kifio/Desktop/FlutterProjects/checker/ios/Runner copy-Info.plist"; sourceTree = "<absolute>"; };
|
FB8CCC38204C824A002BBFDA /* Runner copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Runner copy-Info.plist"; path = "/Users/kifio/Desktop/FlutterProjects/checker/ios/Runner copy-Info.plist"; sourceTree = "<absolute>"; };
|
||||||
|
FC676CB0C601521CE29275E8 /* Pods_Dinect.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Dinect.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -289,7 +288,6 @@
|
|||||||
3226052D20806CE500706A11 /* AVFoundation.framework in Frameworks */,
|
3226052D20806CE500706A11 /* AVFoundation.framework in Frameworks */,
|
||||||
3226052E20806CE500706A11 /* Flutter.framework in Frameworks */,
|
3226052E20806CE500706A11 /* Flutter.framework in Frameworks */,
|
||||||
3226052F20806CE500706A11 /* App.framework in Frameworks */,
|
3226052F20806CE500706A11 /* App.framework in Frameworks */,
|
||||||
3226053020806CE500706A11 /* libPods-Runner.a in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -306,7 +304,7 @@
|
|||||||
328A5898205F68270039EA5A /* AVFoundation.framework in Frameworks */,
|
328A5898205F68270039EA5A /* AVFoundation.framework in Frameworks */,
|
||||||
328A5899205F68270039EA5A /* Flutter.framework in Frameworks */,
|
328A5899205F68270039EA5A /* Flutter.framework in Frameworks */,
|
||||||
328A589A205F68270039EA5A /* App.framework in Frameworks */,
|
328A589A205F68270039EA5A /* App.framework in Frameworks */,
|
||||||
89C523E18F38F3DB0BEC24F6 /* libPods-Dinect.a in Frameworks */,
|
46F0FCE6C30A5E9C139D303C /* Pods_Dinect.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -323,7 +321,7 @@
|
|||||||
ACE861361F9F745B006FEF38 /* AVFoundation.framework in Frameworks */,
|
ACE861361F9F745B006FEF38 /* AVFoundation.framework in Frameworks */,
|
||||||
ACE861371F9F745B006FEF38 /* Flutter.framework in Frameworks */,
|
ACE861371F9F745B006FEF38 /* Flutter.framework in Frameworks */,
|
||||||
ACE861381F9F745B006FEF38 /* App.framework in Frameworks */,
|
ACE861381F9F745B006FEF38 /* App.framework in Frameworks */,
|
||||||
13EAA88FDE896CFCD1BDACA0 /* libPods-Runner.a in Frameworks */,
|
E960313FEB51DFEBAEABF4C4 /* Pods_Runner.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -340,7 +338,7 @@
|
|||||||
FB862E7120548D6C00C04986 /* AVFoundation.framework in Frameworks */,
|
FB862E7120548D6C00C04986 /* AVFoundation.framework in Frameworks */,
|
||||||
FB862E7220548D6C00C04986 /* Flutter.framework in Frameworks */,
|
FB862E7220548D6C00C04986 /* Flutter.framework in Frameworks */,
|
||||||
FB862E7320548D6C00C04986 /* App.framework in Frameworks */,
|
FB862E7320548D6C00C04986 /* App.framework in Frameworks */,
|
||||||
078A0BF7A63723C6172EDC0A /* libPods-Crypto.a in Frameworks */,
|
26CFA13E076852CFBC219A92 /* Pods_Crypto.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -444,9 +442,9 @@
|
|||||||
BBA9BB351F1792690053B6EA /* CoreMedia.framework */,
|
BBA9BB351F1792690053B6EA /* CoreMedia.framework */,
|
||||||
BBA9BB331F17925F0053B6EA /* CoreGraphics.framework */,
|
BBA9BB331F17925F0053B6EA /* CoreGraphics.framework */,
|
||||||
BBA9BB311F1792570053B6EA /* AVFoundation.framework */,
|
BBA9BB311F1792570053B6EA /* AVFoundation.framework */,
|
||||||
99EE85CEAF1A1E1F2699104F /* libPods-Crypto.a */,
|
C9EAA95AC749CACECE80B4A2 /* Pods_Crypto.framework */,
|
||||||
3A55A3E0B57C50C3FFECC43C /* libPods-Dinect.a */,
|
FC676CB0C601521CE29275E8 /* Pods_Dinect.framework */,
|
||||||
11DA31E63D91749A6CB1A676 /* libPods-Runner.a */,
|
A2A5C3DF3596245FEF89DEB6 /* Pods_Runner.framework */,
|
||||||
);
|
);
|
||||||
name = Frameworks;
|
name = Frameworks;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -465,7 +463,6 @@
|
|||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 3226053F20806CE500706A11 /* Build configuration list for PBXNativeTarget "BioChecker" */;
|
buildConfigurationList = 3226053F20806CE500706A11 /* Build configuration list for PBXNativeTarget "BioChecker" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
3226051F20806CE500706A11 /* [CP] Check Pods Manifest.lock */,
|
|
||||||
3226052020806CE500706A11 /* Run Script */,
|
3226052020806CE500706A11 /* Run Script */,
|
||||||
3226052120806CE500706A11 /* Sources */,
|
3226052120806CE500706A11 /* Sources */,
|
||||||
3226052620806CE500706A11 /* Frameworks */,
|
3226052620806CE500706A11 /* Frameworks */,
|
||||||
@@ -473,8 +470,6 @@
|
|||||||
3226053820806CE500706A11 /* Embed Frameworks */,
|
3226053820806CE500706A11 /* Embed Frameworks */,
|
||||||
3226053B20806CE500706A11 /* Thin Binary */,
|
3226053B20806CE500706A11 /* Thin Binary */,
|
||||||
3226053C20806CE500706A11 /* Embed App Extensions */,
|
3226053C20806CE500706A11 /* Embed App Extensions */,
|
||||||
3226053D20806CE500706A11 /* [CP] Embed Pods Frameworks */,
|
|
||||||
3226053E20806CE500706A11 /* [CP] Copy Pods Resources */,
|
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@@ -756,11 +751,23 @@
|
|||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
|
"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
|
||||||
"${PODS_ROOT}/../../../flutter/bin/cache/artifacts/engine/ios-release/Flutter.framework",
|
"${BUILT_PRODUCTS_DIR}/DropDown/DropDown.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
|
||||||
|
"${PODS_ROOT}/../../../../../flutter/bin/cache/artifacts/engine/ios/Flutter.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/ZXingObjC/ZXingObjC.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/image_picker/image_picker.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
|
||||||
);
|
);
|
||||||
name = "[CP] Embed Pods Frameworks";
|
name = "[CP] Embed Pods Frameworks";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DropDown.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZXingObjC.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/image_picker.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
@@ -782,24 +789,6 @@
|
|||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Dinect/Pods-Dinect-resources.sh\"\n";
|
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Dinect/Pods-Dinect-resources.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
3226051F20806CE500706A11 /* [CP] Check Pods Manifest.lock */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
|
||||||
"${PODS_ROOT}/Manifest.lock",
|
|
||||||
);
|
|
||||||
name = "[CP] Check Pods Manifest.lock";
|
|
||||||
outputPaths = (
|
|
||||||
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
3226052020806CE500706A11 /* Run Script */ = {
|
3226052020806CE500706A11 /* Run Script */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@@ -828,39 +817,6 @@
|
|||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
|
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
|
||||||
};
|
};
|
||||||
3226053D20806CE500706A11 /* [CP] Embed Pods Frameworks */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
|
|
||||||
"${PODS_ROOT}/../../../flutter/bin/cache/artifacts/engine/ios-release/Flutter.framework",
|
|
||||||
);
|
|
||||||
name = "[CP] Embed Pods Frameworks";
|
|
||||||
outputPaths = (
|
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
3226053E20806CE500706A11 /* [CP] Copy Pods Resources */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
name = "[CP] Copy Pods Resources";
|
|
||||||
outputPaths = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
328A588B205F68270039EA5A /* Run Script */ = {
|
328A588B205F68270039EA5A /* Run Script */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@@ -896,11 +852,23 @@
|
|||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
"${SRCROOT}/Pods/Target Support Files/Pods-Dinect/Pods-Dinect-frameworks.sh",
|
"${SRCROOT}/Pods/Target Support Files/Pods-Dinect/Pods-Dinect-frameworks.sh",
|
||||||
"${PODS_ROOT}/../../../flutter/bin/cache/artifacts/engine/ios-release/Flutter.framework",
|
"${BUILT_PRODUCTS_DIR}/DropDown/DropDown.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
|
||||||
|
"${PODS_ROOT}/../../../../../flutter/bin/cache/artifacts/engine/ios/Flutter.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/ZXingObjC/ZXingObjC.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/image_picker/image_picker.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
|
||||||
);
|
);
|
||||||
name = "[CP] Embed Pods Frameworks";
|
name = "[CP] Embed Pods Frameworks";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DropDown.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZXingObjC.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/image_picker.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
@@ -947,11 +915,23 @@
|
|||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
"${SRCROOT}/Pods/Target Support Files/Pods-Crypto/Pods-Crypto-frameworks.sh",
|
"${SRCROOT}/Pods/Target Support Files/Pods-Crypto/Pods-Crypto-frameworks.sh",
|
||||||
"${PODS_ROOT}/../../../flutter/bin/cache/artifacts/engine/ios-release/Flutter.framework",
|
"${BUILT_PRODUCTS_DIR}/DropDown/DropDown.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
|
||||||
|
"${PODS_ROOT}/../../../../../flutter/bin/cache/artifacts/engine/ios/Flutter.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/ZXingObjC/ZXingObjC.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/image_picker/image_picker.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/path_provider/path_provider.framework",
|
||||||
|
"${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
|
||||||
);
|
);
|
||||||
name = "[CP] Embed Pods Frameworks";
|
name = "[CP] Embed Pods Frameworks";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DropDown.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZXingObjC.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/image_picker.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider.framework",
|
||||||
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:checker/screens/faq.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
|
|
||||||
import 'db.dart';
|
|
||||||
import 'strings.dart';
|
import 'strings.dart';
|
||||||
|
|
||||||
// Канал для взаимодействия с кодом платформы.
|
// Канал для взаимодействия с кодом платформы.
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import 'package:checker/strings.dart';
|
import 'package:checker/strings.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
import 'common.dart';
|
import 'common.dart';
|
||||||
|
|
||||||
// Клиент http приложения
|
// Клиент http приложения
|
||||||
final httpClient = createHttpClient();
|
final httpClient = http.Client();
|
||||||
|
|
||||||
// Попытка создать токен для кассы.
|
// Попытка создать токен для кассы.
|
||||||
// В случае если токен для кассы уже существует, вернется ошибка 409.
|
// В случае если токен для кассы уже существует, вернется ошибка 409.
|
||||||
|
|||||||
17
pubspec.lock
17
pubspec.lock
@@ -7,7 +7,7 @@ packages:
|
|||||||
name: async
|
name: async
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.6"
|
version: "2.0.7"
|
||||||
charcode:
|
charcode:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -40,21 +40,21 @@ packages:
|
|||||||
name: http_parser
|
name: http_parser
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.1"
|
version: "3.1.2"
|
||||||
image_picker:
|
image_picker:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: image_picker
|
name: image_picker
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.5"
|
version: "0.4.1"
|
||||||
matcher:
|
matcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: matcher
|
name: matcher
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.12.1+4"
|
version: "0.12.2+1"
|
||||||
meta:
|
meta:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -108,7 +108,7 @@ packages:
|
|||||||
name: sqflite
|
name: sqflite
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.8.4"
|
version: "0.8.9"
|
||||||
stack_trace:
|
stack_trace:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -129,7 +129,7 @@ packages:
|
|||||||
name: synchronized
|
name: synchronized
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.0"
|
version: "1.4.0"
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -143,7 +143,7 @@ packages:
|
|||||||
name: vector_math
|
name: vector_math
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.5"
|
version: "2.0.6"
|
||||||
xml:
|
xml:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -152,4 +152,5 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.0"
|
version: "3.0.0"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=2.0.0-dev.23.0 <=2.0.0-edge.0d5cf900b021bf5c9fa593ffa12b15bcd1cc5fe0"
|
dart: ">=2.0.0-dev.35 <=2.0.0-edge.c080951d45e79cd25df98036c4be835b284a269c"
|
||||||
|
flutter: ">=0.1.4 <2.0.0"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ dependencies:
|
|||||||
sprintf: "^3.0.2"
|
sprintf: "^3.0.2"
|
||||||
path_provider: "^0.2.1+1"
|
path_provider: "^0.2.1+1"
|
||||||
sqflite: any
|
sqflite: any
|
||||||
image_picker: '^0.1.3' # use for ask permissions @ iOS
|
image_picker: '^0.4.1' # use for ask permissions @ iOS
|
||||||
xml: "^3.0.0"
|
xml: "^3.0.0"
|
||||||
flutter:
|
flutter:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|||||||
Reference in New Issue
Block a user