No wiec, zmiana kodu jest w jednym miejscu (te overlaye dla listy mamy ladnie wyodrebnione od reszty logiki), i jesto to malo kodu dla Javy (jak pokazalem powyzej) i 1 linijka kodu wiecej dla Obj-C, wiec wysilek zaden, trzeba to jedynie wiedziec i rozumiec dlaczego.
Substring ten jest robiony czesto - listy plikow moga byc dlugie, a scrollowanie za pomoca gestow jest szybkie i bardzo szybko sie moga znaki w overlayu zmieniac. Jest to pewiem problem jesli chodzi o performance, ale bardzo niewielki i stwierdzilismy ze mozemy zaniedbac (prawde mowiac jest niezauwazalny...).
Co do znakow - np. klucz wiolonowy czy jakiestam nuty, czy np. emoji sa poza BMP. emoji moze nie, ale np. nuty w nazwie pliku kogos, kto jest muzykeim potrafie sobie wyobrazic. Aplikacje sie nie wywalaja ale nie jest to cos co jest oczywiste - skad wiesz co robi Android czy iOS z niepoprawnymi stringami, a takimi sa takie ktore posiadaja tylko 1 char z pary surogatow? np. widzialem parsery ktore sie wywalaja na takim czyms. Pokazanie ? jest raczej nie do przyjecia skoro mozemy zrobic cos lepszego.
Kod zmienilismy, przetestowalismy i dziala ladnie, pokazuje emoji i nuty w overlayu. Dzieki za zainteresowanie. Teraz musze tylko zrobic prezentacje dla zespolu poniewaz wszyscy chca zrozumiec co ten kod robi...