mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-05-18 18:51:26 +00:00
init commit
added new string properties added ui elements for user permission to look up error solutions in database modified ErrorController for permission handling
This commit is contained in:
@@ -49,13 +49,13 @@ public class ErrorController implements FxController {
|
||||
private static final String REPORT_BODY_TEMPLATE = """
|
||||
OS: %s / %s
|
||||
App: %s / %s
|
||||
|
||||
|
||||
<!-- ✏ Please describe what happened as accurately as possible. -->
|
||||
|
||||
|
||||
<!-- 📋 Please also copy and paste the detail text from the error window. -->
|
||||
|
||||
|
||||
<!-- ℹ Text enclosed like this (chevrons, exclamation mark, two dashes) is not visible to others! -->
|
||||
|
||||
|
||||
<!-- ❗ If the description or the detail text is missing, the discussion will be deleted. -->
|
||||
""";
|
||||
|
||||
@@ -65,11 +65,13 @@ public class ErrorController implements FxController {
|
||||
private final Scene previousScene;
|
||||
private final Stage window;
|
||||
private final Environment environment;
|
||||
private final ExecutorService executorService;
|
||||
|
||||
private final BooleanProperty copiedDetails = new SimpleBooleanProperty();
|
||||
private final ObjectProperty<ErrorDiscussion> matchingErrorDiscussion = new SimpleObjectProperty<>();
|
||||
private final BooleanExpression errorSolutionFound = matchingErrorDiscussion.isNotNull();
|
||||
private final BooleanProperty isLoadingHttpResponse = new SimpleBooleanProperty();
|
||||
private final BooleanProperty lookupDatabaseUserPermission = new SimpleBooleanProperty();
|
||||
|
||||
@Inject
|
||||
ErrorController(Application application, @Named("stackTrace") String stackTrace, ErrorCode errorCode, @Nullable Scene previousScene, Stage window, Environment environment, ExecutorService executorService) {
|
||||
@@ -79,15 +81,7 @@ public class ErrorController implements FxController {
|
||||
this.previousScene = previousScene;
|
||||
this.window = window;
|
||||
this.environment = environment;
|
||||
|
||||
isLoadingHttpResponse.set(true);
|
||||
HttpClient httpClient = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
|
||||
HttpRequest httpRequest = HttpRequest.newBuilder()//
|
||||
.uri(URI.create(ERROR_CODES_URL))//
|
||||
.build();
|
||||
httpClient.sendAsync(httpRequest, HttpResponse.BodyHandlers.ofInputStream())//
|
||||
.thenAcceptAsync(this::loadHttpResponse, executorService)//
|
||||
.whenCompleteAsync((r, e) -> isLoadingHttpResponse.set(false), Platform::runLater);
|
||||
this.executorService = executorService;
|
||||
}
|
||||
|
||||
@FXML
|
||||
@@ -140,6 +134,24 @@ public class ErrorController implements FxController {
|
||||
CompletableFuture.delayedExecutor(2, TimeUnit.SECONDS, Platform::runLater).execute(() -> copiedDetails.set(false));
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void dismiss() {
|
||||
lookupDatabaseUserPermission.set(true);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void lookUpSolution() {
|
||||
lookupDatabaseUserPermission.set(true);
|
||||
isLoadingHttpResponse.set(true);
|
||||
HttpClient httpClient = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
|
||||
HttpRequest httpRequest = HttpRequest.newBuilder()//
|
||||
.uri(URI.create(ERROR_CODES_URL))//
|
||||
.build();
|
||||
httpClient.sendAsync(httpRequest, HttpResponse.BodyHandlers.ofInputStream())//
|
||||
.thenAcceptAsync(this::loadHttpResponse, executorService)//
|
||||
.whenCompleteAsync((r, e) -> isLoadingHttpResponse.set(false), Platform::runLater);
|
||||
}
|
||||
|
||||
private void loadHttpResponse(HttpResponse<InputStream> response) {
|
||||
if (response.statusCode() != 200) {
|
||||
LOG.error("Status code {} when trying to load {} ", response.statusCode(), response.uri());
|
||||
@@ -293,4 +305,12 @@ public class ErrorController implements FxController {
|
||||
return isLoadingHttpResponse.get();
|
||||
}
|
||||
|
||||
public BooleanProperty lookupDatabaseUserPermissionProperty() {
|
||||
return lookupDatabaseUserPermission;
|
||||
}
|
||||
|
||||
public boolean isLookupDatabaseUserPermission() {
|
||||
return lookupDatabaseUserPermission.get();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user