preyearegmi
6 years ago
19 changed files with 1018 additions and 79 deletions
-
5app/src/main/java/com/gmeremit/online/gmeremittance_native/base/BasePresenter.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientCountryListingRvAdapter.java
-
61app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientDistrictListingRvAdapter.java
-
61app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientRelationListingRvAdapter.java
-
61app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/adapter/RecipientTransferListingRvAdapter.java
-
11app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/gateway/RecipientV2Gateway.java
-
69app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2Presenter.java
-
7app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/presenter/RecipientV2PresenterInterface.java
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientCountryListingDialog.java
-
189app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientDistrictListingDialog.java
-
16app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientProvinceListingDialog.java
-
188app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientRelationListingDialog.java
-
189app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientTransferListingDialog.java
-
179app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/RecipientV2Activity.java
-
1app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java
-
5app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
-
34app/src/main/res/layout/activity_recipient_v2.xml
-
3app/src/main/res/layout/dialog_country_listing.xml
-
12app/src/main/res/layout/provincelist_item_view.xml
@ -0,0 +1,61 @@ |
|||||
|
package com.gmeremit.online.gmeremittance_native.recipientV2.adapter; |
||||
|
|
||||
|
import android.support.v7.widget.RecyclerView; |
||||
|
import android.view.LayoutInflater; |
||||
|
import android.view.View; |
||||
|
import android.view.ViewGroup; |
||||
|
|
||||
|
import com.gmeremit.online.gmeremittance_native.R; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.model.ProvinceDetailModel; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientDistrictListingDialog; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientProvinceListRvViewHolder; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientProvinceListingDialog; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
public class RecipientDistrictListingRvAdapter extends RecyclerView.Adapter<RecipientProvinceListRvViewHolder> { |
||||
|
|
||||
|
private final RecipientDistrictListingDialog.DistrictSelectionListener listener; |
||||
|
private List<DistrictDetailModel> data; |
||||
|
|
||||
|
public RecipientDistrictListingRvAdapter(RecipientDistrictListingDialog.DistrictSelectionListener listener) { |
||||
|
this.data=new ArrayList<>(); |
||||
|
this.listener=listener; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public RecipientProvinceListRvViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { |
||||
|
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.provincelist_item_view, parent, false); |
||||
|
return new RecipientProvinceListRvViewHolder(view); } |
||||
|
|
||||
|
@Override |
||||
|
public void onBindViewHolder(final RecipientProvinceListRvViewHolder holder, int position) { |
||||
|
holder.itemView.setOnClickListener(new View.OnClickListener() { |
||||
|
@Override |
||||
|
public void onClick(View v) { |
||||
|
if(listener!=null) |
||||
|
listener.onDistrictSelected(data.get(holder.getAdapterPosition())); |
||||
|
} |
||||
|
}); |
||||
|
DistrictDetailModel province= data.get(position); |
||||
|
holder.setName(province.getText()); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int getItemCount() { |
||||
|
return data.size(); |
||||
|
} |
||||
|
|
||||
|
public void setData(List<DistrictDetailModel> data) { |
||||
|
if(data!=null) |
||||
|
{ |
||||
|
this.data=data; |
||||
|
notifyDataSetChanged(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,61 @@ |
|||||
|
package com.gmeremit.online.gmeremittance_native.recipientV2.adapter; |
||||
|
|
||||
|
import android.support.v7.widget.RecyclerView; |
||||
|
import android.view.LayoutInflater; |
||||
|
import android.view.View; |
||||
|
import android.view.ViewGroup; |
||||
|
|
||||
|
import com.gmeremit.online.gmeremittance_native.R; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RelationDetailModel; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.model.TransferDetailModel; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientProvinceListRvViewHolder; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientRelationListingDialog; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientTransferListingDialog; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
public class RecipientRelationListingRvAdapter extends RecyclerView.Adapter<RecipientProvinceListRvViewHolder> { |
||||
|
|
||||
|
private final RecipientRelationListingDialog.RelationSelectionListener listener; |
||||
|
private List<RelationDetailModel> data; |
||||
|
|
||||
|
public RecipientRelationListingRvAdapter(RecipientRelationListingDialog.RelationSelectionListener listener) { |
||||
|
this.data=new ArrayList<>(); |
||||
|
this.listener=listener; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public RecipientProvinceListRvViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { |
||||
|
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.provincelist_item_view, parent, false); |
||||
|
return new RecipientProvinceListRvViewHolder(view); } |
||||
|
|
||||
|
@Override |
||||
|
public void onBindViewHolder(final RecipientProvinceListRvViewHolder holder, int position) { |
||||
|
holder.itemView.setOnClickListener(new View.OnClickListener() { |
||||
|
@Override |
||||
|
public void onClick(View v) { |
||||
|
if(listener!=null) |
||||
|
listener.onRelationSelected(data.get(holder.getAdapterPosition())); |
||||
|
} |
||||
|
}); |
||||
|
RelationDetailModel relationData= data.get(position); |
||||
|
holder.setName(relationData.getText()); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int getItemCount() { |
||||
|
return data.size(); |
||||
|
} |
||||
|
|
||||
|
public void setData(List<RelationDetailModel> data) { |
||||
|
if(data!=null) |
||||
|
{ |
||||
|
this.data=data; |
||||
|
notifyDataSetChanged(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,61 @@ |
|||||
|
package com.gmeremit.online.gmeremittance_native.recipientV2.adapter; |
||||
|
|
||||
|
import android.support.v7.widget.RecyclerView; |
||||
|
import android.view.LayoutInflater; |
||||
|
import android.view.View; |
||||
|
import android.view.ViewGroup; |
||||
|
|
||||
|
import com.gmeremit.online.gmeremittance_native.R; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.model.TransferDetailModel; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientDistrictListingDialog; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientProvinceListRvViewHolder; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.view.RecipientTransferListingDialog; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
public class RecipientTransferListingRvAdapter extends RecyclerView.Adapter<RecipientProvinceListRvViewHolder> { |
||||
|
|
||||
|
private final RecipientTransferListingDialog.TransferReasonSelectionListener listener; |
||||
|
private List<TransferDetailModel> data; |
||||
|
|
||||
|
public RecipientTransferListingRvAdapter(RecipientTransferListingDialog.TransferReasonSelectionListener listener) { |
||||
|
this.data=new ArrayList<>(); |
||||
|
this.listener=listener; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public RecipientProvinceListRvViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { |
||||
|
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.provincelist_item_view, parent, false); |
||||
|
return new RecipientProvinceListRvViewHolder(view); } |
||||
|
|
||||
|
@Override |
||||
|
public void onBindViewHolder(final RecipientProvinceListRvViewHolder holder, int position) { |
||||
|
holder.itemView.setOnClickListener(new View.OnClickListener() { |
||||
|
@Override |
||||
|
public void onClick(View v) { |
||||
|
if(listener!=null) |
||||
|
listener.onTransferReasonSelected(data.get(holder.getAdapterPosition())); |
||||
|
} |
||||
|
}); |
||||
|
TransferDetailModel province= data.get(position); |
||||
|
holder.setName(province.getText()); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public int getItemCount() { |
||||
|
return data.size(); |
||||
|
} |
||||
|
|
||||
|
public void setData(List<TransferDetailModel> data) { |
||||
|
if(data!=null) |
||||
|
{ |
||||
|
this.data=data; |
||||
|
notifyDataSetChanged(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,189 @@ |
|||||
|
package com.gmeremit.online.gmeremittance_native.recipientV2.view; |
||||
|
|
||||
|
import android.app.Dialog; |
||||
|
import android.app.DialogFragment; |
||||
|
import android.content.Context; |
||||
|
import android.content.DialogInterface; |
||||
|
import android.os.Bundle; |
||||
|
import android.support.v7.app.AlertDialog; |
||||
|
import android.support.v7.widget.RecyclerView; |
||||
|
import android.text.Editable; |
||||
|
import android.text.TextWatcher; |
||||
|
import android.view.View; |
||||
|
import android.view.Window; |
||||
|
import android.view.WindowManager; |
||||
|
import android.view.inputmethod.InputMethodManager; |
||||
|
import android.widget.EditText; |
||||
|
import android.widget.TextView; |
||||
|
|
||||
|
import com.gmeremit.online.gmeremittance_native.R; |
||||
|
import com.gmeremit.online.gmeremittance_native.customwidgets.LineDividerItemDecoration; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.adapter.RecipientDistrictListingRvAdapter; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
public class RecipientDistrictListingDialog extends DialogFragment implements View.OnClickListener, TextWatcher { |
||||
|
|
||||
|
private List<DistrictDetailModel> data; |
||||
|
private DistrictSelectionListener listener; |
||||
|
private RecyclerView provinceRv; |
||||
|
private View cancelButton; |
||||
|
private EditText noProvinceFoundView; |
||||
|
private EditText searchEditTextView; |
||||
|
private RecipientDistrictListingRvAdapter districtListingRvAdapter; |
||||
|
private Window window; |
||||
|
private boolean windowHieghtNotFixed=true; |
||||
|
private TextView dialogTitle; |
||||
|
|
||||
|
@Override |
||||
|
public Dialog onCreateDialog(Bundle savedInstanceState) { |
||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); |
||||
|
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_country_listing, null); |
||||
|
provinceRv = view.findViewById(R.id.countryListRv); |
||||
|
noProvinceFoundView = view.findViewById(R.id.noCountryFoundTextView); |
||||
|
dialogTitle = view.findViewById(R.id.dialog_title_txt); |
||||
|
cancelButton = view.findViewById(R.id.iv_cancel); |
||||
|
searchEditTextView = view.findViewById(R.id.searchEditText); |
||||
|
|
||||
|
builder.setView(view); |
||||
|
|
||||
|
Dialog dialog = builder.create(); |
||||
|
try { |
||||
|
this.window = dialog.getWindow(); |
||||
|
window.setBackgroundDrawableResource(R.drawable.ic_rounded_white); |
||||
|
|
||||
|
} catch (NullPointerException e) { |
||||
|
|
||||
|
} |
||||
|
initialize(); |
||||
|
return dialog; |
||||
|
} |
||||
|
|
||||
|
private void initialize() { |
||||
|
cancelButton.setOnClickListener(this); |
||||
|
searchEditTextView.addTextChangedListener(this); |
||||
|
districtListingRvAdapter = new RecipientDistrictListingRvAdapter(this.listener); |
||||
|
districtListingRvAdapter.setData(this.data); |
||||
|
provinceRv.setAdapter(districtListingRvAdapter); |
||||
|
LineDividerItemDecoration lineDividerItemDecoration = new LineDividerItemDecoration(getActivity(), LineDividerItemDecoration.VERTICAL_LIST); |
||||
|
provinceRv.addItemDecoration(lineDividerItemDecoration); |
||||
|
noProvinceFoundView.setText("No District found."); |
||||
|
dialogTitle.setText("Select District"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void setListener(DistrictSelectionListener listener) { |
||||
|
this.listener = listener; |
||||
|
} |
||||
|
|
||||
|
public void setDistrictData(List<DistrictDetailModel> data) { |
||||
|
if (data != null&&data.size()>0) { |
||||
|
this.data = data; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onStart() { |
||||
|
super.onStart(); |
||||
|
if(windowHieghtNotFixed&&window!=null) |
||||
|
{ |
||||
|
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); |
||||
|
lp.copyFrom(window.getAttributes()); |
||||
|
lp.height = WindowManager.LayoutParams.MATCH_PARENT; |
||||
|
float multi = getActivity().getResources().getDisplayMetrics().density; |
||||
|
lp.verticalMargin=10*multi; |
||||
|
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); |
||||
|
window.setAttributes(lp); |
||||
|
windowHieghtNotFixed=false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onClick(View v) { |
||||
|
switch (v.getId()) { |
||||
|
case R.id.iv_cancel: |
||||
|
cancelButton.setOnClickListener(null); |
||||
|
hideKeyboard(); |
||||
|
dismiss(); |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onDismiss(DialogInterface dialog) { |
||||
|
super.onDismiss(dialog); |
||||
|
cancelButton.setOnClickListener(null); |
||||
|
searchEditTextView.removeTextChangedListener(this); |
||||
|
} |
||||
|
|
||||
|
private void showCountryNotFoundView(boolean action) { |
||||
|
if (action) { |
||||
|
int rvHeight = provinceRv.getHeight(); |
||||
|
noProvinceFoundView.setHeight(rvHeight); |
||||
|
provinceRv.setVisibility(View.INVISIBLE); |
||||
|
noProvinceFoundView.setVisibility(View.VISIBLE); |
||||
|
} else { |
||||
|
noProvinceFoundView.setVisibility(View.INVISIBLE); |
||||
|
provinceRv.setVisibility(View.VISIBLE); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void afterTextChanged(Editable s) { |
||||
|
if (districtListingRvAdapter != null) { |
||||
|
searchForDistrict(s.toString()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private void searchForDistrict(String s) { |
||||
|
if (this.data != null) { |
||||
|
if (s.length() > 0) { |
||||
|
List<DistrictDetailModel> searchedData = new ArrayList<>(); |
||||
|
for (DistrictDetailModel item : data) { |
||||
|
if (item.getText().toLowerCase().contains(s.toLowerCase())) { |
||||
|
searchedData.add(item); |
||||
|
} |
||||
|
} |
||||
|
if (searchedData.size() > 0) |
||||
|
showCountryNotFoundView(false); |
||||
|
else |
||||
|
showCountryNotFoundView(true); |
||||
|
districtListingRvAdapter.setData(searchedData); |
||||
|
|
||||
|
} else |
||||
|
districtListingRvAdapter.setData(this.data); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void hideKeyboard() { |
||||
|
// Check if no view has focus: |
||||
|
try { |
||||
|
View view = getActivity().getCurrentFocus(); |
||||
|
|
||||
|
InputMethodManager inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); |
||||
|
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); |
||||
|
} |
||||
|
catch(Exception ex) |
||||
|
{ |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
public interface DistrictSelectionListener { |
||||
|
void onDistrictSelected(DistrictDetailModel countryPaymentService); |
||||
|
} |
||||
|
} |
@ -0,0 +1,188 @@ |
|||||
|
package com.gmeremit.online.gmeremittance_native.recipientV2.view; |
||||
|
|
||||
|
import android.app.Dialog; |
||||
|
import android.app.DialogFragment; |
||||
|
import android.content.Context; |
||||
|
import android.content.DialogInterface; |
||||
|
import android.os.Bundle; |
||||
|
import android.support.v7.app.AlertDialog; |
||||
|
import android.support.v7.widget.RecyclerView; |
||||
|
import android.text.Editable; |
||||
|
import android.text.TextWatcher; |
||||
|
import android.view.View; |
||||
|
import android.view.Window; |
||||
|
import android.view.WindowManager; |
||||
|
import android.view.inputmethod.InputMethodManager; |
||||
|
import android.widget.EditText; |
||||
|
import android.widget.TextView; |
||||
|
|
||||
|
import com.gmeremit.online.gmeremittance_native.R; |
||||
|
import com.gmeremit.online.gmeremittance_native.customwidgets.LineDividerItemDecoration; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.adapter.RecipientRelationListingRvAdapter; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.model.RelationDetailModel; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
public class RecipientRelationListingDialog extends DialogFragment implements View.OnClickListener, TextWatcher { |
||||
|
|
||||
|
private List<RelationDetailModel> data; |
||||
|
private RelationSelectionListener listener; |
||||
|
private RecyclerView provinceRv; |
||||
|
private View cancelButton; |
||||
|
private EditText noTransferFoundView; |
||||
|
private EditText searchEditTextView; |
||||
|
private RecipientRelationListingRvAdapter relationListingRvAdapter; |
||||
|
private Window window; |
||||
|
private boolean windowHieghtNotFixed=true; |
||||
|
private TextView dialogTitle; |
||||
|
|
||||
|
@Override |
||||
|
public Dialog onCreateDialog(Bundle savedInstanceState) { |
||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); |
||||
|
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_country_listing, null); |
||||
|
provinceRv = view.findViewById(R.id.countryListRv); |
||||
|
noTransferFoundView = view.findViewById(R.id.noCountryFoundTextView); |
||||
|
cancelButton = view.findViewById(R.id.iv_cancel); |
||||
|
searchEditTextView = view.findViewById(R.id.searchEditText); |
||||
|
dialogTitle = view.findViewById(R.id.dialog_title_txt); |
||||
|
builder.setView(view); |
||||
|
|
||||
|
Dialog dialog = builder.create(); |
||||
|
try { |
||||
|
this.window = dialog.getWindow(); |
||||
|
window.setBackgroundDrawableResource(R.drawable.ic_rounded_white); |
||||
|
|
||||
|
} catch (NullPointerException e) { |
||||
|
|
||||
|
} |
||||
|
initialize(); |
||||
|
return dialog; |
||||
|
} |
||||
|
|
||||
|
private void initialize() { |
||||
|
cancelButton.setOnClickListener(this); |
||||
|
searchEditTextView.addTextChangedListener(this); |
||||
|
relationListingRvAdapter = new RecipientRelationListingRvAdapter(this.listener); |
||||
|
relationListingRvAdapter.setData(this.data); |
||||
|
provinceRv.setAdapter(relationListingRvAdapter); |
||||
|
LineDividerItemDecoration lineDividerItemDecoration = new LineDividerItemDecoration(getActivity(), LineDividerItemDecoration.VERTICAL_LIST); |
||||
|
provinceRv.addItemDecoration(lineDividerItemDecoration); |
||||
|
noTransferFoundView.setText("No Relation found."); |
||||
|
dialogTitle.setText("Select Relation"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void setListener(RelationSelectionListener listener) { |
||||
|
this.listener = listener; |
||||
|
} |
||||
|
|
||||
|
public void setTransferReasonData(List<RelationDetailModel> data) { |
||||
|
if (data != null&&data.size()>0) { |
||||
|
this.data = data; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onStart() { |
||||
|
super.onStart(); |
||||
|
if(windowHieghtNotFixed&&window!=null) |
||||
|
{ |
||||
|
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); |
||||
|
lp.copyFrom(window.getAttributes()); |
||||
|
lp.height = WindowManager.LayoutParams.MATCH_PARENT; |
||||
|
float multi = getActivity().getResources().getDisplayMetrics().density; |
||||
|
lp.verticalMargin=10*multi; |
||||
|
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); |
||||
|
window.setAttributes(lp); |
||||
|
windowHieghtNotFixed=false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onClick(View v) { |
||||
|
switch (v.getId()) { |
||||
|
case R.id.iv_cancel: |
||||
|
cancelButton.setOnClickListener(null); |
||||
|
hideKeyboard(); |
||||
|
dismiss(); |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onDismiss(DialogInterface dialog) { |
||||
|
super.onDismiss(dialog); |
||||
|
cancelButton.setOnClickListener(null); |
||||
|
searchEditTextView.removeTextChangedListener(this); |
||||
|
} |
||||
|
|
||||
|
private void showCountryNotFoundView(boolean action) { |
||||
|
if (action) { |
||||
|
int rvHeight = provinceRv.getHeight(); |
||||
|
noTransferFoundView.setHeight(rvHeight); |
||||
|
provinceRv.setVisibility(View.INVISIBLE); |
||||
|
noTransferFoundView.setVisibility(View.VISIBLE); |
||||
|
} else { |
||||
|
noTransferFoundView.setVisibility(View.INVISIBLE); |
||||
|
provinceRv.setVisibility(View.VISIBLE); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void afterTextChanged(Editable s) { |
||||
|
if (relationListingRvAdapter != null) { |
||||
|
searchForRelation(s.toString()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private void searchForRelation(String s) { |
||||
|
if (this.data != null) { |
||||
|
if (s.length() > 0) { |
||||
|
List<RelationDetailModel> searchedData = new ArrayList<>(); |
||||
|
for (RelationDetailModel item : data) { |
||||
|
if (item.getText().toLowerCase().contains(s.toLowerCase())) { |
||||
|
searchedData.add(item); |
||||
|
} |
||||
|
} |
||||
|
if (searchedData.size() > 0) |
||||
|
showCountryNotFoundView(false); |
||||
|
else |
||||
|
showCountryNotFoundView(true); |
||||
|
relationListingRvAdapter.setData(searchedData); |
||||
|
|
||||
|
} else |
||||
|
relationListingRvAdapter.setData(this.data); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void hideKeyboard() { |
||||
|
// Check if no view has focus: |
||||
|
try { |
||||
|
View view = getActivity().getCurrentFocus(); |
||||
|
|
||||
|
InputMethodManager inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); |
||||
|
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); |
||||
|
} |
||||
|
catch(Exception ex) |
||||
|
{ |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
public interface RelationSelectionListener { |
||||
|
void onRelationSelected(RelationDetailModel relationDetailModel); |
||||
|
} |
||||
|
} |
@ -0,0 +1,189 @@ |
|||||
|
package com.gmeremit.online.gmeremittance_native.recipientV2.view; |
||||
|
|
||||
|
import android.app.Dialog; |
||||
|
import android.app.DialogFragment; |
||||
|
import android.content.Context; |
||||
|
import android.content.DialogInterface; |
||||
|
import android.os.Bundle; |
||||
|
import android.support.v7.app.AlertDialog; |
||||
|
import android.support.v7.widget.RecyclerView; |
||||
|
import android.text.Editable; |
||||
|
import android.text.TextWatcher; |
||||
|
import android.view.View; |
||||
|
import android.view.Window; |
||||
|
import android.view.WindowManager; |
||||
|
import android.view.inputmethod.InputMethodManager; |
||||
|
import android.widget.EditText; |
||||
|
import android.widget.TextView; |
||||
|
|
||||
|
import com.gmeremit.online.gmeremittance_native.R; |
||||
|
import com.gmeremit.online.gmeremittance_native.customwidgets.LineDividerItemDecoration; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.adapter.RecipientTransferListingRvAdapter; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.model.DistrictDetailModel; |
||||
|
import com.gmeremit.online.gmeremittance_native.recipientV2.model.TransferDetailModel; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
public class RecipientTransferListingDialog extends DialogFragment implements View.OnClickListener, TextWatcher { |
||||
|
|
||||
|
private List<TransferDetailModel> data; |
||||
|
private TransferReasonSelectionListener listener; |
||||
|
private RecyclerView provinceRv; |
||||
|
private View cancelButton; |
||||
|
private EditText noTransferFoundView; |
||||
|
private EditText searchEditTextView; |
||||
|
private RecipientTransferListingRvAdapter transferListingRvAdapter; |
||||
|
private Window window; |
||||
|
private boolean windowHieghtNotFixed=true; |
||||
|
private TextView dialogTitle; |
||||
|
|
||||
|
@Override |
||||
|
public Dialog onCreateDialog(Bundle savedInstanceState) { |
||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); |
||||
|
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_country_listing, null); |
||||
|
provinceRv = view.findViewById(R.id.countryListRv); |
||||
|
noTransferFoundView = view.findViewById(R.id.noCountryFoundTextView); |
||||
|
cancelButton = view.findViewById(R.id.iv_cancel); |
||||
|
searchEditTextView = view.findViewById(R.id.searchEditText); |
||||
|
dialogTitle = view.findViewById(R.id.dialog_title_txt); |
||||
|
builder.setView(view); |
||||
|
|
||||
|
Dialog dialog = builder.create(); |
||||
|
try { |
||||
|
this.window = dialog.getWindow(); |
||||
|
window.setBackgroundDrawableResource(R.drawable.ic_rounded_white); |
||||
|
|
||||
|
} catch (NullPointerException e) { |
||||
|
|
||||
|
} |
||||
|
initialize(); |
||||
|
return dialog; |
||||
|
} |
||||
|
|
||||
|
private void initialize() { |
||||
|
cancelButton.setOnClickListener(this); |
||||
|
searchEditTextView.addTextChangedListener(this); |
||||
|
transferListingRvAdapter = new RecipientTransferListingRvAdapter(this.listener); |
||||
|
transferListingRvAdapter.setData(this.data); |
||||
|
provinceRv.setAdapter(transferListingRvAdapter); |
||||
|
LineDividerItemDecoration lineDividerItemDecoration = new LineDividerItemDecoration(getActivity(), LineDividerItemDecoration.VERTICAL_LIST); |
||||
|
provinceRv.addItemDecoration(lineDividerItemDecoration); |
||||
|
noTransferFoundView.setText("No Transfer Reason found."); |
||||
|
dialogTitle.setText("Select Transfer Reason"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
public void setListener(TransferReasonSelectionListener listener) { |
||||
|
this.listener = listener; |
||||
|
} |
||||
|
|
||||
|
public void setTransferReasonData(List<TransferDetailModel> data) { |
||||
|
if (data != null&&data.size()>0) { |
||||
|
this.data = data; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onStart() { |
||||
|
super.onStart(); |
||||
|
if(windowHieghtNotFixed&&window!=null) |
||||
|
{ |
||||
|
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); |
||||
|
lp.copyFrom(window.getAttributes()); |
||||
|
lp.height = WindowManager.LayoutParams.MATCH_PARENT; |
||||
|
float multi = getActivity().getResources().getDisplayMetrics().density; |
||||
|
lp.verticalMargin=10*multi; |
||||
|
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); |
||||
|
window.setAttributes(lp); |
||||
|
windowHieghtNotFixed=false; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onClick(View v) { |
||||
|
switch (v.getId()) { |
||||
|
case R.id.iv_cancel: |
||||
|
cancelButton.setOnClickListener(null); |
||||
|
hideKeyboard(); |
||||
|
dismiss(); |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onDismiss(DialogInterface dialog) { |
||||
|
super.onDismiss(dialog); |
||||
|
cancelButton.setOnClickListener(null); |
||||
|
searchEditTextView.removeTextChangedListener(this); |
||||
|
} |
||||
|
|
||||
|
private void showCountryNotFoundView(boolean action) { |
||||
|
if (action) { |
||||
|
int rvHeight = provinceRv.getHeight(); |
||||
|
noTransferFoundView.setHeight(rvHeight); |
||||
|
provinceRv.setVisibility(View.INVISIBLE); |
||||
|
noTransferFoundView.setVisibility(View.VISIBLE); |
||||
|
} else { |
||||
|
noTransferFoundView.setVisibility(View.INVISIBLE); |
||||
|
provinceRv.setVisibility(View.VISIBLE); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void onTextChanged(CharSequence s, int start, int before, int count) { |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void afterTextChanged(Editable s) { |
||||
|
if (transferListingRvAdapter != null) { |
||||
|
searchForCountry(s.toString()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private void searchForCountry(String s) { |
||||
|
if (this.data != null) { |
||||
|
if (s.length() > 0) { |
||||
|
List<TransferDetailModel> searchedData = new ArrayList<>(); |
||||
|
for (TransferDetailModel item : data) { |
||||
|
if (item.getText().toLowerCase().contains(s.toLowerCase())) { |
||||
|
searchedData.add(item); |
||||
|
} |
||||
|
} |
||||
|
if (searchedData.size() > 0) |
||||
|
showCountryNotFoundView(false); |
||||
|
else |
||||
|
showCountryNotFoundView(true); |
||||
|
transferListingRvAdapter.setData(searchedData); |
||||
|
|
||||
|
} else |
||||
|
transferListingRvAdapter.setData(this.data); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public void hideKeyboard() { |
||||
|
// Check if no view has focus: |
||||
|
try { |
||||
|
View view = getActivity().getCurrentFocus(); |
||||
|
|
||||
|
InputMethodManager inputManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); |
||||
|
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); |
||||
|
} |
||||
|
catch(Exception ex) |
||||
|
{ |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
public interface TransferReasonSelectionListener { |
||||
|
void onTransferReasonSelected(TransferDetailModel countryPaymentService); |
||||
|
} |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue