Check for text type before setting text span.

The text from the empty text view can be any CharSequence. Need to check
the actual type before trying to cast it to Spannable and setting the
text span.

Change-Id: Ib3ead0a0fe0b797e026c0c259591025fc9c94709
Fix: 34075068
Test: make RunSettingsRoboTests
This commit is contained in:
Doris Ling
2017-01-04 13:51:38 -08:00
parent 7dbad8ceb5
commit d3a32ed21b
2 changed files with 48 additions and 4 deletions

View File

@@ -428,10 +428,7 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem
});
}
getPreferenceScreen().removeAll();
Spannable boldSpan = (Spannable) emptyView.getText();
boldSpan.setSpan(
new TextAppearanceSpan(getActivity(), android.R.style.TextAppearance_Medium), 0,
briefText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
setTextSpan(emptyView.getText(), briefText);
}
@Override
@@ -461,6 +458,16 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem
updateContent(mLocalAdapter.getBluetoothState());
}
@VisibleForTesting
void setTextSpan(CharSequence text, CharSequence briefText) {
if (text instanceof Spannable) {
Spannable boldSpan = (Spannable) text;
boldSpan.setSpan(
new TextAppearanceSpan(getActivity(), android.R.style.TextAppearance_Medium), 0,
briefText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
private final View.OnClickListener mDeviceProfilesListener = new View.OnClickListener() {
@Override
public void onClick(View v) {