/**
* Copyright (C) 2010-2016 eBusiness Information, Excilys Group
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed To in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.androidannotations.test.ebean;
import org.androidannotations.annotations.AfterInject;
import org.androidannotations.annotations.Background;
import org.androidannotations.annotations.Bean;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EBean;
import org.androidannotations.annotations.RootContext;
import org.androidannotations.annotations.SystemService;
import org.androidannotations.annotations.Trace;
import org.androidannotations.annotations.Transactional;
import org.androidannotations.annotations.UiThread;
import org.androidannotations.annotations.ViewById;
import org.androidannotations.annotations.res.StringRes;
import org.androidannotations.test.ThreadActivity;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.Service;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.widget.TextView;
/**
* This class doesn't have any test, currently it's just there to show that
* standard features work with {@link EBean}. We should create tests at some
* point.
*/
@EBean
public class EnhancedClass {
@Bean
SecondDependency secondDependency;
@RootContext
Activity activity;
@RootContext
Context context;
@RootContext
Service service;
@RootContext
ThreadActivity threadActivity;
@ViewById
TextView myTextView;
@StringRes
String hello;
@Click
void myButton() {
}
@UiThread
void uiThread() {
}
@UiThread(delay = 2000)
@Trace
void uiThreadDelayed() {
}
@Background
@Trace
void background() {
}
@SystemService
ActivityManager activityManager;
@Transactional
void successfulTransaction(SQLiteDatabase db) {
db.execSQL("Some SQL");
}
@Transactional
void rollbackedTransaction(SQLiteDatabase db) {
throw new IllegalArgumentException();
}
@AfterInject
void calledAfterInjection() {
}
}