Browse Source

Do not attempt an install in CheckVoiceData.

The android.speech.tts.engine.CHECK_TTS_DATA intent should just
check that the TTS data is OK. It should not attempt a
download/install of the TTS data.
master
Reece H. Dunn 12 years ago
parent
commit
7570253b95
1 changed files with 3 additions and 32 deletions
  1. 3
    32
      android/src/com/reecedunn/espeak/CheckVoiceData.java

+ 3
- 32
android/src/com/reecedunn/espeak/CheckVoiceData.java View File

/* /*
* Copyright (C) 2012 Reece H. Dunn
* Copyright (C) 2012-2013 Reece H. Dunn
* Copyright (C) 2009 The Android Open Source Project * Copyright (C) 2009 The Android Open Source Project
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
public class CheckVoiceData extends Activity { public class CheckVoiceData extends Activity {
private static final String TAG = "eSpeakTTS"; private static final String TAG = "eSpeakTTS";


private static final int REQUEST_DOWNLOAD = 1;

/** Resources required for eSpeak to run correctly. */ /** Resources required for eSpeak to run correctly. */
private static final String[] BASE_RESOURCES = { private static final String[] BASE_RESOURCES = {
"version", "version",
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);


checkForVoices(false);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUEST_DOWNLOAD:
checkForVoices(true);
break;
}
}

private void checkForVoices(boolean attemptedInstall) {
final File dataPath = getDataPath(this); final File dataPath = getDataPath(this);


ArrayList<String> availableLanguages = new ArrayList<String>(); ArrayList<String> availableLanguages = new ArrayList<String>();
ArrayList<String> unavailableLanguages = new ArrayList<String>(); ArrayList<String> unavailableLanguages = new ArrayList<String>();


if (!hasBaseResources(this) || canUpgradeResources(this)) { if (!hasBaseResources(this) || canUpgradeResources(this)) {
if (!attemptedInstall) {
downloadVoiceData();
return;
}
// No base resource, can't load available voices.
unavailableLanguages.add(Locale.ENGLISH.toString()); unavailableLanguages.add(Locale.ENGLISH.toString());
returnResults(Engine.CHECK_VOICE_DATA_MISSING_DATA, dataPath, availableLanguages, returnResults(Engine.CHECK_VOICE_DATA_MISSING_DATA, dataPath, availableLanguages,
unavailableLanguages);
unavailableLanguages);
return; return;
} }


} }


returnResults(Engine.CHECK_VOICE_DATA_PASS, dataPath, availableLanguages, returnResults(Engine.CHECK_VOICE_DATA_PASS, dataPath, availableLanguages,
unavailableLanguages);
}

/**
* Launches the voice data installer.
*/
private void downloadVoiceData() {
final Intent checkIntent = new Intent(this, DownloadVoiceData.class);

startActivityForResult(checkIntent, REQUEST_DOWNLOAD);
unavailableLanguages);
} }


private void returnResults(int result, File dataPath, ArrayList<String> availableLanguages, private void returnResults(int result, File dataPath, ArrayList<String> availableLanguages,

Loading…
Cancel
Save