/* * Copyright (c) 2010 Sony Ericsson * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package com.sonyericsson.extras.liveview.plugins; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; /** * Receives broadcast intents from LiveView service. */ public class PluginReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String command = intent.getExtras().getString(PluginConstants.BROADCAST_COMMAND); Log.d(PluginConstants.LOG_TAG, "Received command: " + command); if(command == null) { return; } if(command.contentEquals(PluginConstants.BROADCAST_COMMAND_PREFERENCES)) { String pluginName = intent.getExtras().getString(PluginConstants.BROADCAST_COMMAND_PLUGIN_NAME); String myPluginName = PluginUtils.getDynamicResourceString(context, PluginConstants.RESOURCE_STRING_PLUGIN_NAME); if(pluginName != null && pluginName.contentEquals(myPluginName)) { String intentString = PluginUtils.getDynamicResourceString(context, PluginConstants.RESOURCE_STRING_INTENT_PREFS); Log.d(PluginConstants.LOG_TAG, "Starting preferences! Intent: " + intentString); Intent prefsIntent = new Intent(intentString); prefsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(prefsIntent); } } else if(command.contentEquals(PluginConstants.BROADCAST_COMMAND_START)) { if(AbstractPluginService.isAlreadyRunning()) { Log.d(PluginConstants.LOG_TAG, "Service is already running."); } else { String serviceIntent = PluginUtils.getDynamicResourceString(context, PluginConstants.RESOURCE_STRING_INTENT_SERVICE); Log.d(PluginConstants.LOG_TAG, "Starting service! Intent: " + serviceIntent); context.startService(new Intent(serviceIntent)); } } } }