package com.pascalwelsch.compositeandroid.fragment;

import android.animation.Animator;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.arch.lifecycle.LiveData;
import android.arch.lifecycle.ViewModelStore;
import android.content.Context;
import android.content.Intent;
import android.content.IntentSender;
import android.content.IntentSender.SendIntentException;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.LoaderManager;
import android.support.v4.app.SharedElementCallback;
import android.util.AttributeSet;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import com.pascalwelsch.compositeandroid.core.Removable;
import com.pascalwelsch.compositeandroid.core.SuppressedException;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

@SuppressWarnings({"unused", "deprecation", "JavadocReference", "WrongConstant", "RestrictedApi"})
@SuppressLint({"MissingSuperCall", "NewApi"})

/**
 * This code was auto-generated by the <a href="https://github.com/passsy/CompositeAndroid">CompositeAndroid</a> generator
 *
 * @author Pascal Welsch
 */
public class CompositeFragment extends Fragment implements ICompositeFragment {

    protected FragmentDelegate delegate = new FragmentDelegate(this);

    @Override
    public void onAttach(Context context) {
        delegate.onAttach(context);
    }

    /**
     * @deprecated
     */
    @Override
    public void onAttach(Activity activity) {
        delegate.onAttach(activity);
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        delegate.onCreate(savedInstanceState);
    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
            @Nullable Bundle savedInstanceState) {
        return delegate.onCreateView(inflater, container, savedInstanceState);
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        delegate.onViewCreated(view, savedInstanceState);
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        delegate.onActivityCreated(savedInstanceState);
    }

