private synchronized static File createFilesDir(File file) {
        if (!file.exists()) {
            if (!file.mkdirs()) {
                if (file.exists()) {
                    // spurious failure; probably racing with another process for this app
                    return file;
                }
                Log.w(TAG, "Unable to create files subdir " + file.getPath());
                return null;
            }
        }
        return file;
    }
Returns the absolute path to the application specific cache directory on
the filesystem designed for storing cached code. On devices running
{@link Build.VERSION_CODES#LOLLIPOP} or later, the system will delete
any files stored in this location both when your specific application is
upgraded, and when the entire platform is upgraded.
<p>
This location is optimal for storing compiled or optimized code generated
by your application at runtime.
<p>
Apps require no extra permissions to read or write to the returned path,
since this path lives in their private storage.

@return The path of the directory holding application code cache files.
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/compat/ContextCompat.java