diff --git a/app/src/main/java/com/itsaky/androidide/adapters/SymbolInputAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/SymbolInputAdapter.java index 856c24076..14d18507c 100755 --- a/app/src/main/java/com/itsaky/androidide/adapters/SymbolInputAdapter.java +++ b/app/src/main/java/com/itsaky/androidide/adapters/SymbolInputAdapter.java @@ -20,6 +20,7 @@ package com.itsaky.androidide.adapters; import static com.itsaky.androidide.preferences.utils.EditorUtilKt.getIndentationString; import static com.itsaky.androidide.utils.ResourceUtilsKt.resolveAttr; +import android.annotation.SuppressLint; import android.view.LayoutInflater; import android.view.ViewGroup; import androidx.annotation.NonNull; @@ -49,7 +50,7 @@ public class SymbolInputAdapter extends RecyclerView.Adapter symbols; + private final List symbols; public SymbolInputAdapter(IDEEditor editor) { this(editor, null); @@ -57,7 +58,18 @@ public class SymbolInputAdapter extends RecyclerView.Adapter symbols) { this.editor = editor; - this.symbols = symbols == null ? Collections.emptyList() : symbols; + this.symbols = new ArrayList<>(); + this.updateItems(symbols); + } + + private void updateItems(List symbols) { + if (symbols == null) { + return; + } + + this.symbols.clear(); + this.symbols.addAll(symbols); + this.symbols.removeIf(Objects::isNull); } public void refresh(IDEEditor editor, List newSymbols) { @@ -94,7 +106,7 @@ public class SymbolInputAdapter extends RecyclerView.Adapter