Skip to content

Commit 40c4b40

Browse files
committed
Initial librarian usage
1 parent 41bc919 commit 40c4b40

File tree

13 files changed

+56
-13
lines changed

13 files changed

+56
-13
lines changed

android/jdonkey/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
xmlns:tools="http://schemas.android.com/tools"
44
package="org.dkf.jmule"
55
android:installLocation="auto"
6-
android:versionCode="32"
7-
android:versionName="32">
6+
android:versionCode="33"
7+
android:versionName="33">
88

99
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
1010
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

android/jdonkey/src/main/java/org/dkf/jmule/AndroidPaths.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,22 +114,23 @@ public static String getRelativeFolderPath(File f) {
114114
String fileTypeSubfolder = AndroidPaths.getFileTypeExternalRelativeFolderName(fileType);
115115

116116
// "Music/FrostWire"
117-
String mediaStoreFolderPrefix = fileTypeSubfolder + "/FrostWire";
117+
String mediaStoreFolderPrefix = fileTypeSubfolder + "/JED2K";
118118
mediaStoreFolderPrefix = mediaStoreFolderPrefix.replace("//","/");
119+
return mediaStoreFolderPrefix;
119120

120-
String fullOriginalFilePath = f.getAbsolutePath();
121+
//String fullOriginalFilePath = f.getAbsolutePath();
121122

122123
// BTEngine.ctx.dataDir -> /storage/emulated/0/Android/data/com.frostwire.android/files/FrostWire/TorrentData
123124
// Let's remove this from the fullOriginalFilePath and we should now have only either the file name by itself
124125
// or the torrent folders and sub-folders containing it
125-
String removedDataPathFromFilePath = fullOriginalFilePath.replace(Platforms.data().getAbsolutePath() + "/", "");
126+
//String removedDataPathFromFilePath = fullOriginalFilePath.replace(Platforms.data().getAbsolutePath() + "/", "");
126127

127128
// Single file download, not contained by folders or sub-folders
128-
if (removedDataPathFromFilePath.equals(f.getName())) {
129-
return mediaStoreFolderPrefix;
130-
}
129+
//if (removedDataPathFromFilePath.equals(f.getName())) {
130+
// return mediaStoreFolderPrefix;
131+
//}
131132

132-
String fileFoldersWithoutDataPath = removedDataPathFromFilePath.replace(f.getName(), "");
133-
return (mediaStoreFolderPrefix + "/" + fileFoldersWithoutDataPath).replace("//","/");
133+
//String fileFoldersWithoutDataPath = removedDataPathFromFilePath.replace(f.getName(), "");
134+
//return (mediaStoreFolderPrefix + "/" + fileFoldersWithoutDataPath).replace("//","/");
134135
}
135136
}

