From 726eac70a9cfbd8c4668300ee58ba01be86165dd Mon Sep 17 00:00:00 2001 From: Balazs Toldi Date: Fri, 10 Nov 2023 22:48:26 +0100 Subject: [PATCH] Minor improvements to manage multicommunities --- .../activities/EditMultiRedditActivity.java | 98 +++++++------------ .../SubscribedThingListingActivity.java | 27 +---- .../DeleteMultiredditInDatabase.java | 6 +- .../multireddit/FetchMultiRedditInfo.java | 4 +- .../res/layout/activity_edit_multi_reddit.xml | 9 +- 5 files changed, 46 insertions(+), 98 deletions(-) diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/activities/EditMultiRedditActivity.java b/app/src/main/java/eu/toldi/infinityforlemmy/activities/EditMultiRedditActivity.java index 64a1ce88..32a923b2 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/activities/EditMultiRedditActivity.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/activities/EditMultiRedditActivity.java @@ -122,7 +122,7 @@ public class EditMultiRedditActivity extends BaseActivity { getSupportActionBar().setDisplayHomeAsUpEnabled(true); mAccessToken = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCESS_TOKEN, null); - mAccountName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_NAME, "-"); + mAccountName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_QUALIFIED_NAME, "-"); if (mAccessToken == null) { visibilityLinearLayout.setVisibility(View.GONE); @@ -144,41 +144,24 @@ public class EditMultiRedditActivity extends BaseActivity { private void bindView() { if (multiReddit == null) { - if (mAccessToken == null) { - FetchMultiRedditInfo.anonymousFetchMultiRedditInfo(mExecutor, new Handler(), - mRedditDataRoomDatabase, multipath, new FetchMultiRedditInfo.FetchMultiRedditInfoListener() { - @Override - public void success(MultiReddit multiReddit) { - EditMultiRedditActivity.this.multiReddit = multiReddit; - progressBar.setVisibility(View.GONE); - linearLayout.setVisibility(View.VISIBLE); - nameEditText.setText(multiReddit.getDisplayName()); - descriptionEditText.setText(multiReddit.getDescription()); - } - @Override - public void failed() { - //Will not be called - } - }); - } else { - FetchMultiRedditInfo.fetchMultiRedditInfo(mRetrofit, mAccessToken, multipath, new FetchMultiRedditInfo.FetchMultiRedditInfoListener() { - @Override - public void success(MultiReddit multiReddit) { - EditMultiRedditActivity.this.multiReddit = multiReddit; - progressBar.setVisibility(View.GONE); - linearLayout.setVisibility(View.VISIBLE); - nameEditText.setText(multiReddit.getDisplayName()); - descriptionEditText.setText(multiReddit.getDescription()); - visibilitySwitch.setChecked(!multiReddit.getVisibility().equals("public")); - } + FetchMultiRedditInfo.anonymousFetchMultiRedditInfo(mExecutor, new Handler(), + mRedditDataRoomDatabase, multipath, mAccountName, new FetchMultiRedditInfo.FetchMultiRedditInfoListener() { + @Override + public void success(MultiReddit multiReddit) { + EditMultiRedditActivity.this.multiReddit = multiReddit; + progressBar.setVisibility(View.GONE); + linearLayout.setVisibility(View.VISIBLE); + nameEditText.setText(multiReddit.getDisplayName()); + descriptionEditText.setText(multiReddit.getDescription()); + } + + @Override + public void failed() { + //Will not be called + } + }); - @Override - public void failed() { - Snackbar.make(coordinatorLayout, R.string.cannot_fetch_multireddit, Snackbar.LENGTH_SHORT).show(); - } - }); - } } else { progressBar.setVisibility(View.GONE); linearLayout.setVisibility(View.VISIBLE); @@ -215,39 +198,24 @@ public class EditMultiRedditActivity extends BaseActivity { return true; } - if (mAccessToken == null) { - String name = nameEditText.getText().toString(); - multiReddit.setDisplayName(name); - multiReddit.setName(name); - multiReddit.setDescription(descriptionEditText.getText().toString()); - EditMultiReddit.anonymousEditMultiReddit(mExecutor, new Handler(), mRedditDataRoomDatabase, - multiReddit, new EditMultiReddit.EditMultiRedditListener() { - @Override - public void success() { - finish(); - } - @Override - public void failed() { - //Will not be called - } - }); - } else { - /*String jsonModel = new MultiRedditJSONModel(nameEditText.getText().toString(), descriptionEditText.getText().toString(), - visibilitySwitch.isChecked(), multiReddit.getSubreddits()).createJSONModel(); - EditMultiReddit.editMultiReddit(mRetrofit, mAccessToken, multiReddit.getPath(), - jsonModel, new EditMultiReddit.EditMultiRedditListener() { - @Override - public void success() { - finish(); - } + String name = nameEditText.getText().toString(); + multiReddit.setDisplayName(name); + multiReddit.setName(name); + multiReddit.setDescription(descriptionEditText.getText().toString()); + EditMultiReddit.anonymousEditMultiReddit(mExecutor, new Handler(), mRedditDataRoomDatabase, + multiReddit, new EditMultiReddit.EditMultiRedditListener() { + @Override + public void success() { + finish(); + } + + @Override + public void failed() { + //Will not be called + } + }); - @Override - public void failed() { - Snackbar.make(coordinatorLayout, R.string.edit_multi_reddit_failed, Snackbar.LENGTH_SHORT).show(); - } - });*/ - } return true; } return false; diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/activities/SubscribedThingListingActivity.java b/app/src/main/java/eu/toldi/infinityforlemmy/activities/SubscribedThingListingActivity.java index 57935519..0684abc0 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/activities/SubscribedThingListingActivity.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/activities/SubscribedThingListingActivity.java @@ -63,7 +63,6 @@ import eu.toldi.infinityforlemmy.events.SwitchAccountEvent; import eu.toldi.infinityforlemmy.fragments.FollowedUsersListingFragment; import eu.toldi.infinityforlemmy.fragments.MultiRedditListingFragment; import eu.toldi.infinityforlemmy.fragments.SubscribedSubredditsListingFragment; -import eu.toldi.infinityforlemmy.multireddit.DeleteMultiReddit; import eu.toldi.infinityforlemmy.multireddit.FetchMyMultiReddits; import eu.toldi.infinityforlemmy.multireddit.MultiReddit; import eu.toldi.infinityforlemmy.subreddit.SubredditData; @@ -386,7 +385,7 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti FetchMyMultiReddits.fetchMyMultiReddits(mOauthRetrofit, mAccessToken, new FetchMyMultiReddits.FetchMyMultiRedditsListener() { @Override public void success(ArrayList multiReddits) { - InsertMultireddit.insertMultireddits(mExecutor, new Handler(), mRedditDataRoomDatabase, multiReddits, mAccountName, () -> { + InsertMultireddit.insertMultireddits(mExecutor, new Handler(), mRedditDataRoomDatabase, multiReddits, mAccountQualifiedName, () -> { mInsertMultiredditSuccess = true; sectionsPagerAdapter.stopMultiRedditRefreshProgressbar(); }); @@ -408,27 +407,11 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti .setMessage(R.string.delete_multi_reddit_dialog_message) .setPositiveButton(R.string.delete, (dialogInterface, i) -> { - if (mAccessToken == null) { - DeleteMultiredditInDatabase.deleteMultiredditInDatabase(mExecutor, new Handler(), mRedditDataRoomDatabase, mAccountName, multiReddit.getPath(), - () -> Toast.makeText(SubscribedThingListingActivity.this, - R.string.delete_multi_reddit_success, Toast.LENGTH_SHORT).show()); - } else { - DeleteMultiReddit.deleteMultiReddit(mExecutor, new Handler(), mOauthRetrofit, mRedditDataRoomDatabase, - mAccessToken, mAccountName, multiReddit.getPath(), new DeleteMultiReddit.DeleteMultiRedditListener() { - @Override - public void success() { - Toast.makeText(SubscribedThingListingActivity.this, - R.string.delete_multi_reddit_success, Toast.LENGTH_SHORT).show(); - //loadMultiReddits(); - } - @Override - public void failed() { - Toast.makeText(SubscribedThingListingActivity.this, - R.string.delete_multi_reddit_failed, Toast.LENGTH_SHORT).show(); - } - }); - } + DeleteMultiredditInDatabase.deleteMultiredditInDatabase(mExecutor, new Handler(), mRedditDataRoomDatabase, mAccountQualifiedName, multiReddit.getPath(), + () -> Toast.makeText(SubscribedThingListingActivity.this, + R.string.delete_multi_reddit_success, Toast.LENGTH_SHORT).show()); + }) .setNegativeButton(R.string.cancel, null) .show(); diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/asynctasks/DeleteMultiredditInDatabase.java b/app/src/main/java/eu/toldi/infinityforlemmy/asynctasks/DeleteMultiredditInDatabase.java index 31629472..4bc2ee28 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/asynctasks/DeleteMultiredditInDatabase.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/asynctasks/DeleteMultiredditInDatabase.java @@ -13,11 +13,7 @@ public class DeleteMultiredditInDatabase { String accountName, String multipath, DeleteMultiredditInDatabaseListener deleteMultiredditInDatabaseListener) { executor.execute(() -> { - if (accountName.equals("-")) { - redditDataRoomDatabase.multiRedditDao().anonymousDeleteMultiReddit(multipath); - } else { - redditDataRoomDatabase.multiRedditDao().deleteMultiReddit(multipath, accountName); - } + redditDataRoomDatabase.multiRedditDao().anonymousDeleteMultiReddit(multipath); handler.post(deleteMultiredditInDatabaseListener::success); }); } diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/FetchMultiRedditInfo.java b/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/FetchMultiRedditInfo.java index 94026982..13203e4f 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/FetchMultiRedditInfo.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/FetchMultiRedditInfo.java @@ -50,10 +50,10 @@ public class FetchMultiRedditInfo { public static void anonymousFetchMultiRedditInfo(Executor executor, Handler handler, RedditDataRoomDatabase redditDataRoomDatabase, - String multipath, + String multipath, String accountName, FetchMultiRedditInfoListener fetchMultiRedditInfoListener) { executor.execute(() -> { - MultiReddit multiReddit = redditDataRoomDatabase.multiRedditDao().getMultiReddit(multipath, "-"); + MultiReddit multiReddit = redditDataRoomDatabase.multiRedditDao().getMultiReddit(multipath, accountName); ArrayList anonymousMultiredditSubreddits = (ArrayList) redditDataRoomDatabase.anonymousMultiredditSubredditDao().getAllAnonymousMultiRedditSubreddits(multipath); ArrayList subredditNames = new ArrayList<>(); diff --git a/app/src/main/res/layout/activity_edit_multi_reddit.xml b/app/src/main/res/layout/activity_edit_multi_reddit.xml index 65c794e5..2783616b 100644 --- a/app/src/main/res/layout/activity_edit_multi_reddit.xml +++ b/app/src/main/res/layout/activity_edit_multi_reddit.xml @@ -89,10 +89,11 @@ android:id="@+id/visibility_wrapper_linear_layout_edit_multi_reddit_activity" android:layout_width="match_parent" android:layout_height="wrap_content" - android:padding="16dp" + android:background="?attr/selectableItemBackground" android:clickable="true" android:focusable="true" - android:background="?attr/selectableItemBackground"> + android:padding="16dp" + tools:visibility="gone"> + android:textColor="?attr/primaryTextColor" + android:textSize="?attr/font_default" />