Show version name in settings, fix progress bar when purchase ended wit error

This commit is contained in:
Ivan Murashov
2018-03-12 22:33:31 +03:00
parent 11640c0a16
commit 02322a73ef
5 changed files with 44 additions and 12 deletions

View File

@@ -19,6 +19,7 @@ import android.Manifest;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
import android.support.v4.app.ActivityCompat; import android.support.v4.app.ActivityCompat;
import android.content.pm.PackageInfo;
import java.util.*; import java.util.*;
@@ -99,12 +100,25 @@ public class MainActivity extends FlutterActivity {
Log.d("kifio", call.method); Log.d("kifio", call.method);
finish(); finish();
break; break;
case "getVersionName":
result.success(getVersion());
break;
default: default:
result.notImplemented(); result.notImplemented();
break; break;
} }
} }
private String getVersion() {
try {
PackageInfo pInfo = this.getPackageManager().getPackageInfo(getPackageName(), 0);
return pInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return "";
}
}
private String getLanguage() { private String getLanguage() {
List<String> availableLanguages = Arrays.asList("ru", "en"); List<String> availableLanguages = Arrays.asList("ru", "en");
if (availableLanguages.contains(Locale.getDefault().getLanguage())) { if (availableLanguages.contains(Locale.getDefault().getLanguage())) {
@@ -233,6 +247,10 @@ public class MainActivity extends FlutterActivity {
} }
public void getVersionName() {
}
public void setStrings() { public void setStrings() {
} }

View File

@@ -3,6 +3,8 @@ PODS:
- FMDB (2.7.2): - FMDB (2.7.2):
- FMDB/standard (= 2.7.2) - FMDB/standard (= 2.7.2)
- FMDB/standard (2.7.2) - FMDB/standard (2.7.2)
- image_picker (0.0.1):
- Flutter
- path_provider (0.0.1): - path_provider (0.0.1):
- Flutter - Flutter
- sqflite (0.0.1): - sqflite (0.0.1):
@@ -14,6 +16,7 @@ PODS:
DEPENDENCIES: DEPENDENCIES:
- Flutter (from `/Users/kifio/flutter/bin/cache/artifacts/engine/ios`) - Flutter (from `/Users/kifio/flutter/bin/cache/artifacts/engine/ios`)
- image_picker (from `/Users/kifio/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.5/ios`)
- path_provider (from `/Users/kifio/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/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.2/ios`) - sqflite (from `/Users/kifio/.pub-cache/hosted/pub.dartlang.org/sqflite-0.8.2/ios`)
- ZXingObjC (~> 3.2.2) - ZXingObjC (~> 3.2.2)
@@ -21,6 +24,8 @@ DEPENDENCIES:
EXTERNAL SOURCES: EXTERNAL SOURCES:
Flutter: Flutter:
:path: /Users/kifio/flutter/bin/cache/artifacts/engine/ios :path: /Users/kifio/flutter/bin/cache/artifacts/engine/ios
image_picker:
:path: /Users/kifio/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.5/ios
path_provider: path_provider:
:path: /Users/kifio/.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:
@@ -29,6 +34,7 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS: SPEC CHECKSUMS:
Flutter: 9d0fac939486c9aba2809b7982dfdbb47a7b0296 Flutter: 9d0fac939486c9aba2809b7982dfdbb47a7b0296
FMDB: 6198a90e7b6900cfc046e6bc0ef6ebb7be9236aa FMDB: 6198a90e7b6900cfc046e6bc0ef6ebb7be9236aa
image_picker: ee00aab0487cedc80a304085219503cc6d0f2e22
path_provider: 09407919825bfe3c2deae39453b7a5b44f467873 path_provider: 09407919825bfe3c2deae39453b7a5b44f467873
sqflite: edb0e4df7640c26fea6a107c21ed1542219e761a sqflite: edb0e4df7640c26fea6a107c21ed1542219e761a
ZXingObjC: 2c95a0dc52daac69b23ec78fad8fa2fec05f8981 ZXingObjC: 2c95a0dc52daac69b23ec78fad8fa2fec05f8981

View File

@@ -98,19 +98,21 @@
[controller presentViewController:modalViewController animated:YES completion:nil]; [controller presentViewController:modalViewController animated:YES completion:nil];
} else if ([@"isOnline" isEqualToString:call.method]) { } else if ([@"isOnline" isEqualToString:call.method]) {
result(@YES); result(@YES);
} else if ([@"getSupportPhone" isEqualToString:call.method]) { } else if ([@"getSupportPhone" isEqualToString:call.method]) {
result(buildSettings[@"supportPhone"]); result(buildSettings[@"supportPhone"]);
} else if ([@"getSupportUrl" isEqualToString:call.method]) { } else if ([@"getSupportUrl" isEqualToString:call.method]) {
result(buildSettings[@"supportUrl"]); result(buildSettings[@"supportUrl"]);
} else if ([@"getEndpoint" isEqualToString:call.method]) { } else if ([@"getEndpoint" isEqualToString:call.method]) {
result(buildSettings[@"endPoint"]); result(buildSettings[@"endPoint"]);
} else if ([@"getAppToken" isEqualToString:call.method]) { } else if ([@"getAppToken" isEqualToString:call.method]) {
result(buildSettings[@"appToken"]); result(buildSettings[@"appToken"]);
} else if ([@"getAppTitle" isEqualToString:call.method]) { } else if ([@"getAppTitle" isEqualToString:call.method]) {
result(buildSettings[@"appTitle"]); result(buildSettings[@"appTitle"]);
} else if ([@"showBonus" isEqualToString:call.method]) { } else if ([@"showBonus" isEqualToString:call.method]) {
result(buildSettings[@"showBonus"]); result(buildSettings[@"showBonus"]);
} else { } else if ([@"getVersionName" isEqualToString:call.method]) {
result([[NSBundle mainBundle] objectForInfoDictionaryKey: @"CFBundleShortVersionString"]);
} else {
result(FlutterMethodNotImplemented); result(FlutterMethodNotImplemented);
} }

View File

@@ -386,6 +386,9 @@ class PurchaseScreenState<T> extends BaseState<PurchaseScreen> {
} }
if (purchase.containsKey('errors')) { if (purchase.containsKey('errors')) {
setState(() {
loading = false;
});
List<String> errors = purchase['errors']; List<String> errors = purchase['errors'];
purchaseInProgress = false; purchaseInProgress = false;
apiErrorAlert(errors[0]); apiErrorAlert(errors[0]);

View File

@@ -39,6 +39,7 @@ class SettingsState extends BaseState<SettingsScreen> {
]; ];
bool returnToScanner; bool returnToScanner;
String versionName = "";
bool isAutomaticallyImplyLeading() => true; bool isAutomaticallyImplyLeading() => true;
@@ -46,12 +47,14 @@ class SettingsState extends BaseState<SettingsScreen> {
this.returnToScanner = returnToScanner; this.returnToScanner = returnToScanner;
} }
@override
void initState() {
super.initState();
}
@override Widget build(BuildContext ctx) { @override Widget build(BuildContext ctx) {
if (this.versionName == "") {
platform.invokeMethod('getVersionName').then((versionName) {
setState(() {
this.versionName = versionName;
});
});
}
// TODO: Перенести в initStater // TODO: Перенести в initStater
helper.getSettings(true).then((info) { helper.getSettings(true).then((info) {
setState(() { setState(() {
@@ -204,6 +207,6 @@ class SettingsState extends BaseState<SettingsScreen> {
@override @override
String getTitle() { String getTitle() {
return StringsLocalization.settings(); return StringsLocalization.settings() + " ($versionName)";
} }
} }