/documentation/TextToSpeech_Plugin_Engine_Examples/PicoUnbundled/src/com/svox/pico/unbundled/VoiceDataInstallerReceiver.java

http://eyes-free.googlecode.com/ · Java · 52 lines · 22 code · 6 blank · 24 comment · 2 complexity · c4e0ae3d781f9aad1bec7ce7cdbaceb8 MD5 · raw file

  1. /*
  2. * Copyright (C) 2009 The Android Open Source Project
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. package com.svox.pico.unbundled;
  17. import android.content.BroadcastReceiver;
  18. import android.content.Context;
  19. import android.content.Intent;
  20. import android.util.Log;
  21. /*
  22. * Is notified when the language pack installer is added to the system, and runs the installer.
  23. */
  24. public class VoiceDataInstallerReceiver extends BroadcastReceiver {
  25. private final static String TAG = "RunVoiceDataInstaller";
  26. private final static String INSTALLER_PACKAGE = "com.svox.langpack.installer";
  27. @Override
  28. public void onReceive(Context context, Intent intent) {
  29. if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())
  30. && INSTALLER_PACKAGE.equals(getPackageName(intent))) {
  31. Log.v(TAG, INSTALLER_PACKAGE + " package was added, running installer...");
  32. // the language pack installer has been added to the system
  33. // now run the installer
  34. Intent runIntent = new Intent("com.svox.langpack.installer.RUN_TTS_DATA_INSTALLER");
  35. runIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  36. context.startActivity(runIntent);
  37. }
  38. }
  39. /**
  40. * Returns the name of the package that was added from the intent.
  41. * @param intent the {@link Intent}
  42. */
  43. private static String getPackageName(Intent intent) {
  44. return intent.getData().getSchemeSpecificPart();
  45. }
  46. }