mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 04:43:54 +01:00
fix commons-app#4978 (#4979)
This commit is contained in:
parent
be5827c2c7
commit
ffbfdabb3a
1 changed files with 21 additions and 6 deletions
|
|
@ -115,8 +115,16 @@ public class UploadMediaDetailAdapter extends RecyclerView.Adapter<UploadMediaDe
|
||||||
*/
|
*/
|
||||||
public void removeDescription(final UploadMediaDetail uploadMediaDetail, final int position) {
|
public void removeDescription(final UploadMediaDetail uploadMediaDetail, final int position) {
|
||||||
selectedLanguages.remove(position);
|
selectedLanguages.remove(position);
|
||||||
this.uploadMediaDetails.remove(uploadMediaDetail);
|
final int ListPosition =
|
||||||
|
(int) selectedLanguages.keySet().stream().filter(e -> e < position).count();
|
||||||
|
this.uploadMediaDetails.remove(uploadMediaDetails.get(ListPosition));
|
||||||
|
int i = position + 1;
|
||||||
|
while (selectedLanguages.containsKey(i)) {
|
||||||
|
selectedLanguages.remove(i);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
notifyItemRemoved(position);
|
notifyItemRemoved(position);
|
||||||
|
notifyItemRangeChanged(position, uploadMediaDetails.size() - position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ViewHolder extends RecyclerView.ViewHolder {
|
public class ViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
|
@ -140,6 +148,10 @@ public class UploadMediaDetailAdapter extends RecyclerView.Adapter<UploadMediaDe
|
||||||
@BindView(R.id.btn_remove)
|
@BindView(R.id.btn_remove)
|
||||||
ImageView removeButton;
|
ImageView removeButton;
|
||||||
|
|
||||||
|
AbstractTextWatcher captionListener;
|
||||||
|
|
||||||
|
AbstractTextWatcher descriptionListener;
|
||||||
|
|
||||||
public ViewHolder(View itemView) {
|
public ViewHolder(View itemView) {
|
||||||
super(itemView);
|
super(itemView);
|
||||||
ButterKnife.bind(this, itemView);
|
ButterKnife.bind(this, itemView);
|
||||||
|
|
@ -157,6 +169,8 @@ public class UploadMediaDetailAdapter extends RecyclerView.Adapter<UploadMediaDe
|
||||||
eventListener.onPrimaryCaptionTextChange(value.length() != 0);
|
eventListener.onPrimaryCaptionTextChange(value.length() != 0);
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
captionItemEditText.removeTextChangedListener(captionListener);
|
||||||
|
descItemEditText.removeTextChangedListener(descriptionListener);
|
||||||
captionItemEditText.setText(uploadMediaDetail.getCaptionText());
|
captionItemEditText.setText(uploadMediaDetail.getCaptionText());
|
||||||
descItemEditText.setText(uploadMediaDetail.getDescriptionText());
|
descItemEditText.setText(uploadMediaDetail.getDescriptionText());
|
||||||
|
|
||||||
|
|
@ -182,13 +196,14 @@ public class UploadMediaDetailAdapter extends RecyclerView.Adapter<UploadMediaDe
|
||||||
}
|
}
|
||||||
|
|
||||||
removeButton.setOnClickListener(v -> removeDescription(uploadMediaDetail, position));
|
removeButton.setOnClickListener(v -> removeDescription(uploadMediaDetail, position));
|
||||||
|
captionListener = new AbstractTextWatcher(
|
||||||
captionItemEditText.addTextChangedListener(new AbstractTextWatcher(
|
captionText -> uploadMediaDetails.get(position).setCaptionText(captionText));
|
||||||
captionText -> uploadMediaDetails.get(position).setCaptionText(captionText)));
|
descriptionListener = new AbstractTextWatcher(
|
||||||
|
descriptionText -> uploadMediaDetails.get(position).setDescriptionText(descriptionText));
|
||||||
|
captionItemEditText.addTextChangedListener(captionListener);
|
||||||
initLanguage(position, uploadMediaDetail);
|
initLanguage(position, uploadMediaDetail);
|
||||||
|
|
||||||
descItemEditText.addTextChangedListener(new AbstractTextWatcher(
|
descItemEditText.addTextChangedListener(descriptionListener);
|
||||||
descriptionText -> uploadMediaDetails.get(position).setDescriptionText(descriptionText)));
|
|
||||||
initLanguage(position, uploadMediaDetail);
|
initLanguage(position, uploadMediaDetail);
|
||||||
|
|
||||||
//If the description was manually added by the user, it deserves focus, if not, let the user decide
|
//If the description was manually added by the user, it deserves focus, if not, let the user decide
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue