mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-12-29 04:17:12 +01:00
Favorite anonymous multireddits.
This commit is contained in:
parent
9a0067d714
commit
39835c587a
@ -25,6 +25,7 @@ import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
|
|||||||
import me.zhanghai.android.fastscroll.PopupTextProvider;
|
import me.zhanghai.android.fastscroll.PopupTextProvider;
|
||||||
import ml.docilealligator.infinityforreddit.R;
|
import ml.docilealligator.infinityforreddit.R;
|
||||||
import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
|
import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
|
||||||
|
import ml.docilealligator.infinityforreddit.asynctasks.InsertMultireddit;
|
||||||
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
||||||
import ml.docilealligator.infinityforreddit.multireddit.FavoriteMultiReddit;
|
import ml.docilealligator.infinityforreddit.multireddit.FavoriteMultiReddit;
|
||||||
import ml.docilealligator.infinityforreddit.multireddit.MultiReddit;
|
import ml.docilealligator.infinityforreddit.multireddit.MultiReddit;
|
||||||
@ -129,55 +130,69 @@ public class MultiRedditListingRecyclerViewAdapter extends RecyclerView.Adapter<
|
|||||||
if(multiReddit.isFavorite()) {
|
if(multiReddit.isFavorite()) {
|
||||||
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
||||||
multiReddit.setFavorite(false);
|
multiReddit.setFavorite(false);
|
||||||
FavoriteMultiReddit.favoriteMultiReddit(mExecutor, new Handler(), mOauthRetrofit, mRedditDataRoomDatabase,
|
if (mAccessToken == null) {
|
||||||
mAccessToken, false, multiReddit,
|
InsertMultireddit.insertMultireddit(mExecutor, new Handler(), mRedditDataRoomDatabase, multiReddit,
|
||||||
new FavoriteMultiReddit.FavoriteMultiRedditListener() {
|
() -> {
|
||||||
@Override
|
//Do nothing
|
||||||
public void success() {
|
});
|
||||||
int position = holder.getBindingAdapterPosition() - offset;
|
} else {
|
||||||
if(position >= 0 && mMultiReddits.size() > position) {
|
FavoriteMultiReddit.favoriteMultiReddit(mExecutor, new Handler(), mOauthRetrofit, mRedditDataRoomDatabase,
|
||||||
mMultiReddits.get(position).setFavorite(false);
|
mAccessToken, false, multiReddit,
|
||||||
|
new FavoriteMultiReddit.FavoriteMultiRedditListener() {
|
||||||
|
@Override
|
||||||
|
public void success() {
|
||||||
|
int position = holder.getBindingAdapterPosition() - offset;
|
||||||
|
if(position >= 0 && mMultiReddits.size() > position) {
|
||||||
|
mMultiReddits.get(position).setFavorite(false);
|
||||||
|
}
|
||||||
|
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
||||||
}
|
}
|
||||||
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void failed() {
|
public void failed() {
|
||||||
Toast.makeText(mActivity, R.string.thing_unfavorite_failed, Toast.LENGTH_SHORT).show();
|
Toast.makeText(mActivity, R.string.thing_unfavorite_failed, Toast.LENGTH_SHORT).show();
|
||||||
int position = holder.getBindingAdapterPosition() - offset;
|
int position = holder.getBindingAdapterPosition() - offset;
|
||||||
if(position >= 0 && mMultiReddits.size() > position) {
|
if(position >= 0 && mMultiReddits.size() > position) {
|
||||||
mMultiReddits.get(position).setFavorite(true);
|
mMultiReddits.get(position).setFavorite(true);
|
||||||
|
}
|
||||||
|
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
||||||
}
|
}
|
||||||
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
|
||||||
}
|
}
|
||||||
}
|
);
|
||||||
);
|
}
|
||||||
} else {
|
} else {
|
||||||
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
||||||
multiReddit.setFavorite(true);
|
multiReddit.setFavorite(true);
|
||||||
FavoriteMultiReddit.favoriteMultiReddit(mExecutor, new Handler(), mOauthRetrofit, mRedditDataRoomDatabase,
|
if (mAccessToken == null) {
|
||||||
mAccessToken, true, multiReddit,
|
InsertMultireddit.insertMultireddit(mExecutor, new Handler(), mRedditDataRoomDatabase, multiReddit,
|
||||||
new FavoriteMultiReddit.FavoriteMultiRedditListener() {
|
() -> {
|
||||||
@Override
|
//Do nothing
|
||||||
public void success() {
|
});
|
||||||
int position = holder.getBindingAdapterPosition() - offset;
|
} else {
|
||||||
if(position >= 0 && mMultiReddits.size() > position) {
|
FavoriteMultiReddit.favoriteMultiReddit(mExecutor, new Handler(), mOauthRetrofit, mRedditDataRoomDatabase,
|
||||||
mMultiReddits.get(position).setFavorite(true);
|
mAccessToken, true, multiReddit,
|
||||||
|
new FavoriteMultiReddit.FavoriteMultiRedditListener() {
|
||||||
|
@Override
|
||||||
|
public void success() {
|
||||||
|
int position = holder.getBindingAdapterPosition() - offset;
|
||||||
|
if(position >= 0 && mMultiReddits.size() > position) {
|
||||||
|
mMultiReddits.get(position).setFavorite(true);
|
||||||
|
}
|
||||||
|
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
||||||
}
|
}
|
||||||
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void failed() {
|
public void failed() {
|
||||||
Toast.makeText(mActivity, R.string.thing_favorite_failed, Toast.LENGTH_SHORT).show();
|
Toast.makeText(mActivity, R.string.thing_favorite_failed, Toast.LENGTH_SHORT).show();
|
||||||
int position = holder.getBindingAdapterPosition() - offset;
|
int position = holder.getBindingAdapterPosition() - offset;
|
||||||
if(position >= 0 && mMultiReddits.size() > position) {
|
if(position >= 0 && mMultiReddits.size() > position) {
|
||||||
mMultiReddits.get(position).setFavorite(false);
|
mMultiReddits.get(position).setFavorite(false);
|
||||||
|
}
|
||||||
|
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
||||||
}
|
}
|
||||||
((MultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
|
||||||
}
|
}
|
||||||
}
|
);
|
||||||
);
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
holder.itemView.setOnClickListener(view -> {
|
holder.itemView.setOnClickListener(view -> {
|
||||||
@ -215,55 +230,69 @@ public class MultiRedditListingRecyclerViewAdapter extends RecyclerView.Adapter<
|
|||||||
if(multiReddit.isFavorite()) {
|
if(multiReddit.isFavorite()) {
|
||||||
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
||||||
multiReddit.setFavorite(false);
|
multiReddit.setFavorite(false);
|
||||||
FavoriteMultiReddit.favoriteMultiReddit(mExecutor, new Handler(), mOauthRetrofit, mRedditDataRoomDatabase,
|
if (mAccessToken == null) {
|
||||||
mAccessToken, false, multiReddit,
|
InsertMultireddit.insertMultireddit(mExecutor, new Handler(), mRedditDataRoomDatabase, multiReddit,
|
||||||
new FavoriteMultiReddit.FavoriteMultiRedditListener() {
|
() -> {
|
||||||
@Override
|
//Do nothing
|
||||||
public void success() {
|
});
|
||||||
int position = holder.getBindingAdapterPosition() - 1;
|
} else {
|
||||||
if(position >= 0 && mFavoriteMultiReddits.size() > position) {
|
FavoriteMultiReddit.favoriteMultiReddit(mExecutor, new Handler(), mOauthRetrofit, mRedditDataRoomDatabase,
|
||||||
mFavoriteMultiReddits.get(position).setFavorite(false);
|
mAccessToken, false, multiReddit,
|
||||||
|
new FavoriteMultiReddit.FavoriteMultiRedditListener() {
|
||||||
|
@Override
|
||||||
|
public void success() {
|
||||||
|
int position = holder.getBindingAdapterPosition() - 1;
|
||||||
|
if(position >= 0 && mFavoriteMultiReddits.size() > position) {
|
||||||
|
mFavoriteMultiReddits.get(position).setFavorite(false);
|
||||||
|
}
|
||||||
|
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
||||||
}
|
}
|
||||||
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void failed() {
|
public void failed() {
|
||||||
Toast.makeText(mActivity, R.string.thing_unfavorite_failed, Toast.LENGTH_SHORT).show();
|
Toast.makeText(mActivity, R.string.thing_unfavorite_failed, Toast.LENGTH_SHORT).show();
|
||||||
int position = holder.getBindingAdapterPosition() - 1;
|
int position = holder.getBindingAdapterPosition() - 1;
|
||||||
if(position >= 0 && mFavoriteMultiReddits.size() > position) {
|
if(position >= 0 && mFavoriteMultiReddits.size() > position) {
|
||||||
mFavoriteMultiReddits.get(position).setFavorite(true);
|
mFavoriteMultiReddits.get(position).setFavorite(true);
|
||||||
|
}
|
||||||
|
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
||||||
}
|
}
|
||||||
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
|
||||||
}
|
}
|
||||||
}
|
);
|
||||||
);
|
}
|
||||||
} else {
|
} else {
|
||||||
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
||||||
multiReddit.setFavorite(true);
|
multiReddit.setFavorite(true);
|
||||||
FavoriteMultiReddit.favoriteMultiReddit(mExecutor, new Handler(), mOauthRetrofit, mRedditDataRoomDatabase,
|
if (mAccessToken == null) {
|
||||||
mAccessToken, true, multiReddit,
|
InsertMultireddit.insertMultireddit(mExecutor, new Handler(), mRedditDataRoomDatabase, multiReddit,
|
||||||
new FavoriteMultiReddit.FavoriteMultiRedditListener() {
|
() -> {
|
||||||
@Override
|
//Do nothing
|
||||||
public void success() {
|
});
|
||||||
int position = holder.getBindingAdapterPosition() - 1;
|
} else {
|
||||||
if(position >= 0 && mFavoriteMultiReddits.size() > position) {
|
FavoriteMultiReddit.favoriteMultiReddit(mExecutor, new Handler(), mOauthRetrofit, mRedditDataRoomDatabase,
|
||||||
mFavoriteMultiReddits.get(position).setFavorite(true);
|
mAccessToken, true, multiReddit,
|
||||||
|
new FavoriteMultiReddit.FavoriteMultiRedditListener() {
|
||||||
|
@Override
|
||||||
|
public void success() {
|
||||||
|
int position = holder.getBindingAdapterPosition() - 1;
|
||||||
|
if(position >= 0 && mFavoriteMultiReddits.size() > position) {
|
||||||
|
mFavoriteMultiReddits.get(position).setFavorite(true);
|
||||||
|
}
|
||||||
|
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
||||||
}
|
}
|
||||||
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_24dp);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void failed() {
|
public void failed() {
|
||||||
Toast.makeText(mActivity, R.string.thing_favorite_failed, Toast.LENGTH_SHORT).show();
|
Toast.makeText(mActivity, R.string.thing_favorite_failed, Toast.LENGTH_SHORT).show();
|
||||||
int position = holder.getBindingAdapterPosition() - 1;
|
int position = holder.getBindingAdapterPosition() - 1;
|
||||||
if(position >= 0 && mFavoriteMultiReddits.size() > position) {
|
if(position >= 0 && mFavoriteMultiReddits.size() > position) {
|
||||||
mFavoriteMultiReddits.get(position).setFavorite(false);
|
mFavoriteMultiReddits.get(position).setFavorite(false);
|
||||||
|
}
|
||||||
|
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
||||||
}
|
}
|
||||||
((FavoriteMultiRedditViewHolder) holder).favoriteImageView.setImageResource(R.drawable.ic_favorite_border_24dp);
|
|
||||||
}
|
}
|
||||||
}
|
);
|
||||||
);
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
holder.itemView.setOnClickListener(view -> {
|
holder.itemView.setOnClickListener(view -> {
|
||||||
|
@ -50,4 +50,12 @@ public class FavoriteMultiReddit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void anonymousFavoriteMultiReddit(Executor executor, Handler handler,
|
||||||
|
RedditDataRoomDatabase redditDataRoomDatabase,
|
||||||
|
MultiReddit multiReddit,
|
||||||
|
FavoriteMultiRedditListener favoriteMultiRedditListener) {
|
||||||
|
InsertMultireddit.insertMultireddit(executor, handler, redditDataRoomDatabase, multiReddit,
|
||||||
|
favoriteMultiRedditListener::success);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user