Example usage for android.support.v4.util LruCache get

List of usage examples for android.support.v4.util LruCache get

Introduction

In this page you can find the example usage for android.support.v4.util LruCache get.

Prototype

public final V get(K key) 

Source Link

Document

Returns the value for key if it exists in the cache or can be created by #create .

Usage

From source file:org.schabi.newpipe.util.InfoCache.java

private static Info getInfo(@NonNull final LruCache<String, CacheData> cache, @NonNull final String key) {
    final CacheData data = cache.get(key);
    if (data == null)
        return null;

    if (data.isExpired()) {
        cache.remove(key);//from  w  w  w.j  av a2 s . co m
        return null;
    }

    return data.info;
}

From source file:com.robopupu.api.component.BitmapManagerImpl.java

public Bitmap getBitmap(final String key) {
    final LruCache<String, Bitmap> cache = bitmapCaches.get(NAME_DEFAULT_CACHE);
    return cache.get(key);
}

From source file:org.fuusio.api.graphics.BitmapManagerImpl.java

public Bitmap getBitmap(final String key) {
    final LruCache<String, Bitmap> cache = mBitmacaches.get(NAME_DEFAULT_CACHE);
    return cache.get(key);
}

From source file:com.robopupu.api.component.BitmapManagerImpl.java

public Bitmap getBitmap(final String cacheName, final int resId) {
    final LruCache<String, Bitmap> cache = bitmapCaches.get(cacheName);
    final String key = Integer.toString(resId);
    return cache.get(key);
}

From source file:org.fuusio.api.graphics.BitmapManagerImpl.java

public Bitmap getBitmap(final String cacheName, final int resId) {
    final LruCache<String, Bitmap> cache = mBitmacaches.get(cacheName);
    final String key = Integer.toString(resId);
    return cache.get(key);
}

From source file:com.bydavy.card.receipts.fragments.ReceiptFragment.java

private void updateThumbnail(String picturePath) {
    if (TextUtils.isEmpty(mPicturePath)) {
        mViewPicture.setImageDrawable(getResources().getDrawable(R.drawable.ic_menu_camera));
        return;/*  ww  w  .j  a  v a2 s .  c  om*/
    }

    final LruCache<String, Bitmap> cache = ReceiptThumbnailCache.mCache;
    Bitmap bitmap;
    synchronized (cache) {
        bitmap = cache.get(mPicturePath);
    }
    if (bitmap != null) {
        mViewPicture.setImageBitmap(bitmap);
    } else {
        mViewPictureWorker = new BitmapWorkerTask(mViewPicture, mViewPicture.getLayoutParams().width,
                mViewPicture.getLayoutParams().height, ReceiptThumbnailCache.mCache) {
            @Override
            protected Bitmap doInBackground(String... params) {
                Bitmap bitmap = super.doInBackground(params);
                // If picture not found remove it from DB
                if (bitmap == null) {
                    // TODO log this event (user removed picture from
                    // another app)
                    ReceiptProviderAccess.updatePicture(getActivity(), getReceiptId(), null, mPicturePath,
                            false);
                }
                return bitmap;
            }
        };
        mViewPictureWorker.execute(mPicturePath);
    }
}

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  w  w.  j  a v a  2s . 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_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.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  va 2 s.  co 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.bobomee.android.common.util.ScreenUtil.java

/**
 * https://gist.github.com/PrashamTrivedi/809d2541776c8c141d9a
 *///w  w w. j  av a 2  s . co  m
public static Bitmap shotRecyclerView(RecyclerView view) {
    RecyclerView.Adapter adapter = view.getAdapter();
    Bitmap bigBitmap = null;
    if (adapter != null) {
        int size = adapter.getItemCount();
        int height = 0;
        Paint paint = new Paint();
        int iHeight = 0;
        final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);

        // Use 1/8th of the available memory for this memory cache.
        final int cacheSize = maxMemory / 8;
        LruCache<String, Bitmap> bitmaCache = new LruCache<>(cacheSize);
        for (int i = 0; i < size; i++) {
            RecyclerView.ViewHolder holder = adapter.createViewHolder(view, adapter.getItemViewType(i));
            adapter.onBindViewHolder(holder, i);
            holder.itemView.measure(View.MeasureSpec.makeMeasureSpec(view.getWidth(), View.MeasureSpec.EXACTLY),
                    View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
            holder.itemView.layout(0, 0, holder.itemView.getMeasuredWidth(),
                    holder.itemView.getMeasuredHeight());
            holder.itemView.setDrawingCacheEnabled(true);
            holder.itemView.buildDrawingCache();
            Bitmap drawingCache = holder.itemView.getDrawingCache();
            if (drawingCache != null) {

                bitmaCache.put(String.valueOf(i), drawingCache);
            }
            height += holder.itemView.getMeasuredHeight();
        }

        bigBitmap = Bitmap.createBitmap(view.getMeasuredWidth(), height, Bitmap.Config.ARGB_8888);
        Canvas bigCanvas = new Canvas(bigBitmap);
        Drawable lBackground = view.getBackground();
        if (lBackground instanceof ColorDrawable) {
            ColorDrawable lColorDrawable = (ColorDrawable) lBackground;
            int lColor = lColorDrawable.getColor();
            bigCanvas.drawColor(lColor);
        }

        for (int i = 0; i < size; i++) {
            Bitmap bitmap = bitmaCache.get(String.valueOf(i));
            bigCanvas.drawBitmap(bitmap, 0f, iHeight, paint);
            iHeight += bitmap.getHeight();
            bitmap.recycle();
        }
    }
    return bigBitmap;
}

From source file:com.murrayc.galaxyzoo.app.IconsCache.java

private boolean reloadIcon(final String cssName, final LruCache<String, Bitmap> map) {
    //LruCache throws exceptions on null keys or values.
    if (TextUtils.isEmpty(cssName)) {
        return false;
    }//from ww  w.j ava2  s. co  m

    //Log.info("reloadIcon:" + cssName);

    //Avoid loading and adding it again:
    if (map.get(cssName) != null) {
        return true;
    }

    /*
    Bitmap bitmap = null;
            
    //First get it from the cache, because that would be newer than the bundled asset:
    final String cacheFileUri = getCacheIconFileUri(cssName);
    if (TextUtils.isEmpty(cacheFileUri)) {
    return false;
    }
            
    final File cacheFile = new File(cacheFileUri);
    if (cacheFile.exists()) {
    bitmap = BitmapFactory.decodeFile(cacheFileUri);
    if (bitmap == null) {
        //The file contents are invalid.
        //Maybe the download was incomplete or something else odd happened.
        //Anyway, we should stop trying to use it,
        //And tell the caller about the failure,
        //so we can reload it by reloading and reparsing everything.
        Log.error("IconsCache.reloadIcon(): BitmapFactory.decodeFile() failed for file (now deleting it): ", cacheFileUri);
            
        final File file = new File(cacheFileUri);
        if (!file.delete()) {
            Log.error("IconsCache.reloadIcon(): Failed to delete invalid cache file.");
            return false;
        }
    }
    }
            
    if (bitmap == null) {
    */

    //We bundle the icons with the app,
    //so fall back to that:
    Bitmap bitmap = null;
    final InputStream inputStreamAsset = Utils.openAsset(getContext(), getIconAssetPath(cssName));
    if (inputStreamAsset != null) {
        bitmap = BitmapFactory.decodeStream(inputStreamAsset);
    }
    //}

    if (bitmap == null) {
        Log.error("reloadIcon(): Could not load icon: " + cssName);
        return false;
    }

    map.put(cssName, bitmap);
    return true;
}