From 1a8e7472c354a150f2318e13aacfb52d82709dde Mon Sep 17 00:00:00 2001 From: Martin Brabham Date: Thu, 21 Jan 2016 12:47:43 -0500 Subject: Gello: kang in two methods which changed their location and access Cherry-picked from: https://github.com/CyanogenMod/android_packages_apps_Browser/commit/36774d9c6a7b5dbdca88ba974d75895ca835f234 Change-Id: I6dd4b55346f12d015f50bb221d9ba441784e55c9 --- src/com/android/browser/ShareDialog.java | 34 +++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/src/com/android/browser/ShareDialog.java b/src/com/android/browser/ShareDialog.java index 63f6183f..4fe54d3a 100644 --- a/src/com/android/browser/ShareDialog.java +++ b/src/com/android/browser/ShareDialog.java @@ -43,6 +43,7 @@ import android.graphics.Bitmap; import android.net.Uri; import android.os.AsyncTask; import android.os.Build; +import android.os.Environment; import java.util.List; import java.util.Collections; @@ -50,7 +51,6 @@ import java.util.Collections; import android.util.Log; import org.chromium.base.ContentUriUtils; -import org.chromium.ui.UiUtils; import java.io.File; import java.io.FileOutputStream; @@ -67,6 +67,8 @@ public class ShareDialog extends AppItem { public final static String EXTRA_SHARE_FAVICON = "share_favicon"; private static final String SCREENSHOT_DIRECTORY_NAME = "screenshot_share"; private static final int MAX_SCREENSHOT_COUNT = 10; + public static final String EXTERNAL_IMAGE_FILE_PATH = "browser-images"; + public static final String IMAGE_FILE_PATH = "images"; public ShareDialog (Activity activity, String title, String url, Bitmap favicon, Bitmap screenshot) { super(null); @@ -94,7 +96,7 @@ public class ShareDialog extends AppItem { } private File getScreenshotDir() throws IOException { - File baseDir = UiUtils.getDirectoryForImageCapture(activity); + File baseDir = getDirectoryForImageCapture(activity); return new File(baseDir, SCREENSHOT_DIRECTORY_NAME); } @@ -190,7 +192,7 @@ public class ShareDialog extends AppItem { screenshot.compress(Bitmap.CompressFormat.JPEG, 90, fOut); fOut.flush(); fOut.close(); - uri = UiUtils.getUriForImageCaptureFile(activity, saveFile); + uri = getUriForImageCaptureFile(activity, saveFile); } } catch (IOException ie) { if (fOut != null) { @@ -204,4 +206,30 @@ public class ShareDialog extends AppItem { } return uri; } + + public static Uri getUriForImageCaptureFile(Context context, File file) { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 + ? ContentUriUtils.getContentUriFromFile(context, file) + : Uri.fromFile(file); + } + + public static File getDirectoryForImageCapture(Context context) throws IOException { + File path; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { + path = new File(context.getFilesDir(), IMAGE_FILE_PATH); + if (!path.exists() && !path.mkdir()) { + throw new IOException("Folder cannot be created."); + } + } else { + File externalDataDir = + Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); + path = new File( + externalDataDir.getAbsolutePath() + File.separator + EXTERNAL_IMAGE_FILE_PATH); + if (!path.exists() && !path.mkdirs()) { + path = externalDataDir; + } + } + return path; + } + } -- cgit v1.2.3