From ed8073eebfb022354c04af65ca6b85297203cc58 Mon Sep 17 00:00:00 2001 From: seven332 Date: Mon, 21 Mar 2016 21:19:47 +0800 Subject: [PATCH] Create nomedia file in download location --- .../com/hippo/ehviewer/EhApplication.java | 3 +++ .../java/com/hippo/ehviewer/Settings.java | 3 +++ .../hippo/ehviewer/ui/CommonOperations.java | 23 +++++++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.java b/app/src/main/java/com/hippo/ehviewer/EhApplication.java index c75faeb1d..1519920de 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.java +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.java @@ -39,6 +39,7 @@ import com.hippo.ehviewer.client.data.GalleryDetail; import com.hippo.ehviewer.client.data.LargePreviewSet; import com.hippo.ehviewer.download.DownloadManager; import com.hippo.ehviewer.spider.SpiderDen; +import com.hippo.ehviewer.ui.CommonOperations; import com.hippo.network.StatusCodeException; import com.hippo.okhttp.CookieDB; import com.hippo.scene.SceneApplication; @@ -108,6 +109,8 @@ public class EhApplication extends SceneApplication implements Thread.UncaughtEx Analytics.start(this); } + CommonOperations.ensureNoMediaFile(Settings.getDownloadLocation()); + // Update version code try { PackageInfo pi= getPackageManager().getPackageInfo(getPackageName(), 0); diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java index e16c93ada..d7f0cc9a8 100644 --- a/app/src/main/java/com/hippo/ehviewer/Settings.java +++ b/app/src/main/java/com/hippo/ehviewer/Settings.java @@ -30,6 +30,7 @@ import com.hippo.ehviewer.client.data.FavListUrlBuilder; import com.hippo.ehviewer.client.data.ListUrlBuilder; import com.hippo.ehviewer.gallery.gl.GalleryView; import com.hippo.ehviewer.gallery.gl.ImageView; +import com.hippo.ehviewer.ui.CommonOperations; import com.hippo.unifile.UniFile; import com.hippo.yorozuya.AssertUtils; import com.hippo.yorozuya.FileUtils; @@ -480,6 +481,8 @@ public class Settings { putString(KEY_DOWNLOAD_SAVE_PATH, uri.getEncodedPath()); putString(KEY_DOWNLOAD_SAVE_QUERY, uri.getEncodedQuery()); putString(KEY_DOWNLOAD_SAVE_FRAGMENT, uri.getEncodedFragment()); + + CommonOperations.ensureNoMediaFile(location); } private static final String KEY_RECENT_DOWNLOAD_LABEL = "recent_download_label"; diff --git a/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.java b/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.java index 0f82d1918..47fb362a2 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/CommonOperations.java @@ -39,12 +39,15 @@ import com.hippo.ehviewer.download.DownloadManager; import com.hippo.ehviewer.download.DownloadService; import com.hippo.ehviewer.ui.scene.BaseScene; import com.hippo.text.Html; +import com.hippo.unifile.UniFile; import com.hippo.yorozuya.FileUtils; +import com.hippo.yorozuya.IOUtils; import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; +import java.io.InputStream; import java.util.List; import okhttp3.OkHttpClient; @@ -286,4 +289,24 @@ public final class CommonOperations { .show(); } } + + public static void ensureNoMediaFile(UniFile file) { + if (null == file) { + return; + } + + UniFile noMedia = file.createFile(".nomedia"); + if (null == noMedia) { + return; + } + + InputStream is = null; + try { + is = noMedia.openInputStream(); + } catch (IOException e) { + // Ignore + } finally { + IOUtils.closeQuietly(is); + } + } }