| package ${packageName}; |
| |
| import android.app.IntentService; |
| import android.content.Intent; |
| <#if includeHelper>import android.content.Context;</#if> |
| |
| /** |
| * An {@link IntentService} subclass for handling asynchronous task requests in |
| * a service on a separate handler thread. |
| * <p> |
| <#if includeHelper> |
| * TODO: Customize class - update intent actions, extra parameters and static |
| * helper methods. |
| <#else> |
| * TODO: Customize class - update intent actions and extra parameters. |
| </#if> |
| */ |
| public class ${className} extends IntentService { |
| <#if !includeHelper> |
| // TODO: Rename actions, choose action names that describe tasks that this |
| // IntentService can perform, e.g. ACTION_FETCH_NEW_ITEMS |
| public static final String ACTION_FOO = "${packageName}.action.FOO"; |
| public static final String ACTION_BAZ = "${packageName}.action.BAZ"; |
| |
| // TODO: Rename parameters |
| public static final String EXTRA_PARAM1 = "${packageName}.extra.PARAM1"; |
| public static final String EXTRA_PARAM2 = "${packageName}.extra.PARAM2"; |
| <#else> |
| // TODO: Rename actions, choose action names that describe tasks that this |
| // IntentService can perform, e.g. ACTION_FETCH_NEW_ITEMS |
| private static final String ACTION_FOO = "${packageName}.action.FOO"; |
| private static final String ACTION_BAZ = "${packageName}.action.BAZ"; |
| |
| // TODO: Rename parameters |
| private static final String EXTRA_PARAM1 = "${packageName}.extra.PARAM1"; |
| private static final String EXTRA_PARAM2 = "${packageName}.extra.PARAM2"; |
| |
| /** |
| * Starts this service to perform action Foo with the given parameters. If |
| * the service is already performing a task this action will be queued. |
| * |
| * @see IntentService |
| */ |
| // TODO: Customize helper method |
| public static void startActionFoo(Context context, String param1, String param2) { |
| Intent intent = new Intent(context, ${className}.class); |
| intent.setAction(ACTION_FOO); |
| intent.putExtra(EXTRA_PARAM1, param1); |
| intent.putExtra(EXTRA_PARAM2, param2); |
| context.startService(intent); |
| } |
| |
| /** |
| * Starts this service to perform action Baz with the given parameters. If |
| * the service is already performing a task this action will be queued. |
| * |
| * @see IntentService |
| */ |
| // TODO: Customize helper method |
| public static void startActionBaz(Context context, String param1, String param2) { |
| Intent intent = new Intent(context, ${className}.class); |
| intent.setAction(ACTION_BAZ); |
| intent.putExtra(EXTRA_PARAM1, param1); |
| intent.putExtra(EXTRA_PARAM2, param2); |
| context.startService(intent); |
| } |
| </#if> |
| |
| public ${className}() { |
| super("${className}"); |
| } |
| |
| @Override |
| protected void onHandleIntent(Intent intent) { |
| if (intent != null) { |
| final String action = intent.getAction(); |
| if (ACTION_FOO.equals(action)) { |
| final String param1 = intent.getStringExtra(EXTRA_PARAM1); |
| final String param2 = intent.getStringExtra(EXTRA_PARAM2); |
| handleActionFoo(param1, param2); |
| } else if (ACTION_BAZ.equals(action)) { |
| final String param1 = intent.getStringExtra(EXTRA_PARAM1); |
| final String param2 = intent.getStringExtra(EXTRA_PARAM2); |
| handleActionBaz(param1, param2); |
| } |
| } |
| } |
| |
| /** |
| * Handle action Foo in the provided background thread with the provided |
| * parameters. |
| */ |
| private void handleActionFoo(String param1, String param2) { |
| // TODO: Handle action Foo |
| throw new UnsupportedOperationException("Not yet implemented"); |
| } |
| |
| /** |
| * Handle action Baz in the provided background thread with the provided |
| * parameters. |
| */ |
| private void handleActionBaz(String param1, String param2) { |
| // TODO: Handle action Baz |
| throw new UnsupportedOperationException("Not yet implemented"); |
| } |
| } |