1
Предложения / Suggestions / Re: AIMP consume too much network traffic to update cloud-based playlist metadata
« on: July 18, 2024, 14:50:10 »My Suggestion:
AIMP fetches only the list of files from the WebDAV source and adds them to the playlist without initiating immediate downloads.
When a specific song is selected for playback, AIMP should then download that particular file to ensure smooth listening.
Benefits of On-Demand Downloading:
Agree!
Please try on this version: https://disk.yandex.ru/d/EqAQMSxtIF-Jzw
@Artem Since the official aimp app hasn't been released yet, I had to hack aimp to disable the metadata auto-fetching feature, here's what I changed, just FYI:
Code: [Select]
diff --color -u -r out/com/aimp/library/fm/FileURI.smali out_new/com/aimp/library/fm/FileURI.smali
--- out/com/aimp/library/fm/FileURI.smali 2024-07-18 19:27:45.046281528 +0800
+++ out_new/com/aimp/library/fm/FileURI.smali 2024-06-17 18:01:49.752575353 +0800
@@ -960,6 +960,14 @@
return v0
.end method
+.method public isCloudURI()Z
+ .registers 2
+
+ const/4 v0, 0x0
+
+ return v0
+.end method
+
.method public toFile()Ljava/io/File;
.registers 2
.annotation build Landroidx/annotation/Nullable;
diff --color -u -r out/com/aimp/library/fm/fs/cloud/CloudFileURI.smali out_new/com/aimp/library/fm/fs/cloud/CloudFileURI.smali
--- out/com/aimp/library/fm/fs/cloud/CloudFileURI.smali 2024-07-18 19:27:45.056281528 +0800
+++ out_new/com/aimp/library/fm/fs/cloud/CloudFileURI.smali 2024-06-17 18:02:49.849241536 +0800
@@ -56,6 +56,14 @@
return-object v0
.end method
+# virtual methods
+.method public isCloudURI()Z
+ .registers 2
+
+ const/4 v0, 0x1
+
+ return v0
+.end method
# virtual methods
.method public getDisplayPath()Ljava/lang/String;
diff --color -u -r out/com/aimp/player/core/playlist/PlaylistActions$BasicReloadMeta.smali out_new/com/aimp/player/core/playlist/PlaylistActions$BasicReloadMeta.smali
--- out/com/aimp/player/core/playlist/PlaylistActions$BasicReloadMeta.smali 2024-07-18 19:27:45.139614862 +0800
+++ out_new/com/aimp/player/core/playlist/PlaylistActions$BasicReloadMeta.smali 2024-06-17 18:11:45.049237230 +0800
@@ -372,6 +372,12 @@
if-nez v2, :cond_6c
+ invoke-virtual {v1}, Lcom/aimp/player/core/playlist/PlaylistItem;->isCloudFile()Z
+
+ move-result v2
+
+ if-nez v2, :cond_6c
+
iget-boolean v2, p0, Lcom/aimp/player/core/playlist/PlaylistActions$BasicReloadMeta;->fReloadAll:Z
if-nez v2, :cond_3d
diff --color -u -r out/com/aimp/player/core/playlist/PlaylistItem.smali out_new/com/aimp/player/core/playlist/PlaylistItem.smali
--- out/com/aimp/player/core/playlist/PlaylistItem.smali 2024-07-18 19:27:45.149614863 +0800
+++ out_new/com/aimp/player/core/playlist/PlaylistItem.smali 2024-06-17 18:10:43.055904395 +0800
@@ -1131,6 +1131,18 @@
return v0
.end method
+.method public isCloudFile()Z
+ .registers 2
+
+ iget-object v0, p0, Lcom/aimp/player/core/playlist/PlaylistItem;->fFileName:Lcom/aimp/library/fm/FileURI;
+
+ invoke-virtual {v0}, Lcom/aimp/library/fm/FileURI;->isCloudURI()Z
+
+ move-result v0
+
+ return v0
+.end method
+
.method public load(Lcom/aimp/player/core/data/AbstractChunkedStorage$AbstractReader;Ljava/util/List;)V
.registers 11
.param p1 # Lcom/aimp/player/core/data/AbstractChunkedStorage$AbstractReader;