19f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li/*
2f04335f899f2cce69f843692a3cb9cec229683c2tturney * Copyright (C) 2017 The Android Open Source Project
39f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *
4f04335f899f2cce69f843692a3cb9cec229683c2tturney * Licensed under the Apache License, Version 2.0 (the "License");
5f04335f899f2cce69f843692a3cb9cec229683c2tturney * you may not use this file except in compliance with the License.
6f04335f899f2cce69f843692a3cb9cec229683c2tturney * You may obtain a copy of the License at
79f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *
8f04335f899f2cce69f843692a3cb9cec229683c2tturney *      http://www.apache.org/licenses/LICENSE-2.0
99f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *
109f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * Unless required by applicable law or agreed to in writing, software
11f04335f899f2cce69f843692a3cb9cec229683c2tturney * distributed under the License is distributed on an "AS IS" BASIS,
12f04335f899f2cce69f843692a3cb9cec229683c2tturney * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f04335f899f2cce69f843692a3cb9cec229683c2tturney * See the License for the specific language governing permissions and
14f04335f899f2cce69f843692a3cb9cec229683c2tturney * limitations under the License.
159f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li */
169f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
179f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Lipackage com.googlecode.android_scripting;
189f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
199f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Liimport android.app.Application;
209f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
219f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Liimport com.googlecode.android_scripting.interpreter.InterpreterConfiguration;
229f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Liimport com.googlecode.android_scripting.trigger.TriggerRepository;
239f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
249f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Lipublic class BaseApplication extends Application {
259f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
269f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  private final FutureActivityTaskExecutor mTaskExecutor = new FutureActivityTaskExecutor(this);
279f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  private TriggerRepository mTriggerRepository;
289f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
299f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  protected InterpreterConfiguration mConfiguration;
309f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
319f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  public FutureActivityTaskExecutor getTaskExecutor() {
329f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    return mTaskExecutor;
339f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  }
349f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
359f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  @Override
369f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  public void onCreate() {
379f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    mConfiguration = new InterpreterConfiguration(this);
389f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    mConfiguration.startDiscovering();
399f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    mTriggerRepository = new TriggerRepository(this);
409f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  }
419f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
429f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  public InterpreterConfiguration getInterpreterConfiguration() {
439f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    return mConfiguration;
449f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  }
459f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
469f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  public TriggerRepository getTriggerRepository() {
479f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    return mTriggerRepository;
489f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li  }
499f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li}
50