List of usage examples for android.support.v4.util LruCache get
public final V get(K key)
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; }