mirror of
				https://github.com/KokaKiwi/BarInsta
				synced 2025-10-31 11:35:34 +00:00 
			
		
		
		
	actually fix #319 and also convert more hardcoded strings
This commit is contained in:
		
							parent
							
								
									d10e95c529
								
							
						
					
					
						commit
						8950ed488d
					
				| @ -143,7 +143,7 @@ public final class DirectInboxItemViewHolder extends RecyclerView.ViewHolder { | ||||
|         final long senderId = item.getUserId(); | ||||
|         final DirectItemType itemType = item.getItemType(); | ||||
|         String subtitle = null; | ||||
|         final String username = getUsername(thread.getUsers(), senderId, viewerId); | ||||
|         final String username = getUsername(thread.getUsers(), senderId, viewerId, resources); | ||||
|         String message = ""; | ||||
|         if (itemType == null) { | ||||
|             message = resources.getString(R.string.dms_inbox_raven_message_unknown); | ||||
| @ -230,7 +230,7 @@ public final class DirectInboxItemViewHolder extends RecyclerView.ViewHolder { | ||||
|                             if (viewerId == item.getUserId()) { | ||||
|                                 // You mentioned the other person | ||||
|                                 final long mentionedUserId = item.getReelShare().getMentionedUserId(); | ||||
|                                 final String otherUsername = getUsername(thread.getUsers(), mentionedUserId, viewerId); | ||||
|                                 final String otherUsername = getUsername(thread.getUsers(), mentionedUserId, viewerId, resources); | ||||
|                                 subtitle = resources.getString(R.string.dms_inbox_mentioned_story_outgoing, otherUsername); | ||||
|                             } else { | ||||
|                                 // They mentioned you | ||||
|  | ||||
| @ -10,6 +10,7 @@ import com.facebook.drawee.drawable.ScalingUtils; | ||||
| import com.facebook.drawee.generic.GenericDraweeHierarchyBuilder; | ||||
| import com.facebook.drawee.generic.RoundingParams; | ||||
| 
 | ||||
| import awais.instagrabber.R; | ||||
| import awais.instagrabber.adapters.DirectItemsAdapter.DirectItemCallback; | ||||
| import awais.instagrabber.databinding.LayoutDmBaseBinding; | ||||
| import awais.instagrabber.databinding.LayoutDmRavenMediaBinding; | ||||
| @ -118,28 +119,28 @@ public class DirectItemRavenMediaViewHolder extends DirectItemViewHolder { | ||||
|         if (viewMode != RavenMediaViewMode.PERMANENT) { | ||||
|             final MediaItemType mediaType = media.getMediaType(); | ||||
|             final boolean expired = media.getPk() == null; | ||||
|             final String info; | ||||
|             final int info; | ||||
|             switch (mediaType) { | ||||
|                 case MEDIA_TYPE_IMAGE: | ||||
|                     if (expired) { | ||||
|                         info = "Image has expired"; | ||||
|                         info = R.string.raven_image_expired; | ||||
|                         break; | ||||
|                     } | ||||
|                     info = "Image will expire when seen"; | ||||
|                     info = R.string.raven_image_info; | ||||
|                     break; | ||||
|                 case MEDIA_TYPE_VIDEO: | ||||
|                     if (expired) { | ||||
|                         info = "Video has expired"; | ||||
|                         info = R.string.raven_video_expired; | ||||
|                         break; | ||||
|                     } | ||||
|                     info = "Video will expire when seen"; | ||||
|                     info = R.string.raven_video_info; | ||||
|                     break; | ||||
|                 default: | ||||
|                     if (expired) { | ||||
|                         info = "Message has expired"; | ||||
|                         info = R.string.raven_msg_expired; | ||||
|                         break; | ||||
|                     } | ||||
|                     info = "Message will expire when seen"; | ||||
|                     info = R.string.raven_msg_info; | ||||
|                     break; | ||||
|             } | ||||
|             binding.expiryInfo.setVisibility(View.VISIBLE); | ||||
|  | ||||
| @ -107,7 +107,7 @@ public class DirectItemReelShareViewHolder extends DirectItemViewHolder { | ||||
|     private void setReply(final MessageDirection messageDirection, | ||||
|                           final DirectItemReelShare reelShare, | ||||
|                           final boolean isSelf) { | ||||
|         final String info = isSelf ? "You replied to their story" : "They replied to your story"; | ||||
|         final int info = isSelf ? R.string.replied_story_outgoing : R.string.replied_story_incoming; | ||||
|         binding.shareInfo.setText(info); | ||||
|         binding.reaction.setVisibility(View.GONE); | ||||
|         final String text = reelShare.getText(); | ||||
| @ -122,7 +122,7 @@ public class DirectItemReelShareViewHolder extends DirectItemViewHolder { | ||||
|                              final DirectItemReelShare reelShare, | ||||
|                              final boolean isSelf, | ||||
|                              final boolean expired) { | ||||
|         final String info = isSelf ? "You reacted to their story" : "They reacted to your story"; | ||||
|         final int info = isSelf ? R.string.reacted_story_outgoing : R.string.reacted_story_incoming; | ||||
|         binding.shareInfo.setText(info); | ||||
|         binding.message.setVisibility(View.GONE); | ||||
|         final String text = reelShare.getText(); | ||||
| @ -139,7 +139,7 @@ public class DirectItemReelShareViewHolder extends DirectItemViewHolder { | ||||
|     } | ||||
| 
 | ||||
|     private void setMention(final boolean isSelf) { | ||||
|         final String info = isSelf ? "You mentioned them in your story" : "Mentioned you in their story"; | ||||
|         final int info = isSelf ? R.string.mentioned_story_outgoing : R.string.mentioned_story_incoming; | ||||
|         binding.shareInfo.setText(info); | ||||
|         binding.message.setVisibility(View.GONE); | ||||
|         binding.reaction.setVisibility(View.GONE); | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| package awais.instagrabber.adapters.viewholder.directmessages; | ||||
| 
 | ||||
| import android.content.res.Resources; | ||||
| import android.view.View; | ||||
| import android.view.ViewGroup; | ||||
| 
 | ||||
| @ -11,6 +12,7 @@ import com.facebook.drawee.drawable.ScalingUtils; | ||||
| import com.facebook.drawee.generic.GenericDraweeHierarchyBuilder; | ||||
| import com.facebook.drawee.generic.RoundingParams; | ||||
| 
 | ||||
| import awais.instagrabber.R; | ||||
| import awais.instagrabber.adapters.DirectItemsAdapter.DirectItemCallback; | ||||
| import awais.instagrabber.databinding.LayoutDmBaseBinding; | ||||
| import awais.instagrabber.databinding.LayoutDmStoryShareBinding; | ||||
| @ -41,17 +43,18 @@ public class DirectItemStoryShareViewHolder extends DirectItemViewHolder { | ||||
| 
 | ||||
|     @Override | ||||
|     public void bindItem(final DirectItem item, final MessageDirection messageDirection) { | ||||
|         String format = "@%s's story"; | ||||
|         final Resources resources = itemView.getResources(); | ||||
|         int format = R.string.story_share; | ||||
|         final String reelType = item.getStoryShare().getReelType(); | ||||
|         if (reelType == null || item.getStoryShare().getMedia() == null) { | ||||
|             setExpiredStoryInfo(item); | ||||
|             return; | ||||
|         } | ||||
|         if (reelType.equals("highlight_reel")) { | ||||
|             format = "@%s's story highlight"; | ||||
|             format = R.string.story_share_highlight; | ||||
|         } | ||||
|         final User user = item.getStoryShare().getMedia().getUser(); | ||||
|         final String info = String.format(format, user != null ? user.getUsername() : ""); | ||||
|         final String info = resources.getString(format, user != null ? user.getUsername() : ""); | ||||
|         binding.shareInfo.setText(info); | ||||
|         binding.text.setVisibility(View.GONE); | ||||
|         binding.ivMediaPreview.setController(null); | ||||
|  | ||||
| @ -224,6 +224,7 @@ public abstract class DirectItemViewHolder extends RecyclerView.ViewHolder imple | ||||
|                           final List<User> users) { | ||||
|         final DirectItem replied = item.getRepliedToMessage(); | ||||
|         final DirectItemType itemType = replied.getItemType(); | ||||
|         final Resources resources = itemView.getResources(); | ||||
|         String text = null; | ||||
|         String url = null; | ||||
|         switch (itemType) { | ||||
| @ -243,7 +244,7 @@ public abstract class DirectItemViewHolder extends RecyclerView.ViewHolder imple | ||||
|                 url = ResponseBodyUtils.getThumbUrl(replied.getVisualMedia().getMedia().getImageVersions2()); | ||||
|                 break; | ||||
|             case VOICE_MEDIA: | ||||
|                 text = "Voice message"; | ||||
|                 text = resources.getString(R.string.voice_message); | ||||
|                 break; | ||||
|             case MEDIA_SHARE: | ||||
|                 Media mediaShare = replied.getMediaShare(); | ||||
| @ -282,7 +283,7 @@ public abstract class DirectItemViewHolder extends RecyclerView.ViewHolder imple | ||||
|             return; | ||||
|         } | ||||
|         setReplyGravity(messageDirection); | ||||
|         final String info = setReplyInfo(item, replied, users); | ||||
|         final String info = setReplyInfo(item, replied, users, resources); | ||||
|         binding.replyInfo.setVisibility(View.VISIBLE); | ||||
|         binding.replyInfo.setText(info); | ||||
|         binding.quoteLine.setVisibility(View.VISIBLE); | ||||
| @ -295,7 +296,6 @@ public abstract class DirectItemViewHolder extends RecyclerView.ViewHolder imple | ||||
|         } | ||||
|         binding.replyImage.setVisibility(View.GONE); | ||||
|         final Drawable background = binding.replyText.getBackground().mutate(); | ||||
|         final Resources resources = itemView.getResources(); | ||||
|         background.setTint(replied.getUserId() != currentUser.getPk() | ||||
|                            ? resources.getColor(R.color.grey_600) | ||||
|                            : resources.getColor(R.color.deep_purple_400)); | ||||
| @ -306,30 +306,33 @@ public abstract class DirectItemViewHolder extends RecyclerView.ViewHolder imple | ||||
| 
 | ||||
|     private String setReplyInfo(final DirectItem item, | ||||
|                                 final DirectItem replied, | ||||
|                                 final List<User> users) { | ||||
|                                 final List<User> users, | ||||
|                                 final Resources resources) { | ||||
|         final long repliedToUserId = replied.getUserId(); | ||||
|         if (repliedToUserId == item.getUserId() && item.getUserId() == currentUser.getPk()) { | ||||
|             // User replied to own message | ||||
|             return "You replied to yourself"; | ||||
|             return resources.getString(R.string.replied_to_yourself); | ||||
|         } | ||||
|         if (repliedToUserId == item.getUserId()) { | ||||
|             // opposite user replied to their own message | ||||
|             return "Replied to themself"; | ||||
|             return resources.getString(R.string.replied_to_themself); | ||||
|         } | ||||
|         final User user = getUser(repliedToUserId, users); | ||||
|         final String repliedToUsername = user != null ? user.getUsername() : ""; | ||||
|         if (item.getUserId() == currentUser.getPk()) { | ||||
|             return !thread.isGroup() ? "You replied" : String.format("You replied to %s", repliedToUsername); | ||||
|             return thread.isGroup() | ||||
|                     ? resources.getString(R.string.replied_you_group, repliedToUsername) | ||||
|                     : resources.getString(R.string.replied_you); | ||||
|         } | ||||
|         if (repliedToUserId == currentUser.getPk()) { | ||||
|             return "Replied to you"; | ||||
|             return resources.getString(R.string.replied_to_you); | ||||
|         } | ||||
|         return String.format("Replied to %s", repliedToUsername); | ||||
|         return resources.getString(R.string.replied_group, repliedToUsername); | ||||
|     } | ||||
| 
 | ||||
|     private void setForwardInfo(final MessageDirection direction) { | ||||
|         binding.replyInfo.setVisibility(View.VISIBLE); | ||||
|         binding.replyInfo.setText(direction == MessageDirection.OUTGOING ? "You forwarded a message" : "Forwarded a message"); | ||||
|         binding.replyInfo.setText(direction == MessageDirection.OUTGOING ? R.string.forward_outgoing : R.string.forward_incoming); | ||||
|     } | ||||
| 
 | ||||
|     private void setReplyGravity(final MessageDirection messageDirection) { | ||||
|  | ||||
| @ -490,16 +490,22 @@ public class StoryViewerFragment extends Fragment { | ||||
|                                                 @Override | ||||
|                                                 public void onSuccess(final StoryStickerResponse result) { | ||||
|                                                     sticking = false; | ||||
|                                                     try { | ||||
|                                                         poll.setMyChoice(w); | ||||
|                                                         Toast.makeText(context, R.string.votef_story_poll, Toast.LENGTH_SHORT).show(); | ||||
|                                                     } | ||||
|                                                     catch (Exception ignored) {} | ||||
|                                                 } | ||||
| 
 | ||||
|                                                 @Override | ||||
|                                                 public void onFailure(final Throwable t) { | ||||
|                                                     sticking = false; | ||||
|                                                     Log.e(TAG, "Error responding", t); | ||||
|                                                     try { | ||||
|                                                         Toast.makeText(context, R.string.downloader_unknown_error, Toast.LENGTH_SHORT).show(); | ||||
|                                                     } | ||||
|                                                     catch (Exception ignored) {} | ||||
|                                                 } | ||||
|                                             }); | ||||
|                                 } | ||||
|                             }) | ||||
| @ -525,15 +531,21 @@ public class StoryViewerFragment extends Fragment { | ||||
|                                         @Override | ||||
|                                         public void onSuccess(final StoryStickerResponse result) { | ||||
|                                             sticking = false; | ||||
|                                             try { | ||||
|                                                 Toast.makeText(context, R.string.answered_story, Toast.LENGTH_SHORT).show(); | ||||
|                                             } | ||||
|                                             catch (Exception ignored) {} | ||||
|                                         } | ||||
| 
 | ||||
|                                         @Override | ||||
|                                         public void onFailure(final Throwable t) { | ||||
|                                             sticking = false; | ||||
|                                             Log.e(TAG, "Error responding", t); | ||||
|                                             try { | ||||
|                                                 Toast.makeText(context, R.string.downloader_unknown_error, Toast.LENGTH_SHORT).show(); | ||||
|                                             } | ||||
|                                             catch (Exception ignored) {} | ||||
|                                         } | ||||
|                                     }); | ||||
|                         }) | ||||
|                         .setNegativeButton(R.string.cancel, null) | ||||
| @ -565,16 +577,22 @@ public class StoryViewerFragment extends Fragment { | ||||
|                                             @Override | ||||
|                                             public void onSuccess(final StoryStickerResponse result) { | ||||
|                                                 sticking = false; | ||||
|                                                 try { | ||||
|                                                     quiz.setMyChoice(w); | ||||
|                                                     Toast.makeText(context, R.string.answered_story, Toast.LENGTH_SHORT).show(); | ||||
|                                                 } | ||||
|                                                 catch (Exception ignored) {} | ||||
|                                         } | ||||
| 
 | ||||
|                                             @Override | ||||
|                                             public void onFailure(final Throwable t) { | ||||
|                                                 sticking = false; | ||||
|                                                 Log.e(TAG, "Error responding", t); | ||||
|                                                 try { | ||||
|                                                     Toast.makeText(context, R.string.downloader_unknown_error, Toast.LENGTH_SHORT).show(); | ||||
|                                                 } | ||||
|                                                 catch (Exception ignored) {} | ||||
|                                             } | ||||
|                                         }); | ||||
|                             } | ||||
|                         }) | ||||
| @ -631,16 +649,22 @@ public class StoryViewerFragment extends Fragment { | ||||
|                                             @Override | ||||
|                                             public void onSuccess(final StoryStickerResponse result) { | ||||
|                                                 sticking = false; | ||||
|                                                 try { | ||||
|                                                     slider.setMyChoice(sliderValue); | ||||
|                                                     Toast.makeText(context, R.string.answered_story, Toast.LENGTH_SHORT).show(); | ||||
|                                                 } | ||||
|                                                 catch (Exception ignored) {} | ||||
|                                             } | ||||
| 
 | ||||
|                                             @Override | ||||
|                                             public void onFailure(final Throwable t) { | ||||
|                                                 sticking = false; | ||||
|                                                 Log.e(TAG, "Error responding", t); | ||||
|                                                 try { | ||||
|                                                     Toast.makeText(context, R.string.downloader_unknown_error, Toast.LENGTH_SHORT).show(); | ||||
|                                                 } | ||||
|                                                 catch (Exception ignored) {} | ||||
|                                             } | ||||
|                                         }); | ||||
|                             }) | ||||
|                             .setNegativeButton(R.string.cancel, null) | ||||
|  | ||||
| @ -116,9 +116,6 @@ public class DirectMessageThreadFragment extends Fragment implements DirectReact | ||||
|     private static final int STORAGE_PERM_REQUEST_CODE = 8020; | ||||
|     private static final int AUDIO_RECORD_PERM_REQUEST_CODE = 1000; | ||||
|     private static final int CAMERA_REQUEST_CODE = 200; | ||||
|     private static final String UPDATING_TITLE = "Updating..."; | ||||
|     private static final String MESSAGE_LABEL = "Message"; | ||||
|     private static final String HOLD_TO_RECORD_AUDIO_LABEL = "Press and hold to record audio"; | ||||
|     private static final String TRANSLATION_Y = "translationY"; | ||||
| 
 | ||||
