rename setServerUrl to validateServerUrl and add port validation
Этот коммит содержится в:
@@ -84,7 +84,7 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen
|
|||||||
findPreference(KEY_URL).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
findPreference(KEY_URL).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
return (newValue != null) && setServerURL(newValue.toString());
|
return (newValue != null) && validateServerURL(newValue.toString());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -289,7 +289,7 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean setServerURL(String userUrl) {
|
private boolean validateServerURL(String userUrl) {
|
||||||
EditTextPreference preference = (EditTextPreference) findPreference(KEY_URL);
|
EditTextPreference preference = (EditTextPreference) findPreference(KEY_URL);
|
||||||
|
|
||||||
if (userUrl == null || userUrl.trim().length() == 0) {
|
if (userUrl == null || userUrl.trim().length() == 0) {
|
||||||
@@ -298,7 +298,9 @@ public class MainActivity extends PreferenceActivity implements OnSharedPreferen
|
|||||||
findPreference(KEY_STATUS).setEnabled(true);
|
findPreference(KEY_STATUS).setEnabled(true);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (URLUtil.isValidUrl(userUrl) && (URLUtil.isHttpUrl(userUrl) || URLUtil.isHttpsUrl(userUrl))) {
|
int port = Uri.parse(userUrl).getPort();
|
||||||
|
if (URLUtil.isValidUrl(userUrl) && (port >= -1 && port <= 65535)
|
||||||
|
&& (URLUtil.isHttpUrl(userUrl) || URLUtil.isHttpsUrl(userUrl))) {
|
||||||
preference.setSummary(R.string.settings_url_summary);
|
preference.setSummary(R.string.settings_url_summary);
|
||||||
findPreference(KEY_STATUS).setEnabled(true);
|
findPreference(KEY_STATUS).setEnabled(true);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public class ProtocolFormatter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int port = serverUrl.getPort();
|
int port = serverUrl.getPort();
|
||||||
if (port < 0 || port > 65535) {
|
if (port == -1) {
|
||||||
builder.encodedAuthority(serverUrl.getHost() + ":" + 5055);
|
builder.encodedAuthority(serverUrl.getHost() + ":" + 5055);
|
||||||
}
|
}
|
||||||
return builder.build().toString();
|
return builder.build().toString();
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user