Fix reblog confirm (#1723)
* Fix reblog confirmation default value * Fix triggering reblog before confirming it * Fix accidents caused by reblog confirmation
This commit is contained in:
parent
ca36dd0238
commit
5dd190404f
|
@ -632,10 +632,10 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder {
|
||||||
sensitiveMediaShow.setVisibility(View.GONE);
|
sensitiveMediaShow.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setupButtons(final StatusActionListener listener, final String accountId,
|
protected void setupButtons(final StatusActionListener listener,
|
||||||
|
final String accountId,
|
||||||
final String statusContent,
|
final String statusContent,
|
||||||
StatusDisplayOptions statusDisplayOptions) {
|
StatusDisplayOptions statusDisplayOptions) {
|
||||||
|
|
||||||
avatar.setOnClickListener(v -> listener.onViewAccount(accountId));
|
avatar.setOnClickListener(v -> listener.onViewAccount(accountId));
|
||||||
replyButton.setOnClickListener(v -> {
|
replyButton.setOnClickListener(v -> {
|
||||||
int position = getAdapterPosition();
|
int position = getAdapterPosition();
|
||||||
|
@ -645,15 +645,18 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder {
|
||||||
});
|
});
|
||||||
if (reblogButton != null) {
|
if (reblogButton != null) {
|
||||||
reblogButton.setEventListener((button, buttonState) -> {
|
reblogButton.setEventListener((button, buttonState) -> {
|
||||||
|
// return true to play animaion
|
||||||
int position = getAdapterPosition();
|
int position = getAdapterPosition();
|
||||||
if (position != RecyclerView.NO_POSITION) {
|
if (position != RecyclerView.NO_POSITION) {
|
||||||
listener.onReblog(!buttonState, position);
|
if (statusDisplayOptions.confirmReblogs()) {
|
||||||
}
|
showConfirmReblogDialog(listener, statusContent, buttonState, position);
|
||||||
if (statusDisplayOptions.confirmReblogs()) {
|
return false;
|
||||||
showConfirmReblogDialog(listener, statusContent, buttonState, position);
|
} else {
|
||||||
return false;
|
listener.onReblog(!buttonState, position);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ class ConversationsFragment : SFragment(), StatusActionListener, Injectable, Res
|
||||||
showBotOverlay = preferences.getBoolean("showBotOverlay", true),
|
showBotOverlay = preferences.getBoolean("showBotOverlay", true),
|
||||||
useBlurhash = preferences.getBoolean("useBlurhash", true),
|
useBlurhash = preferences.getBoolean("useBlurhash", true),
|
||||||
cardViewMode = CardViewMode.NONE,
|
cardViewMode = CardViewMode.NONE,
|
||||||
confirmReblogs = preferences.getBoolean("confirmReblogs", true)
|
confirmReblogs = preferences.getBoolean("confirmReblogs", false)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -118,7 +118,7 @@ class ReportStatusesFragment : Fragment(), Injectable, AdapterHandler {
|
||||||
showBotOverlay = false,
|
showBotOverlay = false,
|
||||||
useBlurhash = preferences.getBoolean("useBlurhash", true),
|
useBlurhash = preferences.getBoolean("useBlurhash", true),
|
||||||
cardViewMode = CardViewMode.NONE,
|
cardViewMode = CardViewMode.NONE,
|
||||||
confirmReblogs = preferences.getBoolean("confirmReblogs", true)
|
confirmReblogs = preferences.getBoolean("confirmReblogs", false)
|
||||||
)
|
)
|
||||||
|
|
||||||
adapter = StatusesAdapter(statusDisplayOptions,
|
adapter = StatusesAdapter(statusDisplayOptions,
|
||||||
|
|
|
@ -82,7 +82,7 @@ class SearchStatusesFragment : SearchFragment<Pair<Status, StatusViewData.Concre
|
||||||
showBotOverlay = preferences.getBoolean("showBotOverlay", true),
|
showBotOverlay = preferences.getBoolean("showBotOverlay", true),
|
||||||
useBlurhash = preferences.getBoolean("useBlurhash", true),
|
useBlurhash = preferences.getBoolean("useBlurhash", true),
|
||||||
cardViewMode = CardViewMode.NONE,
|
cardViewMode = CardViewMode.NONE,
|
||||||
confirmReblogs = preferences.getBoolean("confirmReblogs", true)
|
confirmReblogs = preferences.getBoolean("confirmReblogs", false)
|
||||||
)
|
)
|
||||||
|
|
||||||
searchRecyclerView.addItemDecoration(DividerItemDecoration(searchRecyclerView.context, DividerItemDecoration.VERTICAL))
|
searchRecyclerView.addItemDecoration(DividerItemDecoration(searchRecyclerView.context, DividerItemDecoration.VERTICAL))
|
||||||
|
|
|
@ -575,10 +575,6 @@ public class TimelineFragment extends SFragment implements
|
||||||
@Override
|
@Override
|
||||||
public void onReblog(final boolean reblog, final int position) {
|
public void onReblog(final boolean reblog, final int position) {
|
||||||
final Status status = statuses.get(position).asRight();
|
final Status status = statuses.get(position).asRight();
|
||||||
doReblog(reblog, position, status);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void doReblog(boolean reblog, int position, Status status) {
|
|
||||||
timelineCases.reblog(status, reblog)
|
timelineCases.reblog(status, reblog)
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.as(autoDisposable(from(this, Lifecycle.Event.ON_DESTROY)))
|
.as(autoDisposable(from(this, Lifecycle.Event.ON_DESTROY)))
|
||||||
|
|
Loading…
Reference in New Issue