* Fixed issue #2291

* resolved codacy issue

* settings

* removed unwanted commemts
This commit is contained in:
Vanshika Arora 2019-02-13 21:08:24 +05:30 committed by Vivek Maskara
parent 73bb0c52c9
commit 635047ded2
2 changed files with 52 additions and 26 deletions

View file

@ -2,12 +2,15 @@ package fr.free.nrw.commons.settings;
import android.Manifest;
import android.app.AlertDialog;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.SwitchPreference;
import android.text.Editable;
import android.text.TextWatcher;
import com.karumi.dexter.Dexter;
import com.karumi.dexter.listener.PermissionGrantedResponse;
@ -24,12 +27,15 @@ import fr.free.nrw.commons.logging.CommonsLogSender;
import fr.free.nrw.commons.utils.PermissionUtils;
import fr.free.nrw.commons.utils.ViewUtil;
import static android.R.*;
public class SettingsFragment extends PreferenceFragment {
@Inject
@Named("default_preferences")
BasicKvStore defaultKvStore;
@Inject CommonsLogSender commonsLogSender;
@Inject
CommonsLogSender commonsLogSender;
@Override
public void onCreate(Bundle savedInstanceState) {
@ -61,32 +67,48 @@ public class SettingsFragment extends PreferenceFragment {
int uploads = defaultKvStore.getInt(Prefs.UPLOADS_SHOWING, 100);
uploadLimit.setText(uploads + "");
uploadLimit.setSummary(uploads + "");
uploadLimit.setOnPreferenceChangeListener((preference, newValue) -> {
int value;
try {
value = Integer.parseInt(newValue.toString());
} catch(Exception e) {
value = 100; //Default number
}
if (value > 500) {
new AlertDialog.Builder(getActivity())
.setTitle(R.string.maximum_limit)
.setMessage(R.string.maximum_limit_alert)
.setPositiveButton(android.R.string.yes, (dialog, which) -> {})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
defaultKvStore.putInt(Prefs.UPLOADS_SHOWING, 500);
defaultKvStore.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED, true);
uploadLimit.setSummary(500 + "");
uploadLimit.setText(500 + "");
} else {
defaultKvStore.putInt(Prefs.UPLOADS_SHOWING, value);
defaultKvStore.putBoolean(Prefs.IS_CONTRIBUTION_COUNT_CHANGED, true);
uploadLimit.setSummary(String.valueOf(value));
}
return true;
});
uploadLimit.getEditText().addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@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 + "");
}
}
});
Preference betaTesterPreference = findPreference("becomeBetaTester");
betaTesterPreference.setOnPreferenceClickListener(preference -> {
Utils.handleWebUrl(getActivity(), Uri.parse(getResources().getString(R.string.beta_opt_in_link)));

View file

@ -193,7 +193,11 @@
<string name="_2fa_code">2FA Code</string>
<string name="number_of_uploads">My Recent Upload Limit</string>
<string name="maximum_limit">Maximum Limit</string>
<string name="invalid_zero">Zero is not valid</string>
<string name="invalid_input">Invalid Input</string>
<string name="maximum_limit_alert">Unable to display more than 500</string>
<string name="enter_valid">Enter a valid number</string>
<string name="cannot_be_zero">Upload limit cannot be 0</string>
<string name="set_limit">Set Recent Upload Limit</string>
<string name="login_failed_2fa_not_supported">Two factor authentication is currently not supported.</string>
<string name="logout_verification">Do you really want to logout?</string>