diff --git a/androidTest/java/androidx/javascriptengine/WebViewJavaScriptSandboxTest.java b/androidTest/java/androidx/javascriptengine/WebViewJavaScriptSandboxTest.java
index 5314cd0..ad5e4bd 100644
--- a/androidTest/java/androidx/javascriptengine/WebViewJavaScriptSandboxTest.java
+++ b/androidTest/java/androidx/javascriptengine/WebViewJavaScriptSandboxTest.java
@@ -442,7 +442,7 @@
                     Assert.fail("Should have thrown.");
                 } catch (ExecutionException e) {
                     Assert.assertTrue(
-                            e.getCause().getClass().equals(FileDescriptorIOException.class));
+                            e.getCause().getClass().equals(FileDescriptorIoException.class));
                 }
             }
         } finally {
@@ -559,7 +559,7 @@
                     Assert.fail("Should have thrown.");
                 } catch (ExecutionException e) {
                     Assert.assertTrue(
-                            e.getCause().getClass().equals(FileDescriptorIOException.class));
+                            e.getCause().getClass().equals(FileDescriptorIoException.class));
                 }
             }
         } finally {
diff --git a/main/java/androidx/javascriptengine/FileDescriptorIOException.java b/main/java/androidx/javascriptengine/FileDescriptorIoException.java
similarity index 80%
rename from main/java/androidx/javascriptengine/FileDescriptorIOException.java
rename to main/java/androidx/javascriptengine/FileDescriptorIoException.java
index d87dd72..0fb7570 100644
--- a/main/java/androidx/javascriptengine/FileDescriptorIOException.java
+++ b/main/java/androidx/javascriptengine/FileDescriptorIoException.java
@@ -17,7 +17,6 @@
 package androidx.javascriptengine;
 
 import androidx.annotation.NonNull;
-import androidx.annotation.RestrictTo;
 
 /**
  * Indicates that streaming JavaScript code into the JS evaluation environment has failed.
@@ -25,12 +24,11 @@
  * The JavaScript isolate may continue to be used after this exception has been thrown. The
  * JavaScript evaluation will not proceed if the JavaScript code streaming fails.
  */
-@RestrictTo(RestrictTo.Scope.LIBRARY)
-public final class FileDescriptorIOException extends JavaScriptException {
-    public FileDescriptorIOException(@NonNull String error) {
+public final class FileDescriptorIoException extends JavaScriptException {
+    public FileDescriptorIoException(@NonNull String error) {
         super(error);
     }
-    public FileDescriptorIOException() {
+    public FileDescriptorIoException() {
         super();
     }
 }
diff --git a/main/java/androidx/javascriptengine/IsolateUsableState.java b/main/java/androidx/javascriptengine/IsolateUsableState.java
index 56072c7..56ec56f 100644
--- a/main/java/androidx/javascriptengine/IsolateUsableState.java
+++ b/main/java/androidx/javascriptengine/IsolateUsableState.java
@@ -393,7 +393,7 @@
                 completer.setException(terminationInfo.toJavaScriptException());
                 break;
             case IJsSandboxIsolateSyncCallback.FILE_DESCRIPTOR_IO_ERROR:
-                completer.setException(new FileDescriptorIOException(error));
+                completer.setException(new FileDescriptorIoException(error));
                 break;
             default:
                 completer.setException(new JavaScriptException(
