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 */ 16package com.svox.pico; 17 18import android.content.BroadcastReceiver; 19import android.content.Context; 20import android.content.Intent; 21 22import android.util.Log; 23 24/* 25 * Is notified when the language pack installer is added to the system, and runs the installer. 26 */ 27public class VoiceDataInstallerReceiver extends BroadcastReceiver { 28 29 private final static String TAG = "RunVoiceDataInstaller"; 30 31 private final static String INSTALLER_PACKAGE = "com.svox.langpack.installer"; 32 33 @Override 34 public void onReceive(Context context, Intent intent) { 35 if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction()) 36 && INSTALLER_PACKAGE.equals(getPackageName(intent))) { 37 Log.v(TAG, INSTALLER_PACKAGE + " package was added, running installer..."); 38 // the language pack installer has been added to the system 39 // now run the installer 40 Intent runIntent = new Intent("com.svox.langpack.installer.RUN_TTS_DATA_INSTALLER"); 41 runIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 42 context.startActivity(runIntent); 43 } 44 } 45 46 /** 47 * Returns the name of the package that was added from the intent. 48 * @param intent the {@link Intent} 49 */ 50 private static String getPackageName(Intent intent) { 51 return intent.getData().getSchemeSpecificPart(); 52 } 53} 54