Merge pull request #5928 from robolectric/piper_331841682

Migrate from deprecated `com.google.common.base.Charsets` to `java.nio.charset.StandardCharsets`.
diff --git a/resources/src/main/java/org/robolectric/res/android/ConfigDescription.java b/resources/src/main/java/org/robolectric/res/android/ConfigDescription.java
index 269b371..1f512c8 100644
--- a/resources/src/main/java/org/robolectric/res/android/ConfigDescription.java
+++ b/resources/src/main/java/org/robolectric/res/android/ConfigDescription.java
@@ -1,8 +1,8 @@
 package org.robolectric.res.android;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.robolectric.res.android.Util.isTruthy;
 
-import com.google.common.base.Charsets;
 import com.google.common.collect.Iterators;
 import com.google.common.collect.PeekingIterator;
 import java.util.Arrays;
@@ -183,11 +183,11 @@
       out.packRegion(region);
 
       Arrays.fill(out.localeScript, (byte) 0);
-      byte[] scriptBytes = script == null ? new byte[4] : script.getBytes(Charsets.UTF_8);
+      byte[] scriptBytes = script == null ? new byte[4] : script.getBytes(UTF_8);
       System.arraycopy(scriptBytes, 0, out.localeScript, 0, scriptBytes.length);
 
       Arrays.fill(out.localeVariant, (byte) 0);
-      byte[] variantBytes = variant == null ? new byte[8] : variant.getBytes(Charsets.UTF_8);
+      byte[] variantBytes = variant == null ? new byte[8] : variant.getBytes(UTF_8);
       System.arraycopy(variantBytes, 0, out.localeVariant, 0, variantBytes.length);
     }
   }
diff --git a/resources/src/main/java/org/robolectric/res/android/ResTable_config.java b/resources/src/main/java/org/robolectric/res/android/ResTable_config.java
index 083b82a..ba164bd 100644
--- a/resources/src/main/java/org/robolectric/res/android/ResTable_config.java
+++ b/resources/src/main/java/org/robolectric/res/android/ResTable_config.java
@@ -58,7 +58,6 @@
 import static org.robolectric.res.android.Util.dtohs;
 import static org.robolectric.res.android.Util.isTruthy;
 
-import com.google.common.base.Charsets;
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
 import com.google.common.primitives.Bytes;
@@ -563,7 +562,7 @@
 
   private String byteArrayToString(byte[] data) {
     int length = Bytes.indexOf(data, (byte) 0);
-    return new String(data, 0, length >= 0 ? length : data.length, Charsets.US_ASCII);
+    return new String(data, 0, length >= 0 ? length : data.length, US_ASCII);
   }
 
   /** Returns the wide color gamut section of {@link #colorMode}. */
@@ -588,7 +587,7 @@
 
   public final String scriptString() {
     if (localeScript[0] != '\0') {
-      return new String(localeScript, Charsets.UTF_8);
+      return new String(localeScript, UTF_8);
     } else {
       return null;
     }
diff --git a/robolectric/src/test/java/org/robolectric/android/internal/AndroidTestEnvironmentCreateApplicationTest.java b/robolectric/src/test/java/org/robolectric/android/internal/AndroidTestEnvironmentCreateApplicationTest.java
index 5d8dd14..c0fa05c 100644
--- a/robolectric/src/test/java/org/robolectric/android/internal/AndroidTestEnvironmentCreateApplicationTest.java
+++ b/robolectric/src/test/java/org/robolectric/android/internal/AndroidTestEnvironmentCreateApplicationTest.java
@@ -1,6 +1,7 @@
 package org.robolectric.android.internal;
 
 import static com.google.common.truth.Truth.assertThat;
+import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.junit.Assert.fail;
 import static org.robolectric.Shadows.shadowOf;
 import static org.robolectric.android.internal.AndroidTestEnvironment.registerBroadcastReceivers;
@@ -9,7 +10,6 @@
 import android.content.pm.ApplicationInfo;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
-import com.google.common.base.Charsets;
 import com.google.common.io.Files;
 import java.io.File;
 import java.io.IOException;
@@ -178,7 +178,7 @@
             + "</manifest>\n";
     File f = temporaryFolder.newFile("whatever.xml");
 
-    Files.asCharSink(f, Charsets.UTF_8).write(fileContents);
+    Files.asCharSink(f, UTF_8).write(fileContents);
     return new AndroidManifest(f.toPath(), null, null);
   }
 
