public static String reloadInstalledTtsEngines(PackageManager pm,List<String> results){
  final Intent intent=new Intent(TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE);
  final List<ResolveInfo> resolveInfos=pm.queryIntentServices(intent,PackageManager.GET_SERVICES);
  String systemTtsEngine=null;
  for (  ResolveInfo resolveInfo : resolveInfos) {
    final ServiceInfo serviceInfo=resolveInfo.serviceInfo;
    final ApplicationInfo appInfo=serviceInfo.applicationInfo;
    final String packageName=serviceInfo.packageName;
    final boolean isSystemApp=((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0);
    results.add(serviceInfo.packageName);
    if (isSystemApp) {
      systemTtsEngine=packageName;
    }
  }
  return systemTtsEngine;
}

public static String reloadInstalledTtsEngines ( PackageManager pm , List < String > results ) { final Intent intent = new Intent ( TextToSpeech . Engine . INTENT_ACTION_TTS_SERVICE ) ; final List < ResolveInfo > resolveInfos = pm . queryIntentServices ( intent , PackageManager . GET_SERVICES ) ; String systemTtsEngine = null ; for ( ResolveInfo resolveInfo : resolveInfos ) { final ServiceInfo serviceInfo = resolveInfo . serviceInfo ; final ApplicationInfo appInfo = serviceInfo . applicationInfo ; final String packageName = serviceInfo . packageName ; final boolean isSystemApp = ( ( appInfo . flags & ApplicationInfo . FLAG_SYSTEM ) != 0 ) ; results . add ( serviceInfo . packageName ) ; if ( isSystemApp ) { systemTtsEngine = packageName ; } } return systemTtsEngine ; }
reloads the list of installed tts engines .
