Example usage for android.text.format DateUtils formatElapsedTime

List of usage examples for android.text.format DateUtils formatElapsedTime

Introduction

In this page you can find the example usage for android.text.format DateUtils formatElapsedTime.

Prototype

public static String formatElapsedTime(long elapsedSeconds) 

Source Link

Document

Formats an elapsed time in the form "MM:SS" or "H:MM:SS" for display on the call-in-progress screen.

Usage

From source file:ca.rmen.android.scrumchatter.chart.MeetingSpeakingTimeColumnChart.java

public static void populateMeeting(Context context, ColumnChartView chart, @NonNull Cursor cursor) {
    List<AxisValue> xAxisValues = new ArrayList<>();
    List<Column> columns = new ArrayList<>();

    MeetingMemberCursorWrapper cursorWrapper = new MeetingMemberCursorWrapper(cursor);
    int maxLabelLength = 0;
    while (cursorWrapper.moveToNext()) {
        List<SubcolumnValue> subcolumnValues = new ArrayList<>();
        Column column = new Column(subcolumnValues);

        Long memberId = cursorWrapper.getMemberId();
        String memberName = cursorWrapper.getMemberName();
        float durationInMinutes = (float) cursorWrapper.getDuration() / 60;
        String durationLabel = DateUtils.formatElapsedTime(cursorWrapper.getDuration());

        SubcolumnValue subcolumnValue = new SubcolumnValue();
        subcolumnValue.setValue(durationInMinutes);
        subcolumnValue.setLabel(durationLabel);
        int color = ChartUtils.getMemberColor(context, memberId);
        subcolumnValue.setColor(color);// www  . j av  a2s  .  c o m
        subcolumnValues.add(subcolumnValue);

        column.setHasLabels(true);
        column.setValues(subcolumnValues);
        columns.add(column);

        AxisValue xAxisValue = new AxisValue(xAxisValues.size());
        xAxisValue.setLabel(memberName);
        xAxisValues.add(xAxisValue);
        if (memberName.length() > maxLabelLength)
            maxLabelLength = memberName.length();
    }

    cursor.moveToPosition(-1);

    Axis xAxis = new Axis(xAxisValues);
    xAxis.setAutoGenerated(false);
    //xAxis.setMaxLabelChars(maxLabelLength);
    xAxis.setTextColor(ResourcesCompat.getColor(context.getResources(), R.color.chart_text, null));
    xAxis.setHasTiltedLabels(true);

    ColumnChartData data = new ColumnChartData();
    data.setAxisXBottom(xAxis);
    data.setColumns(columns);
    chart.setInteractive(true);
    chart.setColumnChartData(data);
    chart.setZoomEnabled(true);
    chart.setZoomType(ZoomType.HORIZONTAL);
}

From source file:ca.rmen.android.scrumchatter.chart.MeetingDurationLineChart.java

private static PointValue getMeetingDurationPointValue(Meeting meeting) {
    String duration = DateUtils.formatElapsedTime(meeting.getDuration());
    PointValue point = new PointValue();
    point.set(meeting.getStartDate(), (float) meeting.getDuration() / (60));
    point.setLabel(duration);//from w ww .  ja v a 2s  .  co  m
    return point;
}

From source file:com.pyamsoft.dontsuckmp.album.TrackListItem.java

@Override
public void bindView(ViewHolder holder, List<Object> payloads) {
    super.bindView(holder, payloads);
    Track track = getModel();/*www . jav a  2  s . c o  m*/
    holder.binding.trackTitle.setText(track.title());

    final long duration = track.duration();
    holder.binding.trackDuration.setText(DateUtils.formatElapsedTime(duration / 1000));

    String trackNumber;
    final int disc = track.disc();
    if (disc == 0) {
        trackNumber = "";
    } else {
        trackNumber = String.format(Locale.US, "%d/", disc);
    }
    final int number = track.track();
    if (number == 0) {
        trackNumber += "?";
    } else {
        trackNumber += String.valueOf(number);
    }
    holder.binding.trackNumber.setText(trackNumber);

    final int playIcon;
    final String trackMediaId = track.mediaId();
    if (metadata == null) {
        playIcon = R.drawable.ic_play_arrow_24dp;
    } else {
        final String mediaId = metadata.getString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID);
        Timber.i("Metadata id: %s", mediaId);
        Timber.d("Compare to metadata id: %s", trackMediaId);
        if (trackMediaId.equals(mediaId)) {
            playIcon = R.drawable.ic_now_playing_24dp;
        } else {
            playIcon = R.drawable.ic_play_arrow_24dp;
        }
    }

    // TODO load play icon
}

