Exemplo n.º 1
0
  @Override
  public void onBindViewHolder(TaskViewHolder holder, final int position) {
    final int pos = position;
    final Task task = mDataset.get(position);
    long millis = task.getTimeLeft();

    holder.mTaskTitle.setText(task.getTitle());

    String time =
        String.format(
            "%02d:%02d:%02d",
            TimeUnit.MILLISECONDS.toHours(millis),
            TimeUnit.MILLISECONDS.toMinutes(millis)
                - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
            TimeUnit.MILLISECONDS.toSeconds(millis)
                - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));

    holder.mTaskTimeRemaining.setText(time);

    holder.mTaskTimeRemaining.setOnLongClickListener(
        new View.OnLongClickListener() {
          @Override
          public boolean onLongClick(View v) {
            mDataset.get(position).resetTimeLeft();
            mDataset.get(position).pause();
            mTaskHandler.updateTask(task);
            notifyDataSetChanged();
            Toast.makeText(mContext, "Task Reset", Toast.LENGTH_SHORT);
            return true;
          }
        });

    if (task.isRunning()) {
      holder.mStartStop.setImageResource(R.drawable.ic_pause_white_48dp);
    } else {
      holder.mStartStop.setImageResource(R.drawable.ic_play_arrow_white_48dp);
    }

    holder.mStartStop.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            Task t = mDataset.get(position);
            if (t.isRunning()) {
              t.pause();
              TimerDoneReceiver.cancelAlarm(t.getId(), t.getTitle());
            } else {
              t.start();
              TimerDoneReceiver.setAlarm(mContext, t.getTimeLeft(), t.getId(), t.getTitle());
            }
            notifyItemChanged(position);
          }
        });
  }
Exemplo n.º 2
0
  public boolean insertTask(Task task) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues contentValues = new ContentValues();
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_ENTRY_ID, task.getId());
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_STATUS, task.isRunning());
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_TITLE, task.getTitle());
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_TIMELEFT, task.getTimeLeft());
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_INITIALTIME, task.getInitialTime());
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_TICKS, task.numTicks());

    long newRowId;
    newRowId = db.insert(TaskContract.TaskEntry.TABLE_NAME, null, contentValues);
    return true;
  }
Exemplo n.º 3
0
  public boolean updateTask(Task task) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues contentValues = new ContentValues();
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_ENTRY_ID, task.getId());
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_STATUS, task.isRunning());
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_TITLE, task.getTitle());
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_TIMELEFT, task.getTimeLeft());
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_INITIALTIME, task.getInitialTime());
    contentValues.put(TaskContract.TaskEntry.COLUMN_NAME_TICKS, task.numTicks());

    db.update(
        TaskContract.TaskEntry.TABLE_NAME,
        contentValues,
        TaskContract.TaskEntry.COLUMN_NAME_ENTRY_ID + " = ? ",
        new String[] {Long.toString(task.getId())});
    return true;
  }