~fab4mazz/bus-torino/nearbyarrivals

« back to all changes in this revision

Viewing changes to src/it/reyboz/bustorino/ActivityMain.java

  • Committer: Fabio Mazza
  • Date: 2019-04-09 20:55:49 UTC
  • Revision ID: fab4mazz@gmail.com-20190409205549-0dytedak8l46v4jo
Fixed bugs, displayed Snackbar correctly

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 
20
20
import android.content.Context;
21
21
import android.content.Intent;
22
 
import android.content.SharedPreferences;
23
22
import android.content.pm.PackageManager;
24
23
import android.location.LocationManager;
25
24
import android.net.Uri;
81
80
    /*
82
81
     * Status
83
82
     */
84
 
    private GlobalStatusPreferences prefsManager;
85
 
    private SharedPreferences.OnSharedPreferenceChangeListener updatelistener;
 
83
    private DBStatusManager prefsManager;
 
84
    private DBStatusManager.OnDBUpdateStatusChangeListener updatelistener;
86
85
    /* // useful for testing:
87
86
    public class MockFetcher implements ArrivalsFetcher {
88
87
        @Override
250
249
        /*
251
250
        Set database update
252
251
         */
253
 
        prefsManager = GlobalStatusPreferences.getInstance(getApplicationContext());
254
 
        updatelistener = new SharedPreferences.OnSharedPreferenceChangeListener() {
255
 
            @Override
256
 
            public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
257
 
                Log.d("BUSTO-PrefListener","Changed key "+key +" in the sharedPref");
258
 
 
259
 
                if(key.equals(getString(R.string.databaseUpdatingPref))){
260
 
                    final boolean updating = sharedPreferences.getBoolean(getString(R.string.databaseUpdatingPref),false);
261
 
                    if(updating){
262
 
                        if(snackbar==null){
263
 
                            snackbar = Snackbar.make(findViewById(R.id.searchButton),R.string.database_update_message,Snackbar.LENGTH_INDEFINITE);
264
 
                        }
265
 
                        snackbar.show();
266
 
                    }
267
 
                    else if(snackbar!=null){
268
 
                       snackbar.dismiss();
269
 
                       snackbar = null;
270
 
                    }
271
 
                }
 
252
        updatelistener = new DBStatusManager.OnDBUpdateStatusChangeListener(){
 
253
            @Override
 
254
            public boolean defaultStatusValue() {
 
255
                return true;
 
256
            }
 
257
 
 
258
            @Override
 
259
            public void onDBStatusChanged(boolean updating) {
 
260
 
 
261
                if(updating){
 
262
                    createDefaultSnackbar();
 
263
                }
 
264
                else if(snackbar!=null){
 
265
                    snackbar.dismiss();
 
266
                    snackbar = null;
 
267
                }
 
268
 
272
269
 
273
270
            }
274
271
        };
275
 
 
276
 
        prefsManager.registerListener(updatelistener);
 
272
        prefsManager = new DBStatusManager(getApplicationContext(),updatelistener);
 
273
        prefsManager.registerListener();
277
274
 
278
275
        //locationHandler = new GPSLocationAdapter(getApplicationContext());
279
276
        //--------- NEARBY STOPS--------//
326
323
        super.onPause();
327
324
        fh.stopLastRequestIfNeeded();
328
325
        fh.setBlockAllActivities(true);
329
 
        if(updatelistener!=null && prefsManager!=null) prefsManager.unregisterListener(updatelistener);
 
326
        if(updatelistener!=null && prefsManager!=null) prefsManager.unregisterListener();
330
327
    }
331
328
 
332
329
    @Override
333
330
    protected void onResume() {
334
331
        super.onResume();
335
332
        fh.setBlockAllActivities(false);
336
 
        if(updatelistener!=null && prefsManager!=null) prefsManager.registerListener(updatelistener);
 
333
        if(updatelistener!=null && prefsManager!=null) {
 
334
            prefsManager.registerListener();
 
335
            if(prefsManager.isDBUpdating(true)){
 
336
                createDefaultSnackbar();
 
337
            }
 
338
        }
337
339
    }
338
340
 
339
341
    @Override
509
511
            }
510
512
        }
511
513
    }
 
514
    private void createDefaultSnackbar(){
 
515
        if(snackbar==null){
 
516
            snackbar = Snackbar.make(findViewById(R.id.searchButton),R.string.database_update_message,Snackbar.LENGTH_INDEFINITE);
 
517
        }
 
518
        snackbar.show();
 
519
    }
512
520
 
513
521
 
514
522