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:net.potterpcs.recipebook.RecipeViewer.java

@SuppressWarnings("deprecation")
@Override/* www.  java 2s  . c o m*/
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.recipeviewer);

    app = (RecipeBook) getApplication();
    data = app.getData();
    preferences = PreferenceManager.getDefaultSharedPreferences(this);
    photoPref = preferences.getBoolean(getResources().getString(R.string.prefphotokey), true);
    dirPhotoPref = preferences.getBoolean(getResources().getString(R.string.prefdirphotokey), true);

    // Fill in the UI
    rvname = (TextView) findViewById(R.id.rvname);
    rvcreator = (TextView) findViewById(R.id.rvcreator);
    rvserving = (TextView) findViewById(R.id.rvserving);
    rvtime = (TextView) findViewById(R.id.rvtime);
    rvrating = (RatingBar) findViewById(R.id.rvrating);

    lvingredients = (GridView) findViewById(R.id.ingredients);
    lvdirections = (ListView) findViewById(R.id.directions);

    rid = Long.parseLong(getIntent().getData().getLastPathSegment());

    RecipeData.Recipe r = data.getSingleRecipeObject(rid);

    rvname.setText(r.name);
    rvcreator.setText(r.creator);
    rvserving.setText(Integer.toString(r.serving));
    rvtime.setText(DateUtils.formatElapsedTime(r.time));
    rvrating.setRating(r.rating);

    photoUri = r.photo;
    if (photoPref && photoUri != null && !photoUri.equals("")) {
        rvphoto = (FrameLayout) findViewById(R.id.photofragment);
        ImageView iv = new ImageView(this);
        setOrDownloadImage(iv, photoUri);
        iv.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
                PhotoDialog pd = PhotoDialog.newInstance(photoUri);
                pd.show(ft, "dialog");
            }
        });
        rvphoto.addView(iv);
    }

    directionsAdapter = new SimpleCursorAdapter(this, R.layout.recipedirectionrow, null, DIRECTIONS_FIELDS,
            DIRECTIONS_IDS, 0);
    directionsAdapter.setViewBinder(new DirectionViewBinder(this));

    lvdirections.setAdapter(directionsAdapter);
    lvdirections.setDividerHeight(0);

    ingredientsAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null,
            INGREDIENTS_FIELDS, INGREDIENTS_IDS, 0);
    lvingredients.setAdapter(ingredientsAdapter);

    // Set up sharing intent
    shareIntent = ShareCompat.IntentBuilder.from(this).setSubject(r.name).setText(r.toText(this))
            .setType("text/plain");
}

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

private MeetingDisplayInfo createMeetingDisplayInfo(Teams.Team team, Meeting meeting) {
    return new MeetingDisplayInfo(getString(R.string.chart_member_speaking_time_title, team.teamName),
            getString(R.string.chart_total_duration, DateUtils.formatElapsedTime(meeting.getDuration())),
            TextUtils.formatDateTime(getContext(), meeting.getStartDate()));
}

From source file:ca.rmen.android.scrumchatter.meeting.detail.MeetingCursorAdapter.java

/**
 * Set the view elements (TextView text, etc) for the given member of a
 * meeting./*  w w w  .j ava 2  s .co m*/
 */
