Browse Source

Auto Debit Add/Delete Done

master
Preyea Regmi 6 years ago
parent
commit
aa6eb0aaba
  1. BIN
      .idea/caches/build_file_checksums.ser
  2. 5
      app/src/main/AndroidManifest.xml
  3. 22
      app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/model/autodebitaccountlisting/AutoDebitAddSeriveAuthenticationServiceModel.java
  4. 8
      app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/presenter/autodebitaccountlisting/AutoDebitAccountListingV2Presenter.java
  5. 79
      app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/AutoDebitWebBrowserV2.java
  6. 3
      app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java
  7. 9
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
  8. 27
      app/src/main/java/com/gmeremit/online/gmeremittance_native/webbrowserV2/WebBrowserV2Activity.java

BIN
.idea/caches/build_file_checksums.ser

5
app/src/main/AndroidManifest.xml

@ -581,10 +581,11 @@
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden" />
<activity android:name=".webbrowserV2.WebBrowserV2Activity"
<activity android:name=".autodebitV2.view.AutoDebitWebBrowserV2"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden"/>
android:windowSoftInputMode="stateAlwaysHidden"></activity>
</application>
</manifest>

22
app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/model/autodebitaccountlisting/AutoDebitAddSeriveAuthenticationServiceModel.java

@ -0,0 +1,22 @@
package com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class AutoDebitAddSeriveAuthenticationServiceModel {
@SerializedName("location")
@Expose
private String authenticatedUrl;
public AutoDebitAddSeriveAuthenticationServiceModel() {
}
public String getAuthenticatedUrl() {
return authenticatedUrl;
}
public void setAuthenticatedUrl(String authenticatedUrl) {
this.authenticatedUrl = authenticatedUrl;
}
}

8
app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/presenter/autodebitaccountlisting/AutoDebitAccountListingV2Presenter.java

@ -59,12 +59,6 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements
.subscribeWith(new AutoDebitAccountListingObserver())
);
// //TODO mocked
// AutoDebitModel t=this.gateway.getMockedData();
// requiredHeader=t.getHeader();
// postUrl=t.getURL();
// availableLanguages=t.getLanguage();
// view.showAllAccountsToUser(t.getAccountList());
}
@ -163,8 +157,6 @@ public class AutoDebitAccountListingV2Presenter extends BasePresenter implements
@Override
public void onFailed(String message) {
view.showPopUpMessage(message,CustomAlertDialog.AlertType.FAILED,null);
// view.showToastMessage("Sucessfully deleted");
// view.onAutoDebitAccountDeletedSuccessfully(accountToBeDeleted);
}

79
app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/AutoDebitWebBrowserV2.java

@ -0,0 +1,79 @@
package com.gmeremit.online.gmeremittance_native.autodebitV2.view;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAddSeriveAuthenticationServiceModel;
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.WebRequestModel;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericResponseDataModel;
import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2;
import com.gmeremit.online.gmeremittance_native.utils.https.MessageResponseDataModel;
import com.gmeremit.online.gmeremittance_native.webbrowserV2.WebBrowserV2Activity;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import io.reactivex.Scheduler;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.schedulers.Schedulers;
public class AutoDebitWebBrowserV2 extends WebBrowserV2Activity {
private WebView webView;
private WebRequestModel webRequestModel;
private CompositeDisposable compositeDisposable;
@Override
protected void doTask(WebRequestModel webRequestModel, WebView webView) {
this.webView = webView;
this.webRequestModel = webRequestModel;
this.compositeDisposable = new CompositeDisposable();
authenticateService();
}
private void authenticateService() {
this.compositeDisposable.add(
HttpClientV2.getInstance().postDataForAddingAutoDebitAccount(webRequestModel.getUrl(), webRequestModel.getHeaderAsMapData())
.doOnSubscribe(subs -> showProgressBar(true, "Authenticating..."))
.observeOn(Schedulers.io())
.doFinally(() ->showProgressBar(false, (String) null))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new AutoDebitAddRequestObserver()));
}
@Override
protected void onDestroy() {
super.onDestroy();
if (compositeDisposable != null && !compositeDisposable.isDisposed())
compositeDisposable.dispose();
}
class AutoDebitAddRequestObserver extends GenericApiObserverResponse<AutoDebitAddSeriveAuthenticationServiceModel> {
@Override
protected void onSuccess(AutoDebitAddSeriveAuthenticationServiceModel data) {
updateTitleInBrowser(webRequestModel.getWebTitle() != null && webRequestModel.getWebTitle().length() > 0 ? webRequestModel.getWebTitle() : "");
webView.loadUrl(data.getAuthenticatedUrl());
}
@Override
public void onFailed(String message) {
showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> finish());
}
@Override
protected void onConnectionNotEstablished(String message) {
showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET, alertType -> finish());
}
}
}

3
app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java

