package com.mozu.mozuandroidinstoreassistant.app.order; import android.app.Dialog; import android.app.DialogFragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.widget.ImageView; import android.widget.ListView; import com.mozu.api.contracts.commerceruntime.payments.Payment; import com.mozu.api.contracts.commerceruntime.returns.Return; import com.mozu.api.contracts.commerceruntime.returns.ReturnItem; import com.mozu.mozuandroidinstoreassistant.app.R; import com.mozu.mozuandroidinstoreassistant.app.data.IData; import com.mozu.mozuandroidinstoreassistant.app.data.order.BottomRowItem; import com.mozu.mozuandroidinstoreassistant.app.data.order.OrderRefundDataItem; import com.mozu.mozuandroidinstoreassistant.app.data.order.OrderRefundHeaderItem; import com.mozu.mozuandroidinstoreassistant.app.data.order.OrderReturnDataItem; import com.mozu.mozuandroidinstoreassistant.app.data.order.OrderReturnHeaderDataItem; import com.mozu.mozuandroidinstoreassistant.app.data.order.OrderReturnTitleDataItem; import com.mozu.mozuandroidinstoreassistant.app.data.order.TopRowItem; import com.mozu.mozuandroidinstoreassistant.app.order.adapters.OrderDetailReturnDialogAdapter; import com.mozu.mozuandroidinstoreassistant.app.utils.DateUtils; import java.util.ArrayList; import java.util.List; public class OrderReturnDetailDialogFragment extends DialogFragment { private static final String RETURN = "return"; private Return mReturn; private View mView; private ListView mReturnListView; private OrderDetailReturnDialogAdapter mOrderDetailReturnDialogAdapter; private ImageView closeImageView; public static OrderReturnDetailDialogFragment getInstance(Return orderReturn) { OrderReturnDetailDialogFragment orderReturnDetailFragment = new OrderReturnDetailDialogFragment(); Bundle b = new Bundle(); b.putSerializable(RETURN, orderReturn); orderReturnDetailFragment.setArguments(b); return orderReturnDetailFragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bundle b = getArguments(); mReturn = (Return) b.getSerializable(RETURN); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mView = inflater.inflate(R.layout.order_return_info, null); closeImageView = (ImageView) mView.findViewById(R.id.return_close); mReturnListView = (ListView) mView.findViewById(R.id.returns_list); mOrderDetailReturnDialogAdapter = new OrderDetailReturnDialogAdapter(getActivity(), setUpData()); mReturnListView.setAdapter(mOrderDetailReturnDialogAdapter); mReturnListView.setDivider(null); closeImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getDialog().dismiss(); } }); return mView; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); setUpData(); } private List<IData> setUpData() { List<IData> resultList = new ArrayList<IData>(); if (mReturn != null && mReturn.getItems().size() > 0) { OrderReturnTitleDataItem orderReturnTitleDataItem = new OrderReturnTitleDataItem(getString(R.string.returns)); resultList.add(orderReturnTitleDataItem); resultList.add(new TopRowItem()); resultList.add(new OrderReturnHeaderDataItem()); for (ReturnItem returnItem : mReturn.getItems()) { OrderReturnDataItem orderReturnDataItem = new OrderReturnDataItem(returnItem); resultList.add(orderReturnDataItem); } resultList.add(new BottomRowItem()); } if (mReturn.getRmaDeadline() != null) { resultList.add(new OrderReturnTitleDataItem(getString(R.string.returns_due_on) + DateUtils.getFormattedDate(mReturn.getRmaDeadline().getMillis()))); } else { resultList.add(new OrderReturnTitleDataItem(getString(R.string.returns_due_on) + getString(R.string.not_available))); } if (mReturn.getPayments() != null && mReturn.getPayments().size() > 0) { OrderReturnTitleDataItem orderReturnTitleDataItem = new OrderReturnTitleDataItem(getString(R.string.refunds)); resultList.add(orderReturnTitleDataItem); resultList.add(new TopRowItem()); resultList.add(new OrderRefundHeaderItem()); for (Payment payment : mReturn.getPayments()) { OrderRefundDataItem orderRefundDataItem = new OrderRefundDataItem(payment); resultList.add(orderRefundDataItem); } resultList.add(new BottomRowItem()); } return resultList; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = super.onCreateDialog(savedInstanceState); dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); return dialog; } }