diff --git a/app/schemas/com.cappielloantonio.tempo.database.AppDatabase/3.json b/app/schemas/com.cappielloantonio.tempo.database.AppDatabase/3.json deleted file mode 100644 index e23d842c..00000000 --- a/app/schemas/com.cappielloantonio.tempo.database.AppDatabase/3.json +++ /dev/null @@ -1,796 +0,0 @@ -{ - "formatVersion": 1, - "database": { - "version": 3, - "identityHash": "79825556b6671308b092dce10dc2e632", - "entities": [ - { - "tableName": "queue", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `track_order` INTEGER NOT NULL, `last_play` INTEGER NOT NULL, `playing_changed` INTEGER NOT NULL, `stream_id` TEXT, `parent_id` TEXT, `is_dir` INTEGER NOT NULL, `title` TEXT, `album` TEXT, `artist` TEXT, `track` INTEGER, `year` INTEGER, `genre` TEXT, `cover_art_id` TEXT, `size` INTEGER, `content_type` TEXT, `suffix` TEXT, `transcoding_content_type` TEXT, `transcoded_suffix` TEXT, `duration` INTEGER, `bitrate` INTEGER, `path` TEXT, `is_video` INTEGER NOT NULL, `user_rating` INTEGER, `average_rating` REAL, `play_count` INTEGER, `disc_number` INTEGER, `created` INTEGER, `starred` INTEGER, `album_id` TEXT, `artist_id` TEXT, `type` TEXT, `bookmark_position` INTEGER, `original_width` INTEGER, `original_height` INTEGER, PRIMARY KEY(`track_order`))", - "fields": [ - { - "fieldPath": "id", - "columnName": "id", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "trackOrder", - "columnName": "track_order", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "lastPlay", - "columnName": "last_play", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "playingChanged", - "columnName": "playing_changed", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "streamId", - "columnName": "stream_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "parentId", - "columnName": "parent_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "isDir", - "columnName": "is_dir", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "title", - "columnName": "title", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "album", - "columnName": "album", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "artist", - "columnName": "artist", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "track", - "columnName": "track", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "year", - "columnName": "year", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "genre", - "columnName": "genre", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "coverArtId", - "columnName": "cover_art_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "size", - "columnName": "size", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "contentType", - "columnName": "content_type", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "suffix", - "columnName": "suffix", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "transcodedContentType", - "columnName": "transcoding_content_type", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "transcodedSuffix", - "columnName": "transcoded_suffix", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "duration", - "columnName": "duration", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "bitrate", - "columnName": "bitrate", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "path", - "columnName": "path", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "isVideo", - "columnName": "is_video", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "userRating", - "columnName": "user_rating", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "averageRating", - "columnName": "average_rating", - "affinity": "REAL", - "notNull": false - }, - { - "fieldPath": "playCount", - "columnName": "play_count", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "discNumber", - "columnName": "disc_number", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "created", - "columnName": "created", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "starred", - "columnName": "starred", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "albumId", - "columnName": "album_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "artistId", - "columnName": "artist_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "type", - "columnName": "type", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "bookmarkPosition", - "columnName": "bookmark_position", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "originalWidth", - "columnName": "original_width", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "originalHeight", - "columnName": "original_height", - "affinity": "INTEGER", - "notNull": false - } - ], - "primaryKey": { - "autoGenerate": false, - "columnNames": [ - "track_order" - ] - }, - "indices": [], - "foreignKeys": [] - }, - { - "tableName": "server", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `server_name` TEXT NOT NULL, `username` TEXT NOT NULL, `password` TEXT NOT NULL, `address` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `low_security` INTEGER NOT NULL DEFAULT false, PRIMARY KEY(`id`))", - "fields": [ - { - "fieldPath": "serverId", - "columnName": "id", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "serverName", - "columnName": "server_name", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "username", - "columnName": "username", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "password", - "columnName": "password", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "address", - "columnName": "address", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "timestamp", - "columnName": "timestamp", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "isLowSecurity", - "columnName": "low_security", - "affinity": "INTEGER", - "notNull": true, - "defaultValue": "false" - } - ], - "primaryKey": { - "autoGenerate": false, - "columnNames": [ - "id" - ] - }, - "indices": [], - "foreignKeys": [] - }, - { - "tableName": "recent_search", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`search` TEXT NOT NULL, PRIMARY KEY(`search`))", - "fields": [ - { - "fieldPath": "search", - "columnName": "search", - "affinity": "TEXT", - "notNull": true - } - ], - "primaryKey": { - "autoGenerate": false, - "columnNames": [ - "search" - ] - }, - "indices": [], - "foreignKeys": [] - }, - { - "tableName": "download", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `playlist_id` TEXT, `playlist_name` TEXT, `download_state` INTEGER NOT NULL DEFAULT 1, `download_uri` TEXT, `parent_id` TEXT, `is_dir` INTEGER NOT NULL, `title` TEXT, `album` TEXT, `artist` TEXT, `track` INTEGER, `year` INTEGER, `genre` TEXT, `cover_art_id` TEXT, `size` INTEGER, `content_type` TEXT, `suffix` TEXT, `transcoding_content_type` TEXT, `transcoded_suffix` TEXT, `duration` INTEGER, `bitrate` INTEGER, `path` TEXT, `is_video` INTEGER NOT NULL, `user_rating` INTEGER, `average_rating` REAL, `play_count` INTEGER, `disc_number` INTEGER, `created` INTEGER, `starred` INTEGER, `album_id` TEXT, `artist_id` TEXT, `type` TEXT, `bookmark_position` INTEGER, `original_width` INTEGER, `original_height` INTEGER, PRIMARY KEY(`id`))", - "fields": [ - { - "fieldPath": "id", - "columnName": "id", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "playlistId", - "columnName": "playlist_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "playlistName", - "columnName": "playlist_name", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "downloadState", - "columnName": "download_state", - "affinity": "INTEGER", - "notNull": true, - "defaultValue": "1" - }, - { - "fieldPath": "downloadUri", - "columnName": "download_uri", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "parentId", - "columnName": "parent_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "isDir", - "columnName": "is_dir", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "title", - "columnName": "title", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "album", - "columnName": "album", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "artist", - "columnName": "artist", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "track", - "columnName": "track", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "year", - "columnName": "year", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "genre", - "columnName": "genre", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "coverArtId", - "columnName": "cover_art_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "size", - "columnName": "size", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "contentType", - "columnName": "content_type", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "suffix", - "columnName": "suffix", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "transcodedContentType", - "columnName": "transcoding_content_type", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "transcodedSuffix", - "columnName": "transcoded_suffix", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "duration", - "columnName": "duration", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "bitrate", - "columnName": "bitrate", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "path", - "columnName": "path", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "isVideo", - "columnName": "is_video", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "userRating", - "columnName": "user_rating", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "averageRating", - "columnName": "average_rating", - "affinity": "REAL", - "notNull": false - }, - { - "fieldPath": "playCount", - "columnName": "play_count", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "discNumber", - "columnName": "disc_number", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "created", - "columnName": "created", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "starred", - "columnName": "starred", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "albumId", - "columnName": "album_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "artistId", - "columnName": "artist_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "type", - "columnName": "type", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "bookmarkPosition", - "columnName": "bookmark_position", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "originalWidth", - "columnName": "original_width", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "originalHeight", - "columnName": "original_height", - "affinity": "INTEGER", - "notNull": false - } - ], - "primaryKey": { - "autoGenerate": false, - "columnNames": [ - "id" - ] - }, - "indices": [], - "foreignKeys": [] - }, - { - "tableName": "chronology", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, `server` TEXT, `parent_id` TEXT, `is_dir` INTEGER NOT NULL, `title` TEXT, `album` TEXT, `artist` TEXT, `track` INTEGER, `year` INTEGER, `genre` TEXT, `cover_art_id` TEXT, `size` INTEGER, `content_type` TEXT, `suffix` TEXT, `transcoding_content_type` TEXT, `transcoded_suffix` TEXT, `duration` INTEGER, `bitrate` INTEGER, `path` TEXT, `is_video` INTEGER NOT NULL, `user_rating` INTEGER, `average_rating` REAL, `play_count` INTEGER, `disc_number` INTEGER, `created` INTEGER, `starred` INTEGER, `album_id` TEXT, `artist_id` TEXT, `type` TEXT, `bookmark_position` INTEGER, `original_width` INTEGER, `original_height` INTEGER, PRIMARY KEY(`id`))", - "fields": [ - { - "fieldPath": "id", - "columnName": "id", - "affinity": "TEXT", - "notNull": true - }, - { - "fieldPath": "timestamp", - "columnName": "timestamp", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "server", - "columnName": "server", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "parentId", - "columnName": "parent_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "isDir", - "columnName": "is_dir", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "title", - "columnName": "title", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "album", - "columnName": "album", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "artist", - "columnName": "artist", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "track", - "columnName": "track", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "year", - "columnName": "year", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "genre", - "columnName": "genre", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "coverArtId", - "columnName": "cover_art_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "size", - "columnName": "size", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "contentType", - "columnName": "content_type", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "suffix", - "columnName": "suffix", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "transcodedContentType", - "columnName": "transcoding_content_type", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "transcodedSuffix", - "columnName": "transcoded_suffix", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "duration", - "columnName": "duration", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "bitrate", - "columnName": "bitrate", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "path", - "columnName": "path", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "isVideo", - "columnName": "is_video", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "userRating", - "columnName": "user_rating", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "averageRating", - "columnName": "average_rating", - "affinity": "REAL", - "notNull": false - }, - { - "fieldPath": "playCount", - "columnName": "play_count", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "discNumber", - "columnName": "disc_number", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "created", - "columnName": "created", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "starred", - "columnName": "starred", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "albumId", - "columnName": "album_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "artistId", - "columnName": "artist_id", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "type", - "columnName": "type", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "bookmarkPosition", - "columnName": "bookmark_position", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "originalWidth", - "columnName": "original_width", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "originalHeight", - "columnName": "original_height", - "affinity": "INTEGER", - "notNull": false - } - ], - "primaryKey": { - "autoGenerate": false, - "columnNames": [ - "id" - ] - }, - "indices": [], - "foreignKeys": [] - }, - { - "tableName": "favorite", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`timestamp` INTEGER NOT NULL, `songId` TEXT, `albumId` TEXT, `artistId` TEXT, `toStar` INTEGER NOT NULL, PRIMARY KEY(`timestamp`))", - "fields": [ - { - "fieldPath": "timestamp", - "columnName": "timestamp", - "affinity": "INTEGER", - "notNull": true - }, - { - "fieldPath": "songId", - "columnName": "songId", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "albumId", - "columnName": "albumId", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "artistId", - "columnName": "artistId", - "affinity": "TEXT", - "notNull": false - }, - { - "fieldPath": "toStar", - "columnName": "toStar", - "affinity": "INTEGER", - "notNull": true - } - ], - "primaryKey": { - "autoGenerate": false, - "columnNames": [ - "timestamp" - ] - }, - "indices": [], - "foreignKeys": [] - } - ], - "views": [], - "setupQueries": [ - "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", - "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '79825556b6671308b092dce10dc2e632')" - ] - } -} \ No newline at end of file diff --git a/app/src/main/java/com/cappielloantonio/tempo/database/AppDatabase.java b/app/src/main/java/com/cappielloantonio/tempo/database/AppDatabase.java index 3c821a26..7e516853 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/database/AppDatabase.java +++ b/app/src/main/java/com/cappielloantonio/tempo/database/AppDatabase.java @@ -22,9 +22,9 @@ import com.cappielloantonio.tempo.model.RecentSearch; import com.cappielloantonio.tempo.model.Server; @Database( - version = 2, + version = 3, entities = {Queue.class, Server.class, RecentSearch.class, Download.class, Chronology.class, Favorite.class}, - autoMigrations = {@AutoMigration(from = 1, to = 2)} + autoMigrations = {@AutoMigration(from = 2, to = 3)} ) @TypeConverters({DateConverters.class}) public abstract class AppDatabase extends RoomDatabase { diff --git a/app/src/main/java/com/cappielloantonio/tempo/model/Download.kt b/app/src/main/java/com/cappielloantonio/tempo/model/Download.kt index 1cad76cc..d5518adc 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/model/Download.kt +++ b/app/src/main/java/com/cappielloantonio/tempo/model/Download.kt @@ -20,6 +20,9 @@ class Download(@PrimaryKey override val id: String) : Child(id) { @ColumnInfo(name = "download_state", defaultValue = "1") var downloadState: Int = 0 + @ColumnInfo(name = "download_uri", defaultValue = "") + var downloadUri: String? = null + constructor(child: Child) : this(child.id) { parentId = child.parentId isDir = child.isDir diff --git a/app/src/main/java/com/cappielloantonio/tempo/service/DownloaderManager.java b/app/src/main/java/com/cappielloantonio/tempo/service/DownloaderManager.java index ef27164b..255fe4d1 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/service/DownloaderManager.java +++ b/app/src/main/java/com/cappielloantonio/tempo/service/DownloaderManager.java @@ -77,6 +77,8 @@ public class DownloaderManager { } public void download(MediaItem mediaItem, com.cappielloantonio.tempo.model.Download download) { + download.setDownloadUri(mediaItem.requestMetadata.mediaUri.toString()); + DownloadService.sendAddDownload(context, DownloaderService.class, buildDownloadRequest(mediaItem), false); insertDatabase(download); } diff --git a/app/src/main/java/com/cappielloantonio/tempo/util/MusicUtil.java b/app/src/main/java/com/cappielloantonio/tempo/util/MusicUtil.java index ffd981aa..b50071f2 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/util/MusicUtil.java +++ b/app/src/main/java/com/cappielloantonio/tempo/util/MusicUtil.java @@ -10,6 +10,8 @@ import android.util.Log; import com.cappielloantonio.tempo.App; import com.cappielloantonio.tempo.R; +import com.cappielloantonio.tempo.model.Download; +import com.cappielloantonio.tempo.repository.DownloadRepository; import com.cappielloantonio.tempo.subsonic.models.Child; import java.util.ArrayList; @@ -55,27 +57,33 @@ public class MusicUtil { } public static Uri getDownloadUri(String id) { - Map params = App.getSubsonicClientInstance(false).getParams(); - StringBuilder uri = new StringBuilder(); - uri.append(App.getSubsonicClientInstance(false).getUrl()); - uri.append("download"); + Download download = new DownloadRepository().getDownload(id); - if (params.containsKey("u") && params.get("u") != null) - uri.append("?u=").append(params.get("u")); - if (params.containsKey("p") && params.get("p") != null) - uri.append("&p=").append(params.get("p")); - if (params.containsKey("s") && params.get("s") != null) - uri.append("&s=").append(params.get("s")); - if (params.containsKey("t") && params.get("t") != null) - uri.append("&t=").append(params.get("t")); - if (params.containsKey("v") && params.get("v") != null) - uri.append("&v=").append(params.get("v")); - if (params.containsKey("c") && params.get("c") != null) - uri.append("&c=").append(params.get("c")); + if (download == null || download.getDownloadUri().isEmpty()) { + Map params = App.getSubsonicClientInstance(false).getParams(); - uri.append("&id=").append(id); + uri.append(App.getSubsonicClientInstance(false).getUrl()); + uri.append("download"); + + if (params.containsKey("u") && params.get("u") != null) + uri.append("?u=").append(params.get("u")); + if (params.containsKey("p") && params.get("p") != null) + uri.append("&p=").append(params.get("p")); + if (params.containsKey("s") && params.get("s") != null) + uri.append("&s=").append(params.get("s")); + if (params.containsKey("t") && params.get("t") != null) + uri.append("&t=").append(params.get("t")); + if (params.containsKey("v") && params.get("v") != null) + uri.append("&v=").append(params.get("v")); + if (params.containsKey("c") && params.get("c") != null) + uri.append("&c=").append(params.get("c")); + + uri.append("&id=").append(id); + } else { + uri.append(download.getDownloadUri()); + } Log.d(TAG, "getDownloadUri: " + uri);