From source file:com.uwetrottmann.movies.ui.CancelCheckInDialogFragment.java

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    final Context context = getActivity().getApplicationContext();
    final FragmentManager fm = getFragmentManager();
    final Bundle args = getArguments();

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

    builder.setMessage(context.getString(R.string.traktcheckin_inprogress, DateUtils.formatElapsedTime(mWait)));

    builder.setPositiveButton(R.string.traktcheckin_cancel, new OnClickListener() {

        public void onClick(DialogInterface dialog, int which) {
            FragmentTransaction ft = fm.beginTransaction();
            Fragment prev = fm.findFragmentByTag("progress-dialog");
            if (prev != null) {
                ft.remove(prev);/*from   ww  w  . j  a  v  a  2  s.  c  o m*/
            }
            ProgressDialog newFragment = ProgressDialog.newInstance();
            newFragment.show(ft, "progress-dialog");

            AsyncTask<String, Void, Response> cancelCheckinTask = new AsyncTask<String, Void, Response>() {

                @Override
                protected Response doInBackground(String... params) {

                    ServiceManager manager;
                    try {
                        manager = Utils.getServiceManagerWithAuth(context, false);
                    } catch (Exception e) {
                        // password could not be decrypted
                        Response r = new Response();
                        r.status = TraktStatus.FAILURE;
                        r.error = context.getString(R.string.trakt_generalerror);
                        return r;
                    }

                    Response response;
                    try {
                        response = manager.movieService().cancelCheckin().fire();
                    } catch (TraktException e) {
                        Log.w(TAG, e);
                        Response r = new Response();
                        r.status = TraktStatus.FAILURE;
                        r.error = e.getMessage();
                        return r;
                    } catch (ApiException e) {
                        Log.w(TAG, e);
                        Response r = new Response();
                        r.status = TraktStatus.FAILURE;
                        r.error = e.getMessage();
                        return r;
                    }
                    return response;
                }

                @Override
                protected void onPostExecute(Response r) {
                    if (r.status.equalsIgnoreCase(TraktStatus.SUCCESS)) {
                        // all good
                        Toast.makeText(context, r.message + " " + context.getString(R.string.ontrakt),
                                Toast.LENGTH_SHORT).show();

                        // relaunch the trakt task which called us to
                        // try the check in again
                        new TraktTask(context, fm, args, null).execute();
                    } else if (r.status.equalsIgnoreCase(TraktStatus.FAILURE)) {
                        // well, something went wrong
                        Toast.makeText(context, context.getString(R.string.trakt_generalerror) + ": " + r.error,
                                Toast.LENGTH_LONG).show();
                    }
                }
            };

            cancelCheckinTask.execute();
        }
    });
    builder.setNegativeButton(R.string.traktcheckin_wait, null);

    return builder.create();
}

