Index: chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java b/chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java |
index 278005106028ea09114826105fe8fe00390a5840..db2b073003c260c9ab5302d49b1eb956cdb33b70 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java |
@@ -8,11 +8,8 @@ import android.Manifest; |
import android.content.Context; |
import android.content.Intent; |
import android.content.pm.PackageManager; |
-import android.graphics.Color; |
import android.text.SpannableString; |
-import android.text.TextPaint; |
import android.text.TextUtils; |
-import android.text.style.ClickableSpan; |
import android.view.View; |
import org.chromium.base.annotations.CalledByNative; |
@@ -20,6 +17,7 @@ import org.chromium.chrome.R; |
import org.chromium.chrome.browser.omnibox.OmniboxUrlEmphasizer; |
import org.chromium.chrome.browser.profiles.Profile; |
import org.chromium.ui.base.WindowAndroid; |
+import org.chromium.ui.text.NoUnderlineClickableSpan; |
import org.chromium.ui.text.SpanApplier; |
import org.chromium.ui.text.SpanApplier.SpanInfo; |
@@ -105,33 +103,33 @@ public class BluetoothChooserDialog |
TextUtils.copySpansFrom(origin, 0, origin.length(), Object.class, title, start); |
String message = mContext.getString(R.string.bluetooth_not_found); |
- SpannableString noneFound = SpanApplier.applySpans( |
- message, new SpanInfo("<link>", "</link>", |
- new NoUnderlineClickableSpan(LinkType.RESTART_SEARCH, mContext))); |
+ SpannableString noneFound = SpanApplier.applySpans(message, |
+ new SpanInfo("<link>", "</link>", new BluetoothNoUnderlineClickableSpan( |
+ LinkType.RESTART_SEARCH, mContext))); |
SpannableString searching = SpanApplier.applySpans( |
mContext.getString(R.string.bluetooth_searching), |
- new SpanInfo("<link>", "</link>", |
- new NoUnderlineClickableSpan(LinkType.EXPLAIN_BLUETOOTH, mContext))); |
+ new SpanInfo("<link>", "</link>", new BluetoothNoUnderlineClickableSpan( |
+ LinkType.EXPLAIN_BLUETOOTH, mContext))); |
String positiveButton = mContext.getString(R.string.bluetooth_confirm_button); |
SpannableString statusActive = SpanApplier.applySpans( |
mContext.getString(R.string.bluetooth_not_seeing_it), |
- new SpanInfo("<link>", "</link>", |
- new NoUnderlineClickableSpan(LinkType.EXPLAIN_BLUETOOTH, mContext))); |
+ new SpanInfo("<link>", "</link>", new BluetoothNoUnderlineClickableSpan( |
+ LinkType.EXPLAIN_BLUETOOTH, mContext))); |
SpannableString statusIdleNoneFound = SpanApplier.applySpans( |
mContext.getString(R.string.bluetooth_not_seeing_it_idle_none_found), |
- new SpanInfo("<link>", "</link>", |
- new NoUnderlineClickableSpan(LinkType.EXPLAIN_BLUETOOTH, mContext))); |
+ new SpanInfo("<link>", "</link>", new BluetoothNoUnderlineClickableSpan( |
+ LinkType.EXPLAIN_BLUETOOTH, mContext))); |
SpannableString statusIdleSomeFound = SpanApplier.applySpans( |
mContext.getString(R.string.bluetooth_not_seeing_it_idle_some_found), |
- new SpanInfo("<link1>", "</link1>", |
- new NoUnderlineClickableSpan(LinkType.EXPLAIN_BLUETOOTH, mContext)), |
+ new SpanInfo("<link1>", "</link1>", new BluetoothNoUnderlineClickableSpan( |
+ LinkType.EXPLAIN_BLUETOOTH, mContext)), |
new SpanInfo("<link2>", "</link2>", |
- new NoUnderlineClickableSpan(LinkType.RESTART_SEARCH, mContext))); |
+ new BluetoothNoUnderlineClickableSpan(LinkType.RESTART_SEARCH, mContext))); |
ItemChooserDialog.ItemChooserLabels labels = |
new ItemChooserDialog.ItemChooserLabels(title, searching, noneFound, statusActive, |
@@ -185,28 +183,25 @@ public class BluetoothChooserDialog |
SpannableString needLocationMessage = SpanApplier.applySpans( |
mContext.getString(R.string.bluetooth_need_location_permission), |
new SpanInfo("<link>", "</link>", |
- new NoUnderlineClickableSpan( |
+ new BluetoothNoUnderlineClickableSpan( |
LinkType.REQUEST_LOCATION_PERMISSION, mContext))); |
SpannableString needLocationStatus = SpanApplier.applySpans( |
mContext.getString(R.string.bluetooth_need_location_permission_help), |
new SpanInfo("<link>", "</link>", |
- new NoUnderlineClickableSpan( |
+ new BluetoothNoUnderlineClickableSpan( |
LinkType.NEED_LOCATION_PERMISSION_HELP, mContext))); |
mItemChooserDialog.setErrorState(needLocationMessage, needLocationStatus); |
} |
- /** |
- * A helper class to show a clickable link with underlines turned off. |
- */ |
- private class NoUnderlineClickableSpan extends ClickableSpan { |
+ private class BluetoothNoUnderlineClickableSpan extends NoUnderlineClickableSpan { |
// The type of link this span represents. |
private LinkType mLinkType; |
private Context mContext; |
- NoUnderlineClickableSpan(LinkType linkType, Context context) { |
+ BluetoothNoUnderlineClickableSpan(LinkType linkType, Context context) { |
mLinkType = linkType; |
mContext = context; |
} |
@@ -258,15 +253,7 @@ public class BluetoothChooserDialog |
assert false; |
} |
- // Get rid of the highlight background on selection. |
- view.invalidate(); |
- } |
- |
- @Override |
- public void updateDrawState(TextPaint textPaint) { |
- super.updateDrawState(textPaint); |
- textPaint.bgColor = Color.TRANSPARENT; |
- textPaint.setUnderlineText(false); |
+ super.onClick(view); |
} |
} |
@@ -311,11 +298,11 @@ public class BluetoothChooserDialog |
SpannableString adapterOffMessage = SpanApplier.applySpans( |
mContext.getString(R.string.bluetooth_adapter_off), |
new SpanInfo("<link>", "</link>", |
- new NoUnderlineClickableSpan(LinkType.ADAPTER_OFF, mContext))); |
+ new BluetoothNoUnderlineClickableSpan(LinkType.ADAPTER_OFF, mContext))); |
SpannableString adapterOffStatus = SpanApplier.applySpans( |
mContext.getString(R.string.bluetooth_adapter_off_help), |
- new SpanInfo("<link>", "</link>", |
- new NoUnderlineClickableSpan(LinkType.ADAPTER_OFF_HELP, mContext))); |
+ new SpanInfo("<link>", "</link>", new BluetoothNoUnderlineClickableSpan( |
+ LinkType.ADAPTER_OFF_HELP, mContext))); |
mItemChooserDialog.setErrorState(adapterOffMessage, adapterOffStatus); |
} |