fix timeline editor messing with non-hashtag tls

This commit is contained in:
sk
2023-11-13 21:31:54 +01:00
parent ee82772fee
commit 0c376d57e7

View File

@@ -340,36 +340,40 @@ public class EditTimelinesFragment extends MastodonRecyclerFragment<TimelineDefi
.setTitle(item==null ? R.string.sk_add_timeline : R.string.sk_edit_timeline) .setTitle(item==null ? R.string.sk_add_timeline : R.string.sk_edit_timeline)
.setView(view) .setView(view)
.setPositiveButton(R.string.save, (d, which)->{ .setPositiveButton(R.string.save, (d, which)->{
tagsAny.chipifyAllUnterminatedTokens();
tagsAll.chipifyAllUnterminatedTokens();
tagsNone.chipifyAllUnterminatedTokens();
String name=editText.getText().toString().trim(); String name=editText.getText().toString().trim();
String mainHashtag=tagMain.getText().toString().trim(); String mainHashtag=tagMain.getText().toString().trim();
if(TextUtils.isEmpty(mainHashtag)){ if(item.getType()==TimelineDefinition.TimelineType.HASHTAG){
mainHashtag=name; tagsAny.chipifyAllUnterminatedTokens();
name=null; tagsAll.chipifyAllUnterminatedTokens();
} tagsNone.chipifyAllUnterminatedTokens();
if(TextUtils.isEmpty(mainHashtag) && (item!=null && item.getType()==TimelineDefinition.TimelineType.HASHTAG)){ if(TextUtils.isEmpty(mainHashtag)){
Toast.makeText(ctx, R.string.sk_add_timeline_tag_error_empty, Toast.LENGTH_SHORT).show(); mainHashtag=name;
onSave.accept(null); name=null;
return; }
if(TextUtils.isEmpty(mainHashtag) && (item!=null && item.getType()==TimelineDefinition.TimelineType.HASHTAG)){
Toast.makeText(ctx, R.string.sk_add_timeline_tag_error_empty, Toast.LENGTH_SHORT).show();
onSave.accept(null);
return;
}
} }
TimelineDefinition tl=item!=null ? item : TimelineDefinition.ofHashtag(name); TimelineDefinition tl=item!=null ? item : TimelineDefinition.ofHashtag(name);
TimelineDefinition.Icon icon=TimelineDefinition.Icon.values()[(int) btn.getTag()]; TimelineDefinition.Icon icon=TimelineDefinition.Icon.values()[(int) btn.getTag()];
tl.setIcon(icon); tl.setIcon(icon);
tl.setTitle(name); tl.setTitle(name);
tl.setTagOptions( if(item.getType()==TimelineDefinition.TimelineType.HASHTAG){
mainHashtag, tl.setTagOptions(
tagsAny.getChipValues(), mainHashtag,
tagsAll.getChipValues(), tagsAny.getChipValues(),
tagsNone.getChipValues(), tagsAll.getChipValues(),
localOnlySwitch.isChecked() tagsNone.getChipValues(),
); localOnlySwitch.isChecked()
);
}
onSave.accept(tl); onSave.accept(tl);
}) })
.setNegativeButton(R.string.cancel, (d, which)->{ .setNegativeButton(R.string.cancel, (d, which)->{});
});
if(onRemove!=null) builder.setNeutralButton(R.string.sk_remove, (d, which)->onRemove.run()); if(onRemove!=null) builder.setNeutralButton(R.string.sk_remove, (d, which)->onRemove.run());