|
|
|
@ -70,10 +70,14 @@ import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
|
|
|
|
|
import com.todoroo.astrid.api.AstridApiConstants;
|
|
|
|
|
import com.todoroo.astrid.dao.TaskAttachmentDao;
|
|
|
|
|
import com.todoroo.astrid.dao.TaskOutstandingDao;
|
|
|
|
|
import com.todoroo.astrid.dao.UserDao;
|
|
|
|
|
import com.todoroo.astrid.dao.WaitingOnMeDao;
|
|
|
|
|
import com.todoroo.astrid.data.RemoteModel;
|
|
|
|
|
import com.todoroo.astrid.data.Task;
|
|
|
|
|
import com.todoroo.astrid.data.TaskAttachment;
|
|
|
|
|
import com.todoroo.astrid.data.TaskOutstanding;
|
|
|
|
|
import com.todoroo.astrid.data.User;
|
|
|
|
|
import com.todoroo.astrid.data.WaitingOnMe;
|
|
|
|
|
import com.todoroo.astrid.files.AACRecordingActivity;
|
|
|
|
|
import com.todoroo.astrid.files.FileExplore;
|
|
|
|
|
import com.todoroo.astrid.files.FileUtilities;
|
|
|
|
@ -211,6 +215,12 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
|
|
|
|
|
@Autowired
|
|
|
|
|
private ActFmPreferenceService actFmPreferenceService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private WaitingOnMeDao waitingOnMeDao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private UserDao userDao;
|
|
|
|
|
|
|
|
|
|
// --- UI components
|
|
|
|
|
|
|
|
|
|
private ImageButton voiceAddNoteButton;
|
|
|
|
@ -733,6 +743,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
|
|
|
|
|
if (model != null) {
|
|
|
|
|
// came from bundle
|
|
|
|
|
setIsNewTask(model.getValue(Task.TITLE).length() == 0);
|
|
|
|
|
setupWaitingOnMe();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -766,7 +777,9 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
|
|
|
|
|
} else {
|
|
|
|
|
StatisticsService.reportEvent(StatisticsConstants.EDIT_TASK);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setIsNewTask(model.getValue(Task.TITLE).length() == 0);
|
|
|
|
|
setupWaitingOnMe();
|
|
|
|
|
|
|
|
|
|
if (model == null) {
|
|
|
|
|
exceptionService.reportError("task-edit-no-task",
|
|
|
|
@ -780,6 +793,63 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void setupWaitingOnMe() {
|
|
|
|
|
if (!isNewTask) {
|
|
|
|
|
WaitingOnMe wom = waitingOnMeDao.findByTask(model.getUuid());
|
|
|
|
|
if (wom != null) {
|
|
|
|
|
final View waitingOnMe = getView().findViewById(R.id.waiting_on_me);
|
|
|
|
|
waitingOnMe.setVisibility(View.VISIBLE);
|
|
|
|
|
waitingOnMe.findViewById(R.id.wom_dismiss).setOnClickListener(new OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
WaitingOnMe template = new WaitingOnMe();
|
|
|
|
|
template.setValue(WaitingOnMe.DELETED_AT, DateUtilities.now());
|
|
|
|
|
waitingOnMeDao.update(WaitingOnMe.TASK_UUID.eq(model.getUuid()), template);
|
|
|
|
|
waitingOnMe.setVisibility(View.GONE);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
waitingOnMe.findViewById(R.id.wom_acknowledge).setOnClickListener(new OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
WaitingOnMe template = new WaitingOnMe();
|
|
|
|
|
template.setValue(WaitingOnMe.ACKNOWLEDGED, 1);
|
|
|
|
|
waitingOnMeDao.update(WaitingOnMe.TASK_UUID.eq(model.getUuid()), template);
|
|
|
|
|
waitingOnMe.setVisibility(View.GONE);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
TextView womText = (TextView) waitingOnMe.findViewById(R.id.wom_message);
|
|
|
|
|
womText.setText(getWomText(wom));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private String getWomText(WaitingOnMe wom) {
|
|
|
|
|
int resource;
|
|
|
|
|
String type = wom.getValue(WaitingOnMe.WAIT_TYPE);
|
|
|
|
|
if (WaitingOnMe.WAIT_TYPE_ASSIGNED.equals(type))
|
|
|
|
|
resource = R.string.wom_assigned;
|
|
|
|
|
else if (WaitingOnMe.WAIT_TYPE_CHANGED_DUE.equals(type))
|
|
|
|
|
resource = R.string.wom_changed_due;
|
|
|
|
|
else if (WaitingOnMe.WAIT_TYPE_COMMENTED.equals(type))
|
|
|
|
|
resource = R.string.wom_commented;
|
|
|
|
|
else if (WaitingOnMe.WAIT_TYPE_MENTIONED.equals(type))
|
|
|
|
|
resource = R.string.wom_mentioned;
|
|
|
|
|
else if (WaitingOnMe.WAIT_TYPE_RAISED_PRI.equals(type))
|
|
|
|
|
resource = R.string.wom_raised_pri;
|
|
|
|
|
else
|
|
|
|
|
resource = R.string.wom_default;
|
|
|
|
|
|
|
|
|
|
String userString = null;
|
|
|
|
|
User user = userDao.fetch(wom.getValue(WaitingOnMe.WAITING_USER_ID), User.PROPERTIES);
|
|
|
|
|
if (user != null)
|
|
|
|
|
userString = user.getDisplayName();
|
|
|
|
|
if (TextUtils.isEmpty(userString))
|
|
|
|
|
userString = getString(R.string.ENA_no_user);
|
|
|
|
|
|
|
|
|
|
return getString(resource, userString);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public long getTaskIdInProgress() {
|
|
|
|
|
if (model != null && model.getId() > 0)
|
|
|
|
|
return model.getId();
|
|
|
|
|