package net.rdrei.android.scdl2.ui; import net.rdrei.android.scdl2.ActivityStarter; import net.rdrei.android.scdl2.PreferenceManagerWrapper; import net.rdrei.android.scdl2.PreferenceManagerWrapperFactory; import net.rdrei.android.scdl2.R; import roboguice.activity.RoboPreferenceActivity; import roboguice.inject.InjectExtra; import android.app.AlertDialog; import android.content.Intent; import android.os.Bundle; import com.google.inject.Inject; /** * The activity replacing {@link DownloadPreferencesFragment} on pre-ICS. * * @author pascal * */ public class DownloadPreferencesActivity extends RoboPreferenceActivity { public static final String EXTRA_DOWNLOAD_ERROR = "download_error"; @Inject private DownloadPreferencesDelegateFactory mDelegateFactory; private DownloadPreferencesDelegate mDelegate; @Inject private PreferenceManagerWrapperFactory mPreferenceManagerFactory; @Inject private DownloadPreferenceErrorAlertDialogFactory mDownloadPreferenceErrorAlertDialogFactory; @InjectExtra(optional = true, value = EXTRA_DOWNLOAD_ERROR) private Integer mExtraDownloadError; @SuppressWarnings("deprecation") @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); final PreferenceManagerWrapper preferenceManagerWrapper = mPreferenceManagerFactory .create(getPreferenceManager()); mDelegate = mDelegateFactory.create(preferenceManagerWrapper); addPreferencesFromResource(R.xml.download_preferences); mDelegate.onCreate(new ActivityStarter(this)); if (mExtraDownloadError != null) { mDownloadPreferenceErrorAlertDialogFactory.newInstance().show(); } } @Override public void onPause() { super.onPause(); mDelegate.onPause(); } @Override public void onResume() { super.onResume(); mDelegate.onResume(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); mDelegate.onActivityResult(requestCode, resultCode, data); } }