From source file:com.battlelancer.seriesguide.ui.dialogs.TraktCancelCheckinDialogFragment.java

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    final Context context = getActivity().getApplicationContext();
    final Bundle args = getArguments();
    final boolean isEpisodeNotMovie = TraktAction
            .valueOf(args.getString(InitBundle.TRAKTACTION)) == TraktAction.CHECKIN_EPISODE;

    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

    builder.setMessage(context.getString(R.string.traktcheckin_inprogress, DateUtils.formatElapsedTime(mWait)));

    builder.setPositiveButton(R.string.traktcheckin_cancel, new OnClickListener() {

        @Override//w ww . j a  v a2s .  c om
        @SuppressLint("CommitTransaction")
        public void onClick(DialogInterface dialog, int which) {
            AsyncTask<String, Void, Response> cancelCheckinTask = new AsyncTask<String, Void, Response>() {

                @Override
                protected Response doInBackground(String... params) {

                    Trakt manager = ServiceUtils.getTraktWithAuth(context);
                    if (manager == null) {
                        // not authenticated any longer
                        Response r = new Response();
                        r.status = TraktStatus.FAILURE;
                        r.error = context.getString(R.string.trakt_error_credentials);
                        return r;
                    }

                    Response response;
                    try {
                        if (isEpisodeNotMovie) {
                            response = manager.showService().cancelcheckin();
                        } else {
                            response = manager.movieService().cancelcheckin();
                        }
                    } catch (RetrofitError e) {
                        Response r = new Response();
                        r.status = TraktStatus.FAILURE;
                        r.error = e.getMessage();
                        return r;
                    }
                    return response;
                }

                @Override
                protected void onPostExecute(Response r) {
                    if (TraktStatus.SUCCESS.equals(r.status)) {
                        // all good
                        Toast.makeText(context, R.string.checkin_canceled_success_trakt, Toast.LENGTH_SHORT)
                                .show();

                        // relaunch the trakt task which called us to
                        // try the check in again
                        AndroidUtils.executeOnPool(new TraktTask(context, args));
                    } else if (TraktStatus.FAILURE.equals(r.status)) {
                        // well, something went wrong
                        Toast.makeText(context, context.getString(R.string.trakt_error) + ": " + r.error,
                                Toast.LENGTH_LONG).show();
                    }
                }
            };

            AndroidUtils.executeOnPool(cancelCheckinTask);
        }
    });
    builder.setNegativeButton(R.string.traktcheckin_wait, new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // broadcast check-in success
            EventBus.getDefault().post(new TraktTask.TraktActionCompleteEvent(
                    TraktAction.valueOf(args.getString(InitBundle.TRAKTACTION)), true, null));
        }
    });

    return builder.create();
}

From source file:ca.rmen.android.scrumchatter.member.list.MembersCursorAdapter.java

/**
 * Set up the view with the data from the given team member
 * //from www  .j  av a 2s  .c  o m
 * @param view
 *            a newly created, or recycled view
 * @param cursor
 *            a row for a given team member.
 */
@Override
public void bindView(View view, Context context, Cursor cursor) {
    // Get the data from the cursor
    @SuppressWarnings("resource")
    MemberCursorWrapper memberCursorWrapper = new MemberCursorWrapper(cursor);
    Long memberId = memberCursorWrapper.getId();
    String memberName = memberCursorWrapper.getName();
    Integer avgDuration = memberCursorWrapper.getAverageDuration();
    Integer sumDuration = memberCursorWrapper.getSumDuration();
    Member cache = new Member(memberId, memberName);

    // Find the views we need to update
    TextView tvName = ViewHolder.get(view, R.id.tv_name);
    TextView tvAvgDuration = ViewHolder.get(view, R.id.tv_avg_duration);
    TextView tvSumDuration = ViewHolder.get(view, R.id.tv_sum_duration);
    View btnDelete = ViewHolder.get(view, R.id.btn_delete_member);

    // Setup our views with the member data
    tvName.setText(memberName);
    tvAvgDuration.setText(DateUtils.formatElapsedTime(avgDuration));
    tvSumDuration.setText(DateUtils.formatElapsedTime(sumDuration));

    // Forward clicks to our OnClickListener, and use the tag
    // to pass data about the member that the OnClickListener needs.
    btnDelete.setOnClickListener(mOnClickListener);
    btnDelete.setTag(cache);
}

From source file:org.dharmaseed.android.TalkCursorAdapter.java

