Merge "Clarify problems with Linkify.MAP_ADDRESSES." into qt-dev

This commit is contained in:
TreeHugger Robot
2019-06-06 17:40:51 +00:00
committed by Android (Google) Code Review
4 changed files with 31 additions and 9 deletions

View File

@@ -67,6 +67,14 @@ import java.util.regex.Pattern;
* create <code>http://example.com</code> when the clickable URL link is * create <code>http://example.com</code> when the clickable URL link is
* created. * created.
* *
* <p class="note"><b>Note:</b> When using {@link #MAP_ADDRESSES} or {@link #ALL}
* to match street addresses on API level {@link android.os.Build.VERSION_CODES#O_MR1}
* and earlier, methods in this class may throw
* {@link android.util.AndroidRuntimeException} or other exceptions if the
* device's WebView implementation is currently being updated, because
* {@link android.webkit.WebView#findAddress} is required to match street
* addresses.
*
* @see MatchFilter * @see MatchFilter
* @see TransformFilter * @see TransformFilter
*/ */
@@ -95,10 +103,11 @@ public class Linkify {
/** /**
* Bit field indicating that street addresses should be matched in methods that * Bit field indicating that street addresses should be matched in methods that
* take an options mask. Note that this uses the * take an options mask. Note that this should be avoided, as it uses the
* {@link android.webkit.WebView#findAddress(String) findAddress()} method in * {@link android.webkit.WebView#findAddress(String)} method, which has various
* {@link android.webkit.WebView} for finding addresses, which has various * limitations and has been deprecated: see the documentation for
* limitations and has been deprecated. * {@link android.webkit.WebView#findAddress(String)} for more information.
*
* @deprecated use {@link android.view.textclassifier.TextClassifier#generateLinks( * @deprecated use {@link android.view.textclassifier.TextClassifier#generateLinks(
* TextLinks.Request)} instead and avoid it even when targeting API levels where no alternative * TextLinks.Request)} instead and avoid it even when targeting API levels where no alternative
* is available. * is available.

View File

@@ -1603,9 +1603,9 @@ public class WebView extends AbsoluteLayout
} }
/** /**
* Gets the first substring consisting of the address of a physical * Gets the first substring which appears to be the address of a physical
* location. Currently, only addresses in the United States are detected, * location. Only addresses in the United States can be detected, which
* and consist of: * must consist of:
* <ul> * <ul>
* <li>a house number</li> * <li>a house number</li>
* <li>a street name</li> * <li>a street name</li>
@@ -1621,9 +1621,17 @@ public class WebView extends AbsoluteLayout
* or abbreviated using USPS standards. The house number may not exceed * or abbreviated using USPS standards. The house number may not exceed
* five digits. * five digits.
* *
* <p class="note"><b>Note:</b> This function is deprecated and should be
* avoided on all API levels, as it cannot detect addresses outside of the
* United States and has a high rate of false positives. On API level
* {@link android.os.Build.VERSION_CODES#O_MR1} and earlier, it also causes
* the entire WebView implementation to be loaded and initialized, which
* can throw {@link android.util.AndroidRuntimeException} or other exceptions
* if the WebView implementation is currently being updated.
*
* @param addr the string to search for addresses * @param addr the string to search for addresses
* @return the address, or if no address is found, {@code null} * @return the address, or if no address is found, {@code null}
* @deprecated this method is superseded by {@link TextClassifier#generateLinks( * @deprecated This method is superseded by {@link TextClassifier#generateLinks(
* android.view.textclassifier.TextLinks.Request)}. Avoid using this method even when targeting * android.view.textclassifier.TextLinks.Request)}. Avoid using this method even when targeting
* API levels where no alternative is available. * API levels where no alternative is available.
*/ */

View File

@@ -4960,6 +4960,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
* android.text.util.Linkify#ALL Linkify.ALL} and peers for * android.text.util.Linkify#ALL Linkify.ALL} and peers for
* possible values. * possible values.
* *
* <p class="note"><b>Note:</b>
* {@link android.text.util.Linkify#MAP_ADDRESSES Linkify.MAP_ADDRESSES}
* is deprecated and should be avoided; see its documentation.
*
* @attr ref android.R.styleable#TextView_autoLink * @attr ref android.R.styleable#TextView_autoLink
*/ */
@android.view.RemotableViewMethod @android.view.RemotableViewMethod

View File

@@ -1560,7 +1560,8 @@
<flag name="email" value="0x02" /> <flag name="email" value="0x02" />
<!-- Match phone numbers. --> <!-- Match phone numbers. -->
<flag name="phone" value="0x04" /> <flag name="phone" value="0x04" />
<!-- Match map addresses. --> <!-- Match map addresses.
Deprecated: see {@link android.text.util.Linkify#MAP_ADDRESSES}. -->
<flag name="map" value="0x08" /> <flag name="map" value="0x08" />
<!-- Match all patterns (equivalent to web|email|phone|map). --> <!-- Match all patterns (equivalent to web|email|phone|map). -->
<flag name="all" value="0x0f" /> <flag name="all" value="0x0f" />