/** * Copyright (c) 2012 Vinayak Solutions Private Limited * See the file license.txt for copying permission. */ package com.vinsol.expensetracker.expenselisting; import java.util.Calendar; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import com.vinsol.expensetracker.Constants; import com.vinsol.expensetracker.R; import com.vinsol.expensetracker.helpers.DisplayDate; import com.vinsol.expensetracker.models.Entry; import com.vinsol.expensetracker.utils.Log; public class ExpenseSubListing extends ListingAbstract { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initListView(); } @Override protected void initListView() { mSeparatedListAdapter = new SeparatedListAdapter(this,highlightID); intentExtras = getIntent().getExtras(); ImageView listButton = (ImageView) findViewById(R.id.home_listview); TextView listingHeader = (TextView) findViewById(R.id.home_header_title); listButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(ExpenseSubListing.this, ExpenseListing.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); } }); Entry entry = intentExtras.getParcelable(Constants.KEY_ENTRY_LIST_EXTRA); mDataDateList = mConvertCursorToListString.getDateListString(false, false, entry.id, type); mSubList = mConvertCursorToListString.getEntryList(false, entry.id); if(mSubList.size() > 0) { Calendar mTempCalendar = Calendar.getInstance(); mTempCalendar.setTimeInMillis(mSubList.get(0).timeInMillis); mTempCalendar.set(mTempCalendar.get(Calendar.YEAR),mTempCalendar.get(Calendar.MONTH),mTempCalendar.get(Calendar.DAY_OF_MONTH),0,0,0); mTempCalendar.setFirstDayOfWeek(Calendar.MONDAY); Log.d("listingHeader "+listingHeader); Log.d("getSubListHeaderType "+getSubListHeaderType()); Log.d("mTempCalendar "+mTempCalendar); listingHeader.setText(new DisplayDate(mTempCalendar).getHeaderFooterListDisplayDate(getSubListHeaderType())); addSections(); } else { finish(); } } private int getSubListHeaderType() { switch (type) { case R.string.sublist_thisyear: return R.string.sublist_all; case R.string.sublist_thismonth: return R.string.sublist_thismonth; case R.string.sublist_thisweek: return 0; default: return R.string.sublist_thisweek; } } @Override protected void unknownDialogAction(String id) { initListView(); } @Override protected void noItemButtonAction(Button noItemButton) { noItemButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); } @Override public void onBackPressed() { Intent intent = new Intent(); intent.putExtras(intentExtras); setResult(Activity.RESULT_OK, intent); super.onBackPressed(); } @Override public void noItemLayout() { if(mSeparatedListAdapter.getDataDateList() == null || mSeparatedListAdapter.getDataDateList().isEmpty()) { finish(); } } @Override protected void setContentView() { setContentView(R.layout.expense_listing_no_tab); } @Override protected boolean condition(DisplayDate mDisplayDate) { return true; } @Override protected int getType(Bundle intentExtras) { return intentExtras.getInt(Constants.KEY_TYPE); } @Override protected void setModifiedValues() { // do nothing } }