@Override
public void onBindViewHolder(MeetingViewHolder holder, int position) {
    // Extract the fields we need from this cursor
    @SuppressWarnings("resource")
    MeetingMemberCursorWrapper cursorWrapper = new MeetingMemberCursorWrapper(getCursor());
    MeetingMemberItemData meetingMemberItemData = new MeetingMemberItemData();
    meetingMemberItemData.memberId = cursorWrapper.getMemberId();
    meetingMemberItemData.memberName = cursorWrapper.getMemberName();
    long duration = cursorWrapper.getDuration();
    State meetingState = cursorWrapper.getMeetingState();
    Long talkStartTime = cursorWrapper.getTalkStartTime();

    // Find the Views we need to set up
    MeetingMemberListItemBinding binding = holder.binding;

    // if the talkStartTime is non-zero, this means the
    // member is talking (and started talking that long ago).
    meetingMemberItemData.isTalking = talkStartTime > 0;

    // Set up the start/stop button for this member.
    // If the meeting is finished, we hide the start/stop button.
    if (meetingState == State.FINISHED) {
        meetingMemberItemData.startStopButtonVisibility = View.INVISIBLE;
    }
    meetingMemberItemData.clickable = meetingState != State.FINISHED;

    // If the member is currently talking, show the chronometer.
    // Otherwise, show the duration that they talked (if any).
    if (meetingMemberItemData.isTalking) {
        long hasBeenTalkingFor = duration * 1000 + (System.currentTimeMillis() - talkStartTime);
        binding.tvDuration.setBase(SystemClock.elapsedRealtime() - hasBeenTalkingFor);
        binding.tvDuration.start();
        meetingMemberItemData.durationColor = mColorChronoActive;
        startAnimation(binding.ivChatterFace);
    } else {
        binding.tvDuration.stop();
        binding.tvDuration.setText(DateUtils.formatElapsedTime(duration));
        meetingMemberItemData.durationColor = duration > 0 ? mColorChronoInactive : mColorChronoNotStarted;
        stopAnimation(binding.ivChatterFace);
    }

    @ColorRes
    int backgroundColorRes = (position % 2 == 0) ? R.color.row_background_color_even
            : R.color.row_background_color_odd;
    meetingMemberItemData.backgroundColor = ContextCompat.getColor(binding.getRoot().getContext(),
            backgroundColorRes);
    // Set the member id as a tag, so when the listener receives the
    // click action, it knows for which member the user clicked.
    binding.setItemData(meetingMemberItemData);
    binding.executePendingBindings();
}

From source file:org.proninyaroslav.libretorrent.adapters.TorrentListAdapter.java

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    TorrentStateParcel state = currentItems.get(position).getState();

    Utils.setBackground(holder.indicatorCurOpenTorrent,
            ContextCompat.getDrawable(context, android.R.color.transparent));

    if (isSelected(position)) {
        Utils.setBackground(holder.itemTorrentList,
                ContextCompat.getDrawable(context, R.drawable.default_gray_rect));
    } else {//from www .ja v a 2  s  .  co  m
        Utils.setBackground(holder.itemTorrentList,
                ContextCompat.getDrawable(context, R.drawable.default_rect_ripple));
    }

    holder.name.setText(state.name);

    holder.progress.setProgress(state.progress);

    String stateString = "";
    switch (state.stateCode) {
    case DOWNLOADING:
        stateString = context.getString(R.string.torrent_status_downloading);
        break;
    case SEEDING:
        stateString = context.getString(R.string.torrent_status_seeding);
        break;
    case PAUSED:
        stateString = context.getString(R.string.torrent_status_paused);
        break;
    case STOPPED:
        stateString = context.getString(R.string.torrent_status_stopped);
        break;
    case FINISHED:
        stateString = context.getString(R.string.torrent_status_finished);
        break;
    case CHECKING:
        stateString = context.getString(R.string.torrent_status_checking);
        break;
    }
    holder.state.setText(stateString);

    String counterTemplate = context.getString(R.string.download_counter_template);
    String totalBytes = Formatter.formatFileSize(context, state.totalBytes);
    String receivedBytes;
    if (state.progress == 100) {
        receivedBytes = totalBytes;
    } else {
        receivedBytes = Formatter.formatFileSize(context, state.receivedBytes);
    }

    holder.downloadCounter.setText(String.format(counterTemplate, receivedBytes, totalBytes, state.progress));

    String speedTemplate = context.getString(R.string.download_upload_speed_template);
    String downloadSpeed = Formatter.formatFileSize(context, state.downloadSpeed);
    String uploadSpeed = Formatter.formatFileSize(context, state.uploadSpeed);
    holder.downloadUploadSpeed.setText(String.format(speedTemplate, downloadSpeed, uploadSpeed));

    String ETA;
    if (state.ETA == -1) {
        ETA = Utils.INFINITY_SYMBOL;
    } else if (state.ETA == 0) {
        ETA = " ";
    } else {
        ETA = DateUtils.formatElapsedTime(state.ETA);
    }
    holder.ETA.setText(ETA);

    holder.pauseButton.setStartDrawable(R.drawable.pause_to_play);
    holder.pauseButton.setEndDrawable(R.drawable.play_to_pause);
    holder.pauseButton.setState((state.stateCode == TorrentStateCode.PAUSED ? MorphButton.MorphState.END
            : MorphButton.MorphState.START));

    if (curOpenTorrent != null && getItemPosition(curOpenTorrent) == position && Utils.isTwoPane(context)) {
        if (!isSelected(position)) {
            Utils.setBackground(holder.itemTorrentList,
                    ContextCompat.getDrawable(context, R.color.accent_light));
        }

        Utils.setBackground(holder.indicatorCurOpenTorrent, ContextCompat.getDrawable(context, R.color.accent));
    }
}

