package com.jdroid.android.debug;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import com.jdroid.android.R;
import com.jdroid.android.activity.AbstractFragmentActivity;
import com.jdroid.android.fragment.AbstractPreferenceFragment;
import com.jdroid.java.exception.UnexpectedException;
public class PreferenceAppenderActivity extends AbstractFragmentActivity {
public static final String APPENDER_EXTRA = "prefAppender";
public static void startActivity(Context context, PreferencesAppender preferencesAppender) {
Intent intent = new Intent(context, PreferenceAppenderActivity.class);
intent.putExtra(APPENDER_EXTRA, preferencesAppender);
context.startActivity(intent);
}
@Override
public int getContentView() {
return R.layout.jdroid_fragment_container_activity;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.fragmentContainer, createNewFragment());
fragmentTransaction.commit();
}
}
protected AbstractPreferenceFragment createNewFragment() {
return instanceAbstractPreferenceFragment(PreferenceAppenderFragment.class, getIntent().getExtras());
}
private <E extends AbstractPreferenceFragment> E instanceAbstractPreferenceFragment(Class<E> fragmentClass,
Bundle bundle) {
E fragment;
try {
fragment = fragmentClass.newInstance();
} catch (InstantiationException e) {
throw new UnexpectedException(e);
} catch (IllegalAccessException e) {
throw new UnexpectedException(e);
}
fragment.setArguments(bundle);
return fragment;
}
@Override
public Integer getMenuResourceId() {
return null;
}
}