mirror of
				https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
				synced 2025-10-31 00:48:09 +01:00 
			
		
		
		
	Minor improvements to manage multicommunities
This commit is contained in:
		| @@ -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; | ||||
|   | ||||
| @@ -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<MultiReddit> 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(); | ||||
|   | ||||
| @@ -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); | ||||
|         }); | ||||
|     } | ||||
|   | ||||
| @@ -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<AnonymousMultiredditSubreddit> anonymousMultiredditSubreddits = | ||||
|                     (ArrayList<AnonymousMultiredditSubreddit>) redditDataRoomDatabase.anonymousMultiredditSubredditDao().getAllAnonymousMultiRedditSubreddits(multipath); | ||||
|             ArrayList<SubredditWithSelection> subredditNames = new ArrayList<>(); | ||||
|   | ||||
| @@ -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"> | ||||
|  | ||||
|                 <TextView | ||||
|                     android:id="@+id/visibility_text_view_edit_multi_reddit_activity" | ||||
| @@ -100,8 +101,8 @@ | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:layout_weight="1" | ||||
|                     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 | ||||
|                     android:id="@+id/visibility_switch_edit_multi_reddit_activity" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user