Search in sources :

Example 1 with ReminderHelper

use of de.geeksfactory.opacclient.reminder.ReminderHelper in project opacclient by opacapp.

the class SnoozeDatePickerActivity method onTimeSet.

@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
    dt = dt.withHourOfDay(hourOfDay).withMinuteOfHour(minute);
    long alarmId = getIntent().getLongExtra(ReminderBroadcastReceiver.EXTRA_ALARM_ID, -1);
    AccountDataSource adata = new AccountDataSource(this);
    Alarm alarm = adata.getAlarm(alarmId);
    if (alarm == null) {
        throw new DataIntegrityException("Trying to snooze unknown alarm ID " + alarmId);
    }
    alarm.notified = false;
    alarm.notificationTime = dt;
    adata.updateAlarm(alarm);
    // dismiss notification
    NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    manager.cancel((int) alarm.id);
    // reschedule alarms
    new ReminderHelper((OpacClient) getApplication()).scheduleAlarms();
    finish();
}
Also used : AccountDataSource(de.geeksfactory.opacclient.storage.AccountDataSource) ReminderHelper(de.geeksfactory.opacclient.reminder.ReminderHelper) OpacClient(de.geeksfactory.opacclient.OpacClient) NotificationManager(android.app.NotificationManager) DataIntegrityException(de.geeksfactory.opacclient.storage.DataIntegrityException) Alarm(de.geeksfactory.opacclient.reminder.Alarm)

Example 2 with ReminderHelper

use of de.geeksfactory.opacclient.reminder.ReminderHelper in project opacclient by opacapp.

the class MainPreferenceFragment method onCreatePreferences.

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
    this.context = getActivity();
    addPreferencesFromResource(R.xml.settings);
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH || !context.getPackageManager().hasSystemFeature("android.hardware.nfc")) {
        if (findPreference("nfc_search") != null) {
            findPreference("nfc_search").setEnabled(false);
        }
    }
    Preference assistant = findPreference("accounts");
    assistant.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference arg0) {
            ((OpacClient) context.getApplication()).openAccountList(context);
            return false;
        }
    });
    if (!ebooksSupported()) {
        ((PreferenceCategory) findPreference("cat_web_opac")).removePreference(findPreference("email"));
    }
    CheckBoxPreference notification = (CheckBoxPreference) findPreference("notification_service");
    if (notification != null) {
        notification.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                boolean enabled = (Boolean) newValue;
                new ReminderHelper((OpacClient) getActivity().getApplication()).updateAlarms(enabled);
                return true;
            }
        });
    }
    ListPreference warning = (ListPreference) findPreference("notification_warning");
    if (warning != null) {
        warning.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

            @Override
            public boolean onPreferenceChange(Preference preference, Object newValue) {
                SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
                // int oldWarning = Integer.parseInt(prefs.getString("notification_warning",
                // "3"));
                int newWarning = Integer.parseInt((String) newValue);
                new ReminderHelper((OpacClient) getActivity().getApplication()).updateAlarms(newWarning);
                return true;
            }
        });
    }
    Preference meta_run_check = findPreference("meta_run_check");
    if (meta_run_check != null) {
        meta_run_check.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

            @Override
            public boolean onPreferenceClick(Preference arg0) {
                SyncAccountJob.runImmediately();
                return false;
            }
        });
    }
    Preference meta = findPreference("meta_clear");
    if (meta != null) {
        meta.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

            @Override
            public boolean onPreferenceClick(Preference arg0) {
                AccountDataSource adata = new AccountDataSource(context);
                adata.invalidateCachedData();
                new ReminderHelper((OpacClient) context.getApplication()).updateAlarms(-1);
                SearchFieldDataSource sfdata = new JsonSearchFieldDataSource(context);
                sfdata.clearAll();
                SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
                sp.edit().remove("reservation_fee_warning_ignore").apply();
                SyncAccountJob.runImmediately();
                return false;
            }
        });
    }
    final Preference updateLibraryConfig = findPreference("update_library_config");
    if (updateLibraryConfig != null) {
        updateLibraryConfig.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

            @Override
            public boolean onPreferenceClick(Preference preference) {
                IntentFilter successFilter = new IntentFilter(LibraryConfigUpdateService.ACTION_SUCCESS);
                IntentFilter failureFilter = new IntentFilter(LibraryConfigUpdateService.ACTION_FAILURE);
                BroadcastReceiver receiver = new LibraryConfigServiceReceiver(updateLibraryConfig);
                LocalBroadcastManager.getInstance(context).registerReceiver(receiver, successFilter);
                LocalBroadcastManager.getInstance(context).registerReceiver(receiver, failureFilter);
                Intent i = new Intent(context, LibraryConfigUpdateService.class);
                context.startService(i);
                DialogFragment newFragment = ProgressDialogFragment.getInstance(R.string.updating_library_config);
                showDialog(newFragment);
                updateLibraryConfig.setEnabled(false);
                return false;
            }
        });
        refreshLastConfigUpdate(updateLibraryConfig);
    }
    final Preference resetLibraryConfig = findPreference("reset_library_config");
    if (resetLibraryConfig != null) {
        PreferenceDataSource prefs = new PreferenceDataSource(getActivity());
        resetLibraryConfig.setEnabled(prefs.hasBundledConfiguration());
        resetLibraryConfig.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

            @Override
            public boolean onPreferenceClick(Preference preference) {
                LibraryConfigUpdateService.clearConfigurationUpdates(getContext());
                if (getView() != null) {
                    Snackbar.make(getView(), R.string.library_config_reset, Snackbar.LENGTH_SHORT).show();
                    refreshLastConfigUpdate(updateLibraryConfig);
                }
                return false;
            }
        });
    }
}
Also used : IntentFilter(android.content.IntentFilter) AccountDataSource(de.geeksfactory.opacclient.storage.AccountDataSource) CheckBoxPreference(android.support.v7.preference.CheckBoxPreference) SharedPreferences(android.content.SharedPreferences) DialogFragment(android.support.v4.app.DialogFragment) JsonSearchFieldDataSource(de.geeksfactory.opacclient.storage.JsonSearchFieldDataSource) Intent(android.content.Intent) ListPreference(android.support.v7.preference.ListPreference) BroadcastReceiver(android.content.BroadcastReceiver) ReminderHelper(de.geeksfactory.opacclient.reminder.ReminderHelper) SearchFieldDataSource(de.geeksfactory.opacclient.storage.SearchFieldDataSource) JsonSearchFieldDataSource(de.geeksfactory.opacclient.storage.JsonSearchFieldDataSource) CheckBoxPreference(android.support.v7.preference.CheckBoxPreference) ListPreference(android.support.v7.preference.ListPreference) Preference(android.support.v7.preference.Preference) PreferenceCategory(android.support.v7.preference.PreferenceCategory) PreferenceDataSource(de.geeksfactory.opacclient.storage.PreferenceDataSource) LibraryConfigUpdateService(de.geeksfactory.opacclient.webservice.LibraryConfigUpdateService)

