View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0009172 | MMA | General | public | 2012-02-23 16:22 | 2022-03-12 01:31 |
Reporter | jiri | Assigned To | |||
Priority | urgent | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Target Version | 1.0.1 | ||||
Summary | 0009172: Improve UPnP browsing | ||||
Description | There 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 Information | E/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 | ||||
Tags | No tags attached. | ||||
Fixed in build | 64 | ||||
|
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). |
|
Implemented all but - background download is missing - icons are missing |
|
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'. |
|
Fixed blinking icon |
|
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. |
|
Implemented and fixed all except 1. |
|
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). |
|
Fixed in build 62 |
|
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. |
|
8. fixed in build 63 9. fixed in build 64 |
|
1.a. and 1.b fixed in build 64 |
|
Fixed in build 64 |
|
9. Not fixed as expected - there should be a MM icon and return to the Home screen, not to the root of UPnP hierarchy. |
|
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 ? |
|
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'. |
|
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). |
|
MMA 2.0 design obsolete this. |