Skip to content

Commit 99dfbd5

Browse files
committed
fix: Cannot select the document for identifiers.
refactor
1 parent cb6a079 commit 99dfbd5

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

mifosng-android/src/main/java/com/mifos/mifosxdroid/dialogfragments/documentdialog/DocumentDialogFragment.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
134134
tvDocumentAction.setText(R.string.upload_document);
135135
}
136136

137+
btUpload.setEnabled(false);
137138
return rootView;
138139
}
139140

@@ -317,6 +318,11 @@ public void showError(int errorMessage) {
317318
Toast.makeText(getActivity(), getString(errorMessage), Toast.LENGTH_SHORT).show();
318319
getDialog().dismiss();
319320
}
321+
@Override
322+
public void showUploadError(String errorMessage) {
323+
Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_SHORT).show();
324+
getDialog().dismiss();
325+
}
320326

321327
@Override
322328
public void showProgressbar(boolean b) {

mifosng-android/src/main/java/com/mifos/mifosxdroid/dialogfragments/documentdialog/DocumentDialogMvpView.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ public interface DocumentDialogMvpView extends MvpView {
1919
void showDocumentUpdatedSuccessfully();
2020

2121
void showError(int errorMessage);
22+
23+
void showUploadError(String errorMessage);
2224
}

mifosng-android/src/main/java/com/mifos/mifosxdroid/dialogfragments/documentdialog/DocumentDialogPresenter.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.mifos.api.datamanager.DataManagerDocument;
55
import com.mifos.mifosxdroid.R;
66
import com.mifos.mifosxdroid.base.BasePresenter;
7+
import com.mifos.utils.MFErrorParser;
78

89
import java.io.File;
910

@@ -12,8 +13,10 @@
1213
import okhttp3.MediaType;
1314
import okhttp3.MultipartBody.Part;
1415
import okhttp3.RequestBody;
16+
import retrofit2.adapter.rxjava.HttpException;
1517
import rx.Subscriber;
1618
import rx.android.schedulers.AndroidSchedulers;
19+
import rx.plugins.RxJavaPlugins;
1720
import rx.schedulers.Schedulers;
1821
import rx.subscriptions.CompositeSubscription;
1922

@@ -58,7 +61,19 @@ public void onCompleted() {
5861
@Override
5962
public void onError(Throwable e) {
6063
getMvpView().showProgressbar(false);
61-
getMvpView().showError(R.string.failed_to_upload_document);
64+
String errorMessage;
65+
try {
66+
if (e instanceof HttpException) {
67+
errorMessage = ((HttpException) e).response().errorBody().string();
68+
getMvpView().showUploadError(MFErrorParser.parseError(errorMessage)
69+
.getDeveloperMessage());
70+
} else {
71+
getMvpView().showError(R.string.failed_to_upload_document);
72+
}
73+
} catch (Throwable throwable) {
74+
RxJavaPlugins.getInstance().getErrorHandler()
75+
.handleError(throwable);
76+
}
6277
}
6378

6479
@Override

mifosng-android/src/main/res/layout/dialog_fragment_document.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
<LinearLayout
1919
android:layout_height="wrap_content"
20-
android:layout_width="match_parent"
20+
android:layout_width="wrap_content"
2121
android:orientation="vertical">
2222

2323
<TextView
@@ -68,7 +68,7 @@
6868
</android.support.design.widget.TextInputLayout>
6969

7070

71-
<android.support.design.widget.TextInputLayout
71+
<android.support.design.widget.TextInputLayout
7272
android:id="@+id/til_selected_file"
7373
android:gravity="center"
7474
android:layout_height="match_parent"

0 commit comments

Comments
 (0)