@Override
public void bindView(View view, Context context, Cursor cursor) {

    // Set talk title and teacher name
    TextView title = (TextView) view.findViewById(R.id.item_view_title);
    TextView teacher = (TextView) view.findViewById(R.id.item_view_detail1);
    TextView center = (TextView) view.findViewById(R.id.item_view_detail2);
    title.setText(getString(cursor, DBManager.C.Talk.TABLE_NAME + "." + DBManager.C.Talk.TITLE));
    teacher.setText(getString(cursor, DBManager.C.Teacher.TABLE_NAME + "." + DBManager.C.Teacher.NAME));
    center.setText(getString(cursor, DBManager.C.Center.TABLE_NAME + "." + DBManager.C.Teacher.NAME));

    // Set date/*  w w w.j  a v a 2s  .  com*/
    TextView date = (TextView) view.findViewById(R.id.item_view_detail3);
    String recDate = getString(cursor, DBManager.C.Talk.TABLE_NAME + "." + DBManager.C.Talk.RECORDING_DATE);
    try {
        date.setText(DateFormat.getDateInstance().format(parser.parse(recDate)));
    } catch (ParseException e) {
        date.setText("");
    }

    // Set the talk duration
    final TextView durationView = (TextView) view.findViewById(R.id.item_view_detail4);
    double duration = cursor.getDouble(cursor.getColumnIndexOrThrow(
            DBManager.getAlias(DBManager.C.Talk.TABLE_NAME + "." + DBManager.C.Talk.DURATION_IN_MINUTES)));
    String durationStr = DateUtils.formatElapsedTime((long) (duration * 60));
    durationView.setText(durationStr);

    // Set teacher photo
    String photoFilename = DBManager.getTeacherPhotoFilename(cursor.getInt(cursor.getColumnIndexOrThrow(
            DBManager.getAlias(DBManager.C.Talk.TABLE_NAME + "." + DBManager.C.Talk.TEACHER_ID))));
    ImageView photoView = (ImageView) view.findViewById(R.id.item_view_photo);
    try {
        FileInputStream photo = context.openFileInput(photoFilename);
        photoView.setImageBitmap(BitmapFactory.decodeStream(photo));
    } catch (FileNotFoundException e) {
        Drawable icon = ContextCompat.getDrawable(context, R.drawable.dharmaseed_icon);
        photoView.setImageDrawable(icon);
    }

    // Set talk stars
    handleStars(view, cursor.getInt(cursor.getColumnIndexOrThrow(DBManager.C.Talk.ID)));
}

From source file:ca.rmen.android.scrumchatter.meeting.list.MeetingsCursorAdapter.java

/**
 * Fill the view holder's fields with data from the given meeting.
 *///ww  w  .j a  v  a  2s .c  o m
@Override
public void onBindViewHolder(final MeetingViewHolder holder, int position) {
    getCursor().moveToPosition(position);
    Context context = holder.binding.getRoot().getContext();
    // Get the data from the cursor
    MeetingCursorWrapper cursorWrapper = new MeetingCursorWrapper(getCursor());
    final Meeting meeting = Meeting.read(context, cursorWrapper);
    String dateString = TextUtils.formatDateTime(context, meeting.getStartDate());
    String duration = DateUtils.formatElapsedTime(meeting.getDuration());

    String stateName = mMeetingStateNames[meeting.getState().ordinal()];

    final MeetingListItemBinding binding = holder.binding;
    // Find the views we need to set up.
    binding.setMeeting(meeting);

    // Fill the date view.
    binding.tvMeetingDate.setText(dateString);

    // Fill the duration view. We will only show the duration if
    // the meeting is finished. For not-started or in-progress
    // meetings, we show the state.
    if (meeting.getState() == State.FINISHED)
        binding.tvMeetingDuration.setText(duration);
    else
        binding.tvMeetingDuration.setText(stateName);
    if (meeting.getState() == State.IN_PROGRESS) {
        Animation animBlink = AnimationUtils.loadAnimation(context, R.anim.blink);
        binding.tvMeetingDuration.startAnimation(animBlink);
        binding.tvMeetingDuration.setTextColor(mColorStateInProgress);
    } else {
        Animation anim = binding.tvMeetingDuration.getAnimation();
        if (anim != null) {
            anim.cancel();
            // Need to make sure the animation doesn't stay faded out.
            anim = AnimationUtils.loadAnimation(context, R.anim.show);
            binding.tvMeetingDuration.startAnimation(anim);
        }
        binding.tvMeetingDuration.setTextColor(mColorStateDefault);
    }
    if (binding.getRoot().getContext().getResources().getBoolean(R.bool.is_tablet)
            && Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) {
        binding.getRoot().setActivated(mSelectedPosition == position);
    }
    binding.btnDeleteMeeting.setOnClickListener(v -> mMeetingListener.onMeetingDelete(meeting));
    binding.getRoot().setOnClickListener(v -> {
        mSelectedPosition = holder.getAdapterPosition();
        mMeetingListener.onMeetingOpen(meeting);
        notifyDataSetChanged();
    });
}

