Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class SettingsService extends IntentService {
- private static final String TAG = "SettingsService";
- public static final String ACTION_FETCH_SETTINGS = "pl.taxi5.ACTION_FETCH_SETTINGS";
- public static final String ACTION_FETCH_CITIES = "pl.taxi5.ACTION_FETCH_CITIES";
- public static final String ACTION_CONNECTION_ERROR = "pl.taxi5.ACTION_CONNECTION_ERROR";
- private DatabaseHelper databaseHelper = null;
- private SettingsRepository settingsRepository = null;
- public SettingsService() {
- super("Settings Service");
- }
- @Override
- protected void onHandleIntent(Intent intent) {
- if (intent.getAction().equals(ACTION_FETCH_SETTINGS)) {
- handleFetchSettings(intent);
- } else if (intent.getAction().equals(ACTION_FETCH_CITIES)) {
- handleFetchCities(intent);
- }
- }
- private void handleFetchCities(Intent intent) {
- SimpleUserModel simpleUserModel = intent.getParcelableExtra(SimpleUserModel.NAME);
- SettingsProcessor settingsProcessor = new SettingsProcessorImpl();
- try {
- List<City> cities = settingsProcessor.fetchCities(simpleUserModel);
- Log.d(TAG, "Cities: " + cities);
- //TODO: save cities into db
- // updateCities(cities);
- } catch (RestClientException e) {
- sendConnectionErrorBroadcast(SettingsProcessor.ERROR_UNKNOWN);
- Log.d(TAG, "Fetch cities - " + e.getLocalizedMessage());
- }
- }
- private void handleFetchSettings(Intent intent) {
- SimpleUserModel simpleUserModel = intent.getParcelableExtra(SimpleUserModel.NAME);
- SettingsProcessor settingsProcessor = new SettingsProcessorImpl();
- try {
- Settings settings = settingsProcessor.fetchSettings(simpleUserModel);
- Log.d(TAG, "settings: " + settings);
- //TODO: Save settings into db
- // updateSettings(settings);
- } catch (RestClientException e) {
- sendConnectionErrorBroadcast(SettingsProcessor.ERROR_UNKNOWN);
- Log.d(TAG, "Fetch settings - " + e.getLocalizedMessage());
- }
- }
- private void updateCities(List<City> cities) {
- getRepo().updateCities(cities);
- }
- private void updateSettings(Settings settings) {
- getRepo().updateSettings(settings);
- }
- private void sendConnectionErrorBroadcast(int errorCode) {
- Intent connectionErrorIntent = new Intent(ACTION_CONNECTION_ERROR);
- connectionErrorIntent.putExtra("errorCode", errorCode);
- sendBroadcast(connectionErrorIntent);
- }
- private SettingsRepository getRepo() {
- if (databaseHelper == null) {
- databaseHelper = OpenHelperManager.getHelper(this, DatabaseHelper.class);
- settingsRepository = new SettingsRepository(databaseHelper);
- }
- return settingsRepository;
- }
- @Override
- public void onDestroy() {
- super.onDestroy();
- if (databaseHelper != null) {
- OpenHelperManager.releaseHelper();
- databaseHelper = null;
- settingsRepository = null;
- }
- }
- }
Add Comment
Please, Sign In to add comment