Android Open Source - dejalist Cache Manager From Project Back to project page dejalist .
License The source code is released under:
Apache License
If you think the Android project dejalist listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.luboganev.dejalist.data;
/ * w w w . j a v a 2 s . c o m * /
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import android.content.Context;
public class CacheManager {
private static final long MAX_SIZE = 1000000L; // <1MB
private CacheManager() {
}
public static File cacheData(Context context, File source) throws IOException {
File cacheDir = context.getExternalCacheDir();
long size = getDirSize(cacheDir);
long newSize = source.length() + size;
if (newSize > MAX_SIZE) {
cleanDir(cacheDir, newSize - MAX_SIZE);
}
File file = new File (cacheDir, source.getName());
if (file.getPath().equals(source.getPath())) {
return file;
}
else {
if (file.exists()) file.delete();
file.createNewFile();
if (ProductImageFileHelper.copy(source, file)) return file;
else return null;
}
}
public static File cacheData(Context context, InputStream is, String cachedFileName) throws IOException {
File cacheDir = context.getExternalCacheDir();
if (getDirSize(cacheDir) > MAX_SIZE) {
cleanDir(cacheDir, MAX_SIZE);
}
File file = new File (cacheDir, cachedFileName);
if (file.exists()) file.delete();
file.createNewFile();
if (ProductImageFileHelper.copy(is, file)) return file;
else return null;
}
public static File retrieveData(Context context, String name) throws IOException {
File cacheDir = context.getExternalCacheDir();
File file = new File (cacheDir, name);
if (!file.exists()) {
// File doesn't exist
return null;
}
return file;
}
private static void cleanDir(File dir, long bytes) {
long bytesDeleted = 0;
File [] files = dir.listFiles();
for (File file : files) {
bytesDeleted += file.length();
file.delete();
if (bytesDeleted >= bytes) {
break ;
}
}
}
private static long getDirSize(File dir) {
long size = 0;
File [] files = dir.listFiles();
for (File file : files) {
if (file.isFile()) {
size += file.length();
}
}
return size;
}
}
Java Source Code List com.larswerkman.colorpicker.ColorPicker.java com.larswerkman.colorpicker.OpacityBar.java com.larswerkman.colorpicker.SVBar.java com.larswerkman.colorpicker.SaturationBar.java com.larswerkman.colorpicker.ValueBar.java com.luboganev.dejalist.Utils.java com.luboganev.dejalist.crop.CropActivity.java com.luboganev.dejalist.crop.CropDialogSave.java com.luboganev.dejalist.crop.CropHighlightView.java com.luboganev.dejalist.crop.CropUtils.java com.luboganev.dejalist.crop.CropView.java com.luboganev.dejalist.crop.ImageViewTouchBase.java com.luboganev.dejalist.crop.RotateBitmap.java com.luboganev.dejalist.data.BackupIntentService.java com.luboganev.dejalist.data.CacheManager.java com.luboganev.dejalist.data.DejalistContract.java com.luboganev.dejalist.data.DejalistDatabase.java com.luboganev.dejalist.data.DejalistProvider.java com.luboganev.dejalist.data.ProductImageFileHelper.java com.luboganev.dejalist.data.SelectionBuilder.java com.luboganev.dejalist.data.entities.Category.java com.luboganev.dejalist.data.entities.Product.java com.luboganev.dejalist.ui.AboutActivity.java com.luboganev.dejalist.ui.CategoriesListCursorAdapter$ViewHolder$$ViewInjector.java com.luboganev.dejalist.ui.CategoriesListCursorAdapter.java com.luboganev.dejalist.ui.CategoryDialogFragment$$ViewInjector.java com.luboganev.dejalist.ui.CategoryDialogFragment.java com.luboganev.dejalist.ui.CheckableRelativeLayout.java com.luboganev.dejalist.ui.ChecklistActionTaker.java com.luboganev.dejalist.ui.ChecklistController.java com.luboganev.dejalist.ui.ChecklistCursorAdapter$ViewHolder$$ViewInjector.java com.luboganev.dejalist.ui.ChecklistCursorAdapter.java com.luboganev.dejalist.ui.ChecklistFragment$$ViewInjector.java com.luboganev.dejalist.ui.ChecklistFragment.java com.luboganev.dejalist.ui.ConfirmBackResDialogFragment.java com.luboganev.dejalist.ui.MainActivity$$ViewInjector.java com.luboganev.dejalist.ui.MainActivity.java com.luboganev.dejalist.ui.NavigationCursorAdapter$ViewHolder$$ViewInjector.java com.luboganev.dejalist.ui.NavigationCursorAdapter.java com.luboganev.dejalist.ui.ProductActivity$$ViewInjector.java com.luboganev.dejalist.ui.ProductActivity.java com.luboganev.dejalist.ui.ProductsGalleryActionTaker.java com.luboganev.dejalist.ui.ProductsGalleryController.java com.luboganev.dejalist.ui.ProductsGalleryCursorAdapter$ViewHolder$$ViewInjector.java com.luboganev.dejalist.ui.ProductsGalleryCursorAdapter.java com.luboganev.dejalist.ui.ProductsGalleryFragment$$ViewInjector.java com.luboganev.dejalist.ui.ProductsGalleryFragment.java com.luboganev.dejalist.ui.SetProductsCategoryDialogFragment.java com.luboganev.dejalist.ui.UndoBarController.java