package com.appsimobile.appsii;
import android.content.Context;
import android.content.SharedPreferences;
import android.view.LayoutInflater;
import android.view.WindowManager;
import com.appsimobile.appsii.compat.LauncherAppsCompat;
import com.appsimobile.appsii.module.apps.AppPageLoader;
import com.appsimobile.appsii.permissions.PermissionUtils;
import org.mockito.Mockito;
import java.lang.ref.WeakReference;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
/**
* Created by nmartens on 13/01/16.
*/
@Module
public class MockAppsiModule extends MockApplicationModule {
final Context mThemedContext;
private final WeakReference<Appsi> mAppsi;
public MockAppsiModule(Appsi appsi, Context themedContext) {
super(appsi.getApplication());
this.mAppsi = new WeakReference<>(appsi);
mThemedContext = themedContext;
}
@Singleton
@Provides
SidebarContext provideSidebarContext(AnalyticsManager analyticsManager,
LoaderManager loaderManager) {
return new SidebarContext(mThemedContext, analyticsManager, loaderManager);
}
@Singleton
@Provides
Appsi provideAppsi() {
return mAppsi.get();
}
@Provides
@Singleton
AppPageLoader provideAppPageLoader(LauncherAppsCompat lac) {
return new AppPageLoader(mThemedContext, lac);
}
@Provides
@Singleton
LoaderManager provideLoaderManager(LoaderManagerImpl loaderManager) {
return loaderManager;
}
@Provides
@Singleton
PopupLayer providePopupLayer() {
LayoutInflater inflater = LayoutInflater.from(mThemedContext);
return (PopupLayer) inflater.inflate(R.layout.popup_layer, null);
}
@Provides
@Singleton
Sidebar provideSidebar() {
LayoutInflater inflater = LayoutInflater.from(mThemedContext);
return (Sidebar) inflater.inflate(R.layout.sidebar, null);
}
@Provides
@Singleton
AbstractHotspotHelper provideHotspotHelper(Context context, SharedPreferences sharedPreferences,
PermissionUtils permissionUtils, WindowManager windowManager, PopupLayer popupLayer) {
return Mockito.mock(AbstractHotspotHelper.class);
}
}