1a3cb716626b477c98ba912698c765eab20f27286Jim Millerpackage com.android.ex.carousel;
2a3cb716626b477c98ba912698c765eab20f27286Jim Miller
3a3cb716626b477c98ba912698c765eab20f27286Jim Millerimport java.io.File;
4a3cb716626b477c98ba912698c765eab20f27286Jim Millerimport java.io.FileOutputStream;
5a3cb716626b477c98ba912698c765eab20f27286Jim Millerimport java.io.IOException;
6a3cb716626b477c98ba912698c765eab20f27286Jim Millerimport java.io.OutputStream;
7a3cb716626b477c98ba912698c765eab20f27286Jim Miller
8a3cb716626b477c98ba912698c765eab20f27286Jim Millerimport android.content.Context;
9a3cb716626b477c98ba912698c765eab20f27286Jim Millerimport android.graphics.Bitmap;
10a3cb716626b477c98ba912698c765eab20f27286Jim Millerimport android.media.MediaScannerConnection;
11a3cb716626b477c98ba912698c765eab20f27286Jim Millerimport android.os.Environment;
12a3cb716626b477c98ba912698c765eab20f27286Jim Millerimport android.util.Log;
13a3cb716626b477c98ba912698c765eab20f27286Jim Miller
14a3cb716626b477c98ba912698c765eab20f27286Jim Millerpublic class CarouselViewUtilities {
15a3cb716626b477c98ba912698c765eab20f27286Jim Miller    /**
16a3cb716626b477c98ba912698c765eab20f27286Jim Miller     * Debug utility to write the given bitmap to a file.
17a3cb716626b477c98ba912698c765eab20f27286Jim Miller     *
18a3cb716626b477c98ba912698c765eab20f27286Jim Miller     * @param context calling context
19a3cb716626b477c98ba912698c765eab20f27286Jim Miller     * @param bitmap the bitmap to write
20a3cb716626b477c98ba912698c765eab20f27286Jim Miller     * @param filename the name of the file to write
21a3cb716626b477c98ba912698c765eab20f27286Jim Miller     * @return
22a3cb716626b477c98ba912698c765eab20f27286Jim Miller     */
23a3cb716626b477c98ba912698c765eab20f27286Jim Miller    public static boolean writeBitmapToFile(Context context, Bitmap bitmap, String filename) {
24a3cb716626b477c98ba912698c765eab20f27286Jim Miller        File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
25a3cb716626b477c98ba912698c765eab20f27286Jim Miller        File file = new File(path, filename);
26a3cb716626b477c98ba912698c765eab20f27286Jim Miller        boolean result = false;
27a3cb716626b477c98ba912698c765eab20f27286Jim Miller        try {
28a3cb716626b477c98ba912698c765eab20f27286Jim Miller            path.mkdirs();
29a3cb716626b477c98ba912698c765eab20f27286Jim Miller            OutputStream os = new FileOutputStream(file);
30a3cb716626b477c98ba912698c765eab20f27286Jim Miller            MediaScannerConnection.scanFile(context, new String[] { file.toString() }, null, null);
31a3cb716626b477c98ba912698c765eab20f27286Jim Miller            bitmap.compress(Bitmap.CompressFormat.PNG, 100, os);
32a3cb716626b477c98ba912698c765eab20f27286Jim Miller            result = true;
33a3cb716626b477c98ba912698c765eab20f27286Jim Miller        } catch (IOException e) {
34a3cb716626b477c98ba912698c765eab20f27286Jim Miller            Log.w("ExternalStorage", "Error writing " + file, e);
35a3cb716626b477c98ba912698c765eab20f27286Jim Miller        }
36a3cb716626b477c98ba912698c765eab20f27286Jim Miller        return result;
37a3cb716626b477c98ba912698c765eab20f27286Jim Miller    }
38a3cb716626b477c98ba912698c765eab20f27286Jim Miller
39a3cb716626b477c98ba912698c765eab20f27286Jim Miller}
40