List of usage examples for android.text.format DateUtils formatElapsedTime
public static String formatElapsedTime(long elapsedSeconds)
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(); } }); }