package proton.inject; import javax.inject.Inject; import android.app.ActivityManager; import android.app.AlarmManager; import android.app.Application; import android.app.KeyguardManager; import android.app.NotificationManager; import android.hardware.SensorManager; import android.location.LocationManager; import android.media.AudioManager; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; import android.os.PowerManager; import android.os.Vibrator; import android.telephony.TelephonyManager; import android.test.AndroidTestCase; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; public class SystemServiceInjectionTest extends AndroidTestCase { private Injector mInjector; @Override protected void setUp() throws Exception { super.setUp(); Proton.initialize((Application) getContext().getApplicationContext()); mInjector = Proton.getInjector(getContext()); } @Override protected void tearDown() throws Exception { Proton.destroy(); super.tearDown(); } public void testInject() { Client c = mInjector.inject(new Client()); assertNotNull(c.activityManager); assertNotNull(c.alarmManager); assertNotNull(c.audioManager); assertNotNull(c.connectivityManager); assertNotNull(c.inputMethodManager); assertNotNull(c.keyguardManager); assertNotNull(c.locationManager); assertNotNull(c.notificationManager); assertNotNull(c.powerManager); assertNotNull(c.sensorManager); assertNotNull(c.telephonyManager); assertNotNull(c.vibrator); assertNotNull(c.wifiManager); assertNotNull(c.windowManager); } public static class Client { @Inject private ActivityManager activityManager; @Inject private AlarmManager alarmManager; @Inject private AudioManager audioManager; @Inject private ConnectivityManager connectivityManager; @Inject private InputMethodManager inputMethodManager; @Inject private KeyguardManager keyguardManager; @Inject private LocationManager locationManager; @Inject private NotificationManager notificationManager; @Inject private PowerManager powerManager; @Inject private SensorManager sensorManager; @Inject private TelephonyManager telephonyManager; @Inject private Vibrator vibrator; @Inject private WifiManager wifiManager; @Inject private WindowManager windowManager; } }