Skip to content

Commit

Permalink
Update Switch and Preference after remote notification parameter change
Browse files Browse the repository at this point in the history
Signed-off-by: Arka Prava Basu <arkaprava94@gmail.com>
  • Loading branch information
archie94 committed Feb 14, 2019
1 parent a3c36eb commit 5e81143
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions src/main/java/org/havenapp/main/SettingsFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ private boolean canSendRemoteNotification() {
String remotePhoneNumber = preferences.getRemotePhoneNumber();
String signalUsername = preferences.getSignalUsername();
return !remotePhoneNumber.isEmpty() && !getCountryCode().equalsIgnoreCase(remotePhoneNumber) &&
!TextUtils.isEmpty(signalUsername);
!TextUtils.isEmpty(signalUsername) && !getCountryCode().equalsIgnoreCase(signalUsername);
}

/**
Expand All @@ -245,6 +245,16 @@ private void collectDataForRemoteNotification() {
}
}

private void onRemoteNotificationParameterChange() {
SwitchPreference switchPreference =
(SwitchPreference) findPreference(PreferenceManager.REMOTE_NOTIFICATION_ACTIVE);

boolean remoteNotificationActive = canSendRemoteNotification();
preferences.setRemoteNotificationActive(remoteNotificationActive);

switchPreference.setChecked(remoteNotificationActive);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
Expand Down Expand Up @@ -391,17 +401,17 @@ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Strin
preferences.setSignalUsername("");
findPreference(PreferenceManager.REGISTER_SIGNAL).setSummary(R.string.register_signal_desc);
}
onRemoteNotificationParameterChange();
break;
case PreferenceManager.VERIFY_SIGNAL: {
String text = ((EditTextPreference) findPreference(PreferenceManager.VERIFY_SIGNAL)).getText();
activateSignal(preferences.getSignalUsername(), text);
onRemoteNotificationParameterChange();
break;
}
case PreferenceManager.REMOTE_NOTIFICATION_ACTIVE:
// todo not - needed: Test this out.
break;
case PreferenceManager.REMOTE_PHONE_NUMBER:
setPhoneNumber();
onRemoteNotificationParameterChange();
break;
case PreferenceManager.NOTIFICATION_TIME:
try
Expand Down

0 comments on commit 5e81143

Please sign in to comment.