package com.kaorisan.activity; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.TextView; import com.kaorisan.R; import com.kaorisan.common.Utils; import com.kaorisan.dataLayer.CacheData; import com.kaorisan.manager.TaskManager; public class RateActivity extends Activity { private boolean isClickUp = false; private boolean isClickDown = false; private String strUp = "up"; private String strDown = "down"; TextView btnLike; TextView btnDislike; ProgressDialog showProcess = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_rate); btnLike = (TextView) findViewById(R.id.btnLike); btnDislike = (TextView) findViewById(R.id.btnDislike); if(CacheData.getInstant().getCurrentTask() != null){ if(!CacheData.getInstant().getCurrentTask().isRated()){ btnLike.setBackgroundResource(R.drawable.like_button_gray); btnDislike.setBackgroundResource(R.drawable.dislike_button_gray); } } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.rate, menu); return true; } public void onButtonClick(View view) { switch (view.getId()) { case R.id.btnLike: if(CacheData.getInstant().getCurrentTask().isRated() != false){ if (!isClickUp) { rateTask(strUp); } }else{ Utils.showToast(RateActivity.this, getResources().getString(R.string.haved_rate_msg)); } // btnLike.setBackgroundResource(R.drawable.like_button_gray); // btnDislike.setBackgroundResource(R.drawable.dislike_button); break; case R.id.btnDislike: if(CacheData.getInstant().getCurrentTask().isRated() == false){ if (!isClickDown) { rateTask(strDown); } }else{ Utils.showToast(RateActivity.this, getResources().getString(R.string.haved_rate_msg)); } // btnDislike.setBackgroundResource(R.drawable.dislike_button_gray); // btnLike.setBackgroundResource(R.drawable.like_button); break; } } private void rateTask(final String rate) { TaskManager manager = new TaskManager(); showProcess = new ProgressDialog(this); showProcess.setCancelable(false); showProcess.setTitle(getResources().getString(R.string.please_waiting_msg)); showProcess.show(); manager.rateTask(CacheData.getInstant().getTokenKaorisan(), String.valueOf(CacheData.getInstant().getCurrentTask().getId()), rate, new TaskManager.OnGetRateTaskResult() { @Override public void onGetRateTaskMethod(boolean isSuccess, String message) { if (isSuccess) { if (rate.equals(strUp)) { isClickUp = true; isClickDown = false; } else if (rate.equals(strDown)) { isClickDown = true; isClickUp = false; } CacheData.getInstant().getCurrentTask().setRated(true); btnLike.setBackgroundResource(R.drawable.like_button_gray); btnDislike.setBackgroundResource(R.drawable.dislike_button_gray); btnLike.setClickable(false); btnDislike.setClickable(false); Utils.showToast(RateActivity.this, getResources().getString(R.string.rate_successfully)); if(CacheData.getInstant().getCurrentTask() != null){ CacheData.getInstant().getCurrentTask().setRated(false); } finish(); } else { Utils.showToast(RateActivity.this, getResources().getString(R.string.rate_failed)); } showProcess.dismiss(); } }); } @Override public void onBackPressed() { super.onBackPressed(); finish(); } }