diff --git a/robolectric/src/test/java/org/robolectric/internal/BuckManifestFactoryTest.java b/robolectric/src/test/java/org/robolectric/internal/BuckManifestFactoryTest.java
old mode 100755
new mode 100644
index 09f546d..f7cd3ed
--- a/robolectric/src/test/java/org/robolectric/internal/BuckManifestFactoryTest.java
+++ b/robolectric/src/test/java/org/robolectric/internal/BuckManifestFactoryTest.java
@@ -2,8 +2,8 @@
 
 import static com.google.common.truth.Truth.assertThat;
 import static com.google.common.truth.Truth8.assertThat;
+import static java.nio.charset.StandardCharsets.UTF_8;
 
-import com.google.common.base.Charsets;
 import com.google.common.io.Files;
 import java.io.File;
 import java.nio.file.Paths;
@@ -75,13 +75,13 @@
   @Test public void pass_multiple_res_dirs_in_file() throws Exception {
     String resDirectoriesFileName = "res-directories";
     File resDirectoriesFile = tempFolder.newFile(resDirectoriesFileName);
-    Files.asCharSink(resDirectoriesFile, Charsets.UTF_8).write("buck/res1\nbuck/res2");
+    Files.asCharSink(resDirectoriesFile, UTF_8).write("buck/res1\nbuck/res2");
     System.setProperty(
         "buck.robolectric_res_directories", "@" + resDirectoriesFile.getAbsolutePath());
 
     String assetDirectoriesFileName = "asset-directories";
     File assetDirectoriesFile = tempFolder.newFile(assetDirectoriesFileName);
-    Files.asCharSink(assetDirectoriesFile, Charsets.UTF_8).write("buck/assets1\nbuck/assets2");
+    Files.asCharSink(assetDirectoriesFile, UTF_8).write("buck/assets1\nbuck/assets2");
     System.setProperty(
         "buck.robolectric_assets_directories", "@" + assetDirectoriesFile.getAbsolutePath());
 
diff --git a/robolectric/src/test/java/org/robolectric/manifest/AndroidManifestTest.java b/robolectric/src/test/java/org/robolectric/manifest/AndroidManifestTest.java
index 909ae29..eeb1c5c 100644
--- a/robolectric/src/test/java/org/robolectric/manifest/AndroidManifestTest.java
+++ b/robolectric/src/test/java/org/robolectric/manifest/AndroidManifestTest.java
@@ -1,12 +1,12 @@
 package org.robolectric.manifest;
 
 import static com.google.common.truth.Truth.assertThat;
+import static java.nio.charset.StandardCharsets.UTF_8;
 import static org.robolectric.util.TestUtil.resourceFile;
 
 import android.Manifest;
 import android.content.Intent;
 import android.os.Build.VERSION_CODES;
-import com.google.common.base.Charsets;
 import com.google.common.io.Files;
 import java.io.File;
 import java.io.IOException;
@@ -33,12 +33,14 @@
 
     assertThat(config.getContentProviders().get(0).getName())
         .isEqualTo("org.robolectric.tester.FullyQualifiedClassName");
-    assertThat(config.getContentProviders().get(0).getAuthorities()).isEqualTo("org.robolectric.authority1");
+    assertThat(config.getContentProviders().get(0).getAuthorities())
+        .isEqualTo("org.robolectric.authority1");
     assertThat(config.getContentProviders().get(0).isEnabled()).isTrue();
 
     assertThat(config.getContentProviders().get(1).getName())
         .isEqualTo("org.robolectric.tester.PartiallyQualifiedClassName");
-    assertThat(config.getContentProviders().get(1).getAuthorities()).isEqualTo("org.robolectric.authority2");
+    assertThat(config.getContentProviders().get(1).getAuthorities())
+        .isEqualTo("org.robolectric.authority2");
     assertThat(config.getContentProviders().get(1).isEnabled()).isFalse();
   }
 