@ -14,6 +14,7 @@ import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccou
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.KeyValueData;
import com.gmeremit.online.gmeremittance_native.autodebitV2.presenter.autodebitaccountlisting.AutoDebitAccountListingV2Presenter;
import com.gmeremit.online.gmeremittance_native.autodebitV2.presenter.autodebitaccountlisting.AutoDebitAccountListingV2PresenterInterface;
import com.gmeremit.online.gmeremittance_native.autodebitV2.view.AutoDebitWebBrowserV2;
import com.gmeremit.online.gmeremittance_native.base.BaseActivity;
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView;
import com.gmeremit.online.gmeremittance_native.webbrowserV2.WebBrowserV2Activity;
@ -147,7 +148,7 @@ public class AutoDebitAccountListingV2Activity extends BaseActivity implements A
countryListingDialog.dismiss();
if(presenter==null)
return;
Intent intent= new Intent(AutoDebitAccountListingV2Activity.this,WebBrowserV2Activity.class);
Intent intent= new Intent(AutoDebitAccountListingV2Activity.this,AutoDebitWebBrowserV2.class);
intent.putExtra(WEB_BROWSWER_URL_BUNDLE_KEY,this.presenter.getWebRequestDataForAddingAccount(countryPaymentService.getKey()));
startActivity(intent);
});

9
app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java

@ -1,5 +1,7 @@
package com.gmeremit.online.gmeremittance_native.utils.https;
import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAddSeriveAuthenticationServiceModel;
import com.gmeremit.online.gmeremittance_native.autodebitV2.view.AutoDebitWebBrowserV2;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.model.ChangePasswordActivityV2APIResponse;
import com.gmeremit.online.gmeremittance_native.customer_support.model.AmendmentRequest;
import com.gmeremit.online.gmeremittance_native.customer_support.model.Suggestion;
@ -120,6 +122,7 @@ import retrofit2.http.Body;
import retrofit2.http.DELETE;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.HeaderMap;
import retrofit2.http.Headers;
import retrofit2.http.Multipart;
import retrofit2.http.PATCH;
@ -130,6 +133,7 @@ import retrofit2.http.PartMap;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;
import retrofit2.http.Url;
public interface ApiEndpoints {
@ -659,6 +663,11 @@ public interface ApiEndpoints {
@Headers("Content-Type: application/json")
Observable<ResponseBody> submitPennyTest(@Header("Authorization") String token, @Body() JsonObject jsonObject);
@GET
@Headers("Content-Type: application/json")
Observable<AutoDebitAddSeriveAuthenticationServiceModel> postDataForAddingAutoDebitAccount(@Url String url, @HeaderMap Map<String, String> headers);
@GET(API_URL.FETCH_AUTO_DEBIT_DATA)
@Headers("Content-Type: application/json")
Observable<ResponseBody> getAutoDebitRelatedData(@Header("Authorization") String token,@Path("userId") String userId);

27
app/src/main/java/com/gmeremit/online/gmeremittance_native/webbrowserV2/WebBrowserV2Activity.java

@ -9,6 +9,7 @@ import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
@ -26,7 +27,7 @@ import com.gmeremit.online.gmeremittance_native.utils.https.HTTPConstants;
import butterknife.BindView;
import butterknife.ButterKnife;
public class WebBrowserV2Activity extends BaseActivity implements View.OnClickListener {
public abstract class WebBrowserV2Activity extends BaseActivity implements View.OnClickListener {
@BindView(R.id.iv_back)
View iv_back;
@ -46,6 +47,7 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
public static String WEB_BROWSWER_URL_BUNDLE_KEY="webBrowserBundleKey";
private WebRequestModel webRequestModel;
protected abstract void doTask(WebRequestModel webRequestModel,WebView webView);
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -62,9 +64,7 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
try {
webRequestModel = getIntent().getParcelableExtra(WEB_BROWSWER_URL_BUNDLE_KEY);
if (webRequestModel !=null) {
toolbarTitle.setText(webRequestModel.getWebTitle()!=null&&webRequestModel.getWebTitle().length()>0?webRequestModel.getWebTitle():"");
Log.d("WEBREQUESTMODEL", webRequestModel.getUrl());
webView.loadUrl(webRequestModel.getUrl(),webRequestModel.getHeaderAsMapData());
doTask(webRequestModel,webView);
}
@ -74,6 +74,12 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
}
}
protected void updateTitleInBrowser(String title)
{
// toolbarTitle.setText(webRequestModel.getWebTitle()!=null&&webRequestModel.getWebTitle().length()>0?webRequestModel.getWebTitle():"");
toolbarTitle.setText(title);
}
private void init() {
//Setup presenter here
setupWebView();
@ -91,7 +97,7 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
iv_back.setOnClickListener(null);
}
private void showProgressBar(boolean action, Runnable callback) {
protected void showProgressBar(boolean action, Runnable callback) {
if (action) {
if (progressBar.getVisibility() != View.VISIBLE) {
progressBar.setAlpha(0f);
@ -160,8 +166,9 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
webView.setWebChromeClient(gmeChromeClient);
webView.getSettings().setSaveFormData(false);
webView.getSettings().setSavePassword(false);
webView.clearCache(true);
webView.clearHistory();
webView.getSettings().setJavaScriptEnabled(true);
}
@ -251,6 +258,14 @@ public class WebBrowserV2Activity extends BaseActivity implements View.OnClickLi
if (webView.getVisibility() == View.VISIBLE)
toolbarTitle.setText(title);
}
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
showPopUpMessage(message,CustomAlertDialog.AlertType.ALERT,alertType -> result.confirm());
return true;
}
}
}
Loading…
Cancel
Save