package pt.rupeal.invoicexpress.fragments;
import pt.rupeal.invoicexpress.R;
import pt.rupeal.invoicexpress.layouts.SubTitleLayout;
import pt.rupeal.invoicexpress.layouts.ValueLabelImageLayout;
import pt.rupeal.invoicexpress.listeners.EmailListener;
import pt.rupeal.invoicexpress.listeners.PhoneCallListener;
import pt.rupeal.invoicexpress.model.AccountDetailsModel;
import pt.rupeal.invoicexpress.server.InvoiceXpress;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
public class AccountDetailsFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// inflate view
View view = inflater.inflate(R.layout.account_details, container, false);
// get account details from cache
AccountDetailsModel account = InvoiceXpress.getInstance().getActiveAccountDetails();
// the resized to the name account is not needed
// set active account name
((TextView) view.findViewById(R.id.account_details_title_name)).setText(account.getName());
((TextView) view.findViewById(R.id.account_details_title_entity)).setText(account.getEntity());
((SubTitleLayout) view.findViewById(R.id.account_details_type_subtitle)).setTextToTextViewLeft(R.string.details_type_subTitle);
((TextView) view.findViewById(R.id.account_details_type)).setText(account.getPlan());
((SubTitleLayout) view.findViewById(R.id.account_details_general_subtitle)).setTextToTextViewLeft(R.string.details_general_subTitle);
if(account.hasAddress()) {
((LinearLayout) view.findViewById(R.id.account_details_address_layout)).setVisibility(LinearLayout.VISIBLE);
((View) view.findViewById(R.id.account_details_address_line_seperator)).setVisibility(View.VISIBLE);
((TextView) view.findViewById(R.id.account_details_address)).setText(account.getAddress() + '\n' + account.getPostalCode() + ' ' + account.getCity() );
} else {
((LinearLayout) view.findViewById(R.id.account_details_address_layout)).setVisibility(LinearLayout.GONE);
((View) view.findViewById(R.id.account_details_address_line_seperator)).setVisibility(View.GONE);
}
if(account.hasPhone()) {
((ValueLabelImageLayout) view.findViewById(R.id.account_details_phone)).setVisibility(View.VISIBLE);
((View) view.findViewById(R.id.account_details_phone_line_seperator)).setVisibility(View.VISIBLE);
((ValueLabelImageLayout) view.findViewById(R.id.account_details_phone)).setText(getActivity(), account.getPhone());
((ValueLabelImageLayout) view.findViewById(R.id.account_details_phone)).setLabel(R.string.details_phone);
((ValueLabelImageLayout) view.findViewById(R.id.account_details_phone)).setImage(R.drawable.ic_device_access_call);
((ValueLabelImageLayout) view.findViewById(R.id.account_details_phone)).setOnClickListener(
new PhoneCallListener(getActivity(), account.getPhone()));
} else {
((ValueLabelImageLayout) view.findViewById(R.id.account_details_phone)).setVisibility(View.GONE);
((View) view.findViewById(R.id.account_details_phone_line_seperator)).setVisibility(View.GONE);
}
if(account.hasFax()) {
((ValueLabelImageLayout) view.findViewById(R.id.account_details_fax)).setVisibility(View.VISIBLE);
((View) view.findViewById(R.id.account_details_fax_line_seperator)).setVisibility(View.VISIBLE);
((ValueLabelImageLayout) view.findViewById(R.id.account_details_fax)).setText(getActivity(), account.getFax());
((ValueLabelImageLayout) view.findViewById(R.id.account_details_fax)).setLabel(R.string.details_fax);
((ValueLabelImageLayout) view.findViewById(R.id.account_details_fax)).setImage(R.drawable.ic_device_access_call);
} else {
((ValueLabelImageLayout) view.findViewById(R.id.account_details_fax)).setVisibility(View.GONE);
((View) view.findViewById(R.id.account_details_fax_line_seperator)).setVisibility(View.GONE);
}
if(account.hasEmail()) {
// get account email view
ValueLabelImageLayout emailLayout = ((ValueLabelImageLayout) view.findViewById(R.id.account_details_email));
// set account email view to visible
emailLayout.setVisibility(View.VISIBLE);
// set account email line to visible
((View) view.findViewById(R.id.account_details_email_line_seperator)).setVisibility(View.VISIBLE);
// set values
emailLayout.setText(getActivity(), account.getEmail());
emailLayout.setLabel(R.string.details_email);
emailLayout.setImage(R.drawable.ic_content_email);
emailLayout.setOnClickListener(new EmailListener(getActivity(), account.getEmail()));
} else {
((ValueLabelImageLayout) view.findViewById(R.id.account_details_email)).setVisibility(View.GONE);
((View) view.findViewById(R.id.account_details_email_line_seperator)).setVisibility(View.GONE);
}
if(account.hasCurrency()) {
((SubTitleLayout) view.findViewById(R.id.account_details_currency_subtitle)).setTextToTextViewLeft(R.string.details_currency_subTitle);
if(account.hasCurrencySymbol()){
((TextView) view.findViewById(R.id.account_details_currency)).setText(account.getCurrencyName() + " (" + account.getCurrencySymbol() + ")");
} else {
((TextView) view.findViewById(R.id.account_details_currency)).setText(account.getCurrencyName());
}
}
return view;
}
}