Skip to content
This repository has been archived by the owner on Jun 7, 2023. It is now read-only.

Mobile: Fix QR Scanner and add haptic feedback #781

Merged
merged 23 commits into from
Dec 12, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
5f4e91a
Mobile: Fix global keyboard avoidance
cvarley100 Dec 10, 2018
abf176c
Mobile: Remove unused method
cvarley100 Dec 10, 2018
354a2fb
Mobile: Reorder useExistingSeed UI
cvarley100 Dec 10, 2018
b963c08
Mobile: Minor visual fixes
cvarley100 Dec 10, 2018
48ef8ef
Mobile: Disable back swipe gesture on iOS
cvarley100 Dec 11, 2018
1a55faa
Mobile: Fix animation direction when entering 2fa on login
cvarley100 Dec 11, 2018
1adec53
Resolve conflicts
cvarley100 Dec 11, 2018
26fd2bb
Mobile: Cleanup navigator object
cvarley100 Dec 11, 2018
19ec175
Mobile: Fix navigation animations
cvarley100 Dec 11, 2018
590ded4
Resolve conflicts
cvarley100 Dec 11, 2018
d9a496d
Mobile: Fix QR Scanner
cvarley100 Dec 12, 2018
33b7d8e
Resolve conflicts
cvarley100 Dec 12, 2018
078ce44
Mobile: Add haptic feedback on sliders
cvarley100 Dec 12, 2018
3da4548
Mobile: Fix animation direction in settings
cvarley100 Dec 12, 2018
39a318c
Fix failing tests for QrScanner component (#782)
laumair Dec 12, 2018
bf4c312
Mobile: Replace loading animation
cvarley100 Dec 12, 2018
3025c63
Mobile: Fix animation direction on logout
cvarley100 Dec 12, 2018
562fb2d
Mobile: Fix snapshot transition modal
cvarley100 Dec 12, 2018
387c568
Merge branch 'chore/mobile-cleanup' of https://github.com/iotaledger/…
cvarley100 Dec 12, 2018
b186339
Mobile: Remove log statement
cvarley100 Dec 12, 2018
24581e3
Mobile: Add animation to OnboardingComplete
cvarley100 Dec 12, 2018
890ec0d
Mobile: Remove duplicate dependency declaration
cvarley100 Dec 12, 2018
7620c88
Mobile: Remove duplicate dependency declaration
cvarley100 Dec 12, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions src/mobile/__tests__/ui/components/QrScanner.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { shallow } from 'enzyme';
import { QRScanner as QrScannerComponent } from 'ui/components/QrScanner';

jest.mock('react-native-camera', () => ({}));
jest.mock('react-native-qr-scanner', () => ({}));
jest.mock('bugsnag-react-native', () => ({
Configuration: jest.fn(),
Client: jest.fn(() => ({ leaveBreadcrumb: jest.fn() })),
Expand Down Expand Up @@ -50,14 +51,14 @@ describe('Testing QrScanner component', () => {
expect(wrapper.name()).toEqual('Connect(ModalViewComponent)');
});

it('should return a QrCodeScanner component', () => {
it('should return a QRscanner component', () => {
const props = getProps();

const wrapper = shallow(<QrScannerComponent {...props} />);
expect(wrapper.find('QRCodeScanner').length).toEqual(1);
expect(wrapper.childAt(0).childAt(0).length).toEqual(1);
});

it('should call prop method onQRRead when onRead prop of QRCodeScanner is triggered', () => {
it('should call prop method onQRRead when onRead prop of QRscanner is triggered', () => {
const props = getProps({
onQRRead: jest.fn(),
});
Expand All @@ -67,7 +68,8 @@ describe('Testing QrScanner component', () => {
expect(props.onQRRead).toHaveBeenCalledTimes(0);

wrapper
.find('QRCodeScanner')
.childAt(0)
.childAt(0)
.props()
.onRead({ data: 'foo' });

Expand Down
1 change: 1 addition & 0 deletions src/mobile/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ android {
}
}
dependencies {
implementation project(':react-native-qr-scanner')
implementation 'com.github.laumair:argon2jni:jitpack-SNAPSHOT'
implementation project(':react-native-document-picker')
implementation project(':nodejs-mobile-react-native')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import ca.jaysoo.extradimensions.ExtraDimensionsPackage;
import com.janeasystems.rn_nodejs_mobile.RNNodeJsMobilePackage;
import com.reactnativedocumentpicker.ReactNativeDocumentPicker;
import com.lewin.qrcode.QRScanReaderPackage;
import com.RNFetchBlob.RNFetchBlobPackage;
import com.reactnativenavigation.NavigationApplication;
import com.reactnativenavigation.react.NavigationReactNativeHost;
Expand Down Expand Up @@ -68,6 +69,8 @@ protected List<ReactPackage> getPackages() {
// eg. new VectorIconsPackage()
new SvgPackage(),
new MainReactPackage(),
new RNCameraPackage(),
new QRScanReaderPackage(),
new ReactNativeDocumentPicker(),
new RNNodeJsMobilePackage(),
new RNFastCryptoPackage(),
Expand All @@ -77,7 +80,6 @@ protected List<ReactPackage> getPackages() {
new RNDeviceInfo(),
new RNOSModule(),
new RNPrintPackage(),
new RNCameraPackage(),
new ExtraDimensionsPackage(),
new KCKeepAwakePackage(),
new KeychainPackage(),
Expand Down
8 changes: 4 additions & 4 deletions src/mobile/android/settings.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
rootProject.name = 'iotaWallet'
include ':react-native-camera'
project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')
cvarley100 marked this conversation as resolved.
Show resolved Hide resolved
include ':react-native-qr-scanner'
project(':react-native-qr-scanner').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-qr-scanner/android')
include ':react-native-modal-translucent'
project(':react-native-modal-translucent').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-modal-translucent/android')
include ':react-native-document-picker'
Expand All @@ -15,8 +19,6 @@ include ':react-native-device-info'
project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')
include ':react-native-os'
project(':react-native-os').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-os/android')
include ':react-native-camera'
project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')
include ':react-native-print'
project(':react-native-print').projectDir = new File(rootProject.projectDir,'../node_modules/react-native-print/android')
include ':react-native-udp'
Expand All @@ -28,8 +30,6 @@ project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../n
include ':react-native-navigation'
project(':react-native-navigation').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-navigation/lib/android/app/')
include ':app'
include ':react-native-camera'
project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')
include ':react-native-sensitive-info'
project(':react-native-sensitive-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sensitive-info/android')
include ':react-native-keep-awake'
Expand Down
78 changes: 70 additions & 8 deletions src/mobile/ios/iotaWallet.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
C63F4449914D3D19E3C83C38F602BFB5 /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C9F4F16E746AE853607E2E4D649F9E40 /* libRNDeviceInfo.a */; };
CA8AF202D45B7B9C48CB844FE4029B34 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38822DC4E60A1BDF9DF917E7C1541B3D /* libRCTLinking.a */; };
CB305F0421185EF800657575 /* libRNFetchBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CB305F0321185EEC00657575 /* libRNFetchBlob.a */; };
CB563C0C21C1470F00AE4437 /* libQRCode.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CB563C0B21C1435B00AE4437 /* libQRCode.a */; };
CB61A46620B89E3B004088AA /* SourceSansPro-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CB61A46520B89E3A004088AA /* SourceSansPro-SemiBold.ttf */; };
CB63E7A5218B544E0084CBFD /* Icons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CB63E7A4218B544E0084CBFD /* Icons.ttf */; };
CB6626F52085057F00651519 /* libSplashScreen.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CB6626F42085056C00651519 /* libSplashScreen.a */; };
Expand Down Expand Up @@ -470,6 +471,13 @@
remoteGlobalIDString = 11FA5C511C4A1296003AC2EE;
remoteInfo = LottieReactNative;
};
CB563C0A21C1435B00AE4437 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 9B7786DA8E9F4FBCA1CD37AF /* QrCode.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 07FD4BE520874AB3002FBD31;
remoteInfo = QRCode;
};
CB6626F32085056C00651519 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = CB6626ED2085056C00651519 /* SplashScreen.xcodeproj */;
Expand Down Expand Up @@ -746,6 +754,7 @@
8B49115E102EED64D1B7D7AC047F1ABF /* RNExitApp.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNExitApp.xcodeproj; path = "../node_modules/react-native-exit-app/ios/RNExitApp.xcodeproj"; sourceTree = "<group>"; };
93AF27DC4948C2C2EF41D1FA /* Pods-iotaWallet-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iotaWallet-tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-iotaWallet-tvOS/Pods-iotaWallet-tvOS.release.xcconfig"; sourceTree = "<group>"; };
94C69E567EC4B020F5822FC7 /* Pods-iotaWallet-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iotaWallet-tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-iotaWallet-tvOS/Pods-iotaWallet-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
9B7786DA8E9F4FBCA1CD37AF /* QrCode.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = QrCode.xcodeproj; path = "../node_modules/react-native-qr-scanner/ios/QrCode.xcodeproj"; sourceTree = "<group>"; };
9E17389EF3AB0C14C6843EF1892D81D4 /* KCKeepAwake.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = KCKeepAwake.xcodeproj; path = "../node_modules/react-native-keep-awake/ios/KCKeepAwake.xcodeproj"; sourceTree = "<group>"; };
9EE76A96BDAFEB3F2332A2982168E1CE /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = "<group>"; };
A01220F4B33D4A79B53254ED /* RNFastCrypto.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNFastCrypto.xcodeproj; path = "../node_modules/react-native-fast-crypto/ios/RNFastCrypto.xcodeproj"; sourceTree = "<group>"; };
Expand All @@ -755,6 +764,7 @@
AA7E2CA57E62FCA5FD7C3C38C40F7603 /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = "<group>"; };
AB682616086B06AFA962D8B5F1DCAB78 /* RNRandomBytes.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNRandomBytes.xcodeproj; path = "../node_modules/react-native-randombytes/RNRandomBytes.xcodeproj"; sourceTree = "<group>"; };
AC72D5B1A4088A6371731AAF2D0B9E73 /* lv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lv; path = lv.lproj/InfoPlist.strings; sourceTree = "<group>"; };
B090D59389CE4890A17E787A /* libQRCode.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libQRCode.a; sourceTree = "<group>"; };
B8B9BB680BF96F04B35C8CF2291F3DF7 /* Lottie.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Lottie.xcodeproj; path = "../node_modules/lottie-ios/Lottie.xcodeproj"; sourceTree = "<group>"; };
B9ADFB0323609A2A5F0E73076170CC73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
BA9A0E2287F5A0014ABE9284EBD2C4D8 /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
Expand Down Expand Up @@ -816,6 +826,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CB563C0C21C1470F00AE4437 /* libQRCode.a in Frameworks */,
CBDE11BF21AF008D00CA1909 /* libLottieReactNative.a in Frameworks */,
6020D31F21A507BC00159E5A /* libReact.a in Frameworks */,
6020D31E21A5077600159E5A /* libRCTAnimation.a in Frameworks */,
Expand Down Expand Up @@ -1137,6 +1148,7 @@
78457F3624D0D3C241289BCB545E290E /* ReactNativeFingerprintScanner.xcodeproj */,
A01220F4B33D4A79B53254ED /* RNFastCrypto.xcodeproj */,
68D1880393EB486F98F90D04 /* RNNodeJsMobile.xcodeproj */,
9B7786DA8E9F4FBCA1CD37AF /* QrCode.xcodeproj */,
);
name = Libraries;
sourceTree = "<group>";
Expand Down Expand Up @@ -1267,6 +1279,7 @@
BDAF54583946132D35A957921197D3E8 /* libReactNativeFingerprintScanner.a */,
456BB4607FD94AC0BA37A7C9 /* libRNFastCrypto.a */,
F8482B7D9E05463F9505DCB4 /* libRNNodeJsMobile.a */,
B090D59389CE4890A17E787A /* libQRCode.a */,
);
name = "Recovered References";
sourceTree = "<group>";
Expand Down Expand Up @@ -1295,6 +1308,14 @@
name = Products;
sourceTree = "<group>";
};
CB563C0721C1435B00AE4437 /* Products */ = {
isa = PBXGroup;
children = (
CB563C0B21C1435B00AE4437 /* libQRCode.a */,
);
name = Products;
sourceTree = "<group>";
};
CB6626EE2085056C00651519 /* Products */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -1668,6 +1689,10 @@
ProductGroup = 9587AF1D58A6A266E24B67481F9ED9F2 /* Products */;
ProjectRef = DA959792AD9A5C3642835114D50DE868 /* Pods.xcodeproj */;
},
{
ProductGroup = CB563C0721C1435B00AE4437 /* Products */;
ProjectRef = 9B7786DA8E9F4FBCA1CD37AF /* QrCode.xcodeproj */;
},
{
ProductGroup = 0442208DB98A7FEC39027C12FBDE05E9 /* Products */;
ProjectRef = F06C37C0B9522995FB8FC4AACEE1A4A1 /* RCTActionSheet.xcodeproj */;
Expand Down Expand Up @@ -2152,6 +2177,13 @@
remoteRef = CB5577D4219F221E00B698BF /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
CB563C0B21C1435B00AE4437 /* libQRCode.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libQRCode.a;
remoteRef = CB563C0A21C1435B00AE4437 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
CB6626F42085056C00651519 /* libSplashScreen.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
Expand Down Expand Up @@ -2776,7 +2808,10 @@
INFOPLIST_FILE = iotaWalletUITests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
PRODUCT_BUNDLE_IDENTIFIER = com.iota.iotaWalletUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down Expand Up @@ -2811,7 +2846,10 @@
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "iotaWallet-tvOSTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.iotaWallet-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down Expand Up @@ -2847,6 +2885,7 @@
"<Multiple",
"values>",
"$(SRCROOT)/../node_modules/react-native-splash-screen/ios/**",
"$(SRCROOT)/../node_modules/react-native-qr-scanner/ios/QrCode",
);
IBC_WARNINGS = YES;
INFOPLIST_FILE = iotaWallet/Info.plist;
Expand Down Expand Up @@ -2909,7 +2948,10 @@
INFOPLIST_FILE = iotaWalletUITests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.2;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
PRODUCT_BUNDLE_IDENTIFIER = com.iota.iotaWalletUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down Expand Up @@ -2951,10 +2993,14 @@
"$(SRCROOT)/../node_modules/react-native-fingerprint-scanner/ios",
"$(SRCROOT)/../node_modules/react-native-fast-crypto/ios/**",
"$(SRCROOT)/../node_modules/nodejs-mobile-react-native/ios/**",
"$(SRCROOT)/../node_modules/react-native-qr-scanner/ios/QrCode",
);
INFOPLIST_FILE = "iotaWallet-tvOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
Expand Down Expand Up @@ -2991,7 +3037,10 @@
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "iotaWallet-tvOSTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.iotaWallet-tvOSTests";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down Expand Up @@ -3026,11 +3075,15 @@
"$(SRCROOT)/../node_modules/react-native-fingerprint-scanner/ios",
"$(SRCROOT)/../node_modules/react-native-fast-crypto/ios/**",
"$(SRCROOT)/../node_modules/nodejs-mobile-react-native/ios/**",
"$(SRCROOT)/../node_modules/react-native-qr-scanner/ios/QrCode",
);
INFOPLIST_FILE = iotaWalletTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
MACH_O_TYPE = mh_bundle;
OTHER_LDFLAGS = (
"-ObjC",
Expand Down Expand Up @@ -3132,10 +3185,14 @@
"$(SRCROOT)/../node_modules/react-native-fingerprint-scanner/ios",
"$(SRCROOT)/../node_modules/react-native-fast-crypto/ios/**",
"$(SRCROOT)/../node_modules/nodejs-mobile-react-native/ios/**",
"$(SRCROOT)/../node_modules/react-native-qr-scanner/ios/QrCode",
);
INFOPLIST_FILE = "iotaWallet-tvOS/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
OTHER_LDFLAGS = (
"-ObjC",
"-lc++",
Expand Down Expand Up @@ -3172,11 +3229,15 @@
"$(SRCROOT)/../node_modules/react-native-fingerprint-scanner/ios",
"$(SRCROOT)/../node_modules/react-native-fast-crypto/ios/**",
"$(SRCROOT)/../node_modules/nodejs-mobile-react-native/ios/**",
"$(SRCROOT)/../node_modules/react-native-qr-scanner/ios/QrCode",
);
INFOPLIST_FILE = iotaWalletTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
MACH_O_TYPE = mh_bundle;
OTHER_LDFLAGS = (
"-ObjC",
Expand Down Expand Up @@ -3212,6 +3273,7 @@
"<Multiple",
"values>",
"$(SRCROOT)/../node_modules/react-native-splash-screen/ios",
"$(SRCROOT)/../node_modules/react-native-qr-scanner/ios/QrCode",
);
IBC_WARNINGS = YES;
INFOPLIST_FILE = iotaWallet/Info.plist;
Expand Down
2 changes: 2 additions & 0 deletions src/mobile/ios/iotaWallet/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@
<string>Trinity does not require this permission for any functionality. This permission is solely listed in order to satisfy App Store requirements.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Trinity requires access to your photo library in order to save QR codes to the camera roll.</string>
<key>NSMicrophoneUsageDescription</key>
<string>Trinity requires access to your microphone for camera functionality.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Trinity does not require this permission for any functionality. This permission is solely listed in order to satisfy App Store requirements.</string>
<key>NSSpeechRecognitionUsageDescription</key>
Expand Down
4 changes: 2 additions & 2 deletions src/mobile/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
"react": "16.6.1",
"react-i18next": "^8.0.7",
"react-native": "0.57.5",
"react-native-camera": "^1.1.4",
"react-native-camera": "^1.5.1",
"react-native-crypto": "^2.0.2",
"react-native-detect-navbar-android": "^0.2.0",
"react-native-device-info": "^0.13.0",
Expand Down Expand Up @@ -86,7 +86,7 @@
"react-native-os": "git+https://github.com/laumair/react-native-os.git#527b0ae",
"react-native-print": "^0.5.0",
"react-native-progress": "^3.4.0",
"react-native-qrcode-scanner": "^1.0.1",
"react-native-qr-scanner": "^1.3.2",
"react-native-qrcode-svg": "^5.0.3",
"react-native-randombytes": "^3.2.0",
"react-native-safe-area-view": "^0.9.0",
Expand Down
2 changes: 2 additions & 0 deletions src/mobile/src/ui/components/ProgressBar.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { PanResponder, Easing, Animated, StyleSheet, View } from 'react-native';
import LottieView from 'lottie-react-native';
import ReactNativeHapticFeedback from 'react-native-haptic-feedback';
import sliderLoadingAnimation from 'shared-modules/animations/slider-loader.json';
import sliderSuccessAnimation from 'shared-modules/animations/slider-success.json';
import timer from 'react-native-timer';
Expand Down Expand Up @@ -217,6 +218,7 @@ class ProgressBar extends Component {
}

onCompleteSwipe() {
ReactNativeHapticFeedback.trigger('impactLight', false);
Animated.timing(this.state.sliderPosition, {
toValue: this.props.channelWidth - this.props.channelHeight,
duration: 50,
Expand Down
Loading