diff --git a/README.md b/README.md index ed61ef814159be7d78319694f02cc150c8bee28c..db0bde2f3bb094335227029cc79b8378c5a6edc5 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ allprojects { } } ``` -2.在entry模块的build.gradle文件中 +2、在entry模块的build.gradle文件中 ```gradle dependencies { implementation('com.gitee.chinasoft_ohos:Better-Link-Movement-Method:0.0.1-SNAPSHOT') diff --git a/better_link_movement_method/src/main/config.json b/better_link_movement_method/src/main/config.json index 36cb1409172c8ee5c72e6834b54455874fb629d6..0498d2a74aa7af7e4f7a62b3941844f82b716d79 100644 --- a/better_link_movement_method/src/main/config.json +++ b/better_link_movement_method/src/main/config.json @@ -5,11 +5,6 @@ "version": { "code": 1000000, "name": "1.0.0" - }, - "apiVersion": { - "compatible": 5, - "target": 5, - "releaseType": "Release" } }, "deviceConfig": { diff --git a/better_link_movement_method/src/main/java/me/saket/bettermovementmethod/BetterLinkMovementMethod.java b/better_link_movement_method/src/main/java/me/saket/bettermovementmethod/BetterLinkMovementMethod.java index 348653f06f58f0f42983e8c007c68e49fac29673..7d8f8ba70424a6a1f57341e01cf33249392987af 100644 --- a/better_link_movement_method/src/main/java/me/saket/bettermovementmethod/BetterLinkMovementMethod.java +++ b/better_link_movement_method/src/main/java/me/saket/bettermovementmethod/BetterLinkMovementMethod.java @@ -4,10 +4,7 @@ import ohos.aafwk.ability.AbilitySlice; import ohos.agp.components.Component; import ohos.agp.components.ComponentContainer; import ohos.agp.components.Text; -import ohos.agp.text.Layout; import ohos.agp.utils.RectFloat; -import ohos.agp.window.service.Window; -import ohos.multimodalinput.event.TouchEvent; /** * Handles URL clicks on TextViews. Unlike the default implementation, this: @@ -28,15 +25,19 @@ public class BetterLinkMovementMethod{ private OnLinkLongClickListener onLinkLongClickListener; private final RectFloat touchedLineBounds = new RectFloat(); private boolean isUrlHighlighted; -// private ClickableSpan clickableSpanUnderTouchOnActionDown; private int activeTextViewHashcode; private LongPressTimer ongoingLongPressTimer; private boolean wasLongPressRegistered; + /** + * OnLinkClickListener + */ public interface OnLinkClickListener { /** + * onClick + * * @param textView The TextView on which a click was registered. - * @param url The clicked URL. + * @param url The clicked URL. * @return True if this click was handled. False to let handle the URL. */ boolean onClick(Text textView, String url); @@ -44,6 +45,8 @@ public class BetterLinkMovementMethod{ public interface OnLinkLongClickListener { /** + * onLongClick + * * @param textView The TextView on which a long-click was registered. * @param url The long-clicked URL. * @return True if this long-click was handled. False to let handle the URL (as a short-click). @@ -53,11 +56,20 @@ public class BetterLinkMovementMethod{ /** * Return a new instance of BetterLinkMovementMethod. + * + * @return BetterLinkMovementMethod */ public static BetterLinkMovementMethod newInstance() { return new BetterLinkMovementMethod(); } + /** + * linkify + * + * @param linkifyMask linkifyMask + * @param textViews Text + * @return BetterLinkMovementMethod + */ public static BetterLinkMovementMethod linkify(int linkifyMask, Text... textViews) { BetterLinkMovementMethod movementMethod = newInstance(); for (Text textView : textViews) { @@ -75,6 +87,13 @@ public class BetterLinkMovementMethod{ return linkify(LINKIFY_NONE, textViews); } + /** + * linkify + * + * @param linkifyMask linkifyMask + * @param viewGroup ComponentContainer + * @return BetterLinkMovementMethod + */ public static BetterLinkMovementMethod linkify(int linkifyMask, ComponentContainer viewGroup) { BetterLinkMovementMethod movementMethod = newInstance(); rAddLinks(linkifyMask, viewGroup, movementMethod); @@ -84,6 +103,7 @@ public class BetterLinkMovementMethod{ /** * Like {@link #linkify(int, Text...)}, but can be used for TextViews with HTML links. * + * @param viewGroup viewGroup * @return The registered {@link BetterLinkMovementMethod} on the TextViews. */ @SuppressWarnings("unused") @@ -91,8 +111,14 @@ public class BetterLinkMovementMethod{ return linkify(LINKIFY_NONE, viewGroup); } + /** + * linkify + * + * @param linkifyMask linkifyMask + * @param activity AbilitySlice + * @return BetterLinkMovementMethod + */ public static BetterLinkMovementMethod linkify(int linkifyMask, AbilitySlice activity) { - BetterLinkMovementMethod movementMethod = newInstance(); return movementMethod; } @@ -119,24 +145,28 @@ public class BetterLinkMovementMethod{ return singleInstance; } + /** + * BetterLinkMovementMethod + */ protected BetterLinkMovementMethod() { } /** * Set a listener that will get called whenever any link is clicked on the TextView. + * + * @param clickListener OnLinkClickListener + * @return BetterLinkMovementMethod */ public BetterLinkMovementMethod setOnLinkClickListener(OnLinkClickListener clickListener) { - /*if (this == singleInstance) { - throw new UnsupportedOperationException("Setting a click listener on the instance returned by getInstance() is not supported to avoid memory " + - "leaks. Please use newInstance() or any of the linkify() methods instead."); - }*/ - this.onLinkClickListener = clickListener; return this; } /** * Set a listener that will get called whenever any link is clicked on the TextView. + * + * @param longClickListener longClickListener + * @return BetterLinkMovementMethod */ public BetterLinkMovementMethod setOnLinkLongClickListener(OnLinkLongClickListener longClickListener) { if (this == singleInstance) { @@ -148,8 +178,6 @@ public class BetterLinkMovementMethod{ return this; } -// ======== PUBLIC APIs END ======== // - private static void rAddLinks(int linkifyMask, ComponentContainer viewGroup, BetterLinkMovementMethod movementMethod) { for (int i = 0; i < viewGroup.getChildCount(); i++) { Component child = viewGroup.getComponentAt(i); @@ -163,20 +191,29 @@ public class BetterLinkMovementMethod{ } } - - protected static final class LongPressTimer implements Runnable { private OnTimerReachedListener onTimerReachedListener; protected interface OnTimerReachedListener { + /** + * onTimerReached + */ void onTimerReached(); } + /** + * run + */ @Override public void run() { onTimerReachedListener.onTimerReached(); } + /** + * setOnTimerReachedListener + * + * @param listener onTimerReachedListener + */ public void setOnTimerReachedListener(OnTimerReachedListener listener) { onTimerReachedListener = listener; } diff --git a/entry/src/main/config.json b/entry/src/main/config.json index 8de509bf5dd3787be630cca4676030c05c09b8a9..6a7858d0bfffb0af0f51575daa408534311350bb 100644 --- a/entry/src/main/config.json +++ b/entry/src/main/config.json @@ -5,11 +5,6 @@ "version": { "code": 1000000, "name": "1.0.0" - }, - "apiVersion": { - "compatible": 5, - "target": 5, - "releaseType": "Release" } }, "deviceConfig": {},