Example usage for android.text.format DateUtils getRelativeTimeSpanString

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

Introduction

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

Prototype

public static CharSequence getRelativeTimeSpanString(long time, long now, long minResolution, int flags) 

Source Link

Document

Returns a string describing 'time' as a time relative to 'now'.

Usage

From source file:com.example.xyzreader.ui.articledetail.ArticleDetailFragment.java

private void bindViews() {
    if (mRootView == null || mCursor == null) {
        return;//from   w  ww  . j  a v  a 2  s  .  c  o  m
    }
    final ImageView detailImageView = (ImageView) mRootView.findViewById(R.id.detail_image);
    final TextView articleTitle = (TextView) mRootView.findViewById(R.id.article_detail_title);
    final TextView articleByLine = (TextView) mRootView.findViewById(R.id.article_detail_byline);
    final TextView bodyView = (TextView) mRootView.findViewById(R.id.article_body);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        long itemId = mCursor.getLong(ArticleLoader.Query._ID);
        String imageTransitionName = mContext.getString(R.string.image_transition_name) + itemId;
        detailImageView.setTransitionName(imageTransitionName);
        //            Log.d(LOG_TAG, "detail image transition name = '" + imageTransitionName + "'");
    }

    Picasso.with(mContext).load(mCursor.getString(ArticleLoader.Query.PHOTO_URL)).into(detailImageView,
            new Callback() {
                @Override
                public void onSuccess() {
                    //                        Log.d(LOG_TAG, "successful image load");
                    mPalette = generatePalette(detailImageView);
                    if (getUserVisibleHint() && isResumed()) {
                        setAppBarColor();
                    }
                }

                @Override
                public void onError() {
                    //                        Log.d(LOG_TAG, "image load FAIL");
                }
            });

    articleTitle.setText(mCursor.getString(ArticleLoader.Query.TITLE));

    String byLine = DateUtils
            .getRelativeTimeSpanString(mCursor.getLong(ArticleLoader.Query.PUBLISHED_DATE),
                    System.currentTimeMillis(), DateUtils.HOUR_IN_MILLIS, DateUtils.FORMAT_ABBREV_ALL)
            .toString() + " by " + mCursor.getString(ArticleLoader.Query.AUTHOR);
    articleByLine.setText(byLine);

    // Light up the embedded links in the body of the article
    bodyView.setMovementMethod(LinkMovementMethod.getInstance());

    //        bodyView.setTypeface(Typeface.createFromAsset(getResources().getAssets(), "Rosario-Regular.ttf"));
    bodyView.setText(Html.fromHtml(mCursor.getString(ArticleLoader.Query.BODY)));
}

From source file:com.android.dialer.calllog.PhoneCallDetailsHelper.java

/**
 * Get the call date/time of the call. For the call log this is relative to the current time.
 * e.g. 3 minutes ago. For voicemail, see {@link #getGranularDateTime(PhoneCallDetails)}
 *
 * @param details Call details to use.//from  w  w w. jav  a 2s . co  m
 * @return String representing when the call occurred.
 */
public CharSequence getCallDate(PhoneCallDetails details) {
    if (details.callTypes[0] == Calls.VOICEMAIL_TYPE) {
        return getGranularDateTime(details);
    }

    return DateUtils.getRelativeTimeSpanString(details.date, getCurrentTimeMillis(), DateUtils.MINUTE_IN_MILLIS,
            DateUtils.FORMAT_ABBREV_RELATIVE);
}

From source file:com.ohso.omgubuntu.ArticleActivity.java

private void setContents(Article article) {
    CharSequence date = DateUtils.getRelativeTimeSpanString(article.getDate(), new Date().getTime(),
            DateUtils.MINUTE_IN_MILLIS, DateUtils.FORMAT_ABBREV_RELATIVE);
    StringBuilder content = new StringBuilder();
    content.append(/*  w w w  .jav a2s . com*/
            "<!DOCTYPE html><head><link rel='stylesheet' type='text/css' href='style.css'></head><body>");
    content.append("<h1 id='article-title'>" + article.getTitle() + "</h1>");
    content.append("<div class='metadata'>");
    content.append("<span class='author'>" + article.getAuthor() + "</span>");
    content.append("<span class='date'>" + date + "</span></div>");
    content.append("<div class='post'>");
    content.append(article.getContent());
    content.append("<h2 class='internal-comments-link'><a href='internal://app-comments'>"
            + getResources().getString(R.string.activity_article_comment_text)
            + "</a></h2></div></body></html>");
    webview.loadDataWithBaseURL("file:///android_asset/", content.toString(), "text/html", "UTF-8",
            getResources().getString(R.string.base_url) + article.getPath());
}

