As I mentioned above, this new logic might have some side effect because it only update ListView when the currentMode is MODE_LIST.
If the currentMode is MODE_SUBLIST, the sublist will not be updated, and songs in sublist might already being removed by the user.