/*
 * Copyright (c) 2015 Ushahidi Inc
 *
 * This program is free software: you can redistribute it and/or modify it under
 *  the terms of the GNU Affero General Public License as published by the Free
 *  Software Foundation, either version 3 of the License, or (at your option)
 *  any later version.
 *
 *  This program is distributed in the hope that it will be useful, but WITHOUT
 *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 *  FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
 *
 *  You should have received a copy of the GNU Affero General Public License
 *  along with this program in the file LICENSE-AGPL. If not, see
 *  https://www.gnu.org/licenses/agpl-3.0.html
 */

package com.ushahidi.android.presentation.validator;

import android.text.TextUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Validates a given URL
 *
 * @author Ushahidi Team <team@ushahidi.com>
 */
public class UrlValidator implements Validator {

    private static final String URL_PATTERN
            = "\\b(https?|ftp|file)://[-a-zA-Z0-9+\\$&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]";

    @Override
    public boolean isValid(CharSequence text) {
        return valid(text.toString());
    }

    private boolean valid(String url) {
        if (TextUtils.isEmpty(url)) {
            return false;
        }
        final Pattern pattern = Pattern.compile(URL_PATTERN);
        final Matcher matcher = pattern.matcher(url);
        if (matcher.matches()) {
            return true;
        }
        return false;
    }
}

@@ -833,16 +833,46 @@
 xtUtils;
+%0Aimport android.util.Patterns;
 %0A%0Aimport
@@ -1065,148 +1065,8 @@
  %7B%0A%0A
-    private static final String URL_PATTERN%0A            = %22%5C%5Cb(https?%7Cftp%7Cfile)://%5B-a-zA-Z0-9+%5C%5C$&@#/%25?=~_%7C!:,.;%5D*%5B-a-zA-Z0-9+&@#/%25=~_%7C%5D%22;%0A%0A
     
@@ -1326,29 +1326,17 @@
 tern
-.compile(URL_PATTERN)
+s.WEB_URL
 ;%0A  

Use os provided URL pattern