1 Commits

Author SHA1 Message Date
Balazs Toldi
079269efea Show images in comments and post
Replace image links in posts and comments with actual images.
2023-08-03 13:50:51 +02:00
72 changed files with 499 additions and 653 deletions

View File

@@ -1,49 +0,0 @@
---
name: "Bug Report"
about: "Report a Bug!"
title: " [Bug] "
ref: "master"
labels:
- Kind/Bug
---
### Description of the Issue:
<!-- Provide a clear and concise description of what the issue is about. -->
### Steps to Reproduce:
<!-- Explain the steps to reproduce the issue, if applicable. -->
1.
2.
3.
### Expected Behavior:
<!-- Describe what you expected to happen. -->
### Actual Behavior:
<!-- Describe what actually happened. Include screenshots if applicable. -->
### App Information:
- **Version:** <!-- e.g. 1.0.0 -->
- **Device:** <!-- e.g. Samsung Galaxy S10 -->
- **Android Version:** <!-- e.g. Android 11 -->
- **Installation Source:** <!-- e.g. Google Play Store, APK -->
### Log Files:
<!-- If applicable, include log files or error messages related to this issue. -->
### Additional Context:
<!-- Add any other context about the problem here, such as relevant system configuration or screenshots. -->
### Potential Solutions or Workarounds:
<!-- If you know of any potential solutions or workarounds for this issue, please describe them here. -->

View File

@@ -16,7 +16,6 @@ A Lemmy client for Android written in Java. It's a fork of the [Infinity for Red
<div align="center">
[![status-badge](https://ci.codeberg.org/api/badges/12474/status.svg)](https://ci.codeberg.org/12474)
[![Liberapay patrons](https://img.shields.io/liberapay/patrons/bazsalanszky)](https://liberapay.com/Bazsalanszky)
<a href="https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy/issues">Report a Bug</a>
@@ -42,14 +41,11 @@ Infinity for Lemmy is currently in the early stages of development. Expect many
- [x] Support for multiple account handling
- [x] Functionality for post upvotes/downvotes
- [x] Functionality to browse comments
- [x] Capability for creating a new post
- [ ] Capability for creating a new post
- [x] Ability to create comments
- [x] Edit/Delete posts and comments
- [x] Basic inbox
- [ ] Elimination of code/string references specific to Reddit
- [ ] Incorporation of private messaging feature
- [x] Feature for saving posts/comments
- [x] Resolving links
- [ ] Feature for saving posts
- [ ] Account editing function
- [ ] Multi community view?

View File

@@ -38,7 +38,7 @@ import eu.toldi.infinityforlemmy.user.UserData;
@Database(entities = {Account.class, SubredditData.class, SubscribedSubredditData.class, UserData.class,
SubscribedUserData.class, MultiReddit.class, CustomTheme.class, RecentSearchQuery.class,
ReadPost.class, PostFilter.class, PostFilterUsage.class, AnonymousMultiredditSubreddit.class}, version = 24)
ReadPost.class, PostFilter.class, PostFilterUsage.class, AnonymousMultiredditSubreddit.class}, version = 23)
public abstract class RedditDataRoomDatabase extends RoomDatabase {
public static RedditDataRoomDatabase create(final Context context) {
@@ -49,7 +49,7 @@ public abstract class RedditDataRoomDatabase extends RoomDatabase {
MIGRATION_9_10, MIGRATION_10_11, MIGRATION_11_12, MIGRATION_12_13,
MIGRATION_13_14, MIGRATION_14_15, MIGRATION_15_16, MIGRATION_16_17,
MIGRATION_17_18, MIGRATION_18_19, MIGRATION_19_20, MIGRATION_20_21,
MIGRATION_21_22, MIGRATION_22_23, MIGRATION_23_24)
MIGRATION_21_22, MIGRATION_22_23)
.build();
}
@@ -383,11 +383,4 @@ public abstract class RedditDataRoomDatabase extends RoomDatabase {
}
}
};
private static final Migration MIGRATION_23_24 = new Migration(23, 24) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
database.execSQL("ALTER TABLE accounts ADD COLUMN can_downvote INTEGER DEFAULT 1 NOT NULL");
}
};
}

View File

@@ -32,9 +32,6 @@ public class Account implements Parcelable {
@ColumnInfo(name = "instance_url")
private String instance_url;
@ColumnInfo(name = "can_downvote")
private boolean canDownvote = true;
@Ignore
protected Account(Parcel in) {
accountName = in.readString();
@@ -45,7 +42,6 @@ public class Account implements Parcelable {
code = in.readString();
isCurrentUser = in.readByte() != 0;
instance_url = in.readString();
canDownvote = in.readByte() != 0;
}
public static final Creator<Account> CREATOR = new Creator<Account>() {
@@ -62,11 +58,11 @@ public class Account implements Parcelable {
@Ignore
public static Account getAnonymousAccount() {
return new Account("-",null, null, null, null, null, false,null,true);
return new Account("-",null, null, null, null, null, false,null);
}
public Account(@NonNull String accountName, String display_name, String accessToken, String code,
String profileImageUrl, String bannerImageUrl, boolean isCurrentUser,String instance_url, boolean canDownvote) {
String profileImageUrl, String bannerImageUrl, boolean isCurrentUser,String instance_url) {
this.accountName = accountName;
this.display_name = display_name;
this.accessToken = accessToken;
@@ -75,7 +71,6 @@ public class Account implements Parcelable {
this.bannerImageUrl = bannerImageUrl;
this.isCurrentUser = isCurrentUser;
this.instance_url = instance_url;
this.canDownvote = canDownvote;
}
@NonNull
@@ -121,10 +116,6 @@ public class Account implements Parcelable {
return instance_url;
}
public boolean canDownvote() {
return canDownvote;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(accountName);
@@ -135,6 +126,5 @@ public class Account implements Parcelable {
dest.writeString(code);
dest.writeByte((byte) (isCurrentUser ? 1 : 0));
dest.writeString(instance_url);
dest.writeByte((byte) (canDownvote ? 1 : 0));
}
}

View File

@@ -227,7 +227,6 @@ public class LinkResolverActivity extends AppCompatActivity {
intent.putExtra(ViewPostDetailActivity.EXTRA_MESSAGE_FULLNAME, messageFullname);
intent.putExtra(ViewPostDetailActivity.EXTRA_NEW_ACCOUNT_NAME, newAccountName);
intent.putExtra(ViewPostDetailActivity.EXTRA_SINGLE_COMMENT_ID, comment.getId());
intent.putExtra(ViewPostDetailActivity.EXTRA_SINGLE_COMMENT_PARENT_ID, comment.getParentId());
startActivity(intent);
}
@@ -247,7 +246,6 @@ public class LinkResolverActivity extends AppCompatActivity {
intent.putExtra(ViewPostDetailActivity.EXTRA_MESSAGE_FULLNAME, messageFullname);
intent.putExtra(ViewPostDetailActivity.EXTRA_NEW_ACCOUNT_NAME, newAccountName);
intent.putExtra(ViewPostDetailActivity.EXTRA_SINGLE_COMMENT_ID, comment.getId());
intent.putExtra(ViewPostDetailActivity.EXTRA_SINGLE_COMMENT_PARENT_ID, comment.getParentId());
startActivity(intent);
}

View File

@@ -43,8 +43,6 @@ import eu.toldi.infinityforlemmy.asynctasks.ParseAndInsertNewAccount;
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
import eu.toldi.infinityforlemmy.customviews.slidr.Slidr;
import eu.toldi.infinityforlemmy.dto.AccountLoginDTO;
import eu.toldi.infinityforlemmy.site.FetchSiteInfo;
import eu.toldi.infinityforlemmy.site.SiteInfo;
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
import eu.toldi.infinityforlemmy.utils.Utils;
import retrofit2.Call;
@@ -178,35 +176,17 @@ public class LoginActivity extends BaseActivity {
accessToken, new FetchMyInfo.FetchMyInfoListener() {
@Override
public void onFetchMyInfoSuccess(String name, String display_name, String profileImageUrl, String bannerImageUrl) {
FetchSiteInfo.fetchSiteInfo(mRetrofit.getRetrofit(), accessToken, new FetchSiteInfo.FetchSiteInfoListener() {
@Override
public void onFetchSiteInfoSuccess(SiteInfo siteInfo) {
boolean canDownvote = siteInfo.isEnable_downvotes();
ParseAndInsertNewAccount.parseAndInsertNewAccount(mExecutor, new Handler(), name,display_name, accessToken, profileImageUrl, bannerImageUrl, authCode,instance,canDownvote, mRedditDataRoomDatabase.accountDao(),
() -> {
Intent resultIntent = new Intent();
setResult(Activity.RESULT_OK, resultIntent);
finish();
});
mCurrentAccountSharedPreferences.edit().putBoolean(SharedPreferencesUtils.CAN_DOWNVOTE, canDownvote).apply();
}
@Override
public void onFetchSiteInfoFailed() {
ParseAndInsertNewAccount.parseAndInsertNewAccount(mExecutor, new Handler(), name,display_name, accessToken, profileImageUrl, bannerImageUrl, authCode,instance,true, mRedditDataRoomDatabase.accountDao(),
() -> {
Intent resultIntent = new Intent();
setResult(Activity.RESULT_OK, resultIntent);
finish();
});
mCurrentAccountSharedPreferences.edit().putBoolean(SharedPreferencesUtils.CAN_DOWNVOTE, true).apply();
}
});
mCurrentAccountSharedPreferences.edit().putString(SharedPreferencesUtils.ACCESS_TOKEN, accessToken)
.putString(SharedPreferencesUtils.ACCOUNT_NAME, display_name)
.putString(SharedPreferencesUtils.ACCOUNT_QUALIFIED_NAME, name)
.putString(SharedPreferencesUtils.ACCOUNT_INSTANCE,instance)
.putString(SharedPreferencesUtils.ACCOUNT_IMAGE_URL, profileImageUrl).apply();
ParseAndInsertNewAccount.parseAndInsertNewAccount(mExecutor, new Handler(), name,display_name, accessToken, profileImageUrl, bannerImageUrl, authCode,instance, mRedditDataRoomDatabase.accountDao(),
() -> {
Intent resultIntent = new Intent();
setResult(Activity.RESULT_OK, resultIntent);
finish();
});
}
@Override

View File

@@ -1400,6 +1400,10 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
goToUser();
break;
}
case FABMoreOptionsBottomSheetFragment.FAB_RANDOM: {
randomThing();
break;
}
case FABMoreOptionsBottomSheetFragment.FAB_HIDE_READ_POSTS: {
if (sectionsPagerAdapter != null) {
sectionsPagerAdapter.hideReadPosts();

View File

@@ -558,6 +558,10 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect
goToUser();
break;
}
case FABMoreOptionsBottomSheetFragment.FAB_RANDOM: {
random();
break;
}
case FABMoreOptionsBottomSheetFragment.FAB_HIDE_READ_POSTS: {
if (sectionsPagerAdapter != null) {
sectionsPagerAdapter.hideReadPosts();

View File

@@ -233,7 +233,7 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti
});
sectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(sectionsPagerAdapter);
viewPager.setOffscreenPageLimit(1);
viewPager.setOffscreenPageLimit(3);
if (viewPager.getCurrentItem() != 2) {
fab.hide();
}
@@ -358,7 +358,7 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti
}
if (!(!forceLoad && mInsertMultiredditSuccess)) {
//loadMultiReddits();
loadMultiReddits();
}
}
@@ -412,7 +412,7 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti
public void success() {
Toast.makeText(SubscribedThingListingActivity.this,
R.string.delete_multi_reddit_success, Toast.LENGTH_SHORT).show();
//loadMultiReddits();
loadMultiReddits();
}
@Override
@@ -439,7 +439,7 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti
@Subscribe
public void onRefreshMultiRedditsEvent(RefreshMultiRedditsEvent event) {
//loadMultiReddits();
loadMultiReddits();
}
@Override
@@ -477,7 +477,6 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti
@Override
public Fragment getItem(int position) {
switch (position) {
default:
case 0: {
SubscribedSubredditsListingFragment fragment = new SubscribedSubredditsListingFragment();
Bundle bundle = new Bundle();
@@ -488,12 +487,28 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti
fragment.setArguments(bundle);
return fragment;
}
case 1: {
FollowedUsersListingFragment fragment = new FollowedUsersListingFragment();
Bundle bundle = new Bundle();
bundle.putString(FollowedUsersListingFragment.EXTRA_ACCOUNT_NAME, mAccountName == null ? "-" : mAccountName);
bundle.putString(FollowedUsersListingFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
fragment.setArguments(bundle);
return fragment;
}
default: {
MultiRedditListingFragment fragment = new MultiRedditListingFragment();
Bundle bundle = new Bundle();
bundle.putString(MultiRedditListingFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
bundle.putString(MultiRedditListingFragment.EXTRA_ACCOUNT_NAME, mAccountName == null ? "-" : mAccountName);
fragment.setArguments(bundle);
return fragment;
}
}
}
@Override
public int getCount() {
return 1;
return 3;
}
@Override

View File

@@ -946,6 +946,10 @@ public class ViewMultiRedditDetailActivity extends BaseActivity implements SortT
goToUser();
break;
}
case FABMoreOptionsBottomSheetFragment.FAB_RANDOM: {
random();
break;
}
case FABMoreOptionsBottomSheetFragment.FAB_HIDE_READ_POSTS: {
if (mFragment instanceof PostFragment) {
((PostFragment) mFragment).hideReadPosts();

View File

@@ -95,7 +95,6 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
public static final String EXTRA_POST_ID = "EPI";
public static final String EXTRA_POST_LIST_POSITION = "EPLP";
public static final String EXTRA_SINGLE_COMMENT_ID = "ESCI";
public static final String EXTRA_SINGLE_COMMENT_PARENT_ID = "ESCPI";
public static final String EXTRA_CONTEXT_NUMBER = "ECN";
public static final String EXTRA_MESSAGE_FULLNAME = "ENI";
public static final String EXTRA_NEW_ACCOUNT_NAME = "ENAN";
@@ -871,7 +870,6 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
bundle.putParcelable(ViewPostDetailFragment.EXTRA_POST_DATA, post);
bundle.putInt(ViewPostDetailFragment.EXTRA_POST_LIST_POSITION, position);
bundle.putInt(ViewPostDetailFragment.EXTRA_SINGLE_COMMENT_ID, getIntent().getIntExtra(EXTRA_SINGLE_COMMENT_ID, 0));
bundle.putInt(ViewPostDetailFragment.EXTRA_SINGLE_COMMENT_PARENT_ID, getIntent().getIntExtra(EXTRA_SINGLE_COMMENT_PARENT_ID, 0));
bundle.putString(ViewPostDetailFragment.EXTRA_CONTEXT_NUMBER, getIntent().getStringExtra(EXTRA_CONTEXT_NUMBER));
bundle.putString(ViewPostDetailFragment.EXTRA_MESSAGE_FULLNAME, getIntent().getStringExtra(EXTRA_MESSAGE_FULLNAME));
} else {
@@ -893,7 +891,6 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
bundle.putInt(ViewPostDetailFragment.EXTRA_POST_LIST_POSITION, postListPosition);
}
bundle.putInt(ViewPostDetailFragment.EXTRA_SINGLE_COMMENT_ID, getIntent().getIntExtra(EXTRA_SINGLE_COMMENT_ID, 0));
bundle.putInt(ViewPostDetailFragment.EXTRA_SINGLE_COMMENT_PARENT_ID, getIntent().getIntExtra(EXTRA_SINGLE_COMMENT_PARENT_ID, 0));
bundle.putString(ViewPostDetailFragment.EXTRA_CONTEXT_NUMBER, getIntent().getStringExtra(EXTRA_CONTEXT_NUMBER));
bundle.putString(ViewPostDetailFragment.EXTRA_MESSAGE_FULLNAME, getIntent().getStringExtra(EXTRA_MESSAGE_FULLNAME));
}

View File

@@ -554,9 +554,12 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
creationTimeTextView.setText(subredditData.getCreatedUTC());
description = subredditData.getDescription();
descriptionTextView.setVisibility(View.GONE);
if (hideSubredditDescription || description.equals("")) {
descriptionTextView.setVisibility(View.GONE);
} else {
descriptionTextView.setVisibility(View.VISIBLE);
markwon.setMarkdown(descriptionTextView, description);
}
if (subredditData.isNSFW()) {
if (nsfwWarningBuilder == null
@@ -1399,6 +1402,10 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
goToUser();
break;
}
case FABMoreOptionsBottomSheetFragment.FAB_RANDOM: {
random();
break;
}
case FABMoreOptionsBottomSheetFragment.FAB_HIDE_READ_POSTS: {
if (sectionsPagerAdapter != null) {
sectionsPagerAdapter.hideReadPosts();

View File

@@ -1341,7 +1341,10 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
goToUser();
break;
}
case FABMoreOptionsBottomSheetFragment.FAB_RANDOM: {
random();
break;
}
case FABMoreOptionsBottomSheetFragment.FAB_HIDE_READ_POSTS: {
if (sectionsPagerAdapter != null) {
sectionsPagerAdapter.hideReadPosts();

View File

@@ -472,7 +472,6 @@ public class CommentsListingRecyclerViewAdapter extends PagedListAdapter<Comment
Intent intent = new Intent(mActivity, ViewPostDetailActivity.class);
intent.putExtra(ViewPostDetailActivity.EXTRA_POST_ID, comment.getPostId());
intent.putExtra(ViewPostDetailActivity.EXTRA_SINGLE_COMMENT_ID, comment.getId());
intent.putExtra(ViewPostDetailActivity.EXTRA_SINGLE_COMMENT_PARENT_ID, comment.getParentId());
mActivity.startActivity(intent);
}
});

View File

@@ -392,12 +392,12 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
if (comment.getAuthorIconUrl() == null) {
mFragment.loadIcon(comment.getAuthorQualifiedName(), (authorName, iconUrl) -> {
if (authorName.equals(comment.getAuthorQualifiedName())) {
if (authorName.equals(comment.getAuthor())) {
comment.setAuthorIconUrl(iconUrl);
}
Comment currentComment = getCurrentComment(holder);
if (currentComment != null && authorName.equals(currentComment.getAuthorQualifiedName())) {
if (currentComment != null && authorName.equals(currentComment.getAuthor())) {
mGlide.load(iconUrl)
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0)))
.error(mGlide.load(R.drawable.subreddit_default_icon)
@@ -537,12 +537,12 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
if (comment.getAuthorIconUrl() == null) {
mFragment.loadIcon(comment.getAuthorQualifiedName(), (authorName, iconUrl) -> {
if (authorName.equals(comment.getAuthorQualifiedName())) {
if (authorName.equals(comment.getAuthor())) {
comment.setAuthorIconUrl(iconUrl);
}
Comment currentComment = getCurrentComment(holder);
if (currentComment != null && authorName.equals(currentComment.getAuthorQualifiedName())) {
if (currentComment != null && authorName.equals(currentComment.getAuthor())) {
mGlide.load(iconUrl)
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0)))
.error(mGlide.load(R.drawable.subreddit_default_icon)
@@ -1548,7 +1548,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
SaveComment saveComment = new SaveComment();
if (comment.isSaved()) {
comment.setSaved(false);
saveComment.unsaveThing(mRetrofit, mAccessToken, comment.getId(), new SaveThing.SaveThingListener() {
saveComment.unsaveThing(mOauthRetrofit, mAccessToken, comment.getId(), new SaveThing.SaveThingListener() {
@Override
public void success() {
comment.setSaved(false);
@@ -1924,7 +1924,6 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
if (mActivity != null && mActivity instanceof ViewPostDetailActivity) {
mIsSingleCommentThreadMode = false;
mSingleCommentId = null;
loadedComments.clear();
notifyItemRemoved(0);
mFragment.changeToNormalThreadMode();
}

View File

@@ -182,9 +182,6 @@ public class MessageRecyclerViewAdapter extends PagedListAdapter<CommentInteract
intent.putExtra(ViewPostDetailActivity.EXTRA_POST_ID, message.getComment().getPostId());
intent.putExtra(ViewPostDetailActivity.EXTRA_SINGLE_COMMENT_ID, message.getComment().getId());
if(message.getComment().getDepth() > 0) {
intent.putExtra(ViewPostDetailActivity.EXTRA_SINGLE_COMMENT_PARENT_ID, message.getComment().getParentId());
}
mActivity.startActivity(intent);
} else if (mMessageType == FetchMessage.MESSAGE_TYPE_PRIVATE_MESSAGE) {
Intent intent = new Intent(mActivity, ViewPrivateMessagesActivity.class);
@@ -218,7 +215,7 @@ public class MessageRecyclerViewAdapter extends PagedListAdapter<CommentInteract
Intent intent = new Intent(mActivity, ViewUserDetailActivity.class);
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, message.getComment().getAuthor());
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, message.getComment().getAuthorQualifiedName());
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, message.getComment().getCommunityQualifiedName());
mActivity.startActivity(intent);
});
}

View File

@@ -98,7 +98,6 @@ import eu.toldi.infinityforlemmy.markdown.MarkdownUtils;
import eu.toldi.infinityforlemmy.post.Post;
import eu.toldi.infinityforlemmy.post.PostPagingSource;
import eu.toldi.infinityforlemmy.utils.APIUtils;
import eu.toldi.infinityforlemmy.utils.LemmyUtils;
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
import eu.toldi.infinityforlemmy.utils.Utils;
import eu.toldi.infinityforlemmy.videoautoplay.CacheManager;
@@ -439,7 +438,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
}
return new PostDetailVideoAutoplayViewHolder(LayoutInflater.from(parent.getContext()).inflate(mLegacyAutoplayVideoControllerUI ? R.layout.item_post_detail_video_autoplay_legacy_controller : R.layout.item_post_detail_video_autoplay, parent, false));
case VIEW_TYPE_POST_DETAIL_VIDEO_AND_GIF_PREVIEW:
if (mDataSavingMode && (mDisableImagePreview || mOnlyDisablePreviewInVideoAndGifPosts) || mPost.getPreviews().isEmpty()) {
if (mDataSavingMode && (mDisableImagePreview || mOnlyDisablePreviewInVideoAndGifPosts)) {
return new PostDetailNoPreviewViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_no_preview, parent, false));
}
return new PostDetailVideoAndGifPreviewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_post_detail_video_and_gif_preview, parent, false));
@@ -476,7 +475,8 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
((PostDetailBaseViewHolder) holder).mTitleTextView.setText(mPost.getTitle());
if (mPost.getSubredditNamePrefixed().startsWith("u/")) {
if (mPost.getAuthorIconUrl() == null) {
LoadUserData.loadUserData(mExecutor, new Handler(), mRedditDataRoomDatabase,mPost.getAuthorNamePrefixed(), mOauthRetrofit, iconImageUrl -> {
String authorName = mPost.isAuthorDeleted() ? mPost.getSubredditNamePrefixed().substring(2) : mPost.getAuthor();
LoadUserData.loadUserData(mExecutor, new Handler(), mRedditDataRoomDatabase, authorName, mOauthRetrofit, iconImageUrl -> {
if (mActivity != null && getItemCount() > 0) {
if (iconImageUrl == null || iconImageUrl.equals("")) {
mGlide.load(R.drawable.subreddit_default_icon)
@@ -1219,10 +1219,6 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
this.mSaveButton = mSaveButton;
this.mShareButton = mShareButton;
if(!mCurrentAccountSharedPreferences.getBoolean(SharedPreferencesUtils.CAN_DOWNVOTE,true)){
mDownvoteButton.setVisibility(View.GONE);
}
mIconGifImageView.setOnClickListener(view -> mSubredditTextView.performClick());
mSubredditTextView.setOnClickListener(view -> {
@@ -1769,8 +1765,8 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
} else {
intent.setData(Uri.parse(mPost.getVideoUrl()));
intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_DOWNLOAD_URL, mPost.getVideoDownloadUrl());
intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_TYPE, ViewVideoActivity.VIDEO_TYPE_DIRECT);
intent.putExtra(ViewVideoActivity.EXTRA_SUBREDDIT, mPost.getSubredditName());
intent.putExtra(ViewVideoActivity.EXTRA_ID, mPost.getId());
}
intent.putExtra(ViewVideoActivity.EXTRA_POST_TITLE, mPost.getTitle());
if (helper != null) {
@@ -2042,7 +2038,8 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
intent.putExtra(ViewVideoActivity.EXTRA_STREAMABLE_SHORT_CODE, mPost.getStreamableShortCode());
} else {
intent.setData(Uri.parse(mPost.getVideoUrl()));
intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_TYPE, ViewVideoActivity.VIDEO_TYPE_DIRECT);
intent.putExtra(ViewVideoActivity.EXTRA_SUBREDDIT, mPost.getSubredditName());
intent.putExtra(ViewVideoActivity.EXTRA_ID, mPost.getId());
intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_DOWNLOAD_URL, mPost.getVideoDownloadUrl());
}
intent.putExtra(ViewVideoActivity.EXTRA_POST_TITLE, mPost.getTitle());
@@ -2380,7 +2377,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler
intent.putExtra(ViewVideoActivity.EXTRA_STREAMABLE_SHORT_CODE, mPost.getStreamableShortCode());
} else {
intent.setData(Uri.parse(mPost.getVideoUrl()));
intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_TYPE, ViewVideoActivity.VIDEO_TYPE_DIRECT);
intent.putExtra(ViewVideoActivity.EXTRA_SUBREDDIT, mPost.getSubredditName());
intent.putExtra(ViewVideoActivity.EXTRA_ID, mPost.getId());
intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_DOWNLOAD_URL, mPost.getVideoDownloadUrl());
}

View File

@@ -542,7 +542,7 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
if (mDisplaySubredditName) {
if (authorPrefixed.equals(post.getSubredditNamePrefixed())) {
if (post.getAuthorIconUrl() == null) {
mFragment.loadIcon(post.getAuthorNamePrefixed(), false, (subredditOrUserName, iconUrl) -> {
mFragment.loadIcon(post.getAuthor(), false, (subredditOrUserName, iconUrl) -> {
if (mActivity != null && getItemCount() > 0 && post.getAuthor().equals(subredditOrUserName)) {
if (iconUrl == null || iconUrl.equals("")) {
mGlide.load(R.drawable.subreddit_default_icon)
@@ -574,7 +574,7 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
}
} else {
if (post.getSubredditIconUrl() == null) {
mFragment.loadIcon(post.getSubredditNamePrefixed(), true, (subredditOrUserName, iconUrl) -> {
mFragment.loadIcon(post.getSubredditName(), true, (subredditOrUserName, iconUrl) -> {
if (mActivity != null && getItemCount() > 0 && post.getSubredditName().equals(subredditOrUserName)) {
if (iconUrl == null || iconUrl.equals("")) {
mGlide.load(R.drawable.subreddit_default_icon)
@@ -608,7 +608,7 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
} else {
if (post.getAuthorIconUrl() == null) {
String authorName = post.isAuthorDeleted() ? post.getSubredditName() : post.getAuthor();
mFragment.loadIcon(post.getSubredditNamePrefixed(), post.isAuthorDeleted(), (subredditOrUserName, iconUrl) -> {
mFragment.loadIcon(authorName, post.isAuthorDeleted(), (subredditOrUserName, iconUrl) -> {
if (mActivity != null && getItemCount() > 0) {
if (iconUrl == null || iconUrl.equals("") && authorName.equals(subredditOrUserName)) {
mGlide.load(R.drawable.subreddit_default_icon)
@@ -913,15 +913,15 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
int width = resource.getIntrinsicWidth();
int height = resource.getIntrinsicHeight();
((PostCard2VideoAutoplayViewHolder) holder).previewImageView.setImageDrawable(resource);
((PostVideoAutoplayViewHolder) holder).previewImageView.setImageDrawable(resource);
if (preview.getPreviewHeight() <= 0 || preview.getPreviewWidth() <= 0) {
((PostCard2VideoAutoplayViewHolder) holder).aspectRatioFrameLayout.setAspectRatio((float) height / width);
((PostCard2VideoAutoplayViewHolder) holder).previewImageView.getLayoutParams().height = height;
((PostVideoAutoplayViewHolder) holder).aspectRatioFrameLayout.setAspectRatio((float) height / width);
((PostVideoAutoplayViewHolder) holder).previewImageView.getLayoutParams().height = height;
preview.setPreviewHeight(height);
preview.setPreviewWidth(width);
} else {
((PostCard2VideoAutoplayViewHolder) holder).aspectRatioFrameLayout.setAspectRatio((float) preview.getPreviewHeight() / preview.getPreviewWidth());
((PostCard2VideoAutoplayViewHolder) holder).previewImageView.getLayoutParams().height = height;
((PostVideoAutoplayViewHolder) holder).aspectRatioFrameLayout.setAspectRatio((float) preview.getPreviewHeight() / preview.getPreviewWidth());
((PostVideoAutoplayViewHolder) holder).previewImageView.getLayoutParams().height = height;
}
}
@@ -1099,7 +1099,7 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
((PostCompactBaseViewHolder) holder).titleTextView.setTextColor(mReadPostTitleColor);
}
final String subredditNamePrefixed = post.getSubredditNamePrefixed();
String subredditName = subredditNamePrefixed;
String subredditName = subredditNamePrefixed.substring(2);
String authorPrefixed = post.getAuthorNamePrefixed();
final String title = post.getTitle();
int voteType = post.getVoteType();
@@ -1109,8 +1109,8 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
if (mDisplaySubredditName) {
if (authorPrefixed.equals(subredditNamePrefixed)) {
if (post.getAuthorIconUrl() == null) {
mFragment.loadIcon(post.getAuthorNamePrefixed(), false, (subredditOrUserName, iconUrl) -> {
if (mActivity != null && getItemCount() > 0 && post.getAuthorNamePrefixed().equals(subredditOrUserName)) {
mFragment.loadIcon(post.getAuthor(), false, (subredditOrUserName, iconUrl) -> {
if (mActivity != null && getItemCount() > 0 && post.getAuthor().equals(subredditOrUserName)) {
if (iconUrl == null || iconUrl.equals("")) {
mGlide.load(R.drawable.subreddit_default_icon)
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0)))
@@ -1141,7 +1141,7 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
}
} else {
if (post.getSubredditIconUrl() == null) {
mFragment.loadIcon(subredditNamePrefixed, true, (subredditOrUserName, iconUrl) -> {
mFragment.loadIcon(subredditName, true, (subredditOrUserName, iconUrl) -> {
if (mActivity != null && getItemCount() > 0 && subredditName.equals(subredditOrUserName)) {
if (iconUrl == null || iconUrl.equals("")) {
mGlide.load(R.drawable.subreddit_default_icon)
@@ -1181,8 +1181,8 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
}
} else {
if (post.getAuthorIconUrl() == null) {
String authorName = post.getAuthorNamePrefixed();
mFragment.loadIcon(post.getAuthorNamePrefixed(), false, (subredditOrUserName, iconUrl) -> {
String authorName = post.isAuthorDeleted() ? post.getSubredditName() : post.getAuthor();
mFragment.loadIcon(authorName, post.isAuthorDeleted(), (subredditOrUserName, iconUrl) -> {
if (mActivity != null && getItemCount() > 0 && authorName.equals(subredditOrUserName)) {
if (iconUrl == null || iconUrl.equals("")) {
mGlide.load(R.drawable.subreddit_default_icon)
@@ -2249,7 +2249,8 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
intent.putExtra(ViewVideoActivity.EXTRA_STREAMABLE_SHORT_CODE, post.getStreamableShortCode());
} else {
intent.setData(Uri.parse(post.getVideoUrl()));
intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_TYPE, ViewVideoActivity.VIDEO_TYPE_DIRECT);
intent.putExtra(ViewVideoActivity.EXTRA_SUBREDDIT, post.getSubredditName());
intent.putExtra(ViewVideoActivity.EXTRA_ID, post.getId());
intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_DOWNLOAD_URL, post.getVideoDownloadUrl());
}
intent.putExtra(ViewVideoActivity.EXTRA_POST_TITLE, post.getTitle());
@@ -2370,9 +2371,6 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
this.shareButton = shareButton;
scoreTextView.setOnClickListener(null);
if(!mCurrentAccountSharedPreferences.getBoolean(SharedPreferencesUtils.CAN_DOWNVOTE,true)){
downvoteButton.setVisibility(View.GONE);
}
if (mVoteButtonsOnTheRight) {
ConstraintSet constraintSet = new ConstraintSet();
@@ -3730,10 +3728,6 @@ public class PostRecyclerViewAdapter extends PagingDataAdapter<Post, RecyclerVie
scoreTextView.setOnClickListener(null);
if(!mCurrentAccountSharedPreferences.getBoolean(SharedPreferencesUtils.CAN_DOWNVOTE,true)){
downvoteButton.setVisibility(View.GONE);
}
if (mVoteButtonsOnTheRight) {
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(bottomConstraintLayout);

View File

@@ -24,8 +24,8 @@ public class AccountSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recy
private static final int VIEW_TYPE_MENU_GROUP_TITLE = 1;
private static final int VIEW_TYPE_MENU_ITEM = 2;
private static final int ACCOUNT_SECTION_ITEMS = 4;
private static final int ANONYMOUS_ACCOUNT_SECTION_ITEMS = 2;
private static final int ACCOUNT_SECTION_ITEMS = 5;
private static final int ANONYMOUS_ACCOUNT_SECTION_ITEMS = 3;
private BaseActivity baseActivity;
private int inboxCount;
@@ -101,6 +101,10 @@ public class AccountSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recy
drawableId = R.drawable.ic_subscritptions_bottom_app_bar_24dp;
break;
case 3:
stringId = R.string.multi_reddit;
drawableId = R.drawable.ic_multi_reddit_24dp;
break;
case 4:
setOnClickListener = false;
if (inboxCount > 0) {
((MenuItemViewHolder) holder).menuTextView.setText(baseActivity.getString(R.string.inbox_with_count, inboxCount));
@@ -114,21 +118,23 @@ public class AccountSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recy
});
break;
default:
stringId = R.string.account_saved_thing_activity_label;
drawableId = R.drawable.ic_outline_bookmarks_24dp;
break;
stringId = R.string.history;
drawableId = R.drawable.ic_history_24dp;
}
} else {
switch (position) {
case 1:
stringId = R.string.subscriptions;
drawableId = R.drawable.ic_subscritptions_bottom_app_bar_24dp;
break;
default:
stringId = R.string.anonymous_account_instance;
drawableId = R.drawable.ic_account_circle_24dp;
case 2:
stringId = R.string.multi_reddit;
drawableId = R.drawable.ic_multi_reddit_24dp;
break;
default:
stringId = R.string.history;
drawableId = R.drawable.ic_history_24dp;
}
}

View File

@@ -17,6 +17,8 @@ import eu.toldi.infinityforlemmy.subscribedsubreddit.SubscribedSubredditData;
public class NavigationDrawerRecyclerViewMergedAdapter {
private HeaderSectionRecyclerViewAdapter headerSectionRecyclerViewAdapter;
private AccountSectionRecyclerViewAdapter accountSectionRecyclerViewAdapter;
private RedditSectionRecyclerViewAdapter redditSectionRecyclerViewAdapter;
private PostSectionRecyclerViewAdapter postSectionRecyclerViewAdapter;
private PreferenceSectionRecyclerViewAdapter preferenceSectionRecyclerViewAdapter;
private FavoriteSubscribedSubredditsSectionRecyclerViewAdapter favoriteSubscribedSubredditsSectionRecyclerViewAdapter;
private SubscribedSubredditsRecyclerViewAdapter subscribedSubredditsRecyclerViewAdapter;
@@ -47,6 +49,10 @@ public class NavigationDrawerRecyclerViewMergedAdapter {
});
accountSectionRecyclerViewAdapter = new AccountSectionRecyclerViewAdapter(baseActivity, customThemeWrapper,
navigationDrawerSharedPreferences, accountName != null, itemClickListener);
redditSectionRecyclerViewAdapter = new RedditSectionRecyclerViewAdapter(baseActivity, customThemeWrapper,
navigationDrawerSharedPreferences, itemClickListener, accountName != null);
postSectionRecyclerViewAdapter = new PostSectionRecyclerViewAdapter(baseActivity, customThemeWrapper,
navigationDrawerSharedPreferences, accountName != null, itemClickListener);
preferenceSectionRecyclerViewAdapter = new PreferenceSectionRecyclerViewAdapter(baseActivity, customThemeWrapper,
accountName, nsfwAndSpoilerSharedPreferences, navigationDrawerSharedPreferences, itemClickListener);
favoriteSubscribedSubredditsSectionRecyclerViewAdapter = new FavoriteSubscribedSubredditsSectionRecyclerViewAdapter(
@@ -59,6 +65,8 @@ public class NavigationDrawerRecyclerViewMergedAdapter {
mainPageConcatAdapter = new ConcatAdapter(
headerSectionRecyclerViewAdapter,
accountSectionRecyclerViewAdapter,
redditSectionRecyclerViewAdapter,
postSectionRecyclerViewAdapter,
preferenceSectionRecyclerViewAdapter,
favoriteSubscribedSubredditsSectionRecyclerViewAdapter,
subscribedSubredditsRecyclerViewAdapter);
@@ -70,6 +78,8 @@ public class NavigationDrawerRecyclerViewMergedAdapter {
private void openAccountSection() {
mainPageConcatAdapter.removeAdapter(accountSectionRecyclerViewAdapter);
mainPageConcatAdapter.removeAdapter(redditSectionRecyclerViewAdapter);
mainPageConcatAdapter.removeAdapter(postSectionRecyclerViewAdapter);
mainPageConcatAdapter.removeAdapter(preferenceSectionRecyclerViewAdapter);
mainPageConcatAdapter.removeAdapter(favoriteSubscribedSubredditsSectionRecyclerViewAdapter);
mainPageConcatAdapter.removeAdapter(subscribedSubredditsRecyclerViewAdapter);
@@ -81,6 +91,8 @@ public class NavigationDrawerRecyclerViewMergedAdapter {
mainPageConcatAdapter.removeAdapter(accountManagementSectionRecyclerViewAdapter);
mainPageConcatAdapter.addAdapter(accountSectionRecyclerViewAdapter);
mainPageConcatAdapter.addAdapter(redditSectionRecyclerViewAdapter);
mainPageConcatAdapter.addAdapter(postSectionRecyclerViewAdapter);
mainPageConcatAdapter.addAdapter(preferenceSectionRecyclerViewAdapter);
mainPageConcatAdapter.addAdapter(favoriteSubscribedSubredditsSectionRecyclerViewAdapter);
mainPageConcatAdapter.addAdapter(subscribedSubredditsRecyclerViewAdapter);

View File

@@ -221,9 +221,4 @@ public interface LemmyAPI {
@Query("id") int commentId,
@Query("auth") String auth
);
@GET("api/v3/site")
Call<String> getSiteInfo(
@Query("auth") String auth
);
}

View File

@@ -9,7 +9,6 @@ import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
import eu.toldi.infinityforlemmy.subreddit.FetchSubredditData;
import eu.toldi.infinityforlemmy.subreddit.SubredditDao;
import eu.toldi.infinityforlemmy.subreddit.SubredditData;
import eu.toldi.infinityforlemmy.utils.LemmyUtils;
import retrofit2.Retrofit;
public class LoadSubredditIcon {
@@ -19,9 +18,9 @@ public class LoadSubredditIcon {
LoadSubredditIconAsyncTaskListener loadSubredditIconAsyncTaskListener) {
executor.execute(() -> {
SubredditDao subredditDao = redditDataRoomDatabase.subredditDao();
SubredditData subredditData = subredditDao.getSubredditDataByActorId(LemmyUtils.qualifiedCommunityName2ActorId(subredditName));
SubredditData subredditData = subredditDao.getSubredditData(subredditName);
if (subredditData != null) {
String iconImageUrl = subredditDao.getSubredditDataByActorId(LemmyUtils.qualifiedCommunityName2ActorId(subredditName)).getIconUrl();
String iconImageUrl = subredditDao.getSubredditData(subredditName).getIconUrl();
handler.post(() -> loadSubredditIconAsyncTaskListener.loadIconSuccess(iconImageUrl));
} else {
handler.post(() -> FetchSubredditData.fetchSubredditData(retrofit, subredditName, accessToken, new FetchSubredditData.FetchSubredditDataListener() {

View File

@@ -8,7 +8,6 @@ import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
import eu.toldi.infinityforlemmy.user.FetchUserData;
import eu.toldi.infinityforlemmy.user.UserDao;
import eu.toldi.infinityforlemmy.user.UserData;
import eu.toldi.infinityforlemmy.utils.LemmyUtils;
import retrofit2.Retrofit;
public class LoadUserData {
@@ -17,9 +16,8 @@ public class LoadUserData {
Retrofit retrofit, LoadUserDataAsyncTaskListener loadUserDataAsyncTaskListener) {
executor.execute(() -> {
UserDao userDao = redditDataRoomDatabase.userDao();
UserData userData= userDao.getUserDataByActorId(LemmyUtils.qualifiedUserName2ActorId(userName));
if (userData != null) {
String iconImageUrl = userData.getIconUrl();
if (userDao.getUserData(userName) != null) {
String iconImageUrl = userDao.getUserData(userName).getIconUrl();
handler.post(() -> loadUserDataAsyncTaskListener.loadUserDataSuccess(iconImageUrl));
} else {
handler.post(() -> FetchUserData.fetchUserData(retrofit, userName, new FetchUserData.FetchUserDataListener() {

View File

@@ -11,11 +11,11 @@ public class ParseAndInsertNewAccount {
public static void parseAndInsertNewAccount(Executor executor, Handler handler, String username,
String display_name,String accessToken, String profileImageUrl,
String bannerImageUrl, String code,String instance,boolean can_downvote, AccountDao accountDao,
String bannerImageUrl, String code,String instance, AccountDao accountDao,
ParseAndInsertAccountListener parseAndInsertAccountListener) {
executor.execute(() -> {
Account account = new Account(username,display_name, accessToken, code, profileImageUrl,
bannerImageUrl, true,instance,true);
bannerImageUrl, true,instance);
accountDao.markAllAccountsNonCurrent();
accountDao.insert(account);

View File

@@ -8,8 +8,6 @@ import java.util.concurrent.Executor;
import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
import eu.toldi.infinityforlemmy.RetrofitHolder;
import eu.toldi.infinityforlemmy.account.Account;
import eu.toldi.infinityforlemmy.site.FetchSiteInfo;
import eu.toldi.infinityforlemmy.site.SiteInfo;
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
public class SwitchAccount {
@@ -28,18 +26,6 @@ public class SwitchAccount {
.putString(SharedPreferencesUtils.ACCOUNT_INSTANCE,account.getInstance_url())
.putString(SharedPreferencesUtils.ACCOUNT_IMAGE_URL, account.getProfileImageUrl()).apply();
retrofitHolder.setBaseURL(account.getInstance_url());
FetchSiteInfo.fetchSiteInfo(retrofitHolder.getRetrofit(), account.getAccessToken(), new FetchSiteInfo.FetchSiteInfoListener() {
@Override
public void onFetchSiteInfoSuccess(SiteInfo siteInfo) {
boolean canDownvote = siteInfo.isEnable_downvotes();
currentAccountSharedPreferences.edit().putBoolean(SharedPreferencesUtils.CAN_DOWNVOTE, canDownvote).apply();
}
@Override
public void onFetchSiteInfoFailed() {
currentAccountSharedPreferences.edit().putBoolean(SharedPreferencesUtils.CAN_DOWNVOTE, true).apply();
}
});
handler.post(() -> switchAccountListener.switched(account));
});

View File

@@ -55,8 +55,12 @@ public class CommentMoreBottomSheetFragment extends LandscapeExpandedRoundedBott
TextView shareTextView;
@BindView(R.id.copy_text_view_comment_more_bottom_sheet_fragment)
TextView copyTextView;
@BindView(R.id.give_award_text_view_comment_more_bottom_sheet_fragment)
TextView giveAwardTextView;
@BindView(R.id.report_view_comment_more_bottom_sheet_fragment)
TextView reportTextView;
@BindView(R.id.see_removed_view_comment_more_bottom_sheet_fragment)
TextView seeRemovedTextView;
private BaseActivity activity;
public CommentMoreBottomSheetFragment() {
@@ -89,6 +93,18 @@ public class CommentMoreBottomSheetFragment extends LandscapeExpandedRoundedBott
boolean showReplyAndSaveOption = bundle.getBoolean(EXTRA_SHOW_REPLY_AND_SAVE_OPTION, false);
if (accessToken != null && !accessToken.equals("")) {
giveAwardTextView.setVisibility(View.VISIBLE);
giveAwardTextView.setOnClickListener(view -> {
Intent intent = new Intent(activity, GiveAwardActivity.class);
intent.putExtra(GiveAwardActivity.EXTRA_THING_FULLNAME, comment.getFullName());
intent.putExtra(GiveAwardActivity.EXTRA_ITEM_POSITION, bundle.getInt(EXTRA_POSITION));
if (activity instanceof ViewPostDetailActivity) {
activity.startActivityForResult(intent, ViewPostDetailActivity.GIVE_AWARD_REQUEST_CODE);
} else if (activity instanceof ViewUserDetailActivity) {
activity.startActivityForResult(intent, ViewUserDetailActivity.GIVE_AWARD_REQUEST_CODE);
}
dismiss();
});
if (editAndDeleteAvailable) {
editTextView.setVisibility(View.VISIBLE);
@@ -177,14 +193,27 @@ public class CommentMoreBottomSheetFragment extends LandscapeExpandedRoundedBott
});
reportTextView.setOnClickListener(view -> {
/*Intent intent = new Intent(activity, ReportActivity.class);
Intent intent = new Intent(activity, ReportActivity.class);
intent.putExtra(ReportActivity.EXTRA_SUBREDDIT_NAME, comment.getCommunityName());
intent.putExtra(ReportActivity.EXTRA_THING_FULLNAME, comment.getFullName());
activity.startActivity(intent);*/
Toast.makeText(activity, R.string.not_implemented, Toast.LENGTH_SHORT).show();
activity.startActivity(intent);
dismiss();
});
if ("[deleted]".equals(comment.getAuthor()) ||
"[deleted]".equals(comment.getCommentRawText()) ||
"[removed]".equals(comment.getCommentRawText())
) {
seeRemovedTextView.setVisibility(View.VISIBLE);
seeRemovedTextView.setOnClickListener(view -> {
dismiss();
if (activity instanceof ViewPostDetailActivity) {
((ViewPostDetailActivity) activity).showRemovedComment(comment, bundle.getInt(EXTRA_POSITION));
}
});
}
if (activity.typeface != null) {
Utils.setFontToAllTextViews(rootView, activity.typeface);

View File

@@ -24,6 +24,7 @@ public class FABMoreOptionsBottomSheetFragment extends LandscapeExpandedRoundedB
public static final int FAB_OPTION_SEARCH = 4;
public static final int FAB_OPTION_GO_TO_SUBREDDIT = 5;
public static final int FAB_OPTION_GO_TO_USER = 6;
public static final int FAB_RANDOM = 7;
public static final int FAB_HIDE_READ_POSTS = 8;
public static final int FAB_FILTER_POSTS = 9;
public static final int FAB_GO_TO_TOP = 10;
@@ -85,6 +86,10 @@ public class FABMoreOptionsBottomSheetFragment extends LandscapeExpandedRoundedB
dismiss();
});
binding.randomTextViewFabMoreOptionsBottomSheetFragment.setOnClickListener(view -> {
activity.fabOptionSelected(FAB_RANDOM);
dismiss();
});
binding.filterPostsTextViewFabMoreOptionsBottomSheetFragment.setOnClickListener(view -> {
activity.fabOptionSelected(FAB_FILTER_POSTS);

View File

@@ -31,12 +31,16 @@ public class SearchPostSortTypeBottomSheetFragment extends LandscapeExpandedRoun
public static final String EXTRA_CURRENT_SORT_TYPE = "ECST";
@BindView(R.id.relevance_type_text_view_search_sort_type_bottom_sheet_fragment)
TextView relevanceTypeTextView;
@BindView(R.id.hot_type_text_view_search_sort_type_bottom_sheet_fragment)
TextView hotTypeTextView;
@BindView(R.id.top_type_text_view_search_sort_type_bottom_sheet_fragment)
TextView topTypeTextView;
@BindView(R.id.new_type_text_view_search_sort_type_bottom_sheet_fragment)
TextView newTypeTextView;
@BindView(R.id.old_type_text_view_search_sort_type_bottom_sheet_fragment)
TextView oldTypeTextView;
@BindView(R.id.comments_type_text_view_search_sort_type_bottom_sheet_fragment)
TextView commentsTypeTextView;
private BaseActivity activity;
public SearchPostSortTypeBottomSheetFragment() {
// Required empty public constructor
@@ -57,12 +61,14 @@ public class SearchPostSortTypeBottomSheetFragment extends LandscapeExpandedRoun
ButterKnife.bind(this, rootView);
String currentSortType = getArguments().getString(EXTRA_CURRENT_SORT_TYPE);
if (currentSortType.equals(SortType.Type.TOP.fullName)) {
if (currentSortType.equals(SortType.Type.HOT.fullName)) {
hotTypeTextView.setCompoundDrawablesRelativeWithIntrinsicBounds(hotTypeTextView.getCompoundDrawablesRelative()[0], null, AppCompatResources.getDrawable(activity, R.drawable.ic_round_check_circle_day_night_24dp), null);
} else if (currentSortType.equals(SortType.Type.TOP.fullName)) {
topTypeTextView.setCompoundDrawablesRelativeWithIntrinsicBounds(topTypeTextView.getCompoundDrawablesRelative()[0], null, AppCompatResources.getDrawable(activity, R.drawable.ic_round_check_circle_day_night_24dp), null);
} else if (currentSortType.equals(SortType.Type.NEW.fullName)) {
newTypeTextView.setCompoundDrawablesRelativeWithIntrinsicBounds(newTypeTextView.getCompoundDrawablesRelative()[0], null, AppCompatResources.getDrawable(activity, R.drawable.ic_round_check_circle_day_night_24dp), null);
} else if (currentSortType.equals(SortType.Type.OLD.fullName)) {
oldTypeTextView.setCompoundDrawablesRelativeWithIntrinsicBounds(oldTypeTextView.getCompoundDrawablesRelative()[0], null, AppCompatResources.getDrawable(activity, R.drawable.ic_round_check_circle_day_night_24dp), null);
commentsTypeTextView.setCompoundDrawablesRelativeWithIntrinsicBounds(commentsTypeTextView.getCompoundDrawablesRelative()[0], null, AppCompatResources.getDrawable(activity, R.drawable.ic_round_check_circle_day_night_24dp), null);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
@@ -70,6 +76,15 @@ public class SearchPostSortTypeBottomSheetFragment extends LandscapeExpandedRoun
rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}
/*relevanceTypeTextView.setOnClickListener(view -> {
((SortTypeSelectionCallback) activity).sortTypeSelected(SortType.Type.RELEVANCE.name());
dismiss();
});*/
hotTypeTextView.setOnClickListener(view -> {
((SortTypeSelectionCallback) activity).sortTypeSelected(SortType.Type.HOT.name());
dismiss();
});
topTypeTextView.setOnClickListener(view -> {
((SortTypeSelectionCallback) activity).sortTypeSelected(SortType.Type.TOP.name());
@@ -77,12 +92,12 @@ public class SearchPostSortTypeBottomSheetFragment extends LandscapeExpandedRoun
});
newTypeTextView.setOnClickListener(view -> {
((SortTypeSelectionCallback) activity).sortTypeSelected(new SortType(SortType.Type.NEW,null));
((SortTypeSelectionCallback) activity).sortTypeSelected(new SortType(SortType.Type.NEW));
dismiss();
});
oldTypeTextView.setOnClickListener(view -> {
((SortTypeSelectionCallback) activity).sortTypeSelected(new SortType(SortType.Type.OLD,null));
commentsTypeTextView.setOnClickListener(view -> {
((SortTypeSelectionCallback) activity).sortTypeSelected(SortType.Type.MOST_COMMENTS.name());
dismiss();
});

View File

@@ -284,12 +284,6 @@ public class ParseComment {
String author = creatorObj.getString("name");
String authorQualifiedName = LemmyUtils.actorID2FullName(creatorObj.getString("actor_id"));
String linkAuthor = creatorObj.getString("actor_id");
String authorAvatar = null;
if(creatorObj.has("avatar")){
authorAvatar = creatorObj.getString("avatar");
}
long commentTimeMillis = 0;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
commentTimeMillis = ZonedDateTime.parse(commentObj.getString("published"),
@@ -340,7 +334,6 @@ public class ParseComment {
score, voteType, isSubmitter, distinguished, permalink, depth, collapsed, hasReply, saved, deleted, edited, path);
int child_count = countsObj.getInt("child_count");
comment.setChildCount(child_count);
comment.setAuthorIconUrl(authorAvatar);
return comment;
}

View File

@@ -137,7 +137,6 @@ import eu.toldi.infinityforlemmy.post.PostPagingSource;
import eu.toldi.infinityforlemmy.post.PostViewModel;
import eu.toldi.infinityforlemmy.postfilter.PostFilter;
import eu.toldi.infinityforlemmy.postfilter.PostFilterUsage;
import eu.toldi.infinityforlemmy.utils.LemmyUtils;
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
import eu.toldi.infinityforlemmy.utils.Utils;
import eu.toldi.infinityforlemmy.videoautoplay.ExoCreator;
@@ -461,9 +460,9 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
nameOfUsage = PostFilterUsage.NO_USAGE;
String sort = mSortTypeSharedPreferences.getString(SharedPreferencesUtils.SORT_TYPE_SEARCH_POST, SortType.Type.TOP_ALL.value);
String sortTime = mSortTypeSharedPreferences.getString(SharedPreferencesUtils.SORT_TIME_SEARCH_POST, sort.equalsIgnoreCase(SortType.Type.TOP.value) ? SortType.Time.ALL.name() : null);
String sortTime = mSortTypeSharedPreferences.getString(SharedPreferencesUtils.SORT_TIME_SEARCH_POST, SortType.Time.ALL.name());
SortType.Type st = SortType.Type.fromValue(sort);
sortType = new SortType(st == null ? SortType.Type.TOP_ALL : st,sortTime != null ? SortType.Time.valueOf(sortTime) : null);
sortType = new SortType(st == null ? SortType.Type.TOP_ALL : st, SortType.Time.valueOf(sortTime));
postLayout = mPostLayoutSharedPreferences.getInt(SharedPreferencesUtils.POST_LAYOUT_SEARCH_POST, defaultPostLayout);
mAdapter = new PostRecyclerViewAdapter(activity, this, mExecutor, mRetrofit.getRetrofit(), mGfycatRetrofit,
@@ -1386,8 +1385,6 @@ public class PostFragment extends Fragment implements FragmentCommunicator {
mSortTypeSharedPreferences.edit().putString(SharedPreferencesUtils.SORT_TYPE_SEARCH_POST, sortType.getType().name()).apply();
if (sortType.getTime() != null) {
mSortTypeSharedPreferences.edit().putString(SharedPreferencesUtils.SORT_TIME_SEARCH_POST, sortType.getTime().name()).apply();
}else {
mSortTypeSharedPreferences.edit().remove(SharedPreferencesUtils.SORT_TIME_SEARCH_POST).apply();
}
break;
case PostPagingSource.TYPE_MULTI_REDDIT:

View File

@@ -78,6 +78,7 @@ import eu.toldi.infinityforlemmy.SaveThing;
import eu.toldi.infinityforlemmy.SortType;
import eu.toldi.infinityforlemmy.activities.CommentActivity;
import eu.toldi.infinityforlemmy.activities.EditPostActivity;
import eu.toldi.infinityforlemmy.activities.GiveAwardActivity;
import eu.toldi.infinityforlemmy.activities.PostFilterPreferenceActivity;
import eu.toldi.infinityforlemmy.activities.ReportActivity;
import eu.toldi.infinityforlemmy.activities.SubmitCrosspostActivity;
@@ -128,8 +129,6 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
public static final String EXTRA_POST_DATA = "EPD";
public static final String EXTRA_POST_ID = "EPI";
public static final String EXTRA_SINGLE_COMMENT_ID = "ESCI";
public static final String EXTRA_SINGLE_COMMENT_PARENT_ID = "ESCPID";
public static final String EXTRA_CONTEXT_NUMBER = "ECN";
public static final String EXTRA_MESSAGE_FULLNAME = "EMF";
public static final String EXTRA_POST_LIST_POSITION = "EPLP";
@@ -230,7 +229,6 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
private String mAccountQualifiedName;
private int postListPosition = -1;
private Integer mSingleCommentId;
private Integer mSingleCommentParentId;
private String mContextNumber;
private boolean showToast = false;
private boolean mIsSmoothScrolling = false;
@@ -549,7 +547,6 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
};
mSingleCommentId = getArguments().getInt(EXTRA_SINGLE_COMMENT_ID, 0);
mSingleCommentParentId = getArguments().getInt(EXTRA_SINGLE_COMMENT_PARENT_ID, 0);
mContextNumber = getArguments().getString(EXTRA_CONTEXT_NUMBER, "8");
if (savedInstanceState == null) {
@@ -609,8 +606,8 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
mExoCreator, post -> EventBus.getDefault().post(new PostUpdateEventToPostList(mPost, postListPosition)));
mCommentsAdapter = new CommentsRecyclerViewAdapter(activity,
this, mCustomThemeWrapper, mExecutor, mRetrofit.getRetrofit(),
mAccessToken, mAccountName, mPost, mLocale, mSingleCommentId
, isSingleCommentThreadMode, mSharedPreferences,
mAccessToken, mAccountName, mPost, mLocale, mSingleCommentId,
isSingleCommentThreadMode, mSharedPreferences,
new CommentsRecyclerViewAdapter.CommentRecyclerViewAdapterCallback() {
@Override
public void retryFetchingComments() {
@@ -629,7 +626,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
public SortType.Type getSortType() {
return sortType;
}
} );
});
if (mCommentsRecyclerView != null) {
mRecyclerView.setAdapter(mPostAdapter);
mCommentsRecyclerView.setAdapter(mCommentsAdapter);
@@ -707,7 +704,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
MenuItem spoilerItem = mMenu.findItem(R.id.action_spoiler_view_post_detail_fragment);
spoilerItem.setVisible(true);
mMenu.findItem(R.id.action_block_user_view_post_detail_fragment).setVisible(false);
mMenu.findItem(R.id.action_edit_flair_view_post_detail_fragment).setVisible(true);
}
mMenu.findItem(R.id.action_view_crosspost_parent_view_post_detail_fragment).setVisible(mPost.getCrosspostParentId() != null);
@@ -1070,18 +1067,35 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
return true;
} else if (itemId == R.id.action_spoiler_view_post_detail_fragment) {
return true;
} else if (itemId == R.id.action_block_user_view_post_detail_fragment) {
Toast.makeText(activity, R.string.not_implemented, Toast.LENGTH_SHORT).show();
} else if (itemId == R.id.action_edit_flair_view_post_detail_fragment) {
FlairBottomSheetFragment flairBottomSheetFragment = new FlairBottomSheetFragment();
Bundle bundle = new Bundle();
bundle.putString(FlairBottomSheetFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
bundle.putString(FlairBottomSheetFragment.EXTRA_SUBREDDIT_NAME, mPost.getSubredditName());
bundle.putLong(FlairBottomSheetFragment.EXTRA_VIEW_POST_DETAIL_FRAGMENT_ID, viewPostDetailFragmentId);
flairBottomSheetFragment.setArguments(bundle);
flairBottomSheetFragment.show(activity.getSupportFragmentManager(), flairBottomSheetFragment.getTag());
return true;
} else if (itemId == R.id.action_block_community_view_post_detail_fragment) {
Toast.makeText(activity, R.string.not_implemented, Toast.LENGTH_SHORT).show();
} else if (itemId == R.id.action_give_award_view_post_detail_fragment) {
if (mAccessToken == null) {
Toast.makeText(activity, R.string.login_first, Toast.LENGTH_SHORT).show();
return true;
}
Intent giveAwardIntent = new Intent(activity, GiveAwardActivity.class);
giveAwardIntent.putExtra(GiveAwardActivity.EXTRA_THING_FULLNAME, mPost.getFullName());
giveAwardIntent.putExtra(GiveAwardActivity.EXTRA_ITEM_POSITION, 0);
activity.startActivityForResult(giveAwardIntent, ViewPostDetailActivity.GIVE_AWARD_REQUEST_CODE);
return true;
} else if (itemId == R.id.action_report_view_post_detail_fragment) {
if (mAccessToken == null) {
Toast.makeText(activity, R.string.login_first, Toast.LENGTH_SHORT).show();
return true;
}
Toast.makeText(activity, R.string.not_implemented, Toast.LENGTH_SHORT).show();
Intent intent = new Intent(activity, ReportActivity.class);
intent.putExtra(ReportActivity.EXTRA_SUBREDDIT_NAME, mPost.getSubredditName());
intent.putExtra(ReportActivity.EXTRA_THING_FULLNAME, mPost.getFullName());
startActivity(intent);
return true;
} else if (itemId == R.id.action_see_removed_view_post_detail_fragment) {
showRemovedPost();
@@ -1171,7 +1185,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
if (mCommentsRecyclerView != null) {
LinearLayoutManager myLayoutManager = (LinearLayoutManager) mCommentsRecyclerView.getLayoutManager();
scrollPosition = myLayoutManager != null ? myLayoutManager.findFirstVisibleItemPosition() : 0;
} else {
LinearLayoutManager myLayoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager();
scrollPosition = myLayoutManager != null ? myLayoutManager.findFirstVisibleItemPosition() : 0;
@@ -1231,7 +1245,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
mPostDetailsSharedPreferences, mExoCreator,
post1 -> EventBus.getDefault().post(new PostUpdateEventToPostList(mPost, postListPosition)));
mSwipeRefreshLayout.setRefreshing(false);
FetchComment.fetchComments(mExecutor, new Handler(), mRetrofit.getRetrofit(), mAccessToken, post.getId(), mSingleCommentId == 0 ? null : mSingleCommentParentId == 0 ? mSingleCommentId : mSingleCommentParentId, sortType, mExpandChildren, 1, new FetchComment.FetchCommentListener() {
FetchComment.fetchComments(mExecutor, new Handler(), mRetrofit.getRetrofit(), mAccessToken, post.getId(), mSingleCommentId == 0 ? null : mSingleCommentId, sortType, mExpandChildren, 1, new FetchComment.FetchCommentListener() {
@Override
public void onFetchCommentSuccess(ArrayList<Comment> expandedComments, Integer parentId, ArrayList<Integer> children) {
pages_loaded++;
@@ -1350,7 +1364,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
}
FetchComment.fetchComments(mExecutor, new Handler(), mRetrofit.getRetrofit(), mAccessToken, mPost.getId(), mSingleCommentId == 0 ? null : mSingleCommentParentId == 0 ? mSingleCommentId : mSingleCommentParentId, sortType, mExpandChildren, pages_loaded + 1,
FetchComment.fetchComments(mExecutor, new Handler(), mRetrofit.getRetrofit(), mAccessToken, mPost.getId(), commentId, sortType, mExpandChildren, pages_loaded + 1,
new FetchComment.FetchCommentListener() {
@Override
public void onFetchCommentSuccess(ArrayList<Comment> expandedComments,
@@ -1419,8 +1433,8 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
@Override
public void onFetchCommentFailed() {
isFetchingComments = false;
if(pages_loaded == 0)
mCommentsAdapter.initiallyLoadCommentsFailed();
mCommentsAdapter.initiallyLoadCommentsFailed();
if (changeRefreshState) {
isRefreshing = false;
}
@@ -1440,7 +1454,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
isLoadingMoreChildren = true;
FetchComment.fetchComments(mExecutor, new Handler(), mRetrofit.getRetrofit(), mAccessToken,
mPost.getId(), mSingleCommentId == 0 ? null : mSingleCommentParentId == 0 ? mSingleCommentId : mSingleCommentParentId, sortType, mExpandChildren, pages_loaded + 1, new FetchComment.FetchCommentListener() {
mPost.getId(), null, sortType, mExpandChildren, pages_loaded + 1, new FetchComment.FetchCommentListener() {
@Override
public void onFetchCommentSuccess(ArrayList<Comment> expandedComments, Integer parentId, ArrayList<Integer> children) {
pages_loaded++;
@@ -1652,7 +1666,6 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
public void changeToNormalThreadMode() {
isSingleCommentThreadMode = false;
mSingleCommentId = null;
mSingleCommentParentId = null;
mRespectSubredditRecommendedSortType = mSharedPreferences.getBoolean(SharedPreferencesUtils.RESPECT_SUBREDDIT_RECOMMENDED_COMMENT_SORT_TYPE, false);
refresh(false, true);
}

View File

@@ -1,59 +0,0 @@
package eu.toldi.infinityforlemmy.markdown;
import android.content.Context;
import android.content.Intent;
import android.text.style.ClickableSpan;
import android.view.View;
import android.widget.Toast;
import androidx.annotation.NonNull;
import org.commonmark.node.Image;
import eu.toldi.infinityforlemmy.activities.ViewImageOrGifActivity;
import io.noties.markwon.AbstractMarkwonPlugin;
import io.noties.markwon.MarkwonConfiguration;
import io.noties.markwon.MarkwonSpansFactory;
import io.noties.markwon.RenderProps;
import io.noties.markwon.image.AsyncDrawableSpan;
import io.noties.markwon.image.ImageSpanFactory;
public class ClickableGlideImagesPlugin extends AbstractMarkwonPlugin {
public static Context context;
public ClickableGlideImagesPlugin(Context context) {
this.context = context;
}
public static ClickableGlideImagesPlugin create(Context context) {
return new ClickableGlideImagesPlugin(context);
}
@Override
public void configureSpansFactory(@NonNull MarkwonSpansFactory.Builder builder) {
builder.setFactory(Image.class, new ClickableImageFactory());
}
class ClickableImageFactory extends ImageSpanFactory {
@Override
public Object getSpans(@NonNull MarkwonConfiguration configuration, @NonNull RenderProps props) {
AsyncDrawableSpan image = (AsyncDrawableSpan) super.getSpans(configuration, props);
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
Intent intent = new Intent(context, ViewImageOrGifActivity.class);
intent.putExtra(ViewImageOrGifActivity.EXTRA_IMAGE_URL_KEY, image.getDrawable().getDestination());
intent.putExtra(ViewImageOrGifActivity.EXTRA_FILE_NAME_KEY, image.getDrawable().getDestination());
context.startActivity(intent);
}
};
Object[] objects = new Object[2];
objects[0] = image;
objects[1] = clickableSpan;
return objects;
}
}
}

View File

@@ -51,7 +51,6 @@ public class MarkdownUtils {
.setOnLinkLongClickListener(onLinkLongClickListener)))
.usePlugin(LinkifyPlugin.create(Linkify.WEB_URLS))
.usePlugin(TableEntryPlugin.create(context))
.usePlugin(ClickableGlideImagesPlugin.create(context))
.build();
}

View File

@@ -33,7 +33,6 @@ import java.util.concurrent.Executor;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import eu.toldi.infinityforlemmy.markdown.MarkdownUtils;
import eu.toldi.infinityforlemmy.postfilter.PostFilter;
import eu.toldi.infinityforlemmy.utils.JSONUtils;
import eu.toldi.infinityforlemmy.utils.LemmyUtils;
@@ -211,14 +210,10 @@ public class ParsePost {
String distinguished, String suggestedSort) throws JSONException {
Post post;
boolean isVideo = false;
String url = (!data.getJSONObject("post").isNull("url")) ? data.getJSONObject("post").getString("url") : "";
String communityURL = (!data.getJSONObject("community").isNull("icon")) ? data.getJSONObject("community").getString("icon") : "";
String authorAvatar = (!data.getJSONObject("creator").isNull("avatar")) ? data.getJSONObject("creator").getString("avatar") : null;
Uri uri = Uri.parse(url);
String path = uri.getPath();
boolean isVideo = path.endsWith(".mp4") || path.endsWith(".webm") || path.endsWith(".gifv");
if (!data.getJSONObject("post").has("thumbnail_url") && previews.isEmpty()) {
if (!data.getJSONObject("post").isNull("body") && url.equals("")) {
@@ -248,13 +243,16 @@ public class ParsePost {
} else {
if (isVideo) {
//No preview video post
JSONObject redditVideoObject = data.getJSONObject(JSONUtils.MEDIA_KEY).getJSONObject(JSONUtils.REDDIT_VIDEO_KEY);
int postType = Post.VIDEO_TYPE;
String videoUrl = Html.fromHtml(redditVideoObject.getString(JSONUtils.HLS_URL_KEY)).toString();
String videoDownloadUrl = redditVideoObject.getString(JSONUtils.FALLBACK_URL_KEY);
post = new Post(id, fullName, subredditName, subredditNamePrefixed, author, authorFull, postTimeMillis, title, permalink, score, postType, voteType,
nComments, upvoteRatio, nsfw, locked, saved, distinguished, suggestedSort);
post.setVideoUrl(url);
post.setVideoDownloadUrl(url);
post.setVideoUrl(videoUrl);
post.setVideoDownloadUrl(videoDownloadUrl);
} else if (!url.equals("")) {
//No preview link post
int postType = Post.NO_PREVIEW_LINK_TYPE;
@@ -655,15 +653,6 @@ public class ParsePost {
post.setVoteType(data.getInt("my_vote"));
post.setScore(post.getScore() - 1);
}
if (!data.getJSONObject("post").isNull("body")) {
String body = data.getJSONObject("post").getString("body");
post.setSelfText(body);
post.setSelfTextPlain(body);
post.setSelfTextPlainTrimmed(body.trim());
}
post.setAuthorIconUrl(authorAvatar);
post.setSubredditIconUrl(communityURL);
return post;
}

View File

@@ -251,7 +251,7 @@ public class PostPagingSource extends ListenableFuturePagingSource<Integer, Post
private ListenableFuture<LoadResult<Integer, Post>> loadSubredditPosts(@NonNull LoadParams<Integer> loadParams, LemmyAPI api) {
ListenableFuture<Response<String>> subredditPost;
subredditPost = api.getPosts(null,sortType.getType().value,loadParams.getKey(),25,null,subredditOrUserName,false,accessToken);
subredditPost = api.getPosts(null,sortType.getType().value,loadParams.getKey(),25,null,subredditOrUserName,false,null);
ListenableFuture<LoadResult<Integer, Post>> pageFuture = Futures.transform(subredditPost, this::transformData, executor);

View File

@@ -105,7 +105,7 @@ public class CrashReportsFragment extends Fragment {
} catch (UnsupportedEncodingException e) {
return false;
}
Uri githubIssueUri = Uri.parse(String.format("https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy/issues/new?template=.gitea%2fissue_template%2fbug_report.md", model, appVersion, androidVersion, logs));
Uri githubIssueUri = Uri.parse(String.format("https://github.com/Docile-Alligator/Infinity-For-Reddit/issues/new?labels=possible-bug&device=%s&version=%s&android_version=%s&logs=%s&&template=BUG_REPORT.yml", model, appVersion, androidVersion, logs));
intent.setData(githubIssueUri);
startActivity(intent);
return true;

View File

@@ -1,34 +0,0 @@
package eu.toldi.infinityforlemmy.site;
import eu.toldi.infinityforlemmy.apis.LemmyAPI;
import retrofit2.Retrofit;
public class FetchSiteInfo {
public static void fetchSiteInfo(Retrofit retrofit, String accesToken, FetchSiteInfoListener fetchSiteInfoListener) {
retrofit.create(LemmyAPI.class).getSiteInfo(accesToken).enqueue(
new retrofit2.Callback<String>() {
@Override
public void onResponse(retrofit2.Call<String> call, retrofit2.Response<String> response) {
if (response.isSuccessful()) {
String siteInfoJson = response.body();
SiteInfo siteInfo = SiteInfo.parseSiteInfo(siteInfoJson);
fetchSiteInfoListener.onFetchSiteInfoSuccess(siteInfo);
} else {
fetchSiteInfoListener.onFetchSiteInfoFailed();
}
}
@Override
public void onFailure(retrofit2.Call<String> call, Throwable t) {
fetchSiteInfoListener.onFetchSiteInfoFailed();
}
}
);
}
public interface FetchSiteInfoListener {
void onFetchSiteInfoSuccess(SiteInfo siteInfo);
void onFetchSiteInfoFailed();
}
}

View File

@@ -1,83 +0,0 @@
package eu.toldi.infinityforlemmy.site;
import org.json.JSONException;
import org.json.JSONObject;
public class SiteInfo {
private int id;
private String name;
private String sidebar;
private String description;
private boolean enable_downvotes;
private boolean enable_nsfw;
private boolean community_creation_admin_only;
public SiteInfo(int id, String name, String sidebar, String description, boolean enable_downvotes, boolean enable_nsfw, boolean community_creation_admin_only) {
this.id = id;
this.name = name;
this.sidebar = sidebar;
this.description = description;
this.enable_downvotes = enable_downvotes;
this.enable_nsfw = enable_nsfw;
this.community_creation_admin_only = community_creation_admin_only;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getSidebar() {
return sidebar;
}
public String getDescription() {
return description;
}
public boolean isEnable_downvotes() {
return enable_downvotes;
}
public boolean isEnable_nsfw() {
return enable_nsfw;
}
public boolean isCommunity_creation_admin_only() {
return community_creation_admin_only;
}
public static SiteInfo parseSiteInfo(String siteInfoJson) {
try {
JSONObject siteInfo = new JSONObject(siteInfoJson);
JSONObject siteView = siteInfo.getJSONObject("site_view");
JSONObject site = siteView.getJSONObject("site");
JSONObject localSite = siteView.getJSONObject("local_site");
int id = site.getInt("id");
String name = site.getString("name");
String sidebar = null;
if (site.has("sidebar"))
sidebar = site.getString("sidebar");
String description = null;
if (site.has("description"))
description = site.getString("description");
boolean enable_downvotes = localSite.getBoolean("enable_downvotes");
boolean enable_nsfw = localSite.getBoolean("enable_nsfw");
boolean community_creation_admin_only = localSite.getBoolean("community_creation_admin_only");
SiteInfo si = new SiteInfo(id, name, sidebar, description, enable_downvotes, enable_nsfw, community_creation_admin_only);
return si;
} catch (JSONException e) {
e.printStackTrace();
return null;
}
}
}

View File

@@ -8,12 +8,7 @@ import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
import eu.toldi.infinityforlemmy.utils.JSONUtils;
@@ -52,11 +47,7 @@ public class ParseSubredditData {
}
boolean removed = community.getBoolean("removed");
String published_raw = community.getString("published");
String published = formatISOTime(published_raw);
if(published == null){
published = published_raw;
}
String published = community.getString("published");
String updated = "";
if (!community.isNull("updated")) {
updated = community.getString("updated");
@@ -179,25 +170,4 @@ public class ParseSubredditData {
}
}
}
public static String formatISOTime(String isoTime) {
// Truncate the time to millisecond precision
//String truncatedTime = isoTime.substring(0, 23);
SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US);
isoFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
try {
Date date = isoFormat.parse(isoTime);
// Set your desired output format here
SimpleDateFormat outputFormat = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss", Locale.US);
outputFormat.setTimeZone(TimeZone.getDefault()); // Set to device's default timezone
return outputFormat.format(date);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
}

View File

@@ -22,7 +22,4 @@ public interface SubredditDao {
@Query("SELECT * from subreddits WHERE name = :namePrefixed COLLATE NOCASE LIMIT 1")
SubredditData getSubredditData(String namePrefixed);
@Query("SELECT * from subreddits WHERE actor_id = :actorId COLLATE NOCASE LIMIT 1")
SubredditData getSubredditDataByActorId(String actorId);
}

View File

@@ -46,7 +46,6 @@ public class ParseUserData {
int instance_id = personJson.getInt("instance_id");
String cakeday = personJson.getString(JSONUtils.PUBLISHED);
cakeday = cakeday.substring(0, cakeday.indexOf("T"));
boolean isBot = personJson.getBoolean("bot_account");
boolean isBanned = personJson.getBoolean("banned");
boolean isLocal = personJson.getBoolean("local");

View File

@@ -25,7 +25,4 @@ public interface UserDao {
@Query("SELECT * FROM users WHERE name = :userName COLLATE NOCASE LIMIT 1")
UserData getUserData(String userName);
@Query("SELECT * FROM users WHERE actor_id = :actorId COLLATE NOCASE LIMIT 1")
UserData getUserDataByActorId(String actorId);
}

View File

@@ -400,5 +400,4 @@ public class SharedPreferencesUtils {
public static final String OPEN_LINK_IN_APP_LEGACY = "open_link_in_app";
public static final String ACCOUNT_INSTANCE = "account_instance";
public static final String ACCOUNT_QUALIFIED_NAME = "account_qualified_name";
public static final String CAN_DOWNVOTE = "can_downvote";
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -124,6 +124,25 @@
android:fontFamily="?attr/font_family"
app:drawableStartCompat="@drawable/ic_copy_24dp" />
<TextView
android:id="@+id/give_award_text_view_comment_more_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:drawablePadding="48dp"
android:focusable="true"
android:gravity="center_vertical"
android:paddingStart="32dp"
android:paddingTop="16dp"
android:paddingEnd="32dp"
android:paddingBottom="16dp"
android:text="@string/action_give_award"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/font_default"
android:fontFamily="?attr/font_family"
android:visibility="gone"
app:drawableStartCompat="@drawable/ic_give_award_24dp" />
<TextView
android:id="@+id/report_view_comment_more_bottom_sheet_fragment"
@@ -144,6 +163,25 @@
android:fontFamily="?attr/font_family"
app:drawableStartCompat="@drawable/ic_report_24dp" />
<TextView
android:id="@+id/see_removed_view_comment_more_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:drawablePadding="48dp"
android:focusable="true"
android:gravity="center_vertical"
android:paddingStart="32dp"
android:paddingTop="16dp"
android:paddingEnd="32dp"
android:paddingBottom="16dp"
android:text="@string/see_removed_comment"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/font_default"
android:fontFamily="?attr/font_family"
android:visibility="gone"
app:drawableStartCompat="@drawable/ic_preview_24dp" />
</LinearLayout>

View File

@@ -144,6 +144,25 @@
android:focusable="true"
android:background="?attr/selectableItemBackground" />
<TextView
android:id="@+id/random_text_view_fab_more_options_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:paddingStart="32dp"
android:paddingEnd="32dp"
android:text="@string/random"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/font_default"
android:fontFamily="?attr/font_family"
app:drawableStartCompat="@drawable/ic_random_24dp"
android:drawablePadding="48dp"
android:clickable="true"
android:focusable="true"
android:background="?attr/selectableItemBackground" />
<TextView
android:id="@+id/hide_read_posts_text_view_fab_more_options_bottom_sheet_fragment"
android:layout_width="match_parent"

View File

@@ -11,6 +11,43 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/relevance_type_text_view_search_sort_type_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:drawableStart="@drawable/ic_best_24"
android:drawablePadding="48dp"
android:focusable="true"
android:fontFamily="?attr/font_family"
android:paddingStart="32dp"
android:paddingTop="16dp"
android:paddingEnd="32dp"
android:paddingBottom="16dp"
android:text="@string/sort_relevance"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/font_default"
app:drawableTint="?attr/primaryTextColor" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/hot_type_text_view_search_sort_type_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:drawableStart="@drawable/ic_hot_24"
android:drawablePadding="48dp"
android:focusable="true"
android:fontFamily="?attr/font_family"
android:paddingStart="32dp"
android:paddingTop="16dp"
android:paddingEnd="32dp"
android:paddingBottom="16dp"
android:text="@string/sort_hot"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/font_default"
app:drawableTint="?attr/primaryTextColor" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/top_type_text_view_search_sort_type_bottom_sheet_fragment"
@@ -51,7 +88,7 @@
app:drawableTint="?attr/primaryTextColor" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/old_type_text_view_search_sort_type_bottom_sheet_fragment"
android:id="@+id/comments_type_text_view_search_sort_type_bottom_sheet_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
@@ -64,7 +101,7 @@
android:paddingTop="16dp"
android:paddingEnd="32dp"
android:paddingBottom="16dp"
android:text="@string/sort_old"
android:text="@string/sort_comments"
android:textColor="?attr/primaryTextColor"
android:textSize="?attr/font_default"
app:drawableTint="?attr/primaryTextColor" />

View File

@@ -76,16 +76,16 @@
android:visible="false" />
<item
android:id="@+id/action_block_user_view_post_detail_fragment"
android:id="@+id/action_edit_flair_view_post_detail_fragment"
android:orderInCategory="12"
android:title="@string/block_user"
android:title="@string/action_edit_flair"
app:showAsAction="never"
android:visible="true" />
android:visible="false" />
<item
android:id="@+id/action_block_community_view_post_detail_fragment"
android:id="@+id/action_give_award_view_post_detail_fragment"
android:orderInCategory="13"
android:title="@string/block_community"
android:title="@string/action_give_award"
app:showAsAction="never" />
<item

View File

@@ -380,8 +380,8 @@
<string name="settings_email_summary">"docilealligator.app@gmail.com"</string>
<string name="settings_reddit_account_title">"Reddit účet"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">Community</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Sdílet"</string>
<string name="settings_share_summary">"Pokud máte rádi tuto aplikaci, sdílejte ji s ostatními lidmi"</string>
<string name="settings_version_title">"Infinity pro Reddit"</string>

View File

@@ -17,14 +17,14 @@
<string name="view_message_activity_label">"Posteingang"</string>
<string name="settings_activity_label">"Einstellungen"</string>
<string name="account_saved_thing_activity_label">"Gespeichert"</string>
<string name="create_multi_reddit_activity_label">Multicommunity erstellen</string>
<string name="community_multiselection_activity_label">Multicommunity auswählen</string>
<string name="create_multi_reddit_activity_label">"Multireddit erstellen"</string>
<string name="community_multiselection_activity_label">"Multireddits auswählen"</string>
<string name="custom_theme_listing_activity_label">"Benutzerdefinierte Themen"</string>
<string name="customize_theme_activity_label">"Thema anpassen"</string>
<string name="customize_theme_activity_create_theme_label">"Thema erstellen"</string>
<string name="theme_preview_activity_label">"Thema-Vorschau"</string>
<string name="edit_multi_reddit_activity_label">Multicommunity bearbeiten</string>
<string name="selected_subeddits_activity_label">Ausgewählte Communities</string>
<string name="edit_multi_reddit_activity_label">"Multireddit bearbeiten"</string>
<string name="selected_subeddits_activity_label">"Ausgewählte Subreddits"</string>
<string name="report_activity_label">"Melden"</string>
<string name="view_imgur_media_activity_image_label">"Bild %1$d/%2$d"</string>
<string name="view_imgur_media_activity_video_label">"Video %1$d/%2$d"</string>
@@ -55,8 +55,8 @@
<string name="action_edit_flair">"Flair bearbeiten"</string>
<string name="action_change_post_layout">"Beitragslayout ändern"</string>
<string name="action_save">"Speichern"</string>
<string name="action_edit_multi_reddit">Multicommunity bearbeiten</string>
<string name="action_delete_multi_reddit">Multicommunity löschen</string>
<string name="action_edit_multi_reddit">"Multireddit bearbeiten"</string>
<string name="action_delete_multi_reddit">"Multireddit löschen"</string>
<string name="action_share">"Teilen"</string>
<string name="action_preview">"Vorschau"</string>
<string name="action_report">"Melden"</string>
@@ -83,7 +83,7 @@ Tippen für Neuversuch."</string>
<string name="no_comments">"Keine Kommentare gefunden"</string>
<string name="no_communities">"Keine Subreddits gefunden"</string>
<string name="no_users">"Keine Benutzer gefunden"</string>
<string name="no_multi_reddits">Keine Multicommunities gefunden</string>
<string name="no_multi_reddits">"Keine Multireddits gefunden"</string>
<string name="no_storage_permission">"Keine Speicherberechtigung, um diese Datei zu speichern"</string>
<string name="load_comments_failed">"Fehler beim Laden der Kommentare.
Tippen für Neuversuch."</string>
@@ -104,7 +104,7 @@ Tippen für Neuversuch."</string>
<string name="since">"Seit:"</string>
<string name="profile">"Profil"</string>
<string name="subscriptions">"Abonnements"</string>
<string name="multi_reddit">Multicommunity</string>
<string name="multi_reddit">"Multireddit"</string>
<string name="inbox">"Posteingang"</string>
<string name="upvoted">"Upgevotet"</string>
<string name="downvoted">"Downgevotet"</string>
@@ -117,7 +117,7 @@ Tippen für Neuversuch."</string>
<string name="cannot_fetch_community_info">"Kann Subredddit-Info nicht abrufen"</string>
<string name="cannot_fetch_user_info">"Kann Benutzer-Info nicht abrufen"</string>
<string name="cannot_fetch_sidebar">"Kann Seitenleiste nicht abrufen"</string>
<string name="cannot_fetch_multireddit">Kann Multicommunity-Info nicht abrufen</string>
<string name="cannot_fetch_multireddit">"Kann Multireddit-Info nicht abrufen"</string>
<string name="subscribe">"Abonnieren"</string>
<string name="unsubscribe">"Deabonnieren"</string>
<string name="subscribed">"Abonniert"</string>
@@ -171,9 +171,9 @@ Tippen für Neuversuch."</string>
<string name="choose_a_communities">"Wähle ein Subreddit"</string>
<string name="rules">"Regeln"</string>
<string name="post_link_hint">"URL"</string>
<string name="communities">Communities</string>
<string name="communities">"Subreddits"</string>
<string name="users">"Benutzer"</string>
<string name="multi_reddits">MultiCommunity</string>
<string name="multi_reddits">"Multireddits"</string>
<string name="bottom_sheet_post_text">"Text"</string>
<string name="bottom_sheet_post_link">"Link"</string>
<string name="bottom_sheet_post_image">"Bild"</string>
@@ -408,10 +408,10 @@ Tippen für Neuversuch."</string>
<string name="settings_rate_summary">"Gib mir eine 5-Stern-Bewertung und mach mich richtig glücklich"</string>
<string name="settings_email_title">"E-Mail"</string>
<string name="settings_email_summary">"docilealligator.app@gmail.com"</string>
<string name="settings_reddit_account_title">Lemmy-Konto</string>
<string name="settings_reddit_account_summary">\@bazsalanszky@lemmy.toldi.eu</string>
<string name="settings_community_title">Community</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_reddit_account_title">"Reddit-Konto"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Teilen"</string>
<string name="settings_share_summary">"Teile diese App mit anderen Leuten, wenn sie dir gefällt"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>
@@ -434,10 +434,10 @@ Tippen für Neuversuch."</string>
<string name="settings_tab_3_summary">"Reiter 3"</string>
<string name="settings_tab_title">"Titel"</string>
<string name="settings_tab_post_type">"Typ"</string>
<string name="settings_tab_community_name">Community-Name (ohne r/ Präfix)</string>
<string name="settings_tab_community_name">"Subreddit-Name (ohne r/ Präfix)"</string>
<!-- Fuzzy -->
<string name="settings_tab_multi_reddit_name">Multicommunity-Name (/user/DeinBenutzername/m/DeinMulticommunityName)</string>
<string name="settings_tab_multi_reddit_name">"Multireddit-Name (/user/DeinBenutzername/m/DeinMultiredditName)"</string>
<string name="settings_tab_username">"Benutzername (ohne u/ Präfix)"</string>
<string name="no_developer_easter_egg">"Es gibt hier keine Entwickleroptionen"</string>
<string name="no_link_available">"Konnte den Link nicht abrufen"</string>
@@ -475,8 +475,8 @@ Tippen für Neuversuch."</string>
<string name="elapsed_time_months_ago">"%1$d Monate"</string>
<string name="elapsed_time_a_year_ago">"1 Jahr"</string>
<string name="elapsed_time_years_ago">"%1$d Jahre"</string>
<string name="error_getting_multi_reddit_data">Fehler beim Abrufen der Multicommunity-Daten</string>
<string name="error_loading_multi_reddit_list">Kann Multicommunities nicht synchronisieren</string>
<string name="error_getting_multi_reddit_data">"Fehler beim Abrufen der Multireddit-Daten"</string>
<string name="error_loading_multi_reddit_list">"Kann Multireddits nicht synchronisieren"</string>
<string name="error_loading_subscriptions">"Kann Abonnements nicht synchronisieren"</string>
<string name="share_this_app">"Schau dir Infinity for Reddit an, ein super Reddit-Client!
https://play.google.com/store/apps/details?id=eu.toldi.infinityforlemmy"</string>
@@ -506,9 +506,9 @@ https://play.google.com/store/apps/details?id=eu.toldi.infinityforlemmy"</string
<string name="multi_reddit_description_hint">"Beschreibung"</string>
<string name="private_multi_reddit">"Privat"</string>
<string name="no_multi_reddit_name">"Wo ist der Name?"</string>
<string name="create_multi_reddit_failed">Kann dieses Multicommunity nicht erstellen</string>
<string name="duplicate_multi_reddit">Dieses Multicommunity existiert bereits</string>
<string name="edit_multi_reddit_failed">Kann diese Multicommunity nicht bearbeiten</string>
<string name="create_multi_reddit_failed">"Kann dieses Multireddit nicht erstellen"</string>
<string name="duplicate_multi_reddit">"Dieses Multireddit existiert bereits"</string>
<string name="edit_multi_reddit_failed">"Kann dieses Multireddit nicht bearbeiten"</string>
<string name="delete_multi_reddit_success">"Löschen erfolgreich"</string>
<string name="delete_multi_reddit_failed">"Löschen fehlgeschlagen"</string>
<string name="delete_multi_reddit_dialog_message">"Bist du sicher?"</string>
@@ -745,7 +745,7 @@ Basiere auf Indigo-AMOLED-Thema"</string>
<!-- Fuzzy -->
<string name="reset_all_settings_success">"Alle Einstellungen erfolgreich gelöscht"</string>
<string name="username_preview">"u/Hostilenemy"</string>
<string name="community_preview">!infinityforlemmy@lemdro.id</string>
<string name="community_preview">"r/Infinity_For_Reddit"</string>
<string name="primary_text_preview">"Primärer Text"</string>
<string name="secondary_text_preview">"Sekundärer Text"</string>
<string name="post_title_preview">"Dies ist ein Beitrag"</string>
@@ -756,8 +756,8 @@ Basiere auf Indigo-AMOLED-Thema"</string>
<string name="author_flair_preview">"Autor-Flair"</string>
<string name="comment_content_preview">"Ich habe für meine Freundin eine “Gute Besserung“-Karte besorgt.
Sie ist nicht krank oder so, aber sie könnte sich definitiv bessern."</string>
<string name="edit_multi_reddit">Multicommunity bearbeiten</string>
<string name="delete_multi_reddit">Multicommunity löschen</string>
<string name="edit_multi_reddit">"Multireddit bearbeiten"</string>
<string name="delete_multi_reddit">"Multireddit löschen"</string>
<string name="n_awards">"%1$d Auszeichnungen"</string>
<string name="one_award">"1 Auszeichnung"</string>
<string name="report">"Melden"</string>
@@ -822,7 +822,7 @@ Beispiel: DeinPasswort:123456"</string>
<string name="settings_more_tabs_summary">"Mehr Reiter"</string>
<string name="settings_more_tabs_info_summary">"Die folgenden Optionen zu aktivieren, kann zu ungewollten Verhalten führen:
Reiter könnten den Inhalt verlieren, wenn zu anderen gewechselt wird. Selbes Verhalten wie beim Neuladen der Seite."</string>
<string name="settings_more_tabs_show_favorite_subscribed_communities_title">Favoriten der abonnierten Communities anzeigen</string>
<string name="settings_more_tabs_show_favorite_subscribed_communities_title">"Favoriten der abonnierten Subreddits anzeigen"</string>
<string name="settings_more_tabs_show_subscribed_communities_title">"Abonnierte Subreddits anzeigen"</string>
<string name="settings_download_location_title">"Downloadpfad"</string>
<string name="settings_image_download_location_title">"Downloadpfad für Bilder"</string>
@@ -855,7 +855,7 @@ Reiter könnten den Inhalt verlieren, wenn zu anderen gewechselt wird. Selbes Ve
<!-- Fuzzy -->
<string name="settings_data_saving_mode_info_summary">"Im Datensparmodus:
Vorschaubilder haben eine geringere Auflösung.
Lemmy-Videos haben eine geringere Auflösung.
Reddit-Videos haben eine geringere Auflösung.
Automatisches Abspielen von Videos ist deaktiviert."</string>
<string name="settings_translation_title">"Übersetzung"</string>
<string name="settings_translation_summary">"Übersetze diese App auf POEditor. Danke an alle Beitragenden."</string>
@@ -933,10 +933,10 @@ Nachricht: %2$s"</string>
<string name="filtered_posts_activity_subtitle">"Gefilterte Beiträge"</string>
<string name="post_filter_preference_activity_label">"Beitragsfilter"</string>
<string name="search_users_result_activity_label">"Benutzer"</string>
<string name="multireddit_selection_activity_label">Wähle eine Multicommunity</string>
<string name="multireddit_selection_activity_label">"Wähle ein Multireddit"</string>
<string name="action_save_to_database">"In der Datenbank speichern"</string>
<string name="action_read_all_messages">"Alle Nachrichten lesen"</string>
<string name="action_add_to_multireddit">Zum Multicommunity hinzufügen</string>
<string name="action_add_to_multireddit">"Zum Multireddit hinzufügen"</string>
<string name="search_only_communities_hint">"Subreddits durchsuchen"</string>
<string name="search_only_users_hint">"Benutzer durchsuchen"</string>
<string name="post_type_gif">"GIF"</string>
@@ -995,19 +995,19 @@ Nachricht: %2$s"</string>
<string name="post_filter_usage_user_all">"Benutzer"</string>
<!-- This is inconsistant. Sometimes we call it Multireddit, other times MultiReddit. -->
<string name="post_filter_usage_multireddit">Multicommunity: %1$s</string>
<string name="post_filter_usage_multireddit">"Multireddit: %1$s"</string>
<!-- This is inconsistant. Sometimes we call it Multireddit, other times MultiReddit. -->
<string name="post_filter_usage_multireddit_all">Multicommunity</string>
<string name="post_filter_usage_multireddit_all">"Multireddit"</string>
<string name="post_filter_usage_search">"Suche"</string>
<string name="community">"Subreddit"</string>
<string name="user">"Benutzer"</string>
<string name="edit_post_filter_name_of_usage_info">Leer lassen, um diesen Beitragsfilter auf alle Subreddits / Benutzer / Multicommunities anzuwenden</string>
<string name="edit_post_filter_name_of_usage_info">"Leer lassen, um diesen Beitragsfilter auf alle Subreddits / Benutzer / Multireddits anzuwenden"</string>
<string name="read_all_messages_time_limit">"Du machst das zu oft hintereinander. Versuche es später noch einmal. Dies ist eine Beschränkung der Reddit-API."</string>
<string name="read_all_messages_success">"Alle Nachrichten erfolgreich als gelesen markiert"</string>
<string name="read_all_messages_failed">"Kann nicht alle Nachrichten als gelesen markieren"</string>
<string name="add_community_or_user_to_multireddit_success">%1$s wurde zu Multicommunity %2$s hinzugefügt</string>
<string name="add_community_or_user_to_multireddit_failed">Konnte %1$s nicht zu Multicommunity %2$s hinzufügen</string>
<string name="add_community_or_user_to_multireddit_success">"%1$s wurde zu Multireddit %2$s hinzugefügt"</string>
<string name="add_community_or_user_to_multireddit_failed">"Konnte %1$s nicht zu Multireddit %2$s hinzufügen"</string>
<string name="choose_a_user">"Wähle einen Benutzer"</string>
<string name="settings_click_to_show_media_in_gallery_layout">"Antippen, um die Medien in der Galerie-Ansicht anzuzeigen"</string>
<string name="settings_hide_post_type">"Beitragsart verstecken"</string>
@@ -1097,8 +1097,8 @@ Nachricht: %2$s"</string>
<string name="settings_show_only_one_comment_level_indicator">"Nur einen Indikator für die Kommentarebene anzeigen"</string>
<string name="save_comment">"Speichern"</string>
<string name="unsave_comment">"Nicht mehr speichern"</string>
<string name="copy_multi_reddit_path">Pfad der Multicommunity kopieren</string>
<string name="copy_multi_reddit_path_failed">Pfad der Multicommunity kann nicht kopiert werden</string>
<string name="copy_multi_reddit_path">"Pfad des Multireddit kopieren"</string>
<string name="copy_multi_reddit_path_failed">"Pfad des Multireddit kann nicht kopiert werden"</string>
<string name="crash_reports_deleted">"Absturzmeldungen werden gelöscht"</string>
<string name="disable_nsfw_forever_message">"Wenn du diese Option aktivierst, wird NSFW dauerhaft deaktiviert, egal ob die NSFW-Option ein- oder ausgeschaltet ist. Diese Option ist irreversibel, wenn du NSFW wieder einschalten willst, müssen die Daten der App gelöscht werden.
@@ -1125,9 +1125,9 @@ Benenne diese Themen sonst neu."</string>
<string name="settings_enable_material_you_summary">"Infinity Theme ihrem Hintergrund anpassen"</string>
<string name="settings_apply_material_you_title">"Material You anwenden"</string>
<string name="settings_apply_material_you_summary">"Sollte Infinity den Theme nicht gewechselt haben"</string>
<string name="settings_more_tabs_show_favorite_multireddits_title">Multicommunities Favoriten anzeigen</string>
<string name="settings_more_tabs_show_multireddits_title">Multicommunities anzeigen</string>
<string name="settings_collapse_reddit_section_title">Sektion für Lemmy zusammenklappen</string>
<string name="settings_more_tabs_show_favorite_multireddits_title">"Multireddits Favoriten anzeigen"</string>
<string name="settings_more_tabs_show_multireddits_title">"Multireddits anzeigen"</string>
<string name="settings_collapse_reddit_section_title">"Sektion für Reddit zusammenklappen"</string>
<string name="settings_video_player_automatic_landscape_orientation">"Automatisch zum Querformat im Videospieler wechseln"</string>
<string name="settings_remember_muting_option_in_post_feed">"Stummschalt-Option im Beitragsfeed merken"</string>
<string name="link_post_layout_auto">"Automatisch"</string>
@@ -1190,7 +1190,7 @@ Antippen zum Wiederholen."</string>
<string name="title_contains_strings_hint">"Titel: enthält Schlüsselwörter (key1,key2)"</string>
<string name="title_contains_regex_hint">"Titel: enthält Regex"</string>
<string name="contain_domains_hint">"Domains cont"</string>
<string name="anonymous_multireddit_no_community">Dieses Multicommunity hat kein Subreddit!</string>
<string name="anonymous_multireddit_no_community">"Dieses Multireddit hat kein Subreddit!"</string>
<string name="error_fetching_v_redd_it_video_cannot_get_video_url">"Fehler beim Abrufen von v.redd.it video: Kann Video URL nicht finden"</string>
<string name="contain_domain">"Diese Domain containen"</string>
<string name="lock_screen_text">"Ruhig Brauner!!!"</string>
@@ -1256,13 +1256,13 @@ Antippen zum Wiederholen."</string>
<string name="settings_show_fewer_toolbar_options_threshold_title">"Weniger Werkzeugleistenoptionen anzeigen"</string>
<string name="settings_show_fewer_toolbar_options_threshold_summary">"Wert %1$d"</string>
<string name="settings_show_author_avatar_title">"Autoravatar zeigen"</string>
<string name="settings_reddit_user_agreement_title">"Lemmy Nutzungsbestimmungen "</string>
<string name="settings_reddit_user_agreement_title">"Reddit Nutzungsbestimmungen "</string>
<string name="settings_always_show_child_comment_count_title">"Immer die Anzahl von untergeordneten Kommentaren anzeigen"</string>
<string name="settings_hide_upvote_ratio_title">"Upvoteverhaltnis verstecken"</string>
<string name="settings_miscellaneous_dangerous_group_title">"Gefährlich"</string>
<string name="settings_post_feed_max_resolution_warning_title">"Wert erhöhen um Vorschau in höherer Qualität zu zeigen, aber die App kann unerwartet abstürzen."</string>
<string name="settings_post_feed_max_resolution_title">"Beitragsvorschau maximale Auflösung (Höhe * Breite)"</string>
<string name="settings_reddit_video_default_resolution">Lemmy Video Standardauflösung</string>
<string name="settings_reddit_video_default_resolution">"Reddit Video Standardauflösung"</string>
<string name="select_a_ttf_font">"ttf Schriftart Datei auswählen"</string>
<string name="unable_to_get_font_file">"Schriftart konnte nicht geladen werden"</string>
<string name="unable_to_load_font">"Benutzerdefinierte Schriftart konnte nicht geladen werden"</string>

View File

@@ -175,7 +175,7 @@ Toca para reintentar."</string>
<string name="choose_a_communities">"Elige un subreddit"</string>
<string name="rules">"Reglas"</string>
<string name="post_link_hint">"URL"</string>
<string name="communities">Communities</string>
<string name="communities">"Subreddits"</string>
<string name="users">"Usuarios"</string>
<string name="multi_reddits">"Multireddits"</string>
<string name="bottom_sheet_post_text">"Texto"</string>
@@ -401,7 +401,7 @@ Premio means prize, so it's better suited the first word instead of the second o
<string name="settings_reddit_account_title">"Cuenta de Reddit"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Compartir"</string>
<string name="settings_share_summary">"Si te gusta esta aplicación ¡Compártela!"</string>
<string name="settings_version_title">"Infinity for Reddit"</string>

View File

@@ -177,9 +177,9 @@
<string name="choose_a_communities">"Choisir une subreddit"</string>
<string name="rules">"Règles"</string>
<string name="post_link_hint">"URL"</string>
<string name="communities">Communities</string>
<string name="communities">"Subreddits"</string>
<string name="users">"Utilisateurs"</string>
<string name="multi_reddits">MultiCommunity</string>
<string name="multi_reddits">"Multireddits"</string>
<string name="bottom_sheet_post_text">"Texte"</string>
<string name="bottom_sheet_post_link">"Lien"</string>
<string name="bottom_sheet_post_image">"Image"</string>
@@ -439,8 +439,8 @@ peut ne pas fonctionner sur Android 11"</string>
<string name="settings_email_summary">"docilealligator.app@gmail.com"</string>
<string name="settings_reddit_account_title">"Compte Reddit"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">Community</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Partager"</string>
<string name="settings_share_summary">"Partagez cette application avec d'autres si vous l'appréciez"</string>
<string name="settings_version_title">"Infinity Pour Reddit"</string>

View File

@@ -430,7 +430,7 @@ Behavior -->
<string name="settings_reddit_account_title">"रैडिट खाता "</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">"सबरैडिट "</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"साझा करें "</string>
<string name="settings_share_summary">"यदि आप इसका आनंद लेते हैं तो एप्प को अन्य लोगों के साथ साझा करें "</string>
<string name="settings_version_title">"Infinity For Reddit"</string>

View File

@@ -400,7 +400,7 @@
<string name="settings_reddit_account_title">"Reddit račun"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">"Podreddit"</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Dijeljenje"</string>
<string name="settings_share_summary">"Ako Vam se aplikacija sviđa, podijelite ju s drugima"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>

View File

@@ -385,7 +385,7 @@
<string name="settings_reddit_account_title">"Reddit fiók"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">"Közösség"</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Megosztás"</string>
<string name="settings_share_summary">"Ha tetszik az app oszd meg másokkal is"</string>
<string name="settings_version_title">"Infiniti Reddithez"</string>

View File

@@ -164,9 +164,9 @@ Tocca per riprovare."</string>
<string name="choose_a_communities">"Scegli un subreddit"</string>
<string name="rules">"Regole"</string>
<string name="post_link_hint">"URL"</string>
<string name="communities">Communities</string>
<string name="communities">"Subreddit"</string>
<string name="users">"Utenti"</string>
<string name="multi_reddits">MultiCommunity</string>
<string name="multi_reddits">"MultiReddit"</string>
<string name="bottom_sheet_post_text">"Testo"</string>
<string name="bottom_sheet_post_link">"Link"</string>
<string name="bottom_sheet_post_image">"Immagine"</string>
@@ -373,8 +373,8 @@ Tocca per riprovare."</string>
<string name="settings_email_summary">"docilealligator.app@gmail.com"</string>
<string name="settings_reddit_account_title">"Account Reddit"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">Community</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Condividi"</string>
<string name="settings_share_summary">"Condividi questa app con altre persone se la apprezzi"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>

View File

@@ -432,8 +432,8 @@
<string name="settings_email_summary">"docilealligator.app@gmail.com"</string>
<string name="settings_reddit_account_title">"Redditアカウント"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">Community</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"共有"</string>
<string name="settings_share_summary">"このアプリが気に入ったようでしたら、ぜひ他の方々にもご紹介ください"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>

View File

@@ -166,9 +166,9 @@ Druk om opnieuw te proberen."</string>
<string name="choose_a_communities">"Kies een subreddit"</string>
<string name="rules">"Regels"</string>
<string name="post_link_hint">"URL"</string>
<string name="communities">Communities</string>
<string name="communities">"Subreddits"</string>
<string name="users">"Gebruikers"</string>
<string name="multi_reddits">MultiCommunity</string>
<string name="multi_reddits">"MultiReddits"</string>
<string name="bottom_sheet_post_text">"Tekst"</string>
<string name="bottom_sheet_post_link">"Link"</string>
<string name="bottom_sheet_post_image">"Afbeelding"</string>
@@ -383,8 +383,8 @@ Druk om opnieuw te proberen."</string>
<string name="settings_email_summary">"docilealligator.app@gmail.com"</string>
<string name="settings_reddit_account_title">"Reddit-account"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">Community</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Delen"</string>
<string name="settings_share_summary">"Deel deze app met anderen als je hem graag gebruikt"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>

View File

@@ -378,8 +378,8 @@
<string name="settings_email_summary">"docilealligator.app@gmail.com"</string>
<string name="settings_reddit_account_title">"Konto Reddit"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">Community</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Udostępnij"</string>
<string name="settings_share_summary">"Udostępnij tą aplikację, jeśli ci się ona podoba"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>

View File

@@ -173,9 +173,9 @@ Toque para tentar novamente."</string>
<string name="choose_a_communities">"Escolha um subreddit"</string>
<string name="rules">"Regras"</string>
<string name="post_link_hint">"URL"</string>
<string name="communities">Communities</string>
<string name="communities">"Subreddits"</string>
<string name="users">"Usuários"</string>
<string name="multi_reddits">MultiCommunity</string>
<string name="multi_reddits">"Multireddits"</string>
<string name="bottom_sheet_post_text">"Texto"</string>
<string name="bottom_sheet_post_link">"Link"</string>
<string name="bottom_sheet_post_image">"Imagem"</string>
@@ -382,8 +382,8 @@ Toque para tentar novamente."</string>
<string name="settings_email_summary">"docilealligator.app@gmail.com"</string>
<string name="settings_reddit_account_title">"Conta Reddit"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">Community</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Compartilhar"</string>
<string name="settings_share_summary">"Compartilhe esse App com outros se você está gostando dele"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>

View File

@@ -15,13 +15,13 @@
<string name="view_message_activity_label">"Caixa de Entrada"</string>
<string name="settings_activity_label">"Definições"</string>
<string name="account_saved_thing_activity_label">"Guardado"</string>
<string name="create_multi_reddit_activity_label">"Criar Multicomunidade"</string>
<string name="create_multi_reddit_activity_label">"Criar Multireddit"</string>
<string name="community_multiselection_activity_label">"Selecionar Comunidades"</string>
<string name="custom_theme_listing_activity_label">"Temas Personalizados"</string>
<string name="customize_theme_activity_label">"Personalizar Tema"</string>
<string name="customize_theme_activity_create_theme_label">"Criar Tema"</string>
<string name="theme_preview_activity_label">"Pré-visualizar Tema"</string>
<string name="edit_multi_reddit_activity_label">"Editar Multicomunidade"</string>
<string name="edit_multi_reddit_activity_label">"Editar Multireddit"</string>
<string name="selected_subeddits_activity_label">"Comunidades selecionadas"</string>
<string name="report_activity_label">"Denunciar"</string>
<string name="view_imgur_media_activity_image_label">"Imagem %1$d/%2$d"</string>
@@ -53,8 +53,8 @@
<string name="action_edit_flair">"Editar Flair"</string>
<string name="action_change_post_layout">"Alterar Visualização de Publicações"</string>
<string name="action_save">"Guardar"</string>
<string name="action_edit_multi_reddit">"Editar MultiComunidade"</string>
<string name="action_delete_multi_reddit">"Eliminar MultiComunidade"</string>
<string name="action_edit_multi_reddit">"Editar MultiReddit"</string>
<string name="action_delete_multi_reddit">"Eliminar MultiReddit"</string>
<string name="action_share">"Partilhar"</string>
<string name="action_preview">"Pré-visualizar"</string>
<string name="action_report">"Denunciar"</string>
@@ -81,7 +81,7 @@ Toque para tentar novamente."</string>
<string name="no_comments">"Sem comentários encontrados"</string>
<string name="no_communities">"Nenhuma comunidade encontrada"</string>
<string name="no_users">"Nenhum utilizador encontrado"</string>
<string name="no_multi_reddits">"Nenhuma Multicomunidade encontrada"</string>
<string name="no_multi_reddits">"Nenhum Multireddit encontrado"</string>
<string name="no_storage_permission">"Sem permissão de armazenamento para guardar este ficheiro"</string>
<string name="load_comments_failed">"Erro ao carregar comentários.
Toque para tentar novamente."</string>
@@ -102,7 +102,7 @@ Toque para tentar novamente."</string>
<string name="since">"Desde:"</string>
<string name="profile">"Perfil"</string>
<string name="subscriptions">"Subscrições"</string>
<string name="multi_reddit">"Multi-comunidade"</string>
<string name="multi_reddit">"Multi-reddit"</string>
<string name="inbox">"Caixa de Entrada"</string>
<string name="upvoted">"Voto Positivo"</string>
<string name="downvoted">"Voto Negativo"</string>
@@ -115,7 +115,7 @@ Toque para tentar novamente."</string>
<string name="cannot_fetch_community_info">"Não é possível obter informações da comunidade"</string>
<string name="cannot_fetch_user_info">"Não é possível obter informações do utilizador"</string>
<string name="cannot_fetch_sidebar">"Não é possível obter informações da barra lateral"</string>
<string name="cannot_fetch_multireddit">"Não é possível obter informações da multicomunidade"</string>
<string name="cannot_fetch_multireddit">"Não é possível obter informações do multireddit"</string>
<string name="subscribe">"Subscrever"</string>
<string name="unsubscribe">"Cancelar subscrição"</string>
<string name="subscribed">"Subscrito"</string>
@@ -171,7 +171,7 @@ Toque para tentar novamente."</string>
<string name="post_link_hint">"URL"</string>
<string name="communities">"Comunidades"</string>
<string name="users">"Utilizadores"</string>
<string name="multi_reddits">MultiCommunity</string>
<string name="multi_reddits">"MultiReddits"</string>
<string name="bottom_sheet_post_text">"Texto"</string>
<string name="bottom_sheet_post_link">"Ligação"</string>
<string name="bottom_sheet_post_image">"Imagem"</string>
@@ -385,13 +385,13 @@ Toque para tentar novamente."</string>
<string name="settings_rate_summary">"Dê-me 5 estrelas que ficarei muito contente"</string>
<string name="settings_email_title">"Email"</string>
<string name="settings_email_summary">"docilealligator.app@gmail.com"</string>
<string name="settings_reddit_account_title">"Conta do Lemmy"</string>
<string name="settings_reddit_account_title">"Conta do Reddit"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">"Comunidade"</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Partilhar"</string>
<string name="settings_share_summary">"Se aprecia esta aplicação, partilhe-a com outros"</string>
<string name="settings_version_title">"Infinity For Lemmy"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>
<string name="settings_version_summary">"Versão %s"</string>
<string name="settings_category_customization_title">"Personalização"</string>
<string name="settings_customize_light_theme_title">"Tema Claro"</string>
@@ -414,7 +414,7 @@ Toque para tentar novamente."</string>
<string name="settings_tab_community_name">"Nome da Comunidade (sem prefixo r/)"</string>
<!-- Fuzzy -->
<string name="settings_tab_multi_reddit_name">"Nome MultiComunidade (/utilizador/oseunomedeutilizador/m/oseunomemulticomunidade)"</string>
<string name="settings_tab_multi_reddit_name">"Nome MultiReddit (/utilizador/oseunomedeutilizador/m/oseunomemultireddit)"</string>
<string name="settings_tab_username">"Nome de Utilizador (sem prefixo u/)"</string>
<string name="no_developer_easter_egg">"Aqui não existem opções de programador"</string>
<string name="no_link_available">"Não foi possível obter a ligação"</string>
@@ -452,10 +452,10 @@ Toque para tentar novamente."</string>
<string name="elapsed_time_months_ago">"%1$d Meses"</string>
<string name="elapsed_time_a_year_ago">"1 Ano"</string>
<string name="elapsed_time_years_ago">"%1$d Anos"</string>
<string name="error_getting_multi_reddit_data">"Erro ao obter dados da multicomunidade"</string>
<string name="error_loading_multi_reddit_list">"Não foi possível sincronizar multicomunidades"</string>
<string name="error_getting_multi_reddit_data">"Erro ao obter dados do multireddit"</string>
<string name="error_loading_multi_reddit_list">"Não foi possível sincronizar multireddits"</string>
<string name="error_loading_subscriptions">"Não foi possível sincronizar as subscrições"</string>
<string name="share_this_app">"Check out Infinity for Lemmy, an awesome Lemmy client!
<string name="share_this_app">"Check out Infinity for Reddit, an awesome Reddit client!
https://play.google.com/store/apps/details?id=eu.toldi.infinityforlemmy"</string>
<string name="error_getting_community_name">"Erro ao obter o nome da comunidade"</string>
<string name="share_post_link">"Partilhar Endereço da Publicação"</string>
@@ -483,9 +483,9 @@ https://play.google.com/store/apps/details?id=eu.toldi.infinityforlemmy"</string
<string name="multi_reddit_description_hint">"Descrição"</string>
<string name="private_multi_reddit">"Privado"</string>
<string name="no_multi_reddit_name">"Onde está o nome?"</string>
<string name="create_multi_reddit_failed">"Não é possível criar esta multicomunidade"</string>
<string name="duplicate_multi_reddit">"Esta multicomunidade já existe"</string>
<string name="edit_multi_reddit_failed">"Não é possível editar esta multicomunidade"</string>
<string name="create_multi_reddit_failed">"Não é possível criar este multireddit"</string>
<string name="duplicate_multi_reddit">"Este multireddit já existe"</string>
<string name="edit_multi_reddit_failed">"Não é possível editar este multireddit"</string>
<string name="delete_multi_reddit_success">"Eliminado com sucesso"</string>
<string name="delete_multi_reddit_failed">"Falha ao eliminar"</string>
<string name="delete_multi_reddit_dialog_message">"Tem a certeza?"</string>
@@ -688,7 +688,7 @@ com base no Tema Indigo Amoled"</string>
<string name="delete_all_front_page_scrolled_positions_success">"Eliminação das posições de deslizamento com sucesso"</string>
<string name="reset_all_settings_success">"Todas as definições repostas com sucesso"</string>
<string name="username_preview">"u/Hostilenemy"</string>
<string name="community_preview">"c/infinityforlemmy"</string>
<string name="community_preview">"r/Infinity_For_Reddit"</string>
<string name="primary_text_preview">"Texto Principal"</string>
<string name="secondary_text_preview">"Texto Secundário"</string>
<string name="post_title_preview">"Isto é uma publicação"</string>
@@ -699,8 +699,8 @@ com base no Tema Indigo Amoled"</string>
<string name="author_flair_preview">"Flair do Autor"</string>
<string name="comment_content_preview">"Arranjei um cartão a desejar as \"Melhoras\" à minha namorada.
Ela não está doente nem nada, mas certamente poderá melhorar."</string>
<string name="edit_multi_reddit">"Editar Multicomunidade"</string>
<string name="delete_multi_reddit">"Eliminar Multicomunidade"</string>
<string name="edit_multi_reddit">"Editar Multireddit"</string>
<string name="delete_multi_reddit">"Eliminar Multireddit"</string>
<string name="n_awards">"%1$d Prémios"</string>
<string name="one_award">"1 Prémio"</string>
<string name="report">"Denunciar"</string>
@@ -713,7 +713,7 @@ Ela não está doente nem nada, mas certamente poderá melhorar."</string>
<string name="report_reason_general_child_pornography">"Contém Pornografia Infantil"</string>
<string name="report_reason_general_abusive_content">"Contém Conteúdo Abusivo"</string>
<string name="home">"Início"</string>
<string name="local">"Local"</string>
<string name="local">"Popular"</string>
<string name="notifications">"Notificações"</string>
<string name="messages">"Mensagens"</string>
<string name="message">"Mensagem"</string>
@@ -787,7 +787,7 @@ Os separadores poderão perder todo o conteúdo após alternar entre outros. É
<string name="settings_data_saving_mode">"Modo de Poupança de Dados"</string>
<string name="settings_data_saving_mode_info_summary">"No modo de poupança de dados:
Pré-visualização de imagens em baixa resolução.
Vídeos do Lemmy em baixa resolução.
Vídeos do Reddit em baixa resolução.
Reprodução automática de vídeos desativada."</string>
<string name="settings_translation_title">"Tradução"</string>
<string name="settings_translation_summary">"Traduzir esta aplicação no POEditor. Obrigado a todos os colaboradores."</string>
@@ -855,10 +855,10 @@ Mensagem: %2$s"</string>
<string name="filtered_posts_activity_subtitle">"Publicações Filtradas"</string>
<string name="post_filter_preference_activity_label">"Filtro de Publicações"</string>
<string name="search_users_result_activity_label">"Utilizadores"</string>
<string name="multireddit_selection_activity_label">"Escolher uma Multicomunidade"</string>
<string name="multireddit_selection_activity_label">"Escolher um Multireddit"</string>
<string name="action_save_to_database">"Guardar na Base de Dados"</string>
<string name="action_read_all_messages">"Ler Todas as Mensagens"</string>
<string name="action_add_to_multireddit">"Adicionar à Multicomunidade"</string>
<string name="action_add_to_multireddit">"Adicionar ao Multireddit"</string>
<string name="search_only_communities_hint">"Pesquisar comunidades"</string>
<string name="search_only_users_hint">"Pesquisar utilizadores"</string>
<string name="post_type_gif">"Gif"</string>
@@ -895,7 +895,7 @@ Mensagem: %2$s"</string>
<string name="only_spoiler">"Apenas Spoiler"</string>
<string name="title_excludes_strings_hint">"Título: excluir palavras-chave (palavra1,palavra2)"</string>
<string name="title_excludes_regex_hint">"Título: excluir expressões regulares"</string>
<string name="exclude_communities_hint">"Excluir comunidades (ex.: funny,Asklemmy)"</string>
<string name="exclude_communities_hint">"Excluir comunidades (ex.: funny,AskReddit)"</string>
<string name="exclude_users_hint">"Excluir utilizadores (ex.: Hostilenemy,random)"</string>
<string name="exclude_flairs_hint">"Excluir flairs (ex.: flair1, flair2)"</string>
<string name="contain_flairs_hint">"Contém flairs (ex.: flair1, flair2)"</string>
@@ -915,17 +915,17 @@ Mensagem: %2$s"</string>
<string name="post_filter_usage_community_all">"Comunidade"</string>
<string name="post_filter_usage_user">"Utilizador: %1$s"</string>
<string name="post_filter_usage_user_all">"Utilizador"</string>
<string name="post_filter_usage_multireddit">"MultiComunidade: %1$s"</string>
<string name="post_filter_usage_multireddit_all">"MultiComunidade"</string>
<string name="post_filter_usage_multireddit">"MultiReddit: %1$s"</string>
<string name="post_filter_usage_multireddit_all">"MultiReddit"</string>
<string name="post_filter_usage_search">"Pesquisar"</string>
<string name="community">"Comunidade"</string>
<string name="user">"Utilizador"</string>
<string name="edit_post_filter_name_of_usage_info">"Deixar em branco para aplicar este filtro de publicação a todos os utilizadores / comunidades / multilemmy"</string>
<string name="read_all_messages_time_limit">"Está a repetir esta ação com demasiada frequência. Tente novamente mais tarde. Este é o valor limite da API do Lemmy."</string>
<string name="edit_post_filter_name_of_usage_info">"Deixar em branco para aplicar este filtro de publicação a todos os utilizadores / comunidades / multireddit"</string>
<string name="read_all_messages_time_limit">"Está a repetir esta ação com demasiada frequência. Tente novamente mais tarde. Este é o valor limite da API do Reddit."</string>
<string name="read_all_messages_success">"Todas as mensagens lidas com sucesso"</string>
<string name="read_all_messages_failed">"Não é possível ler todas as mensagens"</string>
<string name="add_community_or_user_to_multireddit_success">"%1$s foi adicionado à multicomunidade %2$s"</string>
<string name="add_community_or_user_to_multireddit_failed">"Não é possível adicionar %1$s à multicomunidade %2$s"</string>
<string name="add_community_or_user_to_multireddit_success">"%1$s foi adicionado ao multireddit %2$s"</string>
<string name="add_community_or_user_to_multireddit_failed">"Não é possível adicionar %1$s ao multireddit %2$s"</string>
<string name="choose_a_user">"Escolher um utilizador"</string>
<string name="settings_click_to_show_media_in_gallery_layout">"Clicar para Mostrar Média na Visualização Galeria"</string>
<string name="settings_hide_post_type">"Esconder Tipo de Publicação"</string>
@@ -1013,8 +1013,8 @@ Mensagem: %2$s"</string>
<string name="settings_show_only_one_comment_level_indicator">"Mostrar Apenas Um Indicador do Nível de Comentário"</string>
<string name="save_comment">"Guardar"</string>
<string name="unsave_comment">"Esquecer"</string>
<string name="copy_multi_reddit_path">"Copiar Caminho da Multicomunidade"</string>
<string name="copy_multi_reddit_path_failed">"Não é possível copiar o caminho da multicomunidade"</string>
<string name="copy_multi_reddit_path">"Copiar Caminho do Multireddit"</string>
<string name="copy_multi_reddit_path_failed">"Não é possível copiar o caminho do multireddit"</string>
<string name="crash_reports_deleted">"Os relatórios de erros eliminados"</string>
<string name="disable_nsfw_forever_message">"Uma vez ativo, todo o conteúdo impróprio será desativado permanentemente, quer a definição de conteúdo 18+ esteja ativa ou não. Esta configuração é irreversível e a única maneira de reativar conteúdo 18+ é limpando os dados da aplicação.
@@ -1027,7 +1027,7 @@ Ainda deseja ativar esta opção?"</string>
<string name="receive_post_reply_notifications">"Receber notificações de respostas de publicações"</string>
<string name="bottom_sheet_post_gallery">"Galeria"</string>
<string name="posting_gallery">"A Publicar Galeria"</string>
<string name="label_reddit">"Lemmy"</string>
<string name="label_reddit">"Reddit"</string>
<string name="settings_default_link_post_layout">"Disposição predefinida de Publicações de Ligação"</string>
<string name="settings_category_material_you_title">"Material You"</string>
<string name="settings_enable_material_you_warning_summary">"Assegure-se de que não tem temas com nome
@@ -1039,9 +1039,9 @@ Caso contrário, altere o nome antes de ativar Material You"</string>
<string name="settings_enable_material_you_summary">"Personalizar Infinity baseado na imagem de fundo"</string>
<string name="settings_apply_material_you_title">"Aplicar Material You"</string>
<string name="settings_apply_material_you_summary">"Em caso do Infinity não alterar o tema"</string>
<string name="settings_more_tabs_show_favorite_multireddits_title">"Mostrar MultiComunidade Favorita"</string>
<string name="settings_more_tabs_show_multireddits_title">"Mostrar MultiComunidade"</string>
<string name="settings_collapse_reddit_section_title">"Recolher Secção do Lemmy"</string>
<string name="settings_more_tabs_show_favorite_multireddits_title">"Mostrar MultiReddit Favorito"</string>
<string name="settings_more_tabs_show_multireddits_title">"Mostrar MultiReddit"</string>
<string name="settings_collapse_reddit_section_title">"Recolher Secção do Reddit"</string>
<string name="settings_video_player_automatic_landscape_orientation">"Alterar para Orientação Paisagem automaticamente no Reprodutor de Vídeo"</string>
<string name="settings_remember_muting_option_in_post_feed">"Lembrar opção sem som no Feed de Publicações"</string>
<string name="link_post_layout_auto">"Auto"</string>
@@ -1064,7 +1064,7 @@ Toque para tentar novamente."</string>
<string name="settings_post_details_title">"Detalhes do Post"</string>
<string name="settings_secure_mode_title">"Modo Seguro"</string>
<string name="error_loading_wiki">"Erro a carregar a Wiki"</string>
<string name="no_wiki">"Esta comunidade não tem wiki"</string>
<string name="no_wiki">"Este subreddit não tem wiki"</string>
<string name="material_you_notification_title">"Aplicando Material You"</string>
<string name="action_go_to_wiki">"Ir para a Wiki"</string>
<string name="about">"Sobre"</string>
@@ -1074,7 +1074,7 @@ Toque para tentar novamente."</string>
<string name="go_to_top">"Ir para Cima"</string>
<string name="title_contains_regex_hint">"Título: contém regex"</string>
<string name="contain_domains_hint">"Contém domínios"</string>
<string name="anonymous_multireddit_no_community">"Esta multicomunidade não tem nenhuma comunidade!"</string>
<string name="anonymous_multireddit_no_community">"Este multireddit não tem nenhum subreddit!"</string>
<string name="contain_domain">"Contém este domínio"</string>
<string name="app_lock_timeout_immediately">"Imediatamente"</string>
<string name="app_lock_timeout_1_min">"1 minuto"</string>
@@ -1092,4 +1092,4 @@ Toque para tentar novamente."</string>
<string name="app_lock_timeout_6_hours">"6 horas"</string>
<string name="app_lock_timeout_12_hours">"12 horas"</string>
<string name="app_lock_timeout_24_hours">"24 horas"</string>
</resources>
</resources>

View File

@@ -402,8 +402,8 @@ Atinge pentru a reîncerca."</string>
<string name="settings_email_summary">"docilealligator.app@gmail.com"</string>
<string name="settings_reddit_account_title">"Cont Reddit"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">Community</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Distribuie"</string>
<string name="settings_share_summary">"Distribuie această aplicație altor persoane dacă îți place"</string>
<string name="settings_version_title">"Infinit Pentru Reddit"</string>

View File

@@ -389,7 +389,7 @@
<string name="settings_reddit_account_title">"Аккаунт Reddit"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">"Сабреддит"</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Поделиться"</string>
<string name="settings_share_summary">"Поделитесь этим приложением с другими людьми, если оно вам нравится"</string>
<string name="settings_version_title">"Infinity для Reddit"</string>

View File

@@ -396,7 +396,7 @@ Tekrar denemek için tıklayın."</string>
<string name="settings_reddit_account_title">"Reddit Hesabı"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Paylaş"</string>
<string name="settings_share_summary">"Bu uygulamayı beğendiyseniz başkalarıyla paylaşın"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>

View File

@@ -377,7 +377,7 @@
<string name="settings_reddit_account_title">"Обліківка Reddit"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">"Сабредит"</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Поширте"</string>
<string name="settings_share_summary">"Поділіться цим застосунком з іншими людьми, якщо він Вам подобається"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>

View File

@@ -390,7 +390,7 @@ Nhấn để thử lại."</string>
<string name="settings_reddit_account_title">"Tài khoản Reddit"</string>
<string name="settings_reddit_account_summary">"u/Hostilenemy"</string>
<string name="settings_community_title">"Subreddit"</string>
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"Chia sẻ"</string>
<string name="settings_share_summary">"Hãy chia sẻ ứng dụng này với người khác nếu bạn thích nó"</string>
<string name="settings_version_title">"Infinity cho Reddit"</string>

View File

@@ -395,7 +395,7 @@
<string name="settings_community_title">"版块"</string>
<!-- 这个应该不做翻译为好它是指示infinity社区位置的。在关于界面 -->
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
<string name="settings_community_summary">"r/Infinity_For_Reddit"</string>
<string name="settings_share_title">"分享"</string>
<string name="settings_share_summary">"如果您喜欢此应用,可以分享给其他人"</string>
<string name="settings_version_title">"Infinity For Reddit"</string>

View File

@@ -501,57 +501,47 @@
<string-array name="settings_subreddit_default_sort_type">
<item>Hot</item>
<item>New</item>
<item>Active</item>
<item>Rising</item>
<item>Top</item>
<item>Most Comments</item>
<item>New Comments</item>
<item>Controversial</item>
</string-array>
<string-array name="settings_subreddit_default_sort_type_values">
<item>HOT</item>
<item>NEW</item>
<item>ACTIVE</item>
<item>RISING</item>
<item>TOP</item>
<item>MOSTCOMMENTS</item>
<item>NEWCOMMENTS</item>
<item>CONTROVERSIAL</item>
</string-array>
<string-array name="settings_user_default_sort_type">
<item>New</item>
<item>Old</item>
<item>Hot</item>
<item>Top</item>
<item>Controversial</item>
</string-array>
<string-array name="settings_user_default_sort_type_values">
<item>NEW</item>
<item>OLD</item>
<item>HOT</item>
<item>TOP</item>
<item>CONTROVERSIAL</item>
</string-array>
<string-array name="settings_default_sort_time">
<item>Hour</item>
<item>6 Hours</item>
<item>12 Hours</item>
<item>Day</item>
<item>Week</item>
<item>Month</item>
<item>3 Months</item>
<item>6 Months</item>
<item>9 Months</item>
<item>Year</item>
<item>All Time</item>
</string-array>
<string-array name="settings_default_sort_time_values">
<item>HOUR</item>
<item>6HOURS</item>
<item>12HOURS</item>
<item>DAY</item>
<item>WEEK</item>
<item>MONTH</item>
<item>3MONTHS</item>
<item>6MONTHS</item>
<item>9MONTHS</item>
<item>YEAR</item>
<item>ALL</item>
</string-array>

View File

@@ -16,13 +16,13 @@
<string name="view_message_activity_label">Inbox</string>
<string name="settings_activity_label">Settings</string>
<string name="account_saved_thing_activity_label">Saved</string>
<string name="create_multi_reddit_activity_label">Create Multicommunity</string>
<string name="create_multi_reddit_activity_label">Create Multireddit</string>
<string name="community_multiselection_activity_label">Select Communities</string>
<string name="custom_theme_listing_activity_label">Custom Themes</string>
<string name="customize_theme_activity_label">Customize Theme</string>
<string name="customize_theme_activity_create_theme_label">Create Theme</string>
<string name="theme_preview_activity_label">Theme Preview</string>
<string name="edit_multi_reddit_activity_label">Edit Multicommunity</string>
<string name="edit_multi_reddit_activity_label">Edit Multireddit</string>
<string name="selected_subeddits_activity_label">Selected Communities</string>
<string name="report_activity_label">Report</string>
<string name="view_imgur_media_activity_image_label">Image %1$d/%2$d</string>
@@ -38,7 +38,7 @@
<string name="filtered_posts_activity_subtitle">Filtered Posts</string>
<string name="post_filter_preference_activity_label">Post Filter</string>
<string name="search_users_result_activity_label">Users</string>
<string name="multireddit_selection_activity_label">Select a Multicommunity</string>
<string name="multireddit_selection_activity_label">Select a Multireddit</string>
<string name="post_gallery_activity_label">Gallery Post</string>
<string name="trending_activity_label">Trending</string>
<string name="wiki_activity_label">Wiki</string>
@@ -70,8 +70,8 @@
<string name="action_edit_flair">Edit Flair</string>
<string name="action_change_post_layout">Change Post Layout</string>
<string name="action_save">Save</string>
<string name="action_edit_multi_reddit">Edit Multicommunity</string>
<string name="action_delete_multi_reddit">Delete Multicommunity</string>
<string name="action_edit_multi_reddit">Edit MultiReddit</string>
<string name="action_delete_multi_reddit">Delete Multireddit</string>
<string name="action_share">Share</string>
<string name="action_preview">Preview</string>
<string name="action_report">Report</string>
@@ -84,7 +84,7 @@
<string name="action_give_award">Give Award</string>
<string name="action_save_to_database">Save to Database</string>
<string name="action_read_all_messages">Read All Messages</string>
<string name="action_add_to_multireddit">Add to Multicommuity</string>
<string name="action_add_to_multireddit">Add to Multireddit</string>
<string name="action_share_link">Share Link</string>
<string name="action_copy_link">Copy Link</string>
<string name="action_open_external_browser">Open in browser</string>
@@ -114,7 +114,7 @@
<string name="no_comments">No comments found</string>
<string name="no_communities">No communities found</string>
<string name="no_users">No users found</string>
<string name="no_multi_reddits">No Multicommunities found</string>
<string name="no_multi_reddits">No Multireddits found</string>
<string name="no_storage_permission">No storage permission to save this file</string>
<string name="anonymous_homepage_not_implemented">Anonymous homepage is not implemented yet</string>
@@ -135,7 +135,7 @@
<string name="profile">Profile</string>
<string name="subscriptions">Subscriptions</string>
<string name="multi_reddit">Multicommuity</string>
<string name="multi_reddit">Multireddit</string>
<string name="history">History</string>
<string name="inbox">Inbox</string>
<string name="inbox_with_count">Inbox (%1$,d)</string>
@@ -153,7 +153,7 @@
<string name="invalid_response">Invalid response from the server</string>
<string name="invalid_username_or_password">Invalid username or password</string>
<string name="cannot_fetch_sidebar">Cannot fetch sidebar</string>
<string name="cannot_fetch_multireddit">Cannot fetch multicommunity info</string>
<string name="cannot_fetch_multireddit">Cannot fetch multireddit info</string>
<string name="subscribe">Subscribe</string>
<string name="unsubscribe">Unsubscribe</string>
@@ -226,7 +226,7 @@
<string name="communities">Communities</string>
<string name="users">Users</string>
<string name="multi_reddits">MultiCommunity</string>
<string name="multi_reddits">MultiReddits</string>
<string name="posts">Posts</string>
<string name="comments">Comments</string>
<string name="about">About</string>
@@ -511,14 +511,14 @@
<string name="settings_tab_3_summary">Tab 3</string>
<string name="settings_more_tabs_summary">More Tabs</string>
<string name="settings_more_tabs_info_summary">Enabling the following options will cause an unintended behaviour:\nTabs may lose all the content after switching to others. This is the same as refreshing the page.</string>
<string name="settings_more_tabs_show_favorite_multireddits_title">Show Favorite Multicommunities</string>
<string name="settings_more_tabs_show_multireddits_title">Show Multicommunities</string>
<string name="settings_more_tabs_show_favorite_multireddits_title">Show Favorite Multireddits</string>
<string name="settings_more_tabs_show_multireddits_title">Show Multireddits</string>
<string name="settings_more_tabs_show_favorite_subscribed_communities_title">Show Favorite Subscribed Communities</string>
<string name="settings_more_tabs_show_subscribed_communities_title">Show Subscribed Communities</string>
<string name="settings_tab_title">Title</string>
<string name="settings_tab_post_type">Type</string>
<string name="settings_tab_community_name">Community Name (Without @ instance tag)</string>
<string name="settings_tab_multi_reddit_name">Multicommunity Path (/user/yourusername/m/yourmulticommunityname) (only lowercase characters)</string>
<string name="settings_tab_multi_reddit_name">MultiReddit Path (/user/yourusername/m/yourmultiredditname) (only lowercase characters)</string>
<string name="settings_tab_username">Username (Without u/ prefix)</string>
<string name="no_developer_easter_egg">There\'s no developer options here</string>
<string name="settings_download_location_title">Download Location</string>
@@ -548,7 +548,7 @@
<string name="settings_bottom_app_bar_option_4">Option 4</string>
<string name="settings_bottom_app_bar_fab">Floating Action Button</string>
<string name="settings_data_saving_mode">Data Saving Mode</string>
<string name="settings_data_saving_mode_info_summary">In data saving mode: Preview images are in lower resolution. Lemmy videos are in lower resolution. Video autoplay is disabled.</string>
<string name="settings_data_saving_mode_info_summary">In data saving mode:\nPreview images are in lower resolution.\nReddit videos are in lower resolution.\nVideo autoplay is disabled.</string>
<string name="settings_translation_title">Translation</string>
<string name="settings_translation_summary">Translate this app on POEditor. Thanks to all contributors.</string>
<string name="settings_credits_national_flags">National Flags</string>
@@ -594,7 +594,7 @@
<string name="settings_swipe_between_posts_title">Swipe Between Posts</string>
<string name="settings_navigation_drawer_title">Navigation Drawer</string>
<string name="settings_collapse_account_section_title">Collapse Account Section</string>
<string name="settings_collapse_reddit_section_title">Collapse Lemmy Section</string>
<string name="settings_collapse_reddit_section_title">Collapse Reddit Section</string>
<string name="settings_collapse_post_section_title">Collapse Post Section</string>
<string name="settings_collapse_preferences_section_title">Collapse Preferences Section</string>
<string name="settings_collapse_favorite_communities_section_title">Collapse Favorite Communities Section</string>
@@ -639,13 +639,13 @@
<string name="settings_show_fewer_toolbar_options_threshold_title">Show Fewer Toolbar Options Starting From</string>
<string name="settings_show_fewer_toolbar_options_threshold_summary">Level %1$d</string>
<string name="settings_show_author_avatar_title">Show Author Avatar</string>
<string name="settings_reddit_user_agreement_title">Lemmy User Agreement</string>
<string name="settings_reddit_user_agreement_title">Reddit User Agreement</string>
<string name="settings_always_show_child_comment_count_title">Always Show the Number of Child Comments</string>
<string name="settings_hide_upvote_ratio_title">Hide Upvote Ratio</string>
<string name="settings_miscellaneous_dangerous_group_title">Dangerous</string>
<string name="settings_post_feed_max_resolution_warning_title">Increase the value to show previews in higher resolution, but the app may crash unexpectedly.</string>
<string name="settings_post_feed_max_resolution_title">Post Feed Preview Max Resolution (Width * Height)</string>
<string name="settings_reddit_video_default_resolution">Lemmy Video Default Resolution</string>
<string name="settings_reddit_video_default_resolution">Reddit Video Default Resolution</string>
<string name="settings_easier_to_watch_in_full_screen_title">Easier to Watch in Full Screen</string>
<string name="settings_hide_fab_in_post_feed">Hide FAB in Post Feed</string>
<string name="settings_comment_divider_type">Comment Divider Type</string>
@@ -700,8 +700,8 @@
<string name="elapsed_time_a_year_ago">1 Year</string>
<string name="elapsed_time_years_ago">%1$d Years</string>
<string name="error_getting_multi_reddit_data">Error getting multicommunity data</string>
<string name="error_loading_multi_reddit_list">Cannot sync multicommunities</string>
<string name="error_getting_multi_reddit_data">Error getting multireddit data</string>
<string name="error_loading_multi_reddit_list">Cannot sync multireddits</string>
<string name="error_loading_subscriptions">Cannot sync subscriptions</string>
<string name="share_this_app">Check out Infinity for Lemmy, an awesome Lemmy client!\nhttps://play.google.com/store/apps/details?id=eu.toldi.infinityforlemmy</string>
@@ -742,9 +742,9 @@
<string name="private_multi_reddit">Private</string>
<string name="select_communities_and_users">Select Communities and Users</string>
<string name="no_multi_reddit_name">Where is the name?</string>
<string name="create_multi_reddit_failed">Cannot create this multicommunity</string>
<string name="duplicate_multi_reddit">This multicommunity already exists</string>
<string name="edit_multi_reddit_failed">Cannot edit this multicommunity</string>
<string name="create_multi_reddit_failed">Cannot create this multireddit</string>
<string name="duplicate_multi_reddit">This multireddit already exists</string>
<string name="edit_multi_reddit_failed">Cannot edit this multireddit</string>
<string name="delete_multi_reddit_success">Deleted successfully</string>
<string name="delete_multi_reddit_failed">Delete failed</string>
<string name="delete_multi_reddit_dialog_message">Are you sure?</string>
@@ -981,7 +981,7 @@
<string name="reset_all_settings_success">Reset all settings successfully</string>
<string name="username_preview">\@bazsalanszky@lemmy.toldi.eu</string>
<string name="community_preview">!infinityforlemmy@lemdro.id</string>
<string name="community_preview">r/Infinity_For_Reddit</string>
<string name="primary_text_preview">Primary Text</string>
<string name="secondary_text_preview">Secondary Text</string>
<string name="post_title_preview">This is a post</string>
@@ -992,10 +992,10 @@
<string name="author_flair_preview">Author Flair</string>
<string name="comment_content_preview">I got my girlfriend a “Get better soon” card.\nShe\'s not ill or anything, but she could definitely get better.</string>
<string name="copy_multi_reddit_path">Copy Multicommunity\'s Path</string>
<string name="copy_multi_reddit_path_failed">Unable to copy multicommunity\'s path</string>
<string name="edit_multi_reddit">Edit Multicommunity</string>
<string name="delete_multi_reddit">Delete Multicommunity</string>
<string name="copy_multi_reddit_path">Copy Multireddit\'s Path</string>
<string name="copy_multi_reddit_path_failed">Unable to copy multireddit\'s path</string>
<string name="edit_multi_reddit">Edit Multireddit</string>
<string name="delete_multi_reddit">Delete Multireddit</string>
<string name="n_awards">%1$,d Awards</string>
<string name="one_award">1 Award</string>
@@ -1140,19 +1140,19 @@
<string name="post_filter_usage_community_all">Community</string>
<string name="post_filter_usage_user">User: %1$s</string>
<string name="post_filter_usage_user_all">User</string>
<string name="post_filter_usage_multireddit">Multicommunity: %1$s</string>
<string name="post_filter_usage_multireddit_all">Multicommunity</string>
<string name="post_filter_usage_multireddit">MultiReddit: %1$s</string>
<string name="post_filter_usage_multireddit_all">MultiReddit</string>
<string name="post_filter_usage_search">Search</string>
<string name="community">Community</string>
<string name="user">User</string>
<string name="edit_post_filter_name_of_usage_info">Leave it blank to apply this post filter to all the communities / users / multicommunities</string>
<string name="edit_post_filter_name_of_usage_info">Leave it blank to apply this post filter to all the communities / users / multireddits</string>
<string name="read_all_messages_time_limit">You are doing this too frequently. Try again later. This is Reddit API\'s rate limit.</string>
<string name="read_all_messages_success">Read all messages successfully</string>
<string name="read_all_messages_failed">Unable to read all messages</string>
<string name="add_community_or_user_to_multireddit_success">%1$s is added to multicommunity %2$s</string>
<string name="add_community_or_user_to_multireddit_failed">Unable to add %1$s to multicommunity %2$s</string>
<string name="add_community_or_user_to_multireddit_success">%1$s is added to multireddit %2$s</string>
<string name="add_community_or_user_to_multireddit_failed">Unable to add %1$s to multireddit %2$s</string>
<string name="choose_a_user">Choose a user</string>
@@ -1162,7 +1162,7 @@
<string name="vote">Vote</string>
<string name="anonymous_front_page_no_subscriptions">Start by joining a community!</string>
<string name="anonymous_multireddit_no_community">This multicommunity does not have a community!</string>
<string name="anonymous_multireddit_no_community">This multireddit does not have a community!</string>
<string name="backup_settings_success">Successfully exported settings to the destination directory. The password of the generated zip file is 123321. Please don\'t modify the zip file.</string>
<string name="create_zip_in_destination_directory_failed">Could not create backup zip in the destination directory</string>
@@ -1347,6 +1347,4 @@
<string name="mentions">Mentions</string>
<string name="replies">Replies</string>
<string name="use_circular_fab">Use Circular FAB</string>
<string name="block_community">Block Community\n</string>
<string name="not_implemented">Feature not implemented yet :(</string>
</resources>

View File

@@ -46,6 +46,11 @@
app:key="show_author_avatar"
android:title="@string/settings_show_author_avatar_title" />
<eu.toldi.infinityforlemmy.customviews.CustomFontSwitchPreference
app:defaultValue="false"
app:key="hide_comment_awards"
android:title="@string/settings_hide_comment_awards_title" />
<eu.toldi.infinityforlemmy.customviews.CustomFontSwitchPreference
app:defaultValue="false"
app:key="always_show_child_comment_count"

View File

@@ -27,6 +27,15 @@
app:key="hide_post_type"
app:title="@string/settings_hide_post_type" />
<eu.toldi.infinityforlemmy.customviews.CustomFontSwitchPreference
app:defaultValue="false"
app:key="hide_post_flair"
app:title="@string/settings_hide_post_flair" />
<eu.toldi.infinityforlemmy.customviews.CustomFontSwitchPreference
app:defaultValue="false"
app:key="hide_the_number_of_awards"
app:title="@string/settings_hide_the_number_of_awards" />
<eu.toldi.infinityforlemmy.customviews.CustomFontSwitchPreference
app:defaultValue="false"

View File

@@ -1 +1 @@
An Lemmy client for Android, forked from the Infinity for Reddit project.
A Lemmy client for Android written in Java. It's a fork of the Infinity for Reddit project, currenty in early development.