package com.kaorisan.activity; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import com.kaorisan.R; import com.kaorisan.beans.AttachmentTmp; import com.kaorisan.beans.DashBoard; import com.kaorisan.beans.Task; import com.kaorisan.common.DebugLog; import com.kaorisan.common.Utils; import com.kaorisan.dataLayer.CacheData; import com.kaorisan.dialog.TextRequestDialog; import com.kaorisan.manager.TaskManager; public class NewRequestActivity extends Activity { EditText edtTitle; EditText edtContent; TextView btnRepLyForRequest; ImageView btnAttach; ProgressDialog showProcess = null; public static boolean isSubmit = false; public static boolean isNewRequest = false; private final String HINT_TEXT_COLOR = "#c8c8c8"; private final int ATTACHMENT_ACTIVITY_REQUEST_CODE = 100; String title = ""; String requestContent = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new_request); edtTitle = (EditText) findViewById(R.id.edtTitle); edtContent = (EditText) findViewById(R.id.edtContent); edtContent.setHintTextColor(Color.parseColor(HINT_TEXT_COLOR)); btnAttach = (ImageView) findViewById(R.id.btnAttach); if (TaskActivity.isRecommendTask) { if (getIntent().getExtras().getString("title") != null) { title = getIntent().getExtras().getString("title"); } if (getIntent().getExtras().getString("requestContent") != null) { requestContent = getIntent().getExtras().getString("requestContent"); } DebugLog.logd(requestContent); } isNewRequest = true; edtTitle.setText(title); edtContent.setText(requestContent); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.new_request, menu); return true; } public void onButtonClick(View view) { switch (view.getId()) { case R.id.btnSubmit: DebugLog.logd("Clicked summit"); // String validate = validateInputs(); // if(validate.length() == 0){ // this.createNewTask(); // } isSubmit = false; if (CacheData.getInstant().getDashBoard() != null) { if(CacheData.getInstant().getDashBoard().getAvailableTask() > 0){ createNewTask(); }else{ Utils.showToast(NewRequestActivity.this, getResources().getString(R.string.cant_create_task_msg)); } } else { Utils.showToast(NewRequestActivity.this, getResources().getString(R.string.cant_create_task_msg)); } break; case R.id.btnCancel: DebugLog.logd("Button Cancel click"); onBackPressed(); isNewRequest = false; break; case R.id.btnAttach: DebugLog.logd("Button attach click"); // if (CacheData.getInstant().getListAttachment().isEmpty()) { // Intent intentAttachPhoto = new Intent(this, // AttachmentActivity.class); // intentAttachPhoto.putExtra("activity", 1); // startActivityForResult(intentAttachPhoto, // ATTACHMENT_ACTIVITY_REQUEST_CODE); // } else { // Intent intentChoosePhotoExist = new Intent(this, // ChoosePhotoExistActivity.class); // intentChoosePhotoExist.putExtra("activity", 1); // startActivityForResult(intentChoosePhotoExist, // ATTACHMENT_ACTIVITY_REQUEST_CODE); // } Intent intentChoosePhotoExist = new Intent(this, ChoosePhotoExistActivity.class); intentChoosePhotoExist.putExtra("activity", 1); startActivityForResult(intentChoosePhotoExist, ATTACHMENT_ACTIVITY_REQUEST_CODE); break; } } public void createNewTask() { TaskManager manager = new TaskManager(); showProcess = new ProgressDialog(this); showProcess.setCancelable(false); showProcess.setTitle(String.format(getResources().getString(R.string.creating_new_task), edtTitle.getText())); showProcess.show(); String strTitle = ""; if (edtTitle.getText().toString().length() > 0) { strTitle = edtTitle.getText().toString(); } else { strTitle = getResources().getString(R.string.task_title) + " " + Utils.convertMillisecondsToDate(System.currentTimeMillis()); } String strRequest = edtContent.getText().toString(); Log.i("Phong chu", strTitle); manager.createNewTask(CacheData.getInstant().getTokenKaorisan(), strTitle, strRequest,String.valueOf(TextRequestDialog.isVip), new TaskManager.OnCreateNewTaskResult() { @Override public void onCreateNewTaskMethod(boolean isSuccess, Task task, String message) { if (isSuccess) { isSubmit = true; isNewRequest = false; // finish(); showProcess.dismiss(); showProcess = null; Log.i("ID Create", "" + task.getId()); CacheData.getInstant().setCurrentTask(task); //CacheData.getInstant().getListTask().add(0, task); DashBoard dashBoard = new DashBoard(); dashBoard.setOpenTask(CacheData.getInstant().getDashBoard().getOpenTask() + 1); dashBoard.setAvailableTask(CacheData.getInstant().getDashBoard().getAvailableTask() - 1); dashBoard.setClosedTask(CacheData.getInstant().getDashBoard().getClosedTask()); CacheData.getInstant().setDashBoard(dashBoard); // Intent intent = new // Intent(NewRequestActivity.this, // TaskDetailActivity.class); // startActivity(intent); if (CacheData.getInstant().getListAttachmentTmps() .size() > 0){ Log.i("Uploading", "Uploading"); final TaskManager manager = new TaskManager(); manager.totalNumber = CacheData.getInstant().getListAttachmentTmps().size(); showProcess = Utils.createProgressDialog(String.format(getResources().getString(R.string.uploading_files_msg), manager.totalNumber), NewRequestActivity.this); showProcess.show(); CacheData.getInstant().setCurrentProgressDialog(showProcess); for (final AttachmentTmp attachment : CacheData.getInstant().getListAttachmentTmps()) { manager.uploadPhotoToTask(CacheData.getInstant().getTokenKaorisan(), attachment.getFilePath(), String.valueOf(CacheData.getInstant().getCurrentTask().getId()), attachment, new TaskManager.OnUploadPhotoToTaskResult() { @Override public void onUploadPhotoToTaskMethod(boolean isSuccess, String message) { int numberFilesFinish = manager.numberOfUploadSucess + manager.numberOfUploadFail; String content = String.format(getResources().getString(R.string.upload_photo_message), numberFilesFinish, manager.totalNumber, manager.numberOfUploadSucess, manager.numberOfUploadFail); Utils.makeProgressUploadDownloadToast(NewRequestActivity.this, content); if (isSuccess) { Log.i("Count", "" + CacheData.getInstant().getListAttachmentTmps().size()); } if (numberFilesFinish >= manager.totalNumber) { DebugLog.logd("dismiss"); showProcess.dismiss(); showProcess = null; Intent intent = new Intent(NewRequestActivity.this, TaskDetailActivity.class); startActivity(intent); finish(); } } }); } } else { finish(); } } else { showProcess.dismiss(); showProcess = null; // Toast.makeText(getApplicationContext(), // "Create request failed!", Toast.LENGTH_LONG) // .setGravity(Gravity.TOP|Gravity.CENTER_HORIZONTAL,0,0); Utils.showToast(NewRequestActivity.this, getResources().getString(R.string.create_new_request_failed)); } // // showProcess.dismiss(); } }); } public String validateInputs() { String result = ""; return result; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == ATTACHMENT_ACTIVITY_REQUEST_CODE) { DebugLog.logd("Result ok " + requestCode); if (CacheData.getInstant().getListAttachmentTmps() == null || CacheData.getInstant().getListAttachmentTmps().isEmpty()) { btnAttach.setImageResource(R.drawable.attach_gray); } else { btnAttach.setImageResource(R.drawable.attach); } } } @Override public void onBackPressed() { super.onBackPressed(); isNewRequest = false; if (CacheData.getInstant().getListAttachmentTmps() != null) { CacheData.getInstant().getListAttachmentTmps().clear(); } if (CacheData.getInstant().getListAttachment() != null) { CacheData.getInstant().getListAttachment().clear(); } finish(); } }