diff --git a/app/src/main/java/app/fedilab/android/activities/TootActivity.java b/app/src/main/java/app/fedilab/android/activities/TootActivity.java index 776af1253..7cce19979 100644 --- a/app/src/main/java/app/fedilab/android/activities/TootActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/TootActivity.java @@ -1897,7 +1897,7 @@ public class TootActivity extends BaseActivity implements UploadStatusDelegate, builder.setTitle(R.string.insert_emoji); if (emojis != null && emojis.size() > 0) { GridView gridView = new GridView(TootActivity.this); - gridView.setAdapter(new CustomEmojiAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, emojis)); + gridView.setAdapter(new CustomEmojiAdapter(emojis)); gridView.setNumColumns(5); gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override diff --git a/app/src/main/java/app/fedilab/android/drawers/CustomEmojiAdapter.java b/app/src/main/java/app/fedilab/android/drawers/CustomEmojiAdapter.java index 237229ab8..9d5a9e5cc 100644 --- a/app/src/main/java/app/fedilab/android/drawers/CustomEmojiAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/CustomEmojiAdapter.java @@ -25,7 +25,7 @@ import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.ArrayAdapter; +import android.widget.BaseAdapter; import android.widget.ImageView; @@ -49,18 +49,13 @@ import app.fedilab.android.helper.Helper; * Created by Thomas on 03/11/2017. * Adapter to display custom emojis */ -public class CustomEmojiAdapter extends ArrayAdapter { +public class CustomEmojiAdapter extends BaseAdapter { - private Context context; private List emojis; - private CustomEmojiAdapter customEmojiAdapter; - public CustomEmojiAdapter(@NonNull Context context, int resource, List emojis) { - super(context, resource, resource); - this.context = context; + public CustomEmojiAdapter(List emojis) { this.emojis = emojis; - customEmojiAdapter = this; } @Override @@ -83,7 +78,7 @@ public class CustomEmojiAdapter extends ArrayAdapter { final ImageView imageView; Emojis emoji = emojis.get(position); if (convertView == null) { - LayoutInflater layoutInflater = LayoutInflater.from(context); + LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext()); convertView = layoutInflater.inflate(R.layout.drawer_emoji_picker, parent, false); imageView = convertView.findViewById(R.id.img_custom_emoji); } else { @@ -93,7 +88,7 @@ public class CustomEmojiAdapter extends ArrayAdapter { if (!emoji.isDrawableFound()) { emoji.setDrawableFound(true); - Glide.with(context) + Glide.with(parent.getContext()) .asFile() .load(emoji.getUrl()) .thumbnail(0.1f) @@ -102,7 +97,7 @@ public class CustomEmojiAdapter extends ArrayAdapter { public void onResourceReady(@NonNull File resourceFile, @Nullable Transition transition) { //new transform(context, emoji,resourceFile, imageView).execute(); Drawable resource; - SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); + SharedPreferences sharedpreferences = parent.getContext().getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); boolean disableAnimatedEmoji = sharedpreferences.getBoolean(Helper.SET_DISABLE_ANIMATED_EMOJI, false); if (!disableAnimatedEmoji) { if (GifParser.isGif(resourceFile.getAbsolutePath())) { @@ -120,11 +115,9 @@ public class CustomEmojiAdapter extends ArrayAdapter { resource = Drawable.createFromPath(resourceFile.getAbsolutePath()); emoji.setDrawable(resource); } - customEmojiAdapter.notifyDataSetChanged(); + imageView.setImageDrawable(emoji.getDrawable()); } }); - } else { - imageView.setImageDrawable(emoji.getDrawable()); } return convertView; } diff --git a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java index 56aa87c22..58ea1bce8 100644 --- a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java @@ -1271,7 +1271,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct builder.setTitle(R.string.insert_emoji); if (emojisPicker != null && emojisPicker.size() > 0) { GridView gridView = new GridView(context); - gridView.setAdapter(new CustomEmojiAdapter(context, android.R.layout.simple_list_item_1, emojisPicker)); + gridView.setAdapter(new CustomEmojiAdapter(emojisPicker)); gridView.setNumColumns(5); gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override