Skip to content

Commit 2a17ee4

Browse files
committed
Merge branch 'bug/DTSERWFOUR-170-Remaining-Screen-Updates' of https://github.com/hyperwallet/hyperwallet-android-ui-sdk into bug/DTSERWFOUR-170-Remaining-Screen-Updates
2 parents 9d368fc + ac65c02 commit 2a17ee4

File tree

8 files changed

+49
-45
lines changed

8 files changed

+49
-45
lines changed

receiptui/src/main/java/com/hyperwallet/android/ui/receipt/viewmodel/ListPrepaidCardReceiptsViewModel.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ public class ListPrepaidCardReceiptsViewModel extends ListReceiptsViewModel {
1919
private PrepaidCardReceiptRepository mPrepaidCardReceiptRepository;
2020
private MutableLiveData<Event<Receipt>> mDetailNavigation = new MutableLiveData<>();
2121

22-
private boolean mIsInitialized;
23-
2422
ListPrepaidCardReceiptsViewModel(@NonNull final PrepaidCardReceiptRepository receiptRepository) {
2523
mPrepaidCardReceiptRepository = receiptRepository;
2624

@@ -50,10 +48,7 @@ public LiveData<PagedList<Receipt>> receipts() {
5048

5149
@Override
5250
public void init() {
53-
if (!mIsInitialized) {
54-
mIsInitialized = true;
55-
mPrepaidCardReceiptRepository.loadPrepaidCardReceipts();
56-
}
51+
mPrepaidCardReceiptRepository.loadPrepaidCardReceipts();
5752
}
5853

5954
@Override

receiptui/src/main/java/com/hyperwallet/android/ui/receipt/viewmodel/ListUserReceiptsViewModel.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ public class ListUserReceiptsViewModel extends ListReceiptsViewModel {
1919
private UserReceiptRepository mUserReceiptRepository;
2020
private MutableLiveData<Event<Receipt>> mDetailNavigation = new MutableLiveData<>();
2121

22-
private boolean mIsInitialized;
23-
2422
ListUserReceiptsViewModel(@NonNull final UserReceiptRepository userReceiptRepository) {
2523
mUserReceiptRepository = userReceiptRepository;
2624

@@ -36,11 +34,8 @@ public void onChanged(Event<Errors> event) {
3634

3735
@Override
3836
public void init() {
39-
if (!mIsInitialized) {
40-
mIsInitialized = true;
41-
// load initial receipts
42-
mUserReceiptRepository.loadUserReceipts();
43-
}
37+
// load initial receipts
38+
mUserReceiptRepository.loadUserReceipts();
4439
}
4540

4641
@Override

receiptui/src/test/java/com/hyperwallet/android/ui/receipt/viewmodel/ListPrepaidCardReceiptsViewModelTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import static org.junit.Assert.assertThat;
66
import static org.mockito.Mockito.never;
77
import static org.mockito.Mockito.spy;
8+
import static org.mockito.Mockito.times;
89
import static org.mockito.Mockito.verify;
910

1011
import com.hyperwallet.android.ui.receipt.repository.PrepaidCardReceiptRepository;
@@ -61,12 +62,12 @@ public void testListLoadPrepaidCardReceiptsViewModel() {
6162
}
6263

6364
@Test
64-
public void testInit_verifyInitializedOnce() {
65+
public void testInit_verifyInitializedMultiple() {
6566
mListPrepaidCardReceiptsViewModel.init();
6667
verify(mPrepaidCardReceiptRepository).loadPrepaidCardReceipts();
6768
// call again. multiple calls to init should only register 1 call to repository
6869
mListPrepaidCardReceiptsViewModel.init();
69-
verify(mPrepaidCardReceiptRepository).loadPrepaidCardReceipts();
70+
verify(mPrepaidCardReceiptRepository, times(2)).loadPrepaidCardReceipts();
7071
}
7172

7273
@Test

receiptui/src/test/java/com/hyperwallet/android/ui/receipt/viewmodel/ListReceiptsViewModelTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import static org.junit.Assert.assertThat;
66
import static org.mockito.Mockito.never;
77
import static org.mockito.Mockito.spy;
8+
import static org.mockito.Mockito.times;
89
import static org.mockito.Mockito.verify;
910

1011
import com.hyperwallet.android.ui.receipt.repository.PrepaidCardReceiptRepository;
@@ -60,12 +61,12 @@ public void testLoadPrepaidCardReceiptsViewModel() {
6061
}
6162

6263
@Test
63-
public void testInit_verifyInitializedOnce() {
64+
public void testInit_verifyInitializedMultiple() {
6465
mListReceiptsViewModel.init();
6566
verify(mPrepaidCardReceiptRepository).loadPrepaidCardReceipts();
6667
// call again. multiple calls to init should only register 1 call to repository
6768
mListReceiptsViewModel.init();
68-
verify(mPrepaidCardReceiptRepository).loadPrepaidCardReceipts();
69+
verify(mPrepaidCardReceiptRepository, times(2)).loadPrepaidCardReceipts();
6970
}
7071

7172
@Test

receiptui/src/test/java/com/hyperwallet/android/ui/receipt/viewmodel/ListUserReceiptsViewModelTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import static org.junit.Assert.assertThat;
66
import static org.mockito.Mockito.never;
77
import static org.mockito.Mockito.spy;
8+
import static org.mockito.Mockito.times;
89
import static org.mockito.Mockito.verify;
910

1011
import com.hyperwallet.android.ui.receipt.repository.PrepaidCardReceiptRepository;
@@ -61,12 +62,12 @@ public void testListUserReceiptViewModel() {
6162
}
6263

6364
@Test
64-
public void testInit_verifyInitializedOnce() {
65+
public void testInit_verifyInitializedMultiple() {
6566
mListUserReceiptsViewModel.init();
6667
verify(mUserReceiptRepository).loadUserReceipts();
6768
// call again. multiple calls to init should only register 1 call to repository
6869
mListUserReceiptsViewModel.init();
69-
verify(mUserReceiptRepository).loadUserReceipts();
70+
verify(mUserReceiptRepository, times(2)).loadUserReceipts();
7071
}
7172

7273
@Test

transferui/src/main/java/com/hyperwallet/android/ui/transfer/view/CreateTransferFragment.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,22 @@ private void registerTransferSourceObservers() {
570570
public void onChanged(ArrayList<TransferSource> transferSources) {
571571
if (transferSources.size() <= 1) {
572572
mTransferSource.setOnClickListener(null);
573+
} else {
574+
mTransferSource.setOnClickListener(new OneClickListener() {
575+
@Override
576+
public void onOneClick(View v) {
577+
TransferSource activeSource =
578+
mCreateTransferViewModel.getTransferSelectedSource().getValue();
579+
ArrayList<TransferSource> sourceList =
580+
mCreateTransferViewModel.getTransferSources().getValue();
581+
Intent intent = new Intent(requireContext(), ListTransferSourceActivity.class);
582+
intent.putParcelableArrayListExtra(ListTransferSourceActivity.EXTRA_TRANSFER_SOURCE_LIST,
583+
sourceList);
584+
intent.putExtra(ListTransferSourceActivity.EXTRA_SELECTED_SOURCE_TOKEN,
585+
activeSource.getToken());
586+
startActivityForResult(intent, SELECT_TRANSFER_SOURCE_REQUEST_CODE);
587+
}
588+
});
573589
}
574590
}
575591
});

transferui/src/main/java/com/hyperwallet/android/ui/transfer/viewmodel/CreateTransferViewModel.java

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ public class CreateTransferViewModel extends ViewModel {
9999
private final MutableLiveData<TransferSource> mSelectedTransferSource = new MutableLiveData<>();
100100

101101
private String mSourceToken;
102-
private boolean mIsInitialized;
103102
private String initialAmount;
104103
private boolean mIsPortraitMode;
105104
private ProgramModel mProgramModel;
@@ -133,10 +132,7 @@ public class CreateTransferViewModel extends ViewModel {
133132
mPrepaidCardRepository = prepaidCardRepository;
134133

135134
// initialize
136-
mTransferAvailableFunds.setValue(Boolean.FALSE);
137-
mIsLoading.postValue(Boolean.TRUE);
138-
mIsCreateQuoteLoading.setValue(Boolean.FALSE);
139-
mShowFxRateChange.setValue(Boolean.FALSE);
135+
initialize();
140136
}
141137

142138
/**
@@ -155,7 +151,11 @@ public class CreateTransferViewModel extends ViewModel {
155151
mUserRepository = userRepository;
156152
mPrepaidCardRepository = prepaidCardRepository;
157153

158-
// initialize
154+
// Initialize
155+
initialize();
156+
}
157+
158+
private void initialize() {
159159
mTransferAvailableFunds.setValue(Boolean.FALSE);
160160
mIsLoading.postValue(Boolean.TRUE);
161161
mIsCreateQuoteLoading.setValue(Boolean.FALSE);
@@ -165,30 +165,24 @@ public class CreateTransferViewModel extends ViewModel {
165165
public void init(@NonNull final String defaultAmount) {
166166
initialAmount = defaultAmount;
167167
isCardModel = ProgramModel.isCardModel(getProgramModel());
168-
if (!mIsInitialized) {
169-
mIsInitialized = true;
170-
if (mSourceToken == null) {
171-
loadTransferSource();
172-
} else {
173-
loadTransferSource(mSourceToken);
174-
}
168+
if (mSourceToken == null) {
169+
loadTransferSource();
170+
} else {
171+
loadTransferSource(mSourceToken);
175172
}
176173
}
177174

178175
/**
179176
* Refresh this view model please only call this when this view model is initialized
180177
* or else it will just do nothing
181178
*/
182-
public void refresh() {
179+
public void refresh(String amount) {
183180
mTransferAmount.postValue(null);
184181
mTransferNotes.postValue(null);
185-
if (!isTransferDestinationUnknown()
186-
&& !isTransferSourceTokenUnknown() && mIsInitialized) {
187-
quoteAvailableTransferFunds(mSourceToken, mTransferDestination.getValue());
188-
} else if (isTransferDestinationUnknown()
189-
&& !isTransferSourceTokenUnknown() && mIsInitialized) {
190-
loadTransferDestination(mSourceToken);
191-
}
182+
mSourceToken = null;
183+
// Re-Initialize
184+
initialize();
185+
init(amount);
192186
}
193187

194188
public boolean isPortraitMode() {

transferui/src/test/java/com/hyperwallet/android/ui/transfer/viewmodel/CreateTransferViewModelTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1157,10 +1157,9 @@ public void testRefresh_callsRefreshWithQuote() {
11571157
// test
11581158
CreateTransferViewModel viewModel = spy(factory.create(CreateTransferViewModel.class));
11591159
doReturn(ProgramModel.CARD_ONLY_MODEL).when(viewModel).getProgramModel();
1160-
viewModel.init("0");
1161-
viewModel.refresh();
1160+
viewModel.refresh("0");
11621161

1163-
verify(mTransferRepository, times(2)).createTransfer(any(Transfer.class),
1162+
verify(mTransferRepository, times(1)).createTransfer(any(Transfer.class),
11641163
any(TransferRepository.CreateTransferCallback.class));
11651164
}
11661165

@@ -1172,9 +1171,11 @@ public void testRefresh_callsRefreshWithoutQuote() {
11721171

11731172
// test
11741173
CreateTransferViewModel viewModel = factory.create(CreateTransferViewModel.class);
1175-
viewModel.refresh();
1174+
viewModel.refresh("0");
11761175

1177-
verify(mTransferRepository, never()).createTransfer(any(Transfer.class),
1176+
assertThat(viewModel, is(notNullValue()));
1177+
assertThat(viewModel.isTransferAllAvailableFunds().getValue(), is(false));
1178+
verify(mTransferRepository, times(1)).createTransfer(any(Transfer.class),
11781179
any(TransferRepository.CreateTransferCallback.class));
11791180
}
11801181

0 commit comments

Comments
 (0)