package com.cheikh.lazywaimai.module.library; import android.app.AlarmManager; import android.content.Context; import android.content.res.AssetManager; import com.google.common.base.Preconditions; import java.io.File; import javax.inject.Singleton; import dagger.Module; import dagger.Provides; import com.cheikh.lazywaimai.module.qualifiers.ApplicationContext; import com.cheikh.lazywaimai.module.qualifiers.FilesDirectory; @Module( library = true ) public class ContextProvider { private final Context mApplicationContext; public ContextProvider(Context context) { mApplicationContext = Preconditions.checkNotNull(context, "context cannot be null"); } @Provides @ApplicationContext public Context provideApplicationContext() { return mApplicationContext; } @Provides @FilesDirectory public File providePrivateFileDirectory() { return mApplicationContext.getFilesDir(); } @Provides @Singleton public AssetManager provideAssetManager() { return mApplicationContext.getAssets(); } @Provides @Singleton public AlarmManager provideAlarmManager() { return (AlarmManager) mApplicationContext.getSystemService(Context.ALARM_SERVICE); } }