Signal-Android/src/org/thoughtcrime/securesms/components/emoji/EmojiToggle.java

65 lines
1.5 KiB
Java
Raw Normal View History

package org.thoughtcrime.securesms.components.emoji;
2013-06-27 20:57:27 -07:00
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.widget.ImageButton;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.components.emoji.EmojiDrawer.EmojiDrawerListener;
2013-06-27 20:57:27 -07:00
public class EmojiToggle extends ImageButton implements EmojiDrawerListener {
2013-06-27 20:57:27 -07:00
private Drawable emojiToggle;
private Drawable imeToggle;
public EmojiToggle(Context context) {
super(context);
initialize();
}
public EmojiToggle(Context context, AttributeSet attrs) {
super(context, attrs);
initialize();
}
public EmojiToggle(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initialize();
}
public void setToEmoji() {
setImageDrawable(emojiToggle);
2013-06-27 20:57:27 -07:00
}
public void setToIme() {
setImageDrawable(imeToggle);
2013-06-27 20:57:27 -07:00
}
private void initialize() {
int attributes[] = new int[] {R.attr.conversation_emoji_toggle,
R.attr.conversation_keyboard_toggle};
2013-06-27 20:57:27 -07:00
TypedArray drawables = getContext().obtainStyledAttributes(attributes);
this.emojiToggle = drawables.getDrawable(0);
this.imeToggle = drawables.getDrawable(1);
drawables.recycle();
setToEmoji();
2013-06-27 20:57:27 -07:00
}
public void attach(EmojiDrawer drawer) {
drawer.setDrawerListener(this);
}
@Override public void onShown() {
setToIme();
}
@Override public void onHidden() {
setToEmoji();
}
2013-06-27 20:57:27 -07:00
}