class EmptyAssetsScreen {

    @PostConstruct
    public void initialize() {
        this.view.init(this);

        projectController.canUpdateProject(this.libraryPlaces.getActiveWorkspace()).then(userCanUpdateProject -> {
            this.enableButtons(userCanUpdateProject);

            newFileUploader.acceptContext(new Callback<Boolean, Void>() {
                @Override
                public void onFailure(Void reason) {
                    view.enableImportButton(false);
                }

                @Override
                public void onSuccess(Boolean result) {
                    view.enableImportButton(result && userCanUpdateProject);
                }
            });

            return promises.resolve();
        });
    }

    @Inject public  EmptyAssetsScreen(final EmptyAssetsScreen.View view,
                             final NewFileUploader newFileUploader,
                             final NewResourcePresenter newResourcePresenter,
                             final ProjectController projectController,
                             final LibraryPlaces libraryPlaces,
                             final Promises promises);

}