package com.ustadmobile.port.android.util.ext;

import java.lang.System;

@kotlin.Metadata(mv = {1, 7, 1}, k = 2, d1 = {"\u0000.\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010$\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0003\u001a&\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\n\b\u0002\u0010\u0007\u001a\u0004\u0018\u00010\b\u001a&\u0010\t\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\n\b\u0002\u0010\u0007\u001a\u0004\u0018\u00010\b\u001a\u0018\u0010\n\u001a\u0010\u0012\u0004\u0012\u00020\u0006\u0012\u0004\u0012\u00020\u0006\u0018\u00010\u000b*\u00020\u0002\u001a&\u0010\f\u001a\u00020\r*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u000e\u001a\u00020\u00012\n\b\u0002\u0010\u0007\u001a\u0004\u0018\u00010\b\u001a\u001a\u0010\u000f\u001a\u00020\r*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u000e\u001a\u00020\u0001\u00a8\u0006\u0010"}, d2 = {"createTempDirForDestination", "Ljava/io/File;", "Landroidx/navigation/NavController;", "context", "Landroid/content/Context;", "name", "", "destination", "Landroidx/navigation/NavDestination;", "createTempFileForDestination", "currentBackStackEntrySavedStateMap", "", "registerDestinationTempFile", "", "file", "unregisterDestinationTempFile", "app-android_release"})
public final class NavControllerExtKt {
    
    /**
     * We are using the NavController saved state handle instead of the SavedState bundle. The SavedState
     * bundle does not help us when a fragment is destroyed for reasons other than the Android system
     * reclaiming memory (e.g. when the user wants goes to another screen).
     *
     * This is simply a convenience extension function.
     */
    @org.jetbrains.annotations.Nullable()
    public static final java.util.Map<java.lang.String, java.lang.String> currentBackStackEntrySavedStateMap(@org.jetbrains.annotations.NotNull()
    androidx.navigation.NavController $this$currentBackStackEntrySavedStateMap) {
        return null;
    }
    
    /**
     * Register a given file that should be deleted once the given destination has been popped from the
     * back stack.
     *
     * @param context Context to use to find the cache dir and access shared preferences.
     * @param file File or directory that should be deleted when the given destination is popped from the backstack.
     * @param destination the destination, which when popped from the backstack, should trigger the given
     * file to be deleted.
     */
    public static final void registerDestinationTempFile(@org.jetbrains.annotations.NotNull()
    androidx.navigation.NavController $this$registerDestinationTempFile, @org.jetbrains.annotations.NotNull()
    android.content.Context context, @org.jetbrains.annotations.NotNull()
    java.io.File file, @org.jetbrains.annotations.Nullable()
    androidx.navigation.NavDestination destination) {
    }
    
    /**
     * Removes the given file from the tmpFile registration
     */
    public static final void unregisterDestinationTempFile(@org.jetbrains.annotations.NotNull()
    androidx.navigation.NavController $this$unregisterDestinationTempFile, @org.jetbrains.annotations.NotNull()
    android.content.Context context, @org.jetbrains.annotations.NotNull()
    java.io.File file) {
    }
    
    /**
     * Create a temp file that will be deleted once the given destination has been popped from the back
     * stack. This will save an entry to a sharedpreference key in a dedicated SharedPreferences.
     * DeleteTempNavigationListener will delete any temporary files for any destination that is no longer
     * in the backstack.
     *
     * @param context Context to use to find the cache dir and access shared preferences
     * @param name filename to create (under context.cacheDir)
     * @param destination the destination with which this temporary file will be associated.
     */
    @org.jetbrains.annotations.NotNull()
    public static final java.io.File createTempFileForDestination(@org.jetbrains.annotations.NotNull()
    androidx.navigation.NavController $this$createTempFileForDestination, @org.jetbrains.annotations.NotNull()
    android.content.Context context, @org.jetbrains.annotations.NotNull()
    java.lang.String name, @org.jetbrains.annotations.Nullable()
    androidx.navigation.NavDestination destination) {
        return null;
    }
    
    /**
     * Create a temporary directory for the given destination. This is the smae as createTempFileForDestination,
     * only it creates a directory instead of a file.
     *
     * Because DeleteTempNavigationListener will use deleteRecursively, anything in the directory will
     * be deleted once the destination is no longer in the stack
     */
    @org.jetbrains.annotations.NotNull()
    public static final java.io.File createTempDirForDestination(@org.jetbrains.annotations.NotNull()
    androidx.navigation.NavController $this$createTempDirForDestination, @org.jetbrains.annotations.NotNull()
    android.content.Context context, @org.jetbrains.annotations.NotNull()
    java.lang.String name, @org.jetbrains.annotations.Nullable()
    androidx.navigation.NavDestination destination) {
        return null;
    }
}