package edu.mit.mitmobile2.libraries; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.Html; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import edu.mit.mitmobile2.FullScreenLoader; import edu.mit.mitmobile2.MobileWebApi; import edu.mit.mitmobile2.NewModule; import edu.mit.mitmobile2.NewModuleActivity; import edu.mit.mitmobile2.R; import edu.mit.mitmobile2.objs.LoanListItem; public class LibraryLoanDetail extends NewModuleActivity{ public static final String TAG = "LibraryLoanDetail"; Context mContext; private FullScreenLoader mLoadingView; private TextView loanTitleTV; private TextView loanAuthorTV; private TextView loanCallNoTV; private TextView loanLibraryTV; private TextView loanISBNTV; private ImageView loanStatusIconIV; private TextView loanStatusTV; private Button loanRenewButton; private LinearLayout loanDetailLayout; private int index; // Intent intent = new Intent(context, LibraryDetailActivity.class); // intent.putExtra(LibraryLoanDetail.KEY_POSITION, position); // // context.startActivity(intent); // } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this; setContentView(R.layout.library_barton_book_detail); Bundle extras = getIntent().getExtras(); index = extras.getInt("index"); final LoanListItem item = LibraryYourAccount.getLoanData().getLoans().get(index); addSecondaryTitle("Loan"); loanDetailLayout = (LinearLayout)findViewById(R.id.libraryBartonDetailLayout); loanTitleTV = (TextView)findViewById(R.id.libraryBartonDetailTitleTV); loanTitleTV.setText(item.getTitle()); loanAuthorTV = (TextView)findViewById(R.id.libraryBartonDetailAuthorTV); loanAuthorTV.setText(item.getYear() + "; " + item.getAuthor()); loanCallNoTV = (TextView)findViewById(R.id.libraryBartonDetailCallNoTV); loanCallNoTV.setText(item.getCallNo()); loanLibraryTV = (TextView)findViewById(R.id.libraryBartonDetailLibraryTV); loanLibraryTV.setText(item.getSubLibrary()); loanISBNTV = (TextView)findViewById(R.id.libraryBartonDetailISBNTV); loanISBNTV.setText(item.getIsbnIssnDisplay()); findViewById(R.id.libraryBartonDetailStatusRow).setVisibility(View.VISIBLE); loanStatusIconIV = (ImageView)findViewById(R.id.libraryBartonDetailStatusIcon); loanStatusTV = (TextView)findViewById(R.id.libraryBartonDetailStatusTV); String statusText = ""; if (item.isHasHold()) { statusText = "Item has holds\n"; } statusText += Html.fromHtml(item.getDueText()); loanStatusTV.setText(statusText); if (item.isOverdue() || item.isLongOverdue()) { loanStatusTV.setTextColor(Color.RED); loanStatusIconIV.setImageDrawable(getResources().getDrawable(R.drawable.status_alert)); } else { loanStatusTV.setTextColor(Color.BLACK); loanStatusIconIV.setVisibility(View.GONE); } mLoadingView = (FullScreenLoader) findViewById(R.id.libraryBartonDetailDetailLoading); loanRenewButton = (Button) findViewById(R.id.libraryBartonDetailRenewButton); loanRenewButton.setVisibility(View.VISIBLE); loanRenewButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { renewBook(item.getBarcode()); Log.d(TAG,"renew "); } }); } private void renewBook(String barcode) { loanDetailLayout.setVisibility(View.GONE); mLoadingView.setVisibility(View.VISIBLE); mLoadingView.showLoading(); LibraryModel.renewBook(this, uiHandler,barcode); } private Handler uiHandler = new Handler() { @Override public void handleMessage(Message msg) { Log.d(TAG,"handleMessage"); Log.d(TAG,"arg1 = " + msg.arg1); mLoadingView.setVisibility(View.GONE); RenewBookResponse response = (RenewBookResponse)msg.obj; Log.d(TAG,"error = " + response.getRenewResponse().get(0).getErrorMsg()); if (msg.arg1 == MobileWebApi.SUCCESS) { Log.d(TAG,"MobileWebApi success"); /////////////////// Intent intent = new Intent(mContext, LibraryRenewDetail.class); intent.putExtra("index", index); intent.putExtra("successMsg",response.getRenewResponse().get(0).getSuccessMsg()); intent.putExtra("errorMsg", response.getRenewResponse().get(0).getErrorMsg()); startActivity(intent); finish(); /////////////////// } else if (msg.arg1 == MobileWebApi.ERROR) { mLoadingView.showError(); } else if (msg.arg1 == MobileWebApi.CANCELLED) { mLoadingView.showError(); } } }; @Override protected NewModule getNewModule() { return new LibrariesModule(); } @Override public boolean isModuleHomeActivity() { // TODO Auto-generated method stub return false; } @Override protected boolean isScrollable() { return false; } @Override protected void onOptionSelected(String optionId) { } }