View Issue Details

IDProjectCategoryView StatusLast Update
0009172MMAGeneralpublic2022-03-12 01:31
Reporterjiri Assigned To 
PriorityurgentSeverityminorReproducibilityalways
Status closedResolutionfixed 
Target Version1.0.1 
Summary0009172: Improve UPnP browsing
DescriptionThere are several issues that should be fixed:

1. Back button doesn't work (returns to the home screen instead of the previous level)
2. It should be possible to start playback of a track (and add all the currently visible tracks to NP list).
3. Tracks and containers should have an icon (or some default one in case none is provided by the UPnP server).
4. Loading of large containers fails (see Additional information for a log). Note that it should preferably keep showing content as it's received instead of waiting for whole content to be retrieved before it's shown.
5. Add Download command that would download the selected track(s) on background to the device.
Additional InformationE/dalvikvm-heap(20418): Out of memory on a 9818126-byte allocation.
I/dalvikvm(20418): "Thread 183 (Active: 5)" prio=5 tid=28 RUNNABLE JIT
I/dalvikvm(20418): | group="main" sCount=0 dsCount=0 obj=0x406ffb10 self=0x472e68
I/dalvikvm(20418): | sysTid=22349 nice=0 sched=0/0 cgrp=default handle=2324840
I/dalvikvm(20418): | schedstat=( 8014536592 1115737470 15885 )
I/dalvikvm(20418): at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:0000038:0000095)
I/dalvikvm(20418): at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:153)
I/dalvikvm(20418): at java.lang.StringBuffer.append(StringBuffer.java:219)
I/dalvikvm(20418): at org.teleal.cling.model.XMLUtil.getTextContent(XMLUtil.java:215)
I/dalvikvm(20418): at org.teleal.cling.transport.impl.SOAPActionProcessorImpl.readArgumentValues(SOAPActionProcessorImpl.java:544)
I/dalvikvm(20418): at org.teleal.cling.transport.impl.SOAPActionProcessorImpl.readActionOutputArguments(SOAPActionProcessorImpl.java:395)
I/dalvikvm(20418): at org.teleal.cling.transport.impl.SOAPActionProcessorImpl.readBodyResponse(SOAPActionProcessorImpl.java:239)
I/dalvikvm(20418): at org.teleal.cling.transport.impl.SOAPActionProcessorImpl.readBody(SOAPActionProcessorImpl.java:178)
I/dalvikvm(20418): at org.teleal.cling.protocol.sync.SendingAction.handleResponse(SendingAction.java:127)
I/dalvikvm(20418): at org.teleal.cling.protocol.sync.SendingAction.invokeRemote(SendingAction.java:91)
I/dalvikvm(20418): at org.teleal.cling.protocol.sync.SendingAction.executeSync(SendingAction.java:63)
I/dalvikvm(20418): at org.teleal.cling.protocol.sync.SendingAction.executeSync(SendingAction.java:51)
I/dalvikvm(20418): at org.teleal.cling.protocol.SendingSync.execute(SendingSync.java:55)
I/dalvikvm(20418): at org.teleal.cling.protocol.SendingAsync.run(SendingAsync.java:44)
I/dalvikvm(20418): at org.teleal.cling.controlpoint.ActionCallback.run(ActionCallback.java:147)
I/dalvikvm(20418): at org.teleal.cling.support.contentdirectory.callback.Browse.run(Browse.java:91)
I/dalvikvm(20418): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
I/dalvikvm(20418): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
I/dalvikvm(20418): at java.lang.Thread.run(Thread.java:1019)
I/dalvikvm(20418):
W/dalvikvm(20418): threadid=28: thread exiting with uncaught exception (group=0x40015578)
E/AndroidRuntime(20418): FATAL EXCEPTION: Thread 183 (Active: 5)
E/AndroidRuntime(20418): java.lang.OutOfMemoryError
E/AndroidRuntime(20418): at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:95)
E/AndroidRuntime(20418): at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:153)
E/AndroidRuntime(20418): at java.lang.StringBuffer.append(StringBuffer.java:219)
E/AndroidRuntime(20418): at org.teleal.cling.model.XMLUtil.getTextContent(XMLUtil.java:215)
E/AndroidRuntime(20418): at org.teleal.cling.transport.impl.SOAPActionProcessorImpl.readArgumentValues(SOAPActionProcessorImpl.java:544)
E/AndroidRuntime(20418): at org.teleal.cling.transport.impl.SOAPActionProcessorImpl.readActionOutputArguments(SOAPActionProcessorImpl.java:395)
E/AndroidRuntime(20418): at org.teleal.cling.transport.impl.SOAPActionProcessorImpl.readBodyResponse(SOAPActionProcessorImpl.java:239)
E/AndroidRuntime(20418): at org.teleal.cling.transport.impl.SOAPActionProcessorImpl.readBody(SOAPActionProcessorImpl.java:178)
E/AndroidRuntime(20418): at org.teleal.cling.protocol.sync.SendingAction.handleResponse(SendingAction.java:127)
E/AndroidRuntime(20418): at org.teleal.cling.protocol.sync.SendingAction.invokeRemote(SendingAction.java:91)
E/AndroidRuntime(20418): at org.teleal.cling.protocol.sync.SendingAction.executeSync(SendingAction.java:63)
E/AndroidRuntime(20418): at org.teleal.cling.protocol.sync.SendingAction.executeSync(SendingAction.java:51)
E/AndroidRuntime(20418): at org.teleal.cling.protocol.SendingSync.execute(SendingSync.java:55)
E/AndroidRuntime(20418): at org.teleal.cling.protocol.SendingAsync.run(SendingAsync.java:44)
E/AndroidRuntime(20418): at org.teleal.cling.controlpoint.ActionCallback.run(ActionCallback.java:147)
E/AndroidRuntime(20418): at org.teleal.cling.support.contentdirectory.callback.Browse.run(Browse.java:91)
E/AndroidRuntime(20418): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
E/AndroidRuntime(20418): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
E/AndroidRuntime(20418): at java.lang.Thread.run(Thread.java:1019)
W/ActivityManager( 2701): Force finishing activity com.android.mediamonkey/.library.LibraryActivity
E/ ( 2701): Dumpstate > /data/log/dumpstate_app_error
TagsNo tags attached.
Fixed in build64