From source file:org.kontalk.ui.AudioDialog.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mTimeTxt = (TextView) findViewById(R.id.time);
    mTimeTxt.setText(DateUtils.formatElapsedTime(0));
    mHintTxt = (TextView) findViewById(R.id.hint);
    mImageButton = (ImageView) findViewById(R.id.image_audio);
    mProgressBar = (CircularSeekBar) findViewById(R.id.circularSeekBar);
    mProgressBar.getProgress();//from  www  .j ava2s  .  c om
    mProgressBar.setMax(MAX_PROGRESS);
    mProgressBar.setVisibility(View.INVISIBLE);
    getButton(Dialog.BUTTON_POSITIVE).setVisibility(View.GONE);
}

From source file:net.potterpcs.recipebook.TimerFragment.java

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    startButton = (Button) getActivity().findViewById(R.id.timerstartbutton);
    stopButton = (Button) getActivity().findViewById(R.id.timerstopbutton);
    display = (TextView) getActivity().findViewById(R.id.timerdisplay);
    minutePicker = (NumberPicker) getActivity().findViewById(R.id.minutepicker);
    secondPicker = (NumberPicker) getActivity().findViewById(R.id.secondpicker);
    timermin = (EditText) getActivity().findViewById(R.id.timerdisplayminutes);
    timersec = (EditText) getActivity().findViewById(R.id.timerdisplayseconds);

    if (minutePicker != null) {
        minutePicker.setMinValue(0);/*from  w  w w . j a  va2s  .  c  o m*/
        minutePicker.setMaxValue(99);
        secondPicker.setMinValue(0);
        secondPicker.setMaxValue(59);
        secondPicker.setFormatter(new Formatter() {
            @Override
            public String format(int value) {
                return String.format("%02d", value);
            }
        });
        getActivity().findViewById(R.id.pickerlayout).setVisibility(View.VISIBLE);
        display.setVisibility(View.GONE);
    }

    startButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            int seconds;
            if (minutePicker != null) {
                seconds = minutePicker.getValue() * 60 + secondPicker.getValue();
            } else {
                int m = Integer.parseInt(timermin.getEditableText().toString());
                int s = Integer.parseInt(timersec.getEditableText().toString());
                seconds = m * 60 + s;
                timermin.setText(timermin.getText(), BufferType.NORMAL);
                timersec.setText(timersec.getText(), BufferType.NORMAL);
            }
            startButton.setEnabled(false);
            stopButton.setEnabled(true);

            if (minutePicker == null) {
                timermin.setEnabled(false);
                timersec.setEnabled(false);
            } else {
                minutePicker.setEnabled(false);
                secondPicker.setEnabled(false);
                getActivity().findViewById(R.id.pickerlayout).setVisibility(View.GONE);
                display.setVisibility(View.VISIBLE);
            }

            if (display != null) {
                display.setText(DateUtils.formatElapsedTime(seconds));
            }

            timer = new CountDownTimer(seconds * 1000, 1000) {

                @Override
                public void onTick(long millisUntilFinished) {
                    //                  Log.i(TAG, "tick " + millisUntilFinished);
                    if (display != null) {
                        display.setText(DateUtils.formatElapsedTime(millisUntilFinished / 1000));
                    } else {
                        int totalsec = (int) (millisUntilFinished / 1000);
                        int s = totalsec % 60;
                        int m = totalsec / 60;
                        timermin.setText(String.format("%02d", m));
                        timersec.setText(String.format("%02d", s));
                    }
                }

                @Override
                public void onFinish() {
                    // Play a sound and show a message when the timer ends
                    MediaPlayer mp = MediaPlayer.create(getActivity(), R.raw.ding);
                    mp.setOnCompletionListener(new OnCompletionListener() {
                        @Override
                        public void onCompletion(MediaPlayer mp) {
                            mp.release();
                        }
                    });
                    mp.setVolume(1.0f, 1.0f);
                    Toast.makeText(getActivity(), "Done!", Toast.LENGTH_LONG).show();
                    mp.start();
                    clearToZero();
                }
            };

            timer.start();
        }
    });

    stopButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.cancel();
            clearToZero();
        }
    });
}