@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    taskDatabaseMap = TaskDatabaseMap.getInstance(this);

    addPreferencesFromResource(R.xml.preferences);

    initDurationPreference(ConfigType.TASK_DURATION);
    initDurationPreference(ConfigType.BREAK_DURATION);
    initDurationPreference(ConfigType.EVERY_FOURTH_BREAK_DURATION);

    ringTonePreference =
        (RingtonePreference) findPreference(ConfigType.NOTIFICATION_RINGTONE.name());
    ringTonePreference.setOnPreferenceChangeListener(
        new OnPreferenceChangeListener() {

          public boolean onPreferenceChange(Preference preference, Object newValue) {

            updateRingtonePreferenceSummary((String) newValue);
            taskDatabaseMap.getPreferences().updateRingtone((String) newValue);
            return false;
          }
        });

    String selectedRingtone = taskDatabaseMap.getPreferences().getRingtone();
    if (selectedRingtone != null) {
      updateRingtonePreferenceSummary(selectedRingtone);
    }
  }
  @Override
  public void onCreate() {
    notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    taskDatabaseMap = TaskDatabaseMap.getInstance(this);

    broadcastReceiver =
        new BroadcastReceiver() {

          @Override
          public void onReceive(Context context, Intent intent) {

            AlarmAlertWakeLock.acquire(context);
            notifyTimeEnded();
            AlarmAlertWakeLock.release();
          }
        };
    IntentFilter filter = new IntentFilter("com.kpz.pomodorotasks.alert.ALARM_ALERT");
    registerReceiver(broadcastReceiver, filter);
  }