From source file:com.gsma.rcs.ri.messaging.adapter.TalkCursorAdapter.java

private void bindRcsGroupChatEvent(View view, Cursor cursor) {
    BasicViewHolder holder = (BasicViewHolder) view.getTag();
    holder.getTimestampText()//w  w w .  j  a va  2  s.  co  m
            .setText(DateUtils.getRelativeTimeSpanString(cursor.getLong(holder.getColumnTimestampIdx()),
                    System.currentTimeMillis(), DateUtils.MINUTE_IN_MILLIS, DateUtils.FORMAT_ABBREV_RELATIVE));
    String event = RiApplication.sGroupChatEvents[cursor.getInt(holder.getColumnStatusIdx())];
    holder.getStatusText().setText(mActivity.getString(R.string.label_groupchat_event, event));
}

From source file:com.gsma.rcs.ri.messaging.adapter.TalkCursorAdapter.java

private void bindRcsFileTransferOutView(View view, Cursor cursor) {
    RcsFileTransferOutViewHolder holder = (RcsFileTransferOutViewHolder) view.getTag();
    holder.getTimestampText()/*from w ww.  java2s .c om*/
            .setText(DateUtils.getRelativeTimeSpanString(cursor.getLong(holder.getColumnTimestampIdx()),
                    System.currentTimeMillis(), DateUtils.MINUTE_IN_MILLIS, DateUtils.FORMAT_ABBREV_RELATIVE));
    String mimeType = cursor.getString(holder.getColumnMimetypeIdx());
    StringBuilder sb = new StringBuilder(cursor.getString(holder.getColumnFilenameIdx()));
    long filesize = cursor.getLong(holder.getColumnFilesizeIdx());
    long transferred = cursor.getLong(holder.getColumnTransferredIdx());
    final ImageView imageView = holder.getFileImageView();
    imageView.setOnClickListener(null);
    imageView.setLayoutParams(mImageParamsDefault);
    imageView.setImageResource(R.drawable.ri_filetransfer_on);
    if (filesize != transferred) {
        holder.getProgressText()
                .setText(sb.append(" : ").append(Utils.getProgressLabel(transferred, filesize)).toString());
    } else {
        holder.getProgressText().setText(sb.append(" (")
                .append(FileUtils.humanReadableByteCount(filesize, true)).append(")").toString());
    }
    final Uri file = Uri.parse(cursor.getString(holder.getColumnContentIdx()));
    if (Utils.isImageType(mimeType)) {
        String filePath = FileUtils.getPath(mContext, file);
        Bitmap imageBitmap = null;
        if (filePath != null) {
            LruCache<String, BitmapCacheInfo> memoryCache = bitmapCache.getMemoryCache();
            BitmapCacheInfo bitmapCacheInfo = memoryCache.get(filePath);
            if (bitmapCacheInfo == null) {
                ImageBitmapLoader loader = new ImageBitmapLoader(mContext, memoryCache, MAX_IMAGE_WIDTH,
                        MAX_IMAGE_HEIGHT, new BitmapLoader.SetViewCallback() {
                            @Override
                            public void loadView(BitmapCacheInfo cacheInfo) {
                                imageView.setImageBitmap(cacheInfo.getBitmap());
                                imageView.setLayoutParams(mImageParams);
                            }
                        });
                loader.execute(filePath);
            } else {
                imageBitmap = bitmapCacheInfo.getBitmap();
            }
            if (imageBitmap != null) {
                imageView.setImageBitmap(imageBitmap);
                imageView.setLayoutParams(mImageParams);
            }
            imageView.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    Utils.showPicture(mActivity, file);
                }
            });
        }
    } else if (Utils.isAudioType(mimeType)) {
        imageView.setImageResource(R.drawable.headphone);
        imageView.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Utils.playAudio(mActivity, file);
            }
        });
    }
    holder.getStatusText().setText(getRcsFileTransferStatus(cursor, holder));
    boolean undeliveredExpiration = cursor.getInt(holder.getColumnExpiredDeliveryIdx()) == 1;
    holder.getStatusText().setCompoundDrawablesWithIntrinsicBounds(
            undeliveredExpiration ? R.drawable.chat_view_undelivered : 0, 0, 0, 0);
}

From source file:com.todoroo.astrid.notes.EditNoteActivity.java

