Add media scan config

This commit is contained in:
seven332 committed 2016-04-08 20:28:05 +08:00
1 parent 97c28c04c5
commit a2a9dbcb02
9 files changed
+74 -9

No files matched your search

@@ -43,6 +43,7 @@ import com.hippo.network.StatusCodeException;
import com.hippo.okhttp.CookieDB;
import com.hippo.scene.SceneApplication;
import com.hippo.text.Html;
import com.hippo.unifile.UniFile;
import com.hippo.util.BitmapUtils;
import com.hippo.util.ReadableTime;
import com.hippo.yorozuya.FileUtils;
@@ -112,8 +113,18 @@ public class EhApplication extends SceneApplication implements Thread.UncaughtEx
Analytics.start(this);
}
CommonOperations.ensureNoMediaFile(Settings.getDownloadLocation());
// Check no media file
UniFile downloadLocation = Settings.getDownloadLocation();
if (Settings.getMediaScan()) {
CommonOperations.removeNoMediaFile(downloadLocation);
} else {
CommonOperations.ensureNoMediaFile(downloadLocation);
}
// Clear temp dir
clearTempDir();
// Check app update
update();
// Update version code
@@ -559,7 +559,18 @@ public class Settings {
putString(KEY_DOWNLOAD_SAVE_QUERY, uri.getEncodedQuery());
putString(KEY_DOWNLOAD_SAVE_FRAGMENT, uri.getEncodedFragment());
CommonOperations.ensureNoMediaFile(location);
if (getMediaScan()) {
CommonOperations.removeNoMediaFile(location);
} else {
CommonOperations.ensureNoMediaFile(location);
}
}
public static final String KEY_MEDIA_SCAN = "media_scan";
private static final boolean DEFAULT_MEDIA_SCAN = false;
public static boolean getMediaScan() {
return getBoolean(KEY_MEDIA_SCAN, DEFAULT_MEDIA_SCAN);
}
private static final String KEY_RECENT_DOWNLOAD_LABEL = "recent_download_label";
@@ -309,4 +309,15 @@ public final class CommonOperations {
IOUtils.closeQuietly(is);
}
}
public static void removeNoMediaFile(UniFile file) {
if (null == file) {
return;
}
UniFile noMedia = file.subFile(".nomedia");
if (null != noMedia && noMedia.isFile()) {
noMedia.delete();
}
}
}
@@ -32,6 +32,7 @@ import android.widget.Toast;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.Settings;
import com.hippo.ehviewer.ui.CommonOperations;
import com.hippo.ehviewer.ui.DirPickerActivity;
import com.hippo.unifile.UniFile;
@@ -52,11 +53,13 @@ public class DownloadFragment extends PreferenceFragment implements
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.download_settings);
Preference mediaScan = findPreference(Settings.KEY_MEDIA_SCAN);
Preference imageSize = findPreference(Settings.KEY_IMAGE_SIZE);
mDownloadLocation = findPreference(KEY_DOWNLOAD_LOCATION);
onUpdateDownloadLocation();
mediaScan.setOnPreferenceChangeListener(this);
imageSize.setOnPreferenceChangeListener(this);
if (mDownloadLocation != null) {
@@ -190,7 +193,17 @@ public class DownloadFragment extends PreferenceFragment implements
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
if (Settings.KEY_IMAGE_SIZE.equals(key)) {
if (Settings.KEY_MEDIA_SCAN.equals(key)) {
if (newValue instanceof Boolean) {
UniFile downloadLocation = Settings.getDownloadLocation();
if ((Boolean) newValue) {
CommonOperations.removeNoMediaFile(downloadLocation);
} else {
CommonOperations.ensureNoMediaFile(downloadLocation);
}
}
return true;
} else if (Settings.KEY_IMAGE_SIZE.equals(key)) {
if (newValue instanceof String) {
Settings.putImageSize((String) newValue);
}
+5 -2
View File
@@ -418,8 +418,6 @@
<string name="settings_download_pick_dir_l">Lollipop 提供了新的写入外置 SD 卡的 API。如果您想把下载路径设置到外置 SD 卡上,点击“文档”按钮</string>
<string name="settings_download_document">文档</string>
<string name="settings_download_continue">继续</string>
<string name="settings_download_restore_download_items">恢复下载项</string>
<string name="settings_download_restore_download_items_summary">恢复下载目录里的所有下载项</string>
<string name="settings_download_multi_thread_download">下载线程数</string>
<string name="settings_download_multi_thread_download_summary">最多同时下载 %s 张图片</string>
<string name="settings_download_preload_image">预载图片</string>
@@ -429,6 +427,11 @@
<string name="settings_download_image_size_auto">自动</string>
<string name="settings_download_download_origin_image">下载原图</string>
<string name="settings_download_download_origin_image_summary">这很危险!勾选此项会导致下载配额迅速流失</string>
<string name="settings_download_media_scan">允许媒体扫描</string>
<string name="settings_download_media_scan_summary_on">请避免他人翻看你的图库应用</string>
<string name="settings_download_media_scan_summary_off">大多数图库应用将不会显示下载目录中的图片</string>
<string name="settings_download_restore_download_items">恢复下载项</string>
<string name="settings_download_restore_download_items_summary">恢复下载目录里的所有下载项</string>
<string name="settings_download_restoring">恢复中</string>
<string name="settings_download_restore_not_found">未找到可恢复下载项</string>
<string name="settings_download_restore_failed">恢复失败</string>
+5 -2
View File
@@ -418,8 +418,6 @@
<string name="settings_download_pick_dir_l">Lollipop 提供了新的寫入外置 SD 卡的 API。如果您想把下載路徑設置到外置 SD 卡上,點擊“文檔”按鈕</string>
<string name="settings_download_document">文檔</string>
<string name="settings_download_continue">繼續</string>
<string name="settings_download_restore_download_items">恢復下載項</string>
<string name="settings_download_restore_download_items_summary">恢復下載目錄裏的所有下載項</string>
<string name="settings_download_multi_thread_download">下載線程數</string>
<string name="settings_download_multi_thread_download_summary">最多同時下載 %s 張圖片</string>
<string name="settings_download_preload_image">預載圖片</string>
@@ -429,6 +427,11 @@
<string name="settings_download_image_size_auto">自動</string>
<string name="settings_download_download_origin_image">下載原圖</string>
<string name="settings_download_download_origin_image_summary">這很危險!勾選此項會導致下載配額迅速流失</string>
<string name="settings_download_media_scan">允許媒體掃描</string>
<string name="settings_download_media_scan_summary_on">請避免他人翻看你的圖庫應用</string>
<string name="settings_download_media_scan_summary_off">大多數圖庫應用將不會顯示下載目錄中的圖片</string>
<string name="settings_download_restore_download_items">恢復下載項</string>
<string name="settings_download_restore_download_items_summary">恢復下載目錄裏的所有下載項</string>
<string name="settings_download_restoring">恢復中</string>
<string name="settings_download_restore_not_found">未找到可恢復下載項</string>
<string name="settings_download_restore_failed">恢復失敗</string>
+5 -2
View File
@@ -418,8 +418,6 @@
<string name="settings_download_pick_dir_l">Lollipop 提供了新的寫入外接 SD 卡的 API。如果您想把下載路徑設定到外接 SD 卡上,點選“文件”按鈕</string>
<string name="settings_download_document">文件</string>
<string name="settings_download_continue">繼續</string>
<string name="settings_download_restore_download_items">恢復下載項</string>
<string name="settings_download_restore_download_items_summary">恢復下載目錄裡的所有下載項</string>
<string name="settings_download_multi_thread_download">下載執行緒數</string>
<string name="settings_download_multi_thread_download_summary">最多同時下載 %s 張圖片</string>
<string name="settings_download_preload_image">預載圖片</string>
@@ -429,6 +427,11 @@
<string name="settings_download_image_size_auto">自動</string>
<string name="settings_download_download_origin_image">下載原圖</string>
<string name="settings_download_download_origin_image_summary">這很危險!勾選此項會導致下載配額迅速流失</string>
<string name="settings_download_media_scan">允許媒體掃描</string>
<string name="settings_download_media_scan_summary_on">請避免他人翻看你的相簿應用</string>
<string name="settings_download_media_scan_summary_off">大多數相簿應用將不會顯示下載目錄中的圖片</string>
<string name="settings_download_restore_download_items">恢復下載項</string>
<string name="settings_download_restore_download_items_summary">恢復下載目錄裡的所有下載項</string>
<string name="settings_download_restoring">恢復中</string>
<string name="settings_download_restore_not_found">未找到可恢復下載項</string>
<string name="settings_download_restore_failed">恢復失敗</string>
+3
View File
@@ -460,6 +460,9 @@
<string name="settings_download_pick_dir_l">Android 5.0+ provides new API to write on external SD card. Click the \"DOCUMENT\" button if you want to set download location to SD card</string>
<string name="settings_download_document">Document</string>
<string name="settings_download_continue">Continue</string>
<string name="settings_download_media_scan">Allow media scan</string>
<string name="settings_download_media_scan_summary_on">Please keep your gallery apps away from other people</string>
<string name="settings_download_media_scan_summary_off">Most gallery apps will ignore pictures in download path</string>
<string name="settings_download_multi_thread_download">Multi thread download</string>
<string name="settings_download_multi_thread_download_summary">Up to %s images</string>
<string name="settings_download_preload_image">Preload image</string>
@@ -23,6 +23,13 @@
android:key="download_location"
android:title="@string/settings_download_download_location"/>
<com.hippo.preference.SwitchPreference
android:key="media_scan"
android:title="@string/settings_download_media_scan"
app:summaryOn="@string/settings_download_media_scan_summary_on"
app:summaryOff="@string/settings_download_media_scan_summary_off"
android:defaultValue="false"/>
<com.hippo.preference.ListPreference
android:key="download_thread"
android:title="@string/settings_download_multi_thread_download"