mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2025-11-15 08:07:42 +01:00
Compare commits
37 Commits
feature/pr
...
v0.1.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a8b2091e69 | ||
|
|
f14ebe9a0d | ||
|
|
4010e02438 | ||
|
|
5cbe6152c9 | ||
|
|
c7233e05c4 | ||
|
|
9d4657dea8 | ||
|
|
7c3ddfda5c | ||
|
|
77f37a5698 | ||
|
|
c45528a7f3 | ||
|
|
0dcc441bae | ||
|
|
8c05b6e1ea | ||
|
|
351033600f | ||
|
|
fb4289a812 | ||
|
|
37eb16f6c4 | ||
|
|
77c5bcb038 | ||
|
|
3c65bfcf1b | ||
|
|
ce7c284c6b | ||
|
|
267570d7b4 | ||
|
|
c9e6a0bc2e | ||
|
|
1f8348bbfa | ||
|
|
d4fe5235e2 | ||
|
|
76fee50cd5 | ||
|
|
e2956e3f1c | ||
|
|
21b0b36359 | ||
|
|
a55820a11d | ||
|
|
3322b5b4e8 | ||
|
|
0384914c16 | ||
|
|
0550219d58 | ||
|
|
deaa4e596d | ||
|
|
bf1036c919 | ||
|
|
116deebf87 | ||
|
|
0f3197d7e4 | ||
|
|
db9edc47c0 | ||
|
|
2392d9fa29 | ||
|
|
3272f609a8 | ||
|
|
bbbd4ddcb0 | ||
|
|
a245ebad09 |
@@ -23,7 +23,7 @@ steps:
|
||||
- cd repoconfig
|
||||
- pwd
|
||||
- git clone --depth 1 https://codeberg.org/Bazsalanszky/fdroid-repo-config
|
||||
- cp /woodpecker/src/codeberg.org/Bazsalanszky/Infinity-For-Lemmy/eu.toldi.infinityforlemmy.nightly.apk fdroid-repo-config/repo/
|
||||
- cp /woodpecker/src/codeberg.org/Bazsalanszky/Eternity/eu.toldi.infinityforlemmy.nightly.apk fdroid-repo-config/repo/
|
||||
|
||||
pull-pages:
|
||||
image: codeberg.org/freeyourgadget/android-fdroid-tools:latest
|
||||
|
||||
10
README.md
10
README.md
@@ -1,5 +1,5 @@
|
||||
<h1 align="center">
|
||||
Infinity for Lemmy
|
||||
Eternity (formerly Infinity for Lemmy)
|
||||
</h1>
|
||||
|
||||
<div align="center">
|
||||
@@ -30,9 +30,9 @@ A Lemmy client for Android written in Java. It's a fork of the [Infinity for Red
|
||||
|
||||
---
|
||||
|
||||
## Action Items for Infinity for Lemmy
|
||||
## Action Items for Eternity
|
||||
|
||||
Infinity for Lemmy is currently in the early stages of development. Expect many unfinished features and bugs!
|
||||
Eternity is currently in the early stages of development. Expect many unfinished features and bugs!
|
||||
|
||||
- [x] Implementation of basic post browsing feature
|
||||
- [x] Support for multiple account handling
|
||||
@@ -43,7 +43,7 @@ Infinity for Lemmy is currently in the early stages of development. Expect many
|
||||
- [x] Edit/Delete posts and comments
|
||||
- [x] Basic inbox
|
||||
- [ ] Elimination of code/string references specific to Reddit
|
||||
- [ ] Incorporation of private messaging feature
|
||||
- [x] Incorporation of private messaging feature
|
||||
- [x] Feature for saving posts/comments
|
||||
- [x] Resolving links
|
||||
- [ ] Account editing function
|
||||
@@ -66,7 +66,7 @@ Don't forget to give the project a star! Thanks again!
|
||||
|
||||
### Translation
|
||||
|
||||
You can alos help Infinity for Lemmy by translating it to your native langugage! Translations are done via [Weblate](https://translate.codeberg.org/projects/infinity-for-lemmy/app/)!
|
||||
You can alos help Eternity by translating it to your native langugage! Translations are done via [Weblate](https://translate.codeberg.org/projects/infinity-for-lemmy/app/)!
|
||||
|
||||
[](https://translate.codeberg.org/engage/infinity-for-lemmy/)
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@ android {
|
||||
applicationId "eu.toldi.infinityforlemmy"
|
||||
minSdk 21
|
||||
targetSdk 33
|
||||
versionCode 128
|
||||
versionName "0.0.8"
|
||||
versionCode 129
|
||||
versionName "0.1.0"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
javaCompileOptions {
|
||||
annotationProcessorOptions {
|
||||
@@ -108,6 +108,7 @@ dependencies {
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
|
||||
def lifecycleVersion = "2.5.1"
|
||||
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion"
|
||||
implementation "androidx.lifecycle:lifecycle-livedata:$lifecycleVersion"
|
||||
@@ -153,6 +154,7 @@ dependencies {
|
||||
implementation "com.google.dagger:dagger:$daggerVersion"
|
||||
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVersion"
|
||||
|
||||
|
||||
// Binding
|
||||
// NOTE: Deprecated in favor of viewbinding
|
||||
def butterknifeVersion = "10.2.3"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<resources>
|
||||
<string name="application_name" translatable="false">Infinity for Lemmy (Debug)</string>
|
||||
<string name="application_name" translatable="false">Eternity (Debug)</string>
|
||||
</resources>
|
||||
@@ -22,8 +22,7 @@
|
||||
android:maxSdkVersion="28" />
|
||||
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
|
||||
<application
|
||||
android:name=".Infinity"
|
||||
@@ -35,6 +34,12 @@
|
||||
android:theme="@style/AppTheme"
|
||||
android:usesCleartextTraffic="true"
|
||||
tools:replace="android:label">
|
||||
<activity
|
||||
android:name=".activities.InstanceInfoActivity"
|
||||
android:label="@string/instance_info"
|
||||
android:configChanges="orientation|screenLayout|screenSize|layoutDirection"
|
||||
android:parentActivityName=".activities.MainActivity"
|
||||
android:theme="@style/AppTheme.Slidable" />
|
||||
<activity
|
||||
android:name=".activities.HistoryActivity"
|
||||
android:exported="false"
|
||||
@@ -469,7 +474,6 @@
|
||||
android:name=".activities.ViewUserDetailActivity"
|
||||
android:parentActivityName=".activities.MainActivity"
|
||||
android:theme="@style/AppTheme.Slidable" />
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="${applicationId}.provider"
|
||||
|
||||
@@ -2,6 +2,8 @@ package eu.toldi.infinityforlemmy;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import dagger.BindsInstance;
|
||||
@@ -25,6 +27,7 @@ import eu.toldi.infinityforlemmy.activities.FullMarkdownActivity;
|
||||
import eu.toldi.infinityforlemmy.activities.GiveAwardActivity;
|
||||
import eu.toldi.infinityforlemmy.activities.HistoryActivity;
|
||||
import eu.toldi.infinityforlemmy.activities.InboxActivity;
|
||||
import eu.toldi.infinityforlemmy.activities.InstanceInfoActivity;
|
||||
import eu.toldi.infinityforlemmy.activities.LinkResolverActivity;
|
||||
import eu.toldi.infinityforlemmy.activities.LockScreenActivity;
|
||||
import eu.toldi.infinityforlemmy.activities.LoginActivity;
|
||||
@@ -322,6 +325,8 @@ public interface AppComponent {
|
||||
|
||||
void inject(PrivateMessageFragment privateMessageFragment);
|
||||
|
||||
void inject(@NotNull InstanceInfoActivity instanceInfoActivity);
|
||||
|
||||
@Component.Factory
|
||||
interface Factory {
|
||||
AppComponent create(@BindsInstance Application application);
|
||||
|
||||
@@ -20,6 +20,7 @@ import retrofit2.Response;
|
||||
public class FetchStreamableVideo {
|
||||
public interface FetchStreamableVideoListener {
|
||||
void success(StreamableVideo streamableVideo);
|
||||
|
||||
void failed();
|
||||
}
|
||||
|
||||
@@ -33,7 +34,12 @@ public class FetchStreamableVideo {
|
||||
String title = jsonObject.getString(JSONUtils.TITLE_KEY);
|
||||
JSONObject filesObject = jsonObject.getJSONObject(JSONUtils.FILES_KEY);
|
||||
StreamableVideo.Media mp4 = parseMedia(filesObject.getJSONObject(JSONUtils.MP4_KEY));
|
||||
StreamableVideo.Media mp4Mobile = parseMedia(filesObject.getJSONObject(JSONUtils.MP4_MOBILE_KEY));
|
||||
StreamableVideo.Media mp4MobileTemp = null;
|
||||
try {
|
||||
mp4MobileTemp = parseMedia(filesObject.getJSONObject(JSONUtils.MP4_MOBILE_KEY));
|
||||
} catch (JSONException e) {
|
||||
}
|
||||
StreamableVideo.Media mp4Mobile = mp4MobileTemp;
|
||||
handler.post(() -> fetchStreamableVideoListener.success(new StreamableVideo(title, mp4, mp4Mobile)));
|
||||
} else {
|
||||
handler.post(fetchStreamableVideoListener::failed);
|
||||
@@ -55,7 +61,12 @@ public class FetchStreamableVideo {
|
||||
String title = jsonObject.getString(JSONUtils.TITLE_KEY);
|
||||
JSONObject filesObject = jsonObject.getJSONObject(JSONUtils.FILES_KEY);
|
||||
StreamableVideo.Media mp4 = parseMedia(filesObject.getJSONObject(JSONUtils.MP4_KEY));
|
||||
StreamableVideo.Media mp4Mobile = parseMedia(filesObject.getJSONObject(JSONUtils.MP4_MOBILE_KEY));
|
||||
StreamableVideo.Media mp4MobileTemp = null;
|
||||
try {
|
||||
mp4MobileTemp = parseMedia(filesObject.getJSONObject(JSONUtils.MP4_MOBILE_KEY));
|
||||
} catch (JSONException e) {
|
||||
}
|
||||
StreamableVideo.Media mp4Mobile = mp4MobileTemp;
|
||||
if (mp4 == null && mp4Mobile == null) {
|
||||
handler.post(fetchStreamableVideoListener::failed);
|
||||
return;
|
||||
|
||||
@@ -111,7 +111,7 @@ class ParseSubscribedThing {
|
||||
int instanceId = community.getInt("instance_id");
|
||||
int subscribers = data.getJSONObject("counts").getInt("subscribers");
|
||||
boolean isBlocked = data.getBoolean("blocked");
|
||||
newSubscribedSubredditData.add(new SubscribedSubredditData(id, title, LemmyUtils.actorID2FullName(actorId), iconUrl, accountName));
|
||||
newSubscribedSubredditData.add(new SubscribedSubredditData(id, title, LemmyUtils.actorID2FullName(actorId), iconUrl, accountName, false));
|
||||
newSubredditData.add(new SubredditData(id, name, title, description, removed, published, updated, deleted, nsfw, actorId, local, iconUrl, bannerImageUrl, hidden, postingRestrictedToMods, instanceId, subscribers, isBlocked));
|
||||
|
||||
}
|
||||
|
||||
@@ -42,7 +42,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, BlockedUserData.class, BlockedCommunityData.class}, version = 26)
|
||||
ReadPost.class, PostFilter.class, PostFilterUsage.class, AnonymousMultiredditSubreddit.class, BlockedUserData.class, BlockedCommunityData.class}, version = 27)
|
||||
public abstract class RedditDataRoomDatabase extends RoomDatabase {
|
||||
|
||||
public static RedditDataRoomDatabase create(final Context context) {
|
||||
@@ -53,7 +53,7 @@ public abstract class RedditDataRoomDatabase extends RoomDatabase {
|
||||
MIGRATION_9_10, MIGRATION_10_11, MIGRATION_11_12, MIGRATION_12_13,
|
||||
MIGRATION_13_14, MIGRATION_14_15, MIGRATION_15_16, MIGRATION_16_17,
|
||||
MIGRATION_17_18, MIGRATION_18_19, MIGRATION_19_20, MIGRATION_20_21,
|
||||
MIGRATION_21_22, MIGRATION_22_23, MIGRATION_23_24, MIGRATION_24_25, MIGRATION_25_26)
|
||||
MIGRATION_21_22, MIGRATION_22_23, MIGRATION_23_24, MIGRATION_24_25, MIGRATION_25_26, MIGRATION_26_27)
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -416,4 +416,12 @@ public abstract class RedditDataRoomDatabase extends RoomDatabase {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
private static final Migration MIGRATION_26_27 = new Migration(26, 27) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("ALTER TABLE subscribed_subreddits"
|
||||
+ " ADD COLUMN is_favorite INTEGER DEFAULT 0 NOT NULL");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -226,7 +226,7 @@ public class CommentActivity extends BaseActivity implements UploadImageEnabledA
|
||||
|
||||
setSupportActionBar(binding.commentToolbar);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
if (savedInstanceState != null) {
|
||||
selectedAccount = savedInstanceState.getParcelable(SELECTED_ACCOUNT_STATE);
|
||||
|
||||
@@ -172,7 +172,7 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
|
||||
contentEditText.setText(mPost.getSelfText());
|
||||
linkEditText.setText(mPost.getUrl());
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
if (mPost.getUrl() != null && mPost.getUrl().matches(picturePattern)) {
|
||||
loadImage();
|
||||
@@ -354,7 +354,7 @@ public class EditPostActivity extends BaseActivity implements UploadImageEnabled
|
||||
Uri imageUri = data.getData();
|
||||
mExecutor.execute(() -> {
|
||||
try {
|
||||
Bitmap bitmap = Glide.with(this).asBitmap().load(imageUri).submit().get();
|
||||
Bitmap bitmap = Glide.with(getApplication()).asBitmap().load(imageUri).submit().get();
|
||||
String imageUrlOrError = UploadImageUtils.uploadImage(mRetrofit, mAccessToken, bitmap);
|
||||
handler.post(() -> {
|
||||
if (imageUrlOrError != null && !imageUrlOrError.startsWith("Error: ")) {
|
||||
|
||||
@@ -38,7 +38,6 @@ import javax.inject.Named;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
|
||||
import eu.toldi.infinityforlemmy.Infinity;
|
||||
import eu.toldi.infinityforlemmy.R;
|
||||
import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
|
||||
@@ -52,6 +51,7 @@ import eu.toldi.infinityforlemmy.user.UserViewModel;
|
||||
import eu.toldi.infinityforlemmy.utils.EditProfileUtils;
|
||||
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
|
||||
import eu.toldi.infinityforlemmy.utils.Utils;
|
||||
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
import retrofit2.Retrofit;
|
||||
|
||||
@@ -135,7 +135,7 @@ public class EditProfileActivity extends BaseActivity {
|
||||
startPickImage(PICK_IMAGE_AVATAR_REQUEST_CODE);
|
||||
});
|
||||
|
||||
final RequestManager glide = Glide.with(this);
|
||||
final RequestManager glide = Glide.with(getApplication());
|
||||
final UserViewModel.Factory userViewModelFactory =
|
||||
new UserViewModel.Factory(getApplication(), mRedditDataRoomDatabase, mAccountName);
|
||||
final UserViewModel userViewModel =
|
||||
|
||||
@@ -29,12 +29,6 @@ import javax.inject.Named;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import io.noties.markwon.AbstractMarkwonPlugin;
|
||||
import io.noties.markwon.Markwon;
|
||||
import io.noties.markwon.MarkwonConfiguration;
|
||||
import io.noties.markwon.MarkwonPlugin;
|
||||
import io.noties.markwon.core.MarkwonTheme;
|
||||
import io.noties.markwon.recycler.MarkwonAdapter;
|
||||
import eu.toldi.infinityforlemmy.Infinity;
|
||||
import eu.toldi.infinityforlemmy.R;
|
||||
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
|
||||
@@ -45,6 +39,12 @@ import eu.toldi.infinityforlemmy.customviews.slidr.Slidr;
|
||||
import eu.toldi.infinityforlemmy.events.SwitchAccountEvent;
|
||||
import eu.toldi.infinityforlemmy.markdown.MarkdownUtils;
|
||||
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
|
||||
import io.noties.markwon.AbstractMarkwonPlugin;
|
||||
import io.noties.markwon.Markwon;
|
||||
import io.noties.markwon.MarkwonConfiguration;
|
||||
import io.noties.markwon.MarkwonPlugin;
|
||||
import io.noties.markwon.core.MarkwonTheme;
|
||||
import io.noties.markwon.recycler.MarkwonAdapter;
|
||||
|
||||
public class FullMarkdownActivity extends BaseActivity {
|
||||
|
||||
|
||||
@@ -0,0 +1,228 @@
|
||||
package eu.toldi.infinityforlemmy.activities;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import eu.toldi.infinityforlemmy.Infinity;
|
||||
import eu.toldi.infinityforlemmy.R;
|
||||
import eu.toldi.infinityforlemmy.RetrofitHolder;
|
||||
import eu.toldi.infinityforlemmy.adapters.AdminRecyclerViewAdapter;
|
||||
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
|
||||
import eu.toldi.infinityforlemmy.customviews.LinearLayoutManagerBugFixed;
|
||||
import eu.toldi.infinityforlemmy.customviews.slidr.Slidr;
|
||||
import eu.toldi.infinityforlemmy.databinding.ActivityInstanceInfoBinding;
|
||||
import eu.toldi.infinityforlemmy.markdown.MarkdownUtils;
|
||||
import eu.toldi.infinityforlemmy.site.FetchSiteInfo;
|
||||
import eu.toldi.infinityforlemmy.site.SiteInfo;
|
||||
import eu.toldi.infinityforlemmy.site.SiteStatistics;
|
||||
import eu.toldi.infinityforlemmy.user.BasicUserInfo;
|
||||
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
|
||||
import io.noties.markwon.AbstractMarkwonPlugin;
|
||||
import io.noties.markwon.Markwon;
|
||||
import io.noties.markwon.recycler.MarkwonAdapter;
|
||||
|
||||
public class InstanceInfoActivity extends BaseActivity {
|
||||
|
||||
@Inject
|
||||
@Named("default")
|
||||
SharedPreferences mSharedPreferences;
|
||||
|
||||
@Inject
|
||||
CustomThemeWrapper mCustomThemeWrapper;
|
||||
|
||||
@Inject
|
||||
@Named("no_oauth")
|
||||
RetrofitHolder mRetorifitHolder;
|
||||
|
||||
ActivityInstanceInfoBinding mInstanceInfoActivityViewBinding;
|
||||
private CoordinatorLayout coordinatorLayout;
|
||||
private Toolbar toolbar;
|
||||
private AppBarLayout appBarLayout;
|
||||
|
||||
private ConstraintLayout mLoadingConstraintLayout;
|
||||
|
||||
private MaterialCardView mStatisticsCardView;
|
||||
|
||||
private TextView mUsersTextView;
|
||||
private TextView mCommunitiesTextView;
|
||||
private TextView mPostsTextView;
|
||||
private TextView mCommentsTextView;
|
||||
private TextView mActiveUsersTextView;
|
||||
private ImageView mUsersImageView;
|
||||
private ImageView mCommunitiesImageView;
|
||||
private ImageView mPostsImageView;
|
||||
private ImageView mCommentsImageView;
|
||||
private ImageView mActiveUsersImageView;
|
||||
|
||||
private MaterialCardView mDescriptionCardView;
|
||||
|
||||
private RecyclerView mContentMarkdownView;
|
||||
private RecyclerView mAdminsRecyclerView;
|
||||
|
||||
private MaterialCardView mAdminsCardView;
|
||||
private MarkwonAdapter mMarkwonAdapter;
|
||||
private Markwon mPostDetailMarkwon;
|
||||
private AdminRecyclerViewAdapter mAdminAdapter;
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
((Infinity) getApplication()).getAppComponent().inject(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
mInstanceInfoActivityViewBinding = ActivityInstanceInfoBinding.inflate(getLayoutInflater());
|
||||
View view = mInstanceInfoActivityViewBinding.getRoot();
|
||||
setImmersiveModeNotApplicable();
|
||||
|
||||
setContentView(view);
|
||||
setSupportActionBar(mInstanceInfoActivityViewBinding.toolbarInstanceInfoActivity);
|
||||
|
||||
setUpBindings();
|
||||
applyCustomTheme();
|
||||
|
||||
if (mSharedPreferences.getBoolean(SharedPreferencesUtils.SWIPE_RIGHT_TO_GO_BACK, true)) {
|
||||
Slidr.attach(this);
|
||||
}
|
||||
|
||||
setSupportActionBar(toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
// Remove transparency from navigation bar
|
||||
getWindow().setNavigationBarColor(mCustomThemeWrapper.getBackgroundColor());
|
||||
|
||||
int markdownColor = customThemeWrapper.getPostContentColor();
|
||||
int postSpoilerBackgroundColor = markdownColor | 0xFF000000;
|
||||
int linkColor = customThemeWrapper.getLinkColor();
|
||||
mPostDetailMarkwon = MarkdownUtils.createFullRedditMarkwon(this,
|
||||
new AbstractMarkwonPlugin() {
|
||||
}, markdownColor, postSpoilerBackgroundColor, null);
|
||||
mMarkwonAdapter = MarkdownUtils.createTablesAdapter();
|
||||
mContentMarkdownView.setAdapter(mMarkwonAdapter);
|
||||
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
|
||||
mContentMarkdownView.setLayoutManager(linearLayoutManager);
|
||||
mAdminAdapter = new AdminRecyclerViewAdapter(InstanceInfoActivity.this, customThemeWrapper);
|
||||
mAdminsRecyclerView.setLayoutManager(new LinearLayoutManagerBugFixed(InstanceInfoActivity.this));
|
||||
mAdminsRecyclerView.setAdapter(mAdminAdapter);
|
||||
|
||||
fetchInstanceInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
fetchInstanceInfo();
|
||||
}
|
||||
|
||||
private void fetchInstanceInfo() {
|
||||
FetchSiteInfo.fetchSiteInfo(mRetorifitHolder.getRetrofit(), null, new FetchSiteInfo.FetchSiteInfoListener() {
|
||||
@Override
|
||||
public void onFetchSiteInfoSuccess(SiteInfo siteInfo) {
|
||||
mLoadingConstraintLayout.setVisibility(View.GONE);
|
||||
toolbar.setTitle(siteInfo.getName());
|
||||
if (siteInfo.getSidebar() != null) {
|
||||
mMarkwonAdapter.setMarkdown(mPostDetailMarkwon, siteInfo.getSidebar());
|
||||
Log.i("SiteInfo", "onFetchSiteInfoSuccess: " + siteInfo.getSidebar());
|
||||
// noinspection NotifyDataSetChanged
|
||||
mMarkwonAdapter.notifyDataSetChanged();
|
||||
mDescriptionCardView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
List<BasicUserInfo> admins = siteInfo.getAdmins();
|
||||
if (admins != null && !admins.isEmpty()) {
|
||||
mAdminsCardView.setVisibility(View.VISIBLE);
|
||||
mAdminAdapter.setUsers(admins);
|
||||
}
|
||||
SiteStatistics siteStatistics = siteInfo.getSiteStatistics();
|
||||
if (siteStatistics != null) {
|
||||
mStatisticsCardView.setVisibility(View.VISIBLE);
|
||||
mUsersTextView.setText(getString(R.string.user_number_detail, siteStatistics.getUsers()));
|
||||
mCommunitiesTextView.setText(getString(R.string.community_number_detail, siteStatistics.getCommunities()));
|
||||
mPostsTextView.setText(getString(R.string.post_count_detail, siteStatistics.getPosts()));
|
||||
mCommentsTextView.setText(getString(R.string.comment_count_detail, siteStatistics.getComments()));
|
||||
mActiveUsersTextView.setText(getString(R.string.active_users_number_detail, siteStatistics.getUsers_active()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFetchSiteInfoFailed() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected void setUpBindings() {
|
||||
coordinatorLayout = mInstanceInfoActivityViewBinding.coordinatorLayoutInstanceInfoActivity;
|
||||
toolbar = mInstanceInfoActivityViewBinding.toolbarInstanceInfoActivity;
|
||||
appBarLayout = mInstanceInfoActivityViewBinding.appbarLayoutInstanceInfoActivity;
|
||||
mStatisticsCardView = mInstanceInfoActivityViewBinding.statisticsCardInstanceInfoActivity;
|
||||
mDescriptionCardView = mInstanceInfoActivityViewBinding.descriptionCardInstanceInfoActivity;
|
||||
mContentMarkdownView = mInstanceInfoActivityViewBinding.markdownRecyclerViewInstanceInfoActivity;
|
||||
mAdminsCardView = mInstanceInfoActivityViewBinding.moderatorsCardInstanceInfoActivity;
|
||||
mLoadingConstraintLayout = mInstanceInfoActivityViewBinding.loadingLayoutInstanceInfoActivity;
|
||||
mAdminsRecyclerView = mInstanceInfoActivityViewBinding.recyclerViewAdminsInstanceInfoActivity;
|
||||
mUsersTextView = mInstanceInfoActivityViewBinding.registeredUserCountTextViewInstanceInfoActivity;
|
||||
mCommunitiesTextView = mInstanceInfoActivityViewBinding.communityCountInstanceInfoActivity;
|
||||
mPostsTextView = mInstanceInfoActivityViewBinding.postCountTextViewInstanceInfoActivity;
|
||||
mCommentsTextView = mInstanceInfoActivityViewBinding.commentCountTextViewInstanceInfoActivity;
|
||||
mActiveUsersTextView = mInstanceInfoActivityViewBinding.activeUserCountTextViewInstanceInfoActivity;
|
||||
mUsersImageView = mInstanceInfoActivityViewBinding.registeredUserCountImageViewInstanceInfoActivity;
|
||||
mCommunitiesImageView = mInstanceInfoActivityViewBinding.communitiesIconImageViewInstanceInfoActivity;
|
||||
mPostsImageView = mInstanceInfoActivityViewBinding.postCountImageViewInstanceInfoActivity;
|
||||
mCommentsImageView = mInstanceInfoActivityViewBinding.commentCountImageViewInstanceInfoActivity;
|
||||
mActiveUsersImageView = mInstanceInfoActivityViewBinding.activeUserCountImageViewInstanceInfoActivity;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SharedPreferences getDefaultSharedPreferences() {
|
||||
return mSharedPreferences;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected CustomThemeWrapper getCustomThemeWrapper() {
|
||||
return mCustomThemeWrapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyCustomTheme() {
|
||||
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
|
||||
applyAppBarLayoutAndCollapsingToolbarLayoutAndToolbarTheme(appBarLayout, null, toolbar);
|
||||
mUsersImageView.setColorFilter(mCustomThemeWrapper.getPrimaryTextColor(), PorterDuff.Mode.SRC_IN);
|
||||
mCommunitiesImageView.setColorFilter(mCustomThemeWrapper.getPrimaryTextColor(), PorterDuff.Mode.SRC_IN);
|
||||
mPostsImageView.setColorFilter(mCustomThemeWrapper.getPrimaryTextColor(), PorterDuff.Mode.SRC_IN);
|
||||
mCommentsImageView.setColorFilter(mCustomThemeWrapper.getPrimaryTextColor(), PorterDuff.Mode.SRC_IN);
|
||||
mActiveUsersImageView.setColorFilter(mCustomThemeWrapper.getPrimaryTextColor(), PorterDuff.Mode.SRC_IN);
|
||||
mUsersTextView.setTextColor(mCustomThemeWrapper.getPrimaryTextColor());
|
||||
mCommunitiesTextView.setTextColor(mCustomThemeWrapper.getPrimaryTextColor());
|
||||
mPostsTextView.setTextColor(mCustomThemeWrapper.getPrimaryTextColor());
|
||||
mCommentsTextView.setTextColor(mCustomThemeWrapper.getPrimaryTextColor());
|
||||
mActiveUsersTextView.setTextColor(mCustomThemeWrapper.getPrimaryTextColor());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if (item.getItemId() == android.R.id.home) {
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -882,9 +882,11 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
||||
});
|
||||
} else if (stringId == R.string.anonymous_account_instance) {
|
||||
changeAnonymousAccountInstance();
|
||||
} else if (stringId == R.string.blocks) {
|
||||
intent = new Intent(MainActivity.this, BlockedThingListingActivity.class);
|
||||
}
|
||||
} else if (stringId == R.string.blocks) {
|
||||
intent = new Intent(MainActivity.this, BlockedThingListingActivity.class);
|
||||
} else if (stringId == R.string.instance_info) {
|
||||
intent = new Intent(MainActivity.this, InstanceInfoActivity.class);
|
||||
}
|
||||
if (intent != null) {
|
||||
startActivity(intent);
|
||||
}
|
||||
@@ -1011,12 +1013,12 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
|
||||
sectionsPagerAdapter.setSubscribedSubreddits(subscribedSubredditData);
|
||||
}
|
||||
});
|
||||
/*subscribedSubredditViewModel.getAllFavoriteSubscribedSubreddits().observe(this, subscribedSubredditData -> {
|
||||
subscribedSubredditViewModel.getAllFavoriteSubscribedSubreddits().observe(this, subscribedSubredditData -> {
|
||||
adapter.setFavoriteSubscribedSubreddits(subscribedSubredditData);
|
||||
if (mShowFavoriteSubscribedSubreddits && sectionsPagerAdapter != null) {
|
||||
sectionsPagerAdapter.setFavoriteSubscribedSubreddits(subscribedSubredditData);
|
||||
}
|
||||
});*/
|
||||
});
|
||||
|
||||
accountViewModel = new ViewModelProvider(this,
|
||||
new AccountViewModel.Factory(mRedditDataRoomDatabase)).get(AccountViewModel.class);
|
||||
|
||||
@@ -214,7 +214,7 @@ public class PostGalleryActivity extends BaseActivity implements FlairBottomShee
|
||||
setSupportActionBar(toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
mPostingSnackbar = Snackbar.make(coordinatorLayout, R.string.posting, Snackbar.LENGTH_INDEFINITE);
|
||||
|
||||
|
||||
@@ -228,7 +228,7 @@ public class PostImageActivity extends BaseActivity implements FlairBottomSheetF
|
||||
setSupportActionBar(toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
mPostingSnackbar = Snackbar.make(coordinatorLayout, R.string.posting, Snackbar.LENGTH_INDEFINITE);
|
||||
|
||||
|
||||
@@ -217,7 +217,7 @@ public class PostLinkActivity extends BaseActivity implements FlairBottomSheetFr
|
||||
setSupportActionBar(toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
mPostingSnackbar = Snackbar.make(coordinatorLayout, R.string.posting, Snackbar.LENGTH_INDEFINITE);
|
||||
|
||||
|
||||
@@ -219,7 +219,7 @@ public class PostPollActivity extends BaseActivity implements FlairBottomSheetFr
|
||||
setSupportActionBar(toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
mPostingSnackbar = Snackbar.make(coordinatorLayout, R.string.posting, Snackbar.LENGTH_INDEFINITE);
|
||||
|
||||
|
||||
@@ -208,7 +208,7 @@ public class PostTextActivity extends BaseActivity implements FlairBottomSheetFr
|
||||
setSupportActionBar(toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
mPostingSnackbar = Snackbar.make(coordinatorLayout, R.string.posting, Snackbar.LENGTH_INDEFINITE);
|
||||
|
||||
|
||||
@@ -216,7 +216,7 @@ public class PostVideoActivity extends BaseActivity implements FlairBottomSheetF
|
||||
setSupportActionBar(toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
player = new ExoPlayer.Builder(this).build();
|
||||
videoPlayerView.setPlayer(player);
|
||||
|
||||
@@ -204,7 +204,7 @@ public class SubmitCrosspostActivity extends BaseActivity implements FlairBottom
|
||||
setSupportActionBar(toolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
mPostingSnackbar = Snackbar.make(coordinatorLayout, R.string.posting, Snackbar.LENGTH_INDEFINITE);
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ public class SubredditMultiselectionActivity extends BaseActivity implements Act
|
||||
setSupportActionBar(mToolbar);
|
||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
mSwipeRefreshLayout.setEnabled(false);
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ public class TrendingActivity extends BaseActivity {
|
||||
|
||||
mAccessToken = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCESS_TOKEN, null);
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
DisplayMetrics displayMetrics = new DisplayMetrics();
|
||||
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
|
||||
@@ -201,7 +201,7 @@ public class TrendingActivity extends BaseActivity {
|
||||
isRefreshing = true;
|
||||
|
||||
errorLinearLayout.setVisibility(View.GONE);
|
||||
Glide.with(this).clear(errorImageView);
|
||||
Glide.with(getApplication()).clear(errorImageView);
|
||||
swipeRefreshLayout.setRefreshing(true);
|
||||
trendingSearches = null;
|
||||
adapter.setTrendingSearches(null);
|
||||
|
||||
@@ -161,7 +161,7 @@ public class ViewImageOrGifActivity extends AppCompatActivity implements SetAsWa
|
||||
Slidr.attach(this, new SlidrConfig.Builder().position(SlidrPosition.VERTICAL).distanceThreshold(0.125f).build());
|
||||
}
|
||||
|
||||
glide = Glide.with(this);
|
||||
glide = Glide.with(getApplication());
|
||||
|
||||
handler = new Handler();
|
||||
|
||||
|
||||
@@ -181,6 +181,8 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
|
||||
private SectionsPagerAdapter sectionsPagerAdapter;
|
||||
private String mAccessToken;
|
||||
private String mAccountName;
|
||||
|
||||
private String mAccountQalifiedName;
|
||||
private long postFragmentId;
|
||||
private int postListPosition;
|
||||
private int orientation;
|
||||
@@ -269,6 +271,7 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
|
||||
|
||||
mAccessToken = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCESS_TOKEN, null);
|
||||
mAccountName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_NAME, null);
|
||||
mAccountQalifiedName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_QUALIFIED_NAME, null);
|
||||
|
||||
mVolumeKeysNavigateComments = mSharedPreferences.getBoolean(SharedPreferencesUtils.VOLUME_KEYS_NAVIGATE_COMMENTS, false);
|
||||
|
||||
@@ -353,8 +356,8 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
|
||||
|
||||
private void checkNewAccountAndBindView(Bundle savedInstanceState) {
|
||||
if (mNewAccountName != null) {
|
||||
if (mAccountName == null || !mAccountName.equals(mNewAccountName)) {
|
||||
SwitchAccount.switchAccount(mRedditDataRoomDatabase,mRetrofit, mCurrentAccountSharedPreferences,
|
||||
if (mAccountName == null || !mAccountQalifiedName.equals(mNewAccountName)) {
|
||||
SwitchAccount.switchAccount(mRedditDataRoomDatabase, mRetrofit, mCurrentAccountSharedPreferences,
|
||||
mExecutor, new Handler(), mNewAccountName, newAccount -> {
|
||||
EventBus.getDefault().post(new SwitchAccountEvent(getClass().getName()));
|
||||
Toast.makeText(this, R.string.account_switched, Toast.LENGTH_SHORT).show();
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
@@ -184,6 +185,9 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
|
||||
@BindView(R.id.comment_count_image_view_view_subreddit_detail_activity)
|
||||
ImageView nCommentsImageView;
|
||||
|
||||
@BindView(R.id.community_statistics_block_view_subreddit_detail_activity)
|
||||
ConstraintLayout communityStatisticsBlock;
|
||||
|
||||
|
||||
@BindView(R.id.description_text_view_view_subreddit_detail_activity)
|
||||
TextView descriptionTextView;
|
||||
@@ -257,6 +261,8 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
|
||||
private int fabOption;
|
||||
private MaterialAlertDialogBuilder nsfwWarningBuilder;
|
||||
|
||||
private boolean showStatistics;
|
||||
|
||||
private boolean hideSubredditDescription;
|
||||
|
||||
@Override
|
||||
@@ -270,6 +276,7 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
|
||||
ButterKnife.bind(this);
|
||||
|
||||
hideFab = mSharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_FAB_IN_POST_FEED, false);
|
||||
showStatistics = mSharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_STATISTICS, true);
|
||||
showBottomAppBar = mSharedPreferences.getBoolean(SharedPreferencesUtils.BOTTOM_APP_BAR_KEY, false);
|
||||
navigationWrapper = new NavigationWrapper(findViewById(R.id.bottom_app_bar_bottom_app_bar), findViewById(R.id.linear_layout_bottom_app_bar),
|
||||
findViewById(R.id.option_1_bottom_app_bar), findViewById(R.id.option_2_bottom_app_bar),
|
||||
@@ -506,7 +513,7 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
|
||||
setSupportActionBar(toolbar);
|
||||
setToolbarGoToTop(toolbar);
|
||||
|
||||
glide = Glide.with(this);
|
||||
glide = Glide.with(getApplication());
|
||||
Locale locale = getResources().getConfiguration().locale;
|
||||
|
||||
MarkwonPlugin miscPlugin = new AbstractMarkwonPlugin() {
|
||||
@@ -592,17 +599,11 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
|
||||
String nSubscribers = getString(R.string.subscribers_number_detail, subredditData.getNSubscribers());
|
||||
nSubscribersTextView.setText(nSubscribers);
|
||||
|
||||
if (mCommunityStats != null) {
|
||||
if (mCommunityStats != null && showStatistics) {
|
||||
communityStatisticsBlock.setVisibility(View.VISIBLE);
|
||||
nActiveUsersTextView.setText(getString(R.string.active_users_number_detail, mCommunityStats.getActiveUsers()));
|
||||
nPostsTextView.setText(getString(R.string.post_count_detail, mCommunityStats.getPosts()));
|
||||
nCommentsTextView.setText(getString(R.string.comment_count_detail, mCommunityStats.getComments()));
|
||||
} else {
|
||||
nActiveUsersTextView.setVisibility(View.GONE);
|
||||
nPostsTextView.setVisibility(View.GONE);
|
||||
nCommentsTextView.setVisibility(View.GONE);
|
||||
nActiveUsersImageView.setVisibility(View.GONE);
|
||||
nPostsImageView.setVisibility(View.GONE);
|
||||
nCommentsImageView.setVisibility(View.GONE);
|
||||
}
|
||||
description = subredditData.getDescription();
|
||||
|
||||
@@ -1690,6 +1691,7 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
|
||||
bundle.putString(SidebarFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||
bundle.putString(SidebarFragment.EXTRA_SUBREDDIT_NAME, communityName);
|
||||
bundle.putString(SidebarFragment.EXTRA_COMMUNITY_QUALIFIED_NAME, qualifiedName);
|
||||
bundle.putBoolean(SidebarFragment.EXTRA_SHOW_STATISTICS, !showStatistics);
|
||||
fragment.setArguments(bundle);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
@@ -197,9 +198,17 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
|
||||
ImageView postsCountIconImageView;
|
||||
@BindView(R.id.comments_count_icon_image_view_view_user_detail_activity)
|
||||
ImageView commentsCountIconImageView;
|
||||
|
||||
@BindView(R.id.upvote_count_posts_icon_image_view_view_user_detail_activity)
|
||||
ImageView postUpvoteCountIconImageView;
|
||||
@BindView(R.id.upvote_count_comments_icon_image_view_view_user_detail_activity)
|
||||
ImageView commentUpvoteCountIconImageView;
|
||||
@BindView(R.id.account_created_cake_icon_image_view_view_user_detail_activity)
|
||||
ImageView accountCreatedCakeIconImageView;
|
||||
|
||||
@BindView(R.id.user_statistics_block_view_user_detail_activity)
|
||||
ConstraintLayout userStatisticsBlock;
|
||||
|
||||
@BindView(R.id.cake_day_text_view_view_user_detail_activity)
|
||||
TextView cakedayTextView;
|
||||
@BindView(R.id.description_text_view_view_user_detail_activity)
|
||||
@@ -250,6 +259,9 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
|
||||
|
||||
private String qualifiedName;
|
||||
private String description;
|
||||
|
||||
private boolean showStatistics;
|
||||
private boolean showScore;
|
||||
private boolean subscriptionReady = false;
|
||||
private boolean mFetchUserInfoSuccess = false;
|
||||
private int expandedTabTextColor;
|
||||
@@ -314,6 +326,8 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
|
||||
mAccountQualifiedName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_QUALIFIED_NAME, null);
|
||||
lockBottomAppBar = mSharedPreferences.getBoolean(SharedPreferencesUtils.LOCK_BOTTOM_APP_BAR, false);
|
||||
|
||||
showStatistics = mSharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_STATISTICS, true);
|
||||
showScore = mSharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_POST_AND_COMMENT_SCORE, true);
|
||||
|
||||
if (savedInstanceState == null) {
|
||||
mMessageId = getIntent().getIntExtra(EXTRA_MESSAGE_FULLNAME, 0);
|
||||
@@ -434,7 +448,7 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
|
||||
});
|
||||
}
|
||||
|
||||
glide = Glide.with(this);
|
||||
glide = Glide.with(getApplication());
|
||||
Locale locale = getResources().getConfiguration().locale;
|
||||
|
||||
MarkwonPlugin miscPlugin = new AbstractMarkwonPlugin() {
|
||||
@@ -614,11 +628,19 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
|
||||
|
||||
cakedayTextView.setText((String) userData.getCakeday());
|
||||
UserStats userStats = mUserData.getStats();
|
||||
if (userStats != null) {
|
||||
if (userStats != null && showStatistics) {
|
||||
userStatisticsBlock.setVisibility(View.VISIBLE);
|
||||
postCountTextView.setText(String.valueOf(userStats.getPostCount()));
|
||||
commentCountTextView.setText(String.valueOf(userStats.getCommentCount()));
|
||||
upvoteCountPostTextView.setText(String.valueOf(userStats.getPostScore()));
|
||||
upvoteCountCommentTextView.setText(String.valueOf(userStats.getCommentScore()));
|
||||
if (showScore) {
|
||||
upvoteCountPostTextView.setText(String.valueOf(userStats.getPostScore()));
|
||||
upvoteCountCommentTextView.setText(String.valueOf(userStats.getCommentScore()));
|
||||
} else {
|
||||
upvoteCountPostTextView.setVisibility(View.GONE);
|
||||
upvoteCountCommentTextView.setVisibility(View.GONE);
|
||||
postUpvoteCountIconImageView.setVisibility(View.GONE);
|
||||
commentUpvoteCountIconImageView.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
if (userData.getDescription() == null || userData.getDescription().equals("")) {
|
||||
|
||||
@@ -35,16 +35,9 @@ import javax.inject.Named;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import eu.toldi.infinityforlemmy.RetrofitHolder;
|
||||
import io.noties.markwon.AbstractMarkwonPlugin;
|
||||
import io.noties.markwon.Markwon;
|
||||
import io.noties.markwon.MarkwonConfiguration;
|
||||
import io.noties.markwon.MarkwonPlugin;
|
||||
import io.noties.markwon.core.MarkwonTheme;
|
||||
import io.noties.markwon.recycler.MarkwonAdapter;
|
||||
import me.saket.bettermovementmethod.BetterLinkMovementMethod;
|
||||
import eu.toldi.infinityforlemmy.Infinity;
|
||||
import eu.toldi.infinityforlemmy.R;
|
||||
import eu.toldi.infinityforlemmy.RetrofitHolder;
|
||||
import eu.toldi.infinityforlemmy.apis.RedditAPI;
|
||||
import eu.toldi.infinityforlemmy.bottomsheetfragments.UrlMenuBottomSheetFragment;
|
||||
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
|
||||
@@ -57,10 +50,16 @@ import eu.toldi.infinityforlemmy.markdown.MarkdownUtils;
|
||||
import eu.toldi.infinityforlemmy.utils.JSONUtils;
|
||||
import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils;
|
||||
import eu.toldi.infinityforlemmy.utils.Utils;
|
||||
import io.noties.markwon.AbstractMarkwonPlugin;
|
||||
import io.noties.markwon.Markwon;
|
||||
import io.noties.markwon.MarkwonConfiguration;
|
||||
import io.noties.markwon.MarkwonPlugin;
|
||||
import io.noties.markwon.core.MarkwonTheme;
|
||||
import io.noties.markwon.recycler.MarkwonAdapter;
|
||||
import me.saket.bettermovementmethod.BetterLinkMovementMethod;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
import retrofit2.Retrofit;
|
||||
|
||||
public class WikiActivity extends BaseActivity {
|
||||
|
||||
@@ -139,7 +138,7 @@ public class WikiActivity extends BaseActivity {
|
||||
}
|
||||
}
|
||||
|
||||
mGlide = Glide.with(this);
|
||||
mGlide = Glide.with(getApplication());
|
||||
|
||||
swipeRefreshLayout.setEnabled(mSharedPreferences.getBoolean(SharedPreferencesUtils.PULL_TO_REFRESH, true));
|
||||
swipeRefreshLayout.setOnRefreshListener(this::loadWiki);
|
||||
@@ -219,7 +218,7 @@ public class WikiActivity extends BaseActivity {
|
||||
|
||||
swipeRefreshLayout.setRefreshing(true);
|
||||
|
||||
Glide.with(this).clear(mFetchWikiInfoImageView);
|
||||
Glide.with(getApplication()).clear(mFetchWikiInfoImageView);
|
||||
mFetchWikiInfoLinearLayout.setVisibility(View.GONE);
|
||||
|
||||
retrofit.getRetrofit().create(RedditAPI.class).getWikiPage(getIntent().getStringExtra(EXTRA_SUBREDDIT_NAME), getIntent().getStringExtra(EXTRA_WIKI_PATH)).enqueue(new Callback<String>() {
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package eu.toldi.infinityforlemmy.adapters;
|
||||
|
||||
import eu.toldi.infinityforlemmy.activities.BaseActivity;
|
||||
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
|
||||
import eu.toldi.infinityforlemmy.user.BasicUserRecyclerViewAdapter;
|
||||
|
||||
public class AdminRecyclerViewAdapter extends BasicUserRecyclerViewAdapter {
|
||||
|
||||
CustomThemeWrapper mCustomThemeWrapper;
|
||||
|
||||
public AdminRecyclerViewAdapter(BaseActivity activity, CustomThemeWrapper customThemeWrapper) {
|
||||
super(activity, customThemeWrapper);
|
||||
mCustomThemeWrapper = customThemeWrapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getUserNameTextColor() {
|
||||
return mCustomThemeWrapper.getAdmin();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -450,7 +450,7 @@ public class CommentsListingRecyclerViewAdapter extends PagedListAdapter<Comment
|
||||
Comment comment = getItem(getBindingAdapterPosition());
|
||||
if (comment != null) {
|
||||
Bundle bundle = new Bundle();
|
||||
if (comment.getAuthor().equals(mAccountName)) {
|
||||
if (comment.getAuthorName().equals(mAccountName)) {
|
||||
bundle.putBoolean(CommentMoreBottomSheetFragment.EXTRA_EDIT_AND_DELETE_AVAILABLE, true);
|
||||
}
|
||||
bundle.putString(CommentMoreBottomSheetFragment.EXTRA_ACCESS_TOKEN, mAccessToken);
|
||||
|
||||
@@ -39,10 +39,12 @@ import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import eu.toldi.infinityforlemmy.R;
|
||||
import eu.toldi.infinityforlemmy.RetrofitHolder;
|
||||
import eu.toldi.infinityforlemmy.SaveComment;
|
||||
import eu.toldi.infinityforlemmy.SaveThing;
|
||||
import eu.toldi.infinityforlemmy.SortType;
|
||||
@@ -95,7 +97,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
private BaseActivity mActivity;
|
||||
private ViewPostDetailFragment mFragment;
|
||||
private Executor mExecutor;
|
||||
private Retrofit mRetrofit;
|
||||
private RetrofitHolder mRetrofit;
|
||||
private Retrofit mOauthRetrofit;
|
||||
private Markwon mCommentMarkwon;
|
||||
private String mAccessToken;
|
||||
@@ -134,6 +136,9 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
private boolean isInitiallyLoadingFailed;
|
||||
private boolean mHasMoreComments;
|
||||
private boolean loadMoreCommentsFailed;
|
||||
|
||||
private boolean mHideUserInstance;
|
||||
private boolean mShowUserDisplayName;
|
||||
private Drawable expandDrawable;
|
||||
private Drawable collapseDrawable;
|
||||
|
||||
@@ -165,7 +170,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
|
||||
public CommentsRecyclerViewAdapter(BaseActivity activity, ViewPostDetailFragment fragment,
|
||||
CustomThemeWrapper customThemeWrapper,
|
||||
Executor executor, Retrofit retrofit,
|
||||
Executor executor, RetrofitHolder retrofit,
|
||||
String accessToken, String accountName,
|
||||
Post post, Locale locale, Integer singleCommentId,
|
||||
boolean isSingleCommentThreadMode,
|
||||
@@ -176,7 +181,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
mFragment = fragment;
|
||||
mExecutor = executor;
|
||||
mRetrofit = retrofit;
|
||||
mGlide = Glide.with(activity);
|
||||
mGlide = Glide.with(activity.getApplicationContext());
|
||||
mSecondaryTextColor = customThemeWrapper.getSecondaryTextColor();
|
||||
mCommentTextColor = customThemeWrapper.getCommentColor();
|
||||
int commentSpoilerBackgroundColor = mCommentTextColor | 0xFF000000;
|
||||
@@ -242,6 +247,8 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
mShowAuthorAvatar = sharedPreferences.getBoolean(SharedPreferencesUtils.SHOW_AUTHOR_AVATAR, false);
|
||||
mAlwaysShowChildCommentCount = sharedPreferences.getBoolean(SharedPreferencesUtils.ALWAYS_SHOW_CHILD_COMMENT_COUNT, false);
|
||||
mHideTheNumberOfVotes = sharedPreferences.getBoolean(SharedPreferencesUtils.HIDE_THE_NUMBER_OF_VOTES_IN_COMMENTS, false);
|
||||
mHideUserInstance = sharedPreferences.getBoolean(SharedPreferencesUtils.COMMENT_HIDE_USER_INSTANCE, false);
|
||||
mShowUserDisplayName = sharedPreferences.getBoolean(SharedPreferencesUtils.COMMENT_DISPLAY_NAME_INSTEAD_OF_USERNAME, true);
|
||||
mHideDownvotes = !currentAccountSharedPreferences.getBoolean(SharedPreferencesUtils.CAN_DOWNVOTE, true);
|
||||
mSeperateUpandDownvote = sharedPreferences.getBoolean(SharedPreferencesUtils.COMMENT_SEPARATE_UP_AND_DOWN_VOTES, true) && !mHideDownvotes;
|
||||
mDepthThreshold = sharedPreferences.getInt(SharedPreferencesUtils.SHOW_FEWER_TOOLBAR_OPTIONS_THRESHOLD, 5);
|
||||
@@ -375,9 +382,9 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
if (mIsSingleCommentThreadMode && comment.getId() == mSingleCommentId) {
|
||||
holder.itemView.setBackgroundColor(mSingleCommentThreadBackgroundColor);
|
||||
}
|
||||
|
||||
String authorPrefixed = comment.getAuthorQualifiedName();
|
||||
((CommentViewHolder) holder).authorTextView.setText(authorPrefixed);
|
||||
String authorDisplayName = (mShowUserDisplayName) ? comment.getAuthorName() : comment.getAuthor().getUsername();
|
||||
String authorInstance = (mHideUserInstance) ? "" : "@" + comment.getAuthor().getQualifiedName().split(Pattern.quote("@"))[1];
|
||||
((CommentViewHolder) holder).authorTextView.setText(authorDisplayName + authorInstance);
|
||||
|
||||
|
||||
if (comment.isSubmitter()) {
|
||||
@@ -565,7 +572,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
} else if (holder instanceof CommentFullyCollapsedViewHolder) {
|
||||
Comment comment = getCurrentComment(position);
|
||||
if (comment != null) {
|
||||
String authorWithPrefix = "u/" + comment.getAuthor();
|
||||
String authorWithPrefix = "u/" + comment.getAuthorName();
|
||||
((CommentFullyCollapsedViewHolder) holder).usernameTextView.setText(authorWithPrefix);
|
||||
|
||||
if (comment.getAuthorIconUrl() == null) {
|
||||
@@ -648,7 +655,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
mVisibleComments.get(commentPosition).setLoadMoreChildrenFailed(false);
|
||||
((LoadMoreChildCommentsViewHolder) holder).placeholderTextView.setText(R.string.loading);
|
||||
|
||||
Retrofit retrofit = mRetrofit;
|
||||
Retrofit retrofit = mRetrofit.getRetrofit();
|
||||
SortType.Type sortType = mCommentRecyclerViewAdapterCallback.getSortType();
|
||||
FetchComment.fetchComments(mExecutor, new Handler(), retrofit, mAccessToken,
|
||||
mPost.getId(), parentComment.getId(), sortType,
|
||||
@@ -905,7 +912,8 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
loadedComments.add(comments.get(i).getId());
|
||||
}
|
||||
if (mIsSingleCommentThreadMode) {
|
||||
notifyItemRangeInserted(sizeBefore, comments.size() + 1);
|
||||
int offset = (comments.size() > 0) ? 1 : 0;
|
||||
notifyItemRangeInserted(sizeBefore, comments.size() + offset);
|
||||
} else {
|
||||
notifyItemRangeInserted(sizeBefore, comments.size());
|
||||
}
|
||||
@@ -1478,7 +1486,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
comment.getScore() + comment.getVoteType())));
|
||||
}
|
||||
|
||||
VoteThing.voteComment(mActivity, mRetrofit, mAccessToken, new VoteThing.VoteThingListener() {
|
||||
VoteThing.voteComment(mActivity, mRetrofit.getRetrofit(), mAccessToken, new VoteThing.VoteThingListener() {
|
||||
@Override
|
||||
public void onVoteThingSuccess(int position) {
|
||||
int currentPosition = getBindingAdapterPosition();
|
||||
@@ -1585,7 +1593,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
}
|
||||
|
||||
int position = getBindingAdapterPosition();
|
||||
VoteThing.voteComment(mActivity, mRetrofit, mAccessToken, new VoteThing.VoteThingListener() {
|
||||
VoteThing.voteComment(mActivity, mRetrofit.getRetrofit(), mAccessToken, new VoteThing.VoteThingListener() {
|
||||
@Override
|
||||
public void onVoteThingSuccess(int position1) {
|
||||
int currentPosition = getBindingAdapterPosition();
|
||||
@@ -1593,9 +1601,9 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
comment.setVoteType(Comment.VOTE_TYPE_DOWNVOTE);
|
||||
if (currentPosition == position) {
|
||||
downvoteButton.setColorFilter(mDownvotedColor, PorterDuff.Mode.SRC_IN);
|
||||
if(mSeperateUpandDownvote){
|
||||
if (mSeperateUpandDownvote) {
|
||||
downvoteTextView.setTextColor(mDownvotedColor);
|
||||
}else {
|
||||
} else {
|
||||
scoreTextView.setTextColor(mDownvotedColor);
|
||||
}
|
||||
topScoreTextView.setTextColor(mDownvotedColor);
|
||||
@@ -1645,7 +1653,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
SaveComment saveComment = new SaveComment();
|
||||
if (comment.isSaved()) {
|
||||
comment.setSaved(false);
|
||||
saveComment.unsaveThing(mRetrofit, mAccessToken, comment.getId(), new SaveThing.SaveThingListener() {
|
||||
saveComment.unsaveThing(mRetrofit.getRetrofit(), mAccessToken, comment.getId(), new SaveThing.SaveThingListener() {
|
||||
@Override
|
||||
public void success() {
|
||||
comment.setSaved(false);
|
||||
@@ -1666,7 +1674,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
});
|
||||
} else {
|
||||
comment.setSaved(true);
|
||||
saveComment.saveThing(mRetrofit, mAccessToken, comment.getId(), new SaveThing.SaveThingListener() {
|
||||
saveComment.saveThing(mRetrofit.getRetrofit(), mAccessToken, comment.getId(), new SaveThing.SaveThingListener() {
|
||||
@Override
|
||||
public void success() {
|
||||
comment.setSaved(true);
|
||||
@@ -1695,7 +1703,7 @@ public class CommentsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerVi
|
||||
return;
|
||||
}
|
||||
Intent intent = new Intent(mActivity, ViewUserDetailActivity.class);
|
||||
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, comment.getAuthor());
|
||||
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, comment.getAuthorName());
|
||||
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, comment.getAuthorQualifiedName());
|
||||
mActivity.startActivity(intent);
|
||||
});
|
||||
|
||||
@@ -217,7 +217,7 @@ public class MessageRecyclerViewAdapter extends PagedListAdapter<CommentInteract
|
||||
((DataViewHolder) holder).authorTextView.setOnClickListener(view -> {
|
||||
|
||||
Intent intent = new Intent(mActivity, ViewUserDetailActivity.class);
|
||||
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, message.getComment().getAuthor());
|
||||
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, message.getComment().getAuthorName());
|
||||
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, message.getComment().getAuthorQualifiedName());
|
||||
mActivity.startActivity(intent);
|
||||
});
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package eu.toldi.infinityforlemmy.adapters;
|
||||
|
||||
import eu.toldi.infinityforlemmy.activities.BaseActivity;
|
||||
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
|
||||
import eu.toldi.infinityforlemmy.user.BasicUserRecyclerViewAdapter;
|
||||
|
||||
public class ModeratorRecyclerViewAdapter extends BasicUserRecyclerViewAdapter {
|
||||
|
||||
private final int mModeratorColor;
|
||||
|
||||
public ModeratorRecyclerViewAdapter(BaseActivity activity, CustomThemeWrapper customThemeWrapper) {
|
||||
super(activity, customThemeWrapper);
|
||||
mModeratorColor = customThemeWrapper.getModerator();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getUserNameTextColor() {
|
||||
return mModeratorColor;
|
||||
}
|
||||
}
|
||||
@@ -16,13 +16,6 @@ import java.util.ArrayList;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import io.noties.markwon.AbstractMarkwonPlugin;
|
||||
import io.noties.markwon.Markwon;
|
||||
import io.noties.markwon.MarkwonConfiguration;
|
||||
import io.noties.markwon.MarkwonPlugin;
|
||||
import io.noties.markwon.core.MarkwonTheme;
|
||||
import io.noties.markwon.recycler.MarkwonAdapter;
|
||||
import me.saket.bettermovementmethod.BetterLinkMovementMethod;
|
||||
import eu.toldi.infinityforlemmy.R;
|
||||
import eu.toldi.infinityforlemmy.Rule;
|
||||
import eu.toldi.infinityforlemmy.activities.BaseActivity;
|
||||
@@ -33,6 +26,13 @@ import eu.toldi.infinityforlemmy.customviews.SwipeLockInterface;
|
||||
import eu.toldi.infinityforlemmy.customviews.SwipeLockLinearLayoutManager;
|
||||
import eu.toldi.infinityforlemmy.customviews.slidr.widget.SliderPanel;
|
||||
import eu.toldi.infinityforlemmy.markdown.MarkdownUtils;
|
||||
import io.noties.markwon.AbstractMarkwonPlugin;
|
||||
import io.noties.markwon.Markwon;
|
||||
import io.noties.markwon.MarkwonConfiguration;
|
||||
import io.noties.markwon.MarkwonPlugin;
|
||||
import io.noties.markwon.core.MarkwonTheme;
|
||||
import io.noties.markwon.recycler.MarkwonAdapter;
|
||||
import me.saket.bettermovementmethod.BetterLinkMovementMethod;
|
||||
|
||||
public class RulesRecyclerViewAdapter extends RecyclerView.Adapter<RulesRecyclerViewAdapter.RuleViewHolder> {
|
||||
private BaseActivity activity;
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
package eu.toldi.infinityforlemmy.adapters;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Handler;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -22,6 +24,7 @@ import eu.toldi.infinityforlemmy.R;
|
||||
import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
|
||||
import eu.toldi.infinityforlemmy.activities.BaseActivity;
|
||||
import eu.toldi.infinityforlemmy.activities.ViewSubredditDetailActivity;
|
||||
import eu.toldi.infinityforlemmy.asynctasks.InsertSubscribedThings;
|
||||
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
|
||||
import eu.toldi.infinityforlemmy.subscribedsubreddit.SubscribedSubredditData;
|
||||
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
|
||||
@@ -158,11 +161,31 @@ public class SubscribedSubredditsRecyclerViewAdapter extends RecyclerView.Adapte
|
||||
fullname = mSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).getQualified_name();
|
||||
iconUrl = mSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).getIconUrl();
|
||||
|
||||
if (mSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).isFavorite()) {
|
||||
((SubredditViewHolder) viewHolder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
||||
} else {
|
||||
((SubredditViewHolder) viewHolder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
||||
}
|
||||
|
||||
((SubredditViewHolder) viewHolder).favoriteImageView.setOnClickListener(view -> {
|
||||
if (mSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).isFavorite()) {
|
||||
((SubredditViewHolder) viewHolder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
||||
mSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).setFavorite(false);
|
||||
} else {
|
||||
((SubredditViewHolder) viewHolder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
||||
mSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).setFavorite(true);
|
||||
}
|
||||
InsertSubscribedThings.insertSubscribedThings(mExecutor, new Handler(), mRedditDataRoomDatabase, mSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset),
|
||||
() -> {
|
||||
});
|
||||
});
|
||||
|
||||
if (itemClickListener != null) {
|
||||
viewHolder.itemView.setOnClickListener(view -> itemClickListener.onClick(communityData));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (itemClickListener == null) {
|
||||
String finalFullname = fullname;
|
||||
viewHolder.itemView.setOnClickListener(view -> {
|
||||
@@ -201,12 +224,33 @@ public class SubscribedSubredditsRecyclerViewAdapter extends RecyclerView.Adapte
|
||||
String name = mFavoriteSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).getName();
|
||||
String iconUrl = mFavoriteSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).getIconUrl();
|
||||
|
||||
if (mFavoriteSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).isFavorite()) {
|
||||
((FavoriteSubredditViewHolder) viewHolder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
||||
} else {
|
||||
((FavoriteSubredditViewHolder) viewHolder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
||||
}
|
||||
|
||||
((FavoriteSubredditViewHolder) viewHolder).favoriteImageView.setOnClickListener(view -> {
|
||||
if (mFavoriteSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).isFavorite()) {
|
||||
((FavoriteSubredditViewHolder) viewHolder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
||||
mFavoriteSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).setFavorite(false);
|
||||
} else {
|
||||
((FavoriteSubredditViewHolder) viewHolder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
||||
mFavoriteSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).setFavorite(true);
|
||||
}
|
||||
InsertSubscribedThings.insertSubscribedThings(mExecutor, new Handler(), mRedditDataRoomDatabase, mFavoriteSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset),
|
||||
() -> {
|
||||
});
|
||||
});
|
||||
|
||||
if (itemClickListener != null) {
|
||||
viewHolder.itemView.setOnClickListener(view -> itemClickListener.onClick(communityData));
|
||||
} else {
|
||||
viewHolder.itemView.setOnClickListener(view -> {
|
||||
Intent intent = new Intent(mActivity, ViewSubredditDetailActivity.class);
|
||||
intent.putExtra(ViewSubredditDetailActivity.EXTRA_SUBREDDIT_NAME_KEY, name);
|
||||
intent.putExtra(ViewSubredditDetailActivity.EXTRA_COMMUNITY_FULL_NAME_KEY,
|
||||
mFavoriteSubscribedSubredditData.get(viewHolder.getBindingAdapterPosition() - offset).getQualified_name());
|
||||
mActivity.startActivity(intent);
|
||||
});
|
||||
}
|
||||
@@ -243,6 +287,7 @@ public class SubscribedSubredditsRecyclerViewAdapter extends RecyclerView.Adapte
|
||||
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
|
||||
if(holder instanceof SubredditViewHolder) {
|
||||
glide.clear(((SubredditViewHolder) holder).iconGifImageView);
|
||||
((SubredditViewHolder) holder).favoriteImageView.setVisibility(View.VISIBLE);
|
||||
} else if (holder instanceof FavoriteSubredditViewHolder) {
|
||||
glide.clear(((FavoriteSubredditViewHolder) holder).iconGifImageView);
|
||||
}
|
||||
@@ -317,6 +362,8 @@ public class SubscribedSubredditsRecyclerViewAdapter extends RecyclerView.Adapte
|
||||
GifImageView iconGifImageView;
|
||||
@BindView(R.id.thing_name_text_view_item_subscribed_thing)
|
||||
TextView subredditNameTextView;
|
||||
@BindView(R.id.favorite_image_view_item_subscribed_thing)
|
||||
ImageView favoriteImageView;
|
||||
|
||||
SubredditViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
@@ -333,6 +380,9 @@ public class SubscribedSubredditsRecyclerViewAdapter extends RecyclerView.Adapte
|
||||
GifImageView iconGifImageView;
|
||||
@BindView(R.id.thing_name_text_view_item_subscribed_thing)
|
||||
TextView subredditNameTextView;
|
||||
@BindView(R.id.favorite_image_view_item_subscribed_thing)
|
||||
ImageView favoriteImageView;
|
||||
|
||||
|
||||
FavoriteSubredditViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
|
||||
@@ -24,7 +24,7 @@ public class LemmySectionRecyclerViewAdapter extends RecyclerView.Adapter<Recycl
|
||||
private static final int VIEW_TYPE_MENU_ITEM = 2;
|
||||
private static final int LEMMY_SECTION_ITEMS = 2;
|
||||
|
||||
private static final int LEMMY_SECTION_ANONYMOUS_ITEMS = 1;
|
||||
private static final int LEMMY_SECTION_ANONYMOUS_ITEMS = 2;
|
||||
private final boolean isLoggedIn;
|
||||
|
||||
private BaseActivity baseActivity;
|
||||
@@ -93,9 +93,15 @@ public class LemmySectionRecyclerViewAdapter extends RecyclerView.Adapter<Recycl
|
||||
drawableId = R.drawable.ic_baseline_info_24;
|
||||
break;
|
||||
case 2:
|
||||
stringId = R.string.blocks;
|
||||
drawableId = R.drawable.ic_outline_lock_24dp;
|
||||
break;
|
||||
if (isLoggedIn) {
|
||||
stringId = R.string.blocks;
|
||||
drawableId = R.drawable.ic_outline_lock_24dp;
|
||||
break;
|
||||
} else {
|
||||
stringId = R.string.anonymous_account_instance;
|
||||
drawableId = R.drawable.ic_account_circle_24dp;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
((MenuItemViewHolder) holder).menuTextView.setText(stringId);
|
||||
|
||||
@@ -38,7 +38,7 @@ public class InsertSubscribedThings {
|
||||
if (subscribedSubredditDataList != null) {
|
||||
List<SubscribedSubredditData> existingSubscribedSubredditDataList =
|
||||
subscribedSubredditDao.getAllSubscribedSubredditsList(accountName);
|
||||
Collections.sort(subscribedSubredditDataList, (subscribedSubredditData, t1) -> subscribedSubredditData.getName().compareToIgnoreCase(t1.getName()));
|
||||
Collections.sort(subscribedSubredditDataList, (subscribedSubredditData, t1) -> subscribedSubredditData.getQualified_name().compareToIgnoreCase(t1.getQualified_name()));
|
||||
List<String> unsubscribedSubreddits = new ArrayList<>();
|
||||
compareTwoSubscribedSubredditList(subscribedSubredditDataList, existingSubscribedSubredditDataList,
|
||||
unsubscribedSubreddits);
|
||||
@@ -48,6 +48,9 @@ public class InsertSubscribedThings {
|
||||
}
|
||||
|
||||
for (SubscribedSubredditData s : subscribedSubredditDataList) {
|
||||
if (existingSubscribedSubredditDataList.contains(s)) {
|
||||
continue;
|
||||
}
|
||||
subscribedSubredditDao.insert(s);
|
||||
}
|
||||
}
|
||||
@@ -79,7 +82,8 @@ public class InsertSubscribedThings {
|
||||
});
|
||||
}
|
||||
|
||||
public static void insertSubscribedThings(Executor executor, Handler handler, RedditDataRoomDatabase redditDataRoomDatabase,
|
||||
public static void insertSubscribedThings(Executor executor, Handler
|
||||
handler, RedditDataRoomDatabase redditDataRoomDatabase,
|
||||
SubscribedSubredditData singleSubscribedSubredditData,
|
||||
InsertSubscribedThingListener insertSubscribedThingListener) {
|
||||
executor.execute(() -> {
|
||||
@@ -94,7 +98,8 @@ public class InsertSubscribedThings {
|
||||
});
|
||||
}
|
||||
|
||||
public static void insertSubscribedThings(Executor executor, Handler handler, RedditDataRoomDatabase redditDataRoomDatabase,
|
||||
public static void insertSubscribedThings(Executor executor, Handler
|
||||
handler, RedditDataRoomDatabase redditDataRoomDatabase,
|
||||
SubscribedUserData mSingleSubscribedUserData,
|
||||
InsertSubscribedThingListener insertSubscribedThingListener) {
|
||||
executor.execute(() -> {
|
||||
@@ -109,35 +114,37 @@ public class InsertSubscribedThings {
|
||||
});
|
||||
}
|
||||
|
||||
private static void compareTwoSubscribedSubredditList(List<SubscribedSubredditData> newSubscribedSubreddits,
|
||||
List<SubscribedSubredditData> oldSubscribedSubreddits,
|
||||
List<String> unsubscribedSubredditNames) {
|
||||
private static void compareTwoSubscribedSubredditList
|
||||
(List<SubscribedSubredditData> newSubscribedSubreddits,
|
||||
List<SubscribedSubredditData> oldSubscribedSubreddits,
|
||||
List<String> unsubscribedSubredditNames) {
|
||||
int newIndex = 0;
|
||||
for (int oldIndex = 0; oldIndex < oldSubscribedSubreddits.size(); oldIndex++) {
|
||||
if (newIndex >= newSubscribedSubreddits.size()) {
|
||||
for (; oldIndex < oldSubscribedSubreddits.size(); oldIndex++) {
|
||||
unsubscribedSubredditNames.add(oldSubscribedSubreddits.get(oldIndex).getName());
|
||||
unsubscribedSubredditNames.add(oldSubscribedSubreddits.get(oldIndex).getQualified_name());
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
SubscribedSubredditData old = oldSubscribedSubreddits.get(oldIndex);
|
||||
for (; newIndex < newSubscribedSubreddits.size(); newIndex++) {
|
||||
if (newSubscribedSubreddits.get(newIndex).getName().compareToIgnoreCase(old.getName()) == 0) {
|
||||
if (newSubscribedSubreddits.get(newIndex).getQualified_name().compareToIgnoreCase(old.getQualified_name()) == 0) {
|
||||
newIndex++;
|
||||
break;
|
||||
}
|
||||
if (newSubscribedSubreddits.get(newIndex).getName().compareToIgnoreCase(old.getName()) > 0) {
|
||||
unsubscribedSubredditNames.add(old.getName());
|
||||
if (newSubscribedSubreddits.get(newIndex).getQualified_name().compareToIgnoreCase(old.getQualified_name()) > 0) {
|
||||
unsubscribedSubredditNames.add(old.getQualified_name());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void compareTwoSubscribedUserList(List<SubscribedUserData> newSubscribedUsers,
|
||||
List<SubscribedUserData> oldSubscribedUsers,
|
||||
List<String> unsubscribedUserNames) {
|
||||
private static void compareTwoSubscribedUserList
|
||||
(List<SubscribedUserData> newSubscribedUsers,
|
||||
List<SubscribedUserData> oldSubscribedUsers,
|
||||
List<String> unsubscribedUserNames) {
|
||||
int newIndex = 0;
|
||||
for (int oldIndex = 0; oldIndex < oldSubscribedUsers.size(); oldIndex++) {
|
||||
if (newIndex >= newSubscribedUsers.size()) {
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import eu.toldi.infinityforlemmy.BuildConfig;
|
||||
import eu.toldi.infinityforlemmy.user.BasicUserInfo;
|
||||
|
||||
public class Comment implements Parcelable {
|
||||
public static final int VOTE_TYPE_NO_VOTE = 0;
|
||||
@@ -29,9 +30,7 @@ public class Comment implements Parcelable {
|
||||
};
|
||||
private int id;
|
||||
private String fullName;
|
||||
private String author;
|
||||
private String authorQualifiedName;
|
||||
private String authorIconUrl;
|
||||
private BasicUserInfo author;
|
||||
private String linkAuthor;
|
||||
private long commentTimeMillis;
|
||||
private String commentMarkdown;
|
||||
@@ -66,16 +65,14 @@ public class Comment implements Parcelable {
|
||||
private List<String> path;
|
||||
private int postId;
|
||||
|
||||
public Comment(int id, int postId, String fullName, String author, String authorQualifiedName, String linkAuthor,
|
||||
public Comment(int id, int postId, BasicUserInfo author, String linkAuthor,
|
||||
long commentTimeMillis, String commentMarkdown, String commentRawText,
|
||||
String linkId, String communityName, String communityQualifiedName, Integer parentId, int downvotes,int upvotes,
|
||||
String linkId, String communityName, String communityQualifiedName, Integer parentId, int downvotes, int upvotes,
|
||||
int voteType, boolean isSubmitter, String distinguished, String permalink,
|
||||
int depth, boolean collapsed, boolean hasReply, boolean saved, boolean deleted, long edited, String[] path) {
|
||||
this.id = id;
|
||||
this.postId = postId;
|
||||
this.fullName = fullName;
|
||||
this.author = author;
|
||||
this.authorQualifiedName = authorQualifiedName;
|
||||
this.linkAuthor = linkAuthor;
|
||||
this.commentTimeMillis = commentTimeMillis;
|
||||
this.commentMarkdown = commentMarkdown;
|
||||
@@ -122,10 +119,7 @@ public class Comment implements Parcelable {
|
||||
protected Comment(Parcel in) {
|
||||
id = in.readInt();
|
||||
postId = in.readInt();
|
||||
fullName = in.readString();
|
||||
author = in.readString();
|
||||
authorQualifiedName = in.readString();
|
||||
authorIconUrl = in.readString();
|
||||
author = in.readParcelable(BasicUserInfo.class.getClassLoader());
|
||||
linkAuthor = in.readString();
|
||||
commentTimeMillis = in.readLong();
|
||||
commentMarkdown = in.readString();
|
||||
@@ -169,8 +163,8 @@ public class Comment implements Parcelable {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public String getAuthor() {
|
||||
return author;
|
||||
public String getAuthorName() {
|
||||
return author.getDisplayName();
|
||||
}
|
||||
|
||||
public boolean isAuthorDeleted() {
|
||||
@@ -178,16 +172,17 @@ public class Comment implements Parcelable {
|
||||
}
|
||||
|
||||
public void setAuthor(String author) {
|
||||
this.author = author;
|
||||
//this.author = author;
|
||||
}
|
||||
|
||||
|
||||
public String getAuthorIconUrl() {
|
||||
return authorIconUrl;
|
||||
return author.getAvatar();
|
||||
}
|
||||
|
||||
public void setAuthorIconUrl(String authorIconUrl) {
|
||||
this.authorIconUrl = authorIconUrl;
|
||||
|
||||
//this.authorIconUrl = authorIconUrl;
|
||||
}
|
||||
|
||||
public String getLinkAuthor() {
|
||||
@@ -435,10 +430,7 @@ public class Comment implements Parcelable {
|
||||
public void writeToParcel(Parcel parcel, int i) {
|
||||
parcel.writeInt(id);
|
||||
parcel.writeInt(postId);
|
||||
parcel.writeString(fullName);
|
||||
parcel.writeString(author);
|
||||
parcel.writeString(authorQualifiedName);
|
||||
parcel.writeString(authorIconUrl);
|
||||
parcel.writeParcelable(author, i);
|
||||
parcel.writeString(linkAuthor);
|
||||
parcel.writeLong(commentTimeMillis);
|
||||
parcel.writeString(commentMarkdown);
|
||||
@@ -486,7 +478,7 @@ public class Comment implements Parcelable {
|
||||
}
|
||||
|
||||
public String getAuthorQualifiedName() {
|
||||
return authorQualifiedName;
|
||||
return author.getQualifiedName();
|
||||
}
|
||||
|
||||
public String getCommunityQualifiedName() {
|
||||
@@ -496,4 +488,8 @@ public class Comment implements Parcelable {
|
||||
public int getPostId() {
|
||||
return postId;
|
||||
}
|
||||
|
||||
public BasicUserInfo getAuthor() {
|
||||
return author;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ public class FetchRemovedComment {
|
||||
boolean isSubmitter = result.getBoolean(JSONUtils.IS_SUBMITTER_KEY);
|
||||
|
||||
if (id.equals(comment.getId()) &&
|
||||
(!author.equals(comment.getAuthor()) ||
|
||||
(!author.equals(comment.getAuthorName()) ||
|
||||
!body.equals(comment.getCommentRawText()))
|
||||
) {
|
||||
comment.setAuthor(author);
|
||||
|
||||
@@ -56,7 +56,7 @@ public class FetchRemovedCommentReveddit {
|
||||
String author = result.getString(JSONUtils.AUTHOR_KEY);
|
||||
String body = Utils.modifyMarkdown(Utils.trimTrailingWhitespace(result.optString(JSONUtils.BODY_KEY)));
|
||||
|
||||
if (id.equals(comment.getId()) && (!author.equals(comment.getAuthor()) || !body.equals(comment.getCommentRawText()))) {
|
||||
if (id.equals(comment.getId()) && (!author.equals(comment.getAuthorName()) || !body.equals(comment.getCommentRawText()))) {
|
||||
comment.setAuthor(author);
|
||||
comment.setCommentMarkdown(body);
|
||||
comment.setCommentRawText(body);
|
||||
|
||||
@@ -24,6 +24,7 @@ import java.util.TimeZone;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import eu.toldi.infinityforlemmy.user.BasicUserInfo;
|
||||
import eu.toldi.infinityforlemmy.utils.JSONUtils;
|
||||
import eu.toldi.infinityforlemmy.utils.LemmyUtils;
|
||||
|
||||
@@ -340,10 +341,10 @@ public class ParseComment {
|
||||
boolean saved = jsonObject.getBoolean("saved");
|
||||
boolean deleted = commentObj.getBoolean("deleted");
|
||||
long edited = 0;
|
||||
|
||||
Comment comment = new Comment(id, postID, fullName, author, authorQualifiedName, linkAuthor, commentTimeMillis,
|
||||
BasicUserInfo authorInfo = new BasicUserInfo(creatorObj.getInt("id"), author, authorQualifiedName, creatorObj.optString("avatar", ""), creatorObj.optString("display_name", author));
|
||||
Comment comment = new Comment(id, postID, authorInfo, linkAuthor, commentTimeMillis,
|
||||
commentMarkdown, commentRawText, linkId, communityName, communityQualifiedName, parentId,
|
||||
downvotes,upvotes, voteType, isSubmitter, distinguished, permalink, depth, collapsed, hasReply, saved, deleted, edited, path);
|
||||
downvotes, upvotes, 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);
|
||||
|
||||
@@ -54,407 +54,412 @@ public class CustomThemeWrapper {
|
||||
|
||||
public int getColorPrimary() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COLOR_PRIMARY,
|
||||
getDefaultColor("#0336FF", "#393A59", "#000000"));
|
||||
getDefaultColor("#F2E9E1", "#2B3B51", "#282828"));
|
||||
}
|
||||
|
||||
public int getColorPrimaryDark() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COLOR_PRIMARY_DARK,
|
||||
getDefaultColor("#002BF0", "#393A59", "#000000"));
|
||||
getDefaultColor("#F2E9E1", "#192330", "#161616"));
|
||||
}
|
||||
|
||||
public int getColorAccent() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COLOR_ACCENT,
|
||||
getDefaultColor("#FF1868", "#F8F8F2", "#FF1868"));
|
||||
getDefaultColor("#3D2B5A", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getColorPrimaryLightTheme() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COLOR_PRIMARY_LIGHT_THEME,
|
||||
getDefaultColor("#0336FF", "#393A59", "#0336FF"));
|
||||
getDefaultColor("#F2E9E1", "#192330", "#161616"));
|
||||
}
|
||||
|
||||
public int getPrimaryTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.PRIMARY_TEXT_COLOR,
|
||||
getDefaultColor("#000000", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#3D2B5A", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getSecondaryTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.SECONDARY_TEXT_COLOR,
|
||||
getDefaultColor("#8A000000", "#B3FFFFFF", "#B3FFFFFF"));
|
||||
getDefaultColor("#352C24", "#DFDFE0", "#E4E4E5"));
|
||||
}
|
||||
|
||||
public int getPostTitleColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.POST_TITLE_COLOR,
|
||||
getDefaultColor("#000000", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#3D2B5A", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getPostContentColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.POST_CONTENT_COLOR,
|
||||
getDefaultColor("#8A000000", "#B3FFFFFF", "#B3FFFFFF"));
|
||||
getDefaultColor("#352C24", "#DFDFE0", "#E4E4E5"));
|
||||
}
|
||||
|
||||
public int getReadPostTitleColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.READ_POST_TITLE_COLOR,
|
||||
getDefaultColor("#9D9D9D", "#9D9D9D", "#979797"));
|
||||
getDefaultColor("#352C24", "#738091", "#484848"));
|
||||
}
|
||||
|
||||
public int getReadPostContentColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.READ_POST_CONTENT_COLOR,
|
||||
getDefaultColor("#9D9D9D", "#9D9D9D", "#979797"));
|
||||
getDefaultColor("#352C24", "#738091", "#484848"));
|
||||
}
|
||||
|
||||
public int getCommentColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COMMENT_COLOR,
|
||||
getDefaultColor("#000000", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#3D2B5A", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getButtonTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.BUTTON_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#3D2B5A", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.BACKGROUND_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#282A36", "#000000"));
|
||||
getDefaultColor("#F6F2EE", "#192330", "#161616"));
|
||||
}
|
||||
|
||||
public int getCardViewBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.CARD_VIEW_BACKGROUND_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#393A59", "#000000"));
|
||||
getDefaultColor("#F2E9E1", "#2B3B51", "#282828"));
|
||||
}
|
||||
|
||||
public int getReadPostCardViewBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.READ_POST_CARD_VIEW_BACKGROUND_COLOR,
|
||||
getDefaultColor("#F5F5F5", "#1C1F3D", "#000000"));
|
||||
getDefaultColor("#F2E9E1", "#2B3B51", "#282828"));
|
||||
}
|
||||
|
||||
public int getCommentBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COMMENT_BACKGROUND_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#393A59", "#000000"));
|
||||
getDefaultColor("#F6F2EE", "#192330", "#282828"));
|
||||
}
|
||||
|
||||
public int getBottomAppBarBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.BOTTOM_APP_BAR_BACKGROUND_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#393A59", "#000000"));
|
||||
getDefaultColor("#F2E9E1", "#2B3B51", "#161616"));
|
||||
}
|
||||
|
||||
public int getPrimaryIconColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.PRIMARY_ICON_COLOR,
|
||||
getDefaultColor("#000000", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#3D2B5A", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getBottomAppBarIconColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.BOTTOM_APP_BAR_ICON_COLOR,
|
||||
getDefaultColor("#000000", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#3D2B5A", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getPostIconAndInfoColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.POST_ICON_AND_INFO_COLOR,
|
||||
getDefaultColor("#8A000000", "#B3FFFFFF", "#B3FFFFFF"));
|
||||
getDefaultColor("#352C24", "#DFDFE0", "#E4E4E5"));
|
||||
}
|
||||
|
||||
public int getCommentIconAndInfoColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COMMENT_ICON_AND_INFO_COLOR,
|
||||
getDefaultColor("#8A000000", "#B3FFFFFF", "#B3FFFFFF"));
|
||||
getDefaultColor("#352C24", "#DFDFE0", "#E4E4E5"));
|
||||
}
|
||||
|
||||
public int getToolbarPrimaryTextAndIconColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.TOOLBAR_PRIMARY_TEXT_AND_ICON_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#352C24", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getToolbarSecondaryTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.TOOLBAR_SECONDARY_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#352C24", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getCircularProgressBarBackground() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.CIRCULAR_PROGRESS_BAR_BACKGROUND,
|
||||
getDefaultColor("#FFFFFF", "#393A59", "#000000"));
|
||||
getDefaultColor("#F6F2EE", "#2B3B51", "#282828"));
|
||||
}
|
||||
|
||||
public int getMediaIndicatorIconColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.MEDIA_INDICATOR_ICON_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#000000"));
|
||||
getDefaultColor("#F6F2EE", "#393B44", "#161616"));
|
||||
}
|
||||
|
||||
public int getMediaIndicatorBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.MEDIA_INDICATOR_BACKGROUND_COLOR,
|
||||
getDefaultColor("#000000", "#000000", "#FFFFFF"));
|
||||
getDefaultColor("#3D2B5A", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getTabLayoutWithExpandedCollapsingToolbarTabBackground() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.TAB_LAYOUT_WITH_EXPANDED_COLLAPSING_TOOLBAR_TAB_BACKGROUND,
|
||||
getDefaultColor("#FFFFFF", "#393A59", "#000000"));
|
||||
getDefaultColor("#F6F2EE", "#2B3B51", "#282828"));
|
||||
}
|
||||
|
||||
public int getTabLayoutWithExpandedCollapsingToolbarTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.TAB_LAYOUT_WITH_EXPANDED_COLLAPSING_TOOLBAR_TEXT_COLOR,
|
||||
getDefaultColor("#0336FF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#352C24", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getTabLayoutWithExpandedCollapsingToolbarTabIndicator() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.TAB_LAYOUT_WITH_EXPANDED_COLLAPSING_TOOLBAR_TAB_INDICATOR,
|
||||
getDefaultColor("#0336FF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#352C24", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getTabLayoutWithCollapsedCollapsingToolbarTabBackground() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.TAB_LAYOUT_WITH_COLLAPSED_COLLAPSING_TOOLBAR_TAB_BACKGROUND,
|
||||
getDefaultColor("#0336FF", "#393A59", "#000000"));
|
||||
getDefaultColor("#F6F2EE", "#2B3B51", "#282828"));
|
||||
}
|
||||
|
||||
public int getTabLayoutWithCollapsedCollapsingToolbarTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.TAB_LAYOUT_WITH_COLLAPSED_COLLAPSING_TOOLBAR_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#352C24", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getTabLayoutWithCollapsedCollapsingToolbarTabIndicator() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.TAB_LAYOUT_WITH_COLLAPSED_COLLAPSING_TOOLBAR_TAB_INDICATOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#352C24", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getUpvoted() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.UPVOTED,
|
||||
getDefaultColor("#FF1868", "#FF008C", "#FF1868"));
|
||||
getDefaultColor("#A5222F", "#DBC074", "#F16DA6"));
|
||||
}
|
||||
|
||||
public int getDownvoted() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.DOWNVOTED,
|
||||
getDefaultColor("#007DDE", "#007DDE", "#007DDE"));
|
||||
getDefaultColor("#4863B6", "#D16983", "#52BDFF"));
|
||||
}
|
||||
|
||||
public int getPostTypeBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.POST_TYPE_BACKGROUND_COLOR,
|
||||
getDefaultColor("#002BF0", "#0336FF", "#0336FF"));
|
||||
getDefaultColor("#4863B6", "#719CD6", "#33B1FF"));
|
||||
}
|
||||
|
||||
public int getPostTypeTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.POST_TYPE_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#F6F2EE", "#DFDFE0", "#282828"));
|
||||
}
|
||||
|
||||
public int getSpoilerBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.SPOILER_BACKGROUND_COLOR,
|
||||
getDefaultColor("#EE02EB", "#EE02EB", "#EE02EB"));
|
||||
getDefaultColor("#A440B5", "#E0C989", "#F16DA6"));
|
||||
}
|
||||
|
||||
public int getSpoilerTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.SPOILER_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#F6F2EE", "#393B44", "#282828"));
|
||||
}
|
||||
|
||||
public int getNsfwBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.NSFW_BACKGROUND_COLOR,
|
||||
getDefaultColor("#FF1868", "#FF1868", "#FF1868"));
|
||||
getDefaultColor("#A5222F", "#D16983", "#F16DA6"));
|
||||
}
|
||||
|
||||
public int getNsfwTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.NSFW_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#F6F2EE", "#393B44", "#282828"));
|
||||
}
|
||||
|
||||
public int getFlairBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.FLAIR_BACKGROUND_COLOR,
|
||||
getDefaultColor("#00AA8C", "#00AA8C", "#00AA8C"));
|
||||
getDefaultColor("#488D93", "#9D79D6", "#3DDBD9"));
|
||||
}
|
||||
|
||||
public int getFlairTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.FLAIR_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#F6F2EE", "#DFDFE0", "#282828"));
|
||||
}
|
||||
|
||||
public int getAwardsBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.AWARDS_BACKGROUND_COLOR,
|
||||
getDefaultColor("#EEAB02", "#EEAB02", "#EEAB02"));
|
||||
getDefaultColor("#B86E28", "#E0C989", "#3DDBD9"));
|
||||
}
|
||||
|
||||
public int getAwardsTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.AWARDS_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#F6F2EE", "#575860", "#282828"));
|
||||
}
|
||||
|
||||
public int getArchivedIconTint() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.ARCHIVED_ICON_TINT,
|
||||
getDefaultColor("#B4009F", "#B4009F", "#B4009F"));
|
||||
getDefaultColor("#A440B5", "#D67AD2", "#EE5396"));
|
||||
}
|
||||
|
||||
public int getLockedIconTint() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.LOCKED_ICON_TINT,
|
||||
getDefaultColor("#EE7302", "#EE7302", "#EE7302"));
|
||||
getDefaultColor("#AC5402", "#F4A261", "#EE5396"));
|
||||
}
|
||||
|
||||
public int getCrosspostIconTint() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.CROSSPOST_ICON_TINT,
|
||||
getDefaultColor("#FF1868", "#FF1868", "#FF1868"));
|
||||
getDefaultColor("#A5222F", "#DBC074", "#F16DA6"));
|
||||
}
|
||||
|
||||
public int getUpvoteRatioIconTint() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.UPVOTE_RATIO_ICON_TINT,
|
||||
getDefaultColor("#0256EE", "#0256EE", "#0256EE"));
|
||||
getDefaultColor("#2848A9", "#86ABDC", "#33B1FF"));
|
||||
}
|
||||
|
||||
public int getStickiedPostIconTint() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.STICKIED_POST_ICON_TINT,
|
||||
getDefaultColor("#002BF0", "#02ABEE", "#0336FF"));
|
||||
getDefaultColor("#4863B6", "#719CD6", "#33B1FF"));
|
||||
}
|
||||
|
||||
public int getNoPreviewPostTypeIconTint() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.NO_PREVIEW_POST_TYPE_ICON_TINT,
|
||||
getDefaultColor("#808080", "#FFFFFF", "#808080"));
|
||||
getDefaultColor("#F6F2EE", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getSubscribed() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.SUBSCRIBED,
|
||||
getDefaultColor("#FF1868", "#FF1868", "#FF1868"));
|
||||
getDefaultColor("#A5222F", "#D16983", "#F16DA6"));
|
||||
}
|
||||
|
||||
public int getUnsubscribed() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.UNSUBSCRIBED,
|
||||
getDefaultColor("#002BF0", "#002BF0", "#0336FF"));
|
||||
getDefaultColor("#4863B6", "#719CD6", "#33B1FF"));
|
||||
}
|
||||
|
||||
public int getUsername() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.USERNAME,
|
||||
getDefaultColor("#002BF0", "#1E88E5", "#1E88E5"));
|
||||
getDefaultColor("#4863B6", "#86ABDC", "#52BDFF"));
|
||||
}
|
||||
|
||||
public int getSubreddit() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.SUBREDDIT,
|
||||
getDefaultColor("#FF1868", "#FF4B9C", "#FF1868"));
|
||||
getDefaultColor("#A5222F", "#DBC074", "#F16DA6"));
|
||||
}
|
||||
|
||||
public int getAuthorFlairTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.AUTHOR_FLAIR_TEXT_COLOR,
|
||||
getDefaultColor("#EE02C4", "#EE02C4", "#EE02C4"));
|
||||
getDefaultColor("#A440B5", "#D67AD2", "#F16DA6"));
|
||||
}
|
||||
|
||||
public int getSubmitter() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.SUBMITTER,
|
||||
getDefaultColor("#EE8A02", "#EE8A02", "#EE8A02"));
|
||||
getDefaultColor("#AC5402", "#E0C989", "#3DDBD9"));
|
||||
}
|
||||
|
||||
public int getModerator() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.MODERATOR,
|
||||
getDefaultColor("#00BA81", "#00BA81", "#00BA81"));
|
||||
getDefaultColor("#577F63", "#D67AD2", "#25BE6A"));
|
||||
}
|
||||
|
||||
public int getAdmin() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.MODERATOR,
|
||||
getDefaultColor("#a5222f", "#c94f6d", "#EE5396"));
|
||||
}
|
||||
|
||||
public int getCurrentUser() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.CURRENT_USER,
|
||||
getDefaultColor("#00D5EA", "#00D5EA", "#00D5EA"));
|
||||
getDefaultColor("#488D93", "#7AD5D6", "#2DC7C4"));
|
||||
}
|
||||
|
||||
public int getSingleCommentThreadBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.SINGLE_COMMENT_THREAD_BACKGROUND_COLOR,
|
||||
getDefaultColor("#B3E5F9", "#5F5B85", "#123E77"));
|
||||
getDefaultColor("#F2E9E1", "#2B3B51", "#484848"));
|
||||
}
|
||||
|
||||
public int getUnreadMessageBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.UNREAD_MESSAGE_BACKGROUND_COLOR,
|
||||
getDefaultColor("#B3E5F9", "#5F5B85", "#123E77"));
|
||||
getDefaultColor("#F6F2EE", "#393B44", "#484848"));
|
||||
}
|
||||
|
||||
public int getDividerColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.DIVIDER_COLOR,
|
||||
getDefaultColor("#E0E0E0", "#69666C", "#69666C"));
|
||||
getDefaultColor("#F2E9E1", "#2B3B51", "#484848"));
|
||||
}
|
||||
|
||||
public int getNoPreviewPostTypeBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.NO_PREVIEW_POST_TYPE_BACKGROUND_COLOR,
|
||||
getDefaultColor("#E0E0E0", "#6272A4", "#424242"));
|
||||
getDefaultColor("#3D2B5A", "#D16983", "#161616"));
|
||||
}
|
||||
|
||||
public int getVoteAndReplyUnavailableButtonColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.VOTE_AND_REPLY_UNAVAILABLE_BUTTON_COLOR,
|
||||
getDefaultColor("#F0F0F0", "#777C82", "#3C3C3C"));
|
||||
getDefaultColor("#F6F2EE", "#192330", "#484848"));
|
||||
}
|
||||
|
||||
public int getCommentVerticalBarColor1() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COMMENT_VERTICAL_BAR_COLOR_1,
|
||||
getDefaultColor("#0336FF", "#8BE9FD", "#0336FF"));
|
||||
getDefaultColor("#2848A9", "#719CD6", "#33B1FF"));
|
||||
}
|
||||
|
||||
public int getCommentVerticalBarColor2() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COMMENT_VERTICAL_BAR_COLOR_2,
|
||||
getDefaultColor("#EE02BE", "#50FA7B", "#C300B3"));
|
||||
getDefaultColor("#A440B5", "#D16983", "#C8A5FF"));
|
||||
}
|
||||
|
||||
public int getCommentVerticalBarColor3() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COMMENT_VERTICAL_BAR_COLOR_3,
|
||||
getDefaultColor("#02DFEE", "#FFB86C", "#00B8DA"));
|
||||
getDefaultColor("#4863B6", "#86ABDC", "#2DC7C4"));
|
||||
}
|
||||
|
||||
public int getCommentVerticalBarColor4() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COMMENT_VERTICAL_BAR_COLOR_4,
|
||||
getDefaultColor("#EED502", "#FF79C6", "#EDCA00"));
|
||||
getDefaultColor("#B86E28", "#DBC074", "#78A9FF"));
|
||||
}
|
||||
|
||||
public int getCommentVerticalBarColor5() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COMMENT_VERTICAL_BAR_COLOR_5,
|
||||
getDefaultColor("#EE0220", "#BD93F9", "#EE0219"));
|
||||
getDefaultColor("#B3434E", "#C94F6D", "#EE5396"));
|
||||
}
|
||||
|
||||
public int getCommentVerticalBarColor6() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COMMENT_VERTICAL_BAR_COLOR_6,
|
||||
getDefaultColor("#02EE6E", "#FF5555", "#00B925"));
|
||||
getDefaultColor("#577F63", "#81B27A", "#25BE6A"));
|
||||
}
|
||||
|
||||
public int getCommentVerticalBarColor7() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.COMMENT_VERTICAL_BAR_COLOR_7,
|
||||
getDefaultColor("#EE4602", "#F1FA8C", "#EE4602"));
|
||||
getDefaultColor("#955F61", "#D16983", "#FF7EB6"));
|
||||
}
|
||||
|
||||
public int getFABIconColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.FAB_ICON_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#000000", "#FFFFFF"));
|
||||
getDefaultColor("#F6F2EE", "#192330", "#161616"));
|
||||
}
|
||||
|
||||
public int getChipTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.CHIP_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#F6F2EE", "#CDCECF", "#282828"));
|
||||
}
|
||||
|
||||
public int getLinkColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.LINK_COLOR,
|
||||
getDefaultColor("#FF1868", "#FF1868", "#FF1868"));
|
||||
getDefaultColor("#A5222F", "#DBC074", "#F16DA6"));
|
||||
}
|
||||
|
||||
public int getReceivedMessageTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.RECEIVED_MESSAGE_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#3D2B5A", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getSentMessageTextColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.SENT_MESSAGE_TEXT_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
|
||||
getDefaultColor("#F6F2EE", "#CDCECF", "#F2F4F8"));
|
||||
}
|
||||
|
||||
public int getReceivedMessageBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.RECEIVED_MESSAGE_BACKROUND_COLOR,
|
||||
getDefaultColor("#4185F4", "#4185F4", "#4185F4"));
|
||||
getDefaultColor("#F2E9E1", "#2B3B51", "#484848"));
|
||||
}
|
||||
|
||||
public int getSentMessageBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.SENT_MESSAGE_BACKGROUND_COLOR,
|
||||
getDefaultColor("#31BF7D", "#31BF7D", "#31BF7D"));
|
||||
getDefaultColor("#577F63", "#393B44", "#46C880"));
|
||||
}
|
||||
|
||||
public int getSendMessageIconColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.SEND_MESSAGE_ICON_COLOR,
|
||||
getDefaultColor("#4185F4", "#4185F4", "#4185F4"));
|
||||
getDefaultColor("#4863B6", "#C94F6D", "#52BDFF"));
|
||||
}
|
||||
|
||||
public int getFullyCollapsedCommentBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.FULLY_COLLAPSED_COMMENT_BACKGROUND_COLOR,
|
||||
getDefaultColor("#8EDFBA", "#21C561", "#21C561"));
|
||||
getDefaultColor("#F2E9E1", "#2B3B51", "#484848"));
|
||||
}
|
||||
|
||||
public int getAwardedCommentBackgroundColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.AWARDED_COMMENT_BACKGROUND_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#393A59", "#000000"));
|
||||
getDefaultColor("#F6F2EE", "#E0C989", "#282828"));
|
||||
}
|
||||
|
||||
public int getNavBarColor() {
|
||||
return getThemeSharedPreferences().getInt(CustomThemeSharedPreferencesUtils.NAV_BAR_COLOR,
|
||||
getDefaultColor("#FFFFFF", "#393A59", "#000000"));
|
||||
getDefaultColor("#F6F2EE", "#192330", "#161616"));
|
||||
}
|
||||
|
||||
public boolean isLightStatusBar() {
|
||||
@@ -493,6 +498,12 @@ public class CustomThemeWrapper {
|
||||
return getDracula(context);
|
||||
} else if (name.equals(context.getString(R.string.theme_name_calm_pastel))) {
|
||||
return getCalmPastel(context);
|
||||
} else if (name.equals(context.getString(R.string.theme_name_dayfox))) {
|
||||
return getDayfox(context);
|
||||
} else if (name.equals(context.getString(R.string.theme_name_nightfox))) {
|
||||
return getNightfox(context);
|
||||
} else if (name.equals(context.getString(R.string.theme_name_carbonfox))) {
|
||||
return getCarbonfox(context);
|
||||
} else {
|
||||
return getIndigo(context);
|
||||
}
|
||||
@@ -511,6 +522,9 @@ public class CustomThemeWrapper {
|
||||
customThemes.add(getRedAmoled(context));
|
||||
customThemes.add(getDracula(context));
|
||||
customThemes.add(getCalmPastel(context));
|
||||
customThemes.add(getDayfox(context));
|
||||
customThemes.add(getNightfox(context));
|
||||
customThemes.add(getCarbonfox(context));
|
||||
return customThemes;
|
||||
}
|
||||
|
||||
@@ -1537,6 +1551,288 @@ public class CustomThemeWrapper {
|
||||
return customTheme;
|
||||
}
|
||||
|
||||
|
||||
private static CustomTheme getDayfox(Context context) {
|
||||
CustomTheme customTheme = new CustomTheme(context.getString(R.string.theme_name_dayfox));
|
||||
customTheme.isLightTheme = true;
|
||||
customTheme.isDarkTheme = false;
|
||||
customTheme.isAmoledTheme = false;
|
||||
customTheme.colorPrimary = Color.parseColor("#F2E9E1");
|
||||
customTheme.colorPrimaryDark = Color.parseColor("#F2E9E1");
|
||||
customTheme.colorAccent = Color.parseColor("#3D2B5A");
|
||||
customTheme.colorPrimaryLightTheme = Color.parseColor("#F2E9E1");
|
||||
customTheme.primaryTextColor = Color.parseColor("#3D2B5A");
|
||||
customTheme.secondaryTextColor = Color.parseColor("#352C24");
|
||||
customTheme.postTitleColor = Color.parseColor("#3D2B5A");
|
||||
customTheme.postContentColor = Color.parseColor("#352C24");
|
||||
customTheme.readPostTitleColor = Color.parseColor("#352C24");
|
||||
customTheme.readPostContentColor = Color.parseColor("#352C24");
|
||||
customTheme.commentColor = Color.parseColor("#3D2B5A");
|
||||
customTheme.buttonTextColor = Color.parseColor("#3D2B5A");
|
||||
customTheme.backgroundColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.cardViewBackgroundColor = Color.parseColor("#F2E9E1");
|
||||
customTheme.readPostCardViewBackgroundColor = Color.parseColor("#F2E9E1");
|
||||
customTheme.commentBackgroundColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.bottomAppBarBackgroundColor = Color.parseColor("#F2E9E1");
|
||||
customTheme.primaryIconColor = Color.parseColor("#3D2B5A");
|
||||
customTheme.bottomAppBarIconColor = Color.parseColor("#3D2B5A");
|
||||
customTheme.postIconAndInfoColor = Color.parseColor("#352C24");
|
||||
customTheme.commentIconAndInfoColor = Color.parseColor("#352C24");
|
||||
customTheme.toolbarPrimaryTextAndIconColor = Color.parseColor("#352C24");
|
||||
customTheme.toolbarSecondaryTextColor = Color.parseColor("#352C24");
|
||||
customTheme.circularProgressBarBackground = Color.parseColor("#F6F2EE");
|
||||
customTheme.mediaIndicatorIconColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.mediaIndicatorBackgroundColor = Color.parseColor("#3D2B5A");
|
||||
customTheme.tabLayoutWithExpandedCollapsingToolbarTabBackground = Color.parseColor("#F6F2EE");
|
||||
customTheme.tabLayoutWithExpandedCollapsingToolbarTextColor = Color.parseColor("#352C24");
|
||||
customTheme.tabLayoutWithExpandedCollapsingToolbarTabIndicator = Color.parseColor("#F6F2EE");
|
||||
customTheme.tabLayoutWithCollapsedCollapsingToolbarTabBackground = Color.parseColor("#F6F2EE");
|
||||
customTheme.tabLayoutWithCollapsedCollapsingToolbarTextColor = Color.parseColor("#352C24");
|
||||
customTheme.tabLayoutWithCollapsedCollapsingToolbarTabIndicator = Color.parseColor("#352C24");
|
||||
customTheme.upvoted = Color.parseColor("#A5222F");
|
||||
customTheme.downvoted = Color.parseColor("#4863B6");
|
||||
customTheme.postTypeBackgroundColor = Color.parseColor("#4863B6");
|
||||
customTheme.postTypeTextColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.spoilerBackgroundColor = Color.parseColor("#A440B5");
|
||||
customTheme.spoilerTextColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.nsfwBackgroundColor = Color.parseColor("#A5222F");
|
||||
customTheme.nsfwTextColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.flairBackgroundColor = Color.parseColor("#488D93");
|
||||
customTheme.flairTextColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.awardsBackgroundColor = Color.parseColor("#B86E28");
|
||||
customTheme.awardsTextColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.archivedTint = Color.parseColor("#A440B5");
|
||||
customTheme.lockedIconTint = Color.parseColor("#AC5402");
|
||||
customTheme.crosspostIconTint = Color.parseColor("#A5222F");
|
||||
customTheme.upvoteRatioIconTint = Color.parseColor("#2848A9");
|
||||
customTheme.stickiedPostIconTint = Color.parseColor("#4863B6");
|
||||
customTheme.noPreviewPostTypeIconTint = Color.parseColor("#F6F2EE");
|
||||
customTheme.subscribed = Color.parseColor("#A5222F");
|
||||
customTheme.unsubscribed = Color.parseColor("#4863B6");
|
||||
customTheme.username = Color.parseColor("#4863B6");
|
||||
customTheme.subreddit = Color.parseColor("#A5222F");
|
||||
customTheme.authorFlairTextColor = Color.parseColor("#A440B5");
|
||||
customTheme.submitter = Color.parseColor("#AC5402");
|
||||
customTheme.moderator = Color.parseColor("#577F63");
|
||||
customTheme.currentUser = Color.parseColor("#488D93");
|
||||
customTheme.singleCommentThreadBackgroundColor = Color.parseColor("#F2E9E1");
|
||||
customTheme.unreadMessageBackgroundColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.dividerColor = Color.parseColor("#F2E9E1");
|
||||
customTheme.noPreviewPostTypeBackgroundColor = Color.parseColor("#3D2B5A");
|
||||
customTheme.voteAndReplyUnavailableButtonColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.commentVerticalBarColor1 = Color.parseColor("#2848A9");
|
||||
customTheme.commentVerticalBarColor2 = Color.parseColor("#A440B5");
|
||||
customTheme.commentVerticalBarColor3 = Color.parseColor("#4863B6");
|
||||
customTheme.commentVerticalBarColor4 = Color.parseColor("#B86E28");
|
||||
customTheme.commentVerticalBarColor5 = Color.parseColor("#B3434E");
|
||||
customTheme.commentVerticalBarColor6 = Color.parseColor("#577F63");
|
||||
customTheme.commentVerticalBarColor7 = Color.parseColor("#955F61");
|
||||
customTheme.fabIconColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.chipTextColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.linkColor = Color.parseColor("#A5222F");
|
||||
customTheme.receivedMessageTextColor = Color.parseColor("#3D2B5A");
|
||||
customTheme.sentMessageTextColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.receivedMessageBackgroundColor = Color.parseColor("#F2E9E1");
|
||||
customTheme.sentMessageBackgroundColor = Color.parseColor("#577F63");
|
||||
customTheme.sendMessageIconColor = Color.parseColor("#4863B6");
|
||||
customTheme.fullyCollapsedCommentBackgroundColor = Color.parseColor("#F2E9E1");
|
||||
customTheme.awardedCommentBackgroundColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.navBarColor = Color.parseColor("#F6F2EE");
|
||||
customTheme.isLightStatusBar = true;
|
||||
customTheme.isLightNavBar = true;
|
||||
customTheme.isChangeStatusBarIconColorAfterToolbarCollapsedInImmersiveInterface = false;
|
||||
|
||||
return customTheme;
|
||||
}
|
||||
|
||||
|
||||
private static CustomTheme getNightfox(Context context) {
|
||||
CustomTheme customTheme = new CustomTheme(context.getString(R.string.theme_name_nightfox));
|
||||
customTheme.isLightTheme = false;
|
||||
customTheme.isDarkTheme = true;
|
||||
customTheme.isAmoledTheme = false;
|
||||
customTheme.colorPrimary = Color.parseColor("#2B3B51");
|
||||
customTheme.colorPrimaryDark = Color.parseColor("#192330");
|
||||
customTheme.colorAccent = Color.parseColor("#CDCECF");
|
||||
customTheme.colorPrimaryLightTheme = Color.parseColor("#192330");
|
||||
customTheme.primaryTextColor = Color.parseColor("#CDCECF");
|
||||
customTheme.secondaryTextColor = Color.parseColor("#DFDFE0");
|
||||
customTheme.postTitleColor = Color.parseColor("#CDCECF");
|
||||
customTheme.postContentColor = Color.parseColor("#DFDFE0");
|
||||
customTheme.readPostTitleColor = Color.parseColor("#738091");
|
||||
customTheme.readPostContentColor = Color.parseColor("#738091");
|
||||
customTheme.commentColor = Color.parseColor("#CDCECF");
|
||||
customTheme.buttonTextColor = Color.parseColor("#CDCECF");
|
||||
customTheme.backgroundColor = Color.parseColor("#192330");
|
||||
customTheme.cardViewBackgroundColor = Color.parseColor("#2B3B51");
|
||||
customTheme.readPostCardViewBackgroundColor = Color.parseColor("#2B3B51");
|
||||
customTheme.commentBackgroundColor = Color.parseColor("#192330");
|
||||
customTheme.bottomAppBarBackgroundColor = Color.parseColor("#2B3B51");
|
||||
customTheme.primaryIconColor = Color.parseColor("#CDCECF");
|
||||
customTheme.bottomAppBarIconColor = Color.parseColor("#CDCECF");
|
||||
customTheme.postIconAndInfoColor = Color.parseColor("#DFDFE0");
|
||||
customTheme.commentIconAndInfoColor = Color.parseColor("#DFDFE0");
|
||||
customTheme.toolbarPrimaryTextAndIconColor = Color.parseColor("#CDCECF");
|
||||
customTheme.toolbarSecondaryTextColor = Color.parseColor("#CDCECF");
|
||||
customTheme.circularProgressBarBackground = Color.parseColor("#2B3B51");
|
||||
customTheme.mediaIndicatorIconColor = Color.parseColor("#393B44");
|
||||
customTheme.mediaIndicatorBackgroundColor = Color.parseColor("#CDCECF");
|
||||
customTheme.tabLayoutWithExpandedCollapsingToolbarTabBackground = Color.parseColor("#2B3B51");
|
||||
customTheme.tabLayoutWithExpandedCollapsingToolbarTextColor = Color.parseColor("#CDCECF");
|
||||
customTheme.tabLayoutWithExpandedCollapsingToolbarTabIndicator = Color.parseColor("#2B3B51");
|
||||
customTheme.tabLayoutWithCollapsedCollapsingToolbarTabBackground = Color.parseColor("#2B3B51");
|
||||
customTheme.tabLayoutWithCollapsedCollapsingToolbarTextColor = Color.parseColor("#CDCECF");
|
||||
customTheme.tabLayoutWithCollapsedCollapsingToolbarTabIndicator = Color.parseColor("#CDCECF");
|
||||
customTheme.upvoted = Color.parseColor("#DBC074");
|
||||
customTheme.downvoted = Color.parseColor("#D16983");
|
||||
customTheme.postTypeBackgroundColor = Color.parseColor("#719CD6");
|
||||
customTheme.postTypeTextColor = Color.parseColor("#DFDFE0");
|
||||
customTheme.spoilerBackgroundColor = Color.parseColor("#E0C989");
|
||||
customTheme.spoilerTextColor = Color.parseColor("#393B44");
|
||||
customTheme.nsfwBackgroundColor = Color.parseColor("#D16983");
|
||||
customTheme.nsfwTextColor = Color.parseColor("#393B44");
|
||||
customTheme.flairBackgroundColor = Color.parseColor("#9D79D6");
|
||||
customTheme.flairTextColor = Color.parseColor("#DFDFE0");
|
||||
customTheme.awardsBackgroundColor = Color.parseColor("#E0C989");
|
||||
customTheme.awardsTextColor = Color.parseColor("#575860");
|
||||
customTheme.archivedTint = Color.parseColor("#D67AD2");
|
||||
customTheme.lockedIconTint = Color.parseColor("#F4A261");
|
||||
customTheme.crosspostIconTint = Color.parseColor("#DBC074");
|
||||
customTheme.upvoteRatioIconTint = Color.parseColor("#86ABDC");
|
||||
customTheme.stickiedPostIconTint = Color.parseColor("#719CD6");
|
||||
customTheme.noPreviewPostTypeIconTint = Color.parseColor("#CDCECF");
|
||||
customTheme.subscribed = Color.parseColor("#D16983");
|
||||
customTheme.unsubscribed = Color.parseColor("#719CD6");
|
||||
customTheme.username = Color.parseColor("#86ABDC");
|
||||
customTheme.subreddit = Color.parseColor("#DBC074");
|
||||
customTheme.authorFlairTextColor = Color.parseColor("#D67AD2");
|
||||
customTheme.submitter = Color.parseColor("#E0C989");
|
||||
customTheme.moderator = Color.parseColor("#D67AD2");
|
||||
customTheme.currentUser = Color.parseColor("#7AD5D6");
|
||||
customTheme.singleCommentThreadBackgroundColor = Color.parseColor("#2B3B51");
|
||||
customTheme.unreadMessageBackgroundColor = Color.parseColor("#393B44");
|
||||
customTheme.dividerColor = Color.parseColor("#2B3B51");
|
||||
customTheme.noPreviewPostTypeBackgroundColor = Color.parseColor("#D16983");
|
||||
customTheme.voteAndReplyUnavailableButtonColor = Color.parseColor("#192330");
|
||||
customTheme.commentVerticalBarColor1 = Color.parseColor("#719CD6");
|
||||
customTheme.commentVerticalBarColor2 = Color.parseColor("#D16983");
|
||||
customTheme.commentVerticalBarColor3 = Color.parseColor("#86ABDC");
|
||||
customTheme.commentVerticalBarColor4 = Color.parseColor("#DBC074");
|
||||
customTheme.commentVerticalBarColor5 = Color.parseColor("#C94F6D");
|
||||
customTheme.commentVerticalBarColor6 = Color.parseColor("#81B27A");
|
||||
customTheme.commentVerticalBarColor7 = Color.parseColor("#D16983");
|
||||
customTheme.fabIconColor = Color.parseColor("#192330");
|
||||
customTheme.chipTextColor = Color.parseColor("#CDCECF");
|
||||
customTheme.linkColor = Color.parseColor("#DBC074");
|
||||
customTheme.receivedMessageTextColor = Color.parseColor("#CDCECF");
|
||||
customTheme.sentMessageTextColor = Color.parseColor("#CDCECF");
|
||||
customTheme.receivedMessageBackgroundColor = Color.parseColor("#2B3B51");
|
||||
customTheme.sentMessageBackgroundColor = Color.parseColor("#393B44");
|
||||
customTheme.sendMessageIconColor = Color.parseColor("#C94F6D");
|
||||
customTheme.fullyCollapsedCommentBackgroundColor = Color.parseColor("#2B3B51");
|
||||
customTheme.awardedCommentBackgroundColor = Color.parseColor("#2B3B51");
|
||||
customTheme.navBarColor = Color.parseColor("#192330");
|
||||
customTheme.isLightStatusBar = false;
|
||||
customTheme.isLightNavBar = false;
|
||||
customTheme.isChangeStatusBarIconColorAfterToolbarCollapsedInImmersiveInterface = false;
|
||||
|
||||
return customTheme;
|
||||
}
|
||||
|
||||
|
||||
private static CustomTheme getCarbonfox(Context context) {
|
||||
CustomTheme customTheme = new CustomTheme(context.getString(R.string.theme_name_carbonfox));
|
||||
customTheme.isLightTheme = false;
|
||||
customTheme.isDarkTheme = false;
|
||||
customTheme.isAmoledTheme = true;
|
||||
customTheme.colorPrimary = Color.parseColor("#282828");
|
||||
customTheme.colorPrimaryDark = Color.parseColor("#161616");
|
||||
customTheme.colorAccent = Color.parseColor("#F2F4F8");
|
||||
customTheme.colorPrimaryLightTheme = Color.parseColor("#161616");
|
||||
customTheme.primaryTextColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.secondaryTextColor = Color.parseColor("#E4E4E5");
|
||||
customTheme.postTitleColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.postContentColor = Color.parseColor("#E4E4E5");
|
||||
customTheme.readPostTitleColor = Color.parseColor("#484848");
|
||||
customTheme.readPostContentColor = Color.parseColor("#484848");
|
||||
customTheme.commentColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.buttonTextColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.backgroundColor = Color.parseColor("#161616");
|
||||
customTheme.cardViewBackgroundColor = Color.parseColor("#282828");
|
||||
customTheme.readPostCardViewBackgroundColor = Color.parseColor("#282828");
|
||||
customTheme.commentBackgroundColor = Color.parseColor("#282828");
|
||||
customTheme.bottomAppBarBackgroundColor = Color.parseColor("#161616");
|
||||
customTheme.primaryIconColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.bottomAppBarIconColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.postIconAndInfoColor = Color.parseColor("#E4E4E5");
|
||||
customTheme.commentIconAndInfoColor = Color.parseColor("#E4E4E5");
|
||||
customTheme.toolbarPrimaryTextAndIconColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.toolbarSecondaryTextColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.circularProgressBarBackground = Color.parseColor("#282828");
|
||||
customTheme.mediaIndicatorIconColor = Color.parseColor("#161616");
|
||||
customTheme.mediaIndicatorBackgroundColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.tabLayoutWithExpandedCollapsingToolbarTabBackground = Color.parseColor("#282828");
|
||||
customTheme.tabLayoutWithExpandedCollapsingToolbarTextColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.tabLayoutWithExpandedCollapsingToolbarTabIndicator = Color.parseColor("#282828");
|
||||
customTheme.tabLayoutWithCollapsedCollapsingToolbarTabBackground = Color.parseColor("#282828");
|
||||
customTheme.tabLayoutWithCollapsedCollapsingToolbarTextColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.tabLayoutWithCollapsedCollapsingToolbarTabIndicator = Color.parseColor("#F2F4F8");
|
||||
customTheme.upvoted = Color.parseColor("#F16DA6");
|
||||
customTheme.downvoted = Color.parseColor("#52BDFF");
|
||||
customTheme.postTypeBackgroundColor = Color.parseColor("#33B1FF");
|
||||
customTheme.postTypeTextColor = Color.parseColor("#282828");
|
||||
customTheme.spoilerBackgroundColor = Color.parseColor("#F16DA6");
|
||||
customTheme.spoilerTextColor = Color.parseColor("#282828");
|
||||
customTheme.nsfwBackgroundColor = Color.parseColor("#F16DA6");
|
||||
customTheme.nsfwTextColor = Color.parseColor("#282828");
|
||||
customTheme.flairBackgroundColor = Color.parseColor("#3DDBD9");
|
||||
customTheme.flairTextColor = Color.parseColor("#282828");
|
||||
customTheme.awardsBackgroundColor = Color.parseColor("#3DDBD9");
|
||||
customTheme.awardsTextColor = Color.parseColor("#282828");
|
||||
customTheme.archivedTint = Color.parseColor("#EE5396");
|
||||
customTheme.lockedIconTint = Color.parseColor("#EE5396");
|
||||
customTheme.crosspostIconTint = Color.parseColor("#F16DA6");
|
||||
customTheme.upvoteRatioIconTint = Color.parseColor("#33B1FF");
|
||||
customTheme.stickiedPostIconTint = Color.parseColor("#33B1FF");
|
||||
customTheme.noPreviewPostTypeIconTint = Color.parseColor("#F2F4F8");
|
||||
customTheme.subscribed = Color.parseColor("#F16DA6");
|
||||
customTheme.unsubscribed = Color.parseColor("#33B1FF");
|
||||
customTheme.username = Color.parseColor("#52BDFF");
|
||||
customTheme.subreddit = Color.parseColor("#F16DA6");
|
||||
customTheme.authorFlairTextColor = Color.parseColor("#F16DA6");
|
||||
customTheme.submitter = Color.parseColor("#3DDBD9");
|
||||
customTheme.moderator = Color.parseColor("#25BE6A");
|
||||
customTheme.currentUser = Color.parseColor("#2DC7C4");
|
||||
customTheme.singleCommentThreadBackgroundColor = Color.parseColor("#484848");
|
||||
customTheme.unreadMessageBackgroundColor = Color.parseColor("#484848");
|
||||
customTheme.dividerColor = Color.parseColor("#484848");
|
||||
customTheme.noPreviewPostTypeBackgroundColor = Color.parseColor("#161616");
|
||||
customTheme.voteAndReplyUnavailableButtonColor = Color.parseColor("#484848");
|
||||
customTheme.commentVerticalBarColor1 = Color.parseColor("#33B1FF");
|
||||
customTheme.commentVerticalBarColor2 = Color.parseColor("#C8A5FF");
|
||||
customTheme.commentVerticalBarColor3 = Color.parseColor("#2DC7C4");
|
||||
customTheme.commentVerticalBarColor4 = Color.parseColor("#78A9FF");
|
||||
customTheme.commentVerticalBarColor5 = Color.parseColor("#EE5396");
|
||||
customTheme.commentVerticalBarColor6 = Color.parseColor("#25BE6A");
|
||||
customTheme.commentVerticalBarColor7 = Color.parseColor("#FF7EB6");
|
||||
customTheme.fabIconColor = Color.parseColor("#161616");
|
||||
customTheme.chipTextColor = Color.parseColor("#282828");
|
||||
customTheme.linkColor = Color.parseColor("#F16DA6");
|
||||
customTheme.receivedMessageTextColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.sentMessageTextColor = Color.parseColor("#F2F4F8");
|
||||
customTheme.receivedMessageBackgroundColor = Color.parseColor("#484848");
|
||||
customTheme.sentMessageBackgroundColor = Color.parseColor("#46C880");
|
||||
customTheme.sendMessageIconColor = Color.parseColor("#52BDFF");
|
||||
customTheme.fullyCollapsedCommentBackgroundColor = Color.parseColor("#484848");
|
||||
customTheme.awardedCommentBackgroundColor = Color.parseColor("#282828");
|
||||
customTheme.navBarColor = Color.parseColor("#161616");
|
||||
customTheme.isLightStatusBar = false;
|
||||
customTheme.isLightNavBar = false;
|
||||
customTheme.isChangeStatusBarIconColorAfterToolbarCollapsedInImmersiveInterface = false;
|
||||
|
||||
return customTheme;
|
||||
}
|
||||
|
||||
public static int darkenColor(int color, float factor) {
|
||||
int a = Color.alpha(color);
|
||||
int r = Math.round(Color.red(color) * factor);
|
||||
|
||||
@@ -2,6 +2,7 @@ package eu.toldi.infinityforlemmy.fragments;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
@@ -9,15 +10,20 @@ import android.text.Spanned;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
|
||||
import com.evernote.android.state.State;
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@@ -31,15 +37,18 @@ import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
|
||||
import eu.toldi.infinityforlemmy.RetrofitHolder;
|
||||
import eu.toldi.infinityforlemmy.activities.LinkResolverActivity;
|
||||
import eu.toldi.infinityforlemmy.activities.ViewSubredditDetailActivity;
|
||||
import eu.toldi.infinityforlemmy.adapters.ModeratorRecyclerViewAdapter;
|
||||
import eu.toldi.infinityforlemmy.asynctasks.InsertSubredditData;
|
||||
import eu.toldi.infinityforlemmy.bottomsheetfragments.CopyTextBottomSheetFragment;
|
||||
import eu.toldi.infinityforlemmy.bottomsheetfragments.UrlMenuBottomSheetFragment;
|
||||
import eu.toldi.infinityforlemmy.community.CommunityStats;
|
||||
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
|
||||
import eu.toldi.infinityforlemmy.customviews.LinearLayoutManagerBugFixed;
|
||||
import eu.toldi.infinityforlemmy.markdown.MarkdownUtils;
|
||||
import eu.toldi.infinityforlemmy.subreddit.FetchSubredditData;
|
||||
import eu.toldi.infinityforlemmy.subreddit.SubredditData;
|
||||
import eu.toldi.infinityforlemmy.subreddit.SubredditViewModel;
|
||||
import eu.toldi.infinityforlemmy.user.BasicUserRecyclerViewAdapter;
|
||||
import eu.toldi.infinityforlemmy.utils.LemmyUtils;
|
||||
import io.noties.markwon.AbstractMarkwonPlugin;
|
||||
import io.noties.markwon.Markwon;
|
||||
@@ -55,11 +64,50 @@ public class SidebarFragment extends Fragment {
|
||||
public static final String EXTRA_SUBREDDIT_NAME = "ESN";
|
||||
public static final String EXTRA_ACCESS_TOKEN = "EAT";
|
||||
public static final String EXTRA_COMMUNITY_QUALIFIED_NAME = "ECQN";
|
||||
|
||||
public static final String EXTRA_SHOW_STATISTICS = "ESS";
|
||||
public SubredditViewModel mSubredditViewModel;
|
||||
@BindView(R.id.swipe_refresh_layout_sidebar_fragment)
|
||||
SwipeRefreshLayout swipeRefreshLayout;
|
||||
@BindView(R.id.markdown_recycler_view_sidebar_fragment)
|
||||
RecyclerView recyclerView;
|
||||
|
||||
@BindView(R.id.recycler_view_moderators_side_fragment)
|
||||
RecyclerView moderatorsRecyclerView;
|
||||
|
||||
@BindView(R.id.subscriber_count_text_view_sidebar_fragment)
|
||||
TextView nSubscribersTextView;
|
||||
@BindView(R.id.active_user_count_text_view_sidebar_fragment)
|
||||
TextView nActiveUsersTextView;
|
||||
@BindView(R.id.post_count_text_view_sidebar_fragment)
|
||||
TextView nPostsTextView;
|
||||
@BindView(R.id.comment_count_text_view_sidebar_fragment)
|
||||
TextView nCommentsTextView;
|
||||
|
||||
@BindView(R.id.subscriber_count_image_view_sidebar_fragment)
|
||||
ImageView nSubscribersImageView;
|
||||
@BindView(R.id.active_user_count_image_view_sidebar_fragment)
|
||||
ImageView nActiveUsersImageView;
|
||||
@BindView(R.id.post_count_image_view_sidebar_fragment)
|
||||
ImageView nPostsImageView;
|
||||
@BindView(R.id.comment_count_image_view_sidebar_fragment)
|
||||
ImageView nCommentsImageView;
|
||||
|
||||
@BindView(R.id.community_statistics_block_sidebar_fragment)
|
||||
ConstraintLayout communityStatisticsBlock;
|
||||
|
||||
@BindView(R.id.moderators_text_view_sidebar_fragment)
|
||||
TextView moderatorsTextView;
|
||||
|
||||
@BindView(R.id.moderators_card_sidebar_fragment)
|
||||
MaterialCardView moderatorsCard;
|
||||
|
||||
@BindView(R.id.description_card_sidebar_fragment)
|
||||
MaterialCardView descriptionCard;
|
||||
|
||||
@BindView(R.id.statistics_card_sidebar_fragment)
|
||||
MaterialCardView statisticsCard;
|
||||
|
||||
@Inject
|
||||
@Named("no_oauth")
|
||||
RetrofitHolder mRetrofit;
|
||||
@@ -76,11 +124,17 @@ public class SidebarFragment extends Fragment {
|
||||
private String mAccessToken;
|
||||
private String subredditName;
|
||||
|
||||
private boolean mShowStatistics;
|
||||
|
||||
private String communityQualifiedName;
|
||||
private LinearLayoutManagerBugFixed linearLayoutManager;
|
||||
private int markdownColor;
|
||||
private String sidebarDescription;
|
||||
|
||||
@State
|
||||
CommunityStats mCommunityStats;
|
||||
private BasicUserRecyclerViewAdapter moderatorAdapter;
|
||||
|
||||
public SidebarFragment() {
|
||||
// Required empty public constructor
|
||||
}
|
||||
@@ -98,6 +152,7 @@ public class SidebarFragment extends Fragment {
|
||||
mAccessToken = getArguments().getString(EXTRA_ACCESS_TOKEN);
|
||||
subredditName = getArguments().getString(EXTRA_SUBREDDIT_NAME);
|
||||
communityQualifiedName = getArguments().getString(EXTRA_COMMUNITY_QUALIFIED_NAME);
|
||||
mShowStatistics = getArguments().getBoolean(EXTRA_SHOW_STATISTICS, true);
|
||||
if (communityQualifiedName == null) {
|
||||
Toast.makeText(activity, R.string.error_getting_community_name, Toast.LENGTH_SHORT).show();
|
||||
return rootView;
|
||||
@@ -105,6 +160,27 @@ public class SidebarFragment extends Fragment {
|
||||
|
||||
swipeRefreshLayout.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
|
||||
swipeRefreshLayout.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
|
||||
int mCardViewBackgroundColor = mCustomThemeWrapper.getCardViewBackgroundColor();
|
||||
int primaryTextColor = mCustomThemeWrapper.getPrimaryTextColor();
|
||||
nSubscribersTextView.setTextColor(primaryTextColor);
|
||||
nActiveUsersTextView.setTextColor(primaryTextColor);
|
||||
nPostsTextView.setTextColor(primaryTextColor);
|
||||
nCommentsTextView.setTextColor(primaryTextColor);
|
||||
moderatorsTextView.setTextColor(primaryTextColor);
|
||||
moderatorsTextView.setTypeface(activity.contentTypeface);
|
||||
nSubscribersImageView.setColorFilter(mCustomThemeWrapper.getPrimaryTextColor(), PorterDuff.Mode.SRC_IN);
|
||||
nActiveUsersImageView.setColorFilter(mCustomThemeWrapper.getPrimaryTextColor(), PorterDuff.Mode.SRC_IN);
|
||||
nPostsImageView.setColorFilter(mCustomThemeWrapper.getPrimaryTextColor(), PorterDuff.Mode.SRC_IN);
|
||||
nCommentsImageView.setColorFilter(mCustomThemeWrapper.getPrimaryTextColor(), PorterDuff.Mode.SRC_IN);
|
||||
moderatorsCard.setCardBackgroundColor(mCardViewBackgroundColor);
|
||||
descriptionCard.setCardBackgroundColor(mCardViewBackgroundColor);
|
||||
if (mShowStatistics) {
|
||||
statisticsCard.setCardBackgroundColor(mCardViewBackgroundColor);
|
||||
} else {
|
||||
statisticsCard.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
|
||||
markdownColor = mCustomThemeWrapper.getPrimaryTextColor();
|
||||
int spoilerBackgroundColor = markdownColor | 0xFF000000;
|
||||
|
||||
@@ -166,6 +242,11 @@ public class SidebarFragment extends Fragment {
|
||||
}
|
||||
});
|
||||
|
||||
moderatorsRecyclerView.setLayoutManager(new LinearLayoutManagerBugFixed(activity));
|
||||
moderatorAdapter = new ModeratorRecyclerViewAdapter(activity,
|
||||
mCustomThemeWrapper);
|
||||
moderatorsRecyclerView.setAdapter(moderatorAdapter);
|
||||
|
||||
mSubredditViewModel = new ViewModelProvider(activity,
|
||||
new SubredditViewModel.Factory(activity.getApplication(), mRedditDataRoomDatabase, LemmyUtils.qualifiedCommunityName2ActorId(communityQualifiedName)))
|
||||
.get(SubredditViewModel.class);
|
||||
@@ -180,6 +261,16 @@ public class SidebarFragment extends Fragment {
|
||||
} else {
|
||||
fetchSubredditData();
|
||||
}
|
||||
|
||||
if (mCommunityStats != null) {
|
||||
communityStatisticsBlock.setVisibility(View.VISIBLE);
|
||||
nSubscribersTextView.setText(getString(R.string.subscribers_number_detail, mCommunityStats.getSubscribers()));
|
||||
nActiveUsersTextView.setText(getString(R.string.active_users_number_detail, mCommunityStats.getActiveUsers()));
|
||||
nPostsTextView.setText(getString(R.string.post_count_detail, mCommunityStats.getPosts()));
|
||||
nCommentsTextView.setText(getString(R.string.comment_count_detail, mCommunityStats.getComments()));
|
||||
} else {
|
||||
fetchSubredditData();
|
||||
}
|
||||
});
|
||||
|
||||
swipeRefreshLayout.setOnRefreshListener(this::fetchSubredditData);
|
||||
@@ -199,6 +290,8 @@ public class SidebarFragment extends Fragment {
|
||||
@Override
|
||||
public void onFetchSubredditDataSuccess(SubredditData subredditData, int nCurrentOnlineSubscribers) {
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
mCommunityStats = subredditData.getCommunityStats();
|
||||
moderatorAdapter.setUsers(subredditData.getModerators());
|
||||
InsertSubredditData.insertSubredditData(mExecutor, new Handler(), mRedditDataRoomDatabase,
|
||||
subredditData, () -> swipeRefreshLayout.setRefreshing(false));
|
||||
}
|
||||
|
||||
@@ -157,16 +157,16 @@ public class SubscribedSubredditsListingFragment extends Fragment implements Fra
|
||||
adapter.setSubscribedSubreddits(subscribedSubredditData);
|
||||
});
|
||||
|
||||
/* mSubscribedSubredditViewModel.getAllFavoriteSubscribedSubreddits().observe(getViewLifecycleOwner(), favoriteSubscribedSubredditData -> {
|
||||
mSwipeRefreshLayout.setRefreshing(false);
|
||||
if (favoriteSubscribedSubredditData != null && favoriteSubscribedSubredditData.size() > 0) {
|
||||
mLinearLayout.setVisibility(View.GONE);
|
||||
mRecyclerView.setVisibility(View.VISIBLE);
|
||||
mGlide.clear(mImageView);
|
||||
}
|
||||
mSubscribedSubredditViewModel.getAllFavoriteSubscribedSubreddits().observe(getViewLifecycleOwner(), favoriteSubscribedSubredditData -> {
|
||||
mSwipeRefreshLayout.setRefreshing(false);
|
||||
if (favoriteSubscribedSubredditData != null && favoriteSubscribedSubredditData.size() > 0) {
|
||||
mLinearLayout.setVisibility(View.GONE);
|
||||
mRecyclerView.setVisibility(View.VISIBLE);
|
||||
mGlide.clear(mImageView);
|
||||
}
|
||||
|
||||
adapter.setFavoriteSubscribedSubreddits(favoriteSubscribedSubredditData);
|
||||
});*/
|
||||
adapter.setFavoriteSubscribedSubreddits(favoriteSubscribedSubredditData);
|
||||
});
|
||||
|
||||
return rootView;
|
||||
}
|
||||
|
||||
@@ -620,7 +620,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
|
||||
mSharedPreferences, mCurrentAccountSharedPreferences, mNsfwAndSpoilerSharedPreferences, mPostDetailsSharedPreferences,
|
||||
mExoCreator, post -> EventBus.getDefault().post(new PostUpdateEventToPostList(mPost, postListPosition)));
|
||||
mCommentsAdapter = new CommentsRecyclerViewAdapter(activity,
|
||||
this, mCustomThemeWrapper, mExecutor, mRetrofit.getRetrofit(),
|
||||
this, mCustomThemeWrapper, mExecutor, mRetrofit,
|
||||
mAccessToken, mAccountQualifiedName, mPost, mLocale, mSingleCommentId
|
||||
, isSingleCommentThreadMode, mSharedPreferences, mCurrentAccountSharedPreferences,
|
||||
new CommentsRecyclerViewAdapter.CommentRecyclerViewAdapterCallback() {
|
||||
@@ -1351,7 +1351,7 @@ public class ViewPostDetailFragment extends Fragment implements FragmentCommunic
|
||||
pages_loaded++;
|
||||
mCommentsAdapter = new CommentsRecyclerViewAdapter(activity,
|
||||
ViewPostDetailFragment.this, mCustomThemeWrapper, mExecutor,
|
||||
mRetrofit.getRetrofit(), mAccessToken, mAccountQualifiedName, mPost, mLocale,
|
||||
mRetrofit, mAccessToken, mAccountQualifiedName, mPost, mLocale,
|
||||
mSingleCommentId, isSingleCommentThreadMode, mSharedPreferences, mCurrentAccountSharedPreferences,
|
||||
new CommentsRecyclerViewAdapter.CommentRecyclerViewAdapterCallback() {
|
||||
@Override
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package eu.toldi.infinityforlemmy.markdown;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.text.util.Linkify;
|
||||
|
||||
@@ -29,16 +30,17 @@ import me.saket.bettermovementmethod.BetterLinkMovementMethod;
|
||||
public class MarkdownUtils {
|
||||
/**
|
||||
* Creates a Markwon instance with all the plugins required for processing Reddit's markdown.
|
||||
*
|
||||
* @return configured Markwon instance
|
||||
*/
|
||||
@NonNull
|
||||
public static Markwon createFullRedditMarkwon(@NonNull Context context,
|
||||
public static Markwon createFullRedditMarkwon(@NonNull Activity context,
|
||||
@NonNull MarkwonPlugin miscPlugin,
|
||||
int markdownColor,
|
||||
int spoilerBackgroundColor,
|
||||
@Nullable BetterLinkMovementMethod.OnLinkLongClickListener onLinkLongClickListener) {
|
||||
return Markwon.builder(context)
|
||||
.usePlugin(GlideImagesPlugin.create(context))
|
||||
.usePlugin(GlideImagesPlugin.create(context.getApplicationContext()))
|
||||
.usePlugin(MarkwonInlineParserPlugin.create(plugin -> {
|
||||
plugin.excludeInlineProcessor(HtmlInlineProcessor.class);
|
||||
}))
|
||||
@@ -57,7 +59,7 @@ public class MarkdownUtils {
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static Markwon createDescriptionMarkwon(Context context, MarkwonPlugin miscPlugin,
|
||||
public static Markwon createDescriptionMarkwon(Activity context, MarkwonPlugin miscPlugin,
|
||||
BetterLinkMovementMethod.OnLinkLongClickListener onLinkLongClickListener) {
|
||||
return Markwon.builder(context)
|
||||
.usePlugin(MarkwonInlineParserPlugin.create(plugin -> {
|
||||
@@ -71,7 +73,7 @@ public class MarkdownUtils {
|
||||
.setOnLinkLongClickListener(onLinkLongClickListener)))
|
||||
.usePlugin(LinkifyPlugin.create(Linkify.WEB_URLS))
|
||||
.usePlugin(TableEntryPlugin.create(context))
|
||||
.usePlugin(GlideImagesPlugin.create(context))
|
||||
.usePlugin(GlideImagesPlugin.create(context.getApplicationContext()))
|
||||
.usePlugin(new MarkwonLemmyLinkPlugin())
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ public class AboutPreferenceFragment extends CustomFontPreferenceFragmentCompat
|
||||
if (subredditPreference != null) {
|
||||
subredditPreference.setOnPreferenceClickListener(preference -> {
|
||||
Intent intent = new Intent(activity, LinkResolverActivity.class);
|
||||
intent.setData(Uri.parse("https://lemdro.id/c/infinityforlemmy"));
|
||||
intent.setData(Uri.parse("https://lemdro.id/c/eternityapp"));
|
||||
activity.startActivity(intent);
|
||||
return true;
|
||||
});
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
package eu.toldi.infinityforlemmy.site;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import eu.toldi.infinityforlemmy.user.BasicUserInfo;
|
||||
import eu.toldi.infinityforlemmy.utils.LemmyUtils;
|
||||
|
||||
public class SiteInfo {
|
||||
|
||||
private int id;
|
||||
@@ -13,7 +20,11 @@ public class SiteInfo {
|
||||
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) {
|
||||
private List<BasicUserInfo> admins;
|
||||
|
||||
SiteStatistics siteStatistics;
|
||||
|
||||
public SiteInfo(int id, String name, String sidebar, String description, boolean enable_downvotes, boolean enable_nsfw, boolean community_creation_admin_only, List<BasicUserInfo> admins, SiteStatistics siteStatistics) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.sidebar = sidebar;
|
||||
@@ -21,6 +32,8 @@ public class SiteInfo {
|
||||
this.enable_downvotes = enable_downvotes;
|
||||
this.enable_nsfw = enable_nsfw;
|
||||
this.community_creation_admin_only = community_creation_admin_only;
|
||||
this.admins = admins;
|
||||
this.siteStatistics = siteStatistics;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
@@ -51,6 +64,14 @@ public class SiteInfo {
|
||||
return community_creation_admin_only;
|
||||
}
|
||||
|
||||
public List<BasicUserInfo> getAdmins() {
|
||||
return admins;
|
||||
}
|
||||
|
||||
public SiteStatistics getSiteStatistics() {
|
||||
return siteStatistics;
|
||||
}
|
||||
|
||||
public static SiteInfo parseSiteInfo(String siteInfoJson) {
|
||||
try {
|
||||
JSONObject siteInfo = new JSONObject(siteInfoJson);
|
||||
@@ -72,9 +93,20 @@ public class SiteInfo {
|
||||
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);
|
||||
JSONObject counts = siteView.getJSONObject("counts");
|
||||
List<BasicUserInfo> admins = new ArrayList<>();
|
||||
if (siteInfo.has("admins")) {
|
||||
JSONArray adminsJson = siteInfo.getJSONArray("admins");
|
||||
for (int i = 0; i < adminsJson.length(); i++) {
|
||||
JSONObject adminJson = adminsJson.getJSONObject(i).getJSONObject("person");
|
||||
admins.add(new BasicUserInfo(adminJson.getInt("id"), adminJson.getString("name"),
|
||||
LemmyUtils.actorID2FullName(adminJson.getString("actor_id")), adminJson.optString("avatar ", ""),
|
||||
adminJson.optString("display_name", adminJson.getString("name")))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return si;
|
||||
return new SiteInfo(id, name, sidebar, description, enable_downvotes, enable_nsfw, community_creation_admin_only, admins, SiteStatistics.parseSiteStatistics(counts));
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package eu.toldi.infinityforlemmy.site;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class SiteStatistics {
|
||||
|
||||
private final int users;
|
||||
private final int posts;
|
||||
private final int comments;
|
||||
private final int communities;
|
||||
private final int users_active;
|
||||
|
||||
public SiteStatistics(int users, int posts, int comments, int communities, int users_active) {
|
||||
this.users = users;
|
||||
this.posts = posts;
|
||||
this.comments = comments;
|
||||
this.communities = communities;
|
||||
this.users_active = users_active;
|
||||
}
|
||||
|
||||
public int getUsers() {
|
||||
return users;
|
||||
}
|
||||
|
||||
public int getPosts() {
|
||||
return posts;
|
||||
}
|
||||
|
||||
public int getComments() {
|
||||
return comments;
|
||||
}
|
||||
|
||||
public int getCommunities() {
|
||||
return communities;
|
||||
}
|
||||
|
||||
public int getUsers_active() {
|
||||
return users_active;
|
||||
}
|
||||
|
||||
public static SiteStatistics parseSiteStatistics(JSONObject countsJson) {
|
||||
try {
|
||||
int users = countsJson.getInt("users");
|
||||
int posts = countsJson.getInt("posts");
|
||||
int comments = countsJson.getInt("comments");
|
||||
int communities = countsJson.getInt("communities");
|
||||
int users_active = countsJson.getInt("users_active_month");
|
||||
return new SiteStatistics(users, posts, comments, communities, users_active);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -112,7 +112,7 @@ public class CommunitySubscription {
|
||||
SubredditSubscriptionListener subredditSubscriptionListener) {
|
||||
executor.execute(() -> {
|
||||
SubscribedSubredditData subscribedSubredditData = new SubscribedSubredditData(subredditData.getId(), subredditData.getName(), LemmyUtils.actorID2FullName(subredditData.getActorId()),
|
||||
subredditData.getIconUrl(), accountName);
|
||||
subredditData.getIconUrl(), accountName, false);
|
||||
if (accountName.equals("-")) {
|
||||
if (!redditDataRoomDatabase.accountDao().isAnonymousAccountInserted()) {
|
||||
redditDataRoomDatabase.accountDao().insert(Account.getAnonymousAccount());
|
||||
|
||||
@@ -16,7 +16,9 @@ import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import eu.toldi.infinityforlemmy.community.CommunityStats;
|
||||
import eu.toldi.infinityforlemmy.user.BasicUserInfo;
|
||||
import eu.toldi.infinityforlemmy.utils.JSONUtils;
|
||||
import eu.toldi.infinityforlemmy.utils.LemmyUtils;
|
||||
|
||||
public class ParseSubredditData {
|
||||
public static void parseSubredditData(String response, ParseSubredditDataListener parseSubredditDataListener) {
|
||||
@@ -80,7 +82,6 @@ public class ParseSubredditData {
|
||||
int commentCount = counts.getInt("comments");
|
||||
stats = new CommunityStats(subscribers, activeUserCount, postCount, commentCount);
|
||||
}
|
||||
|
||||
return new SubredditData(id, name, title, description, removed, published, updated, deleted, isNSFW, actorId, local, iconUrl, bannerImageUrl, hidden, postingRestrictedToMods, instanceId, subscribers, blocked, stats);
|
||||
}
|
||||
|
||||
@@ -120,6 +121,16 @@ public class ParseSubredditData {
|
||||
JSONObject data = jsonResponse.getJSONObject("community_view");
|
||||
mNCurrentOnlineSubscribers = 0;// data.getInt(JSONUtils.ACTIVE_USER_COUNT_KEY);
|
||||
subredditData = parseSubredditData(data, true);
|
||||
JSONArray moderators = jsonResponse.getJSONArray("moderators");
|
||||
for (int i = 0; i < moderators.length(); i++) {
|
||||
JSONObject moderator = moderators.getJSONObject(i).getJSONObject("moderator");
|
||||
int mod_id = moderator.getInt("id");
|
||||
String mod_name = moderator.getString("name");
|
||||
String mod_displayName = moderator.optString("display_name", mod_name);
|
||||
String mod_qualified_name = LemmyUtils.actorID2FullName(moderator.getString("actor_id"));
|
||||
String avatarUrl = moderator.optString("avatar", "");
|
||||
subredditData.addModerator(new BasicUserInfo(mod_id, mod_name, mod_qualified_name, avatarUrl, mod_displayName));
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
parseFailed = true;
|
||||
e.printStackTrace();
|
||||
|
||||
@@ -9,7 +9,11 @@ import androidx.room.Entity;
|
||||
import androidx.room.Ignore;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import eu.toldi.infinityforlemmy.community.CommunityStats;
|
||||
import eu.toldi.infinityforlemmy.user.BasicUserInfo;
|
||||
|
||||
@Entity(tableName = "subreddits")
|
||||
public class SubredditData implements Parcelable {
|
||||
@@ -76,6 +80,9 @@ public class SubredditData implements Parcelable {
|
||||
@Ignore
|
||||
private CommunityStats communityStats;
|
||||
|
||||
@Ignore
|
||||
private List<BasicUserInfo> moderators = new ArrayList<>();
|
||||
|
||||
protected SubredditData(Parcel in) {
|
||||
id = in.readInt();
|
||||
name = in.readString();
|
||||
@@ -366,4 +373,12 @@ public class SubredditData implements Parcelable {
|
||||
public void setCommunityStats(CommunityStats communityStats) {
|
||||
this.communityStats = communityStats;
|
||||
}
|
||||
|
||||
public List<BasicUserInfo> getModerators() {
|
||||
return moderators;
|
||||
}
|
||||
|
||||
public void addModerator(BasicUserInfo moderator) {
|
||||
moderators.add(moderator);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,4 +33,7 @@ public interface SubscribedSubredditDao {
|
||||
|
||||
@Query("DELETE FROM subscribed_subreddits WHERE name = :subredditName COLLATE NOCASE AND username = :accountName COLLATE NOCASE")
|
||||
void deleteSubscribedSubreddit(String subredditName, String accountName);
|
||||
|
||||
@Query("SELECT * from subscribed_subreddits WHERE username = :qualified_name AND name LIKE '%' || :searchQuery || '%' COLLATE NOCASE AND is_favorite = 1 ORDER BY name COLLATE NOCASE ASC")
|
||||
LiveData<List<SubscribedSubredditData>> getAllFavoriteSubscribedSubredditsWithSearchQuery(String qualified_name, String searchQuery);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.ForeignKey;
|
||||
@@ -30,12 +31,16 @@ public class SubscribedSubredditData implements Parcelable {
|
||||
@ColumnInfo(name = "username")
|
||||
private String username;
|
||||
|
||||
public SubscribedSubredditData(@NonNull int id, String name, @NonNull String qualified_name, String iconUrl, @NonNull String username) {
|
||||
@ColumnInfo(name = "is_favorite")
|
||||
private boolean favorite;
|
||||
|
||||
public SubscribedSubredditData(@NonNull int id, String name, @NonNull String qualified_name, String iconUrl, @NonNull String username, boolean favorite) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.iconUrl = iconUrl;
|
||||
this.username = username;
|
||||
this.qualified_name = qualified_name;
|
||||
this.favorite = favorite;
|
||||
}
|
||||
|
||||
public SubscribedSubredditData(@NonNull SubredditData communityData) {
|
||||
@@ -44,6 +49,7 @@ public class SubscribedSubredditData implements Parcelable {
|
||||
this.iconUrl = communityData.getIconUrl();
|
||||
this.username = "-";
|
||||
this.qualified_name = LemmyUtils.actorID2FullName(communityData.getActorId());
|
||||
this.favorite = false;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@@ -89,6 +95,7 @@ public class SubscribedSubredditData implements Parcelable {
|
||||
parcel.writeString(iconUrl);
|
||||
parcel.writeString(username);
|
||||
parcel.writeString(qualified_name);
|
||||
parcel.writeByte((byte) (favorite ? 1 : 0));
|
||||
}
|
||||
|
||||
public SubscribedSubredditData(Parcel in) {
|
||||
@@ -97,6 +104,7 @@ public class SubscribedSubredditData implements Parcelable {
|
||||
iconUrl = in.readString();
|
||||
username = in.readString();
|
||||
qualified_name = in.readString();
|
||||
favorite = in.readByte() != 0;
|
||||
}
|
||||
|
||||
public static final Creator<SubscribedSubredditData> CREATOR = new Creator<>() {
|
||||
@@ -110,4 +118,25 @@ public class SubscribedSubredditData implements Parcelable {
|
||||
return new SubscribedSubredditData[size];
|
||||
}
|
||||
};
|
||||
|
||||
public boolean isFavorite() {
|
||||
return favorite;
|
||||
}
|
||||
|
||||
public void setFavorite(boolean favorite) {
|
||||
this.favorite = favorite;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(@Nullable Object obj) {
|
||||
if (obj instanceof SubscribedSubredditData) {
|
||||
return id == ((SubscribedSubredditData) obj).getId();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,10 @@ public class SubscribedSubredditRepository {
|
||||
return mSubscribedSubredditDao.getAllSubscribedSubredditsWithSearchQuery(mAccountName, searchQuery);
|
||||
}
|
||||
|
||||
public LiveData<List<SubscribedSubredditData>> getAllFavoriteSubscribedSubredditsWithSearchQuery(String searchQuery) {
|
||||
return mSubscribedSubredditDao.getAllFavoriteSubscribedSubredditsWithSearchQuery(mAccountName, searchQuery);
|
||||
}
|
||||
|
||||
public void insert(SubscribedSubredditData subscribedSubredditData) {
|
||||
new insertAsyncTask(mSubscribedSubredditDao).execute(subscribedSubredditData);
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import eu.toldi.infinityforlemmy.RedditDataRoomDatabase;
|
||||
public class SubscribedSubredditViewModel extends AndroidViewModel {
|
||||
private SubscribedSubredditRepository mSubscribedSubredditRepository;
|
||||
private LiveData<List<SubscribedSubredditData>> mAllSubscribedSubreddits;
|
||||
private LiveData<List<SubscribedSubredditData>> mAllFavoriteSubscribedSubreddits;
|
||||
private MutableLiveData<String> searchQueryLiveData;
|
||||
|
||||
public SubscribedSubredditViewModel(Application application, RedditDataRoomDatabase redditDataRoomDatabase, String accountName) {
|
||||
@@ -26,12 +27,17 @@ public class SubscribedSubredditViewModel extends AndroidViewModel {
|
||||
searchQueryLiveData.postValue("");
|
||||
|
||||
mAllSubscribedSubreddits = Transformations.switchMap(searchQueryLiveData, searchQuery -> mSubscribedSubredditRepository.getAllSubscribedSubredditsWithSearchQuery(searchQuery));
|
||||
mAllFavoriteSubscribedSubreddits = Transformations.switchMap(searchQueryLiveData, searchQuery -> mSubscribedSubredditRepository.getAllFavoriteSubscribedSubredditsWithSearchQuery(searchQuery));
|
||||
}
|
||||
|
||||
public LiveData<List<SubscribedSubredditData>> getAllSubscribedSubreddits() {
|
||||
return mAllSubscribedSubreddits;
|
||||
}
|
||||
|
||||
public LiveData<List<SubscribedSubredditData>> getAllFavoriteSubscribedSubreddits() {
|
||||
return mAllFavoriteSubscribedSubreddits;
|
||||
}
|
||||
|
||||
public void insert(SubscribedSubredditData subscribedSubredditData) {
|
||||
mSubscribedSubredditRepository.insert(subscribedSubredditData);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
package eu.toldi.infinityforlemmy.user;
|
||||
|
||||
|
||||
import android.content.Intent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.RequestManager;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import eu.toldi.infinityforlemmy.R;
|
||||
import eu.toldi.infinityforlemmy.activities.BaseActivity;
|
||||
import eu.toldi.infinityforlemmy.activities.ViewUserDetailActivity;
|
||||
import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper;
|
||||
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
|
||||
import me.zhanghai.android.fastscroll.PopupTextProvider;
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
|
||||
public class BasicUserRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements PopupTextProvider {
|
||||
private static final int VIEW_TYPE_FAVORITE_USER_DIVIDER = 0;
|
||||
private static final int VIEW_TYPE_FAVORITE_USER = 1;
|
||||
private static final int VIEW_TYPE_USER_DIVIDER = 2;
|
||||
private static final int VIEW_TYPE_USER = 3;
|
||||
|
||||
private List<BasicUserInfo> basicUserInfo;
|
||||
private BaseActivity mActivity;
|
||||
private RequestManager glide;
|
||||
private int mPrimaryTextColor;
|
||||
private int mSecondaryTextColor;
|
||||
|
||||
public BasicUserRecyclerViewAdapter(BaseActivity activity,
|
||||
CustomThemeWrapper customThemeWrapper) {
|
||||
mActivity = activity;
|
||||
glide = Glide.with(activity);
|
||||
mPrimaryTextColor = customThemeWrapper.getPrimaryTextColor();
|
||||
mSecondaryTextColor = customThemeWrapper.getSecondaryTextColor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
return VIEW_TYPE_USER;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
|
||||
return new UserViewHolder(LayoutInflater.from(viewGroup.getContext())
|
||||
.inflate(R.layout.item_subscribed_thing, viewGroup, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder viewHolder, int i) {
|
||||
if (viewHolder instanceof UserViewHolder) {
|
||||
|
||||
if (!basicUserInfo.get(viewHolder.getBindingAdapterPosition()).getAvatar().equals("")) {
|
||||
glide.load(basicUserInfo.get(viewHolder.getBindingAdapterPosition()).getAvatar())
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0)))
|
||||
.error(glide.load(R.drawable.subreddit_default_icon)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0))))
|
||||
.into(((UserViewHolder) viewHolder).iconGifImageView);
|
||||
} else {
|
||||
glide.load(R.drawable.subreddit_default_icon)
|
||||
.apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0)))
|
||||
.into(((UserViewHolder) viewHolder).iconGifImageView);
|
||||
}
|
||||
((UserViewHolder) viewHolder).userNameTextView.setText(basicUserInfo.get(viewHolder.getBindingAdapterPosition()).getDisplayName());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
if (basicUserInfo != null && basicUserInfo.size() > 0) {
|
||||
return basicUserInfo.size();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewRecycled(@NonNull RecyclerView.ViewHolder holder) {
|
||||
if (holder instanceof UserViewHolder) {
|
||||
glide.clear(((UserViewHolder) holder).iconGifImageView);
|
||||
}
|
||||
}
|
||||
|
||||
public void setUsers(List<BasicUserInfo> subscribedUsers) {
|
||||
basicUserInfo = subscribedUsers;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String getPopupText(int position) {
|
||||
return basicUserInfo.get(position).getQualifiedName().substring(0, 1).toUpperCase();
|
||||
}
|
||||
|
||||
protected int getUserNameTextColor() {
|
||||
return mPrimaryTextColor;
|
||||
}
|
||||
|
||||
|
||||
protected class UserViewHolder extends RecyclerView.ViewHolder {
|
||||
@BindView(R.id.thing_icon_gif_image_view_item_subscribed_thing)
|
||||
GifImageView iconGifImageView;
|
||||
@BindView(R.id.thing_name_text_view_item_subscribed_thing)
|
||||
TextView userNameTextView;
|
||||
|
||||
protected UserViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
if (mActivity.typeface != null) {
|
||||
userNameTextView.setTypeface(mActivity.typeface);
|
||||
}
|
||||
userNameTextView.setTextColor(getUserNameTextColor());
|
||||
|
||||
itemView.setOnClickListener(view -> {
|
||||
int position = getBindingAdapterPosition();
|
||||
if (position >= 0 && basicUserInfo.size() > position) {
|
||||
Intent intent = new Intent(mActivity, ViewUserDetailActivity.class);
|
||||
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, basicUserInfo.get(position).getDisplayName());
|
||||
intent.putExtra(ViewUserDetailActivity.EXTRA_QUALIFIED_USER_NAME_KEY, basicUserInfo.get(position).getQualifiedName());
|
||||
mActivity.startActivity(intent);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,6 +56,9 @@ public class SharedPreferencesUtils {
|
||||
|
||||
public static final String POST_DISPLAY_NAME_INSTEAD_OF_USERNAME = "post_display_name_instead_of_user_name";
|
||||
|
||||
public static final String COMMENT_DISPLAY_NAME_INSTEAD_OF_USERNAME = "comment_display_name_instead_of_user_name";
|
||||
public static final String COMMENT_HIDE_USER_INSTANCE = "comment_hide_user_instance";
|
||||
|
||||
public static final String POST_DETAIL_DISPLAY_NAME_INSTEAD_OF_USERNAME = "post_detail_display_name_instead_of_user_name";
|
||||
|
||||
public static final String SORT_TYPE_SHARED_PREFERENCES_FILE = "eu.toldi.infinityforlemmy.sort_type";
|
||||
@@ -411,4 +414,6 @@ public class SharedPreferencesUtils {
|
||||
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";
|
||||
public static final String SHOW_STATISTICS = "show_statistics";
|
||||
public static final String SHOW_POST_AND_COMMENT_SCORE = "show_score";
|
||||
}
|
||||
|
||||
10
app/src/main/res/drawable/ic_groups_24.xml
Normal file
10
app/src/main/res/drawable/ic_groups_24.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<vector android:height="24dp"
|
||||
android:tint="#000000"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24"
|
||||
android:width="24dp"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M12,12.75c1.63,0 3.07,0.39 4.24,0.9c1.08,0.48 1.76,1.56 1.76,2.73L18,18H6l0,-1.61c0,-1.18 0.68,-2.26 1.76,-2.73C8.93,13.14 10.37,12.75 12,12.75zM4,13c1.1,0 2,-0.9 2,-2c0,-1.1 -0.9,-2 -2,-2s-2,0.9 -2,2C2,12.1 2.9,13 4,13zM5.13,14.1C4.76,14.04 4.39,14 4,14c-0.99,0 -1.93,0.21 -2.78,0.58C0.48,14.9 0,15.62 0,16.43V18l4.5,0v-1.61C4.5,15.56 4.73,14.78 5.13,14.1zM20,13c1.1,0 2,-0.9 2,-2c0,-1.1 -0.9,-2 -2,-2s-2,0.9 -2,2C18,12.1 18.9,13 20,13zM24,16.43c0,-0.81 -0.48,-1.53 -1.22,-1.85C21.93,14.21 20.99,14 20,14c-0.39,0 -0.76,0.04 -1.13,0.1c0.4,0.68 0.63,1.46 0.63,2.29V18l4.5,0V16.43zM12,6c1.66,0 3,1.34 3,3c0,1.66 -1.34,3 -3,3s-3,-1.34 -3,-3C9,7.34 10.34,6 12,6z" />
|
||||
</vector>
|
||||
@@ -79,7 +79,9 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp">
|
||||
android:layout_marginBottom="16dp"
|
||||
android:visibility="gone"
|
||||
android:id="@+id/community_statistics_block_view_subreddit_detail_activity">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/subscriber_count_image_view_view_subreddit_detail_activity"
|
||||
|
||||
@@ -85,7 +85,9 @@
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
android:id="@+id/user_statistics_block_view_user_detail_activity">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/post_stats_text_view_view_user_detail_activity"
|
||||
|
||||
@@ -76,10 +76,12 @@
|
||||
app:chipStrokeColor="#00000000" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/community_statistics_block_view_subreddit_detail_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp">
|
||||
android:layout_marginBottom="16dp"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/subscriber_count_image_view_view_subreddit_detail_activity"
|
||||
|
||||
@@ -85,7 +85,9 @@
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
android:id="@+id/user_statistics_block_view_user_detail_activity">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/post_stats_text_view_view_user_detail_activity"
|
||||
|
||||
245
app/src/main/res/layout/activity_instance_info.xml
Normal file
245
app/src/main/res/layout/activity_instance_info.xml
Normal file
@@ -0,0 +1,245 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/coordinator_layout_instance_info_activity"
|
||||
tools:application="eu.toldi.infinityforlemmy.activities.InstanceInfoActivity">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/appbar_layout_instance_info_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:theme="@style/AppTheme.AppBarOverlay">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar_instance_info_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="?attr/actionBarSize"
|
||||
app:popupTheme="@style/AppTheme.PopupOverlay"
|
||||
app:navigationIcon="?attr/homeAsUpIndicator" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/loading_layout_instance_info_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="visible">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/moderators_card_instance_info_activity"
|
||||
style="?attr/materialCardViewElevatedStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:visibility="gone"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="2dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/moderators_text_view_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/admins"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view_admins_instance_info_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"
|
||||
android:visibility="visible" />
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/statistics_card_instance_info_activity"
|
||||
style="?attr/materialCardViewElevatedStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:visibility="gone"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="2dp">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/community_statistics_block_instance_info_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:visibility="visible">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/registered_user_count_image_view_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_person_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/registered_user_count_text_view_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/user_number_detail"
|
||||
app:layout_constraintStart_toEndOf="@+id/registered_user_count_image_view_instance_info_activity"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline7"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/active_user_count_image_view_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
app:layout_constraintStart_toStartOf="@+id/guideline7"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_bolt_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/active_user_count_text_view_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/active_users_number_detail"
|
||||
app:layout_constraintStart_toEndOf="@+id/active_user_count_image_view_instance_info_activity"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/post_count_image_view_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="16dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/registered_user_count_image_view_instance_info_activity"
|
||||
app:srcCompat="@drawable/ic_post_add_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/post_count_text_view_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="18dp"
|
||||
android:text="@string/post_count_detail"
|
||||
app:layout_constraintStart_toEndOf="@+id/post_count_image_view_instance_info_activity"
|
||||
app:layout_constraintTop_toBottomOf="@+id/registered_user_count_image_view_instance_info_activity" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/comment_count_image_view_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="16dp"
|
||||
app:layout_constraintStart_toStartOf="@+id/guideline7"
|
||||
app:layout_constraintTop_toBottomOf="@+id/active_user_count_image_view_instance_info_activity"
|
||||
app:srcCompat="@drawable/ic_comment_black_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/comment_count_text_view_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="18dp"
|
||||
android:text="@string/comment_count_detail"
|
||||
app:layout_constraintStart_toEndOf="@+id/comment_count_image_view_instance_info_activity"
|
||||
app:layout_constraintTop_toBottomOf="@+id/active_user_count_image_view_instance_info_activity" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/communities_icon_image_view_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="16dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/post_count_image_view_instance_info_activity"
|
||||
app:srcCompat="@drawable/ic_groups_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/community_count_instance_info_activity"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="18dp"
|
||||
android:text="@string/community_number_detail"
|
||||
app:layout_constraintStart_toEndOf="@+id/communities_icon_image_view_instance_info_activity"
|
||||
app:layout_constraintTop_toBottomOf="@+id/post_count_image_view_instance_info_activity" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/description_card_instance_info_activity"
|
||||
style="?attr/materialCardViewElevatedStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:visibility="gone"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="2dp">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/markdown_recycler_view_instance_info_activity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:paddingBottom="144dp"
|
||||
android:visibility="visible" />
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -78,7 +78,9 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp">
|
||||
android:layout_marginBottom="16dp"
|
||||
android:visibility="gone"
|
||||
android:id="@+id/community_statistics_block_view_subreddit_detail_activity">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/subscriber_count_image_view_view_subreddit_detail_activity"
|
||||
|
||||
@@ -85,7 +85,9 @@
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
android:id="@+id/user_statistics_block_view_user_detail_activity">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/post_stats_text_view_view_user_detail_activity"
|
||||
|
||||
@@ -8,19 +8,188 @@
|
||||
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/swipe_refresh_layout_sidebar_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/markdown_recycler_view_sidebar_fragment"
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="144dp"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:clipToPadding="false" />
|
||||
android:fillViewport="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/moderators_card_sidebar_fragment"
|
||||
style="?attr/materialCardViewElevatedStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="2dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/moderators_text_view_sidebar_fragment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/moderators"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view_moderators_side_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false" />
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
style="?attr/materialCardViewElevatedStyle"
|
||||
android:id="@+id/description_card_sidebar_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="2dp">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/markdown_recycler_view_sidebar_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
android:paddingStart="8dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingEnd="8dp"
|
||||
android:paddingBottom="144dp" />
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
style="?attr/materialCardViewElevatedStyle"
|
||||
android:id="@+id/statistics_card_sidebar_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="2dp">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/community_statistics_block_sidebar_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/subscriber_count_image_view_sidebar_fragment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_person_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/subscriber_count_text_view_sidebar_fragment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/subscribers_number_detail"
|
||||
app:layout_constraintStart_toEndOf="@+id/subscriber_count_image_view_sidebar_fragment"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline7"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/active_user_count_image_view_sidebar_fragment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
app:layout_constraintStart_toStartOf="@+id/guideline7"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_bolt_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/active_user_count_text_view_sidebar_fragment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/active_users_number_detail"
|
||||
app:layout_constraintStart_toEndOf="@+id/active_user_count_image_view_sidebar_fragment"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/post_count_image_view_sidebar_fragment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="16dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/subscriber_count_image_view_sidebar_fragment"
|
||||
app:srcCompat="@drawable/ic_post_add_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/post_count_text_view_sidebar_fragment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="18dp"
|
||||
android:text="@string/post_count_detail"
|
||||
app:layout_constraintStart_toEndOf="@+id/post_count_image_view_sidebar_fragment"
|
||||
app:layout_constraintTop_toBottomOf="@+id/subscriber_count_image_view_sidebar_fragment" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/comment_count_image_view_sidebar_fragment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="16dp"
|
||||
app:layout_constraintStart_toStartOf="@+id/guideline7"
|
||||
app:layout_constraintTop_toBottomOf="@+id/active_user_count_image_view_sidebar_fragment"
|
||||
app:srcCompat="@drawable/ic_comment_black_24" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/comment_count_text_view_sidebar_fragment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="18dp"
|
||||
android:text="@string/comment_count_detail"
|
||||
app:layout_constraintStart_toEndOf="@+id/comment_count_image_view_sidebar_fragment"
|
||||
app:layout_constraintTop_toBottomOf="@+id/active_user_count_image_view_sidebar_fragment" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<View
|
||||
android:id="@+id/placeholder_view_sidebar_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="150dp" />
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
|
||||
|
||||
@@ -24,4 +24,12 @@
|
||||
android:fontFamily="?attr/font_family"
|
||||
android:layout_gravity="center_vertical" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/favorite_image_view_item_subscribed_thing"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="end|center_vertical"
|
||||
android:layout_marginStart="32dp" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
@@ -7,7 +7,7 @@
|
||||
<string name="community_selection_activity_label">Vybrat subreddit</string>
|
||||
<string name="post_link_activity_label">Odkaz</string>
|
||||
<string name="post_image_activity_label">Obrázek</string>
|
||||
<string name="post_video_activity_label">Video</string>
|
||||
<string name="post_video_activity_label">Příspěvek s videem</string>
|
||||
<string name="rules_activity_label">Pravidla</string>
|
||||
<string name="search_community_activity_label">Subreddity</string>
|
||||
<string name="edit_post_activity_label">Upravit příspěvek</string>
|
||||
@@ -94,15 +94,15 @@
|
||||
\nŤukněte pro opakování.</string>
|
||||
<string name="no_messages">Prázdné</string>
|
||||
<string name="nsfw">NSFW</string>
|
||||
<string name="karma_info">Karma: %1$d</string>
|
||||
<string name="karma_info">Karma: %1$,d</string>
|
||||
<string name="karma_info_user_detail">Karma:
|
||||
\n%1$d (%2$d + %3$d)</string>
|
||||
\n%1$,d (%2$d + %3$d)</string>
|
||||
<string name="cakeday_info">Dortový den:
|
||||
\n%1$s</string>
|
||||
<string name="since">Od:</string>
|
||||
<string name="profile">Profil</string>
|
||||
<string name="subscriptions">Odběry</string>
|
||||
<string name="multi_reddit">Multireddit</string>
|
||||
<string name="multi_reddit">Multikomunita</string>
|
||||
<string name="inbox">Pošta</string>
|
||||
<string name="upvoted">Hlasováno pro</string>
|
||||
<string name="downvoted">Hlasováno proti</string>
|
||||
@@ -110,8 +110,8 @@
|
||||
<string name="saved">Uložené</string>
|
||||
<string name="gilded">Pozlacené</string>
|
||||
<string name="settings">Nastavení</string>
|
||||
<string name="subscribers_number_detail">Odběratelů: %1$d</string>
|
||||
<string name="online_subscribers_number_detail">Online: %1$d</string>
|
||||
<string name="subscribers_number_detail">%1$,d odběratelů</string>
|
||||
<string name="online_subscribers_number_detail">Online: %1$,d</string>
|
||||
<string name="cannot_fetch_community_info">Nepodařilo se získat informace o subredditu</string>
|
||||
<string name="cannot_fetch_user_info">Nepodařilo se získat informace o uživateli</string>
|
||||
<string name="cannot_fetch_sidebar">Nepodařilo se získat postranní menu</string>
|
||||
@@ -195,14 +195,14 @@
|
||||
<string name="error_loading_rules_without_retry">Chyba při načítání pravidel</string>
|
||||
<string name="search_in">Hledat v</string>
|
||||
<string name="all_communities">Všechny subreddity</string>
|
||||
<string name="sort_best">Nejlepší</string>
|
||||
<string name="sort_best">Aktivní</string>
|
||||
<string name="sort_hot">Žhavé</string>
|
||||
<string name="sort_new">Nové</string>
|
||||
<string name="sort_random">Náhodné</string>
|
||||
<string name="sort_rising">Na vzestupu</string>
|
||||
<string name="sort_top">Nejčtenější</string>
|
||||
<string name="sort_controversial">Sporné</string>
|
||||
<string name="sort_relevance">Relevance</string>
|
||||
<string name="sort_relevance">Relevantnost</string>
|
||||
<string name="sort_comments">Komentáře</string>
|
||||
<string name="sort_activity">Aktivita</string>
|
||||
<string name="sort_confidence">Přesvědčení</string>
|
||||
@@ -217,7 +217,7 @@
|
||||
<string name="sort_time_all_time">Za celou dobu</string>
|
||||
<string name="no_activity_found_for_share">Nemáte žádnou aplikaci, která by zvládla akci sdílení</string>
|
||||
<string name="archived_post_vote_unavailable">Archivovaný příspěvek. Hlasování nedostupné.</string>
|
||||
<string name="archived_post_comment_unavailable">Archivovaný příspěvek. Komentování nedostupné</string>
|
||||
<string name="archived_post_comment_unavailable">Archivovaný příspěvek. Komentování nedostupné.</string>
|
||||
<string name="archived_post_reply_unavailable">Archivovaný příspěvek. Odpovídání nedostupné.</string>
|
||||
<string name="locked_post_comment_unavailable">Uzamčený příspěvek. Komentování nedostupné.</string>
|
||||
<string name="locked_post_reply_unavailable">Uzamčený příspěvek. Odpovídání nedostupné.</string>
|
||||
@@ -378,8 +378,8 @@
|
||||
<string name="settings_email_summary">docilealligator.app@gmail.com</string>
|
||||
<string name="settings_reddit_account_title">Reddit účet</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Community</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_title">Komunita</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
@@ -701,7 +701,7 @@
|
||||
\nChodí popředu.</string>
|
||||
<string name="edit_multi_reddit">Upravit multireddit</string>
|
||||
<string name="delete_multi_reddit">Odstranit multireddit</string>
|
||||
<string name="n_awards">%1$d ocenění</string>
|
||||
<string name="n_awards">%1$,d ocenění</string>
|
||||
<string name="one_award">1 ocenění</string>
|
||||
<string name="report">Nahlásit</string>
|
||||
<string name="reporting">Nahlašování</string>
|
||||
@@ -712,7 +712,7 @@
|
||||
<string name="report_reason_general_copyright_issue">Obsahuje problém s autorskými právy</string>
|
||||
<string name="report_reason_general_child_pornography">Obsahuje dětskou pornografii</string>
|
||||
<string name="report_reason_general_abusive_content">Obsahuje zneužívající obsah</string>
|
||||
<string name="subscribed_feed">Domů</string>
|
||||
<string name="subscribed_feed">Odebíráno</string>
|
||||
<string name="local">Populární</string>
|
||||
<string name="notifications">Oznámení</string>
|
||||
<string name="messages">Zprávy</string>
|
||||
@@ -740,8 +740,7 @@
|
||||
<string name="default_font_font_preview">Výchozí</string>
|
||||
<string name="load_video_in_redgifs">Zkusit načíst video na Redgifs</string>
|
||||
<string name="top_score">%1$s bodů</string>
|
||||
<string name="login_activity_2fa_prompt">Pokud máte zapnuté dvoufázové ověření, zadejte prosím heslo v následujícím formátu: <heslo>:<2FA kód>.
|
||||
\nPříklad: mojeheslo:123456</string>
|
||||
<string name="login_activity_2fa_prompt">Pokud máte zapnuté dvoufaktorové ověřování, vyplňte pole tokenu 2FA. V opačném případě jej ponechte prázdné</string>
|
||||
<string name="submit_crosspost_activity_label">Crosspost</string>
|
||||
<string name="give_award_activity_label">Dát ocenění</string>
|
||||
<string name="action_crosspost">Crosspost</string>
|
||||
@@ -785,10 +784,7 @@
|
||||
<string name="settings_bottom_app_bar_option_4">Možnost 4</string>
|
||||
<string name="settings_bottom_app_bar_fab">Létající akční tlačítko</string>
|
||||
<string name="settings_data_saving_mode">Režim úspory dat</string>
|
||||
<string name="settings_data_saving_mode_info_summary">V režimu úspory dat:
|
||||
\nNáhledové obrázky mají nižší rozlišení.
|
||||
\nReddit videa mají nižší rozlišení.
|
||||
\nAutomatické přehrávání videí je zakázáno.</string>
|
||||
<string name="settings_data_saving_mode_info_summary">V režimu úspory dat: Náhledové obrázky mají nižší rozlišení. Videa Lemmy mají nižší rozlišení. Automatické přehrávání videí je zakázáno.</string>
|
||||
<string name="settings_translation_title">Překlad</string>
|
||||
<string name="settings_translation_summary">Přeložit tuto aplikaci na POEditoru. Děkujeme všem přispěvatelům.</string>
|
||||
<string name="settings_credits_national_flags">Národní vlajky</string>
|
||||
@@ -918,7 +914,7 @@
|
||||
<string name="post_filter_usage_user">Uživatel: %1$s</string>
|
||||
<string name="post_filter_usage_user_all">Uživatel</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_all">Multikomunita</string>
|
||||
<string name="post_filter_usage_search">Hledat</string>
|
||||
<string name="community">Subreddit</string>
|
||||
<string name="user">Uživatel</string>
|
||||
@@ -1000,7 +996,7 @@
|
||||
<string name="suggest_title">Navrhnout název</string>
|
||||
<string name="suggest_title_failed">Nepodařilo se navrhnout název</string>
|
||||
<string name="action_delete_logs">Smazat protokol</string>
|
||||
<string name="inbox_with_count">Pošta (%1$d)</string>
|
||||
<string name="inbox_with_count">Pošta (%1$,d)</string>
|
||||
<string name="comment_continue_thread">Pokračovat ve vlákně</string>
|
||||
<string name="settings_swipe_vertically_to_go_back_from_media_title">Posunout vertikálně pro návrat zpět z obrázku a GIFu</string>
|
||||
<string name="settings_hide_post_flair">Skrýt štítek příspěvku</string>
|
||||
@@ -1147,4 +1143,138 @@
|
||||
<string name="message_change_banner_failed">Nepodařilo se změnit banner %s</string>
|
||||
<string name="message_save_profile_success">Profil úspěšně uložen</string>
|
||||
<string name="message_save_profile_failed">Nepodařilo se uložit profil %s</string>
|
||||
<string name="action_block_user">Zablokovat uživatele</string>
|
||||
<string name="action_create_github_issue">Vytvořit problém na Codebergu</string>
|
||||
<string name="settings_backup_settings_summary">Heslo k souboru se zálohami je „123321“.</string>
|
||||
<string name="comment_count_detail">%1$,d komentářů</string>
|
||||
<string name="settings_navigation_drawer_enable_hide_karma_title">Skrýt karmu účtu</string>
|
||||
<string name="voting_length">Délka hlasování: %1$d dní</string>
|
||||
<string name="settings_custom_content_font_family_title">Vlastní rodina písem obsahu</string>
|
||||
<string name="two_options_required">Správná anketa potřebuje alespoň dvě možnosti!</string>
|
||||
<string name="no_activity_found_for_external_browser">Nenašli jsme aplikaci, která by dokázala otevřít daný odkaz</string>
|
||||
<string name="settings_reddit_user_agreement_title">Smlouva s uživatelem Lemmy</string>
|
||||
<string name="settings_require_authentication_to_show_accounts">Vyžadovat ověření pro zobrazení účtů</string>
|
||||
<string name="settings_post_feed_max_resolution_warning_title">Pro zobrazení náhledů ve vyšším rozlišení zvyšte hodnotu. Aplikace se ale může neočekávaně ukončit.</string>
|
||||
<string name="settings_easier_to_watch_in_full_screen_title">Jednodušší ke sledování na celé obrazovce</string>
|
||||
<string name="settings_hide_fab_in_post_feed">Skrýt akční tlačítko v kanálu příspěvků</string>
|
||||
<string name="block_user_success">Zablokován</string>
|
||||
<string name="block_user_failed">Nepodařilo se zablokovat uživatele</string>
|
||||
<string name="clear_user_flair">Odstranit štítek</string>
|
||||
<string name="clear_user_flair_success">Uživatelský štítek odstraněn</string>
|
||||
<string name="extra_small">Extra malé</string>
|
||||
<string name="select_a_ttf_font">Vyberte soubor s písmem ttf</string>
|
||||
<string name="unable_to_load_font">Nepodařilo se načíst vlastní písmo</string>
|
||||
<string name="user_agreement_message">Před přihlášením musíte souhlasit s uživatelskou smlouvou Lemmy (%1$s) a zásadami ochrany osobních údajů Infinity pro Lemmy (%2$s).</string>
|
||||
<string name="unexpected_intent_action">Neočekávaná akce intentu: <xliff:g id="action">%1$s</xliff:g></string>
|
||||
<string name="storage_permission_denied">Oprávnění přístupu k úložišti bylo zamítnuto</string>
|
||||
<string name="load_more_posts_failed">Nepodařilo se načíst další příspěvky.
|
||||
\nKlepnutím to zkusíte znovu.</string>
|
||||
<string name="denied_notification_permission">Oprávnění k oznámením nebylo uděleno</string>
|
||||
<string name="reddit_api_info">Od 1. července 2023 bude rozhraní Reddit API pro klienty třetích stran, mezi něž patří i Infinity for Reddit, placené. Oznámení společnosti Reddit naleznete zde: %1$s
|
||||
\n
|
||||
\nAbychom přežili tuto změnu, stane se aplikace Infinity po 1. červenci aplikací pouze s předplatným. Více informací o změnách najdete v tomto příspěvku: %2$s
|
||||
\n
|
||||
\nJe nutné, abyste po 1. červenci aktualizovali aplikaci Infinity, abyste získali novou verzi s možností předplatného. Žádná z předchozích verzí (včetně této) nebude po 1. červenci fungovat. Ale vzhledem k napjatému časovému plánu, který Reddit poskytl, nemusí být aktualizace k dispozici hned 1. července, protože vyžaduje řádné testování. Děkujeme za pochopení!</string>
|
||||
<string name="block_community_success">Komunita zablokována!</string>
|
||||
<string name="block_community_failed">Nepodařilo se zablokovat komunitu</string>
|
||||
<string name="unblock_community">Odblokovat komunitu</string>
|
||||
<string name="unblock_community_success">Komunita odblokována!</string>
|
||||
<string name="unblock_community_failed">Nepodařilo se odblokovat komunitu</string>
|
||||
<string name="instance_info">Informace o instanci</string>
|
||||
<string name="action_unblock_user">Odblokovat uživatele</string>
|
||||
<string name="unblock_user_success">Odblokován</string>
|
||||
<string name="unblock_user_failed">Nepodařilo se odblokovat uživatele</string>
|
||||
<string name="report_post">Nahlásit příspěvek</string>
|
||||
<string name="bottom_sheet_post_poll">Anketa</string>
|
||||
<string name="post_poll_activity_label">Příspěvek s anketou</string>
|
||||
<string name="history_activity_label">Historie</string>
|
||||
<string name="action_open_external_browser">Otevřít v prohlížeči</string>
|
||||
<string name="action_more_options">Další možnosti</string>
|
||||
<string name="anonymous_homepage_not_implemented">Anonymní domovská stránka zatím není implementována</string>
|
||||
<string name="history">Historie</string>
|
||||
<string name="block_user">Zablokovat uživatele</string>
|
||||
<string name="settings_show_display_name_instead_of_user_name">Skrýt zobrazovaná jména komunity a uživatelů</string>
|
||||
<string name="settings_hide_community_and_user_instance">Skrýt instanci komunity a uživatelů</string>
|
||||
<string name="active_users_number_detail">%1$,d aktivních uživatelů</string>
|
||||
<string name="post_count_detail">%1$,d příspěvků</string>
|
||||
<string name="invalid_response">Neplatná odpověď ze serveru</string>
|
||||
<string name="invalid_username_or_password">Neplatné uživatelské jméno nebo heslo</string>
|
||||
<string name="settings_custom_font_family_title">Vlastní rodina písem</string>
|
||||
<string name="settings_custom_title_font_family_title">Vlastní rodina písem nadpisů</string>
|
||||
<string name="settings_fixed_height_preview_in_card_title">Pevná výška v kartě</string>
|
||||
<string name="settings_hide_text_post_content">Skrýt obsah textových příspěvků</string>
|
||||
<string name="settings_hide_comment_awards_title">Skrýt ocenění komentářů</string>
|
||||
<string name="settings_show_fewer_toolbar_options_threshold_title">Zobrazit méně možností nástrojové lišty počínaje</string>
|
||||
<string name="settings_show_fewer_toolbar_options_threshold_summary">Úroveň %1$d</string>
|
||||
<string name="settings_show_author_avatar_title">Zobrazit avatar autora</string>
|
||||
<string name="settings_always_show_child_comment_count_title">Vždy zobrazit počet podřazených komentářů</string>
|
||||
<string name="settings_hide_upvote_ratio_title">Skrýt poměr hlasů</string>
|
||||
<string name="settings_miscellaneous_dangerous_group_title">Nebezpečné</string>
|
||||
<string name="settings_post_feed_max_resolution_title">Maximální rozlišení náhledu příspěvků v kanálu (šířka * výška)</string>
|
||||
<string name="settings_reddit_video_default_resolution">Výchozí rozlišení videí Lemmy</string>
|
||||
<string name="settings_comment_divider_type">Typ oddělovače komentářů</string>
|
||||
<string name="edited">Upraveno</string>
|
||||
<string name="edited_time">Upraveno %s</string>
|
||||
<string name="unable_to_get_font_file">Nepodařilo se načíst vaše písmo</string>
|
||||
<string name="unable_to_copy_font_file">Nepodařilo se zkopírovat vaše písmo</string>
|
||||
<string name="reddit_gallery_item_caption_hint">Popisek (max. 180 znaků)</string>
|
||||
<string name="reddit_gallery_item_url_hint">URL</string>
|
||||
<string name="user_agreement_dialog_title">Uživatelská smlouva</string>
|
||||
<string name="agree">Souhlasím</string>
|
||||
<string name="do_not_agree">Nesouhlasím</string>
|
||||
<string name="option_1_hint">Možnost 1 (vyžadována)</string>
|
||||
<string name="option_2_hint">Možnost 2 (vyžadována)</string>
|
||||
<string name="option_3_hint">Možnost 3</string>
|
||||
<string name="option_4_hint">Možnost 4</string>
|
||||
<string name="option_5_hint">Možnost 5</string>
|
||||
<string name="option_6_hint">Možnost 6</string>
|
||||
<string name="not_a_valid_number">Není platné číslo</string>
|
||||
<string name="post_karma">Karma příspěvků:</string>
|
||||
<string name="comment_karma">Karma komentářů:</string>
|
||||
<string name="awarder_karma">Karma oceňovatele:</string>
|
||||
<string name="awardee_karma">Karma z ocenění:</string>
|
||||
<string name="handle_link">Zpracovat odkaz</string>
|
||||
<string name="invalid_link">Neplatný odkaz</string>
|
||||
<string name="enable_random_adaptation">Povolit náhodnou adaptaci</string>
|
||||
<string name="error_unsupported_video">Médium zahrnuje stopy videa, žádné ale nelze na tomto zařízení přehrát</string>
|
||||
<string name="error_unsupported_audio">Médium zahrnuje stopy zvuku, žádné ale nelze na tomto zařízení přehrát</string>
|
||||
<string name="sample_list_load_error">Nepodařilo se načíst jeden nebo více vzorových seznamů</string>
|
||||
<string name="exo_controls_volume_up_description">Zvýšení hlasitosti</string>
|
||||
<string name="exo_controls_volume_off_description">Vypnutí hlasitosti</string>
|
||||
<string name="invalid_regex">Neplatný vzor regex</string>
|
||||
<string name="no_more_posts">Žádné další příspěvky</string>
|
||||
<string name="image_index_in_gallery">%1$d/%2$d</string>
|
||||
<string name="go_to_settings">Nastavení</string>
|
||||
<string name="reddit_api_info_title">Důležité upozornění ohledně změn v API Redditu</string>
|
||||
<string name="i_understand">Chápu</string>
|
||||
<string name="instance_url">URL instance</string>
|
||||
<string name="instance_url_hint">Adresa URL vaší preferované instance Lemmy s nebo bez předpony https://</string>
|
||||
<string name="user_username">Uživatelské jméno</string>
|
||||
<string name="user_password">Heslo</string>
|
||||
<string name="user_2fa_token">Token 2FA (pokud je potřeba)</string>
|
||||
<string name="user_login">Přihlásit se</string>
|
||||
<string name="sort_time_6hours">6 hodin</string>
|
||||
<string name="sort_time_12hours">12 hodin</string>
|
||||
<string name="sort_time_3months">3 měsíce</string>
|
||||
<string name="sort_time_6months">6 měsíců</string>
|
||||
<string name="sort_time_9months">9 měsíců</string>
|
||||
<string name="anonymous_account_instance">Instance s anonymním účtem</string>
|
||||
<string name="url_cannot_be_null_or_empty">Adresa URL nesmí být nulová nebo prázdná</string>
|
||||
<string name="could_not_resolve_link">Nepodařilo se rozpoznat URL :(</string>
|
||||
<string name="mark_post_as_read_failed">Nepodařilo se označit příspěvky jako přečtené</string>
|
||||
<string name="upload_image">Nahrát obrázek</string>
|
||||
<string name="mentions">Zmínky</string>
|
||||
<string name="replies">Odpovědi</string>
|
||||
<string name="use_circular_fab">Použít kulaté akční tlačítko</string>
|
||||
<string name="block_community">Zablokovat komunitu
|
||||
\n</string>
|
||||
<string name="not_implemented">Funkce zatím nebyla implementována :(</string>
|
||||
<string name="instance_cannot_be_empty">Pole instance nesmí být prázdné.</string>
|
||||
<string name="username_cannot_be_empty">Pole uživatelského jména nesmí být prázdné.</string>
|
||||
<string name="password_cannot_be_empty">Pole hesla nesmí být prázdné.</string>
|
||||
<string name="separate_down_and_up_votes">Oddělit hlasy pro a proti</string>
|
||||
<string name="blocked_communities">Zablokované komunity</string>
|
||||
<string name="blocked_users">Zablokovaní uživatelé</string>
|
||||
<string name="blocks">Blokování</string>
|
||||
<string name="send_report">Odeslat hlášení</string>
|
||||
</resources>
|
||||
@@ -111,7 +111,7 @@
|
||||
<string name="saved">Gespeichert</string>
|
||||
<string name="gilded">Vergoldet</string>
|
||||
<string name="settings">Einstellungen</string>
|
||||
<string name="subscribers_number_detail">Abonnenten: %1$d</string>
|
||||
<string name="subscribers_number_detail">%1$,d Abonnenten</string>
|
||||
<string name="online_subscribers_number_detail">Online: %1$d</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>
|
||||
@@ -394,7 +394,7 @@
|
||||
<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_community_summary">!eternityapp@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>
|
||||
@@ -715,7 +715,7 @@
|
||||
<!-- Fuzzy -->
|
||||
<string name="reset_all_settings_success">Alle Einstellungen erfolgreich gelöscht</string>
|
||||
<string name="username_preview">u/Hostilenemy</string>
|
||||
<string name="community_preview">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="community_preview">!eternityapp@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>
|
||||
@@ -1244,4 +1244,65 @@
|
||||
<string name="history">Verlauf</string>
|
||||
<string name="invalid_username_or_password">Falscher Nutzername/Passwort</string>
|
||||
<string name="action_block_user">Nutzer blockieren</string>
|
||||
<string name="active_users_number_detail">%1$,d Aktive Nutzer</string>
|
||||
<string name="settings_backup_settings_summary">Das Password für die Backup-Datei ist \"123321\".</string>
|
||||
<string name="settings_navigation_drawer_enable_hide_karma_title">Verstecke Account Karma</string>
|
||||
<string name="block_user">Nutzer Blockieren</string>
|
||||
<string name="clear_user_flair">Flair Löschen</string>
|
||||
<string name="clear_user_flair_success">Nutzer-Flair gelöscht</string>
|
||||
<string name="extra_small">Extra Klein</string>
|
||||
<string name="invalid_link">Ungültiger Link</string>
|
||||
<string name="error_unsupported_video">Media enthält Videospuren, aber keine davon sind mit diesem Gerät abspielbar</string>
|
||||
<string name="exo_controls_volume_up_description">Lautstärke erhöhen</string>
|
||||
<string name="exo_controls_volume_off_description">Lautstärke Aus</string>
|
||||
<string name="url_cannot_be_null_or_empty">Die URL darf nicht leer oder ungültig sein</string>
|
||||
<string name="block_community_success">Community blockiert!</string>
|
||||
<string name="block_community_failed">Community konnte nicht blockiert werden</string>
|
||||
<string name="unblock_community">Community entsperren</string>
|
||||
<string name="unblock_community_failed">Community konnte nicht ensperrt werden</string>
|
||||
<string name="instance_info">Infos zur Instanz</string>
|
||||
<string name="blocked_communities">Blockierte Communities</string>
|
||||
<string name="blocked_users">Blockierte Benutzer</string>
|
||||
<string name="action_unblock_user">Benutzer Freigeben</string>
|
||||
<string name="post_count_detail">%1$,d Posts</string>
|
||||
<string name="comment_count_detail">%1$,d Kommentare</string>
|
||||
<string name="invalid_regex">Ungültiges regex-Muster</string>
|
||||
<string name="load_more_posts_failed">Weitere Beiträge konnten nicht geladen werden.
|
||||
\nTippen, um es erneut zu versuchen.</string>
|
||||
<string name="no_more_posts">Keine weiteren Posts</string>
|
||||
<string name="image_index_in_gallery">%1$d/%2$d</string>
|
||||
<string name="user_password">Passwort</string>
|
||||
<string name="user_2fa_token">2FA Token (wenn benötigt)</string>
|
||||
<string name="user_login">Login</string>
|
||||
<string name="sort_time_6hours">6 Stunden</string>
|
||||
<string name="sort_time_12hours">12 Stunden</string>
|
||||
<string name="sort_time_3months">3 Monate</string>
|
||||
<string name="sort_time_6months">6 Monate</string>
|
||||
<string name="sort_time_9months">9 Monate</string>
|
||||
<string name="could_not_resolve_link">URL konnte nicht aufgelöst werden :(</string>
|
||||
<string name="mark_post_as_read_failed">Post konnte nicht als gelesen markiert werden</string>
|
||||
<string name="upload_image">Bild hochladen</string>
|
||||
<string name="mentions">Erwähnungen</string>
|
||||
<string name="replies">Antworten</string>
|
||||
<string name="block_community">Community Blockieren
|
||||
\n</string>
|
||||
<string name="not_implemented">Feature noch nicht implementiert :(</string>
|
||||
<string name="instance_cannot_be_empty">Das Feld Instanz kann nicht leer gelassen werden.</string>
|
||||
<string name="username_cannot_be_empty">Das Feld Benutzername kann nicht leer gelassen werden.</string>
|
||||
<string name="password_cannot_be_empty">Das Feld Password kann nicht leer gelassen werden.</string>
|
||||
<string name="separate_down_and_up_votes">Trenne Up- und Downvotes</string>
|
||||
<string name="unblock_community_success">Community entsperrt!</string>
|
||||
<string name="denied_notification_permission">Berechtigung für Benachrichtigungen wurde nicht erteilt</string>
|
||||
<string name="go_to_settings">Einstellungen</string>
|
||||
<string name="reddit_api_info_title">Wichtiger Hinweis zu den Reddit API-Änderungen</string>
|
||||
<string name="instance_url">Instanz URL</string>
|
||||
<string name="user_username">Benutzername</string>
|
||||
<string name="settings_easier_to_watch_in_full_screen_title">Leichtere Wiedergabe im Vollbildmodus</string>
|
||||
<string name="block_user_success">Blockiert</string>
|
||||
<string name="block_user_failed">Nutzer konnte nicht blockiert werden</string>
|
||||
<string name="edited">Bearbeitet</string>
|
||||
<string name="edited_time">Bearbeitet am %s</string>
|
||||
<string name="enable_random_adaptation">Zufallsanpassung einschalten</string>
|
||||
<string name="error_unsupported_audio">Media enthält Audiospuren, aber keine davon sind mit diesem Gerät abspielbar</string>
|
||||
<string name="storage_permission_denied">Die Berechtigung auf den Speicher wurde verweigert</string>
|
||||
</resources>
|
||||
@@ -390,7 +390,7 @@ Premio means prize, so it's better suited the first word instead of the second o
|
||||
<string name="settings_reddit_account_title">Cuenta de Reddit</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Subreddit</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
|
||||
@@ -405,7 +405,7 @@
|
||||
<string name="settings_reddit_account_title">Compte Reddit</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Communauté</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
@@ -832,7 +832,7 @@ https://s3.eu-west-1.amazonaws.com/po-pub/i/dFZKKms9HbrDGOlcgW9QTcwF.jpg -->
|
||||
<!-- Fuzzy -->
|
||||
<string name="settings_data_saving_mode_info_summary">Dans le mode économie de données, les aperçus d\'image et les vidéos sont en plus petite résolution.</string>
|
||||
<string name="settings_translation_title">Traduction</string>
|
||||
<string name="settings_translation_summary">Application Infinity for Reddit traduite dans POEditor ; application Infinity for Lemmy traduite sur Weblate. Merci à tou·tes les contributeur·ices.</string>
|
||||
<string name="settings_translation_summary">Application Infinity for Reddit traduite dans POEditor ; application Eternity traduite sur Weblate. Merci à tou·tes les contributeur·ices.</string>
|
||||
<string name="settings_credits_national_flags">Drapeaux nationaux</string>
|
||||
<string name="settings_credits_national_flags_summary">Icône réalisée par Freepik de www.flaticon.com</string>
|
||||
<string name="copy_failed">Échec de la copie</string>
|
||||
|
||||
@@ -403,7 +403,7 @@ Behavior -->
|
||||
<string name="settings_reddit_account_title">"रैडिट खाता "</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">"सबरैडिट "</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@lemdro.id</string>
|
||||
<string name="settings_share_title">"साझा करें "</string>
|
||||
<string name="settings_share_summary">"यदि आप इसका आनंद लेते हैं तो एप्प को अन्य लोगों के साथ साझा करें "</string>
|
||||
<string name="settings_version_title">Infinity For Reddit</string>
|
||||
|
||||
@@ -384,7 +384,7 @@
|
||||
<string name="settings_reddit_account_title">Reddit račun</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Podreddit</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
|
||||
@@ -377,7 +377,7 @@
|
||||
<string name="settings_reddit_account_title">Reddit fiók</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Közösség</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
@@ -688,7 +688,7 @@
|
||||
<string name="delete_all_front_page_scrolled_positions_success">A Kezdőlap összes görgetési pozíciójának törlése sikeres</string>
|
||||
<string name="reset_all_settings_success">Összes beállítás visszaállítása sikeres</string>
|
||||
<string name="username_preview">\@bazsalanszky@lemmy.toldi.eu</string>
|
||||
<string name="community_preview">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="community_preview">!eternityapp@lemdro.id</string>
|
||||
<string name="primary_text_preview">Elsődleges szöveg</string>
|
||||
<string name="secondary_text_preview">Másodlagos szöveg</string>
|
||||
<string name="post_title_preview">Ez egy poszt</string>
|
||||
|
||||
@@ -373,7 +373,7 @@
|
||||
<string name="settings_reddit_account_title">Account Reddit</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Community</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
|
||||
@@ -406,7 +406,7 @@
|
||||
<string name="settings_reddit_account_title">Redditアカウント</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Community</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@lemdro.id</string>
|
||||
<string name="settings_share_title">共有</string>
|
||||
<string name="settings_share_summary">このアプリが気に入ったようでしたら、ぜひ他の方々にもご紹介ください</string>
|
||||
<string name="settings_version_title">Infinity For Reddit</string>
|
||||
|
||||
@@ -379,7 +379,7 @@
|
||||
<string name="settings_reddit_account_title">Reddit-account</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Community</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
|
||||
@@ -374,7 +374,7 @@
|
||||
<string name="settings_reddit_account_title">Konto Reddit</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Community</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
|
||||
@@ -380,7 +380,7 @@
|
||||
<string name="settings_reddit_account_title">Conta Reddit</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Community</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
|
||||
@@ -382,10 +382,10 @@
|
||||
<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">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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 Lemmy</string>
|
||||
<string name="settings_version_title">Eternity</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>
|
||||
@@ -448,7 +448,7 @@
|
||||
<string name="error_getting_multi_reddit_data">Erro ao obter dados da multi-comunidade</string>
|
||||
<string name="error_loading_multi_reddit_list">Não foi possível sincronizar multi-comunidades</string>
|
||||
<string name="error_loading_subscriptions">Não foi possível sincronizar as subscrições</string>
|
||||
<string name="share_this_app">Veja o Infinity for Lemmy, um cliente fantástico do Lemmy!
|
||||
<string name="share_this_app">Veja o Eternity, um cliente fantástico do Lemmy!
|
||||
\nhttps://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>
|
||||
@@ -514,7 +514,7 @@
|
||||
<string name="theme_item_button_text_color">Cor Texto do Botão</string>
|
||||
<string name="theme_item_button_text_color_detail">Aplicado a: Texto do Botão</string>
|
||||
<string name="theme_item_chip_text_color">Cor do Texto Chip</string>
|
||||
<string name="theme_item_chip_text_color_detail">Aplicado a: Botão Aderir</string>
|
||||
<string name="theme_item_chip_text_color_detail">Aplicado a: Botão Subscrever</string>
|
||||
<string name="theme_item_link_color">Cor da Ligação</string>
|
||||
<string name="theme_item_link_color_detail">Aplicado ao: URL</string>
|
||||
<string name="theme_item_received_message_text_color">Cor do Texto de Mensagem Recebida</string>
|
||||
@@ -588,9 +588,9 @@
|
||||
<string name="theme_item_stickied_post_icon_tint">Cor do Ícone de Publicação Afixada</string>
|
||||
<string name="theme_item_stickied_post_icon_tint_detail">Aplicado a: Ícone de Publicação Afixada</string>
|
||||
<string name="theme_item_subscribed_color">Membro</string>
|
||||
<string name="theme_item_subscribed_color_detail">Aplicado a: Botão cancelar adesão</string>
|
||||
<string name="theme_item_unsubscribed_color">Cancelar Adesão</string>
|
||||
<string name="theme_item_unsubscribed_color_detail">Aplicado a: Botão aderir</string>
|
||||
<string name="theme_item_subscribed_color_detail">Aplicado a: Botão cancelar subscrição</string>
|
||||
<string name="theme_item_unsubscribed_color">Cancelar Subscrição</string>
|
||||
<string name="theme_item_unsubscribed_color_detail">Aplicado a: Botão Subscrever</string>
|
||||
<string name="theme_item_username_color">Cor do Nome de Utilizador</string>
|
||||
<string name="theme_item_username_color_detail">Aplicado a: Nome de Utilizador</string>
|
||||
<string name="theme_item_community_color">Cor das Comunidades</string>
|
||||
@@ -704,7 +704,7 @@
|
||||
<string name="report_reason_general_copyright_issue">Contém Problemas de Direitos de Autor</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="subscribed_feed">Início</string>
|
||||
<string name="subscribed_feed">Subscrito</string>
|
||||
<string name="local">Local</string>
|
||||
<string name="notifications">Notificações</string>
|
||||
<string name="messages">Mensagens</string>
|
||||
|
||||
@@ -390,7 +390,7 @@
|
||||
<string name="settings_reddit_account_title">Cont Reddit</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Community</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
|
||||
@@ -384,7 +384,7 @@
|
||||
<string name="settings_reddit_account_title">Аккаунт Lemmy</string>
|
||||
<string name="settings_reddit_account_summary">\@bazsalanszky@lemmy.toldi.eu</string>
|
||||
<string name="settings_community_title">Сообщество</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@lemdro.id</string>
|
||||
<string name="settings_share_title">Поделиться</string>
|
||||
<string name="settings_share_summary">Поделитесь этим приложением с другими людьми, если оно вам нравится</string>
|
||||
<string name="settings_version_title">Infinity для Lemmy</string>
|
||||
@@ -694,7 +694,7 @@
|
||||
<string name="delete_all_front_page_scrolled_positions_success">Все позиции прокрутки главной страницы в базе данных успешно удалены</string>
|
||||
<string name="reset_all_settings_success">Все настройки успешно сброшены</string>
|
||||
<string name="username_preview">\@bazsalanszky@lemmy.toldi.eu</string>
|
||||
<string name="community_preview">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="community_preview">!eternityapp@lemdro.id</string>
|
||||
<string name="primary_text_preview">Основной текст</string>
|
||||
<string name="secondary_text_preview">Дополнительный текст</string>
|
||||
<string name="post_title_preview">Это пост</string>
|
||||
|
||||
@@ -388,7 +388,7 @@ This translation does it work well in this kinda format. People use "since" in s
|
||||
<string name="settings_reddit_account_title">Reddit Hesabı</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Subreddit</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
|
||||
@@ -4,25 +4,25 @@
|
||||
<string name="comment_activity_label">Надіслати коментар</string>
|
||||
<string name="comment_activity_label_is_replying">Відповісти</string>
|
||||
<string name="post_text_activity_label">Текстовий допис</string>
|
||||
<string name="community_selection_activity_label">Виберіть сабредит</string>
|
||||
<string name="community_selection_activity_label">Виберіть спільноту</string>
|
||||
<string name="post_link_activity_label">Допис ланки</string>
|
||||
<string name="post_image_activity_label">Зображення</string>
|
||||
<string name="post_video_activity_label">Відеозапис</string>
|
||||
<string name="rules_activity_label">Правила</string>
|
||||
<string name="search_community_activity_label">Сабредити</string>
|
||||
<string name="search_community_activity_label">Спільноти</string>
|
||||
<string name="edit_post_activity_label">Змінити допис</string>
|
||||
<string name="edit_comment_activity_label">Змінити коментар</string>
|
||||
<string name="view_message_activity_label">Вхідні</string>
|
||||
<string name="settings_activity_label">Налаштування</string>
|
||||
<string name="account_saved_thing_activity_label">Збережене</string>
|
||||
<string name="create_multi_reddit_activity_label">Створити мультиредит</string>
|
||||
<string name="community_multiselection_activity_label">Вибрати сабредити</string>
|
||||
<string name="create_multi_reddit_activity_label">Створити мультиспільноту</string>
|
||||
<string name="community_multiselection_activity_label">Вибрати спільноти</string>
|
||||
<string name="custom_theme_listing_activity_label">Власні теми</string>
|
||||
<string name="customize_theme_activity_label">Пристосувати тему</string>
|
||||
<string name="customize_theme_activity_create_theme_label">Створити тему</string>
|
||||
<string name="theme_preview_activity_label">Перегляд теми</string>
|
||||
<string name="edit_multi_reddit_activity_label">Змінити мультиредит</string>
|
||||
<string name="selected_subeddits_activity_label">Вибрані сабредити</string>
|
||||
<string name="edit_multi_reddit_activity_label">Змінити мультиспільноту</string>
|
||||
<string name="selected_subeddits_activity_label">Вибрані спільноти</string>
|
||||
<string name="report_activity_label">Повідомити</string>
|
||||
<string name="view_imgur_media_activity_image_label">Зображення %1$d/%2$d</string>
|
||||
<string name="view_imgur_media_activity_video_label">Відеозапис %1$d/%2$d</string>
|
||||
@@ -53,8 +53,8 @@
|
||||
<string name="action_edit_flair">Змінити личку</string>
|
||||
<string name="action_change_post_layout">Змінити вигляд дописів</string>
|
||||
<string name="action_save">Зберегти</string>
|
||||
<string name="action_edit_multi_reddit">Змінити мультиредит</string>
|
||||
<string name="action_delete_multi_reddit">Видалити мультиредит</string>
|
||||
<string name="action_edit_multi_reddit">Змінити мультиспільноту</string>
|
||||
<string name="action_delete_multi_reddit">Видалити мультиспільноту</string>
|
||||
<string name="action_share">Поширити</string>
|
||||
<string name="action_preview">Перегляд</string>
|
||||
<string name="action_report">Повідомити</string>
|
||||
@@ -73,15 +73,15 @@
|
||||
<string name="load_more_posts_error">Помилка завантаження дописів.</string>
|
||||
<string name="load_post_error">Помилка завантаження цього допису.
|
||||
\nНатисніть, щоб повторити.</string>
|
||||
<string name="search_communities_error">Помилка пошуку сабредитів.
|
||||
<string name="search_communities_error">Помилка пошуку спільнот.
|
||||
\nНатисніть, щоб повторити.</string>
|
||||
<string name="search_users_error">Помилка пошуку користувачів.
|
||||
\nНатисніть, щоб повторити.</string>
|
||||
<string name="no_posts">Не знайдено дописів</string>
|
||||
<string name="no_comments">Не знайдено коментарів</string>
|
||||
<string name="no_communities">Не знайдено сабредитів</string>
|
||||
<string name="no_communities">Не знайдено спільнот</string>
|
||||
<string name="no_users">Не знайдено користувачів</string>
|
||||
<string name="no_multi_reddits">Не знайдено мультиредитів</string>
|
||||
<string name="no_multi_reddits">Не знайдено мультиспільнот</string>
|
||||
<string name="no_storage_permission">Нема дозволу для збереження цього файлу</string>
|
||||
<string name="load_comments_failed">Помилка завантаження коментарів.
|
||||
\nНатисніть, щоб повторити.</string>
|
||||
@@ -94,28 +94,28 @@
|
||||
\nНатисніть, щоб повторити.</string>
|
||||
<string name="no_messages">Порожньо</string>
|
||||
<string name="nsfw">НБДР</string>
|
||||
<string name="karma_info">Карма: %1$d</string>
|
||||
<string name="karma_info">Карма: %1$,d</string>
|
||||
<string name="karma_info_user_detail">Карма:
|
||||
\n%1$d (%2$d + %3$d)</string>
|
||||
\n%1$,d (%2$d + %3$d)</string>
|
||||
<string name="cakeday_info">День торта:
|
||||
\n%1$s</string>
|
||||
<string name="since">Від:</string>
|
||||
<string name="profile">Профіль</string>
|
||||
<string name="subscriptions">Підписки</string>
|
||||
<string name="multi_reddit">Мультиредит</string>
|
||||
<string name="multi_reddit">Мультиспільнота</string>
|
||||
<string name="inbox">Вхідні</string>
|
||||
<string name="upvoted">Голоси вверх</string>
|
||||
<string name="upvoted">Голоси вгору</string>
|
||||
<string name="downvoted">Голоси вниз</string>
|
||||
<string name="hidden">Приховане</string>
|
||||
<string name="saved">Збережені</string>
|
||||
<string name="gilded">Позолочене</string>
|
||||
<string name="settings">Налаштування</string>
|
||||
<string name="subscribers_number_detail">Підписників: %1$d</string>
|
||||
<string name="online_subscribers_number_detail">У мережі: %1$d</string>
|
||||
<string name="cannot_fetch_community_info">Не вдалося отримати інформацію про сабредит</string>
|
||||
<string name="subscribers_number_detail">%1$,d підписників</string>
|
||||
<string name="online_subscribers_number_detail">У мережі: %1$,d</string>
|
||||
<string name="cannot_fetch_community_info">Не вдалося отримати інформацію про спільноту</string>
|
||||
<string name="cannot_fetch_user_info">Не вдалося отримати інформацію про користувача</string>
|
||||
<string name="cannot_fetch_sidebar">Не вдалося отримати бічну панель</string>
|
||||
<string name="cannot_fetch_multireddit">Не вдалося отримати інформацію про мультиредит</string>
|
||||
<string name="cannot_fetch_multireddit">Не вдалося отримати інформацію про мультиспільноту</string>
|
||||
<string name="subscribe">Підписатися</string>
|
||||
<string name="unsubscribe">Відписатися</string>
|
||||
<string name="subscribed">Підписано</string>
|
||||
@@ -128,7 +128,7 @@
|
||||
<string name="follow_failed">Не вдалося стежити</string>
|
||||
<string name="unfollowed">Не відстежується</string>
|
||||
<string name="unfollow_failed">Не вдалося не відстежувати</string>
|
||||
<string name="content_description_banner_imageview">Зображення банера сабредиту</string>
|
||||
<string name="content_description_banner_imageview">Зображення банера спільноти</string>
|
||||
<string name="app_label">Infinity</string>
|
||||
<string name="search_hint">Шукати все</string>
|
||||
<string name="no_posts_no_lazy_mode">Нема доступних дописів</string>
|
||||
@@ -150,10 +150,10 @@
|
||||
<string name="sending_message">Надсилання</string>
|
||||
<string name="send_message_success">Повідомлення надіслано</string>
|
||||
<string name="send_message_failed">Не вдалося надіслати це повідомлення</string>
|
||||
<string name="select_a_community">Оберіть спочатку сабредит</string>
|
||||
<string name="select_a_community">Спочатку оберіть спільноту</string>
|
||||
<string name="title_required">Допису треба дати хороший заголовок</string>
|
||||
<string name="link_required">Чуєш, де посилання\?</string>
|
||||
<string name="select_an_image">Оберіть спочатку зображення</string>
|
||||
<string name="select_an_image">Спочатку оберіть зображення</string>
|
||||
<string name="posting">Публікування</string>
|
||||
<string name="post_failed">Не вдалося це опублікувати</string>
|
||||
<string name="error_processing_image">Помилка обробки зображення</string>
|
||||
@@ -164,12 +164,12 @@
|
||||
<string name="loading">Завантаження</string>
|
||||
<string name="post_title_hint">Заголовок</string>
|
||||
<string name="post_text_content_hint">Вміст</string>
|
||||
<string name="choose_a_communities">Обрати сабредит</string>
|
||||
<string name="choose_a_communities">Обрати спільноту</string>
|
||||
<string name="rules">Правила</string>
|
||||
<string name="post_link_hint">URL</string>
|
||||
<string name="communities">Сабредити</string>
|
||||
<string name="communities">Спільноти</string>
|
||||
<string name="users">Користувачі</string>
|
||||
<string name="multi_reddits">Мультиредити</string>
|
||||
<string name="multi_reddits">Мультиспільноти</string>
|
||||
<string name="bottom_sheet_post_text">Текст</string>
|
||||
<string name="bottom_sheet_post_link">Ланка</string>
|
||||
<string name="bottom_sheet_post_image">Зображення</string>
|
||||
@@ -193,7 +193,7 @@
|
||||
\nНатисніть, щоб повторити.</string>
|
||||
<string name="error_loading_rules_without_retry">Помилка завантаження правил</string>
|
||||
<string name="search_in">Шукати в</string>
|
||||
<string name="all_communities">Усіх сабредитах</string>
|
||||
<string name="all_communities">Усі спільноти</string>
|
||||
<string name="sort_best">Краще</string>
|
||||
<string name="sort_hot">Свіже</string>
|
||||
<string name="sort_new">Нове</string>
|
||||
@@ -243,18 +243,18 @@
|
||||
<string name="post_hide_success">Допис приховано</string>
|
||||
<string name="post_hide_failed">Не вдалося сховати допис</string>
|
||||
<string name="post_unhide_success">Допис не приховано</string>
|
||||
<string name="thing_favorite_failed">Не вдалося додати до вибраних</string>
|
||||
<string name="thing_unfavorite_failed">Не вдалося видалити з вибраних</string>
|
||||
<string name="post_unhide_failed">Не вдалося ховати допис</string>
|
||||
<string name="thing_favorite_failed">Не вдалося додати до вибраного</string>
|
||||
<string name="thing_unfavorite_failed">Не вдалося видалити з вибраного</string>
|
||||
<string name="post_unhide_failed">Не вдалося показати допис</string>
|
||||
<string name="delete_this_post">Видалити цей допис</string>
|
||||
<string name="delete_this_comment">Видалити цей коментар</string>
|
||||
<string name="are_you_sure">Ви впевнені\?</string>
|
||||
<string name="edit">Змінити</string>
|
||||
<string name="delete">Видалити</string>
|
||||
<string name="see_removed_comment">Показати вилучений коментар</string>
|
||||
<string name="fetching_removed_comment">Отримати вилучений коментар</string>
|
||||
<string name="fetching_removed_comment">Отримання вилученого коментаря</string>
|
||||
<string name="show_removed_comment_failed">Не вдалося знайти вилучений коментар</string>
|
||||
<string name="fetching_removed_post">Отримати вилучений допис</string>
|
||||
<string name="fetching_removed_post">Отримання вилученого допису</string>
|
||||
<string name="show_removed_post_failed">Не вдалося знайти вилучений допис</string>
|
||||
<string name="cancel">Скасувати</string>
|
||||
<string name="ok">Гаразд</string>
|
||||
@@ -273,10 +273,10 @@
|
||||
<string name="update_flair_failed">Не вдалося оновити личку</string>
|
||||
<string name="edit_flair">Змінити личку</string>
|
||||
<string name="only_allow_64_chars">Дозволено лише не більше 64 знаків</string>
|
||||
<string name="view_all_comments">Клацніть тут, щоб передивитися всі коментарі</string>
|
||||
<string name="view_all_comments">Клацніть тут, щоб переглянути всі коментарі</string>
|
||||
<string name="notification_summary_account">Обліківка</string>
|
||||
<string name="notification_summary_message">Нове повідомлення</string>
|
||||
<string name="notification_summary_community">Сабредит</string>
|
||||
<string name="notification_summary_community">Спільнота</string>
|
||||
<string name="notification_summary_award">Нагорода</string>
|
||||
<string name="notification_new_messages">%1$d нових повідомлень</string>
|
||||
<string name="label_account">Обліківка</string>
|
||||
@@ -291,7 +291,7 @@
|
||||
<string name="settings_interface_title">Інтерфейс</string>
|
||||
<string name="settings_gestures_and_buttons_title">Жести і кнопки</string>
|
||||
<string name="settings_save_front_page_scrolled_position_title">Зберігати позицію гортання в ДОМІВЦІ</string>
|
||||
<string name="settings_save_front_page_scrolled_position_summary">Оглядати нові дописи після оновлення ДОМІВКИ (Перша сторінка, тип сортування: Кращі)</string>
|
||||
<string name="settings_save_front_page_scrolled_position_summary">Оглядати нові дописи після оновлення ДОМІВКИ (Перша сторінка, тип сортування: Найкращі)</string>
|
||||
<string name="settigns_video_title">Відео</string>
|
||||
<string name="settings_video_autoplay_title">Самовідтворення відео</string>
|
||||
<string name="settings_mute_autoplaying_videos_title">Глушити самовідтворювані відео</string>
|
||||
@@ -313,7 +313,7 @@
|
||||
<string name="settings_mute_video_title">Глушити відео</string>
|
||||
<string name="settings_mute_nsfw_video_title">Глушити відео НБДР</string>
|
||||
<string name="settings_automatically_try_redgifs_title">Автоматично спробувати отримати доступ до Redgifs, якщо відео на Gfycat видалено.</string>
|
||||
<string name="settings_video_player_ignore_nav_bar_title">Ігнорувати панель пересування у відео-програвачі</string>
|
||||
<string name="settings_video_player_ignore_nav_bar_title">Ігнорувати панель пересування у відеопрогравачі</string>
|
||||
<string name="settings_video_player_ignore_nav_bar_summary">Не дозволяти відеоконтролеру мати додаткове поле</string>
|
||||
<string name="settings_confirm_to_exit">Підтверджувати вихід</string>
|
||||
<string name="settings_category_comment_title">Коментар</string>
|
||||
@@ -334,7 +334,7 @@
|
||||
<string name="settings_swipe_to_go_back_summary">Не застосовується до всіх сторінок</string>
|
||||
<string name="settings_lock_jump_to_next_top_level_comment_button_title">Блокувати стрибок до наступної кнопки коментаря верхнього рівня</string>
|
||||
<string name="settings_lock_bottom_app_bar_title">Замкнути нижню панель пересування</string>
|
||||
<string name="settings_swipe_up_to_hide_jump_to_next_top_level_comment_button_title">Ковзніть уверх, щоб приховати стрибок до наступної кнопки коментаря верхнього рівня</string>
|
||||
<string name="settings_swipe_up_to_hide_jump_to_next_top_level_comment_button_title">Ковзніть угору, щоб приховати стрибок до наступної кнопки коментаря верхнього рівня</string>
|
||||
<string name="settings_lazy_mode_interval_title">Крок лінивого режиму</string>
|
||||
<string name="settings_font_title">Шрифт</string>
|
||||
<string name="settings_preview_font_title">Перегляд шрифтів</string>
|
||||
@@ -352,7 +352,7 @@
|
||||
<string name="settings_blur_spoiler_title">Розмивати зображення спойлерів</string>
|
||||
<string name="settings_about_master_title">Про застосунок</string>
|
||||
<string name="settings_acknowledgement_master_title">Вдячність</string>
|
||||
<string name="settings_credits_master_title">Кредит довіри</string>
|
||||
<string name="settings_credits_master_title">Подяка</string>
|
||||
<string name="settings_credits_icon_foreground_title">Значок переднього фону</string>
|
||||
<string name="settings_credits_icon_foreground_summary">Векторна технологія створена freepik - www.freepik.com</string>
|
||||
<string name="settings_credits_icon_background_title">Значок заднього фону</string>
|
||||
@@ -369,18 +369,18 @@
|
||||
<string name="settings_credits_best_rocket_icon_summary">Автор значка Freepik із www.flaticon.com</string>
|
||||
<string name="settings_credits_material_icons_title">Значки Material</string>
|
||||
<string name="settings_open_source_title">Відкритий код</string>
|
||||
<string name="settings_open_source_summary">Покладіть зірочку на Github, якщо Вам подобається цей застосунок</string>
|
||||
<string name="settings_open_source_summary">Натисніть зірочку на Codeberg, якщо Вам подобається цей застосунок</string>
|
||||
<string name="settings_rate_title">Оцініть на Google Play</string>
|
||||
<string name="settings_rate_summary">Дай мені 5 зірочок і я буду щаслива</string>
|
||||
<string name="settings_email_title">Ел. пошта</string>
|
||||
<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">Сабредит</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_email_title">Mastodon</string>
|
||||
<string name="settings_email_summary">\@bazsalanszky@fosstodon.org</string>
|
||||
<string name="settings_reddit_account_title">Обліківка Lemmy</string>
|
||||
<string name="settings_reddit_account_summary">\@bazsalanszky@lemmy.toldi.eu</string>
|
||||
<string name="settings_community_title">Спільнота</string>
|
||||
<string name="settings_community_summary">!eternityapp@lemdro.id</string>
|
||||
<string name="settings_share_title">Поширте</string>
|
||||
<string name="settings_share_summary">Поділіться цим застосунком з іншими людьми, якщо він Вам подобається</string>
|
||||
<string name="settings_version_title">Infinity For Reddit</string>
|
||||
<string name="settings_version_title">Eternity</string>
|
||||
<string name="settings_version_summary">Версія %s</string>
|
||||
<string name="settings_category_customization_title">Пристосування</string>
|
||||
<string name="settings_customize_light_theme_title">Світла тема</string>
|
||||
@@ -388,7 +388,7 @@
|
||||
<string name="settings_customize_amoled_theme_title">Тема Amoled</string>
|
||||
<string name="settings_manage_themes_title">Керувати темами</string>
|
||||
<string name="settings_advanced_master_title">Розширені</string>
|
||||
<string name="settings_delete_all_communities_data_in_database_title">Видалити всі сабредити з бази даних</string>
|
||||
<string name="settings_delete_all_communities_data_in_database_title">Видалити всі спільноти з бази даних</string>
|
||||
<string name="settings_delete_all_users_data_in_database_title">Видалити всіх користувачів із бази даних</string>
|
||||
<string name="settings_delete_all_sort_type_data_in_database_title">Видалити всі типи сортування з бази даних</string>
|
||||
<string name="settings_delete_all_post_layout_data_in_database_title">Видалити всі вигляди дописів із бази даних</string>
|
||||
@@ -400,15 +400,15 @@
|
||||
<string name="settings_tab_3_summary">Вкладка 3</string>
|
||||
<string name="settings_tab_title">Назва</string>
|
||||
<string name="settings_tab_post_type">Тип</string>
|
||||
<string name="settings_tab_community_name">Назва сабредиту (без префіксу r/)</string>
|
||||
<string name="settings_tab_multi_reddit_name">Шлях мультиредиту (/user/yourusername/m/yourmultiredditname)</string>
|
||||
<string name="settings_tab_username">Імʼя користувача (без префіксу u/)</string>
|
||||
<string name="settings_tab_community_name">Назва спільноти (без частини «@сервер»)</string>
|
||||
<string name="settings_tab_multi_reddit_name">Шлях мультиспільноти (/user/yourusername/m/yourmulticommunityname) (лише маленькі літери)</string>
|
||||
<string name="settings_tab_username">Ім\'я користувача (без префікса u/)</string>
|
||||
<string name="no_developer_easter_egg">Тут нема опцій розробника</string>
|
||||
<string name="no_link_available">Не можливо отримати посилання</string>
|
||||
<string name="no_link_available">Неможливо отримати посилання</string>
|
||||
<string name="exit_when_submit">Покинути\?</string>
|
||||
<string name="exit_when_submit_post_detail">Допис буде надіслано, навіть якщо Ви вийдете звідси.</string>
|
||||
<string name="exit_when_edit_post_detail">Допис може бути надісланим, навіть якщо Ви вийдете звідси.</string>
|
||||
<string name="exit_when_edit_comment_detail">Коментар може бути надісланим, навіть якщо Ви вийдете звідси.</string>
|
||||
<string name="exit_when_edit_post_detail">Допис може бути надіслано, навіть якщо Ви вийдете звідси.</string>
|
||||
<string name="exit_when_edit_comment_detail">Коментар може бути надіслано, навіть якщо Ви вийдете звідси.</string>
|
||||
<string name="discard">Відхилити\?</string>
|
||||
<string name="discard_detail">Усі чернетки НЕ збережуться.</string>
|
||||
<string name="yes">Так</string>
|
||||
@@ -424,11 +424,11 @@
|
||||
<string name="comment_saved_failed">Неможливо зберегти коментар</string>
|
||||
<string name="comment_unsaved_success">Коментар не збережено</string>
|
||||
<string name="comment_unsaved_failed">Неможливо не зберегти коментар</string>
|
||||
<string name="favorites">Відібрані</string>
|
||||
<string name="favorites">Вибране</string>
|
||||
<string name="all">Усе</string>
|
||||
<string name="post_layout_card">Картковий вигляд</string>
|
||||
<string name="post_layout_compact">Компактний вигляд</string>
|
||||
<string name="elapsed_time_just_now">Тільки що</string>
|
||||
<string name="elapsed_time_just_now">Щойно</string>
|
||||
<string name="elapsed_time_a_minute_ago">1 хвилина</string>
|
||||
<string name="elapsed_time_minutes_ago">%1$d хвилин</string>
|
||||
<string name="elapsed_time_an_hour_ago">1 година</string>
|
||||
@@ -439,12 +439,12 @@
|
||||
<string name="elapsed_time_months_ago">%1$d місяців</string>
|
||||
<string name="elapsed_time_a_year_ago">1 рік</string>
|
||||
<string name="elapsed_time_years_ago">%1$d років</string>
|
||||
<string name="error_getting_multi_reddit_data">Помилка отримання даних мультиредиту</string>
|
||||
<string name="error_loading_multi_reddit_list">Не можливо синхронувати мультиредити</string>
|
||||
<string name="error_loading_subscriptions">Не можливо синхронувати підписки</string>
|
||||
<string name="share_this_app">Перевірте Infinity for Reddit — чудовий клієнт для Reddit!
|
||||
<string name="error_getting_multi_reddit_data">Помилка отримання даних мультиспільноти</string>
|
||||
<string name="error_loading_multi_reddit_list">Неможливо синхронувати мультиспільноти</string>
|
||||
<string name="error_loading_subscriptions">Неможливо синхронувати підписки</string>
|
||||
<string name="share_this_app">Спробуйте Eternity — чудовий клієнт для Lemmy!
|
||||
\nhttps://play.google.com/store/apps/details\?id=eu.toldi.infinityforlemmy</string>
|
||||
<string name="error_getting_community_name">Помилка отримання назви сабредиту</string>
|
||||
<string name="error_getting_community_name">Помилка отримання назви спільноти</string>
|
||||
<string name="share_post_link">Поширити ланку допису</string>
|
||||
<string name="share_image_link">Поширити ланку зображення</string>
|
||||
<string name="share_gif_link">Поширити ланку Gif</string>
|
||||
@@ -456,12 +456,12 @@
|
||||
<string name="copy_video_link">Копіювати ланку відео</string>
|
||||
<string name="copy_link">Копіювати ланку</string>
|
||||
<string name="copy_success">Скопійовано</string>
|
||||
<string name="copy_link_failed">Не можливо скопіювати ланку</string>
|
||||
<string name="copy_link_failed">Неможливо скопіювати ланку</string>
|
||||
<string name="copy_text">Копіювати</string>
|
||||
<string name="copy_all">Копіювати все</string>
|
||||
<string name="copy_markdown">Копіювати Markdown</string>
|
||||
<string name="copy_markdown">Копіювати з розміткою</string>
|
||||
<string name="copy_raw_text">Копіювати сирий текст</string>
|
||||
<string name="copy_all_markdown">Копіювати весь Markdown</string>
|
||||
<string name="copy_all_markdown">Копіювати все з розміткою</string>
|
||||
<string name="copy_all_raw_text">Копіювати весь сирий текст</string>
|
||||
<string name="exit_app">Вийти\?</string>
|
||||
<string name="light_theme">Світла тема</string>
|
||||
@@ -470,16 +470,16 @@
|
||||
<string name="multi_reddit_description_hint">Опис</string>
|
||||
<string name="private_multi_reddit">Приватний</string>
|
||||
<string name="no_multi_reddit_name">Де назва\?</string>
|
||||
<string name="create_multi_reddit_failed">Не можливо створити цей мультиредит</string>
|
||||
<string name="duplicate_multi_reddit">Такий мультиредит уже існує</string>
|
||||
<string name="edit_multi_reddit_failed">Не можливо змінити цей мультиредит</string>
|
||||
<string name="create_multi_reddit_failed">Неможливо створити мультиспільноту</string>
|
||||
<string name="duplicate_multi_reddit">Така мультиспільнота вже існує</string>
|
||||
<string name="edit_multi_reddit_failed">Неможливо змінити цю мультиспільноту</string>
|
||||
<string name="delete_multi_reddit_success">Вдало видалено</string>
|
||||
<string name="delete_multi_reddit_failed">Не вдалося видалити</string>
|
||||
<string name="delete_multi_reddit_dialog_message">Ви впевнені\?</string>
|
||||
<string name="enable_nsfw">Дозволити НБДР</string>
|
||||
<string name="disable_nsfw">Заборонити НБДР</string>
|
||||
<string name="cannot_save_image">Не можливо зберегти зображення</string>
|
||||
<string name="cannot_save_gif">Не можливо зберегти gif</string>
|
||||
<string name="cannot_save_image">Неможливо зберегти зображення</string>
|
||||
<string name="cannot_save_gif">Неможливо зберегти gif</string>
|
||||
<string name="cannot_get_storage">Нема доступу до сховища програми</string>
|
||||
<string name="save_image_first">Зберігання зображення. Будь ласка, зачекайте.</string>
|
||||
<string name="save_gif_first">Збереження gif. Будь ласка, зачекайте.</string>
|
||||
@@ -494,7 +494,7 @@
|
||||
<string name="theme_item_color_accent">Акцент кольору</string>
|
||||
<string name="theme_item_color_accent_detail">Задіяно до: Панель поступу тощо</string>
|
||||
<string name="theme_item_color_primary_light_theme">Основний колір світлої теми</string>
|
||||
<string name="theme_item_color_primary_light_theme_detail">Задіяно до: тло плаваючої кнопки дії і кнопок</string>
|
||||
<string name="theme_item_color_primary_light_theme_detail">Задіяно до: Тло плаваючої кнопки дії і кнопок</string>
|
||||
<string name="theme_item_primary_text_color">Колір основного тексту</string>
|
||||
<string name="theme_item_primary_text_color_detail">Задіяно до: Основний текст</string>
|
||||
<string name="theme_item_secondary_text_color">Колір додаткового тексту</string>
|
||||
@@ -511,9 +511,9 @@
|
||||
<string name="theme_item_chip_text_color_detail">Задіяно до: Кнопка Підписатися</string>
|
||||
<string name="theme_item_link_color">Колір посилання</string>
|
||||
<string name="theme_item_link_color_detail">Задіяно до: URL</string>
|
||||
<string name="theme_item_received_message_text_color">Колір тексту отриманого посилання</string>
|
||||
<string name="theme_item_received_message_text_color">Колір тексту отриманого повідомлення</string>
|
||||
<string name="theme_item_received_message_text_color_detail">Задіяно до: Отримані приватні повідомлення</string>
|
||||
<string name="theme_item_sent_message_text_color">Колір тексту надісланого посилання</string>
|
||||
<string name="theme_item_sent_message_text_color">Колір тексту надісланого повідомлення</string>
|
||||
<string name="theme_item_sent_message_text_color_detail">Задіяно до: Надіслані приватні повідомлення</string>
|
||||
<string name="theme_item_background_color">Колір тла</string>
|
||||
<string name="theme_item_background_color_detail">Задіяно до: Тло кожної сторінки і шторки переходів</string>
|
||||
@@ -525,9 +525,9 @@
|
||||
<string name="theme_item_fully_collapsed_comment_background_color_detail">Задіяно до: Тло повністю згорнутих коментарів</string>
|
||||
<string name="theme_item_awarded_comment_background_color">Колір тла коментаря з нагородою</string>
|
||||
<string name="theme_item_awarded_comment_background_color_detail">Задіяно до: Тло нагороджених коментарів</string>
|
||||
<string name="theme_item_received_message_background_color">Колір тла отриманого посилання</string>
|
||||
<string name="theme_item_received_message_background_color">Колір тла отриманого повідомлення</string>
|
||||
<string name="theme_item_received_message_background_color_detail">Задіяно до: Тло отриманих приватних повідомлень</string>
|
||||
<string name="theme_item_sent_message_background_color">Колір тла надісланого посилання</string>
|
||||
<string name="theme_item_sent_message_background_color">Колір тла надісланого повідомлення</string>
|
||||
<string name="theme_item_sent_message_background_color_detail">Задіяно до: Тло надісланих приватних повідомлень</string>
|
||||
<string name="theme_item_bottom_app_bar_background_color">Колір нижньої панелі пересування</string>
|
||||
<string name="theme_item_bottom_app_bar_background_color_detail">Задіяно до: Кнопка панелі пересування</string>
|
||||
@@ -538,14 +538,14 @@
|
||||
<string name="theme_item_post_icon_and_info_color">Колір інформації і значка допису</string>
|
||||
<string name="theme_item_post_icon_and_info_color_detail">Задіяно до: Значки, оцінка і кількість коментарів у дописах</string>
|
||||
<string name="theme_item_comment_icon_and_info_color">Колір інформації і значка коментаря</string>
|
||||
<string name="theme_item_comment_icon_and_info_color_detail">Задіяно до: Значки і оцінка в коментарях</string>
|
||||
<string name="theme_item_comment_icon_and_info_color_detail">Задіяно до: Значки й оцінка в коментарях</string>
|
||||
<string name="theme_item_fab_icon_color">Колір значка плаваючої кнопки дії</string>
|
||||
<string name="theme_item_fab_icon_color_detail">Задіяно до: Значок плаваючої кнопки дії</string>
|
||||
<string name="theme_item_send_message_icon_color">Колір значка надісланого повідомлення</string>
|
||||
<string name="theme_item_send_message_icon_color_detail">Задіяно до: значка надсилання приватних повідомлень</string>
|
||||
<string name="theme_item_toolbar_primary_text_and_icon_color">Колір значка і тексту основної панелі засобів</string>
|
||||
<string name="theme_item_send_message_icon_color_detail">Задіяно до: Значок надсилання приватних повідомлень</string>
|
||||
<string name="theme_item_toolbar_primary_text_and_icon_color">Колір значка й основного тексту панелі засобів</string>
|
||||
<string name="theme_item_toolbar_primary_text_and_icon_color_detail">Задіяно до: Основний текст і значки на панелі засобів</string>
|
||||
<string name="theme_item_toolbar_secondary_text_color">Колір тексту додаткової панелі засобів</string>
|
||||
<string name="theme_item_toolbar_secondary_text_color">Колір додаткового тексту панелі засобів</string>
|
||||
<string name="theme_item_toolbar_secondary_text_color_detail">Задіяно до: Додатковий текст на панелі засобів</string>
|
||||
<string name="theme_item_circular_progress_bar_background_color">Колір тла кільцевої шкали поступу</string>
|
||||
<string name="theme_item_circular_progress_bar_background_color_detail">Задіяно до: Тло кругової шкали поступу</string>
|
||||
@@ -557,11 +557,11 @@
|
||||
<string name="theme_item_tab_layout_with_expanded_collapsing_toolbar_tab_indicator_detail">Задіяно до: Колір індикатора вкладки у вигляді вкладок (розгорнута панель засобів)</string>
|
||||
<string name="theme_item_tab_layout_with_collapsed_collapsing_toolbar_tab_background">Колір тла вигляду вкладки в згорнутій панелі засобів</string>
|
||||
<string name="theme_item_tab_layout_with_collapsed_collapsing_toolbar_tab_background_detail">Задіяно до: Тло вигляду вкладки (згорнута панель засобів)</string>
|
||||
<string name="theme_item_tab_layout_with_collapsed_collapsing_toolbar_text_color">Колір тла п</string>
|
||||
<string name="theme_item_tab_layout_with_collapsed_collapsing_toolbar_text_color">Колір тексту вигляду вкладки в згорнутій панелі засобів</string>
|
||||
<string name="theme_item_tab_layout_with_collapsed_collapsing_toolbar_text_color_detail">Задіяно до: Колір тексту вигляду вкладки (згорнута панель засобів)</string>
|
||||
<string name="theme_item_tab_layout_with_collapsed_collapsing_toolbar_tab_indicator">Колір індикатора вкладки вигляду вкладки у згорнутій панелі засобів</string>
|
||||
<string name="theme_item_tab_layout_with_collapsed_collapsing_toolbar_tab_indicator_detail">Задіяно до: Колір індикатора вкладки у вигляді вкладок (згорнута панель засобів)</string>
|
||||
<string name="theme_item_upvoted_color">Колір з голосами вверх</string>
|
||||
<string name="theme_item_upvoted_color">Колір з голосами вгору</string>
|
||||
<string name="theme_item_upvoted_color_detail">Задіяно до: Кнопки голосування і оцінок (голос вгору)</string>
|
||||
<string name="theme_item_downvoted_color">Колір з голосами вниз</string>
|
||||
<string name="theme_item_downvoted_color_detail">Задіяно до: Кнопки голосування і оцінок (голос вниз)</string>
|
||||
@@ -592,15 +592,15 @@
|
||||
<string name="theme_item_crosspost_icon_tint">Колір значка передопису</string>
|
||||
<string name="theme_item_crosspost_icon_tint_detail">Задіяно до: Значок передопису</string>
|
||||
<string name="theme_item_stickied_post_icon_tint">Колір значка закріпленого допису</string>
|
||||
<string name="theme_item_stickied_post_icon_tint_detail">Задіяно до: Значок приліпленого допису</string>
|
||||
<string name="theme_item_stickied_post_icon_tint_detail">Задіяно до: Значок закріпленого допису</string>
|
||||
<string name="theme_item_subscribed_color">Підписано</string>
|
||||
<string name="theme_item_subscribed_color_detail">Задіяно до: Кнопка Відписатися</string>
|
||||
<string name="theme_item_unsubscribed_color">Відписано</string>
|
||||
<string name="theme_item_unsubscribed_color_detail">Задіяно до: Кнопка Підписатися</string>
|
||||
<string name="theme_item_username_color">Колір імені користувача</string>
|
||||
<string name="theme_item_username_color_detail">Задіяно до: Імʼя користувача</string>
|
||||
<string name="theme_item_community_color">Колір сабредиту</string>
|
||||
<string name="theme_item_community_color_detail">Задіяно до: Назва сабредиту</string>
|
||||
<string name="theme_item_community_color">Колір спільноти</string>
|
||||
<string name="theme_item_community_color_detail">Задіяно до: Назва спільноти</string>
|
||||
<string name="theme_item_author_flair_text_color">Колір авторської лички</string>
|
||||
<string name="theme_item_author_flair_text_color_detail">Задіяно до: Авторська личка в коментарях</string>
|
||||
<string name="theme_item_submitter_color">Надсилач</string>
|
||||
@@ -657,7 +657,7 @@
|
||||
\nна основі теми Темної Індиґо</string>
|
||||
<string name="create_amoled_theme">Створити тему Amoled
|
||||
\nна основі теми Індиґо Amoled</string>
|
||||
<string name="create_theme_info">Якщо Ви бажаєте створити тему на основі іншої теми, клацніть кнопку \"+\" біля неї.</string>
|
||||
<string name="create_theme_info">Якщо бажаєте створити тему на основі іншої теми, клацніть кнопку «+» біля неї.</string>
|
||||
<string name="edit_theme_name">Змінити назву теми</string>
|
||||
<string name="edit_theme">Змінити тему</string>
|
||||
<string name="delete_theme">Видалити тему</string>
|
||||
@@ -665,27 +665,27 @@
|
||||
<string name="share_theme">Поширити тему</string>
|
||||
<string name="change_theme_name">Змінити назву</string>
|
||||
<string name="theme_copied">Скопійовано! Вставте і поділіться нею з іншими людьми.</string>
|
||||
<string name="copy_theme_faied">Не можливо скопіювати налаштування теми</string>
|
||||
<string name="cannot_find_theme">Не можливо знайти цю тему</string>
|
||||
<string name="copy_theme_faied">Неможливо скопіювати налаштування теми</string>
|
||||
<string name="cannot_find_theme">Неможливо знайти цю тему</string>
|
||||
<string name="import_theme">Імпорт теми</string>
|
||||
<string name="no_data_in_clipboard">Не можливо знайти дані в буфері обміну</string>
|
||||
<string name="no_data_in_clipboard">Неможливо знайти дані в буфері обміну</string>
|
||||
<string name="import_theme_success">Тему вдало імпортовано</string>
|
||||
<string name="parse_theme_failed">Не вдалося розпізнати тему</string>
|
||||
<string name="duplicate_theme_name_dialog_title">Знайдено дублування теми</string>
|
||||
<string name="duplicate_theme_name_dialog_title">Знайдено дублювання теми</string>
|
||||
<string name="duplicate_theme_name_dialog_message">Тема в базі даних також називається %1$s. Бажаєте змінити назву для цієї імпортованої теми\?</string>
|
||||
<string name="rename">Переназвати</string>
|
||||
<string name="override">Перезаписати</string>
|
||||
<string name="color_picker">Вибір кольору</string>
|
||||
<string name="invalid_color">Неправильний колір</string>
|
||||
<string name="delete_all_communities_success">Усі сабредити вдало видалено</string>
|
||||
<string name="delete_all_communities_success">Усі спільноти вдало видалено</string>
|
||||
<string name="delete_all_users_success">Усіх користувачів вдало видалено</string>
|
||||
<string name="delete_all_sort_types_success">Усі типи сортування вдало видалено</string>
|
||||
<string name="delete_all_post_layouts_success">Усі вигляди дописів вдало видалено</string>
|
||||
<string name="delete_all_themes_success">Усі теми вдало видалено</string>
|
||||
<string name="delete_all_front_page_scrolled_positions_success">Усі позиції гортання на першій сторінці вдало видалено</string>
|
||||
<string name="reset_all_settings_success">Усі налаштування вдало скинуто</string>
|
||||
<string name="username_preview">u/Hostilenemy</string>
|
||||
<string name="community_preview">r/Infinity_For_Reddit</string>
|
||||
<string name="username_preview">\@bazsalanszky@lemmy.toldi.eu</string>
|
||||
<string name="community_preview">!eternityapp@lemdro.id</string>
|
||||
<string name="primary_text_preview">Основний текст</string>
|
||||
<string name="secondary_text_preview">Додатковий текст</string>
|
||||
<string name="post_title_preview">Це допис</string>
|
||||
@@ -696,14 +696,14 @@
|
||||
<string name="author_flair_preview">Авторська личка</string>
|
||||
<string name="comment_content_preview">Я дав своїй дівчині листівку «Поправляйся швидше».
|
||||
\nВона не хвора чи щось таке, але їй точно стане краще.</string>
|
||||
<string name="edit_multi_reddit">Змінити мультиредит</string>
|
||||
<string name="delete_multi_reddit">Видалити мультиредит</string>
|
||||
<string name="n_awards">%1$d нагород</string>
|
||||
<string name="edit_multi_reddit">Змінити мультиспільноту</string>
|
||||
<string name="delete_multi_reddit">Видалити мультиспільноту</string>
|
||||
<string name="n_awards">%1$,d нагород</string>
|
||||
<string name="one_award">1 нагорода</string>
|
||||
<string name="report">Повідомити</string>
|
||||
<string name="reporting">Звітування</string>
|
||||
<string name="report_successful">Відзвітовано</string>
|
||||
<string name="report_failed">Не вдалося відзвітувати</string>
|
||||
<string name="report">Поскаржитися</string>
|
||||
<string name="reporting">Надсилання скарги</string>
|
||||
<string name="report_successful">Скаргу надіслано</string>
|
||||
<string name="report_failed">Не вдалося надіслати скаргу</string>
|
||||
<string name="report_reason_not_selected">Ви не вибрали причину</string>
|
||||
<string name="report_reason_general_spam">Це спам</string>
|
||||
<string name="report_reason_general_copyright_issue">Містить проблему авторських прав</string>
|
||||
@@ -717,7 +717,7 @@
|
||||
<string name="fetch_gfycat_video_failed">Не вдалося отримати відеозапис Gfycat</string>
|
||||
<string name="fetch_redgifs_video_failed">Не вдалося отримати відеозапис Redgifs</string>
|
||||
<string name="fetching_video_info_please_wait">Отримання відомостей про відео. Зачекайте.</string>
|
||||
<string name="error_fetching_imgur_media">Не можливо завантажити зображення</string>
|
||||
<string name="error_fetching_imgur_media">Неможливо завантажити зображення</string>
|
||||
<string name="downloading_reddit_video">Завантаження доріжки відео</string>
|
||||
<string name="downloading_reddit_video_audio_track">Завантаження звукової доріжки</string>
|
||||
<string name="downloading_reddit_video_muxing">Мультиплексування відео і звуку</string>
|
||||
@@ -727,22 +727,21 @@
|
||||
<string name="downloading_reddit_video_failed_cannot_download_video">Не вдалося завантажити: неможливо завантажити відеозапис</string>
|
||||
<string name="downloading_reddit_video_failed_cannot_save_video">Не вдалося завантажити: неможливо зберегти відеозапис у каталог кешу</string>
|
||||
<string name="downloading_reddit_video_failed_cannot_save_audio">Не вдалося завантажити: неможливо зберегти звук у каталог кешу</string>
|
||||
<string name="downloading_reddit_video_failed_cannot_mux">Не вдалося завантажити: не можливо змультиплексувати відео і звук</string>
|
||||
<string name="downloading_reddit_video_failed_cannot_mux">Не вдалося завантажити: неможливо змультиплексувати відео і звук</string>
|
||||
<string name="downloading_reddit_video_failed_cannot_save_mux_video">Не вдалося завантажити: неможливо зберегти відеозапис у публічний каталог</string>
|
||||
<string name="wallpaper_set">Шпалери встановлено</string>
|
||||
<string name="error_set_wallpaper">Не вдалося встановити шпалери</string>
|
||||
<string name="set_to_home_screen">Установити на домашній екран</string>
|
||||
<string name="set_to_lock_screen">Встановити на екран блокування</string>
|
||||
<string name="set_to_both">Задати для двох</string>
|
||||
<string name="set_to_lock_screen">Установити на екран блокування</string>
|
||||
<string name="set_to_both">Установити для обох</string>
|
||||
<string name="default_font_font_preview">Типово</string>
|
||||
<string name="load_video_in_redgifs">Спробувати завантажити відеозапис на Redgifs</string>
|
||||
<string name="top_score">%1$s блв</string>
|
||||
<string name="login_activity_2fa_prompt">Якщо у Вас дозволена 2-факторна автентифікація, вводьте свій пароль наступним чином: <пароль>:<код 2ФА>.
|
||||
\nПриклад: yourpass:123456</string>
|
||||
<string name="top_score">%1$s балів</string>
|
||||
<string name="login_activity_2fa_prompt">Якщо у Вас увімкнено 2-факторну автентифікацію, Вам треба заповнити поле «Токен 2FA». Якщо ні — залиште його порожнім</string>
|
||||
<string name="submit_crosspost_activity_label">Передопис</string>
|
||||
<string name="give_award_activity_label">Дати нагороду</string>
|
||||
<string name="action_crosspost">Передопис</string>
|
||||
<string name="action_select_user_flair">Вибрати користувацьку личку</string>
|
||||
<string name="action_select_user_flair">Вибрати личку користувача</string>
|
||||
<string name="action_give_award">Дати нагороду</string>
|
||||
<string name="posts">Дописи</string>
|
||||
<string name="only_for_logged_in_user">Лише для користувачів, що ввійшли</string>
|
||||
@@ -757,13 +756,13 @@
|
||||
<string name="settings_more_tabs_summary">Більше вкладок</string>
|
||||
<string name="settings_more_tabs_info_summary">Увімкнення наступних параметрів призведе до ненавмисної поведінки:
|
||||
\nВкладки можуть втратити весь вміст після перемикання на інші. Це те саме що оновлення сторінки.</string>
|
||||
<string name="settings_more_tabs_show_favorite_subscribed_communities_title">Показувати відібрані підписані сабредити</string>
|
||||
<string name="settings_more_tabs_show_subscribed_communities_title">Показувати підписані сабредити</string>
|
||||
<string name="settings_more_tabs_show_favorite_subscribed_communities_title">Показувати вибрані підписані спільноти</string>
|
||||
<string name="settings_more_tabs_show_subscribed_communities_title">Показувати підписані спільноти</string>
|
||||
<string name="settings_download_location_title">Розташування завантажень</string>
|
||||
<string name="settings_image_download_location_title">Розташування завантажених зображень</string>
|
||||
<string name="settings_gif_download_location_title">Розташування завантажених Gif</string>
|
||||
<string name="settings_video_download_location_title">Розташування завантажених відеозаписів</string>
|
||||
<string name="settings_separate_folder_for_each_community">Окрема тека для кожного сабредиту</string>
|
||||
<string name="settings_separate_folder_for_each_community">Окрема тека для кожної спільноти</string>
|
||||
<string name="settings_swipe_action_title">Дії ковзанням</string>
|
||||
<string name="settings_disable_swiping_between_tabs_title">Вимкнути ковзання між вкладками</string>
|
||||
<string name="settings_enable_swipe_action_title">Дозволити дії ковзанням</string>
|
||||
@@ -781,11 +780,8 @@
|
||||
<string name="settings_bottom_app_bar_option_3">Параметр 3</string>
|
||||
<string name="settings_bottom_app_bar_option_4">Параметр 4</string>
|
||||
<string name="settings_bottom_app_bar_fab">Плаваюча кнопка дії</string>
|
||||
<string name="settings_data_saving_mode">Режим збереження даних</string>
|
||||
<string name="settings_data_saving_mode_info_summary">У режимі зберігання даних:
|
||||
\nПопередній перегляд зображень має низьку роздільність.
|
||||
\nВідеозаписи Reddit мають низьку роздільність.
|
||||
\nВимкнено самовідтворення відеозаписів.</string>
|
||||
<string name="settings_data_saving_mode">Режим заощадження трафіку</string>
|
||||
<string name="settings_data_saving_mode_info_summary">У режимі заощадження трафіку: Попередній перегляд зображень має низьку роздільність. Відеозаписи Lemmy мають низьку роздільність. Вимкнено самовідтворення відеозаписів.</string>
|
||||
<string name="settings_translation_title">Переклад</string>
|
||||
<string name="settings_translation_summary">Цей застосунок перекладається через POEditor. Дякую всім співрозробникам.</string>
|
||||
<string name="settings_credits_national_flags">Міжнародні прапори</string>
|
||||
@@ -796,8 +792,8 @@
|
||||
<string name="downloading_image_or_gif_failed_cannot_get_destination_directory">Не вдалося завантажити: нема доступу до призначеного каталогу</string>
|
||||
<string name="downloading_media_failed_cannot_download_media">Не вдалося завантажити</string>
|
||||
<string name="downloading_media_failed_cannot_save_to_destination_directory">Не вдалося завантажити: файл не зберігається в призначений каталог</string>
|
||||
<string name="select_user_flair_success">Виділено користувацьку личку</string>
|
||||
<string name="select_this_user_flair">Вибрати цю мітку користувача\?</string>
|
||||
<string name="select_user_flair_success">Вибрано личку користувача</string>
|
||||
<string name="select_this_user_flair">Вибрати цю личку користувача\?</string>
|
||||
<string name="select_header_size">Вибрати розмір заголовка</string>
|
||||
<string name="large">Великий</string>
|
||||
<string name="small">Малий</string>
|
||||
@@ -817,48 +813,48 @@
|
||||
<string name="give_award_success">Дано нагороду</string>
|
||||
<string name="give_award_failed">Не вдалося</string>
|
||||
<string name="warning">Попередження</string>
|
||||
<string name="this_is_a_nsfw_community">Це сабредит НБДР.</string>
|
||||
<string name="this_is_a_nsfw_community">Це спільнота НБДР.</string>
|
||||
<string name="this_user_has_nsfw_content">У цього користувача є вміст НБДР</string>
|
||||
<string name="dismiss">Відхилити</string>
|
||||
<string name="leave">Залишити</string>
|
||||
<string name="go_to_community">Перейти до сабредиту</string>
|
||||
<string name="go_to_community">Перейти до спільноти</string>
|
||||
<string name="go_to_user">Перейти до користувача</string>
|
||||
<string name="go_to_thing_hint">Назва</string>
|
||||
<string name="random">Випадкове</string>
|
||||
<string name="random_community">Випадковий сабредит</string>
|
||||
<string name="random_nsfw_community">Випадковий сабредит НБДР</string>
|
||||
<string name="random_community">Випадкова спільнота</string>
|
||||
<string name="random_nsfw_community">Випадкова спільнота НБДР</string>
|
||||
<string name="random_post">Випадковий допис</string>
|
||||
<string name="random_nsfw_post">Випадковий допис НБДР</string>
|
||||
<string name="fetch_random_thing_failed">Спробуйте пізніше</string>
|
||||
<string name="downloading">Завантаження</string>
|
||||
<string name="community_filter_popular_and_all_activity_label">r/all і r/popular</string>
|
||||
<string name="settings_miscellaneous_title">Різне</string>
|
||||
<string name="settings_respect_community_recommended_comment_sort_type_title">Поважати тип сортування рекомендованих коментарів сабредиту</string>
|
||||
<string name="settings_respect_community_recommended_comment_sort_type_title">Поважати тип сортування рекомендованих коментарів спільноти</string>
|
||||
<string name="settings_respect_community_recommended_comment_sort_type_summary">Тип сортування коментарів не збережеться</string>
|
||||
<string name="settings_community_filter_category">Ховати сабредити</string>
|
||||
<string name="settings_community_filter_category">Ховати спільноти</string>
|
||||
<string name="settings_community_filter_popular_and_all">У r/popular і r/all</string>
|
||||
<string name="settings_credits_ufo_capturing_animation_title">Анімація захоплення НЛО</string>
|
||||
<string name="select_video_quality">Вибрати якість відео</string>
|
||||
<string name="settings_swipe_action_haptic_feedback_title">Тактильний відгук</string>
|
||||
<string name="settings_hide_community_description_title">Ховати опис сабредиту</string>
|
||||
<string name="settings_disable_image_preview_title">Вимкнути передперегляд зображень у режимі збереження даних</string>
|
||||
<string name="settings_hide_community_description_title">Ховати опис спільноти</string>
|
||||
<string name="settings_disable_image_preview_title">Вимкнути передперегляд зображень у режимі заощадження трафіку</string>
|
||||
<string name="settings_swipe_action_swipe_left_title">Ковзнути ліворуч</string>
|
||||
<string name="settings_swipe_action_swipe_right_title">Ковзнути праворуч</string>
|
||||
<string name="settings_swipe_action_info_summary">Не застосовується до стрічок з дописами із більше ніж 1 стовпцем або відомостями про допис.</string>
|
||||
<string name="theme_item_no_preview_post_type_icon_tint">Колір значка типу допису без передперегляду</string>
|
||||
<string name="theme_item_no_preview_post_type_icon_tint_detail">Задіяти до: значок, що позначає тип допису коли не доступний передперегляд</string>
|
||||
<string name="theme_item_no_preview_post_type_icon_tint_detail">Задіяти до: Значок, що вказує тип допису, якщо попередній перегляд недоступний</string>
|
||||
<string name="theme_item_no_preview_post_type_background_color">Колір тла типу допису без передперегляду</string>
|
||||
<string name="theme_item_no_preview_post_type_background_color_detail">Задіяно до: Заповнювач, що вказує тип публікації, якщо попередній перегляд недоступний</string>
|
||||
<string name="theme_item_no_preview_post_type_background_color_detail">Задіяно до: Заповнювач, що вказує тип допису, якщо попередній перегляд недоступний</string>
|
||||
<string name="settings_language_title">Мова</string>
|
||||
<string name="customize_post_filter_activity_label">Налаштувати фільтр дописів</string>
|
||||
<string name="filtered_posts_activity_subtitle">Відфільтровані дописи</string>
|
||||
<string name="post_filter_preference_activity_label">Фільтр дописів</string>
|
||||
<string name="search_users_result_activity_label">Користувачі</string>
|
||||
<string name="multireddit_selection_activity_label">Вибрати мультиредит</string>
|
||||
<string name="multireddit_selection_activity_label">Вибрати мультиспільноту</string>
|
||||
<string name="action_save_to_database">Зберегти до бази даних</string>
|
||||
<string name="action_read_all_messages">Прочитати всі повідомлення</string>
|
||||
<string name="action_add_to_multireddit">Додати в мультиредит</string>
|
||||
<string name="search_only_communities_hint">Пошук сабредитів</string>
|
||||
<string name="action_add_to_multireddit">Додати в мультиспільноту</string>
|
||||
<string name="search_only_communities_hint">Пошук спільнот</string>
|
||||
<string name="search_only_users_hint">Пошук користувачів</string>
|
||||
<string name="post_type_gif">Gif</string>
|
||||
<string name="post_type_gallery">Галерея</string>
|
||||
@@ -875,12 +871,12 @@
|
||||
<string name="settings_hide_read_posts_automatically_title">Ховати прочитані дописи автоматично</string>
|
||||
<string name="settings_sort_type_title">Тип сортування</string>
|
||||
<string name="settings_save_sort_type_title">Зберегти тип сортування</string>
|
||||
<string name="settings_community_default_sort_type_title">Типовий для сабредиту тип сортування</string>
|
||||
<string name="settings_community_default_sort_time_title">Типовий час сортування сабредиту</string>
|
||||
<string name="settings_user_default_sort_type_title">Типовий для користувача тип сортування</string>
|
||||
<string name="settings_community_default_sort_type_title">Типовий для спільноти тип сортування</string>
|
||||
<string name="settings_community_default_sort_time_title">Типовий для спільноти час сортування</string>
|
||||
<string name="settings_user_default_sort_type_title">Користувацький типовий тип сортування</string>
|
||||
<string name="settings_user_default_sort_time_title">Користувацький типовий час сортування</string>
|
||||
<string name="open_link">Відкрити ланку</string>
|
||||
<string name="select_communities_and_users">Вибрати сабредити і користувачів</string>
|
||||
<string name="select_communities_and_users">Вибрати спільноти і користувачів</string>
|
||||
<string name="theme_item_read_post_title_color">Колір заголовка прочитаного допису</string>
|
||||
<string name="theme_item_read_post_title_color_detail">Задіяно до: Заголовок прочитаного допису</string>
|
||||
<string name="theme_item_read_post_content_color">Колір вмісту прочитаного допису</string>
|
||||
@@ -893,8 +889,8 @@
|
||||
<string name="only_nsfw">Лише НБДР</string>
|
||||
<string name="only_spoiler">Лише спойлер</string>
|
||||
<string name="title_excludes_strings_hint">Заголовок: виключати ключові слова (слово1,слово2)</string>
|
||||
<string name="title_excludes_regex_hint">Заголовок: виключати рег.вир.</string>
|
||||
<string name="exclude_communities_hint">Не враховувати сабредити (напр., funny,AskReddit)</string>
|
||||
<string name="title_excludes_regex_hint">Заголовок: виключати регулярний вираз</string>
|
||||
<string name="exclude_communities_hint">Не враховувати спільноти (напр., memes,AskLemmy)</string>
|
||||
<string name="exclude_users_hint">Не враховувати користувачів (напр., Hostilenemy,random)</string>
|
||||
<string name="exclude_flairs_hint">Не враховувати лички (напр., личка1,личка2)</string>
|
||||
<string name="contain_flairs_hint">Містить лички (напр., личка1,личка2)</string>
|
||||
@@ -910,37 +906,37 @@
|
||||
<string name="duplicate_post_filter_dialog_message">Перезаписати його\?</string>
|
||||
<string name="apply_post_filter_to">Задіяно до</string>
|
||||
<string name="post_filter_usage_home">Домівка</string>
|
||||
<string name="post_filter_usage_community">Сабредит: %1$s</string>
|
||||
<string name="post_filter_usage_community_all">Сабредит</string>
|
||||
<string name="post_filter_usage_community">Спільнота: %1$s</string>
|
||||
<string name="post_filter_usage_community_all">Спільнота</string>
|
||||
<string name="post_filter_usage_user">Користувач: %1$s</string>
|
||||
<string name="post_filter_usage_user_all">Користувач</string>
|
||||
<string name="post_filter_usage_multireddit">Мультиредит: %1$s</string>
|
||||
<string name="post_filter_usage_multireddit_all">Мультиредит</string>
|
||||
<string name="post_filter_usage_multireddit">Мультиспільнота: %1$s</string>
|
||||
<string name="post_filter_usage_multireddit_all">Мультиспільнота</string>
|
||||
<string name="post_filter_usage_search">Пошук</string>
|
||||
<string name="community">Сабредит</string>
|
||||
<string name="community">Спільнота</string>
|
||||
<string name="user">Користувач</string>
|
||||
<string name="edit_post_filter_name_of_usage_info">Залиште порожнім, щоб застосувати цей фільтр дописів для всіх сабредитів / користувачів / мультиредитів</string>
|
||||
<string name="edit_post_filter_name_of_usage_info">Залиште порожнім, щоб застосувати цей фільтр дописів для всіх спільнот / користувачів / мультиспільнот</string>
|
||||
<string name="read_all_messages_time_limit">Ви робите це занадто часто. Спробуйте ще раз пізніше. Це обмеження швидкості API Reddit.</string>
|
||||
<string name="read_all_messages_success">Усі повідомлення успішно прочитано</string>
|
||||
<string name="read_all_messages_failed">Не можливо прочитати всі повідомлення</string>
|
||||
<string name="add_community_or_user_to_multireddit_success">%1$s додано до мультиредиту %2$s</string>
|
||||
<string name="add_community_or_user_to_multireddit_failed">Неможливо додати %1$s до мультиредиту %2$s</string>
|
||||
<string name="read_all_messages_failed">Неможливо прочитати всі повідомлення</string>
|
||||
<string name="add_community_or_user_to_multireddit_success">%1$s додано до мультиспільноти %2$s</string>
|
||||
<string name="add_community_or_user_to_multireddit_failed">Неможливо додати %1$s до мультиспільноти %2$s</string>
|
||||
<string name="choose_a_user">Оберіть користувача</string>
|
||||
<string name="settings_click_to_show_media_in_gallery_layout">Клацнути, щоб показати медія у вигляді галереї</string>
|
||||
<string name="settings_click_to_show_media_in_gallery_layout">Клацнути, щоб показати медіа у вигляді галереї</string>
|
||||
<string name="settings_hide_post_type">Ховати тип дописів</string>
|
||||
<string name="settings_hide_the_number_of_awards">Ховати кількість нагород</string>
|
||||
<string name="settings_hide_community_and_user_prefix">Ховати префікс сабредитів і користувачів</string>
|
||||
<string name="settings_hide_community_and_user_prefix">Ховати префікс спільнот і користувачів</string>
|
||||
<string name="settings_hide_the_number_of_votes">Ховати кількість голосів</string>
|
||||
<string name="settings_hide_the_number_of_comments">Ховати кількість коментарів</string>
|
||||
<string name="post_layout_gallery">Вигляд галереї</string>
|
||||
<string name="post_layout_card_2">Картковий вигляд 2</string>
|
||||
<string name="have_trouble_login_title">Є проблеми з входом</string>
|
||||
<string name="have_trouble_login_message">Бажаєте спробувати інший спосіб входу\?</string>
|
||||
<string name="vote">Оцінка</string>
|
||||
<string name="vote">Голос</string>
|
||||
<string name="action_share_link">Поширити ланку</string>
|
||||
<string name="action_copy_link">Копіювати ланку</string>
|
||||
<string name="action_add_to_post_filter">Додати до фільтру дописів</string>
|
||||
<string name="settings_do_not_blur_nsfw_in_nsfw_communities_title">Не розмивати зображення НБДР для сабредитів НБДР</string>
|
||||
<string name="settings_do_not_blur_nsfw_in_nsfw_communities_title">Не розмивати зображення НБДР для спільнот НБДР</string>
|
||||
<string name="settings_show_avatar_on_the_right">Показувати аватарку праворуч</string>
|
||||
<string name="settings_backup_settings_title">Налаштування резервного копіювання</string>
|
||||
<string name="settings_restore_settings_title">Налаштування відновлення</string>
|
||||
@@ -950,32 +946,32 @@
|
||||
<string name="settings_collapse_account_section_title">Згорнути розділ Обліківка</string>
|
||||
<string name="settings_collapse_post_section_title">Згорнути розділ Допис</string>
|
||||
<string name="settings_collapse_preferences_section_title">Згорнути розділ Властивості</string>
|
||||
<string name="settings_collapse_favorite_communities_section_title">Згорнути розділ відібраних сабредитів</string>
|
||||
<string name="settings_collapse_subscribed_communities_section_title">Згорнути розділ підписаних сабредитів</string>
|
||||
<string name="settings_hide_favorite_communities_sections_title">Сховати розділ відібраних сабредитів</string>
|
||||
<string name="settings_hide_subscribed_communities_sections_title">Сховати розділ підписаних сабредитів</string>
|
||||
<string name="settings_collapse_favorite_communities_section_title">Згорнути розділ вибраних спільнот</string>
|
||||
<string name="settings_collapse_subscribed_communities_section_title">Згорнути розділ підписаних спільнот</string>
|
||||
<string name="settings_hide_favorite_communities_sections_title">Сховати розділ вибраних спільнот</string>
|
||||
<string name="settings_hide_subscribed_communities_sections_title">Сховати розділ підписаних спільнот</string>
|
||||
<string name="settings_default_search_result_tab">Типова вкладка результатів пошуку</string>
|
||||
<string name="device_default">Типовий пристрій</string>
|
||||
<string name="device_default">Тема пристрою</string>
|
||||
<string name="set_by_battery_saver">Залежно від рівня батареї</string>
|
||||
<string name="theme_item_upvote_ratio_icon_tint">Колір значка оцінки вверх</string>
|
||||
<string name="theme_item_upvote_ratio_icon_tint_detail">Задіяти до: значок оцінки вверх</string>
|
||||
<string name="theme_item_upvote_ratio_icon_tint">Колір значка голосу вгору</string>
|
||||
<string name="theme_item_upvote_ratio_icon_tint_detail">Задіяти до: Значок голосу вгору</string>
|
||||
<string name="theme_item_current_user_color">Поточний користувач</string>
|
||||
<string name="theme_item_current_user_color_detail">Задіяно до: Поточний користувач у коментарях</string>
|
||||
<string name="exclude_domains_hint">Виключати домени</string>
|
||||
<string name="anonymous_front_page_no_subscriptions">Розпочніть долучившись до сабредиту!</string>
|
||||
<string name="anonymous_front_page_no_subscriptions">Розпочніть, долучившись до спільноти!</string>
|
||||
<string name="backup_settings_success">Налаштування вдало експортовано в призначений каталог. Пароль для зґенерованого zip-файлу — 123321. Будь ласка, не змінюйте файл zip.</string>
|
||||
<string name="create_zip_in_destination_directory_failed">Не вдалося створити резервну zip-копію в призначеному каталозі</string>
|
||||
<string name="backup_some_settings_failed">Не вдалося зарезервувати деякі налаштування, але інші вдало експортовано в призначений каталог</string>
|
||||
<string name="restore_settings_success">Налаштування успішно відновлено. Перезапустіть застосунок, щоб побачити зміни.</string>
|
||||
<string name="restore_settings_partially_failed">Деякі налаштування можливо не відновляться успішно. Перезапустіть застосунок, щоб побачити зміни.</string>
|
||||
<string name="restore_settings_failed_file_corrupted">Не можливо відновити налаштування. Файл можливо пошкоджений.</string>
|
||||
<string name="restore_settings_failed_file_corrupted">Неможливо відновити налаштування. Ймовірно, файл пошкоджений.</string>
|
||||
<string name="restore_settings_failed_cannot_get_file">Нема доступу до файлу</string>
|
||||
<string name="suicide_prevention_quote">Якщо Ви бачите знак не вбивати себе, так ось він і є.❤</string>
|
||||
<string name="suicide_prevention_quote">Якщо Ви шукаєте знак не вбивати себе, то ось він і є.❤</string>
|
||||
<string name="do_not_show_this_again">Не показувати це знову</string>
|
||||
<string name="continue_suicide_prevention_activity">Продовжити</string>
|
||||
<string name="error_fetching_v_redd_it_video_cannot_get_redirect_url">Помилка отримання відеозапису із v.redd.it: Не можливо отримати url перенаправлення</string>
|
||||
<string name="error_fetching_v_redd_it_video_cannot_get_post">Помилка отримання відеозапису із v.redd.it: Не можливо отримати допис</string>
|
||||
<string name="error_fetching_v_redd_it_video_cannot_get_post_id">Помилка отримання відеозапису із v.redd.it: Не можливо отримати ід допису</string>
|
||||
<string name="error_fetching_v_redd_it_video_cannot_get_redirect_url">Помилка отримання відеозапису з v.redd.it: Неможливо отримати URL перенаправлення</string>
|
||||
<string name="error_fetching_v_redd_it_video_cannot_get_post">Помилка отримання відеозапису з v.redd.it: Неможливо отримати допис</string>
|
||||
<string name="error_fetching_v_redd_it_video_cannot_get_post_id">Помилка отримання відеозапису з v.redd.it: Неможливо отримати ID допису</string>
|
||||
<string name="always_on">Завжди увімк.</string>
|
||||
<string name="only_on_wifi">Лише через Wifi</string>
|
||||
<string name="never">Ніколи</string>
|
||||
@@ -985,10 +981,10 @@
|
||||
<string name="default_in_array">Типово</string>
|
||||
<string name="off">Вимк.</string>
|
||||
<string name="only_on_cellular_data">Лише під час стільникових даних</string>
|
||||
<string name="upvote">Голосувати вверх</string>
|
||||
<string name="upvote">Голосувати вгору</string>
|
||||
<string name="downvote">Голосувати вниз</string>
|
||||
<string name="select">Вибрати</string>
|
||||
<string name="exclude_community">Виключити цей сабредит</string>
|
||||
<string name="exclude_community">Виключити цю спільноту</string>
|
||||
<string name="exclude_user">Виключити цього користувача</string>
|
||||
<string name="exclude_flair">Виключити цю личку</string>
|
||||
<string name="contain_flair">Містить цю личку</string>
|
||||
@@ -996,7 +992,7 @@
|
||||
<string name="suggest_title">Пропонований заголовок</string>
|
||||
<string name="suggest_title_failed">Не вдалося запропонувати заголовок</string>
|
||||
<string name="action_delete_logs">Видалити журнали</string>
|
||||
<string name="inbox_with_count">Вхідні (%1$d)</string>
|
||||
<string name="inbox_with_count">Вхідні (%1$,d)</string>
|
||||
<string name="comment_continue_thread">Продовжити гілку</string>
|
||||
<string name="settings_swipe_vertically_to_go_back_from_media_title">Ковзніть вертикально, щоб вернутися назад від зображення або Gif</string>
|
||||
<string name="settings_hide_post_flair">Ховати лички дописів</string>
|
||||
@@ -1006,10 +1002,10 @@
|
||||
<string name="settings_show_only_one_comment_level_indicator">Показувати лише один показник рівня коментарів</string>
|
||||
<string name="save_comment">Зберегти</string>
|
||||
<string name="unsave_comment">Не зберігати</string>
|
||||
<string name="copy_multi_reddit_path">Копіювати шлях мультиредиту</string>
|
||||
<string name="copy_multi_reddit_path_failed">Неможливо скопіювати шлях мультиредиту</string>
|
||||
<string name="copy_multi_reddit_path">Копіювати шлях мультиспільноти</string>
|
||||
<string name="copy_multi_reddit_path_failed">Неможливо скопіювати шлях мультиспільноти</string>
|
||||
<string name="crash_reports_deleted">Звіти про збої видалено</string>
|
||||
<string name="disable_nsfw_forever_message">Увімкнувши раз, НБДР буде назавжди вимкнено, не залежно від того ввімкнено параметр НБДР чи ні. І ця опція незворотна, єдиний спосіб знову ввімкнути NSFW — очистити дані програми.
|
||||
<string name="disable_nsfw_forever_message">Увімкнувши тут, Ви назавжди вимкнете НБДР, незалежно від того, ввімкнено параметр НБДР чи ні. Ця опція незворотна, єдиний спосіб знову ввімкнути НБДР — очистити дані програми.
|
||||
\n
|
||||
\nУсе ще бажаєте ввімкнути це\?</string>
|
||||
<string name="reply">Відповісти</string>
|
||||
@@ -1020,7 +1016,7 @@
|
||||
<string name="receive_post_reply_notifications">Отримувати сповіщення про відповіді на дописи</string>
|
||||
<string name="bottom_sheet_post_gallery">Галерея</string>
|
||||
<string name="posting_gallery">Публікування галереї</string>
|
||||
<string name="label_reddit">Reddit</string>
|
||||
<string name="label_reddit">Lemmy</string>
|
||||
<string name="settings_default_link_post_layout">Типовий вигляд посилань дописів</string>
|
||||
<string name="settings_category_material_you_title">Material You</string>
|
||||
<string name="settings_enable_material_you_warning_summary">Переконайтеся, що Ви не маєте тем із назвою
|
||||
@@ -1032,10 +1028,10 @@
|
||||
<string name="settings_enable_material_you_summary">Персоналізувати Infinity на основі Ваших шпалер</string>
|
||||
<string name="settings_apply_material_you_title">Застосувати Material You</string>
|
||||
<string name="settings_apply_material_you_summary">На випадок, якщо Infinity не змінює тему</string>
|
||||
<string name="settings_more_tabs_show_favorite_multireddits_title">Показувати відібрані мультиредити</string>
|
||||
<string name="settings_more_tabs_show_multireddits_title">Показувати мультиредити</string>
|
||||
<string name="settings_collapse_reddit_section_title">Згорнути розділ Reddit</string>
|
||||
<string name="settings_video_player_automatic_landscape_orientation">Автоматично перемикати на альбомну орієнтацію у відео-програвачі</string>
|
||||
<string name="settings_more_tabs_show_favorite_multireddits_title">Показувати вибрані мультиспільноти</string>
|
||||
<string name="settings_more_tabs_show_multireddits_title">Показувати мультиспільноти</string>
|
||||
<string name="settings_collapse_reddit_section_title">Згорнути розділ Lemmy</string>
|
||||
<string name="settings_video_player_automatic_landscape_orientation">Автоматично перемикати на альбомну орієнтацію у відеопрогравачі</string>
|
||||
<string name="settings_remember_muting_option_in_post_feed">Запамʼятати опцію приглушення в стрічці дописів</string>
|
||||
<string name="link_post_layout_auto">Авто</string>
|
||||
<string name="uploaded_images">Відвантажені зображення</string>
|
||||
@@ -1057,19 +1053,19 @@
|
||||
<string name="settings_post_details_title">Відомості дописів</string>
|
||||
<string name="settings_separate_post_and_comments_in_portrait_mode_title">Відокремлювати дописи і коментарі в портретному режимі</string>
|
||||
<string name="settings_separate_post_and_comments_in_landscape_mode_title">Відокремлювати дописи і коментарі в альбомному режимі</string>
|
||||
<string name="settings_separate_post_and_comments_summary">Автовідтворення відео недозволене на сторінці відомостей допису</string>
|
||||
<string name="settings_use_bottom_toolbar_in_media_viewer_title">Викор. нижню панель засобів під час перегляду медія</string>
|
||||
<string name="settings_separate_post_and_comments_summary">Автовідтворення відео не дозволене на сторінці відомостей допису</string>
|
||||
<string name="settings_use_bottom_toolbar_in_media_viewer_title">Викор. нижню панель засобів під час перегляду медіа</string>
|
||||
<string name="settings_secure_mode_title">Безпечний режим</string>
|
||||
<string name="settings_secure_mode_summary">Знімки екрана і запис відео не дозволено. Нема передперегляду на екрані свіжого в застосунку.</string>
|
||||
<string name="discard_dialog_button">Відхилити</string>
|
||||
<string name="settings_secure_mode_summary">Заборонено зімки екрана і запис відео. Нема передперегляду при перемиканні застосунків.</string>
|
||||
<string name="discard_dialog_button">Скасувати зміни</string>
|
||||
<string name="error_loading_wiki">Помилка завантаження вікі</string>
|
||||
<string name="no_wiki">Цей сабредит немає вікісторінки</string>
|
||||
<string name="no_wiki">Ця спільнота не має вікі-сторінки</string>
|
||||
<string name="material_you_notification_title">Застосування Material You</string>
|
||||
<string name="action_go_to_wiki">Перейти до Вікі</string>
|
||||
<string name="action_playback_speed">Швидкість відтворення</string>
|
||||
<string name="about">Про</string>
|
||||
<string name="settings_link_handler_title">Обробка посилань</string>
|
||||
<string name="settings_main_page_back_button_action">Дія кнопки Назад на основній сторінці</string>
|
||||
<string name="settings_link_handler_title">Обробник посилань</string>
|
||||
<string name="settings_main_page_back_button_action">Дія кнопки «Назад» на основній сторінці</string>
|
||||
<string name="settings_open_navigation_drawer">Відкрити шторку переходів</string>
|
||||
<string name="settings_number_of_columns_in_post_feed_unfolded_portrait_title">Портрет (Не згорнуто)</string>
|
||||
<string name="settings_number_of_columns_in_post_feed_unfolded_landscape_title">Альбом (Не згорнуто)</string>
|
||||
@@ -1087,16 +1083,16 @@
|
||||
<string name="settings_legacy_autoplay_video_controller_ui_title">Успадкований КІ керування відеозаписами</string>
|
||||
<string name="settings_pinch_to_zoom_video_title">Щипком збільшувати відео</string>
|
||||
<string name="settings_experimental_feature">Експериментальна функція</string>
|
||||
<string name="theme_item_media_indicator_icon_color">Колір значка індикатора медія</string>
|
||||
<string name="theme_item_media_indicator_icon_color_detail">Задіяно до: значки відеозаписів або галереї на передперегляді допису</string>
|
||||
<string name="theme_item_media_indicator_background_color">Колір тла індикатора медія</string>
|
||||
<string name="theme_item_media_indicator_background_color_detail">Задіяно до: тло значка відеозапису або галереї на передперегляді допису</string>
|
||||
<string name="go_to_top">Перейти на верх</string>
|
||||
<string name="theme_item_media_indicator_icon_color">Колір значка індикатора медіа</string>
|
||||
<string name="theme_item_media_indicator_icon_color_detail">Задіяно до: Значки відеозаписів або галереї на передперегляді допису</string>
|
||||
<string name="theme_item_media_indicator_background_color">Колір тла індикатора медіа</string>
|
||||
<string name="theme_item_media_indicator_background_color_detail">Задіяно до: Тло значка відеозапису або галереї на передперегляді допису</string>
|
||||
<string name="go_to_top">Перейти наверх</string>
|
||||
<string name="title_contains_strings_hint">Заголовок: містить ключові слова (слово1,слово2)</string>
|
||||
<string name="title_contains_regex_hint">Заголовок: містить рег.вир.</string>
|
||||
<string name="title_contains_regex_hint">Заголовок: містить регулярний вираз</string>
|
||||
<string name="contain_domains_hint">Містить домени</string>
|
||||
<string name="anonymous_multireddit_no_community">Цей мультиредит немає сабредиту!</string>
|
||||
<string name="error_fetching_v_redd_it_video_cannot_get_video_url">Помилка отримання відеозапису із v.redd.it: Не можливо отримати url відеозапису</string>
|
||||
<string name="anonymous_multireddit_no_community">Ця мультиспільнота не має спільнот!</string>
|
||||
<string name="error_fetching_v_redd_it_video_cannot_get_video_url">Помилка отримання відеозапису з v.redd.it: Неможливо отримати URL відеозапису</string>
|
||||
<string name="contain_domain">Містить цей домен</string>
|
||||
<string name="lock_screen_text">Хто тут!!!</string>
|
||||
<string name="app_lock_timeout_immediately">Негайно</string>
|
||||
@@ -1116,19 +1112,19 @@
|
||||
<string name="app_lock_timeout_12_hours">12 годин</string>
|
||||
<string name="app_lock_timeout_24_hours">24 години</string>
|
||||
<string name="edit_profile_activity_label">Змінити профіль</string>
|
||||
<string name="action_contact_mods">Моди контактів</string>
|
||||
<string name="settings_save_nsfw_media_in_different_folder_title">Зберігати НБДР-медія в інше місце</string>
|
||||
<string name="action_contact_mods">Написати модераторам</string>
|
||||
<string name="settings_save_nsfw_media_in_different_folder_title">Зберігати НБДР-медіа в інше місце</string>
|
||||
<string name="settings_nsfw_download_location_title">Місце завантаження НБДР</string>
|
||||
<string name="fetch_streamable_video_failed">Не вдалося отримати потоковий відеозапис</string>
|
||||
<!-- EditProfileService Notification -->
|
||||
<string name="submit_change_avatar">Надіслати змінену аватарку</string>
|
||||
<string name="submit_change_banner">Надіслати змінений банер</string>
|
||||
<string name="submit_save_profile">Надіслати зберігання профілю</string>
|
||||
<string name="submit_save_profile">Зберегти профіль</string>
|
||||
<!-- EditProfileActivity -->
|
||||
<string name="action_edit_profile">Змінити профіль</string>
|
||||
<string name="remove_avatar">Вилучити аватарку</string>
|
||||
<string name="remove_banner">Вилучити банер</string>
|
||||
<string name="display_name_text">Відобразити назву</string>
|
||||
<string name="display_name_text">Відображуване ім\'я</string>
|
||||
<string name="display_name_hint">Показувати на Вашій сторінці профілю</string>
|
||||
<string name="display_name_description">Це буде відображатися переглядачам Вашої сторінки профілю і не змінює Вашого імені користувача.</string>
|
||||
<string name="about_you_text">Про себе</string>
|
||||
@@ -1149,23 +1145,23 @@
|
||||
<string name="two_options_required">Хороше опитування потребує два або більше варіантів!</string>
|
||||
<string name="bottom_sheet_post_poll">Опитування</string>
|
||||
<string name="no_activity_found_for_external_browser">Нема програми, яка може обробити дію відкривання в зовнішньому оглядачі</string>
|
||||
<string name="settings_require_authentication_to_show_accounts">Щоб показати обліківки потрібна автентифікація</string>
|
||||
<string name="settings_require_authentication_to_show_accounts">Вимагати автентифікацію, щоб показати обліківки</string>
|
||||
<string name="settings_custom_font_family_title">Власне сімейство шрифтів</string>
|
||||
<string name="settings_custom_title_font_family_title">Власне сімейство шрифтів для заголовку</string>
|
||||
<string name="settings_custom_content_font_family_title">Власне сімейство шрифтів для вмісту</string>
|
||||
<string name="settings_fixed_height_preview_in_card_title">Фіксована висота карток</string>
|
||||
<string name="settings_hide_text_post_content">Ховати текст вмісту дописів</string>
|
||||
<string name="settings_hide_comment_awards_title">Ховати нагороди коментарів</string>
|
||||
<string name="settings_show_fewer_toolbar_options_threshold_title">Показувати менше параметрів панелі засобів починаючи з</string>
|
||||
<string name="settings_show_fewer_toolbar_options_threshold_title">Показувати менше параметрів панелі засобів, починаючи з</string>
|
||||
<string name="settings_show_fewer_toolbar_options_threshold_summary">Рівень %1$d</string>
|
||||
<string name="settings_show_author_avatar_title">Показувати аватарку автора</string>
|
||||
<string name="settings_reddit_user_agreement_title">Угода користувача Reddit</string>
|
||||
<string name="settings_always_show_child_comment_count_title">Завжди показувати кількість дитячих коментарів</string>
|
||||
<string name="settings_hide_upvote_ratio_title">Ховати голоси вверх</string>
|
||||
<string name="settings_reddit_user_agreement_title">Угода користувача Lemmy</string>
|
||||
<string name="settings_always_show_child_comment_count_title">Завжди показувати кількість дочірніх коментарів</string>
|
||||
<string name="settings_hide_upvote_ratio_title">Ховати голоси вгору</string>
|
||||
<string name="settings_miscellaneous_dangerous_group_title">Небезпечно</string>
|
||||
<string name="settings_post_feed_max_resolution_warning_title">Збільшувати значення для показу огляду у вищій роздільності, але програма може неочікувано дати збій.</string>
|
||||
<string name="settings_post_feed_max_resolution_title">Найбільша роздільність огляду стрічки дописів (ширина * висоту)</string>
|
||||
<string name="settings_reddit_video_default_resolution">Типова роздільність відео Reddit</string>
|
||||
<string name="settings_post_feed_max_resolution_warning_title">Збільшити роздільність попереднього перегляду дописів, але програма може неочікувано дати збій.</string>
|
||||
<string name="settings_post_feed_max_resolution_title">Найбільша роздільність попереднього перегляду дописів (ширина × висота)</string>
|
||||
<string name="settings_reddit_video_default_resolution">Типова роздільність відео Lemmy</string>
|
||||
<string name="select_a_ttf_font">Виберіть файл шрифту ttf</string>
|
||||
<string name="unable_to_get_font_file">Не вдалося отримати Ваш шрифт</string>
|
||||
<string name="unable_to_load_font">Не вдалося завантажити власний шрифт</string>
|
||||
@@ -1182,9 +1178,97 @@
|
||||
<string name="option_4_hint">Варіант 4</string>
|
||||
<string name="option_5_hint">Варіант 5</string>
|
||||
<string name="option_6_hint">Варіант 6</string>
|
||||
<string name="not_a_valid_number">Не правильне число</string>
|
||||
<string name="not_a_valid_number">Неправильне число</string>
|
||||
<string name="post_karma">Карма за дописи:</string>
|
||||
<string name="comment_karma">Карма за коментарі:</string>
|
||||
<string name="awarder_karma">Карма за надання нагород:</string>
|
||||
<string name="awardee_karma">Карма за отримання нагород:</string>
|
||||
<string name="comment_count_detail">%1$,d коментарів</string>
|
||||
<string name="user_2fa_token">Токен 2FA (якщо є)</string>
|
||||
<string name="history_activity_label">Історія</string>
|
||||
<string name="action_block_user">Заблокувати користувача</string>
|
||||
<string name="sort_time_6hours">6 годин</string>
|
||||
<string name="send_report">Надіслати скаргу</string>
|
||||
<string name="invalid_username_or_password">Неправильне ім\'я користувача або пароль</string>
|
||||
<string name="image_index_in_gallery">%1$d/%2$d</string>
|
||||
<string name="settings_hide_fab_in_post_feed">Ховати плаваючу кнопку дії в стрічці дописів</string>
|
||||
<string name="go_to_settings">Налаштування</string>
|
||||
<string name="mark_post_as_read_failed">Не вдалося позначати допис прочитаним</string>
|
||||
<string name="password_cannot_be_empty">Пароль не може бути порожнім.</string>
|
||||
<string name="settings_comment_divider_type">Роздільник коментарів</string>
|
||||
<string name="url_cannot_be_null_or_empty">URL не може бути порожнім</string>
|
||||
<string name="storage_permission_denied">Дозвіл на доступ до сховища відхилено</string>
|
||||
<string name="error_unsupported_video">Медіа містить відеодоріжку, проте її неможливо відтворити на цьому пристрої</string>
|
||||
<string name="unblock_community">Розблокувати спільноту</string>
|
||||
<string name="block_community_failed">Не вдалося заблокувати спільноту</string>
|
||||
<string name="block_community_success">Спільноту заблоковано!</string>
|
||||
<string name="unblock_community_failed">Не вдалося розблокувати спільноту</string>
|
||||
<string name="unblock_community_success">Спільноту розблоковано!</string>
|
||||
<string name="unblock_user_success">Розблоковано</string>
|
||||
<string name="action_unblock_user">Розблокувати користувача</string>
|
||||
<string name="action_create_github_issue">Створити задачу на Codeberg</string>
|
||||
<string name="action_more_options">Більше налаштувань</string>
|
||||
<string name="history">Історія</string>
|
||||
<string name="anonymous_homepage_not_implemented">Анонімну домашню сторінку ще не реалізовано</string>
|
||||
<string name="user_username">Ім\'я користувача</string>
|
||||
<string name="upload_image">Завантажити зображення</string>
|
||||
<string name="settings_hide_community_and_user_instance">Ховати спільноту і сервер користувача</string>
|
||||
<string name="settings_show_display_name_instead_of_user_name">Показувати спільноту і відображувані імена користувачів</string>
|
||||
<string name="active_users_number_detail">%1$,d активних користувачів</string>
|
||||
<string name="post_count_detail">%1$,d дописів</string>
|
||||
<string name="invalid_response">Неправильна відповідь від сервера</string>
|
||||
<string name="settings_navigation_drawer_enable_hide_karma_title">Сховати карму обліківки</string>
|
||||
<string name="settings_backup_settings_summary">Пароль для файлу резервної копії — 123321.</string>
|
||||
<string name="settings_easier_to_watch_in_full_screen_title">Простіше переглядати в повноекранному режимі</string>
|
||||
<string name="block_user">Заблокувати користувача</string>
|
||||
<string name="block_user_success">Заблоковано</string>
|
||||
<string name="block_user_failed">Не вдалося заблокувати користувача</string>
|
||||
<string name="edited_time">Змінено о %s</string>
|
||||
<string name="edited">Змінено</string>
|
||||
<string name="clear_user_flair">Очистити личку</string>
|
||||
<string name="clear_user_flair_success">Личку користувача очищено</string>
|
||||
<string name="extra_small">Дуже малий</string>
|
||||
<string name="error_unsupported_audio">Медіа містить звукову доріжку, проте її неможливо відтворити на цьому пристрої</string>
|
||||
<string name="invalid_link">Неправильна ланка</string>
|
||||
<string name="i_understand">Зрозуміло</string>
|
||||
<string name="user_password">Пароль</string>
|
||||
<string name="sort_time_12hours">12 годин</string>
|
||||
<string name="sort_time_3months">3 місяці</string>
|
||||
<string name="sort_time_6months">6 місяців</string>
|
||||
<string name="sort_time_9months">9 місяців</string>
|
||||
<string name="report_post">Поскаржитися на допис</string>
|
||||
<string name="unblock_user_failed">Не вдалося розблокувати користувача</string>
|
||||
<string name="blocked_users">Заблоковані користувачі</string>
|
||||
<string name="replies">Відповіді</string>
|
||||
<string name="no_more_posts">Більше немає дописів</string>
|
||||
<string name="not_implemented">Функцію ще не реалізовано :(</string>
|
||||
<string name="use_circular_fab">Кругла плаваюча кнопка дії</string>
|
||||
<string name="user_login">Вхід</string>
|
||||
<string name="load_more_posts_failed">Не вдалося завантажити більше дописів.
|
||||
\nНатисніть, щоб повторити.</string>
|
||||
<string name="blocks">Заблоковане</string>
|
||||
<string name="blocked_communities">Заблоковані спільноти</string>
|
||||
<string name="username_cannot_be_empty">Ім\'я користувача не може бути порожнім.</string>
|
||||
<string name="instance_cannot_be_empty">Сервер не може бути порожнім.</string>
|
||||
<string name="block_community">Заблокувати спільноту
|
||||
\n</string>
|
||||
<string name="mentions">Згадки</string>
|
||||
<string name="invalid_regex">Неправильний регулярний вираз</string>
|
||||
<string name="denied_notification_permission">Дозволу на сповіщення не надано</string>
|
||||
<string name="exo_controls_volume_up_description">Гучніше</string>
|
||||
<string name="exo_controls_volume_off_description">Без звуку</string>
|
||||
<string name="could_not_resolve_link">Не вдалося визначити URL :(</string>
|
||||
<string name="reddit_api_info_title">Важливе повідомлення щодо змін у Reddit API</string>
|
||||
<string name="separate_down_and_up_votes">Розділяти голоси вгору і вниз</string>
|
||||
<string name="settings_show_statistics">Показувати статистику</string>
|
||||
<string name="settings_category_community_and_user_pages_title">Сторінки спільнот і користувачів</string>
|
||||
<string name="settings_show_post_and_comment_score">Показувати оцінки дописів і коментарів</string>
|
||||
<string name="instance_info">Про сервер</string>
|
||||
<string name="instance_url">URL сервера</string>
|
||||
<string name="anonymous_account_instance">Сервер анонімної обліківки</string>
|
||||
<string name="instance_url_hint">URL вибраного Вами сервера Lemmy (з https:// або без нього)</string>
|
||||
<string name="moderators">Модератори</string>
|
||||
<string name="enable_random_adaptation">Увімкнути випадкову адаптацію</string>
|
||||
<string name="handle_link">Обробка посилань</string>
|
||||
<string name="sample_list_load_error">Не вдалося завантажити один або кілька списків зразків</string>
|
||||
</resources>
|
||||
@@ -380,7 +380,7 @@
|
||||
<string name="settings_reddit_account_title">Tài khoản Reddit</string>
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">Subreddit</string>
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@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>
|
||||
|
||||
@@ -382,7 +382,7 @@
|
||||
<string name="settings_reddit_account_summary">u/Hostilenemy</string>
|
||||
<string name="settings_community_title">版块</string>
|
||||
<!-- 这个应该不做翻译为好,它是指示infinity社区位置的。在关于界面 -->
|
||||
<string name="settings_community_summary">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="settings_community_summary">!eternityapp@lemdro.id</string>
|
||||
<string name="settings_share_title">分享</string>
|
||||
<string name="settings_share_summary">如果您喜欢此应用,可以分享给其他人</string>
|
||||
<string name="settings_version_title">Infinity For Reddit</string>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="application_name" translatable="false">Infinity for Lemmy</string>
|
||||
<string name="application_name" translatable="false">Eternity</string>
|
||||
<string name="login_activity_label">Login</string>
|
||||
<string name="search_activity_label" translatable="false"> </string>
|
||||
<string name="comment_activity_label">Send Comment</string>
|
||||
@@ -150,6 +150,8 @@
|
||||
<string name="active_users_number_detail">%1$,d Active Users</string>
|
||||
<string name="post_count_detail">%1$,d Posts</string>
|
||||
<string name="comment_count_detail">%1$,d Comments</string>
|
||||
<string name="user_number_detail">%1$,d Users</string>
|
||||
<string name="community_number_detail">%1$,d Communities</string>
|
||||
<string name="online_subscribers_number_detail">Online: %1$,d</string>
|
||||
<string name="cannot_fetch_community_info">Cannot fetch community info</string>
|
||||
<string name="cannot_fetch_user_info">Cannot fetch user info</string>
|
||||
@@ -479,11 +481,11 @@
|
||||
<string name="settings_reddit_account_title">Lemmy Account</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_community_summary">!eternityapp@lemdro.id</string>
|
||||
<string name="settings_share_title">Share</string>
|
||||
<string name="settings_share_summary">Share this app to other people if you enjoy it</string>
|
||||
<string name="settings_privacy_policy_title">Privacy Policy</string>
|
||||
<string name="settings_version_title">Infinity For Lemmy</string>
|
||||
<string name="settings_version_title">Eternity</string>
|
||||
<string name="settings_version_summary">Version %s</string>
|
||||
<string name="settings_category_customization_title">Customization</string>
|
||||
<string name="settings_customize_light_theme_title">Light Theme</string>
|
||||
@@ -707,7 +709,7 @@
|
||||
<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>
|
||||
<string name="share_this_app">Check out Eternity, an awesome Lemmy client!\nhttps://play.google.com/store/apps/details?id=eu.toldi.infinityforlemmy</string>
|
||||
|
||||
<string name="error_getting_community_name">Error getting community name</string>
|
||||
|
||||
@@ -948,6 +950,9 @@
|
||||
<string name="theme_name_red_amoled">Red Amoled</string>
|
||||
<string name="theme_name_dracula">Dracula</string>
|
||||
<string name="theme_name_calm_pastel">Calm Pastel</string>
|
||||
<string name="theme_name_dayfox">Dayfox</string>
|
||||
<string name="theme_name_nightfox">Nightfox</string>
|
||||
<string name="theme_name_carbonfox">Carbonfox</string>
|
||||
<string name="create_light_theme">Create a Light Theme\nBase on Indigo Theme</string>
|
||||
<string name="create_dark_theme">Create a Dark Theme\nBase on Indigo Dark Theme</string>
|
||||
<string name="create_amoled_theme">Create an Amoled Theme\nBase on Indigo Amoled Theme</string>
|
||||
@@ -984,7 +989,7 @@
|
||||
<string name="reset_all_settings_success">Reset all settings successfully</string>
|
||||
|
||||
<string name="username_preview">\@bazsalanszky@lemmy.toldi.eu</string>
|
||||
<string name="community_preview">!infinityforlemmy@lemdro.id</string>
|
||||
<string name="community_preview">!eternityapp@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>
|
||||
@@ -1372,4 +1377,10 @@
|
||||
<string name="settings_show_display_name_instead_of_user_name">Show community and user display names</string>
|
||||
<string name="report_post">Report Post</string>
|
||||
<string name="send_report">Send Report</string>
|
||||
<string name="settings_category_community_and_user_pages_title">Community and User pages</string>
|
||||
<string name="settings_show_statistics">Show Statistics</string>
|
||||
<string name="settings_show_post_and_comment_score">Show post and comment scores</string>
|
||||
<string name="moderators">Moderators</string>
|
||||
<string name="admins">Admins</string>
|
||||
<string name="settings_hide_user_instance">Hide user instance</string>
|
||||
</resources>
|
||||
|
||||
@@ -61,6 +61,16 @@
|
||||
app:key="comment_separate_down_and_up_votes"
|
||||
app:title="@string/separate_down_and_up_votes" />
|
||||
|
||||
<eu.toldi.infinityforlemmy.customviews.CustomFontSwitchPreference
|
||||
app:defaultValue="false"
|
||||
app:key="comment_hide_user_instance"
|
||||
app:title="@string/settings_hide_user_instance" />
|
||||
|
||||
<eu.toldi.infinityforlemmy.customviews.CustomFontSwitchPreference
|
||||
app:defaultValue="true"
|
||||
app:key="comment_display_name_instead_of_user_name"
|
||||
app:title="@string/settings_show_display_name_instead_of_user_name" />
|
||||
|
||||
<eu.toldi.infinityforlemmy.customviews.CustomFontSeekBarPreference
|
||||
app:defaultValue="5"
|
||||
android:max="10"
|
||||
|
||||
@@ -86,4 +86,16 @@
|
||||
app:key="show_absolute_number_of_votes"
|
||||
app:title="@string/settings_show_absolute_number_of_votes_title" />
|
||||
|
||||
<eu.toldi.infinityforlemmy.customviews.CustomFontPreferenceCategory app:title="@string/settings_category_community_and_user_pages_title" />
|
||||
|
||||
<eu.toldi.infinityforlemmy.customviews.CustomFontSwitchPreference
|
||||
app:defaultValue="true"
|
||||
app:key="show_statistics"
|
||||
app:title="@string/settings_show_statistics" />
|
||||
|
||||
<eu.toldi.infinityforlemmy.customviews.CustomFontSwitchPreference
|
||||
app:defaultValue="true"
|
||||
app:key="show_score"
|
||||
app:title="@string/settings_show_post_and_comment_score" />
|
||||
|
||||
</PreferenceScreen>
|
||||
@@ -1,3 +1,3 @@
|
||||
<resources>
|
||||
<string name="application_name" translatable="false">Infinity for Lemmy (Nightly)</string>
|
||||
<string name="application_name" translatable="false">Eternity (Nightly)</string>
|
||||
</resources>
|
||||
@@ -1,4 +1,4 @@
|
||||
<h1>Infinity for Lemmy</h1>
|
||||
<h1>Eternity</h1>
|
||||
<p>A client for Lemmy, specifically designed for Android and written in Java. This project is a fork of the Infinity for Reddit project, and it is currently in the early stages of development. As such, expect many unfinished features and potential bugs!</p>
|
||||
|
||||
<h2>Development Progress</h2>
|
||||
|
||||
@@ -1 +1 @@
|
||||
Infinity for Lemmy
|
||||
Eternity
|
||||
|
||||
Reference in New Issue
Block a user