Guest User

Untitled

a guest
May 20th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.76 KB | None | 0 0
  1. public class SettingsService extends IntentService {
  2.     private static final String TAG = "SettingsService";
  3.    
  4.     public static final String ACTION_FETCH_SETTINGS = "pl.taxi5.ACTION_FETCH_SETTINGS";
  5.     public static final String ACTION_FETCH_CITIES = "pl.taxi5.ACTION_FETCH_CITIES";
  6.  
  7.     public static final String ACTION_CONNECTION_ERROR = "pl.taxi5.ACTION_CONNECTION_ERROR";
  8.  
  9.     private DatabaseHelper databaseHelper = null;
  10.     private SettingsRepository settingsRepository = null;
  11.  
  12.     public SettingsService() {
  13.         super("Settings Service");
  14.     }
  15.  
  16.     @Override
  17.     protected void onHandleIntent(Intent intent) {
  18.         if (intent.getAction().equals(ACTION_FETCH_SETTINGS)) {
  19.             handleFetchSettings(intent);
  20.         } else if (intent.getAction().equals(ACTION_FETCH_CITIES)) {
  21.             handleFetchCities(intent);
  22.         }
  23.     }
  24.  
  25.     private void handleFetchCities(Intent intent) {
  26.         SimpleUserModel simpleUserModel = intent.getParcelableExtra(SimpleUserModel.NAME);
  27.         SettingsProcessor settingsProcessor = new SettingsProcessorImpl();
  28.         try {
  29.             List<City> cities = settingsProcessor.fetchCities(simpleUserModel);
  30.             Log.d(TAG, "Cities: " + cities);
  31.             //TODO: save cities into db
  32. //          updateCities(cities);
  33.         } catch (RestClientException e) {
  34.             sendConnectionErrorBroadcast(SettingsProcessor.ERROR_UNKNOWN);
  35.             Log.d(TAG, "Fetch cities - " + e.getLocalizedMessage());
  36.         }
  37.     }
  38.  
  39.     private void handleFetchSettings(Intent intent) {
  40.         SimpleUserModel simpleUserModel = intent.getParcelableExtra(SimpleUserModel.NAME);
  41.         SettingsProcessor settingsProcessor = new SettingsProcessorImpl();
  42.         try {
  43.             Settings settings = settingsProcessor.fetchSettings(simpleUserModel);
  44.             Log.d(TAG, "settings: " + settings);
  45.             //TODO: Save settings into db
  46. //          updateSettings(settings);
  47.         } catch (RestClientException e) {
  48.             sendConnectionErrorBroadcast(SettingsProcessor.ERROR_UNKNOWN);
  49.             Log.d(TAG, "Fetch settings - " + e.getLocalizedMessage());
  50.         }
  51.     }
  52.  
  53.     private void updateCities(List<City> cities) {
  54.         getRepo().updateCities(cities);
  55.     }
  56.  
  57.     private void updateSettings(Settings settings) {
  58.         getRepo().updateSettings(settings);
  59.  
  60.     }
  61.  
  62.     private void sendConnectionErrorBroadcast(int errorCode) {
  63.         Intent connectionErrorIntent = new Intent(ACTION_CONNECTION_ERROR);
  64.         connectionErrorIntent.putExtra("errorCode", errorCode);
  65.         sendBroadcast(connectionErrorIntent);
  66.     }
  67.  
  68.     private SettingsRepository getRepo() {
  69.         if (databaseHelper == null) {
  70.             databaseHelper = OpenHelperManager.getHelper(this, DatabaseHelper.class);
  71.             settingsRepository = new SettingsRepository(databaseHelper);
  72.         }
  73.         return settingsRepository;
  74.     }
  75.  
  76.     @Override
  77.     public void onDestroy() {
  78.         super.onDestroy();
  79.         if (databaseHelper != null) {
  80.             OpenHelperManager.releaseHelper();
  81.             databaseHelper = null;
  82.             settingsRepository = null;
  83.         }
  84.     }
  85. }
Add Comment
Please, Sign In to add comment