Example 3 with ReminderHelper

use of de.geeksfactory.opacclient.reminder.ReminderHelper in project opacclient by opacapp.

the class OpacActivity method onStart.

@Override
protected void onStart() {
    super.onStart();
    if (app.getLibrary() == null) {
        // Create new
        if (app.getAccount() != null) {
            try {
                InputStream stream = getAssets().open(OpacClient.ASSETS_BIBSDIR + "/" + app.getAccount().getLibrary() + ".json");
                stream.close();
            } catch (IOException e) {
                AccountDataSource data = new AccountDataSource(this);
                data.remove(app.getAccount());
                List<Account> available_accounts = data.getAllAccounts();
                if (available_accounts.size() > 0) {
                    ((OpacClient) getApplication()).setAccount(available_accounts.get(0).getId());
                }
                new ReminderHelper(app).generateAlarms();
                if (app.getLibrary() != null) {
                    return;
                }
            }
        }
        app.addFirstAccount(this);
    }
}
Also used : AccountDataSource(de.geeksfactory.opacclient.storage.AccountDataSource) ReminderHelper(de.geeksfactory.opacclient.reminder.ReminderHelper) InputStream(java.io.InputStream) List(java.util.List) IOException(java.io.IOException)

Example 4 with ReminderHelper

use of de.geeksfactory.opacclient.reminder.ReminderHelper in project opacclient by opacapp.

the class AccountEditActivity method delete.

private void delete() {
    AccountDataSource data = new AccountDataSource(this);
    data.remove(account);
    // Check whether he deleted account was selected
    if (((OpacClient) getApplication()).getAccount().getId() == account.getId()) {
        List<Account> available_accounts = data.getAllAccounts();
        if (available_accounts.size() == 0) {
            ((OpacClient) getApplication()).setAccount(0);
            ((OpacClient) getApplication()).addFirstAccount(this);
        } else {
            ((OpacClient) getApplication()).setAccount(available_accounts.get(0).getId());
        }
    }
    new ReminderHelper((OpacClient) getApplication()).generateAlarms();
}
Also used : Account(de.geeksfactory.opacclient.objects.Account) AccountDataSource(de.geeksfactory.opacclient.storage.AccountDataSource) ReminderHelper(de.geeksfactory.opacclient.reminder.ReminderHelper) OpacClient(de.geeksfactory.opacclient.OpacClient)

Aggregations

ReminderHelper (de.geeksfactory.opacclient.reminder.ReminderHelper)4 AccountDataSource (de.geeksfactory.opacclient.storage.AccountDataSource)4 OpacClient (de.geeksfactory.opacclient.OpacClient)2 NotificationManager (android.app.NotificationManager)1 BroadcastReceiver (android.content.BroadcastReceiver)1 Intent (android.content.Intent)1 IntentFilter (android.content.IntentFilter)1 SharedPreferences (android.content.SharedPreferences)1 DialogFragment (android.support.v4.app.DialogFragment)1 CheckBoxPreference (android.support.v7.preference.CheckBoxPreference)1 ListPreference (android.support.v7.preference.ListPreference)1 Preference (android.support.v7.preference.Preference)1 PreferenceCategory (android.support.v7.preference.PreferenceCategory)1 Account (de.geeksfactory.opacclient.objects.Account)1 Alarm (de.geeksfactory.opacclient.reminder.Alarm)1 DataIntegrityException (de.geeksfactory.opacclient.storage.DataIntegrityException)1 JsonSearchFieldDataSource (de.geeksfactory.opacclient.storage.JsonSearchFieldDataSource)1 PreferenceDataSource (de.geeksfactory.opacclient.storage.PreferenceDataSource)1 SearchFieldDataSource (de.geeksfactory.opacclient.storage.SearchFieldDataSource)1 LibraryConfigUpdateService (de.geeksfactory.opacclient.webservice.LibraryConfigUpdateService)1