Unregister contentObserver while PlaybackService gets destroyed.
This commit is contained in:
parent
2808735a17
commit
59e98546c9
@ -12,7 +12,7 @@
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package ch.blinkenlights.android.medialibrary;
|
||||
@ -274,6 +274,23 @@ public class MediaLibrary {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregisters a content observer which was previously registered
|
||||
* by calling registerContentObserver().
|
||||
*
|
||||
* @param observer the content observer to unregister.
|
||||
*/
|
||||
public static void unregisterContentObserver(ContentObserver observer) {
|
||||
if (sContentObserver == null)
|
||||
throw new IllegalStateException("No ContentObserver was registered!");
|
||||
|
||||
if (!sContentObserver.equals(observer))
|
||||
throw new IllegalArgumentException("Passed content observer was not the one you registered!");
|
||||
|
||||
// Sanity check passed: unregister observer.
|
||||
sContentObserver = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Broadcasts a change to the observer, which will queue and dispatch
|
||||
* the event to any registered observer
|
||||
|
@ -598,6 +598,8 @@ public final class PlaybackService extends Service
|
||||
// defer wakelock and close audioFX
|
||||
enterSleepState();
|
||||
|
||||
MediaLibrary.unregisterContentObserver(mObserver);
|
||||
|
||||
if (mMediaPlayer != null) {
|
||||
mMediaPlayer.release();
|
||||
mMediaPlayer = null;
|
||||
|
Loading…
x
Reference in New Issue
Block a user