@@ -51,10 +53,12 @@
             "permission_with_literal_label",
             "permission_with_minimal_fields");
     PermissionItemData permissionItemData = config.getPermissions().get("some_permission");
-    assertThat(permissionItemData.getMetaData().getValueMap()).containsEntry("meta_data_name", "meta_data_value");
+    assertThat(permissionItemData.getMetaData().getValueMap())
+        .containsEntry("meta_data_name", "meta_data_value");
     assertThat(permissionItemData.getName()).isEqualTo("some_permission");
     assertThat(permissionItemData.getPermissionGroup()).isEqualTo("my_permission_group");
-    assertThat(permissionItemData.getDescription()).isEqualTo("@string/test_permission_description");
+    assertThat(permissionItemData.getDescription())
+        .isEqualTo("@string/test_permission_description");
     assertThat(permissionItemData.getProtectionLevel()).isEqualTo("dangerous");
   }
 
@@ -64,9 +68,11 @@
 
     assertThat(config.getPermissionGroups().keySet())
         .contains("permission_group");
-    PermissionGroupItemData permissionGroupItemData = config.getPermissionGroups().get("permission_group");
+    PermissionGroupItemData permissionGroupItemData =
+        config.getPermissionGroups().get("permission_group");
     assertThat(permissionGroupItemData.getName()).isEqualTo("permission_group");
-    assertThat(permissionGroupItemData.getDescription()).isEqualTo("@string/test_permission_description");
+    assertThat(permissionGroupItemData.getDescription())
+        .isEqualTo("@string/test_permission_description");
   }
 
   @Test
@@ -76,27 +82,33 @@
 
     assertThat(config.getBroadcastReceivers().get(0).getName())
         .isEqualTo("org.robolectric.ConfigTestReceiver.InnerReceiver");
-    assertThat(config.getBroadcastReceivers().get(0).getActions()).containsExactly("org.robolectric.ACTION1", "org.robolectric.ACTION2");
+    assertThat(config.getBroadcastReceivers().get(0).getActions())
+        .containsExactly("org.robolectric.ACTION1", "org.robolectric.ACTION2");
 
     assertThat(config.getBroadcastReceivers().get(1).getName())
         .isEqualTo("org.robolectric.fakes.ConfigTestReceiver");
-    assertThat(config.getBroadcastReceivers().get(1).getActions()).contains("org.robolectric.ACTION_SUPERSET_PACKAGE");
+    assertThat(config.getBroadcastReceivers().get(1).getActions())
+        .contains("org.robolectric.ACTION_SUPERSET_PACKAGE");
 
     assertThat(config.getBroadcastReceivers().get(2).getName())
         .isEqualTo("org.robolectric.ConfigTestReceiver");
-    assertThat(config.getBroadcastReceivers().get(2).getActions()).contains("org.robolectric.ACTION_SUBSET_PACKAGE");
+    assertThat(config.getBroadcastReceivers().get(2).getActions())
+        .contains("org.robolectric.ACTION_SUBSET_PACKAGE");
 
     assertThat(config.getBroadcastReceivers().get(3).getName())
         .isEqualTo("org.robolectric.DotConfigTestReceiver");
-    assertThat(config.getBroadcastReceivers().get(3).getActions()).contains("org.robolectric.ACTION_DOT_PACKAGE");
+    assertThat(config.getBroadcastReceivers().get(3).getActions())
+        .contains("org.robolectric.ACTION_DOT_PACKAGE");
 
     assertThat(config.getBroadcastReceivers().get(4).getName())
         .isEqualTo("org.robolectric.test.ConfigTestReceiver");
-    assertThat(config.getBroadcastReceivers().get(4).getActions()).contains("org.robolectric.ACTION_DOT_SUBPACKAGE");
+    assertThat(config.getBroadcastReceivers().get(4).getActions())
+        .contains("org.robolectric.ACTION_DOT_SUBPACKAGE");
     assertThat(config.getBroadcastReceivers().get(4).isEnabled()).isFalse();
 
     assertThat(config.getBroadcastReceivers().get(5).getName()).isEqualTo("com.foo.Receiver");
-    assertThat(config.getBroadcastReceivers().get(5).getActions()).contains("org.robolectric.ACTION_DIFFERENT_PACKAGE");
+    assertThat(config.getBroadcastReceivers().get(5).getActions())
+        .contains("org.robolectric.ACTION_DIFFERENT_PACKAGE");
     assertThat(config.getBroadcastReceivers().get(5).getIntentFilters()).hasSize(1);
     IntentFilterData filter = config.getBroadcastReceivers().get(5).getIntentFilters().get(0);
     assertThat(filter.getActions()).containsExactly("org.robolectric.ACTION_DIFFERENT_PACKAGE");
@@ -107,7 +119,8 @@
 
     assertThat(config.getBroadcastReceivers().get(7).getName())
         .isEqualTo("org.robolectric.ConfigTestReceiverPermissionsAndActions");
-    assertThat(config.getBroadcastReceivers().get(7).getActions()).contains("org.robolectric.ACTION_RECEIVER_PERMISSION_PACKAGE");
+    assertThat(config.getBroadcastReceivers().get(7).getActions())
+        .contains("org.robolectric.ACTION_RECEIVER_PERMISSION_PACKAGE");
   }
 
   @Test
@@ -116,16 +129,21 @@
     assertThat(config.getServices()).hasSize(2);
 
     assertThat(config.getServices().get(0).getClassName()).isEqualTo("com.foo.Service");
-    assertThat(config.getServices().get(0).getActions()).contains("org.robolectric.ACTION_DIFFERENT_PACKAGE");
+    assertThat(config.getServices().get(0).getActions())
+        .contains("org.robolectric.ACTION_DIFFERENT_PACKAGE");
     assertThat(config.getServices().get(0).getIntentFilters()).isNotEmpty();
-    assertThat(config.getServices().get(0).getIntentFilters().get(0).getMimeTypes()).containsExactly("image/jpeg");
+    assertThat(config.getServices().get(0).getIntentFilters().get(0).getMimeTypes())
+        .containsExactly("image/jpeg");
 
-    assertThat(config.getServices().get(1).getClassName()).isEqualTo("com.bar.ServiceWithoutIntentFilter");
+    assertThat(config.getServices().get(1).getClassName())
+        .isEqualTo("com.bar.ServiceWithoutIntentFilter");
     assertThat(config.getServices().get(1).getActions()).isEmpty();
     assertThat(config.getServices().get(1).getIntentFilters()).isEmpty();
 
-    assertThat(config.getServiceData("com.foo.Service").getClassName()).isEqualTo("com.foo.Service");
-    assertThat(config.getServiceData("com.bar.ServiceWithoutIntentFilter").getClassName()).isEqualTo("com.bar.ServiceWithoutIntentFilter");
+    assertThat(config.getServiceData("com.foo.Service").getClassName())
+        .isEqualTo("com.foo.Service");
+    assertThat(config.getServiceData("com.bar.ServiceWithoutIntentFilter").getClassName())
+        .isEqualTo("com.bar.ServiceWithoutIntentFilter");
     assertThat(config.getServiceData("com.foo.Service").getPermission())
         .isEqualTo("com.foo.Permission");
 
