1010import android .content .Context ;
1111import android .support .test .InstrumentationRegistry ;
1212
13+ import com .breadwallet .crypto .CryptoApi ;
1314import com .breadwallet .crypto .Network ;
1415import com .breadwallet .crypto .System ;
1516import com .breadwallet .crypto .Transfer ;
1617import com .breadwallet .crypto .Wallet ;
1718import com .breadwallet .crypto .WalletManager ;
1819import com .breadwallet .crypto .blockchaindb .BlockchainDb ;
1920import com .breadwallet .crypto .events .network .NetworkEvent ;
21+ import com .breadwallet .crypto .events .system .DefaultSystemListener ;
2022import com .breadwallet .crypto .events .system .SystemEvent ;
2123import com .breadwallet .crypto .events .system .SystemListener ;
2224import com .breadwallet .crypto .events .system .SystemManagerAddedEvent ;
@@ -78,13 +80,39 @@ static boolean deleteFile(File file) {
7880 return file .delete ();
7981 }
8082
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+
8194 // System
8295
8396 /* 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 ) {
85113 String storagePath = dataDir .getAbsolutePath ();
86114 Account account = HelpersAIT .createDefaultAccount ();
87- BlockchainDb query = HelpersAIT .createDefaultBlockchainDb ();
115+ BlockchainDb query = HelpersAIT .createDefaultBlockchainDbWithToken ();
88116 ScheduledExecutorService executor = Executors .newSingleThreadScheduledExecutor ();
89117 com .breadwallet .corecrypto .System system = com .breadwallet .corecrypto .System .create (executor , listener , account , false , storagePath , query );
90118
@@ -94,6 +122,20 @@ static System createAndConfigureSystem(File dataDir, SystemListener listener) {
94122 return system ;
95123 }
96124
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+
97139 /* package */
98140 static Optional <Network > getNetworkByCurrencyCode (Collection <Network > networks , String code ) {
99141 Network out = null ;
@@ -146,18 +188,25 @@ static Account createDefaultAccount() {
146188
147189 // BlockchainDB
148190
149- private static final OkHttpClient DEFAULT_HTTP_CLIENT = new OkHttpClient ();
191+ /* package */
192+ static final OkHttpClient DEFAULT_HTTP_CLIENT = new OkHttpClient ();
150193
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" ;
155199
156200 /* package */
157- static BlockchainDb createDefaultBlockchainDb () {
201+ static BlockchainDb createDefaultBlockchainDbWithToken () {
158202 return BlockchainDb .createForTest (DEFAULT_HTTP_CLIENT , DEFAULT_TOKEN );
159203 }
160204
205+ /* package */
206+ static BlockchainDb createDefaultBlockchainDbWithoutToken () {
207+ return new BlockchainDb (DEFAULT_HTTP_CLIENT );
208+ }
209+
161210 // Listeners
162211
163212 /* package */
0 commit comments