Some refactoring

This commit is contained in:
Sergey Eremin
2017-07-01 04:07:18 +03:00
parent c4740a36d3
commit ecb680a00a
5 changed files with 40 additions and 33 deletions

View File

@@ -29,12 +29,9 @@ public class NetworkState {
continue;
}
component = component.replace(".", "");
try {
boolean isZero = Integer.parseInt(component) == 0;
if (!isZero) {
return true;
}
} catch (NumberFormatException e) {
boolean isZero = Util.parseInt(component, 0) == 0;
if (!isZero) {
return true;
}
}
}

View File

@@ -58,11 +58,13 @@ public class PreferenceActivity extends android.preference.PreferenceActivity {
}
static public int getUpdateInterval(Context context) {
try {
return Integer.parseInt(PreferenceManager.getDefaultSharedPreferences(context).getString(PreferenceActivity.PREFERENCE_BACKGROUND_UPDATE_INTERVAL, "-1"));
} catch (NumberFormatException e) {
return -1;
}
return Util.parseInt(
PreferenceManager.getDefaultSharedPreferences(context).getString(
PreferenceActivity.PREFERENCE_BACKGROUND_UPDATE_INTERVAL,
"-1"
),
-1
);
}
static public boolean canInstallInBackground(Context context) {

View File

@@ -40,10 +40,7 @@ public class UserProvidedAccountDialogBuilder extends CredentialsDialogBuilder {
ad.setTitle(context.getString(R.string.credentials_title));
ad.setCancelable(false);
final AutoCompleteTextView editEmail = (AutoCompleteTextView) ad.findViewById(R.id.email);
editEmail.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_dropdown_item_1line, getUsedEmails()));
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
editEmail.setText(prefs.getString(PreferenceActivity.PREFERENCE_EMAIL, this.previousEmail));
final AutoCompleteTextView editEmail = getEmailInput(ad);
final EditText editPassword = (EditText) ad.findViewById(R.id.password);
Button buttonExit = (Button) ad.findViewById(R.id.button_exit);
@@ -59,19 +56,14 @@ public class UserProvidedAccountDialogBuilder extends CredentialsDialogBuilder {
@Override
public void onClick(View view) {
Context c = view.getContext();
final String email = editEmail.getText().toString();
final String password = editPassword.getText().toString();
String email = editEmail.getText().toString();
String password = editPassword.getText().toString();
if (TextUtils.isEmpty(email) || TextUtils.isEmpty(password)) {
toast(c, R.string.error_credentials_empty);
return;
}
ad.dismiss();
UserProvidedCredentialsTask task = new UserProvidedCredentialsTask();
task.setTaskClone(taskClone);
task.setContext(context);
task.prepareDialog(R.string.dialog_message_logging_in_provided_by_user, R.string.dialog_title_logging_in);
task.execute(email, password);
getUserCredentialsTask().execute(email, password);
}
});
@@ -79,6 +71,21 @@ public class UserProvidedAccountDialogBuilder extends CredentialsDialogBuilder {
return ad;
}
private UserProvidedCredentialsTask getUserCredentialsTask() {
UserProvidedCredentialsTask task = new UserProvidedCredentialsTask();
task.setTaskClone(taskClone);
task.setContext(context);
task.prepareDialog(R.string.dialog_message_logging_in_provided_by_user, R.string.dialog_title_logging_in);
return task;
}
private AutoCompleteTextView getEmailInput(Dialog ad) {
AutoCompleteTextView editEmail = (AutoCompleteTextView) ad.findViewById(R.id.email);
editEmail.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_dropdown_item_1line, getUsedEmails()));
editEmail.setText(PreferenceManager.getDefaultSharedPreferences(context).getString(PreferenceActivity.PREFERENCE_EMAIL, this.previousEmail));
return editEmail;
}
private void addUsedEmail(String email) {
Set<String> emailsSet = Util.getStringSet(context, USED_EMAILS_SET);
emailsSet.add(email);

View File

@@ -86,4 +86,12 @@ public class Util {
return !activity.isFinishing();
}
}
static public int parseInt(String intAsString, int defaultValue) {
try {
return Integer.parseInt(intAsString);
} catch (NumberFormatException e) {
return defaultValue;
}
}
}

View File

@@ -11,6 +11,7 @@ import com.github.yeriomin.yalpstore.CheckSuTask;
import com.github.yeriomin.yalpstore.PreferenceActivity;
import com.github.yeriomin.yalpstore.R;
import com.github.yeriomin.yalpstore.UpdateChecker;
import com.github.yeriomin.yalpstore.Util;
public class CheckUpdates extends Abstract {
@@ -40,7 +41,7 @@ public class CheckUpdates extends Abstract {
checkForUpdates.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
int interval = parseInt((String) newValue);
int interval = Util.parseInt((String) newValue, 0);
UpdateChecker.enable(activity, interval);
preference.setSummary(activity.getString(getUpdateSummaryStringId((String) newValue)));
alsoDownload.setEnabled(interval > 0);
@@ -57,7 +58,7 @@ public class CheckUpdates extends Abstract {
final int hour = 1000 * 60 * 60;
final int day = hour * 24;
final int week = day * 7;
int interval = parseInt(intervalString);
int interval = Util.parseInt(intervalString, 0);
switch (interval) {
case hour:
summaryId = R.string.pref_background_update_interval_hourly;
@@ -79,14 +80,6 @@ public class CheckUpdates extends Abstract {
return summaryId;
}
private int parseInt(String string) {
try {
return Integer.parseInt(string);
} catch (NumberFormatException e) {
return 0;
}
}
private class AlsoInstallOnPreferenceChangeListener implements Preference.OnPreferenceChangeListener {
@Override