trying to fix device compatibility issue on fujitsu phone

This commit is contained in:
Mariotaku Lee 2017-02-03 22:12:43 +08:00
parent c21ac92795
commit c803e93be8
No known key found for this signature in database
GPG Key ID: 15C10F89D7C33535
92 changed files with 391 additions and 344 deletions

View File

@ -1,168 +0,0 @@
/*
* Twidere - Twitter client for Android
*
* Copyright (C) 2012-2015 Mariotaku Lee <mariotaku.lee@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.mariotaku.twidere.view;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.support.annotation.Nullable;
import android.support.v4.text.BidiFormatter;
import android.support.v7.widget.AppCompatTextView;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
import android.util.AttributeSet;
import android.util.TypedValue;
import org.mariotaku.twidere.R;
import org.mariotaku.twidere.text.util.SafeEditableFactory;
import org.mariotaku.twidere.text.util.SafeSpannableFactory;
/**
* Created by mariotaku on 15/5/28.
*/
public class NameView extends AppCompatTextView {
private boolean mNameFirst;
private boolean mTwoLine;
private String mName, mScreenName;
private ForegroundColorSpan mPrimaryTextColor, mSecondaryTextColor;
private StyleSpan mPrimaryTextStyle, mSecondaryTextStyle;
private AbsoluteSizeSpan mPrimaryTextSize, mSecondaryTextSize;
public NameView(final Context context) {
this(context, null);
}
public NameView(final Context context, final AttributeSet attrs) {
this(context, attrs, 0);
}
public NameView(final Context context, final AttributeSet attrs, final int defStyleAttr) {
super(context, attrs, defStyleAttr);
setSpannableFactory(new SafeSpannableFactory());
setEditableFactory(new SafeEditableFactory());
setEllipsize(TextUtils.TruncateAt.END);
final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.NameView, defStyleAttr, 0);
setPrimaryTextColor(a.getColor(R.styleable.NameView_nv_primaryTextColor, 0));
setSecondaryTextColor(a.getColor(R.styleable.NameView_nv_secondaryTextColor, 0));
setTwoLine(a.getBoolean(R.styleable.NameView_nv_twoLine, false));
mPrimaryTextStyle = new StyleSpan(a.getInt(R.styleable.NameView_nv_primaryTextStyle, 0));
mSecondaryTextStyle = new StyleSpan(a.getInt(R.styleable.NameView_nv_secondaryTextStyle, 0));
a.recycle();
setNameFirst(true);
if (isInEditMode()) {
setName("Name");
setScreenName("@screenname");
updateText();
}
}
public void setPrimaryTextColor(final int color) {
mPrimaryTextColor = new ForegroundColorSpan(color);
}
public void setSecondaryTextColor(final int color) {
mSecondaryTextColor = new ForegroundColorSpan(color);
}
public void setName(String name) {
mName = name;
}
public void setScreenName(String screenName) {
mScreenName = screenName;
}
public void setNameFirst(final boolean nameFirst) {
mNameFirst = nameFirst;
}
public void updateText() {
updateText(null);
}
public void updateText(@Nullable BidiFormatter formatter) {
final SpannableStringBuilder sb = new SpannableStringBuilder();
final String primaryText = mNameFirst ? mName : mScreenName;
final String secondaryText = mNameFirst ? mScreenName : mName;
if (primaryText != null) {
int start = sb.length();
if (formatter != null && !isInEditMode()) {
sb.append(formatter.unicodeWrap(primaryText));
} else {
sb.append(primaryText);
}
int end = sb.length();
sb.setSpan(mPrimaryTextColor, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.setSpan(mPrimaryTextStyle, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.setSpan(mPrimaryTextSize, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
sb.append(mTwoLine ? '\n' : ' ');
if (secondaryText != null) {
int start = sb.length();
if (formatter != null && !isInEditMode()) {
sb.append(formatter.unicodeWrap(secondaryText));
} else {
sb.append(secondaryText);
}
int end = sb.length();
sb.setSpan(mSecondaryTextColor, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.setSpan(mSecondaryTextStyle, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.setSpan(mSecondaryTextSize, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
setText(sb);
}
public void setPrimaryTextSize(final float textSize) {
mPrimaryTextSize = new AbsoluteSizeSpan((int) calculateTextSize(TypedValue.COMPLEX_UNIT_SP, textSize));
}
private float calculateTextSize(final int unit, final float size) {
Context c = getContext();
Resources r;
if (c == null)
r = Resources.getSystem();
else
r = c.getResources();
return TypedValue.applyDimension(unit, size, r.getDisplayMetrics());
}
public void setSecondaryTextSize(final float textSize) {
mSecondaryTextSize = new AbsoluteSizeSpan((int) calculateTextSize(TypedValue.COMPLEX_UNIT_SP, textSize));
}
public void setTwoLine(boolean twoLine) {
mTwoLine = twoLine;
if (twoLine) {
setSingleLine(false);
setMaxLines(2);
} else {
setSingleLine(true);
}
}
}

View File

@ -48,6 +48,7 @@ import android.view.*
import android.view.View.OnClickListener
import android.widget.AdapterView
import android.widget.AdapterView.OnItemSelectedListener
import android.widget.EditText
import android.widget.Toast
import com.squareup.otto.Subscribe
import kotlinx.android.synthetic.main.fragment_messages_conversation.*
@ -433,7 +434,7 @@ class MessagesConversationFragment : BaseFragment(), LoaderCallbacks<Cursor?>, O
val action = handler.getKeyAction(CONTEXT_TAG_NAVIGATION, keyCode, event, metaState)
if (ACTION_NAVIGATION_BACK == action) {
val showingConversation = isShowingConversation
val editText = if (showingConversation) editText else actionBarCustomView.editUserQuery
val editText: EditText = if (showingConversation) editText else actionBarCustomView.editUserQuery
val textChanged = if (showingConversation) textChanged else queryTextChanged
if (editText.length() == 0 && !textChanged) {
val activity = activity

View File

@ -96,6 +96,8 @@ import org.mariotaku.twidere.loader.ConversationLoader
import org.mariotaku.twidere.loader.ParcelableStatusLoader
import org.mariotaku.twidere.menu.FavoriteItemProvider
import org.mariotaku.twidere.model.*
import org.mariotaku.twidere.model.ParcelableStatusValuesCreator
import org.mariotaku.twidere.model.ParcelableActivityCursorIndices
import org.mariotaku.twidere.model.analyzer.Share
import org.mariotaku.twidere.model.analyzer.StatusView
import org.mariotaku.twidere.model.message.FavoriteTaskEvent
@ -832,9 +834,9 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
itemView.quotedName.visibility = View.VISIBLE
itemView.quotedText.visibility = View.VISIBLE
itemView.quotedName.setName(colorNameManager.getUserNickname(status.quoted_user_key!!,
status.quoted_user_name))
itemView.quotedName.setScreenName(String.format("@%s", status.quoted_user_screen_name))
itemView.quotedName.name = colorNameManager.getUserNickname(status.quoted_user_key!!,
status.quoted_user_name)
itemView.quotedName.screenName = "@${status.quoted_user_screen_name}"
itemView.quotedName.updateText(formatter)
@ -911,8 +913,8 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
timestamp = status.timestamp
}
itemView.name.setName(colorNameManager.getUserNickname(status.user_key, status.user_name))
itemView.name.setScreenName(String.format("@%s", status.user_screen_name))
itemView.name.name = colorNameManager.getUserNickname(status.user_key, status.user_name)
itemView.name.screenName = String.format("@%s", status.user_screen_name)
itemView.name.updateText(formatter)
loader.displayProfileImage(itemView.profileImage, status)
@ -1171,8 +1173,8 @@ class StatusFragment : BaseFragment(), LoaderCallbacks<SingleResponse<Parcelable
itemView.countsUsersHeightHolder.count.textSize = textSize * 1.25f
itemView.countsUsersHeightHolder.label.textSize = textSize * 0.85f
itemView.name.setNameFirst(adapter.nameFirst)
itemView.quotedName.setNameFirst(adapter.nameFirst)
itemView.name.nameFirst = adapter.nameFirst
itemView.quotedName.nameFirst = adapter.nameFirst
itemView.mediaPreview.setStyle(adapter.mediaPreviewStyle)
itemView.quotedMediaPreview.setStyle(adapter.mediaPreviewStyle)

View File

@ -32,7 +32,7 @@ import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.util.EmojiSupportUtils
import org.mariotaku.twidere.util.widget.StatusTextTokenizer
class ComposeEditText @JvmOverloads constructor(
class ComposeEditText(
context: Context,
attrs: AttributeSet? = null
) : ChameleonMultiAutoCompleteTextView(context, attrs) {
@ -63,7 +63,7 @@ class ComposeEditText @JvmOverloads constructor(
if (!isInEditMode && adapter == null) {
adapter = ComposeAutoCompleteAdapter(context)
}
setAdapter<ComposeAutoCompleteAdapter>(adapter)
setAdapter(adapter)
updateAccountKey()
}
@ -73,6 +73,15 @@ class ComposeEditText @JvmOverloads constructor(
adapter = null
}
override fun onTextContextMenuItem(id: Int): Boolean {
try {
return super.onTextContextMenuItem(id)
} catch (e: AbstractMethodError) {
// http://crashes.to/s/69acd0ea0de
return true
}
}
private fun updateAccountKey() {
adapter?.accountKey = accountKey
}

View File

@ -0,0 +1,21 @@
package org.mariotaku.twidere.view
import android.content.Context
import android.util.AttributeSet
import org.mariotaku.chameleon.view.ChameleonEditText
/**
* Created by mariotaku on 2017/2/3.
*/
class FixedEditText(context: Context, attrs: AttributeSet? = null) : ChameleonEditText(context, attrs) {
override fun onTextContextMenuItem(id: Int): Boolean {
try {
return super.onTextContextMenuItem(id)
} catch (e: AbstractMethodError) {
// http://crashes.to/s/69acd0ea0de
return true
}
}
}

View File

@ -0,0 +1,21 @@
package org.mariotaku.twidere.view
import android.content.Context
import android.util.AttributeSet
import org.mariotaku.chameleon.view.ChameleonTextView
/**
* Created by mariotaku on 2017/2/3.
*/
class FixedTextView(context: Context, attrs: AttributeSet? = null) : ChameleonTextView(context, attrs) {
override fun onTextContextMenuItem(id: Int): Boolean {
try {
return super.onTextContextMenuItem(id)
} catch (e: AbstractMethodError) {
// http://crashes.to/s/69acd0ea0de
return true
}
}
}

View File

@ -0,0 +1,148 @@
/*
* Twidere - Twitter client for Android
*
* Copyright (C) 2012-2015 Mariotaku Lee <mariotaku.lee@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.mariotaku.twidere.view
import android.content.Context
import android.content.res.Resources
import android.support.v4.text.BidiFormatter
import android.support.v7.widget.AppCompatTextView
import android.text.SpannableStringBuilder
import android.text.Spanned
import android.text.TextUtils
import android.text.style.AbsoluteSizeSpan
import android.text.style.ForegroundColorSpan
import android.text.style.StyleSpan
import android.util.AttributeSet
import android.util.TypedValue
import org.mariotaku.twidere.R
import org.mariotaku.twidere.text.util.SafeEditableFactory
import org.mariotaku.twidere.text.util.SafeSpannableFactory
/**
* Created by mariotaku on 15/5/28.
*/
class NameView(context: Context, attrs: AttributeSet? = null) : AppCompatTextView(context, attrs, 0) {
var nameFirst: Boolean = false
var twoLine: Boolean = false
get() {
return maxLines >= 2
}
set(value) {
field = value
if (value) {
maxLines = 2
} else {
maxLines = 1
}
}
var name: String? = null
var screenName: String? = null
private val primaryTextStyle: StyleSpan
private val secondaryTextStyle: StyleSpan
private var primaryTextColor: ForegroundColorSpan? = null
private var secondaryTextColor: ForegroundColorSpan? = null
private var primaryTextSize: AbsoluteSizeSpan? = null
private var secondaryTextSize: AbsoluteSizeSpan? = null
init {
setSpannableFactory(SafeSpannableFactory())
setEditableFactory(SafeEditableFactory())
ellipsize = TextUtils.TruncateAt.END
val a = context.obtainStyledAttributes(attrs, R.styleable.NameView, 0, 0)
setPrimaryTextColor(a.getColor(R.styleable.NameView_nv_primaryTextColor, 0))
setSecondaryTextColor(a.getColor(R.styleable.NameView_nv_secondaryTextColor, 0))
twoLine = a.getBoolean(R.styleable.NameView_nv_twoLine, false)
primaryTextStyle = StyleSpan(a.getInt(R.styleable.NameView_nv_primaryTextStyle, 0))
secondaryTextStyle = StyleSpan(a.getInt(R.styleable.NameView_nv_secondaryTextStyle, 0))
a.recycle()
nameFirst = true
if (isInEditMode) {
name = "Name"
screenName = "@screenname"
updateText()
}
}
override fun onTextContextMenuItem(id: Int): Boolean {
try {
return super.onTextContextMenuItem(id)
} catch (e: AbstractMethodError) {
// http://crashes.to/s/69acd0ea0de
return true
}
}
fun setPrimaryTextColor(color: Int) {
primaryTextColor = ForegroundColorSpan(color)
}
fun setSecondaryTextColor(color: Int) {
secondaryTextColor = ForegroundColorSpan(color)
}
fun updateText(formatter: BidiFormatter? = null) {
val sb = SpannableStringBuilder()
val primaryText = if (nameFirst) name else screenName
val secondaryText = if (nameFirst) screenName else name
if (primaryText != null) {
val start = sb.length
if (formatter != null && !isInEditMode) {
sb.append(formatter.unicodeWrap(primaryText))
} else {
sb.append(primaryText)
}
val end = sb.length
sb.setSpan(primaryTextColor, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
sb.setSpan(primaryTextStyle, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
sb.setSpan(primaryTextSize, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
}
sb.append(if (twoLine) '\n' else ' ')
if (secondaryText != null) {
val start = sb.length
if (formatter != null && !isInEditMode) {
sb.append(formatter.unicodeWrap(secondaryText))
} else {
sb.append(secondaryText)
}
val end = sb.length
sb.setSpan(secondaryTextColor, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
sb.setSpan(secondaryTextStyle, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
sb.setSpan(secondaryTextSize, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
}
text = sb
}
fun setPrimaryTextSize(textSize: Float) {
primaryTextSize = AbsoluteSizeSpan(calculateTextSize(TypedValue.COMPLEX_UNIT_SP, textSize).toInt())
}
fun setSecondaryTextSize(textSize: Float) {
secondaryTextSize = AbsoluteSizeSpan(calculateTextSize(TypedValue.COMPLEX_UNIT_SP, textSize).toInt())
}
private fun calculateTextSize(unit: Int, size: Float): Float {
val r = context.resources ?: Resources.getSystem()
return TypedValue.applyDimension(unit, size, r.displayMetrics)
}
}

View File

@ -76,6 +76,15 @@ class TimelineContentTextView @JvmOverloads constructor(
super.setLongClickable(longClickable && isTextSelectable)
}
override fun onTextContextMenuItem(id: Int): Boolean {
try {
return super.onTextContextMenuItem(id)
} catch (e: AbstractMethodError) {
// http://crashes.to/s/69acd0ea0de
return true
}
}
internal class InternalMovementMethod : MovementMethod {
private var targetSpan: ClickableSpan? = null

View File

@ -64,8 +64,8 @@ class GroupViewHolder(private val adapter: IGroupsAdapter<*>, itemView: View) :
val loader = adapter.mediaLoader
val formatter = adapter.bidiFormatter
nameView.setName(group.fullname)
nameView.setScreenName("!" + group.nickname)
nameView.name = group.fullname
nameView.screenName = "!${group.nickname}"
nameView.updateText(formatter)
val groupHost = UserKeyUtils.getUserHost(group.url, group.account_key.host)

View File

@ -71,8 +71,8 @@ class MessageEntryViewHolder(private val adapter: MessageEntriesAdapter, itemVie
val name = cursor.getString(ConversationEntries.IDX_NAME)
val screenName = cursor.getString(ConversationEntries.IDX_SCREEN_NAME)
nameView.setName(manager.getUserNickname(conversationId, name))
nameView.setScreenName("@" + screenName)
nameView.name = manager.getUserNickname(conversationId, name)
nameView.screenName = "@$screenName"
nameView.updateText(adapter.bidiFormatter)
textView.text = toPlainText(cursor.getString(ConversationEntries.IDX_TEXT_UNESCAPED))
timeView.time = timestamp

View File

@ -12,6 +12,7 @@ import android.widget.ImageView
import kotlinx.android.synthetic.main.list_item_status.view.*
import org.mariotaku.ktextension.applyFontFamily
import org.mariotaku.twidere.Constants
import org.mariotaku.twidere.Constants.*
import org.mariotaku.twidere.R
import org.mariotaku.twidere.TwidereConstants.USER_TYPE_FANFOU_COM
import org.mariotaku.twidere.adapter.iface.IStatusesAdapter
@ -94,14 +95,14 @@ class StatusViewHolder(private val adapter: IStatusesAdapter<*>, itemView: View)
statusContentUpperSpace.visibility = View.VISIBLE
profileImageView.setImageResource(R.drawable.ic_profile_image_twidere)
nameView.setName(Constants.TWIDERE_PREVIEW_NAME)
nameView.setScreenName("@" + Constants.TWIDERE_PREVIEW_SCREEN_NAME)
nameView.name = TWIDERE_PREVIEW_NAME
nameView.screenName = "@" + TWIDERE_PREVIEW_SCREEN_NAME
nameView.updateText(adapter.bidiFormatter)
if (adapter.linkHighlightingStyle == VALUE_LINK_HIGHLIGHT_OPTION_CODE_NONE) {
textView.text = toPlainText(Constants.TWIDERE_PREVIEW_TEXT_HTML)
textView.text = toPlainText(TWIDERE_PREVIEW_TEXT_HTML)
} else {
val linkify = adapter.twidereLinkify
val text = HtmlSpanBuilder.fromHtml(Constants.TWIDERE_PREVIEW_TEXT_HTML)
val text = HtmlSpanBuilder.fromHtml(TWIDERE_PREVIEW_TEXT_HTML)
linkify.applyAllLinks(text, null, -1, false, adapter.linkHighlightingStyle, true)
textView.text = text
}
@ -194,9 +195,9 @@ class StatusViewHolder(private val adapter: IStatusesAdapter<*>, itemView: View)
quotedTextView.visibility = View.VISIBLE
val quoted_user_key = status.quoted_user_key!!
quotedNameView.setName(colorNameManager.getUserNickname(quoted_user_key,
status.quoted_user_name))
quotedNameView.setScreenName("@${status.quoted_user_screen_name}")
quotedNameView.name = colorNameManager.getUserNickname(quoted_user_key,
status.quoted_user_name)
quotedNameView.screenName = "@${status.quoted_user_screen_name}"
var quotedDisplayEnd = -1
if (status.extras.quoted_display_text_range != null) {
@ -285,8 +286,8 @@ class StatusViewHolder(private val adapter: IStatusesAdapter<*>, itemView: View)
status.timestamp
}
nameView.setName(colorNameManager.getUserNickname(status.user_key, status.user_name))
nameView.setScreenName("@${status.user_screen_name}")
nameView.name = colorNameManager.getUserNickname(status.user_key, status.user_name)
nameView.screenName = "@${status.user_screen_name}"
if (adapter.profileImageEnabled) {
profileImageView.visibility = View.VISIBLE
@ -492,8 +493,8 @@ class StatusViewHolder(private val adapter: IStatusesAdapter<*>, itemView: View)
// profileImageView.setStyle(adapter.getProfileImageStyle());
val nameFirst = adapter.nameFirst
nameView.setNameFirst(nameFirst)
quotedNameView.setNameFirst(nameFirst)
nameView.nameFirst = nameFirst
quotedNameView.nameFirst = nameFirst
val favIcon: Int
val favStyle: Int

View File

@ -129,8 +129,8 @@ class UserViewHolder(
} else {
profileTypeView.setImageDrawable(null)
}
nameView.setName(manager.getUserNickname(user.key, user.name))
nameView.setScreenName("@${user.screen_name}")
nameView.name = manager.getUserNickname(user.key, user.name)
nameView.screenName = "@${user.screen_name}"
nameView.updateText(adapter.bidiFormatter)
if (adapter.profileImageEnabled) {
@ -238,10 +238,10 @@ class UserViewHolder(
this.requestClickListener = requestClickListener
this.friendshipClickListener = friendshipClickListener
if (requestClickListener != null || friendshipClickListener != null) {
nameView.setTwoLine(true)
nameView.twoLine = true
actionsProgressContainer.visibility = View.VISIBLE
} else {
nameView.setTwoLine(false)
nameView.twoLine = false
actionsProgressContainer.visibility = View.GONE
}
nameView.updateText()

View File

@ -15,7 +15,7 @@ import android.view.ViewGroup
*/
class MediaSwipeCloseContainer(context: Context, attrs: AttributeSet? = null) : ViewGroup(context, attrs) {
private val dragHelper: ViewDragHelper = ViewDragHelper.create(this, object : ViewDragHelper.Callback() {
private val dragHelper: ViewDragHelper = ViewDragHelper.create(this, 0.5f, object : ViewDragHelper.Callback() {
override fun onViewPositionChanged(changedView: View?, left: Int, top: Int, dx: Int, dy: Int) {
val container = this@MediaSwipeCloseContainer
container.childTop = top
@ -45,7 +45,9 @@ class MediaSwipeCloseContainer(context: Context, attrs: AttributeSet? = null) :
override fun onViewReleased(releasedChild: View, xvel: Float, yvel: Float) {
val container = this@MediaSwipeCloseContainer
val minVel = ViewConfiguration.get(context).scaledMinimumFlingVelocity
when {
if (Math.abs(yvel) < Math.abs(xvel)) {
container.dragHelper.smoothSlideViewTo(releasedChild, 0, 0)
} else when {
yvel > minVel && childTop > 0 -> {
// Settle downward
container.dragHelper.settleCapturedViewAt(0, container.height)

View File

@ -42,7 +42,7 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/replyLabel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -101,7 +101,7 @@
app:iabColor="?android:textColorSecondary"
tools:activated="true"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/locationText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -10,14 +10,14 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_large">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/error_message_device_incompatible"
android:textAppearance="?android:textAppearanceMedium"
android:textColor="?android:textColorPrimary"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/infoText"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -36,14 +36,14 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_xlarge">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/keysLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/keyboard_shortcut_hint"
android:textAppearance="?android:textAppearanceMedium"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/conflictLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -56,7 +56,7 @@
android:layout_weight="0"
tools:listitem="@layout/spinner_item_account_icon"/>
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/searchQuery"
android:layout_width="0dp"
android:layout_height="match_parent"
@ -67,7 +67,7 @@
android:inputType="text|textMultiLine">
<requestFocus/>
</EditText>
</org.mariotaku.twidere.view.FixedEditText>
<org.mariotaku.twidere.view.IconActionButton
android:id="@+id/searchSubmit"

View File

@ -58,7 +58,7 @@
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/nameView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -66,7 +66,7 @@
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/descriptionView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -75,7 +75,7 @@
</LinearLayout>
</LinearLayout>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/messageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -37,7 +37,7 @@
android:orientation="vertical"
android:padding="8dp">
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/editUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -46,7 +46,7 @@
android:maxLines="1"
android:typeface="normal" />
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/editPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -23,7 +23,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"

View File

@ -36,7 +36,7 @@
android:orientation="horizontal"
android:padding="@dimen/element_spacing_normal">
<android.support.v7.widget.AppCompatEditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/editScreenName"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -45,7 +45,7 @@
app:cardElevation="@dimen/elevation_card"
app:contentPadding="@dimen/element_spacing_msmall">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -69,7 +69,7 @@
android:layout_width="@dimen/element_size_small"
android:layout_height="@dimen/element_size_small"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/media_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -14,7 +14,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -26,7 +26,7 @@
tools:text="255"
android:maxLines="1"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -23,7 +23,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -104,7 +104,7 @@
</LinearLayout>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -129,7 +129,7 @@
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/summary"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -25,7 +25,7 @@
android:layout_height="@dimen/element_size_normal"
android:focusable="true">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/gapText"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -75,7 +75,7 @@
android:textStyle="italic"
tools:text="External group at gnu.io"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -96,7 +96,7 @@
android:orientation="horizontal"
android:paddingTop="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/membersCount"
android:layout_width="0dp"
android:layout_height="wrap_content"
@ -108,7 +108,7 @@
tools:text="255"
android:maxLines="1"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/adminsCount"
android:layout_width="0dp"
android:layout_height="wrap_content"

View File

@ -48,7 +48,7 @@
android:textColor="?android:attr/textColorSecondary"
tools:text="@string/sample_status_text"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -31,7 +31,7 @@
android:layout_height="wrap_content"
android:text="@string/exclude_this_host"/>
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/host"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -39,7 +39,7 @@
android:inputType="text|textUri"
android:maxLines="1"/>
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/address"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -8,7 +8,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_large">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/confirmMessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -5,7 +5,7 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -6,7 +6,7 @@
android:layout_height="wrap_content"
android:padding="@dimen/element_spacing_normal">
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/editName"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -8,7 +8,7 @@
android:layout_height="wrap_content"
android:padding="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/element_spacing_normal"
@ -25,7 +25,7 @@
app:iabColor="?android:textColorSecondary"
tools:src="@drawable/ic_action_refresh"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/featureDescription"
android:layout_marginLeft="@dimen/element_spacing_normal"
android:layout_marginStart="@dimen/element_spacing_normal"
@ -35,7 +35,7 @@
tools:text="@string/extra_feature_description_sync_data"/>
</TableRow>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/element_spacing_normal"
@ -49,7 +49,7 @@
android:layout_height="wrap_content"
android:text="@string/action_purchase_features_pack"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/restorePurchaseHint"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -28,14 +28,14 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_xlarge">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/keys_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/keyboard_shortcut_hint"
android:textAppearance="?android:textAppearanceMedium"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/conflict_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -23,14 +23,14 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/verification_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/element_spacing_normal"
android:text="@string/login_verification_pin_hint"/>
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/edit_verification_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -39,5 +39,5 @@
android:typeface="monospace">
<requestFocus/>
</EditText>
</org.mariotaku.twidere.view.FixedEditText>
</LinearLayout>

View File

@ -7,7 +7,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_normal">
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -17,7 +17,7 @@
android:typeface="normal"
app:backgroundTint="?colorAccent"/>
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -25,13 +25,13 @@
android:orientation="vertical"
android:padding="16dp">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/phishing_link_warning_message_1"
android:textAppearance="?android:attr/textAppearanceMedium"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/phishing_link_warning_message_2"

View File

@ -25,22 +25,22 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/text_dialog_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/element_spacing_normal"
android:textAppearance="?android:textAppearanceMedium">
</TextView>
</org.mariotaku.twidere.view.FixedTextView>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/text_progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/element_spacing_normal"
android:gravity="center_horizontal"
android:textAppearance="?android:textAppearanceSmall">
</TextView>
</org.mariotaku.twidere.view.FixedTextView>
<SeekBar
android:id="@+id/seek_bar"

View File

@ -28,7 +28,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/set_consumer_key_secret_message"

View File

@ -51,7 +51,7 @@
android:layout_height="wrap_content"
android:color="?android:textColorSecondary"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/emptyText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -7,7 +7,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/element_spacing_normal"
@ -16,7 +16,7 @@
android:textColor="?android:textColorPrimary"
android:textStyle="bold"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/statusText"

View File

@ -23,7 +23,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"

View File

@ -169,7 +169,7 @@
android:color="?android:textColorSecondary"
android:src="@drawable/ic_info_search"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/usersSearchEmptyText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -5,7 +5,7 @@
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/log_text"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@ -21,7 +21,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -62,7 +62,7 @@
android:scaleType="centerCrop"
tools:src="@drawable/ic_profile_image_twidere"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/element_spacing_normal"
@ -95,7 +95,7 @@
android:scaleType="centerCrop"
tools:src="@drawable/nyan_stars_background_tile"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/element_spacing_normal"
@ -126,7 +126,7 @@
android:scaleType="centerCrop"
tools:src="@drawable/nyan_stars_background_tile"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/element_spacing_normal"
@ -231,7 +231,7 @@
android:layout_weight="0"
tools:color="@color/branding_color"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/element_spacing_normal"
@ -261,7 +261,7 @@
android:layout_weight="0"
tools:color="@color/branding_color"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/element_spacing_normal"

View File

@ -132,7 +132,7 @@
android:focusable="false"
android:orientation="vertical">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -144,7 +144,7 @@
android:textStyle="bold"
tools:text="Name"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/screenName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -193,7 +193,7 @@
android:clickable="true"
tools:visibility="gone">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"

View File

@ -25,7 +25,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
@ -34,7 +34,7 @@
android:textColor="@color/material_red"
android:textStyle="bold"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hidden_settings_warning_message"

View File

@ -29,7 +29,7 @@
android:splitMotionEvents="false"
tools:ignore="Overdraw">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/retweetedBy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -186,7 +186,7 @@
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:textColorSecondary" />
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/translateResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -307,7 +307,7 @@
android:src="@drawable/ic_action_gallery"
tools:tint="?android:textColorSecondary" />
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/quotedMediaLabelText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -25,7 +25,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_large">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/usage_statistics_header_summary"

View File

@ -94,7 +94,7 @@
android:minHeight="@dimen/element_size_normal"
android:orientation="vertical">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -104,7 +104,7 @@
android:textColor="?android:textColorPrimary"
tools:text="Name"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/screenName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -115,7 +115,7 @@
android:textColor="?android:textColorPrimary"
tools:text="\@screenname"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/followingYouIndicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -189,7 +189,7 @@
android:color="?android:textColorPrimary"
android:src="@drawable/ic_action_location"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/location"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -248,7 +248,7 @@
android:color="?android:textColorPrimary"
android:src="@drawable/ic_action_time"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/createdAt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -279,7 +279,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/followersCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -288,7 +288,7 @@
android:textColor="?android:textColorPrimary"
tools:text="255"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
@ -309,7 +309,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/friendsCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -318,7 +318,7 @@
android:textColor="?android:textColorPrimary"
tools:text="255"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
@ -339,7 +339,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/listedCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -348,7 +348,7 @@
android:textColor="?android:textColorPrimary"
tools:text="255"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
@ -369,7 +369,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/groupsCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -378,7 +378,7 @@
android:textColor="?android:textColorPrimary"
tools:text="255"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"

View File

@ -41,7 +41,7 @@
android:layout_toEndOf="@+id/accountSpinner"
android:layout_toRightOf="@+id/accountSpinner">
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/editUserQuery"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -52,7 +52,7 @@
android:inputType="textPersonName|textMultiLine">
<requestFocus/>
</EditText>
</org.mariotaku.twidere.view.FixedEditText>
<android.support.v7.widget.AppCompatImageButton
android:id="@+id/queryButton"

View File

@ -43,7 +43,7 @@
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/labelApiUrlFormat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -61,7 +61,7 @@
android:src="@drawable/ic_action_info"/>
</LinearLayout>
<EditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/editApiUrlFormat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -70,7 +70,7 @@
android:maxLines="1"
tools:text="https://api.twitter.com/"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/labelAccountType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -84,7 +84,7 @@
android:layout_marginTop="@dimen/element_spacing_normal"
tools:listitem="@layout/support_simple_spinner_dropdown_item"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/labelAuthType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -50,7 +50,7 @@
android:color="?android:textColorSecondary"
android:src="@drawable/ic_info_error_generic"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/errorText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -78,7 +78,7 @@
android:color="?android:textColorSecondary"
android:src="@drawable/ic_info_error_generic"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/pagesErrorText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -63,7 +63,7 @@
android:layout_height="wrap_content"
android:color="?android:textColorSecondary"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/emptyText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -38,7 +38,7 @@
android:color="?android:textColorSecondary"
android:src="@drawable/ic_info_tab"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"

View File

@ -40,7 +40,7 @@
android:minHeight="48dp"
android:orientation="vertical">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -50,7 +50,7 @@
android:textColor="?android:textColorPrimary"
tools:text="Title"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/summary"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -6,10 +6,11 @@
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.AppCompatEditText
<org.mariotaku.twidere.view.FixedEditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/element_spacing_normal"
app:backgroundTint="?colorAccent"/>
</LinearLayout>

View File

@ -10,7 +10,7 @@
<include layout="@layout/list_item_simple_user"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/selectUserHint"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -10,7 +10,7 @@
<include layout="@layout/list_item_simple_user_list"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/selectUserListHint"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -24,7 +24,7 @@
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/btn_cancel"
android:layout_width="0dp"
android:layout_height="match_parent"
@ -36,7 +36,7 @@
android:textColor="?android:textColorPrimary"
android:textStyle="bold"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/btn_done"
android:layout_width="0dp"
android:layout_height="match_parent"

View File

@ -53,7 +53,7 @@
android:layout_height="wrap_content"
android:color="?android:textColorSecondary"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/emptyText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -67,7 +67,7 @@
android:minWidth="@dimen/element_size_normal"
android:src="@drawable/ic_action_play_arrow"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/positionLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -90,7 +90,7 @@
android:layout_toRightOf="@+id/playPauseButton"
android:layout_toStartOf="@+id/volumeButton"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/durationLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -28,7 +28,7 @@
android:gravity="center_vertical"
android:padding="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/choice_percent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -50,7 +50,7 @@
android:duplicateParentState="false"
android:focusable="false"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/choice_label"
android:layout_width="0dp"
android:layout_height="wrap_content"

View File

@ -42,7 +42,7 @@
android:scaleType="centerInside"
tools:src="@drawable/ic_action_home" />
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/tab_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -37,7 +37,7 @@
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/pollSummary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -25,7 +25,7 @@
android:orientation="horizontal"
android:padding="8dp">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="0dp"
android:layout_height="wrap_content"
@ -33,7 +33,7 @@
android:textAppearance="?android:attr/textAppearanceMedium"
android:maxLines="1"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -76,7 +76,7 @@
android:orientation="vertical"
android:padding="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -86,7 +86,7 @@
android:textColor="?android:textColorPrimary"
tools:text="Name"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -44,14 +44,14 @@
android:paddingRight="0dp"
android:paddingStart="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:textAppearance="?android:attr/textAppearanceMedium"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -29,7 +29,7 @@
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -56,7 +56,7 @@
android:orientation="vertical"
android:padding="8dp">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -65,7 +65,7 @@
android:textColor="?android:textColorPrimary"
android:textStyle="bold"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -36,7 +36,7 @@
android:contentDescription="@string/icon"
android:scaleType="centerInside"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="48dp"

View File

@ -47,7 +47,7 @@
</org.mariotaku.twidere.view.CardMediaContainer>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -59,7 +59,7 @@
android:textAppearance="?android:textAppearanceSmall"
android:textColor="?android:textColorPrimary"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/time"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -35,7 +35,7 @@
android:contentDescription="@string/icon"
android:scaleType="centerInside" />
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="48dp"

View File

@ -90,7 +90,7 @@
android:textColor="?android:attr/textColorSecondary"
tools:text="12:00"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -20,7 +20,7 @@
<!-- Layout of a header item in PreferenceActivity. -->
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/title"
style="?android:listSeparatorTextViewStyle"
xmlns:android="http://schemas.android.com/apk/res/android"

View File

@ -42,7 +42,7 @@
app:iabColor="?android:colorForeground"
tools:src="@drawable/ic_action_settings"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/title"
android:layout_width="0dp"
android:layout_height="wrap_content"

View File

@ -21,7 +21,7 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/sectionHeader"
style="?android:listSeparatorTextViewStyle"
xmlns:android="http://schemas.android.com/apk/res/android"

View File

@ -18,7 +18,7 @@
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
style="?android:listSeparatorTextViewStyle"
xmlns:android="http://schemas.android.com/apk/res/android"

View File

@ -49,7 +49,7 @@
android:paddingRight="0dp"
android:paddingStart="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -60,7 +60,7 @@
android:textColor="?android:textColorPrimary"
tools:text="User name"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/screenName"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -39,7 +39,7 @@
android:paddingRight="@dimen/element_spacing_normal"
android:paddingStart="0dp">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -50,7 +50,7 @@
android:textStyle="bold"
tools:text="Sample list"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/createdBy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -187,7 +187,7 @@
android:src="@drawable/ic_action_gallery"
tools:tint="?android:textColorSecondary"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/mediaLabelText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -301,7 +301,7 @@
android:src="@drawable/ic_action_gallery"
tools:tint="?android:textColorSecondary"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/quotedMediaLabelText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -56,7 +56,7 @@
android:paddingRight="0dp"
android:paddingStart="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -50,7 +50,7 @@
android:paddingRight="0dp"
android:paddingStart="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -59,7 +59,7 @@
tools:text="Mariotaku"
android:maxLines="1"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -53,7 +53,7 @@
android:paddingRight="0dp"
android:paddingStart="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -63,7 +63,7 @@
android:textStyle="normal"
tools:text="Title"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -49,7 +49,7 @@
android:paddingRight="0dp"
android:paddingStart="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@ -58,7 +58,7 @@
android:textColor="?android:textColorPrimary"
tools:text="Title"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@ -78,7 +78,7 @@
tools:text="Created by user"/>
</LinearLayout>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -99,7 +99,7 @@
android:orientation="horizontal"
android:paddingTop="@dimen/element_spacing_small">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/membersCount"
android:layout_width="0dp"
android:layout_height="wrap_content"
@ -111,7 +111,7 @@
android:textAppearance="?android:attr/textAppearanceSmall"
tools:text="255"/>
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@+id/subscribersCount"
android:layout_width="0dp"
android:layout_height="wrap_content"

View File

@ -26,7 +26,7 @@
android:clipChildren="false"
android:padding="@dimen/element_spacing_normal">
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"

View File

@ -14,7 +14,7 @@
limitations under the License.
-->
<TextView
<org.mariotaku.twidere.view.FixedTextView
android:id="@android:id/text1"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"