10
10
import android .content .Context ;
11
11
import android .support .test .InstrumentationRegistry ;
12
12
13
+ import com .breadwallet .crypto .CryptoApi ;
13
14
import com .breadwallet .crypto .Network ;
14
15
import com .breadwallet .crypto .System ;
15
16
import com .breadwallet .crypto .Transfer ;
16
17
import com .breadwallet .crypto .Wallet ;
17
18
import com .breadwallet .crypto .WalletManager ;
18
19
import com .breadwallet .crypto .blockchaindb .BlockchainDb ;
19
20
import com .breadwallet .crypto .events .network .NetworkEvent ;
21
+ import com .breadwallet .crypto .events .system .DefaultSystemListener ;
20
22
import com .breadwallet .crypto .events .system .SystemEvent ;
21
23
import com .breadwallet .crypto .events .system .SystemListener ;
22
24
import com .breadwallet .crypto .events .system .SystemManagerAddedEvent ;
@@ -78,13 +80,39 @@ static boolean deleteFile(File file) {
78
80
return file .delete ();
79
81
}
80
82
83
+ // Module
84
+
85
+ /* package */
86
+ static void registerCryptoApiProvider () {
87
+ try {
88
+ CryptoApi .initialize (CryptoApiProvider .getInstance ());
89
+ } catch (IllegalStateException e ) {
90
+ // already initialized, ignore
91
+ }
92
+ }
93
+
81
94
// System
82
95
83
96
/* package */
84
- static System createAndConfigureSystem (File dataDir , SystemListener listener ) {
97
+ static System createAndConfigureSystem (File dataDir ) {
98
+ String storagePath = dataDir .getAbsolutePath ();
99
+ Account account = HelpersAIT .createDefaultAccount ();
100
+ SystemListener listener = new DefaultSystemListener () {};
101
+ BlockchainDb query = HelpersAIT .createDefaultBlockchainDbWithToken ();
102
+ ScheduledExecutorService executor = Executors .newSingleThreadScheduledExecutor ();
103
+ com .breadwallet .corecrypto .System system = com .breadwallet .corecrypto .System .create (executor , listener , account , false , storagePath , query );
104
+
105
+ system .configure (Collections .emptyList ());
106
+ Uninterruptibles .sleepUninterruptibly (5 , TimeUnit .SECONDS );
107
+
108
+ return system ;
109
+ }
110
+
111
+ /* package */
112
+ static System createAndConfigureSystemWithListener (File dataDir , SystemListener listener ) {
85
113
String storagePath = dataDir .getAbsolutePath ();
86
114
Account account = HelpersAIT .createDefaultAccount ();
87
- BlockchainDb query = HelpersAIT .createDefaultBlockchainDb ();
115
+ BlockchainDb query = HelpersAIT .createDefaultBlockchainDbWithToken ();
88
116
ScheduledExecutorService executor = Executors .newSingleThreadScheduledExecutor ();
89
117
com .breadwallet .corecrypto .System system = com .breadwallet .corecrypto .System .create (executor , listener , account , false , storagePath , query );
90
118
@@ -94,6 +122,20 @@ static System createAndConfigureSystem(File dataDir, SystemListener listener) {
94
122
return system ;
95
123
}
96
124
125
+ /* package */
126
+ static System createAndConfigureSystemWithBlockchainDbAndCurrencies (File dataDir , BlockchainDb query , List <com .breadwallet .crypto .blockchaindb .models .bdb .Currency > currencies ) {
127
+ String storagePath = dataDir .getAbsolutePath ();
128
+ Account account = HelpersAIT .createDefaultAccount ();
129
+ SystemListener listener = new DefaultSystemListener () {};
130
+ ScheduledExecutorService executor = Executors .newSingleThreadScheduledExecutor ();
131
+ com .breadwallet .corecrypto .System system = com .breadwallet .corecrypto .System .create (executor , listener , account , false , storagePath , query );
132
+
133
+ system .configure (currencies );
134
+ Uninterruptibles .sleepUninterruptibly (5 , TimeUnit .SECONDS );
135
+
136
+ return system ;
137
+ }
138
+
97
139
/* package */
98
140
static Optional <Network > getNetworkByCurrencyCode (Collection <Network > networks , String code ) {
99
141
Network out = null ;
@@ -146,18 +188,25 @@ static Account createDefaultAccount() {
146
188
147
189
// BlockchainDB
148
190
149
- private static final OkHttpClient DEFAULT_HTTP_CLIENT = new OkHttpClient ();
191
+ /* package */
192
+ static final OkHttpClient DEFAULT_HTTP_CLIENT = new OkHttpClient ();
150
193
151
- private static String DEFAULT_TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9." +
152
- "eyJzdWIiOiJkZWI2M2UyOC0wMzQ1LTQ4ZjYtOWQxNy1jZTgwY2JkNjE3Y2IiLCJicmQ" +
153
- "6Y3QiOiJjbGkiLCJleHAiOjkyMjMzNzIwMzY4NTQ3NzUsImlhdCI6MTU2Njg2MzY0OX0." +
154
- "FvLLDUSk1p7iFLJfg2kA-vwhDWTDulVjdj8YpFgnlE62OBFCYt4b3KeTND_qAhLynLKbGJ1UDpMMihsxtfvA0A" ;
194
+ private static String DEFAULT_TOKEN = "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9." +
195
+ "eyJzdWIiOiJjNzQ5NTA2ZS02MWUzLTRjM2UtYWNiNS00OTY5NTM2ZmRhMTAiLCJpYXQiOjE1N" +
196
+ "zI1NDY1MDAuODg3LCJleHAiOjE4ODAxMzA1MDAuODg3LCJicmQ6Y3QiOiJ1c3IiLCJicmQ6Y2" +
197
+ "xpIjoiZGViNjNlMjgtMDM0NS00OGY2LTlkMTctY2U4MGNiZDYxN2NiIn0." +
198
+ "460_GdAWbONxqOhWL5TEbQ7uEZi3fSNrl0E_Zg7MAg570CVcgO7rSMJvAPwaQtvIx1XFK_QZjcoNULmB8EtOdg" ;
155
199
156
200
/* package */
157
- static BlockchainDb createDefaultBlockchainDb () {
201
+ static BlockchainDb createDefaultBlockchainDbWithToken () {
158
202
return BlockchainDb .createForTest (DEFAULT_HTTP_CLIENT , DEFAULT_TOKEN );
159
203
}
160
204
205
+ /* package */
206
+ static BlockchainDb createDefaultBlockchainDbWithoutToken () {
207
+ return new BlockchainDb (DEFAULT_HTTP_CLIENT );
208
+ }
209
+
161
210
// Listeners
162
211
163
212
/* package */
0 commit comments