Merge "Set LinkMovementMethod in LinkTextView" into nyc-dev

This commit is contained in:
Maurice Lam
2016-04-04 17:57:52 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 5 deletions

View File

@@ -16,25 +16,21 @@
package com.android.settings.fingerprint; package com.android.settings.fingerprint;
import android.app.Activity;
import android.app.admin.DevicePolicyManager; import android.app.admin.DevicePolicyManager;
import android.content.ActivityNotFoundException; import android.content.ActivityNotFoundException;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.hardware.fingerprint.FingerprintManager;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.graphics.drawable.Drawable; import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserHandle; import android.os.UserHandle;
import android.text.Annotation; import android.text.Annotation;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.SpannableStringBuilder; import android.text.SpannableStringBuilder;
import android.text.TextPaint; import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
import android.text.style.URLSpan; import android.text.style.URLSpan;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.AdapterView;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockGeneric; import com.android.settings.ChooseLockGeneric;

View File

@@ -18,6 +18,9 @@ package com.android.settings.widget;
import android.content.Context; import android.content.Context;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.widget.TextView; import android.widget.TextView;
@@ -39,6 +42,18 @@ public class LinkTextView extends TextView {
setAccessibilityDelegate(mAccessibilityHelper); setAccessibilityDelegate(mAccessibilityHelper);
} }
@Override
public void setText(CharSequence text, BufferType type) {
super.setText(text, type);
if (text instanceof Spanned) {
final ClickableSpan[] spans =
((Spanned) text).getSpans(0, text.length(), ClickableSpan.class);
if (spans.length > 0) {
setMovementMethod(LinkMovementMethod.getInstance());
}
}
}
@Override @Override
protected boolean dispatchHoverEvent(@NonNull MotionEvent event) { protected boolean dispatchHoverEvent(@NonNull MotionEvent event) {
if (mAccessibilityHelper.dispatchHoverEvent(event)) { if (mAccessibilityHelper.dispatchHoverEvent(event)) {