Loading app/src/main/java/app/fedilab/android/mastodon/activities/DirectMessageActivity.java +27 −3 Original line number Diff line number Diff line Loading @@ -16,8 +16,12 @@ package app.fedilab.android.mastodon.activities; import static app.fedilab.android.BaseMainActivity.currentAccount; import static app.fedilab.android.mastodon.activities.ComposeActivity.PICK_MEDIA; import android.content.ClipData; import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Looper; Loading @@ -25,10 +29,12 @@ import android.util.TypedValue; import android.view.MenuItem; import androidx.appcompat.app.ActionBar; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import androidx.preference.PreferenceManager; import java.util.ArrayList; import java.util.List; import app.fedilab.android.BaseMainActivity; import app.fedilab.android.R; import app.fedilab.android.databinding.ActivityDirectMessageBinding; Loading @@ -46,7 +52,7 @@ public class DirectMessageActivity extends BaseActivity implements FragmentMasto public static boolean expand; public static boolean displayCW; Fragment currentFragment; FragmentMastodonDirectMessage currentFragment; private Status firstMessage; private String remote_instance; Loading Loading @@ -88,7 +94,7 @@ public class DirectMessageActivity extends BaseActivity implements FragmentMasto bundle.putString(Helper.ARG_REMOTE_INSTANCE, remote_instance); FragmentMastodonDirectMessage FragmentMastodonDirectMessage = new FragmentMastodonDirectMessage(); FragmentMastodonDirectMessage.firstMessage = this; currentFragment = Helper.addFragment(getSupportFragmentManager(), R.id.nav_host_fragment_content_main, FragmentMastodonDirectMessage, bundle, null, null); currentFragment = (FragmentMastodonDirectMessage) Helper.addFragment(getSupportFragmentManager(), R.id.nav_host_fragment_content_main, FragmentMastodonDirectMessage, bundle, null, null); StatusesVM timelinesVM = new ViewModelProvider(DirectMessageActivity.this).get(StatusesVM.class); timelinesVM.getStatus(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, focusedStatus.id).observe(DirectMessageActivity.this, status -> { if (status != null) { Loading @@ -114,6 +120,24 @@ public class DirectMessageActivity extends BaseActivity implements FragmentMasto } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); List<Uri> uris = new ArrayList<>(); if (requestCode >= PICK_MEDIA && resultCode == RESULT_OK) { ClipData clipData = data.getClipData(); if (clipData != null) { for (int i = 0; i < clipData.getItemCount(); i++) { ClipData.Item item = clipData.getItemAt(i); uris.add(item.getUri()); } } else { uris.add(data.getData()); } currentFragment.addAttachment(uris); } } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { Loading app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ComposeAdapter.java +1 −1 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ import es.dmoral.toasty.Toasty; public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private static final int searchDeep = 15; private static final int TYPE_COMPOSE = 1; public static final int TYPE_COMPOSE = 1; public static boolean autocomplete = false; public static String[] ALPHA = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "!", ",", "?", Loading app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ConversationAdapter.java +1 −1 Original line number Diff line number Diff line Loading @@ -211,7 +211,7 @@ public class ConversationAdapter extends RecyclerView.Adapter<RecyclerView.ViewH //--- DATE --- holder.binding.lastMessageDate.setText(Helper.dateDiff(context, conversation.last_status.created_at)); boolean chatMode = sharedpreferences.getBoolean(context.getString(R.string.SET_CHAT_FOR_CONVERSATION), true); boolean chatMode = sharedpreferences.getBoolean(context.getString(R.string.SET_CHAT_FOR_CONVERSATION), false); holder.binding.statusContent.setOnClickListener(v -> { Intent intent; if (chatMode) { Loading app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusDirectMessageAdapter.java +8 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import app.fedilab.android.mastodon.activities.MediaActivity; import app.fedilab.android.mastodon.client.entities.api.Attachment; import app.fedilab.android.mastodon.client.entities.api.Status; import app.fedilab.android.mastodon.helper.Helper; import app.fedilab.android.mastodon.helper.LongClickLinkMovementMethod; import app.fedilab.android.mastodon.helper.MastodonHelper; import app.fedilab.android.mastodon.helper.MediaHelper; import app.fedilab.android.mastodon.helper.ThemeHelper; Loading Loading @@ -213,6 +214,7 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie new WeakReference<>(holder.binding.messageContent), () -> mRecyclerView.post(() -> notifyItemChanged(holder.getBindingAdapterPosition()))), TextView.BufferType.SPANNABLE); holder.binding.messageContent.setMovementMethod(LongClickLinkMovementMethod.getInstance()); if (measuredWidth <= 0 && status.media_attachments != null && status.media_attachments.size() > 0) { holder.binding.media.mediaContainer.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override Loading @@ -227,13 +229,19 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie holder.binding.date.setText(Helper.longDateToString(status.created_at)); //Owner account int textColor; LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); if (status.account.id.equals(MainActivity.currentUserID)) { holder.binding.mainContainer.setBackgroundResource(R.drawable.bubble_right_tail); textColor = R.attr.colorOnPrimary; layoutParams.setMargins((int) Helper.convertDpToPixel(50, context), (int) Helper.convertDpToPixel(12, context), 0, 0); } else { holder.binding.mainContainer.setBackgroundResource(R.drawable.bubble_left_tail); layoutParams.setMargins(0, (int) Helper.convertDpToPixel(12, context), (int) Helper.convertDpToPixel(50, context), 0); textColor = R.attr.colorOnSecondary; } holder.binding.mainContainer.setLayoutParams(layoutParams); holder.binding.date.setTextColor(ThemeHelper.getAttColor(context, textColor)); holder.binding.messageContent.setTextColor(ThemeHelper.getAttColor(context, textColor)); holder.binding.userName.setTextColor(ThemeHelper.getAttColor(context, textColor)); Loading app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonDirectMessage.java +559 −5 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
app/src/main/java/app/fedilab/android/mastodon/activities/DirectMessageActivity.java +27 −3 Original line number Diff line number Diff line Loading @@ -16,8 +16,12 @@ package app.fedilab.android.mastodon.activities; import static app.fedilab.android.BaseMainActivity.currentAccount; import static app.fedilab.android.mastodon.activities.ComposeActivity.PICK_MEDIA; import android.content.ClipData; import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Looper; Loading @@ -25,10 +29,12 @@ import android.util.TypedValue; import android.view.MenuItem; import androidx.appcompat.app.ActionBar; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import androidx.preference.PreferenceManager; import java.util.ArrayList; import java.util.List; import app.fedilab.android.BaseMainActivity; import app.fedilab.android.R; import app.fedilab.android.databinding.ActivityDirectMessageBinding; Loading @@ -46,7 +52,7 @@ public class DirectMessageActivity extends BaseActivity implements FragmentMasto public static boolean expand; public static boolean displayCW; Fragment currentFragment; FragmentMastodonDirectMessage currentFragment; private Status firstMessage; private String remote_instance; Loading Loading @@ -88,7 +94,7 @@ public class DirectMessageActivity extends BaseActivity implements FragmentMasto bundle.putString(Helper.ARG_REMOTE_INSTANCE, remote_instance); FragmentMastodonDirectMessage FragmentMastodonDirectMessage = new FragmentMastodonDirectMessage(); FragmentMastodonDirectMessage.firstMessage = this; currentFragment = Helper.addFragment(getSupportFragmentManager(), R.id.nav_host_fragment_content_main, FragmentMastodonDirectMessage, bundle, null, null); currentFragment = (FragmentMastodonDirectMessage) Helper.addFragment(getSupportFragmentManager(), R.id.nav_host_fragment_content_main, FragmentMastodonDirectMessage, bundle, null, null); StatusesVM timelinesVM = new ViewModelProvider(DirectMessageActivity.this).get(StatusesVM.class); timelinesVM.getStatus(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, focusedStatus.id).observe(DirectMessageActivity.this, status -> { if (status != null) { Loading @@ -114,6 +120,24 @@ public class DirectMessageActivity extends BaseActivity implements FragmentMasto } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); List<Uri> uris = new ArrayList<>(); if (requestCode >= PICK_MEDIA && resultCode == RESULT_OK) { ClipData clipData = data.getClipData(); if (clipData != null) { for (int i = 0; i < clipData.getItemCount(); i++) { ClipData.Item item = clipData.getItemAt(i); uris.add(item.getUri()); } } else { uris.add(data.getData()); } currentFragment.addAttachment(uris); } } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { Loading
app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ComposeAdapter.java +1 −1 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ import es.dmoral.toasty.Toasty; public class ComposeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private static final int searchDeep = 15; private static final int TYPE_COMPOSE = 1; public static final int TYPE_COMPOSE = 1; public static boolean autocomplete = false; public static String[] ALPHA = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "!", ",", "?", Loading
app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ConversationAdapter.java +1 −1 Original line number Diff line number Diff line Loading @@ -211,7 +211,7 @@ public class ConversationAdapter extends RecyclerView.Adapter<RecyclerView.ViewH //--- DATE --- holder.binding.lastMessageDate.setText(Helper.dateDiff(context, conversation.last_status.created_at)); boolean chatMode = sharedpreferences.getBoolean(context.getString(R.string.SET_CHAT_FOR_CONVERSATION), true); boolean chatMode = sharedpreferences.getBoolean(context.getString(R.string.SET_CHAT_FOR_CONVERSATION), false); holder.binding.statusContent.setOnClickListener(v -> { Intent intent; if (chatMode) { Loading
app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusDirectMessageAdapter.java +8 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import app.fedilab.android.mastodon.activities.MediaActivity; import app.fedilab.android.mastodon.client.entities.api.Attachment; import app.fedilab.android.mastodon.client.entities.api.Status; import app.fedilab.android.mastodon.helper.Helper; import app.fedilab.android.mastodon.helper.LongClickLinkMovementMethod; import app.fedilab.android.mastodon.helper.MastodonHelper; import app.fedilab.android.mastodon.helper.MediaHelper; import app.fedilab.android.mastodon.helper.ThemeHelper; Loading Loading @@ -213,6 +214,7 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie new WeakReference<>(holder.binding.messageContent), () -> mRecyclerView.post(() -> notifyItemChanged(holder.getBindingAdapterPosition()))), TextView.BufferType.SPANNABLE); holder.binding.messageContent.setMovementMethod(LongClickLinkMovementMethod.getInstance()); if (measuredWidth <= 0 && status.media_attachments != null && status.media_attachments.size() > 0) { holder.binding.media.mediaContainer.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override Loading @@ -227,13 +229,19 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie holder.binding.date.setText(Helper.longDateToString(status.created_at)); //Owner account int textColor; LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); if (status.account.id.equals(MainActivity.currentUserID)) { holder.binding.mainContainer.setBackgroundResource(R.drawable.bubble_right_tail); textColor = R.attr.colorOnPrimary; layoutParams.setMargins((int) Helper.convertDpToPixel(50, context), (int) Helper.convertDpToPixel(12, context), 0, 0); } else { holder.binding.mainContainer.setBackgroundResource(R.drawable.bubble_left_tail); layoutParams.setMargins(0, (int) Helper.convertDpToPixel(12, context), (int) Helper.convertDpToPixel(50, context), 0); textColor = R.attr.colorOnSecondary; } holder.binding.mainContainer.setLayoutParams(layoutParams); holder.binding.date.setTextColor(ThemeHelper.getAttColor(context, textColor)); holder.binding.messageContent.setTextColor(ThemeHelper.getAttColor(context, textColor)); holder.binding.userName.setTextColor(ThemeHelper.getAttColor(context, textColor)); Loading
app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonDirectMessage.java +559 −5 File changed.Preview size limit exceeded, changes collapsed. Show changes