// Path: samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/core/navigation/BaseFragment.java
// public class BaseFragment
//         extends KeyedFragment {
//     public BaseFragment() {
//     }
// 
//     public BaseFragment(@LayoutRes int layoutRes) {
//         super(layoutRes);
//     }
// 
//     @Override
//     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
//         super.onViewCreated(view, savedInstanceState);
//         startPostponedEnterTransition();
//     }
// }
// 
// Path: samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/core/navigation/BaseKey.java
// public abstract class BaseKey extends DefaultFragmentKey {
//     @NotNull
//     @Override
//     public String getFragmentTag() {
//         return toString();
//     }
// }
// 
// Path: samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/core/sharedelements/HasSharedElement.java
// public interface HasSharedElement {
//     SharedElement sharedElement();
// }
// 
// Path: samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/core/sharedelements/SharedElement.java
// @AutoValue
// public abstract class SharedElement implements Parcelable {
//     public abstract String sourceTransitionName();
// 
//     public abstract String targetTransitionName();
// 
//     public static SharedElement create(String sourceTransitionName, String targetTransitionName) {
//         return new AutoValue_SharedElement(sourceTransitionName, targetTransitionName);
//     }
// }


import androidx.annotation.IntRange;
import com.example.fragmenttransitions.core.navigation.BaseFragment;
import com.example.fragmenttransitions.core.navigation.BaseKey;
import com.example.fragmenttransitions.core.sharedelements.HasSharedElement;
import com.example.fragmenttransitions.core.sharedelements.SharedElement;
import com.google.auto.value.AutoValue;
import org.jetbrains.annotations.NotNull;
package com.example.fragmenttransitions.features.kitten.details;




/**
 * Created by Zhuinden on 2020. 12. 18..
 */
@AutoValue
public abstract class KittenDetailsKey
        extends BaseKey
        implements HasSharedElement {
    public abstract SharedElement sharedElement();

    public abstract int kittenNumber();

    public static KittenDetailsKey create(SharedElement sharedElement, @IntRange(from = 1, to = 6) int kittenNumber) {
// Path: samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/core/navigation/BaseFragment.java
// public class BaseFragment
//         extends KeyedFragment {
//     public BaseFragment() {
//     }
// 
//     public BaseFragment(@LayoutRes int layoutRes) {
//         super(layoutRes);
//     }
// 
//     @Override
//     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
//         super.onViewCreated(view, savedInstanceState);
//         startPostponedEnterTransition();
//     }
// }
// 
// Path: samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/core/navigation/BaseKey.java
// public abstract class BaseKey extends DefaultFragmentKey {
//     @NotNull
//     @Override
//     public String getFragmentTag() {
//         return toString();
//     }
// }
// 
// Path: samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/core/sharedelements/HasSharedElement.java
// public interface HasSharedElement {
//     SharedElement sharedElement();
// }
// 
// Path: samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/core/sharedelements/SharedElement.java
// @AutoValue
// public abstract class SharedElement implements Parcelable {
//     public abstract String sourceTransitionName();
// 
//     public abstract String targetTransitionName();
// 
//     public static SharedElement create(String sourceTransitionName, String targetTransitionName) {
//         return new AutoValue_SharedElement(sourceTransitionName, targetTransitionName);
//     }
// }


// Path: samples/shared-element-samples/simple-stack-example-sharedelement-fragment/src/main/java/com/example/fragmenttransitions/features/kitten/details/KittenDetailsKey.java
import androidx.annotation.IntRange;
import com.example.fragmenttransitions.core.navigation.BaseFragment;
import com.example.fragmenttransitions.core.navigation.BaseKey;
import com.example.fragmenttransitions.core.sharedelements.HasSharedElement;
import com.example.fragmenttransitions.core.sharedelements.SharedElement;
import com.google.auto.value.AutoValue;
import org.jetbrains.annotations.NotNull;

package com.example.fragmenttransitions.features.kitten.details;




/**
 * Created by Zhuinden on 2020. 12. 18..
 */
@AutoValue
public abstract class KittenDetailsKey
        extends BaseKey
        implements HasSharedElement {
    public abstract SharedElement sharedElement();

    public abstract int kittenNumber();

    public static KittenDetailsKey create(SharedElement sharedElement, @IntRange(from = 1, to = 6) int kittenNumber) {
        return new AutoValue_KittenDetailsKey(sharedElement, kittenNumber);