Fix #2203: Require number of uploads not to have decimal (#2615)

This commit is contained in:
Adam Jones 2019-03-17 16:54:55 +00:00 committed by GitHub
parent 0b25730a18
commit 3b7b6f91a2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 40 deletions

View file

@ -61,9 +61,9 @@ public class SettingsFragment extends PreferenceFragment {
});
final EditTextPreference uploadLimit = (EditTextPreference) findPreference("uploads");
int uploads = defaultKvStore.getInt(Prefs.UPLOADS_SHOWING, 100);
uploadLimit.setText(uploads + "");
uploadLimit.setSummary(uploads + "");
int currentUploadLimit = defaultKvStore.getInt(Prefs.UPLOADS_SHOWING, 100);
uploadLimit.setText(Integer.toString(currentUploadLimit));
uploadLimit.setSummary(Integer.toString(currentUploadLimit));
uploadLimit.getEditText().addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@ -76,36 +76,25 @@ public class SettingsFragment extends PreferenceFragment {
@Override
public void afterTextChanged(Editable s) {
int value;
if (s.length()>0)
try {
value = Integer.parseInt(s.toString());
if (value > 500) {
uploadLimit.getEditText().setError(getString((R.string.maximum_limit_alert)));
defaultKvStore.putInt(Prefs.UPLOADS_SHOWING, 500);
defaultKvStore.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED, true);
uploadLimit.setSummary(500 + "");
uploadLimit.setText(500 + "");
} else if (value == 0) {
uploadLimit.getEditText().setError(getString(R.string.cannot_be_zero));
defaultKvStore.putInt(Prefs.UPLOADS_SHOWING, 100);
defaultKvStore.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED, true);
uploadLimit.setSummary(100 + "");
uploadLimit.setText(100 + "");
} else {
defaultKvStore.putInt(Prefs.UPLOADS_SHOWING, value);
defaultKvStore.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED, true);
uploadLimit.setSummary(String.valueOf(value));
}
} catch (Exception e) {
uploadLimit.getEditText().setError(getString(R.string.enter_valid));
defaultKvStore.putInt(Prefs.UPLOADS_SHOWING, 100);
defaultKvStore.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED, true);
uploadLimit.setSummary(100 + "");
uploadLimit.setText(100 + "");
if (s.length() == 0) return;
int value = Integer.parseInt(s.toString());
if (value > 500) {
uploadLimit.getEditText().setError(getString(R.string.maximum_limit_alert));
value = 500;
} else if (value == 0) {
uploadLimit.getEditText().setError(getString(R.string.cannot_be_zero));
value = 100;
}
defaultKvStore.putInt(Prefs.UPLOADS_SHOWING, value);
defaultKvStore.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED, true);
uploadLimit.setText(Integer.toString(value));
uploadLimit.setSummary(Integer.toString(value));
}
});
Preference betaTesterPreference = findPreference("becomeBetaTester");
betaTesterPreference.setOnPreferenceClickListener(preference -> {
Utils.handleWebUrl(getActivity(), Uri.parse(getResources().getString(R.string.beta_opt_in_link)));