diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/ScribePluginTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/ScribePluginTest.java
index 386c75a..8b77cc7 100644
--- a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/ScribePluginTest.java
+++ b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/ScribePluginTest.java
@@ -5,9 +5,10 @@
 package io.flutter.plugin.editing;
 
 import static io.flutter.Build.API_LEVELS;
-import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -48,7 +49,7 @@
   @TargetApi(API_LEVELS.API_34)
   @Test
   public void scribePluginIsFeatureAvailable() {
-    assertEquals(scribePlugin.isFeatureAvailable(), true);
+    assertTrue(scribePlugin.isFeatureAvailable());
 
     verify(mockImm).isStylusHandwritingAvailable();
   }
@@ -57,7 +58,7 @@
   @TargetApi(API_LEVELS.API_34)
   @Test
   public void scribePluginIsStylusHandwritingAvailable() {
-    assertEquals(scribePlugin.isStylusHandwritingAvailable(), true);
+    assertTrue(scribePlugin.isStylusHandwritingAvailable());
 
     verify(mockImm).isStylusHandwritingAvailable();
   }
@@ -77,18 +78,14 @@
   public void scribePluginStartStylusHandwritingWhenAPILevelUnsupported() {
     assertNotNull(scribePlugin);
 
-    assertThrows(
-        NoSuchMethodError.class,
-        () -> {
-          scribePlugin.startStylusHandwriting();
-        });
+    assertThrows(NoSuchMethodError.class, () -> scribePlugin.startStylusHandwriting());
   }
 
   @Config(sdk = API_LEVELS.API_33)
   @TargetApi(API_LEVELS.API_33)
   @Test
   public void scribePluginIsFeatureAvailableWhenAPILevelUnsupported() {
-    assertEquals(scribePlugin.isFeatureAvailable(), false);
+    assertFalse(scribePlugin.isFeatureAvailable());
   }
 
   @Config(sdk = API_LEVELS.API_33)
@@ -97,10 +94,6 @@
   public void scribePluginIsStylusHandwritingAvailableWhenAPILevelUnsupported() {
     assertNotNull(scribePlugin);
 
-    assertThrows(
-        NoSuchMethodError.class,
-        () -> {
-          scribePlugin.isStylusHandwritingAvailable();
-        });
+    assertThrows(NoSuchMethodError.class, () -> scribePlugin.isStylusHandwritingAvailable());
   }
 }