From source file:com.todoroo.astrid.timers.TimerControlSet.java

private void refreshDisplayView() {
    String est = null;/*  ww w. j a v  a  2 s . co  m*/
    int estimatedSeconds = estimated.getTimeDurationInSeconds();
    if (estimatedSeconds > 0) {
        est = getString(R.string.TEA_timer_est, DateUtils.formatElapsedTime(estimatedSeconds));
    }
    String elap = null;
    int elapsedSeconds = elapsed.getTimeDurationInSeconds();
    if (elapsedSeconds > 0) {
        elap = getString(R.string.TEA_timer_elap, DateUtils.formatElapsedTime(elapsedSeconds));
    }

    String toDisplay;

    if (!TextUtils.isEmpty(est) && !TextUtils.isEmpty(elap)) {
        toDisplay = est + ", " + elap; //$NON-NLS-1$
    } else if (!TextUtils.isEmpty(est)) {
        toDisplay = est;
    } else if (!TextUtils.isEmpty(elap)) {
        toDisplay = elap;
    } else {
        toDisplay = null;
    }

    if (!TextUtils.isEmpty(toDisplay)) {
        displayEdit.setText(toDisplay);
        displayEdit.setTextColor(getColor(context, R.color.text_primary));
    } else {
        displayEdit.setText(R.string.TEA_timer_controls);
        displayEdit.setTextColor(getColor(context, R.color.text_tertiary));
    }
}

From source file:net.simno.klingar.ui.PlayerController.java

@NonNull
@Override// ww  w  .j  a va  2  s. co  m
protected View onCreateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) {
    View view = super.onCreateView(inflater, container);

    toolbarOwner.setConfig(ToolbarOwner.Config.builder().background(false).backNavigation(true)
            .titleAlpha(TITLE_GONE).build());

    setHasOptionsMenu(true);

    queueRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    queueRecyclerView.setHasFixedSize(true);
    queueRecyclerView.addItemDecoration(new DividerItemDecoration(itemDivider));

    queueRecyclerView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
    if (isQueueVisible) {
        queueRecyclerView.animate().alpha(1).setDuration(0).withLayer();
        background.setImageAlpha(0);
    } else {
        queueRecyclerView.animate().alpha(0).setDuration(0).withLayer();
        background.setImageAlpha(255);
    }

    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            elapsedTime.setText(DateUtils.formatElapsedTime(progress));
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            isSeeking = true;
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            musicController.seekTo(seekBar.getProgress() * 1000);
            isSeeking = false;
        }
    });

    return view;
}

From source file:com.xortech.map.MapsWithMe.java

/**
 * METHOD TO CHECK THE TIME DIFFERENCE OF THE RECEVIED SMS WITH THE CURRENT TIME
 * @param now/*from w  w  w .  j a  v  a2  s. co  m*/
 * @param then
 * @return
 */
public String getDifference(long now, long then) {

    try {
        if (now > then) {
            return DateUtils.formatElapsedTime((now - then) / 1000L);
        } else {
            return "Time Error!";
        }
    } catch (Exception e) {
        Log.e("Error: ", "" + e);
        return "Time Error!";
    }
}

From source file:com.xortech.sender.SenderReceive.java

/**
 * METHOD TO GET THE TIME DIFFERENCE FROM A SMS AND THE CURRENT TIME
 * @param now/* ww  w .  j  a v a  2  s . co m*/
 * @param then
 * @return
 */
public String getDifference(long now, long then) {
    try {
        if (now > then) {
            return DateUtils.formatElapsedTime((now - then) / 1000L);
        } else {
            return "Time Error!";
        }
    } catch (Exception e) {
        return "Time Error!";
    }
}

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

void clearToZero() {
    startButton.setEnabled(true);//from   w  w w  .  ja va2  s  .  c o m
    stopButton.setEnabled(false);

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

    if (display != null) {
        display.setText(DateUtils.formatElapsedTime(0));
    } else {
        timermin.setText("00", BufferType.EDITABLE);
        timersec.setText("00", BufferType.EDITABLE);
    }
}

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

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_play_talk);

    // Turn on action bar up/home button
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
    }//from   w  ww. j  a va 2 s  . c o  m

    // Get the ID of the talk to display
    Intent i = getIntent();
    talkID = (int) i.getLongExtra(NavigationActivity.TALK_DETAIL_EXTRA, 0);

    dbManager = DBManager.getInstance(this);

    // only hit the DB again if we know the talk is different than the one
    // we have saved.
    // for example, if the user selects a talk, exits, and re-opens it, no need
    // to hit the DB again, since we already have that talk saved
    if (talk == null || talk.getId() != talkID) {
        Cursor cursor = getCursor();
        if (cursor.moveToFirst()) {
            // convert DB result to an object
            talk = new Talk(cursor);
            talk.setId(talkID);
        } else {
            Log.e(LOG_TAG, "Could not look up talk, id=" + talkID);
            cursor.close();
            return;
        }
        cursor.close();
    } // else we already have the talk, just re-draw the page

    // Set the talk title
    TextView titleView = (TextView) findViewById(R.id.play_talk_talk_title);
    titleView.setText(talk.getTitle());

    // Set the teacher name
    TextView teacherView = (TextView) findViewById(R.id.play_talk_teacher);
    teacherView.setText(talk.getTeacherName());

    // Set the center name
    TextView centerView = (TextView) findViewById(R.id.play_talk_center);
    centerView.setText(talk.getCenterName());

    // Set the talk description
    TextView descriptionView = (TextView) findViewById(R.id.play_talk_talk_description);
    descriptionView.setText(talk.getDescription());

    // Set teacher photo
    String photoFilename = talk.getPhotoFileName();
    ImageView photoView = (ImageView) findViewById(R.id.play_talk_teacher_photo);
    Log.i(LOG_TAG, "photoFilename: " + photoFilename);
    try {
        FileInputStream photo = openFileInput(photoFilename);
        photoView.setImageBitmap(BitmapFactory.decodeStream(photo));
    } catch (FileNotFoundException e) {
        Drawable icon = ContextCompat.getDrawable(this, R.drawable.dharmaseed_icon);
        photoView.setImageDrawable(icon);
    }

    // set the image of the download button based on whether the talk is
    // downloaded or not
    toggleDownloadImage();

    // Set date
    TextView dateView = (TextView) findViewById(R.id.play_talk_date);
    String recDate = talk.getDate();
    SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    try {
        dateView.setText(DateFormat.getDateInstance().format(parser.parse(recDate)));
    } catch (ParseException e) {
        dateView.setText("");
        Log.w(LOG_TAG, "Could not parse talk date for talk ID " + talkID);
    }

    // Get/create a persistent fragment to manage the MediaPlayer instance
    FragmentManager fm = getSupportFragmentManager();
    talkPlayerFragment = (TalkPlayerFragment) fm.findFragmentByTag("talkPlayerFragment");
    if (talkPlayerFragment == null) {
        // add the fragment
        talkPlayerFragment = new TalkPlayerFragment();
        fm.beginTransaction().add(talkPlayerFragment, "talkPlayerFragment").commit();
    } else if (talkPlayerFragment.getMediaPlayer().isPlaying()) {
        setPPButton("ic_media_pause");
    }

    // Set the talk duration
    final TextView durationView = (TextView) findViewById(R.id.play_talk_talk_duration);
    double duration = talk.getDurationInMinutes();
    String durationStr = DateUtils.formatElapsedTime((long) (duration * 60));
    durationView.setText(durationStr);

    // Start a handler to periodically update the seek bar and talk time
    final SeekBar seekBar = (SeekBar) findViewById(R.id.play_talk_seek_bar);
    seekBar.setMax((int) (duration * 60 * 1000));
    userDraggingSeekBar = false;
    userSeekBarPosition = 0;
    seekBar.setOnSeekBarChangeListener(this);
    final Handler handler = new Handler();
    final MediaPlayer mediaPlayer = talkPlayerFragment.getMediaPlayer();
    handler.post(new Runnable() {
        @Override
        public void run() {
            handler.postDelayed(this, 1000);
            if (talkPlayerFragment.getMediaPrepared() && !userDraggingSeekBar) {
                try {
                    int pos = mediaPlayer.getCurrentPosition();
                    int mpDuration = mediaPlayer.getDuration();
                    seekBar.setMax(mpDuration);
                    seekBar.setProgress(pos);
                    String posStr = DateUtils.formatElapsedTime(pos / 1000);
                    String mpDurStr = DateUtils.formatElapsedTime(mpDuration / 1000);
                    durationView.setText(posStr + "/" + mpDurStr);
                } catch (IllegalStateException e) {
                }
            }
        }
    });
}