/** Helper method to set the contents and visibility of each field */
public synchronized void bindView(View view, NoteOrUpdate item) {
    // name/*from w w w. j  a  v a2s . c om*/
    final TextView nameView = (TextView) view.findViewById(R.id.title);
    {
        nameView.setText(item.title);
        Linkify.addLinks(nameView, Linkify.ALL);
    }

    // date
    final TextView date = (TextView) view.findViewById(R.id.date);
    {
        CharSequence dateString = DateUtils.getRelativeTimeSpanString(item.createdAt, DateUtilities.now(),
                DateUtils.MINUTE_IN_MILLIS, DateUtils.FORMAT_ABBREV_RELATIVE);
        date.setText(dateString);
    }

    // picture
    final ImageView commentPictureView = (ImageView) view.findViewById(R.id.comment_picture);
    setupImagePopupForCommentView(view, commentPictureView, item.commentBitmap, fragment);
}

From source file:com.todoroo.astrid.adapter.UpdateAdapter.java

private void setupUserActivityRow(View view, UserActivity activity, User user) {
    final AsyncImageView pictureView = (AsyncImageView) view.findViewById(R.id.picture);
    {//from w w w .  ja  va2 s .  c  om
        if (user.containsNonNullValue(USER_PICTURE)) {
            String pictureUrl = user.getPictureUrl(USER_PICTURE, RemoteModel.PICTURE_THUMB);
            pictureView.setUrl(pictureUrl);
        } else {
            pictureView.setUrl(null);
        }
        pictureView.setVisibility(View.VISIBLE);
    }

    final AsyncImageView commentPictureView = (AsyncImageView) view.findViewById(R.id.comment_picture);
    {
        String pictureThumb = activity.getPictureUrl(UserActivity.PICTURE, RemoteModel.PICTURE_MEDIUM);
        String pictureFull = activity.getPictureUrl(UserActivity.PICTURE, RemoteModel.PICTURE_LARGE);
        Bitmap updateBitmap = null;
        if (TextUtils.isEmpty(pictureThumb))
            updateBitmap = activity.getPictureBitmap(UserActivity.PICTURE);
        setupImagePopupForCommentView(view, commentPictureView, pictureThumb, pictureFull, updateBitmap,
                activity.getValue(UserActivity.MESSAGE), fragment, imageCache);
    }

    // name
    final TextView nameView = (TextView) view.findViewById(R.id.title);
    {
        nameView.setText(
                getUpdateComment((AstridActivity) fragment.getActivity(), activity, user, linkColor, fromView));
        nameView.setMovementMethod(new LinkMovementMethod());
        nameView.setTextColor(color);
    }

    // date
    final TextView date = (TextView) view.findViewById(R.id.date);
    {
        CharSequence dateString = DateUtils.getRelativeTimeSpanString(
                activity.getValue(UserActivity.CREATED_AT), DateUtilities.now(), DateUtils.MINUTE_IN_MILLIS,
                DateUtils.FORMAT_ABBREV_RELATIVE);
        date.setText(dateString);
    }
}

From source file:com.todoroo.astrid.adapter.UpdateAdapter.java

private void setupHistoryRow(View view, History history, User user) {
    final AsyncImageView pictureView = (AsyncImageView) view.findViewById(R.id.picture);
    {//w  w w  . ja v a 2 s  . co  m
        if (user.containsNonNullValue(USER_PICTURE)) {
            String pictureUrl = user.getPictureUrl(USER_PICTURE, RemoteModel.PICTURE_THUMB);
            pictureView.setUrl(pictureUrl);
        } else {
            pictureView.setUrl(null);
        }
        pictureView.setVisibility(View.VISIBLE);
    }

    final AsyncImageView commentPictureView = (AsyncImageView) view.findViewById(R.id.comment_picture);
    commentPictureView.setVisibility(View.GONE);

    final TextView nameView = (TextView) view.findViewById(R.id.title);
    {
        nameView.setText(
                getHistoryComment((AstridActivity) fragment.getActivity(), history, user, linkColor, fromView));
        nameView.setTextColor(grayColor);
    }

    final TextView date = (TextView) view.findViewById(R.id.date);
    {
        CharSequence dateString = DateUtils.getRelativeTimeSpanString(history.getValue(History.CREATED_AT),
                DateUtilities.now(), DateUtils.MINUTE_IN_MILLIS, DateUtils.FORMAT_ABBREV_RELATIVE);
        date.setText(dateString);
    }
}

From source file:com.gsma.rcs.ri.messaging.adapter.TalkCursorAdapter.java

