package com.google.android.stardroid.activities; import android.app.Activity; import android.app.FragmentManager; import android.content.Context; import android.media.MediaPlayer; import android.os.Handler; import android.util.Log; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import com.google.android.stardroid.R; import com.google.android.stardroid.activities.dialogs.EulaDialogFragment; import com.google.android.stardroid.activities.dialogs.HelpDialogFragment; import com.google.android.stardroid.activities.dialogs.LocationPermissionRationaleFragment; import com.google.android.stardroid.activities.dialogs.MultipleSearchResultsDialogFragment; import com.google.android.stardroid.activities.dialogs.NoSearchResultsDialogFragment; import com.google.android.stardroid.activities.dialogs.NoSensorsDialogFragment; import com.google.android.stardroid.activities.dialogs.TimeTravelDialogFragment; import com.google.android.stardroid.inject.PerActivity; import com.google.android.stardroid.util.MiscUtil; import javax.inject.Named; import dagger.Module; import dagger.Provides; /** * Dagger module * Created by johntaylor on 3/29/16. */ @Module public class AbstractDynamicStarMapModule { private static final String TAG = MiscUtil.getTag(DynamicStarMapModule.class); private DynamicStarMapActivity activity; public AbstractDynamicStarMapModule(DynamicStarMapActivity activity) { Log.d(TAG, "Creating activity module for " + activity); this.activity = activity; } @Provides @PerActivity DynamicStarMapActivity provideDynamicStarMapActivity() { return activity; } @Provides @PerActivity Activity provideActivity() { return activity; } @Provides @PerActivity Context provideActivityContext() { return activity; } @Provides @PerActivity EulaDialogFragment provideEulaDialogFragment() { EulaDialogFragment fragment = new EulaDialogFragment(); return fragment; } @Provides @PerActivity TimeTravelDialogFragment provideTimeTravelDialogFragment() { return new TimeTravelDialogFragment(); } @Provides @PerActivity HelpDialogFragment provideHelpDialogFragment() { return new HelpDialogFragment(); } @Provides @PerActivity NoSearchResultsDialogFragment provideNoSearchResultsDialogFragment() { return new NoSearchResultsDialogFragment(); } @Provides @PerActivity MultipleSearchResultsDialogFragment provideMultipleSearchResultsDialogFragment() { return new MultipleSearchResultsDialogFragment(); } @Provides @PerActivity NoSensorsDialogFragment provideNoSensorsDialogFragment() { return new NoSensorsDialogFragment(); } @Provides @PerActivity @Named("timetravel") MediaPlayer provideTimeTravelNoise() { return MediaPlayer.create(activity, R.raw.timetravel); } @Provides @PerActivity @Named("timetravelback") MediaPlayer provideTimeTravelBackNoise() { return MediaPlayer.create(activity, R.raw.timetravelback); } @Provides @PerActivity Animation provideTimeTravelFlashAnimation() { return AnimationUtils.loadAnimation(activity, R.anim.timetravelflash); } @Provides @PerActivity Handler provideHandler() { return new Handler(); } @Provides @PerActivity FragmentManager provideFragmentManager() { return activity.getFragmentManager(); } @Provides @PerActivity LocationPermissionRationaleFragment provideLocationFragment() { return new LocationPermissionRationaleFragment(); } }