Preyea Regmi
5 years ago
35 changed files with 1028 additions and 31 deletions
-
BIN.idea/caches/build_file_checksums.ser
-
14app/src/main/AndroidManifest.xml
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java
-
22app/src/main/java/com/gmeremit/online/gmeremittance_native/rewardV2/presenter/rewardlisting/RewardListingV2Presenter.java
-
13app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/presenter/SplashScreenPresenter.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java
-
35app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/adapter/LocalTopUpServiceViewPagerAdapter.java
-
21app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/gateway/LocalTopUpGateway.java
-
19app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/model/ButtonsGrid.java
-
65app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/model/CardInfoDTO.java
-
64app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/model/LocalTopUpResponseDTO.java
-
41app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/model/PlanInfo.java
-
107app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/model/SubInfo.java
-
16app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/presenter/LocalTopUpInteractorInterface.java
-
133app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/presenter/LocalTopUpPresenter.java
-
20app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/presenter/LocalTopUpPresenterInterface.java
-
117app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/view/LocalTopUpActivity.java
-
8app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/view/LocalTopUpActivityActionListener.java
-
41app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/view/services/DataOnlyLocalTopUpFragment.java
-
40app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/view/services/FixedChargeLocalTopupFragment.java
-
40app/src/main/java/com/gmeremit/online/gmeremittance_native/topup/local/view/services/RegularLocalTopupFragment.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionhistoryV2/view/TransactionHistoryActivityV2.java
-
1app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
-
12app/src/main/res/drawable/circular_tab_layout_bg.xml
-
21app/src/main/res/drawable/circular_tab_selected_bg.xml
-
12app/src/main/res/drawable/circular_tab_selector.xml
-
18app/src/main/res/drawable/circular_tab_unselected_bg.xml
-
2app/src/main/res/drawable/ic_rounded_country_listing_pink.xml
-
115app/src/main/res/layout/activity_local_top_up.xml
-
14app/src/main/res/layout/tab_data_local_top_up.xml
-
14app/src/main/res/layout/tab_fixed_local_top_up.xml
-
14app/src/main/res/layout/tab_regular_local_top_up.xml
-
1app/src/main/res/values/colors.xml
-
7app/src/main/res/values/styles.xml
@ -0,0 +1,35 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.adapter; |
|||
|
|||
import android.support.v4.app.Fragment; |
|||
import android.support.v4.app.FragmentManager; |
|||
import android.support.v4.app.FragmentPagerAdapter; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class LocalTopUpServiceViewPagerAdapter extends FragmentPagerAdapter { |
|||
|
|||
private List<Fragment> fraglist; |
|||
|
|||
public LocalTopUpServiceViewPagerAdapter(FragmentManager fm) { |
|||
super(fm); |
|||
fraglist=new ArrayList<>(); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public Fragment getItem(int position) { |
|||
return fraglist.get(position); |
|||
} |
|||
|
|||
public void addFragments(List<Fragment> data) |
|||
{ |
|||
fraglist=data; |
|||
} |
|||
@Override |
|||
public int getCount() { |
|||
return fraglist.size(); |
|||
} |
|||
|
|||
|
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.gateway; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.presenter.LocalTopUpInteractorInterface; |
|||
import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2; |
|||
import com.google.gson.JsonObject; |
|||
|
|||
import io.reactivex.Observable; |
|||
import okhttp3.ResponseBody; |
|||
|
|||
public class LocalTopUpGateway extends PrivilegedGateway implements LocalTopUpInteractorInterface.LocalTopupGateway { |
|||
|
|||
@Override |
|||
public Observable<ResponseBody> getLocalTopUpRelatedData(String auth, String cardType, String topUpMobileNumber) { |
|||
JsonObject jsonObject=new JsonObject(); |
|||
jsonObject.addProperty("GetcardType",cardType); |
|||
jsonObject.addProperty("PhoneNo",topUpMobileNumber); |
|||
|
|||
return HttpClientV2.getInstance().getLocalTopUpRelatedData(auth,jsonObject); |
|||
} |
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.model; |
|||
|
|||
import com.google.gson.annotations.Expose; |
|||
import com.google.gson.annotations.SerializedName; |
|||
|
|||
public class ButtonsGrid { |
|||
|
|||
@SerializedName("Price") |
|||
@Expose |
|||
private String price; |
|||
|
|||
public String getPrice() { |
|||
return price; |
|||
} |
|||
|
|||
public void setPrice(String price) { |
|||
this.price = price; |
|||
} |
|||
} |
@ -0,0 +1,65 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.model; |
|||
|
|||
import com.google.gson.annotations.Expose; |
|||
import com.google.gson.annotations.SerializedName; |
|||
|
|||
import java.util.List; |
|||
|
|||
public class CardInfoDTO { |
|||
|
|||
@SerializedName("CardCode") |
|||
@Expose |
|||
private String cardCode; |
|||
@SerializedName("CardName") |
|||
@Expose |
|||
private String cardName; |
|||
@SerializedName("FacePrice") |
|||
@Expose |
|||
private String facePrice; |
|||
@SerializedName("SubInfo") |
|||
@Expose |
|||
private List<SubInfo> subInfo = null; |
|||
@SerializedName("Promotion_price") |
|||
@Expose |
|||
private String promotionPrice; |
|||
|
|||
public String getCardCode() { |
|||
return cardCode; |
|||
} |
|||
|
|||
public void setCardCode(String cardCode) { |
|||
this.cardCode = cardCode; |
|||
} |
|||
|
|||
public String getCardName() { |
|||
return cardName; |
|||
} |
|||
|
|||
public void setCardName(String cardName) { |
|||
this.cardName = cardName; |
|||
} |
|||
|
|||
public String getFacePrice() { |
|||
return facePrice; |
|||
} |
|||
|
|||
public void setFacePrice(String facePrice) { |
|||
this.facePrice = facePrice; |
|||
} |
|||
|
|||
public List<SubInfo> getSubInfo() { |
|||
return subInfo; |
|||
} |
|||
|
|||
public void setSubInfo(List<SubInfo> subInfo) { |
|||
this.subInfo = subInfo; |
|||
} |
|||
|
|||
public String getPromotionPrice() { |
|||
return promotionPrice; |
|||
} |
|||
|
|||
public void setPromotionPrice(String promotionPrice) { |
|||
this.promotionPrice = promotionPrice; |
|||
} |
|||
} |
@ -0,0 +1,64 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.model; |
|||
|
|||
import com.google.gson.annotations.Expose; |
|||
import com.google.gson.annotations.SerializedName; |
|||
|
|||
import java.util.List; |
|||
|
|||
public class LocalTopUpResponseDTO { |
|||
|
|||
@SerializedName("CardListType") |
|||
@Expose |
|||
private String cardListType; |
|||
@SerializedName("ButtonsGrid") |
|||
@Expose |
|||
private List<ButtonsGrid> buttonsGrid = null; |
|||
@SerializedName("CountryPriceCode") |
|||
@Expose |
|||
private String countryPriceCode; |
|||
@SerializedName("CardInfo") |
|||
@Expose |
|||
private List<CardInfoDTO> cardInfo; |
|||
|
|||
public String getCardListType() { |
|||
return cardListType; |
|||
} |
|||
|
|||
public void setCardListType(String cardListType) { |
|||
this.cardListType = cardListType; |
|||
} |
|||
|
|||
public List<ButtonsGrid> getButtonsGrid() { |
|||
return buttonsGrid; |
|||
} |
|||
|
|||
public void setButtonsGrid(List<ButtonsGrid> buttonsGrid) { |
|||
this.buttonsGrid = buttonsGrid; |
|||
} |
|||
|
|||
public String getCountryPriceCode() { |
|||
return countryPriceCode; |
|||
} |
|||
|
|||
public void setCountryPriceCode(String countryPriceCode) { |
|||
this.countryPriceCode = countryPriceCode; |
|||
} |
|||
|
|||
public List<CardInfoDTO> getCardInfo() { |
|||
return cardInfo; |
|||
} |
|||
|
|||
public void setCardInfo(List<CardInfoDTO> cardInfo) { |
|||
this.cardInfo = cardInfo; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return "LocalTopUpResponseDTO{" + |
|||
"cardListType='" + cardListType + '\'' + |
|||
", buttonsGrid=" + buttonsGrid + |
|||
", countryPriceCode='" + countryPriceCode + '\'' + |
|||
", cardInfo=" + cardInfo + |
|||
'}'; |
|||
} |
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.model; |
|||
|
|||
import com.google.gson.annotations.Expose; |
|||
import com.google.gson.annotations.SerializedName; |
|||
|
|||
public class PlanInfo { |
|||
|
|||
@SerializedName("Data") |
|||
@Expose |
|||
private String data; |
|||
@SerializedName("Voice") |
|||
@Expose |
|||
private String voice; |
|||
@SerializedName("Unlimited") |
|||
@Expose |
|||
private Object unlimited; |
|||
|
|||
public String getData() { |
|||
return data; |
|||
} |
|||
|
|||
public void setData(String data) { |
|||
this.data = data; |
|||
} |
|||
|
|||
public String getVoice() { |
|||
return voice; |
|||
} |
|||
|
|||
public void setVoice(String voice) { |
|||
this.voice = voice; |
|||
} |
|||
|
|||
public Object getUnlimited() { |
|||
return unlimited; |
|||
} |
|||
|
|||
public void setUnlimited(Object unlimited) { |
|||
this.unlimited = unlimited; |
|||
} |
|||
} |
@ -0,0 +1,107 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.model; |
|||
|
|||
import com.google.gson.annotations.Expose; |
|||
import com.google.gson.annotations.SerializedName; |
|||
|
|||
public class SubInfo { |
|||
|
|||
@SerializedName("Mvno_code") |
|||
@Expose |
|||
private String mvnoCode; |
|||
@SerializedName("Sale_price") |
|||
@Expose |
|||
private String salePrice; |
|||
@SerializedName("Card_type") |
|||
@Expose |
|||
private String cardType; |
|||
@SerializedName("Product_name") |
|||
@Expose |
|||
private String productName; |
|||
@SerializedName("Face_price") |
|||
@Expose |
|||
private String facePrice; |
|||
@SerializedName("Product_type") |
|||
@Expose |
|||
private String productType; |
|||
@SerializedName("Plan_info") |
|||
@Expose |
|||
private PlanInfo planInfo; |
|||
@SerializedName("Card_name") |
|||
@Expose |
|||
private String cardName; |
|||
@SerializedName("Telecom_code") |
|||
@Expose |
|||
private String telecomCode; |
|||
|
|||
public String getMvnoCode() { |
|||
return mvnoCode; |
|||
} |
|||
|
|||
public void setMvnoCode(String mvnoCode) { |
|||
this.mvnoCode = mvnoCode; |
|||
} |
|||
|
|||
public String getSalePrice() { |
|||
return salePrice; |
|||
} |
|||
|
|||
public void setSalePrice(String salePrice) { |
|||
this.salePrice = salePrice; |
|||
} |
|||
|
|||
public String getCardType() { |
|||
return cardType; |
|||
} |
|||
|
|||
public void setCardType(String cardType) { |
|||
this.cardType = cardType; |
|||
} |
|||
|
|||
public String getProductName() { |
|||
return productName; |
|||
} |
|||
|
|||
public void setProductName(String productName) { |
|||
this.productName = productName; |
|||
} |
|||
|
|||
public String getFacePrice() { |
|||
return facePrice; |
|||
} |
|||
|
|||
public void setFacePrice(String facePrice) { |
|||
this.facePrice = facePrice; |
|||
} |
|||
|
|||
public String getProductType() { |
|||
return productType; |
|||
} |
|||
|
|||
public void setProductType(String productType) { |
|||
this.productType = productType; |
|||
} |
|||
|
|||
public PlanInfo getPlanInfo() { |
|||
return planInfo; |
|||
} |
|||
|
|||
public void setPlanInfo(PlanInfo planInfo) { |
|||
this.planInfo = planInfo; |
|||
} |
|||
|
|||
public String getCardName() { |
|||
return cardName; |
|||
} |
|||
|
|||
public void setCardName(String cardName) { |
|||
this.cardName = cardName; |
|||
} |
|||
|
|||
public String getTelecomCode() { |
|||
return telecomCode; |
|||
} |
|||
|
|||
public void setTelecomCode(String telecomCode) { |
|||
this.telecomCode = telecomCode; |
|||
} |
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.presenter; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface; |
|||
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface; |
|||
|
|||
import io.reactivex.Observable; |
|||
import okhttp3.ResponseBody; |
|||
|
|||
public interface LocalTopUpInteractorInterface extends BaseInteractorInterface { |
|||
|
|||
interface LocalTopupGateway extends PrivilegedGatewayInterface |
|||
{ |
|||
Observable<ResponseBody> getLocalTopUpRelatedData(String auth,String cardType,String topUpMobileNumber); |
|||
|
|||
} |
|||
} |
@ -0,0 +1,133 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.presenter; |
|||
|
|||
import android.util.Log; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.R; |
|||
import com.gmeremit.online.gmeremittance_native.base.BasePresenter; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.model.LocalTopUpResponseDTO; |
|||
import com.gmeremit.online.gmeremittance_native.utils.Constants; |
|||
import com.gmeremit.online.gmeremittance_native.utils.https.GenericResponseDataModel; |
|||
import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2; |
|||
import com.google.gson.reflect.TypeToken; |
|||
|
|||
import java.lang.reflect.Type; |
|||
|
|||
import io.reactivex.Observable; |
|||
import io.reactivex.android.schedulers.AndroidSchedulers; |
|||
import io.reactivex.disposables.CompositeDisposable; |
|||
import io.reactivex.observers.DisposableObserver; |
|||
import io.reactivex.schedulers.Schedulers; |
|||
import io.reactivex.subjects.BehaviorSubject; |
|||
|
|||
public class LocalTopUpPresenter extends BasePresenter implements LocalTopUpPresenterInterface { |
|||
|
|||
|
|||
private final LocalTopUpContractInterface view; |
|||
private final LocalTopUpInteractorInterface.LocalTopupGateway gateway; |
|||
private final CompositeDisposable compositeDisposable; |
|||
private final BehaviorSubject<LocalTopUpRelatedData> topUpRelatedData; |
|||
|
|||
public static final String REGULAR_CARD_TYPE="1"; |
|||
public static final String FIXED_CARD_TYPE="6"; |
|||
public static final String DATA_PACK_CARD_TYPE="5"; |
|||
|
|||
public LocalTopUpPresenter(LocalTopUpContractInterface view, LocalTopUpInteractorInterface.LocalTopupGateway gateway) { |
|||
this.view=view; |
|||
this.gateway=gateway; |
|||
this.compositeDisposable=new CompositeDisposable(); |
|||
this.topUpRelatedData= BehaviorSubject.create(); |
|||
} |
|||
|
|||
@Override |
|||
public void getAllRequiredData() { |
|||
this.compositeDisposable.add( |
|||
Observable.zip( |
|||
getLocalTopUpOnBasisCardType(REGULAR_CARD_TYPE,"") |
|||
.onErrorReturnItem(new LocalTopUpResponseDTO()), |
|||
getLocalTopUpOnBasisCardType(FIXED_CARD_TYPE,"") |
|||
.onErrorReturnItem(new LocalTopUpResponseDTO()), |
|||
getLocalTopUpOnBasisCardType(DATA_PACK_CARD_TYPE,"") |
|||
.onErrorReturnItem(new LocalTopUpResponseDTO()), |
|||
LocalTopUpRelatedData::new) |
|||
.subscribeOn(Schedulers.io()) |
|||
.doOnSubscribe(d->view.showProgressBar(true,getStringfromStringId(R.string.processing_request_text))) |
|||
.observeOn(AndroidSchedulers.mainThread()) |
|||
.doFinally(()->view.showProgressBar(false,"")) |
|||
.subscribeWith(new LocalTopUpRelatedDataObserver()) |
|||
); |
|||
} |
|||
|
|||
@Override |
|||
public Observable<LocalTopUpResponseDTO> subscribeToRegularTopUpRelatedDataEvent() { |
|||
return topUpRelatedData.flatMap(allData-> Observable.just(allData.getRegularDTO())); |
|||
} |
|||
|
|||
@Override |
|||
public Observable<LocalTopUpResponseDTO> subscribeToFixedTopUpRelatedDataEvent() { |
|||
return topUpRelatedData.flatMap(allData-> Observable.just(allData.getFixedDTO())); |
|||
} |
|||
|
|||
@Override |
|||
public Observable<LocalTopUpResponseDTO> subscribeToDataPackTopUpRelatedDataEvent() { |
|||
return topUpRelatedData.flatMap(allData-> Observable.just(allData.getDataPackDTO())); |
|||
} |
|||
|
|||
private Observable<LocalTopUpResponseDTO> getLocalTopUpOnBasisCardType(String cardType, String mobileNumber) |
|||
{ |
|||
Type productType = new TypeToken<GenericResponseDataModel<LocalTopUpResponseDTO>>() {}.getType(); |
|||
return this.gateway.getLocalTopUpRelatedData(this.gateway.getAuth(),cardType,mobileNumber) |
|||
.subscribeOn(Schedulers.io()) |
|||
.flatMap(response -> { |
|||
GenericResponseDataModel<LocalTopUpResponseDTO> data = HttpClientV2.getDeserializer().fromJson(response.string(), productType); |
|||
if(data.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) |
|||
return Observable.just(data.getData()); |
|||
else |
|||
return Observable.error(new Throwable(data.getMsg())); |
|||
}); |
|||
} |
|||
|
|||
|
|||
public static class LocalTopUpRelatedData |
|||
{ |
|||
private LocalTopUpResponseDTO regularDTO; |
|||
private LocalTopUpResponseDTO fixedDTO; |
|||
private LocalTopUpResponseDTO dataPackDTO; |
|||
|
|||
public LocalTopUpRelatedData(LocalTopUpResponseDTO regularDTO, LocalTopUpResponseDTO fixedDTO, LocalTopUpResponseDTO dataPackDTO) { |
|||
this.regularDTO = regularDTO; |
|||
this.fixedDTO = fixedDTO; |
|||
this.dataPackDTO = dataPackDTO; |
|||
} |
|||
|
|||
public LocalTopUpResponseDTO getRegularDTO() { |
|||
return regularDTO; |
|||
} |
|||
|
|||
public LocalTopUpResponseDTO getFixedDTO() { |
|||
return fixedDTO; |
|||
} |
|||
|
|||
public LocalTopUpResponseDTO getDataPackDTO() { |
|||
return dataPackDTO; |
|||
} |
|||
} |
|||
|
|||
public class LocalTopUpRelatedDataObserver extends DisposableObserver<LocalTopUpRelatedData> |
|||
{ |
|||
|
|||
@Override |
|||
public void onNext(LocalTopUpRelatedData o) { |
|||
topUpRelatedData.onNext(o); |
|||
} |
|||
|
|||
@Override |
|||
public void onError(Throwable e) { |
|||
Log.d("LocalTopUpError",e.getMessage()); |
|||
} |
|||
|
|||
@Override |
|||
public void onComplete() { |
|||
|
|||
} |
|||
} |
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.presenter; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.BaseContractInterface; |
|||
import com.gmeremit.online.gmeremittance_native.base.BasePresenterInterface; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.model.LocalTopUpResponseDTO; |
|||
|
|||
import io.reactivex.Observable; |
|||
|
|||
public interface LocalTopUpPresenterInterface extends BasePresenterInterface { |
|||
|
|||
void getAllRequiredData(); |
|||
|
|||
Observable<LocalTopUpResponseDTO> subscribeToRegularTopUpRelatedDataEvent(); |
|||
Observable<LocalTopUpResponseDTO> subscribeToFixedTopUpRelatedDataEvent(); |
|||
Observable<LocalTopUpResponseDTO> subscribeToDataPackTopUpRelatedDataEvent(); |
|||
|
|||
interface LocalTopUpContractInterface extends BaseContractInterface { |
|||
|
|||
} |
|||
} |
@ -0,0 +1,117 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.view; |
|||
|
|||
import android.support.design.widget.TabLayout; |
|||
import android.support.v4.app.Fragment; |
|||
import android.support.v4.view.ViewPager; |
|||
import android.os.Bundle; |
|||
import android.view.View; |
|||
import android.widget.ImageView; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.R; |
|||
import com.gmeremit.online.gmeremittance_native.base.BaseActivity; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.adapter.LocalTopUpServiceViewPagerAdapter; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.gateway.LocalTopUpGateway; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.presenter.LocalTopUpPresenter; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.presenter.LocalTopUpPresenterInterface; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.view.services.DataOnlyLocalTopUpFragment; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.view.services.FixedChargeLocalTopupFragment; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.view.services.RegularLocalTopupFragment; |
|||
import com.gmeremit.online.gmeremittance_native.transactionhistoryV2.view.domestic.DomesticTransactionHistoryTypeFragmentV2; |
|||
import com.gmeremit.online.gmeremittance_native.transactionhistoryV2.view.international.InternationalTransactionHistoryContainerFragmentV2; |
|||
import com.gmeremit.online.gmeremittance_native.transactionhistoryV2.view.international.adapter.TransactionHistoryViewPagerAdapter; |
|||
|
|||
import java.util.ArrayList; |
|||
|
|||
import butterknife.BindView; |
|||
import butterknife.ButterKnife; |
|||
|
|||
public class LocalTopUpActivity extends BaseActivity implements LocalTopUpPresenterInterface.LocalTopUpContractInterface,LocalTopUpActivityActionListener{ |
|||
|
|||
@BindView(R.id.localTopupTabLayout) |
|||
TabLayout localTopupTabLayout; |
|||
|
|||
@BindView(R.id.toolbar_title) |
|||
GmeTextView toolbarTitle; |
|||
|
|||
@BindView(R.id.localTopupViewPager) |
|||
ViewPager localTopupViewPager; |
|||
|
|||
|
|||
@BindView(R.id.iv_back) |
|||
ImageView ivBack; |
|||
|
|||
|
|||
@BindView(R.id.iv_cancel) |
|||
View ivCancel; |
|||
private LocalTopUpServiceViewPagerAdapter localTopupViewPagerAdapter; |
|||
private ArrayList<Fragment> fragments; |
|||
|
|||
private LocalTopUpPresenterInterface presenter; |
|||
|
|||
@Override |
|||
protected void onCreate(Bundle savedInstanceState) { |
|||
super.onCreate(savedInstanceState); |
|||
setContentView(R.layout.activity_local_top_up); |
|||
ButterKnife.bind(this); |
|||
initialize(); |
|||
performDefaultAction(savedInstanceState); |
|||
} |
|||
|
|||
|
|||
private void initialize() { |
|||
presenter=new LocalTopUpPresenter(this,new LocalTopUpGateway()); |
|||
toolbarTitle.setText(getString(R.string.transaction_report_title_text)); |
|||
setupViewPager(); |
|||
setUpTabLayout(); |
|||
ivCancel.setVisibility(View.INVISIBLE); |
|||
|
|||
} |
|||
|
|||
private void performDefaultAction(Bundle savedInstanceState) { |
|||
presenter.getAllRequiredData(); |
|||
} |
|||
|
|||
private void setUpTabLayout() { |
|||
try { |
|||
localTopupTabLayout.getTabAt(0).setCustomView(R.layout.tab_regular_local_top_up); |
|||
localTopupTabLayout.getTabAt(1).setCustomView(R.layout.tab_fixed_local_top_up); |
|||
localTopupTabLayout.getTabAt(2).setCustomView(R.layout.tab_data_local_top_up); |
|||
|
|||
} catch (NullPointerException e) { |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
private void setupViewPager() { |
|||
|
|||
localTopupViewPagerAdapter = new LocalTopUpServiceViewPagerAdapter(getSupportFragmentManager()); |
|||
|
|||
fragments = new ArrayList<>(); |
|||
|
|||
fragments.add(new RegularLocalTopupFragment()); |
|||
fragments.add(new FixedChargeLocalTopupFragment()); |
|||
fragments.add(new DataOnlyLocalTopUpFragment()); |
|||
// fragments.add(deliveredTransactionFragment); |
|||
|
|||
|
|||
localTopupViewPagerAdapter.addFragments(fragments); |
|||
|
|||
|
|||
|
|||
localTopupViewPager.setOffscreenPageLimit(3); |
|||
|
|||
localTopupViewPager.setAdapter(localTopupViewPagerAdapter); |
|||
|
|||
|
|||
localTopupTabLayout.setupWithViewPager(localTopupViewPager); |
|||
|
|||
|
|||
} |
|||
|
|||
@Override |
|||
public LocalTopUpPresenterInterface getPresenter() { |
|||
return this.presenter; |
|||
} |
|||
} |
@ -0,0 +1,8 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.view; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.topup.local.presenter.LocalTopUpPresenterInterface; |
|||
|
|||
public interface LocalTopUpActivityActionListener |
|||
{ |
|||
LocalTopUpPresenterInterface getPresenter(); |
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.view.services; |
|||
|
|||
import android.app.Activity; |
|||
import android.content.Context; |
|||
import android.os.Bundle; |
|||
import android.support.annotation.Nullable; |
|||
import android.util.Log; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.BaseFragment; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.model.LocalTopUpResponseDTO; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.view.LocalTopUpActivityActionListener; |
|||
|
|||
import io.reactivex.observers.DisposableObserver; |
|||
|
|||
public class DataOnlyLocalTopUpFragment extends BaseFragment { |
|||
|
|||
@Override |
|||
public void onCreate(@Nullable Bundle savedInstanceState) { |
|||
super.onCreate(savedInstanceState); |
|||
((LocalTopUpActivityActionListener)getActivity()).getPresenter().subscribeToDataPackTopUpRelatedDataEvent().subscribe(new DataOnlyLocalTopUpFragmentObserver()); |
|||
} |
|||
|
|||
public class DataOnlyLocalTopUpFragmentObserver extends DisposableObserver<LocalTopUpResponseDTO> |
|||
{ |
|||
|
|||
@Override |
|||
public void onNext(LocalTopUpResponseDTO localTopUpResponseDTO) { |
|||
Log.d("LOCALTOPUPDATA",this.getClass().getSimpleName()+" : "+localTopUpResponseDTO.toString()); |
|||
} |
|||
|
|||
@Override |
|||
public void onError(Throwable e) { |
|||
Log.d("DataPackLocalTopUp",e.getMessage()); |
|||
} |
|||
|
|||
@Override |
|||
public void onComplete() { |
|||
|
|||
} |
|||
} |
|||
} |
@ -0,0 +1,40 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.view.services; |
|||
|
|||
import android.os.Bundle; |
|||
import android.support.annotation.Nullable; |
|||
import android.util.Log; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.BaseFragment; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.model.LocalTopUpResponseDTO; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.view.LocalTopUpActivityActionListener; |
|||
|
|||
import io.reactivex.observers.DisposableObserver; |
|||
|
|||
public class FixedChargeLocalTopupFragment extends BaseFragment { |
|||
|
|||
|
|||
@Override |
|||
public void onCreate(@Nullable Bundle savedInstanceState) { |
|||
super.onCreate(savedInstanceState); |
|||
((LocalTopUpActivityActionListener)getActivity()).getPresenter().subscribeToFixedTopUpRelatedDataEvent().subscribe(new FixedChargeLocalTopupFragmentObserver()); |
|||
} |
|||
|
|||
public class FixedChargeLocalTopupFragmentObserver extends DisposableObserver<LocalTopUpResponseDTO> |
|||
{ |
|||
|
|||
@Override |
|||
public void onNext(LocalTopUpResponseDTO localTopUpResponseDTO) { |
|||
Log.d("LOCALTOPUPDATA",this.getClass().getSimpleName()+" : "+localTopUpResponseDTO.toString()); |
|||
} |
|||
|
|||
@Override |
|||
public void onError(Throwable e) { |
|||
Log.d("DataPackLocalTopUp",e.getMessage()); |
|||
} |
|||
|
|||
@Override |
|||
public void onComplete() { |
|||
|
|||
} |
|||
} |
|||
} |
@ -0,0 +1,40 @@ |
|||
package com.gmeremit.online.gmeremittance_native.topup.local.view.services; |
|||
|
|||
import android.os.Bundle; |
|||
import android.support.annotation.Nullable; |
|||
import android.util.Log; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.base.BaseFragment; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.model.LocalTopUpResponseDTO; |
|||
import com.gmeremit.online.gmeremittance_native.topup.local.view.LocalTopUpActivityActionListener; |
|||
|
|||
import io.reactivex.observers.DisposableObserver; |
|||
|
|||
public class RegularLocalTopupFragment extends BaseFragment { |
|||
|
|||
|
|||
@Override |
|||
public void onCreate(@Nullable Bundle savedInstanceState) { |
|||
super.onCreate(savedInstanceState); |
|||
((LocalTopUpActivityActionListener)getActivity()).getPresenter().subscribeToRegularTopUpRelatedDataEvent().subscribe(new RegularLocalTopUpFragmentObserver()); |
|||
} |
|||
|
|||
public class RegularLocalTopUpFragmentObserver extends DisposableObserver<LocalTopUpResponseDTO> |
|||
{ |
|||
|
|||
@Override |
|||
public void onNext(LocalTopUpResponseDTO localTopUpResponseDTO) { |
|||
Log.d("LOCALTOPUPDATA",this.getClass().getSimpleName()+" : "+localTopUpResponseDTO.toString()); |
|||
} |
|||
|
|||
@Override |
|||
public void onError(Throwable e) { |
|||
Log.d("DataPackLocalTopUp",e.getMessage()); |
|||
} |
|||
|
|||
@Override |
|||
public void onComplete() { |
|||
|
|||
} |
|||
} |
|||
} |
@ -0,0 +1,12 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:shape="rectangle"> |
|||
|
|||
<corners |
|||
android:radius="@dimen/_12sdp"/> |
|||
|
|||
<!-- TabLayout background color --> |
|||
<solid |
|||
android:color="#E0E0E0"/> |
|||
|
|||
</shape> |
@ -0,0 +1,21 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<layer-list |
|||
xmlns:android="http://schemas.android.com/apk/res/android" > |
|||
|
|||
<item |
|||
android:left="@dimen/_2sdp" |
|||
android:right="@dimen/_2sdp" |
|||
android:top="@dimen/_2sdp" |
|||
android:bottom="@dimen/_2sdp"> |
|||
<shape |
|||
android:shape="rectangle"> |
|||
|
|||
<corners |
|||
android:radius="@dimen/_12sdp"/> |
|||
|
|||
<solid |
|||
android:color="#FBFCFD"/> |
|||
|
|||
</shape> |
|||
</item> |
|||
</layer-list> |
@ -0,0 +1,12 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<selector xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
|
|||
<item |
|||
android:drawable="@drawable/circular_tab_selected_bg" |
|||
android:state_selected="true"/> |
|||
|
|||
<item |
|||
android:drawable="@drawable/circular_tab_unselected_bg" |
|||
android:state_selected="false"/> |
|||
|
|||
</selector> |
@ -0,0 +1,18 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<layer-list |
|||
xmlns:android="http://schemas.android.com/apk/res/android" > |
|||
|
|||
<item |
|||
android:left="@dimen/_2sdp" |
|||
android:right="@dimen/_2sdp" |
|||
android:top="@dimen/_2sdp" |
|||
android:bottom="@dimen/_2sdp"> |
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:shape="rectangle"> |
|||
|
|||
<solid |
|||
android:color="@android:color/transparent" /> |
|||
|
|||
</shape> |
|||
</item> |
|||
</layer-list> |
@ -1,5 +1,5 @@ |
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:shape="rectangle"> |
|||
<solid android:color="#FFFAF5F5"/> |
|||
<solid android:color="@color/light_pink"/> |
|||
<corners android:radius="12dp"/> |
|||
</shape> |
@ -0,0 +1,115 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
|
|||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" |
|||
xmlns:app="http://schemas.android.com/apk/res-auto" |
|||
xmlns:tools="http://schemas.android.com/tools" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:background="@color/white" |
|||
> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical" |
|||
> |
|||
|
|||
<include layout="@layout/layout_sendmoney_toolbar" /> |
|||
|
|||
<android.support.v7.widget.CardView |
|||
app:cardCornerRadius="0dp" |
|||
android:background="@color/gray" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content"> |
|||
|
|||
<android.support.constraint.ConstraintLayout |
|||
android:id="@+id/senderAccountRelatedViewContainer" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:background="@color/bright_gray" |
|||
android:paddingTop="@dimen/_10sdp" |
|||
android:paddingBottom="@dimen/_10sdp"> |
|||
|
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField |
|||
android:id="@+id/receiverMobileNumberFormInputField" |
|||
style="@style/gme_form_text_input_layout" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:hint="@string/select_auto_debit_account_text" |
|||
android:visibility="visible" |
|||
app:edFormCursorVisible="false" |
|||
app:edFormFocusable="false" |
|||
android:layout_marginStart="@dimen/_8sdp" |
|||
app:layout_constraintEnd_toStartOf="@+id/imageView8" |
|||
app:layout_constraintHorizontal_bias="0.5" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="parent" /> |
|||
|
|||
<ImageView |
|||
android:id="@+id/imageView8" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginTop="13dp" |
|||
android:layout_marginStart="@dimen/_8sdp" |
|||
android:layout_marginEnd="@dimen/_8sdp" |
|||
android:background="@drawable/ic_arrow_down" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintHorizontal_bias="0.5" |
|||
app:layout_constraintStart_toEndOf="@+id/receiverMobileNumberFormInputField" |
|||
app:layout_constraintTop_toTopOf="@+id/receiverMobileNumberFormInputField" |
|||
app:layout_constraintBottom_toBottomOf="@+id/receiverMobileNumberFormInputField"/> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView |
|||
android:id="@+id/currentBalanceTextView" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginTop="@dimen/_5sdp" |
|||
android:layout_marginStart="@dimen/_8sdp" |
|||
android:layout_marginEnd="@dimen/_8sdp" |
|||
android:paddingStart="@dimen/_8sdp" |
|||
android:paddingTop="@dimen/_3sdp" |
|||
android:paddingEnd="@dimen/_8sdp" |
|||
android:paddingBottom="@dimen/_3sdp" |
|||
android:text="@string/na_text" |
|||
android:textColor="@color/dark_gray" |
|||
android:textSize="17sp" |
|||
android:visibility="visible" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintHorizontal_chainStyle="packed" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@+id/receiverMobileNumberFormInputField" |
|||
app:txtfontName="@string/semibold" /> |
|||
|
|||
|
|||
</android.support.constraint.ConstraintLayout> |
|||
|
|||
|
|||
|
|||
</android.support.v7.widget.CardView> |
|||
<android.support.design.widget.TabLayout |
|||
android:layout_marginStart="@dimen/_8sdp" |
|||
android:layout_marginEnd="@dimen/_8sdp" |
|||
android:layout_marginTop="@dimen/_10sdp" |
|||
android:id="@+id/localTopupTabLayout" |
|||
android:layout_gravity="center" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="@dimen/_28sdp" |
|||
android:background="@drawable/circular_tab_layout_bg" |
|||
app:tabMaxWidth="0dp" |
|||
app:tabGravity="fill" |
|||
app:tabMode="fixed" |
|||
app:tabBackground="@drawable/circular_tab_selector" |
|||
app:tabIndicatorHeight="0dp" |
|||
app:tabRippleColor="@null" |
|||
app:tabTextAppearance="@style/CircularTabTextAppearance" |
|||
/> |
|||
|
|||
<android.support.v4.view.ViewPager |
|||
android:id="@+id/localTopupViewPager" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
/> |
|||
</LinearLayout> |
|||
</ScrollView> |
@ -0,0 +1,14 @@ |
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView android:gravity="center" |
|||
android:text="Data" |
|||
android:textSize="17sp" |
|||
android:textColor="@color/black" |
|||
android:layout_marginTop="@dimen/_2sdp" |
|||
android:layout_marginBottom="@dimen/_2sdp" |
|||
app:txtfontName="@string/semibold" |
|||
xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:layout_gravity="center" |
|||
xmlns:app="http://schemas.android.com/apk/res-auto"> |
|||
|
|||
</com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView> |
@ -0,0 +1,14 @@ |
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView android:gravity="center" |
|||
android:text="Fixed" |
|||
android:textSize="17sp" |
|||
android:textColor="@color/black" |
|||
android:layout_marginTop="@dimen/_2sdp" |
|||
android:layout_marginBottom="@dimen/_2sdp" |
|||
app:txtfontName="@string/semibold" |
|||
xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:layout_gravity="center" |
|||
xmlns:app="http://schemas.android.com/apk/res-auto"> |
|||
|
|||
</com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView> |
@ -0,0 +1,14 @@ |
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView android:gravity="center" |
|||
android:text="Regular" |
|||
android:textSize="17sp" |
|||
android:layout_marginTop="@dimen/_2sdp" |
|||
android:layout_marginBottom="@dimen/_2sdp" |
|||
android:textColor="@color/black" |
|||
app:txtfontName="@string/semibold" |
|||
xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:layout_gravity="center" |
|||
xmlns:app="http://schemas.android.com/apk/res-auto"> |
|||
|
|||
</com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue