Backing out unpushed ef8239961ed3 to merge with newest TrackDataHub.

This commit is contained in:
Rodrigo Damazio
2011-10-20 20:03:18 -02:00
parent 2685309926
commit fe33982df7
@@ -240,24 +240,22 @@ public class TrackDataHub {
*/ */
public void start() { public void start() {
Log.i(TAG, "TrackDataHub.start"); Log.i(TAG, "TrackDataHub.start");
synchronized (this) { if (startedInstance != null) {
if (startedInstance != null) { Log.w(TAG, "Already started, ignoring");
Log.w(TAG, "Already started, ignoring"); return;
return;
}
startedInstance = this;
listenerHandlerThread = new HandlerThread("trackDataContentThread");
listenerHandlerThread.start();
listenerHandler = new Handler(listenerHandlerThread.getLooper());
dataSources = newDataSources();
dataSourceManager = new DataSourceManager(dataSourceListener, dataSources);
// This may or may not register internal listeners, depending on whether
// we already had external listeners.
dataSourceManager.updateAllListeners(getNeededListenerTypes());
loadSharedPreferences();
} }
startedInstance = this;
listenerHandlerThread = new HandlerThread("trackDataContentThread");
listenerHandlerThread.start();
listenerHandler = new Handler(listenerHandlerThread.getLooper());
dataSources = newDataSources();
dataSourceManager = new DataSourceManager(dataSourceListener, dataSources);
// This may or may not register internal listeners, depending on whether
// we already had external listeners.
dataSourceManager.updateAllListeners(getNeededListenerTypes());
loadSharedPreferences();
// If there were listeners already registered, make sure they become up-to-date. // If there were listeners already registered, make sure they become up-to-date.
loadDataForAllListeners(); loadDataForAllListeners();
@@ -288,23 +286,21 @@ public class TrackDataHub {
*/ */
public void stop() { public void stop() {
Log.i(TAG, "TrackDataHub.stop"); Log.i(TAG, "TrackDataHub.stop");
synchronized (this) { if (!isStarted()) {
if (!isStarted()) { Log.w(TAG, "Not started, ignoring");
Log.w(TAG, "Not started, ignoring"); return;
return;
}
// Unregister internal listeners even if there are external listeners registered.
dataSourceManager.unregisterAllListeners();
listenerHandlerThread.getLooper().quit();
startedInstance = null;
dataSources = null;
dataSourceManager = null;
listenerHandlerThread = null;
listenerHandler = null;
} }
// Unregister internal listeners even if there are external listeners registered.
dataSourceManager.unregisterAllListeners();
listenerHandlerThread.getLooper().quit();
startedInstance = null;
dataSources = null;
dataSourceManager = null;
listenerHandlerThread = null;
listenerHandler = null;
} }
private boolean isStarted() { private boolean isStarted() {