Santosh Bhandary
4 years ago
7 changed files with 227 additions and 120 deletions
-
1app/src/main/java/com/swifttech/remit/android/features/kyc/newCustomer/view/KYCV3Activity.java
-
123app/src/main/java/com/swifttech/remit/android/features/notice/gateway/NoticeGateway.java
-
16app/src/main/java/com/swifttech/remit/android/features/notice/model/NoticeDTO.java
-
42app/src/main/java/com/swifttech/remit/android/features/notice/presenter/NoticeGatewayInterface.java
-
8app/src/main/java/com/swifttech/remit/android/features/notice/presenter/NoticeViewModel.java
-
155app/src/main/java/com/swifttech/remit/android/features/notice/view/NoticeListingFragment.java
-
2app/src/main/java/com/swifttech/remit/android/utils/https/ApiEndpoints.java
@ -1,27 +1,96 @@ |
|||
package com.swifttech.remit.android.features.notice.gateway; |
|||
|
|||
import com.google.gson.JsonObject; |
|||
import com.swifttech.remit.android.base.PrivilegedGateway; |
|||
import com.swifttech.remit.android.features.notice.presenter.NoticeGatewayInterface; |
|||
import com.swifttech.remit.android.utils.https.HttpClientV2; |
|||
|
|||
import io.reactivex.Observable; |
|||
import okhttp3.ResponseBody; |
|||
|
|||
public class NoticeGateway extends PrivilegedGateway implements NoticeGatewayInterface { |
|||
|
|||
@Override |
|||
public Observable<ResponseBody> getNoticeList(String auth, String customerID) { |
|||
JsonObject jsonObject=new JsonObject() ; |
|||
jsonObject.addProperty("customerId",customerID); |
|||
return HttpClientV2.getInstance().getNoticeList(auth,jsonObject); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public Observable<ResponseBody> getNoticeDetail(String auth, String noticeId) { |
|||
JsonObject jsonObject=new JsonObject() ; |
|||
jsonObject.addProperty("rowId",noticeId); |
|||
return HttpClientV2.getInstance().getNoticeDetail(auth,jsonObject); |
|||
} |
|||
} |
|||
package com.swifttech.remit.android.features.notice.gateway; |
|||
|
|||
import com.google.gson.JsonObject; |
|||
import com.swifttech.remit.android.base.PrivilegedGateway; |
|||
import com.swifttech.remit.android.features.notice.model.NoticeDTO; |
|||
import com.swifttech.remit.android.features.notice.model.NoticeDetailDTO; |
|||
import com.swifttech.remit.android.features.notice.presenter.NoticeGatewayInterface; |
|||
import com.swifttech.remit.android.features.notice.view.NoticeActivity; |
|||
import com.swifttech.remit.android.utils.https.HttpClientV2; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
import io.reactivex.Observable; |
|||
import okhttp3.ResponseBody; |
|||
|
|||
public class NoticeGateway extends PrivilegedGateway implements NoticeGatewayInterface { |
|||
|
|||
@Override |
|||
public Observable<ResponseBody> getNoticeList(String auth, String customerID) { |
|||
JsonObject jsonObject=new JsonObject() ; |
|||
jsonObject.addProperty("customerId",customerID); |
|||
return HttpClientV2.getInstance().getNoticeList(auth,jsonObject); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public Observable<ResponseBody> getNoticeDetail(String auth, String noticeId) { |
|||
JsonObject jsonObject=new JsonObject() ; |
|||
jsonObject.addProperty("rowId",noticeId); |
|||
return HttpClientV2.getInstance().getNoticeDetail(auth,jsonObject); |
|||
} |
|||
|
|||
@Override |
|||
public List<NoticeDTO> mockNoticeList() { |
|||
List<NoticeDTO> noticeList=new ArrayList<>(); |
|||
|
|||
NoticeDTO noticeDTO0=new NoticeDTO(); |
|||
noticeDTO0.setRowId("0"); |
|||
noticeDTO0.setTitle("Title 1"); |
|||
noticeDTO0.setCreateDate("2077/01/01"); |
|||
noticeDTO0.setIsRead("0"); |
|||
noticeDTO0.setType("1"); |
|||
noticeDTO0.setExtra("12"); |
|||
noticeList.add(noticeDTO0); |
|||
|
|||
NoticeDTO noticeDTO1=new NoticeDTO(); |
|||
noticeDTO1.setRowId("1"); |
|||
noticeDTO1.setTitle("Title 2"); |
|||
noticeDTO1.setCreateDate("2077/01/02"); |
|||
noticeDTO1.setIsRead("1"); |
|||
noticeDTO1.setType("0"); |
|||
noticeList.add(noticeDTO1); |
|||
|
|||
|
|||
NoticeDTO noticeDTO2=new NoticeDTO(); |
|||
noticeDTO2.setRowId("2"); |
|||
noticeDTO2.setTitle("Title 3"); |
|||
noticeDTO2.setCreateDate("2077/01/02"); |
|||
noticeDTO2.setIsRead("0"); |
|||
noticeDTO2.setType("1"); |
|||
noticeDTO2.setExtra("13"); |
|||
noticeList.add(noticeDTO2); |
|||
|
|||
|
|||
NoticeDTO noticeDTO3=new NoticeDTO(); |
|||
noticeDTO3.setRowId("3"); |
|||
noticeDTO3.setTitle("Title 4"); |
|||
noticeDTO3.setCreateDate("2077/01/03"); |
|||
noticeDTO3.setIsRead("1"); |
|||
noticeDTO3.setType("1"); |
|||
noticeDTO3.setExtra("14"); |
|||
noticeList.add(noticeDTO3); |
|||
|
|||
|
|||
NoticeDTO noticeDTO4=new NoticeDTO(); |
|||
noticeDTO4.setRowId("4"); |
|||
noticeDTO4.setTitle("Title 5"); |
|||
noticeDTO4.setCreateDate("2077/01/04"); |
|||
noticeDTO4.setIsRead("1"); |
|||
noticeDTO4.setType("0"); |
|||
noticeList.add(noticeDTO4); |
|||
|
|||
return noticeList; |
|||
} |
|||
|
|||
@Override |
|||
public NoticeDetailDTO mockNoticeDetail() { |
|||
NoticeDetailDTO noticeDetailDTO=new NoticeDetailDTO(); |
|||
noticeDetailDTO.setTitle("Title 1"); |
|||
noticeDetailDTO.setBody("This is Detail body of Title 1"); |
|||
noticeDetailDTO.setCreateDate("2077/01/01"); |
|||
noticeDetailDTO.setImageURL("https://p18cdn4static.sharpschool.com/UserFiles/Servers/Server_414551/Image/News/District%20News/Title%201.jpg"); |
|||
return noticeDetailDTO; |
|||
} |
|||
} |
@ -1,17 +1,25 @@ |
|||
package com.swifttech.remit.android.features.notice.presenter; |
|||
|
|||
|
|||
|
|||
import com.swifttech.remit.android.base.PrivilegedGatewayInterface; |
|||
|
|||
import io.reactivex.Observable; |
|||
import okhttp3.ResponseBody; |
|||
|
|||
public interface NoticeGatewayInterface extends PrivilegedGatewayInterface { |
|||
|
|||
Observable<ResponseBody> getNoticeList(String auth, String customerID); |
|||
|
|||
Observable<ResponseBody> getNoticeDetail(String auth, String noticeId); |
|||
|
|||
|
|||
} |
|||
package com.swifttech.remit.android.features.notice.presenter; |
|||
|
|||
|
|||
|
|||
import com.swifttech.remit.android.base.PrivilegedGatewayInterface; |
|||
import com.swifttech.remit.android.features.notice.model.NoticeDTO; |
|||
import com.swifttech.remit.android.features.notice.model.NoticeDetailDTO; |
|||
|
|||
import java.util.List; |
|||
|
|||
import io.reactivex.Observable; |
|||
import okhttp3.ResponseBody; |
|||
|
|||
public interface NoticeGatewayInterface extends PrivilegedGatewayInterface { |
|||
|
|||
Observable<ResponseBody> getNoticeList(String auth, String customerID); |
|||
|
|||
Observable<ResponseBody> getNoticeDetail(String auth, String noticeId); |
|||
|
|||
List<NoticeDTO> mockNoticeList(); |
|||
NoticeDetailDTO mockNoticeDetail(); |
|||
|
|||
|
|||
|
|||
} |
@ -1,72 +1,83 @@ |
|||
package com.swifttech.remit.android.features.notice.view; |
|||
|
|||
import android.os.Bundle; |
|||
import android.view.LayoutInflater; |
|||
import android.view.View; |
|||
import android.view.ViewGroup; |
|||
|
|||
import androidx.annotation.Nullable; |
|||
import androidx.lifecycle.ViewModelProviders; |
|||
import androidx.recyclerview.widget.RecyclerView; |
|||
|
|||
import com.swifttech.remit.android.R; |
|||
import com.swifttech.remit.android.base.BaseFragment; |
|||
import com.swifttech.remit.android.common.customwidgets.LineDividerItemDecoration; |
|||
import com.swifttech.remit.android.features.notice.adapter.NoticeListingRVAdapter; |
|||
import com.swifttech.remit.android.features.notice.model.NoticeDTO; |
|||
import com.swifttech.remit.android.features.notice.presenter.NoticeViewModel; |
|||
|
|||
import java.util.List; |
|||
|
|||
import butterknife.BindView; |
|||
import butterknife.ButterKnife; |
|||
|
|||
public class NoticeListingFragment extends BaseFragment implements NoticeListingRVAdapter.NoticeClickListener { |
|||
|
|||
|
|||
@BindView(R.id.noticeRv) |
|||
RecyclerView noticeRv; |
|||
|
|||
NoticeListingRVAdapter noticeListingRVAdapter; |
|||
|
|||
|
|||
@Override |
|||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
|||
return inflater.inflate(R.layout.fragment_notice_listing, container, false); |
|||
} |
|||
|
|||
@Override |
|||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { |
|||
super.onViewCreated(view, savedInstanceState); |
|||
ButterKnife.bind(this, view); |
|||
init(); |
|||
performDefaultAction(savedInstanceState); |
|||
} |
|||
|
|||
|
|||
private void init() { |
|||
|
|||
noticeListingRVAdapter=new NoticeListingRVAdapter(this); |
|||
noticeRv.setAdapter(noticeListingRVAdapter); |
|||
noticeRv.addItemDecoration(new LineDividerItemDecoration(noticeRv.getContext(),LineDividerItemDecoration.VERTICAL_LIST)); |
|||
} |
|||
|
|||
private void performDefaultAction(Bundle savedInstance) { |
|||
|
|||
NoticeViewModel noticeViewModel = ViewModelProviders.of(getActivity()).get(NoticeViewModel.class); |
|||
|
|||
noticeViewModel.getNoticeListLiveData().observe(getViewLifecycleOwner(),this::updateNoticeList); |
|||
|
|||
} |
|||
|
|||
private void updateNoticeList(List<NoticeDTO> noticeList) |
|||
{ |
|||
noticeListingRVAdapter.setData(noticeList); |
|||
} |
|||
|
|||
|
|||
@Override |
|||
public void onNoticeClicked(NoticeDTO itemModel) { |
|||
ViewModelProviders.of(getActivity()).get(NoticeViewModel.class).fetchNoticeDetail(itemModel); |
|||
} |
|||
} |
|||
package com.swifttech.remit.android.features.notice.view; |
|||
|
|||
import android.content.Intent; |
|||
import android.os.Bundle; |
|||
import android.view.LayoutInflater; |
|||
import android.view.View; |
|||
import android.view.ViewGroup; |
|||
|
|||
import androidx.annotation.Nullable; |
|||
import androidx.lifecycle.ViewModelProviders; |
|||
import androidx.recyclerview.widget.RecyclerView; |
|||
|
|||
import com.swifttech.remit.android.R; |
|||
import com.swifttech.remit.android.base.BaseFragment; |
|||
import com.swifttech.remit.android.common.customwidgets.LineDividerItemDecoration; |
|||
import com.swifttech.remit.android.features.notice.adapter.NoticeListingRVAdapter; |
|||
import com.swifttech.remit.android.features.notice.model.NoticeDTO; |
|||
import com.swifttech.remit.android.features.notice.presenter.NoticeViewModel; |
|||
import com.swifttech.remit.android.features.sendmoney.view.SendMoneyV2TransactionCompleteActivity; |
|||
|
|||
import java.util.List; |
|||
|
|||
import butterknife.BindView; |
|||
import butterknife.ButterKnife; |
|||
|
|||
public class NoticeListingFragment extends BaseFragment implements NoticeListingRVAdapter.NoticeClickListener { |
|||
|
|||
|
|||
@BindView(R.id.noticeRv) |
|||
RecyclerView noticeRv; |
|||
|
|||
NoticeListingRVAdapter noticeListingRVAdapter; |
|||
|
|||
|
|||
@Override |
|||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
|||
return inflater.inflate(R.layout.fragment_notice_listing, container, false); |
|||
} |
|||
|
|||
@Override |
|||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { |
|||
super.onViewCreated(view, savedInstanceState); |
|||
ButterKnife.bind(this, view); |
|||
init(); |
|||
performDefaultAction(savedInstanceState); |
|||
} |
|||
|
|||
|
|||
private void init() { |
|||
|
|||
noticeListingRVAdapter=new NoticeListingRVAdapter(this); |
|||
noticeRv.setAdapter(noticeListingRVAdapter); |
|||
noticeRv.addItemDecoration(new LineDividerItemDecoration(noticeRv.getContext(),LineDividerItemDecoration.VERTICAL_LIST)); |
|||
} |
|||
|
|||
private void performDefaultAction(Bundle savedInstance) { |
|||
|
|||
NoticeViewModel noticeViewModel = ViewModelProviders.of(getActivity()).get(NoticeViewModel.class); |
|||
|
|||
noticeViewModel.getNoticeListLiveData().observe(getViewLifecycleOwner(),this::updateNoticeList); |
|||
|
|||
} |
|||
|
|||
private void updateNoticeList(List<NoticeDTO> noticeList) |
|||
{ |
|||
noticeListingRVAdapter.setData(noticeList); |
|||
} |
|||
|
|||
|
|||
@Override |
|||
public void onNoticeClicked(NoticeDTO itemModel) { |
|||
if(itemModel.getType().equals("0")){ |
|||
ViewModelProviders.of(getActivity()).get(NoticeViewModel.class).fetchNoticeDetail(itemModel); |
|||
}else if(itemModel.getType().equals("1")){ |
|||
Intent startReceiptActivity = new Intent(getActivity(), SendMoneyV2TransactionCompleteActivity.class); |
|||
startReceiptActivity.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); |
|||
startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.SEND_MONEY_TID_BUNDLE_KEY, itemModel.getExtra()); |
|||
startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.IS_TRANSACTION_DETAIL_REQUEST_FROM_SEND_MONEY_BUNDLE_KEY, true); |
|||
startReceiptActivity.putExtra(SendMoneyV2TransactionCompleteActivity.SHOULD_UPDATE_BALANCE_UPON_RETURN, true); |
|||
startActivity(startReceiptActivity); |
|||
} |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue