mirror of
				https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
				synced 2025-10-31 17:08:11 +01:00 
			
		
		
		
	Compare commits
	
		
			39 Commits
		
	
	
		
			images_in_
			...
			v0.0.8
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | ffc2d669e5 | ||
|  | 926e1162f0 | ||
|  | 6cf69ee26d | ||
|  | 279820c1be | ||
|  | 1d7031f3d4 | ||
|  | 252e00b67a | ||
|  | a8d63c7480 | ||
|  | 2020172b56 | ||
|  | 2d55a4c8ec | ||
|  | 20a3e0220b | ||
|  | feeeefa2d2 | ||
|  | d25137020f | ||
|  | 3c4fb4162e | ||
|  | 28e9ae950e | ||
|  | 888e741aa9 | ||
|  | 9f7a6e1738 | ||
|  | 76f4a0738f | ||
|  | 63327946be | ||
|  | 84d90adc54 | ||
|  | cf15732a39 | ||
|  | 2eee73753f | ||
|  | 62d097357a | ||
|  | c35a690335 | ||
|  | 18af76ce92 | ||
|  | 6e7256d9a5 | ||
|  | 2af6c5a742 | ||
|  | 5c39fddbc6 | ||
|  | a708853199 | ||
|  | acb651cf92 | ||
|  | 562c91acb2 | ||
|  | 484f9607b1 | ||
|  | 9149ee224c | ||
|  | 1bb1d3b9af | ||
|  | 0b76390069 | ||
|  | 5de8751079 | ||
|  | 4bfe1b0c02 | ||
|  | 15c1676d0b | ||
|  | 49ff90aad1 | ||
|  | 6adaaf1965 | 
							
								
								
									
										49
									
								
								.gitea/issue_template/bug_report.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								.gitea/issue_template/bug_report.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | ||||
| --- | ||||
|  | ||||
| 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. --> | ||||
| @@ -16,6 +16,7 @@ A Lemmy client for Android written in Java. It's a fork of the [Infinity for Red | ||||
| <div align="center"> | ||||
|  | ||||
| [](https://ci.codeberg.org/12474) | ||||
| [](https://liberapay.com/Bazsalanszky) | ||||
|  | ||||
| <a href="https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy/issues">Report a Bug</a> | ||||
|  | ||||
| @@ -41,11 +42,14 @@ 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 | ||||
| - [ ] Capability for creating a new post | ||||
| - [x] 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 | ||||
| - [ ] Feature for saving posts | ||||
| - [x] Feature for saving posts/comments | ||||
| - [x] Resolving links | ||||
| - [ ] Account editing function | ||||
| - [ ] Multi community view? | ||||
|  | ||||
|   | ||||
| @@ -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 = 23) | ||||
|         ReadPost.class, PostFilter.class, PostFilterUsage.class, AnonymousMultiredditSubreddit.class}, version = 24) | ||||
| 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_21_22, MIGRATION_22_23, MIGRATION_23_24) | ||||
|                 .build(); | ||||
|     } | ||||
|  | ||||
| @@ -383,4 +383,11 @@ 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"); | ||||
|         } | ||||
|     }; | ||||
| } | ||||
|   | ||||
| @@ -32,6 +32,9 @@ 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(); | ||||
| @@ -42,6 +45,7 @@ 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>() { | ||||
| @@ -58,11 +62,11 @@ public class Account implements Parcelable { | ||||
|  | ||||
|     @Ignore | ||||
|     public static Account getAnonymousAccount() { | ||||
|         return new Account("-",null, null, null, null, null, false,null); | ||||
|         return new Account("-",null, null, null, null, null, false,null,true); | ||||
|     } | ||||
|  | ||||
|     public Account(@NonNull String accountName, String display_name, String accessToken, String code, | ||||
|                    String profileImageUrl, String bannerImageUrl, boolean isCurrentUser,String instance_url) { | ||||
|                    String profileImageUrl, String bannerImageUrl, boolean isCurrentUser,String instance_url, boolean canDownvote) { | ||||
|         this.accountName = accountName; | ||||
|         this.display_name = display_name; | ||||
|         this.accessToken = accessToken; | ||||
| @@ -71,6 +75,7 @@ public class Account implements Parcelable { | ||||
|         this.bannerImageUrl = bannerImageUrl; | ||||
|         this.isCurrentUser = isCurrentUser; | ||||
|         this.instance_url = instance_url; | ||||
|         this.canDownvote = canDownvote; | ||||
|     } | ||||
|  | ||||
|     @NonNull | ||||
| @@ -116,6 +121,10 @@ public class Account implements Parcelable { | ||||
|         return instance_url; | ||||
|     } | ||||
|  | ||||
|     public boolean canDownvote() { | ||||
|         return canDownvote; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void writeToParcel(Parcel dest, int flags) { | ||||
|         dest.writeString(accountName); | ||||
| @@ -126,5 +135,6 @@ public class Account implements Parcelable { | ||||
|         dest.writeString(code); | ||||
|         dest.writeByte((byte) (isCurrentUser ? 1 : 0)); | ||||
|         dest.writeString(instance_url); | ||||
|         dest.writeByte((byte) (canDownvote ? 1 : 0)); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -227,6 +227,7 @@ 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); | ||||
|                                     } | ||||
|  | ||||
| @@ -246,6 +247,7 @@ 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); | ||||
|                                     } | ||||
|  | ||||
|   | ||||
| @@ -43,6 +43,8 @@ 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; | ||||
| @@ -176,17 +178,35 @@ 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 | ||||
|   | ||||
| @@ -1400,10 +1400,6 @@ 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(); | ||||
|   | ||||
| @@ -558,10 +558,6 @@ 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(); | ||||
|   | ||||
| @@ -233,7 +233,7 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti | ||||
|         }); | ||||
|         sectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); | ||||
|         viewPager.setAdapter(sectionsPagerAdapter); | ||||
|         viewPager.setOffscreenPageLimit(3); | ||||
|         viewPager.setOffscreenPageLimit(1); | ||||
|         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,6 +477,7 @@ 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(); | ||||
| @@ -487,28 +488,12 @@ 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 3; | ||||
|             return 1; | ||||
|         } | ||||
|  | ||||
|         @Override | ||||
|   | ||||
| @@ -946,10 +946,6 @@ 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(); | ||||
|   | ||||
| @@ -95,6 +95,7 @@ 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"; | ||||
| @@ -870,6 +871,7 @@ 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 { | ||||
| @@ -891,6 +893,7 @@ 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)); | ||||
|             } | ||||
|   | ||||
| @@ -554,12 +554,9 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp | ||||
|                 creationTimeTextView.setText(subredditData.getCreatedUTC()); | ||||
|                 description = subredditData.getDescription(); | ||||
|  | ||||
|                 if (hideSubredditDescription || description.equals("")) { | ||||
|                     descriptionTextView.setVisibility(View.GONE); | ||||
|                 } else { | ||||
|                     descriptionTextView.setVisibility(View.VISIBLE); | ||||
|                     markwon.setMarkdown(descriptionTextView, description); | ||||
|                 } | ||||
|  | ||||
|                 descriptionTextView.setVisibility(View.GONE); | ||||
|  | ||||
|  | ||||
|                 if (subredditData.isNSFW()) { | ||||
|                     if (nsfwWarningBuilder == null | ||||
| @@ -1402,10 +1399,6 @@ 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(); | ||||
|   | ||||
| @@ -1341,10 +1341,7 @@ 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(); | ||||
|   | ||||
| @@ -472,6 +472,7 @@ 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); | ||||
|                 } | ||||
|             }); | ||||
|   | ||||
| @@ -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.getAuthor())) { | ||||
|                         if (authorName.equals(comment.getAuthorQualifiedName())) { | ||||
|                             comment.setAuthorIconUrl(iconUrl); | ||||
|                         } | ||||
|  | ||||
|                         Comment currentComment = getCurrentComment(holder); | ||||
|                         if (currentComment != null && authorName.equals(currentComment.getAuthor())) { | ||||
|                         if (currentComment != null && authorName.equals(currentComment.getAuthorQualifiedName())) { | ||||
|                             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.getAuthor())) { | ||||
|                         if (authorName.equals(comment.getAuthorQualifiedName())) { | ||||
|                             comment.setAuthorIconUrl(iconUrl); | ||||
|                         } | ||||
|  | ||||
|                         Comment currentComment = getCurrentComment(holder); | ||||
|                         if (currentComment != null && authorName.equals(currentComment.getAuthor())) { | ||||
|                         if (currentComment != null && authorName.equals(currentComment.getAuthorQualifiedName())) { | ||||
|                             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(mOauthRetrofit, mAccessToken, comment.getId(), new SaveThing.SaveThingListener() { | ||||
|                         saveComment.unsaveThing(mRetrofit, mAccessToken, comment.getId(), new SaveThing.SaveThingListener() { | ||||
|                             @Override | ||||
|                             public void success() { | ||||
|                                 comment.setSaved(false); | ||||
| @@ -1924,6 +1924,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi | ||||
|                 if (mActivity != null && mActivity instanceof ViewPostDetailActivity) { | ||||
|                     mIsSingleCommentThreadMode = false; | ||||
|                     mSingleCommentId = null; | ||||
|                     loadedComments.clear(); | ||||
|                     notifyItemRemoved(0); | ||||
|                     mFragment.changeToNormalThreadMode(); | ||||
|                 } | ||||
|   | ||||
| @@ -182,6 +182,9 @@ 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); | ||||
| @@ -215,7 +218,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().getCommunityQualifiedName()); | ||||
|                     intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, message.getComment().getAuthorQualifiedName()); | ||||
|                     mActivity.startActivity(intent); | ||||
|                 }); | ||||
|             } | ||||
|   | ||||
| @@ -98,6 +98,7 @@ 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; | ||||
| @@ -438,7 +439,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)) { | ||||
|                 if (mDataSavingMode && (mDisableImagePreview || mOnlyDisablePreviewInVideoAndGifPosts) || mPost.getPreviews().isEmpty()) { | ||||
|                     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)); | ||||
| @@ -475,8 +476,7 @@ public class PostDetailRecyclerViewAdapter extends RecyclerView.Adapter<Recycler | ||||
|             ((PostDetailBaseViewHolder) holder).mTitleTextView.setText(mPost.getTitle()); | ||||
|             if (mPost.getSubredditNamePrefixed().startsWith("u/")) { | ||||
|                 if (mPost.getAuthorIconUrl() == null) { | ||||
|                     String authorName = mPost.isAuthorDeleted() ? mPost.getSubredditNamePrefixed().substring(2) : mPost.getAuthor(); | ||||
|                     LoadUserData.loadUserData(mExecutor, new Handler(), mRedditDataRoomDatabase, authorName, mOauthRetrofit, iconImageUrl -> { | ||||
|                     LoadUserData.loadUserData(mExecutor, new Handler(), mRedditDataRoomDatabase,mPost.getAuthorNamePrefixed(), mOauthRetrofit, iconImageUrl -> { | ||||
|                         if (mActivity != null && getItemCount() > 0) { | ||||
|                             if (iconImageUrl == null || iconImageUrl.equals("")) { | ||||
|                                 mGlide.load(R.drawable.subreddit_default_icon) | ||||
| @@ -1219,6 +1219,10 @@ 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 -> { | ||||
| @@ -1765,8 +1769,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_SUBREDDIT, mPost.getSubredditName()); | ||||
|                         intent.putExtra(ViewVideoActivity.EXTRA_ID, mPost.getId()); | ||||
|                         intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_TYPE, ViewVideoActivity.VIDEO_TYPE_DIRECT); | ||||
|  | ||||
|                     } | ||||
|                     intent.putExtra(ViewVideoActivity.EXTRA_POST_TITLE, mPost.getTitle()); | ||||
|                     if (helper != null) { | ||||
| @@ -2038,8 +2042,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_SUBREDDIT, mPost.getSubredditName()); | ||||
|                             intent.putExtra(ViewVideoActivity.EXTRA_ID, mPost.getId()); | ||||
|                             intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_TYPE, ViewVideoActivity.VIDEO_TYPE_DIRECT); | ||||
|                             intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_DOWNLOAD_URL, mPost.getVideoDownloadUrl()); | ||||
|                         } | ||||
|                         intent.putExtra(ViewVideoActivity.EXTRA_POST_TITLE, mPost.getTitle()); | ||||
| @@ -2377,7 +2380,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_SUBREDDIT, mPost.getSubredditName()); | ||||
|                             intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_TYPE, ViewVideoActivity.VIDEO_TYPE_DIRECT); | ||||
|                             intent.putExtra(ViewVideoActivity.EXTRA_ID, mPost.getId()); | ||||
|                             intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_DOWNLOAD_URL, mPost.getVideoDownloadUrl()); | ||||
|                         } | ||||
|   | ||||
| @@ -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.getAuthor(), false, (subredditOrUserName, iconUrl) -> { | ||||
|                             mFragment.loadIcon(post.getAuthorNamePrefixed(), 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.getSubredditName(), true, (subredditOrUserName, iconUrl) -> { | ||||
|                             mFragment.loadIcon(post.getSubredditNamePrefixed(), 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(authorName, post.isAuthorDeleted(), (subredditOrUserName, iconUrl) -> { | ||||
|                         mFragment.loadIcon(post.getSubredditNamePrefixed(), 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(); | ||||
|                                 ((PostVideoAutoplayViewHolder) holder).previewImageView.setImageDrawable(resource); | ||||
|                                 ((PostCard2VideoAutoplayViewHolder) holder).previewImageView.setImageDrawable(resource); | ||||
|                                 if (preview.getPreviewHeight() <= 0 || preview.getPreviewWidth() <= 0) { | ||||
|                                     ((PostVideoAutoplayViewHolder) holder).aspectRatioFrameLayout.setAspectRatio((float) height / width); | ||||
|                                     ((PostVideoAutoplayViewHolder) holder).previewImageView.getLayoutParams().height = height; | ||||
|                                     ((PostCard2VideoAutoplayViewHolder) holder).aspectRatioFrameLayout.setAspectRatio((float) height / width); | ||||
|                                     ((PostCard2VideoAutoplayViewHolder) holder).previewImageView.getLayoutParams().height = height; | ||||
|                                     preview.setPreviewHeight(height); | ||||
|                                     preview.setPreviewWidth(width); | ||||
|                                 } else { | ||||
|                                     ((PostVideoAutoplayViewHolder) holder).aspectRatioFrameLayout.setAspectRatio((float) preview.getPreviewHeight() / preview.getPreviewWidth()); | ||||
|                                     ((PostVideoAutoplayViewHolder) holder).previewImageView.getLayoutParams().height = height; | ||||
|                                     ((PostCard2VideoAutoplayViewHolder) holder).aspectRatioFrameLayout.setAspectRatio((float) preview.getPreviewHeight() / preview.getPreviewWidth()); | ||||
|                                     ((PostCard2VideoAutoplayViewHolder) 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.substring(2); | ||||
|                 String subredditName = subredditNamePrefixed; | ||||
|                 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.getAuthor(), false, (subredditOrUserName, iconUrl) -> { | ||||
|                                 if (mActivity != null && getItemCount() > 0 && post.getAuthor().equals(subredditOrUserName)) { | ||||
|                             mFragment.loadIcon(post.getAuthorNamePrefixed(), false, (subredditOrUserName, iconUrl) -> { | ||||
|                                 if (mActivity != null && getItemCount() > 0 && post.getAuthorNamePrefixed().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(subredditName, true, (subredditOrUserName, iconUrl) -> { | ||||
|                             mFragment.loadIcon(subredditNamePrefixed, 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.isAuthorDeleted() ? post.getSubredditName() : post.getAuthor(); | ||||
|                         mFragment.loadIcon(authorName, post.isAuthorDeleted(), (subredditOrUserName, iconUrl) -> { | ||||
|                         String authorName =  post.getAuthorNamePrefixed(); | ||||
|                         mFragment.loadIcon(post.getAuthorNamePrefixed(), false, (subredditOrUserName, iconUrl) -> { | ||||
|                             if (mActivity != null && getItemCount() > 0 && authorName.equals(subredditOrUserName)) { | ||||
|                                 if (iconUrl == null || iconUrl.equals("")) { | ||||
|                                     mGlide.load(R.drawable.subreddit_default_icon) | ||||
| @@ -2249,8 +2249,7 @@ 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_SUBREDDIT, post.getSubredditName()); | ||||
|                     intent.putExtra(ViewVideoActivity.EXTRA_ID, post.getId()); | ||||
|                     intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_TYPE, ViewVideoActivity.VIDEO_TYPE_DIRECT); | ||||
|                     intent.putExtra(ViewVideoActivity.EXTRA_VIDEO_DOWNLOAD_URL, post.getVideoDownloadUrl()); | ||||
|                 } | ||||
|                 intent.putExtra(ViewVideoActivity.EXTRA_POST_TITLE, post.getTitle()); | ||||
| @@ -2371,6 +2370,9 @@ 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(); | ||||
| @@ -3728,6 +3730,10 @@ 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); | ||||
|   | ||||
| @@ -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 = 5; | ||||
|     private static final int ANONYMOUS_ACCOUNT_SECTION_ITEMS = 3; | ||||
|     private static final int ACCOUNT_SECTION_ITEMS = 4; | ||||
|     private static final int ANONYMOUS_ACCOUNT_SECTION_ITEMS = 2; | ||||
|  | ||||
|     private BaseActivity baseActivity; | ||||
|     private int inboxCount; | ||||
| @@ -101,10 +101,6 @@ 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)); | ||||
| @@ -118,23 +114,21 @@ public class AccountSectionRecyclerViewAdapter extends RecyclerView.Adapter<Recy | ||||
|                         }); | ||||
|                         break; | ||||
|                     default: | ||||
|                         stringId = R.string.history; | ||||
|                         drawableId = R.drawable.ic_history_24dp; | ||||
|  | ||||
|                         stringId = R.string.account_saved_thing_activity_label; | ||||
|                         drawableId = R.drawable.ic_outline_bookmarks_24dp; | ||||
|                         break; | ||||
|                 } | ||||
|             } else { | ||||
|                 switch (position) { | ||||
|  | ||||
|                     case 1: | ||||
|                         stringId = R.string.subscriptions; | ||||
|                         drawableId = R.drawable.ic_subscritptions_bottom_app_bar_24dp; | ||||
|                         break; | ||||
|                     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; | ||||
|                         stringId = R.string.anonymous_account_instance; | ||||
|                         drawableId = R.drawable.ic_account_circle_24dp; | ||||
|                         break; | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|   | ||||
| @@ -17,8 +17,6 @@ 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; | ||||
| @@ -49,10 +47,6 @@ 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( | ||||
| @@ -65,8 +59,6 @@ public class NavigationDrawerRecyclerViewMergedAdapter { | ||||
|         mainPageConcatAdapter = new ConcatAdapter( | ||||
|                 headerSectionRecyclerViewAdapter, | ||||
|                 accountSectionRecyclerViewAdapter, | ||||
|                 redditSectionRecyclerViewAdapter, | ||||
|                 postSectionRecyclerViewAdapter, | ||||
|                 preferenceSectionRecyclerViewAdapter, | ||||
|                 favoriteSubscribedSubredditsSectionRecyclerViewAdapter, | ||||
|                 subscribedSubredditsRecyclerViewAdapter); | ||||
| @@ -78,8 +70,6 @@ public class NavigationDrawerRecyclerViewMergedAdapter { | ||||
|  | ||||
|     private void openAccountSection() { | ||||
|         mainPageConcatAdapter.removeAdapter(accountSectionRecyclerViewAdapter); | ||||
|         mainPageConcatAdapter.removeAdapter(redditSectionRecyclerViewAdapter); | ||||
|         mainPageConcatAdapter.removeAdapter(postSectionRecyclerViewAdapter); | ||||
|         mainPageConcatAdapter.removeAdapter(preferenceSectionRecyclerViewAdapter); | ||||
|         mainPageConcatAdapter.removeAdapter(favoriteSubscribedSubredditsSectionRecyclerViewAdapter); | ||||
|         mainPageConcatAdapter.removeAdapter(subscribedSubredditsRecyclerViewAdapter); | ||||
| @@ -91,8 +81,6 @@ public class NavigationDrawerRecyclerViewMergedAdapter { | ||||
|         mainPageConcatAdapter.removeAdapter(accountManagementSectionRecyclerViewAdapter); | ||||
|  | ||||
|         mainPageConcatAdapter.addAdapter(accountSectionRecyclerViewAdapter); | ||||
|         mainPageConcatAdapter.addAdapter(redditSectionRecyclerViewAdapter); | ||||
|         mainPageConcatAdapter.addAdapter(postSectionRecyclerViewAdapter); | ||||
|         mainPageConcatAdapter.addAdapter(preferenceSectionRecyclerViewAdapter); | ||||
|         mainPageConcatAdapter.addAdapter(favoriteSubscribedSubredditsSectionRecyclerViewAdapter); | ||||
|         mainPageConcatAdapter.addAdapter(subscribedSubredditsRecyclerViewAdapter); | ||||
|   | ||||
| @@ -221,4 +221,9 @@ public interface LemmyAPI { | ||||
|             @Query("id") int commentId, | ||||
|             @Query("auth") String auth | ||||
|     ); | ||||
|  | ||||
|     @GET("api/v3/site") | ||||
|     Call<String> getSiteInfo( | ||||
|             @Query("auth") String auth | ||||
|     ); | ||||
| } | ||||
|   | ||||
| @@ -9,6 +9,7 @@ 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 { | ||||
| @@ -18,9 +19,9 @@ public class LoadSubredditIcon { | ||||
|                                          LoadSubredditIconAsyncTaskListener loadSubredditIconAsyncTaskListener) { | ||||
|         executor.execute(() -> { | ||||
|             SubredditDao subredditDao = redditDataRoomDatabase.subredditDao(); | ||||
|             SubredditData subredditData = subredditDao.getSubredditData(subredditName); | ||||
|             SubredditData subredditData = subredditDao.getSubredditDataByActorId(LemmyUtils.qualifiedCommunityName2ActorId(subredditName)); | ||||
|             if (subredditData != null) { | ||||
|                 String iconImageUrl = subredditDao.getSubredditData(subredditName).getIconUrl(); | ||||
|                 String iconImageUrl = subredditDao.getSubredditDataByActorId(LemmyUtils.qualifiedCommunityName2ActorId(subredditName)).getIconUrl(); | ||||
|                 handler.post(() -> loadSubredditIconAsyncTaskListener.loadIconSuccess(iconImageUrl)); | ||||
|             } else { | ||||
|                 handler.post(() -> FetchSubredditData.fetchSubredditData(retrofit, subredditName, accessToken, new FetchSubredditData.FetchSubredditDataListener() { | ||||
|   | ||||
| @@ -8,6 +8,7 @@ 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 { | ||||
| @@ -16,8 +17,9 @@ public class LoadUserData { | ||||
|                                     Retrofit retrofit, LoadUserDataAsyncTaskListener loadUserDataAsyncTaskListener) { | ||||
|         executor.execute(() -> { | ||||
|             UserDao userDao = redditDataRoomDatabase.userDao(); | ||||
|             if (userDao.getUserData(userName) != null) { | ||||
|                 String iconImageUrl = userDao.getUserData(userName).getIconUrl(); | ||||
|             UserData userData= userDao.getUserDataByActorId(LemmyUtils.qualifiedUserName2ActorId(userName)); | ||||
|             if (userData != null) { | ||||
|                 String iconImageUrl = userData.getIconUrl(); | ||||
|                 handler.post(() -> loadUserDataAsyncTaskListener.loadUserDataSuccess(iconImageUrl)); | ||||
|             } else { | ||||
|                 handler.post(() -> FetchUserData.fetchUserData(retrofit, userName, new FetchUserData.FetchUserDataListener() { | ||||
|   | ||||
| @@ -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, AccountDao accountDao, | ||||
|                                                 String bannerImageUrl, String code,String instance,boolean can_downvote, AccountDao accountDao, | ||||
|                                                 ParseAndInsertAccountListener parseAndInsertAccountListener) { | ||||
|         executor.execute(() -> { | ||||
|             Account account = new Account(username,display_name, accessToken, code, profileImageUrl, | ||||
|                     bannerImageUrl, true,instance); | ||||
|                     bannerImageUrl, true,instance,true); | ||||
|             accountDao.markAllAccountsNonCurrent(); | ||||
|             accountDao.insert(account); | ||||
|  | ||||
|   | ||||
| @@ -8,6 +8,8 @@ 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 { | ||||
| @@ -26,6 +28,18 @@ 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)); | ||||
|         }); | ||||
|  | ||||
|   | ||||
| @@ -55,12 +55,8 @@ 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() { | ||||
| @@ -93,18 +89,6 @@ 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); | ||||
| @@ -193,27 +177,14 @@ 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); | ||||
|  | ||||
|             activity.startActivity(intent);*/ | ||||
|             Toast.makeText(activity, R.string.not_implemented, Toast.LENGTH_SHORT).show(); | ||||
|             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); | ||||
|   | ||||
| @@ -24,7 +24,6 @@ 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; | ||||
| @@ -86,10 +85,6 @@ public class FABMoreOptionsBottomSheetFragment extends LandscapeExpandedRoundedB | ||||
|             dismiss(); | ||||
|         }); | ||||
|  | ||||
|         binding.randomTextViewFabMoreOptionsBottomSheetFragment.setOnClickListener(view -> { | ||||
|             activity.fabOptionSelected(FAB_RANDOM); | ||||
|             dismiss(); | ||||
|         }); | ||||
|  | ||||
|         binding.filterPostsTextViewFabMoreOptionsBottomSheetFragment.setOnClickListener(view -> { | ||||
|             activity.fabOptionSelected(FAB_FILTER_POSTS); | ||||
|   | ||||
| @@ -31,16 +31,12 @@ 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.comments_type_text_view_search_sort_type_bottom_sheet_fragment) | ||||
|     TextView commentsTypeTextView; | ||||
|     @BindView(R.id.old_type_text_view_search_sort_type_bottom_sheet_fragment) | ||||
|     TextView oldTypeTextView; | ||||
|     private BaseActivity activity; | ||||
|     public SearchPostSortTypeBottomSheetFragment() { | ||||
|         // Required empty public constructor | ||||
| @@ -61,14 +57,12 @@ public class SearchPostSortTypeBottomSheetFragment extends LandscapeExpandedRoun | ||||
|         ButterKnife.bind(this, rootView); | ||||
|  | ||||
|         String currentSortType = getArguments().getString(EXTRA_CURRENT_SORT_TYPE); | ||||
|         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)) { | ||||
|         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)) { | ||||
|             commentsTypeTextView.setCompoundDrawablesRelativeWithIntrinsicBounds(commentsTypeTextView.getCompoundDrawablesRelative()[0], null, AppCompatResources.getDrawable(activity, R.drawable.ic_round_check_circle_day_night_24dp), null); | ||||
|             oldTypeTextView.setCompoundDrawablesRelativeWithIntrinsicBounds(oldTypeTextView.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 | ||||
| @@ -76,15 +70,6 @@ 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()); | ||||
| @@ -92,12 +77,12 @@ public class SearchPostSortTypeBottomSheetFragment extends LandscapeExpandedRoun | ||||
|         }); | ||||
|  | ||||
|         newTypeTextView.setOnClickListener(view -> { | ||||
|             ((SortTypeSelectionCallback) activity).sortTypeSelected(new SortType(SortType.Type.NEW)); | ||||
|             ((SortTypeSelectionCallback) activity).sortTypeSelected(new SortType(SortType.Type.NEW,null)); | ||||
|             dismiss(); | ||||
|         }); | ||||
|  | ||||
|         commentsTypeTextView.setOnClickListener(view -> { | ||||
|             ((SortTypeSelectionCallback) activity).sortTypeSelected(SortType.Type.MOST_COMMENTS.name()); | ||||
|         oldTypeTextView.setOnClickListener(view -> { | ||||
|             ((SortTypeSelectionCallback) activity).sortTypeSelected(new SortType(SortType.Type.OLD,null)); | ||||
|             dismiss(); | ||||
|         }); | ||||
|  | ||||
|   | ||||
| @@ -284,6 +284,12 @@ 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"), | ||||
| @@ -334,6 +340,7 @@ 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; | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -137,6 +137,7 @@ 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; | ||||
| @@ -460,9 +461,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, SortType.Time.ALL.name()); | ||||
|             String sortTime = mSortTypeSharedPreferences.getString(SharedPreferencesUtils.SORT_TIME_SEARCH_POST, sort.equalsIgnoreCase(SortType.Type.TOP.value) ? SortType.Time.ALL.name() : null); | ||||
|             SortType.Type st = SortType.Type.fromValue(sort); | ||||
|             sortType = new SortType(st == null ? SortType.Type.TOP_ALL : st, SortType.Time.valueOf(sortTime)); | ||||
|             sortType = new SortType(st == null ? SortType.Type.TOP_ALL : st,sortTime != null ? SortType.Time.valueOf(sortTime) : null); | ||||
|             postLayout = mPostLayoutSharedPreferences.getInt(SharedPreferencesUtils.POST_LAYOUT_SEARCH_POST, defaultPostLayout); | ||||
|  | ||||
|             mAdapter = new PostRecyclerViewAdapter(activity, this, mExecutor, mRetrofit.getRetrofit(), mGfycatRetrofit, | ||||
| @@ -1385,6 +1386,8 @@ 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: | ||||
|   | ||||
| @@ -78,7 +78,6 @@ 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; | ||||
| @@ -129,6 +128,8 @@ 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"; | ||||
| @@ -229,6 +230,7 @@ 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; | ||||
| @@ -547,6 +549,7 @@ 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) { | ||||
| @@ -606,8 +609,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() { | ||||
| @@ -626,7 +629,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic | ||||
|                         public SortType.Type getSortType() { | ||||
|                             return sortType; | ||||
|                         } | ||||
|                     }); | ||||
|                     } ); | ||||
|             if (mCommentsRecyclerView != null) { | ||||
|                 mRecyclerView.setAdapter(mPostAdapter); | ||||
|                 mCommentsRecyclerView.setAdapter(mCommentsAdapter); | ||||
| @@ -704,7 +707,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_edit_flair_view_post_detail_fragment).setVisible(true); | ||||
|                 mMenu.findItem(R.id.action_block_user_view_post_detail_fragment).setVisible(false); | ||||
|             } | ||||
|  | ||||
|             mMenu.findItem(R.id.action_view_crosspost_parent_view_post_detail_fragment).setVisible(mPost.getCrosspostParentId() != null); | ||||
| @@ -1067,35 +1070,18 @@ 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_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()); | ||||
|         } else if (itemId == R.id.action_block_user_view_post_detail_fragment) { | ||||
|             Toast.makeText(activity, R.string.not_implemented, Toast.LENGTH_SHORT).show(); | ||||
|             return true; | ||||
|         } 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); | ||||
|         } else if (itemId == R.id.action_block_community_view_post_detail_fragment) { | ||||
|             Toast.makeText(activity, R.string.not_implemented, Toast.LENGTH_SHORT).show(); | ||||
|             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; | ||||
|             } | ||||
|             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); | ||||
|             Toast.makeText(activity, R.string.not_implemented, Toast.LENGTH_SHORT).show(); | ||||
|             return true; | ||||
|         } else if (itemId == R.id.action_see_removed_view_post_detail_fragment) { | ||||
|             showRemovedPost(); | ||||
| @@ -1185,7 +1171,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; | ||||
| @@ -1245,7 +1231,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 : mSingleCommentId, sortType, mExpandChildren, 1, new FetchComment.FetchCommentListener() { | ||||
|                         FetchComment.fetchComments(mExecutor, new Handler(), mRetrofit.getRetrofit(), mAccessToken, post.getId(), mSingleCommentId == 0 ? null : mSingleCommentParentId == 0 ? mSingleCommentId : mSingleCommentParentId, sortType, mExpandChildren, 1, new FetchComment.FetchCommentListener() { | ||||
|                             @Override | ||||
|                             public void onFetchCommentSuccess(ArrayList<Comment> expandedComments, Integer parentId, ArrayList<Integer> children) { | ||||
|                                 pages_loaded++; | ||||
| @@ -1364,7 +1350,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic | ||||
|         } | ||||
|  | ||||
|  | ||||
|         FetchComment.fetchComments(mExecutor, new Handler(), mRetrofit.getRetrofit(), mAccessToken, mPost.getId(), commentId, sortType, mExpandChildren, pages_loaded + 1, | ||||
|         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() { | ||||
|                     @Override | ||||
|                     public void onFetchCommentSuccess(ArrayList<Comment> expandedComments, | ||||
| @@ -1433,8 +1419,8 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic | ||||
|                     @Override | ||||
|                     public void onFetchCommentFailed() { | ||||
|                         isFetchingComments = false; | ||||
|  | ||||
|                         mCommentsAdapter.initiallyLoadCommentsFailed(); | ||||
|                         if(pages_loaded == 0) | ||||
|                             mCommentsAdapter.initiallyLoadCommentsFailed(); | ||||
|                         if (changeRefreshState) { | ||||
|                             isRefreshing = false; | ||||
|                         } | ||||
| @@ -1454,7 +1440,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic | ||||
|         isLoadingMoreChildren = true; | ||||
|  | ||||
|         FetchComment.fetchComments(mExecutor, new Handler(), mRetrofit.getRetrofit(), mAccessToken, | ||||
|                 mPost.getId(), null, sortType, mExpandChildren, pages_loaded + 1, new FetchComment.FetchCommentListener() { | ||||
|                 mPost.getId(), mSingleCommentId == 0 ? null : mSingleCommentParentId == 0 ? mSingleCommentId : mSingleCommentParentId, sortType, mExpandChildren, pages_loaded + 1, new FetchComment.FetchCommentListener() { | ||||
|                     @Override | ||||
|                     public void onFetchCommentSuccess(ArrayList<Comment> expandedComments, Integer parentId, ArrayList<Integer> children) { | ||||
|                         pages_loaded++; | ||||
| @@ -1666,6 +1652,7 @@ 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); | ||||
|     } | ||||
|   | ||||
| @@ -0,0 +1,59 @@ | ||||
| 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; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
| } | ||||
|  | ||||
| @@ -51,6 +51,7 @@ public class MarkdownUtils { | ||||
|                         .setOnLinkLongClickListener(onLinkLongClickListener))) | ||||
|                 .usePlugin(LinkifyPlugin.create(Linkify.WEB_URLS)) | ||||
|                 .usePlugin(TableEntryPlugin.create(context)) | ||||
|                 .usePlugin(ClickableGlideImagesPlugin.create(context)) | ||||
|                 .build(); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -33,6 +33,7 @@ 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; | ||||
| @@ -210,10 +211,14 @@ 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("")) { | ||||
| @@ -243,16 +248,13 @@ 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(videoUrl); | ||||
|                         post.setVideoDownloadUrl(videoDownloadUrl); | ||||
|                         post.setVideoUrl(url); | ||||
|                         post.setVideoDownloadUrl(url); | ||||
|                     } else if (!url.equals("")) { | ||||
|                         //No preview link post | ||||
|                         int postType = Post.NO_PREVIEW_LINK_TYPE; | ||||
| @@ -653,6 +655,15 @@ 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; | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -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,null); | ||||
|         subredditPost = api.getPosts(null,sortType.getType().value,loadParams.getKey(),25,null,subredditOrUserName,false,accessToken); | ||||
|  | ||||
|  | ||||
|         ListenableFuture<LoadResult<Integer, Post>> pageFuture = Futures.transform(subredditPost, this::transformData, executor); | ||||
|   | ||||
| @@ -105,7 +105,7 @@ public class CrashReportsFragment extends Fragment { | ||||
|         } catch (UnsupportedEncodingException e) { | ||||
|             return false; | ||||
|         } | ||||
|         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)); | ||||
|         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)); | ||||
|         intent.setData(githubIssueUri); | ||||
|         startActivity(intent); | ||||
|         return true; | ||||
|   | ||||
| @@ -0,0 +1,34 @@ | ||||
| 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(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,83 @@ | ||||
| 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; | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -8,7 +8,12 @@ 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; | ||||
|  | ||||
| @@ -47,7 +52,11 @@ public class ParseSubredditData { | ||||
|         } | ||||
|  | ||||
|         boolean removed = community.getBoolean("removed"); | ||||
|         String published = community.getString("published"); | ||||
|         String published_raw = community.getString("published"); | ||||
|         String published = formatISOTime(published_raw); | ||||
|         if(published == null){ | ||||
|             published = published_raw; | ||||
|         } | ||||
|         String updated = ""; | ||||
|         if (!community.isNull("updated")) { | ||||
|             updated = community.getString("updated"); | ||||
| @@ -170,4 +179,25 @@ 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; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -22,4 +22,7 @@ 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); | ||||
| } | ||||
|   | ||||
| @@ -46,6 +46,7 @@ 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"); | ||||
|   | ||||
| @@ -25,4 +25,7 @@ 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); | ||||
| } | ||||
|   | ||||
| @@ -400,4 +400,5 @@ 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: 16 KiB After Width: | Height: | Size: 17 KiB | 
| @@ -124,25 +124,6 @@ | ||||
|             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" | ||||
| @@ -163,25 +144,6 @@ | ||||
|             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> | ||||
|  | ||||
|   | ||||
| @@ -144,25 +144,6 @@ | ||||
|             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" | ||||
|   | ||||
| @@ -11,43 +11,6 @@ | ||||
|         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" | ||||
| @@ -88,7 +51,7 @@ | ||||
|             app:drawableTint="?attr/primaryTextColor" /> | ||||
|  | ||||
|         <androidx.appcompat.widget.AppCompatTextView | ||||
|             android:id="@+id/comments_type_text_view_search_sort_type_bottom_sheet_fragment" | ||||
|             android:id="@+id/old_type_text_view_search_sort_type_bottom_sheet_fragment" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:background="?attr/selectableItemBackground" | ||||
| @@ -101,7 +64,7 @@ | ||||
|             android:paddingTop="16dp" | ||||
|             android:paddingEnd="32dp" | ||||
|             android:paddingBottom="16dp" | ||||
|             android:text="@string/sort_comments" | ||||
|             android:text="@string/sort_old" | ||||
|             android:textColor="?attr/primaryTextColor" | ||||
|             android:textSize="?attr/font_default" | ||||
|             app:drawableTint="?attr/primaryTextColor" /> | ||||
|   | ||||
| @@ -76,16 +76,16 @@ | ||||
|         android:visible="false" /> | ||||
|  | ||||
|     <item | ||||
|         android:id="@+id/action_edit_flair_view_post_detail_fragment" | ||||
|         android:id="@+id/action_block_user_view_post_detail_fragment" | ||||
|         android:orderInCategory="12" | ||||
|         android:title="@string/action_edit_flair" | ||||
|         android:title="@string/block_user" | ||||
|         app:showAsAction="never" | ||||
|         android:visible="false" /> | ||||
|         android:visible="true" /> | ||||
|  | ||||
|     <item | ||||
|         android:id="@+id/action_give_award_view_post_detail_fragment" | ||||
|         android:id="@+id/action_block_community_view_post_detail_fragment" | ||||
|         android:orderInCategory="13" | ||||
|         android:title="@string/action_give_award" | ||||
|         android:title="@string/block_community" | ||||
|         app:showAsAction="never" /> | ||||
|  | ||||
|     <item | ||||
|   | ||||
| @@ -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">"Subreddit"</string> | ||||
|     <string name="settings_community_summary">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_title">Community</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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">"Multireddit erstellen"</string> | ||||
|     <string name="community_multiselection_activity_label">"Multireddits auswählen"</string> | ||||
|     <string name="create_multi_reddit_activity_label">Multicommunity erstellen</string> | ||||
|     <string name="community_multiselection_activity_label">Multicommunity 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">"Multireddit bearbeiten"</string> | ||||
|     <string name="selected_subeddits_activity_label">"Ausgewählte Subreddits"</string> | ||||
|     <string name="edit_multi_reddit_activity_label">Multicommunity bearbeiten</string> | ||||
|     <string name="selected_subeddits_activity_label">Ausgewählte Communities</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">"Multireddit bearbeiten"</string> | ||||
|     <string name="action_delete_multi_reddit">"Multireddit löschen"</string> | ||||
|     <string name="action_edit_multi_reddit">Multicommunity bearbeiten</string> | ||||
|     <string name="action_delete_multi_reddit">Multicommunity 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 Multireddits gefunden"</string> | ||||
|     <string name="no_multi_reddits">Keine Multicommunities 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">"Multireddit"</string> | ||||
|     <string name="multi_reddit">Multicommunity</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 Multireddit-Info nicht abrufen"</string> | ||||
|     <string name="cannot_fetch_multireddit">Kann Multicommunity-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">"Subreddits"</string> | ||||
|     <string name="communities">Communities</string> | ||||
|     <string name="users">"Benutzer"</string> | ||||
|     <string name="multi_reddits">"Multireddits"</string> | ||||
|     <string name="multi_reddits">MultiCommunity</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">"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_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_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">"Subreddit-Name (ohne r/ Präfix)"</string> | ||||
|     <string name="settings_tab_community_name">Community-Name (ohne r/ Präfix)</string> | ||||
|  | ||||
|     <!-- Fuzzy --> | ||||
|     <string name="settings_tab_multi_reddit_name">"Multireddit-Name (/user/DeinBenutzername/m/DeinMultiredditName)"</string> | ||||
|     <string name="settings_tab_multi_reddit_name">Multicommunity-Name (/user/DeinBenutzername/m/DeinMulticommunityName)</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 Multireddit-Daten"</string> | ||||
|     <string name="error_loading_multi_reddit_list">"Kann Multireddits nicht synchronisieren"</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_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 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="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="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">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="community_preview">!infinityforlemmy@lemdro.id</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">"Multireddit bearbeiten"</string> | ||||
|     <string name="delete_multi_reddit">"Multireddit löschen"</string> | ||||
|     <string name="edit_multi_reddit">Multicommunity bearbeiten</string> | ||||
|     <string name="delete_multi_reddit">Multicommunity 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 Subreddits anzeigen"</string> | ||||
|     <string name="settings_more_tabs_show_favorite_subscribed_communities_title">Favoriten der abonnierten Communities 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. | ||||
| Reddit-Videos haben eine geringere Auflösung. | ||||
| Lemmy-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 ein Multireddit"</string> | ||||
|     <string name="multireddit_selection_activity_label">Wähle eine Multicommunity</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 Multireddit hinzufügen"</string> | ||||
|     <string name="action_add_to_multireddit">Zum Multicommunity 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">"Multireddit: %1$s"</string> | ||||
|     <string name="post_filter_usage_multireddit">Multicommunity: %1$s</string> | ||||
|  | ||||
|     <!-- This is inconsistant. Sometimes we call it Multireddit, other times MultiReddit. --> | ||||
|     <string name="post_filter_usage_multireddit_all">"Multireddit"</string> | ||||
|     <string name="post_filter_usage_multireddit_all">Multicommunity</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 / Multireddits anzuwenden"</string> | ||||
|     <string name="edit_post_filter_name_of_usage_info">Leer lassen, um diesen Beitragsfilter auf alle Subreddits / Benutzer / Multicommunities 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 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="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="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 des Multireddit kopieren"</string> | ||||
|     <string name="copy_multi_reddit_path_failed">"Pfad des Multireddit kann nicht kopiert werden"</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="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">"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_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_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 Multireddit hat kein Subreddit!"</string> | ||||
|     <string name="anonymous_multireddit_no_community">Dieses Multicommunity 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">"Reddit Nutzungsbestimmungen "</string> | ||||
|     <string name="settings_reddit_user_agreement_title">"Lemmy 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">"Reddit Video Standardauflösung"</string> | ||||
|     <string name="settings_reddit_video_default_resolution">Lemmy 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> | ||||
|   | ||||
| @@ -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">"Subreddits"</string> | ||||
|     <string name="communities">Communities</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">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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">"Subreddits"</string> | ||||
|     <string name="communities">Communities</string> | ||||
|     <string name="users">"Utilisateurs"</string> | ||||
|     <string name="multi_reddits">"Multireddits"</string> | ||||
|     <string name="multi_reddits">MultiCommunity</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">"Subreddit"</string> | ||||
|     <string name="settings_community_summary">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_title">Community</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</string> | ||||
|     <string name="settings_share_title">"साझा करें "</string> | ||||
|     <string name="settings_share_summary">"यदि आप इसका आनंद लेते हैं तो एप्प को अन्य लोगों के साथ साझा करें "</string> | ||||
|     <string name="settings_version_title">"Infinity For Reddit"</string> | ||||
|   | ||||
| @@ -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">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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">"Subreddit"</string> | ||||
|     <string name="communities">Communities</string> | ||||
|     <string name="users">"Utenti"</string> | ||||
|     <string name="multi_reddits">"MultiReddit"</string> | ||||
|     <string name="multi_reddits">MultiCommunity</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">"Subreddit"</string> | ||||
|     <string name="settings_community_summary">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_title">Community</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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">"Subreddit"</string> | ||||
|     <string name="settings_community_summary">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_title">Community</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</string> | ||||
|     <string name="settings_share_title">"共有"</string> | ||||
|     <string name="settings_share_summary">"このアプリが気に入ったようでしたら、ぜひ他の方々にもご紹介ください"</string> | ||||
|     <string name="settings_version_title">"Infinity For Reddit"</string> | ||||
|   | ||||
| @@ -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">"Subreddits"</string> | ||||
|     <string name="communities">Communities</string> | ||||
|     <string name="users">"Gebruikers"</string> | ||||
|     <string name="multi_reddits">"MultiReddits"</string> | ||||
|     <string name="multi_reddits">MultiCommunity</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">"Subreddit"</string> | ||||
|     <string name="settings_community_summary">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_title">Community</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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">"Subreddit"</string> | ||||
|     <string name="settings_community_summary">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_title">Community</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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">"Subreddits"</string> | ||||
|     <string name="communities">Communities</string> | ||||
|     <string name="users">"Usuários"</string> | ||||
|     <string name="multi_reddits">"Multireddits"</string> | ||||
|     <string name="multi_reddits">MultiCommunity</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">"Subreddit"</string> | ||||
|     <string name="settings_community_summary">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_title">Community</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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 Multireddit"</string> | ||||
|     <string name="create_multi_reddit_activity_label">"Criar Multicomunidade"</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 Multireddit"</string> | ||||
|     <string name="edit_multi_reddit_activity_label">"Editar Multicomunidade"</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 MultiReddit"</string> | ||||
|     <string name="action_delete_multi_reddit">"Eliminar MultiReddit"</string> | ||||
|     <string name="action_edit_multi_reddit">"Editar MultiComunidade"</string> | ||||
|     <string name="action_delete_multi_reddit">"Eliminar MultiComunidade"</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">"Nenhum Multireddit encontrado"</string> | ||||
|     <string name="no_multi_reddits">"Nenhuma Multicomunidade encontrada"</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-reddit"</string> | ||||
|     <string name="multi_reddit">"Multi-comunidade"</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 do multireddit"</string> | ||||
|     <string name="cannot_fetch_multireddit">"Não é possível obter informações da multicomunidade"</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">"MultiReddits"</string> | ||||
|     <string name="multi_reddits">MultiCommunity</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 Reddit"</string> | ||||
|     <string name="settings_reddit_account_title">"Conta do Lemmy"</string> | ||||
|     <string name="settings_reddit_account_summary">"u/Hostilenemy"</string> | ||||
|     <string name="settings_community_title">"Comunidade"</string> | ||||
|     <string name="settings_community_summary">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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 Reddit"</string> | ||||
|     <string name="settings_version_title">"Infinity For Lemmy"</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 MultiReddit (/utilizador/oseunomedeutilizador/m/oseunomemultireddit)"</string> | ||||
|     <string name="settings_tab_multi_reddit_name">"Nome MultiComunidade (/utilizador/oseunomedeutilizador/m/oseunomemulticomunidade)"</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 do multireddit"</string> | ||||
|     <string name="error_loading_multi_reddit_list">"Não foi possível sincronizar multireddits"</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_loading_subscriptions">"Não foi possível sincronizar as subscrições"</string> | ||||
|     <string name="share_this_app">"Check out Infinity for Reddit, an awesome Reddit client! | ||||
|     <string name="share_this_app">"Check out Infinity for Lemmy, an awesome Lemmy 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 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="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="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">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="community_preview">"c/infinityforlemmy"</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 Multireddit"</string> | ||||
|     <string name="delete_multi_reddit">"Eliminar Multireddit"</string> | ||||
|     <string name="edit_multi_reddit">"Editar Multicomunidade"</string> | ||||
|     <string name="delete_multi_reddit">"Eliminar Multicomunidade"</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">"Popular"</string> | ||||
|     <string name="local">"Local"</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 Reddit em baixa resolução. | ||||
| Vídeos do Lemmy 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 um Multireddit"</string> | ||||
|     <string name="multireddit_selection_activity_label">"Escolher uma Multicomunidade"</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 ao Multireddit"</string> | ||||
|     <string name="action_add_to_multireddit">"Adicionar à Multicomunidade"</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,AskReddit)"</string> | ||||
|     <string name="exclude_communities_hint">"Excluir comunidades (ex.: funny,Asklemmy)"</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">"MultiReddit: %1$s"</string> | ||||
|     <string name="post_filter_usage_multireddit_all">"MultiReddit"</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_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 / 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="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="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 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="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="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 do Multireddit"</string> | ||||
|     <string name="copy_multi_reddit_path_failed">"Não é possível copiar o caminho do multireddit"</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="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">"Reddit"</string> | ||||
|     <string name="label_reddit">"Lemmy"</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 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_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_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">"Este subreddit não tem wiki"</string> | ||||
|     <string name="no_wiki">"Esta comunidade 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">"Este multireddit não tem nenhum subreddit!"</string> | ||||
|     <string name="anonymous_multireddit_no_community">"Esta multicomunidade não tem nenhuma comunidade!"</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> | ||||
|   | ||||
| @@ -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">"Subreddit"</string> | ||||
|     <string name="settings_community_summary">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_title">Community</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</string> | ||||
|     <string name="settings_share_title">"Поделиться"</string> | ||||
|     <string name="settings_share_summary">"Поделитесь этим приложением с другими людьми, если оно вам нравится"</string> | ||||
|     <string name="settings_version_title">"Infinity для Reddit"</string> | ||||
|   | ||||
| @@ -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">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -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">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</string> | ||||
|     <string name="settings_share_title">"Поширте"</string> | ||||
|     <string name="settings_share_summary">"Поділіться цим застосунком з іншими людьми, якщо він Вам подобається"</string> | ||||
|     <string name="settings_version_title">"Infinity For Reddit"</string> | ||||
|   | ||||
| @@ -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">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</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> | ||||
|   | ||||
| @@ -395,7 +395,7 @@ | ||||
|     <string name="settings_community_title">"版块"</string> | ||||
|  | ||||
|     <!-- 这个应该不做翻译为好,它是指示infinity社区位置的。在关于界面 --> | ||||
|     <string name="settings_community_summary">"r/Infinity_For_Reddit"</string> | ||||
|     <string name="settings_community_summary">!infinityforlemmy@lemdro.id</string> | ||||
|     <string name="settings_share_title">"分享"</string> | ||||
|     <string name="settings_share_summary">"如果您喜欢此应用,可以分享给其他人"</string> | ||||
|     <string name="settings_version_title">"Infinity For Reddit"</string> | ||||
|   | ||||
| @@ -501,47 +501,57 @@ | ||||
|     <string-array name="settings_subreddit_default_sort_type"> | ||||
|         <item>Hot</item> | ||||
|         <item>New</item> | ||||
|         <item>Rising</item> | ||||
|         <item>Active</item> | ||||
|         <item>Top</item> | ||||
|         <item>Controversial</item> | ||||
|         <item>Most Comments</item> | ||||
|         <item>New Comments</item> | ||||
|     </string-array> | ||||
|  | ||||
|     <string-array name="settings_subreddit_default_sort_type_values"> | ||||
|         <item>HOT</item> | ||||
|         <item>NEW</item> | ||||
|         <item>RISING</item> | ||||
|         <item>ACTIVE</item> | ||||
|         <item>TOP</item> | ||||
|         <item>CONTROVERSIAL</item> | ||||
|         <item>MOSTCOMMENTS</item> | ||||
|         <item>NEWCOMMENTS</item> | ||||
|     </string-array> | ||||
|  | ||||
|     <string-array name="settings_user_default_sort_type"> | ||||
|         <item>New</item> | ||||
|         <item>Hot</item> | ||||
|         <item>Old</item> | ||||
|         <item>Top</item> | ||||
|         <item>Controversial</item> | ||||
|     </string-array> | ||||
|  | ||||
|     <string-array name="settings_user_default_sort_type_values"> | ||||
|         <item>NEW</item> | ||||
|         <item>HOT</item> | ||||
|         <item>OLD</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> | ||||
|   | ||||
| @@ -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 Multireddit</string> | ||||
|     <string name="create_multi_reddit_activity_label">Create Multicommunity</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 Multireddit</string> | ||||
|     <string name="edit_multi_reddit_activity_label">Edit Multicommunity</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 Multireddit</string> | ||||
|     <string name="multireddit_selection_activity_label">Select a Multicommunity</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 MultiReddit</string> | ||||
|     <string name="action_delete_multi_reddit">Delete Multireddit</string> | ||||
|     <string name="action_edit_multi_reddit">Edit Multicommunity</string> | ||||
|     <string name="action_delete_multi_reddit">Delete Multicommunity</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 Multireddit</string> | ||||
|     <string name="action_add_to_multireddit">Add to Multicommuity</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 Multireddits found</string> | ||||
|     <string name="no_multi_reddits">No Multicommunities 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">Multireddit</string> | ||||
|     <string name="multi_reddit">Multicommuity</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 multireddit info</string> | ||||
|     <string name="cannot_fetch_multireddit">Cannot fetch multicommunity 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">MultiReddits</string> | ||||
|     <string name="multi_reddits">MultiCommunity</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 Multireddits</string> | ||||
|     <string name="settings_more_tabs_show_multireddits_title">Show Multireddits</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_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">MultiReddit Path (/user/yourusername/m/yourmultiredditname) (only lowercase characters)</string> | ||||
|     <string name="settings_tab_multi_reddit_name">Multicommunity Path (/user/yourusername/m/yourmulticommunityname) (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:\nPreview images are in lower resolution.\nReddit videos are in lower resolution.\nVideo autoplay is disabled.</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_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 Reddit Section</string> | ||||
|     <string name="settings_collapse_reddit_section_title">Collapse Lemmy 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">Reddit User Agreement</string> | ||||
|     <string name="settings_reddit_user_agreement_title">Lemmy 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">Reddit Video Default Resolution</string> | ||||
|     <string name="settings_reddit_video_default_resolution">Lemmy 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 multireddit data</string> | ||||
|     <string name="error_loading_multi_reddit_list">Cannot sync multireddits</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_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 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="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="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">r/Infinity_For_Reddit</string> | ||||
|     <string name="community_preview">!infinityforlemmy@lemdro.id</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 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="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="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">MultiReddit: %1$s</string> | ||||
|     <string name="post_filter_usage_multireddit_all">MultiReddit</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_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 / multireddits</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="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 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="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="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 multireddit does not have a community!</string> | ||||
|     <string name="anonymous_multireddit_no_community">This multicommunity 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,4 +1347,6 @@ | ||||
|     <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> | ||||
|   | ||||
| @@ -46,11 +46,6 @@ | ||||
|         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" | ||||
|   | ||||
| @@ -27,15 +27,6 @@ | ||||
|         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" | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| A Lemmy client for Android written in Java. It's a fork of the Infinity for Reddit project, currenty in early development. | ||||
| An Lemmy client for Android, forked from the Infinity for Reddit project. | ||||
		Reference in New Issue
	
	Block a user