private void bindRcsFileTransferInView(View view, Cursor cursor) {
    final RcsFileTransferInViewHolder holder = (RcsFileTransferInViewHolder) view.getTag();
    holder.getTimestampText()/*w  ww.j  a v  a2  s .  c o  m*/
            .setText(DateUtils.getRelativeTimeSpanString(cursor.getLong(holder.getColumnTimestampIdx()),
                    System.currentTimeMillis(), DateUtils.MINUTE_IN_MILLIS, DateUtils.FORMAT_ABBREV_RELATIVE));
    String mimeType = cursor.getString(holder.getColumnMimetypeIdx());
    StringBuilder sb = new StringBuilder(cursor.getString(holder.getColumnFilenameIdx()));
    long filesize = cursor.getLong(holder.getColumnFilesizeIdx());
    long transferred = cursor.getLong(holder.getColumnTransferredIdx());
    final ImageView imageView = holder.getFileImageView();
    imageView.setOnClickListener(null);
    imageView.setLayoutParams(mImageParamsDefault);
    imageView.setImageResource(R.drawable.ri_filetransfer_off);
    if (filesize != transferred) {
        holder.getProgressText()
                .setText(sb.append(" : ").append(Utils.getProgressLabel(transferred, filesize)).toString());
    } else {
        imageView.setImageResource(R.drawable.ri_filetransfer_on);
        final Uri file = Uri.parse(cursor.getString(holder.getColumnContentIdx()));
        final RcsService.ReadStatus readStatus = RcsService.ReadStatus
                .valueOf(cursor.getInt(holder.getColumnReadStatusIdx()));
        final String id = cursor.getString(cursor.getColumnIndexOrThrow(HistoryLog.ID));
        if (Utils.isImageType(mimeType)) {
            final String filePath = FileUtils.getPath(mContext, file);
            if (filePath != null) {
                LruCache<String, BitmapCacheInfo> memoryCache = bitmapCache.getMemoryCache();
                BitmapCacheInfo bitmapCacheInfo = memoryCache.get(filePath);
                if (bitmapCacheInfo == null) {
                    ImageBitmapLoader loader = new ImageBitmapLoader(mContext, memoryCache, MAX_IMAGE_WIDTH,
                            MAX_IMAGE_HEIGHT, new BitmapLoader.SetViewCallback() {
                                @Override
                                public void loadView(BitmapCacheInfo cacheInfo) {
                                    imageView.setImageBitmap(cacheInfo.getBitmap());
                                    imageView.setLayoutParams(mImageParams);
                                }
                            });
                    loader.execute(filePath);
                } else {
                    Bitmap imageBitmap = bitmapCacheInfo.getBitmap();
                    imageView.setImageBitmap(imageBitmap);
                    imageView.setLayoutParams(mImageParams);
                }
                imageView.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Utils.showPicture(mActivity, file);
                        markFileTransferAsRead(id, readStatus);
                    }
                });
            }
        } else if (Utils.isAudioType(mimeType)) {
            imageView.setImageResource(R.drawable.headphone);
            imageView.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    Utils.playAudio(mActivity, file);
                    markFileTransferAsRead(id, readStatus);
                }
            });
        }
        holder.getProgressText().setText(sb.append(" (")
                .append(FileUtils.humanReadableByteCount(filesize, true)).append(")").toString());
    }
    holder.getStatusText().setText(getRcsFileTransferStatus(cursor, holder));
}

From source file:com.gsma.rcs.ri.messaging.adapter.TalkCursorAdapter.java

private RcsChatInViewHolder bindRcsChatView(View view, Cursor cursor) {
    RcsChatInViewHolder holder = (RcsChatInViewHolder) view.getTag();
    holder.getTimestampText()//from  www  .  ja va2  s.c o  m
            .setText(DateUtils.getRelativeTimeSpanString(cursor.getLong(holder.getColumnTimestampIdx()),
                    System.currentTimeMillis(), DateUtils.MINUTE_IN_MILLIS, DateUtils.FORMAT_ABBREV_RELATIVE));
    String mimeType = cursor.getString(holder.getColumnMimetypeIdx());
    TextView contentText = holder.getContentText();
    String data = cursor.getString(holder.getColumnContentIdx());
    if (MimeType.TEXT_MESSAGE.equals(mimeType)) {
        contentText.setText(formatMessageWithSmiley(data));
    } else {
        contentText.setText(formatGeolocation(mContext, new Geoloc(data)));
    }
    holder.getStatusText().setText(getRcsChatStatus(cursor, holder));
    return holder;
}