|     private DirectItemsAdapter itemsAdapter; | ||||
| @ -567,7 +564,7 @@ public class DirectMessageThreadFragment extends Fragment implements DirectReact | ||||
|         viewModel.getThreadTitle().observe(getViewLifecycleOwner(), this::setTitle); | ||||
|         viewModel.getFetching().observe(getViewLifecycleOwner(), fetching -> { | ||||
|             if (fetching) { | ||||
|                 setTitle(UPDATING_TITLE); | ||||
|                 setTitle(getString(R.string.dms_thread_updating)); | ||||
|                 return; | ||||
|             } | ||||
|             setTitle(viewModel.getThreadTitle().getValue()); | ||||
| @ -876,7 +873,7 @@ public class DirectMessageThreadFragment extends Fragment implements DirectReact | ||||
|         if (inputMode != null && inputMode == 1) return; | ||||
|         final Context context = getContext(); | ||||
|         if (context == null) return; | ||||
|         tooltip.setText(HOLD_TO_RECORD_AUDIO_LABEL); | ||||
|         tooltip.setText(R.string.dms_thread_audio_hint); | ||||
|         setMicToSendIcon(); | ||||
|         binding.recordView.setMinMillis(1000); | ||||
|         binding.recordView.setOnRecordListener(new RecordView.OnRecordListener() { | ||||
| @ -925,7 +922,7 @@ public class DirectMessageThreadFragment extends Fragment implements DirectReact | ||||
|             } | ||||
|         }); | ||||
|         binding.recordView.setOnBasketAnimationEndListener(() -> { | ||||
|             binding.input.setHint(MESSAGE_LABEL); | ||||
|             binding.input.setHint(R.string.dms_thread_message_hint); | ||||
|             binding.gallery.setVisibility(View.VISIBLE); | ||||
|             binding.camera.setVisibility(View.VISIBLE); | ||||
|         }); | ||||
|  | ||||
| @ -203,6 +203,9 @@ | ||||
|     <string name="dms_inbox_raven_media_suggested">Suggested</string> | ||||
|     <string name="dms_inbox_raven_media_screenshot">Screenshotted</string> | ||||
|     <string name="dms_inbox_raven_media_cant_deliver">Cannot deliver</string> | ||||
|     <string name="dms_thread_message_hint">Message...</string> | ||||
|     <string name="dms_thread_audio_hint">Press and hold to record audio</string> | ||||
|     <string name="dms_thread_updating">Updating...</string> | ||||
|     <string name="dms_action_success">Great success!</string> | ||||
|     <string name="dms_action_leave">Leave chat</string> | ||||
|     <string name="dms_action_leave_question">Leave this chat?</string> | ||||
| @ -427,10 +430,33 @@ | ||||
|     <string name="reply">Reply</string> | ||||
|     <string name="tap_to_remove">Tap to remove</string> | ||||
|     <string name="forward">Forward</string> | ||||
|     <string name="forward_outgoing">You forwarded a message</string> | ||||
|     <string name="forward_incoming">Forwarded a message</string> | ||||
|     <string name="add">Add</string> | ||||
|     <string name="send">Send</string> | ||||
|     <string name="replying_to_yourself">Replying to yourself</string> | ||||
|     <string name="replying_to_user">Replying to %s</string> | ||||
|     <string name="replied_to_yourself">You replied to yourself</string> | ||||
|     <string name="replied_you_to_you">You replied to you</string> | ||||
|     <string name="replied_you">You replied</string> | ||||
|     <string name="replied_you_group">You replied to %s</string> | ||||
|     <string name="replied_group">Replied to %s</string> | ||||
|     <string name="replied_to_you">Replied to you</string> | ||||
|     <string name="replied_to_themself">Replied to themself</string> | ||||
|     <string name="reacted_story_outgoing">You reacted to their story</string> | ||||
|     <string name="reacted_story_incoming">Reacted to your story</string> | ||||
|     <string name="mentioned_story_outgoing">You mentioned them in your story</string> | ||||
|     <string name="mentioned_story_incoming">Mentioned you in their story</string> | ||||
|     <string name="replied_story_outgoing">You replied to their story</string> | ||||
|     <string name="replied_story_incoming">Replied to your story</string> | ||||
|     <string name="raven_image_expired">Image has expired</string> | ||||
|     <string name="raven_image_info">Image will expire when seen</string> | ||||
|     <string name="raven_video_expired">Video has expired</string> | ||||
|     <string name="raven_video_info">Video will expire when seen</string> | ||||
|     <string name="raven_msg_expired">Message has expired</string> | ||||
|     <string name="raven_msg_info">Message will expire when seen</string> | ||||
|     <string name="story_share">@%s\'s story</string> | ||||
|     <string name="story_share_highlight">@%s\'s story highlight</string> | ||||
|     <string name="photo">Photo</string> | ||||
|     <string name="video">Video</string> | ||||
|     <string name="voice_message">Voice message</string> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user