Relationships

has duplicate 0009994 closedjiri MMA icon do not have assigned action 

Activities

rusty

2012-04-04 19:47

administrator   ~0030832

Last edited: 2012-04-04 19:48

I suppose this is implicit in the above comments, but to make it explicit:
- There should be a UPnP icon on the home screen from where the user should be able to browse/play content.
- There should be configuration options that allow the user to set:
 -- which UPnP/DLNA servers to connect to (incl. possibility of connecting to remote servers?)
 (I assume that rendering would always be local for the initial version).

marek

2012-04-22 09:17

developer   ~0030873

Last edited: 2012-04-29 21:51

Implemented all but
 - background download is missing
 - icons are missing

jiri

2012-05-02 11:04

administrator   ~0030990

Few problems:
 - start of playback of a track starts that track only, the following track doesn't continue
 - Device icons (i.e. the first screen) somehow 'blinks'.

marek

2012-05-15 22:58

developer   ~0031148

Fixed blinking icon

jiri

2012-05-16 14:43

administrator   ~0031153

A brief summary of the remaining issues:
1. Add download of tracks.
2. Add icons.
3. Fix the first screen issues:
3a. The available servers should be sorted alphabetically - currently they are listed randomly.
3b. Servers are re-loaded when phone orientation is changed. Also, after this action, it isn't possible to click any of the servers.
4. Review the start of playback - it can freeze MM for some time, before the playback starts. Not sure whether this can be made somehow more asynchronous.

marek

2012-08-30 15:13

developer   ~0031734

Implemented and fixed all except 1.

jiri

2012-09-12 14:31

administrator   ~0031950

Remaining issues:
1. see above
5. Back button always returns to the server list, not just one level up.
6. Crash on playback on some servers (as discussed with Marek over IM).

marek

2012-11-20 01:20

developer   ~0033214

Fixed in build 62

jiri

2012-11-20 16:28

administrator   ~0033230

Last edited: 2012-11-20 16:28

1. Works fine for me, just:
 a. The progress isn't shown very well - there's a Sync icon shown, but clicking it in the tray menu doesn't do anything. A progress view would be nice. However, at the very least the tray entry should be in 2 lines - currently the text is too long and so on S2 in portrait mode I can't see any progress information. In the vertical mode there was '1/1 tracks', even though I downloaded 5.
 b. The action should exit contextual mode.

7. Orientation change loses context - i.e. if deeper in the upnp folders hierarchy, after screen rotation I get returned to the top level of the server. Preferably MMA wouldn't re-read the folder content in this case at all.

8. Sometimes during testing of 1. and 7., MMA crashed, stack trace:
java.lang.NullPointerException
        at com.ventismedia.android.mediamonkey.upnp.AbsUpnpBrowserFragment$2$1.run(AbsUpnpBrowserFragment.java:183)
        at android.os.Handler.handleCallback(Handler.java:605)
        at android.os.Handler.dispatchMessage(Handler.java:92)

9. The top MM icon doesn't do anything in UPnP views. I think that it should always return to MM Home screen, otherwise it would require many Back button clicks to return from deeper hierarchies.

marek

2012-11-21 18:11

developer   ~0033264

8. fixed in build 63

9. fixed in build 64

martin

2012-11-22 17:35

developer   ~0033294

1.a. and 1.b fixed in build 64

marek

2012-11-23 03:26

developer   ~0033306

Fixed in build 64

jiri

2012-11-23 15:28

administrator   ~0033324

9. Not fixed as expected - there should be a MM icon and return to the Home screen, not to the root of UPnP hierarchy.

marek

2012-12-20 18:46

developer   ~0034073

9. Well it is behaviour that I expected from it. One level up to server list, than one level to home screen.

Do you think it will be better to omit the server list level ?

jiri

2013-01-22 16:26

administrator   ~0034587

9. To clarify, if I'm in 'WMP server\Music\Artists\ABBA' and press Up arrow, I get to the server list, but I'd expect to get to 'WMP server\Music\Artists'.

jiri

2013-01-22 16:44

administrator   ~0034589

9. Resolving - it isn't clear which approach is better, so it probably doesn't make sense to make any changes atm. The advantage of the current approach is that Up action makes an easy and quick way to get up in the hierarchy (through many level of folders).

peke

2022-03-12 01:31

developer   ~0067249

MMA 2.0 design obsolete this.