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;
import android.app.Activity;
import android.app.admin.DevicePolicyManager;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.hardware.fingerprint.FingerprintManager;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
import android.os.UserHandle;
import android.text.Annotation;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
import android.text.style.URLSpan;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockGeneric;

View File

@@ -18,6 +18,9 @@ package com.android.settings.widget;
import android.content.Context;
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.view.MotionEvent;
import android.widget.TextView;
@@ -39,6 +42,18 @@ public class LinkTextView extends TextView {
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
protected boolean dispatchHoverEvent(@NonNull MotionEvent event) {
if (mAccessibilityHelper.dispatchHoverEvent(event)) {