• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2016 Google Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * 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, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */
16 
17 package com.googlecode.android_scripting.trigger;
18 
19 import android.content.Context;
20 import android.content.Intent;
21 
22 import com.googlecode.android_scripting.IntentBuilders;
23 import com.googlecode.android_scripting.event.Event;
24 
25 import java.io.File;
26 
27 /**
28  * A trigger implementation that launches a given script when the event occurs.
29  *
30  * @author Felix Arends (felix.arends@gmail.com)
31  */
32 public class ScriptTrigger implements Trigger {
33   private static final long serialVersionUID = 1804599219214041409L;
34   private final File mScript;
35   private final String mEventName;
36 
ScriptTrigger(String eventName, File script)37   public ScriptTrigger(String eventName, File script) {
38     mEventName = eventName;
39     mScript = script;
40   }
41 
42   @Override
handleEvent(Event event, Context context)43   public void handleEvent(Event event, Context context) {
44     Intent intent = IntentBuilders.buildStartInBackgroundIntent(mScript);
45     // This is required since the script is being started from the TriggerService.
46     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
47     context.startActivity(intent);
48   }
49 
50   @Override
getEventName()51   public String getEventName() {
52     return mEventName;
53   }
54 
getScript()55   public File getScript() {
56     return mScript;
57   }
58 }
59