package com.fancl.iloyalty.activity.myaccount; import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; import android.content.Intent; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.widget.LinearLayout; import android.widget.RadioGroup; import android.widget.RelativeLayout; import android.widget.ScrollView; import android.widget.TextView; import com.fancl.iloyalty.Constants; import com.fancl.iloyalty.R; import com.fancl.iloyalty.activity.AndroidProjectFrameworkActivity; import com.fancl.iloyalty.activity.MainTabActivity; import com.fancl.iloyalty.asynctask.GetPurchaseHistoryReceiptAsyncTask; import com.fancl.iloyalty.asynctask.GetUserProfileAsyncTask; import com.fancl.iloyalty.asynctask.callback.GetPurchaseHistoryReceiptAsyncTaskCallback; import com.fancl.iloyalty.exception.FanclException; import com.fancl.iloyalty.factory.CustomServiceFactory; import com.fancl.iloyalty.pojo.FormContent; import com.fancl.iloyalty.pojo.GPRewardItem; import com.fancl.iloyalty.pojo.Product; import com.fancl.iloyalty.pojo.PurchaseHistory; import com.fancl.iloyalty.pojo.PurchaseHistoryReceipt; import com.fancl.iloyalty.util.LogController; public class MyAccountPurchaseRecordActivity extends MainTabActivity implements GetPurchaseHistoryReceiptAsyncTaskCallback{ private View receiptLayout; private PurchaseHistory purchaseHistoryList; private GPRewardItem gpHostoryList; private List<PurchaseHistoryReceipt> purchaseHistory = new ArrayList<PurchaseHistoryReceipt>(); private Boolean fromPush; private Boolean bonusPointRecord; // WRT <<iloyalty_flow_V1.7_20120713.pdf>> screen 6.2.5(Receipt) /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); navigationBarLeftBtn.setVisibility(View.VISIBLE); headerTitleTextView.setText(this.getResources().getString(R.string.my_account_electronic_receipt)); this.setupSpaceLayout(); this.setupMenuButtonListener(4, true); } private void setupSpaceLayout() { // TODO Auto-generated method stub receiptLayout = (RelativeLayout) this.getLayoutInflater().inflate( R.layout.my_account_ireceipt_page, null); spaceLayout.addView(receiptLayout, new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); Intent intent = this.getIntent(); fromPush = intent.getBooleanExtra(Constants.IRECEIPT_FROM_PUSH_ITEM_KEY, false); bonusPointRecord = intent.getBooleanExtra(Constants.IRECEIPT_BONUS_POINT_RECORD_ITEM_KEY, false); if(fromPush==false && bonusPointRecord ==false){ purchaseHistoryList = (PurchaseHistory) intent.getExtras().getSerializable(Constants.PURCHASE_ITEM_KEY); }else if(fromPush==false && bonusPointRecord ==true){ gpHostoryList = (GPRewardItem) intent.getExtras().getSerializable(Constants.PURCHASE_ITEM_KEY); } if(fromPush){ LogController.log("fromPush-Date:"+purchaseHistoryList.getPurchaseDate()); GetPurchaseHistoryReceiptAsyncTask ireceiptAsyncTask = new GetPurchaseHistoryReceiptAsyncTask(this); ireceiptAsyncTask.execute(purchaseHistoryList.getPurchaseDate(), purchaseHistoryList.getSalesMemo(), purchaseHistoryList.getShopCode()); if (checkLoadingDialog()) { loadingDialog.loading(); final Timer t = new Timer(); t.schedule(new TimerTask() { public void run() { if (loadingDialog != null) { loadingDialog.stop(); } // when the task active then close the dialog t.cancel(); } }, Constants.LOADING_DIALOG_TIMEOUT); } }else{ if(bonusPointRecord){ LogController.log("notfromPush & bonusPointRecord-Date:"+gpHostoryList.getTransactionDatetime()); GetPurchaseHistoryReceiptAsyncTask ireceiptAsyncTask = new GetPurchaseHistoryReceiptAsyncTask(this); ireceiptAsyncTask.execute(gpHostoryList.getTransactionDatetime(), gpHostoryList.getSalesMemo(), gpHostoryList.getShopCode()); if (checkLoadingDialog()) { loadingDialog.loading(); final Timer t = new Timer(); t.schedule(new TimerTask() { public void run() { if (loadingDialog != null) { loadingDialog.stop(); } // when the task active then close the dialog t.cancel(); } }, Constants.LOADING_DIALOG_TIMEOUT); } }else{ LogController.log("notfromPush & notbonusPointRecord-Date:"+purchaseHistoryList.getPurchaseDatetime()); GetPurchaseHistoryReceiptAsyncTask ireceiptAsyncTask = new GetPurchaseHistoryReceiptAsyncTask(this); ireceiptAsyncTask.execute(purchaseHistoryList.getPurchaseDatetime(), purchaseHistoryList.getSalesMemo(), purchaseHistoryList.getShopCode()); if (checkLoadingDialog()) { loadingDialog.loading(); final Timer t = new Timer(); t.schedule(new TimerTask() { public void run() { if (loadingDialog != null) { loadingDialog.stop(); } // when the task active then close the dialog t.cancel(); } }, Constants.LOADING_DIALOG_TIMEOUT); } } } } @Override public void onPostExecuteCallback(Object results) { // TODO Auto-generated method stub if (loadingDialog != null) { loadingDialog.stop(); } purchaseHistory = (List<PurchaseHistoryReceipt>) results; LogController.log("iReceipt results:"+results); LinearLayout ireceiptView = (LinearLayout)findViewById(R.id.ireceipt_layout); if(purchaseHistory != null){ for (int i = 0; i < purchaseHistory.size(); i++) { TextView item = new TextView(this); item.setText(purchaseHistory.get(i).getLineData()); item.setTextColor(getResources().getColor(R.color.Black)); item.setTextSize(8.6f); if (purchaseHistory.get(i).getLineAlign().equals("L")) { item.setGravity(Gravity.LEFT); }else if(purchaseHistory.get(i).getLineAlign().equals("C")){ item.setGravity(Gravity.CENTER); }else{ item.setGravity(Gravity.RIGHT); } LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(30, 0, 0, 0); ireceiptView.addView(item, layoutParams); } } } }