View Issue Details

IDProjectCategoryView StatusLast Update
0009808MediaMonkey for Android[All Projects] Generalpublic2013-05-01 00:08
Reporterpeke 
PriorityurgentSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version1.0.1 
Target Version1.0.1Fixed in Version1.0.4 
Summary0009808: Ability to exit and close MMA to release it from Memory
DescriptionCurrently there is no way to Exit and Close MMA now it just minimizes MMA to background when using BACK to exit MMA.

When MMA is not playing there should be a way to fully exit and close MMA and release it from memory (not just put it in background). Most of newer apps I have tested uses double BACK Tap to exit and close application (showing "Press back again to exit"), some uses BACK LONG Press to execute same action as pressing on HOME Button
TagsNo tags attached.
Fixed in build124

Relationships

related to 0009788 closedpeke Various Starting Issues with MMA clean install 
related to 0010451 closedmarek MMA fails to stop running 

Activities

jiri

2012-10-11 12:37

administrator   ~0032423

I think that in case MMA doesn't play, simple Back from the Home screen should terminate MM, i.e. no icon would be shown in the tray then.

marek

2012-10-12 02:07

developer   ~0032457

Well I don't think it is a feature of newer apps. This is a mixing of "Win" functionality to Android's. Android has completely different task management. There is nothing like "exit app". And it is even not recommended to implement it. Because basic entity of Android is Activity. Android stores the states of activities and release it whenever it needs resources.

The applications, that has the double back function, use it to prevent accidental "exit" (going out of scope of current app) - not to do a real exit. This is commonly used in explorers and other similar apps. We can implement this functionality.

For more information please read this thread:
http://stackoverflow.com/questions/2439978/why-dont-android-applications-provide-an-exit-option

Or some basics about Android processes and components:
http://developer.android.com/guide/components/fundamentals.html
http://developer.android.com/guide/components/processes-and-threads.html

In our application exists one problem: "When hide the notification?"

Fyi there is a playback service on the background. This service is stopped when the playback is paused or stopped for some time (I think it is one minute now) and no MMA activity is visible. After that all other background services are stopped. So neither the notification should be visible.

Well I suggest to hide notification when user exits MMA activity and playback is paused or stopped (I think that it is the same thing as Jiri suggests in previous note). But there is a question: What to do if playback is not paused, no MMA activity is visible and user clicks pause button in notification.

We can:
1) hide notification immediately after pressing
2) hide notification when playback service is destroyed. I.e. application wasn't used for some time...

jiri

2012-10-12 11:14

administrator   ~0032473

Yes, I agree, it's only about when to hide the notification.

As for the suggested solutions, I'm fine with either. 1) probably makes most sense to me, because if I exit from the Home screen and nothing is playing, it's quite likely that I'm not gonna use MMA very soon and so it doesn't make much sense to keep it in the tray.

Note that currently MMA stays in the tray pretty much indefinitely on my testing devices.

marek

2012-10-12 17:21

developer   ~0032483

Yes. We agreed on solution when playback was paused. But my question was about different situation:

A) Playback is PLAYING, MMA is already closed (or user is in different app), user clicks on PAUSE button in notification bar (only for HC and higher) OR in widget.

What to do with notification now ?

Both case have some cons
1) Notification will disappear right after user clicks on it. So it disappears even if he touches it accidentally and he cannot see feedback of the action.
2) Notification is going to disappear after some time. So it might look weird for the user that it disappeared without any action.

I like 1) little bit more because I think that the processing of our background playback service should be hidden for the user and he shouldn't even know and notice that here is something like service shutdown.

Maybe there is a third option:
3) Show toast message that notification will be closed in for example 10 seconds and then hide it.

I found one other use case that should be solved:
B) User is in different app, Playback had been playing and have just STOPPED (end of playback).

I suggest to hide the notification immediately in this case.

jiri

2012-10-12 19:55

administrator   ~0032494

To summarize, per IM discussion with Marek:

i) After pressing Back from Home screen when there's no playback - hide MM icon immediately.
ii) In any other case, when playback stops (end of tracklist, pressing of pause from a widget, etc.) - hide MM icon after some time when the background playback service is terminated.

rusty

2012-10-16 04:54

administrator   ~0032585

Marek, are you certain that there are no battery usage implications associated with leaving mma running? Over the past few days I've noticed that even if I'm not doing much MM testing, the Mediaserver process seems to be using a lot of my device's battery.

marek

2012-10-16 05:09

developer   ~0032586

It is possible now because it is still not implemented this way (notification is not closed and service keeps running).

martin

2012-10-29 10:58

developer   ~0032820

Fix in build 51.

rusty

2012-10-31 01:28

administrator   ~0032852

Martin, can you clarify what the fix is so that we know what to test?

martin

2012-11-05 22:59

developer   ~0032944

Fix in build 55.
In build 55 there are some important changes about that. Current functionality is same as Jiri described by the above (32494).
Playback service should stop at the latest one minute after playback is paused and MMA is in background.

peke

2012-11-22 13:31

developer   ~0033285

Verified 63

rusty

2012-12-11 20:55

administrator   ~0033830

As reported at http://www.mediamonkey.com/forum/viewtopic.php?f=21&t=68827&start=15#p354110 , MMA fails to terminate if playback has been started/paused via the widget.

martin

2012-12-17 22:12

developer   ~0033944

I can't reproduce this issue, apparently fixed in another issue.

peke

2013-01-10 01:23

developer   ~0034340

Last edited: 2013-01-10 01:24

View 2 revisions

It happen to me again today when testing video playback and UPnP. But it is not every time and when it happen MMA do close after some longer time >10 Min.

Left as resolved to see if we receive more feedback

peke

2013-03-19 01:32

developer   ~0035419

Verified 114, Closing, Speed of close time is depending on Background Tasks priority assigned by system, is there is lots of tasks MMA closes slower (eg. after 5 Min or so).

rusty

2013-03-21 05:13

administrator   ~0035445

In recent builds, MMA often fails to terminate and often remains running using large quantities of device memory. Assigning to Peke to investigate specific triggers.

peke

2013-03-21 23:20

developer   ~0035453

As pointed out in 0009808:0034340 in 8/10 MMA stays open when User either pause or Video is still playing when pressing Home on the device.

Note: I'm not observing same issue when Audio is used. MMA normally exits after ~1Min on Nexus 7 (As talked on IM Rusty that was the device he had issues with).

rusty

2013-03-22 05:32

administrator   ~0035454

I've been testing this further and have found that on an S3 (JB), playing a single track from a UPnP server and then 'backing' out of MMA causes the MMA process to remain running indefinitely.

martin

2013-03-22 22:46

developer   ~0035458

Fixed in build 116

peke

2013-03-23 03:44

developer   ~0035459

Verified 116 Left resolved for Rusty to confirm

rusty

2013-03-29 22:34

administrator   ~0035512

I've tested this with build 118 with Nexus 7, and Galaxy S3, and the bug still occurs though I'm unable to figure out exactly how to reproduce it. Note that when it does occur, it seems that the StorageObserverService is usually running.

Any ideas?

peke

2013-03-30 01:15

developer   ~0035513

@Rusty
I would suggest that DDMS debug log would help.

To fetch longer log file set filter to "com.ventismedia.android.mediamonkey" and increase log msg count to 500000 in File -> Options -> LogCat -> Maximum Logcat msgs

rusty

2013-04-30 22:07

administrator   ~0035878

This seems to be fixed in recent build.

peke

2013-05-01 00:08

developer   ~0035879

Just Updating to make it more clear.

MMA Notification contain STOP button which Automatically close MMA and Free it from memory.