    @Override
    public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
        delegate.onViewStateRestored(savedInstanceState);
    }

    @Override
    public void onStart() {
        delegate.onStart();
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        delegate.onActivityResult(requestCode, resultCode, data);
    }

    @Override
    public void onResume() {
        delegate.onResume();
    }

    @Override
    public void onPause() {
        delegate.onPause();
    }

    @Override
    public void onStop() {
        delegate.onStop();
    }

    @Override
    public void onSaveInstanceState(@NonNull Bundle outState) {
        delegate.onSaveInstanceState(outState);
    }

    @Override
    public void onDestroyView() {
        delegate.onDestroyView();
    }

    @Override
    public void onDestroy() {
        delegate.onDestroy();
    }

    @Override
    public void onDetach() {
        delegate.onDetach();
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
            @NonNull int[] grantResults) {
        delegate.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }

    public List<Removable> addFragmentPlugins(@NonNull final FragmentPlugin... plugins) {
        final List<Removable> removables = new ArrayList<>(plugins.length);
        for (final FragmentPlugin plugin : plugins) {
            removables.add(delegate.addPlugin(plugin));
        }
        return removables;
    }

    public List<Removable> addFragmentPlugins(@NonNull final Iterable<? extends FragmentPlugin> plugins) {
        final List<Removable> removables = new ArrayList<>();
        for (final FragmentPlugin plugin : plugins) {
            removables.add(delegate.addPlugin(plugin));
        }
        return removables;
    }

    public Removable addPlugin(final FragmentPlugin plugin) {
        return delegate.addPlugin(plugin);
    }

    @Override
    public void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) {
        delegate.dump(prefix, fd, writer, args);
    }

    @Override
    public boolean getAllowEnterTransitionOverlap() {
        return delegate.getAllowEnterTransitionOverlap();
    }

    @Override
    public void setAllowEnterTransitionOverlap(boolean allow) {
        delegate.setAllowEnterTransitionOverlap(allow);
    }

    @Override
    public boolean getAllowReturnTransitionOverlap() {
        return delegate.getAllowReturnTransitionOverlap();
    }

    @Override
    public void setAllowReturnTransitionOverlap(boolean allow) {
        delegate.setAllowReturnTransitionOverlap(allow);
    }

    @Nullable
    @Override
    public Context getContext() {
        return delegate.getContext();
    }

    @Nullable
    @Override
    public Object getEnterTransition() {
        return delegate.getEnterTransition();
    }

    @Override
    public void setEnterTransition(@Nullable Object transition) {
        delegate.setEnterTransition(transition);
    }

    @Nullable
    @Override
    public Object getExitTransition() {
        return delegate.getExitTransition();
    }

    @Override
    public void setExitTransition(@Nullable Object transition) {
        delegate.setExitTransition(transition);
    }

    /**
     * @deprecated
     */
    @NonNull
    @Override
    public LayoutInflater getLayoutInflater(@Nullable Bundle savedFragmentState) {
        return delegate.getLayoutInflater(savedFragmentState);
    }

    @Override
    public android.arch.lifecycle.Lifecycle getLifecycle() {
        return delegate.getLifecycle();
    }

    /**
     * @deprecated
     */
    @Override
    public LoaderManager getLoaderManager() {
        return delegate.getLoaderManager();
    }

    @Override
    public Object getReenterTransition() {
        return delegate.getReenterTransition();
    }

    @Override
    public void setReenterTransition(@Nullable Object transition) {
        delegate.setReenterTransition(transition);
    }

    @Nullable
    @Override
    public Object getReturnTransition() {
        return delegate.getReturnTransition();
    }

    @Override
    public void setReturnTransition(@Nullable Object transition) {
        delegate.setReturnTransition(transition);
    }

    @Nullable
    @Override
    public Object getSharedElementEnterTransition() {
        return delegate.getSharedElementEnterTransition();
    }

    @Override
    public void setSharedElementEnterTransition(@Nullable Object transition) {
        delegate.setSharedElementEnterTransition(transition);
    }

    @Nullable
    @Override
    public Object getSharedElementReturnTransition() {
        return delegate.getSharedElementReturnTransition();
    }

    @Override
    public void setSharedElementReturnTransition(@Nullable Object transition) {
        delegate.setSharedElementReturnTransition(transition);
    }

    @Override
    public boolean getUserVisibleHint() {
        return delegate.getUserVisibleHint();
    }

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        delegate.setUserVisibleHint(isVisibleToUser);
    }

    @Nullable
    @Override
    public View getView() {
        return delegate.getView();
    }

    @NonNull
    @Override
    public android.arch.lifecycle.LifecycleOwner getViewLifecycleOwner() {
        return delegate.getViewLifecycleOwner();
    }

    @NonNull
    @Override
    public LiveData<android.arch.lifecycle.LifecycleOwner> getViewLifecycleOwnerLiveData() {
        return delegate.getViewLifecycleOwnerLiveData();
    }

    @NonNull
    @Override
    public ViewModelStore getViewModelStore() {
        return delegate.getViewModelStore();
    }

    @Override
    public void onAttachFragment(Fragment childFragment) {
        delegate.onAttachFragment(childFragment);
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        delegate.onConfigurationChanged(newConfig);
    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        return delegate.onContextItemSelected(item);
    }

    @Override
    public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) {
        return delegate.onCreateAnimation(transit, enter, nextAnim);
    }

    @Override
    public Animator onCreateAnimator(int transit, boolean enter, int nextAnim) {
        return delegate.onCreateAnimator(transit, enter, nextAnim);
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
        delegate.onCreateContextMenu(menu, v, menuInfo);
    }

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        delegate.onCreateOptionsMenu(menu, inflater);
    }

    @Override
    public void onDestroyOptionsMenu() {
        delegate.onDestroyOptionsMenu();
    }

    @NonNull
    @Override
    public LayoutInflater onGetLayoutInflater(@Nullable Bundle savedInstanceState) {
        return delegate.onGetLayoutInflater(savedInstanceState);
    }

    @Override
    public void onHiddenChanged(boolean hidden) {
        delegate.onHiddenChanged(hidden);
    }

    @Override
    public void onInflate(Context context, AttributeSet attrs, Bundle savedInstanceState) {
        delegate.onInflate(context, attrs, savedInstanceState);
    }

    /**
     * @deprecated
     */
    @Override
    public void onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState) {
        delegate.onInflate(activity, attrs, savedInstanceState);
    }

    @Override
    public void onLowMemory() {
        delegate.onLowMemory();
    }

    @Override
    public void onMultiWindowModeChanged(boolean isInMultiWindowMode) {
        delegate.onMultiWindowModeChanged(isInMultiWindowMode);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        return delegate.onOptionsItemSelected(item);
    }

    @Override
    public void onOptionsMenuClosed(Menu menu) {
        delegate.onOptionsMenuClosed(menu);
    }

    @Override
    public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
        delegate.onPictureInPictureModeChanged(isInPictureInPictureMode);
    }

    @Override
    public void onPrepareOptionsMenu(Menu menu) {
        delegate.onPrepareOptionsMenu(menu);
    }

    @Override
    public void postponeEnterTransition() {
        delegate.postponeEnterTransition();
    }

    @Override
    public void registerForContextMenu(View view) {
        delegate.registerForContextMenu(view);
    }

    @Override
    public void setArguments(@Nullable Bundle args) {
        delegate.setArguments(args);
    }

    @Override
    public void setEnterSharedElementCallback(SharedElementCallback callback) {
        delegate.setEnterSharedElementCallback(callback);
    }

    @Override
    public void setExitSharedElementCallback(SharedElementCallback callback) {
        delegate.setExitSharedElementCallback(callback);
    }

    @Override
    public void setHasOptionsMenu(boolean hasMenu) {
        delegate.setHasOptionsMenu(hasMenu);
    }

    @Override
    public void setInitialSavedState(@Nullable Fragment.SavedState state) {
        delegate.setInitialSavedState(state);
    }

    @Override
    public void setMenuVisibility(boolean menuVisible) {
        delegate.setMenuVisibility(menuVisible);
    }

    @Override
    public void setRetainInstance(boolean retain) {
        delegate.setRetainInstance(retain);
    }

    @Override
    public void setTargetFragment(@Nullable Fragment fragment, int requestCode) {
        delegate.setTargetFragment(fragment, requestCode);
    }

    @Override
    public boolean shouldShowRequestPermissionRationale(@NonNull String permission) {
        return delegate.shouldShowRequestPermissionRationale(permission);
    }

    @Override
    public void startActivity(Intent intent) {
        delegate.startActivity(intent);
    }

    @Override
    public void startActivity(Intent intent, @Nullable Bundle options) {
        delegate.startActivity(intent, options);
    }

    @Override
    public void startActivityForResult(Intent intent, int requestCode) {
        delegate.startActivityForResult(intent, requestCode);
    }

    @Override
    public void startActivityForResult(Intent intent, int requestCode, @Nullable Bundle options) {
        delegate.startActivityForResult(intent, requestCode, options);
    }

    @Override
    public void startIntentSenderForResult(IntentSender intent, int requestCode, @Nullable Intent fillInIntent,
            int flagsMask, int flagsValues, int extraFlags, Bundle options) throws SendIntentException {
        try {
            delegate.startIntentSenderForResult(intent, requestCode, fillInIntent, flagsMask, flagsValues, extraFlags,
                    options);
        } catch (SuppressedException e) {
            throw (SendIntentException) e.getCause();
        }
    }

    @Override
    public void startPostponedEnterTransition() {
        delegate.startPostponedEnterTransition();
    }

    @Override
    public void super_dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) {
        super.dump(prefix, fd, writer, args);
    }

    @Override
    public boolean super_getAllowEnterTransitionOverlap() {
        return super.getAllowEnterTransitionOverlap();
    }

    @Override
    public boolean super_getAllowReturnTransitionOverlap() {
        return super.getAllowReturnTransitionOverlap();
    }

    @Nullable
    @Override
    public Context super_getContext() {
        return super.getContext();
    }

    @Nullable
    @Override
    public Object super_getEnterTransition() {
        return super.getEnterTransition();
    }

    @Nullable
    @Override
    public Object super_getExitTransition() {
        return super.getExitTransition();
    }

    /**
     * @deprecated
     */
    @NonNull
    @Override
    public LayoutInflater super_getLayoutInflater(@Nullable Bundle savedFragmentState) {
        return super.getLayoutInflater(savedFragmentState);
    }

    @Override
    public android.arch.lifecycle.Lifecycle super_getLifecycle() {
        return super.getLifecycle();
    }

    /**
     * @deprecated
     */

    @Override
    public LoaderManager super_getLoaderManager() {
        return super.getLoaderManager();
    }

    @Override
    public Object super_getReenterTransition() {
        return super.getReenterTransition();
    }

    @Nullable
    @Override
    public Object super_getReturnTransition() {
        return super.getReturnTransition();
    }

    @Nullable
    @Override
    public Object super_getSharedElementEnterTransition() {
        return super.getSharedElementEnterTransition();
    }

    @Nullable
    @Override
    public Object super_getSharedElementReturnTransition() {
        return super.getSharedElementReturnTransition();
    }

    @Override
    public boolean super_getUserVisibleHint() {
        return super.getUserVisibleHint();
    }

    @Nullable
    @Override
    public View super_getView() {
        return super.getView();
    }

    @NonNull
    @Override
    public android.arch.lifecycle.LifecycleOwner super_getViewLifecycleOwner() {
        return super.getViewLifecycleOwner();
    }

    @NonNull
    @Override
    public LiveData<android.arch.lifecycle.LifecycleOwner> super_getViewLifecycleOwnerLiveData() {
        return super.getViewLifecycleOwnerLiveData();
    }

    @NonNull
    @Override
    public ViewModelStore super_getViewModelStore() {
        return super.getViewModelStore();
    }

    @Override
    public void super_onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }

    @Override
    public void super_onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
    }

    @Override
    public void super_onAttach(Context context) {
        super.onAttach(context);
    }

    /**
     * @deprecated
     */

    @Override
    public void super_onAttach(Activity activity) {
        super.onAttach(activity);
    }

    @Override
    public void super_onAttachFragment(Fragment childFragment) {
        super.onAttachFragment(childFragment);
    }

    @Override
    public void super_onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }

    @Override
    public boolean super_onContextItemSelected(MenuItem item) {
        return super.onContextItemSelected(item);
    }

    @Override
    public void super_onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public Animation super_onCreateAnimation(int transit, boolean enter, int nextAnim) {
        return super.onCreateAnimation(transit, enter, nextAnim);
    }

    @Override
    public Animator super_onCreateAnimator(int transit, boolean enter, int nextAnim) {
        return super.onCreateAnimator(transit, enter, nextAnim);
    }

    @Override
    public void super_onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
    }

    @Override
    public void super_onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
    }

    @Nullable
    @Override
    public View super_onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
            @Nullable Bundle savedInstanceState) {
        return super.onCreateView(inflater, container, savedInstanceState);
    }

    @Override
    public void super_onDestroy() {
        super.onDestroy();
    }

    @Override
    public void super_onDestroyOptionsMenu() {
        super.onDestroyOptionsMenu();
    }

    @Override
    public void super_onDestroyView() {
        super.onDestroyView();
    }

    @Override
    public void super_onDetach() {
        super.onDetach();
    }

    @NonNull
    @Override
    public LayoutInflater super_onGetLayoutInflater(@Nullable Bundle savedInstanceState) {
        return super.onGetLayoutInflater(savedInstanceState);
    }

    @Override
    public void super_onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
    }

    @Override
    public void super_onInflate(Context context, AttributeSet attrs, Bundle savedInstanceState) {
        super.onInflate(context, attrs, savedInstanceState);
    }

    /**
     * @deprecated
     */

    @Override
    public void super_onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState) {
        super.onInflate(activity, attrs, savedInstanceState);
    }

    @Override
    public void super_onLowMemory() {
        super.onLowMemory();
    }

    @Override
    public void super_onMultiWindowModeChanged(boolean isInMultiWindowMode) {
        super.onMultiWindowModeChanged(isInMultiWindowMode);
    }

    @Override
    public boolean super_onOptionsItemSelected(MenuItem item) {
        return super.onOptionsItemSelected(item);
    }

    @Override
    public void super_onOptionsMenuClosed(Menu menu) {
        super.onOptionsMenuClosed(menu);
    }

    @Override
    public void super_onPause() {
        super.onPause();
    }

    @Override
    public void super_onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
        super.onPictureInPictureModeChanged(isInPictureInPictureMode);
    }

    @Override
    public void super_onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);
    }

    @Override
    public void super_onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
            @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }

    @Override
    public void super_onResume() {
        super.onResume();
    }

    @Override
    public void super_onSaveInstanceState(@NonNull Bundle outState) {
        super.onSaveInstanceState(outState);
    }

    @Override
    public void super_onStart() {
        super.onStart();
    }

    @Override
    public void super_onStop() {
        super.onStop();
    }

    @Override
    public void super_onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
    }

    @Override
    public void super_onViewStateRestored(@Nullable Bundle savedInstanceState) {
        super.onViewStateRestored(savedInstanceState);
    }

    @Override
    public void super_postponeEnterTransition() {
        super.postponeEnterTransition();
    }

    @Override
    public void super_registerForContextMenu(View view) {
        super.registerForContextMenu(view);
    }

    @Override
    public void super_setAllowEnterTransitionOverlap(boolean allow) {
        super.setAllowEnterTransitionOverlap(allow);
    }

    @Override
    public void super_setAllowReturnTransitionOverlap(boolean allow) {
        super.setAllowReturnTransitionOverlap(allow);
    }

    @Override
    public void super_setArguments(@Nullable Bundle args) {
        super.setArguments(args);
    }

    @Override
    public void super_setEnterSharedElementCallback(SharedElementCallback callback) {
        super.setEnterSharedElementCallback(callback);
    }

    @Override
    public void super_setEnterTransition(@Nullable Object transition) {
        super.setEnterTransition(transition);
    }

    @Override
    public void super_setExitSharedElementCallback(SharedElementCallback callback) {
        super.setExitSharedElementCallback(callback);
    }

    @Override
    public void super_setExitTransition(@Nullable Object transition) {
        super.setExitTransition(transition);
    }

    @Override
    public void super_setHasOptionsMenu(boolean hasMenu) {
        super.setHasOptionsMenu(hasMenu);
    }

    @Override
    public void super_setInitialSavedState(@Nullable Fragment.SavedState state) {
        super.setInitialSavedState(state);
    }

    @Override
    public void super_setMenuVisibility(boolean menuVisible) {
        super.setMenuVisibility(menuVisible);
    }

    @Override
    public void super_setReenterTransition(@Nullable Object transition) {
        super.setReenterTransition(transition);
    }

    @Override
    public void super_setRetainInstance(boolean retain) {
        super.setRetainInstance(retain);
    }

    @Override
    public void super_setReturnTransition(@Nullable Object transition) {
        super.setReturnTransition(transition);
    }

    @Override
    public void super_setSharedElementEnterTransition(@Nullable Object transition) {
        super.setSharedElementEnterTransition(transition);
    }

    @Override
    public void super_setSharedElementReturnTransition(@Nullable Object transition) {
        super.setSharedElementReturnTransition(transition);
    }

    @Override
    public void super_setTargetFragment(@Nullable Fragment fragment, int requestCode) {
        super.setTargetFragment(fragment, requestCode);
    }

    @Override
    public void super_setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
    }

    @Override
    public boolean super_shouldShowRequestPermissionRationale(@NonNull String permission) {
        return super.shouldShowRequestPermissionRationale(permission);
    }

    @Override
    public void super_startActivity(Intent intent) {
        super.startActivity(intent);
    }

    @Override
    public void super_startActivity(Intent intent, @Nullable Bundle options) {
        super.startActivity(intent, options);
    }

    @Override
    public void super_startActivityForResult(Intent intent, int requestCode) {
        super.startActivityForResult(intent, requestCode);
    }

    @Override
    public void super_startActivityForResult(Intent intent, int requestCode, @Nullable Bundle options) {
        super.startActivityForResult(intent, requestCode, options);
    }

    @Override
    public void super_startIntentSenderForResult(IntentSender intent, int requestCode, @Nullable Intent fillInIntent,
            int flagsMask, int flagsValues, int extraFlags, Bundle options) throws SendIntentException {
        super.startIntentSenderForResult(intent, requestCode, fillInIntent, flagsMask, flagsValues, extraFlags,
                options);
    }

    @Override
    public void super_startPostponedEnterTransition() {
        super.startPostponedEnterTransition();
    }

    @Override
    public String super_toString() {
        return super.toString();
    }

    @Override
    public void super_unregisterForContextMenu(View view) {
        super.unregisterForContextMenu(view);
    }

    @Override
    public String toString() {
        return delegate.toString();
    }

    @Override
    public void unregisterForContextMenu(View view) {
        delegate.unregisterForContextMenu(view);
    }
}