mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-14 11:49:04 +01:00
Implement Dark Theme (DayNight with automatic option)
This is just a first rough implementation. A real UI designer should look over this.
This commit is contained in:
@@ -2,11 +2,11 @@ package org.thoughtcrime.securesms.components;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.support.v7.widget.AppCompatImageButton;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewConfiguration;
|
||||
import android.widget.ImageButton;
|
||||
|
||||
import static android.view.HapticFeedbackConstants.KEYBOARD_TAP;
|
||||
import static android.view.MotionEvent.ACTION_CANCEL;
|
||||
@@ -14,7 +14,7 @@ import static android.view.MotionEvent.ACTION_DOWN;
|
||||
import static android.view.MotionEvent.ACTION_UP;
|
||||
|
||||
@UiThread
|
||||
public class RepeatableImageKey extends ImageButton {
|
||||
public class RepeatableImageKey extends AppCompatImageButton {
|
||||
|
||||
private KeyEventListener listener;
|
||||
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
package org.thoughtcrime.securesms.components.emoji;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v4.view.PagerAdapter;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v7.widget.AppCompatImageView;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -26,6 +29,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static android.support.v4.widget.ImageViewCompat.setImageTintList;
|
||||
import static android.view.KeyEvent.ACTION_DOWN;
|
||||
import static android.view.KeyEvent.KEYCODE_DEL;
|
||||
import static android.widget.ImageView.ScaleType.CENTER_INSIDE;
|
||||
@@ -142,8 +146,10 @@ public class EmojiDrawer extends LinearLayout {
|
||||
return pages.size();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Object instantiateItem(ViewGroup container, int position) {
|
||||
public Object instantiateItem(@NonNull ViewGroup container,
|
||||
int position) {
|
||||
EmojiPageView page = new EmojiPageView(context);
|
||||
page.setModel(pages.get(position));
|
||||
page.setEmojiSelectedListener(listener);
|
||||
@@ -152,21 +158,24 @@ public class EmojiDrawer extends LinearLayout {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroyItem(ViewGroup container, int position,
|
||||
Object object) {
|
||||
public void destroyItem(@NonNull ViewGroup container, int position,
|
||||
@NonNull Object object) {
|
||||
container.removeView((View) object);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isViewFromObject(View view, Object object) {
|
||||
public boolean isViewFromObject(@NonNull View view,
|
||||
@NonNull Object object) {
|
||||
return view == object;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getCustomTabView(ViewGroup viewGroup, int i) {
|
||||
ImageView image = new ImageView(context);
|
||||
ImageView image = new AppCompatImageView(context);
|
||||
image.setScaleType(CENTER_INSIDE);
|
||||
image.setImageResource(pages.get(i).getIcon());
|
||||
setImageTintList(image, ColorStateList.valueOf(
|
||||
ContextCompat.getColor(context, R.color.color_primary)));
|
||||
return image;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.support.annotation.UiThread;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.widget.AppCompatImageButton;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.ImageButton;
|
||||
|
||||
import org.briarproject.briar.R;
|
||||
import org.thoughtcrime.securesms.components.emoji.EmojiDrawer.EmojiDrawerListener;
|
||||
@@ -13,7 +13,8 @@ import org.thoughtcrime.securesms.components.emoji.EmojiDrawer.EmojiDrawerListen
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@UiThread
|
||||
public class EmojiToggle extends ImageButton implements EmojiDrawerListener {
|
||||
public class EmojiToggle extends AppCompatImageButton
|
||||
implements EmojiDrawerListener {
|
||||
|
||||
private final Drawable emojiToggle;
|
||||
private final Drawable imeToggle;
|
||||
@@ -33,7 +34,7 @@ public class EmojiToggle extends ImageButton implements EmojiDrawerListener {
|
||||
emojiToggle = ContextCompat
|
||||
.getDrawable(getContext(), R.drawable.ic_emoji_toggle);
|
||||
imeToggle = ContextCompat
|
||||
.getDrawable(getContext(), R.drawable.ic_keyboard_black);
|
||||
.getDrawable(getContext(), R.drawable.ic_keyboard);
|
||||
setToEmoji();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user