@@ -297,28 +315,39 @@
 
   @Test
   public void shouldTolerateMissingRFile() throws Exception {
-    AndroidManifest appManifest = new AndroidManifest(resourceFile("TestAndroidManifestWithNoRFile.xml"), resourceFile("res"), resourceFile("assets"));
+    AndroidManifest appManifest =
+        new AndroidManifest(
+            resourceFile("TestAndroidManifestWithNoRFile.xml"),
+            resourceFile("res"),
+            resourceFile("assets"));
     assertThat(appManifest.getPackageName()).isEqualTo("org.no.resources.for.me");
     assertThat(appManifest.getRClass()).isNull();
   }
 
   @Test
   public void whenNullManifestFile_getRClass_shouldComeFromPackageName() throws Exception {
-    AndroidManifest appManifest = new AndroidManifest(null, resourceFile("res"), resourceFile("assets"), "org.robolectric");
+    AndroidManifest appManifest =
+        new AndroidManifest(null, resourceFile("res"), resourceFile("assets"), "org.robolectric");
     assertThat(appManifest.getRClass()).isEqualTo(org.robolectric.R.class);
     assertThat(appManifest.getPackageName()).isEqualTo("org.robolectric");
   }
 
   @Test
   public void whenMissingManifestFile_getRClass_shouldComeFromPackageName() throws Exception {
-    AndroidManifest appManifest = new AndroidManifest(resourceFile("none.xml"), resourceFile("res"), resourceFile("assets"), "org.robolectric");
+    AndroidManifest appManifest =
+        new AndroidManifest(
+            resourceFile("none.xml"),
+            resourceFile("res"),
+            resourceFile("assets"),
+            "org.robolectric");
     assertThat(appManifest.getRClass()).isEqualTo(org.robolectric.R.class);
     assertThat(appManifest.getPackageName()).isEqualTo("org.robolectric");
   }
 
   @Test
   public void whenMissingManifestFile_getPackageName_shouldBeDefault() throws Exception {
-    AndroidManifest appManifest = new AndroidManifest(null, resourceFile("res"), resourceFile("assets"), null);
+    AndroidManifest appManifest =
+        new AndroidManifest(null, resourceFile("res"), resourceFile("assets"), null);
     assertThat(appManifest.getPackageName()).isEqualTo("org.robolectric.default");
     assertThat(appManifest.getRClass()).isEqualTo(null);
   }
@@ -342,7 +371,8 @@
 
   @Test
   public void shouldReadMultipleIntentFilters() {
-    AndroidManifest appManifest = newConfig("TestAndroidManifestForActivitiesWithMultipleIntentFilters.xml");
+    AndroidManifest appManifest =
+        newConfig("TestAndroidManifestForActivitiesWithMultipleIntentFilters.xml");
     appManifest.getMinSdkVersion(); // Force parsing
 
     ActivityData activityData = appManifest.getActivityData("org.robolectric.shadows.TestActivity");
@@ -373,9 +403,11 @@
     AndroidManifest appManifest = newConfig("TestAndroidManifestForActivitiesWithTaskAffinity.xml");
     assertThat(appManifest.getTargetSdkVersion()).isEqualTo(16);
 
-    ActivityData activityData = appManifest.getActivityData("org.robolectric.shadows.TestTaskAffinityActivity");
+    ActivityData activityData =
+        appManifest.getActivityData("org.robolectric.shadows.TestTaskAffinityActivity");
     assertThat(activityData).isNotNull();
-    assertThat(activityData.getTaskAffinity()).isEqualTo("org.robolectric.shadows.TestTaskAffinity");
+    assertThat(activityData.getTaskAffinity())
+        .isEqualTo("org.robolectric.shadows.TestTaskAffinity");
   }
 
   @Test
@@ -406,7 +438,8 @@
 
   @Test
   public void shouldReadIntentFilterWithData() {
-    AndroidManifest appManifest = newConfig("TestAndroidManifestForActivitiesWithIntentFilterWithData.xml");
+    AndroidManifest appManifest =
+        newConfig("TestAndroidManifestForActivitiesWithIntentFilterWithData.xml");
     appManifest.getMinSdkVersion(); // Force parsing
 
     ActivityData activityData = appManifest.getActivityData("org.robolectric.shadows.TestActivity");
@@ -528,7 +561,8 @@
 
   @Test
   public void getTransitiveManifests() throws Exception {
-    AndroidManifest lib1 = new AndroidManifest(resourceFile("lib1/AndroidManifest.xml"), null, null);
+    AndroidManifest lib1 =
+        new AndroidManifest(resourceFile("lib1/AndroidManifest.xml"), null, null);
     AndroidManifest lib2 = new AndroidManifest(resourceFile("lib2/AndroidManifest.xml"), null, null,
         Collections.singletonList(lib1), null);
     AndroidManifest app = new AndroidManifest(
@@ -546,7 +580,7 @@
         "    <uses-sdk " + usesSdkAttrs + "/>\n" +
         "</manifest>\n";
     File f = temporaryFolder.newFile(fileName);
-    Files.asCharSink(f, Charsets.UTF_8).write(contents);
+    Files.asCharSink(f, UTF_8).write(contents);
     return new AndroidManifest(f.toPath(), null, null);
   }