Fixes saving bookmark URL.
- Certain URL's have special character that
needs URL to be encoded before validation.
Change-Id: Ifc1bbcc77899eb8f6fc011e208c776ca24320a17
diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/browser/AddBookmarkPage.java
index 10d02e5..57acfcd 100644
--- a/src/com/android/browser/AddBookmarkPage.java
+++ b/src/com/android/browser/AddBookmarkPage.java
@@ -68,7 +68,9 @@
import com.android.browser.reflect.ReflectHelper;
import java.net.URI;
+import java.net.URLEncoder;
import java.net.URISyntaxException;
+import java.io.UnsupportedEncodingException;
public class AddBookmarkPage extends Activity
implements View.OnClickListener, TextView.OnEditorActionListener,
@@ -955,7 +957,8 @@
// fail URI parsing, so don't try it if that's the kind of bookmark we have.
if (!url.toLowerCase().startsWith("javascript:")) {
- URI uriObj = new URI(url);
+ String encodedUrl = URLEncoder.encode(url, "UTF-8");
+ URI uriObj = new URI(encodedUrl);
String scheme = uriObj.getScheme();
if (!Bookmarks.urlHasAcceptableScheme(url)) {
// If the scheme was non-null, let the user know that we
@@ -980,6 +983,9 @@
} catch (URISyntaxException e) {
mAddress.setError(r.getText(R.string.bookmark_url_not_valid));
return false;
+ } catch (UnsupportedEncodingException e) {
+ mAddress.setError(r.getText(R.string.bookmark_url_not_valid));
+ return false;
}
}