fix bug when 2 apps have same label
cache PackageManager for simpler coding