Minor improvements to manage multicommunities

This commit is contained in:
Balazs Toldi 2023-11-10 22:48:26 +01:00
parent 421342734c
commit 726eac70a9
No known key found for this signature in database
GPG Key ID: 6C7D440036F99D58
5 changed files with 46 additions and 98 deletions

View File

@ -122,7 +122,7 @@ public class EditMultiRedditActivity extends BaseActivity {
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mAccessToken = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCESS_TOKEN, null); mAccessToken = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCESS_TOKEN, null);
mAccountName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_NAME, "-"); mAccountName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_QUALIFIED_NAME, "-");
if (mAccessToken == null) { if (mAccessToken == null) {
visibilityLinearLayout.setVisibility(View.GONE); visibilityLinearLayout.setVisibility(View.GONE);
@ -144,9 +144,9 @@ public class EditMultiRedditActivity extends BaseActivity {
private void bindView() { private void bindView() {
if (multiReddit == null) { if (multiReddit == null) {
if (mAccessToken == null) {
FetchMultiRedditInfo.anonymousFetchMultiRedditInfo(mExecutor, new Handler(), FetchMultiRedditInfo.anonymousFetchMultiRedditInfo(mExecutor, new Handler(),
mRedditDataRoomDatabase, multipath, new FetchMultiRedditInfo.FetchMultiRedditInfoListener() { mRedditDataRoomDatabase, multipath, mAccountName, new FetchMultiRedditInfo.FetchMultiRedditInfoListener() {
@Override @Override
public void success(MultiReddit multiReddit) { public void success(MultiReddit multiReddit) {
EditMultiRedditActivity.this.multiReddit = multiReddit; EditMultiRedditActivity.this.multiReddit = multiReddit;
@ -161,24 +161,7 @@ public class EditMultiRedditActivity extends BaseActivity {
//Will not be called //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"));
}
@Override
public void failed() {
Snackbar.make(coordinatorLayout, R.string.cannot_fetch_multireddit, Snackbar.LENGTH_SHORT).show();
}
});
}
} else { } else {
progressBar.setVisibility(View.GONE); progressBar.setVisibility(View.GONE);
linearLayout.setVisibility(View.VISIBLE); linearLayout.setVisibility(View.VISIBLE);
@ -215,7 +198,7 @@ public class EditMultiRedditActivity extends BaseActivity {
return true; return true;
} }
if (mAccessToken == null) {
String name = nameEditText.getText().toString(); String name = nameEditText.getText().toString();
multiReddit.setDisplayName(name); multiReddit.setDisplayName(name);
multiReddit.setName(name); multiReddit.setName(name);
@ -232,22 +215,7 @@ public class EditMultiRedditActivity extends BaseActivity {
//Will not be called //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();
}
@Override
public void failed() {
Snackbar.make(coordinatorLayout, R.string.edit_multi_reddit_failed, Snackbar.LENGTH_SHORT).show();
}
});*/
}
return true; return true;
} }
return false; return false;

View File

@ -63,7 +63,6 @@ import eu.toldi.infinityforlemmy.events.SwitchAccountEvent;
import eu.toldi.infinityforlemmy.fragments.FollowedUsersListingFragment; import eu.toldi.infinityforlemmy.fragments.FollowedUsersListingFragment;
import eu.toldi.infinityforlemmy.fragments.MultiRedditListingFragment; import eu.toldi.infinityforlemmy.fragments.MultiRedditListingFragment;
import eu.toldi.infinityforlemmy.fragments.SubscribedSubredditsListingFragment; import eu.toldi.infinityforlemmy.fragments.SubscribedSubredditsListingFragment;
import eu.toldi.infinityforlemmy.multireddit.DeleteMultiReddit;
import eu.toldi.infinityforlemmy.multireddit.FetchMyMultiReddits; import eu.toldi.infinityforlemmy.multireddit.FetchMyMultiReddits;
import eu.toldi.infinityforlemmy.multireddit.MultiReddit; import eu.toldi.infinityforlemmy.multireddit.MultiReddit;
import eu.toldi.infinityforlemmy.subreddit.SubredditData; import eu.toldi.infinityforlemmy.subreddit.SubredditData;
@ -386,7 +385,7 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti
FetchMyMultiReddits.fetchMyMultiReddits(mOauthRetrofit, mAccessToken, new FetchMyMultiReddits.FetchMyMultiRedditsListener() { FetchMyMultiReddits.fetchMyMultiReddits(mOauthRetrofit, mAccessToken, new FetchMyMultiReddits.FetchMyMultiRedditsListener() {
@Override @Override
public void success(ArrayList<MultiReddit> multiReddits) { public void success(ArrayList<MultiReddit> multiReddits) {
InsertMultireddit.insertMultireddits(mExecutor, new Handler(), mRedditDataRoomDatabase, multiReddits, mAccountName, () -> { InsertMultireddit.insertMultireddits(mExecutor, new Handler(), mRedditDataRoomDatabase, multiReddits, mAccountQualifiedName, () -> {
mInsertMultiredditSuccess = true; mInsertMultiredditSuccess = true;
sectionsPagerAdapter.stopMultiRedditRefreshProgressbar(); sectionsPagerAdapter.stopMultiRedditRefreshProgressbar();
}); });
@ -408,27 +407,11 @@ public class SubscribedThingListingActivity extends BaseActivity implements Acti
.setMessage(R.string.delete_multi_reddit_dialog_message) .setMessage(R.string.delete_multi_reddit_dialog_message)
.setPositiveButton(R.string.delete, (dialogInterface, i) .setPositiveButton(R.string.delete, (dialogInterface, i)
-> { -> {
if (mAccessToken == null) {
DeleteMultiredditInDatabase.deleteMultiredditInDatabase(mExecutor, new Handler(), mRedditDataRoomDatabase, mAccountName, multiReddit.getPath(), DeleteMultiredditInDatabase.deleteMultiredditInDatabase(mExecutor, new Handler(), mRedditDataRoomDatabase, mAccountQualifiedName, multiReddit.getPath(),
() -> Toast.makeText(SubscribedThingListingActivity.this, () -> Toast.makeText(SubscribedThingListingActivity.this,
R.string.delete_multi_reddit_success, Toast.LENGTH_SHORT).show()); 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();
}
});
}
}) })
.setNegativeButton(R.string.cancel, null) .setNegativeButton(R.string.cancel, null)
.show(); .show();

View File

@ -13,11 +13,7 @@ public class DeleteMultiredditInDatabase {
String accountName, String multipath, String accountName, String multipath,
DeleteMultiredditInDatabaseListener deleteMultiredditInDatabaseListener) { DeleteMultiredditInDatabaseListener deleteMultiredditInDatabaseListener) {
executor.execute(() -> { executor.execute(() -> {
if (accountName.equals("-")) {
redditDataRoomDatabase.multiRedditDao().anonymousDeleteMultiReddit(multipath); redditDataRoomDatabase.multiRedditDao().anonymousDeleteMultiReddit(multipath);
} else {
redditDataRoomDatabase.multiRedditDao().deleteMultiReddit(multipath, accountName);
}
handler.post(deleteMultiredditInDatabaseListener::success); handler.post(deleteMultiredditInDatabaseListener::success);
}); });
} }

View File

@ -50,10 +50,10 @@ public class FetchMultiRedditInfo {
public static void anonymousFetchMultiRedditInfo(Executor executor, Handler handler, public static void anonymousFetchMultiRedditInfo(Executor executor, Handler handler,
RedditDataRoomDatabase redditDataRoomDatabase, RedditDataRoomDatabase redditDataRoomDatabase,
String multipath, String multipath, String accountName,
FetchMultiRedditInfoListener fetchMultiRedditInfoListener) { FetchMultiRedditInfoListener fetchMultiRedditInfoListener) {
executor.execute(() -> { executor.execute(() -> {
MultiReddit multiReddit = redditDataRoomDatabase.multiRedditDao().getMultiReddit(multipath, "-"); MultiReddit multiReddit = redditDataRoomDatabase.multiRedditDao().getMultiReddit(multipath, accountName);
ArrayList<AnonymousMultiredditSubreddit> anonymousMultiredditSubreddits = ArrayList<AnonymousMultiredditSubreddit> anonymousMultiredditSubreddits =
(ArrayList<AnonymousMultiredditSubreddit>) redditDataRoomDatabase.anonymousMultiredditSubredditDao().getAllAnonymousMultiRedditSubreddits(multipath); (ArrayList<AnonymousMultiredditSubreddit>) redditDataRoomDatabase.anonymousMultiredditSubredditDao().getAllAnonymousMultiRedditSubreddits(multipath);
ArrayList<SubredditWithSelection> subredditNames = new ArrayList<>(); ArrayList<SubredditWithSelection> subredditNames = new ArrayList<>();

View File

@ -89,10 +89,11 @@
android:id="@+id/visibility_wrapper_linear_layout_edit_multi_reddit_activity" android:id="@+id/visibility_wrapper_linear_layout_edit_multi_reddit_activity"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="16dp" android:background="?attr/selectableItemBackground"
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:background="?attr/selectableItemBackground"> android:padding="16dp"
tools:visibility="gone">
<TextView <TextView
android:id="@+id/visibility_text_view_edit_multi_reddit_activity" android:id="@+id/visibility_text_view_edit_multi_reddit_activity"
@ -100,8 +101,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:text="@string/private_multi_reddit" android:text="@string/private_multi_reddit"
android:textSize="?attr/font_default" android:textColor="?attr/primaryTextColor"
android:textColor="?attr/primaryTextColor" /> android:textSize="?attr/font_default" />
<Switch <Switch
android:id="@+id/visibility_switch_edit_multi_reddit_activity" android:id="@+id/visibility_switch_edit_multi_reddit_activity"