Remove preferences listener from service

Этот коммит содержится в:
Anton Tananaev
2015-08-12 19:41:38 +12:00
родитель 7396e9c436
Коммит 3f4663c570
+1 -55
Просмотреть файл
@@ -45,7 +45,6 @@ public class TrackingService extends Service {
private String provider; private String provider;
private boolean extended; private boolean extended;
private SharedPreferences sharedPreferences;
private ClientController clientController; private ClientController clientController;
private PositionProvider positionProvider; private PositionProvider positionProvider;
@@ -59,7 +58,7 @@ public class TrackingService extends Service {
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName()); wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getClass().getName());
wakeLock.acquire(); wakeLock.acquire();
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
try { try {
id = sharedPreferences.getString(MainActivity.KEY_ID, null); id = sharedPreferences.getString(MainActivity.KEY_ID, null);
@@ -77,8 +76,6 @@ public class TrackingService extends Service {
positionProvider = new PositionProvider(this, provider, interval * 1000, positionListener); positionProvider = new PositionProvider(this, provider, interval * 1000, positionListener);
positionProvider.startUpdates(); positionProvider.startUpdates();
sharedPreferences.registerOnSharedPreferenceChangeListener(preferenceChangeListener);
} }
@Override @Override
@@ -90,10 +87,6 @@ public class TrackingService extends Service {
public void onDestroy() { public void onDestroy() {
StatusActivity.addMessage(getString(R.string.status_service_destroy)); StatusActivity.addMessage(getString(R.string.status_service_destroy));
if (sharedPreferences != null) {
sharedPreferences.unregisterOnSharedPreferenceChangeListener(preferenceChangeListener);
}
if (positionProvider != null) { if (positionProvider != null) {
positionProvider.stopUpdates(); positionProvider.stopUpdates();
} }
@@ -129,51 +122,4 @@ public class TrackingService extends Service {
}; };
OnSharedPreferenceChangeListener preferenceChangeListener = new OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
StatusActivity.addMessage(getString(R.string.status_preference_update));
try {
if (key.equals(MainActivity.KEY_ADDRESS)) {
address = sharedPreferences.getString(MainActivity.KEY_ADDRESS, null);
clientController.setNewServer(address, port);
} else if (key.equals(MainActivity.KEY_PORT)) {
port = Integer.valueOf(sharedPreferences.getString(MainActivity.KEY_PORT, null));
clientController.setNewServer(address, port);
} else if (key.equals(MainActivity.KEY_INTERVAL)) {
interval = Integer.valueOf(sharedPreferences.getString(MainActivity.KEY_INTERVAL, null));
positionProvider.stopUpdates();
positionProvider = new PositionProvider(TrackingService.this, provider, interval * 1000, positionListener);
positionProvider.startUpdates();
} else if (key.equals(MainActivity.KEY_ID)) {
id = sharedPreferences.getString(MainActivity.KEY_ID, null);
clientController.setNewLogin(ProtocolFormatter.createLoginMessage(id));
} else if (key.equals(MainActivity.KEY_PROVIDER)) {
provider = sharedPreferences.getString(MainActivity.KEY_PROVIDER, null);
positionProvider.stopUpdates();
positionProvider = new PositionProvider(TrackingService.this, provider, interval * 1000, positionListener);
positionProvider.startUpdates();
} else if (key.equals(MainActivity.KEY_EXTENDED)) {
extended = sharedPreferences.getBoolean(MainActivity.KEY_EXTENDED, false);
}
} catch (Exception error) {
Log.w(LOG_TAG, error);
}
}
};
} }