mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-28 05:13:53 +01:00
Fixes issue 1224
This commit is contained in:
parent
0a861317f4
commit
81147aada1
5 changed files with 13 additions and 100 deletions
|
|
@ -1,87 +0,0 @@
|
|||
package fr.free.nrw.commons.notification;
|
||||
|
||||
/**
|
||||
* Created by jatin on 1/3/18.
|
||||
*/
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
|
||||
import fr.free.nrw.commons.R;
|
||||
|
||||
/**
|
||||
* User: Bazlur Rahman Rokon
|
||||
* Date: 9/7/13 - 3:33 AM
|
||||
*/
|
||||
public class ExpandableTextView extends android.support.v7.widget.AppCompatTextView {
|
||||
private static final int DEFAULT_TRIM_LENGTH = 40;
|
||||
private static final String ELLIPSIS = "...More";
|
||||
|
||||
private CharSequence originalText;
|
||||
private CharSequence trimmedText;
|
||||
private BufferType bufferType;
|
||||
private boolean trim = true;
|
||||
private int trimLength;
|
||||
|
||||
public ExpandableTextView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public ExpandableTextView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
|
||||
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.ExpandableTextView);
|
||||
this.trimLength = typedArray.getInt(R.styleable.ExpandableTextView_trimLength, DEFAULT_TRIM_LENGTH);
|
||||
typedArray.recycle();
|
||||
|
||||
setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
trim = !trim;
|
||||
setText();
|
||||
requestFocusFromTouch();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setText() {
|
||||
super.setText(getDisplayableText(), bufferType);
|
||||
}
|
||||
|
||||
private CharSequence getDisplayableText() {
|
||||
return trim ? trimmedText : originalText;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setText(CharSequence text, BufferType type) {
|
||||
originalText = text;
|
||||
trimmedText = getTrimmedText();
|
||||
bufferType = type;
|
||||
setText();
|
||||
}
|
||||
|
||||
private CharSequence getTrimmedText() {
|
||||
if (originalText != null && originalText.length() > trimLength) {
|
||||
return new SpannableStringBuilder(originalText, 0, trimLength + 1).append(ELLIPSIS);
|
||||
} else {
|
||||
return originalText;
|
||||
}
|
||||
}
|
||||
|
||||
public CharSequence getOriginalText() {
|
||||
return originalText;
|
||||
}
|
||||
|
||||
public void setTrimLength(int trimLength) {
|
||||
this.trimLength = trimLength;
|
||||
trimmedText = getTrimmedText();
|
||||
setText();
|
||||
}
|
||||
|
||||
public int getTrimLength() {
|
||||
return trimLength;
|
||||
}
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ import android.view.ViewGroup;
|
|||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.borjabravo.readmoretextview.ReadMoreTextView;
|
||||
import com.pedrogomez.renderers.Renderer;
|
||||
|
||||
import butterknife.BindView;
|
||||
|
|
@ -17,8 +18,8 @@ import fr.free.nrw.commons.R;
|
|||
*/
|
||||
|
||||
public class NotificationRenderer extends Renderer<Notification> {
|
||||
@BindView(R.id.title) ExpandableTextView title;
|
||||
@BindView(R.id.description) ExpandableTextView description;
|
||||
@BindView(R.id.title) ReadMoreTextView title;
|
||||
@BindView(R.id.description) ReadMoreTextView description;
|
||||
@BindView(R.id.time) TextView time;
|
||||
@BindView(R.id.icon) ImageView icon;
|
||||
private NotificationClicked listener;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue