Realice trabajos de intercambio vertical y horizontal con dos adaptadores

Básicamente, estoy tratando de hacer que mi aplicación sea como Snapchat, donde puedes deslizar hacia la izquierda, derecha, arriba y abajo. Mi problema es que la aplicación no se da cuenta de que hay dos adaptadores y solo funciona uno o el otro (vertical u horizontalmente). Cómo lo hago para poder deslizar verticalmente y horizontalmente en mi

Fragmento Vacío

Actualmente tengo mi VerticalViewPagerAdapter extendiéndose a un FragmentPagerAdapter

public class VerticalViewPager extends FragmentPagerAdapter {
public VerticalViewPager(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int position) {
    switch (position){
        case 0:
            return SettingsFragment.create();
        case 1:
            return EmptyFragment.create();
        case 2:
            return ExtrasFragment.create();
    }
    return null;
}

@Override
public int getCount() {
    return 3;
}

Así como mi HorizontalViewPagerAdapter

public class HorizontalViewPager extends FragmentPagerAdapter {

    public HorizontalViewPager(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        switch (position){
            case 0:
                return ChatFragment.create();
            case 1:
                return EmptyFragment.create();
            case 2:
                return StoryFragment.create();
        }
        return null;
    }


@Override
public int getCount() {
    return 3;
}

Y de alguna manera no puedo sincronizarlos, ya sea uno u otro y puedo alterar si mi aplicación se vuelve vertical u horizontal cambiando mi archivo de diseño

<View
android:id="@+id/am_background_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/green"/>
<android.support.v4.view.ViewPager
    android:id="@+id/am_view_pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
<me.kaelaela.verticalviewpager.VerticalViewPager
    android:id="@+id/am_scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

No estoy seguro de si tiene que ver con mi MainActivity, que es

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //VerticalViewPager
    me.kaelaela.verticalviewpager.VerticalViewPager verticalViewPager = findViewById(R.id.am_scrollView);
    VerticalViewPager scrollViewAdapter = new VerticalViewPager(getSupportFragmentManager());
    verticalViewPager.setAdapter(scrollViewAdapter);
    verticalViewPager.setPageTransformer(false, new DefaultTransformer());

    //HorizontalViewPager
    View background = findViewById(R.id.am_background_view);
    ViewPager viewPager = findViewById(R.id.am_view_pager);
    HorizontalViewPager adapter = new HorizontalViewPager(getSupportFragmentManager());
    viewPager.setAdapter(adapter);
    viewPager.setCurrentItem(1);

Respuestas a la pregunta(1)

Su respuesta a la pregunta