14d8a62b819387c47a952e2643399d77d1ee15b1cChristian Williamspackage org.robolectric.util; 2dcd23c6a5874355bb9296fd44cf0fc092ad5326fMyeongseok Baek 3738df879d116e324c7c2a6afc649d9b8c8fa12d2Dandre' Allisonimport android.app.Activity; 4738df879d116e324c7c2a6afc649d9b8c8fa12d2Dandre' Allisonimport android.app.Fragment; 5cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orrimport android.app.FragmentManager; 63cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stottimport android.os.Bundle; 73cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stottimport android.widget.LinearLayout; 8851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williamsimport org.robolectric.Robolectric; 90b7537ef8b3e3bed85459ff4c214af07de81c1cdMyeongseok Baek 108bd5ff0f93b1acfc1fff6e1fbe2969a1488e5925Christian Williams/** 118bd5ff0f93b1acfc1fff6e1fbe2969a1488e5925Christian Williams * @deprecated Please use {@link Robolectric#buildFragment(Class)} instead. This will be 128bd5ff0f93b1acfc1fff6e1fbe2969a1488e5925Christian Williams * removed in a forthcoming release, 138bd5ff0f93b1acfc1fff6e1fbe2969a1488e5925Christian Williams */ 148bd5ff0f93b1acfc1fff6e1fbe2969a1488e5925Christian Williams@Deprecated 15738df879d116e324c7c2a6afc649d9b8c8fa12d2Dandre' Allisonpublic final class FragmentTestUtil { 16738df879d116e324c7c2a6afc649d9b8c8fa12d2Dandre' Allison 1729a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams public static void startFragment(Fragment fragment) { 18cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orr buildFragmentManager(FragmentUtilActivity.class) 19cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orr .beginTransaction().add(fragment, null).commit(); 20738df879d116e324c7c2a6afc649d9b8c8fa12d2Dandre' Allison } 21cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orr 22cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orr public static void startFragment(Fragment fragment, Class<? extends Activity> activityClass) { 23e7fbfaa13f9230ce29eb9f159821b8e02e3068daJimmy Orr buildFragmentManager(activityClass) 24e7fbfaa13f9230ce29eb9f159821b8e02e3068daJimmy Orr .beginTransaction().add(fragment, null).commit(); 25cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orr } 26cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orr 273cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott public static void startVisibleFragment(Fragment fragment) { 28cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orr buildFragmentManager(FragmentUtilActivity.class) 29cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orr .beginTransaction().add(1, fragment, null).commit(); 303cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott } 313cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott 325da42343afdd9b343e89344aecb53875a5134242Tony Cosentini public static void startVisibleFragment(Fragment fragment, 335da42343afdd9b343e89344aecb53875a5134242Tony Cosentini Class<? extends Activity> activityClass, int containerViewId) { 345da42343afdd9b343e89344aecb53875a5134242Tony Cosentini buildFragmentManager(activityClass) 355da42343afdd9b343e89344aecb53875a5134242Tony Cosentini .beginTransaction().add(containerViewId, fragment, null).commit(); 365da42343afdd9b343e89344aecb53875a5134242Tony Cosentini } 375da42343afdd9b343e89344aecb53875a5134242Tony Cosentini 38cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orr private static FragmentManager buildFragmentManager(Class<? extends Activity> activityClass) { 39cc4de4d4e1c9737a138521388a57d387510aa34eJimmy Orr Activity activity = Robolectric.setupActivity(activityClass); 40b0f9dff48e989aa551b47fd72c5825cbe3cd4170Callum Stott return activity.getFragmentManager(); 41b0f9dff48e989aa551b47fd72c5825cbe3cd4170Callum Stott } 423cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott 43b7eb377f5caa86ab2cd106d3bd52a87755b766c5Ryan Spore private static class FragmentUtilActivity extends Activity { 443cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott @Override 453cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott protected void onCreate(Bundle savedInstanceState) { 463cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott super.onCreate(savedInstanceState); 473cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott LinearLayout view = new LinearLayout(this); 483cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott view.setId(1); 493cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott 503cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott setContentView(view); 513cf2701aa08d5b59c1ef4ab4a6d0580866762ba4Callum Stott } 5229a8359eaef1ee9f40c967d3c4b5c1117c8c2a43Christian Williams } 53dcd23c6a5874355bb9296fd44cf0fc092ad5326fMyeongseok Baek} 54