android/jdonkey/src/main/java/org/dkf/jmule/ConfigurationDefaults.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ private void load() {
6666
defaultValues.put(Constants.PREF_KEY_GUI_SHOW_NEW_TRANSFER_DIALOG, true);
6767
defaultValues.put(Constants.PREF_KEY_GUI_SAFE_MODE, true);
6868
defaultValues.put(Constants.PREF_KEY_GUI_ALERTED_SAFE_MODE, false);
69+
defaultValues.put(Constants.PREF_KEY_GUI_SHARE_MEDIA_DOWNLOADS, true);
6970

7071
defaultValues.put(Constants.PREF_KEY_SEARCH_COUNT_DOWNLOAD_FOR_TORRENT_DEEP_SCAN, 20);
7172
defaultValues.put(Constants.PREF_KEY_SEARCH_COUNT_ROUNDS_FOR_TORRENT_DEEP_SCAN, 10);

android/jdonkey/src/main/java/org/dkf/jmule/Constants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ private Constants() {
7777
public static final String PREF_KEY_GUI_SHOW_NEW_TRANSFER_DIALOG = "jmule.prefs.gui.show_new_transfer_dialog";
7878
public static final String PREF_KEY_GUI_SAFE_MODE = "jmule.prefs.gui.safe_mode";
7979
public static final String PREF_KEY_GUI_ALERTED_SAFE_MODE = "jmule.prefs.gui.alerted.safe_mode";
80+
public static final String PREF_KEY_GUI_SHARE_MEDIA_DOWNLOADS = "jmule.prefs.gui.share_media_downloads";
8081

8182
// ed2k common and servers
8283
public static final String PREF_KEY_USER_AGENT = "jmule.prefs.user_agent";

android/jdonkey/src/main/java/org/dkf/jmule/DefaultFileSystem.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public boolean write(File file, byte[] data) {
111111

112112
@Override
113113
public void scan(File file) {
114-
// LOG.warn("Scan of file not implemented");
114+
LOG.warn("Default filesystem: Scan of file is not implemented");
115115
}
116116

117117
@Override

android/jdonkey/src/main/java/org/dkf/jmule/ED2KService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,14 @@ public void run() {
691691
createTransferNotification(getResources().getString(R.string.transfer_finished), EXTRA_DOWNLOAD_COMPLETE_NOTIFICATION, ((TransferFinishedAlert) a).hash);
692692
}
693693
});
694+
695+
if (ConfigurationManager.instance().getBoolean(Constants.PREF_KEY_GUI_SHARE_MEDIA_DOWNLOADS)) {
696+
log.info("[ED2K service] publish completed transfer");
697+
TransferHandle handle = session.findTransfer(((TransferFinishedAlert) a).hash);
698+
if (handle.isValid()) {
699+
Platforms.fileSystem().scan(handle.getFile());
700+
}
701+
}
694702
} else if (a instanceof TransferDiskIOErrorAlert) {
695703
TransferDiskIOErrorAlert errorAlert = (TransferDiskIOErrorAlert) a;
696704
log.error("[ED2K service] disk i/o error: {}", errorAlert.ec);

android/jdonkey/src/main/java/org/dkf/jmule/Librarian.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,7 @@ private void mediaStoreInsert(Context context, File srcFile) {
533533
if (srcFile.isDirectory()) {
534534
return;
535535
}
536+
536537
Uri audioUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
537538

538539
// Add to MediaStore
@@ -567,6 +568,7 @@ private void mediaStoreInsert(Context context, File srcFile) {
567568
}
568569

569570
values.put(MediaColumns.DISPLAY_NAME, srcFile.getName());
571+
values.put(MediaColumns.TITLE, srcFile.getName());
570572
values.put(MediaColumns.MIME_TYPE, MimeDetector.getMimeType(FilenameUtils.getExtension(srcFile.getName())));
571573
values.put(MediaColumns.DATE_ADDED, System.currentTimeMillis() / 1000);
572574
values.put(MediaColumns.DATE_MODIFIED, System.currentTimeMillis() / 1000);
@@ -584,6 +586,9 @@ private void mediaStoreInsert(Context context, File srcFile) {
584586
} else {
585587
values.put(MediaColumns.TITLE, srcFile.getName());
586588
}
589+
590+
LOG.info("DISPLAY_NAME: {} TITLE {}", values.get(MediaColumns.DISPLAY_NAME), values.get(MediaColumns.TITLE));
591+
587592
Uri insertedUri = resolver.insert(mediaStoreCollectionUri, values);
588593
if (insertedUri == null) {
589594
LOG.error("mediaStoreInsert -> could not perform media store insertion");
@@ -601,8 +606,8 @@ private boolean alreadyInMediaStore(Context context, TableFetcher fetcher, final
601606
// let's fix our relativePath search to be only from "com.frostwire.android/..."
602607
String normalizedRelativePath = relativeFolderPath;
603608

604-
if (normalizedRelativePath.contains("com.frostwire.android")) {
605-
normalizedRelativePath = relativeFolderPath.substring(relativeFolderPath.indexOf("com.frostwire.android"));
609+
if (normalizedRelativePath.contains("org.dkf.jmule")) {
610+
normalizedRelativePath = relativeFolderPath.substring(relativeFolderPath.indexOf("org.dkf.jmule"));
606611
}
607612

608613
String normalizedDisplayName = displayName;

android/jdonkey/src/main/java/org/dkf/jmule/activities/SettingsActivity.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ private void setupComponents() {
120120
setupOtherOptions();
121121
setupTransferOptions();
122122
useWordsFilterCheckbox();
123+
shareMediaDownloadsCheckbox();
123124
}
124125

125126
private void setupTransferOptions() {
@@ -341,6 +342,18 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
341342
}
342343
}
343344

345+
private void shareMediaDownloadsCheckbox() {
346+
final CheckBoxPreference shareMediaDownloads = (CheckBoxPreference) findPreference(Constants.PREF_KEY_GUI_SHARE_MEDIA_DOWNLOADS);
347+
if (shareMediaDownloads != null) {
348+
shareMediaDownloads.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
349+
@Override
350+
public boolean onPreferenceChange(Preference preference, Object newValue) {
351+
return true;
352+
}
353+
});
354+
}
355+
}
356+
344357
private void setupStorageOption() {
345358
// intentional repetition of preference value here
346359
String kitkatKey = "jmule.prefs.storage.path";

android/jdonkey/src/main/res/values-es/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,8 @@
219219
<string name="mule_start_engine_service_security_exception">Mule no pudo iniciarse correctamente por falta de permisos. Por favor ceda los permisos necesarios y reinicie la aplicación</string>
220220
<string name="safe_mode">Modo seguro</string>
221221
<string name="safe_mode_summary">Al desactivar este cheque, usted acepta recibir todos los resultados de la consulta. De lo contrario, los resultados se filtrarán</string>
222+
<string name="share_media_downloads">Publicar descargas de medios</string>
223+
<string name="share_media_downloads_summary">Compartir archivos multimedia descargados en la biblioteca multimedia de Android</string>
222224
<string name="wizard_safe_mode">Modo seguro</string>
223225
<string name="wizard_safe_mode_summary">Al desactivar este cheque, usted acepta recibir todos los resultados de búsqueda en la solicitud. De lo contrario, los resultados de la búsqueda se filtrarán</string>
224226
<string name="search_forbidden_title">Buscar denegado</string>

android/jdonkey/src/main/res/values-it/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@
241241
<string name="mule_start_engine_service_security_exception">Impossibile avviare correttamente Mule su Android a causa della mancanza di permessi. Concedere i permessi necessari e riavviare l\'applicazione</string>
242242
<string name="safe_mode_summary">Disattivando questa casella accetti di ricevere tutti i risultati corrispondenti. In caso contrario, i risultati verranno filtrati</string>
243243
<string name="safe_mode">Mostra tutto</string>
244+
<string name="share_media_downloads">Pubblica download multimediali</string>
245+
<string name="share_media_downloads_summary">Condividi i file multimediali scaricati nella libreria multimediale Android</string>
244246
<string name="wizard_safe_mode">Mostra tutto</string>
245247
<string name="wizard_safe_mode_summary">Disattivando questa casella accetti di ricevere tutti i risultati di ricerca corrispondenti. In caso contrario, i risultati verranno filtrati</string>
246248
<string name="search_forbidden_title">Ricerca vietata</string>

0 commit comments

Comments
 (0)